hypothesis 1.1373.0 → 1.1374.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?f97f86","styles/annotator.css":"styles/annotator.css?ea5d97","styles/highlights.css":"styles/highlights.css?6b4ebd","styles/annotator.css.map":"styles/annotator.css.map?1e746d","styles/highlights.css.map":"styles/highlights.css.map?241350","styles/katex.min.css.map":"styles/katex.min.css.map?cd8c0e","styles/pdfjs-overrides.css":"styles/pdfjs-overrides.css?c95edf","styles/katex.min.css":"styles/katex.min.css?e179ab","styles/pdfjs-overrides.css.map":"styles/pdfjs-overrides.css.map?1d8ac6","styles/sidebar.css.map":"styles/sidebar.css.map?5d5f84","styles/sidebar.css":"styles/sidebar.css?84392c","styles/ui-playground.css.map":"styles/ui-playground.css.map?54e020","styles/ui-playground.css":"styles/ui-playground.css?1a49f2","scripts/sidebar.bundle.js":"scripts/sidebar.bundle.js?3ccd55","scripts/annotator.bundle.js.map":"scripts/annotator.bundle.js.map?573ccf","scripts/ui-playground.bundle.js":"scripts/ui-playground.bundle.js?2e79e4","scripts/ui-playground.bundle.js.map":"scripts/ui-playground.bundle.js.map?f4c017","scripts/sidebar.bundle.js.map":"scripts/sidebar.bundle.js.map?21296f"};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.1373.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/.")}();
1
+ !function(){"use strict";var s={"scripts/annotator.bundle.js":"scripts/annotator.bundle.js?f1738e","styles/annotator.css.map":"styles/annotator.css.map?1e746d","styles/annotator.css":"styles/annotator.css?ea5d97","styles/highlights.css":"styles/highlights.css?6b4ebd","styles/highlights.css.map":"styles/highlights.css.map?241350","styles/katex.min.css.map":"styles/katex.min.css.map?cd8c0e","styles/katex.min.css":"styles/katex.min.css?e179ab","styles/pdfjs-overrides.css":"styles/pdfjs-overrides.css?c95edf","styles/pdfjs-overrides.css.map":"styles/pdfjs-overrides.css.map?1d8ac6","styles/sidebar.css.map":"styles/sidebar.css.map?5d5f84","styles/sidebar.css":"styles/sidebar.css?84392c","styles/ui-playground.css.map":"styles/ui-playground.css.map?54e020","styles/ui-playground.css":"styles/ui-playground.css?1a49f2","scripts/sidebar.bundle.js":"scripts/sidebar.bundle.js?41e60d","scripts/annotator.bundle.js.map":"scripts/annotator.bundle.js.map?573ccf","scripts/ui-playground.bundle.js":"scripts/ui-playground.bundle.js?2e79e4","scripts/ui-playground.bundle.js.map":"scripts/ui-playground.bundle.js.map?f4c017","scripts/sidebar.bundle.js.map":"scripts/sidebar.bundle.js.map?103964"};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.1374.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/.")}();
@@ -1,20 +1,20 @@
1
1
  {
2
- "scripts/annotator.bundle.js": "scripts/annotator.bundle.js?f97f86",
2
+ "scripts/annotator.bundle.js": "scripts/annotator.bundle.js?f1738e",
3
+ "styles/annotator.css.map": "styles/annotator.css.map?1e746d",
3
4
  "styles/annotator.css": "styles/annotator.css?ea5d97",
4
5
  "styles/highlights.css": "styles/highlights.css?6b4ebd",
5
- "styles/annotator.css.map": "styles/annotator.css.map?1e746d",
6
6
  "styles/highlights.css.map": "styles/highlights.css.map?241350",
7
7
  "styles/katex.min.css.map": "styles/katex.min.css.map?cd8c0e",
8
- "styles/pdfjs-overrides.css": "styles/pdfjs-overrides.css?c95edf",
9
8
  "styles/katex.min.css": "styles/katex.min.css?e179ab",
9
+ "styles/pdfjs-overrides.css": "styles/pdfjs-overrides.css?c95edf",
10
10
  "styles/pdfjs-overrides.css.map": "styles/pdfjs-overrides.css.map?1d8ac6",
11
11
  "styles/sidebar.css.map": "styles/sidebar.css.map?5d5f84",
12
12
  "styles/sidebar.css": "styles/sidebar.css?84392c",
13
13
  "styles/ui-playground.css.map": "styles/ui-playground.css.map?54e020",
14
14
  "styles/ui-playground.css": "styles/ui-playground.css?1a49f2",
15
- "scripts/sidebar.bundle.js": "scripts/sidebar.bundle.js?3ccd55",
15
+ "scripts/sidebar.bundle.js": "scripts/sidebar.bundle.js?41e60d",
16
16
  "scripts/annotator.bundle.js.map": "scripts/annotator.bundle.js.map?573ccf",
17
17
  "scripts/ui-playground.bundle.js": "scripts/ui-playground.bundle.js?2e79e4",
18
18
  "scripts/ui-playground.bundle.js.map": "scripts/ui-playground.bundle.js.map?f4c017",
19
- "scripts/sidebar.bundle.js.map": "scripts/sidebar.bundle.js.map?21296f"
19
+ "scripts/sidebar.bundle.js.map": "scripts/sidebar.bundle.js.map?103964"
20
20
  }
@@ -138,7 +138,7 @@ this._sidebarRPC.on("hoverAnnotations",(t=>this._hoverAnnotations(t))),this._sid
138
138
  this._bucketBarClient.destroy(),null===(t=this._clusterToolbar)||void 0===t||t.destroy(),function(t){Xn(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=ar(t);if(!n)return;const i=$n(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)&&Yn(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=Ln.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)
139
139
  ;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&&Xn(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}))),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),lr(),s}_hoverAnnotations(t){this._hoveredAnnotations.clear(),
140
140
  t.forEach((t=>this._hoveredAnnotations.add(t)));for(const e of this.anchors)if(e.highlights){const n=t.includes(e.annotation.$tag);Yn(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=Hn(n),o=qn(n);o?(this.selectedRanges=[e],this._hostRPC.call("textSelected"),this._adder.annotationsForSelection=rr(),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")}setHighlightsVisible(t,e=!0){!function(t,e){t.classList.toggle("hypothesis-highlights-always-on",e)
141
- }(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){oe(t,"Ctrl+Shift+H")&&this.setHighlightsVisible(!this._highlightsVisible)}}function ur(t,e){const n=new URL(t),i=new URLSearchParams;return i.append("config",JSON.stringify(e)),n.hash=i.toString(),n.toString()}function dr(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.1373.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),
141
+ }(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){oe(t,"Ctrl+Shift+H")&&this.setHighlightsVisible(!this._highlightsVisible)}}function ur(t,e){const n=new URL(t),i=new URLSearchParams;return i.append("config",JSON.stringify(e)),n.hash=i.toString(),n.toString()}function dr(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.1374.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),
142
142
  t.onProfileRequest&&(t.onProfileRequestProvided=!0),t.onHelpRequest&&(t.onHelpRequestProvided=!0)}return i}function fr({config:t,groupId:e}){return me("iframe",{title:"Hypothesis annotation notebook",className:"h-full w-full border-0",allowFullScreen:!0,src:ur(t.notebookAppUrl,{...dr(t.notebookAppUrl,t),group:e})})}function pr({eventBus:t,config:e}){const[n,i]=Wt(0),[o,r]=Wt(!0),[s,a]=Wt(null),l=jt(""),c=jt(null);zt((()=>(l.current=document.body.style.overflow,()=>{document.body.style.overflow=l.current})),[]),zt((()=>{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:me("div",{className:fe("fixed z-max top-0 left-0 right-0 bottom-0 p-3 bg-black/50",{hidden:o}),"data-testid":"notebook-outer",children:me("div",{className:"relative w-full h-full","data-testid":"notebook-inner",children:[me("div",{className:"absolute right-0 m-3",children:me(tn,{
143
143
  title:"Close the Notebook",onClick:()=>{var t;r(!0),null===(t=c.current)||void 0===t||t.publish("closeNotebook")},variant:"dark",classes:fe("!bg-transparent enabled:hover:!bg-grey-3"),children:me(Ce,{className:"w-4 h-4"})})}),me(fr,{config:e,groupId:s},n)]})})}class mr{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=xn(this._outerContainer),Rt(me(pr,{eventBus:e,config:i}),this._shadowRoot)}destroy(){Rt(null,this._shadowRoot),this._outerContainer.remove()}}function gr({eventBus:t,config:e}){const[n,i]=Wt(!0),o=jt(null);zt((()=>{const e=t.createEmitter();return e.subscribe("openProfile",(()=>{i(!1)})),o.current=e,()=>{e.destroy()}}),[t]);return n?null:me("div",{className:"fixed z-max top-0 left-0 right-0 bottom-0 p-3 bg-black/50","data-testid":"profile-outer",children:me("div",{className:"relative w-full h-full","data-testid":"profile-inner",
144
144
  children:[me("div",{className:"absolute right-0 m-3",children:me(tn,{title:"Close the Profile",onClick:()=>{var t;i(!0),null===(t=o.current)||void 0===t||t.publish("closeProfile")},variant:"dark",classes:fe("!bg-transparent enabled:hover:!bg-grey-3"),children:me(Ce,{className:"w-4 h-4"})})}),me("iframe",{title:"Hypothesis profile",className:"h-full w-full border-0",src:e.profileAppUrl})]})})}class _r{constructor(t,e,i){n(this,"_outerContainer",void 0),n(this,"shadowRoot",void 0),this._outerContainer=document.createElement("hypothesis-profile"),t.appendChild(this._outerContainer),this.shadowRoot=xn(this._outerContainer),Rt(me(gr,{eventBus:e,config:i}),this.shadowRoot)}destroy(){Rt(null,this.shadowRoot),this._outerContainer.remove()}}var vr={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)}
@@ -549,7 +549,7 @@ return Ka([e]).reduce(((e,t)=>t.created>e?t.created:e),"")}function Qp(e){return
549
549
  ;function nf(e){return function(e){return e.replace(tf,"")}((t=e,t.normalize("NFKD"))).toLowerCase();var t}class rf{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 of{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 af(e){return{fieldValues:e,matches:(e,t)=>e.includes(t),normalize:nf}}const sf={quote:af((e=>{var t;return[null!==(t=qo(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:af((e=>e.tags)),text:af((e=>[e.text])),uri:af((e=>[e.uri])),user:af((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 lf=function(e){
550
550
  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:ef[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=Pp(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"
551
551
  },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 rf(t,sf[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 of("or",e.map((e=>n(e,t))))))}else r=t.terms.map((t=>n(e,t)));return new of(t.operator,r)})),o=new of("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)&&Kp(n)===r);var n,r}),Wp(e.annotations,n)}));function cf(){const e=ka(),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 lf(a)}var uf=Vr((function({loadAnnotationsService:e,onLogin:t}){var n
552
- ;const r=ka(),o=null!==(n=r.routeParams().id)&&void 0!==n?n:"",i=cf(),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]),Re(v,{children:[s&&Re(Na,{errorType:"annotation",onLoginRequest:t}),Re(Lp,{threads:i.children})]})}),["loadAnnotationsService"]);class df{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.1373.0",this.userAgent=n.navigator.userAgent,this.urls=t.map((e=>e.uri)).join(", ")||a,
552
+ ;const r=ka(),o=null!==(n=r.routeParams().id)&&void 0!==n?n:"",i=cf(),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]),Re(v,{children:[s&&Re(Na,{errorType:"annotation",onLoginRequest:t}),Re(Lp,{threads:i.children})]})}),["loadAnnotationsService"]);class df{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.1374.0",this.userAgent=n.navigator.userAgent,this.urls=t.map((e=>e.uri)).join(", ")||a,
553
553
  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 hf="complete",mf="canceled";function pf(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){
554
554
  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 pf(e,r.x,r.y),
555
555
  e._scrollSettings=null,t.end(hf);var a=1-t.ease(i);if(pf(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 gf(e){return e.self===e}function vf(e){return"pageXOffset"in e||(e.scrollHeight!==e.clientHeight||e.scrollWidth!==e.clientWidth)&&"hidden"!==getComputedStyle(e).overflow}function bf(){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 yf=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||{}
@@ -572,11 +572,11 @@ className:"flex items-center lg:justify-self-end text-md font-medium",children:[
572
572
  size:"lg",children:Re(wr,{defaultChecked:!0,disabled:t,onChange:()=>n(!0),checkedIcon:t?jn:void 0,icon:t?jn:void 0,children:"Email me a daily summary of activity in my courses"})})})]})}function Kf({annotations:e,getDisplayName:t,excludeReplies:n=!1}){const r=new Map;for(const o of e){if(n&&Mo(o))continue;let e=r.get(o.user);e||(e={userid:o.user,displayName:t(o),annotations:[]},r.set(o.user,e)),e.annotations.push(o)}const o=[...r.values()];return o.sort(((e,t)=>e.displayName.localeCompare(t.displayName))),o}function Xf(e){return`${e.getFullYear()}-${`${e.getMonth()+1}`.padStart(2,"0")}-${`${e.getDate()}`.padStart(2,"0")}`}function Zf({documentMetadata:e,groupName:t,date:n=new Date}){const r=[Xf(n)];return null!=e&&e.title?r.push(function(e,t){const n=Array.from(e);return n.length<=t?e:n.slice(0,t).join("")}(e.title,50)):r.push("Hypothesis"),t&&r.push(t.replace(/ /g,"-")),r.join("-")}function Jf(){return Re("div",{className:"flex flex-row items-center justify-center","data-testid":"loading-spinner",
573
573
  children:Re(dr,{size:"md"})})}function Qf({userAnnotations:e}){return Re("div",{className:"flex gap-x-2",children:[e.displayName,Re("div",{className:"rounded px-1 bg-grey-7 text-white",children:e.annotations.length})]})}var eg=Vr((function({annotationsExporter:e,toastMessenger:t}){var n;const r=ka(),o=r.focusedGroup(),i=o&&!r.isLoading(),a=r.defaultContentFrame(),s=r.savedAnnotations(),l=r.defaultAuthority(),c=r.isFeatureEnabled("client_display_names"),u=he((e=>Qa(e,l,c)),[l,c]),d=de((()=>Kf({annotations:s,getDisplayName:u})),[s,u]),h=r.profile().userid,m=de((()=>({annotations:s,displayName:"All annotations"})),[s]),[p,f]=ae(null!==(n=d.find((e=>e.userid===h)))&&void 0!==n?n:m),g=pe(),b=pe(),_=r.countDrafts(),y=de((()=>Zf({documentMetadata:null==a?void 0:a.metadata,groupName:null==o?void 0:o.name})),[a,o]),[w,x]=ae();return i?Re("form",{className:"space-y-3",onSubmit:n=>{n.preventDefault();try{var r;const t=null!==(r=null==p?void 0:p.annotations)&&void 0!==r?r:s,n=`${null!=w?w:y}.json`
574
574
  ;!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(t),n)}catch(n){t.error("Exporting annotations failed")}},"data-testid":"export-form",children:[s.length>0?Re(v,{children:[Re("p",{className:"text-color-text-light mb-3",children:[Re(zr,{variant:"text-light",underline:"always",href:"https://web.hypothes.is/help/exporting-and-importing-annotations-in-the-hypothesis-web-app/",target:"_blank",children:"Learn more"})," ","about copying and exporting annotations."]}),Re("label",{"data-testid":"export-count",htmlFor:g,className:"font-medium",children:"Name of export file:"}),Re(Nr,{"data-testid":"export-filename",id:g,defaultValue:y,value:w,onChange:e=>x(e.target.value),required:!0,maxLength:250}),Re("label",{htmlFor:b,className:"block font-medium",
575
- children:["Select which user","'","s annotations to export:"]}),Re(Mr,{value:p,onChange:f,buttonId:b,buttonContent:Re(Qf,{userAnnotations:p}),children:[Re(Mr.Option,{value:m,children:()=>Re(Qf,{userAnnotations:m})}),d.map((e=>Re(Mr.Option,{value:e,children:()=>Re(Qf,{userAnnotations:e})},e.userid)))]})]}):Re("p",{"data-testid":"no-annotations-message",children:"There are no annotations available for export."}),_>0&&Re("p",{"data-testid":"drafts-message",children:["You have ",_," unsaved"," ",(k=_,N="draft",S="drafts",1===k?N:S),s.length>0&&Re(v,{children:" that will not be included"}),"."]}),Re(qe,{children:Re(Vn,{"data-testid":"export-button",variant:"primary",disabled:0===s.length,type:"submit",children:"Export"})})]}):Re(Jf,{});var k,N,S}),["annotationsExporter","toastMessenger"]);function tg(e,t=new FileReader){const{promise:n,resolve:r,reject:o}=function(){let e,t;return{promise:new Promise(((n,r)=>{e=n,t=r})),resolve:e,reject:t}}();return t.addEventListener("loadend",(e=>{try{var t,n
575
+ children:["Select which user","'","s annotations to export:"]}),Re(Mr,{value:p,onChange:f,buttonId:b,buttonContent:Re(Qf,{userAnnotations:p}),children:[Re(Mr.Option,{value:m,children:Re(Qf,{userAnnotations:m})}),d.map((e=>Re(Mr.Option,{value:e,children:Re(Qf,{userAnnotations:e})},e.userid)))]})]}):Re("p",{"data-testid":"no-annotations-message",children:"There are no annotations available for export."}),_>0&&Re("p",{"data-testid":"drafts-message",children:["You have ",_," unsaved"," ",(k=_,N="draft",S="drafts",1===k?N:S),s.length>0&&Re(v,{children:" that will not be included"}),"."]}),Re(qe,{children:Re(Vn,{"data-testid":"export-button",variant:"primary",disabled:0===s.length,type:"submit",children:"Export"})})]}):Re(Jf,{});var k,N,S}),["annotationsExporter","toastMessenger"]);function tg(e,t=new FileReader){const{promise:n,resolve:r,reject:o}=function(){let e,t;return{promise:new Promise(((n,r)=>{e=n,t=r})),resolve:e,reject:t}}();return t.addEventListener("loadend",(e=>{try{var t,n
576
576
  ;const o=null!==(t=null===(n=e.target)||void 0===n||null===(n=n.result)||void 0===n?void 0:n.toString())&&void 0!==t?t:"",i=JSON.parse(o);r(i)}catch(e){o(e)}})),t.readAsText(e),n}function ng({size:e,value:t}){const n=e-4,r=Math.PI*n;return Re("span",{className:"text-grey-3",role:"progressbar","aria-valuenow":t,style:{width:`${e}px`,height:`${e}px`,transform:"rotate(-90deg)"},children:Re("svg",{viewBox:`0 0 ${e} ${e}`,children:Re("circle",{cx:e/2,cy:e/2,r:n/2,fill:"none",stroke:"currentColor","stroke-width":2,style:{strokeDasharray:r,strokeDashoffset:r-r*(t/100)+"px",transitionDuration:"300ms",transitionProperty:"stroke-dashoffset"}})})})}function rg({onFileSelected:e,disabled:t,id:n}){const r=ue(null),[o,i]=ae(null);return Re(Vn,{variant:"custom",classes:X("w-full relative overflow-hidden border rounded","bg-grey-0 hover:bg-grey-0"),title:o?`${o}, Select a file`:"Select a file",onClick:()=>{var e;return null===(e=r.current)||void 0===e?void 0:e.click()},disabled:t,"data-testid":"file-input-proxy-button",
577
577
  children:[Re("input",{ref:r,accept:".json",id:n,type:"file",disabled:t,className:"invisible absolute w-0 h-0","aria-hidden":!0,"data-testid":"file-input",onChange:t=>{var n,r;const o=t.target.files;i(null!==(n=null==o||null===(r=o[0])||void 0===r?void 0:r.name)&&void 0!==n?n:null),null!==o&&o.length>0&&e(o[0])}}),Re("div",{className:"max-w-full pr-10 truncate","data-testid":"filename-container",children:null!=o?o:"Select a file"}),Re("div",{className:"absolute right-0 h-full p-2 border-l bg-grey-2",children:Re(Pt,{})})]})}var og=Vr((function({importAnnotationsService:e}){const[t,n]=ae(null),[r,o]=ae(null),[i,a]=ae(null),s=ka(),l=s.profile().userid,c=s.defaultAuthority(),u=s.isFeatureEnabled("client_display_names"),d=he((e=>Qa(e,c,u)),[c,u]),h=de((()=>r?Kf({annotations:r,getDisplayName:d,excludeReplies:!0}):null),[r,d]),[m,p]=ae(null),f=de((()=>{var e;return null!==(e=null==h?void 0:h.find((e=>e.userid===m)))&&void 0!==e?e:null}),[m,h]);let g;le((()=>{l&&t&&(o(null),a(null),p(null),async function(e){let t;try{
578
578
  t=await tg(e)}catch(e){throw new Error("Not a valid JSON file")}if(null===(n=t)||"object"!=typeof n||!Array.isArray(t.annotations))throw new Error("Not a valid Hypothesis JSON file");var n;return t.annotations}(t).then((e=>{o(e);const t=e.some((e=>e.user===l));p(t?l:null)})).catch((e=>{a(e.message)})))}),[l,t]),f&&(g=async()=>{e.import(f.annotations)});const b=pe(),_=pe();if(!l)return Re("p",{"data-testid":"log-in-message",children:"You must log in to import annotations."});const y=Boolean(s.focusedGroup()&&s.defaultContentFrame()&&s.hasFetchedAnnotations()&&!s.isFetchingAnnotations()&&g),w=t&&!r&&!i,x=s.importsPending(),k=s.importsTotal(),N=k-x,S=w||x>0,E=x>0?Math.round(N/k*100):null;return Re(v,{children:[Re("p",{className:"text-color-text-light mb-3",children:[Re(zr,{variant:"text-light",underline:"always",href:"https://web.hypothes.is/help/exporting-and-importing-annotations-in-the-hypothesis-web-app/",target:"_blank",children:"Learn more"})," ","about importing annotations."]}),Re("label",{htmlFor:b,
579
- className:"font-medium",children:"Select Hypothesis export file:"}),Re(rg,{onFileSelected:n,disabled:S,id:b}),h&&Re(v,{children:[Re("label",{htmlFor:_,className:"block font-medium",children:"Select which user's annotations to import:"}),Re(Mr,{value:f,onChange:e=>{var t;return p(null!==(t=null==e?void 0:e.userid)&&void 0!==t?t:null)},buttonId:_,buttonContent:f?Re(Qf,{userAnnotations:f}):Re("span",{className:"text-grey-6",children:"Select a user..."}),children:h.map((e=>Re(Mr.Option,{value:e,children:()=>Re(Qf,{userAnnotations:e})},e.userid)))})]}),i&&Re("p",{"data-testid":"error-info",children:[Re("b",{children:"Unable to find annotations to import:"})," ",i]}),Re(qe,{children:[null!==E&&Re("span",{"data-testid":"progress-text",className:"text-grey-6",children:[E,"% complete"]}),Re(Vn,{"data-testid":"import-button",disabled:!y||S,onClick:g,variant:"primary",children:[null!==E&&Re(ng,{size:22,value:E}),"Import"]})]})]})}),["importAnnotationsService"]);var ig=Vr((function({toastMessenger:e}){
579
+ className:"font-medium",children:"Select Hypothesis export file:"}),Re(rg,{onFileSelected:n,disabled:S,id:b}),h&&Re(v,{children:[Re("label",{htmlFor:_,className:"block font-medium",children:"Select which user's annotations to import:"}),Re(Mr,{value:f,onChange:e=>{var t;return p(null!==(t=null==e?void 0:e.userid)&&void 0!==t?t:null)},buttonId:_,buttonContent:f?Re(Qf,{userAnnotations:f}):Re("span",{className:"text-grey-6",children:"Select a user..."}),children:h.map((e=>Re(Mr.Option,{value:e,children:Re(Qf,{userAnnotations:e})},e.userid)))})]}),i&&Re("p",{"data-testid":"error-info",children:[Re("b",{children:"Unable to find annotations to import:"})," ",i]}),Re(qe,{children:[null!==E&&Re("span",{"data-testid":"progress-text",className:"text-grey-6",children:[E,"% complete"]}),Re(Vn,{"data-testid":"import-button",disabled:!y||S,onClick:g,variant:"primary",children:[null!==E&&Re(ng,{size:22,value:E}),"Import"]})]})]})}),["importAnnotationsService"]);var ig=Vr((function({toastMessenger:e}){
580
580
  const t=ka(),n=t.mainFrame(),r=t.focusedGroup(),o=r&&n,i=o&&(a=n.uri,s=r.id,es(a)?`https://hyp.is/go?url=${encodeURIComponent(a)}&group=${s}`:null);var a,s;const l=he((()=>{try{i&&(ls(i),e.success("Copied share link to clipboard"))}catch(t){e.error("Unable to copy link")}}),[i,e]);return o?Re("div",{className:"text-color-text-light space-y-3",children:i?Re(v,{children:[Re("div",{className:"text-color-text font-medium","data-testid":"sharing-intro",children:"private"===r.type?Re("p",{children:"Use this link to share these annotations with other group members:"}):Re("p",{children:"Use this link to share these annotations with anyone:"})}),Re("div",{children:Re(Kn,{children:[Re(Nr,{"aria-label":"Use this URL to share these annotations",type:"text",value:i,readOnly:!0}),Re(Zn,{icon:_t,onClick:l,title:"Copy share link",variant:"dark"})]})}),Re("p",{"data-testid":"sharing-details",children:["private"===r.type?Re("span",{children:["Annotations in the private group ",Re("em",{children:r.name
581
581
  })," ","are only visible to group members."]}):Re("span",{children:["Anyone using this link may view the annotations in the group"," ",Re("em",{children:r.name}),"."]})," ",Re("span",{children:["Private (",Re(un,{className:"inline w-em h-em ml-0.5 -mt-0.5"})," ",Re("em",{children:"Only Me"}),") annotations are only visible to you."]})]}),Re("div",{className:"text-[24px]",children:Re(ds,{shareURI:i})})]}):Re("p",{"data-testid":"no-sharing",children:"These annotations cannot be shared because this document is not available on the web."})}):Re(Jf,{})}),["toastMessenger"]);function ag({children:e}){return Re("div",{"data-testid":"tab-header",className:"flex items-center",children:[Re(Qn,{classes:X("order-last","text-[16px]","text-grey-6 hover:text-grey-7 hover:bg-grey-3/50"),title:"Close",variant:"custom",size:"sm"}),Re(Br,{classes:"grow gap-x-1 -mb-[1px] z-2",children:e})]})}function sg({children:e,active:t,title:n,...r}){return Re("div",{role:"tabpanel",...r,className:X("p-3 focus-visible-ring ring-inset",{
582
582
  hidden:!t}),hidden:!t,children:[n&&Re(tr,{children:n}),Re("div",{className:"space-y-3 pt-2",children:e})]})}function lg({shareTab:e,exportTab:t,importTab:n}){const r=ka().focusedGroup(),o=r&&r.name||"...",i=`Share Annotations in ${o}`,a=t||n,s=e?"share":t?"export":"import",[l,c]=ae(s),u=a&&l===s;return Re(xf,{title:i,panelName:"shareGroupAnnotations",variant:a?"custom":"panel",children:[a&&Re(v,{children:[Re(ag,{children:[e&&Re(Dr,{id:"share-panel-tab","aria-controls":"share-panel",variant:"tab",selected:"share"===l,onClick:()=>c("share"),textContent:"Share",children:"Share"}),t&&Re(Dr,{id:"export-panel-tab","aria-controls":"export-panel",variant:"tab",selected:"export"===l,onClick:()=>c("export"),textContent:"Export",children:"Export"}),n&&Re(Dr,{id:"import-panel-tab","aria-controls":"import-panel",variant:"tab",selected:"import"===l,onClick:()=>c("import"),textContent:"Import",children:"Import"})]}),Re(Ue,{classes:X({"rounded-tl-none":u}),children:[Re(sg,{id:"share-panel",active:"share"===l,
@@ -606,7 +606,7 @@ e))).catch((e=>{throw i.removeEventListener("message",l),e}))}function Dg(e){con
606
606
  user_info:a,$tag:s,hidden:!1,links:{},document:{title:""}},e);return Po(l)&&(l.permissions=ts(i)),this._settings.annotationMetadata&&(l.metadata={...this._settings.annotationMetadata}),l}create(e,t=new Date){const n=this.annotationFromData(e,t);this._store.addAnnotations([n]),this._store.deleteNewAndEmptyDrafts(),Po(n)||this._store.createDraft(n,{tags:n.tags,text:n.text,isPrivate:!Ro(n)}),Fo(n)?this._store.selectTab("note"):Ho(n)&&this._store.selectTab("annotation"),(n.references||[]).forEach((e=>{this._store.setExpanded(e,!0)}))}createPageNote(){const e=this._store.mainFrame();if(!this._store.isLoggedIn())return void this._store.openSidebarPanel("loginPrompt");if(!e)return;const t={target:[{source:e.uri}],uri:e.uri};this.create(t)}async delete(e){await this._api.annotation.delete({id:e.id}),this._activity.reportActivity("delete",e),this._store.removeAnnotations([e])}async flag(e){await this._api.annotation.flag({id:e.id}),this._activity.reportActivity("flag",e),this._store.updateFlagStatus(e.id,!0)}
607
607
  reply(e,t){const n={group:e.group,permissions:Ro(e)?ns(t,e.group):ts(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;Io(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)}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 Zg(e){const t={};for(const[n,r]of Object.entries(e))n.startsWith("$")||(t[n]=r);return t}Xg.$inject=["annotationActivity","api","settings","store"];class Jg{constructor(e){H(this,"_store",void 0),this._store=e}buildExportContent(e,t=new Date){var n;const r=this._store.profile(),o=new df(r,[]);return{export_date:t.toISOString(),export_userid:null!==(n=r.userid)&&void 0!==n?n:"",
608
608
  client_version:o.version,annotations:e.map(Zg)}}}Jg.$inject=["store"];class Qg 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 ev(e,t){let n,r;try{n=await fetch(e,t)}catch(t){throw new Qg(e,null,t.message)}if(204===n.status)return null;try{r=await n.json()}catch(t){throw new Qg(e,n,"Failed to parse response")}var o;if(!n.ok)throw new Qg(e,n,null===(o=r)||void 0===o?void 0:o.reason);return r}class tv{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
609
- ;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.1373.0"};i&&(c.Authorization="Bearer "+i);const u=r();u&&(c["X-Client-Id"]=u);const{url:d,unusedParams:h}=Ki(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 ev(m.toString(),{body:s?JSON.stringify(Zg(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={
609
+ ;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.1374.0"};i&&(c.Authorization="Bearer "+i);const u=r();u&&(c["X-Client-Id"]=u);const{url:d,unusedParams:h}=Ki(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 ev(m.toString(),{body:s?JSON.stringify(Zg(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={
610
610
  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}}tv.$inject=["apiRoutes","auth","store"];var nv={};function rv(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,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}var ov=rv;rv.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)},rv.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null},rv.prototype.retry=function(e){
611
611
  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),this._options.unref&&this._timer.unref(),!0},rv.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)
612
612
  },rv.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)},rv.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)},rv.prototype.start=rv.prototype.try,rv.prototype.errors=function(){return this._errors},rv.prototype.attempts=function(){return this._attempts},rv.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=ov;e.operation=function(n){var r=e.timeouts(n);return new t(r,{forever:n&&(n.forever||n.retries===1/0),unref:n&&n.unref,maxRetryTime:n&&n.maxRetryTime})},e.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1e3,maxTimeout:1/0,randomize:!1};for(var n in e)t[n]=e[n];if(t.minTimeout>t.maxTimeout)throw new Error("minTimeout is greater than maxTimeout")
@@ -716,8 +716,8 @@ jg("Error connecting to H push notification service:",t);const n=new URL(e).host
716
716
  }))}setConfig(e,t){var n;this._configMessages[e]=t,null!==(n=this._socket)&&void 0!==n&&n.isConnected()&&this._socket.send(t)}async _reconnect(){var e;const t=await this._websocketURL;if(!t)return;let n,r;null===(e=this._socket)||void 0===e||e.close();try{n=await this._auth.getAccessToken()}catch(e){throw console.error("Failed to fetch token for WebSocket authentication",e),e}if(n){const e=new URL(t);e.searchParams.set("access_token",n),r=e.toString()}else r=t;const o=new Mw(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}),
717
717
  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,xv(this._store.subscribe,(()=>this._store.profile().userid),(()=>this._reconnect()))),this._socket||await this._reconnect()}}Iw.$inject=["store","apiRoutes","auth","groups","session"];const zw="hypothesis.user.tags.list",Rw="hypothesis.user.tags.map";class Lw{constructor(e){H(this,"_storage",void 0),this._storage=e}filter(e,t=null){const n=this._storage.getObject(zw)||[];let r=0;return n.filter((n=>{if(null!==t&&r>=t)return!1;const o=n.split(/\W+/),i=new RegExp(`^${qg(e)}`,"i");return!(!o.some((e=>e.match(i)))&&!n.match(i))&&(++r,!0)}))}store(e){const t=this._storage.getObject(Rw)||{};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(Rw,t)
718
718
  ;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(zw,n)}}Lw.$inject=["localStorage"];class Ow{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)}}Ow.$inject=["store"];class Dw extends zf{constructor(e,t){super(),H(this,"_store",void 0),H(this,"_window",void 0),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){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,
719
- visuallyHidden:r};return void this._delayedMessageQueue.push({type:e,messageText:t,options:o})}const i={type:e,id:Lg(10),message:t,visuallyHidden:r};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)}}Dw.$inject=["store","$window"];const Pw=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),Bw=function(e){const{version:t,origin:n}=Dg(e.location.href);return"1.1373.0"!==t?(console.warn(`The Hypothesis sidebar is using a different version (1.1373.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."),
720
- !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 Fw(e,t){e.setClientId(t.clientId)}function Hw(e,t,n){e.load(),t.load(),n.sync()}function Uw(e,t,n){e.init(),t.init(),n.init()}function jw(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})}))}Pw.sentry&&Bw&&function(e){const t=function(){const e=import.meta.url;return e?new URL(e).origin:null}(),n=t?[t]:void 0;fw({dsn:e.dsn,environment:e.environment,allowUrls:n,ignoreErrors:["Network request failed","Object Not Found Matching Id"],release:"1.1373.0",beforeSend:(e,t)=>{if(vw>=5)return jg("Client-side Sentry quota reached. No further Sentry events will be sent"),null;++vw;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{
719
+ visuallyHidden:r};return void this._delayedMessageQueue.push({type:e,messageText:t,options:o})}const i={type:e,id:Lg(10),message:t,visuallyHidden:r};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)}}Dw.$inject=["store","$window"];const Pw=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),Bw=function(e){const{version:t,origin:n}=Dg(e.location.href);return"1.1374.0"!==t?(console.warn(`The Hypothesis sidebar is using a different version (1.1374.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."),
720
+ !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 Fw(e,t){e.setClientId(t.clientId)}function Hw(e,t,n){e.load(),t.load(),n.sync()}function Uw(e,t,n){e.init(),t.init(),n.init()}function jw(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})}))}Pw.sentry&&Bw&&function(e){const t=function(){const e=import.meta.url;return e?new URL(e).origin:null}(),n=t?[t]:void 0;fw({dsn:e.dsn,environment:e.environment,allowUrls:n,ignoreErrors:["Network request failed","Object Not Found Matching Id"],release:"1.1374.0",beforeSend:(e,t)=>{if(vw>=5)return jg("Client-side Sentry quota reached. No further Sentry events will be sent"),null;++vw;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{
721
721
  G_("host_config",Dg(window.location.href))}catch(e){}G_("loaded_scripts",Array.from(document.querySelectorAll("script")).filter((e=>!e.type||e.type.match(/javascript|module/))).map((e=>e.src||"<inline>"))),gv(((e,t)=>{bw(e,t)}))}(Pw.sentry),function(e){e.addEventListener("click",(e=>{const t=e.target;"A"===t.tagName&&"_blank"===t.target&&(t.rel="noopener")}))}(document.body),Fw.$inject=["api","streamer"],Hw.$inject=["groups","session","router"],Uw.$inject=["autosaveService","persistedDefaults","serviceURL"],jw.$inject=["frameSync","store","toastMessenger"];const qw=document.querySelector("hypothesis-app");!function(e=window){e.addEventListener("message",Wg)}(),async function(e,t=window){const n=function(e){const t=Dg(e.location.href),n=["annotations","group","query","appType","openSidebar","showHighlights","services","branding","enableExperimentalNewNoteButton","focus","requestConfigFromFrame","theme","usernameUrl"],r={openSidebar:Pg,requestConfigFromFrame:e=>{if("string"==typeof e)return e
722
722
  ;const t=function(e){return"object"==typeof e&&null!==e?e:{}}(e);return{origin:Fg(t.origin),ancestorLevel:Bg(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:Hg(n.ancestorLevel,t),origin:n.origin}}(n,t);let o;if(r){const e=await async function(e,t){return{...await Og(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=Og(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=Ur(e)
723
723
  ;if(!t)return e.apiUrl;if(t.apiUrl)return t.apiUrl;throw new Error("Service should contain an apiUrl value.")}(i),i}(Pw).then((e=>{!function(e,t){const n=new $;n.register("annotationsExporter",Jg).register("annotationsService",Xg).register("annotationActivity",Kg).register("api",tv).register("apiRoutes",lv).register("auth",dv).register("autosaveService",hv).register("frameSync",Sv).register("groups",Av).register("importAnnotationsService",yw).register("loadAnnotationsService",ww).register("localStorage",kw).register("persistedDefaults",Sw).register("router",Ew).register("serviceURL",Tw).register("session",Aw).register("streamer",Iw).register("streamFilter",Cw).register("tags",Lw).register("threadsService",Ow).register("toastMessenger",Dw).register("store",{factory:xa}),n.register("$window",{value:window}).register("settings",{value:e}),n.run(Uw),n.run(Fw),n.run(Hw),n.run(Yg),n.run(jw),B(Re(Gr.Provider,{value:n,children:Re(Ig,{})}),t)}(e,qw)})).catch((e=>function(e,t){