@inkandswitch/patchwork-pkg-base 0.0.99 → 0.0.100

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 (57) hide show
  1. package/module-settings-url +1 -1
  2. package/package.json +1 -1
  3. package/packages/chat/dist/index.js +1 -1
  4. package/packages/comments-view/dist/assets/{main-51fB7vpU.js → main-wSSvAVfi.js} +22 -4
  5. package/packages/comments-view/dist/assets/main-wSSvAVfi.js.map +1 -0
  6. package/packages/comments-view/dist/index.js +3 -3
  7. package/packages/drafts/dist/assets/main-CG9HOCai.js +11 -0
  8. package/packages/embed/dist/assets/{tool-Cg7zrpH9.js → tool-D58NGTZ7.js} +4 -2
  9. package/packages/embed/dist/assets/tool-D58NGTZ7.js.map +1 -0
  10. package/packages/embed/dist/index.js +1 -1
  11. package/packages/folder/dist/index.js +1 -1
  12. package/packages/folder/dist/{tool-JSQNX2I6.js → tool-WAWTPB4A.js} +2 -2
  13. package/packages/folder/dist/{tool-JSQNX2I6.js.map → tool-WAWTPB4A.js.map} +1 -1
  14. package/packages/history-view/dist/assets/{HistoryTimeline-OAiVykO2.js → HistoryTimeline-COYNGORP.js} +4 -4
  15. package/packages/history-view/dist/assets/{HistoryTimeline-OAiVykO2.js.map → HistoryTimeline-COYNGORP.js.map} +1 -1
  16. package/packages/history-view/dist/assets/{index-CWHr7XoV.js → index-C1gYt7m5.js} +2 -2
  17. package/packages/history-view/dist/assets/{index-CWHr7XoV.js.map → index-C1gYt7m5.js.map} +1 -1
  18. package/packages/history-view/dist/index.js +1 -1
  19. package/packages/llm-host/dist/LlmConfigTray-DdZHZT4F.js +615 -0
  20. package/packages/llm-host/dist/index.js +1 -1
  21. package/packages/packages/dist/index.js +17 -0
  22. package/packages/sideboard/dist/{chunk-QLI3ZN4W.js → chunk-73XN2I2U.js} +3 -3
  23. package/packages/sideboard/dist/chunk-NS3ADG2Z.js +2 -0
  24. package/packages/sideboard/dist/chunk-NS3ADG2Z.js.map +7 -0
  25. package/packages/sideboard/dist/{chunk-3HE5SPGR.js → chunk-OFWMAVKQ.js} +2 -2
  26. package/packages/sideboard/dist/{create-new-menu-PDAHMB7O.js → create-new-menu-4VNS2UFI.js} +2 -2
  27. package/packages/sideboard/dist/document-list-panel-SCICIJCF.js +2 -0
  28. package/packages/sideboard/dist/index.css +1 -1
  29. package/packages/sideboard/dist/index.css.map +2 -2
  30. package/packages/sideboard/dist/index.js +1 -1
  31. package/packages/sideboard/dist/{item-menu-VIMMKF26.js → item-menu-3JUJN3MS.js} +2 -2
  32. package/packages/sideboard/dist/sideboard/sideboard.js +1 -1
  33. package/packages/sync-indicator/dist/assets/SyncIndicator-B2ag1OoZ.js +1 -1
  34. package/packages/theming/dist/{active-theme-ZEJCS5RM.js → active-theme-BMSIQXBV.js} +2 -2
  35. package/packages/theming/dist/{chunk-FLDRNDLY.js → chunk-Z3JB7ERH.js} +2 -2
  36. package/packages/theming/dist/main.js +3 -3
  37. package/packages/theming/dist/{theme-L3L6DYF3.css → theme-7OG2K56L.css} +2 -0
  38. package/packages/theming/dist/{theme-titlebar-HAEXLVMW.js → theme-titlebar-YIFJINPJ.js} +2 -2
  39. package/packages/theming/dist/{theme-tray-XYB4LGZ6.js → theme-tray-7J247NRY.js} +33 -13
  40. package/packages/theming/dist/theme-tray-7J247NRY.js.map +7 -0
  41. package/packages/theming/dist/tool.js +1 -1
  42. package/plugin-registry-url +1 -1
  43. package/packages/comments-view/dist/assets/main-51fB7vpU.js.map +0 -1
  44. package/packages/embed/dist/assets/tool-Cg7zrpH9.js.map +0 -1
  45. package/packages/llm-host/dist/LlmConfigTray-CkM9XUX1.js +0 -600
  46. package/packages/sideboard/dist/chunk-6LWWNFKU.js +0 -2
  47. package/packages/sideboard/dist/chunk-6LWWNFKU.js.map +0 -7
  48. package/packages/sideboard/dist/document-list-panel-C7R2SL7S.js +0 -2
  49. package/packages/theming/dist/theme-tray-XYB4LGZ6.js.map +0 -7
  50. /package/packages/sideboard/dist/{chunk-QLI3ZN4W.js.map → chunk-73XN2I2U.js.map} +0 -0
  51. /package/packages/sideboard/dist/{chunk-3HE5SPGR.js.map → chunk-OFWMAVKQ.js.map} +0 -0
  52. /package/packages/sideboard/dist/{create-new-menu-PDAHMB7O.js.map → create-new-menu-4VNS2UFI.js.map} +0 -0
  53. /package/packages/sideboard/dist/{document-list-panel-C7R2SL7S.js.map → document-list-panel-SCICIJCF.js.map} +0 -0
  54. /package/packages/sideboard/dist/{item-menu-VIMMKF26.js.map → item-menu-3JUJN3MS.js.map} +0 -0
  55. /package/packages/theming/dist/{active-theme-ZEJCS5RM.js.map → active-theme-BMSIQXBV.js.map} +0 -0
  56. /package/packages/theming/dist/{chunk-FLDRNDLY.js.map → chunk-Z3JB7ERH.js.map} +0 -0
  57. /package/packages/theming/dist/{theme-titlebar-HAEXLVMW.js.map → theme-titlebar-YIFJINPJ.js.map} +0 -0
@@ -1,3 +1,3 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("@layer package{:root,:host,[theme]{--sync-fg: var(--studio-line, black);--sync-muted: var(--studio-line-offset-40, #666);--sync-subtle: var(--studio-line-offset-50, #999);--sync-dim: var(--studio-line-offset-30, #4d4d4d);--sync-bg: var(--studio-fill, white);--sync-border: var(--studio-fill-offset-20, #ccc);--sync-hover: var(--studio-fill-offset-10, #e5e5e5);--sync-family-code: var(--studio-family-code, ui-monospace, monospace)}}.sync-tray{display:flex;align-items:center;gap:4px}.sync-trigger{padding:4px;border-radius:6px;color:var(--sync-muted);vertical-align:top;background:none;border:none;cursor:pointer}.sync-trigger:hover{color:var(--sync-fg)}.sync-trigger-offline{padding:8px;border-radius:6px;color:var(--sync-muted);background:none;border:none;cursor:pointer}.sync-trigger-offline:hover{background:var(--sync-hover)}.sync-popover-wrapper{display:inline-block}.sync-popover{position:fixed;z-index:2147483647;width:288px;border-radius:6px;border:1px solid var(--sync-border);background:var(--sync-bg);padding:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;outline:none}.sync-popover-body{display:flex;flex-direction:column;gap:8px}.sync-status-header{font-size:14px;font-weight:600;color:var(--sync-fg)}.sync-peers{display:flex;flex-direction:column;gap:2px}.sync-peer{border:1px solid var(--sync-border);border-radius:4px;padding:6px 8px;font-size:12px;color:var(--sync-dim)}.sync-peer-clickable{cursor:pointer}.sync-peer-clickable:hover{background:var(--sync-hover)}.sync-arrow{text-align:center;color:var(--sync-fg);font-size:12px;line-height:1;margin:.5em 0}.sync-peer-header{display:flex;justify-content:space-between;align-items:center}.sync-peer-name{font-weight:600;color:var(--sync-fg)}.sync-peer-status{font-size:11px;color:var(--sync-muted)}.sync-peer-detail{font-size:11px;color:var(--sync-subtle);font-family:var(--sync-family-code);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-no-peers{font-size:12px;color:var(--sync-subtle);text-align:center;padding:8px 0}.sync-footer{display:flex;justify-content:flex-end;padding-top:4px;border-top:1px solid var(--sync-border)}.sync-copy-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:none;border:none;cursor:pointer;height:28px;padding:0 8px;font-size:12px}.sync-copy-btn:hover{background:var(--sync-hover);color:var(--sync-fg)}")),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("@layer package{:root,:host,[theme]{--sync-fg: var(--studio-line, black);--sync-muted: var(--studio-line-offset-40, #666);--sync-subtle: var(--studio-line-offset-50, #999);--sync-dim: var(--studio-line-offset-30, #4d4d4d);--sync-bg: var(--studio-fill, white);--sync-border: var(--studio-fill-offset-20, #ccc);--sync-hover: var(--studio-fill-offset-10, #e5e5e5);--sync-family-code: var(--studio-family-code, ui-monospace, monospace)}}.sync-tray{display:flex;align-items:center;gap:4px}.sync-trigger{padding:4px;border-radius:6px;color:var(--sync-muted);vertical-align:top;background:none;border:none;cursor:pointer}.sync-trigger:hover{color:var(--sync-fg)}.sync-trigger-offline{padding:8px;border-radius:6px;color:var(--sync-muted);background:none;border:none;cursor:pointer}.sync-trigger-offline:hover{background:var(--sync-hover)}.sync-popover-wrapper{display:inline-block}.sync-popover{position:fixed;z-index:2147483647;width:288px;border-radius:6px;border:1px solid var(--sync-border);background:var(--sync-bg);padding:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;outline:none;transform-origin:top right;transition:opacity .15s var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1)),scale .15s var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1))}@starting-style{.sync-popover{opacity:0;scale:.97}}.sync-popover-body{display:flex;flex-direction:column;gap:8px}.sync-status-header{font-size:14px;font-weight:600;color:var(--sync-fg)}.sync-peers{display:flex;flex-direction:column;gap:2px}.sync-peer{border:1px solid var(--sync-border);border-radius:4px;padding:6px 8px;font-size:12px;color:var(--sync-dim)}.sync-peer-clickable{cursor:pointer}.sync-peer-clickable:hover{background:var(--sync-hover)}.sync-arrow{text-align:center;color:var(--sync-fg);font-size:12px;line-height:1;margin:.5em 0}.sync-peer-header{display:flex;justify-content:space-between;align-items:center}.sync-peer-name{font-weight:600;color:var(--sync-fg)}.sync-peer-status{font-size:11px;color:var(--sync-muted)}.sync-peer-detail{font-size:11px;color:var(--sync-subtle);font-family:var(--sync-family-code);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-no-peers{font-size:12px;color:var(--sync-subtle);text-align:center;padding:8px 0}.sync-footer{display:flex;justify-content:flex-end;padding-top:4px;border-top:1px solid var(--sync-border)}.sync-copy-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:none;border:none;cursor:pointer;height:28px;padding:0 8px;font-size:12px}.sync-copy-btn:hover{background:var(--sync-hover);color:var(--sync-fg)}")),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
2
2
  import{spread as Ie,mergeProps as xe,insert as w,template as x,createComponent as I,use as de,effect as U,className as _e,memo as J,Portal as Oe,setStyleProperty as Y,delegateEvents as fe,setAttribute as z,render as Pe}from"solid-js/web";import*as V from"@automerge/automerge/slim";import"@automerge/automerge-repo/slim";import{createContext as he,useContext as ee,createSignal as P,createEffect as L,on as ve,onCleanup as W,untrack as ce,createMemo as Te,For as Ee,Show as ie}from"solid-js";import{createStore as He,reconcile as Me}from"solid-js/store";function Re(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var B={exports:{}},Q,ae;function Ae(){if(ae)return Q;ae=1;var t=1e3,n=t*60,a=n*60,e=a*24,C=e*7,l=e*365.25;Q=function(c,r){r=r||{};var o=typeof c;if(o==="string"&&c.length>0)return u(c);if(o==="number"&&isFinite(c))return r.long?v(c):f(c);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(c))};function u(c){if(c=String(c),!(c.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(c);if(r){var o=parseFloat(r[1]),h=(r[2]||"ms").toLowerCase();switch(h){case"years":case"year":case"yrs":case"yr":case"y":return o*l;case"weeks":case"week":case"w":return o*C;case"days":case"day":case"d":return o*e;case"hours":case"hour":case"hrs":case"hr":case"h":return o*a;case"minutes":case"minute":case"mins":case"min":case"m":return o*n;case"seconds":case"second":case"secs":case"sec":case"s":return o*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}function f(c){var r=Math.abs(c);return r>=e?Math.round(c/e)+"d":r>=a?Math.round(c/a)+"h":r>=n?Math.round(c/n)+"m":r>=t?Math.round(c/t)+"s":c+"ms"}function v(c){var r=Math.abs(c);return r>=e?i(c,r,e,"day"):r>=a?i(c,r,a,"hour"):r>=n?i(c,r,n,"minute"):r>=t?i(c,r,t,"second"):c+" ms"}function i(c,r,o,h){var g=r>=o*1.5;return Math.round(c/o)+" "+h+(g?"s":"")}return Q}var X,le;function Le(){if(le)return X;le=1;function t(n){e.debug=e,e.default=e,e.coerce=i,e.disable=f,e.enable=l,e.enabled=v,e.humanize=Ae(),e.destroy=c,Object.keys(n).forEach(r=>{e[r]=n[r]}),e.names=[],e.skips=[],e.formatters={};function a(r){let o=0;for(let h=0;h<r.length;h++)o=(o<<5)-o+r.charCodeAt(h),o|=0;return e.colors[Math.abs(o)%e.colors.length]}e.selectColor=a;function e(r){let o,h=null,g,T;function p(...b){if(!p.enabled)return;const F=p,E=Number(new Date),j=E-(o||E);F.diff=j,F.prev=o,F.curr=E,o=E,b[0]=e.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let R=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(A,N)=>{if(A==="%%")return"%";R++;const H=e.formatters[N];if(typeof H=="function"){const D=b[R];A=H.call(F,D),b.splice(R,1),R--}return A}),e.formatArgs.call(F,b),(F.log||e.log).apply(F,b)}return p.namespace=r,p.useColors=e.useColors(),p.color=e.selectColor(r),p.extend=C,p.destroy=e.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(g!==e.namespaces&&(g=e.namespaces,T=e.enabled(r)),T),set:b=>{h=b}}),typeof e.init=="function"&&e.init(p),p}function C(r,o){const h=e(this.namespace+(typeof o>"u"?":":o)+r);return h.log=this.log,h}function l(r){e.save(r),e.namespaces=r,e.names=[],e.skips=[];const o=(typeof r=="string"?r:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const h of o)h[0]==="-"?e.skips.push(h.slice(1)):e.names.push(h)}function u(r,o){let h=0,g=0,T=-1,p=0;for(;h<r.length;)if(g<o.length&&(o[g]===r[h]||o[g]==="*"))o[g]==="*"?(T=g,p=h,g++):(h++,g++);else if(T!==-1)g=T+1,p++,h=p;else return!1;for(;g<o.length&&o[g]==="*";)g++;return g===o.length}function f(){const r=[...e.names,...e.skips.map(o=>"-"+o)].join(",");return e.enable(""),r}function v(r){for(const o of e.skips)if(u(r,o))return!1;for(const o of e.names)if(u(r,o))return!0;return!1}function i(r){return r instanceof Error?r.stack||r.message:r}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}return X=t,X}var ue;function ze(){return ue||(ue=1,(function(t,n){var a={};n.formatArgs=C,n.save=l,n.load=u,n.useColors=e,n.storage=f(),n.destroy=(()=>{let i=!1;return()=>{i||(i=!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`."))}})(),n.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 e(){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 i;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&&(i=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(i[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function C(i){if(i[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+i[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;const c="color: "+this.color;i.splice(1,0,c,"color: inherit");let r=0,o=0;i[0].replace(/%[a-zA-Z%]/g,h=>{h!=="%%"&&(r++,h==="%c"&&(o=r))}),i.splice(o,0,c)}n.log=console.debug||console.log||(()=>{});function l(i){try{i?n.storage.setItem("debug",i):n.storage.removeItem("debug")}catch{}}function u(){let i;try{i=n.storage.getItem("debug")||n.storage.getItem("DEBUG")}catch{}return!i&&typeof process<"u"&&"env"in process&&(i=a.DEBUG),i}function f(){try{return localStorage}catch{}}t.exports=Le()(n);const{formatters:v}=t.exports;v.j=function(i){try{return JSON.stringify(i)}catch(c){return"[UnexpectedJSONParseError]: "+c.message}}})(B,B.exports)),B.exports}var je=ze();const me=Re(je);me("cabbages");const Ce=he(null);function Ne(){const t=ee(Ce);if(!t)throw new Error("Please wrap me in a <RepoContext value={repo}>");return t}const De=t=>{const a=Date.now()-t,e=Math.floor(a/1e3),C=Math.floor(e/60),l=Math.floor(C/60),u=Math.floor(l/24),f=Math.floor(u/7),v=Math.floor(u/30),i=Math.floor(u/365);return e<60?"just now":C<60?`${C} minute${C===1?"":"s"} ago`:l<24?`${l} hour${l===1?"":"s"} ago`:u<7?`${u} day${u===1?"":"s"} ago`:f<4?`${f} week${f===1?"":"s"} ago`:v<12?`${v} month${v===1?"":"s"} ago`:`${i} year${i===1?"":"s"} ago`};var qe=x("<button>");function Be(t){return(()=>{var n=qe();return Ie(n,xe(t,{get class(){return`sync-copy-btn ${t.class??""}`}}),!1,!0),w(n,()=>t.children),n})()}var We=x("<div class=sync-popover-wrapper>"),Je=x("<button type=button>"),Ue=x("<div class=sync-popover>");const ne=he();function Ge(t){const[n,a]=P(!1),[e,C]=P(),l=()=>t.open!==void 0?t.open:n(),u=f=>{t.open===void 0&&a(f),t.onOpenChange?.(f)};return I(ne.Provider,{value:{open:l,setOpen:u,triggerRef:e,setTriggerRef:C},get children(){var f=We();return w(f,()=>t.children),f}})}function Ze(t){const n=ee(ne);return(()=>{var a=Je();return a.$$click=()=>n.setOpen(!n.open()),de(e=>n.setTriggerRef(e),a),w(a,()=>t.children),U(()=>_e(a,t.class??"")),a})()}function Ke(t){const n=ee(ne);let a;const[e,C]=P({top:0,left:0}),l=()=>{const u=n.triggerRef();if(!u)return;const f=u.getBoundingClientRect();C({top:f.bottom+8,left:Math.max(0,f.right-288)})};return L(ve(n.open,u=>{if(!u)return;l();const f=i=>{const c=i.target;a&&!a.contains(c)&&n.triggerRef()&&!n.triggerRef().contains(c)&&n.setOpen(!1)},v=i=>{i.key==="Escape"&&n.setOpen(!1)};document.addEventListener("mousedown",f),document.addEventListener("keydown",v),window.addEventListener("resize",l),window.addEventListener("scroll",l,!0),W(()=>{document.removeEventListener("mousedown",f),document.removeEventListener("keydown",v),window.removeEventListener("resize",l),window.removeEventListener("scroll",l,!0)})})),J(()=>J(()=>!!n.open())()&&I(Oe,{get children(){var u=Ue(),f=a;return typeof f=="function"?de(f,u):a=u,w(u,()=>t.children),U(v=>{var i=`${e().top}px`,c=`${e().left}px`;return i!==v.e&&Y(u,"top",v.e=i),c!==v.t&&Y(u,"left",v.t=c),v},{e:void 0,t:void 0}),u}}))}fe(["click"]);var Ve=x('<svg viewBox="0 0 24 24"fill=none><circle cx=12 cy=12 r=8 stroke=currentColor stroke-width=2 fill=currentColor>'),Qe=x("<svg><circle cx=12 cy=12 r=2.5 fill=currentColor></svg>",!1,!0,!1),Xe=x("<svg><text x=12 y=12 text-anchor=middle dominant-baseline=central fill=currentColor font-size=11 font-weight=bold>?</svg>",!1,!0,!1);function Ye(t){const n=()=>t.size??20,a=()=>t.state??"synced";return(()=>{var e=Ve(),C=e.firstChild;return w(e,(()=>{var l=J(()=>a()==="error");return()=>l()&&Qe()})(),null),w(e,(()=>{var l=J(()=>a()==="unknown");return()=>l()&&Xe()})(),null),U(l=>{var u=n(),f=n(),v=t.class??"",i=a()==="synced"?1:0,c=a()==="synced"?"fill-opacity 0s":"fill-opacity 2s ease-out";return u!==l.e&&z(e,"width",l.e=u),f!==l.t&&z(e,"height",l.t=f),v!==l.a&&z(e,"class",l.a=v),i!==l.o&&z(C,"fill-opacity",l.o=i),c!==l.i&&Y(C,"transition",l.i=c),l},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),e})()}var en=x('<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><rect x=9 y=9 width=13 height=13 rx=2 ry=2></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">');function nn(t){const n=()=>t.size??14;return(()=>{var a=en();return U(e=>{var C=n(),l=n();return C!==e.e&&z(a,"width",e.e=C),l!==e.t&&z(a,"height",e.t=l),e},{e:void 0,t:void 0}),a})()}var tn=x('<div class=sync-popover-body><div class=sync-status-header></div><div class=sync-peers><div class="sync-peer sync-peer-clickable"><div class=sync-peer-header><span class=sync-peer-name>Tab</span></div><div class=sync-peer-detail>heads: </div></div></div><div class=sync-footer>'),rn=x("<div class=sync-peer-detail>"),sn=x('<div class="sync-peer sync-peer-clickable"><div class=sync-peer-header><span class=sync-peer-name></span><span class=sync-peer-status>'),on=x("<div class=sync-peer-detail>heads: ");const M=me("patchwork:sync-indicator");function cn(t){return t.startsWith("shared-worker")||t.startsWith("automerge-worker")?"Shared Worker":t.startsWith("service-worker")?"Service Worker":t.startsWith("storage-server")?"Sync Server":String(t)}function an(t){const n=Ne(),[a,e]=P(!1),[C,l]=P(Date.now()),[u,f]=P(),[v,i]=P(n.isSubductionConnected()),[c,r]=P([]),[o,h]=P(),[g,T]=P(),[p,b]=P(),[F,E]=He([]),j=s=>{if(!s||s.length===0)return!1;try{return t.handle.containsHeads(s)}catch{return!1}};function R(s){if(!s)return s;let d;try{d=new Set([...t.handle.heads()])}catch{return s}return s.filter(m=>{if(d.has(m))return!0;try{return!t.handle.containsHeads([m])}catch{return!0}})}L(ve(a,s=>{if(!s)return;ce(N);const d=setInterval(()=>l(Date.now()),1e3);W(()=>clearInterval(d))}));const G=()=>{n.connectedSubductionPeerIds().then(r).catch(s=>M("connectedSubductionPeerIds failed",s))};L(()=>{const s=({connected:d})=>{i(d),d?G():r([])};n.on("subduction-connection",s),i(n.isSubductionConnected()),G(),W(()=>n.off("subduction-connection",s))});function A(s,d,m){b(s),h(d),T(m)}L(()=>{const s=t.handle;f(s.heads());const d=()=>{s.doc()&&f(s.heads())},m=(y,S,k)=>{const O=u();E(y,{heads:S,lastSyncTimestamp:k,inSync:O?V.equals(O,S):!1})},_=({storageId:y,heads:S,timestamp:k})=>{M("remote-heads",{storageId:y,heads:S,timestamp:k});const O=F.findIndex(Z=>Z.storageId===y);O>=0&&m(O,S,k)},$=y=>{if(y.documentId!==s.documentId)return;M("subduction-remote-heads",y);const S=c();S.length&&!S.includes(y.storageId)||A(y.storageId,y.heads,y.timestamp)};s.on("change",d),s.on("remote-heads",_),n.on("subduction-remote-heads",$),ce(N),W(()=>{s.off("change",d),s.off("remote-heads",_),n.off("subduction-remote-heads",$)})}),L(()=>{const s=t.handle;for(const d of c()){const m=s.getSyncInfo(d);m?.lastHeads&&A(d,m.lastHeads,m.lastSyncTimestamp)}});function N(){const s=t.handle,d=s.heads(),m=n.peers.map($=>{const y=n.getStorageIdOfPeer($),S=y?s.getSyncInfo(y):void 0;return{id:$,name:cn($),storageId:y,heads:S?.lastHeads,lastSyncTimestamp:S?.lastSyncTimestamp,inSync:S?.lastHeads&&d?V.equals(d,S.lastHeads):!1}});m.push({id:"sync-server",name:"Sync Server",storageId:p(),heads:o(),lastSyncTimestamp:g(),inSync:j(o())});const _=$=>$.name==="Shared Worker"?0:$.name==="Sync Server"?2:1;m.sort(($,y)=>_($)-_(y)),M("peers",m),E(Me(m))}L(()=>{const s=u();if(s)for(let d=0;d<F.length;d++){const m=F[d],_=m.name==="Sync Server"?j(m.heads):m.heads?V.equals(s,m.heads):!1;m.inSync!==_&&E(d,"inSync",_)}});const H=Te(()=>(u(),j(o()))),D=()=>!!o(),ge=s=>(s.name==="Sync Server"?H():s.inSync)?"synced":s.heads?"behind":"unknown",ye=()=>(u(),R(o())),pe=()=>g(),te=s=>s.name==="Sync Server"?ye():s.heads,re=s=>s.name==="Sync Server"?pe():s.lastSyncTimestamp,we=()=>v()?D()?H()?"synced":"syncing":"unknown":"error",Se=()=>v()?D()?H()?"Synced to server":"Syncing…":"Connecting…":"Offline",be=async()=>{const s={ownHeads:u(),connected:v(),serverPeerIds:c(),syncServer:{storageId:p(),heads:o(),lastSyncTimestamp:g(),inSync:H()},peers:F.map(d=>({name:d.name,id:d.id,storageId:d.storageId,heads:d.heads,lastSyncTimestamp:d.lastSyncTimestamp,inSync:d.inSync}))};try{await navigator.clipboard.writeText(JSON.stringify(s,null,2)),M("copied sync state to clipboard",s)}catch(d){M("failed to copy sync state:",d)}},Fe=s=>(C(),s?De(s):"-"),se=async s=>{if(s)try{await navigator.clipboard.writeText(JSON.stringify(s))}catch(d){M("failed to copy heads:",d)}};return I(Ge,{get open(){return a()},onOpenChange:e,get children(){return[I(Ze,{get class(){return v()?"sync-trigger":"sync-trigger-offline"},get children(){return I(Ye,{size:20,get state(){return we()}})}}),I(Ke,{get children(){var s=tn(),d=s.firstChild,m=d.nextSibling,_=m.firstChild,$=_.firstChild,y=$.nextSibling;y.firstChild;var S=m.nextSibling;return w(d,Se),_.$$click=()=>se(u()),w(y,()=>JSON.stringify((u()??[]).map(k=>k.slice(0,6))),null),w(m,I(Ee,{each:F,children:k=>(()=>{var O=sn(),Z=O.firstChild,oe=Z.firstChild,$e=oe.nextSibling;return O.$$click=()=>se(te(k)),w(oe,()=>k.name),w($e,()=>ge(k)),w(O,I(ie,{get when(){return te(k)},children:q=>(()=>{var K=on();return K.firstChild,w(K,()=>JSON.stringify(q().map(ke=>ke.slice(0,6))),null),K})()}),null),w(O,I(ie,{get when(){return re(k)},get children(){var q=rn();return w(q,()=>Fe(re(k))),q}}),null),O})()}),null),w(S,I(Be,{onClick:be,get children(){return I(nn,{size:14})}})),s}})]}})}const hn=(t,n)=>{n.style.width="fit-content",n.style.zIndex="10";const a=Pe(()=>I(Ce.Provider,{get value(){return n.repo},get children(){return I(an,{handle:t})}}),n);return()=>a()};fe(["click"]);export{Ce as RepoContext,an as SyncIndicator,hn as renderSyncIndicator};
3
3
  //# sourceMappingURL=SyncIndicator-B2ag1OoZ.js.map
@@ -9,7 +9,7 @@ import {
9
9
  setThemeForMode,
10
10
  startActiveTheme,
11
11
  startActiveThemeFromProvider
12
- } from "./chunk-FLDRNDLY.js";
12
+ } from "./chunk-Z3JB7ERH.js";
13
13
  import "./chunk-L7WQSSFT.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-ZEJCS5RM.js.map
26
+ //# sourceMappingURL=active-theme-BMSIQXBV.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-L3L6DYF3.css";
10
+ var theme_default = "./theme-7OG2K56L.css";
11
11
 
12
12
  // src/active-theme.ts
13
13
  var CURRENT_THEME_SELECTOR = "patchwork:current-theme";
@@ -285,4 +285,4 @@ export {
285
285
  hasThemePreferences,
286
286
  onActiveThemeChange
287
287
  };
288
- //# sourceMappingURL=chunk-FLDRNDLY.js.map
288
+ //# sourceMappingURL=chunk-Z3JB7ERH.js.map
@@ -5,7 +5,7 @@ import {
5
5
 
6
6
  // src/main.ts
7
7
  (async function() {
8
- (await import("./active-theme-ZEJCS5RM.js")).startActiveTheme();
8
+ (await import("./active-theme-BMSIQXBV.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-HAEXLVMW.js");
60
+ const { ThemeTitlebarTool } = await import("./theme-titlebar-YIFJINPJ.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-XYB4LGZ6.js");
71
+ const { ThemeTray } = await import("./theme-tray-7J247NRY.js");
72
72
  return ThemeTray;
73
73
  }
74
74
  },
@@ -296,6 +296,8 @@
296
296
  --studio-transition-fast: 0.1s ease;
297
297
  --studio-transition: 0.15s ease;
298
298
  --studio-transition-slow: 0.25s ease;
299
+ /* Strong ease-out for things entering: fast start, long gentle settle. */
300
+ --studio-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
299
301
 
300
302
  --editor-line: var(--studio-line);
301
303
  --editor-fill: var(--studio-fill);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  startActiveThemeFromProvider
3
- } from "./chunk-FLDRNDLY.js";
3
+ } from "./chunk-Z3JB7ERH.js";
4
4
  import "./chunk-L7WQSSFT.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-HAEXLVMW.js.map
21
+ //# sourceMappingURL=theme-titlebar-YIFJINPJ.js.map
@@ -5,15 +5,15 @@ import {
5
5
  serveCurrentThemeProvider,
6
6
  setThemeForCurrentMode,
7
7
  startActiveTheme
8
- } from "./chunk-FLDRNDLY.js";
8
+ } from "./chunk-Z3JB7ERH.js";
9
9
  import "./chunk-L7WQSSFT.js";
10
10
 
11
11
  // src/theme-tray.tsx
12
12
  import { template as _$template } from "solid-js/web";
13
13
  import { delegateEvents as _$delegateEvents } from "solid-js/web";
14
14
  import { memo as _$memo } from "solid-js/web";
15
- import { setAttribute as _$setAttribute } from "solid-js/web";
16
15
  import { setStyleProperty as _$setStyleProperty } from "solid-js/web";
16
+ import { setAttribute as _$setAttribute } from "solid-js/web";
17
17
  import { effect as _$effect } from "solid-js/web";
18
18
  import { createComponent as _$createComponent } from "solid-js/web";
19
19
  import { insert as _$insert } from "solid-js/web";
@@ -81,6 +81,21 @@ function ThemeTray(element) {
81
81
  color: var(--studio-chrome-line, var(--studio-line, black));
82
82
  box-shadow: 0 0.5rem 1rem color-mix(in oklch, var(--studio-line, black), transparent 88%);
83
83
  font-family: var(--studio-family-sans, system-ui, sans-serif);
84
+ /* Grows out of the tray button once it has been measured and placed
85
+ (data-placed). Closing is instant. */
86
+ opacity: 0;
87
+ scale: 0.97;
88
+ transform-origin: top right;
89
+ }
90
+ .theme-tray-popover[data-side="above"] {
91
+ transform-origin: bottom right;
92
+ }
93
+ .theme-tray-popover[data-placed] {
94
+ opacity: 1;
95
+ scale: 1;
96
+ transition:
97
+ opacity 150ms var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),
98
+ scale 150ms var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));
84
99
  }
85
100
  .theme-tray-header {
86
101
  display: flex;
@@ -201,7 +216,8 @@ function ThemeTray(element) {
201
216
  const top = Math.min(Math.max(preferredTop, margin), maxTop);
202
217
  setPopoverPosition({
203
218
  left,
204
- top
219
+ top,
220
+ above: top < buttonRect.top
205
221
  });
206
222
  };
207
223
  const onDocumentClick = (event) => {
@@ -295,10 +311,10 @@ function ThemeTray(element) {
295
311
  }
296
312
  }), null);
297
313
  _$effect((_p$) => {
298
- var _v$4 = theme.id, _v$5 = activeThemeId() === theme.id ? "" : void 0, _v$6 = theme.name || theme.id;
299
- _v$4 !== _p$.e && _$setAttribute(_el$10, "theme", _p$.e = _v$4);
300
- _v$5 !== _p$.t && _$setAttribute(_el$10, "data-selected", _p$.t = _v$5);
301
- _v$6 !== _p$.a && _$setAttribute(_el$10, "title", _p$.a = _v$6);
314
+ var _v$6 = theme.id, _v$7 = activeThemeId() === theme.id ? "" : void 0, _v$8 = theme.name || theme.id;
315
+ _v$6 !== _p$.e && _$setAttribute(_el$10, "theme", _p$.e = _v$6);
316
+ _v$7 !== _p$.t && _$setAttribute(_el$10, "data-selected", _p$.t = _v$7);
317
+ _v$8 !== _p$.a && _$setAttribute(_el$10, "title", _p$.a = _v$8);
302
318
  return _p$;
303
319
  }, {
304
320
  e: void 0,
@@ -317,15 +333,19 @@ function ThemeTray(element) {
317
333
  }
318
334
  }), null);
319
335
  _$effect((_p$) => {
320
- var _v$ = `${popoverPosition()?.left ?? 0}px`, _v$2 = `${popoverPosition()?.top ?? 0}px`, _v$3 = popoverPosition() ? "visible" : "hidden";
321
- _v$ !== _p$.e && _$setStyleProperty(_el$5, "left", _p$.e = _v$);
322
- _v$2 !== _p$.t && _$setStyleProperty(_el$5, "top", _p$.t = _v$2);
323
- _v$3 !== _p$.a && _$setStyleProperty(_el$5, "visibility", _p$.a = _v$3);
336
+ var _v$ = popoverPosition() ? "" : void 0, _v$2 = popoverPosition()?.above ? "above" : "below", _v$3 = `${popoverPosition()?.left ?? 0}px`, _v$4 = `${popoverPosition()?.top ?? 0}px`, _v$5 = popoverPosition() ? "visible" : "hidden";
337
+ _v$ !== _p$.e && _$setAttribute(_el$5, "data-placed", _p$.e = _v$);
338
+ _v$2 !== _p$.t && _$setAttribute(_el$5, "data-side", _p$.t = _v$2);
339
+ _v$3 !== _p$.a && _$setStyleProperty(_el$5, "left", _p$.a = _v$3);
340
+ _v$4 !== _p$.o && _$setStyleProperty(_el$5, "top", _p$.o = _v$4);
341
+ _v$5 !== _p$.i && _$setStyleProperty(_el$5, "visibility", _p$.i = _v$5);
324
342
  return _p$;
325
343
  }, {
326
344
  e: void 0,
327
345
  t: void 0,
328
- a: void 0
346
+ a: void 0,
347
+ o: void 0,
348
+ i: void 0
329
349
  });
330
350
  _$effect(() => _el$9.checked = showName());
331
351
  _$effect(() => _el$0.value = filter());
@@ -348,4 +368,4 @@ _$delegateEvents(["click", "input"]);
348
368
  export {
349
369
  ThemeTray
350
370
  };
351
- //# sourceMappingURL=theme-tray-XYB4LGZ6.js.map
371
+ //# sourceMappingURL=theme-tray-7J247NRY.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/theme-tray.tsx"],
4
+ "sourcesContent": ["import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\nimport { setStyleProperty as _$setStyleProperty } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { use as _$use } from \"solid-js/web\";\nvar _tmpl$ = /*#__PURE__*/_$template(`<span class=theme-tray-label>`),\n _tmpl$2 = /*#__PURE__*/_$template(`<div class=theme-tray-empty>No matching themes`),\n _tmpl$3 = /*#__PURE__*/_$template(`<div class=theme-tray-popover><div class=theme-tray-header><span class=theme-tray-title>theme</span><label class=theme-tray-toggle><input type=checkbox>show name</label></div><input class=theme-tray-filter type=text placeholder=\"Filter themes\u2026\">`),\n _tmpl$4 = /*#__PURE__*/_$template(`<div class=theme-tray><button class=theme-tray-button><span class=theme-tray-swatch>`),\n _tmpl$5 = /*#__PURE__*/_$template(`<span class=theme-tray-option-check>selected`),\n _tmpl$6 = /*#__PURE__*/_$template(`<button class=theme-tray-option><span class=theme-tray-option-name>`);\nimport { createEffect, createMemo, createSignal, For, onCleanup, Show } from \"solid-js\";\nimport { Portal, render } from \"solid-js/web\";\nimport { getRegistry } from \"@inkandswitch/patchwork-plugins\";\nimport { getActiveThemeState, hasThemePreferences, onActiveThemeChange, serveCurrentThemeProvider, setThemeForCurrentMode, startActiveTheme } from \"./active-theme.ts\";\nexport function ThemeTray(element) {\n startActiveTheme(element);\n const stopThemeProvider = serveCurrentThemeProvider(document.documentElement);\n const style = document.createElement(\"style\");\n style.textContent = `\n\t\t.theme-tray {\n\t\t\tposition: relative;\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t}\n\t\t.theme-tray-button {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: var(--studio-space-2xs, 0.25rem);\n\t\t\tmin-width: 0;\n\t\t\theight: 1.75rem;\n\t\t\tpadding: 0 var(--studio-space-xs, 0.375rem);\n\t\t\tborder: 1px solid var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tbackground: var(--studio-chrome, var(--studio-fill, white));\n\t\t\tcolor: var(--studio-chrome-line, var(--studio-line, black));\n\t\t\tfont: 500 0.75rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\tcursor: pointer;\n\t\t}\n\t\t.theme-tray-button:hover {\n\t\t\tbackground: var(--studio-chrome-offset-10, var(--studio-fill-offset-10, #f2f2f2));\n\t\t}\n\t\t.theme-tray-swatch {\n\t\t\twidth: 0.75rem;\n\t\t\theight: 0.75rem;\n\t\t\tborder-radius: var(--studio-radius-xs, 2px);\n\t\t\tbackground: linear-gradient(135deg, var(--studio-primary-fill, var(--studio-primary, #35f7ca)) 0 50%, var(--studio-secondary-fill, var(--studio-secondary, #ec6ca7)) 50% 100%);\n\t\t\tbox-shadow: inset 0 0 0 1px color-mix(in oklch, var(--studio-line, black), transparent 75%);\n\t\t\tflex: none;\n\t\t}\n\t\t.theme-tray-label {\n\t\t\tmax-width: 9rem;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\t.theme-tray-popover {\n\t\t\tposition: fixed;\n\t\t\tz-index: 1000;\n\t\t\twidth: 13rem;\n\t\t\tmax-height: min(18rem, 60vh);\n\t\t\toverflow-y: auto;\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem);\n\t\t\tborder: 1px solid var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tbackground: var(--studio-chrome, var(--studio-fill, white));\n\t\t\tcolor: var(--studio-chrome-line, var(--studio-line, black));\n\t\t\tbox-shadow: 0 0.5rem 1rem color-mix(in oklch, var(--studio-line, black), transparent 88%);\n\t\t\tfont-family: var(--studio-family-sans, system-ui, sans-serif);\n\t\t\t/* Grows out of the tray button once it has been measured and placed\n\t\t\t (data-placed). Closing is instant. */\n\t\t\topacity: 0;\n\t\t\tscale: 0.97;\n\t\t\ttransform-origin: top right;\n\t\t}\n\t\t.theme-tray-popover[data-side=\"above\"] {\n\t\t\ttransform-origin: bottom right;\n\t\t}\n\t\t.theme-tray-popover[data-placed] {\n\t\t\topacity: 1;\n\t\t\tscale: 1;\n\t\t\ttransition:\n\t\t\t\topacity 150ms var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),\n\t\t\t\tscale 150ms var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));\n\t\t}\n\t\t.theme-tray-header {\n\t\t\tdisplay: flex;\n\t\t\talign-items: baseline;\n\t\t\tjustify-content: space-between;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem) var(--studio-space-xs, 0.375rem);\n\t\t}\n\t\t.theme-tray-title {\n\t\t\tfont: 600 0.72rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\ttext-transform: lowercase;\n\t\t\tletter-spacing: 0.02em;\n\t\t\topacity: 0.7;\n\t\t}\n\t\t.theme-tray-toggle {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: var(--studio-space-2xs, 0.25rem);\n\t\t\tfont: 500 0.68rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\topacity: 0.7;\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\t\t.theme-tray-toggle input {\n\t\t\tmargin: 0;\n\t\t\taccent-color: var(--studio-primary-fill, var(--studio-primary, #35f7ca));\n\t\t\tcursor: pointer;\n\t\t}\n\t\t.theme-tray-filter {\n\t\t\twidth: 100%;\n\t\t\theight: 1.75rem;\n\t\t\tmargin-bottom: var(--studio-space-2xs, 0.25rem);\n\t\t\tpadding: 0 var(--studio-space-xs, 0.375rem);\n\t\t\tborder: 1px solid var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));\n\t\t\tborder-radius: var(--studio-radius-xs, 2px);\n\t\t\tbackground: var(--studio-chrome-fill, var(--studio-fill, white));\n\t\t\tcolor: var(--studio-chrome-line, var(--studio-line, black));\n\t\t\tfont: 500 0.78rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\tbox-sizing: border-box;\n\t\t}\n\t\t.theme-tray-empty {\n\t\t\tpadding: var(--studio-space-xs, 0.375rem);\n\t\t\tcolor: color-mix(in oklch, var(--studio-chrome-line, var(--studio-line, black)), transparent 40%);\n\t\t\tfont: 500 0.78rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\ttext-align: center;\n\t\t}\n\t\t.theme-tray-option {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t\twidth: 100%;\n\t\t\tmin-height: 1.75rem;\n\t\t\tpadding: 0 var(--studio-space-xs, 0.375rem);\n\t\t\tborder: 0;\n\t\t\tborder-radius: var(--studio-radius-xs, 2px);\n\t\t\tbackground: var(--studio-chrome-fill, var(--studio-fill, white));\n\t\t\tcolor: var(--studio-chrome-line, var(--studio-line, black));\n\t\t\tfont: 500 0.78rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\ttext-align: left;\n\t\t\tcursor: pointer;\n\t\t}\n\t\t.theme-tray-option:hover {\n\t\t\tbackground: var(--studio-chrome-fill-offset-20, var(--studio-fill-offset-20, #f2f2f2));\n\t\t}\n\t\t.theme-tray-option[data-selected] {\n\t\t\tbox-shadow: inset 0 0 0 1px var(--studio-chrome-line, var(--studio-line, black));\n\t\t}\n\t\t.theme-tray-option-name {\n\t\t\tmin-width: 0;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\t.theme-tray-option-check {\n\t\t\tflex: none;\n\t\t\tfont-size: 0.72rem;\n\t\t}\n\t`;\n element.appendChild(style);\n const dispose = render(() => {\n const [state, setState] = createSignal(getActiveThemeState());\n const [open, setOpen] = createSignal(false);\n const [popoverPosition, setPopoverPosition] = createSignal();\n const [themes, setThemes] = createSignal([]);\n const [filter, setFilter] = createSignal(\"\");\n const showNameKey = \"patchwork:theme-tray:show-name\";\n const [showName, setShowName] = createSignal(localStorage.getItem(showNameKey) === \"true\");\n createEffect(() => localStorage.setItem(showNameKey, showName() ? \"true\" : \"false\"));\n const themeRegistry = getRegistry(\"patchwork:theme\");\n const unsubscribe = onActiveThemeChange(setState);\n let buttonElement;\n let popoverElement;\n let filterElement;\n const themeLabel = theme => theme.name || theme.id;\n const sortedThemes = createMemo(() => [...themes()].sort((a, b) => themeLabel(a).localeCompare(themeLabel(b), void 0, {\n sensitivity: \"base\"\n })));\n const visibleThemes = createMemo(() => {\n const query = filter().trim().toLowerCase();\n if (!query) return sortedThemes();\n return sortedThemes().filter(theme => themeLabel(theme).toLowerCase().includes(query) || theme.id.toLowerCase().includes(query));\n });\n const refreshThemes = () => setThemes(themeRegistry.all?.() || []);\n refreshThemes();\n themeRegistry.on(\"registered\", refreshThemes);\n themeRegistry.on(\"removed\", refreshThemes);\n const updatePopoverPosition = () => {\n if (!buttonElement || !popoverElement) return;\n const gap = 4;\n const margin = 8;\n const buttonRect = buttonElement.getBoundingClientRect();\n const popoverRect = popoverElement.getBoundingClientRect();\n const maxLeft = Math.max(margin, window.innerWidth - popoverRect.width - margin);\n const maxTop = Math.max(margin, window.innerHeight - popoverRect.height - margin);\n const left = Math.min(Math.max(buttonRect.right - popoverRect.width, margin), maxLeft);\n const preferredTop = buttonRect.top >= popoverRect.height + margin + gap ? buttonRect.top - popoverRect.height - gap : buttonRect.bottom + gap;\n const top = Math.min(Math.max(preferredTop, margin), maxTop);\n setPopoverPosition({\n left,\n top,\n above: top < buttonRect.top\n });\n };\n const onDocumentClick = event => {\n const target = event.target;\n if (!element.contains(target) && !popoverElement?.contains(target)) setOpen(false);\n };\n document.addEventListener(\"click\", onDocumentClick);\n const onDocumentKeyDown = event => {\n if (event.key === \"Escape\") setOpen(false);\n };\n document.addEventListener(\"keydown\", onDocumentKeyDown);\n createEffect(() => {\n if (!open()) return;\n const animationFrame = requestAnimationFrame(() => {\n updatePopoverPosition();\n filterElement?.focus();\n });\n window.addEventListener(\"resize\", updatePopoverPosition);\n window.addEventListener(\"scroll\", updatePopoverPosition, true);\n onCleanup(() => {\n cancelAnimationFrame(animationFrame);\n window.removeEventListener(\"resize\", updatePopoverPosition);\n window.removeEventListener(\"scroll\", updatePopoverPosition, true);\n setPopoverPosition(void 0);\n setFilter(\"\");\n });\n });\n onCleanup(() => {\n unsubscribe();\n themeRegistry.off?.(\"registered\", refreshThemes);\n themeRegistry.off?.(\"removed\", refreshThemes);\n document.removeEventListener(\"click\", onDocumentClick);\n document.removeEventListener(\"keydown\", onDocumentKeyDown);\n });\n function chooseTheme(id) {\n if (!hasThemePreferences()) return;\n setThemeForCurrentMode(id);\n setOpen(false);\n }\n const activeThemeId = () => state().themeId;\n return (() => {\n var _el$ = _tmpl$4(),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild;\n _el$2.$$click = event => {\n event.stopPropagation();\n setOpen(value => !value);\n };\n var _ref$ = buttonElement;\n typeof _ref$ === \"function\" ? _$use(_ref$, _el$2) : buttonElement = _el$2;\n _$insert(_el$2, _$createComponent(Show, {\n get when() {\n return showName();\n },\n get children() {\n var _el$4 = _tmpl$();\n _$insert(_el$4, activeThemeId);\n return _el$4;\n }\n }), null);\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return open();\n },\n get children() {\n return _$createComponent(Portal, {\n get mount() {\n return document.body;\n },\n get children() {\n var _el$5 = _tmpl$3(),\n _el$6 = _el$5.firstChild,\n _el$7 = _el$6.firstChild,\n _el$8 = _el$7.nextSibling,\n _el$9 = _el$8.firstChild,\n _el$0 = _el$6.nextSibling;\n _el$5.$$click = event => event.stopPropagation();\n var _ref$2 = popoverElement;\n typeof _ref$2 === \"function\" ? _$use(_ref$2, _el$5) : popoverElement = _el$5;\n _el$9.addEventListener(\"change\", event => setShowName(event.currentTarget.checked));\n _el$0.$$input = event => setFilter(event.currentTarget.value);\n var _ref$3 = filterElement;\n typeof _ref$3 === \"function\" ? _$use(_ref$3, _el$0) : filterElement = _el$0;\n _$insert(_el$5, _$createComponent(For, {\n get each() {\n return visibleThemes();\n },\n children: theme => (() => {\n var _el$10 = _tmpl$6(),\n _el$11 = _el$10.firstChild;\n _el$10.$$click = () => chooseTheme(theme.id);\n _$insert(_el$11, () => theme.name || theme.id);\n _$insert(_el$10, _$createComponent(Show, {\n get when() {\n return activeThemeId() === theme.id;\n },\n get children() {\n return _tmpl$5();\n }\n }), null);\n _$effect(_p$ => {\n var _v$6 = theme.id,\n _v$7 = activeThemeId() === theme.id ? \"\" : void 0,\n _v$8 = theme.name || theme.id;\n _v$6 !== _p$.e && _$setAttribute(_el$10, \"theme\", _p$.e = _v$6);\n _v$7 !== _p$.t && _$setAttribute(_el$10, \"data-selected\", _p$.t = _v$7);\n _v$8 !== _p$.a && _$setAttribute(_el$10, \"title\", _p$.a = _v$8);\n return _p$;\n }, {\n e: undefined,\n t: undefined,\n a: undefined\n });\n return _el$10;\n })()\n }), null);\n _$insert(_el$5, _$createComponent(Show, {\n get when() {\n return visibleThemes().length === 0;\n },\n get children() {\n return _tmpl$2();\n }\n }), null);\n _$effect(_p$ => {\n var _v$ = popoverPosition() ? \"\" : void 0,\n _v$2 = popoverPosition()?.above ? \"above\" : \"below\",\n _v$3 = `${popoverPosition()?.left ?? 0}px`,\n _v$4 = `${popoverPosition()?.top ?? 0}px`,\n _v$5 = popoverPosition() ? \"visible\" : \"hidden\";\n _v$ !== _p$.e && _$setAttribute(_el$5, \"data-placed\", _p$.e = _v$);\n _v$2 !== _p$.t && _$setAttribute(_el$5, \"data-side\", _p$.t = _v$2);\n _v$3 !== _p$.a && _$setStyleProperty(_el$5, \"left\", _p$.a = _v$3);\n _v$4 !== _p$.o && _$setStyleProperty(_el$5, \"top\", _p$.o = _v$4);\n _v$5 !== _p$.i && _$setStyleProperty(_el$5, \"visibility\", _p$.i = _v$5);\n return _p$;\n }, {\n e: undefined,\n t: undefined,\n a: undefined,\n o: undefined,\n i: undefined\n });\n _$effect(() => _el$9.checked = showName());\n _$effect(() => _el$0.value = filter());\n return _el$5;\n }\n });\n }\n }), null);\n _$effect(() => _$setAttribute(_el$2, \"title\", `Theme: ${activeThemeId()}`));\n return _el$;\n })();\n }, element);\n return () => {\n dispose();\n style.remove();\n stopThemeProvider();\n };\n}\n_$delegateEvents([\"click\", \"input\"]);"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -4,7 +4,7 @@ import {
4
4
  onActiveThemeChange,
5
5
  setThemeForMode,
6
6
  startActiveTheme
7
- } from "./chunk-FLDRNDLY.js";
7
+ } from "./chunk-Z3JB7ERH.js";
8
8
  import "./chunk-L7WQSSFT.js";
9
9
 
10
10
  // src/tool.tsx
@@ -1 +1 @@
1
- automerge:3zSfLLLhykKn557tvYdBKAeoFKis
1
+ automerge:212YAiq4PATWNogqWtQPZhdzVaWA