@inkandswitch/patchwork-pkg-base 0.0.132 → 0.0.133

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 (35) hide show
  1. package/module-settings-url +1 -1
  2. package/package.json +1 -1
  3. package/packages/codemirror-base/dist/tool.js +12 -3
  4. package/packages/codemirror-base/dist/tool.js.map +2 -2
  5. package/packages/codemirror-markdown/dist/extensions/markdown.js +38 -19
  6. package/packages/codemirror-markdown/dist/extensions/markdown.js.map +2 -2
  7. package/packages/comments-view/dist/assets/{main-EQKeEvzx.js → main-DnOX-fXU.js} +23 -12
  8. package/packages/comments-view/dist/assets/main-DnOX-fXU.js.map +1 -0
  9. package/packages/comments-view/dist/index.js +3 -3
  10. package/packages/providers/dist/assets/FocusProvider-BP2_Uazq.js +2 -0
  11. package/packages/providers/dist/assets/{FocusProvider-CsJzhQWV.js.map → FocusProvider-BP2_Uazq.js.map} +1 -1
  12. package/packages/providers/dist/index.js +1 -1
  13. package/packages/theming/dist/{active-theme-HEMDARRS.js → active-theme-4OO5U6Y4.js} +2 -2
  14. package/packages/theming/dist/{chunk-2LCY4PP2.js → chunk-FRILY5OP.js} +2 -2
  15. package/packages/theming/dist/main.js +3 -3
  16. package/packages/theming/dist/{theme-HV4IDVYM.css → theme-GBZM6FYO.css} +2 -0
  17. package/packages/theming/dist/{theme-titlebar-JLYY4TZR.js → theme-titlebar-WMODFBXS.js} +2 -2
  18. package/packages/theming/dist/{theme-tray-OZPNTCHA.js → theme-tray-FLEF6FYV.js} +2 -2
  19. package/packages/theming/dist/tool.js +1 -1
  20. package/packages/threepane/dist/IsolatedDocumentArea-ZF6AC4GB.js +2 -0
  21. package/packages/threepane/dist/{PatchworkFrame-O76GWRUL.js → PatchworkFrame-SEJC7VST.js} +2 -2
  22. package/packages/threepane/dist/{chunk-Y2SEQB3F.js → chunk-UJ7QHTY6.js} +4 -4
  23. package/packages/threepane/dist/chunk-UJ7QHTY6.js.map +7 -0
  24. package/packages/threepane/dist/index.js +1 -1
  25. package/plugin-registry-url +1 -1
  26. package/packages/comments-view/dist/assets/main-EQKeEvzx.js.map +0 -1
  27. package/packages/providers/dist/assets/FocusProvider-CsJzhQWV.js +0 -2
  28. package/packages/threepane/dist/IsolatedDocumentArea-PIXYOA25.js +0 -2
  29. package/packages/threepane/dist/chunk-Y2SEQB3F.js.map +0 -7
  30. /package/packages/theming/dist/{active-theme-HEMDARRS.js.map → active-theme-4OO5U6Y4.js.map} +0 -0
  31. /package/packages/theming/dist/{chunk-2LCY4PP2.js.map → chunk-FRILY5OP.js.map} +0 -0
  32. /package/packages/theming/dist/{theme-titlebar-JLYY4TZR.js.map → theme-titlebar-WMODFBXS.js.map} +0 -0
  33. /package/packages/theming/dist/{theme-tray-OZPNTCHA.js.map → theme-tray-FLEF6FYV.js.map} +0 -0
  34. /package/packages/threepane/dist/{IsolatedDocumentArea-PIXYOA25.js.map → IsolatedDocumentArea-ZF6AC4GB.js.map} +0 -0
  35. /package/packages/threepane/dist/{PatchworkFrame-O76GWRUL.js.map → PatchworkFrame-SEJC7VST.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"FocusProvider-CsJzhQWV.js","sources":["../../src/FocusProvider.ts"],"sourcesContent":["import type { AutomergeUrl } from \"@automerge/automerge-repo/slim\";\nimport { accept, type SubscribeEvent } from \"@inkandswitch/patchwork-providers\";\nimport type { PatchworkViewElement } from \"@inkandswitch/patchwork-elements\";\n\nconst SELECTOR = \"patchwork:focus\";\n\n// Shared store describing where the user's attention is.\n// - `selection`: single active range, owned by the cursor producer (the\n// active editor); writers replace the whole map atomically.\n// - `highlight`: auxiliary emphasis any view may contribute; the editor\n// renders selection ∪ highlight, with overlap drawn more intensely.\n// Two fields instead of one because a single shared `selection` would\n// create a feedback loop between the editor and any view writing back.\n// - `commentViews`: the views showing comment threads on screen right now,\n// each under an id of its own; a view adds itself while visible and\n// removes itself when hidden or gone. While any is listed, an editor\n// leaves threads to them rather than opening its own inline popover.\nexport type FocusDoc = {\n selection: Record<AutomergeUrl, true>;\n highlight: Record<AutomergeUrl, true>;\n commentViews: Record<string, true>;\n};\n\nexport const FocusProvider = (element: PatchworkViewElement) => {\n const handle = element.repo.create<FocusDoc>({\n selection: {},\n highlight: {},\n commentViews: {},\n });\n\n // Consumers recover the live handle from the global repo via this url, so\n // they can both read (projection) and write (`.change`) the same doc.\n const onSubscribe = (event: SubscribeEvent) => {\n if (event.detail.selector.type !== SELECTOR) return;\n accept<AutomergeUrl>(event, (respond) => {\n respond(handle.url);\n });\n };\n\n element.addEventListener(\"patchwork:subscribe\", onSubscribe);\n\n return () => {\n element.removeEventListener(\"patchwork:subscribe\", onSubscribe);\n handle.delete();\n };\n};\n"],"names":["SELECTOR","FocusProvider","element","handle","onSubscribe","event","accept","respond"],"mappings":"2DAIA,MAAMA,EAAW,kBAmBJC,EAAiBC,GAAkC,CAC9D,MAAMC,EAASD,EAAQ,KAAK,OAAiB,CAC3C,UAAW,CAAA,EACX,UAAW,CAAA,EACX,aAAc,CAAA,CAAC,CAChB,EAIKE,EAAeC,GAA0B,CACzCA,EAAM,OAAO,SAAS,OAASL,GACnCM,EAAqBD,EAAQE,GAAY,CACvCA,EAAQJ,EAAO,GAAG,CACpB,CAAC,CACH,EAEA,OAAAD,EAAQ,iBAAiB,sBAAuBE,CAAW,EAEpD,IAAM,CACXF,EAAQ,oBAAoB,sBAAuBE,CAAW,EAC9DD,EAAO,OAAA,CACT,CACF"}
1
+ {"version":3,"file":"FocusProvider-BP2_Uazq.js","sources":["../../src/FocusProvider.ts"],"sourcesContent":["import type { AutomergeUrl } from \"@automerge/automerge-repo/slim\";\nimport { accept, type SubscribeEvent } from \"@inkandswitch/patchwork-providers\";\nimport type { PatchworkViewElement } from \"@inkandswitch/patchwork-elements\";\n\nconst SELECTOR = \"patchwork:focus\";\n\n// Shared store describing where the user's attention is.\n// - `selection`: single active range, owned by the cursor producer (the\n// active editor); writers replace the whole map atomically.\n// - `highlight`: auxiliary emphasis any view may contribute; the editor\n// renders selection ∪ highlight, with overlap drawn more intensely.\n// Two fields instead of one because a single shared `selection` would\n// create a feedback loop between the editor and any view writing back.\n// - `commentViews`: the views showing comment threads on screen right now,\n// each under an id of its own; a view adds itself while visible and\n// removes itself when hidden or gone. While any is listed, an editor\n// leaves threads to them rather than opening its own inline popover.\n// - `commentViewOpeners`: things that can bring a comments view on screen\n// (a frame with a comments tab it can open), each under an id of its own.\n// - `openCommentView`: bumped to ask them to. With no comments view on\n// screen but an opener listed, an editor asks rather than going inline;\n// the view that opens then lists itself in `commentViews` as usual.\nexport type FocusDoc = {\n selection: Record<AutomergeUrl, true>;\n highlight: Record<AutomergeUrl, true>;\n commentViews: Record<string, true>;\n commentViewOpeners: Record<string, true>;\n openCommentView: number;\n};\n\nexport const FocusProvider = (element: PatchworkViewElement) => {\n const handle = element.repo.create<FocusDoc>({\n selection: {},\n highlight: {},\n commentViews: {},\n commentViewOpeners: {},\n openCommentView: 0,\n });\n\n // Consumers recover the live handle from the global repo via this url, so\n // they can both read (projection) and write (`.change`) the same doc.\n const onSubscribe = (event: SubscribeEvent) => {\n if (event.detail.selector.type !== SELECTOR) return;\n accept<AutomergeUrl>(event, (respond) => {\n respond(handle.url);\n });\n };\n\n element.addEventListener(\"patchwork:subscribe\", onSubscribe);\n\n return () => {\n element.removeEventListener(\"patchwork:subscribe\", onSubscribe);\n handle.delete();\n };\n};\n"],"names":["SELECTOR","FocusProvider","element","handle","onSubscribe","event","accept","respond"],"mappings":"2DAIA,MAAMA,EAAW,kBA0BJC,EAAiBC,GAAkC,CAC9D,MAAMC,EAASD,EAAQ,KAAK,OAAiB,CAC3C,UAAW,CAAA,EACX,UAAW,CAAA,EACX,aAAc,CAAA,EACd,mBAAoB,CAAA,EACpB,gBAAiB,CAAA,CAClB,EAIKE,EAAeC,GAA0B,CACzCA,EAAM,OAAO,SAAS,OAASL,GACnCM,EAAqBD,EAAQE,GAAY,CACvCA,EAAQJ,EAAO,GAAG,CACpB,CAAC,CACH,EAEA,OAAAD,EAAQ,iBAAiB,sBAAuBE,CAAW,EAEpD,IAAM,CACXF,EAAQ,oBAAoB,sBAAuBE,CAAW,EAC9DD,EAAO,OAAA,CACT,CACF"}
@@ -1,2 +1,2 @@
1
- const h="modulepreload",f=function(t,e){return new URL(t,e).href},_={},i=function(e,u,m){let p=Promise.resolve();if(u&&u.length>0){let P=function(r){return Promise.all(r.map(a=>Promise.resolve(a).then(s=>({status:"fulfilled",value:s}),s=>({status:"rejected",reason:s}))))};const c=document.getElementsByTagName("link"),o=document.querySelector("meta[property=csp-nonce]"),w=o?.nonce||o?.getAttribute("nonce");p=P(u.map(r=>{if(r=f(r,m),r in _)return;_[r]=!0;const a=r.endsWith(".css"),s=a?'[rel="stylesheet"]':"";if(m)for(let l=c.length-1;l>=0;l--){const d=c[l];if(d.href===r&&(!a||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${s}`))return;const n=document.createElement("link");if(n.rel=a?"stylesheet":h,a||(n.as="script"),n.crossOrigin="",n.href=r,w&&n.setAttribute("nonce",w),document.head.appendChild(n),a)return new Promise((l,d)=>{n.addEventListener("load",l),n.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${r}`)))})}))}function v(c){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=c,window.dispatchEvent(o),!o.defaultPrevented)throw c}return p.then(c=>{for(const o of c||[])o.status==="rejected"&&v(o.reason);return e().catch(v)})},y=[{type:"patchwork:component",id:"patchwork-comments-provider",name:"Comments Provider",async load(){const{CommentsProvider:t}=await i(async()=>{const{CommentsProvider:e}=await import("./assets/CommentsProvider-BYqGfL6x.js");return{CommentsProvider:e}},[],import.meta.url);return t}},{type:"patchwork:component",id:"patchwork-focus-provider",name:"Focus Provider",async load(){const{FocusProvider:t}=await i(async()=>{const{FocusProvider:e}=await import("./assets/FocusProvider-CsJzhQWV.js");return{FocusProvider:e}},[],import.meta.url);return t}},{type:"patchwork:component",id:"patchwork-account-provider",name:"Account Provider",async load(){const{AccountProvider:t}=await i(async()=>{const{AccountProvider:e}=await import("./assets/AccountProvider-BNtDCQWd.js");return{AccountProvider:e}},[],import.meta.url);return t}},{type:"patchwork:component",id:"patchwork-selected-doc-provider",name:"Selected Doc Provider",async load(){const{SelectedDocProvider:t}=await i(async()=>{const{SelectedDocProvider:e}=await import("./assets/SelectedDocProvider-CpFoW1D5.js");return{SelectedDocProvider:e}},[],import.meta.url);return t}},{type:"patchwork:component",id:"patchwork-tool-storage-provider",name:"Tool Storage Provider",async load(){const{ToolStorageProvider:t}=await i(async()=>{const{ToolStorageProvider:e}=await import("./assets/ToolStorageProvider-D7F0l8h7.js");return{ToolStorageProvider:e}},[],import.meta.url);return t}},{type:"patchwork:component",id:"patchwork-worker-provider",name:"Worker Provider",async load(){const{WorkerProvider:t}=await i(async()=>{const{WorkerProvider:e}=await import("./assets/WorkerProvider-CG700oWK.js");return{WorkerProvider:e}},[],import.meta.url);return t}}];export{y as plugins};
1
+ const h="modulepreload",f=function(t,e){return new URL(t,e).href},_={},i=function(e,u,m){let p=Promise.resolve();if(u&&u.length>0){let P=function(r){return Promise.all(r.map(a=>Promise.resolve(a).then(s=>({status:"fulfilled",value:s}),s=>({status:"rejected",reason:s}))))};const c=document.getElementsByTagName("link"),o=document.querySelector("meta[property=csp-nonce]"),w=o?.nonce||o?.getAttribute("nonce");p=P(u.map(r=>{if(r=f(r,m),r in _)return;_[r]=!0;const a=r.endsWith(".css"),s=a?'[rel="stylesheet"]':"";if(m)for(let l=c.length-1;l>=0;l--){const d=c[l];if(d.href===r&&(!a||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${s}`))return;const n=document.createElement("link");if(n.rel=a?"stylesheet":h,a||(n.as="script"),n.crossOrigin="",n.href=r,w&&n.setAttribute("nonce",w),document.head.appendChild(n),a)return new Promise((l,d)=>{n.addEventListener("load",l),n.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${r}`)))})}))}function v(c){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=c,window.dispatchEvent(o),!o.defaultPrevented)throw c}return p.then(c=>{for(const o of c||[])o.status==="rejected"&&v(o.reason);return e().catch(v)})},y=[{type:"patchwork:component",id:"patchwork-comments-provider",name:"Comments Provider",async load(){const{CommentsProvider:t}=await i(async()=>{const{CommentsProvider:e}=await import("./assets/CommentsProvider-BYqGfL6x.js");return{CommentsProvider:e}},[],import.meta.url);return t}},{type:"patchwork:component",id:"patchwork-focus-provider",name:"Focus Provider",async load(){const{FocusProvider:t}=await i(async()=>{const{FocusProvider:e}=await import("./assets/FocusProvider-BP2_Uazq.js");return{FocusProvider:e}},[],import.meta.url);return t}},{type:"patchwork:component",id:"patchwork-account-provider",name:"Account Provider",async load(){const{AccountProvider:t}=await i(async()=>{const{AccountProvider:e}=await import("./assets/AccountProvider-BNtDCQWd.js");return{AccountProvider:e}},[],import.meta.url);return t}},{type:"patchwork:component",id:"patchwork-selected-doc-provider",name:"Selected Doc Provider",async load(){const{SelectedDocProvider:t}=await i(async()=>{const{SelectedDocProvider:e}=await import("./assets/SelectedDocProvider-CpFoW1D5.js");return{SelectedDocProvider:e}},[],import.meta.url);return t}},{type:"patchwork:component",id:"patchwork-tool-storage-provider",name:"Tool Storage Provider",async load(){const{ToolStorageProvider:t}=await i(async()=>{const{ToolStorageProvider:e}=await import("./assets/ToolStorageProvider-D7F0l8h7.js");return{ToolStorageProvider:e}},[],import.meta.url);return t}},{type:"patchwork:component",id:"patchwork-worker-provider",name:"Worker Provider",async load(){const{WorkerProvider:t}=await i(async()=>{const{WorkerProvider:e}=await import("./assets/WorkerProvider-CG700oWK.js");return{WorkerProvider:e}},[],import.meta.url);return t}}];export{y as plugins};
2
2
  //# sourceMappingURL=index.js.map
@@ -9,7 +9,7 @@ import {
9
9
  setThemeForMode,
10
10
  startActiveTheme,
11
11
  startActiveThemeFromProvider
12
- } from "./chunk-2LCY4PP2.js";
12
+ } from "./chunk-FRILY5OP.js";
13
13
  import "./chunk-MJMDS3V5.js";
14
14
  export {
15
15
  CURRENT_THEME_SELECTOR,
@@ -23,4 +23,4 @@ export {
23
23
  startActiveTheme,
24
24
  startActiveThemeFromProvider
25
25
  };
26
- //# sourceMappingURL=active-theme-HEMDARRS.js.map
26
+ //# sourceMappingURL=active-theme-4OO5U6Y4.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import { getRegistry } from "@inkandswitch/patchwork-plugins";
8
8
 
9
9
  // src/theme.css
10
- var theme_default = "./theme-HV4IDVYM.css";
10
+ var theme_default = "./theme-GBZM6FYO.css";
11
11
 
12
12
  // src/active-theme.ts
13
13
  var CURRENT_THEME_SELECTOR = "patchwork:current-theme";
@@ -284,4 +284,4 @@ export {
284
284
  hasThemePreferences,
285
285
  onActiveThemeChange
286
286
  };
287
- //# sourceMappingURL=chunk-2LCY4PP2.js.map
287
+ //# sourceMappingURL=chunk-FRILY5OP.js.map
@@ -5,7 +5,7 @@ import {
5
5
 
6
6
  // src/main.ts
7
7
  (async function() {
8
- (await import("./active-theme-HEMDARRS.js")).startActiveTheme();
8
+ (await import("./active-theme-4OO5U6Y4.js")).startActiveTheme();
9
9
  })();
10
10
  var plugins = [
11
11
  {
@@ -57,7 +57,7 @@ var plugins = [
57
57
  unlisted: true,
58
58
  forTitleBar: true,
59
59
  async load() {
60
- const { ThemeTitlebarTool } = await import("./theme-titlebar-JLYY4TZR.js");
60
+ const { ThemeTitlebarTool } = await import("./theme-titlebar-WMODFBXS.js");
61
61
  return ThemeTitlebarTool;
62
62
  }
63
63
  },
@@ -68,7 +68,7 @@ var plugins = [
68
68
  icon: "Palette",
69
69
  tags: ["system-tray"],
70
70
  async load() {
71
- const { ThemeTray } = await import("./theme-tray-OZPNTCHA.js");
71
+ const { ThemeTray } = await import("./theme-tray-FLEF6FYV.js");
72
72
  return ThemeTray;
73
73
  }
74
74
  },
@@ -829,6 +829,8 @@
829
829
  --syntax-list: var(--text-editor-line);
830
830
  /* bullets drawn in place of `-`: the theme's primary accent, as ink */
831
831
  --syntax-list-marker: var(--text-editor-primary-text);
832
+ /* a quote's bar: the same colour as the bullets */
833
+ --syntax-quote-bar: var(--syntax-list-marker);
832
834
  --syntax-fill-list: var(--text-editor-text-fill);
833
835
  --syntax-style-list: var(--text-editor-text-style);
834
836
  --syntax-weight-list: var(--text-editor-text-weight);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  startActiveThemeFromProvider
3
- } from "./chunk-2LCY4PP2.js";
3
+ } from "./chunk-FRILY5OP.js";
4
4
  import "./chunk-MJMDS3V5.js";
5
5
 
6
6
  // src/theme-titlebar.ts
@@ -18,4 +18,4 @@ function ThemeTitlebarTool(_handle, element) {
18
18
  export {
19
19
  ThemeTitlebarTool
20
20
  };
21
- //# sourceMappingURL=theme-titlebar-JLYY4TZR.js.map
21
+ //# sourceMappingURL=theme-titlebar-WMODFBXS.js.map
@@ -5,7 +5,7 @@ import {
5
5
  serveCurrentThemeProvider,
6
6
  setThemeForCurrentMode,
7
7
  startActiveTheme
8
- } from "./chunk-2LCY4PP2.js";
8
+ } from "./chunk-FRILY5OP.js";
9
9
  import "./chunk-MJMDS3V5.js";
10
10
 
11
11
  // src/theme-tray.tsx
@@ -368,4 +368,4 @@ _$delegateEvents(["click", "input"]);
368
368
  export {
369
369
  ThemeTray
370
370
  };
371
- //# sourceMappingURL=theme-tray-OZPNTCHA.js.map
371
+ //# sourceMappingURL=theme-tray-FLEF6FYV.js.map
@@ -4,7 +4,7 @@ import {
4
4
  onActiveThemeChange,
5
5
  setThemeForMode,
6
6
  startActiveTheme
7
- } from "./chunk-2LCY4PP2.js";
7
+ } from "./chunk-FRILY5OP.js";
8
8
  import "./chunk-MJMDS3V5.js";
9
9
 
10
10
  // src/tool.tsx
@@ -0,0 +1,2 @@
1
+ import{r as a,s as b}from"./chunk-UJ7QHTY6.js";import"./chunk-FW4363Y4.js";export{a as IsolatedDocumentArea,b as mountIsolationRoot};
2
+ //# sourceMappingURL=IsolatedDocumentArea-ZF6AC4GB.js.map
@@ -1,2 +1,2 @@
1
- import{a as H,b as de,c as M,d as R}from"./chunk-YERFWP5I.js";import{a as Ie,b as B,c as j,d as te,e as re,f as oe,g as ne,h as ie,i as ae,j as le,k as se,l as O,m as P,n as W,o as ce,p as ue,q as me,r as fe}from"./chunk-Y2SEQB3F.js";import{b as Le}from"./chunk-FW4363Y4.js";import{template as y}from"solid-js/web";import{delegateEvents as nt}from"solid-js/web";import{memo as it}from"solid-js/web";import{setStyleProperty as at}from"solid-js/web";import{setAttribute as Y}from"solid-js/web";import{effect as I}from"solid-js/web";import{getOwner as k}from"solid-js/web";import{use as T}from"solid-js/web";import{insert as v}from"solid-js/web";import{createComponent as m}from"solid-js/web";import"@inkandswitch/patchwork-elements";import{subscribe as wt}from"@inkandswitch/patchwork-providers";import{template as q}from"solid-js/web";import{delegateEvents as Ae}from"solid-js/web";import{memo as xe}from"solid-js/web";import{insert as pe}from"solid-js/web";import{createComponent as L}from"solid-js/web";import{For as We,Show as z}from"solid-js";var Fe=q("<div class=threepane-widgets>"),Oe=q("<div class=threepane-widgets__empty><button type=button class=threepane-widgets__add>\uFF0B Add document list"),Pe=q("<div class=threepane-widget>");function he(e){let n=()=>{let t=e.rootFolderUrl(),o=e.configHandle();!t||!o||o.change(r=>{r.sidebar.widgets.push([M,t])})};return(()=>{var t=Fe();return pe(t,L(z,{get when(){return e.ready()},get children(){return L(z,{get when(){return e.widgets().length},get fallback(){return L(z,{get when(){return xe(()=>!!e.rootFolderUrl())()&&e.configHandle()},get children(){var o=Oe(),r=o.firstChild;return r.$$click=n,o}})},get children(){return L(We,{get each(){return e.widgets()},children:o=>(()=>{var r=Pe();return pe(r,L(W,{slot:o})),r})()})}})}})),t})()}Ae(["click"]);import{template as we}from"solid-js/web";import{setAttribute as He}from"solid-js/web";import{effect as Me}from"solid-js/web";import{insert as ge}from"solid-js/web";import{createComponent as K}from"solid-js/web";import{For as Be,Show as je}from"solid-js";var Ne=we("<div class=frame-tray>"),Ve=we("<div class=frame-tray__item>");function ve(e){return K(je,{get when(){return e.slots().length},get children(){var n=Ne();return ge(n,K(Be,{get each(){return P(e.slots())},children:t=>(()=>{var o=Ve();return ge(o,K(W,{slot:t})),Me(()=>He(o,"data-tray-id",O(t))),o})()})),n}})}import{createEffect as V,createMemo as vt,createSignal as _,onCleanup as C,onMount as Ce,Show as S}from"solid-js";import{render as _t}from"solid-js/web";import{createDocOfDatatype2 as qe}from"@inkandswitch/patchwork-plugins";import{getRegistry as ze}from"@inkandswitch/patchwork-plugins";function N(e){return ze("patchwork:datatype").loadWhenReady(e)}var Ke=new Set(["document-title","spacer"]);function _e(e){return e?[[M,e]]:[]}function Ge(e,n){if(!((e.version??0)>=1)){if(e.sidebar||(e.sidebar={widgets:[]}),n&&!e.sidebar.widgets?.length&&(e.sidebar.widgets=_e(n)),!e.tray)e.tray=H.slice();else{let t=P(e.tray);t.length!==e.tray.length&&(e.tray=t);let o=new Set(e.tray.map(r=>O(r)));for(let r of H)o.has(r)||(e.tray.push(r),o.add(r))}e.doctitle?.tools?.length||(e.doctitle={...e.doctitle,tools:de.slice()}),!(!e.sidebar.widgets?.length&&!n)&&(e.version=1)}}async function ye(e,n){let t=e.doc()?.rootFolderUrl,o=e.doc()?.tools?.threepane;if(o){let l=await n.find(o);if((l.doc()?.version??0)>=1)return;l.change(d=>Ge(d,t));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 s=e.doc(),a=(s?.documentToolbarToolIds??[]).filter(l=>!Ke.has(l)),i=await qe(r,n);i.change(l=>{a.length&&(l.doctitle.tools=a),l.sidebar.widgets=_e(s?.rootFolderUrl),l.tray||(l.tray=H.slice()),s?.rootFolderUrl?l.version=1:delete l.version}),e.change(l=>{l.tools||(l.tools={}),l.tools.threepane||(l.tools.threepane=i.url)})}var Se=Le(Ie(),1);import{createDocOfDatatype2 as Ye}from"@inkandswitch/patchwork-plugins";var g=(0,Se.default)("patchwork:threepane:examples");async function $e(e,n){let t=e.doc();if(!t?.rootFolderUrl){g("skipped \u2014 account has no rootFolderUrl");return}if(t.exampleDocsSeededAt){g("skipped \u2014 already ran for this account at",new Date(t.exampleDocsSeededAt).toISOString());return}g("claiming marker on account",e.url),e.change(u=>{u.exampleDocsSeededAt||(u.exampleDocsSeededAt=Date.now())});let o=await n.find(t.rootFolderUrl),r=o.doc()?.docs?.length??0;if(r){g(`skipped \u2014 root folder already has ${r} doc(s); only fresh accounts are seeded`);return}let s=window.location.hostname.includes("gaios"),a=s?[]:await Je();if(g(s?"gaios examples":"bundle init scripts:",a),!s&&!a.length){g("skipped \u2014 no static module bundles to ask");return}let i=await N("folder");if(!i){g("folder datatype never registered; giving up");return}let l=await Ye(i,n,u=>{u.title="Examples"});if(s){let{seedGaiosExamples:u}=await import("./gaiosExamples-YDNQB35L.js");await u(n,l)}for(let u of a)try{await(await import(u)).default?.(n,l),g("ran init script",u)}catch(c){g("init script unavailable or failed",u,c)}let d=l.doc()?.docs?.length??0;if(!d){g("no bundle contributed any documents");return}o.change(u=>{u.docs.unshift({name:"Examples",type:"folder",url:l.url})}),g(`seeded ${d} document(s) into Examples folder`,l.url)}var be="https://patchwork-tools.netlify.app/init.js",De="https://patchwork-base.netlify.app/init.js";function Xe(){return document.documentElement.getAttribute("data-examples")==="site"}async function Je(){let e=Xe(),n=window.patchwork?.packages;if(!n?.urls)return e?[]:[De,be];await n.doneLoading;let t=Object.values(n.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(t)];let o=t.length?[]:[De];return[...new Set([...t,...o,be])]}var ke="patchwork:add-to-sidebar";function Qe(e,n){e.docs||(e.docs=[]);let t=e.docs,o=t.findIndex(r=>r.url===n.url);if(o!==0){if(o>0){let{name:r,type:s}=t[o];t.splice(o,1),t.unshift({url:n.url,name:r,type:s});return}t.unshift({url:n.url,name:n.name,type:n.type})}}function Ze(e,n){return new Promise(t=>{let o=()=>{let r=e.doc(),s=r&&n(r);s&&(e.off("change",o),t(s))};e.on("change",o),o()})}function Te(e,n,t){let o=r=>{let s=r.detail;if(!s?.url)return;r.preventDefault(),r.stopPropagation();let a=(async()=>{let i=await Ze(t,d=>d.rootFolderUrl);(await n.find(i)).change(d=>Qe(d,{url:s.url,name:s.name||"Untitled",type:s.type||"unknown"}))})();a.catch(i=>console.error("threepane: couldn't add to sidebar",i)),s.respondWith?.(a)};return e.addEventListener(ke,o),()=>e.removeEventListener(ke,o)}import{createEffect as et,createMemo as tt,createSignal as rt,onCleanup as ot}from"solid-js";function G(e){let[n,t]=rt(0);return et(()=>{let o=e();if(!o)return;let r=()=>t(s=>s+1);o.on("change",r),ot(()=>o.off("change",r))}),tt(()=>(n(),e()?.doc()))}var lt=y("<div class=frame-shell><aside class=frame-warning-banner>research grade software. do not share links. sharing a doc is sharing your account.</aside><div class=frame><patchwork-view component=patchwork-selected-doc-provider><patchwork-view component=patchwork-account-provider><patchwork-view component=patchwork-tool-storage-provider><patchwork-view component=patchwork-worker-provider>",!0,!1,!1),st=y("<div style=display:contents>"),dt=y("<div class=main-area>"),ct=y("<div class=frame__popover-backdrop><div class=frame__popover role=dialog aria-modal=true><div class=frame__popover-toolbar><patchwork-view tool-id=doc-openwith></patchwork-view></div><div class=frame__popover-body><patchwork-view>",!0,!1,!1),ut=y('<button type=button class="frame__sidebar-toggle frame__left-toggle">'),mt=y("<div class=threepane-sidebar><div class=threepane-sidebar__footer><footer class=threepane-account-bar><button type=button class=threepane-account-bar__button>Settings"),ft=y("<div class=frame__tray-dock>"),pt=y('<button type=button class="threepane-account-bar__button threepane-account-bar__avatar"title=Account aria-label=Account><patchwork-view tool-id=contact-avatar>',!0,!1,!1),ht=y("<button type=button class=threepane-account-bar__button>Packages"),gt=y('<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,n)=>{let[t,o]=_(!1);return V(()=>{let r=n();if(!r)return;o(!1);let s=a=>{a.detail?.componentId===e&&o(!0)};r.addEventListener("patchwork:mounted",s),C(()=>r.removeEventListener("patchwork:mounted",s))}),t};function J(e,n){e.dispatchEvent(new CustomEvent("patchwork:open-document",{detail:n,bubbles:!0,composed:!0}))}function yt({handle:e,repo:n,...t}){me();let o=e.url,[r,s]=_(),a=X("patchwork-account-provider",r),[i,l]=_(),d=X("patchwork-tool-storage-provider",i),[u,c]=_(),p=X("patchwork-selected-doc-provider",u),f=vt(()=>p()&&a()&&d());return(()=>{var w=lt(),E=w.firstChild,Q=E.firstChild,A=E.nextSibling,h=A.firstChild,D=h.firstChild,$=D.firstChild,U=$.firstChild;return v(E,m(S,{get when(){return t.isolation},get children(){return[" ","isolation is highly experimental. if things are broken, switch back to wild west."]}}),null),T(c,h),h._$owner=k(),T(s,D),D.docUrl=o,D._$owner=k(),T(l,$),$.docUrl=o,$._$owner=k(),U._$owner=k(),v(U,m(S,{get when(){return f()},get children(){return m(bt,{handle:e,repo:n,get isolation(){return t.isolation}})}})),w})()}function bt(e){let n=B(()=>e.handle.url,{repo:e.repo});(async()=>{await ye(e.handle,e.repo),await $e(e.handle,e.repo)})().catch(b=>{console.error("frame: account bootstrap failed",b)});let t=G(n),o=e.handle.url,r=()=>t()?.tools?.threepane,s=B(()=>r(),{repo:e.repo}),a=G(s),i=()=>a()?.doctitle?.tools,l=()=>a()?.sidebar?.widgets??[],d=()=>a()?.tray??[],u=()=>t()?.rootFolderUrl,c=ie(),p=ae("left",{isCollapsed:c.isSidebarCollapsed,setCollapsed:c.setIsSidebarCollapsed,setWidth:c.setLeftSidebarWidth}),f,[w,E]=_(null),[Q,A]=_(null);Ce(()=>{let b=wt(f,{type:"patchwork:selected-view"},x=>E(x));C(b),C(Te(f,e.repo,e.handle))});let h=()=>w()?.url,D=()=>w()?.toolId??void 0,$=()=>oe(j.rightWidth,re),U=()=>ne(j.rightCollapsed),[Ee,Z]=_(),Ue=le(Ee,h),[ee,Re]=_(!1);return V(()=>{ee()||(e.isolation||!h()||Ue())&&Re(!0)}),(()=>{var b=st(),x=f;return typeof x=="function"?T(x,b):f=b,v(b,m(St,{accountDocUrl:o,sidebarState:c,sidebarResize:p,sidebarWidgets:l,traySlots:d,configHandle:s,rootFolderUrl:u,widgetsReady:ee,contactUrl:()=>t()?.contactUrl,moduleSettingsUrl:()=>t()?.moduleSettingsUrl,get isolation(){return e.isolation},onInterceptOpen:A,get children(){return m(S,{get when(){return h()},get fallback(){return(()=>{var F=dt();return v(F,m(ce,{viewKey:h,selectedDocUrl:h,toolId:D,ref:Z})),F})()},get children(){return m(S,{get when(){return e.isolation},get fallback(){return m(ue,{setMainDocElement:Z,selectedDocUrl:h,selectedToolId:D,doctitleSlots:i,get isLeftCollapsed(){return c.isSidebarCollapsed},initialRightWidth:$,initialRightCollapsed:U})},get children(){return m(fe,{get contactUrl(){return t()?.contactUrl},selectedDocUrl:h,selectedToolId:D,doctitleSlots:i,get isLeftCollapsed(){return c.isSidebarCollapsed},initialRightWidth:$,initialRightCollapsed:U})}})}})}}),null),v(b,m(S,{get when(){return Q()},children:F=>m(Dt,{get view(){return F()},onClose:()=>A(null)})}),null),b})()}function Dt(e){let[n,t]=_(e.view.toolId??void 0);V(()=>t(e.view.toolId??void 0));let o;return Ce(()=>{let r=i=>{i.key==="Escape"&&e.onClose()};window.addEventListener("keydown",r),C(()=>window.removeEventListener("keydown",r));let s=o;if(!s)return;let a=i=>{let{url:l,toolId:d}=i.detail;l&&(i.stopPropagation(),t(d??void 0))};s.addEventListener("patchwork:open-document",a),C(()=>s.removeEventListener("patchwork:open-document",a))}),(()=>{var r=ct(),s=r.firstChild,a=s.firstChild,i=a.firstChild,l=a.nextSibling,d=l.firstChild;r.$$click=()=>e.onClose(),s.$$click=c=>c.stopPropagation();var u=o;return typeof u=="function"?T(u,s):o=s,i._$owner=k(),d._$owner=k(),I(c=>{var p=e.view.url,f=e.view.url,w=n();return p!==c.e&&(i.docUrl=c.e=p),f!==c.t&&(d.docUrl=c.t=f),w!==c.a&&(d.toolId=c.a=w),c},{e:void 0,t:void 0,a:void 0}),r})()}function St(e){let n=e.sidebarState.isSidebarCollapsed,t=()=>e.traySlots().length>0,[o,r]=_(),s;return V(()=>{let a=o();if(!a)return;let i=l=>{let{url:d,toolId:u}=l.detail,c=s;if(e.isolation&&d&&c&&l.composedPath().includes(c)){l.stopPropagation(),e.onInterceptOpen?.({url:d,toolId:u??null});return}a.getBoundingClientRect().width<=window.innerWidth*.75||(e.sidebarState.setIsSidebarCollapsed(!0),window.dispatchEvent(new CustomEvent(te)))};a.addEventListener("patchwork:open-document",i),C(()=>a.removeEventListener("patchwork:open-document",i))}),[(()=>{var a=ut();return a.$$click=()=>e.sidebarState.setIsSidebarCollapsed(i=>!i),v(a,m($t,{})),I(i=>{var l=n()?"Show sidebar":"Hide sidebar",d=n()?"Show sidebar":"Hide sidebar",u=!n();return l!==i.e&&Y(a,"title",i.e=l),d!==i.t&&Y(a,"aria-label",i.t=d),u!==i.a&&Y(a,"aria-pressed",i.a=u),i},{e:void 0,t:void 0,a:void 0}),a})(),m(se,{side:"left",isCollapsed:n,get width(){return e.sidebarState.leftSidebarWidth},get onMouseDown(){return e.sidebarResize.handleMouseDown},get onToggleClick(){return e.sidebarResize.handleToggleClick},get children(){var a=mt(),i=a.firstChild,l=i.firstChild,d=l.firstChild;T(r,a),v(a,m(he,{get widgets(){return e.sidebarWidgets},get configHandle(){return e.configHandle},get rootFolderUrl(){return e.rootFolderUrl},get ready(){return e.widgetsReady}}),i);var u=s;return typeof u=="function"?T(u,i):s=i,v(l,m(S,{get when(){return e.contactUrl()},children:c=>(()=>{var p=pt(),f=p.firstChild;return p.$$click=w=>J(w.currentTarget,{url:e.accountDocUrl,toolId:"account-picker"}),f._$owner=k(),I(()=>f.docUrl=c()),p})()}),d),v(l,m(S,{get when(){return e.moduleSettingsUrl()},children:c=>(()=>{var p=ht();return p.$$click=f=>J(f.currentTarget,{url:c(),toolId:"packages"}),p})()}),d),d.$$click=c=>J(c.currentTarget,{url:e.accountDocUrl,toolId:"frame-configurator"}),I(()=>a.classList.toggle("threepane-sidebar--has-tray",!!t())),a}}),m(S,{get when(){return t()},get children(){var a=ft();return v(a,m(ve,{get slots(){return e.traySlots}})),I(i=>{var l=!!n(),d=`${e.sidebarState.leftSidebarWidth()}px`;return l!==i.e&&a.classList.toggle("frame__tray-dock--collapsed",i.e=l),d!==i.t&&at(a,"width",i.t=d),i},{e:void 0,t:void 0}),a}}),it(()=>e.children)]}function $t(){return gt()}function Er(e){return(n,t)=>_t(()=>m(yt,{handle:n,get repo(){return t.repo},isolation:e}),t)}nt(["click"]);export{St as FrameLayout,yt as PatchworkFrame,Er as renderPatchworkFrame};
2
- //# sourceMappingURL=PatchworkFrame-O76GWRUL.js.map
1
+ import{a as H,b as de,c as M,d as R}from"./chunk-YERFWP5I.js";import{a as Ie,b as B,c as j,d as te,e as re,f as oe,g as ne,h as ie,i as ae,j as le,k as se,l as O,m as P,n as W,o as ce,p as ue,q as me,r as fe}from"./chunk-UJ7QHTY6.js";import{b as Le}from"./chunk-FW4363Y4.js";import{template as y}from"solid-js/web";import{delegateEvents as nt}from"solid-js/web";import{memo as it}from"solid-js/web";import{setStyleProperty as at}from"solid-js/web";import{setAttribute as Y}from"solid-js/web";import{effect as I}from"solid-js/web";import{getOwner as k}from"solid-js/web";import{use as T}from"solid-js/web";import{insert as v}from"solid-js/web";import{createComponent as m}from"solid-js/web";import"@inkandswitch/patchwork-elements";import{subscribe as wt}from"@inkandswitch/patchwork-providers";import{template as q}from"solid-js/web";import{delegateEvents as Ae}from"solid-js/web";import{memo as xe}from"solid-js/web";import{insert as pe}from"solid-js/web";import{createComponent as L}from"solid-js/web";import{For as We,Show as z}from"solid-js";var Fe=q("<div class=threepane-widgets>"),Oe=q("<div class=threepane-widgets__empty><button type=button class=threepane-widgets__add>\uFF0B Add document list"),Pe=q("<div class=threepane-widget>");function he(e){let n=()=>{let t=e.rootFolderUrl(),o=e.configHandle();!t||!o||o.change(r=>{r.sidebar.widgets.push([M,t])})};return(()=>{var t=Fe();return pe(t,L(z,{get when(){return e.ready()},get children(){return L(z,{get when(){return e.widgets().length},get fallback(){return L(z,{get when(){return xe(()=>!!e.rootFolderUrl())()&&e.configHandle()},get children(){var o=Oe(),r=o.firstChild;return r.$$click=n,o}})},get children(){return L(We,{get each(){return e.widgets()},children:o=>(()=>{var r=Pe();return pe(r,L(W,{slot:o})),r})()})}})}})),t})()}Ae(["click"]);import{template as we}from"solid-js/web";import{setAttribute as He}from"solid-js/web";import{effect as Me}from"solid-js/web";import{insert as ge}from"solid-js/web";import{createComponent as K}from"solid-js/web";import{For as Be,Show as je}from"solid-js";var Ne=we("<div class=frame-tray>"),Ve=we("<div class=frame-tray__item>");function ve(e){return K(je,{get when(){return e.slots().length},get children(){var n=Ne();return ge(n,K(Be,{get each(){return P(e.slots())},children:t=>(()=>{var o=Ve();return ge(o,K(W,{slot:t})),Me(()=>He(o,"data-tray-id",O(t))),o})()})),n}})}import{createEffect as V,createMemo as vt,createSignal as _,onCleanup as C,onMount as Ce,Show as S}from"solid-js";import{render as _t}from"solid-js/web";import{createDocOfDatatype2 as qe}from"@inkandswitch/patchwork-plugins";import{getRegistry as ze}from"@inkandswitch/patchwork-plugins";function N(e){return ze("patchwork:datatype").loadWhenReady(e)}var Ke=new Set(["document-title","spacer"]);function _e(e){return e?[[M,e]]:[]}function Ge(e,n){if(!((e.version??0)>=1)){if(e.sidebar||(e.sidebar={widgets:[]}),n&&!e.sidebar.widgets?.length&&(e.sidebar.widgets=_e(n)),!e.tray)e.tray=H.slice();else{let t=P(e.tray);t.length!==e.tray.length&&(e.tray=t);let o=new Set(e.tray.map(r=>O(r)));for(let r of H)o.has(r)||(e.tray.push(r),o.add(r))}e.doctitle?.tools?.length||(e.doctitle={...e.doctitle,tools:de.slice()}),!(!e.sidebar.widgets?.length&&!n)&&(e.version=1)}}async function ye(e,n){let t=e.doc()?.rootFolderUrl,o=e.doc()?.tools?.threepane;if(o){let l=await n.find(o);if((l.doc()?.version??0)>=1)return;l.change(d=>Ge(d,t));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 s=e.doc(),a=(s?.documentToolbarToolIds??[]).filter(l=>!Ke.has(l)),i=await qe(r,n);i.change(l=>{a.length&&(l.doctitle.tools=a),l.sidebar.widgets=_e(s?.rootFolderUrl),l.tray||(l.tray=H.slice()),s?.rootFolderUrl?l.version=1:delete l.version}),e.change(l=>{l.tools||(l.tools={}),l.tools.threepane||(l.tools.threepane=i.url)})}var Se=Le(Ie(),1);import{createDocOfDatatype2 as Ye}from"@inkandswitch/patchwork-plugins";var g=(0,Se.default)("patchwork:threepane:examples");async function $e(e,n){let t=e.doc();if(!t?.rootFolderUrl){g("skipped \u2014 account has no rootFolderUrl");return}if(t.exampleDocsSeededAt){g("skipped \u2014 already ran for this account at",new Date(t.exampleDocsSeededAt).toISOString());return}g("claiming marker on account",e.url),e.change(u=>{u.exampleDocsSeededAt||(u.exampleDocsSeededAt=Date.now())});let o=await n.find(t.rootFolderUrl),r=o.doc()?.docs?.length??0;if(r){g(`skipped \u2014 root folder already has ${r} doc(s); only fresh accounts are seeded`);return}let s=window.location.hostname.includes("gaios"),a=s?[]:await Je();if(g(s?"gaios examples":"bundle init scripts:",a),!s&&!a.length){g("skipped \u2014 no static module bundles to ask");return}let i=await N("folder");if(!i){g("folder datatype never registered; giving up");return}let l=await Ye(i,n,u=>{u.title="Examples"});if(s){let{seedGaiosExamples:u}=await import("./gaiosExamples-YDNQB35L.js");await u(n,l)}for(let u of a)try{await(await import(u)).default?.(n,l),g("ran init script",u)}catch(c){g("init script unavailable or failed",u,c)}let d=l.doc()?.docs?.length??0;if(!d){g("no bundle contributed any documents");return}o.change(u=>{u.docs.unshift({name:"Examples",type:"folder",url:l.url})}),g(`seeded ${d} document(s) into Examples folder`,l.url)}var be="https://patchwork-tools.netlify.app/init.js",De="https://patchwork-base.netlify.app/init.js";function Xe(){return document.documentElement.getAttribute("data-examples")==="site"}async function Je(){let e=Xe(),n=window.patchwork?.packages;if(!n?.urls)return e?[]:[De,be];await n.doneLoading;let t=Object.values(n.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(t)];let o=t.length?[]:[De];return[...new Set([...t,...o,be])]}var ke="patchwork:add-to-sidebar";function Qe(e,n){e.docs||(e.docs=[]);let t=e.docs,o=t.findIndex(r=>r.url===n.url);if(o!==0){if(o>0){let{name:r,type:s}=t[o];t.splice(o,1),t.unshift({url:n.url,name:r,type:s});return}t.unshift({url:n.url,name:n.name,type:n.type})}}function Ze(e,n){return new Promise(t=>{let o=()=>{let r=e.doc(),s=r&&n(r);s&&(e.off("change",o),t(s))};e.on("change",o),o()})}function Te(e,n,t){let o=r=>{let s=r.detail;if(!s?.url)return;r.preventDefault(),r.stopPropagation();let a=(async()=>{let i=await Ze(t,d=>d.rootFolderUrl);(await n.find(i)).change(d=>Qe(d,{url:s.url,name:s.name||"Untitled",type:s.type||"unknown"}))})();a.catch(i=>console.error("threepane: couldn't add to sidebar",i)),s.respondWith?.(a)};return e.addEventListener(ke,o),()=>e.removeEventListener(ke,o)}import{createEffect as et,createMemo as tt,createSignal as rt,onCleanup as ot}from"solid-js";function G(e){let[n,t]=rt(0);return et(()=>{let o=e();if(!o)return;let r=()=>t(s=>s+1);o.on("change",r),ot(()=>o.off("change",r))}),tt(()=>(n(),e()?.doc()))}var lt=y("<div class=frame-shell><aside class=frame-warning-banner>research grade software. do not share links. sharing a doc is sharing your account.</aside><div class=frame><patchwork-view component=patchwork-selected-doc-provider><patchwork-view component=patchwork-account-provider><patchwork-view component=patchwork-tool-storage-provider><patchwork-view component=patchwork-worker-provider>",!0,!1,!1),st=y("<div style=display:contents>"),dt=y("<div class=main-area>"),ct=y("<div class=frame__popover-backdrop><div class=frame__popover role=dialog aria-modal=true><div class=frame__popover-toolbar><patchwork-view tool-id=doc-openwith></patchwork-view></div><div class=frame__popover-body><patchwork-view>",!0,!1,!1),ut=y('<button type=button class="frame__sidebar-toggle frame__left-toggle">'),mt=y("<div class=threepane-sidebar><div class=threepane-sidebar__footer><footer class=threepane-account-bar><button type=button class=threepane-account-bar__button>Settings"),ft=y("<div class=frame__tray-dock>"),pt=y('<button type=button class="threepane-account-bar__button threepane-account-bar__avatar"title=Account aria-label=Account><patchwork-view tool-id=contact-avatar>',!0,!1,!1),ht=y("<button type=button class=threepane-account-bar__button>Packages"),gt=y('<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,n)=>{let[t,o]=_(!1);return V(()=>{let r=n();if(!r)return;o(!1);let s=a=>{a.detail?.componentId===e&&o(!0)};r.addEventListener("patchwork:mounted",s),C(()=>r.removeEventListener("patchwork:mounted",s))}),t};function J(e,n){e.dispatchEvent(new CustomEvent("patchwork:open-document",{detail:n,bubbles:!0,composed:!0}))}function yt({handle:e,repo:n,...t}){me();let o=e.url,[r,s]=_(),a=X("patchwork-account-provider",r),[i,l]=_(),d=X("patchwork-tool-storage-provider",i),[u,c]=_(),p=X("patchwork-selected-doc-provider",u),f=vt(()=>p()&&a()&&d());return(()=>{var w=lt(),E=w.firstChild,Q=E.firstChild,A=E.nextSibling,h=A.firstChild,D=h.firstChild,$=D.firstChild,U=$.firstChild;return v(E,m(S,{get when(){return t.isolation},get children(){return[" ","isolation is highly experimental. if things are broken, switch back to wild west."]}}),null),T(c,h),h._$owner=k(),T(s,D),D.docUrl=o,D._$owner=k(),T(l,$),$.docUrl=o,$._$owner=k(),U._$owner=k(),v(U,m(S,{get when(){return f()},get children(){return m(bt,{handle:e,repo:n,get isolation(){return t.isolation}})}})),w})()}function bt(e){let n=B(()=>e.handle.url,{repo:e.repo});(async()=>{await ye(e.handle,e.repo),await $e(e.handle,e.repo)})().catch(b=>{console.error("frame: account bootstrap failed",b)});let t=G(n),o=e.handle.url,r=()=>t()?.tools?.threepane,s=B(()=>r(),{repo:e.repo}),a=G(s),i=()=>a()?.doctitle?.tools,l=()=>a()?.sidebar?.widgets??[],d=()=>a()?.tray??[],u=()=>t()?.rootFolderUrl,c=ie(),p=ae("left",{isCollapsed:c.isSidebarCollapsed,setCollapsed:c.setIsSidebarCollapsed,setWidth:c.setLeftSidebarWidth}),f,[w,E]=_(null),[Q,A]=_(null);Ce(()=>{let b=wt(f,{type:"patchwork:selected-view"},x=>E(x));C(b),C(Te(f,e.repo,e.handle))});let h=()=>w()?.url,D=()=>w()?.toolId??void 0,$=()=>oe(j.rightWidth,re),U=()=>ne(j.rightCollapsed),[Ee,Z]=_(),Ue=le(Ee,h),[ee,Re]=_(!1);return V(()=>{ee()||(e.isolation||!h()||Ue())&&Re(!0)}),(()=>{var b=st(),x=f;return typeof x=="function"?T(x,b):f=b,v(b,m(St,{accountDocUrl:o,sidebarState:c,sidebarResize:p,sidebarWidgets:l,traySlots:d,configHandle:s,rootFolderUrl:u,widgetsReady:ee,contactUrl:()=>t()?.contactUrl,moduleSettingsUrl:()=>t()?.moduleSettingsUrl,get isolation(){return e.isolation},onInterceptOpen:A,get children(){return m(S,{get when(){return h()},get fallback(){return(()=>{var F=dt();return v(F,m(ce,{viewKey:h,selectedDocUrl:h,toolId:D,ref:Z})),F})()},get children(){return m(S,{get when(){return e.isolation},get fallback(){return m(ue,{setMainDocElement:Z,selectedDocUrl:h,selectedToolId:D,doctitleSlots:i,get isLeftCollapsed(){return c.isSidebarCollapsed},initialRightWidth:$,initialRightCollapsed:U})},get children(){return m(fe,{get contactUrl(){return t()?.contactUrl},selectedDocUrl:h,selectedToolId:D,doctitleSlots:i,get isLeftCollapsed(){return c.isSidebarCollapsed},initialRightWidth:$,initialRightCollapsed:U})}})}})}}),null),v(b,m(S,{get when(){return Q()},children:F=>m(Dt,{get view(){return F()},onClose:()=>A(null)})}),null),b})()}function Dt(e){let[n,t]=_(e.view.toolId??void 0);V(()=>t(e.view.toolId??void 0));let o;return Ce(()=>{let r=i=>{i.key==="Escape"&&e.onClose()};window.addEventListener("keydown",r),C(()=>window.removeEventListener("keydown",r));let s=o;if(!s)return;let a=i=>{let{url:l,toolId:d}=i.detail;l&&(i.stopPropagation(),t(d??void 0))};s.addEventListener("patchwork:open-document",a),C(()=>s.removeEventListener("patchwork:open-document",a))}),(()=>{var r=ct(),s=r.firstChild,a=s.firstChild,i=a.firstChild,l=a.nextSibling,d=l.firstChild;r.$$click=()=>e.onClose(),s.$$click=c=>c.stopPropagation();var u=o;return typeof u=="function"?T(u,s):o=s,i._$owner=k(),d._$owner=k(),I(c=>{var p=e.view.url,f=e.view.url,w=n();return p!==c.e&&(i.docUrl=c.e=p),f!==c.t&&(d.docUrl=c.t=f),w!==c.a&&(d.toolId=c.a=w),c},{e:void 0,t:void 0,a:void 0}),r})()}function St(e){let n=e.sidebarState.isSidebarCollapsed,t=()=>e.traySlots().length>0,[o,r]=_(),s;return V(()=>{let a=o();if(!a)return;let i=l=>{let{url:d,toolId:u}=l.detail,c=s;if(e.isolation&&d&&c&&l.composedPath().includes(c)){l.stopPropagation(),e.onInterceptOpen?.({url:d,toolId:u??null});return}a.getBoundingClientRect().width<=window.innerWidth*.75||(e.sidebarState.setIsSidebarCollapsed(!0),window.dispatchEvent(new CustomEvent(te)))};a.addEventListener("patchwork:open-document",i),C(()=>a.removeEventListener("patchwork:open-document",i))}),[(()=>{var a=ut();return a.$$click=()=>e.sidebarState.setIsSidebarCollapsed(i=>!i),v(a,m($t,{})),I(i=>{var l=n()?"Show sidebar":"Hide sidebar",d=n()?"Show sidebar":"Hide sidebar",u=!n();return l!==i.e&&Y(a,"title",i.e=l),d!==i.t&&Y(a,"aria-label",i.t=d),u!==i.a&&Y(a,"aria-pressed",i.a=u),i},{e:void 0,t:void 0,a:void 0}),a})(),m(se,{side:"left",isCollapsed:n,get width(){return e.sidebarState.leftSidebarWidth},get onMouseDown(){return e.sidebarResize.handleMouseDown},get onToggleClick(){return e.sidebarResize.handleToggleClick},get children(){var a=mt(),i=a.firstChild,l=i.firstChild,d=l.firstChild;T(r,a),v(a,m(he,{get widgets(){return e.sidebarWidgets},get configHandle(){return e.configHandle},get rootFolderUrl(){return e.rootFolderUrl},get ready(){return e.widgetsReady}}),i);var u=s;return typeof u=="function"?T(u,i):s=i,v(l,m(S,{get when(){return e.contactUrl()},children:c=>(()=>{var p=pt(),f=p.firstChild;return p.$$click=w=>J(w.currentTarget,{url:e.accountDocUrl,toolId:"account-picker"}),f._$owner=k(),I(()=>f.docUrl=c()),p})()}),d),v(l,m(S,{get when(){return e.moduleSettingsUrl()},children:c=>(()=>{var p=ht();return p.$$click=f=>J(f.currentTarget,{url:c(),toolId:"packages"}),p})()}),d),d.$$click=c=>J(c.currentTarget,{url:e.accountDocUrl,toolId:"frame-configurator"}),I(()=>a.classList.toggle("threepane-sidebar--has-tray",!!t())),a}}),m(S,{get when(){return t()},get children(){var a=ft();return v(a,m(ve,{get slots(){return e.traySlots}})),I(i=>{var l=!!n(),d=`${e.sidebarState.leftSidebarWidth()}px`;return l!==i.e&&a.classList.toggle("frame__tray-dock--collapsed",i.e=l),d!==i.t&&at(a,"width",i.t=d),i},{e:void 0,t:void 0}),a}}),it(()=>e.children)]}function $t(){return gt()}function Er(e){return(n,t)=>_t(()=>m(yt,{handle:n,get repo(){return t.repo},isolation:e}),t)}nt(["click"]);export{St as FrameLayout,yt as PatchworkFrame,Er as renderPatchworkFrame};
2
+ //# sourceMappingURL=PatchworkFrame-SEJC7VST.js.map
@@ -1,5 +1,5 @@
1
- import{a as se,b as Ct}from"./chunk-FW4363Y4.js";var Ae=se((sn,De)=>{var I=1e3,F=I*60,R=F*60,E=R*24,qt=E*7,Bt=E*365.25;De.exports=function(e,r){r=r||{};var t=typeof e;if(t==="string"&&e.length>0)return Jt(e);if(t==="number"&&isFinite(e))return r.long?Yt(e):Vt(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Jt(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*Bt;case"weeks":case"week":case"w":return t*qt;case"days":case"day":case"d":return t*E;case"hours":case"hour":case"hrs":case"hr":case"h":return t*R;case"minutes":case"minute":case"mins":case"min":case"m":return t*F;case"seconds":case"second":case"secs":case"sec":case"s":return t*I;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Vt(e){var r=Math.abs(e);return r>=E?Math.round(e/E)+"d":r>=R?Math.round(e/R)+"h":r>=F?Math.round(e/F)+"m":r>=I?Math.round(e/I)+"s":e+"ms"}function Yt(e){var r=Math.abs(e);return r>=E?X(e,r,E,"day"):r>=R?X(e,r,R,"hour"):r>=F?X(e,r,F,"minute"):r>=I?X(e,r,I,"second"):e+" ms"}function X(e,r,t,o){var n=r>=t*1.5;return Math.round(e/t)+" "+o+(n?"s":"")}});var Fe=se((ln,Ie)=>{function Xt(e){t.debug=t,t.default=t,t.coerce=m,t.disable=i,t.enable=n,t.enabled=f,t.humanize=Ae(),t.destroy=p,Object.keys(e).forEach(l=>{t[l]=e[l]}),t.names=[],t.skips=[],t.formatters={};function r(l){let s=0;for(let u=0;u<l.length;u++)s=(s<<5)-s+l.charCodeAt(u),s|=0;return t.colors[Math.abs(s)%t.colors.length]}t.selectColor=r;function t(l){let s,u=null,h,b;function v(...d){if(!v.enabled)return;let c=v,g=Number(new Date),w=g-(s||g);c.diff=w,c.prev=s,c.curr=g,s=g,d[0]=t.coerce(d[0]),typeof d[0]!="string"&&d.unshift("%O");let y=0;d[0]=d[0].replace(/%([a-zA-Z%])/g,(S,yt)=>{if(S==="%%")return"%";y++;let we=t.formatters[yt];if(typeof we=="function"){let _t=d[y];S=we.call(c,_t),d.splice(y,1),y--}return S}),t.formatArgs.call(c,d),(c.log||t.log).apply(c,d)}return v.namespace=l,v.useColors=t.useColors(),v.color=t.selectColor(l),v.extend=o,v.destroy=t.destroy,Object.defineProperty(v,"enabled",{enumerable:!0,configurable:!1,get:()=>u!==null?u:(h!==t.namespaces&&(h=t.namespaces,b=t.enabled(l)),b),set:d=>{u=d}}),typeof t.init=="function"&&t.init(v),v}function o(l,s){let u=t(this.namespace+(typeof s>"u"?":":s)+l);return u.log=this.log,u}function n(l){t.save(l),t.namespaces=l,t.names=[],t.skips=[];let s=(typeof l=="string"?l:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let u of s)u[0]==="-"?t.skips.push(u.slice(1)):t.names.push(u)}function a(l,s){let u=0,h=0,b=-1,v=0;for(;u<l.length;)if(h<s.length&&(s[h]===l[u]||s[h]==="*"))s[h]==="*"?(b=h,v=u,h++):(u++,h++);else if(b!==-1)h=b+1,v++,u=v;else return!1;for(;h<s.length&&s[h]==="*";)h++;return h===s.length}function i(){let l=[...t.names,...t.skips.map(s=>"-"+s)].join(",");return t.enable(""),l}function f(l){for(let s of t.skips)if(a(l,s))return!1;for(let s of t.names)if(a(l,s))return!0;return!1}function m(l){return l instanceof Error?l.stack||l.message:l}function p(){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}Ie.exports=Xt});var Re=se((x,K)=>{x.formatArgs=Gt;x.save=Zt;x.load=Qt;x.useColors=Kt;x.storage=er();x.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`."))}})();x.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 Kt(){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 Gt(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+K.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)}x.log=console.debug||console.log||(()=>{});function Zt(e){try{e?x.storage.setItem("debug",e):x.storage.removeItem("debug")}catch{}}function Qt(){let e;try{e=x.storage.getItem("debug")||x.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function er(){try{return localStorage}catch{}}K.exports=Fe()(x);var{formatters:tr}=K.exports;tr.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}});import{template as wt}from"solid-js/web";import{createComponent as ko}from"solid-js/web";import{setAttribute as So}from"solid-js/web";import{effect as $o}from"solid-js/web";import{insert as xt}from"solid-js/web";import{getOwner as Eo}from"solid-js/web";import{createMemo as bt}from"solid-js";import{createStore as Ao,reconcile as Io}from"solid-js/store";import{render as Fo}from"solid-js/web";import{template as J}from"solid-js/web";import{insert as T}from"solid-js/web";import{getOwner as q}from"solid-js/web";import{use as B}from"solid-js/web";import{createComponent as _}from"solid-js/web";import{createUniqueId as kt,untrack as xe}from"solid-js";import{isServer as St,isDev as ye}from"solid-js/web";import{reconcile as $t}from"solid-js/store";function le(e,r={}){let t=r.storage||globalThis.localStorage,o=r.name||`storage-${kt()}`;if(!t)return Object.assign(e,{2:null});let n=r.storageOptions,a=r.serialize||JSON.stringify.bind(JSON),i=r.deserialize||JSON.parse.bind(JSON),f=t.getItem(o,n),m=typeof e[0]=="function"?l=>{try{let s=i(l);e[1](()=>s)}catch(s){ye&&console.warn(s)}}:l=>{try{let s=i(l);e[1]($t(s))}catch(s){ye&&console.warn(s)}},p=!0;if(f instanceof Promise?f.then(l=>p&&l&&m(l)):f&&m(f),typeof r.sync?.[0]=="function"){let l=typeof e[0]=="function"?e[0]:()=>e[0];r.sync[0](s=>{s.key!==o||!St&&(s.url||globalThis.location.href)!==globalThis.location.href||s.newValue===a(xe(l))||m(s.newValue)})}return Object.assign([],e,{1:typeof e[0]=="function"?l=>{let s=e[1](l),u=l!=null?a(s):l;return r.sync?.[1](o,u),u!=null?t.setItem(o,u,n):t.removeItem(o,n),p=!1,s}:(...l)=>{e[1](...l);let s=xe(()=>a(e[0]));r.sync?.[1](o,s),t.setItem(o,s,n),p=!1},2:f})}import{createEffect as ft,createMemo as ve,createSignal as k,on as ht,onCleanup as xo,onMount as yo,Show as z}from"solid-js";import{createEffect as _e,createSignal as Ce,on as ke}from"solid-js";var C={leftCollapsed:"patchwork:leftSidebarCollapsed",rightCollapsed:"patchwork:rightSidebarCollapsed",leftWidth:"patchwork:leftSidebarWidth",rightWidth:"patchwork:rightSidebarWidth",contextToolId:"patchwork:contextSidebarToolId"},V="patchwork:collapse-context-sidebar",Y=400;function Se(e,r){let t=localStorage.getItem(e);return t?parseInt(t,10):r}function $e(e){return localStorage.getItem(e)==="true"}function Et(){let[e,r]=Ce($e(C.leftCollapsed)),[t,o]=Ce(Se(C.leftWidth,Y));return _e(ke(e,n=>{localStorage.setItem(C.leftCollapsed,String(n))})),_e(ke(t,n=>{localStorage.setItem(C.leftWidth,String(n))})),{isSidebarCollapsed:e,setIsSidebarCollapsed:r,leftSidebarWidth:t,setLeftSidebarWidth:o}}import{onCleanup as Tt,onMount as Dt}from"solid-js";var Ee=180,At=720,It=120,Te=3;function de(e,{isCollapsed:r,setCollapsed:t,setWidth:o}){let n=!1,a=null,i=!1,f=null,m=c=>{if(c<It){r()||t(!0),f=null;return}r()&&t(!1);let g=Math.min(At,c);o(g),f=g},p=()=>{r()||f!==null&&f<Ee&&o(Ee)},l=null,s=()=>{document.body.setAttribute("data-sidebar-resizing",e),l=document.createElement("div"),l.style.cssText="position:fixed;inset:0;z-index:2147483647;cursor:col-resize;",document.body.appendChild(l)},u=()=>{n=!1,a=null,document.body.style.userSelect="",document.body.removeAttribute("data-sidebar-resizing"),l?.remove(),l=null},h=c=>{c.preventDefault(),a={x:c.clientX,y:c.clientY},i=!1,f=null,n=!0,document.body.style.userSelect="none"},b=()=>{let c=n,g=i;u(),c&&g&&p()},v=c=>{if(!n||!a)return;let g=Math.abs(c.clientX-a.x),w=Math.abs(c.clientY-a.y);!i&&(g>Te||w>Te)&&(i=!0,s()),m(e==="left"?c.clientX:window.innerWidth-c.clientX)},d=c=>{if(i){c.preventDefault(),c.stopPropagation(),i=!1;return}t(g=>!g)};return Dt(()=>{document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),Tt(()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",b),n&&u()})}),{handleMouseDown:h,handleToggleClick:d}}import{createEffect as Ft,createSignal as Rt,onCleanup as Ot}from"solid-js";var $=(e,r)=>{let[t,o]=Rt(!1);return Ft(()=>{let n=r();if(!n)return;o(!1);let a=i=>{i.detail?.componentId===e&&o(!0)};n.addEventListener("patchwork:mounted",a),Ot(()=>n.removeEventListener("patchwork:mounted",a))}),t};import{createEffect as Mt,createSignal as Lt,onCleanup as zt}from"solid-js";var Pt=5e3,Ut=(e,r)=>{let[t,o]=Lt(!1);return Mt(()=>{if(t())return;let n=e(),a=r();if(!n||!a)return;let i=m=>{let p=m.detail;p?.url&&p.url!==a||o(!0)};n.addEventListener("patchwork:mounted",i),n.addEventListener("patchwork:no-tool",i);let f=setTimeout(()=>o(!0),Pt);zt(()=>{n.removeEventListener("patchwork:mounted",i),n.removeEventListener("patchwork:no-tool",i),clearTimeout(f)})}),t};import{getRegistry as Nt}from"@inkandswitch/patchwork-plugins";import{createMemo as jt,createSignal as Wt,onCleanup as Ht}from"solid-js";function A(e){let r=Nt("patchwork:component"),[t,o]=Wt(0),n=r.on("changed",()=>o(a=>a+1));return Ht(n),jt(()=>(t(),(r.all?.()??[]).filter(a=>(a.tags??[]).includes(e)).map(a=>({id:a.id,name:a.name||a.id,icon:a.icon})).sort((a,i)=>a.name.localeCompare(i.name))))}import{template as H}from"solid-js/web";import{delegateEvents as Kr}from"solid-js/web";import{getOwner as Gr}from"solid-js/web";import{effect as st}from"solid-js/web";import{setAttribute as Zr}from"solid-js/web";import{memo as lt}from"solid-js/web";import{insert as M}from"solid-js/web";import{createComponent as L}from"solid-js/web";import{For as no,Show as ge}from"solid-js";import{template as je}from"solid-js/web";import{delegateEvents as pr}from"solid-js/web";import{insert as mr}from"solid-js/web";import"solid-js/web";import{setAttribute as Ue}from"solid-js/web";import{effect as Ne}from"solid-js/web";import{use as We}from"solid-js/web";import{createComponent as fe}from"solid-js/web";var Me=Ct(Re(),1),ce=(0,Me.default)("cabbages");function ue(e){return typeof e=="object"&&e!=null&&Object.getPrototypeOf(e)==Object.prototype}function G(e){if(Array.isArray(e))return e.map(G);if(ue(e)){let r={};for(let t of Object.keys(e))r[t]=G(e[t]);return r}return e instanceof Date?new Date(e):ArrayBuffer.isView(e)?e.slice():e}var rr="\uFFFC";function Le(e,...r){if(r.length==0){ce("empty patch");return}let[t,o,n]=r,a=[...t];for(;;){let i=a.shift();if(!a.length){let m=Array.isArray(o);if(ue(e)&&m&&typeof i>"u"&&typeof o[0]=="string"){delete e[o[0]];return}if(m||typeof o=="number"){if(typeof i>"u")throw new Error("cant treat top level as a seq");i=i;let[p,l]=Array.isArray(o)?o:[o,o+1],s=Array.isArray(o)&&o.length==0;if(!s&&(p==null||l==null))throw new RangeError("it's all or nothing, no half measures");let u=typeof n>"u",h=p===l&&!u,b=s&&!u,v=!h&&!u&&!b;if(typeof e[i]>"u"){if(typeof e=="string")return;typeof n=="string"?e[i]="":e[i]=[]}let d=e[i];if(Array.isArray(d)){if(b){Array.isArray(n)?d.push(...n):d.push(n);return}if(h||v){Array.isArray(n)?d.splice(p,l-p,...n):d.splice(p,l-p,n);return}if(u){d.splice(p,l-p);return}throw new Error("i don't know what happened")}if(typeof d=="string"){if(b){e[i]=d+n;return}if(v||h){e[i]=d.slice(0,p)+(typeof n=="string"?n:n.map(c=>typeof c=="string"?c:rr).join(""))+d.slice(l);return}if(u){e[i]=d.slice(0,p)+d.slice(l);return}throw new Error("i don't know what happened")}if(ue(d)&&m&&typeof o[0]=="string"){delete d[o[0]];return}throw new Error("not implemented")}if(typeof i>"u"){if(typeof o!="string")throw new Error(`can't index top-level map with ${o}`);typeof n>"u"?delete e[o]:e[o]=n;return}if(typeof e[i]>"u"&&(e[i]={}),m){let[p,l]=o;p!=null&&l!=null&&(typeof n>"u"&&p!=null&&l!=null?delete e[i][p||l]:e[i][p||l]=n)}else if(typeof n>"u")delete e[i][o];else{if(typeof e[i]=="string")return;e[i][o]=n}return}if(typeof i>"u")throw new Error("cant treat top level as a seq");i=i;let f=a[0];if(typeof e[i]>"u")if(typeof f=="string")e[i]={};else if(typeof f=="number")e[i]=[];else throw new Error(`can't go down this road ${e}.${i}.${f}`);if(e=e[i],typeof e=="string"){ce("ignoring patch to a block marker in a string",t,o);return}if(e==null||typeof e!="object"&&typeof e!="function")throw new TypeError(`invalid path ${JSON.stringify(t)}: ${String(i)} is ${e}`)}}function Oe(e,r){for(let t=0;t<r.length;t++)e=e?e[r[t]]:void 0;return e}function ze(e,r){let t=e.path.slice(0,-1),o=e.path[e.path.length-1];switch(e.action){case"mark":case"unmark":return ce(`skipping ${e.action} because it doesn't affect material reality`),[];case"inc":if(r)return[t,o,Oe(r.patchInfo.after,e.path)];throw new Error(`can't apply ${e.action} without payload argument`);case"conflict":if(r)return[t,o,Oe(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],G(e.values)];case"splice":return[t,[o,o],[e.value]];case"put":return[t,o,G(e.value)]}}function Z(e){return r=>{for(let t of e.patches)Le(r,...ze(t,e))}}import{createMemo as ir}from"solid-js";import{onCleanup as or}from"solid-js";import{createStore as nr,produce as ar,reconcile as Pe}from"solid-js/store";var P=new WeakMap;function Q(e){if(or(()=>{let a=P.get(e);a&&(a.refs--||a.cleanup())}),P.has(e)){let a=P.get(e);return a.refs++,a.store}let[r,t]=nr(structuredClone(e.doc()));P.set(e,{refs:0,store:r,cleanup(){e.off("change",o),e.off("delete",n),P.delete(e)}});function o(a){if(a.scopeReplaced){t(Pe(a.doc??{}));return}t(ar(Z(a)))}function n(){t(Pe({}))}return e.on("change",o),e.on("delete",n),r}import{getOwner as bn,onCleanup as vn,createSignal as wn,untrack as xn,sharedConfig as yn,onMount as _n,DEV as Cn,equalFn as kn}from"solid-js";import{isServer as $n}from"solid-js/web";var O=e=>typeof e=="function"&&!e.length?e():e;function ee(e){return ir(()=>O(e)&&Q(O(e)))}import{createEffect as lr,createResource as dr,useContext as cr}from"solid-js";import{createContext as sr}from"solid-js";var te=sr(null);function U(e,r){let t=cr(te);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 f=O(e);if(f)return fr(o,f)}let[a,{mutate:i}]=dr(e,f=>o.find(f),{initialValue:n()});return lr(()=>{O(e)||i()}),a}function ur(e){return typeof e.query=="function"}function fr(e,r){if(ur(e)){let o=e.query(r).state();return o.status=="ready"?o.handle:void 0}let t=e.findWithProgress(r).peek();return t.state=="ready"?t.handle:void 0}function re(e,r){let t=U(e,r);return[ee(t),t]}import{onCleanup as Hn}from"solid-js";import{createSignal as Bn}from"solid-js";import{createEffect as Yn,onCleanup as Xn}from"solid-js";import{createSignal as Gn}from"solid-js";import{useContext as na}from"solid-js";import{getType as br}from"@inkandswitch/patchwork-filesystem";import{getRegistry as vr,isLoadedPlugin as wr}from"@inkandswitch/patchwork-plugins";import{createEffect as xr,createMemo as oe,createSignal as he,onCleanup as yr,onMount as qe,Show as Be}from"solid-js";var He=je("<span class=threepane__title-text>"),gr=je("<input class=threepane__title-input type=text>");function Je(e){let r,[t,o]=he();return qe(()=>{o(r.closest("repo-provider")?.repo)}),fe(Be,{get when(){return t()},get fallback(){return(()=>{var n=He(),a=r;return typeof a=="function"?We(a,n):r=n,n})()},children:n=>fe(_r,{get docUrl(){return e.docUrl},get repo(){return n()}})})}function _r(e){let[r,t]=re(()=>e.docUrl(),{repo:e.repo}),o=vr("patchwork:datatype"),[n,a]=he(0);qe(()=>{let d=o.on("changed",()=>a(c=>c+1));yr(d)});let i=oe(()=>{let d=r();return d?br(d):void 0});xr(()=>{let d=i();d&&o.load(d)});let f=oe(()=>{n();let d=i();if(!d)return;let c=o.get(d);return c&&wr(c)?c:void 0}),m=oe(()=>{let d=r(),c=f();if(!(!d||!c))return c.module.getTitle(d)}),p=oe(()=>!!t()&&typeof f()?.module.setTitle=="function"),[l,s]=he(!1),u;function h(){p()&&(s(!0),queueMicrotask(()=>{u?.focus(),u?.select()}))}function b(d){if(!l()||(s(!1),!d))return;let c=u?.value.trim();if(!c||c===m())return;let g=t(),w=f()?.module.setTitle;!g||!w||g.change(y=>{w(y,c);let D=y["@patchwork"];D&&(D.title=c)})}function v(d){let c=e.docUrl(),g=d.dataTransfer;if(!c||!g)return;let w=m()??"Untitled",y=i();g.effectAllowed="copyLink",g.setData("text/x-patchwork-dnd",JSON.stringify({source:"threepane",items:[{url:c,name:w,type:y}]})),g.setData("text/x-patchwork-urls",JSON.stringify([c])),g.setData("text/uri-list",`${location.origin}${location.pathname}#doc=${c}\r
2
- `),g.setData("text/plain",c)}return fe(Be,{get when(){return l()},get fallback(){return(()=>{var d=He();return d.$$click=h,d.addEventListener("dragstart",v),Ue(d,"draggable",!0),mr(d,()=>m()??"Untitled"),Ne(c=>{var g=!!p(),w=p()?"Rename":void 0;return g!==c.e&&d.classList.toggle("threepane__title-text--editable",c.e=g),w!==c.t&&Ue(d,"title",c.t=w),c},{e:void 0,t:void 0}),d})()},get children(){var d=gr();d.$$keydown=g=>{g.key==="Enter"?(g.preventDefault(),b(!0)):g.key==="Escape"&&(g.preventDefault(),b(!1))},d.addEventListener("blur",()=>b(!0));var c=u;return typeof c=="function"?We(c,d):u=d,Ne(()=>d.value=m()??""),d}})}pr(["keydown","click"]);import{template as ae}from"solid-js/web";import{delegateEvents as Nr}from"solid-js/web";import{getOwner as jr}from"solid-js/web";import{insert as ne}from"solid-js/web";import{createComponent as W}from"solid-js/web";import{Show as rt}from"solid-js";import{template as Ge}from"solid-js/web";import{delegateEvents as Cr}from"solid-js/web";import{setStyleProperty as kr}from"solid-js/web";import{insert as Sr}from"solid-js/web";import{use as $r}from"solid-js/web";import{setAttribute as N}from"solid-js/web";import{effect as Ve}from"solid-js/web";import{memo as j}from"solid-js/web";import{createComponent as Ye}from"solid-js/web";import{Show as Xe,createEffect as Dr,createSignal as Ke,on as Ar,onCleanup as Ir}from"solid-js";var Er=Ge('<button class="sidebar-toggle sidebar-toggle--resizable">'),Tr=Ge("<div class=sidebar>");function Fr(e){let r=parseFloat(getComputedStyle(e).transitionDuration);return Number.isFinite(r)?r*1e3:0}function Ze(e){let r=()=>`${e.isCollapsed()?0:e.width()}px`,t=()=>e.canExpand?.()??!0,o,[n,a]=Ke(!e.isCollapsed()),[i,f]=Ke(!1),m;Dr(Ar(e.isCollapsed,s=>{clearTimeout(m),s||a(!0);let u=o?Fr(o):0;if(u<5){f(!1),s&&a(!1);return}f(!0),m=setTimeout(()=>{f(!1),s&&a(!1)},u)},{defer:!0})),Ir(()=>clearTimeout(m));let p=()=>Ye(Xe,{get when(){return n()},get children(){return e.children}}),l=()=>Ye(Xe,{get when(){return!e.isCollapsed()||t()},get children(){var s=Er();return s.$$mousedown=u=>e.onMouseDown(u),s.$$click=u=>e.onToggleClick(u),Ve(u=>{var h=e.isCollapsed()?"Expand sidebar":"Toggle or resize sidebar",b=e.isCollapsed()?"Click to expand, drag to resize":"Click to toggle, drag to resize";return h!==u.e&&N(s,"aria-label",u.e=h),b!==u.t&&N(s,"title",u.t=b),u},{e:void 0,t:void 0}),s}});return(()=>{var s=Tr(),u=o;return typeof u=="function"?$r(u,s):o=s,Sr(s,(()=>{var h=j(()=>e.side==="left");return()=>h()?[j(p),j(l)]:[j(l),j(p)]})()),Ve(h=>{var b=e.side,v=i()?"":void 0,d=e.isCollapsed()?"":void 0,c=r();return b!==h.e&&N(s,"data-side",h.e=b),v!==h.t&&N(s,"data-moving",h.t=v),d!==h.a&&N(s,"data-collapsed",h.a=d),c!==h.o&&kr(s,"width",h.o=c),h},{e:void 0,t:void 0,a:void 0,o:void 0}),s})()}Cr(["click","mousedown"]);import{template as et}from"solid-js/web";import{delegateEvents as Rr}from"solid-js/web";import{setAttribute as Or}from"solid-js/web";import{effect as Mr}from"solid-js/web";import{insert as Qe}from"solid-js/web";import{createComponent as Lr}from"solid-js/web";import{For as Ur}from"solid-js";var zr=et("<div role=tablist class=context-sidebar__tablist>"),Pr=et("<button type=button role=tab class=context-sidebar__tab>");function tt(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=zr();return Qe(t,Lr(Ur,{get each(){return e.items()},children:o=>(()=>{var n=Pr();return n.$$click=()=>e.setSelectedToolId(o.id),Qe(n,()=>o.name),Mr(()=>Or(n,"data-active",r()===o.id?"":void 0)),n})()})),t})()}Rr(["click"]);var Wr=ae('<div class=context-sidebar__tabs><button type=button class=context-sidebar__close title="Hide context sidebar"aria-label="Hide context sidebar">'),Hr=ae("<div class=context-sidebar><div class=context-sidebar__content>"),qr=ae("<patchwork-view>",!0,!1,!1),Br=ae('<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 ot(e){let r=A("context-tool"),t=()=>{let o=r().map(a=>a.id),n=e.selectedToolId();return n&&o.includes(n)?n:o[0]};return W(Ze,{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=Hr(),n=o.firstChild;return ne(o,W(rt,{get when(){return r().length},get children(){var a=Wr(),i=a.firstChild;return ne(a,W(tt,{items:r,get selectedToolId(){return e.selectedToolId},get setSelectedToolId(){return e.setSelectedToolId}}),i),i.$$click=()=>e.onCollapse(),ne(i,W(pe,{})),a}}),n),ne(n,W(rt,{get when(){return t()},keyed:!0,children:a=>(()=>{var i=qr();return i.component=a,i._$owner=jr(),i})()})),o}})}function pe(){return Br()}Nr(["click"]);import{template as Jr}from"solid-js/web";import{effect as nt}from"solid-js/web";import{getOwner as at}from"solid-js/web";import{createComponent as Vr}from"solid-js/web";import{memo as Yr}from"solid-js/web";import{Show as Xr}from"solid-js";var it=Jr("<patchwork-view>",!0,!1,!1),me=e=>Array.isArray(e)?String(e[0]):String(e);function mi(e){let r=new Set;return e.filter(t=>{let o=me(t);return r.has(o)?!1:(r.add(o),!0)})}function gi(e){return Vr(Xr,{get when(){return Yr(()=>!!Array.isArray(e.slot))()?e.slot:!1},get fallback(){return(()=>{var r=it();return r._$owner=at(),nt(()=>r.component=String(e.slot)),r})()},children:r=>(()=>{var t=it();return t._$owner=at(),nt(o=>{var n=r()[1],a=r()[0];return n!==o.e&&(t.docUrl=o.e=n),a!==o.t&&(t.toolId=o.t=a),o},{e:void 0,t:void 0}),t})()})}var Qr=H("<div class=threepane__title>"),eo=H("<div class=threepane__doctitle-tools>"),to=H('<button type=button class=frame__sidebar-toggle title="Show context sidebar"aria-label="Show context sidebar">'),ro=H("<div class=frame__topbar><div class=threepane__spacer>"),oo=H("<patchwork-view>",!0,!1,!1);function dt(e){let r=()=>e.toolSlots()??[];return(()=>{var t=ro(),o=t.firstChild;return M(t,L(ge,{get when(){return e.docUrl()},get children(){var n=Qr();return M(n,L(Je,{get docUrl(){return e.docUrl}})),n}}),o),M(t,L(ge,{get when(){return lt(()=>!!e.docUrl())()&&r().length},get children(){var n=eo();return M(n,L(no,{get each(){return r()},children:a=>(()=>{var i=oo();return i._$owner=Gr(),st(f=>{var m=me(a),p=e.docUrl();return m!==f.e&&(i.toolId=f.e=m),p!==f.t&&(i.docUrl=f.t=p),f},{e:void 0,t:void 0}),i})()})),n}}),null),M(t,L(ge,{get when(){return lt(()=>!!e.hasContext())()&&e.isRightCollapsed()},get children(){var n=to();return n.$$click=()=>e.onToggleRight(),Zr(n,"aria-pressed",!1),M(n,L(pe,{})),n}}),null),st(()=>t.classList.toggle("frame__topbar--left-collapsed",!!e.isLeftCollapsed())),t})()}Kr(["click"]);import{template as be}from"solid-js/web";import{effect as ao}from"solid-js/web";import{getOwner as io}from"solid-js/web";import{insert as ct}from"solid-js/web";import{memo as so}from"solid-js/web";import{createComponent as lo}from"solid-js/web";import{use as co}from"solid-js/web";import{Show as po}from"solid-js";var uo=be("<div class=document-view>"),fo=be("<patchwork-view>",!0,!1,!1),ho=be("<div class=placeholder>Select a document in the sidebar");function ut({viewKey:e,selectedDocUrl:r,toolId:t,ref:o}){return(()=>{var n=uo(),a=o;return typeof a=="function"?co(a,n):o=n,ct(n,lo(po,{get when(){return e()},keyed:!0,children:i=>(()=>{var f=fo();return f._$owner=io(),ao(m=>{var p=r(),l=t();return p!==m.e&&(f.docUrl=m.e=p),l!==m.t&&(f.toolId=m.t=l),m},{e:void 0,t:void 0}),f})()}),null),ct(n,(()=>{var i=so(()=>!r());return()=>i()&&ho()})(),null),n})()}var mo=J("<patchwork-view component=patchwork-draft-state-provider>",!0,!1,!1),go=J("<patchwork-view component=patchwork-draft-overlay-provider>",!0,!1,!1),bo=J("<div class=frame__main-column><div class=frame__doc-column><div class=main-area>"),vo=J("<patchwork-view component=patchwork-comments-provider><patchwork-view component=patchwork-focus-provider>",!0,!1,!1),wo=J("<patchwork-view>",!0,!1,!1);function pt(e){let[r,t]=k(e.initialRightCollapsed()),[o,n]=k(e.initialRightWidth());ft(ht(r,u=>{try{localStorage.setItem(C.rightCollapsed,String(u))}catch{}},{defer:!0})),ft(ht(o,u=>{try{localStorage.setItem(C.rightWidth,String(u))}catch{}},{defer:!0}));let a=de("right",{isCollapsed:r,setCollapsed:t,setWidth:n});yo(()=>{let u=()=>t(!0);window.addEventListener(V,u),xo(()=>window.removeEventListener(V,u))});let[i,f]=le(k(),{name:C.contextToolId}),[m,p]=k(),l=$("patchwork-draft-state-provider",m),s=()=>l()?m():void 0;return _(z,{get when(){return e.selectedDocUrl()},keyed:!0,children:u=>(()=>{var h=mo();return B(p,h),h.docUrl=u,h._$owner=q(),T(h,_(z,{get when(){return s()},children:b=>_(_o,{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 a.handleMouseDown},get handleToggleClick(){return a.handleToggleClick},selectedContextToolId:i,setSelectedContextToolId:f})})),h})()})}function _o(e){let r=A("context-tool"),t=()=>r().length>0,o=ve(()=>e.selectedDocUrl()),[n,a]=k(),i=$("patchwork-draft-overlay-provider",n),[f,m]=k(),p=$("patchwork-comments-provider",f),[l,s]=k(),u=$("patchwork-focus-provider",l),h=ve(()=>i()&&p()&&u()),b=A("document-provider"),v=ve(()=>b().map(d=>d.id),[],{equals:(d,c)=>d.length===c.length&&d.every((g,w)=>g===c[w])});return(()=>{var d=go();return B(a,d),d._$owner=q(),T(d,_(mt,{get ids(){return v()},render:()=>(()=>{var c=vo(),g=c.firstChild;return B(m,c),c._$owner=q(),B(s,g),g._$owner=q(),T(g,_(z,{get when(){return h()},get children(){var w=bo(),y=w.firstChild,D=y.firstChild;return T(y,_(dt,{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(S=>!S)}),D),T(D,_(ut,{viewKey:o,get selectedDocUrl(){return e.selectedDocUrl},get toolId(){return e.selectedToolId},ref:S=>e.setMainDocElement?.(S)})),T(w,_(z,{get when(){return t()},get children(){return _(ot,{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),w}})),c})()})),d})()}function mt(e){return _(z,{get when(){return e.ids[0]},keyed:!0,get fallback(){return e.render()},children:r=>{let[t,o]=k(),n=$(r,t);return(()=>{var a=wo();return B(o,a),a.component=r,a._$owner=q(),T(a,_(z,{get when(){return n()},get children(){return _(mt,{get ids(){return e.ids.slice(1)},get render(){return e.render}})}})),a})()}})}var ie=`:root,
1
+ import{a as se,b as It}from"./chunk-FW4363Y4.js";var Ie=se((yn,Ae)=>{var I=1e3,F=I*60,R=F*60,T=R*24,Zt=T*7,Qt=T*365.25;Ae.exports=function(e,r){r=r||{};var t=typeof e;if(t==="string"&&e.length>0)return er(e);if(t==="number"&&isFinite(e))return r.long?rr(e):tr(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function er(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*Qt;case"weeks":case"week":case"w":return t*Zt;case"days":case"day":case"d":return t*T;case"hours":case"hour":case"hrs":case"hr":case"h":return t*R;case"minutes":case"minute":case"mins":case"min":case"m":return t*F;case"seconds":case"second":case"secs":case"sec":case"s":return t*I;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function tr(e){var r=Math.abs(e);return r>=T?Math.round(e/T)+"d":r>=R?Math.round(e/R)+"h":r>=F?Math.round(e/F)+"m":r>=I?Math.round(e/I)+"s":e+"ms"}function rr(e){var r=Math.abs(e);return r>=T?X(e,r,T,"day"):r>=R?X(e,r,R,"hour"):r>=F?X(e,r,F,"minute"):r>=I?X(e,r,I,"second"):e+" ms"}function X(e,r,t,o){var n=r>=t*1.5;return Math.round(e/t)+" "+o+(n?"s":"")}});var Re=se((_n,Fe)=>{function or(e){t.debug=t,t.default=t,t.coerce=m,t.disable=a,t.enable=n,t.enabled=f,t.humanize=Ie(),t.destroy=p,Object.keys(e).forEach(s=>{t[s]=e[s]}),t.names=[],t.skips=[],t.formatters={};function r(s){let l=0;for(let c=0;c<s.length;c++)l=(l<<5)-l+s.charCodeAt(c),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=r;function t(s){let l,c=null,h,b;function v(...d){if(!v.enabled)return;let u=v,g=Number(new Date),w=g-(l||g);u.diff=w,u.prev=l,u.curr=g,l=g,d[0]=t.coerce(d[0]),typeof d[0]!="string"&&d.unshift("%O");let _=0;d[0]=d[0].replace(/%([a-zA-Z%])/g,($,Dt)=>{if($==="%%")return"%";_++;let xe=t.formatters[Dt];if(typeof xe=="function"){let At=d[_];$=xe.call(u,At),d.splice(_,1),_--}return $}),t.formatArgs.call(u,d),(u.log||t.log).apply(u,d)}return v.namespace=s,v.useColors=t.useColors(),v.color=t.selectColor(s),v.extend=o,v.destroy=t.destroy,Object.defineProperty(v,"enabled",{enumerable:!0,configurable:!1,get:()=>c!==null?c:(h!==t.namespaces&&(h=t.namespaces,b=t.enabled(s)),b),set:d=>{c=d}}),typeof t.init=="function"&&t.init(v),v}function o(s,l){let c=t(this.namespace+(typeof l>"u"?":":l)+s);return c.log=this.log,c}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 c of l)c[0]==="-"?t.skips.push(c.slice(1)):t.names.push(c)}function i(s,l){let c=0,h=0,b=-1,v=0;for(;c<s.length;)if(h<l.length&&(l[h]===s[c]||l[h]==="*"))l[h]==="*"?(b=h,v=c,h++):(c++,h++);else if(b!==-1)h=b+1,v++,c=v;else return!1;for(;h<l.length&&l[h]==="*";)h++;return h===l.length}function a(){let s=[...t.names,...t.skips.map(l=>"-"+l)].join(",");return t.enable(""),s}function f(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 p(){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}Fe.exports=or});var Oe=se((x,K)=>{x.formatArgs=ar;x.save=ir;x.load=sr;x.useColors=nr;x.storage=lr();x.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`."))}})();x.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 nr(){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 ar(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+K.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)}x.log=console.debug||console.log||(()=>{});function ir(e){try{e?x.storage.setItem("debug",e):x.storage.removeItem("debug")}catch{}}function sr(){let e;try{e=x.storage.getItem("debug")||x.storage.getItem("DEBUG")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function lr(){try{return localStorage}catch{}}K.exports=Re()(x);var{formatters:dr}=K.exports;dr.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}});import{template as Et}from"solid-js/web";import{createComponent as Po}from"solid-js/web";import{setAttribute as No}from"solid-js/web";import{effect as Uo}from"solid-js/web";import{insert as Tt}from"solid-js/web";import{getOwner as jo}from"solid-js/web";import{createMemo as St}from"solid-js";import{createStore as qo,reconcile as Vo}from"solid-js/store";import{render as Bo}from"solid-js/web";import{template as B}from"solid-js/web";import{insert as D}from"solid-js/web";import{getOwner as q}from"solid-js/web";import{use as V}from"solid-js/web";import{createComponent as y}from"solid-js/web";import{createUniqueId as Ft,untrack as ye}from"solid-js";import{isServer as Rt,isDev as _e}from"solid-js/web";import{reconcile as Ot}from"solid-js/store";function le(e,r={}){let t=r.storage||globalThis.localStorage,o=r.name||`storage-${Ft()}`;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),f=t.getItem(o,n),m=typeof e[0]=="function"?s=>{try{let l=a(s);e[1](()=>l)}catch(l){_e&&console.warn(l)}}:s=>{try{let l=a(s);e[1](Ot(l))}catch(l){_e&&console.warn(l)}},p=!0;if(f instanceof Promise?f.then(s=>p&&s&&m(s)):f&&m(f),typeof r.sync?.[0]=="function"){let s=typeof e[0]=="function"?e[0]:()=>e[0];r.sync[0](l=>{l.key!==o||!Rt&&(l.url||globalThis.location.href)!==globalThis.location.href||l.newValue===i(ye(s))||m(l.newValue)})}return Object.assign([],e,{1:typeof e[0]=="function"?s=>{let l=e[1](s),c=s!=null?i(l):s;return r.sync?.[1](o,c),c!=null?t.setItem(o,c,n):t.removeItem(o,n),p=!1,l}:(...s)=>{e[1](...s);let l=ye(()=>i(e[0]));r.sync?.[1](o,l),t.setItem(o,l,n),p=!1},2:f})}import{createEffect as xt,createMemo as we,createSignal as S,on as yt,onCleanup as Oo,onMount as Mo,Show as z}from"solid-js";import{createEffect as Ce,createSignal as ke,on as Se}from"solid-js";var C={leftCollapsed:"patchwork:leftSidebarCollapsed",rightCollapsed:"patchwork:rightSidebarCollapsed",leftWidth:"patchwork:leftSidebarWidth",rightWidth:"patchwork:rightSidebarWidth",contextToolId:"patchwork:contextSidebarToolId"},J="patchwork:collapse-context-sidebar",Y=400;function $e(e,r){let t=localStorage.getItem(e);return t?parseInt(t,10):r}function Ee(e){return localStorage.getItem(e)==="true"}function Mt(){let[e,r]=ke(Ee(C.leftCollapsed)),[t,o]=ke($e(C.leftWidth,Y));return Ce(Se(e,n=>{localStorage.setItem(C.leftCollapsed,String(n))})),Ce(Se(t,n=>{localStorage.setItem(C.leftWidth,String(n))})),{isSidebarCollapsed:e,setIsSidebarCollapsed:r,leftSidebarWidth:t,setLeftSidebarWidth:o}}import{onCleanup as Lt,onMount as zt}from"solid-js";var Te=180,Pt=720,Nt=120,De=3;function de(e,{isCollapsed:r,setCollapsed:t,setWidth:o}){let n=!1,i=null,a=!1,f=null,m=u=>{if(u<Nt){r()||t(!0),f=null;return}r()&&t(!1);let g=Math.min(Pt,u);o(g),f=g},p=()=>{r()||f!==null&&f<Te&&o(Te)},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)},c=()=>{n=!1,i=null,document.body.style.userSelect="",document.body.removeAttribute("data-sidebar-resizing"),s?.remove(),s=null},h=u=>{u.preventDefault(),i={x:u.clientX,y:u.clientY},a=!1,f=null,n=!0,document.body.style.userSelect="none"},b=()=>{let u=n,g=a;c(),u&&g&&p()},v=u=>{if(!n||!i)return;let g=Math.abs(u.clientX-i.x),w=Math.abs(u.clientY-i.y);!a&&(g>De||w>De)&&(a=!0,l()),m(e==="left"?u.clientX:window.innerWidth-u.clientX)},d=u=>{if(a){u.preventDefault(),u.stopPropagation(),a=!1;return}t(g=>!g)};return zt(()=>{document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),Lt(()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",b),n&&c()})}),{handleMouseDown:h,handleToggleClick:d}}import{createEffect as Ut,createSignal as jt,onCleanup as Wt}from"solid-js";var E=(e,r)=>{let[t,o]=jt(!1);return Ut(()=>{let n=r();if(!n)return;o(!1);let i=a=>{a.detail?.componentId===e&&o(!0)};n.addEventListener("patchwork:mounted",i),Wt(()=>n.removeEventListener("patchwork:mounted",i))}),t};import{createEffect as Ht,createSignal as qt,onCleanup as Vt}from"solid-js";var Bt=5e3,Jt=(e,r)=>{let[t,o]=qt(!1);return Ht(()=>{if(t())return;let n=e(),i=r();if(!n||!i)return;let a=m=>{let p=m.detail;p?.url&&p.url!==i||o(!0)};n.addEventListener("patchwork:mounted",a),n.addEventListener("patchwork:no-tool",a);let f=setTimeout(()=>o(!0),Bt);Vt(()=>{n.removeEventListener("patchwork:mounted",a),n.removeEventListener("patchwork:no-tool",a),clearTimeout(f)})}),t};import{getRegistry as Yt}from"@inkandswitch/patchwork-plugins";import{createMemo as Xt,createSignal as Kt,onCleanup as Gt}from"solid-js";function k(e){let r=Yt("patchwork:component"),[t,o]=Kt(0),n=r.on("changed",()=>o(i=>i+1));return Gt(n),Xt(()=>(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 H}from"solid-js/web";import{delegateEvents as no}from"solid-js/web";import{getOwner as ao}from"solid-js/web";import{effect as lt}from"solid-js/web";import{setAttribute as io}from"solid-js/web";import{memo as dt}from"solid-js/web";import{insert as M}from"solid-js/web";import{createComponent as L}from"solid-js/web";import{For as po,Show as ge}from"solid-js";import{template as We}from"solid-js/web";import{delegateEvents as _r}from"solid-js/web";import{insert as Cr}from"solid-js/web";import"solid-js/web";import{setAttribute as Ue}from"solid-js/web";import{effect as je}from"solid-js/web";import{use as He}from"solid-js/web";import{createComponent as fe}from"solid-js/web";var Le=It(Oe(),1),ce=(0,Le.default)("cabbages");function ue(e){return typeof e=="object"&&e!=null&&Object.getPrototypeOf(e)==Object.prototype}function G(e){if(Array.isArray(e))return e.map(G);if(ue(e)){let r={};for(let t of Object.keys(e))r[t]=G(e[t]);return r}return e instanceof Date?new Date(e):ArrayBuffer.isView(e)?e.slice():e}var cr="\uFFFC";function ze(e,...r){if(r.length==0){ce("empty patch");return}let[t,o,n]=r,i=[...t];for(;;){let a=i.shift();if(!i.length){let m=Array.isArray(o);if(ue(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[p,s]=Array.isArray(o)?o:[o,o+1],l=Array.isArray(o)&&o.length==0;if(!l&&(p==null||s==null))throw new RangeError("it's all or nothing, no half measures");let c=typeof n>"u",h=p===s&&!c,b=l&&!c,v=!h&&!c&&!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(h||v){Array.isArray(n)?d.splice(p,s-p,...n):d.splice(p,s-p,n);return}if(c){d.splice(p,s-p);return}throw new Error("i don't know what happened")}if(typeof d=="string"){if(b){e[a]=d+n;return}if(v||h){e[a]=d.slice(0,p)+(typeof n=="string"?n:n.map(u=>typeof u=="string"?u:cr).join(""))+d.slice(s);return}if(c){e[a]=d.slice(0,p)+d.slice(s);return}throw new Error("i don't know what happened")}if(ue(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[p,s]=o;p!=null&&s!=null&&(typeof n>"u"&&p!=null&&s!=null?delete e[a][p||s]:e[a][p||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 f=i[0];if(typeof e[a]>"u")if(typeof f=="string")e[a]={};else if(typeof f=="number")e[a]=[];else throw new Error(`can't go down this road ${e}.${a}.${f}`);if(e=e[a],typeof e=="string"){ce("ignoring patch to a block marker in a string",t,o);return}if(e==null||typeof e!="object"&&typeof e!="function")throw new TypeError(`invalid path ${JSON.stringify(t)}: ${String(a)} is ${e}`)}}function Me(e,r){for(let t=0;t<r.length;t++)e=e?e[r[t]]:void 0;return e}function Pe(e,r){let t=e.path.slice(0,-1),o=e.path[e.path.length-1];switch(e.action){case"mark":case"unmark":return ce(`skipping ${e.action} because it doesn't affect material reality`),[];case"inc":if(r)return[t,o,Me(r.patchInfo.after,e.path)];throw new Error(`can't apply ${e.action} without payload argument`);case"conflict":if(r)return[t,o,Me(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],G(e.values)];case"splice":return[t,[o,o],[e.value]];case"put":return[t,o,G(e.value)]}}function Z(e){return r=>{for(let t of e.patches)ze(r,...Pe(t,e))}}import{createMemo as hr}from"solid-js";import{onCleanup as ur}from"solid-js";import{createStore as fr,produce as pr,reconcile as Ne}from"solid-js/store";var P=new WeakMap;function Q(e){if(ur(()=>{let i=P.get(e);i&&(i.refs--||i.cleanup())}),P.has(e)){let i=P.get(e);return i.refs++,i.store}let[r,t]=fr(structuredClone(e.doc()));P.set(e,{refs:0,store:r,cleanup(){e.off("change",o),e.off("delete",n),P.delete(e)}});function o(i){if(i.scopeReplaced){t(Ne(i.doc??{}));return}t(pr(Z(i)))}function n(){t(Ne({}))}return e.on("change",o),e.on("delete",n),r}import{getOwner as In,onCleanup as Fn,createSignal as Rn,untrack as On,sharedConfig as Mn,onMount as Ln,DEV as zn,equalFn as Pn}from"solid-js";import{isServer as Un}from"solid-js/web";var O=e=>typeof e=="function"&&!e.length?e():e;function ee(e){return hr(()=>O(e)&&Q(O(e)))}import{createEffect as gr,createResource as br,useContext as vr}from"solid-js";import{createContext as mr}from"solid-js";var te=mr(null);function N(e,r){let t=vr(te);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 f=O(e);if(f)return xr(o,f)}let[i,{mutate:a}]=br(e,f=>o.find(f),{initialValue:n()});return gr(()=>{O(e)||a()}),i}function wr(e){return typeof e.query=="function"}function xr(e,r){if(wr(e)){let o=e.query(r).state();return o.status=="ready"?o.handle:void 0}let t=e.findWithProgress(r).peek();return t.state=="ready"?t.handle:void 0}function re(e,r){let t=N(e,r);return[ee(t),t]}import{onCleanup as oa}from"solid-js";import{createSignal as aa}from"solid-js";import{createEffect as la,onCleanup as da}from"solid-js";import{createSignal as ua}from"solid-js";import{useContext as va}from"solid-js";import{getType as Sr}from"@inkandswitch/patchwork-filesystem";import{getRegistry as $r,isLoadedPlugin as Er}from"@inkandswitch/patchwork-plugins";import{createEffect as Tr,createMemo as oe,createSignal as pe,onCleanup as Dr,onMount as Ve,Show as Be}from"solid-js";var qe=We("<span class=threepane__title-text>"),kr=We("<input class=threepane__title-input type=text>");function Je(e){let r,[t,o]=pe();return Ve(()=>{o(r.closest("repo-provider")?.repo)}),fe(Be,{get when(){return t()},get fallback(){return(()=>{var n=qe(),i=r;return typeof i=="function"?He(i,n):r=n,n})()},children:n=>fe(Ar,{get docUrl(){return e.docUrl},get repo(){return n()}})})}function Ar(e){let[r,t]=re(()=>e.docUrl(),{repo:e.repo}),o=$r("patchwork:datatype"),[n,i]=pe(0);Ve(()=>{let d=o.on("changed",()=>i(u=>u+1));Dr(d)});let a=oe(()=>{let d=r();return d?Sr(d):void 0});Tr(()=>{let d=a();d&&o.load(d)});let f=oe(()=>{n();let d=a();if(!d)return;let u=o.get(d);return u&&Er(u)?u:void 0}),m=oe(()=>{let d=r(),u=f();if(!(!d||!u))return u.module.getTitle(d)}),p=oe(()=>!!t()&&typeof f()?.module.setTitle=="function"),[s,l]=pe(!1),c;function h(){p()&&(l(!0),queueMicrotask(()=>{c?.focus(),c?.select()}))}function b(d){if(!s()||(l(!1),!d))return;let u=c?.value.trim();if(!u||u===m())return;let g=t(),w=f()?.module.setTitle;!g||!w||g.change(_=>{w(_,u);let A=_["@patchwork"];A&&(A.title=u)})}function v(d){let u=e.docUrl(),g=d.dataTransfer;if(!u||!g)return;let w=m()??"Untitled",_=a();g.effectAllowed="copyLink",g.setData("text/x-patchwork-dnd",JSON.stringify({source:"threepane",items:[{url:u,name:w,type:_}]})),g.setData("text/x-patchwork-urls",JSON.stringify([u])),g.setData("text/uri-list",`${location.origin}${location.pathname}#doc=${u}\r
2
+ `),g.setData("text/plain",u)}return fe(Be,{get when(){return s()},get fallback(){return(()=>{var d=qe();return d.$$click=h,d.addEventListener("dragstart",v),Ue(d,"draggable",!0),Cr(d,()=>m()??"Untitled"),je(u=>{var g=!!p(),w=p()?"Rename":void 0;return g!==u.e&&d.classList.toggle("threepane__title-text--editable",u.e=g),w!==u.t&&Ue(d,"title",u.t=w),u},{e:void 0,t:void 0}),d})()},get children(){var d=kr();d.$$keydown=g=>{g.key==="Enter"?(g.preventDefault(),b(!0)):g.key==="Escape"&&(g.preventDefault(),b(!1))},d.addEventListener("blur",()=>b(!0));var u=c;return typeof u=="function"?He(u,d):c=d,je(()=>d.value=m()??""),d}})}_r(["keydown","click"]);import{template as ae}from"solid-js/web";import{delegateEvents as Yr}from"solid-js/web";import{getOwner as Xr}from"solid-js/web";import{insert as ne}from"solid-js/web";import{createComponent as W}from"solid-js/web";import{Show as ot}from"solid-js";import{template as Ze}from"solid-js/web";import{delegateEvents as Ir}from"solid-js/web";import{setStyleProperty as Fr}from"solid-js/web";import{insert as Rr}from"solid-js/web";import{use as Or}from"solid-js/web";import{setAttribute as U}from"solid-js/web";import{effect as Ye}from"solid-js/web";import{memo as j}from"solid-js/web";import{createComponent as Xe}from"solid-js/web";import{Show as Ke,createEffect as zr,createSignal as Ge,on as Pr,onCleanup as Nr}from"solid-js";var Mr=Ze('<button class="sidebar-toggle sidebar-toggle--resizable">'),Lr=Ze("<div class=sidebar>");function Ur(e){let r=parseFloat(getComputedStyle(e).transitionDuration);return Number.isFinite(r)?r*1e3:0}function Qe(e){let r=()=>`${e.isCollapsed()?0:e.width()}px`,t=()=>e.canExpand?.()??!0,o,[n,i]=Ge(!e.isCollapsed()),[a,f]=Ge(!1),m;zr(Pr(e.isCollapsed,l=>{clearTimeout(m),l||i(!0);let c=o?Ur(o):0;if(c<5){f(!1),l&&i(!1);return}f(!0),m=setTimeout(()=>{f(!1),l&&i(!1)},c)},{defer:!0})),Nr(()=>clearTimeout(m));let p=()=>Xe(Ke,{get when(){return n()},get children(){return e.children}}),s=()=>Xe(Ke,{get when(){return!e.isCollapsed()||t()},get children(){var l=Mr();return l.$$mousedown=c=>e.onMouseDown(c),l.$$click=c=>e.onToggleClick(c),Ye(c=>{var h=e.isCollapsed()?"Expand sidebar":"Toggle or resize sidebar",b=e.isCollapsed()?"Click to expand, drag to resize":"Click to toggle, drag to resize";return h!==c.e&&U(l,"aria-label",c.e=h),b!==c.t&&U(l,"title",c.t=b),c},{e:void 0,t:void 0}),l}});return(()=>{var l=Lr(),c=o;return typeof c=="function"?Or(c,l):o=l,Rr(l,(()=>{var h=j(()=>e.side==="left");return()=>h()?[j(p),j(s)]:[j(s),j(p)]})()),Ye(h=>{var b=e.side,v=a()?"":void 0,d=e.isCollapsed()?"":void 0,u=r();return b!==h.e&&U(l,"data-side",h.e=b),v!==h.t&&U(l,"data-moving",h.t=v),d!==h.a&&U(l,"data-collapsed",h.a=d),u!==h.o&&Fr(l,"width",h.o=u),h},{e:void 0,t:void 0,a:void 0,o:void 0}),l})()}Ir(["click","mousedown"]);import{template as tt}from"solid-js/web";import{delegateEvents as jr}from"solid-js/web";import{setAttribute as Wr}from"solid-js/web";import{effect as Hr}from"solid-js/web";import{insert as et}from"solid-js/web";import{createComponent as qr}from"solid-js/web";import{For as Jr}from"solid-js";var Vr=tt("<div role=tablist class=context-sidebar__tablist>"),Br=tt("<button type=button role=tab class=context-sidebar__tab>");function rt(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=Vr();return et(t,qr(Jr,{get each(){return e.items()},children:o=>(()=>{var n=Br();return n.$$click=()=>e.setSelectedToolId(o.id),et(n,()=>o.name),Hr(()=>Wr(n,"data-active",r()===o.id?"":void 0)),n})()})),t})()}jr(["click"]);var Kr=ae('<div class=context-sidebar__tabs><button type=button class=context-sidebar__close title="Hide context sidebar"aria-label="Hide context sidebar">'),Gr=ae("<div class=context-sidebar><div class=context-sidebar__content>"),Zr=ae("<patchwork-view>",!0,!1,!1),Qr=ae('<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 nt(e){let r=k("context-tool"),t=()=>{let o=r().map(i=>i.id),n=e.selectedToolId();return n&&o.includes(n)?n:o[0]};return W(Qe,{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=Gr(),n=o.firstChild;return ne(o,W(ot,{get when(){return r().length},get children(){var i=Kr(),a=i.firstChild;return ne(i,W(rt,{items:r,get selectedToolId(){return e.selectedToolId},get setSelectedToolId(){return e.setSelectedToolId}}),a),a.$$click=()=>e.onCollapse(),ne(a,W(he,{})),i}}),n),ne(n,W(ot,{get when(){return t()},keyed:!0,children:i=>(()=>{var a=Zr();return a.component=i,a._$owner=Xr(),a})()})),o}})}function he(){return Qr()}Yr(["click"]);import{template as eo}from"solid-js/web";import{effect as at}from"solid-js/web";import{getOwner as it}from"solid-js/web";import{createComponent as to}from"solid-js/web";import{memo as ro}from"solid-js/web";import{Show as oo}from"solid-js";var st=eo("<patchwork-view>",!0,!1,!1),me=e=>Array.isArray(e)?String(e[0]):String(e);function Di(e){let r=new Set;return e.filter(t=>{let o=me(t);return r.has(o)?!1:(r.add(o),!0)})}function Ai(e){return to(oo,{get when(){return ro(()=>!!Array.isArray(e.slot))()?e.slot:!1},get fallback(){return(()=>{var r=st();return r._$owner=it(),at(()=>r.component=String(e.slot)),r})()},children:r=>(()=>{var t=st();return t._$owner=it(),at(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 so=H("<div class=threepane__title>"),lo=H("<div class=threepane__doctitle-tools>"),co=H('<button type=button class=frame__sidebar-toggle title="Show context sidebar"aria-label="Show context sidebar">'),uo=H("<div class=frame__topbar><div class=threepane__spacer>"),fo=H("<patchwork-view>",!0,!1,!1);function ct(e){let r=()=>e.toolSlots()??[];return(()=>{var t=uo(),o=t.firstChild;return M(t,L(ge,{get when(){return e.docUrl()},get children(){var n=so();return M(n,L(Je,{get docUrl(){return e.docUrl}})),n}}),o),M(t,L(ge,{get when(){return dt(()=>!!e.docUrl())()&&r().length},get children(){var n=lo();return M(n,L(po,{get each(){return r()},children:i=>(()=>{var a=fo();return a._$owner=ao(),lt(f=>{var m=me(i),p=e.docUrl();return m!==f.e&&(a.toolId=f.e=m),p!==f.t&&(a.docUrl=f.t=p),f},{e:void 0,t:void 0}),a})()})),n}}),null),M(t,L(ge,{get when(){return dt(()=>!!e.hasContext())()&&e.isRightCollapsed()},get children(){var n=co();return n.$$click=()=>e.onToggleRight(),io(n,"aria-pressed",!1),M(n,L(he,{})),n}}),null),lt(()=>t.classList.toggle("frame__topbar--left-collapsed",!!e.isLeftCollapsed())),t})()}no(["click"]);import{createEffect as ht,onCleanup as wo}from"solid-js";import{createEffect as ho,createSignal as ut,onCleanup as ft,onMount as mo}from"solid-js";import{createStore as go,reconcile as bo}from"solid-js/store";import*as be from"@inkandswitch/patchwork-providers";function vo(e){return typeof e=="function"?e():e}function pt(e,r){let[t,o]=ut(void 0);mo(()=>{let p=vo(e);if(!p)return;let s=!1,l=be.subscribe(p,r,c=>{if(!c)return;let h="repo"in window?window.repo:void 0;h&&Promise.resolve(h.find(c)).then(b=>{s||o(()=>b)})});ft(()=>{s=!0,l()})});let[n,i]=go({}),[a,f]=ut(!1);return ho(()=>{let p=t();if(!p){f(!1);return}let s=()=>{i(bo(p.doc()??{})),f(!0)};s(),p.on("change",s),ft(()=>p.off("change",s))}),[()=>a()?n:void 0,t]}var mt="comments-view",gt="threepane-context-sidebar";function bt(e){let[r,t]=pt(e.element,{type:"patchwork:focus"}),o=k("context-tool"),n=()=>o().some(a=>a.id===mt);ht(()=>{let a=t();!a||!n()||(a.change(f=>{f.commentViewOpeners||(f.commentViewOpeners={}),f.commentViewOpeners[gt]=!0}),wo(()=>a.change(f=>{f.commentViewOpeners&&delete f.commentViewOpeners[gt]})))});let i;return ht(()=>{let a=r()?.openCommentView??0;if(i===void 0){i=a;return}a!==i&&(i=a,n()&&e.open(mt))}),null}import{template as ve}from"solid-js/web";import{effect as xo}from"solid-js/web";import{getOwner as yo}from"solid-js/web";import{insert as vt}from"solid-js/web";import{memo as _o}from"solid-js/web";import{createComponent as Co}from"solid-js/web";import{use as ko}from"solid-js/web";import{Show as To}from"solid-js";var So=ve("<div class=document-view>"),$o=ve("<patchwork-view>",!0,!1,!1),Eo=ve("<div class=placeholder>Select a document in the sidebar");function wt({viewKey:e,selectedDocUrl:r,toolId:t,ref:o}){return(()=>{var n=So(),i=o;return typeof i=="function"?ko(i,n):o=n,vt(n,Co(To,{get when(){return e()},keyed:!0,children:a=>(()=>{var f=$o();return f._$owner=yo(),xo(m=>{var p=r(),s=t();return p!==m.e&&(f.docUrl=m.e=p),s!==m.t&&(f.toolId=m.t=s),m},{e:void 0,t:void 0}),f})()}),null),vt(n,(()=>{var a=_o(()=>!r());return()=>a()&&Eo()})(),null),n})()}var Do=B("<patchwork-view component=patchwork-draft-state-provider>",!0,!1,!1),Ao=B("<patchwork-view component=patchwork-draft-overlay-provider>",!0,!1,!1),Io=B("<div class=frame__main-column><div class=frame__doc-column><div class=main-area>"),Fo=B("<patchwork-view component=patchwork-comments-provider><patchwork-view component=patchwork-focus-provider>",!0,!1,!1),Ro=B("<patchwork-view>",!0,!1,!1);function _t(e){let[r,t]=S(e.initialRightCollapsed()),[o,n]=S(e.initialRightWidth());xt(yt(r,c=>{try{localStorage.setItem(C.rightCollapsed,String(c))}catch{}},{defer:!0})),xt(yt(o,c=>{try{localStorage.setItem(C.rightWidth,String(c))}catch{}},{defer:!0}));let i=de("right",{isCollapsed:r,setCollapsed:t,setWidth:n});Mo(()=>{let c=()=>t(!0);window.addEventListener(J,c),Oo(()=>window.removeEventListener(J,c))});let[a,f]=le(S(),{name:C.contextToolId}),[m,p]=S(),s=E("patchwork-draft-state-provider",m),l=()=>s()?m():void 0;return y(z,{get when(){return e.selectedDocUrl()},keyed:!0,children:c=>(()=>{var h=Do();return V(p,h),h.docUrl=c,h._$owner=q(),D(h,y(z,{get when(){return l()},children:b=>y(Lo,{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:f})})),h})()})}function Lo(e){let r=k("context-tool"),t=()=>r().length>0,o=we(()=>e.selectedDocUrl()),[n,i]=S(),a=E("patchwork-draft-overlay-provider",n),[f,m]=S(),p=E("patchwork-comments-provider",f),[s,l]=S(),c=E("patchwork-focus-provider",s),h=we(()=>a()&&p()&&c()),b=k("document-provider"),v=we(()=>b().map(d=>d.id),[],{equals:(d,u)=>d.length===u.length&&d.every((g,w)=>g===u[w])});return(()=>{var d=Ao();return V(i,d),d._$owner=q(),D(d,y(Ct,{get ids(){return v()},render:()=>(()=>{var u=Fo(),g=u.firstChild;return V(m,u),u._$owner=q(),V(l,g),g._$owner=q(),D(g,y(z,{get when(){return h()},get children(){return[y(bt,{get element(){return s()},open:w=>{e.setSelectedContextToolId(w),e.setIsRightSidebarCollapsed(!1)}}),(()=>{var w=Io(),_=w.firstChild,A=_.firstChild;return D(_,y(ct,{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($=>!$)}),A),D(A,y(wt,{viewKey:o,get selectedDocUrl(){return e.selectedDocUrl},get toolId(){return e.selectedToolId},ref:$=>e.setMainDocElement?.($)})),D(w,y(z,{get when(){return t()},get children(){return y(nt,{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),w})()]}})),u})()})),d})()}function Ct(e){return y(z,{get when(){return e.ids[0]},keyed:!0,get fallback(){return e.render()},children:r=>{let[t,o]=S(),n=E(r,t);return(()=>{var i=Ro();return V(o,i),i.component=r,i._$owner=q(),D(i,y(z,{get when(){return n()},get children(){return y(Ct,{get ids(){return e.ids.slice(1)},get render(){return e.render}})}})),i})()}})}var ie=`:root,
3
3
  :host,
4
4
  [theme] {
5
5
  --threepane-bg: var(--studio-fill, white);
@@ -858,5 +858,5 @@ body[data-sidebar-resizing] .frame__topbar {
858
858
  min-width: 0;
859
859
  overflow: hidden;
860
860
  }
861
- `;function gt(){let e="patchwork-frame-styles",r=document.getElementById(e);if(r){r.textContent!==ie&&(r.textContent=ie);return}let t=document.createElement("style");t.id=e,t.textContent=ie,document.head.append(t)}var To=wt("<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),Do=wt("<div class=frame>");function ps(e){let r=bt(()=>{let o=new Set,n=e.selectedDocUrl();return n&&o.add(n),e.contactUrl&&o.add(e.contactUrl),[...o]}),t=bt(()=>JSON.stringify({selectedDocUrl:e.selectedDocUrl(),selectedToolId:e.selectedToolId(),doctitleSlots:e.doctitleSlots(),isLeftCollapsed:e.isLeftCollapsed(),initialRightWidth:e.initialRightWidth(),initialRightCollapsed:e.initialRightCollapsed()}));return(()=>{var o=To(),n=o.firstChild;return o._$owner=Eo(),xt(n,t),$o(()=>So(o,"automerge-allowlist",r().join(","))),o})()}function vt(e){if(!e?.textContent)return{};try{return JSON.parse(e.textContent)}catch(r){return console.error("[threepane-isolation-root] bad props JSON:",r),{}}}function ms(e){gt();let r=e.querySelector('script[type="application/json"]'),[t,o]=Ao(vt(r)),n=new MutationObserver(()=>{o(Io(vt(r)))});r&&n.observe(r,{characterData:!0,childList:!0,subtree:!0});let a=Fo(()=>(()=>{var i=Do();return xt(i,ko(pt,{selectedDocUrl:()=>t.selectedDocUrl,selectedToolId:()=>t.selectedToolId,doctitleSlots:()=>t.doctitleSlots,isLeftCollapsed:()=>t.isLeftCollapsed??!1,initialRightWidth:()=>t.initialRightWidth??Y,initialRightCollapsed:()=>t.initialRightCollapsed??!1})),i})(),e);return()=>{n.disconnect(),a()}}export{Re as a,U as b,C as c,V as d,Y as e,Se as f,$e as g,Et as h,de as i,Ut as j,Ze as k,me as l,mi as m,gi as n,ut as o,pt as p,gt as q,ps as r,ms as s};
862
- //# sourceMappingURL=chunk-Y2SEQB3F.js.map
861
+ `;function kt(){let e="patchwork-frame-styles",r=document.getElementById(e);if(r){r.textContent!==ie&&(r.textContent=ie);return}let t=document.createElement("style");t.id=e,t.textContent=ie,document.head.append(t)}var Wo=Et("<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),Ho=Et("<div class=frame>");function Ls(e){let r=St(()=>{let o=new Set,n=e.selectedDocUrl();return n&&o.add(n),e.contactUrl&&o.add(e.contactUrl),[...o]}),t=St(()=>JSON.stringify({selectedDocUrl:e.selectedDocUrl(),selectedToolId:e.selectedToolId(),doctitleSlots:e.doctitleSlots(),isLeftCollapsed:e.isLeftCollapsed(),initialRightWidth:e.initialRightWidth(),initialRightCollapsed:e.initialRightCollapsed()}));return(()=>{var o=Wo(),n=o.firstChild;return o._$owner=jo(),Tt(n,t),Uo(()=>No(o,"automerge-allowlist",r().join(","))),o})()}function $t(e){if(!e?.textContent)return{};try{return JSON.parse(e.textContent)}catch(r){return console.error("[threepane-isolation-root] bad props JSON:",r),{}}}function zs(e){kt();let r=e.querySelector('script[type="application/json"]'),[t,o]=qo($t(r)),n=new MutationObserver(()=>{o(Vo($t(r)))});r&&n.observe(r,{characterData:!0,childList:!0,subtree:!0});let i=Bo(()=>(()=>{var a=Ho();return Tt(a,Po(_t,{selectedDocUrl:()=>t.selectedDocUrl,selectedToolId:()=>t.selectedToolId,doctitleSlots:()=>t.doctitleSlots,isLeftCollapsed:()=>t.isLeftCollapsed??!1,initialRightWidth:()=>t.initialRightWidth??Y,initialRightCollapsed:()=>t.initialRightCollapsed??!1})),a})(),e);return()=>{n.disconnect(),i()}}export{Oe as a,N as b,C as c,J as d,Y as e,$e as f,Ee as g,Mt as h,de as i,Jt as j,Qe as k,me as l,Di as m,Ai as n,wt as o,_t as p,kt as q,Ls as r,zs as s};
862
+ //# sourceMappingURL=chunk-UJ7QHTY6.js.map