helldots 0.8.0 → 0.9.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 +4 -0
- package/dist/helldots.esm.js +1 -1
- package/dist/helldots.esm.js.map +2 -2
- package/dist/helldots.umd.js +1 -1
- package/package.json +3 -2
package/dist/helldots.umd.js
CHANGED
|
@@ -15,7 +15,7 @@ var HellDots=(()=>{var nt=Object.defineProperty;var wo=Object.getOwnPropertyDesc
|
|
|
15
15
|
}
|
|
16
16
|
`}),a.appendChild(o.createTextNode(x))}r.timeEnd("clone node"),await h?.(g),d!==!1&&P(g)&&(r.time("embed web font"),await Mi(g,t),r.timeEnd("embed web font")),r.time("embed node"),dn(g,t);let E=i.length,b=0,T=async()=>{for(;;){let x=i.pop();if(!x)break;try{await x}catch(v){t.log.warn("Failed to run task",v)}p?.(++b,E)}};p?.(b,E),await Promise.all([...Array.from({length:4})].map(T)),r.timeEnd("embed node"),await m?.(g);let _=Xi(g,t);return l&&_.insertBefore(l,_.children[0]),a&&_.insertBefore(a,_.children[0]),u&&Oi(t),await f?.(_),_}function Xi(n,e){let{width:t,height:o}=e,r=Qo(t,o,n.ownerDocument),i=r.ownerDocument.createElementNS(r.namespaceURI,"foreignObject");return i.setAttributeNS(null,"x","0%"),i.setAttributeNS(null,"y","0%"),i.setAttributeNS(null,"width","100%"),i.setAttributeNS(null,"height","100%"),i.append(n),r.appendChild(i),r}async function pn(n,e){let t=await tn(n,e),o=await Ui(t),r=ei(o,t.isEnable("removeControlCharacter"));t.autoDestruct||(t.svgStyleElement=nn(t.ownerDocument),t.svgDefsElement=t.ownerDocument?.createElementNS(Ne,"defs"),t.svgStyles.clear());let i=Q(r,o.ownerDocument);return await li(i,t)}var $="helldots-root",Fi=()=>{customElements.get($)||customElements.define($,class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}})};function un(){Fi();let n=document.querySelector($);return n||(n=document.createElement($),document.body.appendChild(n)),n.shadowRoot}var lt=()=>typeof performance?.now=="function"?performance.now():Date.now(),zi=()=>new Promise(n=>{if(typeof MessageChannel!="function"){setTimeout(n);return}let e=new MessageChannel;e.port1.onmessage=()=>{e.port1.close(),n()},e.port2.postMessage(null)}),Gi=()=>{let n=globalThis.scheduler;return typeof n?.yield=="function"?n.yield():zi()};function hn({budgetMs:n=8}={}){let e=lt(),t=()=>{e=lt()};return()=>{if(!(lt()-e<n))return Gi().then(t,t)}}var Vi=["background-clip","font-family","font-kerning","overflow-x","overflow-y","text-overflow","text-transform"],mn=[...Vi,"aspect-ratio","border-collapse","border-spacing","bottom","box-sizing","caption-side","clear","display","empty-cells","float","height","isolation","left","margin-bottom","margin-left","margin-right","margin-top","max-height","max-width","min-height","min-width","padding-bottom","padding-left","padding-right","padding-top","position","right","table-layout","top","vertical-align","visibility","width","z-index","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left-color","border-left-style","border-left-width","border-right-color","border-right-style","border-right-width","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","outline-color","outline-offset","outline-style","outline-width","align-content","align-items","align-self","column-count","column-fill","column-gap","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","flex-basis","flex-direction","flex-grow","flex-shrink","flex-wrap","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column-end","grid-column-start","grid-row-end","grid-row-start","grid-template-areas","grid-template-columns","grid-template-rows","justify-content","justify-items","justify-self","order","row-gap","color","direction","font-feature-settings","font-size","font-stretch","font-style","font-variant","font-variation-settings","font-weight","hyphens","letter-spacing","line-height","list-style-image","list-style-position","list-style-type","overflow-wrap","tab-size","text-align","text-align-last","text-decoration-color","text-decoration-line","text-decoration-style","text-decoration-thickness","text-indent","text-orientation","text-shadow","text-underline-offset","text-underline-position","unicode-bidi","white-space","word-break","word-spacing","writing-mode","-webkit-box-orient","-webkit-line-clamp","-webkit-text-fill-color","-webkit-text-stroke-color","-webkit-text-stroke-width","backdrop-filter","backface-visibility","background-attachment","background-blend-mode","background-color","background-image","background-origin","background-position-x","background-position-y","background-repeat","background-size","box-shadow","clip-path","filter","mask-image","mask-mode","mask-position","mask-repeat","mask-size","mix-blend-mode","object-fit","object-position","opacity","perspective","perspective-origin","rotate","scale","transform","transform-origin","transform-style","translate","accent-color","appearance","dominant-baseline","fill","fill-opacity","fill-rule","paint-order","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-opacity","stroke-width","text-anchor"];var Yi=(n,e)=>{try{let t=document.createElement("canvas");if(t.width=n,t.height=e,t.width!==n||t.height!==e)return!1;let o=t.getContext("2d");return o?(o.fillStyle="#ffffff",o.fillRect(0,0,1,1),o.getImageData(0,0,1,1).data[3]!==0):!1}catch{return!1}},Le=null,ji=()=>(Le!==null||(Le=[65535,32767,16384,8192,4096].find(n=>Yi(1,n))??4096),Le),fn=(n,e,t,o={})=>{if(!(n>0)||!(e>0))return t;let{maxDimension:r=ji(),maxArea:i=268435456}=o;return Math.min(t,r/n,r/e,Math.sqrt(i/(n*e)))},gn=n=>{try{let e=n?.getContext?.("2d");return!!e&&e.getImageData(0,0,1,1).data[3]!==0}catch{return!1}};var dt=.5,Wi=.7,En=n=>!n||n==="transparent"||n==="rgba(0, 0, 0, 0)",bn=()=>{let n=getComputedStyle(document.documentElement).backgroundColor;if(!En(n))return n;let e=getComputedStyle(document.body).backgroundColor;return En(e)?"#ffffff":e},Cn=()=>{try{let n=document.implementation.createHTMLDocument(""),e=n.createElement("style");return n.head.appendChild(e),e.sheet!==null}catch{return!1}},qi=n=>{let e=[],t=n.indexOf("@font-face");for(;t!==-1;){let o=n.indexOf("{",t),r=o===-1?-1:n.indexOf("}",o);if(r===-1)break;e.push(n.slice(t,r+1)),t=n.indexOf("@font-face",r)}return e.join(`
|
|
17
17
|
`)},ct=new Map,Ki=n=>(ct.has(n)||ct.set(n,fetch(n,{mode:"cors",credentials:"omit"}).then(e=>e.ok?e.text():"").then(qi).catch(()=>"")),ct.get(n)),Zi=n=>{try{return!!n.cssRules}catch{return!1}},Ji=async n=>{let e=()=>{};if(!n||!Cn())return e;let t=Array.from(document.styleSheets).filter(i=>i.href&&!Zi(i)).map(i=>i.href);if(!t.length)return e;let o=(await Promise.all(t.map(Ki))).filter(Boolean).join(`
|
|
18
|
-
`);if(!o)return e;let r=document.createElement("style");return r.textContent=o,document.head.appendChild(r),()=>r.remove()},Qi=n=>e=>!(e.nodeName?.toLowerCase()===$||n&&e.ownerDocument!==document);async function pt({scale:n=1,embedCrossOriginFonts:e=!1,fastCapture:t=!1,skipIframeContent:o=!1,captureTimeout:r}={}){let i=await Ji(e),{width:a,height:l}=document.documentElement.getBoundingClientRect(),c=fn(a,l,n);try{for(let d=3;;d--){let p=await pn(document.documentElement,{scale:c,backgroundColor:bn(),...Cn()?{}:{font:!1},filter:Qi(o),onCloneEachNode:hn(),...t?{includeStyleProperties:mn}:{},...Number.isFinite(r)&&r>0?{timeout:r}:{}});if(gn(p))return{canvas:p,scale:c};if(d<=0)throw new Error(`HellDots: the page render came back holding no pixels. ${Math.round(a)}x${Math.round(l)} CSS pixels is most likely past this browser's canvas limit.`);c/=2}}finally{i()}}var _n=(n,e,t)=>{n.fillStyle=bn(),n.fillRect(0,0,e,t)};function Tn(n,{left:e,top:t,width:o,height:r},{sourceScale:i=1}={}){let a=document.createElement("canvas");a.width=o,a.height=r;let l=a.getContext("2d");return l?(_n(l,o,r),l.drawImage(n,(e+window.scrollX)*i,(t+window.scrollY)*i,o*i,r*i,0,0,o,r),a.toDataURL("image/png")):null}function ut(n,{sourceScale:e=1,outputScale:t=dt,quality:o=Wi}={}){let r=document.createElement("canvas");r.width=Math.round(window.innerWidth*t),r.height=Math.round(window.innerHeight*t);let i=r.getContext("2d");return i?(_n(i,r.width,r.height),i.drawImage(n,window.scrollX*e,window.scrollY*e,window.innerWidth*e,window.innerHeight*e,0,0,r.width,r.height),r.toDataURL("image/jpeg",o)):null}var s={CIRCLE:"comment-circle",CIRCLE_ACTIVE:"comment-circle--active",TOOLTIP:"comment-tooltip",TOOLBAR_TEXT:"toolbar-text",SHORTCUT_HINT:"shortcut-hint",COMMENT_INPUT_AREA:"comment-input-area",CLOSE_TOOLTIP:"close-tooltip",ACTIVE:"active",COMMENT_CURSOR:"comment-cursor",COMMENT_OVERLAY:"comment-overlay",THREAD_POPOVER:"comment-thread-popover",THREAD_HEADER:"thread-header",THREAD_BODY:"thread-body",THREAD_REPLIES:"thread-replies",THREAD_REPLY:"thread-reply",THREAD_REPLY_ACTIONS:"thread-reply-actions",THREAD_INPUT_AREA:"thread-input-area",THREAD_INPUT:"thread-input",THREAD_SUBMIT:"thread-submit",THREAD_ACTIONS_ROW:"thread-actions-row",THREAD_SCROLL:"thread-scroll",THREAD_META:"thread-meta",THREAD_AUTHOR:"thread-author",INBOX_HEADER_ACTIONS:"inbox-header-actions",INBOX_METRICS_BTN:"inbox-metrics-btn",METRICS_VIEW:"metrics-view",METRICS_TILES:"metrics-tiles",METRICS_TILE:"metrics-tile",METRICS_TILE_VALUE:"metrics-tile-value",METRICS_TILE_LABEL:"metrics-tile-label",METRICS_GROUP:"metrics-group",METRICS_HEADING:"metrics-heading",METRICS_ROW:"metrics-row",METRICS_ROW_LABEL:"metrics-row-label",METRICS_TRACK:"metrics-track",METRICS_BAR:"metrics-bar",METRICS_ROW_COUNT:"metrics-row-count",METRICS_CHART:"metrics-chart",METRICS_AXIS:"metrics-axis",METRICS_EXPORTS:"metrics-exports",METRICS_EXPORT_BTN:"metrics-export-btn",METRICS_EMPTY:"metrics-empty",AUDIT_BLOCK:"audit-block",AUDIT_TOGGLE:"audit-toggle",AUDIT_BODY:"audit-body",AUDIT_LIST:"audit-list",AUDIT_ROW:"audit-row",AUDIT_ACTION:"audit-action",AUDIT_ACTOR:"audit-actor",AUDIT_TIME:"audit-time",AUDIT_HEADING:"audit-heading",AUDIT_RESOLUTIONS:"audit-resolutions",THREAD_TIME:"thread-time",THREAD_EDITED:"thread-edited",EDITOR:"helldots-editor",EDITOR_INPUT:"helldots-editor-input",EDITOR_ACTIONS:"helldots-editor-actions",EDITOR_SAVE:"helldots-editor-save",EDITOR_CANCEL:"helldots-editor-cancel",INBOX_NOTICE:"inbox-notice",PREVIEW_CIRCLE:"preview-circle",SELECTION_RECT:"selection-rect",SCREENSHOT_IMG:"screenshot-img",SCREENSHOT_REMOVE:"screenshot-remove",SCREENSHOTS_CONTAINER:"screenshots-container",SCREENSHOT_ITEM:"screenshot-item",SCREENSHOT_PENDING:"screenshot-pending",CONFIRM:"helldots-confirm",CONFIRM_PANEL:"helldots-confirm-panel",CONFIRM_TITLE:"helldots-confirm-title",CONFIRM_MESSAGE:"helldots-confirm-message",CONFIRM_ACTIONS:"helldots-confirm-actions",CONFIRM_CANCEL:"helldots-confirm-cancel",CONFIRM_ACCEPT:"helldots-confirm-accept",LIGHTBOX:"helldots-lightbox",LIGHTBOX_IMG:"helldots-lightbox-img",LIGHTBOX_CLOSE:"helldots-lightbox-close",COMMENT_ACTIONS_BAR:"comment-actions-bar",ATTACH_IMAGE_BTN:"attach-image-btn",TOOLBAR_ACTIONS:"toolbar-actions",TOOLBAR_ACTION_BTN:"toolbar-action-btn",TOOLBAR_ACTION_WRAPPER:"toolbar-action-wrapper",TOOLBAR_ACTION_TOOLTIP:"toolbar-action-tooltip",TOOLBAR_COMMENT_BTN:"toolbar-comment-btn",TOOLBAR_MENU_BTN:"toolbar-menu-btn",INBOX_PANEL:"inbox-panel",INBOX_HEADER:"inbox-header",INBOX_FILTER:"inbox-filter",INBOX_FILTER_MENU:"inbox-filter-menu",INBOX_FILTER_MENU_HEADER:"inbox-filter-menu-header",INBOX_FILTER_CLEAR:"inbox-filter-clear",INBOX_FILTER_GROUP:"inbox-filter-group",INBOX_FILTER_CHIPS:"inbox-filter-chips",INBOX_FILTER_CHIP:"inbox-filter-chip",INBOX_FILTER_SECTION:"inbox-filter-section",INBOX_CLOSE:"inbox-close",INBOX_LIST:"inbox-list",INBOX_CARD:"inbox-card",INBOX_CARD_HEADER:"inbox-card-header",INBOX_CARD_ACTIONS:"inbox-card-actions",INBOX_CARD_TEXT:"inbox-card-text",INBOX_CARD_TAG:"inbox-card-tag",INBOX_CARD_REPLY_LINK:"inbox-card-reply-link",INBOX_ACTION_BTN:"inbox-action-btn",INBOX_ACTION_BTN_LABELED:"inbox-action-btn--labeled",INBOX_ACTION_LABEL:"inbox-action-label",INBOX_STATUS_DOT:"inbox-status-dot",INBOX_MENU:"inbox-menu",INBOX_MENU_UP:"inbox-menu--up",INBOX_MENU_START:"inbox-menu--start",INBOX_MENU_ITEM:"inbox-menu-item",INBOX_DETAIL:"inbox-detail",INBOX_DETAIL_HEADER:"inbox-detail-header",INBOX_BACK:"inbox-back",INBOX_NAV_BTN:"inbox-nav-btn",INBOX_REPLIES:"inbox-replies",TOOLTIP_REPLY_COUNT:"comment-tooltip-reply-count",INBOX_EMPTY:"inbox-empty",INBOX_EMPTY_ICON:"inbox-empty-icon",INBOX_EMPTY_TITLE:"inbox-empty-title",INBOX_EMPTY_TEXT:"inbox-empty-text",INBOX_EMPTY_KBD:"inbox-empty-kbd",INBOX_EMPTY_ACTION:"inbox-empty-action",CLASSIFY_ROW:"classify-row",INBOX_BADGES:"inbox-badges",BADGE:"helldots-badge",BADGE_STATUS:"helldots-badge--status",BADGE_TYPE:"helldots-badge--type",BADGE_PRIORITY:"helldots-badge--priority",BADGE_TAG:"helldots-badge--tag",BADGE_DURATION:"helldots-badge--duration",CONTEXT_BLOCK:"inbox-context",CONTEXT_TITLE:"inbox-context-title",CONTEXT_BODY:"inbox-context-body",CONTEXT_ROW:"inbox-context-row",CONTEXT_SCREENSHOT_CAPTION:"inbox-context-screenshot-caption",CONTEXT_TOGGLE:"inbox-context-toggle",HIGHLIGHT:"helldots-highlight",REACTION_BAR:"reaction-bar",REACTION_PILL:"reaction-pill",REACTION_PILL_MINE:"reaction-pill--mine",REACTION_PILL_EMOJI:"reaction-pill-emoji",REACTION_PILL_COUNT:"reaction-pill-count",REACTION_ADD:"reaction-add",REACTION_TRIGGER:"reaction-trigger",REACTION_PALETTE:"reaction-palette",REACTION_PALETTE_ITEM:"reaction-palette-item",ACTIONS_GROUP:"actions-group",ACTIONS_GROUP_END:"actions-group--end"},xn=[s.COMMENT_CURSOR],O={TOOLBAR:"comment-toolbar",COMMENT_BOX:"comment-box",COMMENT_INPUT:"comment-input",SUBMIT_COMMENT:"submit-comment",STYLES:"comment-overlay-styles",GLOBAL_STYLES:"comment-overlay-global-styles",ATTACH_IMAGE_INPUT:"attach-image-input"},B=28,Ee=5,N=["open","in_progress","in_review","resolved"],V={open:"#D1D1D6",in_progress:"#FF9F0A",in_review:"#2E90FA",resolved:"#30D158"},R=["bug","suggestion","question","improvement"],Y={bug:"#FF453A",suggestion:"#BF5AF2",question:"#64D2FF",improvement:"#5E5CE6"},w=["high","medium","low"],j={high:"#FF453A",medium:"#FF9F0A",low:"#8E8E93"},be=["\u{1F44D}","\u{1F44E}","\u2764\uFE0F","\u{1F389}","\u{1F440}","\u{1F680}"],yn={CONTAINER:'section, div[class*="container"], div[class*="content"]'},D={CIRCLE:9997,TOOLTIP:1e4,TOOLBAR:9998,COMMENT_BOX:9999,LIGHTBOX:10001,CONFIRM:10002},Sn='data:image/svg+xml;utf8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g transform="translate(-4,-4)"><path d="M6 8C6 6.89543 6.89543 6 8 6H20C27.732 6 34 12.268 34 20V20C34 27.732 27.732 34 20 34V34C12.268 34 6 27.732 6 20V8Z" fill="%232E90FA"/><path d="M8 7H20C27.1797 7 33 12.8203 33 20C33 27.1797 27.1797 33 20 33C12.8203 33 7 27.1797 7 20V8C7 7.44772 7.44772 7 8 7Z" stroke="white" stroke-width="2"/></g></svg>',On="2 2";var Me=class{constructor({host:e,autoScreenshot:t,embedCrossOriginFonts:o=!1,fastCapture:r=!1,skipIframeContent:i=!1,captureTimeout:a,onRegionCaptured:l,onRegionPending:c,onPlace:d,onError:p}){this.host=e,this.autoScreenshot=t,this.embedCrossOriginFonts=o,this.fastCapture=r,this.skipIframeContent=i,this.captureTimeout=a,this.onRegionCaptured=l,this.onRegionPending=c,this.onPlace=d,this.onError=p,this.pendingCapture=null,this.pendingRegion=null,this._regionToken=null,this._dragStart=null,this._isDragging=!1,this._selectionRect=null,this._boundDragMove=u=>this.onDragMove(u),this._boundDragEnd=u=>this.onDragEnd(u)}beginDrag(e){this._dragStart={x:e.clientX,y:e.clientY},this._isDragging=!1,document.addEventListener("mousemove",this._boundDragMove),document.addEventListener("mouseup",this._boundDragEnd)}onDragMove(e){let t=e.clientX-this._dragStart.x,o=e.clientY-this._dragStart.y;if(!this._isDragging&&Math.hypot(t,o)<5)return;this._isDragging=!0;let r=Math.min(this._dragStart.x,e.clientX),i=Math.min(this._dragStart.y,e.clientY),a=Math.abs(t),l=Math.abs(o);this._selectionRect||(this._selectionRect=document.createElement("div"),this._selectionRect.className=s.SELECTION_RECT,this.host.appendChild(this._selectionRect)),this._selectionRect.style.left=`${r}px`,this._selectionRect.style.top=`${i}px`,this._selectionRect.style.width=`${a}px`,this._selectionRect.style.height=`${l}px`}async onDragEnd(e){if(document.removeEventListener("mousemove",this._boundDragMove),document.removeEventListener("mouseup",this._boundDragEnd),this._isDragging){let t=Math.min(this._dragStart.x,e.clientX),o=Math.min(this._dragStart.y,e.clientY),r=Math.abs(e.clientX-this._dragStart.x),i=Math.abs(e.clientY-this._dragStart.y);this._selectionRect?.remove(),this._selectionRect=null,r>10&&i>10&&this.startRegionCapture({left:t,top:o,width:r,height:i}),await this.onPlace(e.clientX,e.clientY)}else await this.onPlace(this._dragStart.x,this._dragStart.y);this._isDragging=!1,this._dragStart=null}startRegionCapture(e){let t={};this._regionToken=t;let o=()=>this._regionToken===t,r=pt({scale:1,embedCrossOriginFonts:this.embedCrossOriginFonts,fastCapture:this.fastCapture,skipIframeContent:this.skipIframeContent,captureTimeout:this.captureTimeout});this.autoScreenshot&&(this.pendingCapture=r.then(({canvas:i,scale:a})=>o()?ut(i,{sourceScale:a}):null).catch(()=>null)),this.onRegionPending?.(!0),this.pendingRegion=r.then(({canvas:i,scale:a})=>{if(!o())return;let l=Tn(i,e,{sourceScale:a});l&&this.onRegionCaptured(l)}).catch(i=>{console.warn("HellDots: screenshot capture failed:",i),this.onError?.(i)}).finally(()=>{o()&&this.onRegionPending?.(!1)})}armClickCapture(){!this.autoScreenshot||this.pendingCapture||(this.pendingCapture=pt({scale:dt,embedCrossOriginFonts:this.embedCrossOriginFonts,fastCapture:this.fastCapture,skipIframeContent:this.skipIframeContent,captureTimeout:this.captureTimeout}).then(({canvas:e,scale:t})=>ut(e,{sourceScale:t})).catch(e=>(console.warn("HellDots: automatic screenshot failed",e),this.onError?.(e),null)))}async consumePending(){return await this.pendingRegion,this.pendingCapture?await this.pendingCapture:null}clearPending(){this.pendingCapture=null,this.pendingRegion=null,this._regionToken=null}destroy(){document.removeEventListener("mousemove",this._boundDragMove),document.removeEventListener("mouseup",this._boundDragEnd),this._selectionRect?.remove(),this._selectionRect=null,this.pendingCapture=null,this.pendingRegion=null,this._regionToken=null,this._dragStart=null,this._isDragging=!1}};var er=[{name:"Edge",re:/Edg\/([\d.]+)/},{name:"Chrome",re:/Chrome\/([\d.]+)/},{name:"Firefox",re:/Firefox\/([\d.]+)/},{name:"Safari",re:/Version\/([\d.]+).*Safari/}],tr=[{name:"iOS",re:/(?:iPhone|iPad).*OS ([\d_]+) like Mac OS X/},{name:"Android",re:/Android ([\d.]+)/},{name:"Windows",re:/Windows NT ([\d.]+)/},{name:"macOS",re:/Mac OS X ([\d_.]+)/},{name:"Linux",re:/Linux/}],nr={name:"unknown",version:""},or=n=>/not[\W_]*a[\W_]*brand/i.test(n),In=(n,e)=>{for(let{name:t,re:o}of n){let r=e.match(o);if(r)return{name:t,version:(r[1]||"").replace(/_/g,".")}}return{...nr}};function An(n=window){let e=n.navigator||{},t=e.userAgent||"",o=e.userAgentData,r=In(er,t),i=o?.brands?.find(l=>!or(l.brand));i&&(r={name:i.brand,version:i.version||""});let a=In(tr,t);return o?.platform&&(a.name=o.platform),{version:1,url:n.location?.href||"",viewport:{width:n.innerWidth,height:n.innerHeight},screen:{width:n.screen?.width??0,height:n.screen?.height??0},devicePixelRatio:n.devicePixelRatio??1,userAgent:t,browser:r,os:a,language:e.language||""}}var De=" scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.22) transparent;",ir=(...n)=>n.map(e=>` ${e}::-webkit-scrollbar{width:8px;height:8px;}${e}::-webkit-scrollbar-track{background:transparent;}${e}::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.22);border-radius:4px;}${e}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.35);}`).join(""),Rn=()=>` :host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.5;color-scheme:light;}:host *,:host *::before,:host *::after{box-sizing:border-box;font-family:inherit;}button{padding:0;font:inherit;color:inherit;}#${O.TOOLBAR}{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:${D.TOOLBAR};}.${s.TOOLBAR_ACTION_WRAPPER}{position:relative;}.${s.TOOLBAR_ACTION_TOOLTIP}{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(4px);display:flex;align-items:center;gap:8px;background:rgba(20,20,23,0.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,0.08);box-shadow:0 4px 24px rgba(0,0,0,0.35);color:white;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.15s ease,transform 0.15s ease;}.${s.TOOLBAR_ACTION_WRAPPER}:hover .${s.TOOLBAR_ACTION_TOOLTIP}{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}.${s.TOOLBAR_TEXT}{font-size:13px;font-weight:500;letter-spacing:-0.01em;}.${s.SHORTCUT_HINT}{font-size:11px;font-weight:500;color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);padding:2px 6px;border-radius:5px;line-height:1;white-space:nowrap;}.${s.TOOLBAR_ACTIONS}{display:flex;flex-direction:row;background:rgba(20,20,23,0.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,0.35);}.${s.TOOLBAR_ACTION_BTN}{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:none;border:none;outline:none;color:rgba(255,255,255,0.65);cursor:pointer;transition:background 0.2s,color 0.2s;padding:0;}.${s.TOOLBAR_ACTION_WRAPPER}:first-child .${s.TOOLBAR_ACTION_BTN}{border-radius:12px 0 0 12px;}.${s.TOOLBAR_ACTION_WRAPPER}:last-child .${s.TOOLBAR_ACTION_BTN}{border-radius:0 12px 12px 0;}.${s.TOOLBAR_ACTION_BTN}:hover{background:rgba(255,255,255,0.08);color:white;}.${s.TOOLBAR_COMMENT_BTN}.${s.ACTIVE}{color:#2E90FA;background:rgba(46,144,250,0.1);}#${O.COMMENT_BOX}{position:fixed;background:#1C1C1E;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.4);padding:16px;z-index:${D.COMMENT_BOX};width:min(400px,calc(100vw - 24px));display:none;box-sizing:border-box;}#${O.COMMENT_BOX} .${s.COMMENT_INPUT_AREA}{display:flex;flex-direction:column;gap:0;}.${s.CLASSIFY_ROW}{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 0 10px;border-bottom:1px solid rgba(255,255,255,0.08);}.${s.CLASSIFY_ROW} .${s.INBOX_ACTION_BTN}{height:26px;border:1px solid rgba(255,255,255,0.12);border-radius:8px;}.${s.CLASSIFY_ROW} .${s.INBOX_ACTION_BTN}:hover{border-color:rgba(255,255,255,0.28);}#${O.COMMENT_INPUT}{flex:1;min-height:20px;background:#1C1C1E;border:none;resize:none;font-family:inherit;color:white;font-size:14px;line-height:1.4;box-sizing:border-box;field-sizing:content;padding:8px 0;}#${O.COMMENT_INPUT}::placeholder{color:rgba(255,255,255,0.5);}#${O.COMMENT_INPUT}:focus{outline:none;box-shadow:none;}.${s.COMMENT_ACTIONS_BAR}{display:flex;align-items:center;justify-content:space-between;padding-top:12px;}.${s.ATTACH_IMAGE_BTN}{background:none;border:none;color:rgba(255,255,255,0.5);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background 0.2s,color 0.2s;}.${s.ATTACH_IMAGE_BTN}:hover{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.8);}.${s.CIRCLE}{position:absolute;width:${B}px;height:${B}px;background:#2E90FA;border-radius:0% 100% 100% 100%;border:2px solid #FFF;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,0.2);transition:transform 0.2s,background 0.2s;z-index:${D.CIRCLE};transform:translate(-50%,-50%);}.${s.CIRCLE}:hover{transform:translate(-50%,-50%) scale(1.2) !important;background:rgb(0,123,255);}.${s.CIRCLE}.${s.HIGHLIGHT}{transform:translate(-50%,-50%) scale(1.2) !important;background:rgb(0,123,255);box-shadow:0 0 0 4px rgba(46,144,250,0.35),0 1px 5px rgba(0,0,0,0.2);}.${s.CIRCLE}.${s.CIRCLE_ACTIVE}{transform:translate(-50%,-50%) scale(1.2) !important;background:rgb(0,123,255);box-shadow:0 0 0 5px rgba(46,144,250,0.5),0 1px 5px rgba(0,0,0,0.2);}.${s.TOOLTIP}{position:fixed;background:#1C1C1E;border-radius:12px;padding:16px;box-shadow:0 4px 20px rgba(0,0,0,0.4);width:min(400px,calc(100vw - 24px));max-height:calc(100vh - 20px);overflow-y:auto;overscroll-behavior:contain;${De} z-index:${D.TOOLTIP};color:white;font-size:14px;line-height:1.5;box-sizing:border-box;}.${s.TOOLTIP} .${s.THREAD_BODY}{padding:8px 0;}.${s.THREAD_POPOVER}{position:fixed;background:#1C1C1E;border-radius:12px;padding:16px;box-shadow:0 4px 20px rgba(0,0,0,0.4);width:min(400px,calc(100vw - 24px));max-height:calc(100vh - 20px);display:flex;flex-direction:column;z-index:${D.TOOLTIP};color:white;font-size:14px;line-height:1.5;box-sizing:border-box;}.${s.THREAD_POPOVER}>.${s.THREAD_HEADER},.${s.THREAD_POPOVER}>.${s.THREAD_ACTIONS_ROW},.${s.THREAD_POPOVER}>.${s.THREAD_INPUT_AREA}{flex:none;}.${s.THREAD_SCROLL}{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;${De}}${ir(`.${s.THREAD_SCROLL}`,`.${s.TOOLTIP}`,`.${s.INBOX_LIST}`,`.${s.INBOX_DETAIL}`,`.${s.EDITOR_INPUT}`)} .${s.INBOX_PANEL}{position:fixed;top:16px;right:16px;bottom:16px;width:380px;display:flex;flex-direction:column;background:#1C1C1E;border:1px solid rgba(255,255,255,0.08);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,0.5);z-index:${D.COMMENT_BOX};color:white;font-size:14px;line-height:1.5;box-sizing:border-box;overflow:hidden;}@media (max-width:480px){.${s.INBOX_PANEL}{left:16px;width:auto;}}.${s.INBOX_HEADER},.${s.INBOX_DETAIL_HEADER}{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,0.08);flex:none;}.${s.INBOX_FILTER}-wrapper{position:relative;}.${s.INBOX_FILTER}{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:white;font-size:13px;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:6px;}.${s.INBOX_FILTER}:hover{background:rgba(255,255,255,0.08);}.${s.INBOX_FILTER_MENU}{position:absolute;top:calc(100% + 6px);left:0;background:#2C2C2E;border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:14px;width:300px;max-width:calc(100vw - 40px);z-index:1;box-shadow:0 8px 28px rgba(0,0,0,0.5);}.${s.INBOX_FILTER_MENU_HEADER}{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;margin-bottom:12px;}.${s.INBOX_FILTER_CLEAR}{background:transparent;border:none;color:rgba(255,255,255,0.55);font-size:12px;font-weight:500;cursor:pointer;padding:0;}.${s.INBOX_FILTER_CLEAR}:hover:not(:disabled){color:white;}.${s.INBOX_FILTER_CLEAR}:disabled{opacity:0.35;cursor:default;}.${s.INBOX_FILTER_GROUP} + .${s.INBOX_FILTER_GROUP}{margin-top:14px;}.${s.INBOX_FILTER_SECTION}{font-size:11px;font-weight:600;color:rgba(255,255,255,0.45);margin-bottom:8px;}.${s.INBOX_FILTER_CHIPS}{display:flex;flex-wrap:wrap;gap:6px;}.${s.INBOX_FILTER_CHIP}{background:transparent;border:1px solid rgba(255,255,255,0.18);border-radius:999px;color:rgba(255,255,255,0.75);font-size:12px;line-height:1;padding:7px 12px;cursor:pointer;transition:background 0.15s,border-color 0.15s,color 0.15s;}.${s.INBOX_FILTER_CHIP}:hover{border-color:rgba(255,255,255,0.4);color:white;}.${s.INBOX_FILTER_CHIP}[aria-checked="true"]{background:rgba(255,255,255,0.92);border-color:rgba(255,255,255,0.92);color:#1C1C1E;font-weight:600;}.${s.INBOX_MENU_ITEM}{display:block;width:100%;text-align:left;background:transparent;border:none;color:white;font-size:13px;padding:7px 10px;border-radius:6px;cursor:pointer;}.${s.INBOX_MENU_ITEM}:hover{background:rgba(255,255,255,0.08);}.${s.INBOX_CLOSE},.${s.INBOX_NAV_BTN},.${s.INBOX_BACK}{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:rgba(255,255,255,0.75);cursor:pointer;padding:4px 6px;border-radius:6px;font-size:14px;}.${s.INBOX_CLOSE}{font-size:20px;line-height:1;}.${s.INBOX_CLOSE}:hover,.${s.INBOX_NAV_BTN}:not(:disabled):hover,.${s.INBOX_BACK}:hover{background:rgba(255,255,255,0.08);color:white;}.${s.INBOX_NAV_BTN}:disabled{opacity:0.35;cursor:default;}.${s.INBOX_LIST},.${s.INBOX_DETAIL}{flex:1;overflow-y:auto;${De} padding:12px;display:flex;flex-direction:column;gap:12px;}.${s.INBOX_CARD}{border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;}.${s.INBOX_LIST} .${s.INBOX_CARD}{cursor:pointer;}.${s.INBOX_LIST} .${s.INBOX_CARD}:hover{border-color:rgba(255,255,255,0.22);}.${s.INBOX_CARD}--resolved{border-color:rgba(48,209,88,0.4);opacity:0.75;}.${s.INBOX_LIST} .${s.INBOX_CARD}--resolved:hover{border-color:rgba(48,209,88,0.7);opacity:1;}.${s.INBOX_CARD}--resolved:has([aria-expanded="true"]){opacity:1;}.${s.INBOX_CARD_HEADER}{display:flex;align-items:center;justify-content:space-between;gap:8px;}.${s.INBOX_CARD_ACTIONS}{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;}.${s.INBOX_DETAIL_HEADER} .${s.INBOX_CARD_ACTIONS}{justify-content:flex-end;gap:2px;}.${s.ACTIONS_GROUP}{display:flex;align-items:center;flex-wrap:wrap;gap:5px;}.${s.ACTIONS_GROUP_END}{flex-wrap:nowrap;gap:2px;}.${s.INBOX_ACTION_BTN}{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:6px;color:rgba(255,255,255,0.65);cursor:pointer;}.${s.INBOX_ACTION_BTN}:hover{background:rgba(255,255,255,0.08);color:white;}.${s.INBOX_ACTION_BTN_LABELED}{width:auto;padding:0 8px 0 6px;gap:5px;justify-content:flex-start;flex:none;}.${s.INBOX_ACTION_LABEL}{font-size:11px;line-height:1;white-space:nowrap;}.${s.INBOX_STATUS_DOT}{width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.45);display:inline-block;flex:none;}.${s.INBOX_MENU_ITEM} .${s.INBOX_STATUS_DOT}{width:9px;height:9px;border:none;margin-right:8px;vertical-align:baseline;}.${s.INBOX_MENU_ITEM}[aria-checked="true"]{background:rgba(255,255,255,0.08);}.${s.THREAD_ACTIONS_ROW}{display:flex;justify-content:flex-end;}.${s.THREAD_POPOVER}>.${s.THREAD_ACTIONS_ROW}{padding-top:8px;}[data-hd-tooltip]{position:relative;}[data-hd-tooltip]::after{content:attr(data-hd-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#000;color:white;padding:4px 8px;border-radius:6px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.12s ease;z-index:2;}[data-hd-tooltip]:hover::after{opacity:1;}.${s.INBOX_MENU}{position:absolute;top:calc(100% + 4px);right:0;background:#2C2C2E;border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:4px;min-width:130px;z-index:1;box-shadow:0 4px 16px rgba(0,0,0,0.4);}.${s.INBOX_MENU}.${s.INBOX_MENU_UP}{top:auto;bottom:calc(100% + 4px);}.${s.INBOX_MENU}.${s.INBOX_MENU_START}{right:auto;left:0;}.${s.INBOX_CARD_TEXT}{white-space:pre-wrap;word-break:break-word;}.${s.INBOX_CARD_TAG}{align-self:flex-start;padding:1px 8px;border-radius:999px;background:rgba(255,159,10,0.2);color:#FF9F0A;font-size:11px;font-weight:600;}.${s.INBOX_BADGES}{display:flex;flex-wrap:wrap;gap:4px;}.${s.INBOX_CARD} .${s.INBOX_BADGES}{margin-top:6px;}.${s.TOOLTIP} .${s.INBOX_BADGES}{margin-bottom:4px;}.${s.BADGE}{display:inline-flex;align-items:center;padding:1px 6px;border:1px solid rgba(255,255,255,0.18);border-radius:10px;font-size:10px;line-height:1.6;letter-spacing:0.01em;white-space:nowrap;}.${s.BADGE_STATUS},.${s.BADGE_TYPE},.${s.BADGE_PRIORITY}{font-weight:600;}.${s.BADGE_TAG}{opacity:0.75;}.${s.BADGE_DURATION}{opacity:0.75;border-style:dashed;}.${s.REACTION_BAR}{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:2px;margin-bottom:12px;}.${s.REACTION_BAR}[hidden]{display:none;}.${s.REACTION_TRIGGER}{position:relative;display:inline-flex;}.${s.REACTION_PILL}{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border:1px solid rgba(255,255,255,0.18);border-radius:8px;background:transparent;color:#F2F2F7;font-family:inherit;font-size:12px;line-height:1;cursor:pointer;transition:background 0.12s ease,border-color 0.12s ease;}.${s.REACTION_PILL}:hover{background:rgba(255,255,255,0.08);}.${s.REACTION_PILL_MINE}{border-color:#2E90FA;background:rgba(46,144,250,0.16);}.${s.REACTION_PILL_MINE}:hover{background:rgba(46,144,250,0.24);}.${s.REACTION_PILL_EMOJI}{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:13px;}.${s.REACTION_PILL_COUNT}{font-variant-numeric:tabular-nums;}.${s.REACTION_ADD}{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;border:1px solid rgba(255,255,255,0.18);border-radius:8px;background:transparent;color:#8E8E93;cursor:pointer;}.${s.REACTION_ADD}:hover{color:#F2F2F7;border-color:rgba(255,255,255,0.35);}.${s.REACTION_PALETTE}{position:absolute;top:calc(100% + 4px);left:0;white-space:nowrap;background:#2C2C2E;border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:4px;z-index:1;box-shadow:0 4px 16px rgba(0,0,0,0.4);}.${s.ACTIONS_GROUP_END} .${s.REACTION_PALETTE},.${s.THREAD_REPLY_ACTIONS} .${s.REACTION_PALETTE}{left:auto;right:0;}.${s.REACTION_PALETTE}.${s.INBOX_MENU_UP}{top:auto;bottom:calc(100% + 4px);}.${s.REACTION_PALETTE_ITEM}{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:15px;cursor:pointer;}.${s.REACTION_PALETTE_ITEM}:hover{background:rgba(255,255,255,0.12);}.${s.CONTEXT_BLOCK}{display:flex;flex-direction:column;padding:10px 12px;border-top:1px solid rgba(255,255,255,0.08);font-size:11px;}.${s.CONTEXT_BODY}{display:flex;flex-direction:column;gap:4px;}.${s.CONTEXT_TITLE}{font-size:11px;font-weight:600;color:rgba(255,255,255,0.45);padding-bottom:4px;}.${s.CONTEXT_TOGGLE}{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;cursor:pointer;padding:2px 0;}.${s.CONTEXT_TOGGLE}:hover{color:rgba(255,255,255,0.75);}.${s.CONTEXT_TOGGLE} svg{flex:none;transition:transform 0.15s ease;}.${s.CONTEXT_TOGGLE}[aria-expanded="true"] svg{transform:rotate(180deg);}.${s.CONTEXT_TOGGLE}[aria-expanded="true"] + .${s.CONTEXT_BODY}{padding-top:8px;}.${s.CONTEXT_BLOCK} img{width:100%;border-radius:6px;margin-bottom:6px;cursor:zoom-in;}.${s.CONTEXT_SCREENSHOT_CAPTION}{opacity:0.75;}.${s.CONTEXT_ROW}{display:flex;justify-content:space-between;gap:12px;opacity:0.75;}.${s.CONTEXT_ROW} span:last-child{text-align:right;word-break:break-all;}.${s.INBOX_CARD_REPLY_LINK}{align-self:flex-start;background:transparent;border:none;color:rgba(255,255,255,0.55);font-size:13px;cursor:pointer;padding:0;}.${s.INBOX_CARD_REPLY_LINK}:hover{color:white;}.${s.INBOX_REPLIES}{display:flex;flex-direction:column;gap:10px;padding:0 4px;}.${s.INBOX_REPLIES}:empty{display:none;}.${s.TOOLTIP_REPLY_COUNT}{font-size:12px;color:rgba(255,255,255,0.45);padding-top:4px;}.${s.INBOX_EMPTY}{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;color:rgba(255,255,255,0.55);text-align:center;}.${s.INBOX_EMPTY_ICON}{width:44px;height:44px;margin-bottom:6px;border:2px dashed rgba(255,255,255,0.25);border-radius:0% 100% 100% 100%;flex:none;}.${s.INBOX_EMPTY_TITLE}{color:white;font-size:14px;font-weight:600;}.${s.INBOX_EMPTY_TEXT}{font-size:13px;line-height:1.5;max-width:30ch;}.${s.INBOX_EMPTY_KBD}{font-family:inherit;font-size:12px;font-weight:500;color:rgba(255,255,255,0.8);background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);border-radius:5px;padding:1px 5px;white-space:nowrap;}.${s.INBOX_EMPTY_ACTION}{margin-top:6px;background:transparent;border:1px solid rgba(255,255,255,0.2);border-radius:8px;color:white;font-size:13px;font-weight:500;padding:8px 16px;cursor:pointer;transition:background 0.15s,border-color 0.15s;}.${s.INBOX_EMPTY_ACTION}:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.35);}.${s.THREAD_HEADER}{display:flex;justify-content:space-between;align-items:center;padding:0;}.${s.THREAD_META}{display:flex;align-items:center;gap:6px;flex:1;min-width:0;}.${s.THREAD_AUTHOR}{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.${s.THREAD_TIME}{font-size:12px;color:rgba(255,255,255,0.5);cursor:default;position:relative;flex:none;}.${s.THREAD_TIME}::after{content:attr(data-full-date);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#000;color:white;padding:4px 8px;border-radius:6px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.15s ease;z-index:1;}.${s.THREAD_TIME}:hover::after{opacity:1;}.${s.THREAD_BODY}{padding:8px 0;white-space:pre-wrap;word-break:break-word;}.${s.THREAD_REPLIES}{padding:0;}.${s.THREAD_REPLIES}:empty{display:none;}.${s.THREAD_REPLY}{padding:16px 0 0 0;border-top:1px solid rgba(255,255,255,0.1);white-space:pre-wrap;word-break:break-word;font-size:14px;color:rgba(255,255,255,0.85);}.${s.THREAD_REPLY} .${s.THREAD_META}{margin-bottom:2px;}.${s.THREAD_REPLY_ACTIONS}{margin-left:auto;flex:none;}.${s.THREAD_REPLY} .${s.SCREENSHOT_IMG}{width:144px;height:100px;object-fit:cover;border-radius:8px;margin-top:4px;cursor:pointer;display:block;}.${s.THREAD_INPUT_AREA}{display:flex;flex-direction:column;gap:0;padding:12px 0 0;border-top:1px solid rgba(255,255,255,0.1);}.${s.THREAD_INPUT}{width:100%;background:transparent;border:none;padding:0;color:white;font-size:14px;font-family:inherit;outline:none;box-sizing:border-box;}.${s.THREAD_INPUT}::placeholder{color:rgba(255,255,255,0.5);}.${s.THREAD_INPUT}:focus{outline:none;box-shadow:none;}.${s.THREAD_SUBMIT}{background:none;border:none;color:#2E90FA;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background 0.2s;}.${s.THREAD_SUBMIT}:hover{background:rgba(46,144,250,0.15);color:#1570D6;}.${s.CLOSE_TOOLTIP}{background:none;border:none;font-size:18px;cursor:pointer;color:rgba(255,255,255,0.5);line-height:1;}.${s.CLOSE_TOOLTIP}:hover{color:white;}.${s.PREVIEW_CIRCLE}{animation:helldots-pulse 1.5s ease-in-out infinite;}@keyframes helldots-pulse{0%,100%{box-shadow:0 0 0 0 rgba(46,144,250,0.4),0 1px 5px rgba(0,0,0,0.2);}50%{box-shadow:0 0 0 8px rgba(46,144,250,0),0 1px 5px rgba(0,0,0,0.2);}}.${s.COMMENT_OVERLAY}{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;pointer-events:none;z-index:${D.TOOLBAR-1};}.${s.COMMENT_OVERLAY}.${s.ACTIVE}{pointer-events:auto;background:rgba(0,0,0,0.1);}.${s.SELECTION_RECT}{position:fixed;border:2px solid #2E90FA;background:rgba(46,144,250,0.1);pointer-events:none;z-index:${D.TOOLTIP};box-sizing:border-box;}.${s.SCREENSHOTS_CONTAINER}{display:none;overflow-x:auto;gap:8px;margin-top:4px;padding:4px 0;scrollbar-width:none;-ms-overflow-style:none;margin-bottom:8px;}.${s.SCREENSHOTS_CONTAINER}::-webkit-scrollbar{display:none;}.${s.SCREENSHOTS_CONTAINER}.${s.ACTIVE}{display:flex;}.${s.SCREENSHOT_ITEM}{position:relative;flex-shrink:0;}.${s.SCREENSHOT_PENDING}{min-width:50px;height:50px;padding:0 8px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed rgba(255,255,255,0.35);border-radius:8px;font-size:10px;line-height:1.2;color:rgba(255,255,255,0.7);white-space:nowrap;}.${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_IMG}{width:50px;height:50px;object-fit:cover;border-radius:8px;cursor:pointer;display:block;margin:0;}.${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_IMG}:hover{opacity:0.85;}.${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_REMOVE}{position:absolute;top:-5px;right:-5px;width:18px;height:18px;background:rgba(0,0,0,0.7);border:none;border-radius:50%;color:white;font-size:12px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:1;}.${s.SCREENSHOT_ITEM}:hover .${s.SCREENSHOT_REMOVE}{display:flex;}.${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_REMOVE}:hover{background:rgba(0,0,0,0.9);}.${s.TOOLTIP}>.${s.SCREENSHOTS_CONTAINER} .${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_IMG},.${s.THREAD_SCROLL}>.${s.SCREENSHOTS_CONTAINER} .${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_IMG},.${s.THREAD_REPLY} .${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_IMG}{width:144px;height:100px;}.${s.CONFIRM}{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;padding:16px;animation:helldots-fade-in 0.15s ease;}.${s.CONFIRM_PANEL}{width:min(360px,100%);background:#1C1C1E;border:1px solid rgba(255,255,255,0.1);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,0.5);padding:20px;color:white;font-size:14px;line-height:1.5;box-sizing:border-box;}.${s.CONFIRM_TITLE}{margin:0 0 8px;font-size:15px;font-weight:600;}.${s.CONFIRM_MESSAGE}{margin:0 0 20px;font-size:13px;color:rgba(255,255,255,0.65);}.${s.CONFIRM_ACTIONS}{display:flex;justify-content:flex-end;gap:8px;}.${s.CONFIRM_CANCEL},.${s.CONFIRM_ACCEPT}{padding:7px 14px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;}.${s.CONFIRM_CANCEL}:focus-visible,.${s.CONFIRM_ACCEPT}:focus-visible{outline:2px solid #2E90FA;outline-offset:2px;}.${s.CONFIRM_CANCEL}{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.12);color:white;}.${s.CONFIRM_CANCEL}:hover{background:rgba(255,255,255,0.14);}.${s.CONFIRM_ACCEPT}{background:#FF453A;color:white;}.${s.CONFIRM_ACCEPT}:hover{background:#FF6961;}.${s.LIGHTBOX}{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.92);z-index:${D.LIGHTBOX};display:flex;align-items:center;justify-content:center;animation:helldots-fade-in 0.2s ease;}@keyframes helldots-fade-in{from{opacity:0;}to{opacity:1;}}.${s.LIGHTBOX_IMG}{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;}.${s.LIGHTBOX_CLOSE}{position:absolute;top:16px;right:16px;background:rgba(255,255,255,0.15);border:none;color:white;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;}.${s.LIGHTBOX_CLOSE}:hover{background:rgba(255,255,255,0.3);}.${s.EDITOR}{display:flex;flex-direction:column;gap:8px;margin:4px 0 2px;}.${s.EDITOR_INPUT}{width:100%;box-sizing:border-box;resize:vertical;min-height:60px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:8px;padding:8px 10px;color:white;font-size:14px;font-family:inherit;line-height:1.45;outline:none;${De}}.${s.EDITOR_INPUT}:focus{border-color:rgba(46,144,250,0.7);}.${s.EDITOR_ACTIONS}{display:flex;justify-content:flex-end;gap:8px;}.${s.EDITOR_CANCEL},.${s.EDITOR_SAVE}{padding:5px 12px;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;}.${s.EDITOR_CANCEL}{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.12);color:white;}.${s.EDITOR_CANCEL}:hover{background:rgba(255,255,255,0.14);}.${s.EDITOR_SAVE}{background:#2E90FA;color:white;}.${s.EDITOR_SAVE}:hover:not(:disabled){background:#57A6FB;}.${s.EDITOR_SAVE}:disabled{background:rgba(255,255,255,0.10);color:rgba(255,255,255,0.4);cursor:not-allowed;}.${s.THREAD_EDITED}{font-size:12px;color:rgba(255,255,255,0.4);cursor:default;position:relative;flex:none;}.${s.THREAD_EDITED}::before{content:"\xB7";margin-right:4px;}.${s.THREAD_EDITED}::after{content:attr(data-full-date);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#000;color:white;padding:4px 8px;border-radius:6px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.15s ease;}.${s.THREAD_EDITED}:hover::after{opacity:1;}.${s.AUDIT_BLOCK}{margin-top:10px;border-top:1px solid rgba(255,255,255,0.08);padding-top:8px;}.${s.AUDIT_TOGGLE}{display:flex;align-items:center;gap:6px;width:100%;padding:4px 0;border:0;background:none;color:rgba(255,255,255,0.55);font-family:inherit;font-size:12px;text-align:left;cursor:pointer;}.${s.AUDIT_TOGGLE}:hover{color:rgba(255,255,255,0.85);}.${s.AUDIT_TOGGLE}::before{content:"";width:0;height:0;border-left:4px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform 0.15s ease;}.${s.AUDIT_TOGGLE}[aria-expanded="true"]::before{transform:rotate(90deg);}.${s.AUDIT_BODY}{padding:4px 0 2px;}.${s.AUDIT_LIST}{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;}.${s.AUDIT_ROW}{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:8px;font-size:12px;line-height:1.4;}.${s.AUDIT_ACTION}{grid-column:1;color:rgba(255,255,255,0.78);}.${s.AUDIT_ACTOR}{grid-column:1;color:rgba(255,255,255,0.48);font-size:11px;}.${s.AUDIT_TIME}{grid-row:1;grid-column:2;color:rgba(255,255,255,0.42);font-size:11px;white-space:nowrap;}.${s.AUDIT_HEADING}{margin:0 0 6px;color:rgba(255,255,255,0.5);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;}.${s.AUDIT_RESOLUTIONS}{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,0.06);}.${s.INBOX_HEADER_ACTIONS}{display:flex;align-items:center;gap:12px;}.${s.INBOX_METRICS_BTN}{padding:5px 10px;border-radius:7px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.75);font-family:inherit;font-size:12px;white-space:nowrap;cursor:pointer;}.${s.INBOX_METRICS_BTN}:hover{background:rgba(255,255,255,0.11);color:#fff;}.${s.METRICS_VIEW}{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.22) transparent;}.${s.METRICS_VIEW}::-webkit-scrollbar{width:8px;}.${s.METRICS_VIEW}::-webkit-scrollbar-track{background:transparent;}.${s.METRICS_VIEW}::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.22);border-radius:4px;}.${s.METRICS_TILES}{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;}.${s.METRICS_TILE}{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:9px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);}.${s.METRICS_TILE_VALUE}{color:#fff;font-size:18px;font-weight:600;line-height:1.1;}.${s.METRICS_TILE_LABEL}{color:rgba(255,255,255,0.5);font-size:11px;line-height:1.3;}.${s.METRICS_GROUP}{display:flex;flex-direction:column;gap:7px;}.${s.METRICS_HEADING}{margin:0;color:rgba(255,255,255,0.5);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;}.${s.METRICS_ROW}{display:grid;grid-template-columns:76px 1fr 26px;align-items:center;gap:8px;font-size:12px;}.${s.METRICS_ROW_LABEL}{color:rgba(255,255,255,0.72);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.${s.METRICS_TRACK}{height:8px;border-radius:4px;background:rgba(255,255,255,0.07);overflow:hidden;}.${s.METRICS_BAR}{height:100%;border-radius:4px;background:rgba(255,255,255,0.42);min-width:2px;}.${s.METRICS_ROW_COUNT}{color:rgba(255,255,255,0.85);font-variant-numeric:tabular-nums;text-align:right;}.${s.METRICS_CHART}{width:100%;height:96px;display:block;fill:rgba(255,255,255,0.42);}.${s.METRICS_AXIS}{display:flex;justify-content:space-between;color:rgba(255,255,255,0.42);font-size:10px;font-variant-numeric:tabular-nums;}.${s.METRICS_EXPORTS}{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px;border-top:1px solid rgba(255,255,255,0.08);}.${s.METRICS_EXPORT_BTN}{padding:6px 10px;border-radius:7px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.78);font-family:inherit;font-size:12px;cursor:pointer;}.${s.METRICS_EXPORT_BTN}:hover{background:rgba(255,255,255,0.12);color:#fff;}.${s.METRICS_EMPTY}{margin:0;padding:24px 0;color:rgba(255,255,255,0.5);font-size:13px;text-align:center;}.${s.INBOX_NOTICE}{margin:0 0 10px;padding:9px 11px;border-radius:8px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.75);font-size:13px;line-height:1.4;}`,wn=()=>` .${s.COMMENT_CURSOR},.${s.COMMENT_CURSOR} *{cursor:url('${Sn}') ${On},auto !important;}`,vn=()=>' .report{margin:0;padding:24px;background:#fff;color:#111;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:12px;line-height:1.45;}.report-title{margin:0 0 4px;font-size:20px;}.report-meta{margin:0 0 2px;color:#555;font-size:11px;}.report-table{width:100%;margin-top:18px;border-collapse:collapse;break-inside:avoid;}.report-table caption{margin-bottom:4px;font-size:12px;font-weight:600;text-align:left;}.report-table th,.report-table td{padding:5px 8px;border:1px solid #d5d5d5;text-align:left;font-weight:400;}.report-table thead th{background:#f2f2f2;font-weight:600;}.report-table td{text-align:right;font-variant-numeric:tabular-nums;}@page{margin:14mm;}';function Ce(n,e,t){let o=rr(e,n);if(o)return n.adoptedStyleSheets=[...n.adoptedStyleSheets??[],o],()=>{n.adoptedStyleSheets=(n.adoptedStyleSheets??[]).filter(a=>a!==o)};let r=n.head??n;r.querySelector?.(`#${t}`)?.remove();let i=document.createElement("style");return i.id=t,i.textContent=e,r.appendChild(i),()=>i.remove()}function rr(n,e){let o=(e.defaultView??e.ownerDocument?.defaultView??globalThis).CSSStyleSheet;if(typeof o!="function"||!("adoptedStyleSheets"in e))return null;try{let r=new o;return r.replaceSync(n),r}catch{return null}}var X={metricsTitle:"Metrics",metricsOpen:"Metrics",metricsTotal:"Total comments",metricsAverageResolution:"Average resolution",metricsMedianResolution:"Median resolution",metricsReopened:"Reopened",metricsByStatus:"By status",metricsByType:"By type",metricsByPriority:"By priority",metricsOverTime:"Comments per day",metricsEmpty:"No comments to measure yet",metricsCategory:"Category",metricsCount:"Count",metricsDate:"Date",metricsExportComments:"Comments (CSV)",metricsExportMetrics:"Metrics (CSV)",metricsPrint:"Print / Save as PDF",metricsExportLabel:"Export",metricsGeneratedTemplate:"Generated {n}",metricsScope:"Scope",auditToggleTemplate:"History ({n})",auditTrailLabel:"Activity history",auditCreated:"Created the comment",auditEdited:"Edited the text",auditTagsChanged:"Updated the tags",auditPreviousResolutions:"Previous resolutions",auditResolvedInTemplate:"Resolved in {n}",commentAriaLabelPrefix:"Comment: ",anonymous:"Anonymous",justNow:"Just now",minutesAgoTemplate:"{n}m",hoursAgoTemplate:"{n}h",daysAgoTemplate:"{n}d",toolbarComment:"Comment",toolbarInbox:"Inbox",modifierAlt:"Alt",modifierCtrl:"Ctrl",modifierShift:"Shift",commentBoxAriaLabel:"New comment",commentPlaceholder:"Type your comment...",attachImage:"Attach image",send:"Send",tooltipAriaLabel:"Comment preview",close:"Close",popoverAriaLabel:"Comment thread",replyPlaceholder:"Reply...",attachedScreenshot:"Attached screenshot",screenshotPreview:"Screenshot preview",removeScreenshot:"Remove screenshot",capturingScreenshot:"Capturing\u2026",inboxAriaLabel:"Comments inbox",inboxEmptyTitle:"No comments yet",inboxEmptyHintTemplate:"Press {n} and click anywhere on the page to start.",inboxEmptyAction:"Turn on comment mode",inboxNoMatches:"No comments match these filters",orphanedBadge:"Unanchored",hiddenBadge:"Hidden",filterAll:"All pages",filterCurrentPage:"Current page",filterTitle:"Filter",filterClear:"Clear",filterByPage:"Page",filterByStatus:"Status",back:"Back",deleteComment:"Delete",deleteReply:"Delete reply",replyOptions:"Reply options",editComment:"Edit",editReply:"Edit reply",copyLink:"Copy link",linkCopied:"Link copied",editorAriaLabel:"Edit text",editSave:"Save",editCancel:"Cancel",editedMark:"edited",editedAtPrefix:"Edited ",confirmDiscardTitle:"Discard changes?",confirmDiscardMessage:"The changes you made to this text have not been saved and will be lost.",confirmDiscard:"Discard",confirmKeepEditing:"Keep editing",commentNotFound:"That comment is not on this page.",confirmDelete:"Delete",confirmCancel:"Cancel",confirmDeleteCommentTitle:"Delete this comment?",confirmDeleteCommentMessage:"This comment will be permanently deleted. This action cannot be undone.",confirmDeleteThreadMessage:"This comment and all of its replies will be permanently deleted. This action cannot be undone.",confirmDeleteReplyTitle:"Delete this reply?",confirmDeleteReplyMessage:"This reply will be permanently deleted. This action cannot be undone.",copyAgentContext:"Copy agent context",copied:"Copied",statusLabel:"Status",prevComment:"Previous comment",nextComment:"Next comment",replyLink:"Reply",replyCountOne:"1 reply",replyCountTemplate:"{n} replies",commentOptions:"Comment options",moreOptions:"More",statusOpen:"Open",statusInProgress:"In progress",statusInReview:"In review",statusResolved:"Resolved",durationLessThanMinute:"<1m",resolvedInTemplate:"Resolved in {n}",typeLabel:"Type",priorityLabel:"Priority",unset:"Unset",typeBug:"Bug",typeSuggestion:"Suggestion",typeQuestion:"Question",typeImprovement:"Improvement",priorityHigh:"High",priorityMedium:"Medium",priorityLow:"Low",filterByType:"Type",filterByPriority:"Priority",contextSection:"Context",autoScreenshotLabel:"Automatic context",contextUrl:"URL",contextViewport:"Viewport",contextScreen:"Screen",contextBrowser:"Browser",contextOs:"OS",reactionsLabel:"Reactions",addReaction:"Add reaction",reactionToggleOn:"Add your reaction",reactionToggleOff:"Remove your reaction",reactionPickerLabel:"Choose a reaction"};var Nn={metricsTitle:"M\xE9tricas",metricsOpen:"M\xE9tricas",metricsTotal:"Comentarios totales",metricsAverageResolution:"Resoluci\xF3n media",metricsMedianResolution:"Resoluci\xF3n mediana",metricsReopened:"Reabiertos",metricsByStatus:"Por estado",metricsByType:"Por tipo",metricsByPriority:"Por prioridad",metricsOverTime:"Comentarios por d\xEDa",metricsEmpty:"A\xFAn no hay comentarios que medir",metricsCategory:"Categor\xEDa",metricsCount:"Cantidad",metricsDate:"Fecha",metricsExportComments:"Comentarios (CSV)",metricsExportMetrics:"M\xE9tricas (CSV)",metricsPrint:"Imprimir / Guardar como PDF",metricsExportLabel:"Exportar",metricsGeneratedTemplate:"Generado {n}",metricsScope:"Alcance",auditToggleTemplate:"Historial ({n})",auditTrailLabel:"Historial de actividad",auditCreated:"Cre\xF3 el comentario",auditEdited:"Edit\xF3 el texto",auditTagsChanged:"Actualiz\xF3 las etiquetas",auditPreviousResolutions:"Resoluciones anteriores",auditResolvedInTemplate:"Resuelto en {n}",commentAriaLabelPrefix:"Comentario: ",anonymous:"An\xF3nimo",justNow:"Justo ahora",minutesAgoTemplate:"{n}m",hoursAgoTemplate:"{n}h",daysAgoTemplate:"{n}d",toolbarComment:"Comentar",toolbarInbox:"Bandeja",modifierAlt:"Alt",modifierCtrl:"Ctrl",modifierShift:"May\xFAs",commentBoxAriaLabel:"Nuevo comentario",commentPlaceholder:"Escribe tu comentario...",attachImage:"Adjuntar imagen",send:"Enviar",tooltipAriaLabel:"Vista previa del comentario",close:"Cerrar",popoverAriaLabel:"Hilo de comentarios",replyPlaceholder:"Responder...",attachedScreenshot:"Captura de pantalla adjunta",screenshotPreview:"Vista previa de la captura",removeScreenshot:"Quitar captura de pantalla",capturingScreenshot:"Capturando\u2026",inboxAriaLabel:"Bandeja de comentarios",inboxEmptyTitle:"Todav\xEDa no hay comentarios",inboxEmptyHintTemplate:"Pulsa {n} y haz clic en cualquier parte de la p\xE1gina para empezar.",inboxEmptyAction:"Activar modo",inboxNoMatches:"Ning\xFAn comentario coincide con estos filtros",orphanedBadge:"Desanclado",hiddenBadge:"Oculto",filterAll:"Todas las p\xE1ginas",filterCurrentPage:"P\xE1gina actual",filterTitle:"Filtrar",filterClear:"Limpiar",filterByPage:"P\xE1gina",filterByStatus:"Estado",back:"Volver",deleteComment:"Eliminar",deleteReply:"Eliminar respuesta",replyOptions:"Opciones de la respuesta",editComment:"Editar",editReply:"Editar respuesta",copyLink:"Copiar enlace",linkCopied:"Enlace copiado",editorAriaLabel:"Editar texto",editSave:"Guardar",editCancel:"Cancelar",editedMark:"editado",editedAtPrefix:"Editado el ",confirmDiscardTitle:"\xBFDescartar los cambios?",confirmDiscardMessage:"Los cambios que hiciste en este texto no se han guardado y se perder\xE1n.",confirmDiscard:"Descartar",confirmKeepEditing:"Seguir editando",commentNotFound:"Ese comentario no est\xE1 en esta p\xE1gina.",confirmDelete:"Eliminar",confirmCancel:"Cancelar",confirmDeleteCommentTitle:"\xBFEliminar comentario?",confirmDeleteCommentMessage:"Este comentario se eliminar\xE1 de forma permanente. Esta acci\xF3n no se puede deshacer.",confirmDeleteThreadMessage:"Este comentario y todas sus respuestas se eliminar\xE1n de forma permanente. Esta acci\xF3n no se puede deshacer.",confirmDeleteReplyTitle:"\xBFEliminar respuesta?",confirmDeleteReplyMessage:"Esta respuesta se eliminar\xE1 de forma permanente. Esta acci\xF3n no se puede deshacer.",copyAgentContext:"Copiar contexto de agente",copied:"Copiado",statusLabel:"Estado",prevComment:"Comentario anterior",nextComment:"Comentario siguiente",replyLink:"Responder",replyCountOne:"1 respuesta",replyCountTemplate:"{n} respuestas",commentOptions:"Opciones del comentario",moreOptions:"M\xE1s",statusOpen:"Abierto",statusInProgress:"En progreso",statusInReview:"En revisi\xF3n",statusResolved:"Resuelto",durationLessThanMinute:"<1m",resolvedInTemplate:"Resuelto en {n}",typeLabel:"Tipo",priorityLabel:"Prioridad",unset:"Sin definir",typeBug:"Bug",typeSuggestion:"Sugerencia",typeQuestion:"Pregunta",typeImprovement:"Mejora",priorityHigh:"Alta",priorityMedium:"Media",priorityLow:"Baja",filterByType:"Tipo",filterByPriority:"Prioridad",contextSection:"Contexto",autoScreenshotLabel:"Contexto autom\xE1tico",contextUrl:"URL",contextViewport:"Viewport",contextScreen:"Pantalla",contextBrowser:"Navegador",contextOs:"SO",reactionsLabel:"Reacciones",addReaction:"A\xF1adir reacci\xF3n",reactionToggleOn:"A\xF1adir tu reacci\xF3n",reactionToggleOff:"Quitar tu reacci\xF3n",reactionPickerLabel:"Elegir una reacci\xF3n"};var ke={en:X,es:Nn},_e="en";function Ln(){let n=(navigator.language||_e).slice(0,2).toLowerCase();return n in ke?n:_e}function Mn(n){let e=ke[n];return!e||n===_e?ke[_e]:{...ke[_e],...e}}function A(n,e){return n.replace("{n}",String(e))}var sr=6e4;function z(n,e){if(!Number.isFinite(n)||n<0)return"";let t=Math.floor(n/sr);if(t<1)return e.durationLessThanMinute;if(t<60)return A(e.minutesAgoTemplate,t);let o=Math.floor(t/60);if(o<24){let l=t%60,c=A(e.hoursAgoTemplate,o);return l?`${c} ${A(e.minutesAgoTemplate,l)}`:c}let r=Math.floor(o/24),i=o%24,a=A(e.daysAgoTemplate,r);return i?`${a} ${A(e.hoursAgoTemplate,i)}`:a}var ht=64,ar=3,lr=5,cr=.6,dr=.7,pr=/^(css|sc|jsx|emotion)-/i,ur=/^data-(reactid|react-|v-|svelte-)/,hr=["id","name","role","aria-label"],mr=["data-testid","name","aria-label"],mt=n=>typeof CSS<"u"&&CSS.escape?CSS.escape(n):String(n).replace(/[^a-zA-Z0-9_-]/g,"\\$&"),fr=n=>String(n).replace(/["\\]/g,"\\$&"),Te=(n,e)=>{try{return e.querySelectorAll(n).length===1}catch{return!1}},Bn=n=>(n||"").replace(/\s+/g," ").trim().slice(0,ht),gr=n=>xn.includes(n)||pr.test(n)?!1:!n.split(/[-_]/).some(e=>e.length>=5&&/\d/.test(e)),Er=n=>[...n.classList].filter(gr),br=n=>{let e={};for(let{name:t,value:o}of n.attributes)(hr.includes(t)||t.startsWith("data-")&&!ur.test(t))&&o&&(e[t]=o.slice(0,ht));return e},ft=n=>{let e=n.parentElement;if(!e)return{index:0,count:1};let t=[...e.children].filter(o=>o.tagName===n.tagName);return{index:t.indexOf(n),count:t.length}},Cr=(n,e)=>{if(!n.id)return null;let t=`#${mt(n.id)}`;return Te(t,e)?t:null},_r=(n,e)=>{let t=n.tagName.toLowerCase();for(let o of mr){let r=n.getAttribute(o);if(!r)continue;let i=`${t}[${o}="${fr(r)}"]`;if(Te(i,e))return i}return null},Tr=(n,e)=>{let t=[],o=n;for(let r=0;r<ar&&o;r++){let i=Er(o),a=o.tagName.toLowerCase();if(t.unshift(i.length?`${a}.${i.map(mt).join(".")}`:a),r===0&&!i.length)return null;let l=t.join(" > ");if(Te(l,e))return l;o=o.parentElement}return null},xr=(n,e)=>{if(n===e.body)return"body";let t=[],o=n;for(let i=0;i<lr&&o;i++){if(o===e.body){t.unshift("body");break}if(o.id){let l=[`#${mt(o.id)}`,...t].join(" > ");if(Te(l,e))return l}let{index:a}=ft(o);t.unshift(`${o.tagName.toLowerCase()}:nth-of-type(${a+1})`),o=o.parentElement}let r=t.join(" > ");return Te(r,e)?r:null},Pn=(n,e)=>Cr(n,e)||_r(n,e)||Tr(n,e)||xr(n,e);function $n(n){return Pn(n,n.ownerDocument)}function Hn(n,e,t){let o=n.ownerDocument,{index:r,count:i}=ft(n);return{version:1,selector:Pn(n,o),fingerprint:{tagName:n.tagName,textSnippet:Bn(n.textContent),attributes:br(n),siblingIndex:r,siblingCount:i},relativeX:e,relativeY:t}}var yr=(n,e)=>{if(!n&&!e)return 1;if(!n||!e)return 0;if(n===e)return 1;if(n.startsWith(e)||e.startsWith(n))return .8;let t=new Set(n.split(" ")),o=new Set(e.split(" ")),r=0;for(let i of t)o.has(i)&&r++;return 2*r/(t.size+o.size)},Sr=(n,e)=>{let t=Object.keys(e);if(!t.length)return 1;let o=0;for(let r of t)(n.getAttribute(r)||"").slice(0,ht)===e[r]&&o++;return o/t.length},Dn=(n,e)=>{let{index:t,count:o}=ft(n),r=Math.abs(t-e.siblingIndex),i=Math.max(e.siblingCount,o,1);return Math.max(0,1-r/i)},Or=(n,e)=>{if(n.tagName!==e.tagName)return 0;let t=!!e.textSnippet,o=Object.keys(e.attributes||{}).length>0,r=.5,i=.3,a=.2;return o?t||(i+=r,r=0):(r+=i,i=0),!t&&!o?Dn(n,e):r*yr(Bn(n.textContent),e.textSnippet)+i*Sr(n,e.attributes||{})+a*Dn(n,e)},kn=(n,e)=>{let t=null;for(let o of n){let r=Or(o,e);(!t||r>t.confidence)&&(t={element:o,confidence:r})}return t};function gt(n,e=document){if(n?.version!=null&&n.version>1)return null;let t=n?.fingerprint;if(!t||!t.tagName)return null;if(n.selector){let a=[];try{a=[...e.querySelectorAll(n.selector)]}catch{}let l=kn(a,t);if(l&&l.confidence>=cr)return l}if(!(!!t.textSnippet||Object.keys(t.attributes||{}).length>0))return null;let r;try{r=[...e.querySelectorAll(t.tagName)]}catch{return null}let i=kn(r,t);return i&&i.confidence>=dr?i:null}var Be="helldots-comments",Pe="helldots-pending-detail";function Et(){try{let n=localStorage.getItem(Be);if(!n)return[];let e=JSON.parse(n);return Array.isArray(e)?e:[]}catch(n){return console.warn("HellDots: could not read stored comments",n),[]}}function Un(n){try{return localStorage.setItem(Be,JSON.stringify(n)),!0}catch{return!1}}function $e(n){if(Un(n))return!0;let e=n.map((r,i)=>({comment:r,index:i})).filter(({comment:r})=>r?.contextScreenshot).sort((r,i)=>{let a=Date.parse(r.comment.createdAt),l=Date.parse(i.comment.createdAt);return Number.isFinite(a)&&Number.isFinite(l)&&a!==l?a-l:r.index-i.index});if(e.length===0)return console.warn("HellDots: could not persist comments (storage quota exceeded, nothing left to shed)"),!1;let t=[...n],o=0;for(let{index:r}of e)if(t[r]={...t[r],contextScreenshot:null},o++,Un(t))return console.warn(`HellDots: localStorage quota exceeded \u2014 dropped the automatic context screenshot from the ${o} oldest comment(s) to keep all comments persisted. Comment text, replies and user-attached screenshots were not touched.`),!0;return console.warn(`HellDots: could not persist comments even after dropping all ${o} automatic context screenshot(s); storage quota exceeded`),!1}function bt(n,e,t){let o=new Set(e.map(i=>String(i.id)));return[...n.filter(i=>!o.has(String(i.id))&&i.page!==t),...e]}var Xn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Fn=(n=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(n|=0));for(;n--;)e+=Xn[t[n]&63];return e};var Ct=()=>Fn(),H=n=>typeof n=="string"?n.trim():"",I=(n,e)=>String(n)===String(e);var te=new Set,ne=null,He=null,Ir=n=>[...n.querySelectorAll('[role="menuitem"], [role="menuitemradio"]')],zn=4,Ar=n=>{for(let e=n.parentElement;e;e=e.parentElement){let{overflowX:t,overflowY:o}=getComputedStyle(e);if(t!=="visible"||o!=="visible")return e.getBoundingClientRect()}return null},Rr=(n,e)=>{e.classList.remove(s.INBOX_MENU_UP),e.classList.remove(s.INBOX_MENU_START);let t=Ar(e),o=Math.min(t?.bottom??1/0,window.innerHeight),r=Math.max(t?.top??0,0),i=Math.max(t?.left??0,0),a=Math.min(t?.right??1/0,window.innerWidth),{height:l,width:c,left:d}=e.getBoundingClientRect(),p=n.getBoundingClientRect(),u=p.bottom+zn+l,h=p.top-zn-l;u>o&&h>=r&&e.classList.add(s.INBOX_MENU_UP),d<i&&p.left+c<=a&&e.classList.add(s.INBOX_MENU_START)},Gn=(n,e)=>(typeof e.composedPath=="function"?e.composedPath():[]).includes(n)||n.contains(e.target),wr=()=>{ne||(ne=n=>{for(let e of[...te])Gn(e.menu,n)||Gn(e.button,n)||e.close()},document.addEventListener("mousedown",ne,!0),He=n=>{let e=[...te].pop();if(e){if(n.key==="Escape"){n.preventDefault(),n.stopPropagation(),e.close(),e.button.focus();return}if(["ArrowDown","ArrowUp","Home","End"].includes(n.key)){let t=Ir(e.menu);if(t.length===0)return;n.preventDefault(),n.stopPropagation();let o=e.menu.getRootNode(),r=t.indexOf(o.activeElement),i;if(n.key==="Home")i=0;else if(n.key==="End")i=t.length-1;else if(r===-1)i=n.key==="ArrowDown"?0:t.length-1;else{let a=n.key==="ArrowDown"?1:-1;i=(r+a+t.length)%t.length}t[i].focus()}}},document.addEventListener("keydown",He,!0))},vr=()=>{ne&&(document.removeEventListener("mousedown",ne,!0),ne=null,document.removeEventListener("keydown",He,!0),He=null)},Ue=()=>{for(let n of[...te])n.close()},W=(n,e)=>{let t={button:n,menu:e,close:()=>{e.style.display="none",n.setAttribute("aria-expanded","false"),te.delete(t),te.size===0&&vr()}},o=()=>{Ue(),e.style.display="block",Rr(n,e),n.setAttribute("aria-expanded","true"),te.add(t),wr()},r=()=>e.style.display!=="none";return e.style.display="none",n.setAttribute("aria-expanded","false"),n.addEventListener("click",i=>{i.stopPropagation();let a=r();Ue(),a||o()}),{open:o,close:t.close,isOpen:r}};var Vn=(n,e)=>H(n?.id)||n?.name||e.anonymous,_t=n=>{let e=n?.reactions;return!e||typeof e!="object"?[]:be.filter(t=>e[t]?.length>0).map(t=>({emoji:t,authors:[...e[t]]}))},Tt=n=>{if(!n||typeof n!="object")return null;let e={};for(let t of be){let o=n[t];if(!Array.isArray(o))continue;let r=[];for(let i of o){if(typeof i!="string")continue;let a=i.trim();a&&!r.includes(a)&&r.push(a)}r.length>0&&(e[t]=r)}return Object.keys(e).length>0?e:null},xt=(n,e,t)=>{if(!be.includes(e)||!t)return!1;n.reactions||(n.reactions={});let o=n.reactions[e]||[],r=o.indexOf(t);return r>=0?o.splice(r,1):o.push(t),o.length>0?n.reactions[e]=o:delete n.reactions[e],!0},yt=n=>{let e=Object.entries(n||{}).filter(([,t])=>t?.length>0);return e.length>0?Object.fromEntries(e.map(([t,o])=>[t,[...o]])):null},Nr='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M20.94 11.08A9 9 0 1 1 12.92 3.06"/><path d="M8.5 14.2a4.6 4.6 0 0 0 7 0"/><path d="M9 9.5h.01M15 9.5h.01"/><path d="M19 2.6v4M17 4.6h4"/></svg>',Xe=({actorKey:n,strings:e,onToggle:t})=>{let o=new WeakMap,r=c=>{let d=o.get(c);if(d)for(let p of d)p.el.isConnected?p.repaint():d.delete(p)},i=(c,d)=>{t(c,d),r(c)},a=(c,{className:d,tooltip:p=!0})=>{let u=document.createElement("div");u.className=s.REACTION_TRIGGER;let h=document.createElement("button");h.type="button",h.className=d,h.dataset.action="react",p&&(h.dataset.hdTooltip=e.addReaction),h.setAttribute("aria-label",e.addReaction),h.innerHTML=Nr;let m=document.createElement("div");m.className=s.REACTION_PALETTE,m.setAttribute("role","menu"),m.setAttribute("aria-label",e.reactionPickerLabel);let f=W(h,m);for(let g of be){let E=document.createElement("button");E.type="button",E.className=s.REACTION_PALETTE_ITEM,E.setAttribute("role","menuitem"),E.dataset.reactionEmoji=g,E.textContent=g,E.setAttribute("aria-label",g),E.addEventListener("click",b=>{b.stopPropagation(),f.close(),i(c,g)}),m.appendChild(E)}return u.appendChild(h),u.appendChild(m),u};return{bar:c=>{let d=document.createElement("div");d.className=s.REACTION_BAR,d.setAttribute("role","group"),d.setAttribute("aria-label",e.reactionsLabel);let p=()=>{d.replaceChildren();let h=_t(c),m=n();if(d.hidden=h.length===0,!d.hidden){for(let{emoji:f,authors:g}of h){let E=g.includes(m),b=document.createElement("button");b.type="button",b.className=s.REACTION_PILL,E&&b.classList.add(s.REACTION_PILL_MINE),b.dataset.reactionEmoji=f;let T=E?e.reactionToggleOff:e.reactionToggleOn;b.setAttribute("aria-pressed",String(E)),E||(b.dataset.hdTooltip=T),b.setAttribute("aria-label",`${T}: ${f} (${g.length})`),b.addEventListener("click",v=>{v.stopPropagation(),i(c,f)});let _=document.createElement("span");_.className=s.REACTION_PILL_EMOJI,_.textContent=f,_.setAttribute("aria-hidden","true");let x=document.createElement("span");x.className=s.REACTION_PILL_COUNT,x.textContent=String(g.length),b.appendChild(_),b.appendChild(x),d.appendChild(b)}d.appendChild(a(c,{className:s.REACTION_ADD}))}},u=o.get(c);return u||o.set(c,u=new Set),u.add({el:d,repaint:p}),p(),d},trigger:a,refresh:r}};var oe="helldotsComment",ie=(n,e=oe,t=location.href)=>{let o=new URL(t),r=n.page||o.pathname,i=r===o.pathname?o:new URL(r,o);return i.searchParams.set(e,String(n.id)),i.href},Fe=(n=oe,e=location.href)=>{try{return new URL(e).searchParams.get(n)}catch{return null}};var Yn=["created","edited","status","classified"],jn=["type","priority","tags"],Lr=64,ze=n=>typeof n=="string"?n.trim().slice(0,Lr):"",Ge=n=>n===null?{present:!0,value:null}:typeof n=="string"?{present:!0,value:ze(n)}:{present:!1,value:void 0};function Wn(n,e){let t=ze(n?.name)||e.anonymous,o=H(n?.id);return o?{id:o,name:t}:{name:t}}function q(n,e,t,o){if(!Yn.includes(e))return null;let r={type:e,at:new Date().toISOString(),actor:t};o?.field&&jn.includes(o.field)&&(r.field=o.field);let i=Ge(o?.from);i.present&&(r.from=i.value);let a=Ge(o?.to);return a.present&&(r.to=a.value),Array.isArray(n.history)||(n.history=[]),n.history.push(r),r}function qn(n){if(!Array.isArray(n))return null;let e=[];for(let t of n){if(!t||typeof t!="object"||!Yn.includes(t.type))continue;let o=ze(t.at);if(!Number.isFinite(Date.parse(o)))continue;let r=ze(t.actor?.name),i=H(t.actor?.id),a={type:t.type,at:o,actor:i?{id:i,name:r}:{name:r}};jn.includes(t.field)&&(a.field=t.field);let l=Ge(t.from);l.present&&(a.from=l.value);let c=Ge(t.to);c.present&&(a.to=c.value),e.push(a)}return e.length===0?null:(e.sort((t,o)=>Date.parse(t.at)-Date.parse(o.at)),e)}function Kn(n){return!Array.isArray(n)||n.length===0?null:n.map(e=>({...e,actor:{...e.actor}}))}function K(n){if(!Array.isArray(n?.history))return[];let e=[],t=null;for(let r of n.history)r.type==="status"&&(r.to==="resolved"?t=r.at:t&&(e.push({resolvedAt:t,reopenedAt:r.at,ms:0}),t=null));t&&e.push({resolvedAt:t,reopenedAt:null,ms:0});let o=Date.parse(n.createdAt);for(let r of e){let i=Date.parse(r.resolvedAt);r.ms=Number.isFinite(o)&&Number.isFinite(i)?Math.max(0,i-o):0}return e}function re(n){if(n?.status!=="resolved")return null;let e=K(n),t=e[e.length-1];if(t&&!t.reopenedAt)return t.ms;let o=Date.parse(n.resolvedAt),r=Date.parse(n.createdAt);return!Number.isFinite(o)||!Number.isFinite(r)?null:Math.max(0,o-r)}var St=new Set,Zn=()=>{for(let n of[...St])n(!1)},Ve=(n,{title:e,message:t,confirmLabel:o,cancelLabel:r})=>new Promise(i=>{let a=document.createElement("div");a.className=s.CONFIRM,a.style.zIndex=String(D.CONFIRM);let l=document.createElement("div");l.className=s.CONFIRM_PANEL,l.setAttribute("role","alertdialog"),l.setAttribute("aria-modal","true");let c=document.createElement("h2");c.className=s.CONFIRM_TITLE,c.textContent=e,c.id=`hd-confirm-title-${Math.random().toString(36).slice(2,9)}`,l.setAttribute("aria-labelledby",c.id);let d=document.createElement("p");d.className=s.CONFIRM_MESSAGE,d.textContent=t,d.id=`hd-confirm-message-${Math.random().toString(36).slice(2,9)}`,l.setAttribute("aria-describedby",d.id);let p=document.createElement("div");p.className=s.CONFIRM_ACTIONS;let u=document.createElement("button");u.type="button",u.className=s.CONFIRM_CANCEL,u.textContent=r;let h=document.createElement("button");h.type="button",h.className=s.CONFIRM_ACCEPT,h.textContent=o,p.appendChild(u),p.appendChild(h),l.appendChild(c),l.appendChild(d),l.appendChild(p),a.appendChild(l);let m=n.activeElement||document.activeElement,f=!1,g=_=>{f||(f=!0,St.delete(g),document.removeEventListener("keydown",E,!0),a.remove(),m?.focus?.(),i(_))},E=_=>{if(_.key==="Escape"){_.stopPropagation(),_.preventDefault(),g(!1);return}if(_.key!=="Tab")return;let x=[u,h],v=n.activeElement||document.activeElement,C=x.indexOf(v);_.preventDefault(),(_.shiftKey?x[(C<=0?x.length:C)-1]:x[(C+1)%x.length]).focus()};u.addEventListener("click",()=>g(!1)),h.addEventListener("click",()=>g(!0));let b=!1;a.addEventListener("mousedown",_=>{b=_.target===a,_.stopPropagation()}),a.addEventListener("click",_=>{_.target===a&&b&&g(!1),b=!1}),St.add(g),document.addEventListener("keydown",E,!0),(n.body||n).appendChild(a),u.focus()});var Jn='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>',Mr='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>',Dr='<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><circle cx="5" cy="12" r="1.6"/><circle cx="12" cy="12" r="1.6"/><circle cx="19" cy="12" r="1.6"/></svg>',ae=n=>{if(navigator.clipboard?.writeText)return navigator.clipboard.writeText(n).catch(()=>{});let e=document.createElement("textarea");e.value=n,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select();try{document.execCommand("copy")}catch{}return e.remove(),Promise.resolve()},k=(n,e)=>({open:e.statusOpen,in_progress:e.statusInProgress,in_review:e.statusInReview,resolved:e.statusResolved})[n]||e.statusOpen,L=(n,e)=>({bug:e.typeBug,suggestion:e.typeSuggestion,question:e.typeQuestion,improvement:e.typeImprovement})[n]||e.unset,M=(n,e)=>({high:e.priorityHigh,medium:e.priorityMedium,low:e.priorityLow})[n]||e.unset,se=({action:n,options:e,value:t,colorOf:o,labelOf:r,tooltipLabel:i,onSelect:a,showLabel:l=!1})=>{let c=document.createElement("div");c.style.position="relative";let d=document.createElement("button");d.type="button",d.className=s.INBOX_ACTION_BTN,l&&d.classList.add(s.INBOX_ACTION_BTN_LABELED),d.dataset.action=n,d.setAttribute("aria-haspopup","true");let p=document.createElement("span");p.className=s.INBOX_STATUS_DOT,d.appendChild(p);let u=null;l&&(u=document.createElement("span"),u.className=s.INBOX_ACTION_LABEL,d.appendChild(u));let h=document.createElement("div");h.className=s.INBOX_MENU,h.setAttribute("role","menu");let m=W(d,h),f=t,g=()=>{let E=`${i}: ${r(f)}`;p.style.backgroundColor=o(f),d.dataset.hdTooltip=E,d.setAttribute("aria-label",E),u&&(u.textContent=r(f)),h.querySelectorAll("[data-picker-option]").forEach(b=>{let T=b.dataset.pickerOption,_=T===""?null:T;b.setAttribute("aria-checked",String(_===f))})};for(let E of e){let b=document.createElement("button");b.type="button",b.className=s.INBOX_MENU_ITEM,b.dataset.pickerOption=E===null?"":E,b.setAttribute("role","menuitemradio");let T=document.createElement("span");T.className=s.INBOX_STATUS_DOT,T.style.backgroundColor=o(E),b.appendChild(T),b.appendChild(document.createTextNode(r(E))),b.addEventListener("click",_=>{_.stopPropagation(),m.close(),E!==f&&(f=E,a(E),g())}),h.appendChild(b)}return c.appendChild(d),c.appendChild(h),g(),c},Ot=({label:n,tooltip:e,items:t})=>{let o=document.createElement("div");o.style.position="relative";let r=document.createElement("button");r.type="button",r.className=s.INBOX_ACTION_BTN,r.dataset.action="menu",e&&(r.dataset.hdTooltip=e),r.setAttribute("aria-label",n),r.innerHTML=Dr;let i=document.createElement("div");i.className=s.INBOX_MENU,i.setAttribute("role","menu");let a=W(r,i);for(let l of t){let c=document.createElement("button");c.type="button",c.className=s.INBOX_MENU_ITEM,c.setAttribute("role","menuitem"),c.textContent=l.label,c.addEventListener("click",async d=>{if(d.stopPropagation(),l.feedbackLabel){l.onSelect(),c.textContent=l.feedbackLabel,setTimeout(()=>{c.textContent=l.label,a.close()},1200);return}if(a.close(),l.confirm){let p=c.getRootNode();if(!await Ve(p,l.confirm()))return}l.onSelect()}),i.appendChild(c)}return o.appendChild(r),o.appendChild(i),o},Ye=(n,{strings:e,reactions:t,onCopy:o,onCopyLink:r,onEdit:i,onSetStatus:a,onSetType:l,onSetPriority:c,onDelete:d})=>{let p=document.createElement("div");p.className=s.INBOX_CARD_ACTIONS;let u=document.createElement("div");u.className=s.ACTIONS_GROUP;let h=document.createElement("div");h.className=`${s.ACTIONS_GROUP} ${s.ACTIONS_GROUP_END}`,p.appendChild(u),p.appendChild(h),t&&h.appendChild(t.trigger(n,{className:s.INBOX_ACTION_BTN}));let m=document.createElement("button");return m.type="button",m.className=s.INBOX_ACTION_BTN,m.dataset.action="copy",m.dataset.hdTooltip=e.copyAgentContext,m.setAttribute("aria-label",e.copyAgentContext),m.innerHTML=Jn,m.addEventListener("click",f=>{f.stopPropagation(),o(n),m.innerHTML=Mr,m.dataset.hdTooltip=e.copied,setTimeout(()=>{m.innerHTML=Jn,m.dataset.hdTooltip=e.copyAgentContext},1500)}),h.appendChild(m),u.appendChild(se({action:"status",options:N,value:n.status||"open",colorOf:f=>V[f]||V.open,labelOf:f=>k(f,e),tooltipLabel:e.statusLabel,onSelect:f=>a(n,f),showLabel:!0})),u.appendChild(se({action:"type",options:[null,...R],value:n.type||null,colorOf:f=>Y[f]||"transparent",labelOf:f=>L(f,e),tooltipLabel:e.typeLabel,onSelect:f=>l?.(n,f),showLabel:!0})),u.appendChild(se({action:"priority",options:[null,...w],value:n.priority||null,colorOf:f=>j[f]||"transparent",labelOf:f=>M(f,e),tooltipLabel:e.priorityLabel,onSelect:f=>c?.(n,f),showLabel:!0})),h.appendChild(Ot({label:e.commentOptions,tooltip:e.moreOptions,items:[{label:e.copyLink,feedbackLabel:e.linkCopied,onSelect:()=>r?.(n)},{label:e.editComment,onSelect:()=>i?.(n)},{label:e.deleteComment,onSelect:()=>d(n),confirm:()=>({title:e.confirmDeleteCommentTitle,message:n.replies?.length?e.confirmDeleteThreadMessage:e.confirmDeleteCommentMessage,confirmLabel:e.confirmDelete,cancelLabel:e.confirmCancel})}]})),p};var le=({value:n,strings:e,onInput:t,onSave:o,onCancel:r})=>{let i=document.createElement("div");i.className=s.EDITOR;let a=document.createElement("textarea");a.className=s.EDITOR_INPUT,a.value=n,a.rows=3,a.setAttribute("aria-label",e.editorAriaLabel);let l=document.createElement("div");l.className=s.EDITOR_ACTIONS;let c=document.createElement("button");c.type="button",c.className=s.EDITOR_CANCEL,c.textContent=e.editCancel;let d=document.createElement("button");d.type="button",d.className=s.EDITOR_SAVE,d.textContent=e.editSave;let p=()=>{d.disabled=a.value.trim().length===0};return p(),a.addEventListener("input",()=>{p(),t(a.value)}),a.addEventListener("keydown",u=>{if(u.key==="Escape"){u.stopPropagation(),u.preventDefault(),r();return}u.key==="Enter"&&(u.metaKey||u.ctrlKey)&&!d.disabled&&(u.preventDefault(),o(a.value))}),c.addEventListener("click",u=>{u.stopPropagation(),r()}),d.addEventListener("click",u=>{u.stopPropagation(),d.disabled||o(a.value)}),l.appendChild(c),l.appendChild(d),i.appendChild(a),i.appendChild(l),queueMicrotask(()=>{a.focus(),a.setSelectionRange(a.value.length,a.value.length)}),i},je=(n,e)=>Ve(n,{title:e.confirmDiscardTitle,message:e.confirmDiscardMessage,confirmLabel:e.confirmDiscard,cancelLabel:e.confirmKeepEditing});var kr=(n,e)=>{let t=Date.now()-new Date(n).getTime(),o=Math.floor(t/6e4),r=Math.floor(t/36e5),i=Math.floor(t/864e5);return o<1?e.justNow:o<60?A(e.minutesAgoTemplate,o):r<24?A(e.hoursAgoTemplate,r):A(e.daysAgoTemplate,i)},eo=(n,e)=>new Intl.DateTimeFormat(e,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(new Date(n)),xe=(n,e,t,o,r=null)=>{let i=document.createElement("div");i.className=s.THREAD_META;let a=document.createElement("span");a.className=s.THREAD_AUTHOR,a.textContent=n||t.anonymous;let l=document.createElement("span");return l.className=s.THREAD_TIME,l.textContent=kr(e,t),l.dataset.fullDate=eo(e,o),i.appendChild(a),i.appendChild(l),r&&i.appendChild(It(r,t,o)),i},It=(n,e,t)=>{let o=document.createElement("span");return o.className=s.THREAD_EDITED,o.textContent=e.editedMark,o.dataset.fullDate=e.editedAtPrefix+eo(n,t),o},At=()=>/Mac|iPod|iPhone|iPad/.test(navigator.userAgent),Rt=(n,e)=>{let t=At(),o={alt:t?"\u2325":e.modifierAlt,ctrl:t?"\u2318":e.modifierCtrl,shift:t?"\u21E7":e.modifierShift},r=o[n.shortcutModifier]||o.alt,i=n.shortcutKey?.toUpperCase()||"C";return`${r} + ${i}`},We='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>',Br='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg>',Pr='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 2L11 13M22 2L15 22L11 13M11 13L2 9L22 2"/></svg>',$r='<svg width="16" height="16" viewBox="0 0 16 16" stroke-linejoin="round" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.8914 10.4028L2.98327 10.6318C3.22909 11.2445 3.5 12.1045 3.5 13C3.5 13.3588 3.4564 13.7131 3.38773 14.0495C3.69637 13.9446 4.01409 13.8159 4.32918 13.6584C4.87888 13.3835 5.33961 13.0611 5.70994 12.7521L6.22471 12.3226L6.88809 12.4196C7.24851 12.4724 7.61994 12.5 8 12.5C11.7843 12.5 14.5 9.85569 14.5 7C14.5 4.14431 11.7843 1.5 8 1.5C4.21574 1.5 1.5 4.14431 1.5 7C1.5 8.18175 1.94229 9.29322 2.73103 10.2153L2.8914 10.4028ZM2.8135 15.7653C1.76096 16 1 16 1 16C1 16 1.43322 15.3097 1.72937 14.4367C1.88317 13.9834 2 13.4808 2 13C2 12.3826 1.80733 11.7292 1.59114 11.1903C0.591845 10.0221 0 8.57152 0 7C0 3.13401 3.58172 0 8 0C12.4183 0 16 3.13401 16 7C16 10.866 12.4183 14 8 14C7.54721 14 7.10321 13.9671 6.67094 13.9038C6.22579 14.2753 5.66881 14.6656 5 15C4.23366 15.3832 3.46733 15.6195 2.8135 15.7653Z"/></svg>',Hr='<svg width="16" height="16" viewBox="0 0 16 16" stroke-linejoin="round" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.67705 7.5L3.92705 3H12.0729L14.3229 7.5H10H9.25V8.25C9.25 8.94036 8.69036 9.5 8 9.5C7.30964 9.5 6.75 8.94036 6.75 8.25V7.5H6H1.67705ZM1.5 9V12C1.5 12.5523 1.94772 13 2.5 13H13.5C14.0523 13 14.5 12.5523 14.5 12V9H10.6465C10.32 10.1543 9.25878 11 8 11C6.74122 11 5.67998 10.1543 5.35352 9H1.5ZM3 1.5H13L15.8944 7.28885C15.9639 7.42771 16 7.58082 16 7.73607V12C16 13.3807 14.8807 14.5 13.5 14.5H2.5C1.11929 14.5 0 13.3807 0 12V7.73607C0 7.58082 0.0361451 7.42771 0.105573 7.28885L3 1.5Z"/></svg>',qe=({areaClassName:n,inputTag:e="textarea",inputClassName:t,inputId:o,inputPlaceholder:r,submitBtnId:i,fileInputId:a},l)=>{let c=document.createElement("div");c.className=n;let d=document.createElement(e);o&&(d.id=o),t&&(d.className=t),d.placeholder=r,d.setAttribute("aria-label",r),e==="input"&&(d.type="text");let p=document.createElement("div");p.className=s.SCREENSHOTS_CONTAINER;let u=document.createElement("div");u.className=s.COMMENT_ACTIONS_BAR;let h=document.createElement("button");h.className=s.ATTACH_IMAGE_BTN,h.type="button",h.setAttribute("aria-label",l.attachImage),h.innerHTML=Br;let m=document.createElement("input");m.type="file",a&&(m.id=a),m.accept="image/*",m.style.display="none";let f=document.createElement("button");return i&&(f.id=i),f.className=s.THREAD_SUBMIT,f.type="button",f.setAttribute("aria-label",l.send),f.innerHTML=Pr,u.appendChild(h),u.appendChild(m),u.appendChild(f),c.appendChild(d),c.appendChild(p),c.appendChild(u),{container:c,inputEl:d,screenshotsContainer:p,attachBtn:h,fileInput:m,submitBtn:f}},Qn=(n,e,t,o)=>{let r=document.createElement("div");r.className=s.TOOLBAR_ACTION_WRAPPER;let i=document.createElement("div");i.className=s.TOOLBAR_ACTION_TOOLTIP,t.forEach(l=>i.appendChild(l));let a=document.createElement("button");return a.type="button",a.className=`${s.TOOLBAR_ACTION_BTN} ${n}`,a.setAttribute("aria-label",o),a.innerHTML=e,r.appendChild(i),r.appendChild(a),r},to=(n={},e=X)=>{let t=document.createElement("div");t.id=O.TOOLBAR;let o=document.createElement("div");o.className=s.TOOLBAR_ACTIONS;let r=document.createElement("span");r.className=s.TOOLBAR_TEXT,r.textContent=e.toolbarComment;let i=document.createElement("span");i.className=s.SHORTCUT_HINT,i.textContent=Rt(n,e);let a=Qn(s.TOOLBAR_COMMENT_BTN,$r,[r,i],e.toolbarComment);a.querySelector(`.${s.TOOLBAR_COMMENT_BTN}`)?.setAttribute("aria-pressed","false");let l=document.createElement("span");l.className=s.TOOLBAR_TEXT,l.textContent=e.toolbarInbox;let c=Qn(s.TOOLBAR_MENU_BTN,Hr,[l],e.toolbarInbox);return o.appendChild(a),o.appendChild(c),t.appendChild(o),t},wt=(n,e,{includeStatus:t=!1,includeClassification:o=!0}={})=>{let r=document.createElement("div");r.className=s.INBOX_BADGES;let i=(a,l,c)=>{let d=document.createElement("span");d.className=`${s.BADGE} ${l}`,d.textContent=a,c&&(d.style.borderColor=c),r.appendChild(d)};if(t){let a=n.status||"open";i(k(a,e),s.BADGE_STATUS,V[a])}o&&n.type&&i(L(n.type,e),s.BADGE_TYPE,Y[n.type]),o&&n.priority&&i(M(n.priority,e),s.BADGE_PRIORITY,j[n.priority]);for(let a of n.tags||[])i(a,s.BADGE_TAG,null);if(n.status==="resolved"){let a=re(n),l=a===null?"":z(a,e);i(A(e.resolvedInTemplate,l||"\u2014"),s.BADGE_DURATION,null)}return r.children.length?r:null},Ur=n=>{let e=document.createElement("div");e.className=s.CLASSIFY_ROW;let t=null,o=null,r=()=>{e.replaceChildren(),e.appendChild(se({action:"type",options:[null,...R],value:null,colorOf:i=>Y[i]||"transparent",labelOf:i=>L(i,n),tooltipLabel:n.typeLabel,onSelect:i=>t=i,showLabel:!0})),e.appendChild(se({action:"priority",options:[null,...w],value:null,colorOf:i=>j[i]||"transparent",labelOf:i=>M(i,n),tooltipLabel:n.priorityLabel,onSelect:i=>o=i,showLabel:!0}))};return r(),{container:e,getType:()=>t,getPriority:()=>o,reset:()=>{t=null,o=null,r()}}},no=(n=X)=>{let e=document.createElement("div");e.id=O.COMMENT_BOX,e.setAttribute("role","dialog"),e.setAttribute("aria-label",n.commentBoxAriaLabel);let{container:t}=qe({areaClassName:s.COMMENT_INPUT_AREA,inputTag:"textarea",inputId:O.COMMENT_INPUT,inputPlaceholder:n.commentPlaceholder,submitBtnId:O.SUBMIT_COMMENT,fileInputId:O.ATTACH_IMAGE_INPUT},n),o=Ur(n);return e.appendChild(o.container),e.appendChild(t),e.style.display="none",e.classify=o,e},Z=n=>String(n).replace(/[\\"]/g,"\\$&"),oo=n=>`[data-comment-id="${Z(n)}"]`,vt=n=>n.screenshots||(n.screenshot?[n.screenshot]:[]),ce=(n,e,{strings:t,onShow:o,rerender:r,pending:i=0})=>{n.innerHTML="",n.classList.toggle(s.ACTIVE,e.length>0||i>0),e.forEach((a,l)=>{let c=document.createElement("div");c.className=s.SCREENSHOT_ITEM;let d=document.createElement("img");d.className=s.SCREENSHOT_IMG,d.src=a,d.alt=t.attachedScreenshot,io(d,()=>o(a));let p=document.createElement("button");p.type="button",p.className=s.SCREENSHOT_REMOVE,p.setAttribute("aria-label",t.removeScreenshot),p.innerHTML="×",p.onclick=u=>{u.stopPropagation(),e.splice(l,1),r()},c.appendChild(d),c.appendChild(p),n.appendChild(c)});for(let a=0;a<i;a++){let l=document.createElement("div");l.className=`${s.SCREENSHOT_ITEM} ${s.SCREENSHOT_PENDING}`,l.setAttribute("role","status"),l.setAttribute("aria-live","polite"),l.textContent=t.capturingScreenshot,n.appendChild(l)}},Xr=n=>new Promise(e=>{let t=new FileReader;t.onload=o=>e(o.target.result),t.onerror=()=>e(null),t.readAsDataURL(n)}),de=(n,e,t,o)=>{n.addEventListener("change",async r=>{let i=r.target.files[0];if(!i||i.type&&!i.type.startsWith("image/")||e().length>=Ee)return;let a=Xr(i);n.value="";let l=await a;if(!l)return;let c=e();if(c.length>=Ee||(c.push(l),t(),!o))return;let d=await o(l),p=c.indexOf(l);p!==-1&&(c[p]=d,t())})},U=(n,e)=>{n.querySelectorAll(`.${s.SCREENSHOT_IMG}`).forEach(t=>{io(t,()=>e(t.src))})},io=(n,e)=>{n.setAttribute("role","button"),n.setAttribute("tabindex","0"),n.addEventListener("click",t=>{t.stopPropagation(),e()}),n.addEventListener("keydown",t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),e())})},ro=(n,e=X)=>{let t=document.createElement("div");return t.className=s.CIRCLE,t.dataset.commentId=n.id,t.setAttribute("role","button"),t.setAttribute("tabindex","0"),t.setAttribute("aria-label",`${e.commentAriaLabelPrefix}${n.text}`),t.style.cssText=`
|
|
18
|
+
`);if(!o)return e;let r=document.createElement("style");return r.textContent=o,document.head.appendChild(r),()=>r.remove()},Qi=n=>e=>!(e.nodeName?.toLowerCase()===$||n&&e.ownerDocument!==document);async function pt({scale:n=1,embedCrossOriginFonts:e=!1,fastCapture:t=!1,skipIframeContent:o=!1,captureTimeout:r}={}){let i=await Ji(e),{width:a,height:l}=document.documentElement.getBoundingClientRect(),c=fn(a,l,n);try{for(let d=3;;d--){let p=await pn(document.documentElement,{scale:c,backgroundColor:bn(),...Cn()?{}:{font:!1},filter:Qi(o),onCloneEachNode:hn(),...t?{includeStyleProperties:mn}:{},...Number.isFinite(r)&&r>0?{timeout:r}:{}});if(gn(p))return{canvas:p,scale:c};if(d<=0)throw new Error(`HellDots: the page render came back holding no pixels. ${Math.round(a)}x${Math.round(l)} CSS pixels is most likely past this browser's canvas limit.`);c/=2}}finally{i()}}var _n=(n,e,t)=>{n.fillStyle=bn(),n.fillRect(0,0,e,t)};function Tn(n,{left:e,top:t,width:o,height:r},{sourceScale:i=1}={}){let a=document.createElement("canvas");a.width=o,a.height=r;let l=a.getContext("2d");return l?(_n(l,o,r),l.drawImage(n,(e+window.scrollX)*i,(t+window.scrollY)*i,o*i,r*i,0,0,o,r),a.toDataURL("image/png")):null}function ut(n,{sourceScale:e=1,outputScale:t=dt,quality:o=Wi}={}){let r=document.createElement("canvas");r.width=Math.round(window.innerWidth*t),r.height=Math.round(window.innerHeight*t);let i=r.getContext("2d");return i?(_n(i,r.width,r.height),i.drawImage(n,window.scrollX*e,window.scrollY*e,window.innerWidth*e,window.innerHeight*e,0,0,r.width,r.height),r.toDataURL("image/jpeg",o)):null}var s={CIRCLE:"comment-circle",CIRCLE_ACTIVE:"comment-circle--active",TOOLTIP:"comment-tooltip",TOOLBAR_TEXT:"toolbar-text",SHORTCUT_HINT:"shortcut-hint",COMMENT_INPUT_AREA:"comment-input-area",CLOSE_TOOLTIP:"close-tooltip",ACTIVE:"active",COMMENT_CURSOR:"comment-cursor",COMMENT_OVERLAY:"comment-overlay",THREAD_POPOVER:"comment-thread-popover",THREAD_HEADER:"thread-header",THREAD_BODY:"thread-body",THREAD_REPLIES:"thread-replies",THREAD_REPLY:"thread-reply",THREAD_REPLY_ACTIONS:"thread-reply-actions",THREAD_INPUT_AREA:"thread-input-area",THREAD_INPUT:"thread-input",THREAD_SUBMIT:"thread-submit",THREAD_ACTIONS_ROW:"thread-actions-row",THREAD_SCROLL:"thread-scroll",THREAD_META:"thread-meta",THREAD_AUTHOR:"thread-author",INBOX_HEADER_ACTIONS:"inbox-header-actions",INBOX_METRICS_BTN:"inbox-metrics-btn",METRICS_VIEW:"metrics-view",METRICS_TILES:"metrics-tiles",METRICS_TILE:"metrics-tile",METRICS_TILE_VALUE:"metrics-tile-value",METRICS_TILE_LABEL:"metrics-tile-label",METRICS_GROUP:"metrics-group",METRICS_HEADING:"metrics-heading",METRICS_ROW:"metrics-row",METRICS_ROW_LABEL:"metrics-row-label",METRICS_TRACK:"metrics-track",METRICS_BAR:"metrics-bar",METRICS_ROW_COUNT:"metrics-row-count",METRICS_CHART:"metrics-chart",METRICS_AXIS:"metrics-axis",METRICS_EXPORTS:"metrics-exports",METRICS_EXPORT_BTN:"metrics-export-btn",METRICS_EMPTY:"metrics-empty",AUDIT_BLOCK:"audit-block",AUDIT_TOGGLE:"audit-toggle",AUDIT_BODY:"audit-body",AUDIT_LIST:"audit-list",AUDIT_ROW:"audit-row",AUDIT_ACTION:"audit-action",AUDIT_ACTOR:"audit-actor",AUDIT_TIME:"audit-time",AUDIT_HEADING:"audit-heading",AUDIT_RESOLUTIONS:"audit-resolutions",THREAD_TIME:"thread-time",THREAD_EDITED:"thread-edited",EDITOR:"helldots-editor",EDITOR_INPUT:"helldots-editor-input",EDITOR_ACTIONS:"helldots-editor-actions",EDITOR_SAVE:"helldots-editor-save",EDITOR_CANCEL:"helldots-editor-cancel",INBOX_NOTICE:"inbox-notice",PREVIEW_CIRCLE:"preview-circle",SELECTION_RECT:"selection-rect",SCREENSHOT_IMG:"screenshot-img",SCREENSHOT_REMOVE:"screenshot-remove",SCREENSHOTS_CONTAINER:"screenshots-container",SCREENSHOT_ITEM:"screenshot-item",SCREENSHOT_PENDING:"screenshot-pending",CONFIRM:"helldots-confirm",CONFIRM_PANEL:"helldots-confirm-panel",CONFIRM_TITLE:"helldots-confirm-title",CONFIRM_MESSAGE:"helldots-confirm-message",CONFIRM_ACTIONS:"helldots-confirm-actions",CONFIRM_CANCEL:"helldots-confirm-cancel",CONFIRM_ACCEPT:"helldots-confirm-accept",LIGHTBOX:"helldots-lightbox",LIGHTBOX_IMG:"helldots-lightbox-img",LIGHTBOX_CLOSE:"helldots-lightbox-close",COMMENT_ACTIONS_BAR:"comment-actions-bar",ATTACH_IMAGE_BTN:"attach-image-btn",TOOLBAR_ACTIONS:"toolbar-actions",TOOLBAR_ACTION_BTN:"toolbar-action-btn",TOOLBAR_ACTION_WRAPPER:"toolbar-action-wrapper",TOOLBAR_ACTION_TOOLTIP:"toolbar-action-tooltip",TOOLBAR_COMMENT_BTN:"toolbar-comment-btn",TOOLBAR_MENU_BTN:"toolbar-menu-btn",INBOX_PANEL:"inbox-panel",INBOX_HEADER:"inbox-header",INBOX_FILTER:"inbox-filter",INBOX_FILTER_MENU:"inbox-filter-menu",INBOX_FILTER_MENU_HEADER:"inbox-filter-menu-header",INBOX_FILTER_CLEAR:"inbox-filter-clear",INBOX_FILTER_GROUP:"inbox-filter-group",INBOX_FILTER_CHIPS:"inbox-filter-chips",INBOX_FILTER_CHIP:"inbox-filter-chip",INBOX_FILTER_SECTION:"inbox-filter-section",INBOX_CLOSE:"inbox-close",INBOX_LIST:"inbox-list",INBOX_CARD:"inbox-card",INBOX_CARD_HEADER:"inbox-card-header",INBOX_CARD_ACTIONS:"inbox-card-actions",INBOX_CARD_TEXT:"inbox-card-text",INBOX_CARD_TAG:"inbox-card-tag",INBOX_CARD_REPLY_LINK:"inbox-card-reply-link",INBOX_ACTION_BTN:"inbox-action-btn",INBOX_ACTION_BTN_LABELED:"inbox-action-btn--labeled",INBOX_ACTION_LABEL:"inbox-action-label",INBOX_STATUS_DOT:"inbox-status-dot",INBOX_MENU:"inbox-menu",INBOX_MENU_UP:"inbox-menu--up",INBOX_MENU_START:"inbox-menu--start",INBOX_MENU_ITEM:"inbox-menu-item",INBOX_DETAIL:"inbox-detail",INBOX_DETAIL_HEADER:"inbox-detail-header",INBOX_BACK:"inbox-back",INBOX_NAV_BTN:"inbox-nav-btn",INBOX_REPLIES:"inbox-replies",TOOLTIP_REPLY_COUNT:"comment-tooltip-reply-count",INBOX_EMPTY:"inbox-empty",INBOX_EMPTY_ICON:"inbox-empty-icon",INBOX_EMPTY_TITLE:"inbox-empty-title",INBOX_EMPTY_TEXT:"inbox-empty-text",INBOX_EMPTY_KBD:"inbox-empty-kbd",INBOX_EMPTY_ACTION:"inbox-empty-action",CLASSIFY_ROW:"classify-row",INBOX_BADGES:"inbox-badges",BADGE:"helldots-badge",BADGE_STATUS:"helldots-badge--status",BADGE_TYPE:"helldots-badge--type",BADGE_PRIORITY:"helldots-badge--priority",BADGE_TAG:"helldots-badge--tag",BADGE_DURATION:"helldots-badge--duration",CONTEXT_BLOCK:"inbox-context",CONTEXT_TITLE:"inbox-context-title",CONTEXT_BODY:"inbox-context-body",CONTEXT_ROW:"inbox-context-row",CONTEXT_SCREENSHOT_CAPTION:"inbox-context-screenshot-caption",CONTEXT_TOGGLE:"inbox-context-toggle",HIGHLIGHT:"helldots-highlight",REACTION_BAR:"reaction-bar",REACTION_PILL:"reaction-pill",REACTION_PILL_MINE:"reaction-pill--mine",REACTION_PILL_EMOJI:"reaction-pill-emoji",REACTION_PILL_COUNT:"reaction-pill-count",REACTION_ADD:"reaction-add",REACTION_TRIGGER:"reaction-trigger",REACTION_PALETTE:"reaction-palette",REACTION_PALETTE_ITEM:"reaction-palette-item",ACTIONS_GROUP:"actions-group",ACTIONS_GROUP_END:"actions-group--end"},xn=[s.COMMENT_CURSOR],O={TOOLBAR:"comment-toolbar",COMMENT_BOX:"comment-box",COMMENT_INPUT:"comment-input",SUBMIT_COMMENT:"submit-comment",STYLES:"comment-overlay-styles",GLOBAL_STYLES:"comment-overlay-global-styles",ATTACH_IMAGE_INPUT:"attach-image-input"},B=28,Ee=5,N=["open","in_progress","in_review","resolved"],V={open:"#D1D1D6",in_progress:"#FF9F0A",in_review:"#2E90FA",resolved:"#30D158"},R=["bug","suggestion","question","improvement"],Y={bug:"#FF453A",suggestion:"#BF5AF2",question:"#64D2FF",improvement:"#5E5CE6"},w=["high","medium","low"],j={high:"#FF453A",medium:"#FF9F0A",low:"#8E8E93"},be=["\u{1F44D}","\u{1F44E}","\u2764\uFE0F","\u{1F389}","\u{1F440}","\u{1F680}"],yn={CONTAINER:'section, div[class*="container"], div[class*="content"]'},D={CIRCLE:9997,TOOLTIP:1e4,TOOLBAR:9998,COMMENT_BOX:9999,LIGHTBOX:10001,CONFIRM:10002},Sn='data:image/svg+xml;utf8,<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g transform="translate(-4,-4)"><path d="M6 8C6 6.89543 6.89543 6 8 6H20C27.732 6 34 12.268 34 20V20C34 27.732 27.732 34 20 34V34C12.268 34 6 27.732 6 20V8Z" fill="%232E90FA"/><path d="M8 7H20C27.1797 7 33 12.8203 33 20C33 27.1797 27.1797 33 20 33C12.8203 33 7 27.1797 7 20V8C7 7.44772 7.44772 7 8 7Z" stroke="white" stroke-width="2"/></g></svg>',On="2 2";var Me=class{constructor({host:e,autoScreenshot:t,embedCrossOriginFonts:o=!1,fastCapture:r=!1,skipIframeContent:i=!1,captureTimeout:a,onRegionCaptured:l,onRegionPending:c,onPlace:d,onError:p}){this.host=e,this.autoScreenshot=t,this.embedCrossOriginFonts=o,this.fastCapture=r,this.skipIframeContent=i,this.captureTimeout=a,this.onRegionCaptured=l,this.onRegionPending=c,this.onPlace=d,this.onError=p,this.pendingCapture=null,this.pendingRegion=null,this._regionToken=null,this._dragStart=null,this._isDragging=!1,this._selectionRect=null,this._boundDragMove=u=>this.onDragMove(u),this._boundDragEnd=u=>this.onDragEnd(u)}beginDrag(e){this._dragStart={x:e.clientX,y:e.clientY},this._isDragging=!1,document.addEventListener("mousemove",this._boundDragMove),document.addEventListener("mouseup",this._boundDragEnd)}onDragMove(e){let t=e.clientX-this._dragStart.x,o=e.clientY-this._dragStart.y;if(!this._isDragging&&Math.hypot(t,o)<5)return;this._isDragging=!0;let r=Math.min(this._dragStart.x,e.clientX),i=Math.min(this._dragStart.y,e.clientY),a=Math.abs(t),l=Math.abs(o);this._selectionRect||(this._selectionRect=document.createElement("div"),this._selectionRect.className=s.SELECTION_RECT,this.host.appendChild(this._selectionRect)),this._selectionRect.style.left=`${r}px`,this._selectionRect.style.top=`${i}px`,this._selectionRect.style.width=`${a}px`,this._selectionRect.style.height=`${l}px`}async onDragEnd(e){if(document.removeEventListener("mousemove",this._boundDragMove),document.removeEventListener("mouseup",this._boundDragEnd),this._isDragging){let t=Math.min(this._dragStart.x,e.clientX),o=Math.min(this._dragStart.y,e.clientY),r=Math.abs(e.clientX-this._dragStart.x),i=Math.abs(e.clientY-this._dragStart.y);this._selectionRect?.remove(),this._selectionRect=null,r>10&&i>10&&this.startRegionCapture({left:t,top:o,width:r,height:i}),await this.onPlace(e.clientX,e.clientY)}else await this.onPlace(this._dragStart.x,this._dragStart.y);this._isDragging=!1,this._dragStart=null}startRegionCapture(e){let t={};this._regionToken=t;let o=()=>this._regionToken===t,r=pt({scale:1,embedCrossOriginFonts:this.embedCrossOriginFonts,fastCapture:this.fastCapture,skipIframeContent:this.skipIframeContent,captureTimeout:this.captureTimeout});this.autoScreenshot&&(this.pendingCapture=r.then(({canvas:i,scale:a})=>o()?ut(i,{sourceScale:a}):null).catch(()=>null)),this.onRegionPending?.(!0),this.pendingRegion=r.then(({canvas:i,scale:a})=>{if(!o())return;let l=Tn(i,e,{sourceScale:a});l&&this.onRegionCaptured(l)}).catch(i=>{console.warn("HellDots: screenshot capture failed:",i),this.onError?.(i)}).finally(()=>{o()&&this.onRegionPending?.(!1)})}armClickCapture(){!this.autoScreenshot||this.pendingCapture||(this.pendingCapture=pt({scale:dt,embedCrossOriginFonts:this.embedCrossOriginFonts,fastCapture:this.fastCapture,skipIframeContent:this.skipIframeContent,captureTimeout:this.captureTimeout}).then(({canvas:e,scale:t})=>ut(e,{sourceScale:t})).catch(e=>(console.warn("HellDots: automatic screenshot failed",e),this.onError?.(e),null)))}async consumePending(){return await this.pendingRegion,this.pendingCapture?await this.pendingCapture:null}clearPending(){this.pendingCapture=null,this.pendingRegion=null,this._regionToken=null}destroy(){document.removeEventListener("mousemove",this._boundDragMove),document.removeEventListener("mouseup",this._boundDragEnd),this._selectionRect?.remove(),this._selectionRect=null,this.pendingCapture=null,this.pendingRegion=null,this._regionToken=null,this._dragStart=null,this._isDragging=!1}};var er=[{name:"Edge",re:/Edg\/([\d.]+)/},{name:"Chrome",re:/Chrome\/([\d.]+)/},{name:"Firefox",re:/Firefox\/([\d.]+)/},{name:"Safari",re:/Version\/([\d.]+).*Safari/}],tr=[{name:"iOS",re:/(?:iPhone|iPad).*OS ([\d_]+) like Mac OS X/},{name:"Android",re:/Android ([\d.]+)/},{name:"Windows",re:/Windows NT ([\d.]+)/},{name:"macOS",re:/Mac OS X ([\d_.]+)/},{name:"Linux",re:/Linux/}],nr={name:"unknown",version:""},or=n=>/not[\W_]*a[\W_]*brand/i.test(n),In=(n,e)=>{for(let{name:t,re:o}of n){let r=e.match(o);if(r)return{name:t,version:(r[1]||"").replace(/_/g,".")}}return{...nr}};function An(n=window){let e=n.navigator||{},t=e.userAgent||"",o=e.userAgentData,r=In(er,t),i=o?.brands?.find(l=>!or(l.brand));i&&(r={name:i.brand,version:i.version||""});let a=In(tr,t);return o?.platform&&(a.name=o.platform),{version:1,url:n.location?.href||"",viewport:{width:n.innerWidth,height:n.innerHeight},screen:{width:n.screen?.width??0,height:n.screen?.height??0},devicePixelRatio:n.devicePixelRatio??1,userAgent:t,browser:r,os:a,language:e.language||""}}var De=" scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.22) transparent;",ir=(...n)=>n.map(e=>` ${e}::-webkit-scrollbar{width:8px;height:8px;}${e}::-webkit-scrollbar-track{background:transparent;}${e}::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.22);border-radius:4px;}${e}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.35);}`).join(""),Rn=()=>` :host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.5;color-scheme:light;}:host *,:host *::before,:host *::after{box-sizing:border-box;font-family:inherit;}button{padding:0;font:inherit;color:inherit;}#${O.TOOLBAR}{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:${D.TOOLBAR};}.${s.TOOLBAR_ACTION_WRAPPER}{position:relative;}.${s.TOOLBAR_ACTION_TOOLTIP}{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(4px);display:flex;align-items:center;gap:8px;background:rgba(20,20,23,0.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,0.08);box-shadow:0 4px 24px rgba(0,0,0,0.35);color:white;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.15s ease,transform 0.15s ease;}.${s.TOOLBAR_ACTION_WRAPPER}:hover .${s.TOOLBAR_ACTION_TOOLTIP}{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}.${s.TOOLBAR_TEXT}{font-size:13px;font-weight:500;letter-spacing:-0.01em;}.${s.SHORTCUT_HINT}{font-size:11px;font-weight:500;color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);padding:2px 6px;border-radius:5px;line-height:1;white-space:nowrap;}.${s.TOOLBAR_ACTIONS}{display:flex;flex-direction:row;background:rgba(20,20,23,0.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,0.35);}.${s.TOOLBAR_ACTION_BTN}{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:none;border:none;outline:none;color:rgba(255,255,255,0.65);cursor:pointer;transition:background 0.2s,color 0.2s;padding:0;}.${s.TOOLBAR_ACTION_WRAPPER}:first-child .${s.TOOLBAR_ACTION_BTN}{border-radius:12px 0 0 12px;}.${s.TOOLBAR_ACTION_WRAPPER}:last-child .${s.TOOLBAR_ACTION_BTN}{border-radius:0 12px 12px 0;}.${s.TOOLBAR_ACTION_BTN}:hover{background:rgba(255,255,255,0.08);color:white;}.${s.TOOLBAR_COMMENT_BTN}.${s.ACTIVE}{color:#2E90FA;background:rgba(46,144,250,0.1);}#${O.COMMENT_BOX}{position:fixed;background:#1C1C1E;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.4);padding:16px;z-index:${D.COMMENT_BOX};width:min(400px,calc(100vw - 24px));display:none;box-sizing:border-box;}#${O.COMMENT_BOX} .${s.COMMENT_INPUT_AREA}{display:flex;flex-direction:column;gap:0;}.${s.CLASSIFY_ROW}{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 0 10px;border-bottom:1px solid rgba(255,255,255,0.08);}.${s.CLASSIFY_ROW} .${s.INBOX_ACTION_BTN}{height:26px;border:1px solid rgba(255,255,255,0.12);border-radius:8px;}.${s.CLASSIFY_ROW} .${s.INBOX_ACTION_BTN}:hover{border-color:rgba(255,255,255,0.28);}#${O.COMMENT_INPUT}{flex:1;min-height:20px;background:#1C1C1E;border:none;resize:none;font-family:inherit;color:white;font-size:14px;line-height:1.4;box-sizing:border-box;field-sizing:content;padding:8px 0;}#${O.COMMENT_INPUT}::placeholder{color:rgba(255,255,255,0.5);}#${O.COMMENT_INPUT}:focus{outline:none;box-shadow:none;}.${s.COMMENT_ACTIONS_BAR}{display:flex;align-items:center;justify-content:space-between;padding-top:12px;}.${s.ATTACH_IMAGE_BTN}{background:none;border:none;color:rgba(255,255,255,0.5);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background 0.2s,color 0.2s;}.${s.ATTACH_IMAGE_BTN}:hover{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.8);}.${s.CIRCLE}{position:absolute;width:${B}px;height:${B}px;background:#2E90FA;border-radius:0% 100% 100% 100%;border:2px solid #FFF;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,0.2);transition:transform 0.2s,background 0.2s;z-index:${D.CIRCLE};transform:translate(-50%,-50%);}.${s.CIRCLE}:hover{transform:translate(-50%,-50%) scale(1.2) !important;background:rgb(0,123,255);}.${s.CIRCLE}.${s.HIGHLIGHT}{transform:translate(-50%,-50%) scale(1.2) !important;background:rgb(0,123,255);box-shadow:0 0 0 4px rgba(46,144,250,0.35),0 1px 5px rgba(0,0,0,0.2);}.${s.CIRCLE}.${s.CIRCLE_ACTIVE}{transform:translate(-50%,-50%) scale(1.2) !important;background:rgb(0,123,255);box-shadow:0 0 0 5px rgba(46,144,250,0.5),0 1px 5px rgba(0,0,0,0.2);}.${s.TOOLTIP}{position:fixed;background:#1C1C1E;border-radius:12px;padding:16px;box-shadow:0 4px 20px rgba(0,0,0,0.4);width:min(400px,calc(100vw - 24px));max-height:calc(100vh - 20px);overflow-y:auto;overscroll-behavior:contain;${De} z-index:${D.TOOLTIP};color:white;font-size:14px;line-height:1.5;box-sizing:border-box;}.${s.TOOLTIP} .${s.THREAD_BODY}{padding:8px 0;}.${s.THREAD_POPOVER}{position:fixed;background:#1C1C1E;border-radius:12px;padding:16px;box-shadow:0 4px 20px rgba(0,0,0,0.4);width:min(400px,calc(100vw - 24px));max-height:calc(100vh - 20px);display:flex;flex-direction:column;z-index:${D.TOOLTIP};color:white;font-size:14px;line-height:1.5;box-sizing:border-box;}.${s.THREAD_POPOVER}>.${s.THREAD_HEADER},.${s.THREAD_POPOVER}>.${s.THREAD_ACTIONS_ROW},.${s.THREAD_POPOVER}>.${s.THREAD_INPUT_AREA}{flex:none;}.${s.THREAD_SCROLL}{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;${De}}${ir(`.${s.THREAD_SCROLL}`,`.${s.TOOLTIP}`,`.${s.INBOX_LIST}`,`.${s.INBOX_DETAIL}`,`.${s.EDITOR_INPUT}`)} .${s.INBOX_PANEL}{position:fixed;top:16px;right:16px;bottom:16px;width:380px;display:flex;flex-direction:column;background:#1C1C1E;border:1px solid rgba(255,255,255,0.08);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,0.5);z-index:${D.COMMENT_BOX};color:white;font-size:14px;line-height:1.5;box-sizing:border-box;overflow:hidden;}.${s.INBOX_PANEL}:focus,.${s.INBOX_PANEL}:focus-visible{outline:none;}@media (max-width:480px){.${s.INBOX_PANEL}{left:16px;width:auto;}}.${s.INBOX_HEADER},.${s.INBOX_DETAIL_HEADER}{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,0.08);flex:none;}.${s.INBOX_FILTER}-wrapper{position:relative;}.${s.INBOX_FILTER}{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:white;font-size:13px;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:6px;}.${s.INBOX_FILTER}:hover{background:rgba(255,255,255,0.08);}.${s.INBOX_FILTER_MENU}{position:absolute;top:calc(100% + 6px);left:0;background:#2C2C2E;border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:14px;width:300px;max-width:calc(100vw - 40px);z-index:1;box-shadow:0 8px 28px rgba(0,0,0,0.5);}.${s.INBOX_FILTER_MENU_HEADER}{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;margin-bottom:12px;}.${s.INBOX_FILTER_CLEAR}{background:transparent;border:none;color:rgba(255,255,255,0.55);font-size:12px;font-weight:500;cursor:pointer;padding:0;}.${s.INBOX_FILTER_CLEAR}:hover:not(:disabled){color:white;}.${s.INBOX_FILTER_CLEAR}:disabled{opacity:0.35;cursor:default;}.${s.INBOX_FILTER_GROUP} + .${s.INBOX_FILTER_GROUP}{margin-top:14px;}.${s.INBOX_FILTER_SECTION}{font-size:11px;font-weight:600;color:rgba(255,255,255,0.45);margin-bottom:8px;}.${s.INBOX_FILTER_CHIPS}{display:flex;flex-wrap:wrap;gap:6px;}.${s.INBOX_FILTER_CHIP}{background:transparent;border:1px solid rgba(255,255,255,0.18);border-radius:999px;color:rgba(255,255,255,0.75);font-size:12px;line-height:1;padding:7px 12px;cursor:pointer;transition:background 0.15s,border-color 0.15s,color 0.15s;}.${s.INBOX_FILTER_CHIP}:hover{border-color:rgba(255,255,255,0.4);color:white;}.${s.INBOX_FILTER_CHIP}[aria-checked="true"]{background:rgba(255,255,255,0.92);border-color:rgba(255,255,255,0.92);color:#1C1C1E;font-weight:600;}.${s.INBOX_MENU_ITEM}{display:block;width:100%;text-align:left;background:transparent;border:none;color:white;font-size:13px;padding:7px 10px;border-radius:6px;cursor:pointer;}.${s.INBOX_MENU_ITEM}:hover{background:rgba(255,255,255,0.08);}.${s.INBOX_CLOSE},.${s.INBOX_NAV_BTN},.${s.INBOX_BACK}{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:rgba(255,255,255,0.75);cursor:pointer;padding:4px 6px;border-radius:6px;font-size:14px;}.${s.INBOX_CLOSE}{font-size:20px;line-height:1;}.${s.INBOX_CLOSE}:hover,.${s.INBOX_NAV_BTN}:not(:disabled):hover,.${s.INBOX_BACK}:hover{background:rgba(255,255,255,0.08);color:white;}.${s.INBOX_NAV_BTN}:disabled{opacity:0.35;cursor:default;}.${s.INBOX_LIST},.${s.INBOX_DETAIL}{flex:1;overflow-y:auto;${De} padding:12px;display:flex;flex-direction:column;gap:12px;}.${s.INBOX_CARD}{border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;}.${s.INBOX_LIST} .${s.INBOX_CARD}{cursor:pointer;}.${s.INBOX_LIST} .${s.INBOX_CARD}:hover{border-color:rgba(255,255,255,0.22);}.${s.INBOX_CARD}--resolved{border-color:rgba(48,209,88,0.4);opacity:0.75;}.${s.INBOX_LIST} .${s.INBOX_CARD}--resolved:hover{border-color:rgba(48,209,88,0.7);opacity:1;}.${s.INBOX_CARD}--resolved:has([aria-expanded="true"]){opacity:1;}.${s.INBOX_CARD_HEADER}{display:flex;align-items:center;justify-content:space-between;gap:8px;}.${s.INBOX_CARD_ACTIONS}{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;}.${s.INBOX_DETAIL_HEADER} .${s.INBOX_CARD_ACTIONS}{justify-content:flex-end;gap:2px;}.${s.ACTIONS_GROUP}{display:flex;align-items:center;flex-wrap:wrap;gap:5px;}.${s.ACTIONS_GROUP_END}{flex-wrap:nowrap;gap:2px;}.${s.INBOX_ACTION_BTN}{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:6px;color:rgba(255,255,255,0.65);cursor:pointer;}.${s.INBOX_ACTION_BTN}:hover{background:rgba(255,255,255,0.08);color:white;}.${s.INBOX_ACTION_BTN_LABELED}{width:auto;padding:0 8px 0 6px;gap:5px;justify-content:flex-start;flex:none;}.${s.INBOX_ACTION_LABEL}{font-size:11px;line-height:1;white-space:nowrap;}.${s.INBOX_STATUS_DOT}{width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.45);display:inline-block;flex:none;}.${s.INBOX_MENU_ITEM} .${s.INBOX_STATUS_DOT}{width:9px;height:9px;border:none;margin-right:8px;vertical-align:baseline;}.${s.INBOX_MENU_ITEM}[aria-checked="true"]{background:rgba(255,255,255,0.08);}.${s.THREAD_ACTIONS_ROW}{display:flex;justify-content:flex-end;}.${s.THREAD_POPOVER}>.${s.THREAD_ACTIONS_ROW}{padding-top:8px;}[data-hd-tooltip]{position:relative;}[data-hd-tooltip]::after{content:attr(data-hd-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#000;color:white;padding:4px 8px;border-radius:6px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.12s ease;z-index:2;}[data-hd-tooltip]:hover::after{opacity:1;}.${s.INBOX_MENU}{position:absolute;top:calc(100% + 4px);right:0;background:#2C2C2E;border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:4px;min-width:130px;z-index:1;box-shadow:0 4px 16px rgba(0,0,0,0.4);}.${s.INBOX_MENU}.${s.INBOX_MENU_UP}{top:auto;bottom:calc(100% + 4px);}.${s.INBOX_MENU}.${s.INBOX_MENU_START}{right:auto;left:0;}.${s.INBOX_CARD_TEXT}{white-space:pre-wrap;word-break:break-word;}.${s.INBOX_CARD_TAG}{align-self:flex-start;padding:1px 8px;border-radius:999px;background:rgba(255,159,10,0.2);color:#FF9F0A;font-size:11px;font-weight:600;}.${s.INBOX_BADGES}{display:flex;flex-wrap:wrap;gap:4px;}.${s.INBOX_CARD} .${s.INBOX_BADGES}{margin-top:6px;}.${s.TOOLTIP} .${s.INBOX_BADGES}{margin-bottom:4px;}.${s.BADGE}{display:inline-flex;align-items:center;padding:1px 6px;border:1px solid rgba(255,255,255,0.18);border-radius:10px;font-size:10px;line-height:1.6;letter-spacing:0.01em;white-space:nowrap;}.${s.BADGE_STATUS},.${s.BADGE_TYPE},.${s.BADGE_PRIORITY}{font-weight:600;}.${s.BADGE_TAG}{opacity:0.75;}.${s.BADGE_DURATION}{opacity:0.75;border-style:dashed;}.${s.REACTION_BAR}{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:2px;margin-bottom:12px;}.${s.REACTION_BAR}[hidden]{display:none;}.${s.REACTION_TRIGGER}{position:relative;display:inline-flex;}.${s.REACTION_PILL}{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border:1px solid rgba(255,255,255,0.18);border-radius:8px;background:transparent;color:#F2F2F7;font-family:inherit;font-size:12px;line-height:1;cursor:pointer;transition:background 0.12s ease,border-color 0.12s ease;}.${s.REACTION_PILL}:hover{background:rgba(255,255,255,0.08);}.${s.REACTION_PILL_MINE}{border-color:#2E90FA;background:rgba(46,144,250,0.16);}.${s.REACTION_PILL_MINE}:hover{background:rgba(46,144,250,0.24);}.${s.REACTION_PILL_EMOJI}{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:13px;}.${s.REACTION_PILL_COUNT}{font-variant-numeric:tabular-nums;}.${s.REACTION_ADD}{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;border:1px solid rgba(255,255,255,0.18);border-radius:8px;background:transparent;color:#8E8E93;cursor:pointer;}.${s.REACTION_ADD}:hover{color:#F2F2F7;border-color:rgba(255,255,255,0.35);}.${s.REACTION_PALETTE}{position:absolute;top:calc(100% + 4px);left:0;white-space:nowrap;background:#2C2C2E;border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:4px;z-index:1;box-shadow:0 4px 16px rgba(0,0,0,0.4);}.${s.ACTIONS_GROUP_END} .${s.REACTION_PALETTE},.${s.THREAD_REPLY_ACTIONS} .${s.REACTION_PALETTE}{left:auto;right:0;}.${s.REACTION_PALETTE}.${s.INBOX_MENU_UP}{top:auto;bottom:calc(100% + 4px);}.${s.REACTION_PALETTE_ITEM}{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:15px;cursor:pointer;}.${s.REACTION_PALETTE_ITEM}:hover{background:rgba(255,255,255,0.12);}.${s.CONTEXT_BLOCK}{display:flex;flex-direction:column;padding:10px 12px;border-top:1px solid rgba(255,255,255,0.08);font-size:11px;}.${s.CONTEXT_BODY}{display:flex;flex-direction:column;gap:4px;}.${s.CONTEXT_TITLE}{font-size:11px;font-weight:600;color:rgba(255,255,255,0.45);padding-bottom:4px;}.${s.CONTEXT_TOGGLE}{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;cursor:pointer;padding:2px 0;}.${s.CONTEXT_TOGGLE}:hover{color:rgba(255,255,255,0.75);}.${s.CONTEXT_TOGGLE} svg{flex:none;transition:transform 0.15s ease;}.${s.CONTEXT_TOGGLE}[aria-expanded="true"] svg{transform:rotate(180deg);}.${s.CONTEXT_TOGGLE}[aria-expanded="true"] + .${s.CONTEXT_BODY}{padding-top:8px;}.${s.CONTEXT_BLOCK} img{width:100%;border-radius:6px;margin-bottom:6px;cursor:zoom-in;}.${s.CONTEXT_SCREENSHOT_CAPTION}{opacity:0.75;}.${s.CONTEXT_ROW}{display:flex;justify-content:space-between;gap:12px;opacity:0.75;}.${s.CONTEXT_ROW} span:last-child{text-align:right;word-break:break-all;}.${s.INBOX_CARD_REPLY_LINK}{align-self:flex-start;background:transparent;border:none;color:rgba(255,255,255,0.55);font-size:13px;cursor:pointer;padding:0;}.${s.INBOX_CARD_REPLY_LINK}:hover{color:white;}.${s.INBOX_REPLIES}{display:flex;flex-direction:column;gap:10px;padding:0 4px;}.${s.INBOX_REPLIES}:empty{display:none;}.${s.TOOLTIP_REPLY_COUNT}{font-size:12px;color:rgba(255,255,255,0.45);padding-top:4px;}.${s.INBOX_EMPTY}{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;color:rgba(255,255,255,0.55);text-align:center;}.${s.INBOX_EMPTY_ICON}{width:44px;height:44px;margin-bottom:6px;border:2px dashed rgba(255,255,255,0.25);border-radius:0% 100% 100% 100%;flex:none;}.${s.INBOX_EMPTY_TITLE}{color:white;font-size:14px;font-weight:600;}.${s.INBOX_EMPTY_TEXT}{font-size:13px;line-height:1.5;max-width:30ch;}.${s.INBOX_EMPTY_KBD}{font-family:inherit;font-size:12px;font-weight:500;color:rgba(255,255,255,0.8);background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);border-radius:5px;padding:1px 5px;white-space:nowrap;}.${s.INBOX_EMPTY_ACTION}{margin-top:6px;background:transparent;border:1px solid rgba(255,255,255,0.2);border-radius:8px;color:white;font-size:13px;font-weight:500;padding:8px 16px;cursor:pointer;transition:background 0.15s,border-color 0.15s;}.${s.INBOX_EMPTY_ACTION}:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.35);}.${s.THREAD_HEADER}{display:flex;justify-content:space-between;align-items:center;padding:0;}.${s.THREAD_META}{display:flex;align-items:center;gap:6px;flex:1;min-width:0;max-width:280px;}.${s.THREAD_AUTHOR}{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.${s.THREAD_TIME}{font-size:12px;color:rgba(255,255,255,0.5);cursor:default;position:relative;flex:none;}.${s.THREAD_TIME}::after{content:attr(data-full-date);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#000;color:white;padding:4px 8px;border-radius:6px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.15s ease;z-index:1;}.${s.THREAD_TIME}:hover::after{opacity:1;}.${s.THREAD_BODY}{padding:8px 0;white-space:pre-wrap;word-break:break-word;}.${s.THREAD_REPLIES}{padding:0;}.${s.THREAD_REPLIES}:empty{display:none;}.${s.THREAD_REPLY}{padding:16px 0 0 0;border-top:1px solid rgba(255,255,255,0.1);white-space:pre-wrap;word-break:break-word;font-size:14px;color:rgba(255,255,255,0.85);}.${s.THREAD_REPLY} .${s.THREAD_META}{margin-bottom:2px;}.${s.THREAD_REPLY_ACTIONS}{margin-left:auto;flex:none;}.${s.THREAD_REPLY} .${s.SCREENSHOT_IMG}{width:144px;height:100px;object-fit:cover;border-radius:8px;margin-top:4px;cursor:pointer;display:block;}.${s.THREAD_INPUT_AREA}{display:flex;flex-direction:column;gap:0;padding:12px 0 0;border-top:1px solid rgba(255,255,255,0.1);}.${s.THREAD_INPUT}{width:100%;background:transparent;border:none;padding:0;color:white;font-size:14px;font-family:inherit;outline:none;box-sizing:border-box;}.${s.THREAD_INPUT}::placeholder{color:rgba(255,255,255,0.5);}.${s.THREAD_INPUT}:focus{outline:none;box-shadow:none;}.${s.THREAD_SUBMIT}{background:none;border:none;color:#2E90FA;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background 0.2s;}.${s.THREAD_SUBMIT}:hover{background:rgba(46,144,250,0.15);color:#1570D6;}.${s.CLOSE_TOOLTIP}{background:none;border:none;font-size:18px;cursor:pointer;color:rgba(255,255,255,0.5);line-height:1;}.${s.CLOSE_TOOLTIP}:hover{color:white;}.${s.PREVIEW_CIRCLE}{animation:helldots-pulse 1.5s ease-in-out infinite;}@keyframes helldots-pulse{0%,100%{box-shadow:0 0 0 0 rgba(46,144,250,0.4),0 1px 5px rgba(0,0,0,0.2);}50%{box-shadow:0 0 0 8px rgba(46,144,250,0),0 1px 5px rgba(0,0,0,0.2);}}.${s.COMMENT_OVERLAY}{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;pointer-events:none;z-index:${D.TOOLBAR-1};}.${s.COMMENT_OVERLAY}.${s.ACTIVE}{pointer-events:auto;background:rgba(0,0,0,0.1);}.${s.SELECTION_RECT}{position:fixed;border:2px solid #2E90FA;background:rgba(46,144,250,0.1);pointer-events:none;z-index:${D.TOOLTIP};box-sizing:border-box;}.${s.SCREENSHOTS_CONTAINER}{display:none;overflow-x:auto;gap:8px;margin-top:4px;padding:4px 0;scrollbar-width:none;-ms-overflow-style:none;margin-bottom:8px;}.${s.SCREENSHOTS_CONTAINER}::-webkit-scrollbar{display:none;}.${s.SCREENSHOTS_CONTAINER}.${s.ACTIVE}{display:flex;}.${s.SCREENSHOT_ITEM}{position:relative;flex-shrink:0;}.${s.SCREENSHOT_PENDING}{min-width:50px;height:50px;padding:0 8px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed rgba(255,255,255,0.35);border-radius:8px;font-size:10px;line-height:1.2;color:rgba(255,255,255,0.7);white-space:nowrap;}.${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_IMG}{width:50px;height:50px;object-fit:cover;border-radius:8px;cursor:pointer;display:block;margin:0;}.${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_IMG}:hover{opacity:0.85;}.${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_REMOVE}{position:absolute;top:-5px;right:-5px;width:18px;height:18px;background:rgba(0,0,0,0.7);border:none;border-radius:50%;color:white;font-size:12px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:1;}.${s.SCREENSHOT_ITEM}:hover .${s.SCREENSHOT_REMOVE}{display:flex;}.${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_REMOVE}:hover{background:rgba(0,0,0,0.9);}.${s.TOOLTIP}>.${s.SCREENSHOTS_CONTAINER} .${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_IMG},.${s.THREAD_SCROLL}>.${s.SCREENSHOTS_CONTAINER} .${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_IMG},.${s.THREAD_REPLY} .${s.SCREENSHOT_ITEM} .${s.SCREENSHOT_IMG}{width:144px;height:100px;}.${s.CONFIRM}{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;padding:16px;animation:helldots-fade-in 0.15s ease;}.${s.CONFIRM_PANEL}{width:min(360px,100%);background:#1C1C1E;border:1px solid rgba(255,255,255,0.1);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,0.5);padding:20px;color:white;font-size:14px;line-height:1.5;box-sizing:border-box;}.${s.CONFIRM_TITLE}{margin:0 0 8px;font-size:15px;font-weight:600;}.${s.CONFIRM_MESSAGE}{margin:0 0 20px;font-size:13px;color:rgba(255,255,255,0.65);}.${s.CONFIRM_ACTIONS}{display:flex;justify-content:flex-end;gap:8px;}.${s.CONFIRM_CANCEL},.${s.CONFIRM_ACCEPT}{padding:7px 14px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;}.${s.CONFIRM_CANCEL}:focus-visible,.${s.CONFIRM_ACCEPT}:focus-visible{outline:2px solid #2E90FA;outline-offset:2px;}.${s.CONFIRM_CANCEL}{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.12);color:white;}.${s.CONFIRM_CANCEL}:hover{background:rgba(255,255,255,0.14);}.${s.CONFIRM_ACCEPT}{background:#FF453A;color:white;}.${s.CONFIRM_ACCEPT}:hover{background:#FF6961;}.${s.LIGHTBOX}{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.92);z-index:${D.LIGHTBOX};display:flex;align-items:center;justify-content:center;animation:helldots-fade-in 0.2s ease;}@keyframes helldots-fade-in{from{opacity:0;}to{opacity:1;}}.${s.LIGHTBOX_IMG}{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;}.${s.LIGHTBOX_CLOSE}{position:absolute;top:16px;right:16px;background:rgba(255,255,255,0.15);border:none;color:white;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;}.${s.LIGHTBOX_CLOSE}:hover{background:rgba(255,255,255,0.3);}.${s.EDITOR}{display:flex;flex-direction:column;gap:8px;margin:4px 0 2px;}.${s.EDITOR_INPUT}{width:100%;box-sizing:border-box;resize:vertical;min-height:60px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:8px;padding:8px 10px;color:white;font-size:14px;font-family:inherit;line-height:1.45;outline:none;${De}}.${s.EDITOR_INPUT}:focus{border-color:rgba(46,144,250,0.7);}.${s.EDITOR_ACTIONS}{display:flex;justify-content:flex-end;gap:8px;}.${s.EDITOR_CANCEL},.${s.EDITOR_SAVE}{padding:5px 12px;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;}.${s.EDITOR_CANCEL}{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.12);color:white;}.${s.EDITOR_CANCEL}:hover{background:rgba(255,255,255,0.14);}.${s.EDITOR_SAVE}{background:#2E90FA;color:white;}.${s.EDITOR_SAVE}:hover:not(:disabled){background:#57A6FB;}.${s.EDITOR_SAVE}:disabled{background:rgba(255,255,255,0.10);color:rgba(255,255,255,0.4);cursor:not-allowed;}.${s.THREAD_EDITED}{font-size:12px;color:rgba(255,255,255,0.4);cursor:default;position:relative;flex:none;}.${s.THREAD_EDITED}::before{content:"\xB7";margin-right:4px;}.${s.THREAD_EDITED}::after{content:attr(data-full-date);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#000;color:white;padding:4px 8px;border-radius:6px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.15s ease;}.${s.THREAD_EDITED}:hover::after{opacity:1;}.${s.AUDIT_BLOCK}{margin-top:10px;border-top:1px solid rgba(255,255,255,0.08);padding-top:8px;}.${s.AUDIT_TOGGLE}{display:flex;align-items:center;gap:6px;width:100%;padding:4px 0;border:0;background:none;color:rgba(255,255,255,0.55);font-family:inherit;font-size:12px;text-align:left;cursor:pointer;}.${s.AUDIT_TOGGLE}:hover{color:rgba(255,255,255,0.85);}.${s.AUDIT_TOGGLE}::before{content:"";width:0;height:0;border-left:4px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform 0.15s ease;}.${s.AUDIT_TOGGLE}[aria-expanded="true"]::before{transform:rotate(90deg);}.${s.AUDIT_BODY}{padding:4px 0 2px;}.${s.AUDIT_LIST}{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;}.${s.AUDIT_ROW}{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:8px;font-size:12px;line-height:1.4;}.${s.AUDIT_ACTION}{grid-column:1;color:rgba(255,255,255,0.78);}.${s.AUDIT_ACTOR}{grid-column:1;color:rgba(255,255,255,0.48);font-size:11px;}.${s.AUDIT_TIME}{grid-row:1;grid-column:2;color:rgba(255,255,255,0.42);font-size:11px;white-space:nowrap;}.${s.AUDIT_HEADING}{margin:0 0 6px;color:rgba(255,255,255,0.5);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;}.${s.AUDIT_RESOLUTIONS}{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,0.06);}.${s.INBOX_HEADER_ACTIONS}{display:flex;align-items:center;gap:12px;}.${s.INBOX_METRICS_BTN}{padding:5px 10px;border-radius:7px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.75);font-family:inherit;font-size:12px;white-space:nowrap;cursor:pointer;}.${s.INBOX_METRICS_BTN}:hover{background:rgba(255,255,255,0.11);color:#fff;}.${s.METRICS_VIEW}{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.22) transparent;}.${s.METRICS_VIEW}::-webkit-scrollbar{width:8px;}.${s.METRICS_VIEW}::-webkit-scrollbar-track{background:transparent;}.${s.METRICS_VIEW}::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.22);border-radius:4px;}.${s.METRICS_TILES}{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;}.${s.METRICS_TILE}{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:9px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);}.${s.METRICS_TILE_VALUE}{color:#fff;font-size:18px;font-weight:600;line-height:1.1;}.${s.METRICS_TILE_LABEL}{color:rgba(255,255,255,0.5);font-size:11px;line-height:1.3;}.${s.METRICS_GROUP}{display:flex;flex-direction:column;gap:7px;}.${s.METRICS_HEADING}{margin:0;color:rgba(255,255,255,0.5);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;}.${s.METRICS_ROW}{display:grid;grid-template-columns:76px 1fr 26px;align-items:center;gap:8px;font-size:12px;}.${s.METRICS_ROW_LABEL}{color:rgba(255,255,255,0.72);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.${s.METRICS_TRACK}{height:8px;border-radius:4px;background:rgba(255,255,255,0.07);overflow:hidden;}.${s.METRICS_BAR}{height:100%;border-radius:4px;background:rgba(255,255,255,0.42);min-width:2px;}.${s.METRICS_ROW_COUNT}{color:rgba(255,255,255,0.85);font-variant-numeric:tabular-nums;text-align:right;}.${s.METRICS_CHART}{width:100%;height:96px;display:block;fill:rgba(255,255,255,0.42);}.${s.METRICS_AXIS}{display:flex;justify-content:space-between;color:rgba(255,255,255,0.42);font-size:10px;font-variant-numeric:tabular-nums;}.${s.METRICS_EXPORTS}{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px;border-top:1px solid rgba(255,255,255,0.08);}.${s.METRICS_EXPORT_BTN}{padding:6px 10px;border-radius:7px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.78);font-family:inherit;font-size:12px;cursor:pointer;}.${s.METRICS_EXPORT_BTN}:hover{background:rgba(255,255,255,0.12);color:#fff;}.${s.METRICS_EMPTY}{margin:0;padding:24px 0;color:rgba(255,255,255,0.5);font-size:13px;text-align:center;}.${s.INBOX_NOTICE}{margin:0 0 10px;padding:9px 11px;border-radius:8px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.75);font-size:13px;line-height:1.4;}`,wn=()=>` .${s.COMMENT_CURSOR},.${s.COMMENT_CURSOR} *{cursor:url('${Sn}') ${On},auto !important;}`,vn=()=>' .report{margin:0;padding:24px;background:#fff;color:#111;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:12px;line-height:1.45;}.report-title{margin:0 0 4px;font-size:20px;}.report-meta{margin:0 0 2px;color:#555;font-size:11px;}.report-table{width:100%;margin-top:18px;border-collapse:collapse;break-inside:avoid;}.report-table caption{margin-bottom:4px;font-size:12px;font-weight:600;text-align:left;}.report-table th,.report-table td{padding:5px 8px;border:1px solid #d5d5d5;text-align:left;font-weight:400;}.report-table thead th{background:#f2f2f2;font-weight:600;}.report-table td{text-align:right;font-variant-numeric:tabular-nums;}@page{margin:14mm;}';function Ce(n,e,t){let o=rr(e,n);if(o)return n.adoptedStyleSheets=[...n.adoptedStyleSheets??[],o],()=>{n.adoptedStyleSheets=(n.adoptedStyleSheets??[]).filter(a=>a!==o)};let r=n.head??n;r.querySelector?.(`#${t}`)?.remove();let i=document.createElement("style");return i.id=t,i.textContent=e,r.appendChild(i),()=>i.remove()}function rr(n,e){let o=(e.defaultView??e.ownerDocument?.defaultView??globalThis).CSSStyleSheet;if(typeof o!="function"||!("adoptedStyleSheets"in e))return null;try{let r=new o;return r.replaceSync(n),r}catch{return null}}var X={metricsTitle:"Metrics",metricsOpen:"Metrics",metricsTotal:"Total comments",metricsAverageResolution:"Average resolution",metricsMedianResolution:"Median resolution",metricsReopened:"Reopened",metricsByStatus:"By status",metricsByType:"By type",metricsByPriority:"By priority",metricsOverTime:"Comments per day",metricsEmpty:"No comments to measure yet",metricsCategory:"Category",metricsCount:"Count",metricsDate:"Date",metricsExportComments:"Comments (CSV)",metricsExportMetrics:"Metrics (CSV)",metricsPrint:"Print / Save as PDF",metricsExportLabel:"Export",metricsGeneratedTemplate:"Generated {n}",metricsScope:"Scope",auditToggleTemplate:"History ({n})",auditTrailLabel:"Activity history",auditCreated:"Created the comment",auditEdited:"Edited the text",auditTagsChanged:"Updated the tags",auditPreviousResolutions:"Previous resolutions",auditResolvedInTemplate:"Resolved in {n}",commentAriaLabelPrefix:"Comment: ",anonymous:"Anonymous",justNow:"Just now",minutesAgoTemplate:"{n}m",hoursAgoTemplate:"{n}h",daysAgoTemplate:"{n}d",toolbarComment:"Comment",toolbarInbox:"Inbox",modifierAlt:"Alt",modifierCtrl:"Ctrl",modifierShift:"Shift",commentBoxAriaLabel:"New comment",commentPlaceholder:"Type your comment...",attachImage:"Attach image",send:"Send",tooltipAriaLabel:"Comment preview",close:"Close",popoverAriaLabel:"Comment thread",replyPlaceholder:"Reply...",attachedScreenshot:"Attached screenshot",screenshotPreview:"Screenshot preview",removeScreenshot:"Remove screenshot",capturingScreenshot:"Capturing\u2026",inboxAriaLabel:"Comments inbox",inboxEmptyTitle:"No comments yet",inboxEmptyHintTemplate:"Press {n} and click anywhere on the page to start.",inboxEmptyAction:"Turn on comment mode",inboxNoMatches:"No comments match these filters",orphanedBadge:"Unanchored",hiddenBadge:"Hidden",filterAll:"All pages",filterCurrentPage:"Current page",filterTitle:"Filter",filterClear:"Clear",filterByPage:"Page",filterByStatus:"Status",back:"Back",deleteComment:"Delete",deleteReply:"Delete reply",replyOptions:"Reply options",editComment:"Edit",editReply:"Edit reply",copyLink:"Copy link",linkCopied:"Link copied",editorAriaLabel:"Edit text",editSave:"Save",editCancel:"Cancel",editedMark:"edited",editedAtPrefix:"Edited ",confirmDiscardTitle:"Discard changes?",confirmDiscardMessage:"The changes you made to this text have not been saved and will be lost.",confirmDiscard:"Discard",confirmKeepEditing:"Keep editing",commentNotFound:"That comment is not on this page.",confirmDelete:"Delete",confirmCancel:"Cancel",confirmDeleteCommentTitle:"Delete this comment?",confirmDeleteCommentMessage:"This comment will be permanently deleted. This action cannot be undone.",confirmDeleteThreadMessage:"This comment and all of its replies will be permanently deleted. This action cannot be undone.",confirmDeleteReplyTitle:"Delete this reply?",confirmDeleteReplyMessage:"This reply will be permanently deleted. This action cannot be undone.",copyAgentContext:"Copy agent context",copied:"Copied",statusLabel:"Status",prevComment:"Previous comment",nextComment:"Next comment",replyLink:"Reply",replyCountOne:"1 reply",replyCountTemplate:"{n} replies",commentOptions:"Comment options",moreOptions:"More",statusOpen:"Open",statusInProgress:"In progress",statusInReview:"In review",statusResolved:"Resolved",durationLessThanMinute:"<1m",resolvedInTemplate:"Resolved in {n}",typeLabel:"Type",priorityLabel:"Priority",unset:"Unset",typeBug:"Bug",typeSuggestion:"Suggestion",typeQuestion:"Question",typeImprovement:"Improvement",priorityHigh:"High",priorityMedium:"Medium",priorityLow:"Low",filterByType:"Type",filterByPriority:"Priority",contextSection:"Context",autoScreenshotLabel:"Automatic context",contextUrl:"URL",contextViewport:"Viewport",contextScreen:"Screen",contextBrowser:"Browser",contextOs:"OS",reactionsLabel:"Reactions",addReaction:"Add reaction",reactionToggleOn:"Add your reaction",reactionToggleOff:"Remove your reaction",reactionPickerLabel:"Choose a reaction"};var Nn={metricsTitle:"M\xE9tricas",metricsOpen:"M\xE9tricas",metricsTotal:"Comentarios totales",metricsAverageResolution:"Resoluci\xF3n media",metricsMedianResolution:"Resoluci\xF3n mediana",metricsReopened:"Reabiertos",metricsByStatus:"Por estado",metricsByType:"Por tipo",metricsByPriority:"Por prioridad",metricsOverTime:"Comentarios por d\xEDa",metricsEmpty:"A\xFAn no hay comentarios que medir",metricsCategory:"Categor\xEDa",metricsCount:"Cantidad",metricsDate:"Fecha",metricsExportComments:"Comentarios (CSV)",metricsExportMetrics:"M\xE9tricas (CSV)",metricsPrint:"Imprimir / Guardar como PDF",metricsExportLabel:"Exportar",metricsGeneratedTemplate:"Generado {n}",metricsScope:"Alcance",auditToggleTemplate:"Historial ({n})",auditTrailLabel:"Historial de actividad",auditCreated:"Cre\xF3 el comentario",auditEdited:"Edit\xF3 el texto",auditTagsChanged:"Actualiz\xF3 las etiquetas",auditPreviousResolutions:"Resoluciones anteriores",auditResolvedInTemplate:"Resuelto en {n}",commentAriaLabelPrefix:"Comentario: ",anonymous:"An\xF3nimo",justNow:"Justo ahora",minutesAgoTemplate:"{n}m",hoursAgoTemplate:"{n}h",daysAgoTemplate:"{n}d",toolbarComment:"Comentar",toolbarInbox:"Bandeja",modifierAlt:"Alt",modifierCtrl:"Ctrl",modifierShift:"May\xFAs",commentBoxAriaLabel:"Nuevo comentario",commentPlaceholder:"Escribe tu comentario...",attachImage:"Adjuntar imagen",send:"Enviar",tooltipAriaLabel:"Vista previa del comentario",close:"Cerrar",popoverAriaLabel:"Hilo de comentarios",replyPlaceholder:"Responder...",attachedScreenshot:"Captura de pantalla adjunta",screenshotPreview:"Vista previa de la captura",removeScreenshot:"Quitar captura de pantalla",capturingScreenshot:"Capturando\u2026",inboxAriaLabel:"Bandeja de comentarios",inboxEmptyTitle:"Todav\xEDa no hay comentarios",inboxEmptyHintTemplate:"Pulsa {n} y haz clic en cualquier parte de la p\xE1gina para empezar.",inboxEmptyAction:"Activar modo",inboxNoMatches:"Ning\xFAn comentario coincide con estos filtros",orphanedBadge:"Desanclado",hiddenBadge:"Oculto",filterAll:"Todas las p\xE1ginas",filterCurrentPage:"P\xE1gina actual",filterTitle:"Filtrar",filterClear:"Limpiar",filterByPage:"P\xE1gina",filterByStatus:"Estado",back:"Volver",deleteComment:"Eliminar",deleteReply:"Eliminar respuesta",replyOptions:"Opciones de la respuesta",editComment:"Editar",editReply:"Editar respuesta",copyLink:"Copiar enlace",linkCopied:"Enlace copiado",editorAriaLabel:"Editar texto",editSave:"Guardar",editCancel:"Cancelar",editedMark:"editado",editedAtPrefix:"Editado el ",confirmDiscardTitle:"\xBFDescartar los cambios?",confirmDiscardMessage:"Los cambios que hiciste en este texto no se han guardado y se perder\xE1n.",confirmDiscard:"Descartar",confirmKeepEditing:"Seguir editando",commentNotFound:"Ese comentario no est\xE1 en esta p\xE1gina.",confirmDelete:"Eliminar",confirmCancel:"Cancelar",confirmDeleteCommentTitle:"\xBFEliminar comentario?",confirmDeleteCommentMessage:"Este comentario se eliminar\xE1 de forma permanente. Esta acci\xF3n no se puede deshacer.",confirmDeleteThreadMessage:"Este comentario y todas sus respuestas se eliminar\xE1n de forma permanente. Esta acci\xF3n no se puede deshacer.",confirmDeleteReplyTitle:"\xBFEliminar respuesta?",confirmDeleteReplyMessage:"Esta respuesta se eliminar\xE1 de forma permanente. Esta acci\xF3n no se puede deshacer.",copyAgentContext:"Copiar contexto de agente",copied:"Copiado",statusLabel:"Estado",prevComment:"Comentario anterior",nextComment:"Comentario siguiente",replyLink:"Responder",replyCountOne:"1 respuesta",replyCountTemplate:"{n} respuestas",commentOptions:"Opciones del comentario",moreOptions:"M\xE1s",statusOpen:"Abierto",statusInProgress:"En progreso",statusInReview:"En revisi\xF3n",statusResolved:"Resuelto",durationLessThanMinute:"<1m",resolvedInTemplate:"Resuelto en {n}",typeLabel:"Tipo",priorityLabel:"Prioridad",unset:"Sin definir",typeBug:"Bug",typeSuggestion:"Sugerencia",typeQuestion:"Pregunta",typeImprovement:"Mejora",priorityHigh:"Alta",priorityMedium:"Media",priorityLow:"Baja",filterByType:"Tipo",filterByPriority:"Prioridad",contextSection:"Contexto",autoScreenshotLabel:"Contexto autom\xE1tico",contextUrl:"URL",contextViewport:"Viewport",contextScreen:"Pantalla",contextBrowser:"Navegador",contextOs:"SO",reactionsLabel:"Reacciones",addReaction:"A\xF1adir reacci\xF3n",reactionToggleOn:"A\xF1adir tu reacci\xF3n",reactionToggleOff:"Quitar tu reacci\xF3n",reactionPickerLabel:"Elegir una reacci\xF3n"};var ke={en:X,es:Nn},_e="en";function Ln(){let n=(navigator.language||_e).slice(0,2).toLowerCase();return n in ke?n:_e}function Mn(n){let e=ke[n];return!e||n===_e?ke[_e]:{...ke[_e],...e}}function A(n,e){return n.replace("{n}",String(e))}var sr=6e4;function z(n,e){if(!Number.isFinite(n)||n<0)return"";let t=Math.floor(n/sr);if(t<1)return e.durationLessThanMinute;if(t<60)return A(e.minutesAgoTemplate,t);let o=Math.floor(t/60);if(o<24){let l=t%60,c=A(e.hoursAgoTemplate,o);return l?`${c} ${A(e.minutesAgoTemplate,l)}`:c}let r=Math.floor(o/24),i=o%24,a=A(e.daysAgoTemplate,r);return i?`${a} ${A(e.hoursAgoTemplate,i)}`:a}var ht=64,ar=3,lr=5,cr=.6,dr=.7,pr=/^(css|sc|jsx|emotion)-/i,ur=/^data-(reactid|react-|v-|svelte-)/,hr=["id","name","role","aria-label"],mr=["data-testid","name","aria-label"],mt=n=>typeof CSS<"u"&&CSS.escape?CSS.escape(n):String(n).replace(/[^a-zA-Z0-9_-]/g,"\\$&"),fr=n=>String(n).replace(/["\\]/g,"\\$&"),Te=(n,e)=>{try{return e.querySelectorAll(n).length===1}catch{return!1}},Bn=n=>(n||"").replace(/\s+/g," ").trim().slice(0,ht),gr=n=>xn.includes(n)||pr.test(n)?!1:!n.split(/[-_]/).some(e=>e.length>=5&&/\d/.test(e)),Er=n=>[...n.classList].filter(gr),br=n=>{let e={};for(let{name:t,value:o}of n.attributes)(hr.includes(t)||t.startsWith("data-")&&!ur.test(t))&&o&&(e[t]=o.slice(0,ht));return e},ft=n=>{let e=n.parentElement;if(!e)return{index:0,count:1};let t=[...e.children].filter(o=>o.tagName===n.tagName);return{index:t.indexOf(n),count:t.length}},Cr=(n,e)=>{if(!n.id)return null;let t=`#${mt(n.id)}`;return Te(t,e)?t:null},_r=(n,e)=>{let t=n.tagName.toLowerCase();for(let o of mr){let r=n.getAttribute(o);if(!r)continue;let i=`${t}[${o}="${fr(r)}"]`;if(Te(i,e))return i}return null},Tr=(n,e)=>{let t=[],o=n;for(let r=0;r<ar&&o;r++){let i=Er(o),a=o.tagName.toLowerCase();if(t.unshift(i.length?`${a}.${i.map(mt).join(".")}`:a),r===0&&!i.length)return null;let l=t.join(" > ");if(Te(l,e))return l;o=o.parentElement}return null},xr=(n,e)=>{if(n===e.body)return"body";let t=[],o=n;for(let i=0;i<lr&&o;i++){if(o===e.body){t.unshift("body");break}if(o.id){let l=[`#${mt(o.id)}`,...t].join(" > ");if(Te(l,e))return l}let{index:a}=ft(o);t.unshift(`${o.tagName.toLowerCase()}:nth-of-type(${a+1})`),o=o.parentElement}let r=t.join(" > ");return Te(r,e)?r:null},Pn=(n,e)=>Cr(n,e)||_r(n,e)||Tr(n,e)||xr(n,e);function $n(n){return Pn(n,n.ownerDocument)}function Hn(n,e,t){let o=n.ownerDocument,{index:r,count:i}=ft(n);return{version:1,selector:Pn(n,o),fingerprint:{tagName:n.tagName,textSnippet:Bn(n.textContent),attributes:br(n),siblingIndex:r,siblingCount:i},relativeX:e,relativeY:t}}var yr=(n,e)=>{if(!n&&!e)return 1;if(!n||!e)return 0;if(n===e)return 1;if(n.startsWith(e)||e.startsWith(n))return .8;let t=new Set(n.split(" ")),o=new Set(e.split(" ")),r=0;for(let i of t)o.has(i)&&r++;return 2*r/(t.size+o.size)},Sr=(n,e)=>{let t=Object.keys(e);if(!t.length)return 1;let o=0;for(let r of t)(n.getAttribute(r)||"").slice(0,ht)===e[r]&&o++;return o/t.length},Dn=(n,e)=>{let{index:t,count:o}=ft(n),r=Math.abs(t-e.siblingIndex),i=Math.max(e.siblingCount,o,1);return Math.max(0,1-r/i)},Or=(n,e)=>{if(n.tagName!==e.tagName)return 0;let t=!!e.textSnippet,o=Object.keys(e.attributes||{}).length>0,r=.5,i=.3,a=.2;return o?t||(i+=r,r=0):(r+=i,i=0),!t&&!o?Dn(n,e):r*yr(Bn(n.textContent),e.textSnippet)+i*Sr(n,e.attributes||{})+a*Dn(n,e)},kn=(n,e)=>{let t=null;for(let o of n){let r=Or(o,e);(!t||r>t.confidence)&&(t={element:o,confidence:r})}return t};function gt(n,e=document){if(n?.version!=null&&n.version>1)return null;let t=n?.fingerprint;if(!t||!t.tagName)return null;if(n.selector){let a=[];try{a=[...e.querySelectorAll(n.selector)]}catch{}let l=kn(a,t);if(l&&l.confidence>=cr)return l}if(!(!!t.textSnippet||Object.keys(t.attributes||{}).length>0))return null;let r;try{r=[...e.querySelectorAll(t.tagName)]}catch{return null}let i=kn(r,t);return i&&i.confidence>=dr?i:null}var Be="helldots-comments",Pe="helldots-pending-detail";function Et(){try{let n=localStorage.getItem(Be);if(!n)return[];let e=JSON.parse(n);return Array.isArray(e)?e:[]}catch(n){return console.warn("HellDots: could not read stored comments",n),[]}}function Un(n){try{return localStorage.setItem(Be,JSON.stringify(n)),!0}catch{return!1}}function $e(n){if(Un(n))return!0;let e=n.map((r,i)=>({comment:r,index:i})).filter(({comment:r})=>r?.contextScreenshot).sort((r,i)=>{let a=Date.parse(r.comment.createdAt),l=Date.parse(i.comment.createdAt);return Number.isFinite(a)&&Number.isFinite(l)&&a!==l?a-l:r.index-i.index});if(e.length===0)return console.warn("HellDots: could not persist comments (storage quota exceeded, nothing left to shed)"),!1;let t=[...n],o=0;for(let{index:r}of e)if(t[r]={...t[r],contextScreenshot:null},o++,Un(t))return console.warn(`HellDots: localStorage quota exceeded \u2014 dropped the automatic context screenshot from the ${o} oldest comment(s) to keep all comments persisted. Comment text, replies and user-attached screenshots were not touched.`),!0;return console.warn(`HellDots: could not persist comments even after dropping all ${o} automatic context screenshot(s); storage quota exceeded`),!1}function bt(n,e,t){let o=new Set(e.map(i=>String(i.id)));return[...n.filter(i=>!o.has(String(i.id))&&i.page!==t),...e]}var Xn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Fn=(n=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(n|=0));for(;n--;)e+=Xn[t[n]&63];return e};var Ct=()=>Fn(),H=n=>typeof n=="string"?n.trim():"",I=(n,e)=>String(n)===String(e);var te=new Set,ne=null,He=null,Ir=n=>[...n.querySelectorAll('[role="menuitem"], [role="menuitemradio"]')],zn=4,Ar=n=>{for(let e=n.parentElement;e;e=e.parentElement){let{overflowX:t,overflowY:o}=getComputedStyle(e);if(t!=="visible"||o!=="visible")return e.getBoundingClientRect()}return null},Rr=(n,e)=>{e.classList.remove(s.INBOX_MENU_UP),e.classList.remove(s.INBOX_MENU_START);let t=Ar(e),o=Math.min(t?.bottom??1/0,window.innerHeight),r=Math.max(t?.top??0,0),i=Math.max(t?.left??0,0),a=Math.min(t?.right??1/0,window.innerWidth),{height:l,width:c,left:d}=e.getBoundingClientRect(),p=n.getBoundingClientRect(),u=p.bottom+zn+l,h=p.top-zn-l;u>o&&h>=r&&e.classList.add(s.INBOX_MENU_UP),d<i&&p.left+c<=a&&e.classList.add(s.INBOX_MENU_START)},Gn=(n,e)=>(typeof e.composedPath=="function"?e.composedPath():[]).includes(n)||n.contains(e.target),wr=()=>{ne||(ne=n=>{for(let e of[...te])Gn(e.menu,n)||Gn(e.button,n)||e.close()},document.addEventListener("mousedown",ne,!0),He=n=>{let e=[...te].pop();if(e){if(n.key==="Escape"){n.preventDefault(),n.stopPropagation(),e.close(),e.button.focus();return}if(["ArrowDown","ArrowUp","Home","End"].includes(n.key)){let t=Ir(e.menu);if(t.length===0)return;n.preventDefault(),n.stopPropagation();let o=e.menu.getRootNode(),r=t.indexOf(o.activeElement),i;if(n.key==="Home")i=0;else if(n.key==="End")i=t.length-1;else if(r===-1)i=n.key==="ArrowDown"?0:t.length-1;else{let a=n.key==="ArrowDown"?1:-1;i=(r+a+t.length)%t.length}t[i].focus()}}},document.addEventListener("keydown",He,!0))},vr=()=>{ne&&(document.removeEventListener("mousedown",ne,!0),ne=null,document.removeEventListener("keydown",He,!0),He=null)},Ue=()=>{for(let n of[...te])n.close()},W=(n,e)=>{let t={button:n,menu:e,close:()=>{e.style.display="none",n.setAttribute("aria-expanded","false"),te.delete(t),te.size===0&&vr()}},o=()=>{Ue(),e.style.display="block",Rr(n,e),n.setAttribute("aria-expanded","true"),te.add(t),wr()},r=()=>e.style.display!=="none";return e.style.display="none",n.setAttribute("aria-expanded","false"),n.addEventListener("click",i=>{i.stopPropagation();let a=r();Ue(),a||o()}),{open:o,close:t.close,isOpen:r}};var Vn=(n,e)=>H(n?.id)||n?.name||e.anonymous,_t=n=>{let e=n?.reactions;return!e||typeof e!="object"?[]:be.filter(t=>e[t]?.length>0).map(t=>({emoji:t,authors:[...e[t]]}))},Tt=n=>{if(!n||typeof n!="object")return null;let e={};for(let t of be){let o=n[t];if(!Array.isArray(o))continue;let r=[];for(let i of o){if(typeof i!="string")continue;let a=i.trim();a&&!r.includes(a)&&r.push(a)}r.length>0&&(e[t]=r)}return Object.keys(e).length>0?e:null},xt=(n,e,t)=>{if(!be.includes(e)||!t)return!1;n.reactions||(n.reactions={});let o=n.reactions[e]||[],r=o.indexOf(t);return r>=0?o.splice(r,1):o.push(t),o.length>0?n.reactions[e]=o:delete n.reactions[e],!0},yt=n=>{let e=Object.entries(n||{}).filter(([,t])=>t?.length>0);return e.length>0?Object.fromEntries(e.map(([t,o])=>[t,[...o]])):null},Nr='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M20.94 11.08A9 9 0 1 1 12.92 3.06"/><path d="M8.5 14.2a4.6 4.6 0 0 0 7 0"/><path d="M9 9.5h.01M15 9.5h.01"/><path d="M19 2.6v4M17 4.6h4"/></svg>',Xe=({actorKey:n,strings:e,onToggle:t})=>{let o=new WeakMap,r=c=>{let d=o.get(c);if(d)for(let p of d)p.el.isConnected?p.repaint():d.delete(p)},i=(c,d)=>{t(c,d),r(c)},a=(c,{className:d,tooltip:p=!0})=>{let u=document.createElement("div");u.className=s.REACTION_TRIGGER;let h=document.createElement("button");h.type="button",h.className=d,h.dataset.action="react",p&&(h.dataset.hdTooltip=e.addReaction),h.setAttribute("aria-label",e.addReaction),h.innerHTML=Nr;let m=document.createElement("div");m.className=s.REACTION_PALETTE,m.setAttribute("role","menu"),m.setAttribute("aria-label",e.reactionPickerLabel);let f=W(h,m);for(let g of be){let E=document.createElement("button");E.type="button",E.className=s.REACTION_PALETTE_ITEM,E.setAttribute("role","menuitem"),E.dataset.reactionEmoji=g,E.textContent=g,E.setAttribute("aria-label",g),E.addEventListener("click",b=>{b.stopPropagation(),f.close(),i(c,g)}),m.appendChild(E)}return u.appendChild(h),u.appendChild(m),u};return{bar:c=>{let d=document.createElement("div");d.className=s.REACTION_BAR,d.setAttribute("role","group"),d.setAttribute("aria-label",e.reactionsLabel);let p=()=>{d.replaceChildren();let h=_t(c),m=n();if(d.hidden=h.length===0,!d.hidden){for(let{emoji:f,authors:g}of h){let E=g.includes(m),b=document.createElement("button");b.type="button",b.className=s.REACTION_PILL,E&&b.classList.add(s.REACTION_PILL_MINE),b.dataset.reactionEmoji=f;let T=E?e.reactionToggleOff:e.reactionToggleOn;b.setAttribute("aria-pressed",String(E)),E||(b.dataset.hdTooltip=T),b.setAttribute("aria-label",`${T}: ${f} (${g.length})`),b.addEventListener("click",v=>{v.stopPropagation(),i(c,f)});let _=document.createElement("span");_.className=s.REACTION_PILL_EMOJI,_.textContent=f,_.setAttribute("aria-hidden","true");let x=document.createElement("span");x.className=s.REACTION_PILL_COUNT,x.textContent=String(g.length),b.appendChild(_),b.appendChild(x),d.appendChild(b)}d.appendChild(a(c,{className:s.REACTION_ADD}))}},u=o.get(c);return u||o.set(c,u=new Set),u.add({el:d,repaint:p}),p(),d},trigger:a,refresh:r}};var oe="helldotsComment",ie=(n,e=oe,t=location.href)=>{let o=new URL(t),r=n.page||o.pathname,i=r===o.pathname?o:new URL(r,o);return i.searchParams.set(e,String(n.id)),i.href},Fe=(n=oe,e=location.href)=>{try{return new URL(e).searchParams.get(n)}catch{return null}};var Yn=["created","edited","status","classified"],jn=["type","priority","tags"],Lr=64,ze=n=>typeof n=="string"?n.trim().slice(0,Lr):"",Ge=n=>n===null?{present:!0,value:null}:typeof n=="string"?{present:!0,value:ze(n)}:{present:!1,value:void 0};function Wn(n,e){let t=ze(n?.name)||e.anonymous,o=H(n?.id);return o?{id:o,name:t}:{name:t}}function q(n,e,t,o){if(!Yn.includes(e))return null;let r={type:e,at:new Date().toISOString(),actor:t};o?.field&&jn.includes(o.field)&&(r.field=o.field);let i=Ge(o?.from);i.present&&(r.from=i.value);let a=Ge(o?.to);return a.present&&(r.to=a.value),Array.isArray(n.history)||(n.history=[]),n.history.push(r),r}function qn(n){if(!Array.isArray(n))return null;let e=[];for(let t of n){if(!t||typeof t!="object"||!Yn.includes(t.type))continue;let o=ze(t.at);if(!Number.isFinite(Date.parse(o)))continue;let r=ze(t.actor?.name),i=H(t.actor?.id),a={type:t.type,at:o,actor:i?{id:i,name:r}:{name:r}};jn.includes(t.field)&&(a.field=t.field);let l=Ge(t.from);l.present&&(a.from=l.value);let c=Ge(t.to);c.present&&(a.to=c.value),e.push(a)}return e.length===0?null:(e.sort((t,o)=>Date.parse(t.at)-Date.parse(o.at)),e)}function Kn(n){return!Array.isArray(n)||n.length===0?null:n.map(e=>({...e,actor:{...e.actor}}))}function K(n){if(!Array.isArray(n?.history))return[];let e=[],t=null;for(let r of n.history)r.type==="status"&&(r.to==="resolved"?t=r.at:t&&(e.push({resolvedAt:t,reopenedAt:r.at,ms:0}),t=null));t&&e.push({resolvedAt:t,reopenedAt:null,ms:0});let o=Date.parse(n.createdAt);for(let r of e){let i=Date.parse(r.resolvedAt);r.ms=Number.isFinite(o)&&Number.isFinite(i)?Math.max(0,i-o):0}return e}function re(n){if(n?.status!=="resolved")return null;let e=K(n),t=e[e.length-1];if(t&&!t.reopenedAt)return t.ms;let o=Date.parse(n.resolvedAt),r=Date.parse(n.createdAt);return!Number.isFinite(o)||!Number.isFinite(r)?null:Math.max(0,o-r)}var St=new Set,Zn=()=>{for(let n of[...St])n(!1)},Ve=(n,{title:e,message:t,confirmLabel:o,cancelLabel:r})=>new Promise(i=>{let a=document.createElement("div");a.className=s.CONFIRM,a.style.zIndex=String(D.CONFIRM);let l=document.createElement("div");l.className=s.CONFIRM_PANEL,l.setAttribute("role","alertdialog"),l.setAttribute("aria-modal","true");let c=document.createElement("h2");c.className=s.CONFIRM_TITLE,c.textContent=e,c.id=`hd-confirm-title-${Math.random().toString(36).slice(2,9)}`,l.setAttribute("aria-labelledby",c.id);let d=document.createElement("p");d.className=s.CONFIRM_MESSAGE,d.textContent=t,d.id=`hd-confirm-message-${Math.random().toString(36).slice(2,9)}`,l.setAttribute("aria-describedby",d.id);let p=document.createElement("div");p.className=s.CONFIRM_ACTIONS;let u=document.createElement("button");u.type="button",u.className=s.CONFIRM_CANCEL,u.textContent=r;let h=document.createElement("button");h.type="button",h.className=s.CONFIRM_ACCEPT,h.textContent=o,p.appendChild(u),p.appendChild(h),l.appendChild(c),l.appendChild(d),l.appendChild(p),a.appendChild(l);let m=n.activeElement||document.activeElement,f=!1,g=_=>{f||(f=!0,St.delete(g),document.removeEventListener("keydown",E,!0),a.remove(),m?.focus?.(),i(_))},E=_=>{if(_.key==="Escape"){_.stopPropagation(),_.preventDefault(),g(!1);return}if(_.key!=="Tab")return;let x=[u,h],v=n.activeElement||document.activeElement,C=x.indexOf(v);_.preventDefault(),(_.shiftKey?x[(C<=0?x.length:C)-1]:x[(C+1)%x.length]).focus()};u.addEventListener("click",()=>g(!1)),h.addEventListener("click",()=>g(!0));let b=!1;a.addEventListener("mousedown",_=>{b=_.target===a,_.stopPropagation()}),a.addEventListener("click",_=>{_.target===a&&b&&g(!1),b=!1}),St.add(g),document.addEventListener("keydown",E,!0),(n.body||n).appendChild(a),u.focus()});var Jn='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>',Mr='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>',Dr='<svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><circle cx="5" cy="12" r="1.6"/><circle cx="12" cy="12" r="1.6"/><circle cx="19" cy="12" r="1.6"/></svg>',ae=n=>{if(navigator.clipboard?.writeText)return navigator.clipboard.writeText(n).catch(()=>{});let e=document.createElement("textarea");e.value=n,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select();try{document.execCommand("copy")}catch{}return e.remove(),Promise.resolve()},k=(n,e)=>({open:e.statusOpen,in_progress:e.statusInProgress,in_review:e.statusInReview,resolved:e.statusResolved})[n]||e.statusOpen,L=(n,e)=>({bug:e.typeBug,suggestion:e.typeSuggestion,question:e.typeQuestion,improvement:e.typeImprovement})[n]||e.unset,M=(n,e)=>({high:e.priorityHigh,medium:e.priorityMedium,low:e.priorityLow})[n]||e.unset,se=({action:n,options:e,value:t,colorOf:o,labelOf:r,tooltipLabel:i,onSelect:a,showLabel:l=!1})=>{let c=document.createElement("div");c.style.position="relative";let d=document.createElement("button");d.type="button",d.className=s.INBOX_ACTION_BTN,l&&d.classList.add(s.INBOX_ACTION_BTN_LABELED),d.dataset.action=n,d.setAttribute("aria-haspopup","true");let p=document.createElement("span");p.className=s.INBOX_STATUS_DOT,d.appendChild(p);let u=null;l&&(u=document.createElement("span"),u.className=s.INBOX_ACTION_LABEL,d.appendChild(u));let h=document.createElement("div");h.className=s.INBOX_MENU,h.setAttribute("role","menu");let m=W(d,h),f=t,g=()=>{let E=`${i}: ${r(f)}`;p.style.backgroundColor=o(f),d.dataset.hdTooltip=E,d.setAttribute("aria-label",E),u&&(u.textContent=r(f)),h.querySelectorAll("[data-picker-option]").forEach(b=>{let T=b.dataset.pickerOption,_=T===""?null:T;b.setAttribute("aria-checked",String(_===f))})};for(let E of e){let b=document.createElement("button");b.type="button",b.className=s.INBOX_MENU_ITEM,b.dataset.pickerOption=E===null?"":E,b.setAttribute("role","menuitemradio");let T=document.createElement("span");T.className=s.INBOX_STATUS_DOT,T.style.backgroundColor=o(E),b.appendChild(T),b.appendChild(document.createTextNode(r(E))),b.addEventListener("click",_=>{_.stopPropagation(),m.close(),E!==f&&(f=E,a(E),g())}),h.appendChild(b)}return c.appendChild(d),c.appendChild(h),g(),c},Ot=({label:n,tooltip:e,items:t})=>{let o=document.createElement("div");o.style.position="relative";let r=document.createElement("button");r.type="button",r.className=s.INBOX_ACTION_BTN,r.dataset.action="menu",e&&(r.dataset.hdTooltip=e),r.setAttribute("aria-label",n),r.innerHTML=Dr;let i=document.createElement("div");i.className=s.INBOX_MENU,i.setAttribute("role","menu");let a=W(r,i);for(let l of t){let c=document.createElement("button");c.type="button",c.className=s.INBOX_MENU_ITEM,c.setAttribute("role","menuitem"),c.textContent=l.label,c.addEventListener("click",async d=>{if(d.stopPropagation(),l.feedbackLabel){l.onSelect(),c.textContent=l.feedbackLabel,setTimeout(()=>{c.textContent=l.label,a.close()},1200);return}if(a.close(),l.confirm){let p=c.getRootNode();if(!await Ve(p,l.confirm()))return}l.onSelect()}),i.appendChild(c)}return o.appendChild(r),o.appendChild(i),o},Ye=(n,{strings:e,reactions:t,onCopy:o,onCopyLink:r,onEdit:i,onSetStatus:a,onSetType:l,onSetPriority:c,onDelete:d})=>{let p=document.createElement("div");p.className=s.INBOX_CARD_ACTIONS;let u=document.createElement("div");u.className=s.ACTIONS_GROUP;let h=document.createElement("div");h.className=`${s.ACTIONS_GROUP} ${s.ACTIONS_GROUP_END}`,p.appendChild(u),p.appendChild(h),t&&h.appendChild(t.trigger(n,{className:s.INBOX_ACTION_BTN}));let m=document.createElement("button");return m.type="button",m.className=s.INBOX_ACTION_BTN,m.dataset.action="copy",m.dataset.hdTooltip=e.copyAgentContext,m.setAttribute("aria-label",e.copyAgentContext),m.innerHTML=Jn,m.addEventListener("click",f=>{f.stopPropagation(),o(n),m.innerHTML=Mr,m.dataset.hdTooltip=e.copied,setTimeout(()=>{m.innerHTML=Jn,m.dataset.hdTooltip=e.copyAgentContext},1500)}),h.appendChild(m),u.appendChild(se({action:"status",options:N,value:n.status||"open",colorOf:f=>V[f]||V.open,labelOf:f=>k(f,e),tooltipLabel:e.statusLabel,onSelect:f=>a(n,f),showLabel:!0})),u.appendChild(se({action:"type",options:[null,...R],value:n.type||null,colorOf:f=>Y[f]||"transparent",labelOf:f=>L(f,e),tooltipLabel:e.typeLabel,onSelect:f=>l?.(n,f),showLabel:!0})),u.appendChild(se({action:"priority",options:[null,...w],value:n.priority||null,colorOf:f=>j[f]||"transparent",labelOf:f=>M(f,e),tooltipLabel:e.priorityLabel,onSelect:f=>c?.(n,f),showLabel:!0})),h.appendChild(Ot({label:e.commentOptions,tooltip:e.moreOptions,items:[{label:e.copyLink,feedbackLabel:e.linkCopied,onSelect:()=>r?.(n)},{label:e.editComment,onSelect:()=>i?.(n)},{label:e.deleteComment,onSelect:()=>d(n),confirm:()=>({title:e.confirmDeleteCommentTitle,message:n.replies?.length?e.confirmDeleteThreadMessage:e.confirmDeleteCommentMessage,confirmLabel:e.confirmDelete,cancelLabel:e.confirmCancel})}]})),p};var le=({value:n,strings:e,onInput:t,onSave:o,onCancel:r})=>{let i=document.createElement("div");i.className=s.EDITOR;let a=document.createElement("textarea");a.className=s.EDITOR_INPUT,a.value=n,a.rows=3,a.setAttribute("aria-label",e.editorAriaLabel);let l=document.createElement("div");l.className=s.EDITOR_ACTIONS;let c=document.createElement("button");c.type="button",c.className=s.EDITOR_CANCEL,c.textContent=e.editCancel;let d=document.createElement("button");d.type="button",d.className=s.EDITOR_SAVE,d.textContent=e.editSave;let p=()=>{d.disabled=a.value.trim().length===0};return p(),a.addEventListener("input",()=>{p(),t(a.value)}),a.addEventListener("keydown",u=>{if(u.key==="Escape"){u.stopPropagation(),u.preventDefault(),r();return}u.key==="Enter"&&(u.metaKey||u.ctrlKey)&&!d.disabled&&(u.preventDefault(),o(a.value))}),c.addEventListener("click",u=>{u.stopPropagation(),r()}),d.addEventListener("click",u=>{u.stopPropagation(),d.disabled||o(a.value)}),l.appendChild(c),l.appendChild(d),i.appendChild(a),i.appendChild(l),queueMicrotask(()=>{a.focus(),a.setSelectionRange(a.value.length,a.value.length)}),i},je=(n,e)=>Ve(n,{title:e.confirmDiscardTitle,message:e.confirmDiscardMessage,confirmLabel:e.confirmDiscard,cancelLabel:e.confirmKeepEditing});var kr=(n,e)=>{let t=Date.now()-new Date(n).getTime(),o=Math.floor(t/6e4),r=Math.floor(t/36e5),i=Math.floor(t/864e5);return o<1?e.justNow:o<60?A(e.minutesAgoTemplate,o):r<24?A(e.hoursAgoTemplate,r):A(e.daysAgoTemplate,i)},eo=(n,e)=>new Intl.DateTimeFormat(e,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(new Date(n)),xe=(n,e,t,o,r=null)=>{let i=document.createElement("div");i.className=s.THREAD_META;let a=document.createElement("span");a.className=s.THREAD_AUTHOR,a.textContent=n||t.anonymous;let l=document.createElement("span");return l.className=s.THREAD_TIME,l.textContent=kr(e,t),l.dataset.fullDate=eo(e,o),i.appendChild(a),i.appendChild(l),r&&i.appendChild(It(r,t,o)),i},It=(n,e,t)=>{let o=document.createElement("span");return o.className=s.THREAD_EDITED,o.textContent=e.editedMark,o.dataset.fullDate=e.editedAtPrefix+eo(n,t),o},At=()=>/Mac|iPod|iPhone|iPad/.test(navigator.userAgent),Rt=(n,e)=>{let t=At(),o={alt:t?"\u2325":e.modifierAlt,ctrl:t?"\u2318":e.modifierCtrl,shift:t?"\u21E7":e.modifierShift},r=o[n.shortcutModifier]||o.alt,i=n.shortcutKey?.toUpperCase()||"C";return`${r} + ${i}`},We='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>',Br='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg>',Pr='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 2L11 13M22 2L15 22L11 13M11 13L2 9L22 2"/></svg>',$r='<svg width="16" height="16" viewBox="0 0 16 16" stroke-linejoin="round" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.8914 10.4028L2.98327 10.6318C3.22909 11.2445 3.5 12.1045 3.5 13C3.5 13.3588 3.4564 13.7131 3.38773 14.0495C3.69637 13.9446 4.01409 13.8159 4.32918 13.6584C4.87888 13.3835 5.33961 13.0611 5.70994 12.7521L6.22471 12.3226L6.88809 12.4196C7.24851 12.4724 7.61994 12.5 8 12.5C11.7843 12.5 14.5 9.85569 14.5 7C14.5 4.14431 11.7843 1.5 8 1.5C4.21574 1.5 1.5 4.14431 1.5 7C1.5 8.18175 1.94229 9.29322 2.73103 10.2153L2.8914 10.4028ZM2.8135 15.7653C1.76096 16 1 16 1 16C1 16 1.43322 15.3097 1.72937 14.4367C1.88317 13.9834 2 13.4808 2 13C2 12.3826 1.80733 11.7292 1.59114 11.1903C0.591845 10.0221 0 8.57152 0 7C0 3.13401 3.58172 0 8 0C12.4183 0 16 3.13401 16 7C16 10.866 12.4183 14 8 14C7.54721 14 7.10321 13.9671 6.67094 13.9038C6.22579 14.2753 5.66881 14.6656 5 15C4.23366 15.3832 3.46733 15.6195 2.8135 15.7653Z"/></svg>',Hr='<svg width="16" height="16" viewBox="0 0 16 16" stroke-linejoin="round" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.67705 7.5L3.92705 3H12.0729L14.3229 7.5H10H9.25V8.25C9.25 8.94036 8.69036 9.5 8 9.5C7.30964 9.5 6.75 8.94036 6.75 8.25V7.5H6H1.67705ZM1.5 9V12C1.5 12.5523 1.94772 13 2.5 13H13.5C14.0523 13 14.5 12.5523 14.5 12V9H10.6465C10.32 10.1543 9.25878 11 8 11C6.74122 11 5.67998 10.1543 5.35352 9H1.5ZM3 1.5H13L15.8944 7.28885C15.9639 7.42771 16 7.58082 16 7.73607V12C16 13.3807 14.8807 14.5 13.5 14.5H2.5C1.11929 14.5 0 13.3807 0 12V7.73607C0 7.58082 0.0361451 7.42771 0.105573 7.28885L3 1.5Z"/></svg>',qe=({areaClassName:n,inputTag:e="textarea",inputClassName:t,inputId:o,inputPlaceholder:r,submitBtnId:i,fileInputId:a},l)=>{let c=document.createElement("div");c.className=n;let d=document.createElement(e);o&&(d.id=o),t&&(d.className=t),d.placeholder=r,d.setAttribute("aria-label",r),e==="input"&&(d.type="text");let p=document.createElement("div");p.className=s.SCREENSHOTS_CONTAINER;let u=document.createElement("div");u.className=s.COMMENT_ACTIONS_BAR;let h=document.createElement("button");h.className=s.ATTACH_IMAGE_BTN,h.type="button",h.setAttribute("aria-label",l.attachImage),h.innerHTML=Br;let m=document.createElement("input");m.type="file",a&&(m.id=a),m.accept="image/*",m.style.display="none";let f=document.createElement("button");return i&&(f.id=i),f.className=s.THREAD_SUBMIT,f.type="button",f.setAttribute("aria-label",l.send),f.innerHTML=Pr,u.appendChild(h),u.appendChild(m),u.appendChild(f),c.appendChild(d),c.appendChild(p),c.appendChild(u),{container:c,inputEl:d,screenshotsContainer:p,attachBtn:h,fileInput:m,submitBtn:f}},Qn=(n,e,t,o)=>{let r=document.createElement("div");r.className=s.TOOLBAR_ACTION_WRAPPER;let i=document.createElement("div");i.className=s.TOOLBAR_ACTION_TOOLTIP,t.forEach(l=>i.appendChild(l));let a=document.createElement("button");return a.type="button",a.className=`${s.TOOLBAR_ACTION_BTN} ${n}`,a.setAttribute("aria-label",o),a.innerHTML=e,r.appendChild(i),r.appendChild(a),r},to=(n={},e=X)=>{let t=document.createElement("div");t.id=O.TOOLBAR;let o=document.createElement("div");o.className=s.TOOLBAR_ACTIONS;let r=document.createElement("span");r.className=s.TOOLBAR_TEXT,r.textContent=e.toolbarComment;let i=document.createElement("span");i.className=s.SHORTCUT_HINT,i.textContent=Rt(n,e);let a=Qn(s.TOOLBAR_COMMENT_BTN,$r,[r,i],e.toolbarComment);a.querySelector(`.${s.TOOLBAR_COMMENT_BTN}`)?.setAttribute("aria-pressed","false");let l=document.createElement("span");l.className=s.TOOLBAR_TEXT,l.textContent=e.toolbarInbox;let c=Qn(s.TOOLBAR_MENU_BTN,Hr,[l],e.toolbarInbox);return o.appendChild(a),o.appendChild(c),t.appendChild(o),t},wt=(n,e,{includeStatus:t=!1,includeClassification:o=!0}={})=>{let r=document.createElement("div");r.className=s.INBOX_BADGES;let i=(a,l,c)=>{let d=document.createElement("span");d.className=`${s.BADGE} ${l}`,d.textContent=a,c&&(d.style.borderColor=c),r.appendChild(d)};if(t){let a=n.status||"open";i(k(a,e),s.BADGE_STATUS,V[a])}o&&n.type&&i(L(n.type,e),s.BADGE_TYPE,Y[n.type]),o&&n.priority&&i(M(n.priority,e),s.BADGE_PRIORITY,j[n.priority]);for(let a of n.tags||[])i(a,s.BADGE_TAG,null);if(n.status==="resolved"){let a=re(n),l=a===null?"":z(a,e);i(A(e.resolvedInTemplate,l||"\u2014"),s.BADGE_DURATION,null)}return r.children.length?r:null},Ur=n=>{let e=document.createElement("div");e.className=s.CLASSIFY_ROW;let t=null,o=null,r=()=>{e.replaceChildren(),e.appendChild(se({action:"type",options:[null,...R],value:null,colorOf:i=>Y[i]||"transparent",labelOf:i=>L(i,n),tooltipLabel:n.typeLabel,onSelect:i=>t=i,showLabel:!0})),e.appendChild(se({action:"priority",options:[null,...w],value:null,colorOf:i=>j[i]||"transparent",labelOf:i=>M(i,n),tooltipLabel:n.priorityLabel,onSelect:i=>o=i,showLabel:!0}))};return r(),{container:e,getType:()=>t,getPriority:()=>o,reset:()=>{t=null,o=null,r()}}},no=(n=X)=>{let e=document.createElement("div");e.id=O.COMMENT_BOX,e.setAttribute("role","dialog"),e.setAttribute("aria-label",n.commentBoxAriaLabel);let{container:t}=qe({areaClassName:s.COMMENT_INPUT_AREA,inputTag:"textarea",inputId:O.COMMENT_INPUT,inputPlaceholder:n.commentPlaceholder,submitBtnId:O.SUBMIT_COMMENT,fileInputId:O.ATTACH_IMAGE_INPUT},n),o=Ur(n);return e.appendChild(o.container),e.appendChild(t),e.style.display="none",e.classify=o,e},Z=n=>String(n).replace(/[\\"]/g,"\\$&"),oo=n=>`[data-comment-id="${Z(n)}"]`,vt=n=>n.screenshots||(n.screenshot?[n.screenshot]:[]),ce=(n,e,{strings:t,onShow:o,rerender:r,pending:i=0})=>{n.innerHTML="",n.classList.toggle(s.ACTIVE,e.length>0||i>0),e.forEach((a,l)=>{let c=document.createElement("div");c.className=s.SCREENSHOT_ITEM;let d=document.createElement("img");d.className=s.SCREENSHOT_IMG,d.src=a,d.alt=t.attachedScreenshot,io(d,()=>o(a));let p=document.createElement("button");p.type="button",p.className=s.SCREENSHOT_REMOVE,p.setAttribute("aria-label",t.removeScreenshot),p.innerHTML="×",p.onclick=u=>{u.stopPropagation(),e.splice(l,1),r()},c.appendChild(d),c.appendChild(p),n.appendChild(c)});for(let a=0;a<i;a++){let l=document.createElement("div");l.className=`${s.SCREENSHOT_ITEM} ${s.SCREENSHOT_PENDING}`,l.setAttribute("role","status"),l.setAttribute("aria-live","polite"),l.textContent=t.capturingScreenshot,n.appendChild(l)}},Xr=n=>new Promise(e=>{let t=new FileReader;t.onload=o=>e(o.target.result),t.onerror=()=>e(null),t.readAsDataURL(n)}),de=(n,e,t,o)=>{n.addEventListener("change",async r=>{let i=r.target.files[0];if(!i||i.type&&!i.type.startsWith("image/")||e().length>=Ee)return;let a=Xr(i);n.value="";let l=await a;if(!l)return;let c=e();if(c.length>=Ee||(c.push(l),t(),!o))return;let d=await o(l),p=c.indexOf(l);p!==-1&&(c[p]=d,t())})},U=(n,e)=>{n.querySelectorAll(`.${s.SCREENSHOT_IMG}`).forEach(t=>{io(t,()=>e(t.src))})},io=(n,e)=>{n.setAttribute("role","button"),n.setAttribute("tabindex","0"),n.addEventListener("click",t=>{t.stopPropagation(),e()}),n.addEventListener("keydown",t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),e())})},ro=(n,e=X)=>{let t=document.createElement("div");return t.className=s.CIRCLE,t.dataset.commentId=n.id,t.setAttribute("role","button"),t.setAttribute("tabindex","0"),t.setAttribute("aria-label",`${e.commentAriaLabelPrefix}${n.text}`),t.style.cssText=`
|
|
19
19
|
position: absolute;
|
|
20
20
|
pointer-events: auto;
|
|
21
21
|
`,t},ye=(n,e)=>{let t=document.createElement("div");return t.className=s.SCREENSHOTS_CONTAINER,t.classList.add(s.ACTIVE),n.forEach(o=>{let r=document.createElement("div");r.className=s.SCREENSHOT_ITEM;let i=document.createElement("img");i.className=s.SCREENSHOT_IMG,i.src=o,i.alt=e.attachedScreenshot,r.appendChild(i),t.appendChild(r)}),t},so=(n,e=X,t)=>{let o=document.createElement("div");o.className=s.TOOLTIP,o.dataset.for=n.id,o.setAttribute("role","dialog"),o.setAttribute("aria-label",e.tooltipAriaLabel);let r=document.createElement("div");r.className=s.THREAD_HEADER;let i=xe(n.author,n.createdAt,e,t,n.editedAt),a=document.createElement("button");a.type="button",a.className=s.CLOSE_TOOLTIP,a.setAttribute("aria-label",e.close),a.innerHTML="×",r.appendChild(i),r.appendChild(a);let l=document.createElement("div");l.className=s.THREAD_BODY,l.textContent=n.text,o.appendChild(r),o.appendChild(l);let c=wt(n,e,{includeStatus:!0});c&&o.appendChild(c);let d=vt(n);d.length>0&&o.appendChild(ye(d,e));let p=n.replies?.length||0;if(p>0){let u=document.createElement("div");u.className=s.TOOLTIP_REPLY_COUNT,u.textContent=p===1?e.replyCountOne:A(e.replyCountTemplate,p),o.appendChild(u)}return o},Se=(n,e=X,t,{onDelete:o,onEdit:r,editing:i=null,reactions:a=null}={})=>{let l=document.createElement("div");l.className=s.THREAD_REPLY,l.dataset.replyId=String(n.id);let c=xe(n.author,n.timestamp,e,t,n.editedAt),d=[];r&&d.push({label:e.editReply,onSelect:()=>r(n)}),o&&d.push({label:e.deleteReply,onSelect:()=>o(n,l),confirm:()=>({title:e.confirmDeleteReplyTitle,message:e.confirmDeleteReplyMessage,confirmLabel:e.confirmDelete,cancelLabel:e.confirmCancel})});let p=document.createElement("div");p.className=`${s.ACTIONS_GROUP} ${s.THREAD_REPLY_ACTIONS}`,a&&p.appendChild(a.trigger(n,{className:s.INBOX_ACTION_BTN})),d.length>0&&p.appendChild(Ot({label:e.replyOptions,items:d})),p.children.length>0&&c.appendChild(p);let u;i?u=le({value:i.draft,strings:e,onInput:i.onInput,onSave:i.onSave,onCancel:i.onCancel}):(u=document.createElement("div"),u.className=s.THREAD_BODY,u.textContent=n.text),l.appendChild(c),l.appendChild(u);let h=vt(n);return h.length>0&&l.appendChild(ye(h,e)),a&&l.appendChild(a.bar(n)),l},ao=(n,e=X,t,{onDeleteReply:o,onEditReply:r,reactions:i=null}={})=>{let a=document.createElement("div");a.className=s.THREAD_POPOVER,a.dataset.for=n.id,a.setAttribute("role","dialog"),a.setAttribute("aria-label",e.popoverAriaLabel);let l=document.createElement("div");l.className=s.THREAD_HEADER;let c=xe(n.author,n.createdAt,e,t,n.editedAt),d=document.createElement("button");d.type="button",d.className=s.CLOSE_TOOLTIP,d.setAttribute("aria-label",e.close),d.innerHTML="×",l.appendChild(c),l.appendChild(d);let p=document.createElement("div");p.className=s.THREAD_BODY,p.textContent=n.text;let u=document.createElement("div");u.className=s.THREAD_REPLIES,n.replies&&n.replies.forEach(g=>{u.appendChild(Se(g,e,t,{onDelete:o,onEdit:r,reactions:i}))});let{container:h}=qe({areaClassName:s.THREAD_INPUT_AREA,inputTag:"input",inputClassName:s.THREAD_INPUT,inputPlaceholder:e.replyPlaceholder},e),m=document.createElement("div");m.className=s.THREAD_SCROLL,a.appendChild(l),m.appendChild(p);let f=vt(n);return f.length>0&&m.appendChild(ye(f,e)),i&&m.appendChild(i.bar(n)),m.appendChild(u),a.appendChild(m),a.appendChild(h),a};var Ke=(n,{strings:e,onShowLightbox:t,collapsible:o=!1,expanded:r=!1,onToggle:i})=>{let{context:a,contextScreenshot:l}=n;if(!a&&!l)return null;let c=document.createElement("div");c.className=s.CONTEXT_BLOCK;let d=document.createElement("div");if(d.className=s.CONTEXT_BODY,o){let p=document.createElement("button");p.type="button",p.className=s.CONTEXT_TOGGLE,p.setAttribute("aria-expanded",String(r)),p.innerHTML=`<span>${e.contextSection}</span>${We}`,d.style.display=r?"":"none",p.addEventListener("click",u=>{u.stopPropagation();let h=p.getAttribute("aria-expanded")==="true";p.setAttribute("aria-expanded",String(!h)),d.style.display=h?"none":"",i?.(!h)}),c.appendChild(p)}else{let p=document.createElement("div");p.className=s.CONTEXT_TITLE,p.textContent=e.contextSection,c.appendChild(p)}if(l){let p=document.createElement("div");p.className=s.CONTEXT_SCREENSHOT_CAPTION,p.textContent=e.autoScreenshotLabel,d.appendChild(p);let u=document.createElement("img");u.className=s.SCREENSHOT_IMG,u.src=l,u.alt=e.autoScreenshotLabel,d.appendChild(u),U(d,t)}if(a){let p=(m,f)=>{if(!f)return;let g=document.createElement("div");g.className=s.CONTEXT_ROW;let E=document.createElement("span");E.textContent=m;let b=document.createElement("span");b.textContent=f,g.appendChild(E),g.appendChild(b),d.appendChild(g)},u=m=>m?`${m.width}\xD7${m.height}`:"",h=m=>m?.name?`${m.name} ${m.version||""}`.trim():"";p(e.contextUrl,a.url),p(e.contextViewport,u(a.viewport)),p(e.contextScreen,u(a.screen)),p(e.contextBrowser,h(a.browser)),p(e.contextOs,h(a.os))}return c.appendChild(d),c};var Fr=n=>{let e=[...n.attributes].map(({name:t,value:o})=>`${t}="${o}"`).join(" ");return`<${n.tagName.toLowerCase()}${e?` ${e}`:""}>`},zr=n=>{if(!n?.tagName)return"(unknown)";let e=Object.entries(n.attributes||{}).map(([t,o])=>`${t}="${o}"`).join(" ");return`<${n.tagName.toLowerCase()}${e?` ${e}`:""}>`},Gr=n=>{let e=[],t=n;for(;t&&t!==document.documentElement;){let o=t.tagName.toLowerCase(),r=t.id?`#${t.id}`:"",i=[...t.classList].slice(0,2).map(a=>`.${a}`).join("");if(e.unshift(`${o}${r}${i}`),t===document.body)break;t=t.parentElement}return e.join(" > ")};function Ze(n,{viewportWidth:e,viewportHeight:t,strings:o}){let r=n.anchor,i=r?.fingerprint,a=n.container?.isConnected?n.container:null,l=n.hidden?"hidden":n.anchorState,c=a?Fr(a):zr(i),d=a?Gr(a):"(unavailable)",p=n.context?.viewport,u=p?.width??e,h=p?.height??t,m=[`Page: ${n.page}`,`Viewport: ${u}x${h}`,`Anchor state: ${l}`,`Status: ${n.status||"open"}`,`Selector: ${r?.selector||"(none)"}`,`Element: ${c}`,`DOM path: ${d}`,`Nearby text: "${i?.textSnippet??""}"`,`Comment by ${n.author} (${n.createdAt}):`,`"${n.text}"`];n.type&&m.push(`Type: ${n.type}`),n.priority&&m.push(`Priority: ${n.priority}`),n.tags?.length&&m.push(`Tags: ${n.tags.join(", ")}`);let f=n.context;if(f&&(f.url&&m.push(`URL: ${f.url}`),f.screen&&m.push(`Screen: ${f.screen.width}x${f.screen.height}`),f.browser?.name&&m.push(`Browser: ${`${f.browser.name} ${f.browser.version||""}`.trim()}`),f.os?.name&&m.push(`OS: ${`${f.os.name} ${f.os.version||""}`.trim()}`)),o&&n.status==="resolved"&&n.resolvedAt){let E=z(new Date(n.resolvedAt).getTime()-new Date(n.createdAt).getTime(),o);E&&m.push(`Resolution time: ${E}`)}let g=n.replies||[];if(g.length>0){m.push(`Replies (${g.length}):`);for(let E of g)m.push(`- ${E.author}: "${E.text}"`)}return m.join(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helldots",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Drop-in comment overlay for web apps — click anywhere to leave a comment anchored to that element, with an automatic screenshot and environment capture",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"comments",
|
|
@@ -68,12 +68,13 @@
|
|
|
68
68
|
"eslint-config-prettier": "^10.1.8",
|
|
69
69
|
"globals": "^17.7.0",
|
|
70
70
|
"jsdom": "^29.1.1",
|
|
71
|
+
"modern-screenshot": "^4.7.0",
|
|
71
72
|
"nanoid": "^6.0.1",
|
|
72
73
|
"prettier": "^3.9.4",
|
|
73
74
|
"typescript": "^6.0.3",
|
|
74
75
|
"vitest": "^4.1.9"
|
|
75
76
|
},
|
|
76
|
-
"
|
|
77
|
+
"peerDependencies": {
|
|
77
78
|
"modern-screenshot": "^4.7.0"
|
|
78
79
|
}
|
|
79
80
|
}
|