hypothesis 1.1486.0 → 1.1487.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?f5f49b","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":"styles/ui-playground.css?b7fb6a","styles/ui-playground.css.map":"styles/ui-playground.css.map?7b5350","scripts/annotator.bundle.js.map":"scripts/annotator.bundle.js.map?99e328","scripts/sidebar.bundle.js":"scripts/sidebar.bundle.js?8165f5","scripts/ui-playground.bundle.js":"scripts/ui-playground.bundle.js?f27797","scripts/ui-playground.bundle.js.map":"scripts/ui-playground.bundle.js.map?fae8ce","scripts/sidebar.bundle.js.map":"scripts/sidebar.bundle.js.map?499992"};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.1487.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 u=l,d=a(u.notebookAppUrl||"https://hypothes.is/notebook"),h=a(u.profileAppUrl||"https://hypothes.is/user-profile"),y=a(u.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,u=c;p<u.length;p++)e(s,i(t,u[p]))}}(document,{assetRoot:c,manifest:s,notebookAppUrl:d,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,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"scripts/annotator.bundle.js": "scripts/annotator.bundle.js?
|
|
2
|
+
"scripts/annotator.bundle.js": "scripts/annotator.bundle.js?f5f49b",
|
|
3
|
+
"styles/annotator.css": "styles/annotator.css?46da94",
|
|
3
4
|
"styles/annotator.css.map": "styles/annotator.css.map?b9addc",
|
|
4
5
|
"styles/highlights.css": "styles/highlights.css?6b4ebd",
|
|
5
6
|
"styles/highlights.css.map": "styles/highlights.css.map?241350",
|
|
@@ -11,10 +12,9 @@
|
|
|
11
12
|
"styles/sidebar.css.map": "styles/sidebar.css.map?d811d1",
|
|
12
13
|
"styles/ui-playground.css": "styles/ui-playground.css?b7fb6a",
|
|
13
14
|
"styles/ui-playground.css.map": "styles/ui-playground.css.map?7b5350",
|
|
14
|
-
"scripts/ui-playground.bundle.js": "scripts/ui-playground.bundle.js?f27797",
|
|
15
|
-
"scripts/sidebar.bundle.js": "scripts/sidebar.bundle.js?85396b",
|
|
16
|
-
"styles/annotator.css": "styles/annotator.css?46da94",
|
|
17
15
|
"scripts/annotator.bundle.js.map": "scripts/annotator.bundle.js.map?99e328",
|
|
16
|
+
"scripts/sidebar.bundle.js": "scripts/sidebar.bundle.js?8165f5",
|
|
17
|
+
"scripts/ui-playground.bundle.js": "scripts/ui-playground.bundle.js?f27797",
|
|
18
18
|
"scripts/ui-playground.bundle.js.map": "scripts/ui-playground.bundle.js.map?fae8ce",
|
|
19
|
-
"scripts/sidebar.bundle.js.map": "scripts/sidebar.bundle.js.map?
|
|
19
|
+
"scripts/sidebar.bundle.js.map": "scripts/sidebar.bundle.js.map?499992"
|
|
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.1487.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,
|
|
@@ -540,19 +540,19 @@ const r=La(),o=function(e){return e.moderation?e.moderation.flagCount:null}(e);r
|
|
|
540
540
|
const r=!!t.parent,o=t.children.filter((e=>is(e)>0)),i=La(),a=i.hasAppliedFilter(),s=t.annotation&&i.isSavingAnnotation(t.annotation),l=t.annotation&&!!i.getDraft(t.annotation)&&!s,c=me((()=>i.setExpanded(t.id,!!t.collapsed)),[i,t.id,t.collapsed]),u=!r&&!l&&!a&&t.replyCount>0,d=he((()=>t.visible&&Fe(y,{children:t.annotation?Fe(y,{children:[Fe(Hp,{annotation:t.annotation}),Fe(Fp,{annotation:t.annotation,isReply:r,onToggleReplies:u?c:void 0,replyCount:t.replyCount,threadIsCollapsed:t.collapsed})]}):Fe(Bp,{isReply:r,onToggleReplies:u?c:void 0,replyCount:t.replyCount,threadIsCollapsed:t.collapsed})})),[r,c,u,t.annotation,t.replyCount,t.collapsed,t.visible]);return Fe("section",{className:"flex","data-testid":"thread-container",children:[r&&Fe(jp,{threadIsCollapsed:t.collapsed,onToggleReplies:c}),Fe("div",{className:Re("grow max-w-full min-w-0"),"data-testid":"thread-content",children:[d,os(t)>0&&Fe("div",{className:"space-y-2",children:[!t.parent&&t.annotation&&Fe(Lp,{annotation:t.annotation,isEditing:l,
|
|
541
541
|
replyCount:t.replyCount,threadIsCollapsed:t.collapsed}),Fe("div",{children:Fe(tr,{"data-testid":"show-hidden-button",onClick:()=>n.forceVisible(t),children:["Show ",os(t)," more in conversation"]})})]}),!t.collapsed&&Fe("ul",{className:Re("-ml-3"),"data-testid":"thread-children",children:o.map((t=>Fe("li",{className:Re("mt-2","[text-align:start]"),children:Fe(e,{thread:t,threadsService:n})},t.id)))})]})]})}),["threadsService"]);var qp=no((function({frameSync:e,thread:t}){var n,r;const o=La(),i=null!==(n=null===(r=t.annotation)||void 0===r?void 0:r.$tag)&&void 0!==n?n:null,a=!(!i||!o.isAnnotationHovered(i)),s=he((()=>Za((t=>e.hoverAnnotation(t)),10)),[e]),l=o.isAnnotationHighlighted(t.annotation),c=me((t=>{e.scrollToAnnotation(t)}),[e]),u=he((()=>Fe($p,{thread:t})),[t]),d=o.annotationFocusRequest(),h=de(null);return ce((()=>{d===t.id&&h.current&&(h.current.focus(),o.clearAnnotationFocusRequest())}),[d,o,t.id]),Fe(Ve,{active:a,classes:Re("cursor-pointer focus-visible-ring theme-clean:border-none",{
|
|
542
542
|
"border-brand":l}),"data-testid":"thread-card",elementRef:h,tabIndex:-1,onClick:e=>{var n;(n=e.target).closest("button")||n.closest("a")||!t.annotation||c(t.annotation)},onMouseEnter:()=>{var e;return s(null!==(e=t.annotation)&&void 0!==e?e:null)},onMouseLeave:()=>s(null),children:Fe(Xe,{children:u})},t.id)}),["frameSync"]);const Up=50;function Gp(){const e=document.querySelector(".js-thread-list-scroll-root");if(!e)throw new Error("Scroll container is missing");return e}function Vp(e){return Math.max(e-e%Up,0)}function Wp(e){var t;const n=e.target[0];if(n)return null===(t=n.selector)||void 0===t?void 0:t.find((e=>"EPUBContentSelector"===e.type))}function Yp(e){var t;if(!e.annotation)return null;const n=Wp(e.annotation);return null!==(t=null==n?void 0:n.cfi)&&void 0!==t?t:null}function Kp({threads:e}){const[t,n]=se(0),[r,o]=se(0);ue((()=>{const e=new es,t=Gp();n(t.clientHeight),o(Vp(t.scrollTop));const r=Za((()=>{n(t.clientHeight),o(Vp(t.scrollTop))}),10,{maxWait:100});return e.add(t,"scroll",r),
|
|
543
|
-
e.add(window,"resize",r),()=>{e.removeAll(),r.cancel()}}),[]);const[i,a]=se((()=>new Map)),[s,l]=se(null),c=e,{offscreenLowerHeight:u,offscreenUpperHeight:d,visibleThreads:h}=he((()=>function(e,t,n,r,o=ts){const{defaultHeight:i,marginAbove:a,marginBelow:s}=o,l=[];let c=0,u=0,d=0;return e.forEach((e=>{const o=t.get(e.id)||i;c+o<n-a?u+=o:c<n+r+s?l.push(e):d+=o,c+=o})),{visibleThreads:l,offscreenUpperHeight:u,offscreenLowerHeight:d}}(c,i,r,t)),[c,i,r,t]),m=he((()=>{let t=null,n=null;const r=function(e){const t=new Map;for(const n of e){if(!n.annotation)continue;const e=Wp(n.annotation);null!=e&&e.title&&t.set(e.cfi,e.title)}return t}(e),o=new Map;for(const a of e){var i;const e=Yp(a);if(!e||t===e)continue;t=e;const s=null!==(i=r.get(e))&&void 0!==i?i:"Untitled chapter";n!==s&&(n=s,o.set(a,s))}return o}),[e]),p=La(),f=p.countDrafts()>0,g=p.highlightedAnnotations(),v=(()=>{const e=p.unsavedAnnotations();return e.length?e[e.length-1].$tag:null})();ce((()=>{
|
|
544
|
-
;const
|
|
545
|
-
function Zp(e,t,n){if(e[t].parent||!n.length)return;const r=n[n.length-1];e[r]||(e[r]={...Xp,children:[],id:r},Zp(e,r,n.slice(0,-1))),Jp(e,t,r)&&(e[t].parent=r,e[r].children.push(e[t]))}function ef(e,t){return Object.assign({},t(e),{children:e.children.map((e=>ef(e,t)))})}function tf(e,t,n){const r=e.children.map((e=>tf(e,n,n))).slice().sort(t);return{...e,children:r}}function nf(e,t){const n=e.children.map((e=>nf(e,t+1))),r=n.reduce(((e,t)=>e+1+t.replyCount),0);return{...e,children:n,depth:t,replyCount:r}}function rf(e){return e.children.some((e=>e.visible||rf(e)))}const of=(e,t)=>e.annotation&&t.annotation?e.annotation.created<t.annotation.created?-1:e.annotation.created>t.annotation.created?1:0:0;function af(e,t){const n=t.selected.length>0,r=t.forcedVisible.length>0;let o=function(e){const t={};e.forEach((e=>{const n=Qp(e);t[n]={...Xp,children:[],annotation:e,id:n}})),e.forEach((e=>{
|
|
546
|
-
;for(const e in t)t[e].parent||(t[e].collapsed=!0,n.push(t[e]));return{...Xp,id:"root",children:n}}(e);return n?o.children=o.children.filter((e=>{const n=t.selected.includes(e.id),o=r&&t.forcedVisible.includes(e.id);return n||o})):t.threadFilterFn&&(o.children=o.children.filter(t.threadFilterFn)),o.visible=!1,o=ef(o,(e=>{if(n)return{...e,visible:!0};let o=e.visible;return t.filterFn&&(o=!(!r||!t.forcedVisible.includes(e.id))||!!e.annotation&&!!t.filterFn(e.annotation)),{...e,visible:o}})),o.children=o.children.filter((e=>e.visible||rf(e))),o=ef(o,(e=>{const n={collapsed:e.collapsed};if(Lo(t.expanded,e.id))n.collapsed=!t.expanded[e.id];else{const r=t.filterFn&&rf(e);n.collapsed=e.collapsed&&!r}return{...e,...n}})),o=tf(o,t.sortCompareFn,of),o=nf(o,-1),o}function sf(e){const t=lf(e),[n,r]=t.split("-",2);return[n,null!=r?r:n]}function lf(e){if(!e.includes("["))return e;let t="",n=!1,r=!1
|
|
547
|
-
const n=e=>function(e){const t=lf(e),n=t.indexOf("!");return-1===n?t:t.slice(0,n)}(e).split("/").map((e=>{const t=parseInt(e,10);return Number.isNaN(t)?e:t}));return function(e,t){for(let n=0;n<Math.min(e.length,t.length);n++)if(e[n]!==t[n]){if(typeof e[n]!=typeof t[n])return"number"==typeof e[n]?-1:1;if(e[n]<t[n])return-1;if(e[n]>t[n])return 1}return e.length-t.length}(n(e),n(t))}function uf(e,t,n){return cf(e,t)>=0&&cf(e,n)<0}function df(e){const[t,n]=e.includes("-")?e.split("-"):[e,e];let r=null;if(t&&(r=parseInt(t),!Number.isInteger(r)))return null;let o=null;return n&&(o=parseInt(n),!Number.isInteger(o))?null:null===r||null===o?[r,o]:[Math.min(r,o),Math.max(r,o)]}let hf=function(e){return e[e.Overlap=0]="Overlap",e[e.NoOverlap=1]="NoOverlap",e[e.Unknown=2]="Unknown",e}({});function mf(e,t,n){var r,o;return[null!==(r=e[0])&&void 0!==r?r:t,null!==(o=e[1])&&void 0!==o?o:n]}function pf(e,t){
|
|
548
|
-
;return i<=s?s<=a?hf.Overlap:hf.NoOverlap:i<=l?hf.Overlap:hf.NoOverlap}
|
|
543
|
+
e.add(window,"resize",r),()=>{e.removeAll(),r.cancel()}}),[]);const[i,a]=se((()=>new Map)),[s,l]=se(null),c=e,{offscreenLowerHeight:u,offscreenUpperHeight:d,visibleThreads:h}=he((()=>function(e,t,n,r,o=ts){const{defaultHeight:i,marginAbove:a,marginBelow:s}=o,l=[];let c=0,u=0,d=0;return e.forEach((e=>{const o=t.get(e.id)||i;c+o<n-a?u+=o:c<n+r+s?l.push(e):d+=o,c+=o})),{visibleThreads:l,offscreenUpperHeight:u,offscreenLowerHeight:d}}(c,i,r,t)),[c,i,r,t]),m=he((()=>{let t=null,n=null;const r=function(e){const t=new Map;for(const n of e){if(!n.annotation)continue;const e=Wp(n.annotation);null!=e&&e.title&&t.set(e.cfi,e.title)}return t}(e),o=new Map;for(const a of e){var i;const e=Yp(a);if(!e||t===e)continue;t=e;const s=null!==(i=r.get(e))&&void 0!==i?i:"Untitled chapter";n!==s&&(n=s,o.set(a,s))}return o}),[e]),p=La(),f=p.countDrafts()>0,g=p.highlightedAnnotations(),v=p.allAnnotations(),b=(()=>{const e=p.unsavedAnnotations();return e.length?e[e.length-1].$tag:null})();ce((()=>{b&&(p.setForcedVisible(b,!0),l(b))
|
|
544
|
+
}),[p,b]);const _=he((()=>{const e=v.filter((e=>e.id&&g.includes(e.id))).reduce(((e,t)=>!e||e.updated<t.updated?t:e),null);return null==e?void 0:e.id}),[v,g]);return ce((()=>{!f&&_&&l(_)}),[f,_]),ce((()=>{if(!s)return;const e=c.findIndex((e=>e.id===s));if(-1===e)return;l(null);const t=c.slice(0,e).reduce(((e,t)=>e+(e=>i.get(e.id)||ts.defaultHeight)(t)),0);Gp().scrollTop=t}),[s,c,i]),ce((()=>{a((e=>{const t=new Map;for(const{id:n}of h){const r=document.getElementById(n);if(!r)return console.warn("ThreadList could not measure thread. Element not found."),e;const o=ns(r);o!==e.get(n)&&t.set(n,o)}return 0===t.size?e:new Map([...e,...t])}))}),[h]),Fe("div",{children:[Fe("div",{style:{height:d}}),h.map((e=>Fe("div",{className:Re("mb-3"),"data-testid":"thread-card-container",id:e.id,children:[m.get(e)&&Fe("h3",{className:"text-md text-grey-7 font-bold pt-3 pb-2",children:m.get(e)}),Fe(qp,{thread:e})]},e.id))),Fe("div",{style:{height:u}})]})}const Xp={collapsed:!1,depth:0,visible:!0,replyCount:0};function Qp(e){
|
|
545
|
+
return e.id||e.$tag}function Jp(e,t,n){const r=e[n];return!(!r||r.parent===t)&&(!r.parent||Jp(e,t,r.parent))}function Zp(e,t,n){if(e[t].parent||!n.length)return;const r=n[n.length-1];e[r]||(e[r]={...Xp,children:[],id:r},Zp(e,r,n.slice(0,-1))),Jp(e,t,r)&&(e[t].parent=r,e[r].children.push(e[t]))}function ef(e,t){return Object.assign({},t(e),{children:e.children.map((e=>ef(e,t)))})}function tf(e,t,n){const r=e.children.map((e=>tf(e,n,n))).slice().sort(t);return{...e,children:r}}function nf(e,t){const n=e.children.map((e=>nf(e,t+1))),r=n.reduce(((e,t)=>e+1+t.replyCount),0);return{...e,children:n,depth:t,replyCount:r}}function rf(e){return e.children.some((e=>e.visible||rf(e)))}const of=(e,t)=>e.annotation&&t.annotation?e.annotation.created<t.annotation.created?-1:e.annotation.created>t.annotation.created?1:0:0;function af(e,t){const n=t.selected.length>0,r=t.forcedVisible.length>0;let o=function(e){const t={};e.forEach((e=>{const n=Qp(e);t[n]={...Xp,children:[],annotation:e,id:n}})),e.forEach((e=>{
|
|
546
|
+
const n=(e.references||[]).filter((t=>t!==e.id));return Zp(t,Qp(e),n)}));const n=[];for(const e in t)t[e].parent||(t[e].collapsed=!0,n.push(t[e]));return{...Xp,id:"root",children:n}}(e);return n?o.children=o.children.filter((e=>{const n=t.selected.includes(e.id),o=r&&t.forcedVisible.includes(e.id);return n||o})):t.threadFilterFn&&(o.children=o.children.filter(t.threadFilterFn)),o.visible=!1,o=ef(o,(e=>{if(n)return{...e,visible:!0};let o=e.visible;return t.filterFn&&(o=!(!r||!t.forcedVisible.includes(e.id))||!!e.annotation&&!!t.filterFn(e.annotation)),{...e,visible:o}})),o.children=o.children.filter((e=>e.visible||rf(e))),o=ef(o,(e=>{const n={collapsed:e.collapsed};if(Lo(t.expanded,e.id))n.collapsed=!t.expanded[e.id];else{const r=t.filterFn&&rf(e);n.collapsed=e.collapsed&&!r}return{...e,...n}})),o=tf(o,t.sortCompareFn,of),o=nf(o,-1),o}function sf(e){const t=lf(e),[n,r]=t.split("-",2);return[n,null!=r?r:n]}function lf(e){if(!e.includes("["))return e;let t="",n=!1,r=!1
|
|
547
|
+
;for(const o of e)n||"^"!==o?(n||"["!==o?!n&&r&&"]"===o?r=!1:r||(t+=o):r=!0,n=!1):n=!0;return t}function cf(e,t){const n=e=>function(e){const t=lf(e),n=t.indexOf("!");return-1===n?t:t.slice(0,n)}(e).split("/").map((e=>{const t=parseInt(e,10);return Number.isNaN(t)?e:t}));return function(e,t){for(let n=0;n<Math.min(e.length,t.length);n++)if(e[n]!==t[n]){if(typeof e[n]!=typeof t[n])return"number"==typeof e[n]?-1:1;if(e[n]<t[n])return-1;if(e[n]>t[n])return 1}return e.length-t.length}(n(e),n(t))}function uf(e,t,n){return cf(e,t)>=0&&cf(e,n)<0}function df(e){const[t,n]=e.includes("-")?e.split("-"):[e,e];let r=null;if(t&&(r=parseInt(t),!Number.isInteger(r)))return null;let o=null;return n&&(o=parseInt(n),!Number.isInteger(o))?null:null===r||null===o?[r,o]:[Math.min(r,o),Math.max(r,o)]}let hf=function(e){return e[e.Overlap=0]="Overlap",e[e.NoOverlap=1]="NoOverlap",e[e.Unknown=2]="Unknown",e}({});function mf(e,t,n){var r,o;return[null!==(r=e[0])&&void 0!==r?r:t,null!==(o=e[1])&&void 0!==o?o:n]}function pf(e,t){
|
|
548
|
+
const n=df(e),r=df(t);if(!n||!r)return e&&t&&e===t?hf.Overlap:hf.Unknown;const o=2**31,[i,a]=mf(n,1,o),[s,l]=mf(r,1,o);return i<=s?s<=a?hf.Overlap:hf.NoOverlap:i<=l?hf.Overlap:hf.NoOverlap}
|
|
549
549
|
const ff=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u08FE\u0900-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C01-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C82\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D02\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1DC0-\u1DE6\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE26]/g
|
|
550
550
|
;function gf(e){return function(e){return e.replace(ff,"")}((t=e,t.normalize("NFKD"))).toLowerCase();var t}class vf{constructor(e,t){j(this,"term",void 0),j(this,"matcher",void 0),this.term=t.normalize(e),this.matcher=t}matches(e){const t=this.matcher;return t.fieldValues(e).some((e=>t.matches(t.normalize(e),this.term)))}}class bf{constructor(e,t){j(this,"operator",void 0),j(this,"filters",void 0),this.operator=e,this.filters=t}matches(e){return"and"===this.operator?this.filters.every((t=>t.matches(e))):this.filters.some((t=>t.matches(e)))}}function _f(e){return{fieldValues:e,matches:(e,t)=>e.includes(t),normalize:gf}}const yf={quote:_f((e=>{var t;return[null!==(t=Jo(e))&&void 0!==t?t:""]})),cfi:{fieldValues:e=>{var t,n;return[null!==(t=null===(n=Zo(e))||void 0===n?void 0:n.trim())&&void 0!==t?t:""]},matches:(e,t)=>{const[n,r]=sf(t);return uf(e,n,r)},normalize:e=>lf(e.trim())},page:{fieldValues:e=>{var t,n;return[null!==(t=null===(n=ei(e))||void 0===n?void 0:n.trim())&&void 0!==t?t:""]},
|
|
551
551
|
matches:(e,t)=>pf(e,t)===hf.Overlap,normalize:e=>e.trim()},since:{fieldValues:e=>[new Date(e.updated).valueOf()],matches:(e,t)=>(Date.now()-e)/1e3<=t,normalize:e=>e},tag:_f((e=>e.tags)),text:_f((e=>[e.text])),uri:_f((e=>[e.uri])),user:_f((e=>{var t,n;return[e.user,null!==(t=null===(n=e.user_info)||void 0===n?void 0:n.display_name)&&void 0!==t?t:""]}))};const wf=["cfi","quote","page","since","tag","text","uri","user"],xf=["group","quote","tag","text","uri","user"];function kf(e,t){const n=e.slice(0,e.indexOf(":"));if(!n)return[null,e];if(t.includes(n)){return[n,e.slice(n.length+1)]}return[null,e]}function Nf(e){const t=e.slice(0,1),n=e.slice(-1);return'"'!==t&&"'"!==t||t!==n||(e=e.slice(1,e.length-1)),e}function Sf(e,t){const n=e.match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g);return n?n.map(Nf).filter((e=>e.length>0)).map((e=>{const[n,r]=kf(e,t);return n?n+":"+Nf(r):e})):[]}function Af(e){const t={},n=e=>"tag"===e?"tags":e,r=Sf(e,xf);for(const e of r){let[r,o]=kf(e,xf);r||(r="any",o=e);const i=n(r)
|
|
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.1487.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||{}
|
|
@@ -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.1487.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.1487.0"!==t?(console.warn(`The Hypothesis sidebar is using a different version (1.1487.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.1487.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
|