@inkandswitch/patchwork-pkg-base 0.0.100 → 0.0.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/module-settings-url +1 -1
  2. package/package.json +1 -1
  3. package/packages/account/dist/index.css +32 -32
  4. package/packages/account/dist/index.css.map +2 -2
  5. package/packages/account-history/dist/assets/HistoryRecorder-_3PrVW6n.js +1 -1
  6. package/packages/account-history/dist/assets/HistoryViewer-BmG0rAfK.js +1 -1
  7. package/packages/account-history/dist/assets/NotebookViewer-DZ_ZQU5x.js +37 -37
  8. package/packages/add-doc-to-sidebar-button/styles.css +2 -2
  9. package/packages/chat/dist/{ChatRoot-BYmq4SXi.js → ChatRoot-1d-658Rr.js} +2 -2
  10. package/packages/chat/dist/{context-tool-Bob-FZ_T.js → context-tool-iP64Oz6H.js} +2 -2
  11. package/packages/chat/dist/{index-wkaHcVCz.js → index-Dm_2jZcu.js} +3 -3
  12. package/packages/chat/dist/index.js +2 -2
  13. package/packages/chat/dist/{tool-DCOdh_fx.js → tool-BmNd5mrj.js} +1 -1
  14. package/packages/codemirror-base/dist/{chunk-QRT4ZVQ4.js → chunk-A2WBDY3J.js} +5 -5
  15. package/packages/codemirror-base/dist/{chunk-QRT4ZVQ4.js.map → chunk-A2WBDY3J.js.map} +1 -1
  16. package/packages/codemirror-base/dist/lib/codemirror.js +1 -1
  17. package/packages/codemirror-base/dist/tool.js +3 -3
  18. package/packages/codemirror-base/dist/tool.js.map +1 -1
  19. package/packages/codemirror-markdown/dist/extensions/embed.js +1 -1
  20. package/packages/codemirror-markdown/dist/extensions/embed.js.map +1 -1
  21. package/packages/codemirror-markdown/dist/extensions/links.js +1 -1
  22. package/packages/codemirror-markdown/dist/extensions/links.js.map +1 -1
  23. package/packages/codemirror-markdown/dist/extensions/markdown.js +6 -6
  24. package/packages/codemirror-markdown/dist/extensions/markdown.js.map +1 -1
  25. package/packages/commands/dist/main.js +1 -1
  26. package/packages/commands/dist/main.js.map +1 -1
  27. package/packages/comments-view/dist/assets/main-wSSvAVfi.js +1 -1
  28. package/packages/doc-openwith/doc-openwith.js +5 -5
  29. package/packages/doc-presence/doc-presence.js +1 -1
  30. package/packages/drafts/dist/assets/main-CG9HOCai.js +31 -31
  31. package/packages/embed/dist/assets/tool-D58NGTZ7.js +1 -1
  32. package/packages/file/dist/index.js +2 -2
  33. package/packages/file/dist/{new-file-tool-DGKllnzw.js → new-file-tool-BolBDUrL.js} +27 -27
  34. package/packages/file/dist/new-file-tool-BolBDUrL.js.map +1 -0
  35. package/packages/file/dist/{tool-UKWDK93W.js → tool-Bt8I8T2-.js} +4 -4
  36. package/packages/file/dist/tool-Bt8I8T2-.js.map +1 -0
  37. package/packages/file/dist/{typescript-language-server-BgBx0vSF.js → typescript-language-server-Db4173Y5.js} +2 -2
  38. package/packages/file/dist/{typescript-language-server-BgBx0vSF.js.map → typescript-language-server-Db4173Y5.js.map} +1 -1
  39. package/packages/folder/dist/index.js +1 -1
  40. package/packages/folder/dist/{tool-WAWTPB4A.js → tool-5E3YPGES.js} +2 -2
  41. package/packages/folder/dist/{tool-WAWTPB4A.js.map → tool-5E3YPGES.js.map} +1 -1
  42. package/packages/history-view/dist/assets/{HistoryTimeline-COYNGORP.js → HistoryTimeline-Bo-BTf2A.js} +6 -6
  43. package/packages/history-view/dist/assets/{HistoryTimeline-COYNGORP.js.map → HistoryTimeline-Bo-BTf2A.js.map} +1 -1
  44. package/packages/history-view/dist/assets/{index-C1gYt7m5.js → index-B5Afrk9Y.js} +2 -2
  45. package/packages/history-view/dist/assets/{index-C1gYt7m5.js.map → index-B5Afrk9Y.js.map} +1 -1
  46. package/packages/history-view/dist/index.js +1 -1
  47. package/packages/llm-host/dist/{LlmConfigTray-DdZHZT4F.js → LlmConfigTray-CjW04jeT.js} +108 -108
  48. package/packages/llm-host/dist/index.js +1 -1
  49. package/packages/packages/dist/index.js +46 -46
  50. package/packages/patternwitch/tool.js +21 -0
  51. package/packages/raw/raw-editor.js +22 -22
  52. package/packages/settings/dist/assets/FrameConfigurator-DVRBzIR-.js +1 -1
  53. package/packages/sideboard/dist/index.css +1 -1
  54. package/packages/sideboard/dist/index.css.map +2 -2
  55. package/packages/sideboard/dist/index.js +1 -1
  56. package/packages/sync-indicator/dist/assets/{SyncIndicator-B2ag1OoZ.js → SyncIndicator-oVMcVRXg.js} +3 -3
  57. package/packages/sync-indicator/dist/assets/{SyncIndicator-B2ag1OoZ.js.map → SyncIndicator-oVMcVRXg.js.map} +1 -1
  58. package/packages/sync-indicator/dist/index.js +1 -1
  59. package/packages/tasks/dist/assets/index-BbuRtBN3.js +1 -1
  60. package/packages/theming/dist/{active-theme-BMSIQXBV.js → active-theme-CC3CS64F.js} +2 -2
  61. package/packages/theming/dist/{chunk-Z3JB7ERH.js → chunk-DH4YUYFJ.js} +2 -2
  62. package/packages/theming/dist/chunk-VJZ4NPK4.js +136 -0
  63. package/packages/theming/dist/chunk-VJZ4NPK4.js.map +7 -0
  64. package/packages/theming/dist/main.js +4 -4
  65. package/packages/theming/dist/{theme-7OG2K56L.css → theme-HE7ECLIW.css} +212 -58
  66. package/packages/theming/dist/{theme-editor-datatype-TMYH7U2S.js → theme-editor-datatype-TJ6LYT2U.js} +2 -2
  67. package/packages/theming/dist/theme-editor.js +35 -25
  68. package/packages/theming/dist/theme-editor.js.map +2 -2
  69. package/packages/theming/dist/{theme-titlebar-YIFJINPJ.js → theme-titlebar-BO2Y2GRN.js} +2 -2
  70. package/packages/theming/dist/{theme-tray-7J247NRY.js → theme-tray-V6BEXQWR.js} +15 -15
  71. package/packages/theming/dist/theme-tray-V6BEXQWR.js.map +7 -0
  72. package/packages/theming/dist/tool.js +9 -9
  73. package/packages/theming/dist/tool.js.map +1 -1
  74. package/packages/threepane/dist/IsolatedDocumentArea-IZWZ74TV.js +2 -0
  75. package/packages/threepane/dist/{PatchworkFrame-GEEBBGCS.js → PatchworkFrame-UNWWAISP.js} +2 -2
  76. package/packages/threepane/dist/{chunk-YC5AHP5G.js → chunk-MSZ7JVNB.js} +31 -31
  77. package/packages/threepane/dist/{chunk-YC5AHP5G.js.map → chunk-MSZ7JVNB.js.map} +3 -3
  78. package/packages/threepane/dist/index.js +1 -1
  79. package/plugin-registry-url +1 -1
  80. package/packages/file/dist/new-file-tool-DGKllnzw.js.map +0 -1
  81. package/packages/file/dist/tool-UKWDK93W.js.map +0 -1
  82. package/packages/theming/dist/chunk-GIPQLUDU.js +0 -86
  83. package/packages/theming/dist/chunk-GIPQLUDU.js.map +0 -7
  84. package/packages/theming/dist/theme-tray-7J247NRY.js.map +0 -7
  85. package/packages/threepane/dist/IsolatedDocumentArea-G3V7KYHJ.js +0 -2
  86. /package/packages/theming/dist/{active-theme-BMSIQXBV.js.map → active-theme-CC3CS64F.js.map} +0 -0
  87. /package/packages/theming/dist/{chunk-Z3JB7ERH.js.map → chunk-DH4YUYFJ.js.map} +0 -0
  88. /package/packages/theming/dist/{theme-editor-datatype-TMYH7U2S.js.map → theme-editor-datatype-TJ6LYT2U.js.map} +0 -0
  89. /package/packages/theming/dist/{theme-titlebar-YIFJINPJ.js.map → theme-titlebar-BO2Y2GRN.js.map} +0 -0
  90. /package/packages/threepane/dist/{IsolatedDocumentArea-G3V7KYHJ.js.map → IsolatedDocumentArea-IZWZ74TV.js.map} +0 -0
  91. /package/packages/threepane/dist/{PatchworkFrame-GEEBBGCS.js.map → PatchworkFrame-UNWWAISP.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- @layer package{:root,:host,[theme]{--document-list-fill: var( --studio-chrome, light-dark( color-mix(in oklch, var(--studio-secondary-fill, var(--studio-secondary, #33ccf8)), var(--studio-fill, white) 80%), black ) );--document-list-fill-offset: color-mix( in oklab, var(--document-list-fill), oklch(1 0 0 / 1) 10% );--document-list-line: var(--studio-line, black);--document-list-line-offset-20: var(--studio-line-offset-20, #333);--document-list-widget-fill: var(--studio-fill, white);--document-list-widget-line: var(--document-list-line);--document-list-padding-x: .5rem;--document-list-radius: .275rem;--placeholder-line: var(--studio-line-offset-50, #808e80);--document-list-search-line: var(--studio-line, #000);--document-list-primary: var(--studio-primary-fill, var(--studio-primary, #35f7ca));--document-list-primary-line: var(--studio-primary-line, var(--studio-line, black));--document-list-selection-fill: var(--document-list-primary);--document-list-selection-line: var(--document-list-primary-line);--document-list-create-new-fill: var(--studio-fill, white);--document-list-create-new-line: color-mix( in oklch, var(--document-list-primary), var(--studio-line, black) 30% );--document-list-create-new-border-line: color-mix( in oklch, var(--document-list-primary), var(--document-list-create-new-fill) 50% );--document-list-create-new-shadow-color: color-mix( in oklch, var(--document-list-fill), var(--document-list-line) 10% );--document-list-family: var(--studio-family-sans, system-ui, sans-serif);--document-list-family-code: var(--studio-family-code, ui-monospace, monospace);--document-list-muted: var(--studio-line-offset-40, #666);--document-list-border: var(--studio-fill-offset-10, #e5e5e5);--document-list-border-strong: var(--studio-fill-offset-20, #ccc);--document-list-divider: var(--studio-chrome-offset-20, #d4d4d4);--document-list-added: var(--studio-added, #35f7ca);--document-list-danger: var(--studio-danger-text, var(--studio-danger, #ff6a90));--document-list-toggle-hover: color-mix(in oklch, var(--studio-line, black), transparent 93%);--account-bar-fill: var(--studio-chrome-offset-10);--account-bar-line: var(--studio-chrome-line, var(--studio-line, black))}}button{background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:0}.document-list,.document-list *{box-sizing:border-box}.document-list{background:var(--document-list-fill);display:flex;height:100%;flex-direction:column;gap:.75rem;font-family:var(--document-list-family);padding-inline:var(--document-list-padding-x);padding-top:var(--document-list-top-margin, env(safe-area-inset-top, 0px));padding-bottom:env(safe-area-inset-bottom);--depth: 0;.document-list-close-button{display:flex;align-items:center;align-self:flex-start;padding:.25rem;margin-top:12px;margin-left:-2px;background:transparent;border:none;cursor:pointer;opacity:.5;color:var(--document-list-line)}.document-list-close-button:hover{opacity:1}}.create-new-button{display:flex;padding-inline:.75rem;padding-block:.375rem;border:none;border-radius:var(--document-list-radius);background:var(--document-list-create-new-fill);color:var(--document-list-line);font-weight:400;align-items:center;justify-content:start;white-space:nowrap;font-size:.9rem;text-align:left;gap:1ex;position:relative;flex-shrink:0}.create-new-button__icon{stroke:var(--document-list-line-offset-20)}.create-new-button--square{width:2rem;height:2rem;padding:0;justify-content:center;cursor:grab;color:color-mix(in oklch,var(--document-list-line),transparent 35%);transition:color .12s ease,box-shadow .12s ease}.create-new-button--square:hover{color:var(--document-list-line);box-shadow:var(--studio-shadow, 0 1px 3px rgb(0 0 0 / .1), 0 1px 2px rgb(0 0 0 / .06))}.create-new-button--square:active{cursor:grabbing}.create-new-button-anchor{position:relative;display:flex;flex-shrink:0}.document-list__toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:.375rem;padding:.375rem;background:var(--document-list-widget-fill);border-bottom:1px solid var(--document-list-divider)}.document-list__toolbar .document-list__filter-container{flex:1;min-width:0}.icon{height:1em}.document-list__filter-container{position:relative;font-size:.875rem;border-radius:var(--document-list-radius);.search-icon{height:1em;top:.4lh;left:2px;position:absolute;z-index:1;stroke:var(--placeholder-line)}&:focus-within{.search-icon{stroke:var(--document-list-line)}}}.document-list__filter{width:100%;background:var(--document-list-widget-fill);color:var(--document-list-widget-line);padding-left:2em;padding-right:.75rem;padding-top:.375rem;padding-bottom:.375rem;border:none;border-radius:var(--document-list-radius);&::placeholder{color:var(--placeholder-line)}&:focus-visible{outline-color:var(--sidebar-widget-line);outline-offset:1px;box-shadow:0 0 0 4px #fff;border-radius:var(--document-list-radius)}}.document-list__doclist{--doclist-padding-x: .75rem;display:flex;flex-direction:column;border-radius:var(--document-list-radius);box-shadow:0 1px 2px #0014320d;width:100%;max-height:100%;overflow:scroll;transition:background-color .2s ease,box-shadow .2s ease;&::-webkit-scrollbar{display:none}}.document-list__doclist[data-drop-state=end]:after{content:"";flex:none;height:2px;margin-inline:var(--doclist-padding-x);background:var(--document-list-line)}.document-list__error{position:sticky;bottom:.5rem;margin:.5rem;padding:.5rem .75rem;border-radius:var(--document-list-radius);background:var(--document-list-widget-fill);color:var(--document-list-danger);box-shadow:0 0 0 1px currentColor inset,0 2px 8px #0000001a;font-size:.875rem}.document-list-item{display:flex;gap:.25ch;padding-inline:var(--doclist-padding-x);padding-block:.5rem;font-weight:400;color:var(--sidebar-widget-line);cursor:default;position:relative;&:focus-visible{outline-color:#000;outline-offset:-2px;box-shadow:0 0 0 4px var(--document-list-widget-fill);border-radius:var(--document-list-radius)}&:active{outline:0;box-shadow:0}&[aria-selected=true]{background:var(--document-list-selection-fill);color:var(--document-list-selection-line);.document-list-folder__toggle path{stroke:var(--document-list-selection-line)}.document-list__doclist>&:first-child{border-top-left-radius:var(--document-list-radius);border-top-right-radius:var(--document-list-radius)}.document-list__doclist>&:last-child{border-bottom-left-radius:var(--document-list-radius);border-bottom-right-radius:var(--document-list-radius)}}&[aria-checked=true]{outline:2px dashed color-mix(in oklch,var(--document-list-line),transparent 50%);outline-offset:-4px}&[data-dnd-dragging]{opacity:.4}&[data-dnd-springload]{animation:doclist-springload .75s ease-out .75s both}&[data-dnd-droplist-state]:before{content:"";position:absolute;left:0;margin-left:calc(var(--depth) * 1.75rem);right:0;height:2px;background:var(--document-list-line)}&[data-dnd-droplist-state=above]:before{top:-1px}&[data-dnd-droplist-state=below]:before{bottom:-1px}&[data-dnd-landed]{animation:doclist-landed .6s ease-out both}}@keyframes doclist-landed{0%{background:transparent}30%{background:color-mix(in oklch,var(--document-list-primary),transparent 30%)}to{background:transparent}}@keyframes doclist-landed-still{0%{background:color-mix(in oklch,var(--document-list-primary),transparent 40%)}to{background:transparent}}@media (prefers-reduced-motion: reduce){.document-list-item[data-dnd-landed]{animation:doclist-landed-still .6s linear both}}@keyframes doclist-springload{0%{background:transparent}to{background:color-mix(in oklch,var(--document-list-primary),transparent 40%)}}.document-list-folder[data-drop-state=inside]{outline:2px solid var(--document-list-primary);outline-offset:-2px;border-radius:var(--document-list-radius);background:color-mix(in oklch,var(--document-list-primary),transparent 50%);>.document-list-item:before{content:"";position:absolute;left:0;right:0;height:2px;background:var(--document-list-line);bottom:0}[data-dnd-droplist-state]:before{display:none}}.document-list__loading{display:flex;flex-direction:column}.document-list-item--loading{pointer-events:none;padding-left:calc(1.8rem * var(--depth) + var(--doclist-padding-x))}.document-list__loading .document-list-item__skeleton{flex:0 0 auto}.document-list-item__skeleton{flex:1;min-width:0;max-width:12rem;height:.75em;border-radius:4px;background:linear-gradient(90deg,var(--placeholder-line) 25%,color-mix(in oklch,var(--placeholder-line),transparent 65%) 50%,var(--placeholder-line) 75%);background-size:200% 100%;opacity:.35;animation:doclist-skeleton-shimmer 1.2s ease-in-out infinite}@keyframes doclist-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.document-list-item__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;flex:1;min-width:0;&:is(input){padding:4px;margin:-4px}}.document-list-folder__toggle{display:inline-flex;align-items:center;cursor:pointer;margin-left:-.75ch;padding-inline:.25ch;&:hover{background:var(--document-list-toggle-hover)}& svg{width:14px;height:14px}& path{stroke:var(--document-list-line-offset-20)}}.document-list-folder__contents--hidden{display:none}.document-list-folder__circular-ref{padding:.5rem;padding-left:calc(2.2rem * var(--depth));color:var(--document-list-muted);font-style:italic;font-size:.9em}.document-list__item{content-visibility:auto;contain-intrinsic-size:auto 2.25rem}.document-list__item--invisible{display:none}.document-list__item--visible,.document-list__item--invisible:has(.document-list__item--visible){display:block}.document-list-folder__contents .document-list-item{padding-left:calc(1.8rem * var(--depth))}.document-list-widget{width:100%;background:var(--document-list-widget-fill);color:var(--document-list-widget-line)}.document-list-widget:empty{display:none}.document-list-placeholder{font-style:italic;color:var(--placeholder-line)}.popmenu__content,.popmenu__sub-content,.popmenu__content *,.popmenu__sub-content *{box-sizing:border-box}.popmenu__trigger,.popmenu__sub-trigger{cursor:default;user-select:none;width:100%;text-align:left}.popmenu__sub-content,.popmenu__content{z-index:2;min-width:220px;max-height:min(400px,50vh);overflow-y:auto;padding:4px;background-color:var(--document-list-widget-fill);font-size:.8rem;border-radius:6px;border:1px solid var(--document-list-border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;outline:none}.popmenu__content{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{.popmenu__content{opacity:0;scale:.97}}.popmenu__item,.popmenu__checkbox-item,.popmenu__radio-item,.popmenu__sub-trigger{font-size:.8rem;line-height:1;color:var(--document-list-widget-line);border-radius:4px;display:flex;align-items:center;height:32px;padding-inline:12px;padding-block:6px;position:relative;user-select:none;outline:none;cursor:default}.popmenu__sub-trigger[data-expanded]{background-color:var(--document-list-fill-offset);color:var(--document-list-line)}.popmenu__item[data-disabled],.popmenu__checkbox-item[data-disabled],.popmenu__radio-item[data-disabled],.popmenu__sub-trigger[data-disabled]{color:var(--document-list-muted);opacity:.5;pointer-events:none}.popmenu__item[data-highlighted],.popmenu__checkbox-item[data-highlighted],.popmenu__radio-item[data-highlighted],.popmenu__sub-trigger[data-highlighted],.popmenu__item--highlighted{outline:none;background-color:var(--document-list-selection-fill);color:var(--document-list-selection-line)}.create-new-menu__content{scrollbar-gutter:stable;scrollbar-color:var(--document-list-border-strong) var(--document-list-widget-fill);scrollbar-width:thin}.create-new-menu__content::-webkit-scrollbar{width:10px}.create-new-menu__content::-webkit-scrollbar-track{background:var(--document-list-widget-fill)}.create-new-menu__content::-webkit-scrollbar-thumb{background:var(--document-list-border-strong);border:2px solid var(--document-list-widget-fill);border-radius:999px}.create-new-menu__content::-webkit-scrollbar-thumb:hover{background:var(--document-list-muted)}.create-new-filter{padding:4px}.create-new-filter__input{width:100%;box-sizing:border-box;padding:6px 8px;font-size:.8rem;border:1px solid var(--document-list-border-strong);border-radius:4px;background:var(--document-list-widget-fill);color:var(--document-list-widget-line);outline:none}.create-new-filter__input:focus{border-color:var(--document-list-primary)}.create-new-filter__input::placeholder{color:var(--document-list-muted)}.sideboard{display:flex;flex-direction:column;height:100%;min-height:0}.sideboard>.document-list{flex:1;height:auto;min-height:0;padding-bottom:0}.account-bar{container-type:inline-size;display:flex;align-items:center;gap:1rem;min-height:4rem;background:var(--account-bar-fill);color:var(--account-bar-line);border-top:1px solid var(--document-list-divider);padding-block:.25rem;padding-bottom:calc(.25rem + env(safe-area-inset-bottom));padding-left:calc(env(safe-area-inset-left) + var(--document-list-padding-x));padding-right:calc(env(safe-area-inset-right) + var(--document-list-padding-x));justify-content:space-between}.account-bar__button{display:flex;align-items:center;border:1px solid transparent;padding-inline:.25rem;padding-block:.125rem;border-radius:3px;background:transparent;color:inherit;font:inherit;white-space:nowrap;cursor:pointer}.account-bar__button:hover{border-color:var(--document-list-divider)}.account-bar__avatar patchwork-view{display:block;width:100%;height:100%}
1
+ @layer package{:root,:host,[theme]{--document-list-fill: var( --studio-chrome, light-dark( color-mix(in oklch, var(--studio-secondary-fill, var(--studio-secondary, #33ccf8)), var(--studio-fill, white) 80%), black ) );--document-list-fill-offset: color-mix( in oklab, var(--document-list-fill), oklch(1 0 0 / 1) 10% );--document-list-line: var(--studio-line, black);--document-list-line-offset-20: var(--studio-line-offset-20, #333);--document-list-widget-fill: var(--studio-fill, white);--document-list-widget-line: var(--document-list-line);--document-list-padding-x: .5rem;--document-list-radius: .275rem;--placeholder-line: var(--studio-line-offset-50, #808e80);--document-list-search-line: var(--studio-line, #000);--document-list-primary: var(--studio-primary-fill, var(--studio-primary, #35f7ca));--document-list-primary-line: var(--studio-primary-line, var(--studio-line, black));--document-list-selection-fill: var(--document-list-primary);--document-list-selection-line: var(--document-list-primary-line);--document-list-create-new-fill: var(--studio-fill, white);--document-list-create-new-line: color-mix( in oklch, var(--document-list-primary), var(--studio-line, black) 30% );--document-list-create-new-border-line: color-mix( in oklch, var(--document-list-primary), var(--document-list-create-new-fill) 50% );--document-list-create-new-shadow-color: color-mix( in oklch, var(--document-list-fill), var(--document-list-line) 10% );--document-list-family: var(--studio-family-sans, system-ui, sans-serif);--document-list-family-code: var(--studio-family-code, ui-monospace, monospace);--document-list-muted: var(--studio-line-offset-40, #666);--document-list-border: var(--studio-fill-offset-10, #e5e5e5);--document-list-border-strong: var(--studio-fill-offset-20, #ccc);--document-list-divider: var(--studio-chrome-offset-20, #d4d4d4);--document-list-added: var(--studio-added, #35f7ca);--document-list-danger: var(--studio-danger-text, var(--studio-danger, #ff6a90));--document-list-toggle-hover: color-mix(in oklch, var(--studio-line, black), transparent 93%);--account-bar-fill: var(--studio-chrome-offset-10);--account-bar-line: var(--studio-chrome-line, var(--studio-line, black))}}button{background:none;border:none;font:inherit;color:inherit;cursor:var(--studio-cursor-pointer, pointer);padding:0}.document-list,.document-list *{box-sizing:border-box}.document-list{background:var(--document-list-fill);display:flex;height:100%;flex-direction:column;gap:.75rem;font-family:var(--document-list-family);padding-inline:var(--document-list-padding-x);padding-top:var(--document-list-top-margin, env(safe-area-inset-top, 0px));padding-bottom:env(safe-area-inset-bottom);--depth: 0;.document-list-close-button{display:flex;align-items:center;align-self:flex-start;padding:.25rem;margin-top:12px;margin-left:-2px;background:transparent;border:none;cursor:var(--studio-cursor-pointer, pointer);opacity:.5;color:var(--document-list-line)}.document-list-close-button:hover{opacity:1}}.create-new-button{display:flex;padding-inline:.75rem;padding-block:.375rem;border:none;border-radius:var(--document-list-radius);background:var(--document-list-create-new-fill);color:var(--document-list-line);font-weight:400;align-items:center;justify-content:start;white-space:nowrap;font-size:.9rem;text-align:left;gap:1ex;position:relative;flex-shrink:0}.create-new-button__icon{stroke:var(--document-list-line-offset-20)}.create-new-button--square{width:2rem;height:2rem;padding:0;justify-content:center;cursor:var(--studio-cursor-grab, grab);color:color-mix(in oklch,var(--document-list-line),transparent 35%);transition:color max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease,box-shadow max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease}.create-new-button--square:hover{color:var(--document-list-line);box-shadow:var(--studio-shadow, 0 1px 3px rgb(0 0 0 / .1), 0 1px 2px rgb(0 0 0 / .06))}.create-new-button--square:active{cursor:var(--studio-cursor-grabbing, grabbing)}.create-new-button-anchor{position:relative;display:flex;flex-shrink:0}.document-list__toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:.375rem;padding:.375rem;background:var(--document-list-widget-fill);border-bottom:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--document-list-divider)}.document-list__toolbar .document-list__filter-container{flex:1;min-width:0}.icon{height:1em}.document-list__filter-container{position:relative;font-size:.875rem;border-radius:var(--document-list-radius);.search-icon{height:1em;top:.4lh;left:2px;position:absolute;z-index:1;stroke:var(--placeholder-line)}&:focus-within{.search-icon{stroke:var(--document-list-line)}}}.document-list__filter{width:100%;background:var(--document-list-widget-fill);color:var(--document-list-widget-line);padding-left:2em;padding-right:.75rem;padding-top:.375rem;padding-bottom:.375rem;border:none;border-radius:var(--document-list-radius);&::placeholder{color:var(--placeholder-line)}&:focus-visible{outline-color:var(--sidebar-widget-line);outline-offset:var(--studio-focus-ring-offset, 1px);box-shadow:0 0 0 4px #fff;border-radius:var(--document-list-radius)}}.document-list__doclist{--doclist-padding-x: .75rem;display:flex;flex-direction:column;border-radius:var(--document-list-radius);box-shadow:0 1px 2px #0014320d;width:100%;max-height:100%;overflow:scroll;transition:background-color max(1ms,calc(.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease,box-shadow max(1ms,calc(.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease;&::-webkit-scrollbar{display:none}}.document-list__doclist[data-drop-state=end]:after{content:"";flex:none;height:2px;margin-inline:var(--doclist-padding-x);background:var(--document-list-line)}.document-list__error{position:sticky;bottom:.5rem;margin:.5rem;padding:.5rem .75rem;border-radius:var(--document-list-radius);background:var(--document-list-widget-fill);color:var(--document-list-danger);box-shadow:0 0 0 1px currentColor inset,0 2px 8px #0000001a;font-size:.875rem}.document-list-item{display:flex;gap:.25ch;padding-inline:var(--doclist-padding-x);padding-block:.5rem;font-weight:400;color:var(--sidebar-widget-line);cursor:var(--studio-cursor-default, default);position:relative;&:focus-visible{outline-color:#000;outline-offset:var(--studio-focus-ring-offset, -2px);box-shadow:0 0 0 4px var(--document-list-widget-fill);border-radius:var(--document-list-radius)}&:active{outline:0;box-shadow:0}&[aria-selected=true]{background:var(--document-list-selection-fill);color:var(--document-list-selection-line);.document-list-folder__toggle path{stroke:var(--document-list-selection-line)}.document-list__doclist>&:first-child{border-top-left-radius:var(--document-list-radius);border-top-right-radius:var(--document-list-radius)}.document-list__doclist>&:last-child{border-bottom-left-radius:var(--document-list-radius);border-bottom-right-radius:var(--document-list-radius)}}&[aria-checked=true]{outline:2px dashed color-mix(in oklch,var(--document-list-line),transparent 50%);outline-offset:-4px}&[data-dnd-dragging]{opacity:.4}&[data-dnd-springload]{animation:doclist-springload max(1ms,calc(.75s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease-out .75s both}&[data-dnd-droplist-state]:before{content:"";position:absolute;left:0;margin-left:calc(var(--depth) * 1.75rem);right:0;height:2px;background:var(--document-list-line)}&[data-dnd-droplist-state=above]:before{top:-1px}&[data-dnd-droplist-state=below]:before{bottom:-1px}&[data-dnd-landed]{animation:doclist-landed max(1ms,calc(.6s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease-out both}}@keyframes doclist-landed{0%{background:transparent}30%{background:color-mix(in oklch,var(--document-list-primary),transparent 30%)}to{background:transparent}}@keyframes doclist-landed-still{0%{background:color-mix(in oklch,var(--document-list-primary),transparent 40%)}to{background:transparent}}@media (prefers-reduced-motion: reduce){.document-list-item[data-dnd-landed]{animation:doclist-landed-still max(1ms,calc(.6s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) linear both}}@keyframes doclist-springload{0%{background:transparent}to{background:color-mix(in oklch,var(--document-list-primary),transparent 40%)}}.document-list-folder[data-drop-state=inside]{outline:2px solid var(--document-list-primary);outline-offset:-2px;border-radius:var(--document-list-radius);background:color-mix(in oklch,var(--document-list-primary),transparent 50%);>.document-list-item:before{content:"";position:absolute;left:0;right:0;height:2px;background:var(--document-list-line);bottom:0}[data-dnd-droplist-state]:before{display:none}}.document-list__loading{display:flex;flex-direction:column}.document-list-item--loading{pointer-events:none;padding-left:calc(1.8rem * var(--depth) + var(--doclist-padding-x))}.document-list__loading .document-list-item__skeleton{flex:0 0 auto}.document-list-item__skeleton{flex:1;min-width:0;max-width:12rem;height:.75em;border-radius:4px;background:linear-gradient(90deg,var(--placeholder-line) 25%,color-mix(in oklch,var(--placeholder-line),transparent 65%) 50%,var(--placeholder-line) 75%);background-size:200% 100%;opacity:.35;animation:doclist-skeleton-shimmer 1.2s ease-in-out infinite}@keyframes doclist-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.document-list-item__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;flex:1;min-width:0;&:is(input){padding:4px;margin:-4px}}.document-list-folder__toggle{display:inline-flex;align-items:center;cursor:var(--studio-cursor-pointer, pointer);margin-left:-.75ch;padding-inline:.25ch;&:hover{background:var(--document-list-toggle-hover)}& svg{width:14px;height:14px}& path{stroke:var(--document-list-line-offset-20)}}.document-list-folder__contents--hidden{display:none}.document-list-folder__circular-ref{padding:.5rem;padding-left:calc(2.2rem * var(--depth));color:var(--document-list-muted);font-style:italic;font-size:.9em}.document-list__item{content-visibility:auto;contain-intrinsic-size:auto 2.25rem}.document-list__item--invisible{display:none}.document-list__item--visible,.document-list__item--invisible:has(.document-list__item--visible){display:block}.document-list-folder__contents .document-list-item{padding-left:calc(1.8rem * var(--depth))}.document-list-widget{width:100%;background:var(--document-list-widget-fill);color:var(--document-list-widget-line)}.document-list-widget:empty{display:none}.document-list-placeholder{font-style:italic;color:var(--placeholder-line)}.popmenu__content,.popmenu__sub-content,.popmenu__content *,.popmenu__sub-content *{box-sizing:border-box}.popmenu__trigger,.popmenu__sub-trigger{cursor:var(--studio-cursor-default, default);user-select:none;width:100%;text-align:left}.popmenu__sub-content,.popmenu__content{z-index:2;min-width:220px;max-height:min(400px,50vh);overflow-y:auto;padding:4px;background-color:var(--document-list-widget-fill);font-size:.8rem;border-radius:6px;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--document-list-border);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;outline:none}.popmenu__content{transition:opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1)),scale max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1))}@starting-style{.popmenu__content{opacity:0;scale:.97}}.popmenu__item,.popmenu__checkbox-item,.popmenu__radio-item,.popmenu__sub-trigger{font-size:.8rem;line-height:1;color:var(--document-list-widget-line);border-radius:4px;display:flex;align-items:center;height:32px;padding-inline:12px;padding-block:6px;position:relative;user-select:none;outline:none;cursor:var(--studio-cursor-default, default)}.popmenu__sub-trigger[data-expanded]{background-color:var(--document-list-fill-offset);color:var(--document-list-line)}.popmenu__item[data-disabled],.popmenu__checkbox-item[data-disabled],.popmenu__radio-item[data-disabled],.popmenu__sub-trigger[data-disabled]{color:var(--document-list-muted);opacity:var(--studio-disabled-opacity, .5);pointer-events:none}.popmenu__item[data-highlighted],.popmenu__checkbox-item[data-highlighted],.popmenu__radio-item[data-highlighted],.popmenu__sub-trigger[data-highlighted],.popmenu__item--highlighted{outline:none;background-color:var(--document-list-selection-fill);color:var(--document-list-selection-line)}.create-new-menu__content{scrollbar-gutter:stable;scrollbar-color:var(--document-list-border-strong) var(--document-list-widget-fill);scrollbar-width:thin}.create-new-menu__content::-webkit-scrollbar{width:10px}.create-new-menu__content::-webkit-scrollbar-track{background:var(--document-list-widget-fill)}.create-new-menu__content::-webkit-scrollbar-thumb{background:var(--document-list-border-strong);border:2px solid var(--document-list-widget-fill);border-radius:999px}.create-new-menu__content::-webkit-scrollbar-thumb:hover{background:var(--document-list-muted)}.create-new-filter{padding:4px}.create-new-filter__input{width:100%;box-sizing:border-box;padding:6px 8px;font-size:.8rem;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--document-list-border-strong);border-radius:4px;background:var(--document-list-widget-fill);color:var(--document-list-widget-line);outline:none}.create-new-filter__input:focus{border-color:var(--document-list-primary)}.create-new-filter__input::placeholder{color:var(--document-list-muted)}.sideboard{display:flex;flex-direction:column;height:100%;min-height:0}.sideboard>.document-list{flex:1;height:auto;min-height:0;padding-bottom:0}.account-bar{container-type:inline-size;display:flex;align-items:center;gap:1rem;min-height:4rem;background:var(--account-bar-fill);color:var(--account-bar-line);border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--document-list-divider);padding-block:.25rem;padding-bottom:calc(.25rem + env(safe-area-inset-bottom));padding-left:calc(env(safe-area-inset-left) + var(--document-list-padding-x));padding-right:calc(env(safe-area-inset-right) + var(--document-list-padding-x));justify-content:space-between}.account-bar__button{display:flex;align-items:center;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) transparent;padding-inline:.25rem;padding-block:.125rem;border-radius:3px;background:transparent;color:inherit;font:inherit;white-space:nowrap;cursor:var(--studio-cursor-pointer, pointer)}.account-bar__button:hover{border-color:var(--document-list-divider)}.account-bar__avatar patchwork-view{display:block;width:100%;height:100%}
2
2
  /*# sourceMappingURL=index.css.map */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.css"],
4
- "sourcesContent": ["@layer package {\n:root,\n:host,\n[theme] {\n --document-list-fill: var(\n --studio-chrome,\n light-dark(\n color-mix(in oklch, var(--studio-secondary-fill, var(--studio-secondary, #33ccf8)), var(--studio-fill, white) 80%),\n black\n )\n );\n --document-list-fill-offset: color-mix(\n in oklab,\n var(--document-list-fill),\n oklch(1 0 0 / 1) 10%\n );\n --document-list-line: var(--studio-line, black);\n --document-list-line-offset-20: var(--studio-line-offset-20, #333);\n --document-list-widget-fill: var(--studio-fill, white);\n --document-list-widget-line: var(--document-list-line);\n\n --document-list-padding-x: 0.5rem;\n\n --document-list-radius: 0.275rem;\n --placeholder-line: var(--studio-line-offset-50, #808e80);\n --document-list-search-line: var(--studio-line, #000);\n\n --document-list-primary: var(--studio-primary-fill, var(--studio-primary, #35f7ca));\n --document-list-primary-line: var(--studio-primary-line, var(--studio-line, black));\n --document-list-selection-fill: var(--document-list-primary);\n --document-list-selection-line: var(--document-list-primary-line);\n\n --document-list-create-new-fill: var(--studio-fill, white);\n --document-list-create-new-line: color-mix(\n in oklch,\n var(--document-list-primary),\n var(--studio-line, black) 30%\n );\n --document-list-create-new-border-line: color-mix(\n in oklch,\n var(--document-list-primary),\n var(--document-list-create-new-fill) 50%\n );\n --document-list-create-new-shadow-color: color-mix(\n in oklch,\n var(--document-list-fill),\n var(--document-list-line) 10%\n );\n\n --document-list-family: var(--studio-family-sans, system-ui, sans-serif);\n --document-list-family-code: var(--studio-family-code, ui-monospace, monospace);\n --document-list-muted: var(--studio-line-offset-40, #666);\n --document-list-border: var(--studio-fill-offset-10, #e5e5e5);\n --document-list-border-strong: var(--studio-fill-offset-20, #ccc);\n /* subtle divider on the document-list's chrome surface - the same base-theme\n token the patchwork-frame sidebar divider uses (chrome mixed toward the\n chrome ink, so it tracks the palette and reads correctly light/dark). */\n --document-list-divider: var(--studio-chrome-offset-20, #d4d4d4);\n --document-list-added: var(--studio-added, #35f7ca);\n --document-list-danger: var(--studio-danger-text, var(--studio-danger, #ff6a90));\n --document-list-toggle-hover: color-mix(in oklch, var(--studio-line, black), transparent 93%);\n --account-bar-fill: var(--studio-chrome-offset-10);\n /* ink on the account-bar's chrome surface: rides the chrome ink ramp, not\n --document-list-line (which is content ink and tracks the list surface). */\n --account-bar-line: var(--studio-chrome-line, var(--studio-line, black));\n}\n}\n\nbutton {\n background: none;\n border: none;\n font: inherit;\n color: inherit;\n cursor: pointer;\n padding: 0;\n}\n\n.document-list,\n.document-list * {\n box-sizing: border-box;\n}\n\n.document-list {\n background: var(--document-list-fill);\n display: flex;\n height: 100%;\n flex-direction: column;\n gap: 0.75rem;\n font-family: var(--document-list-family);\n padding-inline: var(--document-list-padding-x);\n /* Space above the doclist. Defaults to just the top safe-area inset; hosts\n like patchwork-frame override --document-list-top-margin to also clear their\n own header. Declared via the var() fallback (not on :host) so an ancestor's\n value can cascade in. */\n padding-top: var(--document-list-top-margin, env(safe-area-inset-top, 0px));\n padding-bottom: env(safe-area-inset-bottom);\n --depth: 0;\n .document-list-close-button {\n display: flex;\n align-items: center;\n align-self: flex-start;\n padding: 0.25rem;\n margin-top: 12px;\n margin-left: -2px;\n background: transparent;\n border: none;\n cursor: pointer;\n opacity: 0.5;\n color: var(--document-list-line);\n }\n\n .document-list-close-button:hover {\n opacity: 1;\n }\n}\n\n.create-new-button {\n display: flex;\n padding-inline: 0.75rem;\n padding-block: 0.375rem;\n border: none;\n border-radius: var(--document-list-radius);\n background: var(--document-list-create-new-fill);\n color: var(--document-list-line);\n font-weight: 400;\n align-items: center;\n justify-content: start;\n white-space: nowrap;\n font-size: 0.9rem;\n text-align: left;\n gap: 1ex;\n position: relative;\n flex-shrink: 0;\n}\n\n.create-new-button__icon {\n stroke: var(--document-list-line-offset-20);\n}\n\n/* square, icon-only variant used in the doclist toolbar; also the drag handle\n for creating a doc at a specific spot. */\n.create-new-button--square {\n width: 2rem;\n height: 2rem;\n padding: 0;\n justify-content: center;\n cursor: grab;\n /* icon rides a little paler than the full ink at rest */\n color: color-mix(in oklch, var(--document-list-line), transparent 35%);\n transition:\n color 0.12s ease,\n box-shadow 0.12s ease;\n}\n\n/* darken and grow a little buttony shadow on hover */\n.create-new-button--square:hover {\n color: var(--document-list-line);\n box-shadow: var(--studio-shadow, 0 1px 3px rgb(0 0 0 / 0.1), 0 1px 2px rgb(0 0 0 / 0.06));\n}\n\n.create-new-button--square:active {\n cursor: grabbing;\n}\n\n/* the visible button handles click + drag; a 0-size aria-hidden Kobalte trigger\n overlays it purely to anchor the dropdown menu. */\n.create-new-button-anchor {\n position: relative;\n display: flex;\n flex-shrink: 0;\n}\n\n\n/* sticky toolbar pinned to the top of the scrolling doclist: square new-doc\n button + filter, laid out horizontally. */\n.document-list__toolbar {\n position: sticky;\n top: 0;\n z-index: 3;\n display: flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.375rem;\n background: var(--document-list-widget-fill);\n border-bottom: 1px solid var(--document-list-divider);\n}\n\n.document-list__toolbar .document-list__filter-container {\n flex: 1;\n min-width: 0;\n}\n\n.icon {\n height: 1em;\n}\n\n.document-list__filter-container {\n position: relative;\n font-size: 0.875rem;\n border-radius: var(--document-list-radius);\n .search-icon {\n height: 1em;\n top: 0.4lh;\n left: 2px;\n position: absolute;\n z-index: 1;\n stroke: var(--placeholder-line);\n }\n &:focus-within {\n .search-icon {\n stroke: var(--document-list-line);\n }\n }\n}\n\n.document-list__filter {\n width: 100%;\n\n background: var(--document-list-widget-fill);\n color: var(--document-list-widget-line);\n\n padding-left: 2em;\n padding-right: 0.75rem;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n border: none;\n border-radius: var(--document-list-radius);\n\n &::placeholder {\n color: var(--placeholder-line);\n }\n\n &:focus-visible {\n outline-color: var(--sidebar-widget-line);\n outline-offset: 1px;\n box-shadow: 0 0 0 4px #fff;\n border-radius: var(--document-list-radius);\n }\n}\n\n.document-list__doclist {\n --doclist-padding-x: 0.75rem;\n display: flex;\n flex-direction: column;\n border-radius: var(--document-list-radius);\n box-shadow: 0 1px 2px rgba(0, 20, 50, 0.05);\n width: 100%;\n max-height: 100%;\n overflow: scroll;\n transition:\n background-color 0.2s ease,\n box-shadow 0.2s ease;\n\n &::-webkit-scrollbar {\n display: none;\n }\n}\n\n/* a drag past the last row: the line goes after it (see endSpot in dnd.ts) */\n.document-list__doclist[data-drop-state=\"end\"]::after {\n content: \"\";\n flex: none;\n height: 2px;\n margin-inline: var(--doclist-padding-x);\n background: var(--document-list-line);\n}\n\n/* why a drop didn't happen. sticks to the bottom of the list so it's seen\n wherever the list is scrolled to. */\n.document-list__error {\n position: sticky;\n bottom: 0.5rem;\n margin: 0.5rem;\n padding: 0.5rem 0.75rem;\n border-radius: var(--document-list-radius);\n background: var(--document-list-widget-fill);\n color: var(--document-list-danger);\n box-shadow: 0 0 0 1px currentColor inset, 0 2px 8px rgba(0, 0, 0, 0.1);\n font-size: 0.875rem;\n}\n\n.document-list-item {\n display: flex;\n gap: 0.25ch;\n padding-inline: var(--doclist-padding-x);\n padding-block: 0.5rem;\n font-weight: 400;\n color: var(--sidebar-widget-line);\n cursor: default;\n position: relative;\n\n &:focus-visible {\n outline-color: #000;\n outline-offset: -2px;\n box-shadow: 0 0 0 4px var(--document-list-widget-fill);\n border-radius: var(--document-list-radius);\n }\n\n &:active {\n outline: 0;\n box-shadow: 0;\n }\n\n &[aria-selected=\"true\"] {\n background: var(--document-list-selection-fill);\n color: var(--document-list-selection-line);\n .document-list-folder__toggle path {\n stroke: var(--document-list-selection-line);\n }\n .document-list__doclist > &:first-child {\n border-top-left-radius: var(--document-list-radius);\n border-top-right-radius: var(--document-list-radius);\n }\n .document-list__doclist > &:last-child {\n border-bottom-left-radius: var(--document-list-radius);\n border-bottom-right-radius: var(--document-list-radius);\n }\n }\n &[aria-checked=\"true\"] {\n outline: 2px dashed\n color-mix(in oklch, var(--document-list-line), transparent 50%);\n outline-offset: -4px;\n }\n &[data-dnd-dragging] {\n opacity: 0.4;\n }\n /* Spring-load: hovering a drag over this row opens the document after\n SPRING_LOAD_MS (see item.tsx). The highlight only fades in for the second\n half of the hold, so quick pass-overs never flash an animation. */\n &[data-dnd-springload] {\n animation: doclist-springload 0.75s ease-out 0.75s both;\n }\n &[data-dnd-droplist-state]::before {\n content: \"\";\n position: absolute;\n left: 0;\n margin-left: calc(var(--depth) * 1.75rem);\n right: 0;\n height: 2px;\n background: var(--document-list-line);\n }\n &[data-dnd-droplist-state=\"above\"]::before {\n top: -1px;\n }\n &[data-dnd-droplist-state=\"below\"]::before {\n bottom: -1px;\n }\n /* the rows a drop just put here (see flashLanded in drop-into.ts) */\n &[data-dnd-landed] {\n animation: doclist-landed 600ms ease-out both;\n }\n}\n\n@keyframes doclist-landed {\n 0% {\n background: transparent;\n }\n 30% {\n background: color-mix(in oklch, var(--document-list-primary), transparent 30%);\n }\n 100% {\n background: transparent;\n }\n}\n\n/* no pulse: it's lit when it lands, then fades */\n@keyframes doclist-landed-still {\n from {\n background: color-mix(in oklch, var(--document-list-primary), transparent 40%);\n }\n to {\n background: transparent;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .document-list-item[data-dnd-landed] {\n animation: doclist-landed-still 600ms linear both;\n }\n}\n\n@keyframes doclist-springload {\n from {\n background: transparent;\n }\n to {\n background: color-mix(\n in oklch,\n var(--document-list-primary),\n transparent 40%\n );\n }\n}\n\n.document-list-folder[data-drop-state=\"inside\"] {\n outline: 2px solid var(--document-list-primary);\n outline-offset: -2px;\n border-radius: var(--document-list-radius);\n background: color-mix(in oklch, var(--document-list-primary), transparent 50%);\n > .document-list-item::before {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n height: 2px;\n background: var(--document-list-line);\n bottom: 0;\n }\n [data-dnd-droplist-state]::before {\n display: none;\n }\n}\n\n.document-list__loading {\n display: flex;\n flex-direction: column;\n}\n\n.document-list-item--loading {\n pointer-events: none;\n padding-left: calc(1.8rem * var(--depth) + var(--doclist-padding-x));\n}\n\n/* In the loading-box, each skeleton keeps its own (inline) width so the stack\n reads as a list of distinct items rather than identical full-width bars. */\n.document-list__loading .document-list-item__skeleton {\n flex: 0 0 auto;\n}\n\n.document-list-item__skeleton {\n flex: 1;\n min-width: 0;\n max-width: 12rem;\n height: 0.75em;\n border-radius: 4px;\n background: linear-gradient(\n 90deg,\n var(--placeholder-line) 25%,\n color-mix(in oklch, var(--placeholder-line), transparent 65%) 50%,\n var(--placeholder-line) 75%\n );\n background-size: 200% 100%;\n opacity: 0.35;\n animation: doclist-skeleton-shimmer 1.2s ease-in-out infinite;\n}\n\n@keyframes doclist-skeleton-shimmer {\n from {\n background-position: 200% 0;\n }\n to {\n background-position: -200% 0;\n }\n}\n\n.document-list-item__name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n flex: 1;\n min-width: 0;\n &:is(input) {\n padding: 4px;\n margin: -4px;\n }\n}\n\n.document-list-folder__toggle {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n margin-left: -0.75ch;\n padding-inline: 0.25ch;\n &:hover {\n background: var(--document-list-toggle-hover);\n }\n\n & svg {\n width: 14px;\n height: 14px;\n }\n\n & path {\n stroke: var(--document-list-line-offset-20);\n }\n}\n\n.document-list-folder__contents--hidden {\n display: none;\n}\n\n.document-list-folder__circular-ref {\n padding: 0.5rem;\n padding-left: calc(2.2rem * var(--depth));\n color: var(--document-list-muted);\n font-style: italic;\n font-size: 0.9em;\n}\n\n.document-list__item {\n content-visibility: auto;\n contain-intrinsic-size: auto 2.25rem;\n}\n\n.document-list__item--invisible {\n display: none;\n}\n\n.document-list__item--visible,\n.document-list__item--invisible:has(.document-list__item--visible) {\n display: block;\n}\n\n.document-list-folder__contents .document-list-item {\n padding-left: calc(1.8rem * var(--depth));\n}\n\n.document-list-widget {\n width: 100%;\n background: var(--document-list-widget-fill);\n color: var(--document-list-widget-line);\n}\n\n.document-list-widget:empty {\n display: none;\n}\n\n/* the pending \"New document\" row created by dropping the new-doc button:\n renders like a normal list item, but italic and faded. */\n.document-list-placeholder {\n font-style: italic;\n color: var(--placeholder-line);\n}\n\n/* The menu content is portalled to document.body, so it misses the\n .document-list border-box rule. Without it, width:100% + padding makes\n sub-triggers overflow the menu horizontally, and hover-focus then scrolls\n the (overflow:auto) menu sideways, shifting its content to the left. */\n.popmenu__content,\n.popmenu__sub-content,\n.popmenu__content *,\n.popmenu__sub-content * {\n box-sizing: border-box;\n}\n\n.popmenu__trigger,\n.popmenu__sub-trigger {\n cursor: default;\n user-select: none;\n width: 100%;\n text-align: left;\n}\n\n.popmenu__sub-content,\n.popmenu__content {\n z-index: 2;\n min-width: 220px;\n max-height: min(400px, 50vh);\n overflow-y: auto;\n padding: 4px;\n background-color: var(--document-list-widget-fill);\n font-size: 0.8rem;\n border-radius: 6px;\n border: 1px solid var(--document-list-border);\n box-shadow:\n 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n outline: none;\n}\n/* A menu grows out of the click or its trigger (transform-origin is set in\n popmenu.tsx), quickly, since it's opened many times a day. Closing is\n instant, and so are submenus: they open on hover, and anything slower than\n the pointer reads as lag. */\n.popmenu__content {\n transition:\n opacity 150ms var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),\n scale 150ms var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));\n}\n@starting-style {\n .popmenu__content {\n opacity: 0;\n scale: 0.97;\n }\n}\n.popmenu__item,\n.popmenu__checkbox-item,\n.popmenu__radio-item,\n.popmenu__sub-trigger {\n font-size: 0.8rem;\n line-height: 1;\n color: var(--document-list-widget-line);\n border-radius: 4px;\n display: flex;\n align-items: center;\n height: 32px;\n padding-inline: 12px;\n padding-block: 6px;\n position: relative;\n user-select: none;\n outline: none;\n cursor: default;\n}\n.popmenu__sub-trigger[data-expanded] {\n background-color: var(--document-list-fill-offset);\n color: var(--document-list-line);\n}\n.popmenu__item[data-disabled],\n.popmenu__checkbox-item[data-disabled],\n.popmenu__radio-item[data-disabled],\n.popmenu__sub-trigger[data-disabled] {\n color: var(--document-list-muted);\n opacity: 0.5;\n pointer-events: none;\n}\n.popmenu__item[data-highlighted],\n.popmenu__checkbox-item[data-highlighted],\n.popmenu__radio-item[data-highlighted],\n.popmenu__sub-trigger[data-highlighted] {\n outline: none;\n background-color: var(--document-list-selection-fill);\n color: var(--document-list-selection-line);\n}\n\n.popmenu__item--highlighted {\n outline: none;\n background-color: var(--document-list-selection-fill);\n color: var(--document-list-selection-line);\n}\n\n.create-new-menu__content {\n scrollbar-gutter: stable;\n scrollbar-color: var(--document-list-border-strong) var(--document-list-widget-fill);\n scrollbar-width: thin;\n}\n\n.create-new-menu__content::-webkit-scrollbar {\n width: 10px;\n}\n\n.create-new-menu__content::-webkit-scrollbar-track {\n background: var(--document-list-widget-fill);\n}\n\n.create-new-menu__content::-webkit-scrollbar-thumb {\n background: var(--document-list-border-strong);\n border: 2px solid var(--document-list-widget-fill);\n border-radius: 999px;\n}\n\n.create-new-menu__content::-webkit-scrollbar-thumb:hover {\n background: var(--document-list-muted);\n}\n\n.create-new-filter {\n padding: 4px;\n}\n\n.create-new-filter__input {\n width: 100%;\n box-sizing: border-box;\n padding: 6px 8px;\n font-size: 0.8rem;\n border: 1px solid var(--document-list-border-strong);\n border-radius: 4px;\n background: var(--document-list-widget-fill);\n color: var(--document-list-widget-line);\n outline: none;\n}\n\n.create-new-filter__input:focus {\n border-color: var(--document-list-primary);\n}\n\n.create-new-filter__input::placeholder {\n color: var(--document-list-muted);\n}\n\n/* Combined chee/sideboard tool: the document list with the account bar pinned\n below it. The document-list panel fills; the bar sits at the bottom. */\n.sideboard {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n}\n\n.sideboard > .document-list {\n flex: 1;\n height: auto;\n min-height: 0;\n padding-bottom: 0;\n}\n\n/* The account bar: avatar (account picker), packages, settings. Usable as its\n own tool or pinned to the bottom of the combined sideboard. */\n.account-bar {\n container-type: inline-size;\n display: flex;\n align-items: center;\n gap: 1rem;\n min-height: 4rem;\n background: var(--account-bar-fill);\n color: var(--account-bar-line);\n border-top: 1px solid var(--document-list-divider);\n padding-block: 0.25rem;\n padding-bottom: calc(0.25rem + env(safe-area-inset-bottom));\n padding-left: calc(env(safe-area-inset-left) + var(--document-list-padding-x));\n padding-right: calc(env(safe-area-inset-right) + var(--document-list-padding-x));\n justify-content: space-between;\n}\n\n.account-bar__button {\n display: flex;\n align-items: center;\n border: 1px solid transparent;\n padding-inline: 0.25rem;\n padding-block: 0.125rem;\n border-radius: 3px;\n background: transparent;\n color: inherit;\n font: inherit;\n white-space: nowrap;\n cursor: pointer;\n}\n\n.account-bar__button:hover {\n border-color: var(--document-list-divider);\n}\n\n.account-bar__avatar patchwork-view {\n display: block;\n width: 100%;\n height: 100%;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["@layer package {\n:root,\n:host,\n[theme] {\n --document-list-fill: var(\n --studio-chrome,\n light-dark(\n color-mix(in oklch, var(--studio-secondary-fill, var(--studio-secondary, #33ccf8)), var(--studio-fill, white) 80%),\n black\n )\n );\n --document-list-fill-offset: color-mix(\n in oklab,\n var(--document-list-fill),\n oklch(1 0 0 / 1) 10%\n );\n --document-list-line: var(--studio-line, black);\n --document-list-line-offset-20: var(--studio-line-offset-20, #333);\n --document-list-widget-fill: var(--studio-fill, white);\n --document-list-widget-line: var(--document-list-line);\n\n --document-list-padding-x: 0.5rem;\n\n --document-list-radius: 0.275rem;\n --placeholder-line: var(--studio-line-offset-50, #808e80);\n --document-list-search-line: var(--studio-line, #000);\n\n --document-list-primary: var(--studio-primary-fill, var(--studio-primary, #35f7ca));\n --document-list-primary-line: var(--studio-primary-line, var(--studio-line, black));\n --document-list-selection-fill: var(--document-list-primary);\n --document-list-selection-line: var(--document-list-primary-line);\n\n --document-list-create-new-fill: var(--studio-fill, white);\n --document-list-create-new-line: color-mix(\n in oklch,\n var(--document-list-primary),\n var(--studio-line, black) 30%\n );\n --document-list-create-new-border-line: color-mix(\n in oklch,\n var(--document-list-primary),\n var(--document-list-create-new-fill) 50%\n );\n --document-list-create-new-shadow-color: color-mix(\n in oklch,\n var(--document-list-fill),\n var(--document-list-line) 10%\n );\n\n --document-list-family: var(--studio-family-sans, system-ui, sans-serif);\n --document-list-family-code: var(--studio-family-code, ui-monospace, monospace);\n --document-list-muted: var(--studio-line-offset-40, #666);\n --document-list-border: var(--studio-fill-offset-10, #e5e5e5);\n --document-list-border-strong: var(--studio-fill-offset-20, #ccc);\n /* subtle divider on the document-list's chrome surface - the same base-theme\n token the patchwork-frame sidebar divider uses (chrome mixed toward the\n chrome ink, so it tracks the palette and reads correctly light/dark). */\n --document-list-divider: var(--studio-chrome-offset-20, #d4d4d4);\n --document-list-added: var(--studio-added, #35f7ca);\n --document-list-danger: var(--studio-danger-text, var(--studio-danger, #ff6a90));\n --document-list-toggle-hover: color-mix(in oklch, var(--studio-line, black), transparent 93%);\n --account-bar-fill: var(--studio-chrome-offset-10);\n /* ink on the account-bar's chrome surface: rides the chrome ink ramp, not\n --document-list-line (which is content ink and tracks the list surface). */\n --account-bar-line: var(--studio-chrome-line, var(--studio-line, black));\n}\n}\n\nbutton {\n background: none;\n border: none;\n font: inherit;\n color: inherit;\n cursor: var(--studio-cursor-pointer, pointer);\n padding: 0;\n}\n\n.document-list,\n.document-list * {\n box-sizing: border-box;\n}\n\n.document-list {\n background: var(--document-list-fill);\n display: flex;\n height: 100%;\n flex-direction: column;\n gap: 0.75rem;\n font-family: var(--document-list-family);\n padding-inline: var(--document-list-padding-x);\n /* Space above the doclist. Defaults to just the top safe-area inset; hosts\n like patchwork-frame override --document-list-top-margin to also clear their\n own header. Declared via the var() fallback (not on :host) so an ancestor's\n value can cascade in. */\n padding-top: var(--document-list-top-margin, env(safe-area-inset-top, 0px));\n padding-bottom: env(safe-area-inset-bottom);\n --depth: 0;\n .document-list-close-button {\n display: flex;\n align-items: center;\n align-self: flex-start;\n padding: 0.25rem;\n margin-top: 12px;\n margin-left: -2px;\n background: transparent;\n border: none;\n cursor: var(--studio-cursor-pointer, pointer);\n opacity: 0.5;\n color: var(--document-list-line);\n }\n\n .document-list-close-button:hover {\n opacity: 1;\n }\n}\n\n.create-new-button {\n display: flex;\n padding-inline: 0.75rem;\n padding-block: 0.375rem;\n border: none;\n border-radius: var(--document-list-radius);\n background: var(--document-list-create-new-fill);\n color: var(--document-list-line);\n font-weight: 400;\n align-items: center;\n justify-content: start;\n white-space: nowrap;\n font-size: 0.9rem;\n text-align: left;\n gap: 1ex;\n position: relative;\n flex-shrink: 0;\n}\n\n.create-new-button__icon {\n stroke: var(--document-list-line-offset-20);\n}\n\n/* square, icon-only variant used in the doclist toolbar; also the drag handle\n for creating a doc at a specific spot. */\n.create-new-button--square {\n width: 2rem;\n height: 2rem;\n padding: 0;\n justify-content: center;\n cursor: var(--studio-cursor-grab, grab);\n /* icon rides a little paler than the full ink at rest */\n color: color-mix(in oklch, var(--document-list-line), transparent 35%);\n transition:\n color max(1ms, calc(0.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease,\n box-shadow max(1ms, calc(0.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease;\n}\n\n/* darken and grow a little buttony shadow on hover */\n.create-new-button--square:hover {\n color: var(--document-list-line);\n box-shadow: var(--studio-shadow, 0 1px 3px rgb(0 0 0 / 0.1), 0 1px 2px rgb(0 0 0 / 0.06));\n}\n\n.create-new-button--square:active {\n cursor: var(--studio-cursor-grabbing, grabbing);\n}\n\n/* the visible button handles click + drag; a 0-size aria-hidden Kobalte trigger\n overlays it purely to anchor the dropdown menu. */\n.create-new-button-anchor {\n position: relative;\n display: flex;\n flex-shrink: 0;\n}\n\n\n/* sticky toolbar pinned to the top of the scrolling doclist: square new-doc\n button + filter, laid out horizontally. */\n.document-list__toolbar {\n position: sticky;\n top: 0;\n z-index: 3;\n display: flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.375rem;\n background: var(--document-list-widget-fill);\n border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--document-list-divider);\n}\n\n.document-list__toolbar .document-list__filter-container {\n flex: 1;\n min-width: 0;\n}\n\n.icon {\n height: 1em;\n}\n\n.document-list__filter-container {\n position: relative;\n font-size: 0.875rem;\n border-radius: var(--document-list-radius);\n .search-icon {\n height: 1em;\n top: 0.4lh;\n left: 2px;\n position: absolute;\n z-index: 1;\n stroke: var(--placeholder-line);\n }\n &:focus-within {\n .search-icon {\n stroke: var(--document-list-line);\n }\n }\n}\n\n.document-list__filter {\n width: 100%;\n\n background: var(--document-list-widget-fill);\n color: var(--document-list-widget-line);\n\n padding-left: 2em;\n padding-right: 0.75rem;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n border: none;\n border-radius: var(--document-list-radius);\n\n &::placeholder {\n color: var(--placeholder-line);\n }\n\n &:focus-visible {\n outline-color: var(--sidebar-widget-line);\n outline-offset: var(--studio-focus-ring-offset, 1px);\n box-shadow: 0 0 0 4px #fff;\n border-radius: var(--document-list-radius);\n }\n}\n\n.document-list__doclist {\n --doclist-padding-x: 0.75rem;\n display: flex;\n flex-direction: column;\n border-radius: var(--document-list-radius);\n box-shadow: 0 1px 2px rgba(0, 20, 50, 0.05);\n width: 100%;\n max-height: 100%;\n overflow: scroll;\n transition:\n background-color max(1ms, calc(0.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease,\n box-shadow max(1ms, calc(0.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease;\n\n &::-webkit-scrollbar {\n display: none;\n }\n}\n\n/* a drag past the last row: the line goes after it (see endSpot in dnd.ts) */\n.document-list__doclist[data-drop-state=\"end\"]::after {\n content: \"\";\n flex: none;\n height: 2px;\n margin-inline: var(--doclist-padding-x);\n background: var(--document-list-line);\n}\n\n/* why a drop didn't happen. sticks to the bottom of the list so it's seen\n wherever the list is scrolled to. */\n.document-list__error {\n position: sticky;\n bottom: 0.5rem;\n margin: 0.5rem;\n padding: 0.5rem 0.75rem;\n border-radius: var(--document-list-radius);\n background: var(--document-list-widget-fill);\n color: var(--document-list-danger);\n box-shadow: 0 0 0 1px currentColor inset, 0 2px 8px rgba(0, 0, 0, 0.1);\n font-size: 0.875rem;\n}\n\n.document-list-item {\n display: flex;\n gap: 0.25ch;\n padding-inline: var(--doclist-padding-x);\n padding-block: 0.5rem;\n font-weight: 400;\n color: var(--sidebar-widget-line);\n cursor: var(--studio-cursor-default, default);\n position: relative;\n\n &:focus-visible {\n outline-color: #000;\n outline-offset: var(--studio-focus-ring-offset, -2px);\n box-shadow: 0 0 0 4px var(--document-list-widget-fill);\n border-radius: var(--document-list-radius);\n }\n\n &:active {\n outline: 0;\n box-shadow: 0;\n }\n\n &[aria-selected=\"true\"] {\n background: var(--document-list-selection-fill);\n color: var(--document-list-selection-line);\n .document-list-folder__toggle path {\n stroke: var(--document-list-selection-line);\n }\n .document-list__doclist > &:first-child {\n border-top-left-radius: var(--document-list-radius);\n border-top-right-radius: var(--document-list-radius);\n }\n .document-list__doclist > &:last-child {\n border-bottom-left-radius: var(--document-list-radius);\n border-bottom-right-radius: var(--document-list-radius);\n }\n }\n &[aria-checked=\"true\"] {\n outline: 2px dashed\n color-mix(in oklch, var(--document-list-line), transparent 50%);\n outline-offset: -4px;\n }\n &[data-dnd-dragging] {\n opacity: 0.4;\n }\n /* Spring-load: hovering a drag over this row opens the document after\n SPRING_LOAD_MS (see item.tsx). The highlight only fades in for the second\n half of the hold, so quick pass-overs never flash an animation. */\n &[data-dnd-springload] {\n animation: doclist-springload max(1ms, calc(0.75s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease-out 0.75s both;\n }\n &[data-dnd-droplist-state]::before {\n content: \"\";\n position: absolute;\n left: 0;\n margin-left: calc(var(--depth) * 1.75rem);\n right: 0;\n height: 2px;\n background: var(--document-list-line);\n }\n &[data-dnd-droplist-state=\"above\"]::before {\n top: -1px;\n }\n &[data-dnd-droplist-state=\"below\"]::before {\n bottom: -1px;\n }\n /* the rows a drop just put here (see flashLanded in drop-into.ts) */\n &[data-dnd-landed] {\n animation: doclist-landed max(1ms, calc(600ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease-out both;\n }\n}\n\n@keyframes doclist-landed {\n 0% {\n background: transparent;\n }\n 30% {\n background: color-mix(in oklch, var(--document-list-primary), transparent 30%);\n }\n 100% {\n background: transparent;\n }\n}\n\n/* no pulse: it's lit when it lands, then fades */\n@keyframes doclist-landed-still {\n from {\n background: color-mix(in oklch, var(--document-list-primary), transparent 40%);\n }\n to {\n background: transparent;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .document-list-item[data-dnd-landed] {\n animation: doclist-landed-still max(1ms, calc(600ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) linear both;\n }\n}\n\n@keyframes doclist-springload {\n from {\n background: transparent;\n }\n to {\n background: color-mix(\n in oklch,\n var(--document-list-primary),\n transparent 40%\n );\n }\n}\n\n.document-list-folder[data-drop-state=\"inside\"] {\n outline: 2px solid var(--document-list-primary);\n outline-offset: -2px;\n border-radius: var(--document-list-radius);\n background: color-mix(in oklch, var(--document-list-primary), transparent 50%);\n > .document-list-item::before {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n height: 2px;\n background: var(--document-list-line);\n bottom: 0;\n }\n [data-dnd-droplist-state]::before {\n display: none;\n }\n}\n\n.document-list__loading {\n display: flex;\n flex-direction: column;\n}\n\n.document-list-item--loading {\n pointer-events: none;\n padding-left: calc(1.8rem * var(--depth) + var(--doclist-padding-x));\n}\n\n/* In the loading-box, each skeleton keeps its own (inline) width so the stack\n reads as a list of distinct items rather than identical full-width bars. */\n.document-list__loading .document-list-item__skeleton {\n flex: 0 0 auto;\n}\n\n.document-list-item__skeleton {\n flex: 1;\n min-width: 0;\n max-width: 12rem;\n height: 0.75em;\n border-radius: 4px;\n background: linear-gradient(\n 90deg,\n var(--placeholder-line) 25%,\n color-mix(in oklch, var(--placeholder-line), transparent 65%) 50%,\n var(--placeholder-line) 75%\n );\n background-size: 200% 100%;\n opacity: 0.35;\n animation: doclist-skeleton-shimmer 1.2s ease-in-out infinite;\n}\n\n@keyframes doclist-skeleton-shimmer {\n from {\n background-position: 200% 0;\n }\n to {\n background-position: -200% 0;\n }\n}\n\n.document-list-item__name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n flex: 1;\n min-width: 0;\n &:is(input) {\n padding: 4px;\n margin: -4px;\n }\n}\n\n.document-list-folder__toggle {\n display: inline-flex;\n align-items: center;\n cursor: var(--studio-cursor-pointer, pointer);\n margin-left: -0.75ch;\n padding-inline: 0.25ch;\n &:hover {\n background: var(--document-list-toggle-hover);\n }\n\n & svg {\n width: 14px;\n height: 14px;\n }\n\n & path {\n stroke: var(--document-list-line-offset-20);\n }\n}\n\n.document-list-folder__contents--hidden {\n display: none;\n}\n\n.document-list-folder__circular-ref {\n padding: 0.5rem;\n padding-left: calc(2.2rem * var(--depth));\n color: var(--document-list-muted);\n font-style: italic;\n font-size: 0.9em;\n}\n\n.document-list__item {\n content-visibility: auto;\n contain-intrinsic-size: auto 2.25rem;\n}\n\n.document-list__item--invisible {\n display: none;\n}\n\n.document-list__item--visible,\n.document-list__item--invisible:has(.document-list__item--visible) {\n display: block;\n}\n\n.document-list-folder__contents .document-list-item {\n padding-left: calc(1.8rem * var(--depth));\n}\n\n.document-list-widget {\n width: 100%;\n background: var(--document-list-widget-fill);\n color: var(--document-list-widget-line);\n}\n\n.document-list-widget:empty {\n display: none;\n}\n\n/* the pending \"New document\" row created by dropping the new-doc button:\n renders like a normal list item, but italic and faded. */\n.document-list-placeholder {\n font-style: italic;\n color: var(--placeholder-line);\n}\n\n/* The menu content is portalled to document.body, so it misses the\n .document-list border-box rule. Without it, width:100% + padding makes\n sub-triggers overflow the menu horizontally, and hover-focus then scrolls\n the (overflow:auto) menu sideways, shifting its content to the left. */\n.popmenu__content,\n.popmenu__sub-content,\n.popmenu__content *,\n.popmenu__sub-content * {\n box-sizing: border-box;\n}\n\n.popmenu__trigger,\n.popmenu__sub-trigger {\n cursor: var(--studio-cursor-default, default);\n user-select: none;\n width: 100%;\n text-align: left;\n}\n\n.popmenu__sub-content,\n.popmenu__content {\n z-index: 2;\n min-width: 220px;\n max-height: min(400px, 50vh);\n overflow-y: auto;\n padding: 4px;\n background-color: var(--document-list-widget-fill);\n font-size: 0.8rem;\n border-radius: 6px;\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--document-list-border);\n box-shadow:\n 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n outline: none;\n}\n/* A menu grows out of the click or its trigger (transform-origin is set in\n popmenu.tsx), quickly, since it's opened many times a day. Closing is\n instant, and so are submenus: they open on hover, and anything slower than\n the pointer reads as lag. */\n.popmenu__content {\n transition:\n opacity max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),\n scale max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));\n}\n@starting-style {\n .popmenu__content {\n opacity: 0;\n scale: 0.97;\n }\n}\n.popmenu__item,\n.popmenu__checkbox-item,\n.popmenu__radio-item,\n.popmenu__sub-trigger {\n font-size: 0.8rem;\n line-height: 1;\n color: var(--document-list-widget-line);\n border-radius: 4px;\n display: flex;\n align-items: center;\n height: 32px;\n padding-inline: 12px;\n padding-block: 6px;\n position: relative;\n user-select: none;\n outline: none;\n cursor: var(--studio-cursor-default, default);\n}\n.popmenu__sub-trigger[data-expanded] {\n background-color: var(--document-list-fill-offset);\n color: var(--document-list-line);\n}\n.popmenu__item[data-disabled],\n.popmenu__checkbox-item[data-disabled],\n.popmenu__radio-item[data-disabled],\n.popmenu__sub-trigger[data-disabled] {\n color: var(--document-list-muted);\n opacity: var(--studio-disabled-opacity, 0.5);\n pointer-events: none;\n}\n.popmenu__item[data-highlighted],\n.popmenu__checkbox-item[data-highlighted],\n.popmenu__radio-item[data-highlighted],\n.popmenu__sub-trigger[data-highlighted] {\n outline: none;\n background-color: var(--document-list-selection-fill);\n color: var(--document-list-selection-line);\n}\n\n.popmenu__item--highlighted {\n outline: none;\n background-color: var(--document-list-selection-fill);\n color: var(--document-list-selection-line);\n}\n\n.create-new-menu__content {\n scrollbar-gutter: stable;\n scrollbar-color: var(--document-list-border-strong) var(--document-list-widget-fill);\n scrollbar-width: thin;\n}\n\n.create-new-menu__content::-webkit-scrollbar {\n width: 10px;\n}\n\n.create-new-menu__content::-webkit-scrollbar-track {\n background: var(--document-list-widget-fill);\n}\n\n.create-new-menu__content::-webkit-scrollbar-thumb {\n background: var(--document-list-border-strong);\n border: 2px solid var(--document-list-widget-fill);\n border-radius: 999px;\n}\n\n.create-new-menu__content::-webkit-scrollbar-thumb:hover {\n background: var(--document-list-muted);\n}\n\n.create-new-filter {\n padding: 4px;\n}\n\n.create-new-filter__input {\n width: 100%;\n box-sizing: border-box;\n padding: 6px 8px;\n font-size: 0.8rem;\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--document-list-border-strong);\n border-radius: 4px;\n background: var(--document-list-widget-fill);\n color: var(--document-list-widget-line);\n outline: none;\n}\n\n.create-new-filter__input:focus {\n border-color: var(--document-list-primary);\n}\n\n.create-new-filter__input::placeholder {\n color: var(--document-list-muted);\n}\n\n/* Combined chee/sideboard tool: the document list with the account bar pinned\n below it. The document-list panel fills; the bar sits at the bottom. */\n.sideboard {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n}\n\n.sideboard > .document-list {\n flex: 1;\n height: auto;\n min-height: 0;\n padding-bottom: 0;\n}\n\n/* The account bar: avatar (account picker), packages, settings. Usable as its\n own tool or pinned to the bottom of the combined sideboard. */\n.account-bar {\n container-type: inline-size;\n display: flex;\n align-items: center;\n gap: 1rem;\n min-height: 4rem;\n background: var(--account-bar-fill);\n color: var(--account-bar-line);\n border-top: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--document-list-divider);\n padding-block: 0.25rem;\n padding-bottom: calc(0.25rem + env(safe-area-inset-bottom));\n padding-left: calc(env(safe-area-inset-left) + var(--document-list-padding-x));\n padding-right: calc(env(safe-area-inset-right) + var(--document-list-padding-x));\n justify-content: space-between;\n}\n\n.account-bar__button {\n display: flex;\n align-items: center;\n border: var(--studio-border-width, 1px) var(--studio-border-style, solid) transparent;\n padding-inline: 0.25rem;\n padding-block: 0.125rem;\n border-radius: 3px;\n background: transparent;\n color: inherit;\n font: inherit;\n white-space: nowrap;\n cursor: var(--studio-cursor-pointer, pointer);\n}\n\n.account-bar__button:hover {\n border-color: var(--document-list-divider);\n}\n\n.account-bar__avatar patchwork-view {\n display: block;\n width: 100%;\n height: 100%;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- import"./chunk-FW4363Y4.js";async function n(){let e=new URL("./index.css",import.meta.url);return(await fetch(e)).text()}function r(e){let t="sideboard-styles",o=document.head.querySelector(`#${t}`)??document.createElement("style");Object.assign(o,{textContent:e,id:t}),document.head.append(o)}var a={id:"chee/document-list",type:"patchwork:tool",name:"Document List",supportedDatatypes:["folder"],icon:"FolderOpen",unlisted:!0,async load(){let[{renderDocumentListPanel:e},t]=await Promise.all([import("./document-list-panel-SCICIJCF.js"),n()]);return(o,i)=>(r(t),e(o.url,i))}},c=[a,Object.assign({},a,{id:"folder-tree-view",name:"Folder Tree View",icon:"Tree",unlisted:!1}),{id:"chee/account-bar",type:"patchwork:tool",name:"Account Bar",supportedDatatypes:["account"],icon:"UserCircle",unlisted:!0,async load(){let[{renderAccountBar:e},t]=await Promise.all([import("./account-bar-JHI3FZZT.js"),n()]);return(o,i)=>(r(t),e(o,i))}},{id:"chee/sideboard",type:"patchwork:tool",tags:["sidebar-account"],name:"Sideboard",supportedDatatypes:["account"],icon:"FolderOpen",unlisted:!0,async load(){let[{renderSideboard:e},t]=await Promise.all([import("./sideboard/sideboard.js"),n()]);return(o,i)=>(r(t),e(o,i))}}];export{c as plugins};
1
+ import"./chunk-FW4363Y4.js";async function r(){let e=new URL("./index.css",import.meta.url);return(await fetch(e)).text()}function n(e){let t="sideboard-styles",o=document.head.querySelector(`#${t}`)??document.createElement("style");Object.assign(o,{textContent:e,id:t}),document.head.append(o)}var a={id:"chee/document-list",type:"patchwork:tool",name:"Document List",supportedDatatypes:["folder"],icon:"FolderOpen",unlisted:!0,async load(){let[{renderDocumentListPanel:e},t]=await Promise.all([import("./document-list-panel-SCICIJCF.js"),r()]);return(o,i)=>(n(t),e(o.url,i))}},c=[a,Object.assign({},a,{id:"folder-tree-view",name:"Folder Tree View",icon:"Tree",unlisted:!1}),{id:"chee/account-bar",type:"patchwork:tool",name:"Account Bar",supportedDatatypes:["account"],icon:"UserCircle",unlisted:!0,async load(){let[{renderAccountBar:e},t]=await Promise.all([import("./account-bar-JHI3FZZT.js"),r()]);return(o,i)=>(n(t),e(o,i))}},{id:"chee/sideboard",type:"patchwork:tool",tags:["sidebar-account"],name:"Sideboard",supportedDatatypes:["account"],icon:"FolderOpen",unlisted:!0,async load(){let[{renderSideboard:e},t]=await Promise.all([import("./sideboard/sideboard.js"),r()]);return(o,i)=>(n(t),e(o,i))}}];export{c as plugins};
2
2
  //# sourceMappingURL=index.js.map
@@ -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;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
- 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
- //# sourceMappingURL=SyncIndicator-B2ag1OoZ.js.map
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:var(--studio-cursor-pointer, 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:var(--studio-cursor-pointer, pointer)}.sync-trigger-offline:hover{background:var(--studio-hover-fill, var(--sync-hover))}.sync-popover-wrapper{display:inline-block}.sync-popover{position:fixed;z-index:var(--studio-layer-popover, 2147483647);width:288px;border-radius:6px;border:var(--studio-border-width, 1px) var(--studio-border-style, 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 max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(.23, 1, .32, 1)),scale max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) 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:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--sync-border);border-radius:4px;padding:6px 8px;font-size:12px;color:var(--sync-dim)}.sync-peer-clickable{cursor:var(--studio-cursor-pointer, pointer)}.sync-peer-clickable:hover{background:var(--studio-hover-fill, 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:var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--sync-border)}.sync-copy-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:none;border:none;cursor:var(--studio-cursor-pointer, pointer);height:28px;padding:0 8px;font-size:12px}.sync-copy-btn:hover{background:var(--studio-hover-fill, var(--sync-hover));color:var(--sync-fg)}")),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
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="var(--studio-layer-raised, 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
+ //# sourceMappingURL=SyncIndicator-oVMcVRXg.js.map