@pixelmatters/markup 1.23.0 → 1.24.0
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.
- package/README.md +9 -7
- package/dist/widget.js +534 -383
- package/dist/widget.js.map +1 -1
- package/package.json +1 -1
- package/skills/install-markup-widget/SKILL.md +4 -4
package/dist/widget.js
CHANGED
|
@@ -248,7 +248,7 @@ e = h.slice, t = { __e: function(e, t, n, r) {
|
|
|
248
248
|
}, O.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f = ne(!1), p = ne(!0);
|
|
249
249
|
//#endregion
|
|
250
250
|
//#region src/styles.css?inline
|
|
251
|
-
var fe = ":host{--markup-paper:#fdfcfa;--markup-surface:#fff;--markup-surface-2:oklch(98.5% .002 250);--markup-surface-3:oklch(95% .003 250);--markup-hover:oklch(95% .003 250);--markup-ink:#1a1614;--markup-ink-soft:oklch(32% .005 250);--markup-muted:#6b6661;--markup-border:#1a16141a;--markup-border-strong:#1a16142e;--markup-brand:#e35d2a;--markup-brand-hover:#c84d20;--markup-accent-soft:oklch(95% .04 60);--markup-accent-ink:oklch(45% .14 38);--markup-accent-glow:color-mix(in srgb, var(--markup-brand) 28%, transparent);--markup-team:#2a4ac8;--markup-shadow:0 1px 2px #1a16140f, 0 8px 28px #1a16141f;--markup-shadow-toolbar:0 1px 1px #0000000a, 0 4px 10px -2px #0f14281a, 0 18px 36px -12px #0f14282e;--markup-shadow-pop:0 1px 1px #0000000a, 0 8px 24px -6px #0f14281f, 0 28px 60px -18px #0f142838;--markup-overlay-tint:#1a16140a;--markup-danger:#dc2626;--markup-success:oklch(62% .16 150);--markup-radius:6px;--markup-radius-sm:4px;--markup-font:\"Geist Variable\", \"Geist\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", system-ui, sans-serif;--markup-font-mono:\"Geist Mono Variable\", \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;all:initial;font-family:var(--markup-font);color:var(--markup-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}:host([data-theme=dark]){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}@media (prefers-color-scheme:dark){:host(:not([data-theme])){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}}.markup-sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-shadow-root{font-family:var(--markup-font)}.markup-shadow-root *,.markup-shadow-root :before,.markup-shadow-root :after{box-sizing:border-box}:where(.markup-shadow-root button,.markup-shadow-root input,.markup-shadow-root textarea){font:inherit;color:inherit}.markup-eyebrow{font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--markup-muted);font-size:10px;font-weight:500}.markup-toolbar{z-index:10;background:var(--markup-surface);border:1px solid var(--markup-border);pointer-events:none;height:44px;box-shadow:var(--markup-shadow-toolbar);border-radius:9999px;align-items:center;gap:2px;padding:4px;transition:box-shadow .15s,left .22s cubic-bezier(.2,.7,.2,1),transform .22s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:fixed;bottom:22px;left:100%;transform:translate(calc(-100% - 22px))}.markup-toolbar>*{pointer-events:auto}.markup-tb-btn{width:36px;height:36px;color:var(--markup-ink-soft);cursor:pointer;touch-action:none;font-family:var(--markup-font);background:0 0;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:500;transition:background .12s,color .12s,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:relative}.markup-tb-btn:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-tb-btn:active{transform:scale(.97)}.markup-tb-btn:focus-visible{box-shadow:0 0 0 2px var(--markup-surface), 0 0 0 4px var(--markup-accent-glow);outline:none}.markup-tb-btn[data-on=true]{background:var(--markup-ink);color:var(--markup-paper)}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}}:host([data-theme=dark]) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}.markup-tb-btn[data-armed=true]{background:var(--markup-brand);color:#fff}.markup-tb-btn[data-armed=true]:hover{background:var(--markup-brand-hover);color:#fff}.markup-tb-btn[disabled]{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);cursor:default}.markup-tb-btn[disabled]:hover{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);background:0 0}.markup-tb-btn[data-kind=identity]{gap:6px;width:auto;padding:0 4px}.markup-tb-avatar{background:var(--markup-surface-3);width:28px;height:28px;font-family:var(--markup-font-mono);color:var(--markup-ink);border:1px solid var(--markup-border);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:10.5px;font-weight:600;display:inline-flex;overflow:hidden}.markup-tb-avatar.is-anon{color:var(--markup-muted);background:var(--markup-surface-2)}.markup-tb-sep{background:var(--markup-border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.markup-tb-badge{background:var(--markup-brand);color:#fff;min-width:16px;height:16px;font-family:var(--markup-font-mono);box-shadow:0 0 0 2px var(--markup-surface);pointer-events:none;border-radius:9999px;justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:600;line-height:1;transition:transform .15s cubic-bezier(.2,.7,.2,1),opacity .15s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:absolute;top:0;right:0}.markup-tb-badge[data-unread=false]{opacity:0;transform:scale(.5)}.markup-toolbar-left{left:0;transform:translate(22px)}.markup-toolbar-center{left:50%;transform:translate(-50%)}.markup-toolbar-right{left:100%;transform:translate(calc(-100% - 22px))}.markup-pop{background:var(--markup-surface);border:1px solid var(--markup-border);box-shadow:var(--markup-shadow-pop);color:var(--markup-ink);z-index:11;border-radius:12px;font-size:13px;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:absolute;bottom:calc(100% + 8px);overflow:hidden}.markup-pop[data-pop=overflow]{width:260px;padding:6px}.markup-pop[data-pop=identity]{width:240px;padding:6px}.markup-pop[data-pop=inbox]{width:380px;padding:0}.markup-pop.is-anchor-right{right:0}.markup-pop.is-anchor-left{left:0}.markup-pop.is-anchor-center{left:50%;transform:translate(-50%)}@keyframes markup-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.markup-pop.is-anchor-center{animation-name:markup-pop-in-center}@keyframes markup-pop-in-center{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.markup-pop-group-label{font-family:var(--markup-font-mono);letter-spacing:.06em;color:var(--markup-muted);text-transform:lowercase;padding:8px 10px 4px;font-size:10px}.markup-segmented-row{border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.markup-segmented-row .lbl{min-width:0;color:var(--markup-ink);flex:1;font-size:13px}.markup-segmented{background:var(--markup-surface-3);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.markup-segmented button{font:inherit;width:28px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:inline-flex}.markup-segmented button:hover{color:var(--markup-ink)}.markup-segmented button.is-on{background:var(--markup-surface);color:var(--markup-ink);box-shadow:0 1px 2px #0000000d}.markup-menu-row{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:7px 8px;font-family:inherit;font-size:13px;display:flex}.markup-menu-row:hover{background:var(--markup-hover)}.markup-menu-row:disabled{opacity:.5;cursor:default}.markup-menu-row:disabled:hover{background:0 0}.markup-menu-row .ic{width:16px;height:16px;color:var(--markup-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.markup-menu-row .lbl{flex-direction:column;flex:1;min-width:0;display:flex}.markup-menu-row .lbl .sub{color:var(--markup-muted);margin-top:1px;font-size:11px}.markup-menu-row .right{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10.5px}.markup-menu-row.is-danger,.markup-menu-row.is-danger .ic{color:var(--markup-danger)}.markup-menu-row.is-danger:hover{background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-menu-row .switch{background:var(--markup-border-strong);border-radius:9999px;flex-shrink:0;width:26px;height:16px;transition:background .12s;position:relative}.markup-menu-row .switch:after{content:\"\";background:var(--markup-surface);border-radius:9999px;width:12px;height:12px;transition:left .12s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.markup-menu-row[data-on=true] .switch{background:var(--markup-brand)}.markup-menu-row[data-on=true] .switch:after{left:12px}.markup-menu-divider{background:var(--markup-border);height:1px;margin:4px 0}.markup-brand-line{font-family:var(--markup-font-mono);color:var(--markup-muted);border-top:1px solid var(--markup-border);align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:10.5px;text-decoration:none;display:flex}.markup-brand-line:hover{color:var(--markup-ink)}.markup-brand-line svg{color:var(--markup-brand)}.markup-brand-line .ver{margin-left:auto}.markup-id-who{border-bottom:1px solid var(--markup-border);flex-direction:column;gap:2px;margin-bottom:4px;padding:10px 8px 12px;display:flex}.markup-id-who .nm{color:var(--markup-ink);font-size:13.5px;font-weight:600}.markup-id-who .em{font-family:var(--markup-font-mono);color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.markup-id-anon{text-align:left;flex-direction:column;gap:10px;padding:14px 10px;display:flex}.markup-id-anon .h{letter-spacing:-.005em;color:var(--markup-ink);font-size:14px;font-weight:600}.markup-id-anon .sub{color:var(--markup-muted);font-size:12.5px;line-height:18px}.markup-id-anon button:not(.markup-menu-row){background:var(--markup-ink);width:100%;color:var(--markup-paper);height:32px;font:inherit;cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.markup-id-anon button:disabled{opacity:.7;cursor:default}.markup-id-anon button:not(.markup-menu-row):hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-surface))}.markup-hud-hidden-toast{z-index:10;background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;animation:.22s ease-out markup-hud-hidden-in,.32s ease-in 4.6s forwards markup-hud-hidden-out;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast-right{right:24px}.markup-hud-hidden-toast-left{left:24px}.markup-hud-hidden-toast-center{width:max-content;margin-inline:auto;left:0;right:0}.markup-kbd{background:color-mix(in srgb, var(--markup-paper) 14%, transparent);min-width:18px;height:18px;color:var(--markup-paper);font-family:var(--markup-font);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.markup-kbd.is-inline{background:color-mix(in srgb, var(--markup-ink) 8%, transparent);min-width:14px;height:14px;color:var(--markup-muted);border-radius:3px;padding:0 3px;font-size:9.5px}@keyframes markup-hud-hidden-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes markup-hud-hidden-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.markup-pins-layer{pointer-events:none;position:fixed;inset:0}.markup-pin{border:2px solid var(--markup-paper);background:var(--markup-brand);color:#fff;width:28px;height:28px;font-family:var(--markup-font-mono);cursor:pointer;pointer-events:auto;box-shadow:0 4px 14px -4px #00000059, 0 0 0 1px color-mix(in srgb, var(--markup-brand) 50%, transparent);border-radius:999px 999px 999px 4px;justify-content:center;align-items:center;margin:0;padding:0;font-size:11.5px;font-weight:600;line-height:1;transition:background .15s,color .15s,opacity .15s,top .2s,left .2s;display:inline-flex;position:absolute;transform:translate(-50%,-100%)}.markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 92%, black)}:host([data-theme=dark]) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}}.markup-pin.is-active{background:var(--markup-brand);color:#fff;border-color:var(--markup-paper)}.markup-pin.is-anchor{anchor-name:--markup-active-anchor}.markup-pin.is-unresolved{opacity:.6}.markup-pin.is-closed,.markup-pin.is-closed.is-active{background:var(--markup-paper);color:var(--markup-muted);border-color:var(--markup-muted);box-shadow:0 4px 14px -4px #00000040}.markup-pin.is-closed:hover{background:var(--markup-paper);color:var(--markup-ink)}.markup-pin-ghost{background:var(--markup-brand);color:#fff;cursor:default;pointer-events:none;animation:1.2s ease-in-out infinite markup-ghost-pulse}.markup-pin-num{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.markup-pin-count{background:var(--markup-ink);min-width:16px;height:16px;color:var(--markup-paper);font-family:var(--markup-font-mono);text-align:center;border:2px solid var(--markup-paper);pointer-events:none;border-radius:999px;padding:0 4px;font-size:9.5px;font-weight:600;line-height:12px;position:absolute;top:-6px;right:-8px}@keyframes markup-ghost-pulse{0%,to{box-shadow:0 4px 14px -4px #00000059,0 0 #e35d2a66}50%{box-shadow:0 4px 14px -4px #00000059,0 0 0 10px #e35d2a00}}.markup-placement-overlay{background:var(--markup-overlay-tint);pointer-events:none;z-index:1;animation:.18s ease-out markup-overlay-in;position:fixed;inset:0}.markup-placement-cursor-help{background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:500;animation:.22s ease-out 60ms backwards markup-help-in;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes markup-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes markup-help-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.markup-popover{width:360px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);inset:auto;left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);background:var(--markup-paper);color:var(--markup-ink);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);box-shadow:var(--markup-shadow);pointer-events:auto;flex-direction:column;gap:0;margin:0;padding:0;animation:.16s ease-out markup-popover-in;display:flex;position:fixed;overflow:hidden}@supports (anchor-name:--x){.markup-popover{position-anchor:--markup-active-anchor;left:calc(anchor(right) + 8px);top:calc(anchor(top) - 9px);position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;position-try-order:most-block-size}.markup-popover.is-floating{left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);position-try-fallbacks:none}}.markup-popover.is-hud-hidden{display:none}@keyframes markup-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.markup-popover-header{border-bottom:1px solid var(--markup-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.markup-popover.is-dragging .markup-popover-header{cursor:grabbing}.markup-popover-header-actions{align-items:center;gap:4px;display:flex}.markup-popover-title{min-width:0;font-family:var(--markup-font-mono);letter-spacing:.02em;color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:11px;line-height:1;overflow:hidden}.markup-thread-menu{display:flex;position:relative}.markup-thread-menu-list{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);min-width:160px;box-shadow:var(--markup-shadow);padding:4px;animation:.12s ease-out markup-menu-in;position:absolute;top:calc(100% + 6px);right:0}.markup-thread-menu-item{border-radius:var(--markup-radius-sm);width:100%;color:var(--markup-ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;transition:background .1s,color .1s;display:block}.markup-thread-menu-item:hover{background:var(--markup-border)}.markup-thread-menu-item.is-danger{color:var(--markup-danger,#dc2626)}.markup-thread-menu-item.is-danger:hover{background:color-mix(in srgb, var(--markup-danger,#dc2626) 10%, transparent)}.markup-thread-menu-item:disabled{opacity:.5;cursor:default}@keyframes markup-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.markup-popover-body{border-top:1px solid var(--markup-border);background:var(--markup-paper);flex-direction:column;gap:6px;padding:10px 12px 8px;display:flex}.markup-popover-header+.markup-popover-body{border-top:none}.markup-popover-byline{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-popover-name{color:var(--markup-ink);font-weight:500}.markup-icon-btn{border-radius:var(--markup-radius-sm);width:24px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-icon-btn:active{transform:scale(.97)}.markup-comments{flex-direction:column;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.markup-comment{border-bottom:1px solid var(--markup-border);grid-template-columns:26px 1fr;align-items:start;gap:0 10px;padding:12px;display:grid}.markup-comment:last-child{border-bottom:none}.markup-comment>:not(.markup-comment-avatar){grid-column:2}.markup-comment.is-new{animation:.2s cubic-bezier(.2,.7,.2,1) markup-comment-in}@keyframes markup-comment-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.markup-comment-avatar{background:var(--markup-border);width:26px;height:26px;color:var(--markup-ink);font-family:var(--markup-font-mono);letter-spacing:.02em;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:999px;grid-area:1/1/span 4;justify-content:center;align-items:center;margin-top:-3px;font-size:10.5px;font-weight:600;display:inline-flex;overflow:hidden}.markup-avatar-initials{text-box-trim:trim-both;text-box-edge:cap alphabetic;line-height:1}.markup-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.markup-comment-avatar[data-tone=\"1\"]{color:oklch(25% .07 230);background:oklch(85% .07 200)}.markup-comment-avatar[data-tone=\"2\"]{color:oklch(30% .1 150);background:oklch(88% .07 130)}.markup-comment-avatar[data-tone=\"3\"]{color:oklch(35% .1 40);background:oklch(90% .05 50)}.markup-comment-avatar[data-tone=\"4\"]{color:oklch(30% .1 320);background:oklch(87% .07 320)}.markup-comment-avatar[data-tone=\"5\"]{color:oklch(32% .09 70);background:oklch(88% .06 80)}.markup-comment-meta{align-items:center;gap:8px;min-width:0;margin-bottom:4px;font-size:13px;display:flex}.markup-comment-author{color:var(--markup-ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.markup-comment-badge{background:color-mix(in srgb, var(--markup-team) 12%, transparent);height:14px;color:var(--markup-team);font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 5px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.markup-comment-badge.is-agent{background:color-mix(in srgb, var(--markup-brand) 14%, transparent);color:var(--markup-brand);letter-spacing:normal;justify-content:center;width:14px;padding:0}.markup-comment-time{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;white-space:nowrap;flex-shrink:0;font-size:10.5px}.markup-comment-body{color:var(--markup-ink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13.5px;line-height:19px}.markup-comment-edited{color:var(--markup-muted);font-family:var(--markup-font-mono);margin-left:2px;font-size:10.5px}.markup-comment-edited:before{content:\" · \"}.markup-thread-actions{align-items:center;gap:4px;display:flex}.markup-comment-meta .markup-reaction-picker-wrap,.markup-thread-actions{margin-left:auto}.markup-comment-meta .markup-reaction-add{width:22px;height:22px;margin-top:-4px;margin-bottom:-4px}.markup-reaction-picker-wrap>.markup-icon-btn,.markup-comment-menu>.markup-icon-btn{margin-top:-4px;margin-bottom:-4px}.markup-comment-menu.is-up .markup-thread-menu-list{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-comment-menu.is-side .markup-thread-menu-list{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}@keyframes markup-menu-in-side{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}@keyframes markup-menu-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.markup-comment{position:relative}.markup-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.markup-reaction-chip{border:1px solid var(--markup-border);background:var(--markup-surface-3);color:var(--markup-ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;line-height:1.2;transition:background .12s,border-color .12s;display:inline-flex}.markup-reaction-chip:hover:not(:disabled){background:var(--markup-hover)}.markup-reaction-chip.is-mine{background:var(--markup-accent-soft);border-color:color-mix(in srgb, var(--markup-brand) 50%, transparent);color:var(--markup-accent-ink)}.markup-reaction-chip.is-mine:hover:not(:disabled){background:color-mix(in srgb, var(--markup-brand) 18%, transparent)}.markup-reaction-chip:disabled{cursor:default;opacity:.6}.markup-reaction-emoji{font-size:13px;line-height:1}.markup-reaction-count{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10.5px}.markup-reaction-chip.is-mine .markup-reaction-count{color:var(--markup-accent-ink)}.markup-reaction-picker-wrap{opacity:0;flex:none;transition:opacity .12s;display:inline-flex;position:relative}.markup-comment:hover .markup-reaction-picker-wrap,.markup-comment:focus-within .markup-reaction-picker-wrap,.markup-reaction-picker-wrap.is-open{opacity:1}.markup-reaction-add{width:22px;height:22px;color:var(--markup-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.markup-reaction-add:hover,.markup-reaction-add.is-open{background:var(--markup-hover);color:var(--markup-ink)}.markup-reaction-picker{z-index:1;border:1px solid var(--markup-border-strong);background:var(--markup-paper);border-radius:8px;gap:2px;padding:4px;animation:.12s markup-menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 1px 2px #1a16140f,0 8px 28px #1a16141a}.markup-reaction-picker-wrap.is-up .markup-reaction-picker{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-wrap.is-side .markup-reaction-picker{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}.markup-reaction-picker-item{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .12s;display:inline-flex}.markup-reaction-picker-item:hover{background:color-mix(in srgb, var(--markup-ink) 8%, transparent)}.markup-reaction-picker-item.is-mine{background:color-mix(in srgb, var(--markup-brand) 14%, transparent)}.markup-comment-edit-form{flex-direction:column;gap:6px;display:flex}.markup-comment-edit-actions{justify-content:flex-end;gap:6px;display:flex}.markup-composer{flex-direction:column;display:flex;position:relative}.markup-composer-input{width:100%;min-height:38px;max-height:120px;color:var(--markup-ink);font-family:var(--markup-font);background:0 0;border:none;border-radius:0;padding:2px 0;font-size:13.5px;line-height:19px;transition:none;overflow-y:auto}.markup-composer-input:focus-visible{box-shadow:none;outline:none}.markup-composer-footer-wrap{grid-template-rows:0fr;transition:grid-template-rows .15s;display:grid}.markup-composer.is-filled .markup-composer-footer-wrap{grid-template-rows:1fr}.markup-composer-footer{opacity:0;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:0;transition:opacity .1s;display:flex;overflow:hidden}.markup-composer.is-filled .markup-composer-footer{opacity:1;transition-delay:60ms}.markup-composer-hint{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);align-items:center;gap:3px;font-size:10.5px;display:inline-flex}.markup-composer-hint-label{margin-left:2px}.markup-composer-error{color:var(--markup-brand)}.markup-composer-actions{align-items:center;gap:6px;display:flex}.markup-composer .markup-btn-primary{background:var(--markup-ink);height:26px;color:var(--markup-paper);border-radius:6px;padding:0 10px}.markup-composer .markup-btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-paper))}.markup-composer-actions-empty{transition:opacity .12s;position:absolute;bottom:0;right:0}.markup-composer.is-filled .markup-composer-actions-empty{opacity:0;pointer-events:none}.markup-author-prompt{flex-direction:column;gap:10px;padding:12px;display:flex}.markup-author-status{color:var(--markup-muted);margin:0;font-size:12px}.markup-author-copy{color:var(--markup-fg);margin:0;font-size:13px;line-height:1.5}.markup-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;height:36px;color:var(--markup-ink);outline:none;padding:0 10px;font-size:14px;transition:border-color .12s,box-shadow .12s}.markup-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-btn{border-radius:var(--markup-radius-sm);height:30px;color:var(--markup-ink);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,opacity .12s,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn:active:not(:disabled){transform:scale(.97)}.markup-btn-primary{background:var(--markup-ink);color:var(--markup-paper)}.markup-btn-primary:hover:not(:disabled){background:var(--markup-brand)}.markup-btn-ghost{color:var(--markup-muted)}.markup-btn-ghost:hover:not(:disabled){background:var(--markup-border);color:var(--markup-ink)}.markup-btn-danger{color:var(--markup-danger)}.markup-btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-discard-confirm{background:color-mix(in srgb, var(--markup-paper) 92%, transparent);-webkit-backdrop-filter:blur(6px);flex-direction:column;justify-content:center;gap:4px;padding:16px;animation:.12s ease-out markup-menu-in;display:flex;position:absolute;inset:0}.markup-discard-confirm-title{color:var(--markup-ink);margin:0;font-size:13px;font-weight:600}.markup-discard-confirm-desc{color:var(--markup-muted);margin:0;font-size:12px}.markup-discard-confirm-actions{gap:6px;margin-top:10px;display:flex}.markup-screenshot-row{border:1px dashed var(--markup-border-strong);color:var(--markup-muted);border-radius:6px;flex-direction:column;gap:8px;margin-top:0;padding:6px 8px;font-size:11.5px;display:flex}.markup-screenshot-row.is-attached{border-style:solid;border-color:var(--markup-border);padding:8px}.markup-screenshot-row-head{justify-content:space-between;align-items:center;gap:8px;min-height:16px;display:flex}.markup-screenshot-status{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;display:flex}.markup-screenshot-row.is-failed{opacity:.85;border-style:dotted}.markup-screenshot-toggle{cursor:pointer;color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;transition:color .12s;display:flex}.markup-screenshot-toggle:hover{color:var(--markup-ink)}.markup-screenshot-checkbox{width:12px;height:12px;accent-color:var(--markup-brand);cursor:pointer;margin:0}.markup-screenshot-thumb-link{border:1px solid var(--markup-border-strong);cursor:zoom-in;background:0 0;border-radius:3px;margin:-4px auto -4px -4px;padding:0;transition:border-color .12s;display:block;overflow:hidden}.markup-screenshot-thumb-link:hover,.markup-screenshot-thumb-link:focus-visible{border-color:var(--markup-brand)}.markup-screenshot-thumb{object-fit:cover;object-position:top;width:auto;height:22px;display:block}.markup-screenshot-redacted-chip{background:color-mix(in srgb, var(--markup-success,oklch(62% .16 150)) 16%, transparent);color:var(--markup-success,oklch(62% .16 150));font-family:var(--markup-font-mono);white-space:nowrap;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:10px;display:inline-flex}.markup-screenshot-redacted-chip:hover{filter:brightness(1.05)}.markup-screenshot-redacted-arrow{font-style:normal}.markup-screenshot-redacted-list{flex-direction:column;gap:2px;display:flex}.markup-screenshot-redacted-selector{font-family:var(--markup-font-mono);color:var(--markup-muted);font-size:9px;display:block}.markup-screenshot-help{font-family:var(--markup-font-mono);color:var(--markup-muted);margin:0;font-size:10px;line-height:1.5}.markup-screenshot-help-link{color:var(--markup-ink);text-underline-offset:2px;text-decoration:underline}.markup-screenshot-help-link:hover{color:var(--markup-brand)}.markup-comment-screenshot{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);cursor:pointer;background:0 0;margin-top:8px;padding:0;transition:border-color .12s,opacity .12s;display:block;overflow:hidden}.markup-comment-screenshot:hover{border-color:var(--markup-brand);opacity:.9}.markup-comment-screenshot img{object-fit:cover;object-position:top;width:100%;height:auto;max-height:120px;display:block}.markup-lightbox{background:#1a1614e0;border:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:24px;position:fixed;inset:0}.markup-lightbox[open]{justify-content:center;align-items:center;display:flex}.markup-lightbox::backdrop{display:none}.markup-lightbox-img{border-radius:var(--markup-radius);object-fit:contain;max-width:100%;max-height:100%;box-shadow:var(--markup-shadow);animation:.16s ease-out markup-lightbox-in}.markup-lightbox-close{color:#fdfcfa;background:#1a161499;position:absolute;top:16px;right:16px}.markup-lightbox-close:hover{color:#fdfcfa;background:#1a1614d9}@keyframes markup-lightbox-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.markup-toolbar,.markup-tb-btn,.markup-tb-badge,.markup-comment,.markup-pin,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox-img{transition:none;animation:none}}.markup-mention-chip{background:var(--markup-accent-soft);color:var(--markup-accent-ink);border-radius:3px;padding:0 2px;font-weight:500;display:inline-block}.markup-mention-input{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;outline:none;position:relative}.markup-mention-input[aria-disabled=true]{opacity:.6;cursor:default}.markup-mention-input[data-empty]:before{content:attr(data-placeholder);color:var(--markup-muted);pointer-events:none;position:absolute;inset:0 auto auto 0}.markup-mention-input .markup-mention-chip{white-space:nowrap;padding:0 3px}.markup-comment-edit-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;min-height:58px;max-height:200px;color:var(--markup-ink);font:inherit;padding:8px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.markup-comment-edit-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-comment-edit-input[data-empty]:before{inset:8px auto auto 10px}.markup-mention-picker{z-index:10;box-sizing:border-box;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);max-height:180px;box-shadow:var(--markup-shadow);margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto}.markup-mention-picker-item{border-radius:var(--markup-radius-sm);cursor:pointer;color:var(--markup-ink);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.markup-mention-picker-item.is-active{background:color-mix(in srgb, var(--markup-brand) 12%, transparent)}.markup-mention-picker-name{font-weight:500}.markup-mention-picker-trigger{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel{max-height:min(60vh,420px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-notifications-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:8px 10px;display:flex}.markup-notifications-panel-header .markup-eyebrow{flex:1}.markup-notifications-panel-actions{align-items:center;gap:8px;display:flex}.markup-notifications-panel-mark-all{color:var(--markup-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.markup-notifications-panel-mark-all:hover{color:var(--markup-ink)}.markup-notifications-panel-body{flex:1;overflow-y:auto}.markup-notifications-panel-empty,.markup-notifications-panel-error{text-align:center;color:var(--markup-muted);padding:24px 12px;font-size:12px}.markup-notifications-panel-empty-title{color:var(--markup-ink);margin:0 0 4px;font-weight:500}.markup-notifications-panel-empty-sub{color:var(--markup-muted);margin:0;line-height:1.4}.markup-notifications-panel-error{color:var(--markup-danger,#b91c1c)}.markup-notifications-panel-list{margin:0;padding:4px;list-style:none}.markup-notifications-panel-row{border-radius:var(--markup-radius-sm);text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.markup-notifications-panel-row:hover{background:color-mix(in srgb, var(--markup-brand) 8%, transparent)}.markup-notifications-panel-row.is-unread{background:color-mix(in srgb, var(--markup-brand) 5%, transparent)}.markup-notifications-panel-meta{align-items:center;gap:6px;font-size:11px;display:flex}.markup-notifications-panel-dot{background:var(--markup-brand);border-radius:999px;flex-shrink:0;width:6px;height:6px}.markup-notifications-panel-actor{font-weight:600}.markup-notifications-panel-sep{color:var(--markup-muted)}.markup-notifications-panel-time{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel-thread{color:var(--markup-muted);margin:0;font-size:12px}.markup-notifications-panel-thread-title{color:var(--markup-ink)}.markup-notifications-panel-excerpt{color:color-mix(in srgb, var(--markup-ink) 80%, transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;font-style:italic;display:-webkit-box;overflow:hidden}.markup-panel-pop{z-index:11;pointer-events:auto;width:380px;max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-panel-pop[data-panel=privacy]{width:340px}.markup-panel-pop[data-panel=shortcuts]{width:320px}.markup-panel-pop-right{right:22px}.markup-panel-pop-left{left:22px}.markup-panel-pop-center{left:50%;transform:translate(-50%)}.markup-panel-pop .markup-pop{width:100%;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:static}.markup-panel-pop .markup-notifications-panel{max-height:min(60vh,480px)}.markup-panel-pop .markup-notifications-panel-header{padding:12px 14px}.markup-panel-pop .markup-notifications-panel-header .markup-icon-btn{display:none}.markup-pop[data-pop=privacy],.markup-pop[data-pop=shortcuts]{padding:0}.markup-panel{max-height:min(70vh,520px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:12px 14px;display:flex}.markup-panel-header .markup-eyebrow{flex:1}.markup-panel-body{flex:1;padding:4px 14px 14px;overflow-y:auto}.markup-panel-section{border-bottom:1px solid var(--markup-border);padding:10px 0}.markup-panel-section:last-child{border-bottom:none;padding-bottom:2px}.markup-panel-section-title{font-family:var(--markup-font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--markup-muted);margin:0 0 6px;font-size:10px;font-weight:400}.markup-panel-text{color:var(--markup-ink-soft);margin:0;font-size:12.5px;line-height:1.5}.markup-panel-text strong{color:var(--markup-ink);font-weight:600}.markup-panel-mono{font-family:var(--markup-font-mono);color:var(--markup-ink);word-break:break-all;font-size:11.5px}.markup-panel-list{color:var(--markup-ink-soft);margin:0;padding-left:16px;font-size:12.5px;line-height:1.5}.markup-panel-list li{margin-bottom:3px}.markup-panel-list li::marker{color:var(--markup-muted)}.markup-panel-note{color:var(--markup-muted);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-error{color:var(--markup-danger);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-action{border:1px solid var(--markup-border-strong);width:100%;height:30px;color:var(--markup-ink);font:inherit;cursor:pointer;background:0 0;border-radius:7px;margin-top:10px;padding:0 10px;font-size:12.5px;transition:background .12s,border-color .12s,color .12s}.markup-panel-action:hover:not(:disabled){background:var(--markup-hover)}.markup-panel-action:disabled{opacity:.6;cursor:default}.markup-panel-action.is-danger{border-color:color-mix(in srgb, var(--markup-danger) 45%, transparent);color:var(--markup-danger)}.markup-panel-action.is-danger:hover:not(:disabled){background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-shortcut-list{margin:0;padding:0;list-style:none}.markup-shortcut-row{align-items:center;gap:10px;min-height:24px;padding:2px 0;display:flex}.markup-shortcut-label{min-width:0;color:var(--markup-ink-soft);flex:1;font-size:12.5px;line-height:1.4}.markup-shortcut-keys{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.markup-shortcut-chord{align-items:center;gap:3px;display:inline-flex}.markup-shortcut-or{color:var(--markup-muted);margin-right:1px;font-size:10px}", pe = 1e4, me = 20, he = 60, N = null, P = [], ge = null, _e = !1, ve = ye();
|
|
251
|
+
var fe = ":host{--markup-paper:#fdfcfa;--markup-surface:#fff;--markup-surface-2:oklch(98.5% .002 250);--markup-surface-3:oklch(95% .003 250);--markup-hover:oklch(95% .003 250);--markup-ink:#1a1614;--markup-ink-soft:oklch(32% .005 250);--markup-muted:#6b6661;--markup-border:#1a16141a;--markup-border-strong:#1a16142e;--markup-brand:#e35d2a;--markup-brand-hover:#c84d20;--markup-accent-soft:oklch(95% .04 60);--markup-accent-ink:oklch(45% .14 38);--markup-accent-glow:color-mix(in srgb, var(--markup-brand) 28%, transparent);--markup-team:#2a4ac8;--markup-shadow:0 1px 2px #1a16140f, 0 8px 28px #1a16141f;--markup-shadow-toolbar:0 1px 1px #0000000a, 0 4px 10px -2px #0f14281a, 0 18px 36px -12px #0f14282e;--markup-shadow-pop:0 1px 1px #0000000a, 0 8px 24px -6px #0f14281f, 0 28px 60px -18px #0f142838;--markup-overlay-tint:#1a16140a;--markup-danger:#dc2626;--markup-success:oklch(62% .16 150);--markup-radius:6px;--markup-radius-sm:4px;--markup-font:\"Geist Variable\", \"Geist\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", system-ui, sans-serif;--markup-font-mono:\"Geist Mono Variable\", \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;all:initial;font-family:var(--markup-font);color:var(--markup-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}:host([data-theme=dark]){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}@media (prefers-color-scheme:dark){:host(:not([data-theme])){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}}.markup-sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-shadow-root{font-family:var(--markup-font)}.markup-shadow-root *,.markup-shadow-root :before,.markup-shadow-root :after{box-sizing:border-box}:where(.markup-shadow-root button,.markup-shadow-root input,.markup-shadow-root textarea){font:inherit;color:inherit}.markup-eyebrow{font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--markup-muted);font-size:10px;font-weight:500}.markup-toolbar{z-index:10;background:var(--markup-surface);border:1px solid var(--markup-border);pointer-events:none;height:44px;box-shadow:var(--markup-shadow-toolbar);border-radius:9999px;align-items:center;gap:2px;padding:4px;transition:box-shadow .15s,left .22s cubic-bezier(.2,.7,.2,1),transform .22s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:fixed;bottom:22px;left:100%;transform:translate(calc(-100% - 22px))}.markup-toolbar>*{pointer-events:auto}.markup-tb-btn{width:36px;height:36px;color:var(--markup-ink-soft);cursor:pointer;touch-action:none;font-family:var(--markup-font);background:0 0;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:500;transition:background .12s,color .12s,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:relative}.markup-tb-btn:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-tb-btn:active{transform:scale(.97)}.markup-tb-btn:focus-visible{box-shadow:0 0 0 2px var(--markup-surface), 0 0 0 4px var(--markup-accent-glow);outline:none}.markup-tb-btn[data-on=true]{background:var(--markup-ink);color:var(--markup-paper)}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}}:host([data-theme=dark]) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}.markup-tb-btn[data-armed=true]{background:var(--markup-brand);color:#fff}.markup-tb-btn[data-armed=true]:hover{background:var(--markup-brand-hover);color:#fff}.markup-tb-btn[disabled]{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);cursor:default}.markup-tb-btn[disabled]:hover{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);background:0 0}.markup-tb-btn[data-kind=identity]{gap:6px;width:auto;padding:0 4px}.markup-tb-avatar{background:var(--markup-surface-3);width:28px;height:28px;font-family:var(--markup-font-mono);color:var(--markup-ink);border:1px solid var(--markup-border);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:10.5px;font-weight:600;display:inline-flex;overflow:hidden}.markup-tb-avatar.is-anon{color:var(--markup-muted);background:var(--markup-surface-2)}.markup-tb-sep{background:var(--markup-border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.markup-tb-badge{background:var(--markup-brand);color:#fff;min-width:16px;height:16px;font-family:var(--markup-font-mono);box-shadow:0 0 0 2px var(--markup-surface);pointer-events:none;border-radius:9999px;justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:600;line-height:1;transition:transform .15s cubic-bezier(.2,.7,.2,1),opacity .15s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:absolute;top:0;right:0}.markup-tb-badge[data-unread=false]{opacity:0;transform:scale(.5)}.markup-toolbar-left{left:0;transform:translate(22px)}.markup-toolbar-center{left:50%;transform:translate(-50%)}.markup-toolbar-right{left:100%;transform:translate(calc(-100% - 22px))}.markup-pop{background:var(--markup-surface);border:1px solid var(--markup-border);box-shadow:var(--markup-shadow-pop);color:var(--markup-ink);z-index:11;border-radius:12px;font-size:13px;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:absolute;bottom:calc(100% + 8px);overflow:hidden}.markup-pop[data-pop=overflow]{width:260px;padding:6px}.markup-pop[data-pop=identity]{width:240px;padding:6px}.markup-pop[data-pop=inbox]{width:380px;padding:0}.markup-pop.is-anchor-right{right:0}.markup-pop.is-anchor-left{left:0}.markup-pop.is-anchor-center{left:50%;transform:translate(-50%)}@keyframes markup-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.markup-pop.is-anchor-center{animation-name:markup-pop-in-center}@keyframes markup-pop-in-center{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.markup-pop-group-label{font-family:var(--markup-font-mono);letter-spacing:.06em;color:var(--markup-muted);text-transform:lowercase;padding:8px 10px 4px;font-size:10px}.markup-segmented-row{border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.markup-segmented-row .lbl{min-width:0;color:var(--markup-ink);flex:1;font-size:13px}.markup-segmented{background:var(--markup-surface-3);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.markup-segmented button{font:inherit;width:28px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:inline-flex}.markup-segmented button:hover{color:var(--markup-ink)}.markup-segmented button.is-on{background:var(--markup-surface);color:var(--markup-ink);box-shadow:0 1px 2px #0000000d}.markup-menu-row{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:7px 8px;font-family:inherit;font-size:13px;display:flex}.markup-menu-row:hover{background:var(--markup-hover)}.markup-menu-row:disabled{opacity:.5;cursor:default}.markup-menu-row:disabled:hover{background:0 0}.markup-menu-row .ic{width:16px;height:16px;color:var(--markup-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.markup-menu-row .lbl{flex-direction:column;flex:1;min-width:0;display:flex}.markup-menu-row .lbl .sub{color:var(--markup-muted);margin-top:1px;font-size:11px}.markup-menu-row .right{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10.5px}.markup-menu-row.is-danger,.markup-menu-row.is-danger .ic{color:var(--markup-danger)}.markup-menu-row.is-danger:hover{background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-menu-row .switch{background:var(--markup-border-strong);border-radius:9999px;flex-shrink:0;width:26px;height:16px;transition:background .12s;position:relative}.markup-menu-row .switch:after{content:\"\";background:var(--markup-surface);border-radius:9999px;width:12px;height:12px;transition:left .12s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.markup-menu-row[data-on=true] .switch{background:var(--markup-brand)}.markup-menu-row[data-on=true] .switch:after{left:12px}.markup-menu-divider{background:var(--markup-border);height:1px;margin:4px 0}.markup-brand-line{font-family:var(--markup-font-mono);color:var(--markup-muted);border-top:1px solid var(--markup-border);align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:10.5px;text-decoration:none;display:flex}.markup-brand-line:hover{color:var(--markup-ink)}.markup-brand-line svg{color:var(--markup-brand)}.markup-brand-line .ver{margin-left:auto}.markup-id-who{border-bottom:1px solid var(--markup-border);flex-direction:column;gap:2px;margin-bottom:4px;padding:10px 8px 12px;display:flex}.markup-id-who .nm{color:var(--markup-ink);font-size:13.5px;font-weight:600}.markup-id-who .em{font-family:var(--markup-font-mono);color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.markup-id-anon{text-align:left;flex-direction:column;gap:10px;padding:14px 10px;display:flex}.markup-id-anon .h{letter-spacing:-.005em;color:var(--markup-ink);font-size:14px;font-weight:600}.markup-id-anon .sub{color:var(--markup-muted);font-size:12.5px;line-height:18px}.markup-id-anon button:not(.markup-menu-row){background:var(--markup-ink);width:100%;color:var(--markup-paper);height:32px;font:inherit;cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.markup-id-anon button:disabled{opacity:.7;cursor:default}.markup-id-anon button:not(.markup-menu-row):hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-surface))}.markup-hud-hidden-toast{z-index:10;background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;animation:.22s ease-out markup-hud-hidden-in,.32s ease-in 4.6s forwards markup-hud-hidden-out;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast-right{right:24px}.markup-hud-hidden-toast-left{left:24px}.markup-hud-hidden-toast-center{width:max-content;margin-inline:auto;left:0;right:0}.markup-kbd{background:color-mix(in srgb, var(--markup-paper) 14%, transparent);min-width:18px;height:18px;color:var(--markup-paper);font-family:var(--markup-font);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.markup-kbd.is-inline{background:color-mix(in srgb, var(--markup-ink) 8%, transparent);min-width:14px;height:14px;color:var(--markup-muted);border-radius:3px;padding:0 3px;font-size:9.5px}@keyframes markup-hud-hidden-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes markup-hud-hidden-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.markup-pins-layer{pointer-events:none;position:fixed;inset:0}.markup-pin{border:2px solid var(--markup-paper);background:var(--markup-brand);color:#fff;width:28px;height:28px;font-family:var(--markup-font-mono);cursor:pointer;pointer-events:auto;box-shadow:0 4px 14px -4px #00000059, 0 0 0 1px color-mix(in srgb, var(--markup-brand) 50%, transparent);border-radius:999px 999px 999px 4px;justify-content:center;align-items:center;margin:0;padding:0;font-size:11.5px;font-weight:600;line-height:1;transition:background .15s,color .15s,opacity .15s,top .2s,left .2s;display:inline-flex;position:absolute;transform:translate(-50%,-100%)}.markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 92%, black)}:host([data-theme=dark]) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}}.markup-pin.is-active{background:var(--markup-brand);color:#fff;border-color:var(--markup-paper)}.markup-pin.is-anchor{anchor-name:--markup-active-anchor}.markup-pin.is-unresolved{opacity:.6}.markup-pin.is-closed,.markup-pin.is-closed.is-active{background:var(--markup-paper);color:var(--markup-muted);border-color:var(--markup-muted);box-shadow:0 4px 14px -4px #00000040}.markup-pin.is-closed:hover{background:var(--markup-paper);color:var(--markup-ink)}.markup-pin-ghost{background:var(--markup-brand);color:#fff;cursor:default;pointer-events:none;animation:1.2s ease-in-out infinite markup-ghost-pulse}.markup-pin-num{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.markup-pin-count{background:var(--markup-ink);min-width:16px;height:16px;color:var(--markup-paper);font-family:var(--markup-font-mono);text-align:center;border:2px solid var(--markup-paper);pointer-events:none;border-radius:999px;padding:0 4px;font-size:9.5px;font-weight:600;line-height:12px;position:absolute;top:-6px;right:-8px}@keyframes markup-ghost-pulse{0%,to{box-shadow:0 4px 14px -4px #00000059,0 0 #e35d2a66}50%{box-shadow:0 4px 14px -4px #00000059,0 0 0 10px #e35d2a00}}.markup-placement-overlay{background:var(--markup-overlay-tint);pointer-events:none;z-index:1;animation:.18s ease-out markup-overlay-in;position:fixed;inset:0}.markup-placement-cursor-help{background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:500;animation:.22s ease-out 60ms backwards markup-help-in;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes markup-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes markup-help-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.markup-popover{width:360px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);inset:auto;left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);background:var(--markup-paper);color:var(--markup-ink);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);box-shadow:var(--markup-shadow);pointer-events:auto;flex-direction:column;gap:0;margin:0;padding:0;animation:.16s ease-out markup-popover-in;display:flex;position:fixed;overflow:hidden}@supports (anchor-name:--x){.markup-popover{position-anchor:--markup-active-anchor;left:calc(anchor(right) + 8px);top:calc(anchor(top) - 9px);position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;position-try-order:most-block-size}.markup-popover.is-floating{left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);position-try-fallbacks:none}}.markup-popover.is-hud-hidden{display:none}@keyframes markup-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.markup-popover-header{border-bottom:1px solid var(--markup-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.markup-popover.is-dragging .markup-popover-header{cursor:grabbing}.markup-popover-header-actions{align-items:center;gap:4px;display:flex}.markup-popover-title{min-width:0;font-family:var(--markup-font-mono);letter-spacing:.02em;color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:11px;line-height:1;overflow:hidden}.markup-thread-menu{display:flex;position:relative}.markup-thread-menu-list{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);min-width:160px;box-shadow:var(--markup-shadow);padding:4px;animation:.12s ease-out markup-menu-in;position:absolute;top:calc(100% + 6px);right:0}.markup-thread-menu-item{border-radius:var(--markup-radius-sm);width:100%;color:var(--markup-ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;transition:background .1s,color .1s;display:block}.markup-thread-menu-item:hover{background:var(--markup-border)}.markup-thread-menu-item.is-danger{color:var(--markup-danger,#dc2626)}.markup-thread-menu-item.is-danger:hover{background:color-mix(in srgb, var(--markup-danger,#dc2626) 10%, transparent)}.markup-thread-menu-item:disabled{opacity:.5;cursor:default}@keyframes markup-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.markup-popover-body{border-top:1px solid var(--markup-border);background:var(--markup-paper);flex-direction:column;gap:6px;padding:10px 12px 8px;display:flex}.markup-popover-header+.markup-popover-body{border-top:none}.markup-popover-byline{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-popover-name{color:var(--markup-ink);font-weight:500}.markup-icon-btn{border-radius:var(--markup-radius-sm);width:24px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-icon-btn:active{transform:scale(.97)}.markup-comments{flex-direction:column;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.markup-comment{border-bottom:1px solid var(--markup-border);grid-template-columns:26px 1fr;align-items:start;gap:0 10px;padding:12px;display:grid}.markup-comment:last-child{border-bottom:none}.markup-comment>:not(.markup-comment-avatar){grid-column:2}.markup-comment.is-new{animation:.2s cubic-bezier(.2,.7,.2,1) markup-comment-in}@keyframes markup-comment-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.markup-comment-avatar{background:var(--markup-border);width:26px;height:26px;color:var(--markup-ink);font-family:var(--markup-font-mono);letter-spacing:.02em;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:999px;grid-area:1/1/span 4;justify-content:center;align-items:center;margin-top:-3px;font-size:10.5px;font-weight:600;display:inline-flex;overflow:hidden}.markup-avatar-initials{text-box-trim:trim-both;text-box-edge:cap alphabetic;line-height:1}.markup-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.markup-comment-avatar[data-tone=\"1\"]{color:oklch(25% .07 230);background:oklch(85% .07 200)}.markup-comment-avatar[data-tone=\"2\"]{color:oklch(30% .1 150);background:oklch(88% .07 130)}.markup-comment-avatar[data-tone=\"3\"]{color:oklch(35% .1 40);background:oklch(90% .05 50)}.markup-comment-avatar[data-tone=\"4\"]{color:oklch(30% .1 320);background:oklch(87% .07 320)}.markup-comment-avatar[data-tone=\"5\"]{color:oklch(32% .09 70);background:oklch(88% .06 80)}.markup-comment-meta{align-items:center;gap:8px;min-width:0;margin-bottom:4px;font-size:13px;display:flex}.markup-comment-author{color:var(--markup-ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.markup-comment-badge{background:color-mix(in srgb, var(--markup-team) 12%, transparent);height:14px;color:var(--markup-team);font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 5px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.markup-comment-badge.is-agent{background:color-mix(in srgb, var(--markup-brand) 14%, transparent);color:var(--markup-brand);letter-spacing:normal;justify-content:center;width:14px;padding:0}.markup-comment-time{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;white-space:nowrap;flex-shrink:0;font-size:10.5px}.markup-comment-body{color:var(--markup-ink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13.5px;line-height:19px}.markup-comment-link{color:var(--markup-brand);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--markup-brand) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--markup-brand) 40%, transparent)}.markup-comment-link:hover{-webkit-text-decoration-color:var(--markup-brand);text-decoration-color:var(--markup-brand)}.markup-comment-edited{color:var(--markup-muted);font-family:var(--markup-font-mono);margin-left:2px;font-size:10.5px}.markup-comment-edited:before{content:\" · \"}.markup-thread-actions{align-items:center;gap:4px;display:flex}.markup-comment-meta .markup-reaction-picker-wrap,.markup-thread-actions{margin-left:auto}.markup-comment-meta .markup-reaction-add{width:22px;height:22px;margin-top:-4px;margin-bottom:-4px}.markup-reaction-picker-wrap>.markup-icon-btn,.markup-comment-menu>.markup-icon-btn{margin-top:-4px;margin-bottom:-4px}.markup-comment-menu.is-up .markup-thread-menu-list{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-comment-menu.is-side .markup-thread-menu-list{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}@keyframes markup-menu-in-side{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}@keyframes markup-menu-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.markup-comment{position:relative}.markup-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.markup-reaction-chip{border:1px solid var(--markup-border);background:var(--markup-surface-3);color:var(--markup-ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;line-height:1.2;transition:background .12s,border-color .12s;display:inline-flex}.markup-reaction-chip:hover:not(:disabled){background:var(--markup-hover)}.markup-reaction-chip.is-mine{background:var(--markup-accent-soft);border-color:color-mix(in srgb, var(--markup-brand) 50%, transparent);color:var(--markup-accent-ink)}.markup-reaction-chip.is-mine:hover:not(:disabled){background:color-mix(in srgb, var(--markup-brand) 18%, transparent)}.markup-reaction-chip:disabled{cursor:default;opacity:.6}.markup-reaction-emoji{font-size:13px;line-height:1}.markup-reaction-count{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10.5px}.markup-reaction-chip.is-mine .markup-reaction-count{color:var(--markup-accent-ink)}.markup-reaction-picker-wrap{opacity:0;flex:none;transition:opacity .12s;display:inline-flex;position:relative}.markup-comment:hover .markup-reaction-picker-wrap,.markup-comment:focus-within .markup-reaction-picker-wrap,.markup-reaction-picker-wrap.is-open{opacity:1}.markup-reaction-add{width:22px;height:22px;color:var(--markup-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.markup-reaction-add:hover,.markup-reaction-add.is-open{background:var(--markup-hover);color:var(--markup-ink)}.markup-reaction-picker{z-index:1;border:1px solid var(--markup-border-strong);background:var(--markup-paper);border-radius:8px;gap:2px;padding:4px;animation:.12s markup-menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 1px 2px #1a16140f,0 8px 28px #1a16141a}.markup-reaction-picker-wrap.is-up .markup-reaction-picker{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-wrap.is-side .markup-reaction-picker{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}.markup-reaction-picker-item{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .12s;display:inline-flex}.markup-reaction-picker-item:hover{background:color-mix(in srgb, var(--markup-ink) 8%, transparent)}.markup-reaction-picker-item.is-mine{background:color-mix(in srgb, var(--markup-brand) 14%, transparent)}.markup-comment-edit-form{flex-direction:column;gap:6px;display:flex}.markup-comment-edit-actions{justify-content:flex-end;gap:6px;display:flex}.markup-composer{flex-direction:column;display:flex;position:relative}.markup-composer-input{width:100%;min-height:38px;max-height:120px;color:var(--markup-ink);font-family:var(--markup-font);background:0 0;border:none;border-radius:0;padding:2px 0;font-size:13.5px;line-height:19px;transition:none;overflow-y:auto}.markup-composer-input:focus-visible{box-shadow:none;outline:none}.markup-composer-footer-wrap{grid-template-rows:0fr;transition:grid-template-rows .15s;display:grid}.markup-composer.is-filled .markup-composer-footer-wrap{grid-template-rows:1fr}.markup-composer-footer{opacity:0;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:0;transition:opacity .1s;display:flex;overflow:hidden}.markup-composer.is-filled .markup-composer-footer{opacity:1;transition-delay:60ms}.markup-composer-hint{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);align-items:center;gap:3px;font-size:10.5px;display:inline-flex}.markup-composer-hint-label{margin-left:2px}.markup-composer-error{color:var(--markup-brand)}.markup-composer-actions{align-items:center;gap:6px;display:flex}.markup-composer .markup-btn-primary{background:var(--markup-ink);height:26px;color:var(--markup-paper);border-radius:6px;padding:0 10px}.markup-composer .markup-btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-paper))}.markup-composer-actions-empty{transition:opacity .12s;position:absolute;bottom:0;right:0}.markup-composer.is-filled .markup-composer-actions-empty{opacity:0;pointer-events:none}.markup-author-prompt{flex-direction:column;gap:10px;padding:12px;display:flex}.markup-author-status{color:var(--markup-muted);margin:0;font-size:12px}.markup-author-copy{color:var(--markup-fg);margin:0;font-size:13px;line-height:1.5}.markup-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;height:36px;color:var(--markup-ink);outline:none;padding:0 10px;font-size:14px;transition:border-color .12s,box-shadow .12s}.markup-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-btn{border-radius:var(--markup-radius-sm);height:30px;color:var(--markup-ink);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,opacity .12s,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn:active:not(:disabled){transform:scale(.97)}.markup-btn-primary{background:var(--markup-ink);color:var(--markup-paper)}.markup-btn-primary:hover:not(:disabled){background:var(--markup-brand)}.markup-btn-ghost{color:var(--markup-muted)}.markup-btn-ghost:hover:not(:disabled){background:var(--markup-border);color:var(--markup-ink)}.markup-btn-danger{color:var(--markup-danger)}.markup-btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-discard-confirm{background:color-mix(in srgb, var(--markup-paper) 92%, transparent);-webkit-backdrop-filter:blur(6px);flex-direction:column;justify-content:center;gap:4px;padding:16px;animation:.12s ease-out markup-menu-in;display:flex;position:absolute;inset:0}.markup-discard-confirm-title{color:var(--markup-ink);margin:0;font-size:13px;font-weight:600}.markup-discard-confirm-desc{color:var(--markup-muted);margin:0;font-size:12px}.markup-discard-confirm-actions{gap:6px;margin-top:10px;display:flex}.markup-screenshot-row{border:1px dashed var(--markup-border-strong);color:var(--markup-muted);border-radius:6px;flex-direction:column;gap:8px;margin-top:0;padding:6px 8px;font-size:11.5px;display:flex}.markup-screenshot-row.is-attached{border-style:solid;border-color:var(--markup-border);padding:8px}.markup-screenshot-row-head{justify-content:space-between;align-items:center;gap:8px;min-height:16px;display:flex}.markup-screenshot-status{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;display:flex}.markup-screenshot-row.is-failed{opacity:.85;border-style:dotted}.markup-screenshot-toggle{cursor:pointer;color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;transition:color .12s;display:flex}.markup-screenshot-toggle:hover{color:var(--markup-ink)}.markup-screenshot-checkbox{width:12px;height:12px;accent-color:var(--markup-brand);cursor:pointer;margin:0}.markup-screenshot-thumb-link{border:1px solid var(--markup-border-strong);cursor:zoom-in;background:0 0;border-radius:3px;margin:-4px auto -4px -4px;padding:0;transition:border-color .12s;display:block;overflow:hidden}.markup-screenshot-thumb-link:hover,.markup-screenshot-thumb-link:focus-visible{border-color:var(--markup-brand)}.markup-screenshot-thumb{object-fit:cover;object-position:top;width:auto;height:22px;display:block}.markup-screenshot-redacted-chip{background:color-mix(in srgb, var(--markup-success,oklch(62% .16 150)) 16%, transparent);color:var(--markup-success,oklch(62% .16 150));font-family:var(--markup-font-mono);white-space:nowrap;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:10px;display:inline-flex}.markup-screenshot-redacted-chip:hover{filter:brightness(1.05)}.markup-screenshot-redacted-arrow{font-style:normal}.markup-screenshot-redacted-list{flex-direction:column;gap:2px;display:flex}.markup-screenshot-redacted-selector{font-family:var(--markup-font-mono);color:var(--markup-muted);font-size:9px;display:block}.markup-screenshot-help{font-family:var(--markup-font-mono);color:var(--markup-muted);margin:0;font-size:10px;line-height:1.5}.markup-screenshot-help-link{color:var(--markup-ink);text-underline-offset:2px;text-decoration:underline}.markup-screenshot-help-link:hover{color:var(--markup-brand)}.markup-comment-screenshot{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);cursor:pointer;background:0 0;margin-top:8px;padding:0;transition:border-color .12s,opacity .12s;display:block;overflow:hidden}.markup-comment-screenshot:hover{border-color:var(--markup-brand);opacity:.9}.markup-comment-screenshot img{object-fit:cover;object-position:top;width:100%;height:auto;max-height:120px;display:block}.markup-lightbox{background:#1a1614e0;border:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:24px;position:fixed;inset:0}.markup-lightbox[open]{justify-content:center;align-items:center;display:flex}.markup-lightbox::backdrop{display:none}.markup-lightbox-img{border-radius:var(--markup-radius);object-fit:contain;max-width:100%;max-height:100%;box-shadow:var(--markup-shadow);animation:.16s ease-out markup-lightbox-in}.markup-lightbox-close{color:#fdfcfa;background:#1a161499;position:absolute;top:16px;right:16px}.markup-lightbox-close:hover{color:#fdfcfa;background:#1a1614d9}@keyframes markup-lightbox-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.markup-toolbar,.markup-tb-btn,.markup-tb-badge,.markup-comment,.markup-pin,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox-img{transition:none;animation:none}}.markup-mention-chip{background:var(--markup-accent-soft);color:var(--markup-accent-ink);border-radius:3px;padding:0 2px;font-weight:500;display:inline-block}.markup-mention-input{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;outline:none;position:relative}.markup-mention-input[aria-disabled=true]{opacity:.6;cursor:default}.markup-mention-input[data-empty]:before{content:attr(data-placeholder);color:var(--markup-muted);pointer-events:none;position:absolute;inset:0 auto auto 0}.markup-mention-input .markup-mention-chip{white-space:nowrap;padding:0 3px}.markup-comment-edit-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;min-height:58px;max-height:200px;color:var(--markup-ink);font:inherit;padding:8px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.markup-comment-edit-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-comment-edit-input[data-empty]:before{inset:8px auto auto 10px}.markup-mention-picker{z-index:10;box-sizing:border-box;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);max-height:180px;box-shadow:var(--markup-shadow);margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto}.markup-mention-picker-item{border-radius:var(--markup-radius-sm);cursor:pointer;color:var(--markup-ink);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.markup-mention-picker-item.is-active{background:color-mix(in srgb, var(--markup-brand) 12%, transparent)}.markup-mention-picker-name{font-weight:500}.markup-mention-picker-trigger{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel{max-height:min(60vh,420px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-notifications-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:8px 10px;display:flex}.markup-notifications-panel-header .markup-eyebrow{flex:1}.markup-notifications-panel-actions{align-items:center;gap:8px;display:flex}.markup-notifications-panel-mark-all{color:var(--markup-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.markup-notifications-panel-mark-all:hover{color:var(--markup-ink)}.markup-notifications-panel-body{flex:1;overflow-y:auto}.markup-notifications-panel-empty,.markup-notifications-panel-error{text-align:center;color:var(--markup-muted);padding:24px 12px;font-size:12px}.markup-notifications-panel-empty-title{color:var(--markup-ink);margin:0 0 4px;font-weight:500}.markup-notifications-panel-empty-sub{color:var(--markup-muted);margin:0;line-height:1.4}.markup-notifications-panel-error{color:var(--markup-danger,#b91c1c)}.markup-notifications-panel-list{margin:0;padding:4px;list-style:none}.markup-notifications-panel-row{border-radius:var(--markup-radius-sm);text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.markup-notifications-panel-row:hover{background:color-mix(in srgb, var(--markup-brand) 8%, transparent)}.markup-notifications-panel-row.is-unread{background:color-mix(in srgb, var(--markup-brand) 5%, transparent)}.markup-notifications-panel-meta{align-items:center;gap:6px;font-size:11px;display:flex}.markup-notifications-panel-dot{background:var(--markup-brand);border-radius:999px;flex-shrink:0;width:6px;height:6px}.markup-notifications-panel-actor{font-weight:600}.markup-notifications-panel-sep{color:var(--markup-muted)}.markup-notifications-panel-time{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel-thread{color:var(--markup-muted);margin:0;font-size:12px}.markup-notifications-panel-thread-title{color:var(--markup-ink)}.markup-notifications-panel-excerpt{color:color-mix(in srgb, var(--markup-ink) 80%, transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;font-style:italic;display:-webkit-box;overflow:hidden}.markup-panel-pop{z-index:11;pointer-events:auto;width:380px;max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-panel-pop[data-panel=privacy]{width:340px}.markup-panel-pop[data-panel=shortcuts]{width:320px}.markup-panel-pop-right{right:22px}.markup-panel-pop-left{left:22px}.markup-panel-pop-center{left:50%;transform:translate(-50%)}.markup-panel-pop .markup-pop{width:100%;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:static}.markup-panel-pop .markup-notifications-panel{max-height:min(60vh,480px)}.markup-panel-pop .markup-notifications-panel-header{padding:12px 14px}.markup-panel-pop .markup-notifications-panel-header .markup-icon-btn{display:none}.markup-pop[data-pop=privacy],.markup-pop[data-pop=shortcuts]{padding:0}.markup-panel{max-height:min(70vh,520px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:12px 14px;display:flex}.markup-panel-header .markup-eyebrow{flex:1}.markup-panel-body{flex:1;padding:4px 14px 14px;overflow-y:auto}.markup-panel-section{border-bottom:1px solid var(--markup-border);padding:10px 0}.markup-panel-section:last-child{border-bottom:none;padding-bottom:2px}.markup-panel-section-title{font-family:var(--markup-font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--markup-muted);margin:0 0 6px;font-size:10px;font-weight:400}.markup-panel-text{color:var(--markup-ink-soft);margin:0;font-size:12.5px;line-height:1.5}.markup-panel-text strong{color:var(--markup-ink);font-weight:600}.markup-panel-mono{font-family:var(--markup-font-mono);color:var(--markup-ink);word-break:break-all;font-size:11.5px}.markup-panel-list{color:var(--markup-ink-soft);margin:0;padding-left:16px;font-size:12.5px;line-height:1.5}.markup-panel-list li{margin-bottom:3px}.markup-panel-list li::marker{color:var(--markup-muted)}.markup-panel-note{color:var(--markup-muted);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-error{color:var(--markup-danger);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-action{border:1px solid var(--markup-border-strong);width:100%;height:30px;color:var(--markup-ink);font:inherit;cursor:pointer;background:0 0;border-radius:7px;margin-top:10px;padding:0 10px;font-size:12.5px;transition:background .12s,border-color .12s,color .12s}.markup-panel-action:hover:not(:disabled){background:var(--markup-hover)}.markup-panel-action:disabled{opacity:.6;cursor:default}.markup-panel-action.is-danger{border-color:color-mix(in srgb, var(--markup-danger) 45%, transparent);color:var(--markup-danger)}.markup-panel-action.is-danger:hover:not(:disabled){background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-shortcut-list{margin:0;padding:0;list-style:none}.markup-shortcut-row{align-items:center;gap:10px;min-height:24px;padding:2px 0;display:flex}.markup-shortcut-label{min-width:0;color:var(--markup-ink-soft);flex:1;font-size:12.5px;line-height:1.4}.markup-shortcut-keys{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.markup-shortcut-chord{align-items:center;gap:3px;display:inline-flex}.markup-shortcut-or{color:var(--markup-muted);margin-right:1px;font-size:10px}", pe = 1e4, me = 20, he = 60, N = null, P = [], ge = null, _e = !1, ve = ye();
|
|
252
252
|
function ye() {
|
|
253
253
|
return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `s-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
|
|
254
254
|
}
|
|
@@ -374,51 +374,51 @@ function F(e, t) {
|
|
|
374
374
|
}
|
|
375
375
|
//#endregion
|
|
376
376
|
//#region src/runtime/theme-store.ts
|
|
377
|
-
var Ne = "markup:widget:theme", Pe = null,
|
|
378
|
-
function
|
|
377
|
+
var Ne = "markup:widget:theme", Pe = null, Fe = Re() ?? "auto", Ie = Re() != null, Le = /* @__PURE__ */ new Set();
|
|
378
|
+
function Re() {
|
|
379
379
|
try {
|
|
380
380
|
let e = localStorage.getItem(Ne);
|
|
381
381
|
if (e === "light" || e === "dark" || e === "auto") return e;
|
|
382
382
|
} catch {}
|
|
383
383
|
return null;
|
|
384
384
|
}
|
|
385
|
-
function
|
|
386
|
-
Pe && (
|
|
387
|
-
}
|
|
388
|
-
function ze(e, t) {
|
|
389
|
-
Pe = e, !Fe && t && (I = t), Re();
|
|
385
|
+
function ze() {
|
|
386
|
+
Pe && (Fe === "auto" ? delete Pe.dataset.theme : Pe.dataset.theme = Fe);
|
|
390
387
|
}
|
|
391
|
-
function Be() {
|
|
392
|
-
|
|
388
|
+
function Be(e, t) {
|
|
389
|
+
Pe = e, !Ie && t && (Fe = t), ze();
|
|
393
390
|
}
|
|
394
391
|
function Ve() {
|
|
395
|
-
return
|
|
392
|
+
return Fe;
|
|
393
|
+
}
|
|
394
|
+
function He() {
|
|
395
|
+
return Fe === "dark" ? "dark" : Fe === "light" ? "light" : typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
396
396
|
}
|
|
397
|
-
function
|
|
398
|
-
if (e !==
|
|
399
|
-
|
|
397
|
+
function Ue(e) {
|
|
398
|
+
if (e !== Fe) {
|
|
399
|
+
Fe = e, Ie = !0;
|
|
400
400
|
try {
|
|
401
401
|
localStorage.setItem(Ne, e);
|
|
402
402
|
} catch {}
|
|
403
|
-
|
|
404
|
-
for (let e of
|
|
403
|
+
ze();
|
|
404
|
+
for (let e of Le) e(Fe);
|
|
405
405
|
}
|
|
406
406
|
}
|
|
407
|
-
function
|
|
408
|
-
return
|
|
409
|
-
|
|
407
|
+
function We(e) {
|
|
408
|
+
return Le.add(e), () => {
|
|
409
|
+
Le.delete(e);
|
|
410
410
|
};
|
|
411
411
|
}
|
|
412
|
-
function
|
|
412
|
+
function Ge() {
|
|
413
413
|
if (typeof window > "u" || !window.matchMedia) return () => {};
|
|
414
414
|
let e = window.matchMedia("(prefers-color-scheme: dark)"), t = () => {
|
|
415
|
-
if (
|
|
415
|
+
if (Fe === "auto") for (let e of Le) e(Fe);
|
|
416
416
|
};
|
|
417
417
|
return e.addEventListener?.("change", t), () => e.removeEventListener?.("change", t);
|
|
418
418
|
}
|
|
419
419
|
//#endregion
|
|
420
420
|
//#region ../../node_modules/.pnpm/preact@10.29.7/node_modules/preact/hooks/dist/hooks.module.js
|
|
421
|
-
var
|
|
421
|
+
var I, L, Ke, qe, Je = 0, Ye = [], R = t, Xe = R.__b, Ze = R.__r, Qe = R.diffed, $e = R.__c, et = R.unmount, tt = R.__;
|
|
422
422
|
function nt(e, t) {
|
|
423
423
|
R.__h && R.__h(L, e, Je || t), Je = 0;
|
|
424
424
|
var n = L.__H || (L.__H = {
|
|
@@ -431,7 +431,7 @@ function z(e) {
|
|
|
431
431
|
return Je = 1, rt(ft, e);
|
|
432
432
|
}
|
|
433
433
|
function rt(e, t, n) {
|
|
434
|
-
var r = nt(
|
|
434
|
+
var r = nt(I++, 2);
|
|
435
435
|
if (r.t = e, !r.__c && (r.__ = [n ? n(t) : ft(void 0, t), function(e) {
|
|
436
436
|
var t = r.__N ? r.__N[0] : r.__[0], n = r.t(t, e);
|
|
437
437
|
t !== n && (r.__N = [n, r.__[1]], r.__c.setState({}));
|
|
@@ -464,11 +464,11 @@ function rt(e, t, n) {
|
|
|
464
464
|
return r.__N || r.__;
|
|
465
465
|
}
|
|
466
466
|
function B(e, t) {
|
|
467
|
-
var n = nt(
|
|
467
|
+
var n = nt(I++, 3);
|
|
468
468
|
!R.__s && dt(n.__H, t) && (n.__ = e, n.u = t, L.__H.__h.push(n));
|
|
469
469
|
}
|
|
470
470
|
function it(e, t) {
|
|
471
|
-
var n = nt(
|
|
471
|
+
var n = nt(I++, 4);
|
|
472
472
|
!R.__s && dt(n.__H, t) && (n.__ = e, n.u = t, L.__h.push(n));
|
|
473
473
|
}
|
|
474
474
|
function V(e) {
|
|
@@ -477,7 +477,7 @@ function V(e) {
|
|
|
477
477
|
}, []);
|
|
478
478
|
}
|
|
479
479
|
function at(e, t) {
|
|
480
|
-
var n = nt(
|
|
480
|
+
var n = nt(I++, 7);
|
|
481
481
|
return dt(n.__H, t) && (n.__ = e(), n.__H = t, n.__h = e), n.__;
|
|
482
482
|
}
|
|
483
483
|
function H(e, t) {
|
|
@@ -500,11 +500,11 @@ R.__b = function(e) {
|
|
|
500
500
|
}, R.__ = function(e, t) {
|
|
501
501
|
e && t.__k && t.__k.__m && (e.__m = t.__k.__m), tt && tt(e, t);
|
|
502
502
|
}, R.__r = function(e) {
|
|
503
|
-
Ze && Ze(e),
|
|
503
|
+
Ze && Ze(e), I = 0;
|
|
504
504
|
var t = (L = e.__c).__H;
|
|
505
505
|
t && (Ke === L ? (t.__h = [], L.__h = [], t.__.some(function(e) {
|
|
506
506
|
e.__N && (e.__ = e.__N), e.u = e.__N = void 0;
|
|
507
|
-
})) : (t.__h.some(lt), t.__h.some(ut), t.__h = [],
|
|
507
|
+
})) : (t.__h.some(lt), t.__h.some(ut), t.__h = [], I = 0)), Ke = L;
|
|
508
508
|
}, R.diffed = function(e) {
|
|
509
509
|
Qe && Qe(e);
|
|
510
510
|
var t = e.__c;
|
|
@@ -4069,8 +4069,95 @@ async function Io(e, t = {}) {
|
|
|
4069
4069
|
return a.width = c * s, a.height = l * s, t.skipAutoScale || Oa(a), a.style.width = `${c}`, a.style.height = `${l}`, t.backgroundColor && (o.fillStyle = t.backgroundColor, o.fillRect(0, 0, a.width, a.height)), o.drawImage(i, 0, 0, a.width, a.height), a;
|
|
4070
4070
|
}
|
|
4071
4071
|
//#endregion
|
|
4072
|
+
//#region src/runtime/sprite-inline.ts
|
|
4073
|
+
var Lo = "http://www.w3.org/2000/svg", Ro = "http://www.w3.org/1999/xlink", zo = 3e3;
|
|
4074
|
+
function Bo(e, t) {
|
|
4075
|
+
if (!e) return null;
|
|
4076
|
+
let n = e.trim();
|
|
4077
|
+
if (n === "" || n.startsWith("#")) return null;
|
|
4078
|
+
let r;
|
|
4079
|
+
try {
|
|
4080
|
+
r = new URL(n, t);
|
|
4081
|
+
} catch {
|
|
4082
|
+
return null;
|
|
4083
|
+
}
|
|
4084
|
+
if (r.protocol !== "http:" && r.protocol !== "https:") return null;
|
|
4085
|
+
let i = decodeURIComponent(r.hash.slice(1));
|
|
4086
|
+
return i ? (r.hash = "", {
|
|
4087
|
+
url: r.href,
|
|
4088
|
+
id: i
|
|
4089
|
+
}) : null;
|
|
4090
|
+
}
|
|
4091
|
+
var Vo = /* @__PURE__ */ new Map();
|
|
4092
|
+
function Ho(e) {
|
|
4093
|
+
let t = Vo.get(e);
|
|
4094
|
+
if (t) return t;
|
|
4095
|
+
let n = fetch(e, { signal: Ai(zo) }).then(async (e) => {
|
|
4096
|
+
if (!e.ok) throw Error(`sprite fetch returned ${e.status}`);
|
|
4097
|
+
let t = new DOMParser().parseFromString(await e.text(), "image/svg+xml");
|
|
4098
|
+
if (t.querySelector("parsererror")) throw Error("sprite is not parseable SVG");
|
|
4099
|
+
return t;
|
|
4100
|
+
}).catch((t) => (F(/* @__PURE__ */ Error(`Screenshot sprite ${e} unreadable: ${String(t)}`), { context: "screenshot-sprite" }), null));
|
|
4101
|
+
return Vo.set(e, n), n;
|
|
4102
|
+
}
|
|
4103
|
+
function Uo(e, t) {
|
|
4104
|
+
try {
|
|
4105
|
+
let n = e.querySelector(`#${CSS.escape(t)}`);
|
|
4106
|
+
if (n) return n;
|
|
4107
|
+
} catch {}
|
|
4108
|
+
return e.getElementById(t);
|
|
4109
|
+
}
|
|
4110
|
+
function Wo(e, t) {
|
|
4111
|
+
let n;
|
|
4112
|
+
if (e.tagName.toLowerCase() === "symbol") {
|
|
4113
|
+
n = document.createElementNS(Lo, "svg");
|
|
4114
|
+
for (let t of e.attributes) t.name !== "id" && n.setAttribute(t.name, t.value);
|
|
4115
|
+
for (let t of e.childNodes) n.appendChild(document.importNode(t, !0));
|
|
4116
|
+
} else n = document.importNode(e, !0), n.removeAttribute("id");
|
|
4117
|
+
n.tagName.toLowerCase() === "svg" && (n.setAttribute("width", "100%"), n.setAttribute("height", "100%"));
|
|
4118
|
+
for (let e of t.attributes) if (e.name !== "href" && e.localName !== "href") {
|
|
4119
|
+
if (e.name === "class" || e.name === "style") {
|
|
4120
|
+
let t = n.getAttribute(e.name), r = e.name === "style" ? ";" : " ";
|
|
4121
|
+
n.setAttribute(e.name, t ? `${t}${r}${e.value}` : e.value);
|
|
4122
|
+
continue;
|
|
4123
|
+
}
|
|
4124
|
+
n.setAttribute(e.name, e.value);
|
|
4125
|
+
}
|
|
4126
|
+
return n;
|
|
4127
|
+
}
|
|
4128
|
+
async function Go() {
|
|
4129
|
+
let e = [];
|
|
4130
|
+
for (let t of document.querySelectorAll("use")) {
|
|
4131
|
+
let n = Bo(t.getAttribute("href") ?? t.getAttributeNS(Ro, "href"), document.baseURI);
|
|
4132
|
+
n && e.push({
|
|
4133
|
+
use: t,
|
|
4134
|
+
ref: n
|
|
4135
|
+
});
|
|
4136
|
+
}
|
|
4137
|
+
if (e.length === 0) return () => {};
|
|
4138
|
+
let t = /* @__PURE__ */ new Map();
|
|
4139
|
+
await Promise.all([...new Set(e.map((e) => e.ref.url))].map(async (e) => {
|
|
4140
|
+
t.set(e, await Ho(e));
|
|
4141
|
+
}));
|
|
4142
|
+
let n = [];
|
|
4143
|
+
for (let { use: r, ref: i } of e) {
|
|
4144
|
+
let e = t.get(i.url);
|
|
4145
|
+
if (!e) continue;
|
|
4146
|
+
let a = Uo(e, i.id);
|
|
4147
|
+
if (!a) continue;
|
|
4148
|
+
let o = Wo(a, r);
|
|
4149
|
+
r.replaceWith(o), n.push({
|
|
4150
|
+
use: r,
|
|
4151
|
+
replacement: o
|
|
4152
|
+
});
|
|
4153
|
+
}
|
|
4154
|
+
return () => {
|
|
4155
|
+
for (let { use: e, replacement: t } of n) t.replaceWith(e);
|
|
4156
|
+
};
|
|
4157
|
+
}
|
|
4158
|
+
//#endregion
|
|
4072
4159
|
//#region src/runtime/screenshot.ts
|
|
4073
|
-
var
|
|
4160
|
+
var Ko = 2097152, qo = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", Jo = [
|
|
4074
4161
|
{
|
|
4075
4162
|
quality: .85,
|
|
4076
4163
|
scale: 1
|
|
@@ -4087,8 +4174,8 @@ var Lo = 2097152, Ro = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAA
|
|
|
4087
4174
|
quality: .6,
|
|
4088
4175
|
scale: .5
|
|
4089
4176
|
}
|
|
4090
|
-
],
|
|
4091
|
-
function
|
|
4177
|
+
], Yo = "background:currentColor!important;color:transparent!important;text-shadow:none!important;-webkit-text-fill-color:transparent!important", Xo = "input[type=\"password\"],input[autocomplete~=\"cc-number\"],input[autocomplete~=\"cc-csc\"],input[autocomplete~=\"cc-exp\"],input[autocomplete~=\"cc-name\"],input[autocomplete~=\"cc-type\"],input[autocomplete~=\"current-password\"],input[autocomplete~=\"new-password\"],input[autocomplete~=\"one-time-code\"]";
|
|
4178
|
+
function Zo(e) {
|
|
4092
4179
|
let t = e.parentElement;
|
|
4093
4180
|
for (; t;) {
|
|
4094
4181
|
if (t.hasAttribute("data-markup-safe")) return !0;
|
|
@@ -4096,37 +4183,37 @@ function Ho(e) {
|
|
|
4096
4183
|
}
|
|
4097
4184
|
return !1;
|
|
4098
4185
|
}
|
|
4099
|
-
function
|
|
4186
|
+
function Qo(e) {
|
|
4100
4187
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
4101
4188
|
function r(e) {
|
|
4102
4189
|
t.has(e) || (t.add(e), n.push(e));
|
|
4103
4190
|
}
|
|
4104
4191
|
for (let e of document.querySelectorAll("[data-markup-private],[data-markup-redact]")) r(e);
|
|
4105
|
-
for (let e of document.querySelectorAll(
|
|
4192
|
+
for (let e of document.querySelectorAll(Xo)) Zo(e) || r(e);
|
|
4106
4193
|
if (e.redactSelector) try {
|
|
4107
|
-
for (let t of document.querySelectorAll(e.redactSelector))
|
|
4194
|
+
for (let t of document.querySelectorAll(e.redactSelector)) Zo(t) || r(t);
|
|
4108
4195
|
} catch (e) {
|
|
4109
4196
|
F(e, { context: "screenshot-redact-selector" });
|
|
4110
4197
|
}
|
|
4111
|
-
if (e.strictScrub) for (let e of document.querySelectorAll("input,select,textarea"))
|
|
4198
|
+
if (e.strictScrub) for (let e of document.querySelectorAll("input,select,textarea")) Zo(e) || r(e);
|
|
4112
4199
|
return n;
|
|
4113
4200
|
}
|
|
4114
|
-
function
|
|
4201
|
+
function $o(e) {
|
|
4115
4202
|
let t = e.getAttribute("style");
|
|
4116
|
-
return e.setAttribute("style", t ? `${t};${
|
|
4203
|
+
return e.setAttribute("style", t ? `${t};${Yo}` : Yo), () => {
|
|
4117
4204
|
t === null ? e.removeAttribute("style") : e.setAttribute("style", t);
|
|
4118
4205
|
};
|
|
4119
4206
|
}
|
|
4120
|
-
function
|
|
4207
|
+
function es(e) {
|
|
4121
4208
|
if (e.id) return `#${CSS.escape(e.id)}`;
|
|
4122
4209
|
let t = e.tagName.toLowerCase(), n = e.getAttribute("type"), r = e.getAttribute("name");
|
|
4123
4210
|
return n && r ? `${t}[type="${n}"][name="${r}"]` : n ? `${t}[type="${n}"]` : r ? `${t}[name="${r}"]` : t;
|
|
4124
4211
|
}
|
|
4125
|
-
async function
|
|
4212
|
+
async function ts(e, t, n) {
|
|
4126
4213
|
try {
|
|
4127
|
-
let r = window.innerWidth, i = window.innerHeight, a = Math.min(window.devicePixelRatio, 2), o = n ?
|
|
4214
|
+
let r = window.innerWidth, i = window.innerHeight, a = Math.min(window.devicePixelRatio, 2), o = await Go(), s = n ? Qo(n) : [], c = s.map(es), l = s.map($o), u;
|
|
4128
4215
|
try {
|
|
4129
|
-
|
|
4216
|
+
u = await Io(document.documentElement, {
|
|
4130
4217
|
width: r,
|
|
4131
4218
|
height: i,
|
|
4132
4219
|
cacheBust: !0,
|
|
@@ -4135,7 +4222,7 @@ async function Ko(e, t, n) {
|
|
|
4135
4222
|
filter(t) {
|
|
4136
4223
|
return !(e && (t === e || e.contains(t)) || t instanceof Element && t.hasAttribute("data-markup-skip"));
|
|
4137
4224
|
},
|
|
4138
|
-
imagePlaceholder:
|
|
4225
|
+
imagePlaceholder: qo,
|
|
4139
4226
|
onImageErrorHandler: () => {},
|
|
4140
4227
|
style: {
|
|
4141
4228
|
transform: `translateY(-${window.scrollY}px)`,
|
|
@@ -4143,45 +4230,46 @@ async function Ko(e, t, n) {
|
|
|
4143
4230
|
}
|
|
4144
4231
|
});
|
|
4145
4232
|
} finally {
|
|
4146
|
-
for (let e of
|
|
4233
|
+
for (let e of l) e();
|
|
4234
|
+
o();
|
|
4147
4235
|
}
|
|
4148
4236
|
if (t) {
|
|
4149
|
-
let e =
|
|
4150
|
-
e &&
|
|
4237
|
+
let e = u.getContext("2d");
|
|
4238
|
+
e && as(e, t.x, t.y, a);
|
|
4151
4239
|
}
|
|
4152
|
-
let
|
|
4153
|
-
return
|
|
4154
|
-
blob:
|
|
4155
|
-
redactedCount:
|
|
4156
|
-
redactedSelectors:
|
|
4240
|
+
let d = await is(u);
|
|
4241
|
+
return d ? {
|
|
4242
|
+
blob: d,
|
|
4243
|
+
redactedCount: c.length,
|
|
4244
|
+
redactedSelectors: c
|
|
4157
4245
|
} : null;
|
|
4158
4246
|
} catch (e) {
|
|
4159
4247
|
return F(e, { context: "screenshot-capture" }), null;
|
|
4160
4248
|
}
|
|
4161
4249
|
}
|
|
4162
|
-
function
|
|
4250
|
+
function ns(e, t) {
|
|
4163
4251
|
return new Promise((n) => e.toBlob(n, "image/jpeg", t));
|
|
4164
4252
|
}
|
|
4165
|
-
function
|
|
4253
|
+
function rs(e, t) {
|
|
4166
4254
|
let n = document.createElement("canvas");
|
|
4167
4255
|
n.width = Math.max(1, Math.round(e.width * t)), n.height = Math.max(1, Math.round(e.height * t));
|
|
4168
4256
|
let r = n.getContext("2d");
|
|
4169
4257
|
return r ? (r.imageSmoothingQuality = "high", r.drawImage(e, 0, 0, n.width, n.height), n) : null;
|
|
4170
4258
|
}
|
|
4171
|
-
async function
|
|
4259
|
+
async function is(e) {
|
|
4172
4260
|
let t = null;
|
|
4173
|
-
for (let { quality: n, scale: r } of
|
|
4174
|
-
let i = r === 1 ? e :
|
|
4261
|
+
for (let { quality: n, scale: r } of Jo) {
|
|
4262
|
+
let i = r === 1 ? e : rs(e, r);
|
|
4175
4263
|
if (!i) continue;
|
|
4176
|
-
let a = await
|
|
4264
|
+
let a = await ns(i, n);
|
|
4177
4265
|
if (a) {
|
|
4178
|
-
if (a.size <=
|
|
4266
|
+
if (a.size <= Ko) return a;
|
|
4179
4267
|
t = t == null ? a.size : Math.min(t, a.size);
|
|
4180
4268
|
}
|
|
4181
4269
|
}
|
|
4182
|
-
return F(/* @__PURE__ */ Error(t == null ? "Screenshot encode produced no blob at any quality/scale" : `Screenshot still ${t} bytes at the end of the encode ladder (cap ${
|
|
4270
|
+
return F(/* @__PURE__ */ Error(t == null ? "Screenshot encode produced no blob at any quality/scale" : `Screenshot still ${t} bytes at the end of the encode ladder (cap ${Ko})`), { context: "screenshot-encode" }), null;
|
|
4183
4271
|
}
|
|
4184
|
-
function
|
|
4272
|
+
function as(e, t, n, r) {
|
|
4185
4273
|
let i = r, a = 28 * i, o = a / 2, s = t * i, c = n * i;
|
|
4186
4274
|
e.save();
|
|
4187
4275
|
let l = 2 * i;
|
|
@@ -4199,7 +4287,7 @@ function Xo(e, t, n, r) {
|
|
|
4199
4287
|
}
|
|
4200
4288
|
//#endregion
|
|
4201
4289
|
//#region src/runtime/use-subscription-token.ts
|
|
4202
|
-
var
|
|
4290
|
+
var os = Ur({
|
|
4203
4291
|
idle: { issued: (e, t) => ({
|
|
4204
4292
|
kind: "active",
|
|
4205
4293
|
token: t.token,
|
|
@@ -4210,9 +4298,9 @@ var Zo = Ur({
|
|
|
4210
4298
|
token: t.token,
|
|
4211
4299
|
expiresAt: t.expiresAt
|
|
4212
4300
|
}) }
|
|
4213
|
-
}),
|
|
4214
|
-
function
|
|
4215
|
-
let [t, n] = Wr(
|
|
4301
|
+
}), ss = 18e5, cs = 6e4, ls = 6e4;
|
|
4302
|
+
function us(e) {
|
|
4303
|
+
let [t, n] = Wr(os, { kind: "idle" });
|
|
4216
4304
|
return B(() => {
|
|
4217
4305
|
let t = !1, r = null;
|
|
4218
4306
|
async function i() {
|
|
@@ -4224,11 +4312,11 @@ function ts(e) {
|
|
|
4224
4312
|
token: a.token,
|
|
4225
4313
|
expiresAt: a.expiresAt
|
|
4226
4314
|
});
|
|
4227
|
-
let o = Math.max(
|
|
4315
|
+
let o = Math.max(cs, a.expiresAt - Date.now() - ss);
|
|
4228
4316
|
r = setTimeout(i, o);
|
|
4229
4317
|
} catch (e) {
|
|
4230
4318
|
if (t) return;
|
|
4231
|
-
e?.name !== "TypeError" && F(e, { context: "subscription-token-refresh" }), r = setTimeout(i,
|
|
4319
|
+
e?.name !== "TypeError" && F(e, { context: "subscription-token-refresh" }), r = setTimeout(i, ls);
|
|
4232
4320
|
}
|
|
4233
4321
|
}
|
|
4234
4322
|
return i(), () => {
|
|
@@ -4238,7 +4326,7 @@ function ts(e) {
|
|
|
4238
4326
|
}
|
|
4239
4327
|
//#endregion
|
|
4240
4328
|
//#region src/runtime/refresh-token.ts
|
|
4241
|
-
async function
|
|
4329
|
+
async function ds(e) {
|
|
4242
4330
|
try {
|
|
4243
4331
|
let t = {
|
|
4244
4332
|
method: "POST",
|
|
@@ -4274,8 +4362,8 @@ async function ns(e) {
|
|
|
4274
4362
|
}
|
|
4275
4363
|
//#endregion
|
|
4276
4364
|
//#region src/runtime/use-token-refresh.ts
|
|
4277
|
-
var
|
|
4278
|
-
function
|
|
4365
|
+
var fs = 6e4, ps = 500;
|
|
4366
|
+
function ms(e, t, n, r, i) {
|
|
4279
4367
|
let a = e.kind === "verified", o = a ? e.identity.storage : void 0, s = a ? e.identity.refreshToken : void 0, c = a ? e.identity.refreshTokenExpiresAt : void 0, l = a ? e.identity.tokenExpiresAt : void 0;
|
|
4280
4368
|
B(() => {
|
|
4281
4369
|
if (!a || c == null || l == null || o === "localStorage" && s == null || o !== "cookies" && o !== "localStorage") return;
|
|
@@ -4284,8 +4372,8 @@ function as(e, t, n, r, i) {
|
|
|
4284
4372
|
i();
|
|
4285
4373
|
return;
|
|
4286
4374
|
}
|
|
4287
|
-
let d = Math.max(
|
|
4288
|
-
let a = await
|
|
4375
|
+
let d = Math.max(ps, l - fs - u), f = new AbortController(), p = window.setTimeout(async () => {
|
|
4376
|
+
let a = await ds({
|
|
4289
4377
|
apiUrl: t,
|
|
4290
4378
|
apiKey: n,
|
|
4291
4379
|
mode: o,
|
|
@@ -4328,7 +4416,7 @@ function as(e, t, n, r, i) {
|
|
|
4328
4416
|
function Z(...e) {
|
|
4329
4417
|
return e.filter(Boolean).join(" ");
|
|
4330
4418
|
}
|
|
4331
|
-
function
|
|
4419
|
+
function hs() {
|
|
4332
4420
|
return typeof navigator < "u" && /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent) ? {
|
|
4333
4421
|
mod: "⌘",
|
|
4334
4422
|
enter: "↵"
|
|
@@ -4339,7 +4427,7 @@ function os() {
|
|
|
4339
4427
|
}
|
|
4340
4428
|
//#endregion
|
|
4341
4429
|
//#region ../../node_modules/.pnpm/preact@10.29.7/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
|
|
4342
|
-
var
|
|
4430
|
+
var gs = 0;
|
|
4343
4431
|
Array.isArray;
|
|
4344
4432
|
function Q(e, n, r, i, a, o) {
|
|
4345
4433
|
n ||= {};
|
|
@@ -4356,7 +4444,7 @@ function Q(e, n, r, i, a, o) {
|
|
|
4356
4444
|
__e: null,
|
|
4357
4445
|
__c: null,
|
|
4358
4446
|
constructor: void 0,
|
|
4359
|
-
__v: --
|
|
4447
|
+
__v: --gs,
|
|
4360
4448
|
__i: -1,
|
|
4361
4449
|
__u: 0,
|
|
4362
4450
|
__source: a,
|
|
@@ -4367,7 +4455,7 @@ function Q(e, n, r, i, a, o) {
|
|
|
4367
4455
|
}
|
|
4368
4456
|
//#endregion
|
|
4369
4457
|
//#region src/runtime/ui/icons.tsx
|
|
4370
|
-
function
|
|
4458
|
+
function _s({ size: e = 16 }) {
|
|
4371
4459
|
return /* @__PURE__ */ Q("svg", {
|
|
4372
4460
|
width: e,
|
|
4373
4461
|
height: e,
|
|
@@ -4377,7 +4465,7 @@ function cs({ size: e = 16 }) {
|
|
|
4377
4465
|
children: /* @__PURE__ */ Q("path", { d: "M63.4561 0.00557731C70.6277 -0.0175584 76.9025 1.04088 83.5898 3.71066C97.7952 9.43043 109.186 20.5001 115.311 34.5359C119.708 44.8002 120.746 54.7869 119.156 65.8171C116.857 82.7956 105.129 98.8382 90.0566 106.846C83.4394 110.362 74.7336 113.029 67.2051 113.271C62.4204 113.425 61.1274 113.32 56.6807 115.204C50.2035 117.858 43.6874 120.417 37.1348 122.879C34.8442 123.763 32.3203 124.902 29.9404 125.51C29.4023 125.648 28.1978 125.009 27.7598 124.646C26.9046 123.951 27.0582 122.505 27.0264 121.484C26.8123 114.646 27.3302 107.458 26.8604 100.656C25.1578 98.6714 22.4026 96.603 20.3086 94.1989C12.1853 84.8731 7.05334 73.9949 6.18164 61.6101C4.95583 46.292 9.97176 31.1285 20.0908 19.5632C29.989 8.13202 44.0369 1.11921 59.1221 0.0788195C60.2694 -0.0356049 62.2637 0.00944821 63.4561 0.00557731ZM92.2676 55.7497C91.5754 39.5314 77.8207 26.9725 61.6064 27.7536C45.5175 28.5287 33.0758 42.1537 33.7627 58.2468C34.4496 74.3398 48.007 86.8553 64.1035 86.2566C80.3254 85.6533 92.9599 71.968 92.2676 55.7497Z" })
|
|
4378
4466
|
});
|
|
4379
4467
|
}
|
|
4380
|
-
function
|
|
4468
|
+
function vs({ size: e = 16 }) {
|
|
4381
4469
|
return /* @__PURE__ */ Q("svg", {
|
|
4382
4470
|
width: e,
|
|
4383
4471
|
height: e,
|
|
@@ -4386,7 +4474,7 @@ function ls({ size: e = 16 }) {
|
|
|
4386
4474
|
children: /* @__PURE__ */ Q("path", { d: "M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z" })
|
|
4387
4475
|
});
|
|
4388
4476
|
}
|
|
4389
|
-
function
|
|
4477
|
+
function ys({ size: e = 16 }) {
|
|
4390
4478
|
return /* @__PURE__ */ Q("svg", {
|
|
4391
4479
|
width: e,
|
|
4392
4480
|
height: e,
|
|
@@ -4396,7 +4484,7 @@ function us({ size: e = 16 }) {
|
|
|
4396
4484
|
children: /* @__PURE__ */ Q("path", { d: "M12.78 5.22a.75.75 0 0 1 0 1.06L9.06 10l3.72 3.72a.75.75 0 1 1-1.06 1.06l-4.25-4.25a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Z" })
|
|
4397
4485
|
});
|
|
4398
4486
|
}
|
|
4399
|
-
function
|
|
4487
|
+
function bs({ size: e = 16 }) {
|
|
4400
4488
|
return /* @__PURE__ */ Q("svg", {
|
|
4401
4489
|
width: e,
|
|
4402
4490
|
height: e,
|
|
@@ -4405,7 +4493,7 @@ function ds({ size: e = 16 }) {
|
|
|
4405
4493
|
children: /* @__PURE__ */ Q("path", { d: "M3 10a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM8.5 10a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM15.5 8.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z" })
|
|
4406
4494
|
});
|
|
4407
4495
|
}
|
|
4408
|
-
function
|
|
4496
|
+
function xs({ size: e = 16 }) {
|
|
4409
4497
|
return /* @__PURE__ */ Q("svg", {
|
|
4410
4498
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4411
4499
|
width: e,
|
|
@@ -4415,7 +4503,7 @@ function fs({ size: e = 16 }) {
|
|
|
4415
4503
|
children: /* @__PURE__ */ Q("path", { d: "M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z" })
|
|
4416
4504
|
});
|
|
4417
4505
|
}
|
|
4418
|
-
function
|
|
4506
|
+
function Ss({ size: e = 16 }) {
|
|
4419
4507
|
return /* @__PURE__ */ Q("svg", {
|
|
4420
4508
|
width: e,
|
|
4421
4509
|
height: e,
|
|
@@ -4429,7 +4517,7 @@ function ps({ size: e = 16 }) {
|
|
|
4429
4517
|
})
|
|
4430
4518
|
});
|
|
4431
4519
|
}
|
|
4432
|
-
function
|
|
4520
|
+
function Cs({ size: e = 16 }) {
|
|
4433
4521
|
return /* @__PURE__ */ Q("svg", {
|
|
4434
4522
|
width: e,
|
|
4435
4523
|
height: e,
|
|
@@ -4438,7 +4526,7 @@ function ms({ size: e = 16 }) {
|
|
|
4438
4526
|
children: /* @__PURE__ */ Q("path", { d: "M2.87 2.298a.75.75 0 0 0-.812 1.021L3.39 6.624a1 1 0 0 0 .928.626H8.25a.75.75 0 0 1 0 1.5H4.318a1 1 0 0 0-.927.626l-1.333 3.305a.75.75 0 0 0 .811 1.022 24.89 24.89 0 0 0 11.668-5.115.75.75 0 0 0 0-1.175A24.89 24.89 0 0 0 2.869 2.298Z" })
|
|
4439
4527
|
});
|
|
4440
4528
|
}
|
|
4441
|
-
function
|
|
4529
|
+
function ws({ size: e = 16 }) {
|
|
4442
4530
|
return /* @__PURE__ */ Q("svg", {
|
|
4443
4531
|
width: e,
|
|
4444
4532
|
height: e,
|
|
@@ -4462,19 +4550,19 @@ function $({ size: e = 16, children: t }) {
|
|
|
4462
4550
|
children: t
|
|
4463
4551
|
});
|
|
4464
4552
|
}
|
|
4465
|
-
function
|
|
4553
|
+
function Ts({ size: e = 16 }) {
|
|
4466
4554
|
return /* @__PURE__ */ Q($, {
|
|
4467
4555
|
size: e,
|
|
4468
4556
|
children: /* @__PURE__ */ Q("path", { d: "M21 11.5a8.4 8.4 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.4 8.4 0 0 1-3.8-.9L3 21l1.9-5.7a8.4 8.4 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.4 8.4 0 0 1 3.8-.9h.5a8.5 8.5 0 0 1 8 8v.5z" })
|
|
4469
4557
|
});
|
|
4470
4558
|
}
|
|
4471
|
-
function
|
|
4559
|
+
function Es({ size: e = 16 }) {
|
|
4472
4560
|
return /* @__PURE__ */ Q($, {
|
|
4473
4561
|
size: e,
|
|
4474
4562
|
children: [/* @__PURE__ */ Q("path", { d: "M22 12h-6l-2 3h-4l-2-3H2" }), /* @__PURE__ */ Q("path", { d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" })]
|
|
4475
4563
|
});
|
|
4476
4564
|
}
|
|
4477
|
-
function
|
|
4565
|
+
function Ds({ size: e = 16 }) {
|
|
4478
4566
|
return /* @__PURE__ */ Q($, {
|
|
4479
4567
|
size: e,
|
|
4480
4568
|
children: [/* @__PURE__ */ Q("path", { d: "M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z" }), /* @__PURE__ */ Q("circle", {
|
|
@@ -4484,7 +4572,7 @@ function vs({ size: e = 16 }) {
|
|
|
4484
4572
|
})]
|
|
4485
4573
|
});
|
|
4486
4574
|
}
|
|
4487
|
-
function
|
|
4575
|
+
function Os({ size: e = 16 }) {
|
|
4488
4576
|
return /* @__PURE__ */ Q($, {
|
|
4489
4577
|
size: e,
|
|
4490
4578
|
children: [
|
|
@@ -4495,13 +4583,13 @@ function ys({ size: e = 16 }) {
|
|
|
4495
4583
|
]
|
|
4496
4584
|
});
|
|
4497
4585
|
}
|
|
4498
|
-
function
|
|
4586
|
+
function ks({ size: e = 16 }) {
|
|
4499
4587
|
return /* @__PURE__ */ Q($, {
|
|
4500
4588
|
size: e,
|
|
4501
4589
|
children: /* @__PURE__ */ Q("path", { d: "M3 6h18M3 12h18M3 18h18" })
|
|
4502
4590
|
});
|
|
4503
4591
|
}
|
|
4504
|
-
function
|
|
4592
|
+
function As({ size: e = 16 }) {
|
|
4505
4593
|
return /* @__PURE__ */ Q($, {
|
|
4506
4594
|
size: e,
|
|
4507
4595
|
children: [/* @__PURE__ */ Q("circle", {
|
|
@@ -4511,13 +4599,13 @@ function xs({ size: e = 16 }) {
|
|
|
4511
4599
|
}), /* @__PURE__ */ Q("path", { d: "M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41" })]
|
|
4512
4600
|
});
|
|
4513
4601
|
}
|
|
4514
|
-
function
|
|
4602
|
+
function js({ size: e = 16 }) {
|
|
4515
4603
|
return /* @__PURE__ */ Q($, {
|
|
4516
4604
|
size: e,
|
|
4517
4605
|
children: /* @__PURE__ */ Q("path", { d: "M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" })
|
|
4518
4606
|
});
|
|
4519
4607
|
}
|
|
4520
|
-
function
|
|
4608
|
+
function Ms({ size: e = 16 }) {
|
|
4521
4609
|
return /* @__PURE__ */ Q($, {
|
|
4522
4610
|
size: e,
|
|
4523
4611
|
children: [/* @__PURE__ */ Q("rect", {
|
|
@@ -4529,13 +4617,13 @@ function Cs({ size: e = 16 }) {
|
|
|
4529
4617
|
}), /* @__PURE__ */ Q("path", { d: "M8 21h8M12 17v4" })]
|
|
4530
4618
|
});
|
|
4531
4619
|
}
|
|
4532
|
-
function
|
|
4620
|
+
function Ns({ size: e = 16 }) {
|
|
4533
4621
|
return /* @__PURE__ */ Q($, {
|
|
4534
4622
|
size: e,
|
|
4535
4623
|
children: /* @__PURE__ */ Q("path", { d: "M12 22s8-3.5 8-10V5l-8-3-8 3v7c0 6.5 8 10 8 10z" })
|
|
4536
4624
|
});
|
|
4537
4625
|
}
|
|
4538
|
-
function
|
|
4626
|
+
function Ps({ size: e = 16 }) {
|
|
4539
4627
|
return /* @__PURE__ */ Q($, {
|
|
4540
4628
|
size: e,
|
|
4541
4629
|
children: [/* @__PURE__ */ Q("rect", {
|
|
@@ -4547,19 +4635,19 @@ function Ts({ size: e = 16 }) {
|
|
|
4547
4635
|
}), /* @__PURE__ */ Q("path", { d: "M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M10 14h4" })]
|
|
4548
4636
|
});
|
|
4549
4637
|
}
|
|
4550
|
-
function
|
|
4638
|
+
function Fs({ size: e = 16 }) {
|
|
4551
4639
|
return /* @__PURE__ */ Q($, {
|
|
4552
4640
|
size: e,
|
|
4553
4641
|
children: [/* @__PURE__ */ Q("path", { d: "M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4" }), /* @__PURE__ */ Q("path", { d: "M10 17l5-5-5-5M15 12H3" })]
|
|
4554
4642
|
});
|
|
4555
4643
|
}
|
|
4556
|
-
function
|
|
4644
|
+
function Is({ size: e = 16 }) {
|
|
4557
4645
|
return /* @__PURE__ */ Q($, {
|
|
4558
4646
|
size: e,
|
|
4559
4647
|
children: [/* @__PURE__ */ Q("path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" }), /* @__PURE__ */ Q("path", { d: "M16 17l5-5-5-5M21 12H9" })]
|
|
4560
4648
|
});
|
|
4561
4649
|
}
|
|
4562
|
-
function
|
|
4650
|
+
function Ls({ size: e = 16 }) {
|
|
4563
4651
|
return /* @__PURE__ */ Q($, {
|
|
4564
4652
|
size: e,
|
|
4565
4653
|
children: [/* @__PURE__ */ Q("circle", {
|
|
@@ -4569,7 +4657,7 @@ function Os({ size: e = 16 }) {
|
|
|
4569
4657
|
}), /* @__PURE__ */ Q("path", { d: "M4 21a8 8 0 0 1 16 0" })]
|
|
4570
4658
|
});
|
|
4571
4659
|
}
|
|
4572
|
-
function
|
|
4660
|
+
function Rs({ size: e = 16 }) {
|
|
4573
4661
|
return /* @__PURE__ */ Q($, {
|
|
4574
4662
|
size: e,
|
|
4575
4663
|
children: [
|
|
@@ -4588,7 +4676,7 @@ function ks({ size: e = 16 }) {
|
|
|
4588
4676
|
]
|
|
4589
4677
|
});
|
|
4590
4678
|
}
|
|
4591
|
-
function
|
|
4679
|
+
function zs({ size: e = 16 }) {
|
|
4592
4680
|
return /* @__PURE__ */ Q($, {
|
|
4593
4681
|
size: e,
|
|
4594
4682
|
children: [
|
|
@@ -4600,7 +4688,7 @@ function As({ size: e = 16 }) {
|
|
|
4600
4688
|
}
|
|
4601
4689
|
//#endregion
|
|
4602
4690
|
//#region src/runtime/ui/identity-menu.tsx
|
|
4603
|
-
function
|
|
4691
|
+
function Bs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboardUrl: i, commentAccess: a = "anyone", onSignIn: o, onSignOut: s, onForgetMe: c }) {
|
|
4604
4692
|
let [l, u] = z(!1), [d, f] = z(!1), [p, m] = z(!1), h = V(null);
|
|
4605
4693
|
B(() => {
|
|
4606
4694
|
if (!l) return;
|
|
@@ -4617,7 +4705,7 @@ function js({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4617
4705
|
}, [l]), B(() => {
|
|
4618
4706
|
l || (f(!1), m(!1));
|
|
4619
4707
|
}, [l]);
|
|
4620
|
-
let g = ta(e), _ =
|
|
4708
|
+
let g = ta(e), _ = Vs(g), v = e.kind === "verified", y = e.kind === "verified" ? e.identity.image : void 0, [b, x] = z(null), C = v && y != null && b !== y, w = v ? e.identity.email : null, T = t === "bottom-left" ? "is-anchor-left" : t === "bottom-center" ? "is-anchor-center" : "is-anchor-right";
|
|
4621
4709
|
return /* @__PURE__ */ Q("div", {
|
|
4622
4710
|
ref: h,
|
|
4623
4711
|
style: {
|
|
@@ -4650,7 +4738,7 @@ function js({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4650
4738
|
}) : v && _ ? /* @__PURE__ */ Q("span", {
|
|
4651
4739
|
class: "markup-avatar-initials",
|
|
4652
4740
|
children: _
|
|
4653
|
-
}) : /* @__PURE__ */ Q(
|
|
4741
|
+
}) : /* @__PURE__ */ Q(Ls, { size: 14 })
|
|
4654
4742
|
}), v && g ? /* @__PURE__ */ Q("span", {
|
|
4655
4743
|
class: "markup-sr-only",
|
|
4656
4744
|
children: g
|
|
@@ -4679,7 +4767,7 @@ function js({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4679
4767
|
onClick: () => u(!1),
|
|
4680
4768
|
children: [/* @__PURE__ */ Q("span", {
|
|
4681
4769
|
class: "ic",
|
|
4682
|
-
children: /* @__PURE__ */ Q(
|
|
4770
|
+
children: /* @__PURE__ */ Q(zs, { size: 16 })
|
|
4683
4771
|
}), /* @__PURE__ */ Q("span", {
|
|
4684
4772
|
class: "lbl",
|
|
4685
4773
|
children: "Account"
|
|
@@ -4695,7 +4783,7 @@ function js({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4695
4783
|
},
|
|
4696
4784
|
children: [/* @__PURE__ */ Q("span", {
|
|
4697
4785
|
class: "ic",
|
|
4698
|
-
children: /* @__PURE__ */ Q(
|
|
4786
|
+
children: /* @__PURE__ */ Q(Is, { size: 16 })
|
|
4699
4787
|
}), /* @__PURE__ */ Q("span", {
|
|
4700
4788
|
class: "lbl",
|
|
4701
4789
|
children: r ? "Signing out…" : p ? "Confirm: sign out of this site" : "Sign out"
|
|
@@ -4718,7 +4806,7 @@ function js({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4718
4806
|
onClick: () => {
|
|
4719
4807
|
u(!1), o();
|
|
4720
4808
|
},
|
|
4721
|
-
children: [/* @__PURE__ */ Q(
|
|
4809
|
+
children: [/* @__PURE__ */ Q(Fs, { size: 14 }), /* @__PURE__ */ Q("span", { children: n ? "Signing in…" : "Sign in" })]
|
|
4722
4810
|
}),
|
|
4723
4811
|
/* @__PURE__ */ Q("button", {
|
|
4724
4812
|
type: "button",
|
|
@@ -4737,12 +4825,12 @@ function js({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4737
4825
|
}) : null]
|
|
4738
4826
|
});
|
|
4739
4827
|
}
|
|
4740
|
-
function
|
|
4828
|
+
function Vs(e) {
|
|
4741
4829
|
return e && e.trim().split(/\s+/).slice(0, 2).map((e) => e[0]?.toUpperCase() ?? "").join("") || null;
|
|
4742
4830
|
}
|
|
4743
4831
|
//#endregion
|
|
4744
4832
|
//#region src/runtime/use-drag.ts
|
|
4745
|
-
function
|
|
4833
|
+
function Hs(e) {
|
|
4746
4834
|
let t = V(e);
|
|
4747
4835
|
t.current = e;
|
|
4748
4836
|
let [n, r] = z(!1);
|
|
@@ -4770,8 +4858,8 @@ function Ns(e) {
|
|
|
4770
4858
|
h = !0, r(!0), t.current.onStart?.();
|
|
4771
4859
|
}
|
|
4772
4860
|
let a = Math.max(p, window.innerWidth - u - p), _ = Math.max(p, window.innerHeight - d - p), v = {
|
|
4773
|
-
left:
|
|
4774
|
-
top:
|
|
4861
|
+
left: Us(c + n, p, a),
|
|
4862
|
+
top: Us(l + i, p, _)
|
|
4775
4863
|
};
|
|
4776
4864
|
g = v, t.current.onMove(v);
|
|
4777
4865
|
}
|
|
@@ -4786,12 +4874,12 @@ function Ns(e) {
|
|
|
4786
4874
|
isDragging: n
|
|
4787
4875
|
};
|
|
4788
4876
|
}
|
|
4789
|
-
function
|
|
4877
|
+
function Us(e, t, n) {
|
|
4790
4878
|
return Math.max(t, Math.min(n, e));
|
|
4791
4879
|
}
|
|
4792
4880
|
//#endregion
|
|
4793
4881
|
//#region src/runtime/use-focus-trap.ts
|
|
4794
|
-
var
|
|
4882
|
+
var Ws = [
|
|
4795
4883
|
"a[href]",
|
|
4796
4884
|
"button:not([disabled])",
|
|
4797
4885
|
"input:not([disabled])",
|
|
@@ -4799,14 +4887,14 @@ var Fs = [
|
|
|
4799
4887
|
"textarea:not([disabled])",
|
|
4800
4888
|
"[tabindex]:not([tabindex=\"-1\"])"
|
|
4801
4889
|
].join(",");
|
|
4802
|
-
function
|
|
4890
|
+
function Gs(e, t) {
|
|
4803
4891
|
B(() => {
|
|
4804
4892
|
if (!t) return;
|
|
4805
4893
|
let n = e.current;
|
|
4806
4894
|
if (!n) return;
|
|
4807
4895
|
function r(e) {
|
|
4808
4896
|
if (e.key !== "Tab") return;
|
|
4809
|
-
let t = Array.from(n.querySelectorAll(
|
|
4897
|
+
let t = Array.from(n.querySelectorAll(Ws)), r = t[0], i = t[t.length - 1];
|
|
4810
4898
|
if (!r || !i) return;
|
|
4811
4899
|
let a = n.getRootNode(), o = a instanceof ShadowRoot ? a.activeElement : document.activeElement;
|
|
4812
4900
|
(e.shiftKey ? o === r : o === i) && (e.preventDefault(), (e.shiftKey ? i : r).focus());
|
|
@@ -4816,7 +4904,7 @@ function Is(e, t) {
|
|
|
4816
4904
|
}
|
|
4817
4905
|
//#endregion
|
|
4818
4906
|
//#region src/runtime/use-object-url.ts
|
|
4819
|
-
function
|
|
4907
|
+
function Ks(e) {
|
|
4820
4908
|
let [t, n] = z(null);
|
|
4821
4909
|
return B(() => {
|
|
4822
4910
|
if (!e) {
|
|
@@ -4829,7 +4917,7 @@ function Ls(e) {
|
|
|
4829
4917
|
}
|
|
4830
4918
|
//#endregion
|
|
4831
4919
|
//#region src/runtime/ui/author-prompt.tsx
|
|
4832
|
-
function
|
|
4920
|
+
function qs({ mode: e = "guest-or-sign-in", isPending: t, isConnecting: n = !1, isSigningIn: r = !1, onSubmit: i, onCancel: a, onSignIn: o, onSignOut: s }) {
|
|
4833
4921
|
let [c, l] = z(""), [u, d] = z(""), f = V(null);
|
|
4834
4922
|
B(() => {
|
|
4835
4923
|
f.current?.focus();
|
|
@@ -4963,27 +5051,27 @@ function Rs({ mode: e = "guest-or-sign-in", isPending: t, isConnecting: n = !1,
|
|
|
4963
5051
|
}
|
|
4964
5052
|
//#endregion
|
|
4965
5053
|
//#region src/runtime/mention-input.ts
|
|
4966
|
-
var
|
|
5054
|
+
var Js = "data-markup-mention", Ys = "data-markup-mention-name", Xs = /* @__PURE__ */ new Set([
|
|
4967
5055
|
"DIV",
|
|
4968
5056
|
"P",
|
|
4969
5057
|
"LI",
|
|
4970
5058
|
"BLOCKQUOTE",
|
|
4971
5059
|
"PRE"
|
|
4972
|
-
]),
|
|
4973
|
-
function
|
|
5060
|
+
]), Zs = 3, Qs = 1;
|
|
5061
|
+
function $s(e) {
|
|
4974
5062
|
let t = "", n = (r) => {
|
|
4975
5063
|
let i = r.childNodes;
|
|
4976
5064
|
for (let a = 0; a < i.length; a++) {
|
|
4977
5065
|
let o = i[a];
|
|
4978
5066
|
if (!o) continue;
|
|
4979
|
-
if (o.nodeType ===
|
|
5067
|
+
if (o.nodeType === Zs) {
|
|
4980
5068
|
t += o.data;
|
|
4981
5069
|
continue;
|
|
4982
5070
|
}
|
|
4983
|
-
if (o.nodeType !==
|
|
4984
|
-
let s = o, c = s.getAttribute(
|
|
5071
|
+
if (o.nodeType !== Qs) continue;
|
|
5072
|
+
let s = o, c = s.getAttribute(Js);
|
|
4985
5073
|
if (c) {
|
|
4986
|
-
let e =
|
|
5074
|
+
let e = ec(s);
|
|
4987
5075
|
t += Yr({
|
|
4988
5076
|
userId: c,
|
|
4989
5077
|
name: e
|
|
@@ -4994,77 +5082,77 @@ function Ws(e) {
|
|
|
4994
5082
|
(r !== e || a !== i.length - 1) && (t += "\n");
|
|
4995
5083
|
continue;
|
|
4996
5084
|
}
|
|
4997
|
-
|
|
5085
|
+
Xs.has(s.tagName) && t !== "" && !t.endsWith("\n") && (t += "\n"), n(s);
|
|
4998
5086
|
}
|
|
4999
5087
|
};
|
|
5000
5088
|
return n(e), t;
|
|
5001
5089
|
}
|
|
5002
|
-
function
|
|
5003
|
-
return e.getAttribute(
|
|
5090
|
+
function ec(e) {
|
|
5091
|
+
return e.getAttribute(Ys) || (e.textContent ?? "").replace(/^@/, "");
|
|
5004
5092
|
}
|
|
5005
|
-
function
|
|
5093
|
+
function tc(e, t, n) {
|
|
5006
5094
|
let r = e.createElement("span");
|
|
5007
|
-
return r.className = n, r.setAttribute("contenteditable", "false"), r.setAttribute(
|
|
5095
|
+
return r.className = n, r.setAttribute("contenteditable", "false"), r.setAttribute(Js, t.userId), r.setAttribute(Ys, t.name), r.textContent = `@${t.name}`, r;
|
|
5008
5096
|
}
|
|
5009
|
-
function
|
|
5097
|
+
function nc(e, t, n) {
|
|
5010
5098
|
let r = e.createDocumentFragment();
|
|
5011
5099
|
for (let i of Kr(t)) {
|
|
5012
5100
|
if (i.type === "text") {
|
|
5013
5101
|
i.value && r.appendChild(e.createTextNode(i.value));
|
|
5014
5102
|
continue;
|
|
5015
5103
|
}
|
|
5016
|
-
r.appendChild(
|
|
5104
|
+
r.appendChild(tc(e, {
|
|
5017
5105
|
userId: i.userId,
|
|
5018
5106
|
name: i.name
|
|
5019
5107
|
}, n));
|
|
5020
5108
|
}
|
|
5021
5109
|
return r;
|
|
5022
5110
|
}
|
|
5023
|
-
function
|
|
5111
|
+
function rc(e) {
|
|
5024
5112
|
let t = e.getRootNode();
|
|
5025
5113
|
return typeof t.getSelection == "function" ? t.getSelection() : e.ownerDocument.getSelection();
|
|
5026
5114
|
}
|
|
5027
|
-
function
|
|
5028
|
-
let t =
|
|
5115
|
+
function ic(e) {
|
|
5116
|
+
let t = rc(e);
|
|
5029
5117
|
if (!t || t.rangeCount === 0 || !t.isCollapsed) return null;
|
|
5030
5118
|
let n = t.focusNode;
|
|
5031
|
-
return !n || n.nodeType !==
|
|
5119
|
+
return !n || n.nodeType !== Zs || !e.contains(n) || ac(n, e) ? null : {
|
|
5032
5120
|
node: n,
|
|
5033
5121
|
offset: t.focusOffset
|
|
5034
5122
|
};
|
|
5035
5123
|
}
|
|
5036
|
-
function
|
|
5124
|
+
function ac(e, t) {
|
|
5037
5125
|
let n = e;
|
|
5038
5126
|
for (; n && n !== t;) {
|
|
5039
|
-
if (n.nodeType ===
|
|
5127
|
+
if (n.nodeType === Qs && n.hasAttribute("data-markup-mention")) return n;
|
|
5040
5128
|
n = n.parentNode;
|
|
5041
5129
|
}
|
|
5042
5130
|
return null;
|
|
5043
5131
|
}
|
|
5044
|
-
function
|
|
5045
|
-
let t =
|
|
5132
|
+
function oc(e) {
|
|
5133
|
+
let t = rc(e);
|
|
5046
5134
|
if (!t || t.rangeCount === 0 || !t.isCollapsed) return;
|
|
5047
5135
|
let n = t.focusNode;
|
|
5048
5136
|
if (!n || !e.contains(n)) return;
|
|
5049
|
-
let r =
|
|
5137
|
+
let r = ac(n, e);
|
|
5050
5138
|
if (!r) return;
|
|
5051
5139
|
let i = r.nextSibling;
|
|
5052
|
-
(!i || i.nodeType !==
|
|
5140
|
+
(!i || i.nodeType !== Zs) && (i = e.ownerDocument.createTextNode(""), r.parentNode?.insertBefore(i, r.nextSibling)), sc(e, i, 0);
|
|
5053
5141
|
}
|
|
5054
|
-
function
|
|
5055
|
-
let r =
|
|
5142
|
+
function sc(e, t, n) {
|
|
5143
|
+
let r = rc(e);
|
|
5056
5144
|
if (!r) return;
|
|
5057
5145
|
let i = e.ownerDocument.createRange();
|
|
5058
5146
|
i.setStart(t, n), i.collapse(!0), r.removeAllRanges(), r.addRange(i);
|
|
5059
5147
|
}
|
|
5060
|
-
function
|
|
5148
|
+
function cc(e) {
|
|
5061
5149
|
let t = Jr(e.node.data, e.offset);
|
|
5062
5150
|
return t ? {
|
|
5063
5151
|
...t,
|
|
5064
5152
|
textNode: e.node
|
|
5065
5153
|
} : null;
|
|
5066
5154
|
}
|
|
5067
|
-
function
|
|
5155
|
+
function lc(e, t, n, r) {
|
|
5068
5156
|
if (Yr(n) == null) return !1;
|
|
5069
5157
|
let i = t.textNode;
|
|
5070
5158
|
if (!e.contains(i)) return !1;
|
|
@@ -5072,31 +5160,31 @@ function ec(e, t, n, r) {
|
|
|
5072
5160
|
if (!a || t.caret > i.data.length) return !1;
|
|
5073
5161
|
i.deleteData(t.at, t.caret - t.at);
|
|
5074
5162
|
let o = i.splitText(t.at);
|
|
5075
|
-
return a.insertBefore(
|
|
5163
|
+
return a.insertBefore(tc(e.ownerDocument, n, r), o), o.data.startsWith(" ") || o.insertData(0, " "), sc(e, o, 1), !0;
|
|
5076
5164
|
}
|
|
5077
|
-
function
|
|
5078
|
-
let n =
|
|
5165
|
+
function uc(e, t) {
|
|
5166
|
+
let n = rc(e);
|
|
5079
5167
|
if (!n || n.rangeCount === 0) return;
|
|
5080
5168
|
let r = n.getRangeAt(0);
|
|
5081
5169
|
if (!e.contains(r.commonAncestorContainer)) return;
|
|
5082
5170
|
r.deleteContents();
|
|
5083
5171
|
let { startContainer: i, startOffset: a } = r;
|
|
5084
|
-
if (i.nodeType ===
|
|
5172
|
+
if (i.nodeType === Zs) {
|
|
5085
5173
|
let n = i;
|
|
5086
|
-
n.insertData(a, t),
|
|
5174
|
+
n.insertData(a, t), sc(e, n, a + t.length);
|
|
5087
5175
|
return;
|
|
5088
5176
|
}
|
|
5089
5177
|
let o = e.ownerDocument.createTextNode(t);
|
|
5090
|
-
r.insertNode(o),
|
|
5178
|
+
r.insertNode(o), sc(e, o, o.data.length);
|
|
5091
5179
|
}
|
|
5092
|
-
function
|
|
5180
|
+
function dc(e, t) {
|
|
5093
5181
|
let n = e.ownerDocument, r = null, i = null, a = !0;
|
|
5094
5182
|
function o(t) {
|
|
5095
5183
|
let n = t.length === 0;
|
|
5096
5184
|
(n !== a || e.hasAttribute("data-empty") !== n) && (a = n, e.toggleAttribute("data-empty", n));
|
|
5097
5185
|
}
|
|
5098
5186
|
function s() {
|
|
5099
|
-
let n =
|
|
5187
|
+
let n = $s(e);
|
|
5100
5188
|
o(n), t.onChange(n);
|
|
5101
5189
|
}
|
|
5102
5190
|
function c(e) {
|
|
@@ -5112,7 +5200,7 @@ function nc(e, t) {
|
|
|
5112
5200
|
c(null);
|
|
5113
5201
|
return;
|
|
5114
5202
|
}
|
|
5115
|
-
let n =
|
|
5203
|
+
let n = ic(e), r = n ? cc(n) : null;
|
|
5116
5204
|
if (r && i && r.textNode === i.node && r.at === i.at) {
|
|
5117
5205
|
c(null);
|
|
5118
5206
|
return;
|
|
@@ -5120,29 +5208,29 @@ function nc(e, t) {
|
|
|
5120
5208
|
i = null, c(r);
|
|
5121
5209
|
}
|
|
5122
5210
|
function u(r) {
|
|
5123
|
-
e.replaceChildren(
|
|
5211
|
+
e.replaceChildren(nc(n, r, t.chipClass)), o($s(e)), i = null, c(null);
|
|
5124
5212
|
}
|
|
5125
5213
|
let d = () => {
|
|
5126
5214
|
s(), l();
|
|
5127
5215
|
}, f = () => l(), p = () => {
|
|
5128
|
-
|
|
5216
|
+
oc(e), l();
|
|
5129
5217
|
}, m = (t) => {
|
|
5130
5218
|
let n = t.clipboardData?.getData("text/plain");
|
|
5131
|
-
t.preventDefault(), n && (
|
|
5219
|
+
t.preventDefault(), n && (uc(e, n.replace(/\r\n?/g, "\n")), s(), l());
|
|
5132
5220
|
}, h = (e) => {
|
|
5133
5221
|
e.preventDefault();
|
|
5134
5222
|
};
|
|
5135
5223
|
return e.addEventListener("input", d), e.addEventListener("keyup", f), e.addEventListener("mouseup", p), e.addEventListener("focus", p), e.addEventListener("paste", m), e.addEventListener("drop", h), u(t.initialValue ?? ""), {
|
|
5136
|
-
getValue: () =>
|
|
5224
|
+
getValue: () => $s(e),
|
|
5137
5225
|
setValue: u,
|
|
5138
5226
|
focus() {
|
|
5139
5227
|
e.focus();
|
|
5140
5228
|
let t = e.lastChild;
|
|
5141
|
-
t && (t.nodeType ===
|
|
5229
|
+
t && (t.nodeType === Zs ? sc(e, t, t.data.length) : sc(e, e, e.childNodes.length));
|
|
5142
5230
|
},
|
|
5143
5231
|
insertMention(n) {
|
|
5144
|
-
let a =
|
|
5145
|
-
o &&
|
|
5232
|
+
let a = ic(e), o = (a ? cc(a) : null) ?? r;
|
|
5233
|
+
o && lc(e, o, n, t.chipClass) && (s(), i = null, c(null));
|
|
5146
5234
|
},
|
|
5147
5235
|
syncTrigger: l,
|
|
5148
5236
|
clearTrigger: () => c(null),
|
|
@@ -5157,31 +5245,94 @@ function nc(e, t) {
|
|
|
5157
5245
|
}
|
|
5158
5246
|
};
|
|
5159
5247
|
}
|
|
5160
|
-
var
|
|
5161
|
-
function
|
|
5162
|
-
if (
|
|
5248
|
+
var fc = null;
|
|
5249
|
+
function pc() {
|
|
5250
|
+
if (fc) return fc;
|
|
5163
5251
|
if (typeof document > "u") return "true";
|
|
5164
5252
|
let e = document.createElement("div");
|
|
5165
5253
|
try {
|
|
5166
|
-
e.contentEditable = "plaintext-only",
|
|
5254
|
+
e.contentEditable = "plaintext-only", fc = e.contentEditable === "plaintext-only" ? "plaintext-only" : "true";
|
|
5167
5255
|
} catch {
|
|
5168
|
-
|
|
5256
|
+
fc = "true";
|
|
5257
|
+
}
|
|
5258
|
+
return fc;
|
|
5259
|
+
}
|
|
5260
|
+
//#endregion
|
|
5261
|
+
//#region src/lib/linkify.ts
|
|
5262
|
+
var mc = /(^|[\s([{<'"])((?:https?:\/\/|www\.)[^\s<>'"]+)/gi, hc = ".,;:!?", gc = {
|
|
5263
|
+
")": "(",
|
|
5264
|
+
"]": "[",
|
|
5265
|
+
"}": "{"
|
|
5266
|
+
};
|
|
5267
|
+
function _c(e, t) {
|
|
5268
|
+
let n = 0;
|
|
5269
|
+
for (let r of e) r === t && (n += 1);
|
|
5270
|
+
return n;
|
|
5271
|
+
}
|
|
5272
|
+
function vc(e) {
|
|
5273
|
+
let t = e.length;
|
|
5274
|
+
for (; t > 0;) {
|
|
5275
|
+
let n = e[t - 1] ?? "";
|
|
5276
|
+
if (hc.includes(n)) {
|
|
5277
|
+
--t;
|
|
5278
|
+
continue;
|
|
5279
|
+
}
|
|
5280
|
+
let r = gc[n];
|
|
5281
|
+
if (r !== void 0) {
|
|
5282
|
+
let i = e.slice(0, t);
|
|
5283
|
+
if (_c(i, n) > _c(i, r)) {
|
|
5284
|
+
--t;
|
|
5285
|
+
continue;
|
|
5286
|
+
}
|
|
5287
|
+
}
|
|
5288
|
+
break;
|
|
5169
5289
|
}
|
|
5170
|
-
return
|
|
5290
|
+
return e.slice(0, t);
|
|
5291
|
+
}
|
|
5292
|
+
function yc(e) {
|
|
5293
|
+
let t = /^https?:\/\//i.test(e) ? e : `https://${e}`, n = t.replace(/^https?:\/\//i, "").split(/[/?#]/, 1)[0] ?? "";
|
|
5294
|
+
return !n.includes(".") || n.startsWith(".") || n.endsWith(".") ? null : t;
|
|
5295
|
+
}
|
|
5296
|
+
function bc(e) {
|
|
5297
|
+
if (!e) return [];
|
|
5298
|
+
let t = [], n = 0, r = new RegExp(mc.source, "gi");
|
|
5299
|
+
for (let i = r.exec(e); i !== null; i = r.exec(e)) {
|
|
5300
|
+
let a = i[1] ?? "", o = vc(i[2] ?? ""), s = o ? yc(o) : null;
|
|
5301
|
+
if (!s) continue;
|
|
5302
|
+
let c = i.index + a.length;
|
|
5303
|
+
c > n && t.push({
|
|
5304
|
+
type: "text",
|
|
5305
|
+
value: e.slice(n, c)
|
|
5306
|
+
}), t.push({
|
|
5307
|
+
type: "link",
|
|
5308
|
+
href: s,
|
|
5309
|
+
label: o
|
|
5310
|
+
}), n = c + o.length, r.lastIndex = n;
|
|
5311
|
+
}
|
|
5312
|
+
return n < e.length && t.push({
|
|
5313
|
+
type: "text",
|
|
5314
|
+
value: e.slice(n)
|
|
5315
|
+
}), t;
|
|
5171
5316
|
}
|
|
5172
5317
|
//#endregion
|
|
5173
5318
|
//#region src/runtime/ui/mentions.tsx
|
|
5174
|
-
function
|
|
5319
|
+
function xc({ body: e, mentions: t, trailing: n }) {
|
|
5175
5320
|
let r = at(() => new Set(t), [t]);
|
|
5176
5321
|
return /* @__PURE__ */ Q("p", {
|
|
5177
5322
|
class: "markup-comment-body",
|
|
5178
|
-
children: [at(() => Kr(e), [e]).map((e, t) => e.type === "mention"
|
|
5323
|
+
children: [at(() => Kr(e), [e]).map((e, t) => e.type === "mention" ? r.has(e.userId) ? /* @__PURE__ */ Q("span", {
|
|
5179
5324
|
class: "markup-mention-chip",
|
|
5180
5325
|
children: ["@", e.name]
|
|
5181
|
-
}, t) : /* @__PURE__ */ Q("span", { children:
|
|
5326
|
+
}, t) : /* @__PURE__ */ Q("span", { children: ["@", e.name] }, t) : bc(e.value).map((e, n) => e.type === "link" ? /* @__PURE__ */ Q("a", {
|
|
5327
|
+
class: "markup-comment-link",
|
|
5328
|
+
href: e.href,
|
|
5329
|
+
target: "_blank",
|
|
5330
|
+
rel: "noopener noreferrer",
|
|
5331
|
+
children: e.label
|
|
5332
|
+
}, `${t}-${n}`) : /* @__PURE__ */ Q("span", { children: e.value }, `${t}-${n}`))), n]
|
|
5182
5333
|
});
|
|
5183
5334
|
}
|
|
5184
|
-
function
|
|
5335
|
+
function Sc(e) {
|
|
5185
5336
|
let { members: t, trigger: n, onSelect: r, onClose: i } = e, [a, o] = z(0), s = at(() => {
|
|
5186
5337
|
if (!n) return [];
|
|
5187
5338
|
let e = n.query.toLowerCase();
|
|
@@ -5209,12 +5360,12 @@ function oc(e) {
|
|
|
5209
5360
|
handleKeyDown: c
|
|
5210
5361
|
};
|
|
5211
5362
|
}
|
|
5212
|
-
function
|
|
5363
|
+
function Cc({ items: e, highlight: t, setHighlight: n, onSelect: r, anchor: i }) {
|
|
5213
5364
|
let a = V(null);
|
|
5214
5365
|
return it(() => {
|
|
5215
5366
|
let e = null;
|
|
5216
5367
|
function t() {
|
|
5217
|
-
i.current && a.current &&
|
|
5368
|
+
i.current && a.current && Ec(i.current, a.current);
|
|
5218
5369
|
}
|
|
5219
5370
|
function n() {
|
|
5220
5371
|
e ??= requestAnimationFrame(() => {
|
|
@@ -5256,16 +5407,16 @@ function sc({ items: e, highlight: t, setHighlight: n, onSelect: r, anchor: i })
|
|
|
5256
5407
|
}, e.userId))
|
|
5257
5408
|
});
|
|
5258
5409
|
}
|
|
5259
|
-
var
|
|
5260
|
-
function
|
|
5410
|
+
var wc = 4, Tc = 8;
|
|
5411
|
+
function Ec(e, t) {
|
|
5261
5412
|
let n = e.getBoundingClientRect(), r = n.bottom > 0 && n.top < window.innerHeight && n.right > 0 && n.left < window.innerWidth;
|
|
5262
5413
|
if (t.style.visibility = r ? "" : "hidden", !r) return;
|
|
5263
|
-
let i = t.offsetHeight, a = n.top -
|
|
5264
|
-
t.style.top = `${Math.max(
|
|
5414
|
+
let i = t.offsetHeight, a = n.top - Tc, o = window.innerHeight - n.bottom - Tc, s = a >= i + wc || a >= o ? n.top - wc - i : n.bottom + wc, c = window.innerHeight - i - Tc;
|
|
5415
|
+
t.style.top = `${Math.max(Tc, Math.min(s, c))}px`, t.style.left = `${n.left}px`, t.style.width = `${n.width}px`;
|
|
5265
5416
|
}
|
|
5266
5417
|
//#endregion
|
|
5267
5418
|
//#region src/runtime/ui/mention-input.tsx
|
|
5268
|
-
function
|
|
5419
|
+
function Dc({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeholder: a, disabled: o = !1, autoFocus: s = !1, class: c, handle: l }) {
|
|
5269
5420
|
let u = V(null), d = V(null), [f, p] = z(null), m = V(t);
|
|
5270
5421
|
m.current = t;
|
|
5271
5422
|
let h = V(r);
|
|
@@ -5274,7 +5425,7 @@ function dc({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5274
5425
|
it(() => {
|
|
5275
5426
|
let e = u.current;
|
|
5276
5427
|
if (!e) return;
|
|
5277
|
-
let t =
|
|
5428
|
+
let t = dc(e, {
|
|
5278
5429
|
chipClass: "markup-mention-chip",
|
|
5279
5430
|
initialValue: g.current,
|
|
5280
5431
|
onChange: (e) => m.current(e),
|
|
@@ -5294,7 +5445,7 @@ function dc({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5294
5445
|
let t = d.current;
|
|
5295
5446
|
t && t.getValue() !== e && t.setValue(e);
|
|
5296
5447
|
}, [e]);
|
|
5297
|
-
let _ =
|
|
5448
|
+
let _ = Sc({
|
|
5298
5449
|
members: r ?? [],
|
|
5299
5450
|
trigger: f,
|
|
5300
5451
|
onSelect: (e) => d.current?.insertMention(e),
|
|
@@ -5307,7 +5458,7 @@ function dc({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5307
5458
|
"aria-label": i,
|
|
5308
5459
|
"aria-disabled": o || void 0,
|
|
5309
5460
|
class: Z("markup-mention-input", c),
|
|
5310
|
-
contentEditable: o ? "false" :
|
|
5461
|
+
contentEditable: o ? "false" : pc(),
|
|
5311
5462
|
"data-placeholder": a,
|
|
5312
5463
|
tabIndex: o ? -1 : 0,
|
|
5313
5464
|
onKeyDown: (e) => {
|
|
@@ -5316,7 +5467,7 @@ function dc({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5316
5467
|
onBlur: () => {
|
|
5317
5468
|
setTimeout(() => d.current?.clearTrigger(), 120);
|
|
5318
5469
|
}
|
|
5319
|
-
}), _.isOpen ? /* @__PURE__ */ Q(
|
|
5470
|
+
}), _.isOpen ? /* @__PURE__ */ Q(Cc, {
|
|
5320
5471
|
items: _.items,
|
|
5321
5472
|
highlight: _.highlight,
|
|
5322
5473
|
setHighlight: _.setHighlight,
|
|
@@ -5326,8 +5477,8 @@ function dc({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5326
5477
|
}
|
|
5327
5478
|
//#endregion
|
|
5328
5479
|
//#region src/runtime/ui/composer.tsx
|
|
5329
|
-
var
|
|
5330
|
-
function
|
|
5480
|
+
var Oc = 4e3;
|
|
5481
|
+
function kc({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "Post", initialFocus: r = !0, isPending: i, error: a, onSubmit: o, onDirtyChange: s, members: c }) {
|
|
5331
5482
|
let [l, u] = z(""), d = V(null), f = V(!1);
|
|
5332
5483
|
B(() => {
|
|
5333
5484
|
f.current && !i && !a && (u(""), s?.(!1), d.current?.focus()), f.current = i;
|
|
@@ -5336,7 +5487,7 @@ function pc({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5336
5487
|
a,
|
|
5337
5488
|
s
|
|
5338
5489
|
]);
|
|
5339
|
-
let p =
|
|
5490
|
+
let p = Oc - l.length, m = p < 0;
|
|
5340
5491
|
function h(e) {
|
|
5341
5492
|
e?.preventDefault();
|
|
5342
5493
|
let t = l.trim();
|
|
@@ -5345,7 +5496,7 @@ function pc({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5345
5496
|
function g(e) {
|
|
5346
5497
|
(e.metaKey || e.ctrlKey) && e.key === "Enter" && h(e);
|
|
5347
5498
|
}
|
|
5348
|
-
let _ = l.length > 0, v =
|
|
5499
|
+
let _ = l.length > 0, v = hs();
|
|
5349
5500
|
function y(e) {
|
|
5350
5501
|
return /* @__PURE__ */ Q("button", {
|
|
5351
5502
|
type: "submit",
|
|
@@ -5354,14 +5505,14 @@ function pc({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5354
5505
|
"aria-label": i ? "Sending…" : n,
|
|
5355
5506
|
title: i ? "Sending…" : n,
|
|
5356
5507
|
tabIndex: e,
|
|
5357
|
-
children: /* @__PURE__ */ Q(
|
|
5508
|
+
children: /* @__PURE__ */ Q(Cs, { size: 14 })
|
|
5358
5509
|
});
|
|
5359
5510
|
}
|
|
5360
5511
|
return /* @__PURE__ */ Q("form", {
|
|
5361
5512
|
class: Z("markup-composer", _ && "is-filled"),
|
|
5362
5513
|
onSubmit: h,
|
|
5363
5514
|
children: [
|
|
5364
|
-
/* @__PURE__ */ Q(
|
|
5515
|
+
/* @__PURE__ */ Q(Dc, {
|
|
5365
5516
|
class: "markup-composer-input",
|
|
5366
5517
|
label: e,
|
|
5367
5518
|
placeholder: t,
|
|
@@ -5417,17 +5568,17 @@ function pc({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5417
5568
|
}
|
|
5418
5569
|
//#endregion
|
|
5419
5570
|
//#region src/runtime/ui/new-thread-popover.tsx
|
|
5420
|
-
var
|
|
5421
|
-
function
|
|
5571
|
+
var Ac = "https://markup.pixelmatters.dev/docs/install#9-screenshots-privacy";
|
|
5572
|
+
function jc({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified: i, isIdentityResolving: a, isSigningIn: o, isPending: s, error: c, screenshot: l, isScreenshotCapturing: u, screenshotFailed: d, screenshotRedactedCount: f, screenshotRedactedSelectors: p, members: m = [], onAuthor: h, onSignIn: g, onSignOut: _, onSubmit: v, onClose: y }) {
|
|
5422
5573
|
let b = V(null);
|
|
5423
|
-
|
|
5574
|
+
Gs(b, !0);
|
|
5424
5575
|
let x = V(!1), C = V(!1), [w, T] = z(!1), E = H((e) => {
|
|
5425
5576
|
C.current = e, T(e);
|
|
5426
5577
|
}, []), D = H(() => {
|
|
5427
5578
|
C.current || (x.current ? E(!0) : y());
|
|
5428
5579
|
}, [y, E]), O = H(() => {
|
|
5429
5580
|
E(!1), b.current?.querySelector(".markup-mention-input")?.focus();
|
|
5430
|
-
}, [E]), [k, A] = z(!1), [ee, te] = z(!1), j =
|
|
5581
|
+
}, [E]), [k, A] = z(!1), [ee, te] = z(!1), j = Ks(l), M = V(null), [ne, re] = z(null), { onPointerDown: ie, isDragging: ae } = Hs({
|
|
5431
5582
|
targetRef: b,
|
|
5432
5583
|
shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
|
|
5433
5584
|
onMove: re
|
|
@@ -5458,7 +5609,7 @@ function hc({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5458
5609
|
}, [D, O]), B(() => {
|
|
5459
5610
|
w && b.current?.querySelector(".markup-discard-confirm-keep")?.focus();
|
|
5460
5611
|
}, [w]);
|
|
5461
|
-
let oe =
|
|
5612
|
+
let oe = Mc(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), se = Mc(t - window.scrollY - 16, 12, window.innerHeight - 220), ce = typeof window < "u" ? window.location.href : "", le = l != null, ue = u || le || d, de = k && le;
|
|
5462
5613
|
return /* @__PURE__ */ Q("div", {
|
|
5463
5614
|
ref: b,
|
|
5464
5615
|
class: Z("markup-popover", ne && "is-floating", ae && "is-dragging"),
|
|
@@ -5482,7 +5633,7 @@ function hc({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5482
5633
|
class: "markup-icon-btn",
|
|
5483
5634
|
"aria-label": "Discard pin",
|
|
5484
5635
|
onClick: D,
|
|
5485
|
-
children: /* @__PURE__ */ Q(
|
|
5636
|
+
children: /* @__PURE__ */ Q(vs, { size: 16 })
|
|
5486
5637
|
})]
|
|
5487
5638
|
}),
|
|
5488
5639
|
r == null ? /* @__PURE__ */ Q("div", {
|
|
@@ -5502,7 +5653,7 @@ function hc({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5502
5653
|
}) : null
|
|
5503
5654
|
]
|
|
5504
5655
|
}),
|
|
5505
|
-
/* @__PURE__ */ Q(
|
|
5656
|
+
/* @__PURE__ */ Q(kc, {
|
|
5506
5657
|
label: "Feedback",
|
|
5507
5658
|
placeholder: "What's wrong, missing, or worth noting?",
|
|
5508
5659
|
submitLabel: "Post markup",
|
|
@@ -5527,13 +5678,13 @@ function hc({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5527
5678
|
class: "markup-screenshot-checkbox",
|
|
5528
5679
|
disabled: !0
|
|
5529
5680
|
}),
|
|
5530
|
-
/* @__PURE__ */ Q(
|
|
5681
|
+
/* @__PURE__ */ Q(Ss, { size: 12 }),
|
|
5531
5682
|
/* @__PURE__ */ Q("span", { children: "Capturing…" })
|
|
5532
5683
|
]
|
|
5533
5684
|
}) : d ? /* @__PURE__ */ Q("span", {
|
|
5534
5685
|
class: "markup-screenshot-status",
|
|
5535
5686
|
title: "This page has something the capture can't read, often a third-party image. Your comment will post without a screenshot.",
|
|
5536
|
-
children: [/* @__PURE__ */ Q(
|
|
5687
|
+
children: [/* @__PURE__ */ Q(Ss, { size: 12 }), /* @__PURE__ */ Q("span", { children: "Screenshot unavailable" })]
|
|
5537
5688
|
}) : /* @__PURE__ */ Q("label", {
|
|
5538
5689
|
class: "markup-screenshot-toggle",
|
|
5539
5690
|
children: [
|
|
@@ -5543,7 +5694,7 @@ function hc({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5543
5694
|
checked: k,
|
|
5544
5695
|
onChange: (e) => A(e.currentTarget.checked)
|
|
5545
5696
|
}),
|
|
5546
|
-
/* @__PURE__ */ Q(
|
|
5697
|
+
/* @__PURE__ */ Q(Ss, { size: 12 }),
|
|
5547
5698
|
/* @__PURE__ */ Q("span", { children: "Attach screenshot" })
|
|
5548
5699
|
]
|
|
5549
5700
|
}),
|
|
@@ -5594,7 +5745,7 @@ function hc({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5594
5745
|
" ",
|
|
5595
5746
|
/* @__PURE__ */ Q("a", {
|
|
5596
5747
|
class: "markup-screenshot-help-link",
|
|
5597
|
-
href:
|
|
5748
|
+
href: Ac,
|
|
5598
5749
|
target: "_blank",
|
|
5599
5750
|
rel: "noopener noreferrer",
|
|
5600
5751
|
children: "More info here."
|
|
@@ -5603,7 +5754,7 @@ function hc({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5603
5754
|
})] }) : null]
|
|
5604
5755
|
}) : null
|
|
5605
5756
|
]
|
|
5606
|
-
}) : /* @__PURE__ */ Q(
|
|
5757
|
+
}) : /* @__PURE__ */ Q(qs, {
|
|
5607
5758
|
mode: r,
|
|
5608
5759
|
isPending: s,
|
|
5609
5760
|
isConnecting: a,
|
|
@@ -5624,7 +5775,7 @@ function hc({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5624
5775
|
onClick: (e) => {
|
|
5625
5776
|
e.stopPropagation(), M.current?.close();
|
|
5626
5777
|
},
|
|
5627
|
-
children: /* @__PURE__ */ Q(
|
|
5778
|
+
children: /* @__PURE__ */ Q(vs, { size: 16 })
|
|
5628
5779
|
}), /* @__PURE__ */ Q("img", {
|
|
5629
5780
|
class: "markup-lightbox-img",
|
|
5630
5781
|
src: j,
|
|
@@ -5667,12 +5818,12 @@ function hc({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5667
5818
|
]
|
|
5668
5819
|
});
|
|
5669
5820
|
}
|
|
5670
|
-
function
|
|
5821
|
+
function Mc(e, t, n) {
|
|
5671
5822
|
return Math.max(t, Math.min(n, e));
|
|
5672
5823
|
}
|
|
5673
5824
|
//#endregion
|
|
5674
5825
|
//#region src/runtime/ui/notifications-panel.tsx
|
|
5675
|
-
function
|
|
5826
|
+
function Nc({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMarkAllRead: a, isMarkingAll: o }) {
|
|
5676
5827
|
let s = e.some((e) => e.readAt == null);
|
|
5677
5828
|
return /* @__PURE__ */ Q("div", {
|
|
5678
5829
|
class: "markup-notifications-panel",
|
|
@@ -5687,7 +5838,7 @@ function _c({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
5687
5838
|
title: "Back to menu",
|
|
5688
5839
|
"aria-label": "Back to menu",
|
|
5689
5840
|
onClick: r,
|
|
5690
|
-
children: /* @__PURE__ */ Q(
|
|
5841
|
+
children: /* @__PURE__ */ Q(ys, { size: 16 })
|
|
5691
5842
|
}),
|
|
5692
5843
|
/* @__PURE__ */ Q("span", {
|
|
5693
5844
|
class: "markup-eyebrow",
|
|
@@ -5744,7 +5895,7 @@ function _c({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
5744
5895
|
role: "img",
|
|
5745
5896
|
"aria-label": "Written by an AI agent",
|
|
5746
5897
|
title: "Written by an AI agent on this person's behalf",
|
|
5747
|
-
children: /* @__PURE__ */ Q(
|
|
5898
|
+
children: /* @__PURE__ */ Q(Rs, { size: 11 })
|
|
5748
5899
|
}) : null,
|
|
5749
5900
|
/* @__PURE__ */ Q("span", {
|
|
5750
5901
|
class: "markup-notifications-panel-sep",
|
|
@@ -5752,7 +5903,7 @@ function _c({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
5752
5903
|
}),
|
|
5753
5904
|
/* @__PURE__ */ Q("span", {
|
|
5754
5905
|
class: "markup-notifications-panel-time",
|
|
5755
|
-
children:
|
|
5906
|
+
children: Pc(e.createdAt)
|
|
5756
5907
|
})
|
|
5757
5908
|
]
|
|
5758
5909
|
}),
|
|
@@ -5781,7 +5932,7 @@ function _c({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
5781
5932
|
})]
|
|
5782
5933
|
});
|
|
5783
5934
|
}
|
|
5784
|
-
function
|
|
5935
|
+
function Pc(e) {
|
|
5785
5936
|
let t = Date.now() - e, n = Math.floor(t / 1e3);
|
|
5786
5937
|
if (n < 60) return "just now";
|
|
5787
5938
|
let r = Math.floor(n / 60);
|
|
@@ -5793,18 +5944,18 @@ function vc(e) {
|
|
|
5793
5944
|
}
|
|
5794
5945
|
//#endregion
|
|
5795
5946
|
//#region src/runtime/use-theme.ts
|
|
5796
|
-
function
|
|
5947
|
+
function Fc() {
|
|
5797
5948
|
let [, e] = z(0);
|
|
5798
|
-
return B(() =>
|
|
5799
|
-
mode:
|
|
5800
|
-
resolved:
|
|
5801
|
-
set:
|
|
5949
|
+
return B(() => We(() => e((e) => e + 1)), []), {
|
|
5950
|
+
mode: Ve(),
|
|
5951
|
+
resolved: He(),
|
|
5952
|
+
set: Ue
|
|
5802
5953
|
};
|
|
5803
5954
|
}
|
|
5804
5955
|
//#endregion
|
|
5805
5956
|
//#region src/runtime/ui/overflow-menu.tsx
|
|
5806
|
-
function
|
|
5807
|
-
let [f, p] = z(!1), m = V(null), h =
|
|
5957
|
+
function Ic({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked: r = !1, onToggleAutoCapture: i, showResolved: a, onToggleShowResolved: o, onOpenPrivacy: s, onOpenShortcuts: c, onHideForSession: l, version: u, dashboardUrl: d }) {
|
|
5958
|
+
let [f, p] = z(!1), m = V(null), h = Fc();
|
|
5808
5959
|
B(() => {
|
|
5809
5960
|
if (!f) return;
|
|
5810
5961
|
function e(e) {
|
|
@@ -5818,7 +5969,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5818
5969
|
document.removeEventListener("click", e, !0), document.removeEventListener("keydown", t);
|
|
5819
5970
|
};
|
|
5820
5971
|
}, [f]);
|
|
5821
|
-
let g = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right", { mod: _ } =
|
|
5972
|
+
let g = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right", { mod: _ } = hs();
|
|
5822
5973
|
return /* @__PURE__ */ Q("div", {
|
|
5823
5974
|
ref: m,
|
|
5824
5975
|
style: {
|
|
@@ -5837,7 +5988,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5837
5988
|
onClick: (e) => {
|
|
5838
5989
|
e.preventDefault(), e.stopPropagation(), p((e) => !e);
|
|
5839
5990
|
},
|
|
5840
|
-
children: /* @__PURE__ */ Q(
|
|
5991
|
+
children: /* @__PURE__ */ Q(ks, { size: 16 })
|
|
5841
5992
|
}), f ? /* @__PURE__ */ Q("div", {
|
|
5842
5993
|
class: Z("markup-pop", g),
|
|
5843
5994
|
"data-pop": "overflow",
|
|
@@ -5861,7 +6012,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5861
6012
|
title: "Light",
|
|
5862
6013
|
class: Z(h.mode === "light" && "is-on"),
|
|
5863
6014
|
onClick: () => h.set("light"),
|
|
5864
|
-
children: /* @__PURE__ */ Q(
|
|
6015
|
+
children: /* @__PURE__ */ Q(As, { size: 14 })
|
|
5865
6016
|
}),
|
|
5866
6017
|
/* @__PURE__ */ Q("button", {
|
|
5867
6018
|
type: "button",
|
|
@@ -5871,7 +6022,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5871
6022
|
title: "Dark",
|
|
5872
6023
|
class: Z(h.mode === "dark" && "is-on"),
|
|
5873
6024
|
onClick: () => h.set("dark"),
|
|
5874
|
-
children: /* @__PURE__ */ Q(
|
|
6025
|
+
children: /* @__PURE__ */ Q(js, { size: 14 })
|
|
5875
6026
|
}),
|
|
5876
6027
|
/* @__PURE__ */ Q("button", {
|
|
5877
6028
|
type: "button",
|
|
@@ -5881,7 +6032,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5881
6032
|
title: `Auto, currently ${h.resolved}`,
|
|
5882
6033
|
class: Z(h.mode === "auto" && "is-on"),
|
|
5883
6034
|
onClick: () => h.set("auto"),
|
|
5884
|
-
children: /* @__PURE__ */ Q(
|
|
6035
|
+
children: /* @__PURE__ */ Q(Ms, { size: 14 })
|
|
5885
6036
|
})
|
|
5886
6037
|
]
|
|
5887
6038
|
})]
|
|
@@ -5904,7 +6055,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5904
6055
|
title: "Bottom left",
|
|
5905
6056
|
class: Z(e === "bottom-left" && "is-on"),
|
|
5906
6057
|
onClick: () => t("bottom-left"),
|
|
5907
|
-
children: /* @__PURE__ */ Q(
|
|
6058
|
+
children: /* @__PURE__ */ Q(Lc, { side: "left" })
|
|
5908
6059
|
}),
|
|
5909
6060
|
/* @__PURE__ */ Q("button", {
|
|
5910
6061
|
type: "button",
|
|
@@ -5914,7 +6065,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5914
6065
|
title: "Bottom center",
|
|
5915
6066
|
class: Z(e === "bottom-center" && "is-on"),
|
|
5916
6067
|
onClick: () => t("bottom-center"),
|
|
5917
|
-
children: /* @__PURE__ */ Q(
|
|
6068
|
+
children: /* @__PURE__ */ Q(Lc, { side: "center" })
|
|
5918
6069
|
}),
|
|
5919
6070
|
/* @__PURE__ */ Q("button", {
|
|
5920
6071
|
type: "button",
|
|
@@ -5924,7 +6075,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5924
6075
|
title: "Bottom right",
|
|
5925
6076
|
class: Z(e === "bottom-right" && "is-on"),
|
|
5926
6077
|
onClick: () => t("bottom-right"),
|
|
5927
|
-
children: /* @__PURE__ */ Q(
|
|
6078
|
+
children: /* @__PURE__ */ Q(Lc, { side: "right" })
|
|
5928
6079
|
})
|
|
5929
6080
|
]
|
|
5930
6081
|
})]
|
|
@@ -5946,7 +6097,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5946
6097
|
children: [
|
|
5947
6098
|
/* @__PURE__ */ Q("span", {
|
|
5948
6099
|
class: "ic",
|
|
5949
|
-
children: /* @__PURE__ */ Q(
|
|
6100
|
+
children: /* @__PURE__ */ Q(Rc, {})
|
|
5950
6101
|
}),
|
|
5951
6102
|
/* @__PURE__ */ Q("span", {
|
|
5952
6103
|
class: "lbl",
|
|
@@ -5973,7 +6124,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5973
6124
|
children: [
|
|
5974
6125
|
/* @__PURE__ */ Q("span", {
|
|
5975
6126
|
class: "ic",
|
|
5976
|
-
children: /* @__PURE__ */ Q(
|
|
6127
|
+
children: /* @__PURE__ */ Q(xs, { size: 16 })
|
|
5977
6128
|
}),
|
|
5978
6129
|
/* @__PURE__ */ Q("span", {
|
|
5979
6130
|
class: "lbl",
|
|
@@ -5997,7 +6148,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5997
6148
|
},
|
|
5998
6149
|
children: [/* @__PURE__ */ Q("span", {
|
|
5999
6150
|
class: "ic",
|
|
6000
|
-
children: /* @__PURE__ */ Q(
|
|
6151
|
+
children: /* @__PURE__ */ Q(Ns, { size: 16 })
|
|
6001
6152
|
}), /* @__PURE__ */ Q("span", {
|
|
6002
6153
|
class: "lbl",
|
|
6003
6154
|
children: "Privacy & data"
|
|
@@ -6012,7 +6163,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
6012
6163
|
},
|
|
6013
6164
|
children: [/* @__PURE__ */ Q("span", {
|
|
6014
6165
|
class: "ic",
|
|
6015
|
-
children: /* @__PURE__ */ Q(
|
|
6166
|
+
children: /* @__PURE__ */ Q(Ps, { size: 16 })
|
|
6016
6167
|
}), /* @__PURE__ */ Q("span", {
|
|
6017
6168
|
class: "lbl",
|
|
6018
6169
|
children: "Keyboard shortcuts"
|
|
@@ -6029,7 +6180,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
6029
6180
|
children: [
|
|
6030
6181
|
/* @__PURE__ */ Q("span", {
|
|
6031
6182
|
class: "ic",
|
|
6032
|
-
children: /* @__PURE__ */ Q(
|
|
6183
|
+
children: /* @__PURE__ */ Q(zc, {})
|
|
6033
6184
|
}),
|
|
6034
6185
|
/* @__PURE__ */ Q("span", {
|
|
6035
6186
|
class: "lbl",
|
|
@@ -6047,7 +6198,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
6047
6198
|
target: "_blank",
|
|
6048
6199
|
rel: "noopener noreferrer",
|
|
6049
6200
|
children: [
|
|
6050
|
-
/* @__PURE__ */ Q(
|
|
6201
|
+
/* @__PURE__ */ Q(_s, { size: 12 }),
|
|
6051
6202
|
/* @__PURE__ */ Q("span", { children: "Powered by Markup" }),
|
|
6052
6203
|
/* @__PURE__ */ Q("span", {
|
|
6053
6204
|
class: "ver",
|
|
@@ -6059,7 +6210,7 @@ function bc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
6059
6210
|
}) : null]
|
|
6060
6211
|
});
|
|
6061
6212
|
}
|
|
6062
|
-
function
|
|
6213
|
+
function Lc({ side: e }) {
|
|
6063
6214
|
return /* @__PURE__ */ Q("svg", {
|
|
6064
6215
|
width: 14,
|
|
6065
6216
|
height: 14,
|
|
@@ -6085,7 +6236,7 @@ function xc({ side: e }) {
|
|
|
6085
6236
|
})]
|
|
6086
6237
|
});
|
|
6087
6238
|
}
|
|
6088
|
-
function
|
|
6239
|
+
function Rc() {
|
|
6089
6240
|
return /* @__PURE__ */ Q("svg", {
|
|
6090
6241
|
width: 16,
|
|
6091
6242
|
height: 16,
|
|
@@ -6103,7 +6254,7 @@ function Sc() {
|
|
|
6103
6254
|
})]
|
|
6104
6255
|
});
|
|
6105
6256
|
}
|
|
6106
|
-
function
|
|
6257
|
+
function zc() {
|
|
6107
6258
|
return /* @__PURE__ */ Q("svg", {
|
|
6108
6259
|
width: 16,
|
|
6109
6260
|
height: 16,
|
|
@@ -6124,7 +6275,7 @@ function Cc() {
|
|
|
6124
6275
|
}
|
|
6125
6276
|
//#endregion
|
|
6126
6277
|
//#region src/runtime/ui/panel-popover.tsx
|
|
6127
|
-
function
|
|
6278
|
+
function Bc({ kind: e, label: t, position: n, ignoreToolbarKind: r, onClose: i, children: a }) {
|
|
6128
6279
|
let o = V(null);
|
|
6129
6280
|
return B(() => {
|
|
6130
6281
|
function e(e) {
|
|
@@ -6154,7 +6305,7 @@ function wc({ kind: e, label: t, position: n, ignoreToolbarKind: r, onClose: i,
|
|
|
6154
6305
|
}
|
|
6155
6306
|
//#endregion
|
|
6156
6307
|
//#region src/runtime/ui/pin.tsx
|
|
6157
|
-
function
|
|
6308
|
+
function Vc({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, isClosed: a = !1, onClick: o }) {
|
|
6158
6309
|
let s = t - window.scrollY, c = e - window.scrollX;
|
|
6159
6310
|
return /* @__PURE__ */ Q("button", {
|
|
6160
6311
|
type: "button",
|
|
@@ -6170,11 +6321,11 @@ function Tc({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, isClos
|
|
|
6170
6321
|
title: `Open ${a ? "resolved " : ""}feedback thread (${n} comment${n === 1 ? "" : "s"})`,
|
|
6171
6322
|
children: /* @__PURE__ */ Q("span", {
|
|
6172
6323
|
class: "markup-pin-num",
|
|
6173
|
-
children: a ? /* @__PURE__ */ Q(
|
|
6324
|
+
children: a ? /* @__PURE__ */ Q(xs, { size: 14 }) : n
|
|
6174
6325
|
})
|
|
6175
6326
|
});
|
|
6176
6327
|
}
|
|
6177
|
-
function
|
|
6328
|
+
function Hc({ pageX: e, pageY: t }) {
|
|
6178
6329
|
let n = t - window.scrollY, r = e - window.scrollX;
|
|
6179
6330
|
return /* @__PURE__ */ Q("div", {
|
|
6180
6331
|
class: "markup-pin markup-pin-ghost is-anchor",
|
|
@@ -6191,7 +6342,7 @@ function Ec({ pageX: e, pageY: t }) {
|
|
|
6191
6342
|
}
|
|
6192
6343
|
//#endregion
|
|
6193
6344
|
//#region src/runtime/ui/placement-overlay.tsx
|
|
6194
|
-
function
|
|
6345
|
+
function Uc({ onPlace: e, onCancel: t }) {
|
|
6195
6346
|
let n = V(null);
|
|
6196
6347
|
return it(() => {
|
|
6197
6348
|
let r = n.current?.getRootNode() ?? null, i = (e) => r !== null && e.composedPath().includes(r);
|
|
@@ -6216,7 +6367,7 @@ function Dc({ onPlace: e, onCancel: t }) {
|
|
|
6216
6367
|
window.addEventListener("keydown", a);
|
|
6217
6368
|
for (let e of l) window.addEventListener(e, o, c);
|
|
6218
6369
|
window.addEventListener("click", s, c);
|
|
6219
|
-
let u =
|
|
6370
|
+
let u = Wc();
|
|
6220
6371
|
return () => {
|
|
6221
6372
|
window.removeEventListener("keydown", a);
|
|
6222
6373
|
for (let e of l) window.removeEventListener(e, o, c);
|
|
@@ -6232,7 +6383,7 @@ function Dc({ onPlace: e, onCancel: t }) {
|
|
|
6232
6383
|
})
|
|
6233
6384
|
});
|
|
6234
6385
|
}
|
|
6235
|
-
function
|
|
6386
|
+
function Wc() {
|
|
6236
6387
|
let e = "html, html * { cursor: crosshair !important; }";
|
|
6237
6388
|
if ("adoptedStyleSheets" in document && "replaceSync" in CSSStyleSheet.prototype) {
|
|
6238
6389
|
let t = new CSSStyleSheet();
|
|
@@ -6245,7 +6396,7 @@ function Oc() {
|
|
|
6245
6396
|
}
|
|
6246
6397
|
//#endregion
|
|
6247
6398
|
//#region src/runtime/ui/privacy-panel.tsx
|
|
6248
|
-
function
|
|
6399
|
+
function Gc({ identity: e, apiUrl: t, commentAccess: n = "anyone", autoCapture: r, autoCaptureLocked: i, isForgettingMe: a, forgetMeError: o, onForgetMe: s, onClose: c }) {
|
|
6249
6400
|
let [l, u] = z(!1), d = ta(e), f = e.kind === "verified", p = f ? e.identity.email : void 0, m = e.kind === "anon";
|
|
6250
6401
|
return /* @__PURE__ */ Q("div", {
|
|
6251
6402
|
class: "markup-panel",
|
|
@@ -6260,7 +6411,7 @@ function kc({ identity: e, apiUrl: t, commentAccess: n = "anyone", autoCapture:
|
|
|
6260
6411
|
title: "Close",
|
|
6261
6412
|
"aria-label": "Close privacy and data",
|
|
6262
6413
|
onClick: c,
|
|
6263
|
-
children: /* @__PURE__ */ Q(
|
|
6414
|
+
children: /* @__PURE__ */ Q(vs, { size: 14 })
|
|
6264
6415
|
})]
|
|
6265
6416
|
}), /* @__PURE__ */ Q("div", {
|
|
6266
6417
|
class: "markup-panel-body",
|
|
@@ -6345,7 +6496,7 @@ function kc({ identity: e, apiUrl: t, commentAccess: n = "anyone", autoCapture:
|
|
|
6345
6496
|
"Only ",
|
|
6346
6497
|
/* @__PURE__ */ Q("span", {
|
|
6347
6498
|
class: "markup-panel-mono",
|
|
6348
|
-
children:
|
|
6499
|
+
children: Kc(t)
|
|
6349
6500
|
}),
|
|
6350
6501
|
". No analytics, no ad tech, no third-party requests from the widget. If the widget itself crashes it posts the error, this page's URL and your user-agent to that same host, never your identity or what you were writing."
|
|
6351
6502
|
]
|
|
@@ -6381,7 +6532,7 @@ function kc({ identity: e, apiUrl: t, commentAccess: n = "anyone", autoCapture:
|
|
|
6381
6532
|
})]
|
|
6382
6533
|
});
|
|
6383
6534
|
}
|
|
6384
|
-
function
|
|
6535
|
+
function Kc(e) {
|
|
6385
6536
|
try {
|
|
6386
6537
|
return new URL(e).host;
|
|
6387
6538
|
} catch {
|
|
@@ -6390,8 +6541,8 @@ function Ac(e) {
|
|
|
6390
6541
|
}
|
|
6391
6542
|
//#endregion
|
|
6392
6543
|
//#region src/runtime/ui/shortcuts-panel.tsx
|
|
6393
|
-
function
|
|
6394
|
-
let { mod: t, enter: n } =
|
|
6544
|
+
function qc({ onClose: e }) {
|
|
6545
|
+
let { mod: t, enter: n } = hs();
|
|
6395
6546
|
return /* @__PURE__ */ Q("div", {
|
|
6396
6547
|
class: "markup-panel",
|
|
6397
6548
|
children: [/* @__PURE__ */ Q("header", {
|
|
@@ -6405,7 +6556,7 @@ function jc({ onClose: e }) {
|
|
|
6405
6556
|
title: "Close",
|
|
6406
6557
|
"aria-label": "Close keyboard shortcuts",
|
|
6407
6558
|
onClick: e,
|
|
6408
|
-
children: /* @__PURE__ */ Q(
|
|
6559
|
+
children: /* @__PURE__ */ Q(vs, { size: 14 })
|
|
6409
6560
|
})]
|
|
6410
6561
|
}), /* @__PURE__ */ Q("div", {
|
|
6411
6562
|
class: "markup-panel-body",
|
|
@@ -6485,14 +6636,14 @@ function jc({ onClose: e }) {
|
|
|
6485
6636
|
}
|
|
6486
6637
|
//#endregion
|
|
6487
6638
|
//#region src/runtime/ui/thread-popover.tsx
|
|
6488
|
-
var
|
|
6639
|
+
var Jc = [
|
|
6489
6640
|
"👍",
|
|
6490
6641
|
"❤️",
|
|
6491
6642
|
"🎉",
|
|
6492
6643
|
"😮",
|
|
6493
6644
|
"😄",
|
|
6494
6645
|
"❓"
|
|
6495
|
-
],
|
|
6646
|
+
], Yc = Ur({
|
|
6496
6647
|
none: {
|
|
6497
6648
|
"toggle-thread-menu": () => ({
|
|
6498
6649
|
kind: "thread-menu",
|
|
@@ -6548,13 +6699,13 @@ var Mc = [
|
|
|
6548
6699
|
dismiss: () => ({ kind: "none" })
|
|
6549
6700
|
}
|
|
6550
6701
|
});
|
|
6551
|
-
function
|
|
6552
|
-
let S = V(null), C = V(null), w = V(null), T = V(null), [E, D] = Wr(
|
|
6702
|
+
function Xc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r, isVerified: i, isIdentityResolving: a, isSigningIn: o, canDelete: s, isPending: c, error: l, isHidden: u = !1, members: d = [], onAuthor: f, onSignIn: p, onSignOut: m, onClose: h, onReply: g, onEditComment: _, onDeleteComment: v, onToggleReaction: y, onResolve: b, onDelete: x }) {
|
|
6703
|
+
let S = V(null), C = V(null), w = V(null), T = V(null), [E, D] = Wr(Yc, { kind: "none" }), [O, k] = z(null), { onPointerDown: A, isDragging: ee } = Hs({
|
|
6553
6704
|
targetRef: S,
|
|
6554
6705
|
shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
|
|
6555
6706
|
onMove: k
|
|
6556
6707
|
});
|
|
6557
|
-
|
|
6708
|
+
Gs(S, !0);
|
|
6558
6709
|
let te = e.resolvedAt != null, j = at(() => e.comments.filter((e) => !e.deleted), [e.comments]);
|
|
6559
6710
|
B(() => {
|
|
6560
6711
|
if (E.kind === "none" || E.kind === "editing") return;
|
|
@@ -6605,8 +6756,8 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6605
6756
|
anchorText: e.anchorText
|
|
6606
6757
|
});
|
|
6607
6758
|
return {
|
|
6608
|
-
left:
|
|
6609
|
-
top:
|
|
6759
|
+
left: el(t.pageX - window.scrollX + 16, 12, window.innerWidth - 320 - 12),
|
|
6760
|
+
top: el(t.pageY - window.scrollY - 16, 12, window.innerHeight - 200)
|
|
6610
6761
|
};
|
|
6611
6762
|
}, [
|
|
6612
6763
|
e.anchorX,
|
|
@@ -6647,7 +6798,7 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6647
6798
|
class: Z("markup-icon-btn", E.kind === "thread-menu" && "is-open"),
|
|
6648
6799
|
title: "More options",
|
|
6649
6800
|
onClick: () => D({ type: "toggle-thread-menu" }),
|
|
6650
|
-
children: /* @__PURE__ */ Q(
|
|
6801
|
+
children: /* @__PURE__ */ Q(bs, { size: 16 })
|
|
6651
6802
|
}), E.kind === "thread-menu" ? /* @__PURE__ */ Q("div", {
|
|
6652
6803
|
class: "markup-thread-menu-list",
|
|
6653
6804
|
children: [/* @__PURE__ */ Q("button", {
|
|
@@ -6675,14 +6826,14 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6675
6826
|
title: "Mark as resolved",
|
|
6676
6827
|
disabled: c,
|
|
6677
6828
|
onClick: b,
|
|
6678
|
-
children: /* @__PURE__ */ Q(
|
|
6829
|
+
children: /* @__PURE__ */ Q(xs, { size: 16 })
|
|
6679
6830
|
}) : null,
|
|
6680
6831
|
/* @__PURE__ */ Q("button", {
|
|
6681
6832
|
type: "button",
|
|
6682
6833
|
class: "markup-icon-btn",
|
|
6683
6834
|
title: "Close thread",
|
|
6684
6835
|
onClick: h,
|
|
6685
|
-
children: /* @__PURE__ */ Q(
|
|
6836
|
+
children: /* @__PURE__ */ Q(vs, { size: 16 })
|
|
6686
6837
|
})
|
|
6687
6838
|
]
|
|
6688
6839
|
})]
|
|
@@ -6695,10 +6846,10 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6695
6846
|
return /* @__PURE__ */ Q("li", {
|
|
6696
6847
|
class: Z("markup-comment", M.current != null && t.createdAt > M.current && "is-new"),
|
|
6697
6848
|
children: [
|
|
6698
|
-
/* @__PURE__ */ Q(
|
|
6849
|
+
/* @__PURE__ */ Q(tl, {
|
|
6699
6850
|
name: t.authorName,
|
|
6700
6851
|
image: t.authorImage,
|
|
6701
|
-
tone:
|
|
6852
|
+
tone: rl(t.authorClientId ?? t.authorName)
|
|
6702
6853
|
}),
|
|
6703
6854
|
/* @__PURE__ */ Q("div", {
|
|
6704
6855
|
class: "markup-comment-meta",
|
|
@@ -6712,23 +6863,23 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6712
6863
|
role: "img",
|
|
6713
6864
|
"aria-label": "Written by an AI agent",
|
|
6714
6865
|
title: "Written by an AI agent",
|
|
6715
|
-
children: /* @__PURE__ */ Q(
|
|
6866
|
+
children: /* @__PURE__ */ Q(Rs, { size: 11 })
|
|
6716
6867
|
}) : null,
|
|
6717
6868
|
/* @__PURE__ */ Q("time", {
|
|
6718
6869
|
class: "markup-comment-time",
|
|
6719
6870
|
datetime: new Date(t.createdAt).toISOString(),
|
|
6720
|
-
title:
|
|
6721
|
-
children:
|
|
6871
|
+
title: al(t.createdAt),
|
|
6872
|
+
children: il(t.createdAt)
|
|
6722
6873
|
}),
|
|
6723
6874
|
t.editedAt == null ? null : /* @__PURE__ */ Q("time", {
|
|
6724
6875
|
class: "markup-comment-edited",
|
|
6725
6876
|
datetime: new Date(t.editedAt).toISOString(),
|
|
6726
|
-
title:
|
|
6877
|
+
title: al(t.editedAt),
|
|
6727
6878
|
children: "edited"
|
|
6728
6879
|
}),
|
|
6729
6880
|
/* @__PURE__ */ Q("div", {
|
|
6730
6881
|
class: "markup-thread-actions",
|
|
6731
|
-
children: [!te && !l ? /* @__PURE__ */ Q(
|
|
6882
|
+
children: [!te && !l ? /* @__PURE__ */ Q(Zc, {
|
|
6732
6883
|
comment: t,
|
|
6733
6884
|
pickerOpen: m,
|
|
6734
6885
|
pickerDirection: h,
|
|
@@ -6796,7 +6947,7 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6796
6947
|
direction: a < i ? "up" : "down"
|
|
6797
6948
|
});
|
|
6798
6949
|
},
|
|
6799
|
-
children: /* @__PURE__ */ Q(
|
|
6950
|
+
children: /* @__PURE__ */ Q(bs, { size: 16 })
|
|
6800
6951
|
}), f ? /* @__PURE__ */ Q("div", {
|
|
6801
6952
|
class: "markup-thread-menu-list",
|
|
6802
6953
|
children: [o ? /* @__PURE__ */ Q("button", {
|
|
@@ -6836,7 +6987,7 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6836
6987
|
await _(t._id, n), D({ type: "dismiss" });
|
|
6837
6988
|
} catch {}
|
|
6838
6989
|
},
|
|
6839
|
-
children: [/* @__PURE__ */ Q(
|
|
6990
|
+
children: [/* @__PURE__ */ Q(Dc, {
|
|
6840
6991
|
class: "markup-comment-edit-input",
|
|
6841
6992
|
label: "Edit comment",
|
|
6842
6993
|
value: E.draft,
|
|
@@ -6862,7 +7013,7 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6862
7013
|
children: "Save"
|
|
6863
7014
|
})]
|
|
6864
7015
|
})]
|
|
6865
|
-
}) : /* @__PURE__ */ Q(
|
|
7016
|
+
}) : /* @__PURE__ */ Q(xc, {
|
|
6866
7017
|
body: t.body,
|
|
6867
7018
|
mentions: t.mentions
|
|
6868
7019
|
}),
|
|
@@ -6875,7 +7026,7 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6875
7026
|
alt: "Screenshot"
|
|
6876
7027
|
})
|
|
6877
7028
|
}) : null,
|
|
6878
|
-
!l && t.reactions.length > 0 ? /* @__PURE__ */ Q(
|
|
7029
|
+
!l && t.reactions.length > 0 ? /* @__PURE__ */ Q(Qc, {
|
|
6879
7030
|
comment: t,
|
|
6880
7031
|
isResolved: te,
|
|
6881
7032
|
onToggle: (e) => y(t._id, e)
|
|
@@ -6895,7 +7046,7 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6895
7046
|
onClick: (e) => {
|
|
6896
7047
|
e.stopPropagation(), w.current?.close();
|
|
6897
7048
|
},
|
|
6898
|
-
children: /* @__PURE__ */ Q(
|
|
7049
|
+
children: /* @__PURE__ */ Q(vs, { size: 16 })
|
|
6899
7050
|
}), /* @__PURE__ */ Q("img", {
|
|
6900
7051
|
class: "markup-lightbox-img",
|
|
6901
7052
|
src: e.screenshotUrl,
|
|
@@ -6918,7 +7069,7 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6918
7069
|
children: "team"
|
|
6919
7070
|
}) : null
|
|
6920
7071
|
]
|
|
6921
|
-
}), /* @__PURE__ */ Q(
|
|
7072
|
+
}), /* @__PURE__ */ Q(kc, {
|
|
6922
7073
|
label: "Reply",
|
|
6923
7074
|
placeholder: "Write a reply…",
|
|
6924
7075
|
submitLabel: "Reply",
|
|
@@ -6928,7 +7079,7 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6928
7079
|
onSubmit: g,
|
|
6929
7080
|
members: d
|
|
6930
7081
|
})]
|
|
6931
|
-
}) : /* @__PURE__ */ Q(
|
|
7082
|
+
}) : /* @__PURE__ */ Q(qs, {
|
|
6932
7083
|
mode: n,
|
|
6933
7084
|
isPending: c,
|
|
6934
7085
|
isConnecting: a,
|
|
@@ -6941,7 +7092,7 @@ function Pc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6941
7092
|
]
|
|
6942
7093
|
});
|
|
6943
7094
|
}
|
|
6944
|
-
function
|
|
7095
|
+
function Zc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pickerRef: i, onPickerClick: a, onPickerSelect: o }) {
|
|
6945
7096
|
return /* @__PURE__ */ Q("div", {
|
|
6946
7097
|
class: Z("markup-reaction-picker-wrap", t && "is-open", t && n === "up" && "is-up", r && "is-side"),
|
|
6947
7098
|
ref: i,
|
|
@@ -6951,11 +7102,11 @@ function Fc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
|
|
|
6951
7102
|
title: "Add reaction",
|
|
6952
7103
|
"aria-label": "Add reaction",
|
|
6953
7104
|
onClick: a,
|
|
6954
|
-
children: /* @__PURE__ */ Q(
|
|
7105
|
+
children: /* @__PURE__ */ Q(ws, { size: 16 })
|
|
6955
7106
|
}), t ? /* @__PURE__ */ Q("div", {
|
|
6956
7107
|
class: "markup-reaction-picker",
|
|
6957
7108
|
role: "menu",
|
|
6958
|
-
children:
|
|
7109
|
+
children: Jc.map((t) => /* @__PURE__ */ Q("button", {
|
|
6959
7110
|
type: "button",
|
|
6960
7111
|
role: "menuitem",
|
|
6961
7112
|
class: Z("markup-reaction-picker-item", (e.reactions.find((e) => e.emoji === t)?.mine ?? !1) && "is-mine"),
|
|
@@ -6965,11 +7116,11 @@ function Fc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
|
|
|
6965
7116
|
}) : null]
|
|
6966
7117
|
});
|
|
6967
7118
|
}
|
|
6968
|
-
function
|
|
7119
|
+
function Qc({ comment: e, isResolved: t, onToggle: n }) {
|
|
6969
7120
|
return /* @__PURE__ */ Q("div", {
|
|
6970
7121
|
class: "markup-reactions",
|
|
6971
7122
|
children: e.reactions.map((e) => {
|
|
6972
|
-
let r =
|
|
7123
|
+
let r = $c(e.reactors, e.mine, e.count, e.emoji);
|
|
6973
7124
|
return /* @__PURE__ */ Q("button", {
|
|
6974
7125
|
type: "button",
|
|
6975
7126
|
class: Z("markup-reaction-chip", e.mine && "is-mine"),
|
|
@@ -6990,14 +7141,14 @@ function Ic({ comment: e, isResolved: t, onToggle: n }) {
|
|
|
6990
7141
|
})
|
|
6991
7142
|
});
|
|
6992
7143
|
}
|
|
6993
|
-
function
|
|
7144
|
+
function $c(e, t, n, r) {
|
|
6994
7145
|
let i = e.slice(), a = i.length + +!!t, o = Math.max(0, n - a);
|
|
6995
7146
|
return o > 0 && i.push(`${o} other${o === 1 ? "" : "s"}`), t && i.push("you"), i.length === 0 ? `${n} reacted with ${r}` : `${i.length === 1 ? i[0] : `${i.slice(0, -1).join(", ")} and ${i[i.length - 1]}`} reacted with ${r}`;
|
|
6996
7147
|
}
|
|
6997
|
-
function
|
|
7148
|
+
function el(e, t, n) {
|
|
6998
7149
|
return Math.max(t, Math.min(n, e));
|
|
6999
7150
|
}
|
|
7000
|
-
function
|
|
7151
|
+
function tl({ name: e, image: t, tone: n }) {
|
|
7001
7152
|
let [r, i] = z(null);
|
|
7002
7153
|
return /* @__PURE__ */ Q("span", {
|
|
7003
7154
|
class: "markup-comment-avatar",
|
|
@@ -7013,11 +7164,11 @@ function zc({ name: e, image: t, tone: n }) {
|
|
|
7013
7164
|
onError: () => i(t)
|
|
7014
7165
|
}) : /* @__PURE__ */ Q("span", {
|
|
7015
7166
|
class: "markup-avatar-initials",
|
|
7016
|
-
children:
|
|
7167
|
+
children: nl(e)
|
|
7017
7168
|
})
|
|
7018
7169
|
});
|
|
7019
7170
|
}
|
|
7020
|
-
function
|
|
7171
|
+
function nl(e) {
|
|
7021
7172
|
let t = e.trim();
|
|
7022
7173
|
if (!t) return "??";
|
|
7023
7174
|
let n = t.split(/\s+/).filter(Boolean), r = n[0] ?? "";
|
|
@@ -7025,12 +7176,12 @@ function Bc(e) {
|
|
|
7025
7176
|
let i = n[n.length - 1] ?? "";
|
|
7026
7177
|
return ((r[0] ?? "") + (i[0] ?? "")).toUpperCase();
|
|
7027
7178
|
}
|
|
7028
|
-
function
|
|
7179
|
+
function rl(e) {
|
|
7029
7180
|
let t = 0;
|
|
7030
7181
|
for (let n = 0; n < e.length; n++) t = t * 31 + e.charCodeAt(n) | 0;
|
|
7031
7182
|
return Math.abs(t) % 5 + 1;
|
|
7032
7183
|
}
|
|
7033
|
-
function
|
|
7184
|
+
function il(e) {
|
|
7034
7185
|
let t = Date.now() - e, n = Math.floor(t / 1e3);
|
|
7035
7186
|
if (n < 60) return "just now";
|
|
7036
7187
|
let r = Math.floor(n / 60);
|
|
@@ -7047,7 +7198,7 @@ function Hc(e) {
|
|
|
7047
7198
|
year: "numeric"
|
|
7048
7199
|
});
|
|
7049
7200
|
}
|
|
7050
|
-
function
|
|
7201
|
+
function al(e) {
|
|
7051
7202
|
return new Date(e).toLocaleDateString([], {
|
|
7052
7203
|
month: "long",
|
|
7053
7204
|
day: "numeric",
|
|
@@ -7058,7 +7209,7 @@ function Uc(e) {
|
|
|
7058
7209
|
}
|
|
7059
7210
|
//#endregion
|
|
7060
7211
|
//#region src/runtime/ui/toolbar.tsx
|
|
7061
|
-
function
|
|
7212
|
+
function ol({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right", unreadCount: i = 0, showInbox: a = !1, onOpenInbox: o, inboxOpen: s = !1, pinsVisible: c = !0, onTogglePins: l, identityButton: u, overflowButton: d }) {
|
|
7062
7213
|
let f = V(0);
|
|
7063
7214
|
i > 0 && (f.current = i);
|
|
7064
7215
|
let p = r === "bottom-left" ? "markup-toolbar-left" : r === "bottom-center" ? "markup-toolbar-center" : "markup-toolbar-right";
|
|
@@ -7082,7 +7233,7 @@ function Wc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
7082
7233
|
title: e ? "Cancel placing markup" : "Leave a markup",
|
|
7083
7234
|
"aria-pressed": e,
|
|
7084
7235
|
onClick: m,
|
|
7085
|
-
children: Q(e ?
|
|
7236
|
+
children: Q(e ? vs : Ts, { size: 16 })
|
|
7086
7237
|
}),
|
|
7087
7238
|
a ? /* @__PURE__ */ Q("button", {
|
|
7088
7239
|
type: "button",
|
|
@@ -7094,7 +7245,7 @@ function Wc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
7094
7245
|
onClick: (e) => {
|
|
7095
7246
|
e.preventDefault(), e.stopPropagation(), o?.();
|
|
7096
7247
|
},
|
|
7097
|
-
children: [/* @__PURE__ */ Q(
|
|
7248
|
+
children: [/* @__PURE__ */ Q(Es, { size: 16 }), /* @__PURE__ */ Q("span", {
|
|
7098
7249
|
class: "markup-tb-badge",
|
|
7099
7250
|
"data-unread": i > 0 ? "true" : "false",
|
|
7100
7251
|
"aria-hidden": "true",
|
|
@@ -7114,7 +7265,7 @@ function Wc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
7114
7265
|
onClick: (e) => {
|
|
7115
7266
|
e.preventDefault(), e.stopPropagation(), l();
|
|
7116
7267
|
},
|
|
7117
|
-
children: Q(c ?
|
|
7268
|
+
children: Q(c ? Ds : Os, { size: 16 })
|
|
7118
7269
|
})] }) : null,
|
|
7119
7270
|
u || d ? /* @__PURE__ */ Q("div", {
|
|
7120
7271
|
class: "markup-tb-sep",
|
|
@@ -7128,14 +7279,14 @@ function Wc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
7128
7279
|
"data-kind": "overflow",
|
|
7129
7280
|
"aria-label": "More options",
|
|
7130
7281
|
disabled: !0,
|
|
7131
|
-
children: /* @__PURE__ */ Q(
|
|
7282
|
+
children: /* @__PURE__ */ Q(ks, { size: 16 })
|
|
7132
7283
|
})
|
|
7133
7284
|
]
|
|
7134
7285
|
});
|
|
7135
7286
|
}
|
|
7136
7287
|
//#endregion
|
|
7137
7288
|
//#region src/runtime/ui/app.tsx
|
|
7138
|
-
function
|
|
7289
|
+
function sl(e) {
|
|
7139
7290
|
let t = {
|
|
7140
7291
|
clientId: `markup_user_${e.identity.id}`,
|
|
7141
7292
|
name: e.identity.name,
|
|
@@ -7161,14 +7312,14 @@ function Gc(e) {
|
|
|
7161
7312
|
} : {}
|
|
7162
7313
|
};
|
|
7163
7314
|
}
|
|
7164
|
-
function
|
|
7315
|
+
function cl() {
|
|
7165
7316
|
let e = document.activeElement;
|
|
7166
7317
|
for (; e && e.shadowRoot && e.shadowRoot.activeElement;) e = e.shadowRoot.activeElement;
|
|
7167
7318
|
if (!e) return !1;
|
|
7168
7319
|
let t = e.tagName;
|
|
7169
7320
|
return t === "INPUT" || t === "TEXTAREA" || t === "SELECT" || e.isContentEditable;
|
|
7170
7321
|
}
|
|
7171
|
-
var
|
|
7322
|
+
var ll = Ur({
|
|
7172
7323
|
visible: {
|
|
7173
7324
|
"hide-with-toast": () => ({ kind: "hidden-with-toast" }),
|
|
7174
7325
|
toggle: () => ({ kind: "hidden" })
|
|
@@ -7179,26 +7330,26 @@ var qc = Ur({
|
|
|
7179
7330
|
},
|
|
7180
7331
|
hidden: { toggle: () => ({ kind: "visible" }) }
|
|
7181
7332
|
});
|
|
7182
|
-
function
|
|
7333
|
+
function ul(e) {
|
|
7183
7334
|
return $i(e), e;
|
|
7184
7335
|
}
|
|
7185
|
-
var
|
|
7336
|
+
var dl = Ur({
|
|
7186
7337
|
unresolved: {
|
|
7187
|
-
"mint-success": (e, t) =>
|
|
7338
|
+
"mint-success": (e, t) => ul({
|
|
7188
7339
|
kind: "anon",
|
|
7189
7340
|
identity: t.identity
|
|
7190
7341
|
}),
|
|
7191
|
-
"signed-in": (e, t) =>
|
|
7342
|
+
"signed-in": (e, t) => ul({
|
|
7192
7343
|
kind: "verified",
|
|
7193
7344
|
identity: t.identity
|
|
7194
7345
|
})
|
|
7195
7346
|
},
|
|
7196
7347
|
anon: {
|
|
7197
|
-
"signed-in": (e, t) =>
|
|
7348
|
+
"signed-in": (e, t) => ul({
|
|
7198
7349
|
kind: "verified",
|
|
7199
7350
|
identity: t.identity
|
|
7200
7351
|
}),
|
|
7201
|
-
"author-set": (e, t) =>
|
|
7352
|
+
"author-set": (e, t) => ul({
|
|
7202
7353
|
kind: "anon",
|
|
7203
7354
|
identity: {
|
|
7204
7355
|
...e.identity,
|
|
@@ -7206,35 +7357,35 @@ var Yc = Ur({
|
|
|
7206
7357
|
email: t.email
|
|
7207
7358
|
}
|
|
7208
7359
|
}),
|
|
7209
|
-
"forget-me": () =>
|
|
7360
|
+
"forget-me": () => ul({ kind: "unresolved" })
|
|
7210
7361
|
},
|
|
7211
7362
|
verified: {
|
|
7212
|
-
"signed-in": (e, t) =>
|
|
7363
|
+
"signed-in": (e, t) => ul({
|
|
7213
7364
|
kind: "verified",
|
|
7214
7365
|
identity: t.identity
|
|
7215
7366
|
}),
|
|
7216
|
-
unauthorized: (e) =>
|
|
7367
|
+
unauthorized: (e) => ul({
|
|
7217
7368
|
kind: "recovering",
|
|
7218
7369
|
preserved: {
|
|
7219
7370
|
name: e.identity.name,
|
|
7220
7371
|
email: e.identity.email
|
|
7221
7372
|
}
|
|
7222
7373
|
}),
|
|
7223
|
-
"signed-out": () =>
|
|
7374
|
+
"signed-out": () => ul({ kind: "unresolved" })
|
|
7224
7375
|
},
|
|
7225
7376
|
recovering: {
|
|
7226
|
-
"mint-success": (e, t) =>
|
|
7377
|
+
"mint-success": (e, t) => ul({
|
|
7227
7378
|
kind: "anon",
|
|
7228
7379
|
identity: t.identity
|
|
7229
7380
|
}),
|
|
7230
|
-
"signed-in": (e, t) =>
|
|
7381
|
+
"signed-in": (e, t) => ul({
|
|
7231
7382
|
kind: "verified",
|
|
7232
7383
|
identity: t.identity
|
|
7233
7384
|
})
|
|
7234
7385
|
}
|
|
7235
7386
|
});
|
|
7236
|
-
function
|
|
7237
|
-
let [a, o] = z(fa), [s, c] = z([]), [l, u] = z(!1), d = at(() => Qi(), []), [f, p] = Wr(
|
|
7387
|
+
function fl({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r, dashboardUrl: i }) {
|
|
7388
|
+
let [a, o] = z(fa), [s, c] = z([]), [l, u] = z(!1), d = at(() => Qi(), []), [f, p] = Wr(dl, d.state), [m, h] = z(null);
|
|
7238
7389
|
B(() => {
|
|
7239
7390
|
let n = !1;
|
|
7240
7391
|
return Ri(e, t).then((e) => {
|
|
@@ -7244,7 +7395,7 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7244
7395
|
};
|
|
7245
7396
|
}, [e, t]);
|
|
7246
7397
|
let [g, _] = z(n), [v, y] = z(!0), [b, x] = z(!0), [S, C] = z(!1), [w, T] = z(null), E = H(() => T(null), []), D = V(f);
|
|
7247
|
-
D.current = f,
|
|
7398
|
+
D.current = f, ms(f, e, t, (e) => p({
|
|
7248
7399
|
type: "signed-in",
|
|
7249
7400
|
identity: e
|
|
7250
7401
|
}), () => p({ type: "unauthorized" }));
|
|
@@ -7290,18 +7441,18 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7290
7441
|
}).finally(() => {
|
|
7291
7442
|
ae(!1);
|
|
7292
7443
|
});
|
|
7293
|
-
}, [O]), de = Zr(), fe = Zr(), pe = Zr(), me = Zr(), he = Zr(), { run: N, reset: P } = de, { run: ge } = fe, { run: _e, reset: ve } = pe, { run: ye } = me, { run: be } = he, Se = he.isPending, Ce = de.isPending, we = de.error ?? fe.error ?? pe.error, [Te, Ee] = Wr(
|
|
7444
|
+
}, [O]), de = Zr(), fe = Zr(), pe = Zr(), me = Zr(), he = Zr(), { run: N, reset: P } = de, { run: ge } = fe, { run: _e, reset: ve } = pe, { run: ye } = me, { run: be } = he, Se = he.isPending, Ce = de.isPending, we = de.error ?? fe.error ?? pe.error, [Te, Ee] = Wr(ll, { kind: "visible" }), De = Te.kind !== "visible", [Oe, ke] = z(0), Ae = V(null), je = ta(f), Me = f.kind === "verified", F = f.kind === "unresolved" || f.kind === "recovering", Ne = ea(f), [Pe, Fe] = z(Ni), [Ie, Le] = z(null);
|
|
7294
7445
|
B(() => {
|
|
7295
|
-
|
|
7446
|
+
Le(null);
|
|
7296
7447
|
}, [f.kind, Ne]);
|
|
7297
|
-
let
|
|
7448
|
+
let Re = Pi(Pe, f.kind), ze = Fi({
|
|
7298
7449
|
access: Pe,
|
|
7299
7450
|
identityKind: f.kind,
|
|
7300
7451
|
hasAuthorName: je != null,
|
|
7301
|
-
refusal:
|
|
7302
|
-
}),
|
|
7452
|
+
refusal: Ie
|
|
7453
|
+
}), Be = H((e) => {
|
|
7303
7454
|
let t = Ii(e);
|
|
7304
|
-
throw t &&
|
|
7455
|
+
throw t && Le(t), e;
|
|
7305
7456
|
}, []);
|
|
7306
7457
|
B(() => {
|
|
7307
7458
|
if (f.kind !== "unresolved" && f.kind !== "recovering") return;
|
|
@@ -7332,17 +7483,17 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7332
7483
|
p,
|
|
7333
7484
|
d
|
|
7334
7485
|
]);
|
|
7335
|
-
let
|
|
7486
|
+
let Ve = us(O), [He, Ue] = z(null);
|
|
7336
7487
|
B(() => {
|
|
7337
7488
|
let t = new Hr(e.replace(/\.convex\.site(\/.*)?$/, ".convex.cloud"));
|
|
7338
|
-
return
|
|
7339
|
-
t.close(),
|
|
7489
|
+
return Ue(t), () => {
|
|
7490
|
+
t.close(), Ue((e) => e === t ? null : e);
|
|
7340
7491
|
};
|
|
7341
7492
|
}, [e]);
|
|
7342
|
-
let
|
|
7493
|
+
let We = V(!1);
|
|
7343
7494
|
B(() => {
|
|
7344
|
-
if (!(!
|
|
7345
|
-
subscriptionToken:
|
|
7495
|
+
if (!(!He || !Ve)) return P(), ve(), He.onUpdate(Nn("widget/queries:subscribeThreadsForRoute"), {
|
|
7496
|
+
subscriptionToken: Ve,
|
|
7346
7497
|
route: a,
|
|
7347
7498
|
viewerClientId: Ne,
|
|
7348
7499
|
includeResolved: S
|
|
@@ -7350,37 +7501,37 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7350
7501
|
e !== void 0 && (c(e), u(!0));
|
|
7351
7502
|
});
|
|
7352
7503
|
}, [
|
|
7504
|
+
He,
|
|
7353
7505
|
Ve,
|
|
7354
|
-
Be,
|
|
7355
7506
|
a,
|
|
7356
7507
|
Ne,
|
|
7357
7508
|
S,
|
|
7358
7509
|
P,
|
|
7359
7510
|
ve
|
|
7360
7511
|
]), B(() => {
|
|
7361
|
-
if (!(!
|
|
7512
|
+
if (!(!He || !Ve)) return He.onUpdate(Nn("widget/queries:subscribeProjectSettings"), { subscriptionToken: Ve }, (e) => {
|
|
7362
7513
|
let t = e?.commentAccess;
|
|
7363
|
-
|
|
7514
|
+
Fe(t === "members" ? "members" : Ni);
|
|
7364
7515
|
});
|
|
7365
|
-
}, [
|
|
7516
|
+
}, [He, Ve]), B(() => {
|
|
7366
7517
|
if (f.kind !== "verified") {
|
|
7367
7518
|
M(0);
|
|
7368
7519
|
return;
|
|
7369
7520
|
}
|
|
7370
|
-
if (!(!
|
|
7521
|
+
if (!(!He || !Ve)) return He.onUpdate(Nn("widget/queries:subscribeUnreadCountForProject"), { subscriptionToken: Ve }, (e) => {
|
|
7371
7522
|
e !== void 0 && M(e.count);
|
|
7372
7523
|
});
|
|
7373
7524
|
}, [
|
|
7525
|
+
He,
|
|
7374
7526
|
Ve,
|
|
7375
|
-
Be,
|
|
7376
7527
|
f.kind
|
|
7377
7528
|
]), B(() => {
|
|
7378
|
-
if (
|
|
7529
|
+
if (We.current || !l) return;
|
|
7379
7530
|
let e = pa();
|
|
7380
7531
|
e !== null && (s.find((t) => t._id === e) && A({
|
|
7381
7532
|
kind: "thread",
|
|
7382
7533
|
threadId: e
|
|
7383
|
-
}), ha()),
|
|
7534
|
+
}), ha()), We.current = !0;
|
|
7384
7535
|
}, [s, l]), B(() => Gi(() => o(fa())), []), B(() => {
|
|
7385
7536
|
function e(e) {
|
|
7386
7537
|
e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(), Ee({ type: "toggle" })));
|
|
@@ -7408,20 +7559,20 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7408
7559
|
window.removeEventListener("scroll", t, { capture: !0 }), window.removeEventListener("resize", t), n.disconnect(), e != null && cancelAnimationFrame(e);
|
|
7409
7560
|
};
|
|
7410
7561
|
}, []);
|
|
7411
|
-
let
|
|
7562
|
+
let Ge = H(() => {
|
|
7412
7563
|
P(), ve(), xe("comment_started"), A({ kind: "placing" });
|
|
7413
7564
|
}, [P, ve]);
|
|
7414
7565
|
B(() => {
|
|
7415
7566
|
function e(e) {
|
|
7416
|
-
e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || k.kind === "idle" && (De ||
|
|
7567
|
+
e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || k.kind === "idle" && (De || cl() || (e.preventDefault(), Ge())));
|
|
7417
7568
|
}
|
|
7418
7569
|
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
7419
7570
|
}, [
|
|
7420
7571
|
k.kind,
|
|
7421
7572
|
De,
|
|
7422
|
-
|
|
7573
|
+
Ge
|
|
7423
7574
|
]);
|
|
7424
|
-
let
|
|
7575
|
+
let I = H(() => {
|
|
7425
7576
|
A({ kind: "idle" }), P(), ve();
|
|
7426
7577
|
}, [P, ve]), L = V(0), Ke = H((e, t, n) => {
|
|
7427
7578
|
let i = t + window.scrollX, a = n + window.scrollY, o = ++L.current;
|
|
@@ -7456,7 +7607,7 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7456
7607
|
strictScrub: r?.strictScrub,
|
|
7457
7608
|
redactSelector: r?.redactSelector
|
|
7458
7609
|
};
|
|
7459
|
-
|
|
7610
|
+
ts(s, {
|
|
7460
7611
|
x: t,
|
|
7461
7612
|
y: n
|
|
7462
7613
|
}, c).then((e) => {
|
|
@@ -7477,7 +7628,7 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7477
7628
|
});
|
|
7478
7629
|
}, [p]), Je = fe.isPending, Ye = H(async () => {
|
|
7479
7630
|
xe("sign_in_started"), await ge(async () => {
|
|
7480
|
-
let n =
|
|
7631
|
+
let n = sl(await sa({
|
|
7481
7632
|
apiUrl: e,
|
|
7482
7633
|
apiKey: t,
|
|
7483
7634
|
useCookies: m === !0
|
|
@@ -7500,7 +7651,7 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7500
7651
|
n && await N(async () => {
|
|
7501
7652
|
let r;
|
|
7502
7653
|
if (t && k.screenshot) {
|
|
7503
|
-
let { uploadUrl: e } = await O.getScreenshotUploadUrl().catch(
|
|
7654
|
+
let { uploadUrl: e } = await O.getScreenshotUploadUrl().catch(Be), t;
|
|
7504
7655
|
try {
|
|
7505
7656
|
t = await fetch(e, {
|
|
7506
7657
|
method: "POST",
|
|
@@ -7532,7 +7683,7 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7532
7683
|
body: e,
|
|
7533
7684
|
mentions: i.length > 0 ? i : void 0,
|
|
7534
7685
|
screenshotStorageId: r
|
|
7535
|
-
}).catch(
|
|
7686
|
+
}).catch(Be);
|
|
7536
7687
|
c((e) => [...e, o.thread]), xe("comment_submitted", {
|
|
7537
7688
|
hasScreenshot: r != null,
|
|
7538
7689
|
hasMentions: i.length > 0
|
|
@@ -7545,7 +7696,7 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7545
7696
|
O,
|
|
7546
7697
|
f,
|
|
7547
7698
|
k,
|
|
7548
|
-
|
|
7699
|
+
Be,
|
|
7549
7700
|
a,
|
|
7550
7701
|
N
|
|
7551
7702
|
]), Xe = H(async () => {
|
|
@@ -7597,14 +7748,14 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7597
7748
|
authorName: t.name,
|
|
7598
7749
|
authorEmail: t.email,
|
|
7599
7750
|
mentions: r.length > 0 ? r : void 0
|
|
7600
|
-
}).catch(
|
|
7751
|
+
}).catch(Be);
|
|
7601
7752
|
c((e) => e.map((e) => e._id === n ? i.thread : e)), xe("reply_submitted", { hasMentions: r.length > 0 });
|
|
7602
7753
|
});
|
|
7603
7754
|
}, [
|
|
7604
7755
|
O,
|
|
7605
7756
|
f,
|
|
7606
7757
|
k,
|
|
7607
|
-
|
|
7758
|
+
Be,
|
|
7608
7759
|
N
|
|
7609
7760
|
]), tt = H(async (e, t) => {
|
|
7610
7761
|
if (k.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
|
|
@@ -7635,8 +7786,8 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7635
7786
|
N
|
|
7636
7787
|
]), rt = H(async (e, t) => {
|
|
7637
7788
|
if (k.kind !== "thread") return;
|
|
7638
|
-
if (!
|
|
7639
|
-
|
|
7789
|
+
if (!Re) {
|
|
7790
|
+
Le("sign_in_required");
|
|
7640
7791
|
return;
|
|
7641
7792
|
}
|
|
7642
7793
|
let n = na(f);
|
|
@@ -7646,15 +7797,15 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7646
7797
|
let i = await O.toggleReaction(e, {
|
|
7647
7798
|
emoji: t,
|
|
7648
7799
|
authorName: n.name
|
|
7649
|
-
}).catch(
|
|
7800
|
+
}).catch(Be);
|
|
7650
7801
|
c((e) => e.map((e) => e._id === r ? i.thread : e)), xe("reaction_added");
|
|
7651
7802
|
});
|
|
7652
7803
|
}, [
|
|
7653
7804
|
O,
|
|
7654
|
-
|
|
7805
|
+
Re,
|
|
7655
7806
|
f,
|
|
7656
7807
|
k,
|
|
7657
|
-
|
|
7808
|
+
Be,
|
|
7658
7809
|
_e
|
|
7659
7810
|
]), [it, ot] = z(!1), st = H(async () => {
|
|
7660
7811
|
await ye(async () => {
|
|
@@ -7732,11 +7883,11 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7732
7883
|
n.disconnect(), e != null && cancelAnimationFrame(e);
|
|
7733
7884
|
};
|
|
7734
7885
|
}, [mt]), B(() => {
|
|
7735
|
-
k.kind === "thread" && dt == null &&
|
|
7886
|
+
k.kind === "thread" && dt == null && I();
|
|
7736
7887
|
}, [
|
|
7737
7888
|
k,
|
|
7738
7889
|
dt,
|
|
7739
|
-
|
|
7890
|
+
I
|
|
7740
7891
|
]), /* @__PURE__ */ Q("div", {
|
|
7741
7892
|
class: "markup-root",
|
|
7742
7893
|
ref: Ae,
|
|
@@ -7745,7 +7896,7 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7745
7896
|
class: "markup-pins-layer",
|
|
7746
7897
|
children: [!De && v ? U.map(({ thread: e, point: t }) => {
|
|
7747
7898
|
let n = k.kind === "thread" && k.threadId === e._id, r = e.comments.reduce((e, t) => e + +!t.deleted, 0);
|
|
7748
|
-
return /* @__PURE__ */ Q(
|
|
7899
|
+
return /* @__PURE__ */ Q(Vc, {
|
|
7749
7900
|
pageX: t.pageX,
|
|
7750
7901
|
pageY: t.pageY,
|
|
7751
7902
|
count: r,
|
|
@@ -7759,19 +7910,19 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7759
7910
|
});
|
|
7760
7911
|
}
|
|
7761
7912
|
}, e._id);
|
|
7762
|
-
}) : null, k.kind === "composing-new" ? /* @__PURE__ */ Q(
|
|
7913
|
+
}) : null, k.kind === "composing-new" ? /* @__PURE__ */ Q(Hc, {
|
|
7763
7914
|
pageX: k.pageX,
|
|
7764
7915
|
pageY: k.pageY
|
|
7765
7916
|
}) : null]
|
|
7766
7917
|
}),
|
|
7767
|
-
k.kind === "placing" ? /* @__PURE__ */ Q(
|
|
7918
|
+
k.kind === "placing" ? /* @__PURE__ */ Q(Uc, {
|
|
7768
7919
|
onPlace: Ke,
|
|
7769
|
-
onCancel:
|
|
7920
|
+
onCancel: I
|
|
7770
7921
|
}) : null,
|
|
7771
|
-
k.kind === "thread" && dt ? /* @__PURE__ */ Q(
|
|
7922
|
+
k.kind === "thread" && dt ? /* @__PURE__ */ Q(Xc, {
|
|
7772
7923
|
thread: dt,
|
|
7773
7924
|
authorName: je,
|
|
7774
|
-
authorPromptMode:
|
|
7925
|
+
authorPromptMode: ze,
|
|
7775
7926
|
currentClientId: Ne ?? null,
|
|
7776
7927
|
isVerified: Me,
|
|
7777
7928
|
isIdentityResolving: F,
|
|
@@ -7784,7 +7935,7 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7784
7935
|
onAuthor: qe,
|
|
7785
7936
|
onSignIn: Ye,
|
|
7786
7937
|
onSignOut: ut,
|
|
7787
|
-
onClose:
|
|
7938
|
+
onClose: I,
|
|
7788
7939
|
onReply: et,
|
|
7789
7940
|
onEditComment: tt,
|
|
7790
7941
|
onDeleteComment: nt,
|
|
@@ -7792,11 +7943,11 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7792
7943
|
onDelete: Xe,
|
|
7793
7944
|
onResolve: Ze
|
|
7794
7945
|
}, dt._id) : null,
|
|
7795
|
-
k.kind === "composing-new" ? /* @__PURE__ */ Q(
|
|
7946
|
+
k.kind === "composing-new" ? /* @__PURE__ */ Q(jc, {
|
|
7796
7947
|
pageX: k.pageX,
|
|
7797
7948
|
pageY: k.pageY,
|
|
7798
7949
|
authorName: je,
|
|
7799
|
-
authorPromptMode:
|
|
7950
|
+
authorPromptMode: ze,
|
|
7800
7951
|
isVerified: Me,
|
|
7801
7952
|
isIdentityResolving: F,
|
|
7802
7953
|
isSigningIn: Je,
|
|
@@ -7812,11 +7963,11 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7812
7963
|
onSignIn: Ye,
|
|
7813
7964
|
onSignOut: ut,
|
|
7814
7965
|
onSubmit: R,
|
|
7815
|
-
onClose:
|
|
7966
|
+
onClose: I
|
|
7816
7967
|
}) : null,
|
|
7817
|
-
!De || k.kind === "placing" || k.kind === "composing-new" ? /* @__PURE__ */ Q(
|
|
7968
|
+
!De || k.kind === "placing" || k.kind === "composing-new" ? /* @__PURE__ */ Q(ol, {
|
|
7818
7969
|
isActive: k.kind === "placing",
|
|
7819
|
-
onToggle: () => k.kind === "placing" ?
|
|
7970
|
+
onToggle: () => k.kind === "placing" ? I() : Ge(),
|
|
7820
7971
|
onHide: () => Ee({ type: "hide-with-toast" }),
|
|
7821
7972
|
position: g,
|
|
7822
7973
|
showInbox: Me,
|
|
@@ -7828,7 +7979,7 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7828
7979
|
},
|
|
7829
7980
|
pinsVisible: v,
|
|
7830
7981
|
onTogglePins: () => y((e) => !e),
|
|
7831
|
-
identityButton: /* @__PURE__ */ Q(
|
|
7982
|
+
identityButton: /* @__PURE__ */ Q(Bs, {
|
|
7832
7983
|
identity: f,
|
|
7833
7984
|
position: g,
|
|
7834
7985
|
isSigningIn: Je,
|
|
@@ -7839,7 +7990,7 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7839
7990
|
onSignOut: ut,
|
|
7840
7991
|
onForgetMe: st
|
|
7841
7992
|
}),
|
|
7842
|
-
overflowButton: /* @__PURE__ */ Q(
|
|
7993
|
+
overflowButton: /* @__PURE__ */ Q(Ic, {
|
|
7843
7994
|
position: g,
|
|
7844
7995
|
onSetPosition: _,
|
|
7845
7996
|
autoCapture: b && r?.enabled !== !1,
|
|
@@ -7850,17 +8001,17 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7850
8001
|
onOpenPrivacy: () => T("privacy"),
|
|
7851
8002
|
onOpenShortcuts: () => T("shortcuts"),
|
|
7852
8003
|
onHideForSession: () => Ee({ type: "hide-with-toast" }),
|
|
7853
|
-
version: "1.
|
|
8004
|
+
version: "1.24.0",
|
|
7854
8005
|
dashboardUrl: i
|
|
7855
8006
|
})
|
|
7856
8007
|
}) : null,
|
|
7857
|
-
w === "inbox" && Me ? /* @__PURE__ */ Q(
|
|
8008
|
+
w === "inbox" && Me ? /* @__PURE__ */ Q(Bc, {
|
|
7858
8009
|
kind: "inbox",
|
|
7859
8010
|
label: "Inbox",
|
|
7860
8011
|
position: g,
|
|
7861
8012
|
ignoreToolbarKind: "inbox",
|
|
7862
8013
|
onClose: E,
|
|
7863
|
-
children: /* @__PURE__ */ Q(
|
|
8014
|
+
children: /* @__PURE__ */ Q(Nc, {
|
|
7864
8015
|
items: ne,
|
|
7865
8016
|
isLoading: ie,
|
|
7866
8017
|
error: oe,
|
|
@@ -7872,12 +8023,12 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7872
8023
|
onMarkAllRead: $e
|
|
7873
8024
|
})
|
|
7874
8025
|
}) : null,
|
|
7875
|
-
w === "privacy" ? /* @__PURE__ */ Q(
|
|
8026
|
+
w === "privacy" ? /* @__PURE__ */ Q(Bc, {
|
|
7876
8027
|
kind: "privacy",
|
|
7877
8028
|
label: "Privacy and data",
|
|
7878
8029
|
position: g,
|
|
7879
8030
|
onClose: E,
|
|
7880
|
-
children: /* @__PURE__ */ Q(
|
|
8031
|
+
children: /* @__PURE__ */ Q(Gc, {
|
|
7881
8032
|
identity: f,
|
|
7882
8033
|
apiUrl: e,
|
|
7883
8034
|
commentAccess: Pe,
|
|
@@ -7889,21 +8040,21 @@ function Xc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7889
8040
|
onClose: E
|
|
7890
8041
|
})
|
|
7891
8042
|
}) : null,
|
|
7892
|
-
w === "shortcuts" ? /* @__PURE__ */ Q(
|
|
8043
|
+
w === "shortcuts" ? /* @__PURE__ */ Q(Bc, {
|
|
7893
8044
|
kind: "shortcuts",
|
|
7894
8045
|
label: "Keyboard shortcuts",
|
|
7895
8046
|
position: g,
|
|
7896
8047
|
onClose: E,
|
|
7897
|
-
children: /* @__PURE__ */ Q(
|
|
8048
|
+
children: /* @__PURE__ */ Q(qc, { onClose: E })
|
|
7898
8049
|
}) : null,
|
|
7899
|
-
Te.kind === "hidden-with-toast" ? /* @__PURE__ */ Q(
|
|
7900
|
-
it ? /* @__PURE__ */ Q(
|
|
7901
|
-
ct ? /* @__PURE__ */ Q(
|
|
8050
|
+
Te.kind === "hidden-with-toast" ? /* @__PURE__ */ Q(pl, { position: g }) : null,
|
|
8051
|
+
it ? /* @__PURE__ */ Q(ml, { position: g }) : null,
|
|
8052
|
+
ct ? /* @__PURE__ */ Q(hl, { position: g }) : null
|
|
7902
8053
|
]
|
|
7903
8054
|
});
|
|
7904
8055
|
}
|
|
7905
|
-
function
|
|
7906
|
-
let { mod: t } =
|
|
8056
|
+
function pl({ position: e }) {
|
|
8057
|
+
let { mod: t } = hs();
|
|
7907
8058
|
return /* @__PURE__ */ Q("div", {
|
|
7908
8059
|
class: Z("markup-hud-hidden-toast", e === "bottom-left" ? "markup-hud-hidden-toast-left" : e === "bottom-center" ? "markup-hud-hidden-toast-center" : "markup-hud-hidden-toast-right"),
|
|
7909
8060
|
role: "status",
|
|
@@ -7922,7 +8073,7 @@ function Zc({ position: e }) {
|
|
|
7922
8073
|
]
|
|
7923
8074
|
});
|
|
7924
8075
|
}
|
|
7925
|
-
function
|
|
8076
|
+
function ml({ position: e }) {
|
|
7926
8077
|
return /* @__PURE__ */ Q("div", {
|
|
7927
8078
|
class: Z("markup-hud-hidden-toast", e === "bottom-left" ? "markup-hud-hidden-toast-left" : e === "bottom-center" ? "markup-hud-hidden-toast-center" : "markup-hud-hidden-toast-right"),
|
|
7928
8079
|
role: "status",
|
|
@@ -7930,7 +8081,7 @@ function Qc({ position: e }) {
|
|
|
7930
8081
|
children: "Forgotten on this site — your name and email were cleared."
|
|
7931
8082
|
});
|
|
7932
8083
|
}
|
|
7933
|
-
function
|
|
8084
|
+
function hl({ position: e }) {
|
|
7934
8085
|
return /* @__PURE__ */ Q("div", {
|
|
7935
8086
|
class: Z("markup-hud-hidden-toast", e === "bottom-left" ? "markup-hud-hidden-toast-left" : e === "bottom-center" ? "markup-hud-hidden-toast-center" : "markup-hud-hidden-toast-right"),
|
|
7936
8087
|
role: "status",
|
|
@@ -7940,52 +8091,52 @@ function $c({ position: e }) {
|
|
|
7940
8091
|
}
|
|
7941
8092
|
//#endregion
|
|
7942
8093
|
//#region src/runtime/mount.tsx
|
|
7943
|
-
function
|
|
7944
|
-
e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = "2147483647", e.style.pointerEvents = "none",
|
|
7945
|
-
let n =
|
|
8094
|
+
function gl(e, t) {
|
|
8095
|
+
e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = "2147483647", e.style.pointerEvents = "none", Be(e, t.theme ?? "auto");
|
|
8096
|
+
let n = Ge(), r = e.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
7946
8097
|
i.textContent = fe, r.appendChild(i);
|
|
7947
8098
|
let a = document.createElement("div");
|
|
7948
8099
|
a.className = "markup-shadow-root", r.appendChild(a), Me({
|
|
7949
8100
|
apiUrl: t.apiUrl,
|
|
7950
8101
|
apiKey: t.apiKey,
|
|
7951
|
-
widgetVersion: "1.
|
|
8102
|
+
widgetVersion: "1.24.0"
|
|
7952
8103
|
}), be(t.analytics === !1 ? null : {
|
|
7953
8104
|
apiUrl: t.apiUrl,
|
|
7954
8105
|
apiKey: t.apiKey,
|
|
7955
|
-
widgetVersion: "1.
|
|
8106
|
+
widgetVersion: "1.24.0"
|
|
7956
8107
|
}), xe("widget_loaded");
|
|
7957
8108
|
let { theme: o, analytics: s, ...c } = t;
|
|
7958
8109
|
return de(/* @__PURE__ */ Q(we, {
|
|
7959
8110
|
onError: (e) => F(e, { context: "render" }),
|
|
7960
|
-
children: /* @__PURE__ */ Q(
|
|
8111
|
+
children: /* @__PURE__ */ Q(fl, { ...c })
|
|
7961
8112
|
}), a), () => {
|
|
7962
8113
|
n(), Me(null), be(null), de(null, a);
|
|
7963
8114
|
};
|
|
7964
8115
|
}
|
|
7965
8116
|
//#endregion
|
|
7966
8117
|
//#region src/widget.ts
|
|
7967
|
-
var
|
|
7968
|
-
function
|
|
8118
|
+
var _l = null, vl = null, yl = null, bl = !1;
|
|
8119
|
+
function xl(e) {
|
|
7969
8120
|
if (!e.apiUrl || !e.apiKey) return console.warn("[markup] init() requires both apiUrl and apiKey, so the widget was not mounted"), () => {};
|
|
7970
|
-
e.fab != null && !
|
|
8121
|
+
e.fab != null && !bl && (bl = !0, console.warn("[markup] the `fab` option is ignored and will be removed in the next major. The toolbar replaced the floating action button. Remove it from your config.")), Sl();
|
|
7971
8122
|
let t = () => {
|
|
7972
|
-
if (
|
|
8123
|
+
if (yl = null, !document.body) return;
|
|
7973
8124
|
let t = document.createElement("div");
|
|
7974
|
-
t.id = "markup-widget", document.body.appendChild(t),
|
|
8125
|
+
t.id = "markup-widget", document.body.appendChild(t), vl = t, _l = gl(t, e);
|
|
7975
8126
|
};
|
|
7976
8127
|
if (document.readyState === "loading" || !document.body) {
|
|
7977
8128
|
let e = () => t();
|
|
7978
|
-
|
|
8129
|
+
yl = () => document.removeEventListener("DOMContentLoaded", e), document.addEventListener("DOMContentLoaded", e, { once: !0 });
|
|
7979
8130
|
} else t();
|
|
7980
|
-
return
|
|
8131
|
+
return Sl;
|
|
7981
8132
|
}
|
|
7982
|
-
function
|
|
7983
|
-
|
|
8133
|
+
function Sl() {
|
|
8134
|
+
yl &&= (yl(), null), _l &&= (_l(), null), vl?.parentNode && vl.parentNode.removeChild(vl), vl = null;
|
|
7984
8135
|
}
|
|
7985
8136
|
if (typeof document < "u") {
|
|
7986
8137
|
let e = document.currentScript ?? document.querySelector("script[data-markup-widget=\"true\"]"), t = e?.dataset.apiUrl, n = e?.dataset.apiKey;
|
|
7987
8138
|
if (t && n) {
|
|
7988
|
-
let r = e?.dataset.position, i = e?.dataset.theme, a = e?.dataset.fab, o = e?.dataset.dashboardUrl, s = e?.dataset.analytics !== "false", c = () =>
|
|
8139
|
+
let r = e?.dataset.position, i = e?.dataset.theme, a = e?.dataset.fab, o = e?.dataset.dashboardUrl, s = e?.dataset.analytics !== "false", c = () => xl({
|
|
7989
8140
|
apiUrl: t,
|
|
7990
8141
|
apiKey: n,
|
|
7991
8142
|
position: r,
|
|
@@ -7998,6 +8149,6 @@ if (typeof document < "u") {
|
|
|
7998
8149
|
}
|
|
7999
8150
|
}
|
|
8000
8151
|
//#endregion
|
|
8001
|
-
export {
|
|
8152
|
+
export { Sl as destroy, xl as init };
|
|
8002
8153
|
|
|
8003
8154
|
//# sourceMappingURL=widget.js.map
|