@pixelmatters/markup 1.22.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 +10 -8
- package/dist/widget.js +718 -532
- package/dist/widget.js.map +1 -1
- package/package.json +1 -1
- package/skills/install-markup-widget/SKILL.md +5 -5
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;
|
|
@@ -3302,9 +3302,9 @@ function Ui() {
|
|
|
3302
3302
|
r.apply(this, e), Vi(t);
|
|
3303
3303
|
}
|
|
3304
3304
|
let o = () => Vi(t), s = () => {
|
|
3305
|
-
history.pushState === i && (history.pushState = n), history.replaceState === a && (history.replaceState = r), window.removeEventListener("popstate", o), t.clear();
|
|
3305
|
+
history.pushState === i && (history.pushState = n), history.replaceState === a && (history.replaceState = r), window.removeEventListener("popstate", o), window.removeEventListener("hashchange", o), t.clear();
|
|
3306
3306
|
};
|
|
3307
|
-
return Object.defineProperty(i, zi, { value: 1 }), Object.defineProperty(i, Bi, { value: t }), Object.defineProperty(i, Hi, { value: s }), Object.defineProperty(a, zi, { value: 1 }), history.pushState = i, history.replaceState = a, window.addEventListener("popstate", o), {
|
|
3307
|
+
return Object.defineProperty(i, zi, { value: 1 }), Object.defineProperty(i, Bi, { value: t }), Object.defineProperty(i, Hi, { value: s }), Object.defineProperty(a, zi, { value: 1 }), history.pushState = i, history.replaceState = a, window.addEventListener("popstate", o), window.addEventListener("hashchange", o), {
|
|
3308
3308
|
listeners: t,
|
|
3309
3309
|
restore: s
|
|
3310
3310
|
};
|
|
@@ -3576,46 +3576,88 @@ async function sa(e) {
|
|
|
3576
3576
|
return d;
|
|
3577
3577
|
}
|
|
3578
3578
|
//#endregion
|
|
3579
|
+
//#region src/runtime/route.ts
|
|
3580
|
+
var ca = "markup-thread", la = /^#markup-thread=(.+)$/, ua = /^#!?\//;
|
|
3581
|
+
function da(e) {
|
|
3582
|
+
if (!ua.test(e)) return "";
|
|
3583
|
+
let t = e.slice(1).split("?")[0]?.split("#")[0] ?? "";
|
|
3584
|
+
return t === "/" || t === "!/" ? "" : `#${t}`;
|
|
3585
|
+
}
|
|
3586
|
+
function fa() {
|
|
3587
|
+
let { host: e, pathname: t, hash: n } = window.location;
|
|
3588
|
+
return e + t + da(n);
|
|
3589
|
+
}
|
|
3590
|
+
function pa() {
|
|
3591
|
+
let e = new URLSearchParams(window.location.search).get(ca);
|
|
3592
|
+
if (e) return e;
|
|
3593
|
+
let t = la.exec(window.location.hash)?.[1];
|
|
3594
|
+
if (t === void 0) return null;
|
|
3595
|
+
try {
|
|
3596
|
+
return decodeURIComponent(t);
|
|
3597
|
+
} catch {
|
|
3598
|
+
return t;
|
|
3599
|
+
}
|
|
3600
|
+
}
|
|
3601
|
+
function ma(e) {
|
|
3602
|
+
if (e === "") return "";
|
|
3603
|
+
let t = e.slice(1).split("&").filter((e) => e !== "markup-thread" && !e.startsWith("markup-thread="));
|
|
3604
|
+
return t.length > 0 ? `?${t.join("&")}` : "";
|
|
3605
|
+
}
|
|
3606
|
+
function ha() {
|
|
3607
|
+
let { pathname: e, search: t, hash: n } = window.location, r = la.test(n) ? "" : n;
|
|
3608
|
+
history.replaceState(history.state, "", e + ma(t) + r);
|
|
3609
|
+
}
|
|
3610
|
+
function ga(e) {
|
|
3611
|
+
let t = e.hash === "" ? e.href.replace(/#$/, "") : e.href.slice(0, e.href.length - e.hash.length);
|
|
3612
|
+
return e.search === "" ? t.replace(/\?$/, "") : t.slice(0, t.length - e.search.length);
|
|
3613
|
+
}
|
|
3614
|
+
function _a(e, t) {
|
|
3615
|
+
let n = qi(e, window.location.href);
|
|
3616
|
+
if (!n) return null;
|
|
3617
|
+
let r = ma(n.search), i = r === "" ? "?" : "&", a = `${ca}=${encodeURIComponent(t)}`;
|
|
3618
|
+
return `${ga(n)}${r}${i}${a}${n.hash}`;
|
|
3619
|
+
}
|
|
3620
|
+
//#endregion
|
|
3579
3621
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/util.js
|
|
3580
|
-
function
|
|
3622
|
+
function va(e, t) {
|
|
3581
3623
|
if (e.match(/^[a-z]+:\/\//i)) return e;
|
|
3582
3624
|
if (e.match(/^\/\//)) return window.location.protocol + e;
|
|
3583
3625
|
if (e.match(/^[a-z]+:/i)) return e;
|
|
3584
3626
|
let n = document.implementation.createHTMLDocument(), r = n.createElement("base"), i = n.createElement("a");
|
|
3585
3627
|
return n.head.appendChild(r), n.body.appendChild(i), t && (r.href = t), i.href = e, i.href;
|
|
3586
3628
|
}
|
|
3587
|
-
var
|
|
3629
|
+
var ya = (() => {
|
|
3588
3630
|
let e = 0, t = () => `0000${(Math.random() * 36 ** 4 << 0).toString(36)}`.slice(-4);
|
|
3589
3631
|
return () => (e += 1, `u${t()}${e}`);
|
|
3590
3632
|
})();
|
|
3591
|
-
function
|
|
3633
|
+
function ba(e) {
|
|
3592
3634
|
let t = [];
|
|
3593
3635
|
for (let n = 0, r = e.length; n < r; n++) t.push(e[n]);
|
|
3594
3636
|
return t;
|
|
3595
3637
|
}
|
|
3596
|
-
var
|
|
3597
|
-
function
|
|
3598
|
-
return
|
|
3638
|
+
var xa = null;
|
|
3639
|
+
function Sa(e = {}) {
|
|
3640
|
+
return xa || (e.includeStyleProperties ? (xa = e.includeStyleProperties, xa) : (xa = ba(window.getComputedStyle(document.documentElement)), xa));
|
|
3599
3641
|
}
|
|
3600
|
-
function
|
|
3642
|
+
function Ca(e, t) {
|
|
3601
3643
|
let n = (e.ownerDocument.defaultView || window).getComputedStyle(e).getPropertyValue(t);
|
|
3602
3644
|
return n ? parseFloat(n.replace("px", "")) : 0;
|
|
3603
3645
|
}
|
|
3604
|
-
function
|
|
3605
|
-
let t =
|
|
3646
|
+
function wa(e) {
|
|
3647
|
+
let t = Ca(e, "border-left-width"), n = Ca(e, "border-right-width");
|
|
3606
3648
|
return e.clientWidth + t + n;
|
|
3607
3649
|
}
|
|
3608
|
-
function
|
|
3609
|
-
let t =
|
|
3650
|
+
function Ta(e) {
|
|
3651
|
+
let t = Ca(e, "border-top-width"), n = Ca(e, "border-bottom-width");
|
|
3610
3652
|
return e.clientHeight + t + n;
|
|
3611
3653
|
}
|
|
3612
|
-
function
|
|
3654
|
+
function Ea(e, t = {}) {
|
|
3613
3655
|
return {
|
|
3614
|
-
width: t.width ||
|
|
3615
|
-
height: t.height ||
|
|
3656
|
+
width: t.width || wa(e),
|
|
3657
|
+
height: t.height || Ta(e)
|
|
3616
3658
|
};
|
|
3617
3659
|
}
|
|
3618
|
-
function
|
|
3660
|
+
function Da() {
|
|
3619
3661
|
let e, t;
|
|
3620
3662
|
try {
|
|
3621
3663
|
t = process;
|
|
@@ -3624,10 +3666,10 @@ function _a() {
|
|
|
3624
3666
|
return n && (e = parseInt(n, 10), Number.isNaN(e) && (e = 1)), e || window.devicePixelRatio || 1;
|
|
3625
3667
|
}
|
|
3626
3668
|
var Y = 16384;
|
|
3627
|
-
function
|
|
3669
|
+
function Oa(e) {
|
|
3628
3670
|
(e.width > Y || e.height > Y) && (e.width > Y && e.height > Y ? e.width > e.height ? (e.height *= Y / e.width, e.width = Y) : (e.width *= Y / e.height, e.height = Y) : e.width > Y ? (e.height *= Y / e.width, e.width = Y) : (e.width *= Y / e.height, e.height = Y));
|
|
3629
3671
|
}
|
|
3630
|
-
function
|
|
3672
|
+
function ka(e) {
|
|
3631
3673
|
return new Promise((t, n) => {
|
|
3632
3674
|
let r = new Image();
|
|
3633
3675
|
r.onload = () => {
|
|
@@ -3637,12 +3679,12 @@ function ya(e) {
|
|
|
3637
3679
|
}, r.onerror = n, r.crossOrigin = "anonymous", r.decoding = "async", r.src = e;
|
|
3638
3680
|
});
|
|
3639
3681
|
}
|
|
3640
|
-
async function
|
|
3682
|
+
async function Aa(e) {
|
|
3641
3683
|
return Promise.resolve().then(() => new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then((e) => `data:image/svg+xml;charset=utf-8,${e}`);
|
|
3642
3684
|
}
|
|
3643
|
-
async function
|
|
3685
|
+
async function ja(e, t, n) {
|
|
3644
3686
|
let r = "http://www.w3.org/2000/svg", i = document.createElementNS(r, "svg"), a = document.createElementNS(r, "foreignObject");
|
|
3645
|
-
return i.setAttribute("width", `${t}`), i.setAttribute("height", `${n}`), i.setAttribute("viewBox", `0 0 ${t} ${n}`), a.setAttribute("width", "100%"), a.setAttribute("height", "100%"), a.setAttribute("x", "0"), a.setAttribute("y", "0"), a.setAttribute("externalResourcesRequired", "true"), i.appendChild(a), a.appendChild(e),
|
|
3687
|
+
return i.setAttribute("width", `${t}`), i.setAttribute("height", `${n}`), i.setAttribute("viewBox", `0 0 ${t} ${n}`), a.setAttribute("width", "100%"), a.setAttribute("height", "100%"), a.setAttribute("x", "0"), a.setAttribute("y", "0"), a.setAttribute("externalResourcesRequired", "true"), i.appendChild(a), a.appendChild(e), Aa(i);
|
|
3646
3688
|
}
|
|
3647
3689
|
var X = (e, t) => {
|
|
3648
3690
|
if (e instanceof t) return !0;
|
|
@@ -3651,66 +3693,66 @@ var X = (e, t) => {
|
|
|
3651
3693
|
};
|
|
3652
3694
|
//#endregion
|
|
3653
3695
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-pseudos.js
|
|
3654
|
-
function
|
|
3696
|
+
function Ma(e) {
|
|
3655
3697
|
let t = e.getPropertyValue("content");
|
|
3656
3698
|
return `${e.cssText} content: '${t.replace(/'|"/g, "")}';`;
|
|
3657
3699
|
}
|
|
3658
|
-
function
|
|
3659
|
-
return
|
|
3700
|
+
function Na(e, t) {
|
|
3701
|
+
return Sa(t).map((t) => `${t}: ${e.getPropertyValue(t)}${e.getPropertyPriority(t) ? " !important" : ""};`).join(" ");
|
|
3660
3702
|
}
|
|
3661
|
-
function
|
|
3662
|
-
let i = `.${e}:${t}`, a = n.cssText ?
|
|
3703
|
+
function Pa(e, t, n, r) {
|
|
3704
|
+
let i = `.${e}:${t}`, a = n.cssText ? Ma(n) : Na(n, r);
|
|
3663
3705
|
return document.createTextNode(`${i}{${a}}`);
|
|
3664
3706
|
}
|
|
3665
|
-
function
|
|
3707
|
+
function Fa(e, t, n, r) {
|
|
3666
3708
|
let i = window.getComputedStyle(e, n), a = i.getPropertyValue("content");
|
|
3667
3709
|
if (a === "" || a === "none") return;
|
|
3668
|
-
let o =
|
|
3710
|
+
let o = ya();
|
|
3669
3711
|
try {
|
|
3670
3712
|
t.className = `${t.className} ${o}`;
|
|
3671
3713
|
} catch {
|
|
3672
3714
|
return;
|
|
3673
3715
|
}
|
|
3674
3716
|
let s = document.createElement("style");
|
|
3675
|
-
s.appendChild(
|
|
3717
|
+
s.appendChild(Pa(o, n, i, r)), t.appendChild(s);
|
|
3676
3718
|
}
|
|
3677
|
-
function
|
|
3678
|
-
|
|
3719
|
+
function Ia(e, t, n) {
|
|
3720
|
+
Fa(e, t, ":before", n), Fa(e, t, ":after", n);
|
|
3679
3721
|
}
|
|
3680
3722
|
//#endregion
|
|
3681
3723
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/mimes.js
|
|
3682
|
-
var
|
|
3683
|
-
woff:
|
|
3684
|
-
woff2:
|
|
3724
|
+
var La = "application/font-woff", Ra = "image/jpeg", za = {
|
|
3725
|
+
woff: La,
|
|
3726
|
+
woff2: La,
|
|
3685
3727
|
ttf: "application/font-truetype",
|
|
3686
3728
|
eot: "application/vnd.ms-fontobject",
|
|
3687
3729
|
png: "image/png",
|
|
3688
|
-
jpg:
|
|
3689
|
-
jpeg:
|
|
3730
|
+
jpg: Ra,
|
|
3731
|
+
jpeg: Ra,
|
|
3690
3732
|
gif: "image/gif",
|
|
3691
3733
|
tiff: "image/tiff",
|
|
3692
3734
|
svg: "image/svg+xml",
|
|
3693
3735
|
webp: "image/webp"
|
|
3694
3736
|
};
|
|
3695
|
-
function
|
|
3737
|
+
function Ba(e) {
|
|
3696
3738
|
let t = /\.([^./]*?)$/g.exec(e);
|
|
3697
3739
|
return t ? t[1] : "";
|
|
3698
3740
|
}
|
|
3699
|
-
function
|
|
3700
|
-
return
|
|
3741
|
+
function Va(e) {
|
|
3742
|
+
return za[Ba(e).toLowerCase()] || "";
|
|
3701
3743
|
}
|
|
3702
3744
|
//#endregion
|
|
3703
3745
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/dataurl.js
|
|
3704
|
-
function
|
|
3746
|
+
function Ha(e) {
|
|
3705
3747
|
return e.split(/,/)[1];
|
|
3706
3748
|
}
|
|
3707
|
-
function
|
|
3749
|
+
function Ua(e) {
|
|
3708
3750
|
return e.search(/^(data:)/) !== -1;
|
|
3709
3751
|
}
|
|
3710
|
-
function
|
|
3752
|
+
function Wa(e, t) {
|
|
3711
3753
|
return `data:${t};base64,${e}`;
|
|
3712
3754
|
}
|
|
3713
|
-
async function
|
|
3755
|
+
async function Ga(e, t, n) {
|
|
3714
3756
|
let r = await fetch(e, t);
|
|
3715
3757
|
if (r.status === 404) throw Error(`Resource "${r.url}" not found`);
|
|
3716
3758
|
let i = await r.blob();
|
|
@@ -3728,78 +3770,78 @@ async function Fa(e, t, n) {
|
|
|
3728
3770
|
}, a.readAsDataURL(i);
|
|
3729
3771
|
});
|
|
3730
3772
|
}
|
|
3731
|
-
var
|
|
3732
|
-
function
|
|
3773
|
+
var Ka = {};
|
|
3774
|
+
function qa(e, t, n) {
|
|
3733
3775
|
let r = e.replace(/\?.*/, "");
|
|
3734
3776
|
return n && (r = e), /ttf|otf|eot|woff2?/i.test(r) && (r = r.replace(/.*\//, "")), t ? `[${t}]${r}` : r;
|
|
3735
3777
|
}
|
|
3736
|
-
async function
|
|
3737
|
-
let r =
|
|
3738
|
-
if (
|
|
3778
|
+
async function Ja(e, t, n) {
|
|
3779
|
+
let r = qa(e, t, n.includeQueryParams);
|
|
3780
|
+
if (Ka[r] != null) return Ka[r];
|
|
3739
3781
|
n.cacheBust && (e += (/\?/.test(e) ? "&" : "?") + (/* @__PURE__ */ new Date()).getTime());
|
|
3740
3782
|
let i;
|
|
3741
3783
|
try {
|
|
3742
|
-
i =
|
|
3784
|
+
i = Wa(await Ga(e, n.fetchRequestInit, ({ res: e, result: n }) => (t ||= e.headers.get("Content-Type") || "", Ha(n))), t);
|
|
3743
3785
|
} catch (t) {
|
|
3744
3786
|
i = n.imagePlaceholder || "";
|
|
3745
3787
|
let r = `Failed to fetch resource: ${e}`;
|
|
3746
3788
|
t && (r = typeof t == "string" ? t : t.message), r && console.warn(r);
|
|
3747
3789
|
}
|
|
3748
|
-
return
|
|
3790
|
+
return Ka[r] = i, i;
|
|
3749
3791
|
}
|
|
3750
3792
|
//#endregion
|
|
3751
3793
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-node.js
|
|
3752
|
-
async function
|
|
3794
|
+
async function Ya(e) {
|
|
3753
3795
|
let t = e.toDataURL();
|
|
3754
|
-
return t === "data:," ? e.cloneNode(!1) :
|
|
3796
|
+
return t === "data:," ? e.cloneNode(!1) : ka(t);
|
|
3755
3797
|
}
|
|
3756
|
-
async function
|
|
3798
|
+
async function Xa(e, t) {
|
|
3757
3799
|
if (e.currentSrc) {
|
|
3758
3800
|
let t = document.createElement("canvas"), n = t.getContext("2d");
|
|
3759
|
-
return t.width = e.clientWidth, t.height = e.clientHeight, n?.drawImage(e, 0, 0, t.width, t.height),
|
|
3801
|
+
return t.width = e.clientWidth, t.height = e.clientHeight, n?.drawImage(e, 0, 0, t.width, t.height), ka(t.toDataURL());
|
|
3760
3802
|
}
|
|
3761
3803
|
let n = e.poster;
|
|
3762
|
-
return
|
|
3804
|
+
return ka(await Ja(n, Va(n), t));
|
|
3763
3805
|
}
|
|
3764
|
-
async function
|
|
3806
|
+
async function Za(e, t) {
|
|
3765
3807
|
try {
|
|
3766
|
-
if (e?.contentDocument?.body) return await
|
|
3808
|
+
if (e?.contentDocument?.body) return await so(e.contentDocument.body, t, !0);
|
|
3767
3809
|
} catch {}
|
|
3768
3810
|
return e.cloneNode(!1);
|
|
3769
3811
|
}
|
|
3770
|
-
async function
|
|
3771
|
-
return X(e, HTMLCanvasElement) ?
|
|
3812
|
+
async function Qa(e, t) {
|
|
3813
|
+
return X(e, HTMLCanvasElement) ? Ya(e) : X(e, HTMLVideoElement) ? Xa(e, t) : X(e, HTMLIFrameElement) ? Za(e, t) : e.cloneNode(eo(e));
|
|
3772
3814
|
}
|
|
3773
|
-
var
|
|
3774
|
-
async function
|
|
3775
|
-
if (
|
|
3815
|
+
var $a = (e) => e.tagName != null && e.tagName.toUpperCase() === "SLOT", eo = (e) => e.tagName != null && e.tagName.toUpperCase() === "SVG";
|
|
3816
|
+
async function to(e, t, n) {
|
|
3817
|
+
if (eo(t)) return t;
|
|
3776
3818
|
let r = [];
|
|
3777
|
-
return r =
|
|
3819
|
+
return r = $a(e) && e.assignedNodes ? ba(e.assignedNodes()) : X(e, HTMLIFrameElement) && e.contentDocument?.body ? ba(e.contentDocument.body.childNodes) : ba((e.shadowRoot ?? e).childNodes), r.length === 0 || X(e, HTMLVideoElement) || await r.reduce((e, r) => e.then(() => so(r, n)).then((e) => {
|
|
3778
3820
|
e && t.appendChild(e);
|
|
3779
3821
|
}), Promise.resolve()), t;
|
|
3780
3822
|
}
|
|
3781
|
-
function
|
|
3823
|
+
function no(e, t, n) {
|
|
3782
3824
|
let r = t.style;
|
|
3783
3825
|
if (!r) return;
|
|
3784
3826
|
let i = window.getComputedStyle(e);
|
|
3785
|
-
i.cssText ? (r.cssText = i.cssText, r.transformOrigin = i.transformOrigin) :
|
|
3827
|
+
i.cssText ? (r.cssText = i.cssText, r.transformOrigin = i.transformOrigin) : Sa(n).forEach((n) => {
|
|
3786
3828
|
let a = i.getPropertyValue(n);
|
|
3787
3829
|
n === "font-size" && a.endsWith("px") && (a = `${Math.floor(parseFloat(a.substring(0, a.length - 2))) - .1}px`), X(e, HTMLIFrameElement) && n === "display" && a === "inline" && (a = "block"), n === "d" && t.getAttribute("d") && (a = `path(${t.getAttribute("d")})`), r.setProperty(n, a, i.getPropertyPriority(n));
|
|
3788
3830
|
});
|
|
3789
3831
|
}
|
|
3790
|
-
function
|
|
3832
|
+
function ro(e, t) {
|
|
3791
3833
|
X(e, HTMLTextAreaElement) && (t.innerHTML = e.value), X(e, HTMLInputElement) && t.setAttribute("value", e.value);
|
|
3792
3834
|
}
|
|
3793
|
-
function
|
|
3835
|
+
function io(e, t) {
|
|
3794
3836
|
if (X(e, HTMLSelectElement)) {
|
|
3795
3837
|
let n = t, r = Array.from(n.children).find((t) => e.value === t.getAttribute("value"));
|
|
3796
3838
|
r && r.setAttribute("selected", "");
|
|
3797
3839
|
}
|
|
3798
3840
|
}
|
|
3799
|
-
function
|
|
3800
|
-
return X(t, Element) && (
|
|
3841
|
+
function ao(e, t, n) {
|
|
3842
|
+
return X(t, Element) && (no(e, t, n), Ia(e, t, n), ro(e, t), io(e, t)), t;
|
|
3801
3843
|
}
|
|
3802
|
-
async function
|
|
3844
|
+
async function oo(e, t) {
|
|
3803
3845
|
let n = e.querySelectorAll ? e.querySelectorAll("use") : [];
|
|
3804
3846
|
if (n.length === 0) return e;
|
|
3805
3847
|
let r = {};
|
|
@@ -3807,7 +3849,7 @@ async function Xa(e, t) {
|
|
|
3807
3849
|
let a = n[i].getAttribute("xlink:href");
|
|
3808
3850
|
if (a) {
|
|
3809
3851
|
let n = e.querySelector(a), i = document.querySelector(a);
|
|
3810
|
-
!n && i && !r[a] && (r[a] = await
|
|
3852
|
+
!n && i && !r[a] && (r[a] = await so(i, t, !0));
|
|
3811
3853
|
}
|
|
3812
3854
|
}
|
|
3813
3855
|
let i = Object.values(r);
|
|
@@ -3821,61 +3863,61 @@ async function Xa(e, t) {
|
|
|
3821
3863
|
}
|
|
3822
3864
|
return e;
|
|
3823
3865
|
}
|
|
3824
|
-
async function
|
|
3825
|
-
return !n && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((e) =>
|
|
3866
|
+
async function so(e, t, n) {
|
|
3867
|
+
return !n && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((e) => Qa(e, t)).then((n) => to(e, n, t)).then((n) => ao(e, n, t)).then((e) => oo(e, t));
|
|
3826
3868
|
}
|
|
3827
3869
|
//#endregion
|
|
3828
3870
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-resources.js
|
|
3829
|
-
var
|
|
3830
|
-
function
|
|
3871
|
+
var co = /url\((['"]?)([^'"]+?)\1\)/g, lo = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g, uo = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
|
|
3872
|
+
function fo(e) {
|
|
3831
3873
|
let t = e.replace(/([.*+?^${}()|\[\]\/\\])/g, "\\$1");
|
|
3832
3874
|
return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`, "g");
|
|
3833
3875
|
}
|
|
3834
|
-
function
|
|
3876
|
+
function po(e) {
|
|
3835
3877
|
let t = [];
|
|
3836
|
-
return e.replace(
|
|
3878
|
+
return e.replace(co, (e, n, r) => (t.push(r), e)), t.filter((e) => !Ua(e));
|
|
3837
3879
|
}
|
|
3838
|
-
async function
|
|
3880
|
+
async function mo(e, t, n, r, i) {
|
|
3839
3881
|
try {
|
|
3840
|
-
let a = n ?
|
|
3841
|
-
return s = i ?
|
|
3882
|
+
let a = n ? va(t, n) : t, o = Va(t), s;
|
|
3883
|
+
return s = i ? Wa(await i(a), o) : await Ja(a, o, r), e.replace(fo(t), `$1${s}$3`);
|
|
3842
3884
|
} catch {}
|
|
3843
3885
|
return e;
|
|
3844
3886
|
}
|
|
3845
|
-
function
|
|
3846
|
-
return t ? e.replace(
|
|
3887
|
+
function ho(e, { preferredFontFormat: t }) {
|
|
3888
|
+
return t ? e.replace(uo, (e) => {
|
|
3847
3889
|
for (;;) {
|
|
3848
|
-
let [n, , r] =
|
|
3890
|
+
let [n, , r] = lo.exec(e) || [];
|
|
3849
3891
|
if (!r) return "";
|
|
3850
3892
|
if (r === t) return `src: ${n};`;
|
|
3851
3893
|
}
|
|
3852
3894
|
}) : e;
|
|
3853
3895
|
}
|
|
3854
|
-
function
|
|
3855
|
-
return e.search(
|
|
3896
|
+
function go(e) {
|
|
3897
|
+
return e.search(co) !== -1;
|
|
3856
3898
|
}
|
|
3857
|
-
async function
|
|
3858
|
-
if (!
|
|
3859
|
-
let r =
|
|
3860
|
-
return
|
|
3899
|
+
async function _o(e, t, n) {
|
|
3900
|
+
if (!go(e)) return e;
|
|
3901
|
+
let r = ho(e, n);
|
|
3902
|
+
return po(r).reduce((e, r) => e.then((e) => mo(e, r, t, n)), Promise.resolve(r));
|
|
3861
3903
|
}
|
|
3862
3904
|
//#endregion
|
|
3863
3905
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-images.js
|
|
3864
|
-
async function
|
|
3906
|
+
async function vo(e, t, n) {
|
|
3865
3907
|
let r = t.style?.getPropertyValue(e);
|
|
3866
3908
|
if (r) {
|
|
3867
|
-
let i = await
|
|
3909
|
+
let i = await _o(r, null, n);
|
|
3868
3910
|
return t.style.setProperty(e, i, t.style.getPropertyPriority(e)), !0;
|
|
3869
3911
|
}
|
|
3870
3912
|
return !1;
|
|
3871
3913
|
}
|
|
3872
|
-
async function
|
|
3873
|
-
await
|
|
3914
|
+
async function yo(e, t) {
|
|
3915
|
+
await vo("background", e, t) || await vo("background-image", e, t), await vo("mask", e, t) || await vo("-webkit-mask", e, t) || await vo("mask-image", e, t) || await vo("-webkit-mask-image", e, t);
|
|
3874
3916
|
}
|
|
3875
|
-
async function
|
|
3917
|
+
async function bo(e, t) {
|
|
3876
3918
|
let n = X(e, HTMLImageElement);
|
|
3877
|
-
if (!(n && !
|
|
3878
|
-
let r = n ? e.src : e.href.baseVal, i = await
|
|
3919
|
+
if (!(n && !Ua(e.src)) && !(X(e, SVGImageElement) && !Ua(e.href.baseVal))) return;
|
|
3920
|
+
let r = n ? e.src : e.href.baseVal, i = await Ja(r, Va(r), t);
|
|
3879
3921
|
await new Promise((r, a) => {
|
|
3880
3922
|
e.onload = r, e.onerror = t.onImageErrorHandler ? (...e) => {
|
|
3881
3923
|
try {
|
|
@@ -3888,16 +3930,16 @@ async function lo(e, t) {
|
|
|
3888
3930
|
o.decode &&= r, o.loading === "lazy" && (o.loading = "eager"), n ? (e.srcset = "", e.src = i) : e.href.baseVal = i;
|
|
3889
3931
|
});
|
|
3890
3932
|
}
|
|
3891
|
-
async function
|
|
3892
|
-
let n =
|
|
3933
|
+
async function xo(e, t) {
|
|
3934
|
+
let n = ba(e.childNodes).map((e) => So(e, t));
|
|
3893
3935
|
await Promise.all(n).then(() => e);
|
|
3894
3936
|
}
|
|
3895
|
-
async function
|
|
3896
|
-
X(e, Element) && (await
|
|
3937
|
+
async function So(e, t) {
|
|
3938
|
+
X(e, Element) && (await yo(e, t), await bo(e, t), await xo(e, t));
|
|
3897
3939
|
}
|
|
3898
3940
|
//#endregion
|
|
3899
3941
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/apply-style.js
|
|
3900
|
-
function
|
|
3942
|
+
function Co(e, t) {
|
|
3901
3943
|
let { style: n } = e;
|
|
3902
3944
|
t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.width && (n.width = `${t.width}px`), t.height && (n.height = `${t.height}px`);
|
|
3903
3945
|
let r = t.style;
|
|
@@ -3907,22 +3949,22 @@ function po(e, t) {
|
|
|
3907
3949
|
}
|
|
3908
3950
|
//#endregion
|
|
3909
3951
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-webfonts.js
|
|
3910
|
-
var
|
|
3911
|
-
async function
|
|
3912
|
-
let t =
|
|
3952
|
+
var wo = {};
|
|
3953
|
+
async function To(e) {
|
|
3954
|
+
let t = wo[e];
|
|
3913
3955
|
return t ?? (t = {
|
|
3914
3956
|
url: e,
|
|
3915
3957
|
cssText: await (await fetch(e)).text()
|
|
3916
|
-
},
|
|
3958
|
+
}, wo[e] = t, t);
|
|
3917
3959
|
}
|
|
3918
|
-
async function
|
|
3960
|
+
async function Eo(e, t) {
|
|
3919
3961
|
let n = e.cssText, r = /url\(["']?([^"')]+)["']?\)/g, i = (n.match(/url\([^)]+\)/g) || []).map(async (i) => {
|
|
3920
3962
|
let a = i.replace(r, "$1");
|
|
3921
|
-
return a.startsWith("https://") || (a = new URL(a, e.url).href),
|
|
3963
|
+
return a.startsWith("https://") || (a = new URL(a, e.url).href), Ga(a, t.fetchRequestInit, ({ result: e }) => (n = n.replace(i, `url(${e})`), [i, e]));
|
|
3922
3964
|
});
|
|
3923
3965
|
return Promise.all(i).then(() => n);
|
|
3924
3966
|
}
|
|
3925
|
-
function
|
|
3967
|
+
function Do(e) {
|
|
3926
3968
|
if (e == null) return [];
|
|
3927
3969
|
let t = [], n = e.replace(/(\/\*[\s\S]*?\*\/)/gi, ""), r = /* @__PURE__ */ RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})", "gi");
|
|
3928
3970
|
for (;;) {
|
|
@@ -3942,13 +3984,13 @@ function _o(e) {
|
|
|
3942
3984
|
}
|
|
3943
3985
|
return t;
|
|
3944
3986
|
}
|
|
3945
|
-
async function
|
|
3987
|
+
async function Oo(e, t) {
|
|
3946
3988
|
let n = [], r = [];
|
|
3947
3989
|
return e.forEach((n) => {
|
|
3948
3990
|
if ("cssRules" in n) try {
|
|
3949
|
-
|
|
3991
|
+
ba(n.cssRules || []).forEach((e, i) => {
|
|
3950
3992
|
if (e.type === CSSRule.IMPORT_RULE) {
|
|
3951
|
-
let a = i + 1, o = e.href, s =
|
|
3993
|
+
let a = i + 1, o = e.href, s = To(o).then((e) => Eo(e, t)).then((e) => Do(e).forEach((e) => {
|
|
3952
3994
|
try {
|
|
3953
3995
|
n.insertRule(e, e.startsWith("@import") ? a += 1 : n.cssRules.length);
|
|
3954
3996
|
} catch (t) {
|
|
@@ -3965,7 +4007,7 @@ async function vo(e, t) {
|
|
|
3965
4007
|
});
|
|
3966
4008
|
} catch (i) {
|
|
3967
4009
|
let a = e.find((e) => e.href == null) || document.styleSheets[0];
|
|
3968
|
-
n.href != null && r.push(
|
|
4010
|
+
n.href != null && r.push(To(n.href).then((e) => Eo(e, t)).then((e) => Do(e).forEach((e) => {
|
|
3969
4011
|
a.insertRule(e, a.cssRules.length);
|
|
3970
4012
|
})).catch((e) => {
|
|
3971
4013
|
console.error("Error loading remote stylesheet", e);
|
|
@@ -3973,7 +4015,7 @@ async function vo(e, t) {
|
|
|
3973
4015
|
}
|
|
3974
4016
|
}), Promise.all(r).then(() => (e.forEach((e) => {
|
|
3975
4017
|
if ("cssRules" in e) try {
|
|
3976
|
-
|
|
4018
|
+
ba(e.cssRules || []).forEach((e) => {
|
|
3977
4019
|
n.push(e);
|
|
3978
4020
|
});
|
|
3979
4021
|
} catch (t) {
|
|
@@ -3981,36 +4023,36 @@ async function vo(e, t) {
|
|
|
3981
4023
|
}
|
|
3982
4024
|
}), n));
|
|
3983
4025
|
}
|
|
3984
|
-
function
|
|
3985
|
-
return e.filter((e) => e.type === CSSRule.FONT_FACE_RULE).filter((e) =>
|
|
4026
|
+
function ko(e) {
|
|
4027
|
+
return e.filter((e) => e.type === CSSRule.FONT_FACE_RULE).filter((e) => go(e.style.getPropertyValue("src")));
|
|
3986
4028
|
}
|
|
3987
|
-
async function
|
|
4029
|
+
async function Ao(e, t) {
|
|
3988
4030
|
if (e.ownerDocument == null) throw Error("Provided element is not within a Document");
|
|
3989
|
-
return
|
|
4031
|
+
return ko(await Oo(ba(e.ownerDocument.styleSheets), t));
|
|
3990
4032
|
}
|
|
3991
|
-
function
|
|
4033
|
+
function jo(e) {
|
|
3992
4034
|
return e.trim().replace(/["']/g, "");
|
|
3993
4035
|
}
|
|
3994
|
-
function
|
|
4036
|
+
function Mo(e) {
|
|
3995
4037
|
let t = /* @__PURE__ */ new Set();
|
|
3996
4038
|
function n(e) {
|
|
3997
4039
|
(e.style.fontFamily || getComputedStyle(e).fontFamily).split(",").forEach((e) => {
|
|
3998
|
-
t.add(
|
|
4040
|
+
t.add(jo(e));
|
|
3999
4041
|
}), Array.from(e.children).forEach((e) => {
|
|
4000
4042
|
e instanceof HTMLElement && n(e);
|
|
4001
4043
|
});
|
|
4002
4044
|
}
|
|
4003
4045
|
return n(e), t;
|
|
4004
4046
|
}
|
|
4005
|
-
async function
|
|
4006
|
-
let n = await
|
|
4007
|
-
return (await Promise.all(n.filter((e) => r.has(
|
|
4047
|
+
async function No(e, t) {
|
|
4048
|
+
let n = await Ao(e, t), r = Mo(e);
|
|
4049
|
+
return (await Promise.all(n.filter((e) => r.has(jo(e.style.fontFamily))).map((e) => {
|
|
4008
4050
|
let n = e.parentStyleSheet ? e.parentStyleSheet.href : null;
|
|
4009
|
-
return
|
|
4051
|
+
return _o(e.cssText, n, t);
|
|
4010
4052
|
}))).join("\n");
|
|
4011
4053
|
}
|
|
4012
|
-
async function
|
|
4013
|
-
let n = t.fontEmbedCSS == null ? t.skipFonts ? null : await
|
|
4054
|
+
async function Po(e, t) {
|
|
4055
|
+
let n = t.fontEmbedCSS == null ? t.skipFonts ? null : await No(e, t) : t.fontEmbedCSS;
|
|
4014
4056
|
if (n) {
|
|
4015
4057
|
let t = document.createElement("style"), r = document.createTextNode(n);
|
|
4016
4058
|
t.appendChild(r), e.firstChild ? e.insertBefore(t, e.firstChild) : e.appendChild(t);
|
|
@@ -4018,17 +4060,104 @@ async function wo(e, t) {
|
|
|
4018
4060
|
}
|
|
4019
4061
|
//#endregion
|
|
4020
4062
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/index.js
|
|
4021
|
-
async function
|
|
4022
|
-
let { width: n, height: r } =
|
|
4023
|
-
return await
|
|
4063
|
+
async function Fo(e, t = {}) {
|
|
4064
|
+
let { width: n, height: r } = Ea(e, t), i = await so(e, t, !0);
|
|
4065
|
+
return await Po(i, t), await So(i, t), Co(i, t), await ja(i, n, r);
|
|
4066
|
+
}
|
|
4067
|
+
async function Io(e, t = {}) {
|
|
4068
|
+
let { width: n, height: r } = Ea(e, t), i = await ka(await Fo(e, t)), a = document.createElement("canvas"), o = a.getContext("2d"), s = t.pixelRatio || Da(), c = t.canvasWidth || n, l = t.canvasHeight || r;
|
|
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
|
+
}
|
|
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;
|
|
4024
4090
|
}
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
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
|
+
};
|
|
4028
4157
|
}
|
|
4029
4158
|
//#endregion
|
|
4030
4159
|
//#region src/runtime/screenshot.ts
|
|
4031
|
-
var
|
|
4160
|
+
var Ko = 2097152, qo = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", Jo = [
|
|
4032
4161
|
{
|
|
4033
4162
|
quality: .85,
|
|
4034
4163
|
scale: 1
|
|
@@ -4045,8 +4174,8 @@ var Do = 2097152, Oo = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAA
|
|
|
4045
4174
|
quality: .6,
|
|
4046
4175
|
scale: .5
|
|
4047
4176
|
}
|
|
4048
|
-
],
|
|
4049
|
-
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) {
|
|
4050
4179
|
let t = e.parentElement;
|
|
4051
4180
|
for (; t;) {
|
|
4052
4181
|
if (t.hasAttribute("data-markup-safe")) return !0;
|
|
@@ -4054,37 +4183,37 @@ function Mo(e) {
|
|
|
4054
4183
|
}
|
|
4055
4184
|
return !1;
|
|
4056
4185
|
}
|
|
4057
|
-
function
|
|
4186
|
+
function Qo(e) {
|
|
4058
4187
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
4059
4188
|
function r(e) {
|
|
4060
4189
|
t.has(e) || (t.add(e), n.push(e));
|
|
4061
4190
|
}
|
|
4062
4191
|
for (let e of document.querySelectorAll("[data-markup-private],[data-markup-redact]")) r(e);
|
|
4063
|
-
for (let e of document.querySelectorAll(
|
|
4192
|
+
for (let e of document.querySelectorAll(Xo)) Zo(e) || r(e);
|
|
4064
4193
|
if (e.redactSelector) try {
|
|
4065
|
-
for (let t of document.querySelectorAll(e.redactSelector))
|
|
4194
|
+
for (let t of document.querySelectorAll(e.redactSelector)) Zo(t) || r(t);
|
|
4066
4195
|
} catch (e) {
|
|
4067
4196
|
F(e, { context: "screenshot-redact-selector" });
|
|
4068
4197
|
}
|
|
4069
|
-
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);
|
|
4070
4199
|
return n;
|
|
4071
4200
|
}
|
|
4072
|
-
function
|
|
4201
|
+
function $o(e) {
|
|
4073
4202
|
let t = e.getAttribute("style");
|
|
4074
|
-
return e.setAttribute("style", t ? `${t};${
|
|
4203
|
+
return e.setAttribute("style", t ? `${t};${Yo}` : Yo), () => {
|
|
4075
4204
|
t === null ? e.removeAttribute("style") : e.setAttribute("style", t);
|
|
4076
4205
|
};
|
|
4077
4206
|
}
|
|
4078
|
-
function
|
|
4207
|
+
function es(e) {
|
|
4079
4208
|
if (e.id) return `#${CSS.escape(e.id)}`;
|
|
4080
4209
|
let t = e.tagName.toLowerCase(), n = e.getAttribute("type"), r = e.getAttribute("name");
|
|
4081
4210
|
return n && r ? `${t}[type="${n}"][name="${r}"]` : n ? `${t}[type="${n}"]` : r ? `${t}[name="${r}"]` : t;
|
|
4082
4211
|
}
|
|
4083
|
-
async function
|
|
4212
|
+
async function ts(e, t, n) {
|
|
4084
4213
|
try {
|
|
4085
|
-
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;
|
|
4086
4215
|
try {
|
|
4087
|
-
|
|
4216
|
+
u = await Io(document.documentElement, {
|
|
4088
4217
|
width: r,
|
|
4089
4218
|
height: i,
|
|
4090
4219
|
cacheBust: !0,
|
|
@@ -4093,7 +4222,7 @@ async function Io(e, t, n) {
|
|
|
4093
4222
|
filter(t) {
|
|
4094
4223
|
return !(e && (t === e || e.contains(t)) || t instanceof Element && t.hasAttribute("data-markup-skip"));
|
|
4095
4224
|
},
|
|
4096
|
-
imagePlaceholder:
|
|
4225
|
+
imagePlaceholder: qo,
|
|
4097
4226
|
onImageErrorHandler: () => {},
|
|
4098
4227
|
style: {
|
|
4099
4228
|
transform: `translateY(-${window.scrollY}px)`,
|
|
@@ -4101,45 +4230,46 @@ async function Io(e, t, n) {
|
|
|
4101
4230
|
}
|
|
4102
4231
|
});
|
|
4103
4232
|
} finally {
|
|
4104
|
-
for (let e of
|
|
4233
|
+
for (let e of l) e();
|
|
4234
|
+
o();
|
|
4105
4235
|
}
|
|
4106
4236
|
if (t) {
|
|
4107
|
-
let e =
|
|
4108
|
-
e &&
|
|
4237
|
+
let e = u.getContext("2d");
|
|
4238
|
+
e && as(e, t.x, t.y, a);
|
|
4109
4239
|
}
|
|
4110
|
-
let
|
|
4111
|
-
return
|
|
4112
|
-
blob:
|
|
4113
|
-
redactedCount:
|
|
4114
|
-
redactedSelectors:
|
|
4240
|
+
let d = await is(u);
|
|
4241
|
+
return d ? {
|
|
4242
|
+
blob: d,
|
|
4243
|
+
redactedCount: c.length,
|
|
4244
|
+
redactedSelectors: c
|
|
4115
4245
|
} : null;
|
|
4116
4246
|
} catch (e) {
|
|
4117
4247
|
return F(e, { context: "screenshot-capture" }), null;
|
|
4118
4248
|
}
|
|
4119
4249
|
}
|
|
4120
|
-
function
|
|
4250
|
+
function ns(e, t) {
|
|
4121
4251
|
return new Promise((n) => e.toBlob(n, "image/jpeg", t));
|
|
4122
4252
|
}
|
|
4123
|
-
function
|
|
4253
|
+
function rs(e, t) {
|
|
4124
4254
|
let n = document.createElement("canvas");
|
|
4125
4255
|
n.width = Math.max(1, Math.round(e.width * t)), n.height = Math.max(1, Math.round(e.height * t));
|
|
4126
4256
|
let r = n.getContext("2d");
|
|
4127
4257
|
return r ? (r.imageSmoothingQuality = "high", r.drawImage(e, 0, 0, n.width, n.height), n) : null;
|
|
4128
4258
|
}
|
|
4129
|
-
async function
|
|
4259
|
+
async function is(e) {
|
|
4130
4260
|
let t = null;
|
|
4131
|
-
for (let { quality: n, scale: r } of
|
|
4132
|
-
let i = r === 1 ? e :
|
|
4261
|
+
for (let { quality: n, scale: r } of Jo) {
|
|
4262
|
+
let i = r === 1 ? e : rs(e, r);
|
|
4133
4263
|
if (!i) continue;
|
|
4134
|
-
let a = await
|
|
4264
|
+
let a = await ns(i, n);
|
|
4135
4265
|
if (a) {
|
|
4136
|
-
if (a.size <=
|
|
4266
|
+
if (a.size <= Ko) return a;
|
|
4137
4267
|
t = t == null ? a.size : Math.min(t, a.size);
|
|
4138
4268
|
}
|
|
4139
4269
|
}
|
|
4140
|
-
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;
|
|
4141
4271
|
}
|
|
4142
|
-
function
|
|
4272
|
+
function as(e, t, n, r) {
|
|
4143
4273
|
let i = r, a = 28 * i, o = a / 2, s = t * i, c = n * i;
|
|
4144
4274
|
e.save();
|
|
4145
4275
|
let l = 2 * i;
|
|
@@ -4157,7 +4287,7 @@ function Bo(e, t, n, r) {
|
|
|
4157
4287
|
}
|
|
4158
4288
|
//#endregion
|
|
4159
4289
|
//#region src/runtime/use-subscription-token.ts
|
|
4160
|
-
var
|
|
4290
|
+
var os = Ur({
|
|
4161
4291
|
idle: { issued: (e, t) => ({
|
|
4162
4292
|
kind: "active",
|
|
4163
4293
|
token: t.token,
|
|
@@ -4168,9 +4298,9 @@ var Vo = Ur({
|
|
|
4168
4298
|
token: t.token,
|
|
4169
4299
|
expiresAt: t.expiresAt
|
|
4170
4300
|
}) }
|
|
4171
|
-
}),
|
|
4172
|
-
function
|
|
4173
|
-
let [t, n] = Wr(
|
|
4301
|
+
}), ss = 18e5, cs = 6e4, ls = 6e4;
|
|
4302
|
+
function us(e) {
|
|
4303
|
+
let [t, n] = Wr(os, { kind: "idle" });
|
|
4174
4304
|
return B(() => {
|
|
4175
4305
|
let t = !1, r = null;
|
|
4176
4306
|
async function i() {
|
|
@@ -4182,11 +4312,11 @@ function Go(e) {
|
|
|
4182
4312
|
token: a.token,
|
|
4183
4313
|
expiresAt: a.expiresAt
|
|
4184
4314
|
});
|
|
4185
|
-
let o = Math.max(
|
|
4315
|
+
let o = Math.max(cs, a.expiresAt - Date.now() - ss);
|
|
4186
4316
|
r = setTimeout(i, o);
|
|
4187
4317
|
} catch (e) {
|
|
4188
4318
|
if (t) return;
|
|
4189
|
-
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);
|
|
4190
4320
|
}
|
|
4191
4321
|
}
|
|
4192
4322
|
return i(), () => {
|
|
@@ -4196,7 +4326,7 @@ function Go(e) {
|
|
|
4196
4326
|
}
|
|
4197
4327
|
//#endregion
|
|
4198
4328
|
//#region src/runtime/refresh-token.ts
|
|
4199
|
-
async function
|
|
4329
|
+
async function ds(e) {
|
|
4200
4330
|
try {
|
|
4201
4331
|
let t = {
|
|
4202
4332
|
method: "POST",
|
|
@@ -4232,8 +4362,8 @@ async function Ko(e) {
|
|
|
4232
4362
|
}
|
|
4233
4363
|
//#endregion
|
|
4234
4364
|
//#region src/runtime/use-token-refresh.ts
|
|
4235
|
-
var
|
|
4236
|
-
function
|
|
4365
|
+
var fs = 6e4, ps = 500;
|
|
4366
|
+
function ms(e, t, n, r, i) {
|
|
4237
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;
|
|
4238
4368
|
B(() => {
|
|
4239
4369
|
if (!a || c == null || l == null || o === "localStorage" && s == null || o !== "cookies" && o !== "localStorage") return;
|
|
@@ -4242,8 +4372,8 @@ function Yo(e, t, n, r, i) {
|
|
|
4242
4372
|
i();
|
|
4243
4373
|
return;
|
|
4244
4374
|
}
|
|
4245
|
-
let d = Math.max(
|
|
4246
|
-
let a = await
|
|
4375
|
+
let d = Math.max(ps, l - fs - u), f = new AbortController(), p = window.setTimeout(async () => {
|
|
4376
|
+
let a = await ds({
|
|
4247
4377
|
apiUrl: t,
|
|
4248
4378
|
apiKey: n,
|
|
4249
4379
|
mode: o,
|
|
@@ -4286,7 +4416,7 @@ function Yo(e, t, n, r, i) {
|
|
|
4286
4416
|
function Z(...e) {
|
|
4287
4417
|
return e.filter(Boolean).join(" ");
|
|
4288
4418
|
}
|
|
4289
|
-
function
|
|
4419
|
+
function hs() {
|
|
4290
4420
|
return typeof navigator < "u" && /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent) ? {
|
|
4291
4421
|
mod: "⌘",
|
|
4292
4422
|
enter: "↵"
|
|
@@ -4297,7 +4427,7 @@ function Xo() {
|
|
|
4297
4427
|
}
|
|
4298
4428
|
//#endregion
|
|
4299
4429
|
//#region ../../node_modules/.pnpm/preact@10.29.7/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
|
|
4300
|
-
var
|
|
4430
|
+
var gs = 0;
|
|
4301
4431
|
Array.isArray;
|
|
4302
4432
|
function Q(e, n, r, i, a, o) {
|
|
4303
4433
|
n ||= {};
|
|
@@ -4314,7 +4444,7 @@ function Q(e, n, r, i, a, o) {
|
|
|
4314
4444
|
__e: null,
|
|
4315
4445
|
__c: null,
|
|
4316
4446
|
constructor: void 0,
|
|
4317
|
-
__v: --
|
|
4447
|
+
__v: --gs,
|
|
4318
4448
|
__i: -1,
|
|
4319
4449
|
__u: 0,
|
|
4320
4450
|
__source: a,
|
|
@@ -4325,7 +4455,7 @@ function Q(e, n, r, i, a, o) {
|
|
|
4325
4455
|
}
|
|
4326
4456
|
//#endregion
|
|
4327
4457
|
//#region src/runtime/ui/icons.tsx
|
|
4328
|
-
function
|
|
4458
|
+
function _s({ size: e = 16 }) {
|
|
4329
4459
|
return /* @__PURE__ */ Q("svg", {
|
|
4330
4460
|
width: e,
|
|
4331
4461
|
height: e,
|
|
@@ -4335,7 +4465,7 @@ function Qo({ size: e = 16 }) {
|
|
|
4335
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" })
|
|
4336
4466
|
});
|
|
4337
4467
|
}
|
|
4338
|
-
function
|
|
4468
|
+
function vs({ size: e = 16 }) {
|
|
4339
4469
|
return /* @__PURE__ */ Q("svg", {
|
|
4340
4470
|
width: e,
|
|
4341
4471
|
height: e,
|
|
@@ -4344,7 +4474,7 @@ function $o({ size: e = 16 }) {
|
|
|
4344
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" })
|
|
4345
4475
|
});
|
|
4346
4476
|
}
|
|
4347
|
-
function
|
|
4477
|
+
function ys({ size: e = 16 }) {
|
|
4348
4478
|
return /* @__PURE__ */ Q("svg", {
|
|
4349
4479
|
width: e,
|
|
4350
4480
|
height: e,
|
|
@@ -4354,7 +4484,7 @@ function es({ size: e = 16 }) {
|
|
|
4354
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" })
|
|
4355
4485
|
});
|
|
4356
4486
|
}
|
|
4357
|
-
function
|
|
4487
|
+
function bs({ size: e = 16 }) {
|
|
4358
4488
|
return /* @__PURE__ */ Q("svg", {
|
|
4359
4489
|
width: e,
|
|
4360
4490
|
height: e,
|
|
@@ -4363,7 +4493,7 @@ function ts({ size: e = 16 }) {
|
|
|
4363
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" })
|
|
4364
4494
|
});
|
|
4365
4495
|
}
|
|
4366
|
-
function
|
|
4496
|
+
function xs({ size: e = 16 }) {
|
|
4367
4497
|
return /* @__PURE__ */ Q("svg", {
|
|
4368
4498
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4369
4499
|
width: e,
|
|
@@ -4373,7 +4503,7 @@ function ns({ size: e = 16 }) {
|
|
|
4373
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" })
|
|
4374
4504
|
});
|
|
4375
4505
|
}
|
|
4376
|
-
function
|
|
4506
|
+
function Ss({ size: e = 16 }) {
|
|
4377
4507
|
return /* @__PURE__ */ Q("svg", {
|
|
4378
4508
|
width: e,
|
|
4379
4509
|
height: e,
|
|
@@ -4387,7 +4517,7 @@ function rs({ size: e = 16 }) {
|
|
|
4387
4517
|
})
|
|
4388
4518
|
});
|
|
4389
4519
|
}
|
|
4390
|
-
function
|
|
4520
|
+
function Cs({ size: e = 16 }) {
|
|
4391
4521
|
return /* @__PURE__ */ Q("svg", {
|
|
4392
4522
|
width: e,
|
|
4393
4523
|
height: e,
|
|
@@ -4396,7 +4526,7 @@ function is({ size: e = 16 }) {
|
|
|
4396
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" })
|
|
4397
4527
|
});
|
|
4398
4528
|
}
|
|
4399
|
-
function
|
|
4529
|
+
function ws({ size: e = 16 }) {
|
|
4400
4530
|
return /* @__PURE__ */ Q("svg", {
|
|
4401
4531
|
width: e,
|
|
4402
4532
|
height: e,
|
|
@@ -4420,19 +4550,19 @@ function $({ size: e = 16, children: t }) {
|
|
|
4420
4550
|
children: t
|
|
4421
4551
|
});
|
|
4422
4552
|
}
|
|
4423
|
-
function
|
|
4553
|
+
function Ts({ size: e = 16 }) {
|
|
4424
4554
|
return /* @__PURE__ */ Q($, {
|
|
4425
4555
|
size: e,
|
|
4426
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" })
|
|
4427
4557
|
});
|
|
4428
4558
|
}
|
|
4429
|
-
function
|
|
4559
|
+
function Es({ size: e = 16 }) {
|
|
4430
4560
|
return /* @__PURE__ */ Q($, {
|
|
4431
4561
|
size: e,
|
|
4432
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" })]
|
|
4433
4563
|
});
|
|
4434
4564
|
}
|
|
4435
|
-
function
|
|
4565
|
+
function Ds({ size: e = 16 }) {
|
|
4436
4566
|
return /* @__PURE__ */ Q($, {
|
|
4437
4567
|
size: e,
|
|
4438
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", {
|
|
@@ -4442,7 +4572,7 @@ function cs({ size: e = 16 }) {
|
|
|
4442
4572
|
})]
|
|
4443
4573
|
});
|
|
4444
4574
|
}
|
|
4445
|
-
function
|
|
4575
|
+
function Os({ size: e = 16 }) {
|
|
4446
4576
|
return /* @__PURE__ */ Q($, {
|
|
4447
4577
|
size: e,
|
|
4448
4578
|
children: [
|
|
@@ -4453,13 +4583,13 @@ function ls({ size: e = 16 }) {
|
|
|
4453
4583
|
]
|
|
4454
4584
|
});
|
|
4455
4585
|
}
|
|
4456
|
-
function
|
|
4586
|
+
function ks({ size: e = 16 }) {
|
|
4457
4587
|
return /* @__PURE__ */ Q($, {
|
|
4458
4588
|
size: e,
|
|
4459
4589
|
children: /* @__PURE__ */ Q("path", { d: "M3 6h18M3 12h18M3 18h18" })
|
|
4460
4590
|
});
|
|
4461
4591
|
}
|
|
4462
|
-
function
|
|
4592
|
+
function As({ size: e = 16 }) {
|
|
4463
4593
|
return /* @__PURE__ */ Q($, {
|
|
4464
4594
|
size: e,
|
|
4465
4595
|
children: [/* @__PURE__ */ Q("circle", {
|
|
@@ -4469,13 +4599,13 @@ function ds({ size: e = 16 }) {
|
|
|
4469
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" })]
|
|
4470
4600
|
});
|
|
4471
4601
|
}
|
|
4472
|
-
function
|
|
4602
|
+
function js({ size: e = 16 }) {
|
|
4473
4603
|
return /* @__PURE__ */ Q($, {
|
|
4474
4604
|
size: e,
|
|
4475
4605
|
children: /* @__PURE__ */ Q("path", { d: "M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" })
|
|
4476
4606
|
});
|
|
4477
4607
|
}
|
|
4478
|
-
function
|
|
4608
|
+
function Ms({ size: e = 16 }) {
|
|
4479
4609
|
return /* @__PURE__ */ Q($, {
|
|
4480
4610
|
size: e,
|
|
4481
4611
|
children: [/* @__PURE__ */ Q("rect", {
|
|
@@ -4487,13 +4617,13 @@ function ps({ size: e = 16 }) {
|
|
|
4487
4617
|
}), /* @__PURE__ */ Q("path", { d: "M8 21h8M12 17v4" })]
|
|
4488
4618
|
});
|
|
4489
4619
|
}
|
|
4490
|
-
function
|
|
4620
|
+
function Ns({ size: e = 16 }) {
|
|
4491
4621
|
return /* @__PURE__ */ Q($, {
|
|
4492
4622
|
size: e,
|
|
4493
4623
|
children: /* @__PURE__ */ Q("path", { d: "M12 22s8-3.5 8-10V5l-8-3-8 3v7c0 6.5 8 10 8 10z" })
|
|
4494
4624
|
});
|
|
4495
4625
|
}
|
|
4496
|
-
function
|
|
4626
|
+
function Ps({ size: e = 16 }) {
|
|
4497
4627
|
return /* @__PURE__ */ Q($, {
|
|
4498
4628
|
size: e,
|
|
4499
4629
|
children: [/* @__PURE__ */ Q("rect", {
|
|
@@ -4505,19 +4635,19 @@ function hs({ size: e = 16 }) {
|
|
|
4505
4635
|
}), /* @__PURE__ */ Q("path", { d: "M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M10 14h4" })]
|
|
4506
4636
|
});
|
|
4507
4637
|
}
|
|
4508
|
-
function
|
|
4638
|
+
function Fs({ size: e = 16 }) {
|
|
4509
4639
|
return /* @__PURE__ */ Q($, {
|
|
4510
4640
|
size: e,
|
|
4511
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" })]
|
|
4512
4642
|
});
|
|
4513
4643
|
}
|
|
4514
|
-
function
|
|
4644
|
+
function Is({ size: e = 16 }) {
|
|
4515
4645
|
return /* @__PURE__ */ Q($, {
|
|
4516
4646
|
size: e,
|
|
4517
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" })]
|
|
4518
4648
|
});
|
|
4519
4649
|
}
|
|
4520
|
-
function
|
|
4650
|
+
function Ls({ size: e = 16 }) {
|
|
4521
4651
|
return /* @__PURE__ */ Q($, {
|
|
4522
4652
|
size: e,
|
|
4523
4653
|
children: [/* @__PURE__ */ Q("circle", {
|
|
@@ -4527,7 +4657,7 @@ function vs({ size: e = 16 }) {
|
|
|
4527
4657
|
}), /* @__PURE__ */ Q("path", { d: "M4 21a8 8 0 0 1 16 0" })]
|
|
4528
4658
|
});
|
|
4529
4659
|
}
|
|
4530
|
-
function
|
|
4660
|
+
function Rs({ size: e = 16 }) {
|
|
4531
4661
|
return /* @__PURE__ */ Q($, {
|
|
4532
4662
|
size: e,
|
|
4533
4663
|
children: [
|
|
@@ -4546,7 +4676,7 @@ function ys({ size: e = 16 }) {
|
|
|
4546
4676
|
]
|
|
4547
4677
|
});
|
|
4548
4678
|
}
|
|
4549
|
-
function
|
|
4679
|
+
function zs({ size: e = 16 }) {
|
|
4550
4680
|
return /* @__PURE__ */ Q($, {
|
|
4551
4681
|
size: e,
|
|
4552
4682
|
children: [
|
|
@@ -4558,7 +4688,7 @@ function bs({ size: e = 16 }) {
|
|
|
4558
4688
|
}
|
|
4559
4689
|
//#endregion
|
|
4560
4690
|
//#region src/runtime/ui/identity-menu.tsx
|
|
4561
|
-
function
|
|
4691
|
+
function Bs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboardUrl: i, commentAccess: a = "anyone", onSignIn: o, onSignOut: s, onForgetMe: c }) {
|
|
4562
4692
|
let [l, u] = z(!1), [d, f] = z(!1), [p, m] = z(!1), h = V(null);
|
|
4563
4693
|
B(() => {
|
|
4564
4694
|
if (!l) return;
|
|
@@ -4575,7 +4705,7 @@ function xs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4575
4705
|
}, [l]), B(() => {
|
|
4576
4706
|
l || (f(!1), m(!1));
|
|
4577
4707
|
}, [l]);
|
|
4578
|
-
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";
|
|
4579
4709
|
return /* @__PURE__ */ Q("div", {
|
|
4580
4710
|
ref: h,
|
|
4581
4711
|
style: {
|
|
@@ -4608,7 +4738,7 @@ function xs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4608
4738
|
}) : v && _ ? /* @__PURE__ */ Q("span", {
|
|
4609
4739
|
class: "markup-avatar-initials",
|
|
4610
4740
|
children: _
|
|
4611
|
-
}) : /* @__PURE__ */ Q(
|
|
4741
|
+
}) : /* @__PURE__ */ Q(Ls, { size: 14 })
|
|
4612
4742
|
}), v && g ? /* @__PURE__ */ Q("span", {
|
|
4613
4743
|
class: "markup-sr-only",
|
|
4614
4744
|
children: g
|
|
@@ -4637,7 +4767,7 @@ function xs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4637
4767
|
onClick: () => u(!1),
|
|
4638
4768
|
children: [/* @__PURE__ */ Q("span", {
|
|
4639
4769
|
class: "ic",
|
|
4640
|
-
children: /* @__PURE__ */ Q(
|
|
4770
|
+
children: /* @__PURE__ */ Q(zs, { size: 16 })
|
|
4641
4771
|
}), /* @__PURE__ */ Q("span", {
|
|
4642
4772
|
class: "lbl",
|
|
4643
4773
|
children: "Account"
|
|
@@ -4653,7 +4783,7 @@ function xs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4653
4783
|
},
|
|
4654
4784
|
children: [/* @__PURE__ */ Q("span", {
|
|
4655
4785
|
class: "ic",
|
|
4656
|
-
children: /* @__PURE__ */ Q(
|
|
4786
|
+
children: /* @__PURE__ */ Q(Is, { size: 16 })
|
|
4657
4787
|
}), /* @__PURE__ */ Q("span", {
|
|
4658
4788
|
class: "lbl",
|
|
4659
4789
|
children: r ? "Signing out…" : p ? "Confirm: sign out of this site" : "Sign out"
|
|
@@ -4676,7 +4806,7 @@ function xs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4676
4806
|
onClick: () => {
|
|
4677
4807
|
u(!1), o();
|
|
4678
4808
|
},
|
|
4679
|
-
children: [/* @__PURE__ */ Q(
|
|
4809
|
+
children: [/* @__PURE__ */ Q(Fs, { size: 14 }), /* @__PURE__ */ Q("span", { children: n ? "Signing in…" : "Sign in" })]
|
|
4680
4810
|
}),
|
|
4681
4811
|
/* @__PURE__ */ Q("button", {
|
|
4682
4812
|
type: "button",
|
|
@@ -4695,12 +4825,12 @@ function xs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4695
4825
|
}) : null]
|
|
4696
4826
|
});
|
|
4697
4827
|
}
|
|
4698
|
-
function
|
|
4828
|
+
function Vs(e) {
|
|
4699
4829
|
return e && e.trim().split(/\s+/).slice(0, 2).map((e) => e[0]?.toUpperCase() ?? "").join("") || null;
|
|
4700
4830
|
}
|
|
4701
4831
|
//#endregion
|
|
4702
4832
|
//#region src/runtime/use-drag.ts
|
|
4703
|
-
function
|
|
4833
|
+
function Hs(e) {
|
|
4704
4834
|
let t = V(e);
|
|
4705
4835
|
t.current = e;
|
|
4706
4836
|
let [n, r] = z(!1);
|
|
@@ -4728,8 +4858,8 @@ function Cs(e) {
|
|
|
4728
4858
|
h = !0, r(!0), t.current.onStart?.();
|
|
4729
4859
|
}
|
|
4730
4860
|
let a = Math.max(p, window.innerWidth - u - p), _ = Math.max(p, window.innerHeight - d - p), v = {
|
|
4731
|
-
left:
|
|
4732
|
-
top:
|
|
4861
|
+
left: Us(c + n, p, a),
|
|
4862
|
+
top: Us(l + i, p, _)
|
|
4733
4863
|
};
|
|
4734
4864
|
g = v, t.current.onMove(v);
|
|
4735
4865
|
}
|
|
@@ -4744,12 +4874,12 @@ function Cs(e) {
|
|
|
4744
4874
|
isDragging: n
|
|
4745
4875
|
};
|
|
4746
4876
|
}
|
|
4747
|
-
function
|
|
4877
|
+
function Us(e, t, n) {
|
|
4748
4878
|
return Math.max(t, Math.min(n, e));
|
|
4749
4879
|
}
|
|
4750
4880
|
//#endregion
|
|
4751
4881
|
//#region src/runtime/use-focus-trap.ts
|
|
4752
|
-
var
|
|
4882
|
+
var Ws = [
|
|
4753
4883
|
"a[href]",
|
|
4754
4884
|
"button:not([disabled])",
|
|
4755
4885
|
"input:not([disabled])",
|
|
@@ -4757,14 +4887,14 @@ var Ts = [
|
|
|
4757
4887
|
"textarea:not([disabled])",
|
|
4758
4888
|
"[tabindex]:not([tabindex=\"-1\"])"
|
|
4759
4889
|
].join(",");
|
|
4760
|
-
function
|
|
4890
|
+
function Gs(e, t) {
|
|
4761
4891
|
B(() => {
|
|
4762
4892
|
if (!t) return;
|
|
4763
4893
|
let n = e.current;
|
|
4764
4894
|
if (!n) return;
|
|
4765
4895
|
function r(e) {
|
|
4766
4896
|
if (e.key !== "Tab") return;
|
|
4767
|
-
let t = Array.from(n.querySelectorAll(
|
|
4897
|
+
let t = Array.from(n.querySelectorAll(Ws)), r = t[0], i = t[t.length - 1];
|
|
4768
4898
|
if (!r || !i) return;
|
|
4769
4899
|
let a = n.getRootNode(), o = a instanceof ShadowRoot ? a.activeElement : document.activeElement;
|
|
4770
4900
|
(e.shiftKey ? o === r : o === i) && (e.preventDefault(), (e.shiftKey ? i : r).focus());
|
|
@@ -4774,7 +4904,7 @@ function Es(e, t) {
|
|
|
4774
4904
|
}
|
|
4775
4905
|
//#endregion
|
|
4776
4906
|
//#region src/runtime/use-object-url.ts
|
|
4777
|
-
function
|
|
4907
|
+
function Ks(e) {
|
|
4778
4908
|
let [t, n] = z(null);
|
|
4779
4909
|
return B(() => {
|
|
4780
4910
|
if (!e) {
|
|
@@ -4787,7 +4917,7 @@ function Ds(e) {
|
|
|
4787
4917
|
}
|
|
4788
4918
|
//#endregion
|
|
4789
4919
|
//#region src/runtime/ui/author-prompt.tsx
|
|
4790
|
-
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 }) {
|
|
4791
4921
|
let [c, l] = z(""), [u, d] = z(""), f = V(null);
|
|
4792
4922
|
B(() => {
|
|
4793
4923
|
f.current?.focus();
|
|
@@ -4921,27 +5051,27 @@ function Os({ mode: e = "guest-or-sign-in", isPending: t, isConnecting: n = !1,
|
|
|
4921
5051
|
}
|
|
4922
5052
|
//#endregion
|
|
4923
5053
|
//#region src/runtime/mention-input.ts
|
|
4924
|
-
var
|
|
5054
|
+
var Js = "data-markup-mention", Ys = "data-markup-mention-name", Xs = /* @__PURE__ */ new Set([
|
|
4925
5055
|
"DIV",
|
|
4926
5056
|
"P",
|
|
4927
5057
|
"LI",
|
|
4928
5058
|
"BLOCKQUOTE",
|
|
4929
5059
|
"PRE"
|
|
4930
|
-
]),
|
|
4931
|
-
function
|
|
5060
|
+
]), Zs = 3, Qs = 1;
|
|
5061
|
+
function $s(e) {
|
|
4932
5062
|
let t = "", n = (r) => {
|
|
4933
5063
|
let i = r.childNodes;
|
|
4934
5064
|
for (let a = 0; a < i.length; a++) {
|
|
4935
5065
|
let o = i[a];
|
|
4936
5066
|
if (!o) continue;
|
|
4937
|
-
if (o.nodeType ===
|
|
5067
|
+
if (o.nodeType === Zs) {
|
|
4938
5068
|
t += o.data;
|
|
4939
5069
|
continue;
|
|
4940
5070
|
}
|
|
4941
|
-
if (o.nodeType !==
|
|
4942
|
-
let s = o, c = s.getAttribute(
|
|
5071
|
+
if (o.nodeType !== Qs) continue;
|
|
5072
|
+
let s = o, c = s.getAttribute(Js);
|
|
4943
5073
|
if (c) {
|
|
4944
|
-
let e =
|
|
5074
|
+
let e = ec(s);
|
|
4945
5075
|
t += Yr({
|
|
4946
5076
|
userId: c,
|
|
4947
5077
|
name: e
|
|
@@ -4952,77 +5082,77 @@ function Ps(e) {
|
|
|
4952
5082
|
(r !== e || a !== i.length - 1) && (t += "\n");
|
|
4953
5083
|
continue;
|
|
4954
5084
|
}
|
|
4955
|
-
|
|
5085
|
+
Xs.has(s.tagName) && t !== "" && !t.endsWith("\n") && (t += "\n"), n(s);
|
|
4956
5086
|
}
|
|
4957
5087
|
};
|
|
4958
5088
|
return n(e), t;
|
|
4959
5089
|
}
|
|
4960
|
-
function
|
|
4961
|
-
return e.getAttribute(
|
|
5090
|
+
function ec(e) {
|
|
5091
|
+
return e.getAttribute(Ys) || (e.textContent ?? "").replace(/^@/, "");
|
|
4962
5092
|
}
|
|
4963
|
-
function
|
|
5093
|
+
function tc(e, t, n) {
|
|
4964
5094
|
let r = e.createElement("span");
|
|
4965
|
-
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;
|
|
4966
5096
|
}
|
|
4967
|
-
function
|
|
5097
|
+
function nc(e, t, n) {
|
|
4968
5098
|
let r = e.createDocumentFragment();
|
|
4969
5099
|
for (let i of Kr(t)) {
|
|
4970
5100
|
if (i.type === "text") {
|
|
4971
5101
|
i.value && r.appendChild(e.createTextNode(i.value));
|
|
4972
5102
|
continue;
|
|
4973
5103
|
}
|
|
4974
|
-
r.appendChild(
|
|
5104
|
+
r.appendChild(tc(e, {
|
|
4975
5105
|
userId: i.userId,
|
|
4976
5106
|
name: i.name
|
|
4977
5107
|
}, n));
|
|
4978
5108
|
}
|
|
4979
5109
|
return r;
|
|
4980
5110
|
}
|
|
4981
|
-
function
|
|
5111
|
+
function rc(e) {
|
|
4982
5112
|
let t = e.getRootNode();
|
|
4983
5113
|
return typeof t.getSelection == "function" ? t.getSelection() : e.ownerDocument.getSelection();
|
|
4984
5114
|
}
|
|
4985
|
-
function
|
|
4986
|
-
let t =
|
|
5115
|
+
function ic(e) {
|
|
5116
|
+
let t = rc(e);
|
|
4987
5117
|
if (!t || t.rangeCount === 0 || !t.isCollapsed) return null;
|
|
4988
5118
|
let n = t.focusNode;
|
|
4989
|
-
return !n || n.nodeType !==
|
|
5119
|
+
return !n || n.nodeType !== Zs || !e.contains(n) || ac(n, e) ? null : {
|
|
4990
5120
|
node: n,
|
|
4991
5121
|
offset: t.focusOffset
|
|
4992
5122
|
};
|
|
4993
5123
|
}
|
|
4994
|
-
function
|
|
5124
|
+
function ac(e, t) {
|
|
4995
5125
|
let n = e;
|
|
4996
5126
|
for (; n && n !== t;) {
|
|
4997
|
-
if (n.nodeType ===
|
|
5127
|
+
if (n.nodeType === Qs && n.hasAttribute("data-markup-mention")) return n;
|
|
4998
5128
|
n = n.parentNode;
|
|
4999
5129
|
}
|
|
5000
5130
|
return null;
|
|
5001
5131
|
}
|
|
5002
|
-
function
|
|
5003
|
-
let t =
|
|
5132
|
+
function oc(e) {
|
|
5133
|
+
let t = rc(e);
|
|
5004
5134
|
if (!t || t.rangeCount === 0 || !t.isCollapsed) return;
|
|
5005
5135
|
let n = t.focusNode;
|
|
5006
5136
|
if (!n || !e.contains(n)) return;
|
|
5007
|
-
let r =
|
|
5137
|
+
let r = ac(n, e);
|
|
5008
5138
|
if (!r) return;
|
|
5009
5139
|
let i = r.nextSibling;
|
|
5010
|
-
(!i || i.nodeType !==
|
|
5140
|
+
(!i || i.nodeType !== Zs) && (i = e.ownerDocument.createTextNode(""), r.parentNode?.insertBefore(i, r.nextSibling)), sc(e, i, 0);
|
|
5011
5141
|
}
|
|
5012
|
-
function
|
|
5013
|
-
let r =
|
|
5142
|
+
function sc(e, t, n) {
|
|
5143
|
+
let r = rc(e);
|
|
5014
5144
|
if (!r) return;
|
|
5015
5145
|
let i = e.ownerDocument.createRange();
|
|
5016
5146
|
i.setStart(t, n), i.collapse(!0), r.removeAllRanges(), r.addRange(i);
|
|
5017
5147
|
}
|
|
5018
|
-
function
|
|
5148
|
+
function cc(e) {
|
|
5019
5149
|
let t = Jr(e.node.data, e.offset);
|
|
5020
5150
|
return t ? {
|
|
5021
5151
|
...t,
|
|
5022
5152
|
textNode: e.node
|
|
5023
5153
|
} : null;
|
|
5024
5154
|
}
|
|
5025
|
-
function
|
|
5155
|
+
function lc(e, t, n, r) {
|
|
5026
5156
|
if (Yr(n) == null) return !1;
|
|
5027
5157
|
let i = t.textNode;
|
|
5028
5158
|
if (!e.contains(i)) return !1;
|
|
@@ -5030,31 +5160,31 @@ function Ws(e, t, n, r) {
|
|
|
5030
5160
|
if (!a || t.caret > i.data.length) return !1;
|
|
5031
5161
|
i.deleteData(t.at, t.caret - t.at);
|
|
5032
5162
|
let o = i.splitText(t.at);
|
|
5033
|
-
return a.insertBefore(
|
|
5163
|
+
return a.insertBefore(tc(e.ownerDocument, n, r), o), o.data.startsWith(" ") || o.insertData(0, " "), sc(e, o, 1), !0;
|
|
5034
5164
|
}
|
|
5035
|
-
function
|
|
5036
|
-
let n =
|
|
5165
|
+
function uc(e, t) {
|
|
5166
|
+
let n = rc(e);
|
|
5037
5167
|
if (!n || n.rangeCount === 0) return;
|
|
5038
5168
|
let r = n.getRangeAt(0);
|
|
5039
5169
|
if (!e.contains(r.commonAncestorContainer)) return;
|
|
5040
5170
|
r.deleteContents();
|
|
5041
5171
|
let { startContainer: i, startOffset: a } = r;
|
|
5042
|
-
if (i.nodeType ===
|
|
5172
|
+
if (i.nodeType === Zs) {
|
|
5043
5173
|
let n = i;
|
|
5044
|
-
n.insertData(a, t),
|
|
5174
|
+
n.insertData(a, t), sc(e, n, a + t.length);
|
|
5045
5175
|
return;
|
|
5046
5176
|
}
|
|
5047
5177
|
let o = e.ownerDocument.createTextNode(t);
|
|
5048
|
-
r.insertNode(o),
|
|
5178
|
+
r.insertNode(o), sc(e, o, o.data.length);
|
|
5049
5179
|
}
|
|
5050
|
-
function
|
|
5180
|
+
function dc(e, t) {
|
|
5051
5181
|
let n = e.ownerDocument, r = null, i = null, a = !0;
|
|
5052
5182
|
function o(t) {
|
|
5053
5183
|
let n = t.length === 0;
|
|
5054
5184
|
(n !== a || e.hasAttribute("data-empty") !== n) && (a = n, e.toggleAttribute("data-empty", n));
|
|
5055
5185
|
}
|
|
5056
5186
|
function s() {
|
|
5057
|
-
let n =
|
|
5187
|
+
let n = $s(e);
|
|
5058
5188
|
o(n), t.onChange(n);
|
|
5059
5189
|
}
|
|
5060
5190
|
function c(e) {
|
|
@@ -5070,7 +5200,7 @@ function Ks(e, t) {
|
|
|
5070
5200
|
c(null);
|
|
5071
5201
|
return;
|
|
5072
5202
|
}
|
|
5073
|
-
let n =
|
|
5203
|
+
let n = ic(e), r = n ? cc(n) : null;
|
|
5074
5204
|
if (r && i && r.textNode === i.node && r.at === i.at) {
|
|
5075
5205
|
c(null);
|
|
5076
5206
|
return;
|
|
@@ -5078,29 +5208,29 @@ function Ks(e, t) {
|
|
|
5078
5208
|
i = null, c(r);
|
|
5079
5209
|
}
|
|
5080
5210
|
function u(r) {
|
|
5081
|
-
e.replaceChildren(
|
|
5211
|
+
e.replaceChildren(nc(n, r, t.chipClass)), o($s(e)), i = null, c(null);
|
|
5082
5212
|
}
|
|
5083
5213
|
let d = () => {
|
|
5084
5214
|
s(), l();
|
|
5085
5215
|
}, f = () => l(), p = () => {
|
|
5086
|
-
|
|
5216
|
+
oc(e), l();
|
|
5087
5217
|
}, m = (t) => {
|
|
5088
5218
|
let n = t.clipboardData?.getData("text/plain");
|
|
5089
|
-
t.preventDefault(), n && (
|
|
5219
|
+
t.preventDefault(), n && (uc(e, n.replace(/\r\n?/g, "\n")), s(), l());
|
|
5090
5220
|
}, h = (e) => {
|
|
5091
5221
|
e.preventDefault();
|
|
5092
5222
|
};
|
|
5093
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 ?? ""), {
|
|
5094
|
-
getValue: () =>
|
|
5224
|
+
getValue: () => $s(e),
|
|
5095
5225
|
setValue: u,
|
|
5096
5226
|
focus() {
|
|
5097
5227
|
e.focus();
|
|
5098
5228
|
let t = e.lastChild;
|
|
5099
|
-
t && (t.nodeType ===
|
|
5229
|
+
t && (t.nodeType === Zs ? sc(e, t, t.data.length) : sc(e, e, e.childNodes.length));
|
|
5100
5230
|
},
|
|
5101
5231
|
insertMention(n) {
|
|
5102
|
-
let a =
|
|
5103
|
-
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));
|
|
5104
5234
|
},
|
|
5105
5235
|
syncTrigger: l,
|
|
5106
5236
|
clearTrigger: () => c(null),
|
|
@@ -5115,31 +5245,94 @@ function Ks(e, t) {
|
|
|
5115
5245
|
}
|
|
5116
5246
|
};
|
|
5117
5247
|
}
|
|
5118
|
-
var
|
|
5119
|
-
function
|
|
5120
|
-
if (
|
|
5248
|
+
var fc = null;
|
|
5249
|
+
function pc() {
|
|
5250
|
+
if (fc) return fc;
|
|
5121
5251
|
if (typeof document > "u") return "true";
|
|
5122
5252
|
let e = document.createElement("div");
|
|
5123
5253
|
try {
|
|
5124
|
-
e.contentEditable = "plaintext-only",
|
|
5254
|
+
e.contentEditable = "plaintext-only", fc = e.contentEditable === "plaintext-only" ? "plaintext-only" : "true";
|
|
5125
5255
|
} catch {
|
|
5126
|
-
|
|
5256
|
+
fc = "true";
|
|
5127
5257
|
}
|
|
5128
|
-
return
|
|
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;
|
|
5289
|
+
}
|
|
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;
|
|
5129
5316
|
}
|
|
5130
5317
|
//#endregion
|
|
5131
5318
|
//#region src/runtime/ui/mentions.tsx
|
|
5132
|
-
function
|
|
5319
|
+
function xc({ body: e, mentions: t, trailing: n }) {
|
|
5133
5320
|
let r = at(() => new Set(t), [t]);
|
|
5134
5321
|
return /* @__PURE__ */ Q("p", {
|
|
5135
5322
|
class: "markup-comment-body",
|
|
5136
|
-
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", {
|
|
5137
5324
|
class: "markup-mention-chip",
|
|
5138
5325
|
children: ["@", e.name]
|
|
5139
|
-
}, 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]
|
|
5140
5333
|
});
|
|
5141
5334
|
}
|
|
5142
|
-
function
|
|
5335
|
+
function Sc(e) {
|
|
5143
5336
|
let { members: t, trigger: n, onSelect: r, onClose: i } = e, [a, o] = z(0), s = at(() => {
|
|
5144
5337
|
if (!n) return [];
|
|
5145
5338
|
let e = n.query.toLowerCase();
|
|
@@ -5167,12 +5360,12 @@ function Xs(e) {
|
|
|
5167
5360
|
handleKeyDown: c
|
|
5168
5361
|
};
|
|
5169
5362
|
}
|
|
5170
|
-
function
|
|
5363
|
+
function Cc({ items: e, highlight: t, setHighlight: n, onSelect: r, anchor: i }) {
|
|
5171
5364
|
let a = V(null);
|
|
5172
5365
|
return it(() => {
|
|
5173
5366
|
let e = null;
|
|
5174
5367
|
function t() {
|
|
5175
|
-
i.current && a.current &&
|
|
5368
|
+
i.current && a.current && Ec(i.current, a.current);
|
|
5176
5369
|
}
|
|
5177
5370
|
function n() {
|
|
5178
5371
|
e ??= requestAnimationFrame(() => {
|
|
@@ -5214,16 +5407,16 @@ function Zs({ items: e, highlight: t, setHighlight: n, onSelect: r, anchor: i })
|
|
|
5214
5407
|
}, e.userId))
|
|
5215
5408
|
});
|
|
5216
5409
|
}
|
|
5217
|
-
var
|
|
5218
|
-
function
|
|
5410
|
+
var wc = 4, Tc = 8;
|
|
5411
|
+
function Ec(e, t) {
|
|
5219
5412
|
let n = e.getBoundingClientRect(), r = n.bottom > 0 && n.top < window.innerHeight && n.right > 0 && n.left < window.innerWidth;
|
|
5220
5413
|
if (t.style.visibility = r ? "" : "hidden", !r) return;
|
|
5221
|
-
let i = t.offsetHeight, a = n.top -
|
|
5222
|
-
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`;
|
|
5223
5416
|
}
|
|
5224
5417
|
//#endregion
|
|
5225
5418
|
//#region src/runtime/ui/mention-input.tsx
|
|
5226
|
-
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 }) {
|
|
5227
5420
|
let u = V(null), d = V(null), [f, p] = z(null), m = V(t);
|
|
5228
5421
|
m.current = t;
|
|
5229
5422
|
let h = V(r);
|
|
@@ -5232,7 +5425,7 @@ function tc({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5232
5425
|
it(() => {
|
|
5233
5426
|
let e = u.current;
|
|
5234
5427
|
if (!e) return;
|
|
5235
|
-
let t =
|
|
5428
|
+
let t = dc(e, {
|
|
5236
5429
|
chipClass: "markup-mention-chip",
|
|
5237
5430
|
initialValue: g.current,
|
|
5238
5431
|
onChange: (e) => m.current(e),
|
|
@@ -5252,7 +5445,7 @@ function tc({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5252
5445
|
let t = d.current;
|
|
5253
5446
|
t && t.getValue() !== e && t.setValue(e);
|
|
5254
5447
|
}, [e]);
|
|
5255
|
-
let _ =
|
|
5448
|
+
let _ = Sc({
|
|
5256
5449
|
members: r ?? [],
|
|
5257
5450
|
trigger: f,
|
|
5258
5451
|
onSelect: (e) => d.current?.insertMention(e),
|
|
@@ -5265,7 +5458,7 @@ function tc({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5265
5458
|
"aria-label": i,
|
|
5266
5459
|
"aria-disabled": o || void 0,
|
|
5267
5460
|
class: Z("markup-mention-input", c),
|
|
5268
|
-
contentEditable: o ? "false" :
|
|
5461
|
+
contentEditable: o ? "false" : pc(),
|
|
5269
5462
|
"data-placeholder": a,
|
|
5270
5463
|
tabIndex: o ? -1 : 0,
|
|
5271
5464
|
onKeyDown: (e) => {
|
|
@@ -5274,7 +5467,7 @@ function tc({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5274
5467
|
onBlur: () => {
|
|
5275
5468
|
setTimeout(() => d.current?.clearTrigger(), 120);
|
|
5276
5469
|
}
|
|
5277
|
-
}), _.isOpen ? /* @__PURE__ */ Q(
|
|
5470
|
+
}), _.isOpen ? /* @__PURE__ */ Q(Cc, {
|
|
5278
5471
|
items: _.items,
|
|
5279
5472
|
highlight: _.highlight,
|
|
5280
5473
|
setHighlight: _.setHighlight,
|
|
@@ -5284,8 +5477,8 @@ function tc({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5284
5477
|
}
|
|
5285
5478
|
//#endregion
|
|
5286
5479
|
//#region src/runtime/ui/composer.tsx
|
|
5287
|
-
var
|
|
5288
|
-
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 }) {
|
|
5289
5482
|
let [l, u] = z(""), d = V(null), f = V(!1);
|
|
5290
5483
|
B(() => {
|
|
5291
5484
|
f.current && !i && !a && (u(""), s?.(!1), d.current?.focus()), f.current = i;
|
|
@@ -5294,7 +5487,7 @@ function rc({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5294
5487
|
a,
|
|
5295
5488
|
s
|
|
5296
5489
|
]);
|
|
5297
|
-
let p =
|
|
5490
|
+
let p = Oc - l.length, m = p < 0;
|
|
5298
5491
|
function h(e) {
|
|
5299
5492
|
e?.preventDefault();
|
|
5300
5493
|
let t = l.trim();
|
|
@@ -5303,7 +5496,7 @@ function rc({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5303
5496
|
function g(e) {
|
|
5304
5497
|
(e.metaKey || e.ctrlKey) && e.key === "Enter" && h(e);
|
|
5305
5498
|
}
|
|
5306
|
-
let _ = l.length > 0, v =
|
|
5499
|
+
let _ = l.length > 0, v = hs();
|
|
5307
5500
|
function y(e) {
|
|
5308
5501
|
return /* @__PURE__ */ Q("button", {
|
|
5309
5502
|
type: "submit",
|
|
@@ -5312,14 +5505,14 @@ function rc({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5312
5505
|
"aria-label": i ? "Sending…" : n,
|
|
5313
5506
|
title: i ? "Sending…" : n,
|
|
5314
5507
|
tabIndex: e,
|
|
5315
|
-
children: /* @__PURE__ */ Q(
|
|
5508
|
+
children: /* @__PURE__ */ Q(Cs, { size: 14 })
|
|
5316
5509
|
});
|
|
5317
5510
|
}
|
|
5318
5511
|
return /* @__PURE__ */ Q("form", {
|
|
5319
5512
|
class: Z("markup-composer", _ && "is-filled"),
|
|
5320
5513
|
onSubmit: h,
|
|
5321
5514
|
children: [
|
|
5322
|
-
/* @__PURE__ */ Q(
|
|
5515
|
+
/* @__PURE__ */ Q(Dc, {
|
|
5323
5516
|
class: "markup-composer-input",
|
|
5324
5517
|
label: e,
|
|
5325
5518
|
placeholder: t,
|
|
@@ -5375,17 +5568,17 @@ function rc({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5375
5568
|
}
|
|
5376
5569
|
//#endregion
|
|
5377
5570
|
//#region src/runtime/ui/new-thread-popover.tsx
|
|
5378
|
-
var
|
|
5379
|
-
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 }) {
|
|
5380
5573
|
let b = V(null);
|
|
5381
|
-
|
|
5574
|
+
Gs(b, !0);
|
|
5382
5575
|
let x = V(!1), C = V(!1), [w, T] = z(!1), E = H((e) => {
|
|
5383
5576
|
C.current = e, T(e);
|
|
5384
5577
|
}, []), D = H(() => {
|
|
5385
5578
|
C.current || (x.current ? E(!0) : y());
|
|
5386
5579
|
}, [y, E]), O = H(() => {
|
|
5387
5580
|
E(!1), b.current?.querySelector(".markup-mention-input")?.focus();
|
|
5388
|
-
}, [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({
|
|
5389
5582
|
targetRef: b,
|
|
5390
5583
|
shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
|
|
5391
5584
|
onMove: re
|
|
@@ -5416,7 +5609,7 @@ function ac({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5416
5609
|
}, [D, O]), B(() => {
|
|
5417
5610
|
w && b.current?.querySelector(".markup-discard-confirm-keep")?.focus();
|
|
5418
5611
|
}, [w]);
|
|
5419
|
-
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;
|
|
5420
5613
|
return /* @__PURE__ */ Q("div", {
|
|
5421
5614
|
ref: b,
|
|
5422
5615
|
class: Z("markup-popover", ne && "is-floating", ae && "is-dragging"),
|
|
@@ -5440,7 +5633,7 @@ function ac({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5440
5633
|
class: "markup-icon-btn",
|
|
5441
5634
|
"aria-label": "Discard pin",
|
|
5442
5635
|
onClick: D,
|
|
5443
|
-
children: /* @__PURE__ */ Q(
|
|
5636
|
+
children: /* @__PURE__ */ Q(vs, { size: 16 })
|
|
5444
5637
|
})]
|
|
5445
5638
|
}),
|
|
5446
5639
|
r == null ? /* @__PURE__ */ Q("div", {
|
|
@@ -5460,7 +5653,7 @@ function ac({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5460
5653
|
}) : null
|
|
5461
5654
|
]
|
|
5462
5655
|
}),
|
|
5463
|
-
/* @__PURE__ */ Q(
|
|
5656
|
+
/* @__PURE__ */ Q(kc, {
|
|
5464
5657
|
label: "Feedback",
|
|
5465
5658
|
placeholder: "What's wrong, missing, or worth noting?",
|
|
5466
5659
|
submitLabel: "Post markup",
|
|
@@ -5485,13 +5678,13 @@ function ac({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5485
5678
|
class: "markup-screenshot-checkbox",
|
|
5486
5679
|
disabled: !0
|
|
5487
5680
|
}),
|
|
5488
|
-
/* @__PURE__ */ Q(
|
|
5681
|
+
/* @__PURE__ */ Q(Ss, { size: 12 }),
|
|
5489
5682
|
/* @__PURE__ */ Q("span", { children: "Capturing…" })
|
|
5490
5683
|
]
|
|
5491
5684
|
}) : d ? /* @__PURE__ */ Q("span", {
|
|
5492
5685
|
class: "markup-screenshot-status",
|
|
5493
5686
|
title: "This page has something the capture can't read, often a third-party image. Your comment will post without a screenshot.",
|
|
5494
|
-
children: [/* @__PURE__ */ Q(
|
|
5687
|
+
children: [/* @__PURE__ */ Q(Ss, { size: 12 }), /* @__PURE__ */ Q("span", { children: "Screenshot unavailable" })]
|
|
5495
5688
|
}) : /* @__PURE__ */ Q("label", {
|
|
5496
5689
|
class: "markup-screenshot-toggle",
|
|
5497
5690
|
children: [
|
|
@@ -5501,7 +5694,7 @@ function ac({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5501
5694
|
checked: k,
|
|
5502
5695
|
onChange: (e) => A(e.currentTarget.checked)
|
|
5503
5696
|
}),
|
|
5504
|
-
/* @__PURE__ */ Q(
|
|
5697
|
+
/* @__PURE__ */ Q(Ss, { size: 12 }),
|
|
5505
5698
|
/* @__PURE__ */ Q("span", { children: "Attach screenshot" })
|
|
5506
5699
|
]
|
|
5507
5700
|
}),
|
|
@@ -5552,7 +5745,7 @@ function ac({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5552
5745
|
" ",
|
|
5553
5746
|
/* @__PURE__ */ Q("a", {
|
|
5554
5747
|
class: "markup-screenshot-help-link",
|
|
5555
|
-
href:
|
|
5748
|
+
href: Ac,
|
|
5556
5749
|
target: "_blank",
|
|
5557
5750
|
rel: "noopener noreferrer",
|
|
5558
5751
|
children: "More info here."
|
|
@@ -5561,7 +5754,7 @@ function ac({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5561
5754
|
})] }) : null]
|
|
5562
5755
|
}) : null
|
|
5563
5756
|
]
|
|
5564
|
-
}) : /* @__PURE__ */ Q(
|
|
5757
|
+
}) : /* @__PURE__ */ Q(qs, {
|
|
5565
5758
|
mode: r,
|
|
5566
5759
|
isPending: s,
|
|
5567
5760
|
isConnecting: a,
|
|
@@ -5582,7 +5775,7 @@ function ac({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5582
5775
|
onClick: (e) => {
|
|
5583
5776
|
e.stopPropagation(), M.current?.close();
|
|
5584
5777
|
},
|
|
5585
|
-
children: /* @__PURE__ */ Q(
|
|
5778
|
+
children: /* @__PURE__ */ Q(vs, { size: 16 })
|
|
5586
5779
|
}), /* @__PURE__ */ Q("img", {
|
|
5587
5780
|
class: "markup-lightbox-img",
|
|
5588
5781
|
src: j,
|
|
@@ -5625,12 +5818,12 @@ function ac({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
|
|
|
5625
5818
|
]
|
|
5626
5819
|
});
|
|
5627
5820
|
}
|
|
5628
|
-
function
|
|
5821
|
+
function Mc(e, t, n) {
|
|
5629
5822
|
return Math.max(t, Math.min(n, e));
|
|
5630
5823
|
}
|
|
5631
5824
|
//#endregion
|
|
5632
5825
|
//#region src/runtime/ui/notifications-panel.tsx
|
|
5633
|
-
function
|
|
5826
|
+
function Nc({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMarkAllRead: a, isMarkingAll: o }) {
|
|
5634
5827
|
let s = e.some((e) => e.readAt == null);
|
|
5635
5828
|
return /* @__PURE__ */ Q("div", {
|
|
5636
5829
|
class: "markup-notifications-panel",
|
|
@@ -5645,7 +5838,7 @@ function sc({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
5645
5838
|
title: "Back to menu",
|
|
5646
5839
|
"aria-label": "Back to menu",
|
|
5647
5840
|
onClick: r,
|
|
5648
|
-
children: /* @__PURE__ */ Q(
|
|
5841
|
+
children: /* @__PURE__ */ Q(ys, { size: 16 })
|
|
5649
5842
|
}),
|
|
5650
5843
|
/* @__PURE__ */ Q("span", {
|
|
5651
5844
|
class: "markup-eyebrow",
|
|
@@ -5702,7 +5895,7 @@ function sc({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
5702
5895
|
role: "img",
|
|
5703
5896
|
"aria-label": "Written by an AI agent",
|
|
5704
5897
|
title: "Written by an AI agent on this person's behalf",
|
|
5705
|
-
children: /* @__PURE__ */ Q(
|
|
5898
|
+
children: /* @__PURE__ */ Q(Rs, { size: 11 })
|
|
5706
5899
|
}) : null,
|
|
5707
5900
|
/* @__PURE__ */ Q("span", {
|
|
5708
5901
|
class: "markup-notifications-panel-sep",
|
|
@@ -5710,7 +5903,7 @@ function sc({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
5710
5903
|
}),
|
|
5711
5904
|
/* @__PURE__ */ Q("span", {
|
|
5712
5905
|
class: "markup-notifications-panel-time",
|
|
5713
|
-
children:
|
|
5906
|
+
children: Pc(e.createdAt)
|
|
5714
5907
|
})
|
|
5715
5908
|
]
|
|
5716
5909
|
}),
|
|
@@ -5739,7 +5932,7 @@ function sc({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
5739
5932
|
})]
|
|
5740
5933
|
});
|
|
5741
5934
|
}
|
|
5742
|
-
function
|
|
5935
|
+
function Pc(e) {
|
|
5743
5936
|
let t = Date.now() - e, n = Math.floor(t / 1e3);
|
|
5744
5937
|
if (n < 60) return "just now";
|
|
5745
5938
|
let r = Math.floor(n / 60);
|
|
@@ -5751,18 +5944,18 @@ function cc(e) {
|
|
|
5751
5944
|
}
|
|
5752
5945
|
//#endregion
|
|
5753
5946
|
//#region src/runtime/use-theme.ts
|
|
5754
|
-
function
|
|
5947
|
+
function Fc() {
|
|
5755
5948
|
let [, e] = z(0);
|
|
5756
|
-
return B(() =>
|
|
5757
|
-
mode:
|
|
5758
|
-
resolved:
|
|
5759
|
-
set:
|
|
5949
|
+
return B(() => We(() => e((e) => e + 1)), []), {
|
|
5950
|
+
mode: Ve(),
|
|
5951
|
+
resolved: He(),
|
|
5952
|
+
set: Ue
|
|
5760
5953
|
};
|
|
5761
5954
|
}
|
|
5762
5955
|
//#endregion
|
|
5763
5956
|
//#region src/runtime/ui/overflow-menu.tsx
|
|
5764
|
-
function
|
|
5765
|
-
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();
|
|
5766
5959
|
B(() => {
|
|
5767
5960
|
if (!f) return;
|
|
5768
5961
|
function e(e) {
|
|
@@ -5776,7 +5969,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5776
5969
|
document.removeEventListener("click", e, !0), document.removeEventListener("keydown", t);
|
|
5777
5970
|
};
|
|
5778
5971
|
}, [f]);
|
|
5779
|
-
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();
|
|
5780
5973
|
return /* @__PURE__ */ Q("div", {
|
|
5781
5974
|
ref: m,
|
|
5782
5975
|
style: {
|
|
@@ -5795,7 +5988,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5795
5988
|
onClick: (e) => {
|
|
5796
5989
|
e.preventDefault(), e.stopPropagation(), p((e) => !e);
|
|
5797
5990
|
},
|
|
5798
|
-
children: /* @__PURE__ */ Q(
|
|
5991
|
+
children: /* @__PURE__ */ Q(ks, { size: 16 })
|
|
5799
5992
|
}), f ? /* @__PURE__ */ Q("div", {
|
|
5800
5993
|
class: Z("markup-pop", g),
|
|
5801
5994
|
"data-pop": "overflow",
|
|
@@ -5819,7 +6012,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5819
6012
|
title: "Light",
|
|
5820
6013
|
class: Z(h.mode === "light" && "is-on"),
|
|
5821
6014
|
onClick: () => h.set("light"),
|
|
5822
|
-
children: /* @__PURE__ */ Q(
|
|
6015
|
+
children: /* @__PURE__ */ Q(As, { size: 14 })
|
|
5823
6016
|
}),
|
|
5824
6017
|
/* @__PURE__ */ Q("button", {
|
|
5825
6018
|
type: "button",
|
|
@@ -5829,7 +6022,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5829
6022
|
title: "Dark",
|
|
5830
6023
|
class: Z(h.mode === "dark" && "is-on"),
|
|
5831
6024
|
onClick: () => h.set("dark"),
|
|
5832
|
-
children: /* @__PURE__ */ Q(
|
|
6025
|
+
children: /* @__PURE__ */ Q(js, { size: 14 })
|
|
5833
6026
|
}),
|
|
5834
6027
|
/* @__PURE__ */ Q("button", {
|
|
5835
6028
|
type: "button",
|
|
@@ -5839,7 +6032,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5839
6032
|
title: `Auto, currently ${h.resolved}`,
|
|
5840
6033
|
class: Z(h.mode === "auto" && "is-on"),
|
|
5841
6034
|
onClick: () => h.set("auto"),
|
|
5842
|
-
children: /* @__PURE__ */ Q(
|
|
6035
|
+
children: /* @__PURE__ */ Q(Ms, { size: 14 })
|
|
5843
6036
|
})
|
|
5844
6037
|
]
|
|
5845
6038
|
})]
|
|
@@ -5862,7 +6055,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5862
6055
|
title: "Bottom left",
|
|
5863
6056
|
class: Z(e === "bottom-left" && "is-on"),
|
|
5864
6057
|
onClick: () => t("bottom-left"),
|
|
5865
|
-
children: /* @__PURE__ */ Q(
|
|
6058
|
+
children: /* @__PURE__ */ Q(Lc, { side: "left" })
|
|
5866
6059
|
}),
|
|
5867
6060
|
/* @__PURE__ */ Q("button", {
|
|
5868
6061
|
type: "button",
|
|
@@ -5872,7 +6065,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5872
6065
|
title: "Bottom center",
|
|
5873
6066
|
class: Z(e === "bottom-center" && "is-on"),
|
|
5874
6067
|
onClick: () => t("bottom-center"),
|
|
5875
|
-
children: /* @__PURE__ */ Q(
|
|
6068
|
+
children: /* @__PURE__ */ Q(Lc, { side: "center" })
|
|
5876
6069
|
}),
|
|
5877
6070
|
/* @__PURE__ */ Q("button", {
|
|
5878
6071
|
type: "button",
|
|
@@ -5882,7 +6075,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5882
6075
|
title: "Bottom right",
|
|
5883
6076
|
class: Z(e === "bottom-right" && "is-on"),
|
|
5884
6077
|
onClick: () => t("bottom-right"),
|
|
5885
|
-
children: /* @__PURE__ */ Q(
|
|
6078
|
+
children: /* @__PURE__ */ Q(Lc, { side: "right" })
|
|
5886
6079
|
})
|
|
5887
6080
|
]
|
|
5888
6081
|
})]
|
|
@@ -5904,7 +6097,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5904
6097
|
children: [
|
|
5905
6098
|
/* @__PURE__ */ Q("span", {
|
|
5906
6099
|
class: "ic",
|
|
5907
|
-
children: /* @__PURE__ */ Q(
|
|
6100
|
+
children: /* @__PURE__ */ Q(Rc, {})
|
|
5908
6101
|
}),
|
|
5909
6102
|
/* @__PURE__ */ Q("span", {
|
|
5910
6103
|
class: "lbl",
|
|
@@ -5931,7 +6124,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5931
6124
|
children: [
|
|
5932
6125
|
/* @__PURE__ */ Q("span", {
|
|
5933
6126
|
class: "ic",
|
|
5934
|
-
children: /* @__PURE__ */ Q(
|
|
6127
|
+
children: /* @__PURE__ */ Q(xs, { size: 16 })
|
|
5935
6128
|
}),
|
|
5936
6129
|
/* @__PURE__ */ Q("span", {
|
|
5937
6130
|
class: "lbl",
|
|
@@ -5955,7 +6148,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5955
6148
|
},
|
|
5956
6149
|
children: [/* @__PURE__ */ Q("span", {
|
|
5957
6150
|
class: "ic",
|
|
5958
|
-
children: /* @__PURE__ */ Q(
|
|
6151
|
+
children: /* @__PURE__ */ Q(Ns, { size: 16 })
|
|
5959
6152
|
}), /* @__PURE__ */ Q("span", {
|
|
5960
6153
|
class: "lbl",
|
|
5961
6154
|
children: "Privacy & data"
|
|
@@ -5970,7 +6163,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5970
6163
|
},
|
|
5971
6164
|
children: [/* @__PURE__ */ Q("span", {
|
|
5972
6165
|
class: "ic",
|
|
5973
|
-
children: /* @__PURE__ */ Q(
|
|
6166
|
+
children: /* @__PURE__ */ Q(Ps, { size: 16 })
|
|
5974
6167
|
}), /* @__PURE__ */ Q("span", {
|
|
5975
6168
|
class: "lbl",
|
|
5976
6169
|
children: "Keyboard shortcuts"
|
|
@@ -5987,7 +6180,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5987
6180
|
children: [
|
|
5988
6181
|
/* @__PURE__ */ Q("span", {
|
|
5989
6182
|
class: "ic",
|
|
5990
|
-
children: /* @__PURE__ */ Q(
|
|
6183
|
+
children: /* @__PURE__ */ Q(zc, {})
|
|
5991
6184
|
}),
|
|
5992
6185
|
/* @__PURE__ */ Q("span", {
|
|
5993
6186
|
class: "lbl",
|
|
@@ -6005,7 +6198,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
6005
6198
|
target: "_blank",
|
|
6006
6199
|
rel: "noopener noreferrer",
|
|
6007
6200
|
children: [
|
|
6008
|
-
/* @__PURE__ */ Q(
|
|
6201
|
+
/* @__PURE__ */ Q(_s, { size: 12 }),
|
|
6009
6202
|
/* @__PURE__ */ Q("span", { children: "Powered by Markup" }),
|
|
6010
6203
|
/* @__PURE__ */ Q("span", {
|
|
6011
6204
|
class: "ver",
|
|
@@ -6017,7 +6210,7 @@ function uc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
6017
6210
|
}) : null]
|
|
6018
6211
|
});
|
|
6019
6212
|
}
|
|
6020
|
-
function
|
|
6213
|
+
function Lc({ side: e }) {
|
|
6021
6214
|
return /* @__PURE__ */ Q("svg", {
|
|
6022
6215
|
width: 14,
|
|
6023
6216
|
height: 14,
|
|
@@ -6043,7 +6236,7 @@ function dc({ side: e }) {
|
|
|
6043
6236
|
})]
|
|
6044
6237
|
});
|
|
6045
6238
|
}
|
|
6046
|
-
function
|
|
6239
|
+
function Rc() {
|
|
6047
6240
|
return /* @__PURE__ */ Q("svg", {
|
|
6048
6241
|
width: 16,
|
|
6049
6242
|
height: 16,
|
|
@@ -6061,7 +6254,7 @@ function fc() {
|
|
|
6061
6254
|
})]
|
|
6062
6255
|
});
|
|
6063
6256
|
}
|
|
6064
|
-
function
|
|
6257
|
+
function zc() {
|
|
6065
6258
|
return /* @__PURE__ */ Q("svg", {
|
|
6066
6259
|
width: 16,
|
|
6067
6260
|
height: 16,
|
|
@@ -6082,7 +6275,7 @@ function pc() {
|
|
|
6082
6275
|
}
|
|
6083
6276
|
//#endregion
|
|
6084
6277
|
//#region src/runtime/ui/panel-popover.tsx
|
|
6085
|
-
function
|
|
6278
|
+
function Bc({ kind: e, label: t, position: n, ignoreToolbarKind: r, onClose: i, children: a }) {
|
|
6086
6279
|
let o = V(null);
|
|
6087
6280
|
return B(() => {
|
|
6088
6281
|
function e(e) {
|
|
@@ -6112,7 +6305,7 @@ function mc({ kind: e, label: t, position: n, ignoreToolbarKind: r, onClose: i,
|
|
|
6112
6305
|
}
|
|
6113
6306
|
//#endregion
|
|
6114
6307
|
//#region src/runtime/ui/pin.tsx
|
|
6115
|
-
function
|
|
6308
|
+
function Vc({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, isClosed: a = !1, onClick: o }) {
|
|
6116
6309
|
let s = t - window.scrollY, c = e - window.scrollX;
|
|
6117
6310
|
return /* @__PURE__ */ Q("button", {
|
|
6118
6311
|
type: "button",
|
|
@@ -6128,11 +6321,11 @@ function hc({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, isClos
|
|
|
6128
6321
|
title: `Open ${a ? "resolved " : ""}feedback thread (${n} comment${n === 1 ? "" : "s"})`,
|
|
6129
6322
|
children: /* @__PURE__ */ Q("span", {
|
|
6130
6323
|
class: "markup-pin-num",
|
|
6131
|
-
children: a ? /* @__PURE__ */ Q(
|
|
6324
|
+
children: a ? /* @__PURE__ */ Q(xs, { size: 14 }) : n
|
|
6132
6325
|
})
|
|
6133
6326
|
});
|
|
6134
6327
|
}
|
|
6135
|
-
function
|
|
6328
|
+
function Hc({ pageX: e, pageY: t }) {
|
|
6136
6329
|
let n = t - window.scrollY, r = e - window.scrollX;
|
|
6137
6330
|
return /* @__PURE__ */ Q("div", {
|
|
6138
6331
|
class: "markup-pin markup-pin-ghost is-anchor",
|
|
@@ -6149,7 +6342,7 @@ function gc({ pageX: e, pageY: t }) {
|
|
|
6149
6342
|
}
|
|
6150
6343
|
//#endregion
|
|
6151
6344
|
//#region src/runtime/ui/placement-overlay.tsx
|
|
6152
|
-
function
|
|
6345
|
+
function Uc({ onPlace: e, onCancel: t }) {
|
|
6153
6346
|
let n = V(null);
|
|
6154
6347
|
return it(() => {
|
|
6155
6348
|
let r = n.current?.getRootNode() ?? null, i = (e) => r !== null && e.composedPath().includes(r);
|
|
@@ -6174,7 +6367,7 @@ function _c({ onPlace: e, onCancel: t }) {
|
|
|
6174
6367
|
window.addEventListener("keydown", a);
|
|
6175
6368
|
for (let e of l) window.addEventListener(e, o, c);
|
|
6176
6369
|
window.addEventListener("click", s, c);
|
|
6177
|
-
let u =
|
|
6370
|
+
let u = Wc();
|
|
6178
6371
|
return () => {
|
|
6179
6372
|
window.removeEventListener("keydown", a);
|
|
6180
6373
|
for (let e of l) window.removeEventListener(e, o, c);
|
|
@@ -6190,7 +6383,7 @@ function _c({ onPlace: e, onCancel: t }) {
|
|
|
6190
6383
|
})
|
|
6191
6384
|
});
|
|
6192
6385
|
}
|
|
6193
|
-
function
|
|
6386
|
+
function Wc() {
|
|
6194
6387
|
let e = "html, html * { cursor: crosshair !important; }";
|
|
6195
6388
|
if ("adoptedStyleSheets" in document && "replaceSync" in CSSStyleSheet.prototype) {
|
|
6196
6389
|
let t = new CSSStyleSheet();
|
|
@@ -6203,7 +6396,7 @@ function vc() {
|
|
|
6203
6396
|
}
|
|
6204
6397
|
//#endregion
|
|
6205
6398
|
//#region src/runtime/ui/privacy-panel.tsx
|
|
6206
|
-
function
|
|
6399
|
+
function Gc({ identity: e, apiUrl: t, commentAccess: n = "anyone", autoCapture: r, autoCaptureLocked: i, isForgettingMe: a, forgetMeError: o, onForgetMe: s, onClose: c }) {
|
|
6207
6400
|
let [l, u] = z(!1), d = ta(e), f = e.kind === "verified", p = f ? e.identity.email : void 0, m = e.kind === "anon";
|
|
6208
6401
|
return /* @__PURE__ */ Q("div", {
|
|
6209
6402
|
class: "markup-panel",
|
|
@@ -6218,7 +6411,7 @@ function yc({ identity: e, apiUrl: t, commentAccess: n = "anyone", autoCapture:
|
|
|
6218
6411
|
title: "Close",
|
|
6219
6412
|
"aria-label": "Close privacy and data",
|
|
6220
6413
|
onClick: c,
|
|
6221
|
-
children: /* @__PURE__ */ Q(
|
|
6414
|
+
children: /* @__PURE__ */ Q(vs, { size: 14 })
|
|
6222
6415
|
})]
|
|
6223
6416
|
}), /* @__PURE__ */ Q("div", {
|
|
6224
6417
|
class: "markup-panel-body",
|
|
@@ -6303,7 +6496,7 @@ function yc({ identity: e, apiUrl: t, commentAccess: n = "anyone", autoCapture:
|
|
|
6303
6496
|
"Only ",
|
|
6304
6497
|
/* @__PURE__ */ Q("span", {
|
|
6305
6498
|
class: "markup-panel-mono",
|
|
6306
|
-
children:
|
|
6499
|
+
children: Kc(t)
|
|
6307
6500
|
}),
|
|
6308
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."
|
|
6309
6502
|
]
|
|
@@ -6339,7 +6532,7 @@ function yc({ identity: e, apiUrl: t, commentAccess: n = "anyone", autoCapture:
|
|
|
6339
6532
|
})]
|
|
6340
6533
|
});
|
|
6341
6534
|
}
|
|
6342
|
-
function
|
|
6535
|
+
function Kc(e) {
|
|
6343
6536
|
try {
|
|
6344
6537
|
return new URL(e).host;
|
|
6345
6538
|
} catch {
|
|
@@ -6348,8 +6541,8 @@ function bc(e) {
|
|
|
6348
6541
|
}
|
|
6349
6542
|
//#endregion
|
|
6350
6543
|
//#region src/runtime/ui/shortcuts-panel.tsx
|
|
6351
|
-
function
|
|
6352
|
-
let { mod: t, enter: n } =
|
|
6544
|
+
function qc({ onClose: e }) {
|
|
6545
|
+
let { mod: t, enter: n } = hs();
|
|
6353
6546
|
return /* @__PURE__ */ Q("div", {
|
|
6354
6547
|
class: "markup-panel",
|
|
6355
6548
|
children: [/* @__PURE__ */ Q("header", {
|
|
@@ -6363,7 +6556,7 @@ function xc({ onClose: e }) {
|
|
|
6363
6556
|
title: "Close",
|
|
6364
6557
|
"aria-label": "Close keyboard shortcuts",
|
|
6365
6558
|
onClick: e,
|
|
6366
|
-
children: /* @__PURE__ */ Q(
|
|
6559
|
+
children: /* @__PURE__ */ Q(vs, { size: 14 })
|
|
6367
6560
|
})]
|
|
6368
6561
|
}), /* @__PURE__ */ Q("div", {
|
|
6369
6562
|
class: "markup-panel-body",
|
|
@@ -6443,14 +6636,14 @@ function xc({ onClose: e }) {
|
|
|
6443
6636
|
}
|
|
6444
6637
|
//#endregion
|
|
6445
6638
|
//#region src/runtime/ui/thread-popover.tsx
|
|
6446
|
-
var
|
|
6639
|
+
var Jc = [
|
|
6447
6640
|
"👍",
|
|
6448
6641
|
"❤️",
|
|
6449
6642
|
"🎉",
|
|
6450
6643
|
"😮",
|
|
6451
6644
|
"😄",
|
|
6452
6645
|
"❓"
|
|
6453
|
-
],
|
|
6646
|
+
], Yc = Ur({
|
|
6454
6647
|
none: {
|
|
6455
6648
|
"toggle-thread-menu": () => ({
|
|
6456
6649
|
kind: "thread-menu",
|
|
@@ -6506,13 +6699,13 @@ var Sc = [
|
|
|
6506
6699
|
dismiss: () => ({ kind: "none" })
|
|
6507
6700
|
}
|
|
6508
6701
|
});
|
|
6509
|
-
function
|
|
6510
|
-
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({
|
|
6511
6704
|
targetRef: S,
|
|
6512
6705
|
shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
|
|
6513
6706
|
onMove: k
|
|
6514
6707
|
});
|
|
6515
|
-
|
|
6708
|
+
Gs(S, !0);
|
|
6516
6709
|
let te = e.resolvedAt != null, j = at(() => e.comments.filter((e) => !e.deleted), [e.comments]);
|
|
6517
6710
|
B(() => {
|
|
6518
6711
|
if (E.kind === "none" || E.kind === "editing") return;
|
|
@@ -6563,8 +6756,8 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6563
6756
|
anchorText: e.anchorText
|
|
6564
6757
|
});
|
|
6565
6758
|
return {
|
|
6566
|
-
left:
|
|
6567
|
-
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)
|
|
6568
6761
|
};
|
|
6569
6762
|
}, [
|
|
6570
6763
|
e.anchorX,
|
|
@@ -6605,15 +6798,15 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6605
6798
|
class: Z("markup-icon-btn", E.kind === "thread-menu" && "is-open"),
|
|
6606
6799
|
title: "More options",
|
|
6607
6800
|
onClick: () => D({ type: "toggle-thread-menu" }),
|
|
6608
|
-
children: /* @__PURE__ */ Q(
|
|
6801
|
+
children: /* @__PURE__ */ Q(bs, { size: 16 })
|
|
6609
6802
|
}), E.kind === "thread-menu" ? /* @__PURE__ */ Q("div", {
|
|
6610
6803
|
class: "markup-thread-menu-list",
|
|
6611
6804
|
children: [/* @__PURE__ */ Q("button", {
|
|
6612
6805
|
type: "button",
|
|
6613
6806
|
class: "markup-thread-menu-item",
|
|
6614
6807
|
onClick: () => {
|
|
6615
|
-
let t =
|
|
6616
|
-
t
|
|
6808
|
+
let t = _a(e.url, e._id);
|
|
6809
|
+
t && navigator.clipboard.writeText(t).catch(() => {}), D({ type: "dismiss" });
|
|
6617
6810
|
},
|
|
6618
6811
|
children: "Copy link"
|
|
6619
6812
|
}), s ? /* @__PURE__ */ Q("button", {
|
|
@@ -6633,14 +6826,14 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6633
6826
|
title: "Mark as resolved",
|
|
6634
6827
|
disabled: c,
|
|
6635
6828
|
onClick: b,
|
|
6636
|
-
children: /* @__PURE__ */ Q(
|
|
6829
|
+
children: /* @__PURE__ */ Q(xs, { size: 16 })
|
|
6637
6830
|
}) : null,
|
|
6638
6831
|
/* @__PURE__ */ Q("button", {
|
|
6639
6832
|
type: "button",
|
|
6640
6833
|
class: "markup-icon-btn",
|
|
6641
6834
|
title: "Close thread",
|
|
6642
6835
|
onClick: h,
|
|
6643
|
-
children: /* @__PURE__ */ Q(
|
|
6836
|
+
children: /* @__PURE__ */ Q(vs, { size: 16 })
|
|
6644
6837
|
})
|
|
6645
6838
|
]
|
|
6646
6839
|
})]
|
|
@@ -6653,10 +6846,10 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6653
6846
|
return /* @__PURE__ */ Q("li", {
|
|
6654
6847
|
class: Z("markup-comment", M.current != null && t.createdAt > M.current && "is-new"),
|
|
6655
6848
|
children: [
|
|
6656
|
-
/* @__PURE__ */ Q(
|
|
6849
|
+
/* @__PURE__ */ Q(tl, {
|
|
6657
6850
|
name: t.authorName,
|
|
6658
6851
|
image: t.authorImage,
|
|
6659
|
-
tone:
|
|
6852
|
+
tone: rl(t.authorClientId ?? t.authorName)
|
|
6660
6853
|
}),
|
|
6661
6854
|
/* @__PURE__ */ Q("div", {
|
|
6662
6855
|
class: "markup-comment-meta",
|
|
@@ -6670,23 +6863,23 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6670
6863
|
role: "img",
|
|
6671
6864
|
"aria-label": "Written by an AI agent",
|
|
6672
6865
|
title: "Written by an AI agent",
|
|
6673
|
-
children: /* @__PURE__ */ Q(
|
|
6866
|
+
children: /* @__PURE__ */ Q(Rs, { size: 11 })
|
|
6674
6867
|
}) : null,
|
|
6675
6868
|
/* @__PURE__ */ Q("time", {
|
|
6676
6869
|
class: "markup-comment-time",
|
|
6677
6870
|
datetime: new Date(t.createdAt).toISOString(),
|
|
6678
|
-
title:
|
|
6679
|
-
children:
|
|
6871
|
+
title: al(t.createdAt),
|
|
6872
|
+
children: il(t.createdAt)
|
|
6680
6873
|
}),
|
|
6681
6874
|
t.editedAt == null ? null : /* @__PURE__ */ Q("time", {
|
|
6682
6875
|
class: "markup-comment-edited",
|
|
6683
6876
|
datetime: new Date(t.editedAt).toISOString(),
|
|
6684
|
-
title:
|
|
6877
|
+
title: al(t.editedAt),
|
|
6685
6878
|
children: "edited"
|
|
6686
6879
|
}),
|
|
6687
6880
|
/* @__PURE__ */ Q("div", {
|
|
6688
6881
|
class: "markup-thread-actions",
|
|
6689
|
-
children: [!te && !l ? /* @__PURE__ */ Q(
|
|
6882
|
+
children: [!te && !l ? /* @__PURE__ */ Q(Zc, {
|
|
6690
6883
|
comment: t,
|
|
6691
6884
|
pickerOpen: m,
|
|
6692
6885
|
pickerDirection: h,
|
|
@@ -6754,7 +6947,7 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6754
6947
|
direction: a < i ? "up" : "down"
|
|
6755
6948
|
});
|
|
6756
6949
|
},
|
|
6757
|
-
children: /* @__PURE__ */ Q(
|
|
6950
|
+
children: /* @__PURE__ */ Q(bs, { size: 16 })
|
|
6758
6951
|
}), f ? /* @__PURE__ */ Q("div", {
|
|
6759
6952
|
class: "markup-thread-menu-list",
|
|
6760
6953
|
children: [o ? /* @__PURE__ */ Q("button", {
|
|
@@ -6794,7 +6987,7 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6794
6987
|
await _(t._id, n), D({ type: "dismiss" });
|
|
6795
6988
|
} catch {}
|
|
6796
6989
|
},
|
|
6797
|
-
children: [/* @__PURE__ */ Q(
|
|
6990
|
+
children: [/* @__PURE__ */ Q(Dc, {
|
|
6798
6991
|
class: "markup-comment-edit-input",
|
|
6799
6992
|
label: "Edit comment",
|
|
6800
6993
|
value: E.draft,
|
|
@@ -6820,7 +7013,7 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6820
7013
|
children: "Save"
|
|
6821
7014
|
})]
|
|
6822
7015
|
})]
|
|
6823
|
-
}) : /* @__PURE__ */ Q(
|
|
7016
|
+
}) : /* @__PURE__ */ Q(xc, {
|
|
6824
7017
|
body: t.body,
|
|
6825
7018
|
mentions: t.mentions
|
|
6826
7019
|
}),
|
|
@@ -6833,7 +7026,7 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6833
7026
|
alt: "Screenshot"
|
|
6834
7027
|
})
|
|
6835
7028
|
}) : null,
|
|
6836
|
-
!l && t.reactions.length > 0 ? /* @__PURE__ */ Q(
|
|
7029
|
+
!l && t.reactions.length > 0 ? /* @__PURE__ */ Q(Qc, {
|
|
6837
7030
|
comment: t,
|
|
6838
7031
|
isResolved: te,
|
|
6839
7032
|
onToggle: (e) => y(t._id, e)
|
|
@@ -6853,7 +7046,7 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6853
7046
|
onClick: (e) => {
|
|
6854
7047
|
e.stopPropagation(), w.current?.close();
|
|
6855
7048
|
},
|
|
6856
|
-
children: /* @__PURE__ */ Q(
|
|
7049
|
+
children: /* @__PURE__ */ Q(vs, { size: 16 })
|
|
6857
7050
|
}), /* @__PURE__ */ Q("img", {
|
|
6858
7051
|
class: "markup-lightbox-img",
|
|
6859
7052
|
src: e.screenshotUrl,
|
|
@@ -6876,7 +7069,7 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6876
7069
|
children: "team"
|
|
6877
7070
|
}) : null
|
|
6878
7071
|
]
|
|
6879
|
-
}), /* @__PURE__ */ Q(
|
|
7072
|
+
}), /* @__PURE__ */ Q(kc, {
|
|
6880
7073
|
label: "Reply",
|
|
6881
7074
|
placeholder: "Write a reply…",
|
|
6882
7075
|
submitLabel: "Reply",
|
|
@@ -6886,7 +7079,7 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6886
7079
|
onSubmit: g,
|
|
6887
7080
|
members: d
|
|
6888
7081
|
})]
|
|
6889
|
-
}) : /* @__PURE__ */ Q(
|
|
7082
|
+
}) : /* @__PURE__ */ Q(qs, {
|
|
6890
7083
|
mode: n,
|
|
6891
7084
|
isPending: c,
|
|
6892
7085
|
isConnecting: a,
|
|
@@ -6899,7 +7092,7 @@ function wc({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
|
|
|
6899
7092
|
]
|
|
6900
7093
|
});
|
|
6901
7094
|
}
|
|
6902
|
-
function
|
|
7095
|
+
function Zc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pickerRef: i, onPickerClick: a, onPickerSelect: o }) {
|
|
6903
7096
|
return /* @__PURE__ */ Q("div", {
|
|
6904
7097
|
class: Z("markup-reaction-picker-wrap", t && "is-open", t && n === "up" && "is-up", r && "is-side"),
|
|
6905
7098
|
ref: i,
|
|
@@ -6909,11 +7102,11 @@ function Tc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
|
|
|
6909
7102
|
title: "Add reaction",
|
|
6910
7103
|
"aria-label": "Add reaction",
|
|
6911
7104
|
onClick: a,
|
|
6912
|
-
children: /* @__PURE__ */ Q(
|
|
7105
|
+
children: /* @__PURE__ */ Q(ws, { size: 16 })
|
|
6913
7106
|
}), t ? /* @__PURE__ */ Q("div", {
|
|
6914
7107
|
class: "markup-reaction-picker",
|
|
6915
7108
|
role: "menu",
|
|
6916
|
-
children:
|
|
7109
|
+
children: Jc.map((t) => /* @__PURE__ */ Q("button", {
|
|
6917
7110
|
type: "button",
|
|
6918
7111
|
role: "menuitem",
|
|
6919
7112
|
class: Z("markup-reaction-picker-item", (e.reactions.find((e) => e.emoji === t)?.mine ?? !1) && "is-mine"),
|
|
@@ -6923,11 +7116,11 @@ function Tc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
|
|
|
6923
7116
|
}) : null]
|
|
6924
7117
|
});
|
|
6925
7118
|
}
|
|
6926
|
-
function
|
|
7119
|
+
function Qc({ comment: e, isResolved: t, onToggle: n }) {
|
|
6927
7120
|
return /* @__PURE__ */ Q("div", {
|
|
6928
7121
|
class: "markup-reactions",
|
|
6929
7122
|
children: e.reactions.map((e) => {
|
|
6930
|
-
let r =
|
|
7123
|
+
let r = $c(e.reactors, e.mine, e.count, e.emoji);
|
|
6931
7124
|
return /* @__PURE__ */ Q("button", {
|
|
6932
7125
|
type: "button",
|
|
6933
7126
|
class: Z("markup-reaction-chip", e.mine && "is-mine"),
|
|
@@ -6948,14 +7141,14 @@ function Ec({ comment: e, isResolved: t, onToggle: n }) {
|
|
|
6948
7141
|
})
|
|
6949
7142
|
});
|
|
6950
7143
|
}
|
|
6951
|
-
function
|
|
7144
|
+
function $c(e, t, n, r) {
|
|
6952
7145
|
let i = e.slice(), a = i.length + +!!t, o = Math.max(0, n - a);
|
|
6953
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}`;
|
|
6954
7147
|
}
|
|
6955
|
-
function
|
|
7148
|
+
function el(e, t, n) {
|
|
6956
7149
|
return Math.max(t, Math.min(n, e));
|
|
6957
7150
|
}
|
|
6958
|
-
function
|
|
7151
|
+
function tl({ name: e, image: t, tone: n }) {
|
|
6959
7152
|
let [r, i] = z(null);
|
|
6960
7153
|
return /* @__PURE__ */ Q("span", {
|
|
6961
7154
|
class: "markup-comment-avatar",
|
|
@@ -6971,11 +7164,11 @@ function kc({ name: e, image: t, tone: n }) {
|
|
|
6971
7164
|
onError: () => i(t)
|
|
6972
7165
|
}) : /* @__PURE__ */ Q("span", {
|
|
6973
7166
|
class: "markup-avatar-initials",
|
|
6974
|
-
children:
|
|
7167
|
+
children: nl(e)
|
|
6975
7168
|
})
|
|
6976
7169
|
});
|
|
6977
7170
|
}
|
|
6978
|
-
function
|
|
7171
|
+
function nl(e) {
|
|
6979
7172
|
let t = e.trim();
|
|
6980
7173
|
if (!t) return "??";
|
|
6981
7174
|
let n = t.split(/\s+/).filter(Boolean), r = n[0] ?? "";
|
|
@@ -6983,12 +7176,12 @@ function Ac(e) {
|
|
|
6983
7176
|
let i = n[n.length - 1] ?? "";
|
|
6984
7177
|
return ((r[0] ?? "") + (i[0] ?? "")).toUpperCase();
|
|
6985
7178
|
}
|
|
6986
|
-
function
|
|
7179
|
+
function rl(e) {
|
|
6987
7180
|
let t = 0;
|
|
6988
7181
|
for (let n = 0; n < e.length; n++) t = t * 31 + e.charCodeAt(n) | 0;
|
|
6989
7182
|
return Math.abs(t) % 5 + 1;
|
|
6990
7183
|
}
|
|
6991
|
-
function
|
|
7184
|
+
function il(e) {
|
|
6992
7185
|
let t = Date.now() - e, n = Math.floor(t / 1e3);
|
|
6993
7186
|
if (n < 60) return "just now";
|
|
6994
7187
|
let r = Math.floor(n / 60);
|
|
@@ -7005,7 +7198,7 @@ function Mc(e) {
|
|
|
7005
7198
|
year: "numeric"
|
|
7006
7199
|
});
|
|
7007
7200
|
}
|
|
7008
|
-
function
|
|
7201
|
+
function al(e) {
|
|
7009
7202
|
return new Date(e).toLocaleDateString([], {
|
|
7010
7203
|
month: "long",
|
|
7011
7204
|
day: "numeric",
|
|
@@ -7016,7 +7209,7 @@ function Nc(e) {
|
|
|
7016
7209
|
}
|
|
7017
7210
|
//#endregion
|
|
7018
7211
|
//#region src/runtime/ui/toolbar.tsx
|
|
7019
|
-
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 }) {
|
|
7020
7213
|
let f = V(0);
|
|
7021
7214
|
i > 0 && (f.current = i);
|
|
7022
7215
|
let p = r === "bottom-left" ? "markup-toolbar-left" : r === "bottom-center" ? "markup-toolbar-center" : "markup-toolbar-right";
|
|
@@ -7040,7 +7233,7 @@ function Pc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
7040
7233
|
title: e ? "Cancel placing markup" : "Leave a markup",
|
|
7041
7234
|
"aria-pressed": e,
|
|
7042
7235
|
onClick: m,
|
|
7043
|
-
children: Q(e ?
|
|
7236
|
+
children: Q(e ? vs : Ts, { size: 16 })
|
|
7044
7237
|
}),
|
|
7045
7238
|
a ? /* @__PURE__ */ Q("button", {
|
|
7046
7239
|
type: "button",
|
|
@@ -7052,7 +7245,7 @@ function Pc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
7052
7245
|
onClick: (e) => {
|
|
7053
7246
|
e.preventDefault(), e.stopPropagation(), o?.();
|
|
7054
7247
|
},
|
|
7055
|
-
children: [/* @__PURE__ */ Q(
|
|
7248
|
+
children: [/* @__PURE__ */ Q(Es, { size: 16 }), /* @__PURE__ */ Q("span", {
|
|
7056
7249
|
class: "markup-tb-badge",
|
|
7057
7250
|
"data-unread": i > 0 ? "true" : "false",
|
|
7058
7251
|
"aria-hidden": "true",
|
|
@@ -7072,7 +7265,7 @@ function Pc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
7072
7265
|
onClick: (e) => {
|
|
7073
7266
|
e.preventDefault(), e.stopPropagation(), l();
|
|
7074
7267
|
},
|
|
7075
|
-
children: Q(c ?
|
|
7268
|
+
children: Q(c ? Ds : Os, { size: 16 })
|
|
7076
7269
|
})] }) : null,
|
|
7077
7270
|
u || d ? /* @__PURE__ */ Q("div", {
|
|
7078
7271
|
class: "markup-tb-sep",
|
|
@@ -7086,14 +7279,14 @@ function Pc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
7086
7279
|
"data-kind": "overflow",
|
|
7087
7280
|
"aria-label": "More options",
|
|
7088
7281
|
disabled: !0,
|
|
7089
|
-
children: /* @__PURE__ */ Q(
|
|
7282
|
+
children: /* @__PURE__ */ Q(ks, { size: 16 })
|
|
7090
7283
|
})
|
|
7091
7284
|
]
|
|
7092
7285
|
});
|
|
7093
7286
|
}
|
|
7094
7287
|
//#endregion
|
|
7095
7288
|
//#region src/runtime/ui/app.tsx
|
|
7096
|
-
function
|
|
7289
|
+
function sl(e) {
|
|
7097
7290
|
let t = {
|
|
7098
7291
|
clientId: `markup_user_${e.identity.id}`,
|
|
7099
7292
|
name: e.identity.name,
|
|
@@ -7119,17 +7312,14 @@ function Fc(e) {
|
|
|
7119
7312
|
} : {}
|
|
7120
7313
|
};
|
|
7121
7314
|
}
|
|
7122
|
-
function
|
|
7315
|
+
function cl() {
|
|
7123
7316
|
let e = document.activeElement;
|
|
7124
7317
|
for (; e && e.shadowRoot && e.shadowRoot.activeElement;) e = e.shadowRoot.activeElement;
|
|
7125
7318
|
if (!e) return !1;
|
|
7126
7319
|
let t = e.tagName;
|
|
7127
7320
|
return t === "INPUT" || t === "TEXTAREA" || t === "SELECT" || e.isContentEditable;
|
|
7128
7321
|
}
|
|
7129
|
-
|
|
7130
|
-
return window.location.host + window.location.pathname;
|
|
7131
|
-
}
|
|
7132
|
-
var Rc = Ur({
|
|
7322
|
+
var ll = Ur({
|
|
7133
7323
|
visible: {
|
|
7134
7324
|
"hide-with-toast": () => ({ kind: "hidden-with-toast" }),
|
|
7135
7325
|
toggle: () => ({ kind: "hidden" })
|
|
@@ -7140,26 +7330,26 @@ var Rc = Ur({
|
|
|
7140
7330
|
},
|
|
7141
7331
|
hidden: { toggle: () => ({ kind: "visible" }) }
|
|
7142
7332
|
});
|
|
7143
|
-
function
|
|
7333
|
+
function ul(e) {
|
|
7144
7334
|
return $i(e), e;
|
|
7145
7335
|
}
|
|
7146
|
-
var
|
|
7336
|
+
var dl = Ur({
|
|
7147
7337
|
unresolved: {
|
|
7148
|
-
"mint-success": (e, t) =>
|
|
7338
|
+
"mint-success": (e, t) => ul({
|
|
7149
7339
|
kind: "anon",
|
|
7150
7340
|
identity: t.identity
|
|
7151
7341
|
}),
|
|
7152
|
-
"signed-in": (e, t) =>
|
|
7342
|
+
"signed-in": (e, t) => ul({
|
|
7153
7343
|
kind: "verified",
|
|
7154
7344
|
identity: t.identity
|
|
7155
7345
|
})
|
|
7156
7346
|
},
|
|
7157
7347
|
anon: {
|
|
7158
|
-
"signed-in": (e, t) =>
|
|
7348
|
+
"signed-in": (e, t) => ul({
|
|
7159
7349
|
kind: "verified",
|
|
7160
7350
|
identity: t.identity
|
|
7161
7351
|
}),
|
|
7162
|
-
"author-set": (e, t) =>
|
|
7352
|
+
"author-set": (e, t) => ul({
|
|
7163
7353
|
kind: "anon",
|
|
7164
7354
|
identity: {
|
|
7165
7355
|
...e.identity,
|
|
@@ -7167,35 +7357,35 @@ var Bc = Ur({
|
|
|
7167
7357
|
email: t.email
|
|
7168
7358
|
}
|
|
7169
7359
|
}),
|
|
7170
|
-
"forget-me": () =>
|
|
7360
|
+
"forget-me": () => ul({ kind: "unresolved" })
|
|
7171
7361
|
},
|
|
7172
7362
|
verified: {
|
|
7173
|
-
"signed-in": (e, t) =>
|
|
7363
|
+
"signed-in": (e, t) => ul({
|
|
7174
7364
|
kind: "verified",
|
|
7175
7365
|
identity: t.identity
|
|
7176
7366
|
}),
|
|
7177
|
-
unauthorized: (e) =>
|
|
7367
|
+
unauthorized: (e) => ul({
|
|
7178
7368
|
kind: "recovering",
|
|
7179
7369
|
preserved: {
|
|
7180
7370
|
name: e.identity.name,
|
|
7181
7371
|
email: e.identity.email
|
|
7182
7372
|
}
|
|
7183
7373
|
}),
|
|
7184
|
-
"signed-out": () =>
|
|
7374
|
+
"signed-out": () => ul({ kind: "unresolved" })
|
|
7185
7375
|
},
|
|
7186
7376
|
recovering: {
|
|
7187
|
-
"mint-success": (e, t) =>
|
|
7377
|
+
"mint-success": (e, t) => ul({
|
|
7188
7378
|
kind: "anon",
|
|
7189
7379
|
identity: t.identity
|
|
7190
7380
|
}),
|
|
7191
|
-
"signed-in": (e, t) =>
|
|
7381
|
+
"signed-in": (e, t) => ul({
|
|
7192
7382
|
kind: "verified",
|
|
7193
7383
|
identity: t.identity
|
|
7194
7384
|
})
|
|
7195
7385
|
}
|
|
7196
7386
|
});
|
|
7197
|
-
function
|
|
7198
|
-
let [a, o] = z(
|
|
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);
|
|
7199
7389
|
B(() => {
|
|
7200
7390
|
let n = !1;
|
|
7201
7391
|
return Ri(e, t).then((e) => {
|
|
@@ -7205,7 +7395,7 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7205
7395
|
};
|
|
7206
7396
|
}, [e, t]);
|
|
7207
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);
|
|
7208
|
-
D.current = f,
|
|
7398
|
+
D.current = f, ms(f, e, t, (e) => p({
|
|
7209
7399
|
type: "signed-in",
|
|
7210
7400
|
identity: e
|
|
7211
7401
|
}), () => p({ type: "unauthorized" }));
|
|
@@ -7251,18 +7441,18 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7251
7441
|
}).finally(() => {
|
|
7252
7442
|
ae(!1);
|
|
7253
7443
|
});
|
|
7254
|
-
}, [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);
|
|
7255
7445
|
B(() => {
|
|
7256
|
-
|
|
7446
|
+
Le(null);
|
|
7257
7447
|
}, [f.kind, Ne]);
|
|
7258
|
-
let
|
|
7448
|
+
let Re = Pi(Pe, f.kind), ze = Fi({
|
|
7259
7449
|
access: Pe,
|
|
7260
7450
|
identityKind: f.kind,
|
|
7261
7451
|
hasAuthorName: je != null,
|
|
7262
|
-
refusal:
|
|
7263
|
-
}),
|
|
7452
|
+
refusal: Ie
|
|
7453
|
+
}), Be = H((e) => {
|
|
7264
7454
|
let t = Ii(e);
|
|
7265
|
-
throw t &&
|
|
7455
|
+
throw t && Le(t), e;
|
|
7266
7456
|
}, []);
|
|
7267
7457
|
B(() => {
|
|
7268
7458
|
if (f.kind !== "unresolved" && f.kind !== "recovering") return;
|
|
@@ -7293,17 +7483,17 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7293
7483
|
p,
|
|
7294
7484
|
d
|
|
7295
7485
|
]);
|
|
7296
|
-
let
|
|
7486
|
+
let Ve = us(O), [He, Ue] = z(null);
|
|
7297
7487
|
B(() => {
|
|
7298
7488
|
let t = new Hr(e.replace(/\.convex\.site(\/.*)?$/, ".convex.cloud"));
|
|
7299
|
-
return
|
|
7300
|
-
t.close(),
|
|
7489
|
+
return Ue(t), () => {
|
|
7490
|
+
t.close(), Ue((e) => e === t ? null : e);
|
|
7301
7491
|
};
|
|
7302
7492
|
}, [e]);
|
|
7303
|
-
let
|
|
7493
|
+
let We = V(!1);
|
|
7304
7494
|
B(() => {
|
|
7305
|
-
if (!(!
|
|
7306
|
-
subscriptionToken:
|
|
7495
|
+
if (!(!He || !Ve)) return P(), ve(), He.onUpdate(Nn("widget/queries:subscribeThreadsForRoute"), {
|
|
7496
|
+
subscriptionToken: Ve,
|
|
7307
7497
|
route: a,
|
|
7308
7498
|
viewerClientId: Ne,
|
|
7309
7499
|
includeResolved: S
|
|
@@ -7311,42 +7501,38 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7311
7501
|
e !== void 0 && (c(e), u(!0));
|
|
7312
7502
|
});
|
|
7313
7503
|
}, [
|
|
7504
|
+
He,
|
|
7314
7505
|
Ve,
|
|
7315
|
-
Be,
|
|
7316
7506
|
a,
|
|
7317
7507
|
Ne,
|
|
7318
7508
|
S,
|
|
7319
7509
|
P,
|
|
7320
7510
|
ve
|
|
7321
7511
|
]), B(() => {
|
|
7322
|
-
if (!(!
|
|
7512
|
+
if (!(!He || !Ve)) return He.onUpdate(Nn("widget/queries:subscribeProjectSettings"), { subscriptionToken: Ve }, (e) => {
|
|
7323
7513
|
let t = e?.commentAccess;
|
|
7324
|
-
|
|
7514
|
+
Fe(t === "members" ? "members" : Ni);
|
|
7325
7515
|
});
|
|
7326
|
-
}, [
|
|
7516
|
+
}, [He, Ve]), B(() => {
|
|
7327
7517
|
if (f.kind !== "verified") {
|
|
7328
7518
|
M(0);
|
|
7329
7519
|
return;
|
|
7330
7520
|
}
|
|
7331
|
-
if (!(!
|
|
7521
|
+
if (!(!He || !Ve)) return He.onUpdate(Nn("widget/queries:subscribeUnreadCountForProject"), { subscriptionToken: Ve }, (e) => {
|
|
7332
7522
|
e !== void 0 && M(e.count);
|
|
7333
7523
|
});
|
|
7334
7524
|
}, [
|
|
7525
|
+
He,
|
|
7335
7526
|
Ve,
|
|
7336
|
-
Be,
|
|
7337
7527
|
f.kind
|
|
7338
7528
|
]), B(() => {
|
|
7339
|
-
if (
|
|
7340
|
-
let e =
|
|
7341
|
-
|
|
7342
|
-
|
|
7343
|
-
|
|
7344
|
-
|
|
7345
|
-
|
|
7346
|
-
}), history.replaceState(null, "", window.location.pathname + window.location.search);
|
|
7347
|
-
}
|
|
7348
|
-
Ue.current = !0;
|
|
7349
|
-
}, [s, l]), B(() => Gi(() => o(Lc())), []), B(() => {
|
|
7529
|
+
if (We.current || !l) return;
|
|
7530
|
+
let e = pa();
|
|
7531
|
+
e !== null && (s.find((t) => t._id === e) && A({
|
|
7532
|
+
kind: "thread",
|
|
7533
|
+
threadId: e
|
|
7534
|
+
}), ha()), We.current = !0;
|
|
7535
|
+
}, [s, l]), B(() => Gi(() => o(fa())), []), B(() => {
|
|
7350
7536
|
function e(e) {
|
|
7351
7537
|
e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(), Ee({ type: "toggle" })));
|
|
7352
7538
|
}
|
|
@@ -7373,20 +7559,20 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7373
7559
|
window.removeEventListener("scroll", t, { capture: !0 }), window.removeEventListener("resize", t), n.disconnect(), e != null && cancelAnimationFrame(e);
|
|
7374
7560
|
};
|
|
7375
7561
|
}, []);
|
|
7376
|
-
let
|
|
7562
|
+
let Ge = H(() => {
|
|
7377
7563
|
P(), ve(), xe("comment_started"), A({ kind: "placing" });
|
|
7378
7564
|
}, [P, ve]);
|
|
7379
7565
|
B(() => {
|
|
7380
7566
|
function e(e) {
|
|
7381
|
-
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())));
|
|
7382
7568
|
}
|
|
7383
7569
|
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
7384
7570
|
}, [
|
|
7385
7571
|
k.kind,
|
|
7386
7572
|
De,
|
|
7387
|
-
|
|
7573
|
+
Ge
|
|
7388
7574
|
]);
|
|
7389
|
-
let
|
|
7575
|
+
let I = H(() => {
|
|
7390
7576
|
A({ kind: "idle" }), P(), ve();
|
|
7391
7577
|
}, [P, ve]), L = V(0), Ke = H((e, t, n) => {
|
|
7392
7578
|
let i = t + window.scrollX, a = n + window.scrollY, o = ++L.current;
|
|
@@ -7421,7 +7607,7 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7421
7607
|
strictScrub: r?.strictScrub,
|
|
7422
7608
|
redactSelector: r?.redactSelector
|
|
7423
7609
|
};
|
|
7424
|
-
|
|
7610
|
+
ts(s, {
|
|
7425
7611
|
x: t,
|
|
7426
7612
|
y: n
|
|
7427
7613
|
}, c).then((e) => {
|
|
@@ -7442,7 +7628,7 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7442
7628
|
});
|
|
7443
7629
|
}, [p]), Je = fe.isPending, Ye = H(async () => {
|
|
7444
7630
|
xe("sign_in_started"), await ge(async () => {
|
|
7445
|
-
let n =
|
|
7631
|
+
let n = sl(await sa({
|
|
7446
7632
|
apiUrl: e,
|
|
7447
7633
|
apiKey: t,
|
|
7448
7634
|
useCookies: m === !0
|
|
@@ -7465,7 +7651,7 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7465
7651
|
n && await N(async () => {
|
|
7466
7652
|
let r;
|
|
7467
7653
|
if (t && k.screenshot) {
|
|
7468
|
-
let { uploadUrl: e } = await O.getScreenshotUploadUrl().catch(
|
|
7654
|
+
let { uploadUrl: e } = await O.getScreenshotUploadUrl().catch(Be), t;
|
|
7469
7655
|
try {
|
|
7470
7656
|
t = await fetch(e, {
|
|
7471
7657
|
method: "POST",
|
|
@@ -7497,7 +7683,7 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7497
7683
|
body: e,
|
|
7498
7684
|
mentions: i.length > 0 ? i : void 0,
|
|
7499
7685
|
screenshotStorageId: r
|
|
7500
|
-
}).catch(
|
|
7686
|
+
}).catch(Be);
|
|
7501
7687
|
c((e) => [...e, o.thread]), xe("comment_submitted", {
|
|
7502
7688
|
hasScreenshot: r != null,
|
|
7503
7689
|
hasMentions: i.length > 0
|
|
@@ -7510,7 +7696,7 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7510
7696
|
O,
|
|
7511
7697
|
f,
|
|
7512
7698
|
k,
|
|
7513
|
-
|
|
7699
|
+
Be,
|
|
7514
7700
|
a,
|
|
7515
7701
|
N
|
|
7516
7702
|
]), Xe = H(async () => {
|
|
@@ -7543,8 +7729,8 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7543
7729
|
threadId: e.threadId
|
|
7544
7730
|
});
|
|
7545
7731
|
else {
|
|
7546
|
-
let t =
|
|
7547
|
-
t && (
|
|
7732
|
+
let t = _a(e.threadUrl, e.threadId);
|
|
7733
|
+
t && (window.location.href = t);
|
|
7548
7734
|
}
|
|
7549
7735
|
}, [O, s]), $e = H(() => {
|
|
7550
7736
|
le(!0), M(0), re((e) => e.map((e) => e.readAt == null ? {
|
|
@@ -7562,14 +7748,14 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7562
7748
|
authorName: t.name,
|
|
7563
7749
|
authorEmail: t.email,
|
|
7564
7750
|
mentions: r.length > 0 ? r : void 0
|
|
7565
|
-
}).catch(
|
|
7751
|
+
}).catch(Be);
|
|
7566
7752
|
c((e) => e.map((e) => e._id === n ? i.thread : e)), xe("reply_submitted", { hasMentions: r.length > 0 });
|
|
7567
7753
|
});
|
|
7568
7754
|
}, [
|
|
7569
7755
|
O,
|
|
7570
7756
|
f,
|
|
7571
7757
|
k,
|
|
7572
|
-
|
|
7758
|
+
Be,
|
|
7573
7759
|
N
|
|
7574
7760
|
]), tt = H(async (e, t) => {
|
|
7575
7761
|
if (k.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
|
|
@@ -7600,8 +7786,8 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7600
7786
|
N
|
|
7601
7787
|
]), rt = H(async (e, t) => {
|
|
7602
7788
|
if (k.kind !== "thread") return;
|
|
7603
|
-
if (!
|
|
7604
|
-
|
|
7789
|
+
if (!Re) {
|
|
7790
|
+
Le("sign_in_required");
|
|
7605
7791
|
return;
|
|
7606
7792
|
}
|
|
7607
7793
|
let n = na(f);
|
|
@@ -7611,15 +7797,15 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7611
7797
|
let i = await O.toggleReaction(e, {
|
|
7612
7798
|
emoji: t,
|
|
7613
7799
|
authorName: n.name
|
|
7614
|
-
}).catch(
|
|
7800
|
+
}).catch(Be);
|
|
7615
7801
|
c((e) => e.map((e) => e._id === r ? i.thread : e)), xe("reaction_added");
|
|
7616
7802
|
});
|
|
7617
7803
|
}, [
|
|
7618
7804
|
O,
|
|
7619
|
-
|
|
7805
|
+
Re,
|
|
7620
7806
|
f,
|
|
7621
7807
|
k,
|
|
7622
|
-
|
|
7808
|
+
Be,
|
|
7623
7809
|
_e
|
|
7624
7810
|
]), [it, ot] = z(!1), st = H(async () => {
|
|
7625
7811
|
await ye(async () => {
|
|
@@ -7697,11 +7883,11 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7697
7883
|
n.disconnect(), e != null && cancelAnimationFrame(e);
|
|
7698
7884
|
};
|
|
7699
7885
|
}, [mt]), B(() => {
|
|
7700
|
-
k.kind === "thread" && dt == null &&
|
|
7886
|
+
k.kind === "thread" && dt == null && I();
|
|
7701
7887
|
}, [
|
|
7702
7888
|
k,
|
|
7703
7889
|
dt,
|
|
7704
|
-
|
|
7890
|
+
I
|
|
7705
7891
|
]), /* @__PURE__ */ Q("div", {
|
|
7706
7892
|
class: "markup-root",
|
|
7707
7893
|
ref: Ae,
|
|
@@ -7710,7 +7896,7 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7710
7896
|
class: "markup-pins-layer",
|
|
7711
7897
|
children: [!De && v ? U.map(({ thread: e, point: t }) => {
|
|
7712
7898
|
let n = k.kind === "thread" && k.threadId === e._id, r = e.comments.reduce((e, t) => e + +!t.deleted, 0);
|
|
7713
|
-
return /* @__PURE__ */ Q(
|
|
7899
|
+
return /* @__PURE__ */ Q(Vc, {
|
|
7714
7900
|
pageX: t.pageX,
|
|
7715
7901
|
pageY: t.pageY,
|
|
7716
7902
|
count: r,
|
|
@@ -7724,19 +7910,19 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7724
7910
|
});
|
|
7725
7911
|
}
|
|
7726
7912
|
}, e._id);
|
|
7727
|
-
}) : null, k.kind === "composing-new" ? /* @__PURE__ */ Q(
|
|
7913
|
+
}) : null, k.kind === "composing-new" ? /* @__PURE__ */ Q(Hc, {
|
|
7728
7914
|
pageX: k.pageX,
|
|
7729
7915
|
pageY: k.pageY
|
|
7730
7916
|
}) : null]
|
|
7731
7917
|
}),
|
|
7732
|
-
k.kind === "placing" ? /* @__PURE__ */ Q(
|
|
7918
|
+
k.kind === "placing" ? /* @__PURE__ */ Q(Uc, {
|
|
7733
7919
|
onPlace: Ke,
|
|
7734
|
-
onCancel:
|
|
7920
|
+
onCancel: I
|
|
7735
7921
|
}) : null,
|
|
7736
|
-
k.kind === "thread" && dt ? /* @__PURE__ */ Q(
|
|
7922
|
+
k.kind === "thread" && dt ? /* @__PURE__ */ Q(Xc, {
|
|
7737
7923
|
thread: dt,
|
|
7738
7924
|
authorName: je,
|
|
7739
|
-
authorPromptMode:
|
|
7925
|
+
authorPromptMode: ze,
|
|
7740
7926
|
currentClientId: Ne ?? null,
|
|
7741
7927
|
isVerified: Me,
|
|
7742
7928
|
isIdentityResolving: F,
|
|
@@ -7749,7 +7935,7 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7749
7935
|
onAuthor: qe,
|
|
7750
7936
|
onSignIn: Ye,
|
|
7751
7937
|
onSignOut: ut,
|
|
7752
|
-
onClose:
|
|
7938
|
+
onClose: I,
|
|
7753
7939
|
onReply: et,
|
|
7754
7940
|
onEditComment: tt,
|
|
7755
7941
|
onDeleteComment: nt,
|
|
@@ -7757,11 +7943,11 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7757
7943
|
onDelete: Xe,
|
|
7758
7944
|
onResolve: Ze
|
|
7759
7945
|
}, dt._id) : null,
|
|
7760
|
-
k.kind === "composing-new" ? /* @__PURE__ */ Q(
|
|
7946
|
+
k.kind === "composing-new" ? /* @__PURE__ */ Q(jc, {
|
|
7761
7947
|
pageX: k.pageX,
|
|
7762
7948
|
pageY: k.pageY,
|
|
7763
7949
|
authorName: je,
|
|
7764
|
-
authorPromptMode:
|
|
7950
|
+
authorPromptMode: ze,
|
|
7765
7951
|
isVerified: Me,
|
|
7766
7952
|
isIdentityResolving: F,
|
|
7767
7953
|
isSigningIn: Je,
|
|
@@ -7777,11 +7963,11 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7777
7963
|
onSignIn: Ye,
|
|
7778
7964
|
onSignOut: ut,
|
|
7779
7965
|
onSubmit: R,
|
|
7780
|
-
onClose:
|
|
7966
|
+
onClose: I
|
|
7781
7967
|
}) : null,
|
|
7782
|
-
!De || k.kind === "placing" || k.kind === "composing-new" ? /* @__PURE__ */ Q(
|
|
7968
|
+
!De || k.kind === "placing" || k.kind === "composing-new" ? /* @__PURE__ */ Q(ol, {
|
|
7783
7969
|
isActive: k.kind === "placing",
|
|
7784
|
-
onToggle: () => k.kind === "placing" ?
|
|
7970
|
+
onToggle: () => k.kind === "placing" ? I() : Ge(),
|
|
7785
7971
|
onHide: () => Ee({ type: "hide-with-toast" }),
|
|
7786
7972
|
position: g,
|
|
7787
7973
|
showInbox: Me,
|
|
@@ -7793,7 +7979,7 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7793
7979
|
},
|
|
7794
7980
|
pinsVisible: v,
|
|
7795
7981
|
onTogglePins: () => y((e) => !e),
|
|
7796
|
-
identityButton: /* @__PURE__ */ Q(
|
|
7982
|
+
identityButton: /* @__PURE__ */ Q(Bs, {
|
|
7797
7983
|
identity: f,
|
|
7798
7984
|
position: g,
|
|
7799
7985
|
isSigningIn: Je,
|
|
@@ -7804,7 +7990,7 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7804
7990
|
onSignOut: ut,
|
|
7805
7991
|
onForgetMe: st
|
|
7806
7992
|
}),
|
|
7807
|
-
overflowButton: /* @__PURE__ */ Q(
|
|
7993
|
+
overflowButton: /* @__PURE__ */ Q(Ic, {
|
|
7808
7994
|
position: g,
|
|
7809
7995
|
onSetPosition: _,
|
|
7810
7996
|
autoCapture: b && r?.enabled !== !1,
|
|
@@ -7815,17 +8001,17 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7815
8001
|
onOpenPrivacy: () => T("privacy"),
|
|
7816
8002
|
onOpenShortcuts: () => T("shortcuts"),
|
|
7817
8003
|
onHideForSession: () => Ee({ type: "hide-with-toast" }),
|
|
7818
|
-
version: "1.
|
|
8004
|
+
version: "1.24.0",
|
|
7819
8005
|
dashboardUrl: i
|
|
7820
8006
|
})
|
|
7821
8007
|
}) : null,
|
|
7822
|
-
w === "inbox" && Me ? /* @__PURE__ */ Q(
|
|
8008
|
+
w === "inbox" && Me ? /* @__PURE__ */ Q(Bc, {
|
|
7823
8009
|
kind: "inbox",
|
|
7824
8010
|
label: "Inbox",
|
|
7825
8011
|
position: g,
|
|
7826
8012
|
ignoreToolbarKind: "inbox",
|
|
7827
8013
|
onClose: E,
|
|
7828
|
-
children: /* @__PURE__ */ Q(
|
|
8014
|
+
children: /* @__PURE__ */ Q(Nc, {
|
|
7829
8015
|
items: ne,
|
|
7830
8016
|
isLoading: ie,
|
|
7831
8017
|
error: oe,
|
|
@@ -7837,12 +8023,12 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7837
8023
|
onMarkAllRead: $e
|
|
7838
8024
|
})
|
|
7839
8025
|
}) : null,
|
|
7840
|
-
w === "privacy" ? /* @__PURE__ */ Q(
|
|
8026
|
+
w === "privacy" ? /* @__PURE__ */ Q(Bc, {
|
|
7841
8027
|
kind: "privacy",
|
|
7842
8028
|
label: "Privacy and data",
|
|
7843
8029
|
position: g,
|
|
7844
8030
|
onClose: E,
|
|
7845
|
-
children: /* @__PURE__ */ Q(
|
|
8031
|
+
children: /* @__PURE__ */ Q(Gc, {
|
|
7846
8032
|
identity: f,
|
|
7847
8033
|
apiUrl: e,
|
|
7848
8034
|
commentAccess: Pe,
|
|
@@ -7854,21 +8040,21 @@ function Vc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7854
8040
|
onClose: E
|
|
7855
8041
|
})
|
|
7856
8042
|
}) : null,
|
|
7857
|
-
w === "shortcuts" ? /* @__PURE__ */ Q(
|
|
8043
|
+
w === "shortcuts" ? /* @__PURE__ */ Q(Bc, {
|
|
7858
8044
|
kind: "shortcuts",
|
|
7859
8045
|
label: "Keyboard shortcuts",
|
|
7860
8046
|
position: g,
|
|
7861
8047
|
onClose: E,
|
|
7862
|
-
children: /* @__PURE__ */ Q(
|
|
8048
|
+
children: /* @__PURE__ */ Q(qc, { onClose: E })
|
|
7863
8049
|
}) : null,
|
|
7864
|
-
Te.kind === "hidden-with-toast" ? /* @__PURE__ */ Q(
|
|
7865
|
-
it ? /* @__PURE__ */ Q(
|
|
7866
|
-
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
|
|
7867
8053
|
]
|
|
7868
8054
|
});
|
|
7869
8055
|
}
|
|
7870
|
-
function
|
|
7871
|
-
let { mod: t } =
|
|
8056
|
+
function pl({ position: e }) {
|
|
8057
|
+
let { mod: t } = hs();
|
|
7872
8058
|
return /* @__PURE__ */ Q("div", {
|
|
7873
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"),
|
|
7874
8060
|
role: "status",
|
|
@@ -7887,7 +8073,7 @@ function Hc({ position: e }) {
|
|
|
7887
8073
|
]
|
|
7888
8074
|
});
|
|
7889
8075
|
}
|
|
7890
|
-
function
|
|
8076
|
+
function ml({ position: e }) {
|
|
7891
8077
|
return /* @__PURE__ */ Q("div", {
|
|
7892
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"),
|
|
7893
8079
|
role: "status",
|
|
@@ -7895,7 +8081,7 @@ function Uc({ position: e }) {
|
|
|
7895
8081
|
children: "Forgotten on this site — your name and email were cleared."
|
|
7896
8082
|
});
|
|
7897
8083
|
}
|
|
7898
|
-
function
|
|
8084
|
+
function hl({ position: e }) {
|
|
7899
8085
|
return /* @__PURE__ */ Q("div", {
|
|
7900
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"),
|
|
7901
8087
|
role: "status",
|
|
@@ -7905,52 +8091,52 @@ function Wc({ position: e }) {
|
|
|
7905
8091
|
}
|
|
7906
8092
|
//#endregion
|
|
7907
8093
|
//#region src/runtime/mount.tsx
|
|
7908
|
-
function
|
|
7909
|
-
e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = "2147483647", e.style.pointerEvents = "none",
|
|
7910
|
-
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");
|
|
7911
8097
|
i.textContent = fe, r.appendChild(i);
|
|
7912
8098
|
let a = document.createElement("div");
|
|
7913
8099
|
a.className = "markup-shadow-root", r.appendChild(a), Me({
|
|
7914
8100
|
apiUrl: t.apiUrl,
|
|
7915
8101
|
apiKey: t.apiKey,
|
|
7916
|
-
widgetVersion: "1.
|
|
8102
|
+
widgetVersion: "1.24.0"
|
|
7917
8103
|
}), be(t.analytics === !1 ? null : {
|
|
7918
8104
|
apiUrl: t.apiUrl,
|
|
7919
8105
|
apiKey: t.apiKey,
|
|
7920
|
-
widgetVersion: "1.
|
|
8106
|
+
widgetVersion: "1.24.0"
|
|
7921
8107
|
}), xe("widget_loaded");
|
|
7922
8108
|
let { theme: o, analytics: s, ...c } = t;
|
|
7923
8109
|
return de(/* @__PURE__ */ Q(we, {
|
|
7924
8110
|
onError: (e) => F(e, { context: "render" }),
|
|
7925
|
-
children: /* @__PURE__ */ Q(
|
|
8111
|
+
children: /* @__PURE__ */ Q(fl, { ...c })
|
|
7926
8112
|
}), a), () => {
|
|
7927
8113
|
n(), Me(null), be(null), de(null, a);
|
|
7928
8114
|
};
|
|
7929
8115
|
}
|
|
7930
8116
|
//#endregion
|
|
7931
8117
|
//#region src/widget.ts
|
|
7932
|
-
var
|
|
7933
|
-
function
|
|
8118
|
+
var _l = null, vl = null, yl = null, bl = !1;
|
|
8119
|
+
function xl(e) {
|
|
7934
8120
|
if (!e.apiUrl || !e.apiKey) return console.warn("[markup] init() requires both apiUrl and apiKey, so the widget was not mounted"), () => {};
|
|
7935
|
-
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();
|
|
7936
8122
|
let t = () => {
|
|
7937
|
-
if (
|
|
8123
|
+
if (yl = null, !document.body) return;
|
|
7938
8124
|
let t = document.createElement("div");
|
|
7939
|
-
t.id = "markup-widget", document.body.appendChild(t),
|
|
8125
|
+
t.id = "markup-widget", document.body.appendChild(t), vl = t, _l = gl(t, e);
|
|
7940
8126
|
};
|
|
7941
8127
|
if (document.readyState === "loading" || !document.body) {
|
|
7942
8128
|
let e = () => t();
|
|
7943
|
-
|
|
8129
|
+
yl = () => document.removeEventListener("DOMContentLoaded", e), document.addEventListener("DOMContentLoaded", e, { once: !0 });
|
|
7944
8130
|
} else t();
|
|
7945
|
-
return
|
|
8131
|
+
return Sl;
|
|
7946
8132
|
}
|
|
7947
|
-
function
|
|
7948
|
-
|
|
8133
|
+
function Sl() {
|
|
8134
|
+
yl &&= (yl(), null), _l &&= (_l(), null), vl?.parentNode && vl.parentNode.removeChild(vl), vl = null;
|
|
7949
8135
|
}
|
|
7950
8136
|
if (typeof document < "u") {
|
|
7951
8137
|
let e = document.currentScript ?? document.querySelector("script[data-markup-widget=\"true\"]"), t = e?.dataset.apiUrl, n = e?.dataset.apiKey;
|
|
7952
8138
|
if (t && n) {
|
|
7953
|
-
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({
|
|
7954
8140
|
apiUrl: t,
|
|
7955
8141
|
apiKey: n,
|
|
7956
8142
|
position: r,
|
|
@@ -7963,6 +8149,6 @@ if (typeof document < "u") {
|
|
|
7963
8149
|
}
|
|
7964
8150
|
}
|
|
7965
8151
|
//#endregion
|
|
7966
|
-
export {
|
|
8152
|
+
export { Sl as destroy, xl as init };
|
|
7967
8153
|
|
|
7968
8154
|
//# sourceMappingURL=widget.js.map
|