hypothesis 1.1488.0 → 1.1489.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/build/boot.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";var s={"scripts/annotator.bundle.js":"scripts/annotator.bundle.js?
|
|
1
|
+
!function(){"use strict";var s={"scripts/annotator.bundle.js":"scripts/annotator.bundle.js?508d46","styles/annotator.css":"styles/annotator.css?46da94","styles/annotator.css.map":"styles/annotator.css.map?b9addc","styles/highlights.css":"styles/highlights.css?6b4ebd","styles/highlights.css.map":"styles/highlights.css.map?241350","styles/katex.min.css":"styles/katex.min.css?cf6da0","styles/katex.min.css.map":"styles/katex.min.css.map?8b4c15","styles/pdfjs-overrides.css":"styles/pdfjs-overrides.css?c95edf","styles/pdfjs-overrides.css.map":"styles/pdfjs-overrides.css.map?1d8ac6","styles/sidebar.css":"styles/sidebar.css?83c466","styles/sidebar.css.map":"styles/sidebar.css.map?d811d1","styles/ui-playground.css.map":"styles/ui-playground.css.map?7b5350","styles/ui-playground.css":"styles/ui-playground.css?b7fb6a","scripts/annotator.bundle.js.map":"scripts/annotator.bundle.js.map?ef5eda","scripts/sidebar.bundle.js":"scripts/sidebar.bundle.js?5689e9","scripts/ui-playground.bundle.js":"scripts/ui-playground.bundle.js?7abd21","scripts/ui-playground.bundle.js.map":"scripts/ui-playground.bundle.js.map?15c431","scripts/sidebar.bundle.js.map":"scripts/sidebar.bundle.js.map?3942bc"};function t(s){s.setAttribute("data-hypothesis-asset","")}function e(s,e){var n=s.createElement("link");n.rel="stylesheet",n.type="text/css",n.href=e,t(n),s.head.appendChild(n)}function n(s,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.esModule,o=void 0===r||r,i=n.forceReload,a=void 0!==i&&i,l=s.createElement("script");o&&(l.type="module"),a&&(e+="#ts=".concat(Date.now())),l.src=e,l.async=!1,t(l),s.head.appendChild(l)}function r(s,e,n,r){var o=s.createElement("link");o.rel=e,o.href=r,o.type="application/annotator+".concat(n),t(o),s.head.appendChild(o)}function o(s,e,n){var r=s.createElement("link");r.rel="preload",r.as=e,r.href=n,"fetch"===e&&(r.crossOrigin="anonymous"),t(r),s.head.appendChild(r)}function i(s,t){return s.assetRoot+"build/"+s.manifest[t]}function a(s){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;if(-1===s.indexOf("{"))return s;var e=function(){var s,t,e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:document).currentScript;return e?(s=e.src,(t=s.match(/(https?):\/\/([^:/]+)/))?{protocol:t[1],hostname:t[2]}:null):null}(t);if(!e)throw new Error("Could not process URL template because script origin is unknown");return s=(s=s.replace("{current_host}",e.hostname)).replace("{current_scheme}",e.protocol)}if(function(){var s=[function(){return Object.fromEntries([])},function(){return new URL(document.location.href)},function(){return new Request("https://hypothes.is")},function(){return Element.prototype.attachShadow},function(){return CSS.supports("display: grid")},function(){return document.evaluate("/html/body",document,null,XPathResult.ANY_TYPE,null),!0}];try{return s.every((function(s){return s()}))}catch(s){return!1}}()){var l=function(s){for(var t={},e=s.querySelectorAll("script.js-hypothesis-config"),n=0;n<e.length;n++){var r=void 0;try{r=JSON.parse(e[n].textContent||"")}catch(s){console.warn("Could not parse settings from js-hypothesis-config tags",s),r={}}Object.assign(t,r)}return t}(document),c=a(l.assetRoot||"https://cdn.hypothes.is/hypothesis/1.1489.0/");if(document.querySelector("hypothesis-app")){!function(s,t){o(s,"fetch",t.apiUrl),o(s,"fetch",t.apiUrl+"links");for(var r=0,a=["scripts/sidebar.bundle.js"];r<a.length;r++)n(s,i(t,a[r]),{esModule:!0});for(var l=0,c=["styles/katex.min.css","styles/sidebar.css"];l<c.length;l++)e(s,i(t,c[l]))}(document,{assetRoot:c,manifest:s,apiUrl:l.apiUrl})}else{var p=function(){var s;return null===(s=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).chrome)||void 0===s||null===(s=s.runtime)||void 0===s?void 0:s.id}();if(p&&!function(s){return!!(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelector("script.js-hypothesis-config[data-extension-id=".concat(s,"]"))}(p))throw new Error("Could not start Hypothesis extension as configuration is missing");var d=l,u=a(d.notebookAppUrl||"https://hypothes.is/notebook"),h=a(d.profileAppUrl||"https://hypothes.is/user-profile"),y=a(d.sidebarAppUrl||"https://hypothes.is/app.html");!function(s,t){if(!s.querySelector('link[type="application/annotator+html"]')){r(s,"sidebar","html",t.sidebarAppUrl),r(s,"notebook","html",t.notebookAppUrl),r(s,"profile","html",t.profileAppUrl),o(s,"style",i(t,"styles/annotator.css")),r(s,"hypothesis-client","javascript",t.assetRoot+"build/boot.js");for(var a=0,l=["scripts/annotator.bundle.js"];a<l.length;a++)n(s,i(t,l[a]),{esModule:!1});var c=[];void 0!==window.PDFViewerApplication&&c.push("styles/pdfjs-overrides.css"),c.push("styles/highlights.css");for(var p=0,d=c;p<d.length;p++)e(s,i(t,d[p]))}}(document,{assetRoot:c,manifest:s,notebookAppUrl:u,profileAppUrl:h,sidebarAppUrl:y})}}else console.warn("The Hypothesis annotation tool is not supported in this browser. See https://web.hypothes.is/help/which-browsers-are-supported-by-hypothesis/.")}();
|
package/build/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"scripts/annotator.bundle.js": "scripts/annotator.bundle.js?
|
|
2
|
+
"scripts/annotator.bundle.js": "scripts/annotator.bundle.js?508d46",
|
|
3
3
|
"styles/annotator.css": "styles/annotator.css?46da94",
|
|
4
4
|
"styles/annotator.css.map": "styles/annotator.css.map?b9addc",
|
|
5
5
|
"styles/highlights.css": "styles/highlights.css?6b4ebd",
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
"styles/pdfjs-overrides.css.map": "styles/pdfjs-overrides.css.map?1d8ac6",
|
|
11
11
|
"styles/sidebar.css": "styles/sidebar.css?83c466",
|
|
12
12
|
"styles/sidebar.css.map": "styles/sidebar.css.map?d811d1",
|
|
13
|
-
"styles/ui-playground.css": "styles/ui-playground.css?b7fb6a",
|
|
14
13
|
"styles/ui-playground.css.map": "styles/ui-playground.css.map?7b5350",
|
|
14
|
+
"styles/ui-playground.css": "styles/ui-playground.css?b7fb6a",
|
|
15
15
|
"scripts/annotator.bundle.js.map": "scripts/annotator.bundle.js.map?ef5eda",
|
|
16
|
+
"scripts/sidebar.bundle.js": "scripts/sidebar.bundle.js?5689e9",
|
|
16
17
|
"scripts/ui-playground.bundle.js": "scripts/ui-playground.bundle.js?7abd21",
|
|
17
|
-
"scripts/sidebar.bundle.js": "scripts/sidebar.bundle.js?13a590",
|
|
18
18
|
"scripts/ui-playground.bundle.js.map": "scripts/ui-playground.bundle.js.map?15c431",
|
|
19
|
-
"scripts/sidebar.bundle.js.map": "scripts/sidebar.bundle.js.map?
|
|
19
|
+
"scripts/sidebar.bundle.js.map": "scripts/sidebar.bundle.js.map?3942bc"
|
|
20
20
|
}
|
|
@@ -139,7 +139,7 @@ this._sidebarRPC.on("scrollToAnnotation",(t=>{this._scrollToAnnotation(t)})),thi
|
|
|
139
139
|
this._selectionObserver.disconnect(),this._adder.destroy(),this._bucketBarClient.destroy(),null===(t=this._clusterToolbar)||void 0===t||t.destroy(),null===(e=this._outsideAssignmentNotice)||void 0===e||e.destroy(),function(t){ni(Array.from(t.querySelectorAll("hypothesis-highlight")))}(this.element),this._integration.destroy()}async anchor(t){this._contentReady&&(await this._contentReady,this._contentReady=void 0);const e=t=>{var e;const n=yr(t);if(!n)return;const i=ti(n,null===(e=t.annotation)||void 0===e?void 0:e.$cluster);i.forEach((e=>{e._annotation=t.annotation})),t.highlights=i,this._hoveredAnnotations.has(t.annotation.$tag)&&ii(i,!0)};this.detach(t.$tag,!1),this._annotations.add(t.$tag),t.target||(t.target=[]);const n=await Promise.all(t.target.map((async e=>{if(!e.selector||!e.selector.some((t=>"TextQuoteSelector"===t.type)))return{annotation:t,target:e};let n;try{const i=await this._integration.anchor(this.element,e.selector),o=Wn.fromRange(i);n={annotation:t,target:e,range:o}}catch(i){n={
|
|
140
140
|
annotation:t,target:e}}return n})));if(!this._annotations.has(t.$tag))return[];for(const t of n)e(t);return t.$orphan=n.length>0&&n.every((t=>t.target.selector&&!t.range)),this._updateAnchors(this.anchors.concat(n),!0),this._sidebarRPC.call("syncAnchoringStatus",t),n}detach(t,e=!0){this._annotations.delete(t);const n=[];for(const e of this.anchors)e.annotation.$tag!==t?n.push(e):e.highlights&&ni(e.highlights);this._updateAnchors(n,e)}_updateAnchors(t,e){var n;this.anchors=t,null===(n=this._clusterToolbar)||void 0===n||n.scheduleClusterUpdates(),e&&this._bucketBarClient.update(this.anchors)}async createAnnotation({highlight:t=!1}={}){const e=this.selectedRanges;this.selectedRanges=[];const n=await this.getDocumentInfo(),i=this.element,o=(await Promise.all(e.map((t=>this._integration.describe(i,t))))).map((t=>({source:n.uri,selector:t}))),r={uri:n.uri,document:n.metadata,target:o,$highlight:t,$cluster:t?"user-highlights":"user-annotations",$tag:"a:"+s(8)};return this._sidebarRPC.call("createAnnotation",r),
|
|
141
141
|
this.anchor(r),wr(),r}_hoverAnnotations(t){this._hoveredAnnotations.clear(),t.forEach((t=>this._hoveredAnnotations.add(t)));for(const e of this.anchors)if(e.highlights){const n=t.includes(e.annotation.$tag);ii(e.highlights,n)}this._sidebarRPC.call("hoverAnnotations",t)}_onSelection(t){const e=this._integration.getAnnotatableRange(t);if(!e)return void this._onClearSelection();const n=document.getSelection(),i=Yn(n),o=Qn(n);o?(this.selectedRanges=[e],this._hostRPC.call("textSelected"),this._adder.annotationsForSelection=vr(),this._isAdderVisible=!0,this._adder.show(o,i)):this._onClearSelection()}_onClearSelection(){this._isAdderVisible=!1,this._adder.hide(),this.selectedRanges=[],this._informHostOnNextSelectionClear&&this._hostRPC.call("textUnselected"),this._informHostOnNextSelectionClear=!0}selectAnnotations(t,{toggle:e=!1,focusInSidebar:n=!1}={}){e?this._sidebarRPC.call("toggleAnnotationSelection",t):this._sidebarRPC.call("showAnnotations",t,n),this._sidebarRPC.call("openSidebar")}
|
|
142
|
-
setHighlightsVisible(t,e=!0){!function(t,e){t.classList.toggle("hypothesis-highlights-always-on",e)}(this.element,t),this._highlightsVisible=t,e&&this._hostRPC.call("highlightsVisibleChanged",t)}get highlightsVisible(){return this._highlightsVisible}fitSideBySide(t){this._sidebarLayout=t,this._integration.fitSideBySide(t)}get hoveredAnnotationTags(){return this._hoveredAnnotations}_handleShortcut(t){he(t,"Ctrl+Shift+H")&&this.setHighlightsVisible(!this._highlightsVisible)}_setOutsideAssignmentNoticeVisible(t){this._outsideAssignmentNotice||(this._outsideAssignmentNotice=new mr(this.element)),this._outsideAssignmentNotice.setVisible(t)}}function Sr(t,e){const n=new URL(t),i=new URLSearchParams;return i.append("config",JSON.stringify(e)),n.hash=i.toString(),n.toString()}function Nr(t,e){var n;const i={};for(const[t,n]of Object.entries(e))"notebookAppUrl"!==t&&"sidebarAppUrl"!==t&&null!=n&&(i[t]=n);i.origin=new URL(t).origin,i.version="1.
|
|
142
|
+
setHighlightsVisible(t,e=!0){!function(t,e){t.classList.toggle("hypothesis-highlights-always-on",e)}(this.element,t),this._highlightsVisible=t,e&&this._hostRPC.call("highlightsVisibleChanged",t)}get highlightsVisible(){return this._highlightsVisible}fitSideBySide(t){this._sidebarLayout=t,this._integration.fitSideBySide(t)}get hoveredAnnotationTags(){return this._hoveredAnnotations}_handleShortcut(t){he(t,"Ctrl+Shift+H")&&this.setHighlightsVisible(!this._highlightsVisible)}_setOutsideAssignmentNoticeVisible(t){this._outsideAssignmentNotice||(this._outsideAssignmentNotice=new mr(this.element)),this._outsideAssignmentNotice.setVisible(t)}}function Sr(t,e){const n=new URL(t),i=new URLSearchParams;return i.append("config",JSON.stringify(e)),n.hash=i.toString(),n.toString()}function Nr(t,e){var n;const i={};for(const[t,n]of Object.entries(e))"notebookAppUrl"!==t&&"sidebarAppUrl"!==t&&null!=n&&(i[t]=n);i.origin=new URL(t).origin,i.version="1.1489.0";const o=new URL(window.location.href);if(o.hash="",
|
|
143
143
|
i.hostURL=o.toString(),Array.isArray(i.services)&&(null===(n=i.services)||void 0===n?void 0:n.length)>0){const t=i.services[0];t.onLoginRequest&&(t.onLoginRequestProvided=!0),t.onLogoutRequest&&(t.onLogoutRequestProvided=!0),t.onSignupRequest&&(t.onSignupRequestProvided=!0),t.onProfileRequest&&(t.onProfileRequestProvided=!0),t.onHelpRequest&&(t.onHelpRequestProvided=!0)}return i}function Er({closed:t,onClose:e,children:n,"data-testid":i,"aria-label":o}){const r=Zt(null);return Kt((()=>{var e,n;t?null===(e=r.current)||void 0===e||e.close():null===(n=r.current)||void 0===n||n.showModal()}),[t]),Kt((()=>{const t=r.current;return null==t||t.addEventListener("cancel",e),()=>{null==t||t.removeEventListener("cancel",e)}}),[e]),Ce("dialog",{ref:r,className:"relative w-full h-full backdrop:bg-black/50","data-testid":i,"aria-label":o,children:n})}function Ar({closed:t,children:e,...n}){return Ce("div",{...n,className:we("fixed z-max top-0 left-0 right-0 bottom-0 p-3 bg-black/50",{hidden:t}),children:Ce("div",{
|
|
144
144
|
className:"relative w-full h-full",children:e})})}function Tr({document_:t=document,...e}){return Ce(Jt((()=>function(t){return"function"==typeof t.createElement("dialog").showModal}(t)?Er:Ar),[t]),{...e})}function kr({config:t,groupId:e}){return Ce("iframe",{title:"Hypothesis annotation notebook",className:"h-full w-full border-0",allow:"fullscreen; clipboard-write",src:Sr(t.notebookAppUrl,{...Nr(t.notebookAppUrl,t),group:e})})}function Rr({eventBus:t,config:e}){const[n,i]=Gt(0),[o,r]=Gt(!0),[s,a]=Gt(null),l=Zt(""),c=Zt(null);Kt((()=>(l.current=document.body.style.overflow,()=>{document.body.style.overflow=l.current})),[]),Kt((()=>{document.body.style.overflow=o?l.current:"hidden"}),[o]),Kt((()=>{const e=t.createEmitter();return e.subscribe("openNotebook",(t=>{r(!1),i((t=>t+1)),a(t)})),c.current=e,()=>{e.destroy()}}),[t]);const h=te((()=>{var t;r(!0),null===(t=c.current)||void 0===t||t.publish("closeNotebook")}),[]);return null===s?null:Ce(Tr,{closed:o,onClose:h,"data-testid":"notebook-outer",
|
|
145
145
|
"aria-label":"Hypothesis notebook",children:[Ce("div",{className:"absolute right-0 m-3",children:Ce(cn,{title:"Close notebook",onClick:h,variant:"dark",classes:we("!bg-transparent enabled:hover:!bg-grey-3"),"data-testid":"close-button",children:Ce(Pe,{className:"w-4 h-4"})})}),Ce(kr,{config:e,groupId:s},n)]})}class Pr{constructor(t,e,n){i(this,"_container",void 0),this._container=new Pn("notebook",(()=>Ce(Rr,{eventBus:e,config:n}))),t.append(this._container.element),this._container.render()}destroy(){this._container.destroy()}}function Or({eventBus:t,config:e}){const[n,i]=Gt(!0),o=Zt(null);Kt((()=>{const e=t.createEmitter();return e.subscribe("openProfile",(()=>{i(!1)})),o.current=e,()=>{e.destroy()}}),[t]);const r=()=>{var t;i(!0),null===(t=o.current)||void 0===t||t.publish("closeProfile")};return n?null:Ce(Tr,{closed:n,onClose:r,"data-testid":"profile-outer","aria-label":"Hypothesis profile",children:[Ce("div",{className:"absolute right-0 m-3",children:Ce(cn,{title:"Close profile dialog",onClick:r,
|
|
@@ -552,7 +552,7 @@ matches:(e,t)=>pf(e,t)===hf.Overlap,normalize:e=>e.trim()},since:{fieldValues:e=
|
|
|
552
552
|
;t[i]?t[i].push(o):t[i]=[o]}return t}function Ef(e){return Wo(e)?"orphan":Yo(e)?"note":"annotation"}function Tf(e){return as([e]).reduce(((e,t)=>t.created>e?t.created:e),"")}function Cf(e){return as([e]).reduce(((e,t)=>(e||(e=t.created),t.created<e?t.created:e)),"")}const Mf={Newest:(e,t)=>{const n=Tf(e),r=Tf(t);return n>r?-1:n<r?1:0},Oldest:(e,t)=>{const n=Cf(e),r=Cf(t);return n<r?-1:n>r?1:0},Location:(e,t)=>{var n,r;if(!e.annotation||!t.annotation)return function(e,t){return e.annotation||t.annotation?e.annotation?1:-1:0}(e,t);const o=Qo(e.annotation),i=Qo(t.annotation);if(o.cfi&&i.cfi){const e=cf(o.cfi,i.cfi);if(0!==e)return Math.sign(e)}else{if(o.cfi)return-1;if(i.cfi)return 1}const a=null!==(n=o.position)&&void 0!==n?n:Number.MAX_SAFE_INTEGER,s=null!==(r=i.position)&&void 0!==r?r:Number.MAX_SAFE_INTEGER;return Math.sign(a-s)}};const If=function(e){if(1!==e.length)throw new Error("Memoize input must be a function of one argument");let t,n;return function(r){return r===t||(t=r,n=e(r)),n}}((function(e){
|
|
553
553
|
const t=e.selection,n={expanded:t.expanded,forcedVisible:t.forcedVisible,selected:t.selected,sortCompareFn:Mf[t.sortKey]};if(!!t.filterQuery||Object.keys(t.filters).length>0){const e=function(e,t={}){const n=e=>{const n=t[e];return"string"==typeof n?[n]:[]},r=n("cfi"),o=n("page"),i=n("quote"),a=n("tag"),s=n("text"),l=n("uri"),c=n("user"),u=[],d=[],h=Sf(e,wf);for(const e of h){const t=e.slice(0,e.indexOf(":")),n=e.slice(t.length+1);switch(t){case"cfi":r.push(n);break;case"quote":i.push(n);break;case"page":o.push(n);break;case"since":{const t=86400,n={sec:1,min:60,hour:3600,day:t,week:7*t,month:30*t,year:365*t},r=e.slice(6).toLowerCase().match(/^(\d+)(sec|min|hour|day|week|month|year)?$/);if(r){const e=parseFloat(r[1]),t=r[2]||"sec";d.push(e*n[t])}}break;case"tag":a.push(n);break;case"text":s.push(n);break;case"uri":l.push(n);break;case"user":c.push(n);break;default:u.push(e)}}return{any:{terms:u,operator:"and"},cfi:{terms:r,operator:"or"},quote:{terms:i,operator:"and"},page:{terms:o,operator:"or"},since:{
|
|
554
554
|
terms:d,operator:"and"},tag:{terms:a,operator:"and"},text:{terms:s,operator:"and"},uri:{terms:l,operator:"or"},user:{terms:c,operator:"or"}}}(t.filterQuery||"",t.filters);n.filterFn=t=>function(e,t){const n=(e,t)=>new vf(t,yf[e]),r=Object.entries(t).filter((([,e])=>e.terms.length>0)).map((([e,t])=>{let r;if("any"===e){const e=["quote","text","tag","user"];r=t.terms.map((t=>new bf("or",e.map((e=>n(e,t))))))}else r=t.terms.map((t=>n(e,t)));return new bf(t.operator,r)})),o=new bf("and",r);return e.filter((e=>e.id&&o.matches(e))).map((e=>e.id))}([t],e).length>0}const r=af(e.annotations,n),o={annotation:0,note:0,orphan:0};return e.showTabs&&(r.children=r.children.filter((e=>{if(!e.annotation)return!1;if(Uo(e.annotation))return!1;const n=Ef(e.annotation);return o[n]+=1,n===t.selectedTab}))),{tabCounts:o,rootThread:r}}));function zf(){const e=La(),t=e.allAnnotations(),n=e.filterQuery(),r=e.route(),o=e.selectionState(),i=e.getFilterValues(),a="sidebar"===r,s=he((()=>{const e={...o,filterQuery:n,filters:i};return{
|
|
555
|
-
annotations:t,selection:e,showTabs:a}}),[t,n,o,i,a]);return If(s)}var Of=no((function({loadAnnotationsService:e,onLogin:t}){var n;const r=La(),o=null!==(n=r.routeParams().id)&&void 0!==n?n:"",{rootThread:i}=zf(),a=r.profile().userid,[s,l]=se(!1);return ce((()=>{l(!1),r.clearAnnotations(),e.loadThread(o).then((e=>{const t=e.filter((e=>0===(e.references||[]).length))[0];t&&(e.forEach((e=>e.id&&r.setExpanded(e.id,!0))),t.id!==o&&r.highlightAnnotations([o]))})).catch((()=>{l(!0)}))}),[o,a,e,r]),Fe(y,{children:[s&&Fe(Ra,{errorType:"annotation",onLoginRequest:t}),Fe(Kp,{threads:i.children})]})}),["loadAnnotationsService"]);class Lf{constructor(e,t,n=window){var r,o,i;j(this,"version",void 0),j(this,"userAgent",void 0),j(this,"urls",void 0),j(this,"fingerprint",void 0),j(this,"account",void 0),j(this,"timestamp",void 0),j(this,"segment",void 0);const a="N/A";let s=a;e.userid&&(s=e.userid,e.displayName&&(s=`${e.displayName} (${s})`)),this.version="1.
|
|
555
|
+
annotations:t,selection:e,showTabs:a}}),[t,n,o,i,a]);return If(s)}var Of=no((function({loadAnnotationsService:e,onLogin:t}){var n;const r=La(),o=null!==(n=r.routeParams().id)&&void 0!==n?n:"",{rootThread:i}=zf(),a=r.profile().userid,[s,l]=se(!1);return ce((()=>{l(!1),r.clearAnnotations(),e.loadThread(o).then((e=>{const t=e.filter((e=>0===(e.references||[]).length))[0];t&&(e.forEach((e=>e.id&&r.setExpanded(e.id,!0))),t.id!==o&&r.highlightAnnotations([o]))})).catch((()=>{l(!0)}))}),[o,a,e,r]),Fe(y,{children:[s&&Fe(Ra,{errorType:"annotation",onLoginRequest:t}),Fe(Kp,{threads:i.children})]})}),["loadAnnotationsService"]);class Lf{constructor(e,t,n=window){var r,o,i;j(this,"version",void 0),j(this,"userAgent",void 0),j(this,"urls",void 0),j(this,"fingerprint",void 0),j(this,"account",void 0),j(this,"timestamp",void 0),j(this,"segment",void 0);const a="N/A";let s=a;e.userid&&(s=e.userid,e.displayName&&(s=`${e.displayName} (${s})`)),this.version="1.1489.0",this.userAgent=n.navigator.userAgent,
|
|
556
556
|
this.urls=t.map((e=>e.uri)).join(", ")||a,this.fingerprint=null!==(r=null===(o=t[0])||void 0===o||null===(o=o.metadata)||void 0===o?void 0:o.documentFingerprint)&&void 0!==r?r:a,this.account=s,this.timestamp=(new Date).toString();const l=null===(i=t[0])||void 0===i?void 0:i.segment;if(l){const e=[];if(l.cfi&&e.push(["CFI",l.cfi]),l.pages){const t=`${l.pages.start}-${l.pages.end}`;e.push(["Pages",t])}l.url&&e.push(["URL",l.url]),this.segment=e.map((([e,t])=>`${e}: ${t}`)).join(", ")}}asFormattedString(){return`Version: ${this.version}\nUser Agent: ${this.userAgent}\nURL: ${this.urls}\nFingerprint: ${this.fingerprint}\nAccount: ${this.account}\nDate: ${this.timestamp}\n`}asEncodedURLString(){return encodeURIComponent(this.asFormattedString())}}var Rf="complete",Pf="canceled";function Df(e,t,n){e.self===e?e.scrollTo(t,n):(e.scrollLeft=t,e.scrollTop=n)}function Ff(e){var t=e._scrollSettings;if(t){var n=t.maxSynchronousAlignments,r=function(e,t){
|
|
557
557
|
var n,r,o,i,a,s,l,c=e.align,u=e.target.getBoundingClientRect(),d=c&&null!=c.left?c.left:.5,h=c&&null!=c.top?c.top:.5,m=c&&null!=c.leftOffset?c.leftOffset:0,p=c&&null!=c.topOffset?c.topOffset:0,f=d,g=h;if(e.isWindow(t))s=Math.min(u.width,t.innerWidth),l=Math.min(u.height,t.innerHeight),r=u.left+t.pageXOffset-t.innerWidth*f+s*f,o=u.top+t.pageYOffset-t.innerHeight*g+l*g,r-=m,o-=p,r=e.align.lockX?t.pageXOffset:r,o=e.align.lockY?t.pageYOffset:o,i=r-t.pageXOffset,a=o-t.pageYOffset;else{s=u.width,l=u.height,n=t.getBoundingClientRect();var v=u.left-(n.left-t.scrollLeft),b=u.top-(n.top-t.scrollTop);r=v+s*f-t.clientWidth*f,o=b+l*g-t.clientHeight*g,r-=m,o-=p,r=Math.max(Math.min(r,t.scrollWidth-t.clientWidth),0),o=Math.max(Math.min(o,t.scrollHeight-t.clientHeight),0),r=e.align.lockX?t.scrollLeft:r,o=e.align.lockY?t.scrollTop:o,i=r-t.scrollLeft,a=o-t.scrollTop}return{x:r,y:o,differenceX:i,differenceY:a}}(t,e),o=Date.now()-t.startTime,i=Math.min(1/t.time*o,1);if(t.endIterations>=n)return Df(e,r.x,r.y),
|
|
558
558
|
e._scrollSettings=null,t.end(Rf);var a=1-t.ease(i);if(Df(e,r.x-r.differenceX*a,r.y-r.differenceY*a),o>=t.time)return t.endIterations++,t.scrollAncestor&&Ff(t.scrollAncestor),void Ff(e);!function(e){if("requestAnimationFrame"in window)return window.requestAnimationFrame(e);setTimeout(e,16)}(Ff.bind(null,e))}}function Bf(e){return e.self===e}function Hf(e){return"pageXOffset"in e||(e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth)&&"hidden"!==getComputedStyle(e).overflow}function jf(){return!0}function $f(e){if(e.assignedSlot)return $f(e.assignedSlot);if(e.parentElement)return"body"===e.parentElement.tagName.toLowerCase()?e.parentElement.ownerDocument.defaultView||e.parentElement.ownerDocument.ownerWindow:e.parentElement;if(e.getRootNode){var t=e.getRootNode();if(11===t.nodeType)return t.host}}var qf=function(e,t,n){if(e){"function"==typeof t&&(n=t,t=null),t||(t={}),t.time=isNaN(t.time)?1e3:t.time,t.ease=t.ease||function(e){return 1-Math.pow(1-e,e/2)},t.align=t.align||{}
|
|
@@ -599,33 +599,33 @@ n.clearAnnotations(),o(null!=r?r:"").catch((e=>{t.error(`Unable to fetch annotat
|
|
|
599
599
|
const t=Kg(e),n=[],r=[];return Object.keys(t).sort().forEach((e=>{e===Yg?n.push(...t[e].groups):r.push(...t[e].groups)})),n.length&&r.push(...n),r}function Qg({heading:e,children:t}){return Fe(y,{children:[e&&Fe("h2",{className:"text-color-text-light p-3 leading-none uppercase",children:e}),Fe("ul",{className:"border-b",children:T(t).map((e=>Fe("li",{children:e},e.key)))})]})}var Jg=no((function({isExpanded:e,group:t,groups:n,onExpand:r,toastMessenger:o}){const i=t.links.html,a=i||t.canLeave,s=t.scopes&&!t.scopes.enforced||t.isScopedToUri,l=La(),c=l.focusedGroupId(),u=t.id===c,d=t=>{t.stopPropagation(),t.preventDefault(),r(!e)},h="private"===t.type?"Copy invite link":"Copy activity link",m=t.logo?Fe("img",{className:"w-4 h-4",alt:Wg(t),src:t.logo}):Fe("span",{className:"sr-only",children:Wg(t)});return Fe(mp,{isDisabled:!s,isExpanded:!!a&&e,isSelected:u,isSubmenuVisible:a?e:void 0,label:t.name,leftChannelContent:m,onClick:s?()=>{l.clearDirectLinkedGroupFetchFailed(),l.clearDirectLinkedIds(),n.focus(t.id)}:d,
|
|
600
600
|
onToggleSubmenu:d,submenu:Fe(y,{children:[Fe("ul",{children:[i&&Fe("li",{children:Fe(mp,{href:i,icon:$t,isSubmenuItem:!0,label:"View group activity"})}),i&&Fe("li",{children:Fe(mp,{onClick:()=>(async e=>{try{await _s(e),o.success(`Copied link for "${t.name}"`)}catch(e){o.error("Unable to copy link")}})(i),icon:Nt,isSubmenuItem:!0,label:h})}),t.canLeave&&Fe("li",{children:Fe(mp,{icon:cn,isSubmenuItem:!0,label:"Leave group",onClick:async()=>{const e=`Are you sure you want to leave the group "${t.name}"?`;await yr({title:"Leave group?",message:e,confirmAction:"Leave"})&&n.leave(t.id)}})})]}),!s&&Fe("p",{className:Re("p-2 pl-9 bg-grey-1 hyphens-none"),"data-testid":"unselectable-group-note",children:"This group is restricted to specific URLs."})]})})}),["groups","toastMessenger"]);function Zg({expandedGroup:e,onExpandGroup:t,groups:n,heading:r}){return Fe(Qg,{heading:r,children:n.map((n=>Fe(Jg,{isExpanded:n===e,onExpand:e=>t(e?n:null),group:n},n.id)))})}var ev=no((function({settings:e}){
|
|
601
601
|
const t=La(),n=t.getCurrentlyViewingGroups(),r=t.getFeaturedGroups(),o=t.getMyGroups(),i=t.focusedGroup(),a=t.profile().userid,s=t.importsPending()>0,l=he((()=>Xg(o)),[o]),c=he((()=>Xg(r)),[r]),u=he((()=>Xg(n)),[n]),d=t.defaultAuthority(),h=a&&!cs(a,d),m=t.getLink("groups.new"),[p,f]=se(null);let g;if(i){const t=i.organization.logo||function(e){const t=Qr(e);return t&&t.icon?t.icon:null}(e)||"",n=Wg(i)?Wg(i):"";g=Fe("span",{className:Re("py-1"),children:Fe("span",{className:Re("shrink-0 flex items-center gap-x-1 text-md text-color-text font-bold"),children:[t&&Fe("img",{className:Re("relative top-[1px] w-4 h-4"),src:t,alt:n}),i.name]})})}else g=Fe("span",{children:"…"});return!!Jr(e)&&n.length+r.length+o.length<2?g:Fe(dp,{align:"left",contentClass:"min-w-[250px]",disabled:s,label:g,onOpenChanged:()=>f(null),title:i?`Select group (now viewing: ${i.name})`:"Select group",children:[u.length>0&&Fe(Zg,{expandedGroup:p,onExpandGroup:f,heading:"Currently Viewing",groups:u}),c.length>0&&Fe(Zg,{expandedGroup:p,
|
|
602
|
-
onExpandGroup:f,heading:"Featured Groups",groups:c}),l.length>0&&Fe(Zg,{expandedGroup:p,onExpandGroup:f,heading:"My Groups",groups:l}),h&&Fe(mp,{icon:En,href:m,label:"New private group"})]})}),["settings"]);function tv(){const e=La(),t=e.sortKey(),n=e.sortKeys().map((n=>Fe(mp,{label:n,onClick:()=>e.setSortKey(n),isSelected:n===t},n))),r=Fe("span",{className:"p-1",children:Fe(Kn,{})});return Fe("div",{"data-component":"SortMenu",children:Fe(dp,{label:r,title:`Sort by ${t}`,align:"right",menuIndicator:!1,children:n})})}function nv({classes:e,...t}){return Fe(ar,{...t,classes:Re(e,"border border-transparent","aria-pressed:border-grey-3 aria-pressed:bg-grey-1")})}function rv(e){return Fe(nv,{size:"custom",classes:"touch:min-w-touch-minimum p-1",...e})}var ov=no((function({dashboard:e,isMenuOpen:t}){const[
|
|
603
|
-
|
|
604
|
-
label:"Your profile",onClick:()=>w()}),Fe(mp,{label:"Open notebook",onClick:()=>y()})]}),(null===(i=n.dashboard)||void 0===i?void 0:i.showEntryPoint)&&Fe(Qg,{children:Fe(ov,{isMenuOpen:m})}),v&&Fe(Qg,{children:Fe(mp,{isDisabled:b,label:"Log out",onClick:t})})]})})}),["frameSync","settings"]);function av(){const e=La(),t=e.isLoading(),n=e.isSidebarPanelOpen("searchAnnotations"),r=me((()=>{e.toggleSidebarPanel("searchAnnotations")}),[e]);return function(e){const t=de(null),n=me((n=>{!n.metaKey&&!n.ctrlKey&&n.target instanceof HTMLElement&&["INPUT","TEXTAREA"].includes(n.target.tagName)||(t.current=document.activeElement,e.isSidebarPanelOpen("searchAnnotations")||(e.openSidebarPanel("searchAnnotations"),n.preventDefault(),n.stopPropagation()))}),[e]),r=vs()?"meta":"ctrl";pg("/",n),pg(`${r}+k`,n)}(e),Fe(y,{
|
|
605
|
-
const s=La().isLoading(),l=ze(n),[c,u]=se(a),[d,h]=se(a);pg("/",(e=>{var t;document.activeElement!==l.current&&(e.preventDefault(),null===(t=l.current)||void 0===t||t.focus())}));return a!==c&&(h(a),u(a)),Fe("form",{name:"searchForm",onSubmit:e=>{var t,n,r;(e.preventDefault(),null!==(t=l.current)&&void 0!==t&&t.value||c)&&i(null!==(n=null===(r=l.current)||void 0===r?void 0:r.value)&&void 0!==n?n:"")},className:Re("space-y-3",e),children:Fe("div",{className:"relative",children:[Fe(ar,{classes:"absolute left-0 text-[16px] top-[50%] translate-y-[-50%]",icon:jn,size:"lg",title:"Search",type:"submit",disabled:t}),Fe(Sr,{"aria-label":"Search annotations",classes:Re("pl-8 pr-8","disabled:text-grey-6","text-base touch:text-touch-base"),"data-testid":"search-input",dir:"auto",name:"query",
|
|
606
|
-
"data-testid":"clear-button",title:"Clear search",onClick:r,disabled:t})]})})}var lv=no((function({router:e}){const t=La(),{q:n}=t.routeParams(),r=t=>{e.navigate("stream",{q:t})};return Fe(sv,{query:null!=n?n:"",onSearch:r,onClearSearch:()=>r("")})}),["router"]);var cv=no((function({isSidebar:e,onLogin:t,onLogout:n,onSignUp:r,frameSync:o,settings:i}){const a=eo(["accentColor"],i),s=La(),l=s.isLoggedIn(),c=s.hasFetchedProfile(),u=s.isFeatureEnabled("pending_updates_notification"),d=s.isSidebarPanelOpen("help"),h=s.isSidebarPanelOpen("shareGroupAnnotations");return Fe("div",{className:Re("absolute h-10 left-0 top-0 right-0 z-4","text-grey-7 border-b theme-clean:border-b-0 bg-white"),"data-testid":"top-bar",children:Fe("div",{className:Re("container flex items-center h-full","text-[16px]"),
|
|
607
|
-
s.toggleSidebarPanel("shareGroupAnnotations")},title:"Share annotations on this page","data-testid":"share-icon-button"})]}),Fe(rv,{icon:en,expanded:d,pressed:d,onClick:()=>{const e=Qr(i);e&&e.onHelpRequestProvided?o.notifyHost("helpRequested"):s.toggleSidebarPanel("help")},title:"Help","data-testid":"help-icon-button"}),l?Fe(iv,{onLogout:n}):Fe("div",{className:"flex items-center text-md font-medium space-x-1 pl-1","data-testid":"login-links",children:[!l&&!c&&Fe("span",{children:"⋯"}),!l&&c&&Fe(y,{children:[Fe(qr,{classes:"inline",onClick:r,style:a,underline:"none",children:"Sign up"}),Fe("div",{children:"/"}),Fe(qr,{classes:"inline",onClick:t,style:a,underline:"none",children:"Log in"})]})]})]})]})})}),["frameSync","settings"]);function uv(){
|
|
608
|
-
},children:Fe(Ve,{children:Fe(Xe,{children:[Fe("div",{className:"flex gap-x-3",children:Fe(sv,{inputRef:n,classes:"grow",disabled:r,query:t||null,onClearSearch:o,onSearch:e.setFilterQuery,onKeyDown:e=>{"Escape"===e.key&&o()}})}),Fe(qg,{})]})})})}var dv=no((function({auth:e,frameSync:t,settings:n,session:r,toastMessenger:o}){const i=La(),a=i.profile(),s=i.route(),l="notebook"===s||"profile"===s,c=he((()=>eo(["appBackgroundColor"],n)),[n]),u="clean"===n.theme,d="sidebar"===s;ce((()=>{(function(e,t,n){const r="object"==typeof t.preferences&&!!t.preferences.show_sidebar_tutorial,o=Qr(n)||{onHelpRequestProvided:!1};return e&&!o.onHelpRequestProvided&&r})(d,a,n)&&i.openSidebarPanel("help")}),[d,a,n,i]);const h=Jr(n),m=async()=>{
|
|
609
|
-
className:Re("h-full min-h-full overflow-auto","lg:pb-16 bg-grey-2","js-thread-list-scroll-root",{"theme-clean":u,"pt-[49px]":!l,"p-4 lg:p-12":l}),"data-testid":"hypothesis-app",style:c,children:[!l&&Fe(cv,{onLogin:m,onSignUp:p,onLogout:async()=>{await(async()=>{const e=i.countDrafts();if(0===e)return!0;let t="";return 1===e?t="You have an unsaved annotation.\nDo you really want to discard this draft?":e>1&&(t="You have "+e+" unsaved annotations.\nDo you really want to discard these drafts?"),yr({title:"Discard drafts?",message:t,confirmAction:"Discard"})})()&&(i.clearGroups(),i.removeAnnotations(i.unsavedAnnotations()),i.discardAllDrafts(),Qr(n)?t.notifyHost("logoutRequested"):r.logout())},isSidebar:d}),Fe("div",{className:"container",
|
|
610
|
-
}),["auth","frameSync","session","settings","toastMessenger"]);function hv({error:e}){return Fe("div",{className:Re("m-2 mt-12"),children:Fe(pr,{title:"Unable to start Hypothesis",children:e.message})})}function mv(e){const t=e.toString(16);return 1===t.length?"0"+t:t}function pv(e){const t=new Uint8Array(e/2);return window.crypto.getRandomValues(t),Array.from(t).map(mv).join("")}function fv(e,t,n,r=[],o=2e3,i=window){const a=pv(10),s={jsonrpc:"2.0",method:n,params:r,id:a};try{e.postMessage(s,t)}catch(e){return Promise.reject(e)}let l;const c=new Promise(((e,n)=>{l=r=>{if(r.origin!==t)return;if(!(r.data instanceof Object)||"2.0"!==r.data.jsonrpc||r.data.id!==a)return;const{error:o,result:i}=r.data
|
|
611
|
-
e))).catch((e=>{throw i.removeEventListener("message",l),e}))}function gv(e){const t=new URL(e).hash.slice(1),n=new URLSearchParams(t).get("config");return JSON.parse(n||"{}")}function vv(e){if("string"==typeof e&&"false"===e.trim().toLocaleLowerCase())return!1;const t=Number(e);return isNaN(t)?"string"==typeof e:Boolean(t)}function bv(e){return parseInt(e)}function _v(e){return e&&"function"==typeof e.toString?e.toString():""}function yv(e,t=window){let n=t;for(let t=0;t<e;t++){if(n===n.top)throw new Error("The target parent frame has exceeded the ancestor tree. Try reducing the `requestConfigFromFrame.ancestorLevel` value in the `hypothesisConfig`");n=n.parent}return n}const wv=new Set;function xv(...e){
|
|
612
|
-
;o&&e.unshift(o);const i=e.map((e=>e.id));t=t.filter((e=>!i.includes(e.id))),t.forEach((e=>e.isMember=!1)),e.forEach((e=>e.isMember=!0));const a=e.concat(t);return a.forEach((e=>{e.canLeave=!!function(e){const t=Qr(e);return!t||!!t.allowLeavingGroups}(r)&&"private"===e.type})),a.forEach((e=>e.isScopedToUri=function(e,t){if(e.scopes&&e.scopes.uri_patterns.length>0&&t)return function(e,t){return t.some((t=>e.match(t.split("*").map(kv).join(".*"))))}(t,e.scopes.uri_patterns);return!0}(e,n))),a}let Sv=[];const Av=e=>({changeFocusModeUser:t=>{var n;e.changeFocusModeUser(t);const r=null!==(n=null==t?void 0:t.groups)&&void 0!==n?n:[],o=function(e,t){return function(e,t){
|
|
613
|
-
;if(null==(o=e.data)||"object"!=typeof o||"2.0"!==o.jsonrpc)return;var o;if(!n.includes(e.origin))return void xv(`Ignoring JSON-RPC request from non-whitelisted origin ${e.origin}`);const i=e.data;e.source.postMessage(function(e){const t=r[e.method];if(void 0===t)return{jsonrpc:"2.0",id:e.id,error:{code:-32601,message:"Method not found"}};e.params?t(...e.params):t();return{jsonrpc:"2.0",result:"ok",id:e.id}}(i),e.origin)}Sv.forEach((e=>{o(e)})),Sv=[],window.removeEventListener("message",Tv),n.addEventListener("message",o)}function Tv(e){Sv.push(e)}Ev.$inject=["store","settings","$window"];class Cv{constructor(e){j(this,"_api",void 0),this._api=e}trackEvent(e){
|
|
614
|
-
n=new Date(t.created).toISOString();break;case"update":n=new Date(t.updated).toISOString();break;default:n=(new Date).toISOString()}const r={date:n,annotation:{id:t.id,isShared:fs(t.permissions)}};this._reportConfig.events.includes(e)&&function(e,t,n,r=[]){const o={jsonrpc:"2.0",method:n,params:r};e.postMessage(o,t)}(this._rpc.targetFrame,this._rpc.origin,this._reportConfig.method,[e,r])}}Mv.$inject=["settings"];class Iv{constructor(e,t,n,r){j(this,"_activity",void 0),j(this,"_api",void 0),j(this,"_settings",void 0),j(this,"_store",void 0),this._activity=e,this._api=t,this._settings=n,this._store=r}_applyDraftChanges(e){const t={},n=this._store.getDraft(e)
|
|
615
|
-
;if(!i)throw new Error("Cannot create annotation when logged out");const a=o.user_info,s=`s:${pv(8)}`,l=Object.assign({created:t.toISOString(),group:r,permissions:ps(i,r,n),tags:[],text:"",updated:t.toISOString(),user:i,user_info:a,$tag:s,hidden:!1,links:{},document:{title:""}},e);return Vo(l)&&(l.permissions=hs(i)),this._settings.annotationMetadata&&(l.metadata={...this._settings.annotationMetadata}),l}create(e,t=new Date){const n=this.annotationFromData(e,t);this._store.addAnnotations([n]),this._store.deleteNewAndEmptyDrafts(),Vo(n)||this._store.createDraft(n,{tags:n.tags,text:n.text,isPrivate:!$o(n)}),Yo(n)?this._store.selectTab("note"):Ko(n)&&this._store.selectTab("annotation"),
|
|
616
|
-
this._activity.reportActivity("delete",e),this._store.removeAnnotations([e])}async flag(e){await this._api.annotation.flag({id:e.id}),this._activity.reportActivity("flag",e),this._store.updateFlagStatus(e.id,!0)}reply(e,t){const n={group:e.group,permissions:$o(e)?ms(t,e.group):hs(t),references:(e.references||[]).concat(e.id),target:[{source:e.target[0].source}],uri:e.uri};this.create(n)}async save(e){let t,n;const r=this._applyDraftChanges(e);let o;Ho(e)?(t=this._api.annotation.update({id:e.id},r),n="update"):(t=this._api.annotation.create({},r),n="create"),this._store.annotationSaveStarted(e);try{o=await t,this._activity.reportActivity(n,o)}finally{
|
|
617
|
-
var Ov=/^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,Lv=/[\s\n\\/='"\0<>]/,Rv=/^(xlink|xmlns|xml)([A-Z])/,Pv=/^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/,Dv=/^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/,Fv=/["&<]/;function Bv(e){if(0===e.length||!1===Fv.test(e))return e;for(var t=0,n=0,r="",o="";n<e.length;n++){
|
|
618
|
-
},$v={},qv=new Set(["animation-iteration-count","border-image-outset","border-image-slice","border-image-width","box-flex","box-flex-group","box-ordinal-group","column-count","fill-opacity","flex","flex-grow","flex-negative","flex-order","flex-positive","flex-shrink","flood-opacity","font-weight","grid-column","grid-row","line-clamp","line-height","opacity","order","orphans","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","widows","z-index","zoom"]),Uv=/[A-Z]/g;function Gv(e){var t="";for(var n in e){var r=e[n];if(null!=r&&""!==r){
|
|
619
|
-
var i=r.__s;r.__s=!0;try{return Jv(e,t||{},n,o)}finally{r.__c&&r.__c(e,Xv),r.__s=i,Xv.length=0}}function Jv(e,t,n,o,i,a){if(null==e||"boolean"==typeof e)return"";if("object"!=typeof e)return"function"==typeof e?"":Bv(e+"");var s=n.pretty,l=s&&"string"==typeof s?s:"\t";if(Array.isArray(e)){for(var c="",u=0;u<e.length;u++)s&&u>0&&(c+="\n"),c+=Jv(e[u],t,n,o,i,a);return c}if(void 0!==e.constructor)return"";r.__b&&r.__b(e);var d,h=e.type,m=e.props,p=!1;if("function"==typeof h){if(p=!0,!n.shallow||!o&&!1!==n.renderRootComponent){if(h===y){var f=[];return Vv(f,e.props.children),
|
|
620
|
-
h.getDerivedStateFromProps?v.state=Object.assign({},v.state,h.getDerivedStateFromProps(v.props,v.state)):v.componentWillMount&&(v.componentWillMount(),v.state=v._nextState!==v.state?v._nextState:v.__s!==v.state?v.__s:v.state),b&&b(e),g=v.render(v.props,v.state,v.context);else for(var k=0;v.__d&&k++<25;)v.__d=!1,b&&b(e),g=h.call(e.__c,m,_);v.getChildContext&&(t=Object.assign({},t,v.getChildContext()));var N=Jv(g,t,n,!1!==n.shallowHighOrder,i,a);return r.diffed&&r.diffed(e),N}h=(d=h).displayName||d!==Function&&d.name||Zv(d)}var S,A,E="<"+h;if(m){var T=Object.keys(m);n&&!0===n.sortAttributes&&T.sort();for(var C=0;C<T.length;C++){var M=T[C],I=m[M];if("children"!==M){
|
|
621
|
-
}else"acceptCharset"===M?M="accept-charset":"httpEquiv"===M?M="http-equiv":Rv.test(M)?M=M.replace(Rv,"$1:$2").toLowerCase():i?Dv.test(M)&&(M="panose1"===M?"panose-1":M.replace(/([A-Z])/g,"-$1").toLowerCase()):Pv.test(M)&&(M=M.toLowerCase());if("htmlFor"===M){if(m.for)continue;M="for"}"style"===M&&I&&"object"==typeof I&&(I=Gv(I)),"a"===M[0]&&"r"===M[1]&&"boolean"==typeof I&&(I=String(I));var z=n.attributeHook&&n.attributeHook(M,I,t,n,p);if(z||""===z)E+=z;else if("dangerouslySetInnerHTML"===M)A=I&&I.__html;else if("textarea"===h&&"value"===M)S=I;else if((I||0===I||""===I)&&"function"!=typeof I){if(!(!0!==I&&""!==I||(I=M,n&&n.xml))){E=E+" "+M;continue}if("value"===M){if("select"===h){a=I;continue}
|
|
622
|
-
;var L,R=Ov.test(h)||n.voidElements&&n.voidElements.test(h),P=[];if(A)s&&jv(A)&&(A="\n"+l+Hv(A,l)),E+=A;else if(null!=S&&Vv(L=[],S).length){for(var D=s&&~E.indexOf("\n"),F=!1,B=0;B<L.length;B++){var H=L[B];if(null!=H&&!1!==H){var j=Jv(H,t,n,!0,"svg"===h||"foreignObject"!==h&&i,a);if(s&&!D&&jv(j)&&(D=!0),j)if(s){var $=j.length>0&&"<"!=j[0];F&&$?P[P.length-1]+=j:P.push(j),F=$}else P.push(j)}}if(s&&D)for(var q=P.length;q--;)P[q]="\n"+l+Hv(P[q],l)}if(r.diffed&&r.diffed(e),P.length||A)E+=P.join("");else if(n&&n.xml)return E.substring(0,E.length-1)+" />";return!R||L||A?(s&&~E.indexOf("\n")&&(E+="\n"),E=E+"</"+h+">"):E=E.replace(/>$/," />"),E}function Zv(e){var t=(Function.prototype.toString.call(e).match(/^\s*function\s+([^( ]+)/)||"")[1];if(!t){
|
|
623
|
-
;const nb=Object.prototype.toString,rb=Date.prototype.toISOString,ob=Error.prototype.toString,ib=RegExp.prototype.toString,ab=Symbol.prototype.toString,sb=/^Symbol\((.*)\)(.*)$/,lb=/\n/gi,cb=Object.getOwnPropertySymbols||(e=>[]);function ub(e){return"[object Array]"===e||"[object ArrayBuffer]"===e||"[object DataView]"===e||"[object Float32Array]"===e||"[object Float64Array]"===e||"[object Int8Array]"===e||"[object Int16Array]"===e||"[object Int32Array]"===e||"[object Uint8Array]"===e||"[object Uint8ClampedArray]"===e||"[object Uint16Array]"===e||"[object Uint32Array]"===e}function db(e){return""===e.name?"[Function anonymous]":"[Function "+e.name+"]"}function hb(e){return ab.call(e).replace(sb,"Symbol($1)")}function mb(e){return"["+ob.call(e)+"]"}function pb(e){if(!0===e||!1===e)return""+e;if(void 0===e)return"undefined"
|
|
624
|
-
;if("symbol"===t)return hb(e);const n=nb.call(e);return"[object WeakMap]"===n?"WeakMap {}":"[object WeakSet]"===n?"WeakSet {}":"[object Function]"===n||"[object GeneratorFunction]"===n?db(e,min):"[object Symbol]"===n?hb(e):"[object Date]"===n?rb.call(e):"[object Error]"===n?mb(e):"[object RegExp]"===n?ib.call(e):"[object Arguments]"===n&&0===e.length?"Arguments []":ub(n)&&0===e.length?e.constructor.name+" []":e instanceof Error&&mb(e)}function fb(e,t,n,r,o,i,a,s,l,c){let u="";if(e.length){u+=o;const d=n+t;for(let n=0;n<e.length;n++)u+=d+bb(e[n],t,d,r,o,i,a,s,l,c),n<e.length-1&&(u+=","+r);u+=o+n}return"["+u+"]"}function gb(e,t,n,r,o,i,a,s,l,c){if((i=i.slice()).indexOf(e)>-1)return"[Circular]";i.push(e);const u=++s>a;if(!u&&e.toJSON&&"function"==typeof e.toJSON)return bb(e.toJSON(),t,n,r,o,i,a,s,l,c);const d=nb.call(e)
|
|
625
|
-
}(e,t,n,r,o,i,a,s,l,c):ub(d)?u?"[Array]":function(e,t,n,r,o,i,a,s,l,c){return(c?"":e.constructor.name+" ")+fb(e,t,n,r,o,i,a,s,l,c)}(e,t,n,r,o,i,a,s,l,c):"[object Map]"===d?u?"[Map]":function(e,t,n,r,o,i,a,s,l,c){let u="Map {";const d=e.entries();let h=d.next();if(!h.done){u+=o;const e=n+t;for(;!h.done;)u+=e+bb(h.value[0],t,e,r,o,i,a,s,l,c)+" => "+bb(h.value[1],t,e,r,o,i,a,s,l,c),h=d.next(),h.done||(u+=","+r);u+=o+n}return u+"}"}(e,t,n,r,o,i,a,s,l,c):"[object Set]"===d?u?"[Set]":function(e,t,n,r,o,i,a,s,l,c){let u="Set {";const d=e.entries();let h=d.next();if(!h.done){u+=o;const e=n+t;for(;!h.done;)u+=e+bb(h.value[1],t,e,r,o,i,a,s,l,c),h=d.next(),h.done||(u+=","+r);u+=o+n}return u+"}"}(e,t,n,r,o,i,a,s,l,c):"object"==typeof e?u?"[Object]":function(e,t,n,r,o,i,a,s,l,c){let u=(c?"":e.constructor?e.constructor.name+" ":"Object ")+"{",d=Object.keys(e).sort();const h=cb(e)
|
|
626
|
-
;for(let n=0;n<d.length;n++){const m=d[n];u+=h+bb(m,t,h,r,o,i,a,s,l,c)+": "+bb(e[m],t,h,r,o,i,a,s,l,c),n<d.length-1&&(u+=","+r)}u+=o+n}return u+"}"}(e,t,n,r,o,i,a,s,l,c):void 0}function vb(e,t,n,r,o,i,a,s,l,c){let u,d=!1;for(let t=0;t<l.length;t++)if(u=l[t],u.test(e)){d=!0;break}return!!d&&u.print(e,(function(e){return bb(e,t,n,r,o,i,a,s,l,c)}),(function(e){const r=n+t;return r+e.replace(lb,"\n"+r)}),{edgeSpacing:o,spacing:r})}function bb(e,t,n,r,o,i,a,s,l,c){return pb(e)||vb(e,t,n,r,o,i,a,s,l,c)||gb(e,t,n,r,o,i,a,s,l,c)}const _b={indent:2,min:!1,maxDepth:1/0,plugins:[]};function yb(e){return new Array(e+1).join(" ")}var wb=function(e,t){let n,r;t?(function(e){if(Object.keys(e).forEach((e=>{if(!_b.hasOwnProperty(e))throw new Error("prettyFormat: Invalid option: "+e)})),e.min&&void 0!==e.indent&&0!==e.indent)throw new Error("prettyFormat: Cannot run with min option and indent")}(t),
|
|
627
|
-
;const o=t.min?" ":"\n",i=t.min?"":"\n";if(t&&t.plugins.length){n=yb(t.indent),r=[];var a=vb(e,n,"",o,i,r,t.maxDepth,0,t.plugins,t.min);if(a)return a}return pb(e)||(n||(n=yb(t.indent)),r||(r=[]),gb(e,n,"",o,i,r,t.maxDepth,0,t.plugins,t.min))},xb={test:function(e){return e&&"object"==typeof e&&"type"in e&&"props"in e&&"key"in e},print:function(e,t,n){return Qv(e,xb.context,xb.opts,!0)}},kb={plugins:[xb]},Nb={attributeHook:function(e,t,n,r,o){var i=typeof t;if("dangerouslySetInnerHTML"===e)return!1;if(null==t||"function"===i&&!r.functions)return"";if(r.skipFalseAttributes&&!o&&(!1===t||("class"===e||"style"===e)&&""===t))return"";var a="string"==typeof r.pretty?r.pretty:"\t";return"string"!==i?("function"!==i||r.functionNames?(xb.context=n,xb.opts=r,~(t=wb(t,kb)).indexOf("\n")&&(t=Hv("\n"+t,a)+"\n")):t="Function",Hv("\n"+e+"={"+t+"}",a)):"\n"+a+e+'="'+Bv(t)+'"'},jsx:!0,xml:!1,
|
|
628
|
-
;return e.replace(n,"")}function Ab(e,...t){return n=function(e,...t){const n=e.join("").match(/^[ \t]*(?=\S)/gm),r=n?Math.min(...n.map((e=>e.length))):0;let o="";for(const[n,i]of t.entries())o+=Sb(e[n],r),o+=i;return o+Sb(e[e.length-1],r)}([...e],...t),n.replace(/^\s*\n|\n\s*$/g,"");var n}function Eb(e){const t={};for(const[n,r]of Object.entries(e))n.startsWith("$")||(t[n]=r);return t}let Tb,Cb,Mb=e=>e;class Ib{buildJSONExportContent(e,{profile:t,now:n=new Date}){var r;const o=new Lf(t,[]);return{export_date:n.toISOString(),export_userid:null!==(r=t.userid)&&void 0!==r?r:"",client_version:o.version,annotations:e.map(Eb)}}buildTextExportContent(e,{groupName:t="",displayNamesEnabled:n=!1,defaultAuthority:r="",now:o=new Date}={}){const{uri:i,title:a,uniqueUsers:s,replies:l,extractUsername:c}=this._exportCommon(e,{displayNamesEnabled:n,defaultAuthority:r}),u=e.map(((e,t)=>{
|
|
602
|
+
onExpandGroup:f,heading:"Featured Groups",groups:c}),l.length>0&&Fe(Zg,{expandedGroup:p,onExpandGroup:f,heading:"My Groups",groups:l}),h&&Fe(mp,{icon:En,href:m,label:"New private group"})]})}),["settings"]);function tv(){const e=La(),t=e.sortKey(),n=e.sortKeys().map((n=>Fe(mp,{label:n,onClick:()=>e.setSortKey(n),isSelected:n===t},n))),r=Fe("span",{className:"p-1",children:Fe(Kn,{})});return Fe("div",{"data-component":"SortMenu",children:Fe(dp,{label:r,title:`Sort by ${t}`,align:"right",menuIndicator:!1,children:n})})}function nv({classes:e,...t}){return Fe(ar,{...t,classes:Re(e,"border border-transparent","aria-pressed:border-grey-3 aria-pressed:bg-grey-1")})}function rv(e){return Fe(nv,{size:"custom",classes:"touch:min-w-touch-minimum p-1",...e})}var ov=no((function({dashboard:e,isMenuOpen:t,toastMessenger:n}){const[r,o]=se(),i=!r,a=me((()=>{"string"!=typeof r?r&&n.error("Can't open dashboard: You must reload the page.",{autoDismiss:!1}):e.open(r)}),[r,e,n])
|
|
603
|
+
;return ce((()=>(t&&e.getAuthToken().then(o).catch((e=>{console.warn("An error occurred while getting auth token",e),o(e)})),()=>o(void 0))),[e,t]),Fe(mp,{label:"Open dashboard",isDisabled:i,onClick:a})}),["dashboard","toastMessenger"]);var iv=no((function({frameSync:e,onLogout:t,settings:n}){var r,o,i;const a=La(),s=a.defaultAuthority(),l=a.profile(),c=cs(l.userid,s),u=Qr(n),d=ls(l.userid),h=null!==(r=null===(o=l.user_info)||void 0===o?void 0:o.display_name)&&void 0!==r?r:d,[m,p]=se(!1),f=e=>u&&!!u[e],g=!c||f("onProfileRequestProvided"),v=!c||f("onLogoutRequestProvided"),b=a.importsPending()>0,_=a.isFeatureEnabled("client_user_profile"),y=()=>{e.notifyHost("openNotebook",a.focusedGroupId())},w=()=>e.notifyHost("openProfile"),x=g&&!c?a.getLink("user",{user:d}):void 0,k=Fe("span",{className:"p-1",children:Fe(On,{})});return Fe("div",{"data-testid":"user-menu",onKeyDown:e=>{"n"===e.key?(y(),p(!1)):_&&"p"===e.key&&(w(),p(!1))},children:Fe(dp,{label:k,title:h,align:"right",open:m,onOpenChanged:p,children:[Fe(Qg,{
|
|
604
|
+
children:[Fe(mp,{label:h,isDisabled:!g,href:x,onClick:g?()=>c&&e.notifyHost("profileRequested"):void 0}),!c&&Fe(mp,{label:"Account settings",href:a.getLink("account.settings")}),_&&Fe(mp,{label:"Your profile",onClick:()=>w()}),Fe(mp,{label:"Open notebook",onClick:()=>y()})]}),(null===(i=n.dashboard)||void 0===i?void 0:i.showEntryPoint)&&Fe(Qg,{children:Fe(ov,{isMenuOpen:m})}),v&&Fe(Qg,{children:Fe(mp,{isDisabled:b,label:"Log out",onClick:t})})]})})}),["frameSync","settings"]);function av(){const e=La(),t=e.isLoading(),n=e.isSidebarPanelOpen("searchAnnotations"),r=me((()=>{e.toggleSidebarPanel("searchAnnotations")}),[e]);return function(e){const t=de(null),n=me((n=>{!n.metaKey&&!n.ctrlKey&&n.target instanceof HTMLElement&&["INPUT","TEXTAREA"].includes(n.target.tagName)||(t.current=document.activeElement,e.isSidebarPanelOpen("searchAnnotations")||(e.openSidebarPanel("searchAnnotations"),n.preventDefault(),n.stopPropagation()))}),[e]),r=vs()?"meta":"ctrl";pg("/",n),pg(`${r}+k`,n)}(e),Fe(y,{
|
|
605
|
+
children:[t&&Fe(Or,{}),!t&&Fe(rv,{icon:jn,expanded:n,pressed:n,onClick:r,title:"Search annotations"})]})}function sv({classes:e,disabled:t=!1,inputRef:n,onClearSearch:r,onKeyDown:o,onSearch:i,query:a}){const s=La().isLoading(),l=ze(n),[c,u]=se(a),[d,h]=se(a);pg("/",(e=>{var t;document.activeElement!==l.current&&(e.preventDefault(),null===(t=l.current)||void 0===t||t.focus())}));return a!==c&&(h(a),u(a)),Fe("form",{name:"searchForm",onSubmit:e=>{var t,n,r;(e.preventDefault(),null!==(t=l.current)&&void 0!==t&&t.value||c)&&i(null!==(n=null===(r=l.current)||void 0===r?void 0:r.value)&&void 0!==n?n:"")},className:Re("space-y-3",e),children:Fe("div",{className:"relative",children:[Fe(ar,{classes:"absolute left-0 text-[16px] top-[50%] translate-y-[-50%]",icon:jn,size:"lg",title:"Search",type:"submit",disabled:t}),Fe(Sr,{"aria-label":"Search annotations",classes:Re("pl-8 pr-8","disabled:text-grey-6","text-base touch:text-touch-base"),"data-testid":"search-input",dir:"auto",name:"query",
|
|
606
|
+
placeholder:s?"Loading…":"Search annotations…",disabled:t||s,elementRef:l,value:d||"",onInput:e=>h(e.target.value),onKeyDown:o}),d&&Fe(ar,{classes:"absolute right-0 text-[16px] top-[50%] translate-y-[-50%]",size:"lg",icon:ot,"data-testid":"clear-button",title:"Clear search",onClick:r,disabled:t})]})})}var lv=no((function({router:e}){const t=La(),{q:n}=t.routeParams(),r=t=>{e.navigate("stream",{q:t})};return Fe(sv,{query:null!=n?n:"",onSearch:r,onClearSearch:()=>r("")})}),["router"]);var cv=no((function({isSidebar:e,onLogin:t,onLogout:n,onSignUp:r,frameSync:o,settings:i}){const a=eo(["accentColor"],i),s=La(),l=s.isLoggedIn(),c=s.hasFetchedProfile(),u=s.isFeatureEnabled("pending_updates_notification"),d=s.isSidebarPanelOpen("help"),h=s.isSidebarPanelOpen("shareGroupAnnotations");return Fe("div",{className:Re("absolute h-10 left-0 top-0 right-0 z-4","text-grey-7 border-b theme-clean:border-b-0 bg-white"),"data-testid":"top-bar",children:Fe("div",{className:Re("container flex items-center h-full","text-[16px]"),
|
|
607
|
+
"data-testid":"top-bar-content",children:[Fe(e?ev:lv,{}),Fe("div",{className:"grow flex items-center justify-end",children:[e&&Fe(y,{children:[!u&&Fe(fg,{}),Fe(av,{}),Fe(tv,{}),Fe(rv,{icon:qn,expanded:h,pressed:h,onClick:()=>{s.toggleSidebarPanel("shareGroupAnnotations")},title:"Share annotations on this page","data-testid":"share-icon-button"})]}),Fe(rv,{icon:en,expanded:d,pressed:d,onClick:()=>{const e=Qr(i);e&&e.onHelpRequestProvided?o.notifyHost("helpRequested"):s.toggleSidebarPanel("help")},title:"Help","data-testid":"help-icon-button"}),l?Fe(iv,{onLogout:n}):Fe("div",{className:"flex items-center text-md font-medium space-x-1 pl-1","data-testid":"login-links",children:[!l&&!c&&Fe("span",{children:"⋯"}),!l&&c&&Fe(y,{children:[Fe(qr,{classes:"inline",onClick:r,style:a,underline:"none",children:"Sign up"}),Fe("div",{children:"/"}),Fe(qr,{classes:"inline",onClick:t,style:a,underline:"none",children:"Log in"})]})]})]})]})})}),["frameSync","settings"]);function uv(){
|
|
608
|
+
const e=La(),t=e.filterQuery(),n=de(null),r=e.hasSelectedAnnotations(),o=()=>{e.closeSidebarPanel("searchAnnotations")};return Fe(Gf,{panelName:"searchAnnotations",variant:"custom",title:"Search annotations",initialFocus:n,onActiveChanged:t=>{t||e.setFilterQuery(null)},children:Fe(Ve,{children:Fe(Xe,{children:[Fe("div",{className:"flex gap-x-3",children:Fe(sv,{inputRef:n,classes:"grow",disabled:r,query:t||null,onClearSearch:o,onSearch:e.setFilterQuery,onKeyDown:e=>{"Escape"===e.key&&o()}})}),Fe(qg,{})]})})})}var dv=no((function({auth:e,frameSync:t,settings:n,session:r,toastMessenger:o}){const i=La(),a=i.profile(),s=i.route(),l="notebook"===s||"profile"===s,c=he((()=>eo(["appBackgroundColor"],n)),[n]),u="clean"===n.theme,d="sidebar"===s;ce((()=>{(function(e,t,n){const r="object"==typeof t.preferences&&!!t.preferences.show_sidebar_tutorial,o=Qr(n)||{onHelpRequestProvided:!1};return e&&!o.onHelpRequestProvided&&r})(d,a,n)&&i.openSidebarPanel("help")}),[d,a,n,i]);const h=Jr(n),m=async()=>{
|
|
609
|
+
if(Qr(n))t.notifyHost("loginRequested");else try{await e.login(),i.closeSidebarPanel("loginPrompt"),i.clearGroups(),r.reload()}catch(e){o.error(e.message)}},p=()=>{Qr(n)?t.notifyHost("signupRequested"):window.open(i.getLink("signup"))};return Fe("div",{className:Re("h-full min-h-full overflow-auto","lg:pb-16 bg-grey-2","js-thread-list-scroll-root",{"theme-clean":u,"pt-[49px]":!l,"p-4 lg:p-12":l}),"data-testid":"hypothesis-app",style:c,children:[!l&&Fe(cv,{onLogin:m,onSignUp:p,onLogout:async()=>{await(async()=>{const e=i.countDrafts();if(0===e)return!0;let t="";return 1===e?t="You have an unsaved annotation.\nDo you really want to discard this draft?":e>1&&(t="You have "+e+" unsaved annotations.\nDo you really want to discard these drafts?"),yr({title:"Discard drafts?",message:t,confirmAction:"Discard"})})()&&(i.clearGroups(),i.removeAnnotations(i.unsavedAnnotations()),i.discardAllDrafts(),Qr(n)?t.notifyHost("logoutRequested"):r.logout())},isSidebar:d}),Fe("div",{className:"container",
|
|
610
|
+
children:[Fe(Vg,{}),Fe(Zf,{}),Fe(uv,{}),Fe(Lg,{shareTab:!h}),s&&Fe("main",{children:["annotation"===s&&Fe(Of,{onLogin:m}),"notebook"===s&&Fe(_g,{}),"profile"===s&&Fe(wg,{}),"stream"===s&&Fe(Gg,{}),"sidebar"===s&&Fe(Ug,{onLogin:m,onSignUp:p})]})]})]})}),["auth","frameSync","session","settings","toastMessenger"]);function hv({error:e}){return Fe("div",{className:Re("m-2 mt-12"),children:Fe(pr,{title:"Unable to start Hypothesis",children:e.message})})}function mv(e){const t=e.toString(16);return 1===t.length?"0"+t:t}function pv(e){const t=new Uint8Array(e/2);return window.crypto.getRandomValues(t),Array.from(t).map(mv).join("")}function fv(e,t,n,r=[],o=2e3,i=window){const a=pv(10),s={jsonrpc:"2.0",method:n,params:r,id:a};try{e.postMessage(s,t)}catch(e){return Promise.reject(e)}let l;const c=new Promise(((e,n)=>{l=r=>{if(r.origin!==t)return;if(!(r.data instanceof Object)||"2.0"!==r.data.jsonrpc||r.data.id!==a)return;const{error:o,result:i}=r.data
|
|
611
|
+
;void 0!==o?n(o):void 0!==i?e(i):n(new Error("RPC reply had no result or error"))},i.addEventListener("message",l)})),u=[c];var d,h;return o&&u.push((d=o,h=`Request to ${t} timed out`,new Promise(((e,t)=>{setTimeout((()=>t(new Error(h))),d)})))),Promise.race(u).then((e=>(i.removeEventListener("message",l),e))).catch((e=>{throw i.removeEventListener("message",l),e}))}function gv(e){const t=new URL(e).hash.slice(1),n=new URLSearchParams(t).get("config");return JSON.parse(n||"{}")}function vv(e){if("string"==typeof e&&"false"===e.trim().toLocaleLowerCase())return!1;const t=Number(e);return isNaN(t)?"string"==typeof e:Boolean(t)}function bv(e){return parseInt(e)}function _v(e){return e&&"function"==typeof e.toString?e.toString():""}function yv(e,t=window){let n=t;for(let t=0;t<e;t++){if(n===n.top)throw new Error("The target parent frame has exceeded the ancestor tree. Try reducing the `requestConfigFromFrame.ancestorLevel` value in the `hypothesisConfig`");n=n.parent}return n}const wv=new Set;function xv(...e){
|
|
612
|
+
const t=e.join();wv.has(t)||(console.warn(...e),wv.add(t))}xv.reset=()=>{wv.clear()};var kv=t((e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}));function Nv(e,t,n,r){const o=t.find((e=>"__world__"===e.id));o&&e.unshift(o);const i=e.map((e=>e.id));t=t.filter((e=>!i.includes(e.id))),t.forEach((e=>e.isMember=!1)),e.forEach((e=>e.isMember=!0));const a=e.concat(t);return a.forEach((e=>{e.canLeave=!!function(e){const t=Qr(e);return!t||!!t.allowLeavingGroups}(r)&&"private"===e.type})),a.forEach((e=>e.isScopedToUri=function(e,t){if(e.scopes&&e.scopes.uri_patterns.length>0&&t)return function(e,t){return t.some((t=>e.match(t.split("*").map(kv).join(".*"))))}(t,e.scopes.uri_patterns);return!0}(e,n))),a}let Sv=[];const Av=e=>({changeFocusModeUser:t=>{var n;e.changeFocusModeUser(t);const r=null!==(n=null==t?void 0:t.groups)&&void 0!==n?n:[],o=function(e,t){return function(e,t){
|
|
613
|
+
return t.filter((t=>e.includes(t.id)||t.groupid&&e.includes(t.groupid)))}(e,t).map((e=>e.id))}(r,e.allGroups());r.length&&!o.length&&console.error("No matching groups found in list of filtered group IDs"),e.filterGroups(o)},showContentInfo:t=>{e.setContentInfo(t)}});function Ev(e,t,n){const r=Av(e);function o(e){const n=t.rpcAllowedOrigins||[];if(null==(o=e.data)||"object"!=typeof o||"2.0"!==o.jsonrpc)return;var o;if(!n.includes(e.origin))return void xv(`Ignoring JSON-RPC request from non-whitelisted origin ${e.origin}`);const i=e.data;e.source.postMessage(function(e){const t=r[e.method];if(void 0===t)return{jsonrpc:"2.0",id:e.id,error:{code:-32601,message:"Method not found"}};e.params?t(...e.params):t();return{jsonrpc:"2.0",result:"ok",id:e.id}}(i),e.origin)}Sv.forEach((e=>{o(e)})),Sv=[],window.removeEventListener("message",Tv),n.addEventListener("message",o)}function Tv(e){Sv.push(e)}Ev.$inject=["store","settings","$window"];class Cv{constructor(e){j(this,"_api",void 0),this._api=e}trackEvent(e){
|
|
614
|
+
this._api.analytics.events.create({},{event:e}).catch((t=>console.warn(`Could not track event "${e}"`,t)))}}Cv.$inject=["api"];class Mv{constructor(e){j(this,"_rpc",void 0),j(this,"_reportConfig",void 0),this._rpc=e.rpc,this._reportConfig=e.reportActivity}reportActivity(e,t){if(!this._rpc||!this._reportConfig)return;let n;switch(e){case"create":n=new Date(t.created).toISOString();break;case"update":n=new Date(t.updated).toISOString();break;default:n=(new Date).toISOString()}const r={date:n,annotation:{id:t.id,isShared:fs(t.permissions)}};this._reportConfig.events.includes(e)&&function(e,t,n,r=[]){const o={jsonrpc:"2.0",method:n,params:r};e.postMessage(o,t)}(this._rpc.targetFrame,this._rpc.origin,this._reportConfig.method,[e,r])}}Mv.$inject=["settings"];class Iv{constructor(e,t,n,r){j(this,"_activity",void 0),j(this,"_api",void 0),j(this,"_settings",void 0),j(this,"_store",void 0),this._activity=e,this._api=t,this._settings=n,this._store=r}_applyDraftChanges(e){const t={},n=this._store.getDraft(e)
|
|
615
|
+
;return n&&(t.tags=n.tags,t.text=n.text,t.permissions=n.isPrivate?hs(e.user):ms(e.user,e.group)),{...e,...t}}annotationFromData(e,t=new Date){const n=this._store.getDefault("annotationPrivacy"),r=this._store.focusedGroupId(),o=this._store.profile();if(!r)throw new Error("Cannot create annotation without a group");const i=o.userid;if(!i)throw new Error("Cannot create annotation when logged out");const a=o.user_info,s=`s:${pv(8)}`,l=Object.assign({created:t.toISOString(),group:r,permissions:ps(i,r,n),tags:[],text:"",updated:t.toISOString(),user:i,user_info:a,$tag:s,hidden:!1,links:{},document:{title:""}},e);return Vo(l)&&(l.permissions=hs(i)),this._settings.annotationMetadata&&(l.metadata={...this._settings.annotationMetadata}),l}create(e,t=new Date){const n=this.annotationFromData(e,t);this._store.addAnnotations([n]),this._store.deleteNewAndEmptyDrafts(),Vo(n)||this._store.createDraft(n,{tags:n.tags,text:n.text,isPrivate:!$o(n)}),Yo(n)?this._store.selectTab("note"):Ko(n)&&this._store.selectTab("annotation"),
|
|
616
|
+
(n.references||[]).forEach((e=>{this._store.setExpanded(e,!0)}))}createPageNote(){const e=this._store.mainFrame();if(!this._store.isLoggedIn())return void this._store.openSidebarPanel("loginPrompt");if(!e)return;const t={target:[{source:e.uri}],uri:e.uri};this.create(t)}async delete(e){await this._api.annotation.delete({id:e.id}),this._activity.reportActivity("delete",e),this._store.removeAnnotations([e])}async flag(e){await this._api.annotation.flag({id:e.id}),this._activity.reportActivity("flag",e),this._store.updateFlagStatus(e.id,!0)}reply(e,t){const n={group:e.group,permissions:$o(e)?ms(t,e.group):hs(t),references:(e.references||[]).concat(e.id),target:[{source:e.target[0].source}],uri:e.uri};this.create(n)}async save(e){let t,n;const r=this._applyDraftChanges(e);let o;Ho(e)?(t=this._api.annotation.update({id:e.id},r),n="update"):(t=this._api.annotation.create({},r),n="create"),this._store.annotationSaveStarted(e);try{o=await t,this._activity.reportActivity(n,o)}finally{
|
|
617
|
+
this._store.annotationSaveFinished(e)}for(const[t,n]of Object.entries(e))if(t.startsWith("$")){o[t]=n}return this._store.removeDraft(e),this._store.addAnnotations([o]),o}}if(Iv.$inject=["annotationActivity","api","settings","store"],"function"!=typeof Symbol){var zv=0;Symbol=function(e){return"@@"+e+ ++zv},Symbol.for=function(e){return"@@"+e}}var Ov=/^(?:area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,Lv=/[\s\n\\/='"\0<>]/,Rv=/^(xlink|xmlns|xml)([A-Z])/,Pv=/^accessK|^auto[A-Z]|^ch|^col|cont|cross|dateT|encT|form[A-Z]|frame|hrefL|inputM|maxL|minL|noV|playsI|readO|rowS|spellC|src[A-Z]|tabI|item[A-Z]/,Dv=/^ac|^ali|arabic|basel|cap|clipPath$|clipRule$|color|dominant|enable|fill|flood|font|glyph[^R]|horiz|image|letter|lighting|marker[^WUH]|overline|panose|pointe|paint|rendering|shape|stop|strikethrough|stroke|text[^L]|transform|underline|unicode|units|^v[^i]|^w|^xH/,Fv=/["&<]/;function Bv(e){if(0===e.length||!1===Fv.test(e))return e;for(var t=0,n=0,r="",o="";n<e.length;n++){
|
|
618
|
+
switch(e.charCodeAt(n)){case 34:o=""";break;case 38:o="&";break;case 60:o="<";break;default:continue}n!==t&&(r+=e.slice(t,n)),r+=o,t=n+1}return n!==t&&(r+=e.slice(t,n)),r}var Hv=function(e,t){return String(e).replace(/(\n+)/g,"$1"+(t||"\t"))},jv=function(e,t,n){return String(e).length>40||-1!==String(e).indexOf("\n")||-1!==String(e).indexOf("<")},$v={},qv=new Set(["animation-iteration-count","border-image-outset","border-image-slice","border-image-width","box-flex","box-flex-group","box-ordinal-group","column-count","fill-opacity","flex","flex-grow","flex-negative","flex-order","flex-positive","flex-shrink","flood-opacity","font-weight","grid-column","grid-row","line-clamp","line-height","opacity","order","orphans","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","widows","z-index","zoom"]),Uv=/[A-Z]/g;function Gv(e){var t="";for(var n in e){var r=e[n];if(null!=r&&""!==r){
|
|
619
|
+
var o="-"==n[0]?n:$v[n]||($v[n]=n.replace(Uv,"-$&").toLowerCase()),i=";";"number"!=typeof r||o.startsWith("--")||qv.has(o)||(i="px;"),t=t+o+":"+r+i}}return t||void 0}function Vv(e,t){return Array.isArray(t)?t.reduce(Vv,e):null!=t&&!1!==t&&e.push(t),e}function Wv(){this.__d=!0}function Yv(e,t){return{__v:e,context:t,props:e.props,setState:Wv,forceUpdate:Wv,__d:!0,__h:[]}}var Kv=[],Xv=[];function Qv(e,t,n,o){var i=r.__s;r.__s=!0;try{return Jv(e,t||{},n,o)}finally{r.__c&&r.__c(e,Xv),r.__s=i,Xv.length=0}}function Jv(e,t,n,o,i,a){if(null==e||"boolean"==typeof e)return"";if("object"!=typeof e)return"function"==typeof e?"":Bv(e+"");var s=n.pretty,l=s&&"string"==typeof s?s:"\t";if(Array.isArray(e)){for(var c="",u=0;u<e.length;u++)s&&u>0&&(c+="\n"),c+=Jv(e[u],t,n,o,i,a);return c}if(void 0!==e.constructor)return"";r.__b&&r.__b(e);var d,h=e.type,m=e.props,p=!1;if("function"==typeof h){if(p=!0,!n.shallow||!o&&!1!==n.renderRootComponent){if(h===y){var f=[];return Vv(f,e.props.children),
|
|
620
|
+
Jv(f,t,n,!1!==n.shallowHighOrder,i,a)}var g,v=e.__c=Yv(e,t),b=r.__r,_=t,w=h.contextType;if(null!=w){var x=t[w.__c];_=x?x.props.value:w.__}if(h.prototype&&"function"==typeof h.prototype.render)(v=e.__c=new h(m,_)).__v=e,v._dirty=v.__d=!0,v.props=m,null==v.state&&(v.state={}),null==v._nextState&&null==v.__s&&(v._nextState=v.__s=v.state),v.context=_,h.getDerivedStateFromProps?v.state=Object.assign({},v.state,h.getDerivedStateFromProps(v.props,v.state)):v.componentWillMount&&(v.componentWillMount(),v.state=v._nextState!==v.state?v._nextState:v.__s!==v.state?v.__s:v.state),b&&b(e),g=v.render(v.props,v.state,v.context);else for(var k=0;v.__d&&k++<25;)v.__d=!1,b&&b(e),g=h.call(e.__c,m,_);v.getChildContext&&(t=Object.assign({},t,v.getChildContext()));var N=Jv(g,t,n,!1!==n.shallowHighOrder,i,a);return r.diffed&&r.diffed(e),N}h=(d=h).displayName||d!==Function&&d.name||Zv(d)}var S,A,E="<"+h;if(m){var T=Object.keys(m);n&&!0===n.sortAttributes&&T.sort();for(var C=0;C<T.length;C++){var M=T[C],I=m[M];if("children"!==M){
|
|
621
|
+
if(!Lv.test(M)&&(n&&n.allAttributes||"key"!==M&&"ref"!==M&&"__self"!==M&&"__source"!==M)){if("defaultValue"===M)M="value";else if("defaultChecked"===M)M="checked";else if("defaultSelected"===M)M="selected";else if("className"===M){if(void 0!==m.class)continue;M="class"}else"acceptCharset"===M?M="accept-charset":"httpEquiv"===M?M="http-equiv":Rv.test(M)?M=M.replace(Rv,"$1:$2").toLowerCase():i?Dv.test(M)&&(M="panose1"===M?"panose-1":M.replace(/([A-Z])/g,"-$1").toLowerCase()):Pv.test(M)&&(M=M.toLowerCase());if("htmlFor"===M){if(m.for)continue;M="for"}"style"===M&&I&&"object"==typeof I&&(I=Gv(I)),"a"===M[0]&&"r"===M[1]&&"boolean"==typeof I&&(I=String(I));var z=n.attributeHook&&n.attributeHook(M,I,t,n,p);if(z||""===z)E+=z;else if("dangerouslySetInnerHTML"===M)A=I&&I.__html;else if("textarea"===h&&"value"===M)S=I;else if((I||0===I||""===I)&&"function"!=typeof I){if(!(!0!==I&&""!==I||(I=M,n&&n.xml))){E=E+" "+M;continue}if("value"===M){if("select"===h){a=I;continue}
|
|
622
|
+
"option"===h&&a==I&&void 0===m.selected&&(E+=" selected")}E=E+" "+M+'="'+Bv(I+"")+'"'}}}else S=I}}if(s){var O=E.replace(/\n\s*/," ");O===E||~O.indexOf("\n")?s&&~E.indexOf("\n")&&(E+="\n"):E=O}if(E+=">",Lv.test(h))throw new Error(h+" is not a valid HTML tag name in "+E);var L,R=Ov.test(h)||n.voidElements&&n.voidElements.test(h),P=[];if(A)s&&jv(A)&&(A="\n"+l+Hv(A,l)),E+=A;else if(null!=S&&Vv(L=[],S).length){for(var D=s&&~E.indexOf("\n"),F=!1,B=0;B<L.length;B++){var H=L[B];if(null!=H&&!1!==H){var j=Jv(H,t,n,!0,"svg"===h||"foreignObject"!==h&&i,a);if(s&&!D&&jv(j)&&(D=!0),j)if(s){var $=j.length>0&&"<"!=j[0];F&&$?P[P.length-1]+=j:P.push(j),F=$}else P.push(j)}}if(s&&D)for(var q=P.length;q--;)P[q]="\n"+l+Hv(P[q],l)}if(r.diffed&&r.diffed(e),P.length||A)E+=P.join("");else if(n&&n.xml)return E.substring(0,E.length-1)+" />";return!R||L||A?(s&&~E.indexOf("\n")&&(E+="\n"),E=E+"</"+h+">"):E=E.replace(/>$/," />"),E}function Zv(e){var t=(Function.prototype.toString.call(e).match(/^\s*function\s+([^( ]+)/)||"")[1];if(!t){
|
|
623
|
+
for(var n=-1,r=Kv.length;r--;)if(Kv[r]===e){n=r;break}n<0&&(n=Kv.push(e)-1),t="UnnamedComponent"+n}return t}const eb=/(\\|\"|\')/g;var tb=function(e){return e.replace(eb,"\\$1")};const nb=Object.prototype.toString,rb=Date.prototype.toISOString,ob=Error.prototype.toString,ib=RegExp.prototype.toString,ab=Symbol.prototype.toString,sb=/^Symbol\((.*)\)(.*)$/,lb=/\n/gi,cb=Object.getOwnPropertySymbols||(e=>[]);function ub(e){return"[object Array]"===e||"[object ArrayBuffer]"===e||"[object DataView]"===e||"[object Float32Array]"===e||"[object Float64Array]"===e||"[object Int8Array]"===e||"[object Int16Array]"===e||"[object Int32Array]"===e||"[object Uint8Array]"===e||"[object Uint8ClampedArray]"===e||"[object Uint16Array]"===e||"[object Uint32Array]"===e}function db(e){return""===e.name?"[Function anonymous]":"[Function "+e.name+"]"}function hb(e){return ab.call(e).replace(sb,"Symbol($1)")}function mb(e){return"["+ob.call(e)+"]"}function pb(e){if(!0===e||!1===e)return""+e;if(void 0===e)return"undefined"
|
|
624
|
+
;if(null===e)return"null";const t=typeof e;if("number"===t)return function(e){return e!=+e?"NaN":0===e&&1/e<0?"-0":""+e}(e);if("string"===t)return'"'+tb(e)+'"';if("function"===t)return db(e);if("symbol"===t)return hb(e);const n=nb.call(e);return"[object WeakMap]"===n?"WeakMap {}":"[object WeakSet]"===n?"WeakSet {}":"[object Function]"===n||"[object GeneratorFunction]"===n?db(e,min):"[object Symbol]"===n?hb(e):"[object Date]"===n?rb.call(e):"[object Error]"===n?mb(e):"[object RegExp]"===n?ib.call(e):"[object Arguments]"===n&&0===e.length?"Arguments []":ub(n)&&0===e.length?e.constructor.name+" []":e instanceof Error&&mb(e)}function fb(e,t,n,r,o,i,a,s,l,c){let u="";if(e.length){u+=o;const d=n+t;for(let n=0;n<e.length;n++)u+=d+bb(e[n],t,d,r,o,i,a,s,l,c),n<e.length-1&&(u+=","+r);u+=o+n}return"["+u+"]"}function gb(e,t,n,r,o,i,a,s,l,c){if((i=i.slice()).indexOf(e)>-1)return"[Circular]";i.push(e);const u=++s>a;if(!u&&e.toJSON&&"function"==typeof e.toJSON)return bb(e.toJSON(),t,n,r,o,i,a,s,l,c);const d=nb.call(e)
|
|
625
|
+
;return"[object Arguments]"===d?u?"[Arguments]":function(e,t,n,r,o,i,a,s,l,c){return(c?"":"Arguments ")+fb(e,t,n,r,o,i,a,s,l,c)}(e,t,n,r,o,i,a,s,l,c):ub(d)?u?"[Array]":function(e,t,n,r,o,i,a,s,l,c){return(c?"":e.constructor.name+" ")+fb(e,t,n,r,o,i,a,s,l,c)}(e,t,n,r,o,i,a,s,l,c):"[object Map]"===d?u?"[Map]":function(e,t,n,r,o,i,a,s,l,c){let u="Map {";const d=e.entries();let h=d.next();if(!h.done){u+=o;const e=n+t;for(;!h.done;)u+=e+bb(h.value[0],t,e,r,o,i,a,s,l,c)+" => "+bb(h.value[1],t,e,r,o,i,a,s,l,c),h=d.next(),h.done||(u+=","+r);u+=o+n}return u+"}"}(e,t,n,r,o,i,a,s,l,c):"[object Set]"===d?u?"[Set]":function(e,t,n,r,o,i,a,s,l,c){let u="Set {";const d=e.entries();let h=d.next();if(!h.done){u+=o;const e=n+t;for(;!h.done;)u+=e+bb(h.value[1],t,e,r,o,i,a,s,l,c),h=d.next(),h.done||(u+=","+r);u+=o+n}return u+"}"}(e,t,n,r,o,i,a,s,l,c):"object"==typeof e?u?"[Object]":function(e,t,n,r,o,i,a,s,l,c){let u=(c?"":e.constructor?e.constructor.name+" ":"Object ")+"{",d=Object.keys(e).sort();const h=cb(e)
|
|
626
|
+
;if(h.length&&(d=d.filter((e=>!("symbol"==typeof e||"[object Symbol]"===nb.call(e)))).concat(h)),d.length){u+=o;const h=n+t;for(let n=0;n<d.length;n++){const m=d[n];u+=h+bb(m,t,h,r,o,i,a,s,l,c)+": "+bb(e[m],t,h,r,o,i,a,s,l,c),n<d.length-1&&(u+=","+r)}u+=o+n}return u+"}"}(e,t,n,r,o,i,a,s,l,c):void 0}function vb(e,t,n,r,o,i,a,s,l,c){let u,d=!1;for(let t=0;t<l.length;t++)if(u=l[t],u.test(e)){d=!0;break}return!!d&&u.print(e,(function(e){return bb(e,t,n,r,o,i,a,s,l,c)}),(function(e){const r=n+t;return r+e.replace(lb,"\n"+r)}),{edgeSpacing:o,spacing:r})}function bb(e,t,n,r,o,i,a,s,l,c){return pb(e)||vb(e,t,n,r,o,i,a,s,l,c)||gb(e,t,n,r,o,i,a,s,l,c)}const _b={indent:2,min:!1,maxDepth:1/0,plugins:[]};function yb(e){return new Array(e+1).join(" ")}var wb=function(e,t){let n,r;t?(function(e){if(Object.keys(e).forEach((e=>{if(!_b.hasOwnProperty(e))throw new Error("prettyFormat: Invalid option: "+e)})),e.min&&void 0!==e.indent&&0!==e.indent)throw new Error("prettyFormat: Cannot run with min option and indent")}(t),
|
|
627
|
+
t=function(e){const t={};return Object.keys(_b).forEach((n=>t[n]=e.hasOwnProperty(n)?e[n]:_b[n])),t.min&&(t.indent=0),t}(t)):t=_b;const o=t.min?" ":"\n",i=t.min?"":"\n";if(t&&t.plugins.length){n=yb(t.indent),r=[];var a=vb(e,n,"",o,i,r,t.maxDepth,0,t.plugins,t.min);if(a)return a}return pb(e)||(n||(n=yb(t.indent)),r||(r=[]),gb(e,n,"",o,i,r,t.maxDepth,0,t.plugins,t.min))},xb={test:function(e){return e&&"object"==typeof e&&"type"in e&&"props"in e&&"key"in e},print:function(e,t,n){return Qv(e,xb.context,xb.opts,!0)}},kb={plugins:[xb]},Nb={attributeHook:function(e,t,n,r,o){var i=typeof t;if("dangerouslySetInnerHTML"===e)return!1;if(null==t||"function"===i&&!r.functions)return"";if(r.skipFalseAttributes&&!o&&(!1===t||("class"===e||"style"===e)&&""===t))return"";var a="string"==typeof r.pretty?r.pretty:"\t";return"string"!==i?("function"!==i||r.functionNames?(xb.context=n,xb.opts=r,~(t=wb(t,kb)).indexOf("\n")&&(t=Hv("\n"+t,a)+"\n")):t="Function",Hv("\n"+e+"={"+t+"}",a)):"\n"+a+e+'="'+Bv(t)+'"'},jsx:!0,xml:!1,
|
|
628
|
+
functions:!0,functionNames:!0,skipFalseAttributes:!0,pretty:" "};function Sb(e,t){const n=new RegExp(`^ {${t}}`,"gm");return e.replace(n,"")}function Ab(e,...t){return n=function(e,...t){const n=e.join("").match(/^[ \t]*(?=\S)/gm),r=n?Math.min(...n.map((e=>e.length))):0;let o="";for(const[n,i]of t.entries())o+=Sb(e[n],r),o+=i;return o+Sb(e[e.length-1],r)}([...e],...t),n.replace(/^\s*\n|\n\s*$/g,"");var n}function Eb(e){const t={};for(const[n,r]of Object.entries(e))n.startsWith("$")||(t[n]=r);return t}let Tb,Cb,Mb=e=>e;class Ib{buildJSONExportContent(e,{profile:t,now:n=new Date}){var r;const o=new Lf(t,[]);return{export_date:n.toISOString(),export_userid:null!==(r=t.userid)&&void 0!==r?r:"",client_version:o.version,annotations:e.map(Eb)}}buildTextExportContent(e,{groupName:t="",displayNamesEnabled:n=!1,defaultAuthority:r="",now:o=new Date}={}){const{uri:i,title:a,uniqueUsers:s,replies:l,extractUsername:c}=this._exportCommon(e,{displayNamesEnabled:n,defaultAuthority:r}),u=e.map(((e,t)=>{
|
|
629
629
|
const n=ei(e),r=Jo(e),o=[`Created at: ${Ip(new Date(e.created))}`,`Author: ${c(e)}`,n?`Page: ${n}`:void 0,`Type: ${Xo(e)}`,r?`Quote: "${r}"`:void 0,`Comment: ${e.text}`,e.tags.length>0?`Tags: ${e.tags.join(", ")}`:void 0].filter(Boolean);return Ab(Tb||(Tb=Mb`
|
|
630
630
|
Annotation ${0}:
|
|
631
631
|
${0}`),t+1,o.join("\n"))}));return Ab(Cb||(Cb=Mb`
|
|
@@ -642,7 +642,7 @@ const n=ei(e),r=Jo(e),o=[`Created at: ${Ip(new Date(e.created))}`,`Author: ${c(e
|
|
|
642
642
|
}(Fe("html",{lang:"en",children:[Fe("head",{children:[Fe("title",{children:`Annotations on "${a}"`}),Fe("meta",{charSet:"UTF-8"})]}),Fe("body",{children:[Fe("section",{children:[Fe("h1",{children:"Summary"}),Fe("p",{children:Fe("time",{dateTime:o.toISOString(),children:Ip(o)})}),Fe("p",{children:Fe("strong",{children:a})}),Fe("p",{children:Fe("a",{href:i,target:"_blank",rel:"noopener noreferrer",children:i})}),Fe("table",{children:Fe("tbody",{style:{verticalAlign:"top"},children:[Fe("tr",{children:[Fe("td",{children:"Group:"}),Fe("td",{children:t})]}),Fe("tr",{children:[Fe("td",{children:"Total users:"}),Fe("td",{children:s.length})]}),Fe("tr",{children:[Fe("td",{children:"Users:"}),Fe("td",{children:s.join(", ")})]}),Fe("tr",{children:[Fe("td",{children:"Total annotations:"}),Fe("td",{children:e.length})]}),Fe("tr",{children:[Fe("td",{children:"Total replies:"}),Fe("td",{children:l.length})]})]})})]}),Fe("hr",{}),Fe("section",{children:[Fe("h1",{children:"Annotations"}),e.map(((e,t)=>{
|
|
643
643
|
const n=ei(e),r=Jo(e),o=Dm(e.text),i=o===`<p>${e.text}</p>`?e.text:o;return Fe("article",{children:[Fe("h2",{children:["Annotation ",t+1,":"]}),Fe("table",{children:Fe("tbody",{style:{verticalAlign:"top"},children:[Fe("tr",{children:[Fe("td",{children:"Created at:"}),Fe("td",{children:Fe("time",{dateTime:e.created,children:Ip(new Date(e.created))})})]}),Fe("tr",{children:[Fe("td",{children:"Author:"}),Fe("td",{children:c(e)})]}),n&&Fe("tr",{children:[Fe("td",{children:"Page:"}),Fe("td",{children:n})]}),Fe("tr",{children:[Fe("td",{children:"Type:"}),Fe("td",{children:Xo(e)})]}),r&&Fe("tr",{children:[Fe("td",{children:"Quote:"}),Fe("td",{children:Fe("blockquote",{style:{margin:0},children:r})})]}),Fe("tr",{children:[Fe("td",{children:"Comment:"}),Fe("td",{dangerouslySetInnerHTML:{__html:i}})]}),e.tags.length>0&&Fe("tr",{children:[Fe("td",{children:"Tags:"}),Fe("td",{children:e.tags.join(", ")})]})]})})]},e.id)}))]})]})]}),{},{pretty:!0}).replace(/\t/g," ")}
|
|
644
644
|
_exportCommon(e,{displayNamesEnabled:t,defaultAuthority:n}){const[r]=e;if(!r)throw new Error("No annotations to export");const o=e=>us(e,n,t),{uri:i,title:a}=Ro(r);return{uri:i,title:a,uniqueUsers:[...new Set(e.map((e=>o(e))).filter(Boolean))],replies:e.filter((e=>Bo(e))),extractUsername:o}}}Ib.$inject=[];class zb extends Error{constructor(e,t,n=""){let r="Network request failed";t&&(r+=` (${t.status})`),n&&(r+=`: ${n}`),super(r),j(this,"url",void 0),j(this,"response",void 0),j(this,"reason",void 0),this.url=e,this.response=t,this.reason=n}}async function Ob(e,t){let n,r;try{n=await fetch(e,t)}catch(t){throw new zb(e,null,t.message)}if(204===n.status)return null;try{r=await n.json()}catch(t){throw new zb(e,n,"Failed to parse response")}var o;if(!n.ok)throw new zb(e,n,null===(o=r)||void 0===o?void 0:o.reason);return r}class Lb{constructor(e,t,n){j(this,"_clientId",void 0),j(this,"search",void 0),j(this,"annotation",void 0),j(this,"group",void 0),j(this,"groups",void 0),j(this,"profile",void 0),
|
|
645
|
-
j(this,"analytics",void 0),this._clientId=null;const r=e.routes(),o=()=>this._clientId,i=e=>function(e,t,{getAccessToken:n,getClientId:r,onRequestStarted:o,onRequestFinished:i}){return async(a,s)=>{o();try{const[o,i]=await Promise.all([e,n()]),l=function(e,t){let n=e;const r=t.split(".");for(const[e,t]of r.entries()){const o=n[t];if(!o||"url"in o){if(o&&e===r.length-1)return o;break}n=o}return null}(o,t);if(!l)throw new Error(`Missing API route: ${t}`);const c={"Content-Type":"application/json","Hypothesis-Client-Version":"1.
|
|
645
|
+
j(this,"analytics",void 0),this._clientId=null;const r=e.routes(),o=()=>this._clientId,i=e=>function(e,t,{getAccessToken:n,getClientId:r,onRequestStarted:o,onRequestFinished:i}){return async(a,s)=>{o();try{const[o,i]=await Promise.all([e,n()]),l=function(e,t){let n=e;const r=t.split(".");for(const[e,t]of r.entries()){const o=n[t];if(!o||"url"in o){if(o&&e===r.length-1)return o;break}n=o}return null}(o,t);if(!l)throw new Error(`Missing API route: ${t}`);const c={"Content-Type":"application/json","Hypothesis-Client-Version":"1.1489.0"};i&&(c.Authorization="Bearer "+i);const u=r();u&&(c["X-Client-Id"]=u);const{url:d,unusedParams:h}=aa(l.url,a),m=new URL(d);for(const[e,t]of Object.entries(h)){const n=Array.isArray(t)?t:[t];for(const t of n)null!=t&&m.searchParams.append(e,t.toString())}return await Ob(m.toString(),{body:s?JSON.stringify(Eb(s)):null,headers:c,method:l.method})}finally{i()}}}(r,e,{getAccessToken:()=>t.getAccessToken(),getClientId:o,onRequestStarted:n.apiRequestStarted,
|
|
646
646
|
onRequestFinished:n.apiRequestFinished});this.search=i("search"),this.annotation={create:i("annotation.create"),delete:i("annotation.delete"),get:i("annotation.read"),update:i("annotation.update"),flag:i("annotation.flag"),hide:i("annotation.hide"),unhide:i("annotation.unhide")},this.group={member:{delete:i("group.member.delete")},read:i("group.read")},this.groups={list:i("groups.read")},this.profile={groups:{read:i("profile.groups.read")},read:i("profile.read"),update:i("profile.update")},this.analytics={events:{create:i("analytics.events.create")}}}setClientId(e){this._clientId=e}}Lb.$inject=["apiRoutes","auth","store"];var Rb={};function Pb(e,t){"boolean"==typeof t&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,
|
|
647
647
|
this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}var Db=Pb;Pb.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)},Pb.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null},Pb.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=(new Date).getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.push(e),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var n=this._timeouts.shift();if(void 0===n){if(!this._cachedTimeouts)return!1;this._errors.splice(0,this._errors.length-1),n=this._cachedTimeouts.slice(-1)}var r=this;return this._timer=setTimeout((function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout((function(){r._operationTimeoutCb(r._attempts)}),r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)}),n),
|
|
648
648
|
this._options.unref&&this._timer.unref(),!0},Pb.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout((function(){n._operationTimeoutCb()}),n._operationTimeout)),this._operationStart=(new Date).getTime(),this._fn(this._attempts)},Pb.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)},Pb.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)},Pb.prototype.start=Pb.prototype.try,Pb.prototype.errors=function(){return this._errors},Pb.prototype.attempts=function(){return this._attempts},Pb.prototype.mainError=function(){if(0===this._errors.length)return null;for(var e={},t=null,n=0,r=0;r<this._errors.length;r++){var o=this._errors[r],i=o.message,a=(e[i]||0)+1;e[i]=a,a>=n&&(t=o,n=a)}return t},function(e){var t=Db;e.operation=function(n){var r=e.timeouts(n);return new t(r,{
|
|
@@ -759,7 +759,7 @@ this._window.setTimeout((()=>this._store.highlightAnnotations([])),5e3));const t
|
|
|
759
759
|
}else console.error("Gave up trying to reconnect to Hypothesis real time update service")})),o.on("error",(e=>this._handleSocketError(t,e))),o.on("message",(e=>this._handleSocketMessage(e))),this._socket=o,this.setConfig("client-id",{messageType:"client_id",value:this.clientId}),this.setConfig("auth-check",{type:"whoami",id:1})}async connect(e={}){var t;this._updateImmediately=null===(t=e.applyUpdatesImmediately)||void 0===t||t,this._reconnectSetUp||(this._reconnectSetUp=!0,r_(this._store.subscribe,(()=>this._store.profile().userid),(()=>this._reconnect()))),this._socket||await this._reconnect()}}Qk.$inject=["store","apiRoutes","auth","groups","session","$window"];const Jk="hypothesis.user.tags.list",Zk="hypothesis.user.tags.map";class eN{constructor(e){j(this,"_storage",void 0),this._storage=e}filter(e,t=null){const n=this._storage.getObject(Jk)||[];let r=0;return n.filter((n=>{if(null!==t&&r>=t)return!1;const o=n.split(/\W+/),i=new RegExp(`^${kv(e)}`,"i")
|
|
760
760
|
;return!(!o.some((e=>e.match(i)))&&!n.match(i))&&(++r,!0)}))}store(e){const t=this._storage.getObject(Zk)||{};e.forEach((e=>{t[e]?(t[e].count+=1,t[e].updated=Date.now()):t[e]={text:e,count:1,updated:Date.now()}})),this._storage.setObject(Zk,t);const n=Object.keys(t).sort(((e,n)=>t[e].count!==t[n].count?t[n].count-t[e].count:e.localeCompare(n)));this._storage.setObject(Jk,n)}}eN.$inject=["localStorage"];class tN{constructor(e){j(this,"_store",void 0),this._store=e}forceVisible(e){e.children.forEach((e=>{this.forceVisible(e)})),e.visible||this._store.setForcedVisible(e.id,!0)}}tN.$inject=["store"];class nN extends ng{constructor(e,t){super(),j(this,"_store",void 0),j(this,"_window",void 0),j(this,"_delayedMessageQueue",void 0),this._store=e,this._window=t,this._delayedMessageQueue=[],this._window.addEventListener("focus",(()=>{this._delayedMessageQueue.forEach((({type:e,messageText:t,options:n})=>this._addMessage(e,t,n))),this._delayedMessageQueue=[]}))}dismiss(e){
|
|
761
761
|
this._store.getToastMessage(e)&&(this._store.removeToastMessage(e),this.emit("toastMessageDismissed",e))}_addMessage(e,t,{autoDismiss:n=!0,visuallyHidden:r=!1,delayed:o=!1}={}){if(this._store.hasToastMessage(e,t))return;if(o&&!this._window.document.hasFocus()){const o={autoDismiss:n,visuallyHidden:r};return void this._delayedMessageQueue.push({type:e,messageText:t,options:o})}const i={type:e,id:pv(10),message:t,visuallyHidden:r,autoDismiss:n};this._store.addToastMessage(i),this.emit("toastMessageAdded",i)}error(e,t){this._addMessage("error",e,t)}success(e,t){this._addMessage("success",e,t)}notice(e,t){this._addMessage("notice",e,t)}}nN.$inject=["store","$window"];const rN=function(e){for(var t={},n=e.querySelectorAll("script.js-hypothesis-config"),r=0;r<n.length;r++){var o=void 0;try{o=JSON.parse(n[r].textContent||"")}catch(e){console.warn("Could not parse settings from js-hypothesis-config tags",e),o={}}Object.assign(t,o)}return t}(document),oN=function(e){const{version:t,origin:n}=gv(e.location.href)
|
|
762
|
-
;return"1.
|
|
762
|
+
;return"1.1489.0"!==t?(console.warn(`The Hypothesis sidebar is using a different version (1.1489.0) than the host page (${t}). It may not work.`),!1):"null"===e.origin?(console.warn("Hypothesis has been loaded in a sandboxed frame. This is not supported."),!1):e.origin===n||(console.warn(`The Hypothesis sidebar is running in a different origin (${e.origin}) than expected (${n}). It may not work.`),!1)}(window);function iN(e,t){e.setClientId(t.clientId)}function aN(e,t,n){e.load(),t.load(),n.sync()}function sN(e,t,n){e.init(),t.init(),n.init()}function lN(e,t,n){"sidebar"===t.route()&&e.connect().catch((()=>{n.error("Hypothesis failed to connect to the web page. Try reloading the page.",{autoDismiss:!1})}))}rN.sentry&&oN&&function(e){const t=function(){const e=import.meta.url;return e?new URL(e).origin:null}(),n=t?[t]:void 0;Pk({dsn:e.dsn,environment:e.environment,allowUrls:n,ignoreErrors:["Network request failed","Object Not Found Matching Id"],release:"1.1489.0",beforeSend:(e,t)=>{
|
|
763
763
|
if(Dk>=5)return xv("Client-side Sentry quota reached. No further Sentry events will be sent"),null;++Dk;try{const n=t&&t.originalException;n instanceof Event&&(e.extra||(e.extra={}),Object.assign(e.extra,{type:n.type,detail:n.detail,isTrusted:n.isTrusted}))}catch(e){}return e}});try{Dw("host_config",gv(window.location.href))}catch(e){}Dw("loaded_scripts",Array.from(document.querySelectorAll("script")).filter((e=>!e.type||e.type.match(/javascript|module/))).map((e=>e.src||"<inline>"))),Xb(((e,t)=>{Fk(e,t)}))}(rN.sentry),function(e){e.addEventListener("click",(e=>{const t=e.target;"A"===t.tagName&&"_blank"===t.target&&(t.rel="noopener")}))}(document.body),iN.$inject=["api","streamer"],aN.$inject=["groups","session","router"],sN.$inject=["autosaveService","persistedDefaults","serviceURL"],lN.$inject=["frameSync","store","toastMessenger"];const cN=document.querySelector("hypothesis-app");!function(e=window){e.addEventListener("message",Tv)}(),async function(e,t=window){const n=function(e){
|
|
764
764
|
const t=gv(e.location.href),n=["annotations","group","query","appType","openSidebar","showHighlights","services","branding","enableExperimentalNewNoteButton","focus","requestConfigFromFrame","theme","usernameUrl"],r={openSidebar:vv,requestConfigFromFrame:e=>{if("string"==typeof e)return e;const t=function(e){return"object"==typeof e&&null!==e?e:{}}(e);return{origin:_v(t.origin),ancestorLevel:bv(t.ancestorLevel)}}},o={};for(const[e,i]of Object.entries(t))n.includes(e)&&null!==i&&(r[e]?o[e]=r[e](i):o[e]=i);return o}(window),r=function(e,t){const n=e.requestConfigFromFrame;if(!n)return null;if("number"!=typeof n.ancestorLevel||"string"!=typeof n.origin)throw new Error("Improper `requestConfigFromFrame` object. Both `ancestorLevel` and `origin` need to be specified");return{targetFrame:yv(n.ancestorLevel,t),origin:n.origin}}(n,t);let o;if(r){const e=await async function(e,t){return{...await fv(t.targetFrame,t.origin,"requestConfig",[],3e3),...e.group?{group:e.group}:{}}}(n,r);o=function(e,t){const n=e.services
|
|
765
765
|
;return Array.isArray(n)?(n.forEach(((e,n)=>{"$rpc:requestGroups"===e.groups&&(e.groups=fv(t.targetFrame,t.origin,"requestGroups",[n],0).catch((()=>{throw new Error("Unable to fetch groups")})))})),e):e}(e,r)}else o=n;const i={...e,...o};return r&&(i.rpc=r),i.apiUrl=function(e){const t=Qr(e);if(!t)return e.apiUrl;if(t.apiUrl)return t.apiUrl;throw new Error("Service should contain an apiUrl value.")}(i),i}(rN).then((e=>{!function(e,t){const n=new G
|