hypothesis 1.1326.0 → 1.1328.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?e8e9a0","styles/annotator.css":"styles/annotator.css?669e44","styles/annotator.css.map":"styles/annotator.css.map?9dddc9","styles/highlights.css":"styles/highlights.css?6b4ebd","styles/highlights.css.map":"styles/highlights.css.map?241350","styles/katex.min.css":"styles/katex.min.css?0b5991","styles/katex.min.css.map":"styles/katex.min.css.map?42d80c","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?381fc1","styles/sidebar.css.map":"styles/sidebar.css.map?eb488a","styles/ui-playground.css":"styles/ui-playground.css?b6179e","styles/ui-playground.css.map":"styles/ui-playground.css.map?3166e0","scripts/annotator.bundle.js.map":"scripts/annotator.bundle.js.map?5f49d9","scripts/sidebar.bundle.js":"scripts/sidebar.bundle.js?c1fc55","scripts/ui-playground.bundle.js":"scripts/ui-playground.bundle.js?396d56","scripts/ui-playground.bundle.js.map":"scripts/ui-playground.bundle.js.map?d5e099","scripts/sidebar.bundle.js.map":"scripts/sidebar.bundle.js.map?75c625"};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.1328.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,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"scripts/annotator.bundle.js": "scripts/annotator.bundle.js?
|
|
2
|
+
"scripts/annotator.bundle.js": "scripts/annotator.bundle.js?e8e9a0",
|
|
3
3
|
"styles/annotator.css": "styles/annotator.css?669e44",
|
|
4
4
|
"styles/annotator.css.map": "styles/annotator.css.map?9dddc9",
|
|
5
5
|
"styles/highlights.css": "styles/highlights.css?6b4ebd",
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
"styles/katex.min.css.map": "styles/katex.min.css.map?42d80c",
|
|
9
9
|
"styles/pdfjs-overrides.css": "styles/pdfjs-overrides.css?c95edf",
|
|
10
10
|
"styles/pdfjs-overrides.css.map": "styles/pdfjs-overrides.css.map?1d8ac6",
|
|
11
|
-
"styles/sidebar.css.map": "styles/sidebar.css.map?eb488a",
|
|
12
11
|
"styles/sidebar.css": "styles/sidebar.css?381fc1",
|
|
13
|
-
"styles/
|
|
12
|
+
"styles/sidebar.css.map": "styles/sidebar.css.map?eb488a",
|
|
14
13
|
"styles/ui-playground.css": "styles/ui-playground.css?b6179e",
|
|
15
|
-
"
|
|
14
|
+
"styles/ui-playground.css.map": "styles/ui-playground.css.map?3166e0",
|
|
16
15
|
"scripts/annotator.bundle.js.map": "scripts/annotator.bundle.js.map?5f49d9",
|
|
16
|
+
"scripts/sidebar.bundle.js": "scripts/sidebar.bundle.js?c1fc55",
|
|
17
17
|
"scripts/ui-playground.bundle.js": "scripts/ui-playground.bundle.js?396d56",
|
|
18
18
|
"scripts/ui-playground.bundle.js.map": "scripts/ui-playground.bundle.js.map?d5e099",
|
|
19
|
-
"scripts/sidebar.bundle.js.map": "scripts/sidebar.bundle.js.map?
|
|
19
|
+
"scripts/sidebar.bundle.js.map": "scripts/sidebar.bundle.js.map?75c625"
|
|
20
20
|
}
|
|
@@ -127,7 +127,7 @@ this._sidebarRPC.on("navigateToSegment",(t=>{var e,n;return null===(e=(n=this._i
|
|
|
127
127
|
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=dn.fromRange(i);n={annotation:t,target:e,range:o}}catch(i){n={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&&En(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=[]
|
|
128
128
|
;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}))),s={uri:n.uri,document:n.metadata,target:o,$highlight:t,$cluster:t?"user-highlights":"user-annotations",$tag:"a:"+r(8)};return this._sidebarRPC.call("createAnnotation",s),this.anchor(s),Vo(),s}_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);Nn(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=_n(n),o=yn(n);o?(this.selectedRanges=[e],this._hostRPC.call("textSelected"),this._adder.annotationsForSelection=Fo(),this._isAdderVisible=!0,this._adder.show(o,i)):this._onClearSelection()}_onClearSelection(){this._isAdderVisible=!1,this._adder.hide(),this.selectedRanges=[],
|
|
129
129
|
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")}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){ne(t,"Ctrl+Shift+H")&&this.setHighlightsVisible(!this._highlightsVisible)}}function Wo(t,e){const n=new URL(t),i=new URLSearchParams;return i.append("config",JSON.stringify(e)),n.hash=i.toString(),n.toString()}function zo(t,e){var n;const i={}
|
|
130
|
-
;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.
|
|
130
|
+
;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.1328.0";const o=new URL(window.location.href);if(o.hash="",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 $o({config:t,groupId:e}){return se("iframe",{title:"Hypothesis annotation notebook",className:"h-full w-full border-0",allowFullScreen:!0,src:Wo(t.notebookAppUrl,{...zo(t.notebookAppUrl,t),group:e})})}function jo({eventBus:t,config:e}){const[n,i]=Wt(0),[o,r]=Wt(!0),[s,a]=Wt(null),l=$t(""),c=$t(null);zt((()=>(l.current=document.body.style.overflow,()=>{document.body.style.overflow=l.current})),[]),zt((()=>{
|
|
131
131
|
document.body.style.overflow=o?l.current:"hidden"}),[o]),zt((()=>{const e=t.createEmitter();return e.subscribe("openNotebook",(t=>{r(!1),i((t=>t+1)),a(t)})),c.current=e,()=>{e.destroy()}}),[t]);return null===s?null:se("div",{className:Ie("fixed z-max top-0 left-0 right-0 bottom-0 p-3 bg-black/50",{hidden:o}),"data-testid":"notebook-outer",children:se("div",{className:"relative w-full h-full","data-testid":"notebook-inner",children:[se("div",{className:"absolute right-0 m-3",children:se(We,{title:"Close the Notebook",onClick:()=>{var t;r(!0),null===(t=c.current)||void 0===t||t.publish("closeNotebook")},variant:"dark",classes:Ie("!bg-transparent enabled:hover:!bg-grey-3"),children:se(he,{className:"w-4 h-4"})})}),se($o,{config:e,groupId:s},n)]})})}class Xo{constructor(t,e,i){n(this,"_outerContainer",void 0),n(this,"_shadowRoot",void 0),this._outerContainer=document.createElement("hypothesis-notebook"),t.appendChild(this._outerContainer),this._shadowRoot=Je(this._outerContainer),Rt(se(jo,{eventBus:e,config:i
|
|
132
132
|
}),this._shadowRoot)}destroy(){Rt(null,this._shadowRoot),this._outerContainer.remove()}}function Yo({eventBus:t,config:e}){const[n,i]=Wt(!0),o=$t(null);zt((()=>{const e=t.createEmitter();return e.subscribe("openProfile",(()=>{i(!1)})),o.current=e,()=>{e.destroy()}}),[t]);return n?null:se("div",{className:"fixed z-max top-0 left-0 right-0 bottom-0 p-3 bg-black/50","data-testid":"profile-outer",children:se("div",{className:"relative w-full h-full","data-testid":"profile-inner",children:[se("div",{className:"absolute right-0 m-3",children:se(We,{title:"Close the Profile",onClick:()=>{var t;i(!0),null===(t=o.current)||void 0===t||t.publish("closeProfile")},variant:"dark",classes:Ie("!bg-transparent enabled:hover:!bg-grey-3"),children:se(he,{className:"w-4 h-4"})})}),se("iframe",{title:"Hypothesis profile",className:"h-full w-full border-0",src:e.profileAppUrl})]})})}class Go{constructor(t,e,i){n(this,"_outerContainer",void 0),n(this,"shadowRoot",void 0),
|
|
133
133
|
this._outerContainer=document.createElement("hypothesis-profile"),t.appendChild(this._outerContainer),this.shadowRoot=Je(this._outerContainer),Rt(se(Yo,{eventBus:e,config:i}),this.shadowRoot)}destroy(){Rt(null,this.shadowRoot),this._outerContainer.remove()}}var Zo={exports:{}};!function(t){!function(e,n,i,o){var r,s=["","webkit","Moz","MS","ms","o"],a=n.createElement("div"),l="function",c=Math.round,h=Math.abs,u=Date.now;function d(t,e,n){return setTimeout(b(t,n),e)}function f(t,e,n){return!!Array.isArray(t)&&(p(t,n[e],n),!0)}function p(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==o)for(i=0;i<t.length;)e.call(n,t[i],i,t),i++;else for(i in t)t.hasOwnProperty(i)&&e.call(n,t[i],i,t)}function m(t,n,i){var o="DEPRECATED METHOD: "+n+"\n"+i+" AT \n";return function(){var n=new Error("get-stack-trace"),i=n&&n.stack?n.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",r=e.console&&(e.console.warn||e.console.log)
|
|
@@ -541,7 +541,7 @@ return fa([e]).reduce(((e,t)=>t.created>e?t.created:e),"")}function _p(e){return
|
|
|
541
541
|
;function xp(e){return function(e){return e.replace(wp,"")}((t=e,t.normalize("NFKD"))).toLowerCase();var t}class kp{constructor(e,t){H(this,"term",void 0),H(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 Sp{constructor(e,t){H(this,"operator",void 0),H(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 Np(e){return{fieldValues:e,matches:(e,t)=>e.includes(t),normalize:xp}}const Ep={quote:Np((e=>{var t;return[null!==(t=mo(e))&&void 0!==t?t:""]})),since:{fieldValues:e=>[new Date(e.updated).valueOf()],matches:(e,t)=>(Date.now()-e)/1e3<=t,normalize:e=>e},tag:Np((e=>e.tags)),text:Np((e=>[e.text])),uri:Np((e=>[e.uri])),user:Np((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 Tp=function(e){
|
|
542
542
|
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){const t=e.selection,n={expanded:t.expanded,forcedVisible:t.forcedVisible,selected:t.selected,sortCompareFn:yp[t.sortKey]},r=!!t.filterQuery||Object.keys(t.filters).length>0;if(r){const e=function(e,t={}){const n=[],r=[],o=[],i=[],a=[],s=[],l=t.user?[t.user]:[],c=rp(e);for(const e of c){const t=e.slice(0,e.indexOf(":")),c=e.slice(t.length+1);switch(t){case"quote":r.push(c);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";o.push(e*n[t])}}break;case"tag":i.push(c);break;case"text":a.push(c);break;case"uri":s.push(c);break;case"user":l.push(c);break;default:n.push(e)}}return{any:{terms:n,operator:"and"},quote:{terms:r,operator:"and"},since:{terms:o,operator:"and"},tag:{terms:i,operator:"and"
|
|
543
543
|
},text:{terms:a,operator:"and"},uri:{terms:s,operator:"or"},user:{terms:l,operator:"or"}}}(t.filterQuery||"",t.filters);n.filterFn=t=>function(e,t){const n=(e,t)=>new kp(t,Ep[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 Sp("or",e.map((e=>n(e,t))))))}else r=t.terms.map((t=>n(e,t)));return new Sp(t.operator,r)})),o=new Sp("and",r);return e.filter((e=>e.id&&o.matches(e))).map((e=>e.id))}([t],e).length>0}return!r&&"sidebar"===e.route&&(n.threadFilterFn=e=>{return!!e.annotation&&(n=e.annotation,r=t.selectedTab,!oo(n)&&fp(n)===r);var n,r}),pp(e.annotations,n)}));function Ap(){const e=qi(),t=e.allAnnotations(),n=e.filterQuery(),r=e.route(),o=e.selectionState(),i=e.getFilterValues(),a=de((()=>({annotations:t,route:r,selection:{...o,filterQuery:n,filters:i}})),[t,n,r,o,i]);return Tp(a)}var Cp=gr((function({loadAnnotationsService:e,onLogin:t}){var n
|
|
544
|
-
;const r=qi(),o=null!==(n=r.routeParams().id)&&void 0!==n?n:"",i=Ap(),a=r.profile().userid,[s,l]=ae(!1);return le((()=>{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]),Ee(v,{children:[s&&Ee($i,{errorType:"annotation",onLoginRequest:t}),Ee(ep,{threads:i.children})]})}),["loadAnnotationsService"]);class Mp{constructor(e,t,n=window){var r,o,i;H(this,"version",void 0),H(this,"userAgent",void 0),H(this,"urls",void 0),H(this,"fingerprint",void 0),H(this,"account",void 0),H(this,"timestamp",void 0),H(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.
|
|
544
|
+
;const r=qi(),o=null!==(n=r.routeParams().id)&&void 0!==n?n:"",i=Ap(),a=r.profile().userid,[s,l]=ae(!1);return le((()=>{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]),Ee(v,{children:[s&&Ee($i,{errorType:"annotation",onLoginRequest:t}),Ee(ep,{threads:i.children})]})}),["loadAnnotationsService"]);class Mp{constructor(e,t,n=window){var r,o,i;H(this,"version",void 0),H(this,"userAgent",void 0),H(this,"urls",void 0),H(this,"fingerprint",void 0),H(this,"account",void 0),H(this,"timestamp",void 0),H(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.1328.0",this.userAgent=n.navigator.userAgent,this.urls=t.map((e=>e.uri)).join(", ")||a,
|
|
545
545
|
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=[];l.cfi&&e.push(["CFI",l.cfi]),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 Ip="complete",zp="canceled";function Rp(e,t,n){e.self===e?e.scrollTo(t,n):(e.scrollLeft=t,e.scrollTop=n)}function Lp(e){var t=e._scrollSettings;if(t){var n=t.maxSynchronousAlignments,r=function(e,t){
|
|
546
546
|
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 Rp(e,r.x,r.y),
|
|
547
547
|
e._scrollSettings=null,t.end(Ip);var a=1-t.ease(i);if(Rp(e,r.x-r.differenceX*a,r.y-r.differenceY*a),o>=t.time)return t.endIterations++,t.scrollAncestor&&Lp(t.scrollAncestor),void Lp(e);!function(e){if("requestAnimationFrame"in window)return window.requestAnimationFrame(e);setTimeout(e,16)}(Lp.bind(null,e))}}function Op(e){return e.self===e}function Dp(e){return"pageXOffset"in e||(e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth)&&"hidden"!==getComputedStyle(e).overflow}function Pp(){return!0}function Bp(e){if(e.assignedSlot)return Bp(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 Fp=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||{}
|
|
@@ -561,15 +561,16 @@ children:"..."}):Ee(af,{title:`Go to page ${t}`,pressed:t===e,onClick:e=>a(t,e.t
|
|
|
561
561
|
;const r=qi(),o=r.getFilterValues(),i=r.focusedGroup(),a=r.forcedVisibleThreads().length,s=r.hasAppliedFilter(),l=r.isLoading(),c=r.annotationResultCount(),u=Ap(),d=null!==(n=null==i?void 0:i.name)&&void 0!==n?n:"…",h=(null==i?void 0:i.id)||r.directLinkedGroupId(),m=ue(1),[p,f]=ae(1),[g,v]=ae(!1),b=e=>{e instanceof Jp&&v(!0)},_=r.hasFetchedProfile();le((()=>{_&&t.connect({applyUpdatesImmediately:!1})}),[_,t]),le((()=>{r.setSortKey("Newest"),h&&e.load({groupId:h,sortBy:"updated",sortOrder:"desc",maxResults:5e3,onError:b,streamFilterBy:"group"})}),[e,h,r]);const y=e=>{f(e)};le((()=>{y(1)}),[o,i]);const w=ue(null);return ce((()=>{p!==m.current&&(w.current&&Hp(w.current),m.current=p)}),[p]),Ee("div",{className:"grid gap-2 lg:grid-cols-2","data-testid":"notebook-container",children:[Ee("header",{className:"leading-none lg:col-span-2",ref:w,children:Ee("h1",{className:"text-xl font-bold","data-testid":"notebook-group-name",children:d})}),Ee("div",{className:"justify-self-start",children:Ee(rf,{})}),Ee("div",{
|
|
562
562
|
className:"flex items-center lg:justify-self-end text-md font-medium",children:[Ee(hf,{}),Ee(of,{forcedVisibleCount:a,isFiltered:s,isLoading:l,resultCount:null!=c?c:0})]}),Ee("div",{className:"lg:col-span-2",children:[g&&Ee("div",{className:"py-4","data-testid":"notebook-messages",children:Ee(Gn,{title:"Too many results to show",children:[Ee("p",{children:["This preview of the Notebook can show"," ",Ee("strong",{children:["up to ",5e3," results"]})," at a time (there are"," ",c," to show here)."]}),Ee("p",{children:[Ee(ir,{href:"mailto:support@hypothes.is?subject=Hypothesis%20Notebook&body=Please%20notify%20me%20when%20the%20Hypothesis%20Notebook%20is%20updated%20to%20support%20more%20than%205000%20annotations",underline:"always",children:"Contact us"})," ","if you would like to be notified when support for more annotations is available."]})]})}),Ee(lf,{currentPage:p,isLoading:l,onChangePage:y,threads:u.children})]})]})}),["loadAnnotationsService","streamer"])
|
|
563
563
|
;function pf({classes:e,children:t,onClose:n=(()=>{}),...r}){return Ee("div",{className:X("flex items-center gap-x-1 py-1 px-2 rounded-[4px]","bg-green-success/10 animate-pulse-fade-out",e),onAnimationEnd:n,...r,children:[Ee(Ve,{className:"text-green-success w-em h-em p-[0.125em]"}),Ee("div",{className:"text-sm",children:t})]})}function ff(){const e=qi(),[t,n]=ae(!1),[r,o]=ae(0);if(le((()=>{let e;return t&&(e=setTimeout((()=>{n(!1),o((e=>e+1))}),1e3)),()=>{clearTimeout(e)}}),[t]),!e.isFeatureEnabled("client_user_profile"))return null;const i=r>0&&!t;return Ee(Mn,{"data-testid":"profile-container",children:[Ee("div",{className:X("h-12","px-3 border-b flex items-center"),children:[Ee("div",{className:"grow",children:Ee("h1",{className:"text-xl text-slate-7 font-normal",children:"Notifications"})}),Ee("ul",{className:"sr-only","aria-live":"polite",children:i&&Ee("li",{children:"Notification preferences saved"},r)}),r>0&&Ee(pf,{onClose:()=>o(0),children:"Saved"},r)]}),Ee(Sn,{children:Ee(zn,{size:"lg",
|
|
564
|
-
children:Ee(nr,{defaultChecked:!0,disabled:t,onChange:()=>n(!0),checkedIcon:t?_n:void 0,icon:t?_n:void 0,children:"Email me a daily summary of activity in my courses"})})})]})}function gf(){return Ee("div",{className:"flex flex-row items-center justify-center","data-testid":"loading-spinner",children:Ee(Nn,{size:"md"})})}
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
className:"
|
|
564
|
+
children:Ee(nr,{defaultChecked:!0,disabled:t,onChange:()=>n(!0),checkedIcon:t?_n:void 0,icon:t?_n:void 0,children:"Email me a daily summary of activity in my courses"})})})]})}function gf(){return Ee("div",{className:"flex flex-row items-center justify-center","data-testid":"loading-spinner",children:Ee(Nn,{size:"md"})})}var vf=gr((function({annotationsExporter:e}){const t=qi(),n=t.focusedGroup()&&!t.isLoading(),r=t.savedAnnotations(),o=r.length,i=t.countDrafts(),a=ue(null);if(!n)return Ee(gf,{});const s=(e,t)=>1===t?e:`${e}s`;return Ee(v,{children:[o>0?Ee(v,{children:[Ee("p",{"data-testid":"export-count",children:["Export"," ",Ee("strong",{children:[o," ",s("annotation",o)]})," ","in a file named:"]}),Ee(or,{"data-testid":"export-filename",id:"export-filename",defaultValue:"suggested-filename-tbd",elementRef:a})]}):Ee("p",{"data-testid":"no-annotations-message",children:"There are no annotations available for export."}),i>0&&Ee("p",{"data-testid":"drafts-message",
|
|
565
|
+
children:["You have ",i," unsaved ",s("annotation",i),o>0&&Ee(v,{children:" that will not be included"}),"."]}),Ee(In,{children:Ee(er,{"data-testid":"export-button",variant:"primary",disabled:!o,onClick:()=>{const t=`${a.current.value}.json`;!function(e,t,n=document){const r=n.createElement("a"),o=JSON.stringify(e,null,2),i=new Blob([o],{type:"application/json"}),a=URL.createObjectURL(i);r.setAttribute("href",a),r.setAttribute("download",t),r.style.visibility="hidden",n.body.appendChild(r),r.click(),n.body.removeChild(r)}(e.buildExportContent(r),t)},children:"Export"})})]})}),["annotationsExporter"]);var bf=gr((function({toastMessenger:e}){const t=qi(),n=t.mainFrame(),r=t.focusedGroup(),o=r&&n,i=o&&(a=n.uri,s=r.id,ya(a)?`https://hyp.is/go?url=${encodeURIComponent(a)}&group=${s}`:null);var a,s;const l=he((()=>{try{i&&(Aa(i),e.success("Copied share link to clipboard"))}catch(t){e.error("Unable to copy link")}}),[i,e]);return o?Ee("div",{className:"text-color-text-light space-y-3",children:i?Ee(v,{
|
|
566
|
+
children:[Ee("div",{className:"text-color-text font-medium","data-testid":"sharing-intro",children:"private"===r.type?Ee("p",{children:"Use this link to share these annotations with other group members:"}):Ee("p",{children:"Use this link to share these annotations with anyone:"})}),Ee("div",{children:Ee(On,{children:[Ee(or,{"aria-label":"Use this URL to share these annotations",type:"text",value:i,readOnly:!0}),Ee(Pn,{icon:et,onClick:l,title:"Copy share link",variant:"dark"})]})}),Ee("p",{"data-testid":"sharing-details",children:["private"===r.type?Ee("span",{children:["Annotations in the private group ",Ee("em",{children:r.name})," ","are only visible to group members."]}):Ee("span",{children:["Anyone using this link may view the annotations in the group"," ",Ee("em",{children:r.name}),"."]})," ",Ee("span",{children:["Private (",Ee(jt,{className:"inline w-em h-em ml-0.5 -mt-0.5"})," ",Ee("em",{children:"Only Me"}),") annotations are only visible to you."]})]}),Ee("div",{className:"text-[24px]",
|
|
567
|
+
children:Ee(Ia,{shareURI:i})})]}):Ee("p",{"data-testid":"no-sharing",children:"These annotations cannot be shared because this document is not available on the web."})}):Ee(gf,{})}),["toastMessenger"]);function _f({children:e}){return Ee("div",{"data-testid":"tab-header",className:"flex items-center",children:[Ee(Fn,{classes:X("order-last","text-[16px]","text-grey-6 hover:text-grey-7 hover:bg-grey-3/50"),title:"Close",variant:"custom",size:"sm"}),Ee(cr,{classes:"grow gap-x-1 -mb-[1px] z-2",children:e})]})}function yf({children:e,active:t,title:n,...r}){return Ee("div",{role:"tabpanel",...r,className:X("p-3 focus-visible-ring ring-inset",{hidden:!t}),hidden:!t,children:[n&&Ee(Un,{children:n}),Ee("div",{className:"space-y-3 pt-2",children:e})]})}function wf(){var e;const t=qi(),n=t.focusedGroup(),r=`Share Annotations in ${n&&n.name||"..."}`,o=t.isFeatureEnabled("export_annotations"),[i,a]=ae("share");return Ee(Up,{title:r,panelName:"shareGroupAnnotations",variant:o?"custom":"panel",children:[o&&Ee(v,{
|
|
568
|
+
children:[Ee(_f,{children:[Ee(lr,{id:"share-panel-tab","aria-controls":"share-panel",variant:"tab",selected:"share"===i,onClick:()=>a("share"),textContent:"Share",children:"Share"}),Ee(lr,{id:"export-panel-tab","aria-controls":"export-panel",variant:"tab",selected:"export"===i,onClick:()=>a("export"),textContent:"Export",children:"Export"})]}),Ee(Mn,{children:[Ee(yf,{id:"share-panel",active:"share"===i,"aria-labelledby":"share-panel-tab",title:r,children:Ee(bf,{})}),Ee(yf,{id:"export-panel",active:"export"===i,"aria-labelledby":"export-panel-tab",title:`Export from ${null!==(e=null==n?void 0:n.name)&&void 0!==e?e:"..."}`,children:Ee(vf,{})})]})]}),!o&&Ee(bf,{})]})}function xf({additionalCount:e,entitySingular:t,entityPlural:n,filterQuery:r,focusDisplayName:o,resultCount:i}){return Ee(v,{children:[i>0&&Ee("span",{children:"Showing "}),Ee("span",{className:"whitespace-nowrap font-bold",children:[i>0?i:"No"," ",1===i?t:n]}),r&&Ee("span",{children:[" ","for ",Ee("span",{className:"break-words",children:`'${r}'`
|
|
569
|
+
})]}),o&&Ee("span",{children:[" ","by"," ",Ee("span",{className:"whitespace-nowrap font-bold",children:o})]}),e>0&&Ee("span",{className:"whitespace-nowrap italic text-color-text-light",children:[" ","(and ",e," more)"]})]})}function kf(){const e=qi(),t=Ap(),n=e.annotationCount(),r=e.directLinkedAnnotationId(),o=e.filterQuery(),i=e.focusState(),a=e.forcedVisibleThreads().length,s=e.selectedAnnotations().length,l=de((()=>s>0?"selection":o?"query":i.configured?"focus":null),[s,o,i]),c=de((()=>"selection"===l?s:pa(t)-a),[l,s,t,a]),u=de((()=>{if("selection"===l){return(t.children||[]).filter((e=>e.annotation&&e.visible)).length-s}return a}),[l,a,t.children,s]),d=de((()=>{if("selection"===l){return!i.configured&&!r?`Show all (${n})`:"Show all"}return"focus"===l?a>0?"Reset filters":i.active?"Show all":`Show only ${i.displayName}`:"Clear search"}),[n,r,i,l,a]);return Ee("div",{className:X("mb-3",{"sr-only":!l}),"data-testid":"filter-status-container",children:Ee(Mn,{children:Ee(zn,{children:e.isLoading()?Ee(Nn,{
|
|
570
|
+
size:"md"}):Ee("div",{className:"flex items-center justify-center space-x-1",children:[Ee("div",{className:X("grow min-w-[0]"),role:"status",children:l&&Ee(xf,{additionalCount:u,entitySingular:"query"===l?"result":"annotation",entityPlural:"query"===l?"results":"annotations",filterQuery:o,focusDisplayName:"selection"!==l&&i.active?i.displayName:"",resultCount:c})}),l&&Ee(er,{onClick:"focus"!==l||a?()=>e.clearSelection():()=>e.toggleFocusMode(),size:"sm",title:d,variant:"primary","data-testid":"clear-button",children:["focus"!==l&&Ee(Le,{}),d]})]})})})})}function Sf({onLogin:e}){const t=qi();return Ee("div",{className:"flex flex-col items-center m-6 space-y-6",children:[Ee("span",{className:"text-center",children:["This is a public annotation created with Hypothesis. ",Ee("br",{}),"To reply or make your own annotations on this document,"," ",Ee(ir,{variant:"text",href:t.getLink("signup"),target:"_blank",underline:"always",children:"create a free account"})," ","or"," ",Ee(ar,{inline:!0,color:"text",onClick:e,
|
|
571
|
+
underline:"always",children:"log in"}),"."]}),Ee("div",{children:Ee(ir,{href:"https://hypothes.is","aria-label":"Hypothesis homepage",target:"_blank",title:"Hypothesis homepage",underline:"none",variant:"custom",children:Ee($t,{className:"w-16 h-16 text-grey-7"})})})]})}function Nf({onLogin:e,onSignUp:t}){return qi().isLoggedIn()?null:Ee(Up,{icon:sn,title:"Login needed",panelName:"loginPrompt",children:[Ee("p",{children:"Please log in to create annotations or highlights."}),Ee(In,{children:[Ee(er,{title:"Sign up",onClick:t,children:"Sign up"}),Ee(er,{title:"Log in",variant:"primary",onClick:e,children:"Log in"})]})]})}function Ef({children:e,count:t,isWaitingToAnchor:n,isSelected:r,label:o,onSelect:i}){const a=()=>{r||i()},s=t>0?`${o} (${t} available)`:o;return Ee(ar,{classes:X("bg-transparent min-w-[5.25rem]",{"font-bold":r}),color:"text",onClick:a,onMouseDown:a,pressed:!!r,role:"tab",tabIndex:0,title:s,underline:"none",children:Ee(v,{children:[e,t>0&&!n&&Ee("span",{
|
|
572
|
+
className:"relative bottom-[3px] left-[2px] text-[10px]",children:t})]})})}var Tf=gr((function({annotationsService:e,isLoading:t,settings:n}){const r=qi(),o=r.selectedTab(),i=r.noteCount(),a=r.annotationCount(),s=r.orphanCount(),l=r.isWaitingToAnchorAnnotations(),c=e=>{r.clearSelection(),r.selectTab(e)},u="annotation"===o&&0===a&&!l,d="note"===o&&0===i;return Ee("div",{className:X("space-y-3 pb-[9px]"),children:[Ee("div",{className:"flex gap-x-6 theme-clean:ml-[15px]",role:"tablist",children:[Ee(Ef,{count:a,isWaitingToAnchor:l,isSelected:"annotation"===o,label:"Annotations",onSelect:()=>c("annotation"),children:"Annotations"}),Ee(Ef,{count:i,isWaitingToAnchor:l,isSelected:"note"===o,label:"Page notes",onSelect:()=>c("note"),children:"Page Notes"}),s>0&&Ee(Ef,{count:s,isWaitingToAnchor:l,isSelected:"orphan"===o,label:"Orphans",onSelect:()=>c("orphan"),children:"Orphans"})]}),"note"===o&&n.enableExperimentalNewNoteButton&&Ee("div",{className:"flex justify-end",children:Ee(er,{"data-testid":"new-note-button",
|
|
573
|
+
onClick:()=>e.createPageNote(),variant:"primary",style:pr(["ctaBackgroundColor"],n),children:[Ee(Wt,{}),"New note"]})}),!t&&d&&Ee(Mn,{"data-testid":"notes-unavailable-message",variant:"flat",children:Ee(zn,{classes:"text-center",children:"There are no page notes in this group."})}),!t&&u&&Ee(Mn,{"data-testid":"annotations-unavailable-message",variant:"flat",children:Ee(zn,{classes:"text-center !space-y-1",children:[Ee("p",{children:"There are no annotations in this group."}),Ee("p",{children:["Create one by selecting some text and clicking the"," ",Ee(Ae,{className:"w-em h-em inline m-0.5 -mt-0.5",title:"Annotate"})," ","button."]})]})})]})}),["annotationsService","settings"]);var Af=gr((function({frameSync:e,onLogin:t,onSignUp:n,loadAnnotationsService:r,streamer:o}){
|
|
573
574
|
const i=Ap(),a=qi(),s=a.focusedGroupId(),l=a.hasAppliedFilter()||a.hasSelectedAnnotations(),c=a.isLoading(),u=a.isLoggedIn(),d=a.directLinkedAnnotationId(),h=d?a.findAnnotationByID(d):void 0,m=h?fp(h):"annotation",p=a.searchUris(),f=a.hasSidebarOpened(),g=a.profile().userid,v=!(c||!d)&&!h,b=a.directLinkedGroupFetchFailed(),_=v||b,y=!_,w=!_&&!l,x=d&&!u&&!v&&!c,k=ue(s);le((()=>{if(!k.current||k.current!==s){if(k.current){const e=a.focusState().active;a.clearSelection(),e&&a.toggleFocusMode(!0)}k.current=s}s&&p.length&&r.load({groupId:s,uris:p})}),[a,r,s,g,p]),le((()=>{h&&!1===h.$orphan?(e.hoverAnnotation(h),e.scrollToAnnotation(h),a.selectTab(m)):h&&a.selectTab(m)}),[m,e,h,a]);const S=a.hasFetchedProfile();return le((()=>{S&&(f||u)&&o.connect({applyUpdatesImmediately:!1})}),[S,u,f,o]),Ee("div",{children:[Ee("h2",{className:"sr-only",children:"Annotations"}),y&&Ee(kf,{}),Ee(Nf,{onLogin:t,onSignUp:n}),v&&Ee($i,{errorType:"annotation",onLoginRequest:t,showClearSelection:!0}),b&&Ee($i,{errorType:"group",
|
|
574
575
|
onLoginRequest:t}),w&&Ee(Tf,{isLoading:c}),Ee(ep,{threads:i.children}),x&&Ee(Sf,{onLogin:t})]})}),["frameSync","loadAnnotationsService","streamer"]);var Cf=gr((function({api:e,toastMessenger:t}){const n=qi(),r=n.routeParams().q,o=he((async t=>{const r={_separate_replies:!0,offset:0,limit:20,...op(t)};try{n.annotationFetchStarted();const t=await e.search(r);n.addAnnotations([...t.rows,...t.replies])}finally{n.annotationFetchFinished()}}),[e,n]);return le((()=>{n.setSortKey("Newest"),n.clearAnnotations(),o(null!=r?r:"").catch((e=>{t.error(`Unable to fetch annotations: ${e.message}`)}))}),[r,o,n,t]),Ee(ep,{threads:Ap().children})}),["api","toastMessenger"]);function Mf({message:e,onDismiss:t}){const n="notice"!==e.type?`${e.type.charAt(0).toUpperCase()+e.type.slice(1)}: `:"";return Ee(Tn,{classes:X({"sr-only":e.visuallyHidden}),status:e.type,onClick:()=>t(e.id),variant:"raised",children:[Ee("strong",{children:n}),e.message,e.moreInfoURL&&Ee("div",{className:"text-right",children:Ee(ir,{href:e.moreInfoURL,
|
|
575
576
|
onClick:e=>e.stopPropagation(),target:"_new",underline:"none",children:"More info"})})]})}function If({messages:e,onMessageDismiss:t}){return Ee("div",{children:Ee("ul",{"aria-live":"polite","aria-relevant":"additions",className:X("z-10","absolute left-0 w-full"),children:e.map((e=>Ee("li",{className:X("relative w-full container",{"mb-2":!e.visuallyHidden,"motion-safe:animate-slide-in-from-right lg:animate-fade-in":!e.isDismissed,"motion-reduce:animate-fade-in":!e.isDismissed,"animate-fade-out":e.isDismissed}),children:Ee(Mf,{message:e,onDismiss:t})},e.id)))})})}var zf=gr((function({toastMessenger:e}){return Ee(If,{messages:qi().getToastMessages(),onMessageDismiss:t=>e.dismiss(t)})}),["toastMessenger"]);function Rf(e){return e.organization&&e.organization.name}const Lf="__default__";function Of(e){const t={};return e.forEach((e=>{if("object"!=typeof e.organization)return;const n=(r=e.organization).id===Lf?Lf:`${r.name.toLowerCase()}${r.id}`;var r;void 0===t[n]&&(t[n]={...e.organization,groups:[]}),
|
|
@@ -590,7 +591,7 @@ message:"Method not found"}};e.params?t(...e.params):t();return{jsonrpc:"2.0",re
|
|
|
590
591
|
this._activity=e,this._api=t,this._store=n}_applyDraftChanges(e){const t={},n=this._store.getDraft(e);return n&&(t.tags=n.tags,t.text=n.text,t.permissions=n.isPrivate?wa(e.user):xa(e.user,e.group)),{...e,...t}}_initialize(e,t){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:${Kf(8)}`,l=Object.assign({created:t.toISOString(),group:r,permissions:ka(i,r,n),tags:[],text:"",updated:t.toISOString(),user:i,user_info:a,$tag:s,hidden:!1,links:{},document:{title:""}},e);return ao(l)&&(l.permissions=wa(i)),l}create(e,t=new Date){const n=this._initialize(e,t);this._store.addAnnotations([n]),this._store.deleteNewAndEmptyDrafts(),ao(n)||this._store.createDraft(n,{tags:n.tags,text:n.text,isPrivate:!no(n)}),lo(n)?this._store.selectTab("note"):co(n)&&this._store.selectTab("annotation"),
|
|
591
592
|
(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:[],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:no(e)?xa(t,e.group):wa(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;eo(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{this._store.annotationSaveFinished(e)}
|
|
592
593
|
for(const[t,n]of Object.entries(e))if(t.startsWith("$")){o[t]=n}return this._store.removeDraft(e),this._store.addAnnotations([o]),o}}function hg(e){const t={};for(const[n,r]of Object.entries(e))n.startsWith("$")||(t[n]=r);return t}dg.$inject=["annotationActivity","api","store"];class mg{constructor(e){H(this,"_store",void 0),this._store=e}buildExportContent(e,t=new Date){var n;const r=this._store.profile(),o=new Mp(r,[]);return{export_date:t.toISOString(),export_userid:null!==(n=r.userid)&&void 0!==n?n:"",client_version:o.version,annotations:e.map(hg)}}}mg.$inject=["store"];class pg extends Error{constructor(e,t,n=""){let r="Network request failed";t&&(r+=` (${t.status})`),n&&(r+=`: ${n}`),super(r),H(this,"url",void 0),H(this,"response",void 0),H(this,"reason",void 0),this.url=e,this.response=t,this.reason=n}}async function fg(e,t){let n,r;try{n=await fetch(e,t)}catch(t){throw new pg(e,null,t.message)}if(204===n.status)return null;try{r=await n.json()}catch(t){throw new pg(e,n,"Failed to parse response")}
|
|
593
|
-
var o;if(!n.ok)throw new pg(e,n,null===(o=r)||void 0===o?void 0:o.reason);return r}class gg{constructor(e,t,n){H(this,"_clientId",void 0),H(this,"search",void 0),H(this,"annotation",void 0),H(this,"group",void 0),H(this,"groups",void 0),H(this,"profile",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.
|
|
594
|
+
var o;if(!n.ok)throw new pg(e,n,null===(o=r)||void 0===o?void 0:o.reason);return r}class gg{constructor(e,t,n){H(this,"_clientId",void 0),H(this,"search",void 0),H(this,"annotation",void 0),H(this,"group",void 0),H(this,"groups",void 0),H(this,"profile",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.1328.0"};i&&(c.Authorization="Bearer "+i);const u=r();u&&(c["X-Client-Id"]=u);const{url:d,unusedParams:h}=fi(l.url,a),m=new URL(d);for(const[e,t]of Object.entries(h)){const n=Array.isArray(t)?t:[t]
|
|
594
595
|
;for(const t of n)null!=t&&m.searchParams.append(e,t.toString())}return await fg(m.toString(),{body:s?JSON.stringify(hg(s)):null,headers:c,method:l.method})}finally{i()}}}(r,e,{getAccessToken:()=>t.getAccessToken(),getClientId:o,onRequestStarted:n.apiRequestStarted,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")}}setClientId(e){this._clientId=e}}gg.$inject=["apiRoutes","auth","store"];var vg={};function bg(e,t){"boolean"==typeof t&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},
|
|
595
596
|
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,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}var _g=bg;bg.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)},bg.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null},bg.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
|
|
596
597
|
;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),this._options.unref&&this._timer.unref(),!0},bg.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)},bg.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)},bg.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)},bg.prototype.start=bg.prototype.try,bg.prototype.errors=function(){return this._errors},bg.prototype.attempts=function(){return this._attempts},bg.prototype.mainError=function(){
|
|
@@ -699,8 +700,8 @@ case"update":case"past":this._store.receiveRealTimeUpdates({updatedAnnotations:e
|
|
|
699
700
|
const e=new URL(t);e.searchParams.set("access_token",n),r=e.toString()}else r=t;const o=new Fy(r);o.on("open",(()=>{this._reconnectionAttempts=0,this._sendClientConfig(o)})),o.on("disconnect",(()=>{if(++this._reconnectionAttempts,this._reconnectionAttempts<10){const e=1e3*2**this._reconnectionAttempts;setTimeout((()=>this._reconnect()),e)}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,Pg(this._store.subscribe,(()=>this._store.profile().userid),(()=>this._reconnect()))),this._socket||await this._reconnect()}}Hy.$inject=["store","apiRoutes","auth","groups","session"]
|
|
700
701
|
;const Uy="hypothesis.user.tags.list",jy="hypothesis.user.tags.map";class qy{constructor(e){H(this,"_storage",void 0),this._storage=e}filter(e,t=null){const n=this._storage.getObject(Uy)||[];let r=0;return n.filter((n=>{if(null!==t&&r>=t)return!1;const o=n.split(/\W+/),i=new RegExp(`^${og(e)}`,"i");return!(!o.some((e=>e.match(i)))&&!n.match(i))&&(++r,!0)}))}store(e){const t=this._storage.getObject(jy)||{};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(jy,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(Uy,n)}}qy.$inject=["localStorage"];class $y{constructor(e){H(this,"_store",void 0),this._store=e}forceVisible(e){e.children.forEach((e=>{this.forceVisible(e)})),e.visible||this._store.setForcedVisible(e.id,!0)}}$y.$inject=["store"];class Gy extends Qp{constructor(e,t){super(),H(this,"_store",void 0),H(this,"_window",void 0),
|
|
701
702
|
H(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){const t=this._store.getToastMessage(e);t&&!t.isDismissed&&(this._store.updateToastMessage({...t,isDismissed:!0}),this.emit("toastMessageDismissed",e),setTimeout((()=>{this._store.removeToastMessage(e)}),500))}_addMessage(e,t,{autoDismiss:n=!0,moreInfoURL:r="",visuallyHidden:o=!1,delayed:i=!1}={}){if(this._store.hasToastMessage(e,t))return;if(i&&!this._window.document.hasFocus()){const i={autoDismiss:n,moreInfoURL:r,visuallyHidden:o};return void this._delayedMessageQueue.push({type:e,messageText:t,options:i})}const a=Kf(10),s={type:e,id:a,message:t,moreInfoURL:r,visuallyHidden:o};this._store.addToastMessage({isDismissed:!1,...s}),this.emit("toastMessageAdded",s),n&&setTimeout((()=>{this.dismiss(a)}),5e3)}error(e,t){
|
|
702
|
-
this._addMessage("error",e,t)}success(e,t){this._addMessage("success",e,t)}notice(e,t){this._addMessage("notice",e,t)}}Gy.$inject=["store","$window"];const Vy=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),Yy=function(e){const{version:t,origin:n}=Zf(e.location.href);return"1.
|
|
703
|
-
e.init(),t.init(),n.init()}function Zy(e,t){"sidebar"===t.route()&&e.connect()}Vy.sentry&&Yy&&function(e){const t=function(){const e=import.meta.url;return e?new URL(e).origin:null}(),n=t?[t]:void 0;Ry({dsn:e.dsn,environment:e.environment,allowUrls:n,ignoreErrors:["Network request failed","Object Not Found Matching Id"],release:"1.
|
|
703
|
+
this._addMessage("error",e,t)}success(e,t){this._addMessage("success",e,t)}notice(e,t){this._addMessage("notice",e,t)}}Gy.$inject=["store","$window"];const Vy=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),Yy=function(e){const{version:t,origin:n}=Zf(e.location.href);return"1.1328.0"!==t?(console.warn(`The Hypothesis sidebar is using a different version (1.1328.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 Wy(e,t){e.setClientId(t.clientId)}function Ky(e,t,n){e.load(),t.load(),n.sync()}function Xy(e,t,n){
|
|
704
|
+
e.init(),t.init(),n.init()}function Zy(e,t){"sidebar"===t.route()&&e.connect()}Vy.sentry&&Yy&&function(e){const t=function(){const e=import.meta.url;return e?new URL(e).origin:null}(),n=t?[t]:void 0;Ry({dsn:e.dsn,environment:e.environment,allowUrls:n,ignoreErrors:["Network request failed","Object Not Found Matching Id"],release:"1.1328.0",beforeSend:(e,t)=>{if(Oy>=5)return rg("Client-side Sentry quota reached. No further Sentry events will be sent"),null;++Oy;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{c_("host_config",Zf(window.location.href))}catch(e){}c_("loaded_scripts",Array.from(document.querySelectorAll("script")).filter((e=>!e.type||e.type.match(/javascript|module/))).map((e=>e.src||"<inline>"))),Ig(((e,t)=>{l_(e,{tags:{context:t}})}))}(Vy.sentry),function(e){e.addEventListener("click",(e=>{const t=e.target;"A"===t.tagName&&"_blank"===t.target&&(t.rel="noopener")}))
|
|
704
705
|
}(document.body),Wy.$inject=["api","streamer"],Ky.$inject=["groups","session","router"],Xy.$inject=["autosaveService","persistedDefaults","serviceURL"],Zy.$inject=["frameSync","store"];const Qy=document.querySelector("hypothesis-app");!function(e=window){e.addEventListener("message",cg)}(),async function(e,t=window){const n=function(e){const t=Zf(e.location.href),n=["annotations","group","query","appType","openSidebar","showHighlights","services","branding","enableExperimentalNewNoteButton","focus","requestConfigFromFrame","theme","usernameUrl"],r={openSidebar:Qf,requestConfigFromFrame:e=>{if("string"==typeof e)return e;const t=function(e){return"object"==typeof e&&null!==e?e:{}}(e);return{origin:eg(t.origin),ancestorLevel:Jf(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
|
|
705
706
|
;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:tg(n.ancestorLevel,t),origin:n.origin}}(n,t);let o;if(r){const e=await async function(e,t){return{...await Xf(t.targetFrame,t.origin,"requestConfig",[],3e3),...e.group?{group:e.group}:{}}}(n,r);o=function(e,t){const n=e.services;return Array.isArray(n)?(n.forEach(((e,n)=>{"$rpc:requestGroups"===e.groups&&(e.groups=Xf(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=hr(e);if(!t)return e.apiUrl;if(t.apiUrl)return t.apiUrl;throw new Error("Service should contain an apiUrl value.")}(i),i}(Vy).then((e=>{!function(e,t){const n=new $
|
|
706
707
|
;n.register("annotationsExporter",mg).register("annotationsService",dg).register("annotationActivity",ug).register("api",gg).register("apiRoutes",kg).register("auth",Eg).register("autosaveService",Tg).register("frameSync",Hg).register("groups",qg).register("loadAnnotationsService",$g).register("localStorage",Vg).register("persistedDefaults",Wg).register("router",Kg).register("serviceURL",Xg).register("session",Py).register("streamer",Hy).register("streamFilter",By).register("tags",qy).register("threadsService",$y).register("toastMessenger",Gy).register("store",{factory:ji}),n.register("$window",{value:window}).register("settings",{value:e}),n.run(Xy),n.run(Wy),n.run(Ky),n.run(lg),n.run(Zy),B(Ee(fr.Provider,{value:n,children:Ee(Vf,{})}),t)}(e,Qy)})).catch((e=>function(e,t){console.error("Failed to start Hypothesis client: ",e),B(Ee(Yf,{error:e}),t)}(e,Qy)));
|