PageSourceSearch

https://elifesciences.org/dist/main.f1fcc49a2afba65af244.js

js elifesciences.org collected 2026-09-24 07:21:37 UTC 1,527,319 bytes, 2 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f2f3d1ce-b309-4f63-85da-86a2c0fc24fc",e._sentryDebugIdIdentifier="sentry-dbid-f2f3d1ce-b309-4f63-85da-86a2c0fc24fc")}catch(e){}}(),function(e){function t(t){for(var n,o,i=t[0],s=t[1],c=t[2],m=0,d=[];m<i.length;m++)o=i[m],Object.prototype.hasOwnProperty.call(l,o)&&l[o]&&d.push(l[o][0]),l[o]=0;for(n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n]);for(u&&u(t);d.length;)d.shift()();return r.push.apply(r,c||[]),a()}function a(){for(var e,t=0;t<r.length;t++){for(var a=r[t],n=!0,i=1;i<a.length;i++){var s=a[i];0!==l[s]&&(n=!1)}n&&(r.splice(t--,1),e=o(o.s=a[0]))}return e}var n={},l={3:0},r=[];function o(t){if(n[t])return n[t].exports;var a=n[t]={i:t,l:!1,exports:{}};return e[t].call(a.exports,a,a.exports,o),a.l=!0,a.exports}o.e=function(e){var t=[],a=l[e];if(0!==a)if(a)t.push(a[2]);else{var n=new Promise((function(t,n){a=l[e]=[t,n]}));t.push(a[2]=n);var r,i=document.createElement("script");i.charset="utf-8",i.timeout=120,o.nc&&i.setAttribute("nonce",o.nc),i.src=function(e){return o.p+""+({1:"@analytics/google-analytics",2:"@analytics/simple-analytics"}[e]||e)+"."+{1:"6716e02d4e67553bab1b",2:"6283c3616188db7fcb3a"}[e]+".bundle.js"}(e);var s=new Error;r=function(t){i.onerror=i.onload=null,clearTimeout(c);var a=l[e];if(0!==a){if(a){var n=t&&("load"===t.type?"missing":t.type),r=t&&t.target&&t.target.src;s.message="Loading chunk "+e+" failed.\n("+n+": "+r+")",s.name="ChunkLoadError",s.type=n,s.request=r,a[1](s)}l[e]=void 0}};var c=setTimeout((function(){r({type:"timeout",target:i})}),12e4);i.onerror=i.onload=r,document.head.appendChild(i)}return Promise.all(t)},o.m=e,o.c=n,o.d=function(e,t,a){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(o.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(a,n,function(t){return e[t]}.bind(null,n));return a},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/dist/",o.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],s=i.push.bind(i);i.push=t,i=i.slice();for(var c=0;c<i.length;c++)t(i[c]);var u=s;r.push([1534,0]),a()}([,function(e,t,a){"use strict";a.d(t,"a",(function(){return D})),a.d(t,"b",(function(){return H})),a.d(t,"c",(function(){return Ve})),a.d(t,"d",(function(){return Lt})),a.d(t,"e",(function(){return Rt.a})),a.d(t,"f",(function(){return Ft})),a.d(t,"h",(function(){return Ut})),a.d(t,"g",(function(){return _t})),a.d(t,"i",(function(){return Ht.a})),a.d(t,"j",(function(){return qt})),a.d(t,"l",(function(){return Wt})),a.d(t,"k",(function(){return Gt})),a.d(t,"m",(function(){return Yt})),a.d(t,"n",(function(){return Qt})),a.d(t,"o",(function(){return aa})),a.d(t,"p",(function(){return oa.a})),a.d(t,"q",(function(){return pa})),a.d(t,"r",(function(){return da})),a.d(t,"s",(function(){return ba})),a.d(t,"t",(function(){return ya})),a.d(t,"u",(function(){return ga})),a.d(t,"v",(function(){return Ta})),a.d(t,"w",(function(){return xa.a})),a.d(t,"x",(function(){return qa})),a.d(t,"y",(function(){return Ma})),a.d(t,"z",(function(){return Ga})),a.d(t,"A",(function(){return nt})),a.d(t,"B",(function(){return tn})),a.d(t,"C",(function(){return dn})),a.d(t,"D",(function(){return hn})),a.d(t,"E",(function(){return gn.b})),a.d(t,"F",(function(){return Fl})),a.d(t,"H",(function(){return gr})),a.d(t,"G",(function(){return Ul})),a.d(t,"I",(function(){return vr})),a.d(t,"J",(function(){return Dr})),a.d(t,"K",(function(){return Yr})),a.d(t,"L",(function(){return Kr})),a.d(t,"M",(function(){return Qr})),a.d(t,"N",(function(){return Zr})),a.d(t,"O",(function(){return an.a})),a.d(t,"P",(function(){return Xr.a})),a.d(t,"R",(function(){return eo.a})),a.d(t,"S",(function(){return to.a})),a.d(t,"T",(function(){return Hi})),a.d(t,"U",(function(){return Qi})),a.d(t,"V",(function(){return Zi})),a.d(t,"W",(function(){return es})),a.d(t,"Q",(function(){return us})),a.d(t,"X",(function(){return cs})),a.d(t,"Y",(function(){return Aa.a})),a.d(t,"Z",(function(){return Aa.b})),a.d(t,"ab",(function(){return Aa.c})),a.d(t,"bb",(function(){return Aa.d})),a.d(t,"cb",(function(){return Aa.f})),a.d(t,"db",(function(){return Es})),a.d(t,"eb",(function(){return Ps})),a.d(t,"fb",(function(){return Rs})),a.d(t,"gb",(function(){return oc})),a.d(t,"hb",(function(){return ic})),a.d(t,"ib",(function(){return fc})),a.d(t,"jb",(function(){return yc.a}
1)),a.d(t,"kb",(function(){return vc})),a.d(t,"lb",(function(){return wc.a})),a.d(t,"mb",(function(){return wc.b})),a.d(t,"nb",(function(){return kc})),a.d(t,"ob",(function(){return Pc})),a.d(t,"pb",(function(){return Lc})),a.d(t,"qb",(function(){return Dc})),a.d(t,"rb",(function(){return Wc})),a.d(t,"sb",(function(){return iu})),a.d(t,"tb",(function(){return wu})),a.d(t,"ub",(function(){return Cu})),a.d(t,"vb",(function(){return Nu.a})),a.d(t,"wb",(function(){return ju})),a.d(t,"xb",(function(){return Lu})),a.d(t,"yb",(function(){return Vu})),a.d(t,"zb",(function(){return Wu})),a.d(t,"Ab",(function(){return pm})),a.d(t,"Bb",(function(){return jm})),a.d(t,"Cb",(function(){return Sm})),a.d(t,"Db",(function(){return Rm})),a.d(t,"Eb",(function(){return Fm})),a.d(t,"Fb",(function(){return Bm})),a.d(t,"Gb",(function(){return zm})),a.d(t,"Hb",(function(){return Hm})),a.d(t,"Ib",(function(){return Vm})),a.d(t,"Jb",(function(){return Ym})),a.d(t,"Kb",(function(){return Km})),a.d(t,"Lb",(function(){return Jm})),a.d(t,"Mb",(function(){return Qm.a})),a.d(t,"Nb",(function(){return Zm})),a.d(t,"Ob",(function(){return dd})),a.d(t,"Pb",(function(){return pd})),a.d(t,"Qb",(function(){return Cd})),a.d(t,"Rb",(function(){return zd})),a.d(t,"Sb",(function(){return Kd})),a.d(t,"Tb",(function(){return lp})),a.d(t,"Ub",(function(){return ip})),a.d(t,"Vb",(function(){return gp})),a.d(t,"Wb",(function(){return cp})),a.d(t,"Xb",(function(){return xp})),a.d(t,"Yb",(function(){return Rp})),a.d(t,"Zb",(function(){return Sb}));var n=a(0),l=a.n(n),r=a(4),o=a(72),i=a.n(o),s=a(2),c=a.n(s);const{BUTTON:u,INTENT_PRIMARY:m,OUTLINED:d,ACTIVE:p,ICON:b,INTENT_DANGER:h,INTENT_WARNING:g,INTENT_SUCCESS:f,DISABLED:y,MINIMAL:v,TAG:E,TAB:O,DARK:w,SLIDER_HANDLE:C,SLIDER_PROGRESS:N,SLIDER_LABEL:j,TREE_NODE:k}=r.a,S={communityData:c.a.object.isRequired,isNavHidden:c.a.bool.isRequired},P=function(e){const{communityData:t,isNavHidden:a}=e,{accentColorLight:n,accentColorDark:r,headerColorType:o,useHeaderTextAccent:s}=t,c=e=>({base:e,text:i()(e).isLight()?"#000000":"#FFFFFF",hover:i()(e).fade(.2).rgb().string(),action:i()(e).fade(.4).rgb().string(),minimal:i()(e).fade(.9).rgb().string(),minimalAction:i()(e).fade(.8).rgb().string()}),{base:S,text:P,hover:D,action:I,minimal:T,minimalAction:x}=c(r),A=i()(r).whiten(.5).rgb().string(),M=i()(r).fade(.95).rgb().string(),L=c("light"===o?n:r),R="light"===o?r:n,F=`.accent-color.${a?"header-component":"nav-bar-component"} { border-bottom: 2px solid ${R}; }`,U=`.accent-color.${a?"header-component":"nav-bar-component"} { border-bottom: 1px solid #DDD; }`,B=`linear-gradient(90deg, ${i()(L.base).rgb().fade(1).string()} 0%,  ${i()(L.base).rgb().fade(1).string()} 85%,  ${L.base} 100%);`;return l.a.createElement(l.a.Fragment,null,l.a.createElement("style",{type:"text/css"},`:root { \n\t\t\t--community-accent-dark: ${r};\n\t\t\t--community-accent-dark-faded-30: ${A};\n\t\t\t--community-accent-dark-faded: ${M};\n\t\t}`),l.a.createElement("style",{dangerouslySetInnerHTML:{__html:`\n\t\t\t.accent-background { background-color: ${S}; }\n\t\t\t.accent-color { color: ${P}; }\n\t\t\t.accent-background.header-component, .accent-background.nav-bar-component, .accent-background.footer-component, .accent-background.nav-item-background, .accent-background.image-wrapper{ background-color: ${L.base}; }\n\t\t\t.accent-color.header-component, .accent-color.nav-bar-component, .accent-color.footer-component, .accent-color.nav-item { color: ${s?R:L.text}; }\n\t\t\t.${u}.${m}:not(.${d}) { background-color: ${I}; color: ${P}; }\n\t\t\t.${u}.${m}:not(.${d}):hover:not(.${y}) { background-color: ${D}; color: ${P}; }\n\t\t\t.${u}.${m}:not(.${d}):active:not(.${y}), .${u}.${m}.${p}:not(.${y}) { background-color: ${S}; color: ${P}; }\n\n\t\t\t.${u}.${m}.${d} { border-color: ${S}; color: ${S}; }\n\t\t\t.${u}.${m}.${d}:hover:not(.${y}) { background-color: ${T}; color: ${S}; }\n\t\t\t.${u}.${m}.${d}:active:not(.${y}), .${u}.${m}.${p}:not(.${y}) { background-color: ${x}; color: ${S}; }\n\n\t\t\t.${k}.${k}-selected > .${k}-content { background-color: ${S}; }\n\n\t\t\t.${E}.${m} { background: ${S}; color: ${P}; }\n\t\t\t.${E}.${v}.${m} { background-color: ${T}; color: inherit; }\n\t\t\t.accent-color .${u}:not([class*="${m}"]),\n\t\t\t.accent-color .${u}:not([class*="${f}"]),\n\t\t\t.accent-color .${u}:not([class*="${g}"]),\n\t\t\t.accent-color .${u}:not([class*="${h}"]),\n\t\t\t.accent-color .${u}[class*="${b}"]::before { color: inherit; }\n\t\t\t.accent-color a, .accent-color a:hover { color: inherit; }\n\t\t\t.${O}[aria-selected="true"], .${O}:not([aria-selected="true"]):hover { box-shadow: inset 0 -3px 0 ${T}; }\n\t\t\t.${O}[aria-selected="true"] { box-shadow: inset 0 -3px 0 ${S}; }\n\t\t\t.thread:hover:after { background-color: ${S}; }\n\t\t\t.${N}.${m}, .${w} .${N}.${m} { background: ${S}; }\n\t\t\t.${C} .${j} { background: ${S}; color: ${P}; }\n\t\t\t.highlight-dot-wrapper .highlight-dot { background-color: ${S}; }\n\n\t\t\t.changelog-callout { background: ${T} !important; }\n\t\t\t.changelog-callout .release-label { color: ${S}; border: 1px dashed ${S}; }\n\n\t\t\tspan.citation:hover { color: ${S}; }\n\n\t\t\t.overflow-gradient { background: ${B} }\n\n\t\t\t${s?F:""}\n\t\t\t${!s&&L.base&&"#ffffff"===L.base.toLowerCase()?U:""}\n\t\t`}}))};P.propTypes=S;var D=P,I=a(6),T=a(7),x=Object.defineProperty,A=Object.defineProperties,M=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,R=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,U=(e,t,a)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,B=(e,t)=>{for(var a in t||(t={}))R.call(t,a)&&U(e,a,t[a]);if(L)for(var a of L(t))F.call(t,a)&&U(e,a,t[a]);return e},z=(e,t)=>A(e,M(t));const $="/api/captcha/challenge",_=Object(n.forwardRef)((e,t)=>{const{challengeurl:r=$,auto:o,onStateChange:i,style:s}=e,{locationData:c}=Object(T.c)(),u=!c.isProd,m=Object(n.useRef)(null),[d,p]=Object(n.useState)(null),[b,h]=Object(n.useState)(!1),[g,f]=Object(n.useState)(!1),[y,v]=Object(n.useState)(0),E=Object(n.useRef)(null);E.current=d,Object(n.useEffect)(()=>{a.e(0).then(a.bind(null,1572)).then(()=>h(!0))},[]);const[O,w]=Object(n.useState)(!1);Object(n.useEffect)(()=>
1{if(!b)return;const e=m.current;if(!e)return;e.customfetch=I.b;const t=e=>{const t=e;switch(t.detail.state){case"error":case"code":case"unverified":w(!0);break;case"verifying":u&&w(!0);break;case"verified":t.detail.payload&&(p(t.detail.payload),w(!1))}null==i||i(t)};return e.addEventListener("statechange",t),()=>e.removeEventListener("statechange",t)},[b,i,y]),Object(n.useImperativeHandle)(t,()=>({get value(){return E.current},verify(){const e=m.current;if(!e)return Promise.reject(new Error("Altcha widget not mounted"));const t=E.current;return t?Promise.resolve(t):new Promise((t,a)=>{const n=l=>{var r,o;const i=l,s=null==(r=i.detail)?void 0:r.state;if("verified"===s&&(null==(o=i.detail)?void 0:o.payload))return e.removeEventListener("statechange",n),void t(i.detail.payload);"error"!==s&&"expired"!==s||(e.removeEventListener("statechange",n),a(new Error("Captcha verification failed")))};e.addEventListener("statechange",n),e.verify()})}}),[y]);if(!b)return null;const C=u?{debug:!0,floatingpersist:"focus"}:{},N=l.a.createElement(l.a.Fragment,{key:y},l.a.createElement("altcha-widget",z(B(B(z(B({delay:500,ref:m,challengeurl:r,customfetch:I.b},o?{auto:o}:{}),{floating:"auto"}),C),g?{mockerror:!0}:{}),{style:B({display:O?"block":"none",zIndex:1e3},s?{style:s}:{}),strings:'{"waitAlert":""}'})));return u?l.a.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"#5c7080",padding:"2px 6px",border:"1px dashed #5c7080",borderRadius:3}},N,l.a.createElement("span",{style:{fontWeight:600}},"Captcha"),l.a.createElement("label",{style:{cursor:"pointer",display:"inline-flex",alignItems:"center",gap:3,color:g?"#db3737":void 0}},l.a.createElement("input",{type:"checkbox",checked:g,onChange:()=>{f(e=>!e),p(null),v(e=>e+1)},style:{margin:0}}),"fail"),l.a.createElement("button",{type:"button",onClick:()=>{var e;p(null),null==(e=m.current)||e.reset()},style:{fontSize:11,padding:"1px 6px",cursor:"pointer",border:"1px solid #ced9e0",borderRadius:3,background:"white",lineHeight:"16px"}},"reset")):N});_.displayName="Altcha";var H=_,V=a(744),q=a.n(V);const W=[["book","content_item"],["conference","conference_paper"],["journal","journal_article"],["posted_content"],["peer_review"],["sa_component","component_list","component"]],G=({doi_batch:{body:e}})=>{let t=0;for(;t<W.length;){const a=W[t];let n=e,l=0;for(;l<a.length;){if(n=n[a[l]],!n)break;if(l===a.length-1)return n.doi_data;l++}t++}return null},Y=e=>{if(!e||!e.depositJson)return null;const{depositJson:{deposit:t}}=e,a=G(t);return a?a.resource["@content_version"]:null};const K=e=>e&&e.depositJson?e.depositJson.deposit.doi_batch.body:null,J=e=>t=>{const a=K(t);return t&&a&&e in a},Q=J("book"),Z=J("journal"),X=J("conference"),ee=J("posted_content"),te=J("peer_review"),ae=J("sa_component"),ne=e=>{switch(!0){case Q(e):return"Book Chapter";case Z(e):return"Journal Article";case X(e):return"Conference Proceeding";case ee(e):return"Preprint";case te(e):return"Peer Review";case ae(e):return"Supplement";default:return""}};var le=a(386),re=a(387),oe=a(46),ie=a(53),se=a(30);a(905);const ce=e=>{if(!e)return null;const{"rel:related_item":t}=e;return 0===t.length?null:l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",null,"Relationships"),l.a.createElement("dl",null,t.map(({"rel:inter_work_relation":e,"rel:intra_work_relation":t})=>{const{"#text":a,"@relationship-type":n}=e||t;return l.a.createElement(l.a.Fragment,{key:a},l.a.createElement("dt",null,"Relationship Type"),l.a.createElement("dd",null,n),l.a.createElement("dt",null,"Identifier"),l.a.createElement("dd",null,a))})))},ue=e=>l.a.createElement(l.a.Fragment,null,l.a.createElement("dt",null,"Title"),l.a.createElement("dd",null,e.title)),me=e=>l.a.createElement(l.a.Fragment,null,l.a.createElement("dt",null,"Publisher"),l.a.createElement("dd",null,e.publisher_name)),de=(e,t="Publication Date")=>{const{day:a,month:n,year:r}=e;return l.a.createElement(l.a.Fragment,null,l.a.createElement("dt",null,t),l.a.createElement("dd",null,Object(se.b)(`${r}-${n}-${a}`,{inUtcTime:!0})))},pe=e=>e?l.a.createElement(l.a.Fragment,null,l.a.createElement("dt",null,"Contributors"),l.a.createElement("dd",null,e.person_name.map(e=>l.a.createElement("ul",{key:e.surname},e.given_name," ",e.surname," (",e["@contributor_role"],")")))):null,be=e=>{const{journal:{journal_article:{titles:t,publication_date:a,contributors:n,"rel:program":r},journal_metadata:{full_title:o,doi_data:{doi:i}},journal_issue:s}}=e;return l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",null,"Journal Article"),l.a.createElement("dl",null,ue(t),de(a),pe(n)),l.a.createElement("h6",null,"Journal Metadata"),l.a.createElement("dl",null,l.a.createElement("dt",null,"Title"),l.a.createElement("dd",null,o),l.a.createElement("dt",null,"DOI"),l.a.createElement("dd",null,i)),s&&(e=>{const{titles:t,publication_date:a,contributors:n}=e;return l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",null,"Journal Issue"),l.a.createElement("dl",null,ue(t),de(a),pe(n)))})(s),ce(r))};function he(e){const[t,a]=Object(n.useState)("preview"),{crossrefDepositRecord:r}=e,o=K(r),{doi:i,depositJson:{dois:{community:s,pub:c}},depositXml:u}=r,m=Y(r);return l.a.createElement(ie.I,{onChange:a,selectedTabId:t,className:"assign-doi-preview-component"},l.a.createElement(ie.H,{id:"preview",title:"Preview",panel:l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",null,"DOIs"),l.a.createElement("dl",null,l.a.createElement("dt",null,"Community"),l.a.createElement("dd",null,s),l.a.createElement("dt",null,"Pub"),l.a.createElement("dd",null,i||c),m&&"none"!==m&&l.a.createElement(l.a.Fragment,null,l.a.createElement("dt",null,"Content Version"),l.a.createElement("dd",null,m))),Z(r)&&be(o),Q(r)&&(e=>{const{book:{book_metadata:{titles:t,edition_number:a,publisher:n,publication_date:r,contributors:o},content_item:{titles:i,contributors:s,publication_date:c,"rel:program":u}}}=e;return l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",null,"Book Metadata"),l.a.createElement("dl",null,ue(t),l.a.createElement("dt",null,"Edition Number"),l.a.createElement("dd",null,a),me(n),pe(o),de(r)),l.a.createElement("h6",null,"Content"),l.a.createElement("dl",null,ue(i),pe(s),de(c)),ce(u))})(o),X(r)&&(e=>{const{conference:{contributors:t,conference_paper:{titles:a,contributors:n,"rel:program":r},event_metadata:{conference_name:o,conference_date:{"#text":i}},proceedings_metadata:{proceedings_title:s,publication_date:c,publisher:u}}}=e;return l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",null,"Conference Paper"),l.a.createElement("dl",null,ue(a),pe(n)),l.a.createElement("h6",null,"Event Metadata"),l.a.createElement("dl",null,l.a.createElement("dt",null,"Conference Name"),l.a.createElement("dd",null,o),l.a.createElement("dt",null,"Conference Date"),l.a.createElement("dd",null,Object(se.b)(new Date(i)))),l.a.createElement("h6",null,"Proceedings Metadata"),l.a.createElement("dl",null,l.a.createElement("dt",null,"Proceedings Title"),l.a.createElement("dd",null,s),de(c),me(u)),l.a.createElement("h6",null,"Contributors"),l.a.createElement("dl",null,pe(t)),ce(r))})(o),ee(r)&&(e=>{const{posted_content:{contributors:t,titles:a,"rel:program":n,posted_date:r}}=e;return l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",null,"Preprint"),l.a.createElement("dl",null,ue(a),pe(t),de(r,"Posted Date")),ce(n))})(o),te(r)&&(e=>{const{peer_review:{"@type":t,"@recommendation":a,contributors:n,titles:r,"rel:program":o,review_date:i}}=e;return l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",null,"Peer Review"),l.a.createElement("dl",null,ue(r),pe(n),de(i,"Review Date"),t&&l.a.createElement(l.a.Fragment,null,l.a.createElement("dt",null,"Review Type"),l.a.createElement("dd",null,t)),a&&l.a.createElement(l.a.Fragment,null,l.a.createElement("dt",null,"Review Recommendation"),l.a.createElement("dd",null,a))),ce(o))})(o),ae(r)&&(e=>{const{sa_component:{"@parent_doi":t,component_list:{component:{contributors:a,titles:n,publication_date:r}}}}=e;return l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",null,"Standalone Component"),l.a.createElement("dl",null,l.a.createElement("dt",null,"Parent DOI"),l.a.createElement("dd",null,t),l.a.createElement("dt",null,"Parent Relation"),l.a.createElement("dd",null,"isPartOf"),ue(n),pe(a),de(r)))})(o))}),l.a.createElement(ie.H,{id:"xml",title:"XML",panel:l.a.createElement("pre",null,u)}))}he.defaultProps={};var ge=he,fe=(a(906),Object.defineProperty),ye=Object.defineProperties,ve=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable,Ce=(e,t,a)=>t in e?fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ne=(e,t)=>{for(var a in t||(t={}))Oe.call(t,a)&&Ce(e,a,t[a]);if(Ee)for(var a of Ee(t))we.call(t,a)&&Ce(e,a,t[a]);return e},je=(e,t)=>ye(e,ve(t)),ke=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const Se=()=>{},Pe={disabled:!1,onDeposit:Se,onError:Se,onPreview:Se},De="fetch_preview",Ie="fetch_preview_success",Te="update_content_version",xe="update_review_type",Ae="update_review_recommendation",Me="fetch_deposit",Le="fetch_deposit_success",Re="error";function Fe(e,t){switch(t.type){case De:return e.status!==oe.a.Initial&&e.status!==oe.a.Error&&e.status!==oe.a.Previewed?e:je(Ne({},e),{status:oe.a.Previewing,error:null});case Ie:return e.status!==oe.a.Previewing?e:je(Ne({},e),{status:oe.a.Previewed,crossrefDepositRecord:t.payload,error:null});case Te:{if(e.status!==oe.a.Previewed)return e;const a=Ne({},e.crossrefDepositRecord);return((e,t)=>{if(!e||!e.depositJson)return;const{depositJson:{deposit:a}}=e,n=G(a);t?n.resource["@content_version"]=t:delete n.resource["@content_version"]})(a,t.payload),je(Ne({},e),{crossrefDepositRecord:a})}case xe:{if(e.status!==oe.a.Previewed)return e;const a=Ne({},e.crossrefDepositRecord);return function(e,t){if(!e||!e.depositJson)return null;e.depositJson.deposit.doi_batch.body.peer_review["@type"]=t}(a,t.payload),je(Ne({},e),{crossrefDepositRecord:a})}case Ae:{if(e.status!==oe.a.Previewed)return e;const a=Ne({},e.crossrefDepositRecord);return function(e,t){if(!e||!e.depositJson)return null;e.depositJson.deposit.doi_batch.body.peer_review["@recommendation"]=t}(a,t.payload),je(Ne({},e),{crossrefDepositRecord:a})}case Me:return e.status!==oe.a.Previewed?e:je(Ne({},e),{status:oe.a.Depositing,error:null});case Le:return e.status!==oe.a.Depositing?e:je(Ne({},e),{status:oe.a.Deposited,crossrefDepositRecord:t.payload,error:null});case Re:return je(Ne({},e),{status:oe.a.Initial,error:t.payload});default:return e}}const Ue={status:oe.a.Initial,preview:null,crossrefDepositRecord:null,error:null},Be=[{title:"(None)",key:"none"},{title:"Preprint",key:"preprint"},{title:"Advance Manuscript",key:"am"},{title:"Version of Record",key:"vor"}],ze=[{title:"(None)",key:"none"},{title:"Referee Report",key:"referee-report"},{title:"Editor Report",key:"editor-report"},{title:"Author Comment",key:"author-comment"},{title:"Community Comment",key:"community-comment"},{title:"Aggregate",key:"aggregate"},{title:"Recommendation",key:"recommendation"}],$e=[{title:"(None)",key:"none"},{title:"Major Revision",key:"major-revision"},{title:"Minor Revision",key:"minor-revision"},{title:"Reject",key:"reject"},{title:"Reject with Resubmit",key:"reject-with-resubmit"},{title:"Accept",key:"accept"},{title:"Accept with Reservation",key:"accept-with-reservation"}],_e=e=>q()(e,e=>null!=e);function He(e){const{communityData:t,disabled:a,pubData:r,onPreview:o,onDeposit:i,onError:s,target:c}=e,[u,m]=Object(n.useReducer)(Fe,je(Ne({},Ue),{crossrefDepositRecord:r.crossrefDepositRecord})),{status:d,crossrefDepositRecord:p,error:b}=u,h=(e=>{if(!e||!e.depositJson)return null;const{depositJson:{deposit:{doi_batch:{body:t}}}}=e;return"peer_review"in t?t.peer_review["@type"]:null})(p),g=(e=>{if(!e||!e.depositJson)return null;const{depositJson:{deposit:{doi_batch:{body:t}}}}=e;return"peer_review"in t?t.peer_review["@recommendation"]:null})(p);let f=Y(p);!f&&ee(p)&&(f="preprint");const y=f||"none",v=Be.find(e=>e.key===y),E=h||"none",O=ze.find(e=>e.key===E),w=g||"none",C=$e.find(e=>e.key===w),N=Object(n.useMemo)(()=>
1({target:c,pubId:r.id,communityId:t.id,contentVersion:f,reviewType:h,reviewRecommendation:g}),[c,r,t,f,h,g]),j=Object(n.useCallback)(e=>ke(null,null,(function*(){var t;m({type:De});try{const t=new URLSearchParams(_e(Ne(Ne({},N),e))),a=yield Object(I.a)("/api/doiPreview?"+t.toString());o(a),m({type:Ie,payload:a})}catch(e){const a=e instanceof Error?e.message:null!=(t=null==e?void 0:e.error)?t:"There was an error generating the preview.";m({type:Re,payload:a}),s(e instanceof Error?e:new Error(a))}})),[N,o,s]),k=()=>j(),S=()=>ke(null,null,(function*(){var e;m({type:Me});try{const e=JSON.stringify(_e(N)),t=yield Object(I.a)("/api/doi",{method:"POST",body:e});m({type:Le,payload:{depositJson:t}}),i(t.dois[c])}catch(t){const a=t instanceof Error?t.message:null!=(e=null==t?void 0:t.error)?e:"There was an error depositing the work.";m({type:Re,payload:a}),s(t instanceof Error?t:new Error(a))}}));let P;d===oe.a.Initial?P=k:d===oe.a.Previewed&&(P=S);const D=Object(n.useRef)(r.doi);return Object(n.useEffect)(()=>{D.current!==r.doi&&d===oe.a.Previewed&&j(),D.current=r.doi},[r.doi,d,j]),l.a.createElement("div",{className:"assign-doi-component"},(d===oe.a.Previewed||d===oe.a.Previewing)&&l.a.createElement(l.a.Fragment,null,l.a.createElement(le.a,{depositTypeTitle:ne(p),depositTargetServiceName:"Crossref"}),!ae(p)&&l.a.createElement(eo.a,{label:"Content Version"},l.a.createElement(Aa.b,{buttonContent:v.title,buttonProps:{rightIcon:"caret-down"},"aria-label":"content-version"},Be.map(e=>l.a.createElement(Aa.d,{key:e.key,active:e===v,onClick:()=>(({key:e})=>{const t="none"===e?null:e;m({type:Te,payload:t}),j({contentVersion:t})})(e),text:e.title})))),te(p)&&l.a.createElement("div",{className:"dropdowns"},l.a.createElement(eo.a,{label:"Review Type"},l.a.createElement(Aa.b,{buttonContent:O.title,buttonProps:{rightIcon:"caret-down"},"aria-label":"review-type"},ze.map(e=>l.a.createElement(Aa.d,{key:e.key,active:e===O,onClick:()=>(({key:e})=>{const t="none"===e?null:e;m({type:xe,payload:t}),j({reviewType:t})})(e),text:l.a.createElement("span",null,e.title)})))),l.a.createElement(eo.a,{label:"Review Recommendation"},l.a.createElement(Aa.b,{buttonContent:C.title,buttonProps:{rightIcon:"caret-down"},"aria-label":"review-type"},$e.map(e=>l.a.createElement(Aa.d,{key:e.key,active:e===C,onClick:()=>(({key:e})=>{const t="none"===e?null:e;m({type:Ae,payload:t}),j({reviewRecommendation:t})})(e),text:l.a.createElement("span",null,e.title)})))))),d===oe.a.Previewed&&l.a.createElement(ge,{crossrefDepositRecord:p}),l.a.createElement(re.a,{disabled:d===oe.a.Previewed&&a,onClick:P,status:d,depositRecord:r.crossrefDepositRecord,error:b}))}He.defaultProps=Pe;var Ve=He,qe=a(113),We=a(8),Ge=a.n(We),Ye=(a(907),Object.defineProperty),Ke=Object.defineProperties,Je=Object.getOwnPropertyDescriptors,Qe=Object.getOwnPropertySymbols,Ze=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,et=(e,t,a)=>t in e?Ye(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,tt=(e,t)=>{for(var a in t||(t={}))Ze.call(t,a)&&et(e,a,t[a]);if(Qe)for(var a of Qe(t))Xe.call(t,a)&&et(e,a,t[a]);return e};const at=e=>e.id;var nt=e=>{const{className:t=null,droppableId:a,droppableType:n,disabled:r=!1,items:o,itemId:i=at,renderEmptyState:s=null,renderDragElementInPortal:c=!1}=e,u=(e=>(t,a,n)=>{const{items:r,withDragHandles:o,renderItem:i}=e,s=r[n.source.index],{innerRef:c,draggableProps:u,dragHandleProps:m}=t,{isDragging:d}=a,p=tt({},m);d&&(p.tabIndex=void 0);const b=o?{}:p;return l.a.createElement("div",tt(tt({role:"listitem",className:Ge()("drag-container",d&&"is-dragging"),ref:c},u),b),i(s,o&&p,d))})(e);return l.a.createElement(qe.c,{type:n,droppableId:a,renderClone:c?u:void 0},e=>{return l.a.createElement("div",(a=tt({},e.droppableProps),n={className:Ge()(t,"drag-drop-listing-component"),role:"list",ref:e.innerRef},Ke(a,Je(n))),s&&0===o.length&&l.a.createElement("div",{className:"empty-state-container"},s()),o.map((e,t)=>{const a=i(e);return l.a.createElement(qe.b,{draggableId:a,index:t,key:a,isDragDisabled:r},u)}),e.placeholder);var a,n})},lt=a(80),rt=a(1552),ot=a(214),it=a(154),st=a.n(it),ct=a(244);const ut=(e,t)=>{const a=ct.DEFAULT_ROLES.reduce((t,a)=>a.toLowerCase()!==e.toLowerCase()&&t,!0);return[...e&&a?[e]:[],...ct.DEFAULT_ROLES].filter(a=>{const n=st()(e.toLowerCase(),a.toLowerCase());return!(t.indexOf(a)>-1)&&n}).sort((e,t)=>
1e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0)};var mt=e=>{const{attribution:t,isShadowAttribution:a,listOnBylineText:o,onAttributionUpdate:i,roles:s}=e,{affiliation:c,id:u,isAuthor:m,orcid:d}=t,p=e=>Boolean(e&&!e.match(ot.a)),[b,h]=Object(n.useState)(p(d)),g=e=>{p(e.orcid)?h(!0):i(e)};return l.a.createElement("div",{className:"detail-controls"},l.a.createElement(ie.g,{checked:!!m,onChange:e=>g({id:u,isAuthor:e.target.checked})},o),l.a.createElement(rt.a,{className:"roles",items:s,itemListPredicate:ut,itemRenderer:(e,{handleClick:t,modifiers:a})=>l.a.createElement(ie.u,{key:e,onClick:t,active:a.active,text:e}),selectedItems:s,tagRenderer:e=>l.a.createElement("span",null,e),tagInputProps:{onRemove:(e,t)=>{const a=s.filter((e,a)=>a!==t);g({id:u,roles:a})},placeholder:"Add roles...",tagProps:{className:`${r.a.MINIMAL} ${r.a.INTENT_PRIMARY}`},inputProps:{placeholder:"Add roles..."}},resetOnSelect:!0,onItemSelect:e=>{const t=[...s,e];g({id:u,roles:t})},noResults:l.a.createElement(ie.u,{disabled:!0},"No Matching Roles"),popoverProps:{popoverClassName:r.a.MINIMAL,position:lt.a.BOTTOM_LEFT,modifiers:{preventOverflow:{enabled:!1},hide:{enabled:!1},flip:{enabled:!1}}}}),l.a.createElement("div",{className:"right-details"},l.a.createElement(ie.r,{placeholder:"Affiliation",defaultValue:null!=c?c:void 0,onKeyDown:e=>{"Enter"===e.key&&e.currentTarget.blur()},onBlur:e=>g({id:u,affiliation:e.target.value.trim()})}),a&&l.a.createElement("div",{className:`${b?r.a.INTENT_DANGER+" ":""}${r.a.INPUT_GROUP} ${r.a.FORM_GROUP}`},l.a.createElement(ie.r,{rightElement:d?l.a.createElement(ie.J,{minimal:!0},"ORCID"):void 0,placeholder:"ORCID",defaultValue:null!=d?d:void 0,onChange:e=>{const t=e.target.value,a=p(t);h(a),a||g({id:u,orcid:t.trim()})},onBlur:e=>{h(p(e.target.value)),g({id:u,orcid:e.target.value.trim()})}}),b&&l.a.createElement("div",{className:""+r.a.FORM_HELPER_TEXT},"Invalid ORCID. Please enter a valid ORCID or leave the field blank."))))},dt=a(265);a(940);var pt=e=>{const{attribution:{avatar:t,user:a},onUpdateAvatar:r,width:o}=e,[i,s]=Object(n.useState)(!1),c=({selectImage:e,clearImage:n})=>l.a.createElement(l.a.Fragment,null,l.a.createElement(dt.a,{"aria-label":"Upload avatar image",as:"div",className:"avatar-button",style:{borderRadius:o/2},onClick:e},l.a.createElement(Rt.a,{width:o,initials:a.initials,avatar:t}),l.a.createElement("div",{className:Ge()("hover-overlay",!t&&"no-image",i&&"is-loading")},i&&l.a.createElement(ie.F,{size:o/2}),!i&&l.a.createElement(an.a,{icon:"add",iconSize:o/2.25}))),t&&l.a.createElement(ie.c,{"aria-label":"Remove avatar image",small:!0,className:"remove-button",icon:l.a.createElement(an.a,{icon:"trash",iconSize:12}),intent:"danger",onClick:n}));return l.a.createElement("div",{className:"editable-avatar-component"},l.a.createElement(Xr.a,{onImageSelect:()=>{s(!0)},onNewImage:e=>{s(!1),r(e)}},c))},bt=Object.defineProperty,ht=Object.defineProperties,gt=Object.getOwnPropertyDescriptors,ft=Object.getOwnPropertySymbols,yt=Object.prototype.hasOwnProperty,vt=Object.prototype.propertyIsEnumerable,Et=(e,t,a)=>t in e?bt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ot=(e,t)=>{for(var a in t||(t={}))yt.call(t,a)&&Et(e,a,t[a]);if(ft)for(var a of ft(t))vt.call(t,a)&&Et(e,a,t[a]);return e},wt=(e,t)=>ht(e,gt(t));const Ct=e=>{const{attribution:t,canEdit:a,dragHandleProps:n=null,isDragging:r=!1,onAttributionUpdate:o,onAttributionDelete:i}=e,{user:s,id:c,isAuthor:u}=t,m=t.roles||[],d=!t.user||t.user.isShadowUser||t.user.id===t.id;return l.a.createElement("div",{className:Ge()("attribution-row",r&&"is-dragging")},a&&l.a.createElement(ie.c,{small:!0,minimal:!0,className:"delete-button",onClick:()=>i(c),icon:"small-cross"}),n&&l.a.createElement("div",wt(Ot({},n),{className:"drag-handle"}),l.a.createElement(ie.q,{icon:"drag-handle-vertical"})),l.a.createElement("div",{className:"avatar-wrapper"},d&&a?l.a.createElement(pt,{width:50,attribution:t,onUpdateAvatar:e=>o({id:c,avatar:e})}
1):l.a.createElement(Rt.a,{width:50,initials:s.initials,avatar:s.avatar})),l.a.createElement("div",{className:"content"},l.a.createElement("div",{className:"top-content"},l.a.createElement("div",{className:"name"},s.slug?l.a.createElement("a",{href:"/user/"+s.slug,className:"hoverline"},s.fullName):l.a.createElement("span",null,s.fullName))),l.a.createElement("div",{className:"bottom-content"},!a&&u&&l.a.createElement("span",{style:{marginRight:"1em"}},"Assigned byline attribution"),!a&&m.map(e=>l.a.createElement(ie.J,{key:e,minimal:!0,intent:"primary"},e)),a&&l.a.createElement(mt,wt(Ot({},e),{roles:m,isShadowAttribution:d})))))};Ct.defaultProps={dragHandleProps:null,isDragging:!1};var Nt=Ct,jt=(a(941),Object.defineProperty),kt=Object.defineProperties,St=Object.getOwnPropertyDescriptors,Pt=Object.getOwnPropertySymbols,Dt=Object.prototype.hasOwnProperty,It=Object.prototype.propertyIsEnumerable,Tt=(e,t,a)=>t in e?jt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,xt=(e,t)=>{for(var a in t||(t={}))Dt.call(t,a)&&Tt(e,a,t[a]);if(Pt)for(var a of Pt(t))It.call(t,a)&&Tt(e,a,t[a]);return e},At=(e,t)=>kt(e,St(t));class Mt extends n.Component{constructor(e){super(e),this.handleDragEnd=this.handleDragEnd.bind(this),this.handleAttributionAdd=this.handleAttributionAdd.bind(this),this.handleAttributionUpdate=this.handleAttributionUpdate.bind(this),this.handleAttributionDelete=this.handleAttributionDelete.bind(this)}persistAttribution(e,t){const{apiRoute:a,identifyingProps:n,promiseWrapper:l}=this.props;return l(Object(I.a)(a,{method:t,body:JSON.stringify(xt(xt({},e),n))}))}handleAttributionAdd(e){const{attributions:t,onUpdateAttributions:a,onPersistStateChange:n}=this.props,l=.5+(t.length?Math.max(...t.map(e=>e.order)):0)/2;n(1),this.persistAttribution({userId:e.id,name:e.name,order:l,isAuthor:!0},"POST").then(e=>{const{attributions:t}=this.props;a([...t,e]),n(-1)})}handleAttributionUpdate(e){const{attributions:t,onUpdateAttributions:a,onPersistStateChange:n}=this.props;a(t.map(t=>t.id!==e.id?t:xt(xt({},t),e))),n(1),this.persistAttribution(e,"PUT").then(()=>n(-1))}handleAttributionDelete(e){const{attributions:t,onUpdateAttributions:a,onPersistStateChange:n}=this.props;a(t.filter(t=>t.id!==e)),n(1),this.persistAttribution({id:e},"DELETE").then(()=>n(-1))}handleDragEnd(e){const{attributions:t,identifyingProps:a,onUpdateAttributions:n}=this.props;if(!e.destination)return;const l=e.source.index,r=t[l].id,o=e.destination.index,i=t[o].order,s=l>o?-1:1;let c=.5;if(l===o)c=t[l].order;else if(0===o)c=i/2;else if(o===t.length-1)c=(1+i)/2;else{const e=t[o+s].order;c=(i+e)/2}this.handleAttributionUpdate(At(xt({},a),{id:r,order:c}));n(t.map(e=>e.id!==r?e:At(xt({},e),{order:c})).sort((e,t)=>e.order-t.order))}render(){const{attributions:e,canEdit:t,listOnBylineText:a,hasEmptyState:n}=this.props,r=e.concat().sort((e,t)=>e.order-t.order);return l.a.createElement("div",{className:"attribution-editor-component"},t&&l.a.createElement(l.a.Fragment,null,l.a.createElement(Rp,{onSelect:this.handleAttributionAdd,allowCustomUser:!0,placeholder:"Add new person...",usedUserIds:e.map(e=>e.user&&e.user.id).filter(e=>e)}),l.a.createElement(qe.a,{onDragEnd:this.handleDragEnd},l.a.createElement(nt,{droppableType:"ATTRIBUTION",droppableId:"attributionEditor",items:r,itemId:e=>e.id,withDragHandles:!0,renderItem:(e,t,n)=>l.a.createElement(Nt,{attribution:e,canEdit:!0,isDragging:n,dragHandleProps:t,onAttributionDelete:this.handleAttributionDelete,onAttributionUpdate:this.handleAttributionUpdate,listOnBylineText:a}),renderEmptyState:()=>n&&l.a.createElement(ie.v,{icon:"person",title:"No contributors yet!",description:"Start typing a person's name above to add a contributor."})}))),!t&&r.map(e=>l.a.createElement(Nt,{key:e.id,attribution:e,canEdit:!1,onAttributionDelete:()=>{},onAttributionUpdate:()=>{},listOnBylineText:a})))}}Mt.defaultProps={listOnBylineText:"Byline attribution",onPersistStateChange:()=>{},promiseWrapper:e=>e,hasEmptyState:!0};var Lt=Mt,Rt=a(266);a(947);var Ft=e=>{const{className:t,truncateAt:a,size:n=22,borderColor:r="#eee",borderWidth:o=2}=e,{users:i,overflow:s}=((e,t)=>t&&e.length>t?{users:e.slice(0,t),overflow:e.length-t}:{users:e,overflow:null})(e.users,a);return 0===i.length?null:l.a.createElement("div",{className:Ge()("avatars-component",t)},i.map((e,t)=>l.a.createElement(Rt.a,{initials:e.initials,avatar:e.avatar,key:e.id,instanceNumber:t,width:n,borderWidth:o,borderColor:r,doesOverlap:!0})),s&&l.a.createElement("div",{className:"overflow"},"+",s))};a(948);var Ut=e=>{const{bannerText:t,accentColor:a,right:r}=e,o=Object(n.useMemo)(()=>
1i()(a).alpha(.1).toString(),[a]);return l.a.createElement("div",{style:{background:o},className:"banner"},l.a.createElement("div",{className:"banner-text"},t),l.a.createElement("div",null,r))},Bt=a(224),zt=a(273);const $t=Object.entries(zt.b).map(([e,t])=>({value:e,label:t}));var _t=e=>{const{isOpen:t,onClose:a,userId:o,communityId:i,threadCommentId:s,userName:c,onBanned:u}=e,[m,d]=Object(n.useState)("spam-content"),[p,b]=Object(n.useState)(""),[h,g]=Object(n.useState)(!1),[f,y]=Object(n.useState)(null),v=Object(n.useCallback)(()=>{return e=null,t=null,n=function*(){var e;g(!0),y(null);try{const e=yield I.a.post("/api/communityBans",{userId:o,communityId:i,reason:m,reasonText:p.trim()||null,sourceThreadCommentId:null!=s?s:null});null==u||u(e),a()}catch(t){y(null!=(e=null==t?void 0:t.message)?e:"Failed to ban user")}finally{g(!1)}},new Promise((a,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?a(e.value):Promise.resolve(e.value).then(r,o);i((n=n.apply(e,t)).next())});var e,t,n},[o,i,m,p,s,u,a]);return l.a.createElement(ie.j,{isOpen:t,onClose:a,title:"Ban user"+(c?": "+c:""),style:{width:520}},l.a.createElement("div",{className:r.a.DIALOG_BODY},l.a.createElement(ie.e,{intent:Bt.a.WARNING,style:{marginBottom:20}},l.a.createElement("p",{style:{margin:"0 0 8px"}},l.a.createElement("strong",null,"This will ban the user from your community.")," They will not be able to perform any actions, including creating Pubs, posting discussions, or editing content."),l.a.createElement("p",{style:{margin:"0 0 8px"}},"All of their existing discussions and comments will be hidden from other users. You can reverse this action at any time from the Members settings."),l.a.createElement("p",{style:{margin:0,fontSize:13,opacity:.85}},"The user will ",l.a.createElement("strong",null,"not")," be notified of this action.")),l.a.createElement("div",{style:{marginBottom:14}},l.a.createElement("label",{htmlFor:"flag-reason",style:{fontWeight:600,fontSize:14}},"Reason"),l.a.createElement(ie.o,{id:"flag-reason",value:m,onChange:e=>d(e.target.value),fill:!0,style:{marginTop:4}},$t.map(e=>l.a.createElement("option",{key:e.value,value:e.value},e.label)))),l.a.createElement("div",{style:{marginBottom:8}},l.a.createElement("label",{htmlFor:"flag-reason-text",style:{fontWeight:600,fontSize:14}},"Details (optional)"),l.a.createElement("p",{style:{margin:"2px 0 6px",fontSize:13,color:"#666"}},"This message will be sent to the PubPub team and helps us identify patterns of abuse across the platform."),l.a.createElement(ie.M,{id:"flag-reason-text",value:p,onChange:e=>b(e.target.value),fill:!0,rows:3,placeholder:"Provide additional context about why this user is being banned...",style:{marginTop:0}})),f&&l.a.createElement("div",{style:{color:"var(--pt-intent-danger)",marginTop:8,fontSize:13}},f)),l.a.createElement("div",{className:r.a.DIALOG_FOOTER},l.a.createElement("div",{className:r.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(ie.c,{text:"Cancel",onClick:a,disabled:h}),l.a.createElement(ie.c,{text:"Ban user",intent:Bt.a.DANGER,onClick:v,loading:h}))))},Ht=a(364),Vt=a(1579);var qt=e=>{const{afterCopyPrompt:t="Copied!",beforeCopyPrompt:a=null,children:r=null,className:o="",copyString:i,disabled:s=!1,icon:c="link",minimal:u=!0,tooltipPosition:m=lt.a.TOP,usePortal:d=!0,small:p=!1,outlined:b=!1}=e,[h,g]=Object(n.useState)(!1),[f,y]=Object(Vt.a)(),v=()=>{y("function"==typeof i?i():i),g(!0)};return l.a.createElement(ie.N,{usePortal:d,content:(h?f.error?"There was an error copying.":t:a)||void 0,onClosed:()=>g(!1),className:o,children:"function"==typeof r?r(v):l.a.createElement(ie.c,{minimal:u,small:p,icon:c,onClick:v,disabled:s,outlined:b},r),position:m})};const Wt=l.a.createContext({isClientOnly:!1});var Gt=e=>{const{children:t,fallback:a=null}=e;return"undefined"!=typeof window?l.a.createElement(Wt.Provider,{value:{isClientOnly:!0}},t):l.a.createElement(l.a.Fragment,null,a)};var Yt=e=>{const{collectionId:t,communityId:a,attributions:n,onUpdateAttributions:r,canEdit:o}=e,{pendingPromise:i}=Object(T.d)();return l.a.createElement(Lt,{apiRoute:"/api/collectionAttributions",canEdit:o,hasEmptyState:!1,attributions:n,listOnBylineText:"Collection byline attribution",promiseWrapper:i,onUpdateAttributions:r,identifyingProps:{collectionId:t,communityId:a}})};a(951);const Kt={allCollections:c.a.array.isRequired,selectedCollectionIds:c.a.array.isRequired,onItemSelect:c.a.func.isRequired,onRemove:c.a.func.isRequired,placeholder:c.a.string},Jt=function(e){const t={};
1return e.allCollections.forEach(e=>{t[e.id]=e}),l.a.createElement(rt.a,{className:"collection-multi-select-component",items:Object.keys(t),itemPredicate:(a,n)=>{if((e.selectedCollectionIds||[]).indexOf(n)>-1)return!1;if(!a)return!0;const l=t[n];return st()(a.toLowerCase(),l.title.toLowerCase())},itemRenderer:(e,{handleClick:a,modifiers:n})=>{const o=t[e];return l.a.createElement("li",{key:e},l.a.createElement("button",{type:"button",tabIndex:-1,onClick:a,className:n.active?`${r.a.MENU_ITEM} ${r.a.ACTIVE}`:r.a.MENU_ITEM},o.title))},selectedItems:e.selectedCollectionIds,tagRenderer:e=>{const a=t[e];return a&&a.title},tagInputProps:{onRemove:e.onRemove,placeholder:e.placeholder,collectionProps:{className:`${r.a.MINIMAL} ${r.a.INTENT_PRIMARY}`},inputProps:{placeholder:e.placeholder}},resetOnSelect:!0,onItemSelect:e.onItemSelect,noResults:l.a.createElement("div",{className:r.a.MENU_ITEM},"No Matching Collections"),popoverProps:{popoverClassName:r.a.MINIMAL,position:lt.a.BOTTOM_LEFT,modifiers:{preventOverflow:{enabled:!1},hide:{enabled:!1}}}})};Jt.propTypes=Kt,Jt.defaultProps={placeholder:""};var Qt=Jt,Zt=a(813);a(1043);const Xt={value:c.a.string.isRequired,onChange:c.a.func,onChangeComplete:c.a.func,children:c.a.func},ea=["#c0392b","#d35400","#f39c12","#16a085","#27ae60","#2980b9","#8e44ad","#2c3e50"],ta=function(e){const{communityData:t}=Object(T.c)(),a=t?[...ea,t.accentColorDark,t.accentColorLight,"black","white"]:ea;return l.a.createElement("div",{className:"color-input-component"},l.a.createElement(ie.z,{content:l.a.createElement(Zt.a,{color:e.value,onChange:e.onChange,onChangeComplete:e.onChangeComplete,presetColors:a}),interactionKind:ie.A.CLICK,position:lt.a.BOTTOM,minimal:!0},"function"==typeof e.children?e.children(e.value):l.a.createElement("div",{className:"swatch",style:{backgroundColor:e.value}})))};ta.propTypes=Xt,ta.defaultProps={onChange:void 0,onChangeComplete:void 0,children:void 0};var aa=ta,na=a(47);a(1044);const la={title:c.a.string,description:c.a.string,subdomain:c.a.string,domain:c.a.string,heroLogo:c.a.string,heroBackgroundImage:c.a.string,accentColor:c.a.string,accentTextColor:c.a.string},ra=function(e){const t=Object(na.b)(e.heroLogo,"inside",600),a=Object(na.b)(e.heroBackgroundImage,"outside",800),n={color:e.accentTextColor},r={backgroundColor:e.accentColor,color:e.accentTextColor,backgroundImage:e.heroBackgroundImage?`url("${a}")`:""},o=e.domain?"https://"+e.domain:`https://${e.subdomain}.pubpub.org`;return l.a.createElement("a",{className:"community-preview-component",href:o,style:r},l.a.createElement("div",{className:"logo-wrapper"},e.heroLogo&&l.a.createElement("img",{className:"logo",src:t,alt:e.title}),!e.heroLogo&&l.a.createElement("h3",{style:n},e.title)),l.a.createElement("div",{className:"description"},e.description))};ra.defaultProps={title:void 0,description:void 0,subdomain:void 0,domain:void 0,heroLogo:void 0,heroBackgroundImage:void 0,accentColor:"#000",accentTextColor:"#FFF"},ra.propTypes=la;var oa=a(365);a(1045);const ia={attribution:c.a.object.isRequired},sa=function(e){const{attribution:t}=e,{user:a}=t,n=a.slug?l.a.createElement("a",{href:"/user/"+a.slug},l.a.createElement(Rt.a,{initials:a.initials,avatar:a.avatar,width:30})):l.a.createElement(Rt.a,{initials:a.initials,avatar:a.avatar,width:30}),r=a.slug?l.a.createElement("a",{href:"/user/"+a.slug,className:"hoverline"},a.fullName):l.a.createElement("span",null,a.fullName),o=t.affiliation||a.title,i=(t.roles||[]).reduce((e,t)=>e?`${e}, ${t}`:t,""),s=Object(ot.c)(a.orcid);return l.a.createElement("div",{className:"contributors-list_contributor-component"},l.a.createElement("div",{className:"avatar-wrapper"},n),l.a.createElement("div",{className:"details-wrapper"},l.a.createElement("div",{className:"name"},r),s&&l.a.createElement("div",{className:"pub-header-themed-secondary orcid"},l.a.createElement(an.a,{icon:"orcid"}),l.a.createElement("a",{href:"https://orcid.org/"+s,target:"_blank",rel:"noopener noreferrer"},s)),o&&l.a.createElement("div",{className:"affiliation pub-header-themed-secondary"},o),!!i&&l.a.createElement("div",{className:"roles pub-header-themed-secondary"},"Roles: ",i)))};sa.propTypes=ia;var ca=sa;const ua={attributions:c.a.array.isRequired},ma=function(e){const{attributions:t}=e;return l.a.createElement("div",{className:"contributors-list-component"},t.map(e=>l.a.createElement(ca,{attribution:e,key:e.id})))};ma.propTypes=ua;var da=ma;a(1046);var pa=e=>{const{attributions:t,className:a,truncateAt:n,hasPopover:r=!0}=e;if(0===t.length)return null;const o=l.a.createElement(Ft,{users:t.map(e=>e.user),className:a,truncateAt:n});return r?l.a.createElement(ie.z,{minimal:!0,interactionKind:"hover",content:l.a.createElement("div",{className:"contributor-avatars-component_list-container"},l.a.createElement(da,{attributions:e.attributions})),position:"bottom-left",popoverClassName:"contributor-avatars-component_popover"},o):o};a(380),a(1048);var ba=e=>{const{className:t,children:a,controls:n=null,details:r=null,icon:o,title:i,banner:s}=e,{scopeData:c}=Object(T.c)(),{elements:{activeTargetType:u}}=c;return l.a.createElement("div",{className:Ge()("dashboard-frame-component",t)},s,l.a.createElement("div",{className:"dashboard-content-header"},l.a.createElement("div",{className:"dashboard-header-left"},l.a.createElement("div",{className:"title"},o&&l.a.createElement(l.a.Fragment,null,l.a.createElement(an.a,{icon:o,iconSize:24})," "),l.a.createElement("span",{className:"target-type"},u)," ",i),r&&l.a.createElement("div",{className:"details"},r)),l.a.createElement("div",{className:"dashboard-header-right"},l.a.createElement("div",{className:"controls"},n))),a)};a(1049);const ha=e=>{const{children:t,className:a}=e;return l.a.createElement("ul",{className:Ge()("dashboard-row-listing-component",a)},l.a.Children.map(t,e=>l.a.createElement("li",null,e)))};ha.defaultProps={className:""};var ga=ha;a(1050);const fa=e=>{const{children:t,className:a,handle:r,href:o,icon:i,onClick:s,rightSideElements:c,selected:u,subtitle:m,title:d}=e,[p,b]=Object(n.useState)(!1),h=l.a.Children.count(t)>0;return l.a.createElement("div",{className:Ge()("dashboard-row-component",a,u&&"selected")},l.a.createElement("div",{className:"inner"},l.a.createElement(dt.a,{"aria-label":p?"Hide collection children":"Show collection children",className:Ge()({arrow:!0,active:h,opened:p}),role:"button",tabIndex:h?0:-1,onClick:e=>{h&&(e.preventDefault(),b(!p))}},h&&l.a.createElement(an.a,{icon:"caret-right"})),l.a.createElement("div",{className:"left"},l.a.createElement("div",{className:"icon-and-title-container"},r,l.a.createElement("div",{className:"icon"},l.a.createElement(an.a,{icon:i,iconSize:14})),l.a.createElement("a",{className:"title-and-subtitle",href:o,onClick:s,draggable:"false"},l.a.createElement("div",{className:"title"},d),l.a.createElement("div",{className:"subtitle"},m)))),l.a.createElement("div",{className:"right"},c)),p&&l.a.createElement(ga,{className:"child-rows"},t))};fa.defaultProps={children:null,className:"",handle:null,href:null,onClick:null,rightSideElements:null,selected:!1,subtitle:null};var ya=fa,va=a(92),Ea=a.n(va),Oa=Object.defineProperty,wa=Object.defineProperties,Ca=Object.getOwnPropertyDescriptors,Na=Object.getOwnPropertySymbols,ja=Object.prototype.hasOwnProperty,ka=Object.prototype.propertyIsEnumerable,S
1a=(e,t,a)=>t in e?Oa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Pa=(e,t)=>{for(var a in t||(t={}))ja.call(t,a)&&Sa(e,a,t[a]);if(Na)for(var a of Na(t))ka.call(t,a)&&Sa(e,a,t[a]);return e};const Da=e=>!Number.isNaN(e.valueOf()),Ia=e=>{if(e){const t=new Date(e);if(Da(t))return Ea()(t,"UTC:yyyy-mm-dd");throw new Error}return e};var Ta=e=>{const t=e,{date:a,onSelectDate:r}=t,o=((e,t)=>{var a={};for(var n in e)ja.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Na)for(var n of Na(e))t.indexOf(n)<0&&ka.call(e,n)&&(a[n]=e[n]);return a})(t,["date","onSelectDate"]),i=Object(n.useRef)(),[s,c]=Object(n.useState)(!1);Object(n.useEffect)(()=>c(!0),[]),Object(n.useEffect)(()=>{const{current:e}=i;if(e)try{const t=Ia(a);e.value=t}catch(e){}},[a]);const u=Object(n.useCallback)(e=>{try{const t=(e=>{const{value:t}=e.target;if(t){const[e,a,n]=t.split("-");if(e&&4===e.length&&!e.startsWith("0")&&a&&n){const e=new Date(t);if(Da(e))return e}throw new Error}return null})(e);r(t)}catch(e){}},[r]);return l.a.createElement(ie.r,(m=Pa(Pa({placeholder:"YYYY-MM-DD"},o),((e,t)=>{if(!t)try{return{value:Ia(e)}}catch(e){return{}}return{}})(a,s)),wa(m,Ca({type:"date",inputRef:i,onInput:u}))));var m},xa=(a(381),a(378)),Aa=a(25);var Ma=e=>{const{children:t,renderLauncherElement:a,renderChildrenWhenClosed:r=!0}=e,[o,i]=Object(n.useState)(!1),[s,c]=Object(n.useState)(Date.now());return l.a.createElement(l.a.Fragment,null,a({openDialog:()=>{i(!0),c(Date.now())}}),(o||r)&&t({key:s,isOpen:o,onClose:()=>i(!1)}))};let La=[];const Ra=e=>{return t=null,a=null,n=function*(){yield I.a.post("/api/dev",{subdomain:e}),window.location.href="/"},new Promise((e,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((n=n.apply(t,a)).next())});var t,a,n};var Fa=()=>{const e=Object(n.useCallback)(e=>{e.preventDefault();const t=new FormData(e.currentTarget).get("subdomain");Ra(t)},[]);return l.a.createElement(l.a.Fragment,null,l.a.createElement(Aa.d,{text:"Base PubPub",icon:"home",onClick:()=>Ra(null)}),l.a.createElement(Ma,{renderLauncherElement:({openDialog:e})=>l.a.createElement(Aa.d,{text:"Choose a Community...",icon:"text-highlight",onClick:e})},({isOpen:t,onClose:a})=>l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.j,{isOpen:t,onClose:a,title:"Choose a Community..."},l.a.createElement("div",{className:r.a.DIALOG_BODY},l.a.createElement("p",null,"Enter a Community subdomain"),l.a.createElement("form",{onSubmit:e},l.a.createElement(ie.r,{name:"subdomain"}),l.a.createElement(ie.c,{type:"submit"},"Select")))))),La.length>0&&l.a.createElement(Aa.e,null),La.map(({title:e,subdomain:t,icon:a})=>l.a.createElement(Aa.d,{key:t,text:e,icon:a,onClick:()=>Ra(t)})))},Ua=Object.defineProperty,Ba=Object.defineProperties,za=Object.getOwnPropertyDescriptors,$a=Object.getOwnPropertySymbols,_a=Object.prototype.hasOwnProperty,Ha=Object.prototype.propertyIsEnumerable,Va=(e,t,a)=>t in e?Ua(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var qa=e=>l.a.createElement(Aa.a,((e,t)=>Ba(e,za(t)))(((e,t)=>{for(var a in t||(t={}))_a.call(t,a)&&Va(e,a,t[a]);if($a)for(var a of $a(t))Ha.call(t,a)&&Va(e,a,t[a]);return e})({},e),{"aria-label":"Switch Community"}),l.a.createElement(Fa,null)),Wa=a(276);a(1110);var Ga=e=>{const{communityId:t,pubData:a,onSetDownloads:r,text:o="Upload your file",isLarge:i=!1,isSmall:s=!1,isMinimal:c=!1}=e,[u,m]=Object(n.useState)(!1),d=Object(Wa.a)(a.downloads),{url:p="",date:b}=d||{},h=p.split(".").pop().toLowerCase(),g=e=>{return n=null,l=null,o=function*(){const n=e?[{type:"formatted",url:e,createdAt:new Date}]:[];try{m(!0),yield Object(I.a)("/api/pubs",{method:"PUT",body:JSON.stringify({downloads:n,pubId:a.id,communityId:t})}),r(n),m(!1)}catch(e){console.error("Error Saving Pub Downloads: ",e)}},new Promise((e,t)=>{var a=e=>{try{i(o.next(e))}catch(e){t(e)}},r=e=>{try{i(o.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,r);i((o=o.apply(n,l)).next())});var n,l,o};return l.a.createElement("div",{className:"download-chooser-component"},l.a.createElement("div",{className:"buttons"},l.a.createElement(vr,{icon:"upload",onUploadFinish:g,text:o,isLarge:i,isSmall:s,isMinimal:c}),d&&l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.c,{icon:"download",text:"Download "+h.toUpperCase(),onClick:()=>window.open(p),small:s}),l.a.createElement(ie.c,{text:"Remove file",icon:"trash",onClick:()=>g(null),loading:u,small:s}))),b&&l.a.createElement("div",{className:"subtext"},"Uploaded ",Ea()(b,"mmm dd, yyyy")))},Ya=Object.defineProperty,Ka=Object.defineProperties,Ja=Object.getOwnPropertyDescriptors,Qa=Object.getOwnPropertySymbols,Za=Object.prototype.hasOwnProperty,Xa=Object.prototype.propertyIsEnumerable,en=(e,t,a)=>t in e?Ya(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var tn=e=>{const t=e,{onReorderItems:a,getReorderedItem:n}=t,r=((e,t)=>{var a={};for(var n in e)Za.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Qa)for(var n of Qa(e))t.indexOf(n)<0&&Xa.call(e,n)&&(a[n]=e[n]);return a})(t,["onReorderItems","getReorderedItem"]);return l.a.createElement(qe.a,{onDragEnd:t=>{const{source:l,destination:r}=t;if(r){const{index:t}=l,{index:o}=r,i=[...e.items],[s]=i.splice(t,1),c=n?n(s,i):s;i.splice(o,0,c),a(i,c,o)}}},l.a.createElement(nt,((e,t)=>
1Ka(e,Ja(t)))(((e,t)=>{for(var a in t||(t={}))Za.call(t,a)&&en(e,a,t[a]);if(Qa)for(var a of Qa(t))Xa.call(t,a)&&en(e,a,t[a]);return e})({},r),{droppableId:"drag-drop-ordering"})))},an=a(52),nn=Object.defineProperty,ln=Object.defineProperties,rn=Object.getOwnPropertyDescriptors,on=Object.getOwnPropertySymbols,sn=Object.prototype.hasOwnProperty,cn=Object.prototype.propertyIsEnumerable,un=(e,t,a)=>t in e?nn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,mn=(e,t)=>{for(var a in t||(t={}))sn.call(t,a)&&un(e,a,t[a]);if(on)for(var a of on(t))cn.call(t,a)&&un(e,a,t[a]);return e};var dn=l.a.forwardRef((e,t)=>{const a=e,{dragHandleProps:n}=a,r=((e,t)=>{var a={};for(var n in e)sn.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&on)for(var n of on(e))t.indexOf(n)<0&&cn.call(e,n)&&(a[n]=e[n]);return a})(a,["dragHandleProps"]);return l.a.createElement("div",(o=mn(mn({},r),n),ln(o,rn({ref:t}))),l.a.createElement(an.a,{icon:"drag-handle-vertical"}));var o});a(1111);const pn={label:c.a.oneOfType([c.a.string,c.a.node]),icon:c.a.string,intent:c.a.string,isRightAligned:c.a.bool,isMinimal:c.a.bool,isDisabled:c.a.bool,isSmall:c.a.bool,isLarge:c.a.bool,isOpen:c.a.bool,className:c.a.string,usePortal:c.a.bool,children:c.a.node},bn=function(e){return l.a.createElement(ie.z,{content:e.children,interactionKind:ie.A.CLICK,position:e.isRightAligned?lt.a.BOTTOM_RIGHT:lt.a.BOTTOM_LEFT,minimal:!0,transitionDuration:-1,inheritDarkTheme:!1,isOpen:e.isOpen,usePortal:e.usePortal},e.icon&&!e.label?l.a.createElement(ie.c,{disabled:e.isDisabled,className:"dropdown-button "+e.className,large:e.isLarge,small:e.isSmall,minimal:e.isMinimal,intent:e.intent,icon:l.a.createElement(an.a,{icon:e.icon})}):l.a.createElement(ie.c,{disabled:e.isDisabled,className:"dropdown-button "+e.className,large:e.isLarge,small:e.isSmall,minimal:e.isMinimal,intent:e.intent,rightIcon:l.a.createElement(an.a,{icon:"caret-down"}),text:l.a.createElement("span",null,e.icon&&l.a.createElement(an.a,{icon:e.icon}),e.label.trim?e.label.trim():e.label)}))};bn.defaultProps={label:void 0,icon:void 0,intent:void 0,isMinimal:!1,isDisabled:!1,isRightAligned:!1,isSmall:!1,isLarge:!1,className:"",usePortal:!0,isOpen:void 0,children:void 0},bn.propTypes=pn;var hn=bn,gn=a(24),fn=a(88),yn=a(87),vn=a(317),En=a(37);a(1138);function On(e){const{contributingScopes:t,isValueLocal:a}=e,n=t[t.length-1];if(a)return"Defined here";if(n){const{kind:e}=n;if("root"===e)return"PubPub default";return"Defined by "+Object(En.b)(e)}return"Unknown"}function wn(e){const{contributingScopes:t}=e,a=t[t.length-2];if(a){const{kind:e}=a;if("root"===e)return"Revert to PubPub default";return`Revert to ${Object(En.b)(e)} value`}return"Revert"}var Cn=function(e){const{children:t,label:a,propSourceInfo:r,onReset:o,displayStyle:i}=e,{isValueLocal:s}=r,[c,u]=Object(n.useMemo)(()=>[On(r),wn(r)],[r]),[m,d]=Object(n.useState)(!1),[p,b]=Object(n.useState)(!1),h=s&&(m||p),g=s?l.a.createElement(an.a,{className:"inheritance-icon revert-icon",iconSize:14,icon:"cross"}):l.a.createElement(an.a,{className:"inheritance-icon",iconSize:16,icon:"double-chevron-down"}),f=l.a.createElement(dt.a,{className:"inheritance-indicator",as:"div",onClick:o,disabled:!s,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onFocus:()=>b(!0),onBlur:()=>b(!1)},g);return l.a.createElement("div",{className:Ge()("facet-prop-editor-skeleton-component",s&&"local-value","settings"===i&&"settings-style")},l.a.createElement("div",{className:"top-row"},f,l.a.createElement("div",{className:"label-group"},l.a.createElement("div",{className:"inheritance-info"},h?u:c),l.a.createElement("div",{className:"prop-name"},a))),l.a.createElement("div",{className:"controls-container"},t))},Nn=(a(1139),Object.defineProperty),jn=Object.getOwnPropertySymbols,kn=Object.prototype.hasOwnProperty,Sn=Object.prototype.propertyIsEnumerable,Pn=(e,t,a)=>t in e?Nn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Dn=function(e){const{cascadeResult:t,currentScope:a,description:r,facetDefinition:o,onUpdateValue:i,propEditors:s,displayStyle:c="settings",selfContained:u,isPersisting:m}=e,{props:d,value:p}=t,{name:b,label:h}=o,g="compact"===c,f=Object(n.useCallback)((e,t)=>{const{propType:n}=t,r=s[e],o=d[e],{value:m}=o,b=function(e,t,a){const{sources:n}=a,l=n.filter(e=>null!==e.value||"root"===e.scope.kind).map(e=>e.scope),r=l[l.length-1],o=(null==r?void 0:r.id)===t.id;if("overwrite"===e.cascade)return{isValueLocal:o,contributingScopes:l};
1throw new yn.FacetCascadeNotImplError(e.cascade)}(t,a,o),h=t=>i({[e]:t}),g={value:m,prop:t,propType:n,facetValue:p,propSourceInfo:b,onUpdateValue:h};return l.a.createElement(Cn,{key:e,displayStyle:u?"compact":c,label:t.label,onReset:()=>h(null),propSourceInfo:b},l.a.createElement(r,((e,t)=>{for(var a in t||(t={}))kn.call(t,a)&&Pn(e,a,t[a]);if(jn)for(var a of jn(t))Sn.call(t,a)&&Pn(e,a,t[a]);return e})({key:e},g)))},[s,d,a,p,i,c,u]),y=Object(yn.mapFacet)(o,f);return l.a.createElement(Vm,{gradient:!0,title:null!=h?h:b,compact:g,className:Ge()("facet-editor-component",u&&"self-contained"),description:r,controls:m&&u&&l.a.createElement(ie.F,{size:20})},l.a.createElement("div",{className:"prop-editors"},Object.values(y)))},In=Object.defineProperty,Tn=Object.defineProperties,xn=Object.getOwnPropertyDescriptors,An=Object.getOwnPropertySymbols,Mn=Object.prototype.hasOwnProperty,Ln=Object.prototype.propertyIsEnumerable,Rn=(e,t,a)=>t in e?In(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Fn=(e,t)=>{for(var a in t||(t={}))Mn.call(t,a)&&Rn(e,a,t[a]);if(An)for(var a of An(t))Ln.call(t,a)&&Rn(e,a,t[a]);return e};function Un(e,t){return a=>{return l.a.createElement(Dn,(n=Fn(Fn({},t),a),Tn(n,xn({facetDefinition:e}))));var n}}var Bn=Object.defineProperty,zn=Object.getOwnPropertySymbols,$n=Object.prototype.hasOwnProperty,_n=Object.prototype.propertyIsEnumerable,Hn=(e,t,a)=>t in e?Bn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Vn=(e,t)=>e.map(e=>{var a;return((e,t)=>{for(var a in t||(t={}))$n.call(t,a)&&Hn(e,a,t[a]);if(zn)for(var a of zn(t))_n.call(t,a)&&Hn(e,a,t[a]);return e})({value:e},null!=(a=t[e])?a:{label:e})}),qn=e=>{const{items:t}=e;return e=>{const{value:a,onUpdateValue:r,propType:o,prop:i}=e,{values:s}=o.extension,c=Object(n.useMemo)(()=>Vn(s,t),[s]);return l.a.createElement(Aa.f,{"aria-label":`Select value for prop (${i.label})`,items:c,value:a,onSelectValue:r})}},Wn=e=>{const{items:t}=e;return e=>{const{value:a,onUpdateValue:r}=e,o=t.findIndex(e=>e.value===a).toString(),i=Object(n.useCallback)(e=>{const a=t[parseInt(e,10)];r(a.value)},[r]),s=Object(n.useCallback)(e=>{i(e.target.value)},[i]),c=Object(n.useCallback)(e=>{e.target.value===o&&i(e.target.value)},[i,o]);return l.a.createElement(ie.D,{onChange:s,selectedValue:o},t.map((e,t)=>l.a.createElement(ie.C,{key:e.value,label:e.label,value:t.toString(),onClick:c})))}},Gn=qn({items:(()=>{const e={};return vn.b.forEach(t=>{e[t.key]={label:t.name}}),e})()}),Yn=qn({items:(()=>{const e={};return vn.a.forEach(t=>{e[t.key]={label:t.title,rightElement:t.example}}),e})()});var Kn=Un(yn.CitationStyle,{propEditors:{citationStyle:Gn,inlineCitationStyle:Yn}}),Jn=(a(1140),Object.defineProperty),Qn=Object.getOwnPropertySymbols,Zn=Object.prototype.hasOwnProperty,Xn=Object.prototype.propertyIsEnumerable,el=(e,t,a)=>t in e?Jn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,tl=(e,t)=>{for(var a in t||(t={}))Zn.call(t,a)&&el(e,a,t[a]);if(Qn)for(var a of Qn(t))Xn.call(t,a)&&el(e,a,t[a]);return e};const al=(new Date).getFullYear();var nl=e=>{const{value:t,onUpdateValue:a}=e,{choice:n,year:r}=t,o=e=>{const{value:t}=e.target;a({year:parseInt(t,10),choice:"choose-here"})};return l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.D,{className:"copyright-selection-picker-component",selectedValue:n,onChange:e=>{return n={choice:e.target.value},void a(tl(tl({},t),n));var n}},l.a.createElement(ie.C,{value:"infer-from-scope"},"Infer copyright year from Pub and Collection"),l.a.createElement(ie.C,{value:"choose-here"},"Pick a specific year")),l.a.createElement(ie.w,{min:0,disabled:"choose-here"!==n,value:null!=r?r:al,placeholder:"1999",onBlur:o,onKeyDown:e=>"Enter"===e.key&&o(e)}))},ll=a(421);var rl=e=>{const{value:t,onUpdateValue:a}=e,{communityData:{premiumLicenseFlag:r}}=Object(T.c)(),o=Object(n.useMemo)(()=>Object.values(ll.a).filter(e=>!(e.requiresPremium&&!r)).map(e=>({value:e.kind,label:e.short,icon:l.a.createElement("img",{width:75,alt:"",src:`/static/license/${e.kind}.svg`})})),[r]);return l.a.createElement(Aa.f,{"aria-label":"Choose a license",value:t,items:o,onSelectValue:a,showTickIcon:!1})},ol=Un(yn.License,{propEditors:{kind:rl,copyrightSelection:nl}}),il=(a(1141),Object.defineProperty),sl=Object.defineProperties,cl=Object.getOwnPropertyDescriptors,ul=Object.getOwnPropertySymbols,ml=Object.prototype.hasOwnProperty,dl=Object.prototype.propertyIsEnumerable,pl=(e,t,a)=>t in e?il(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,bl=(e,t)=>
1{for(var a in t||(t={}))ml.call(t,a)&&pl(e,a,t[a]);if(ul)for(var a of ul(t))dl.call(t,a)&&pl(e,a,t[a]);return e},hl=(e,t)=>sl(e,cl(t));var gl=e=>{const{value:t,onUpdateValue:a}=e,{enabled:r,text:o}=t,i=Object(n.useCallback)(e=>{a(hl(bl({},t),{enabled:e}))},[t,a]),s=Object(n.useCallback)(e=>{a(hl(bl({},t),{text:e}))},[t,a]),c=r?"Disable labels":"Enable labels";return l.a.createElement("div",{className:"node-label-editor-component"},l.a.createElement(ie.N,{content:c},l.a.createElement(ie.g,{checked:r,onChange:e=>i(e.target.checked)})),l.a.createElement(ie.r,{type:"text",onChange:e=>s(e.target.value),value:o,disabled:!r}))};const fl=l.a.createElement(l.a.Fragment,null,'You can enable automatic numbering for different types of blocks, and choose the text that will be used to reference them within the Pub. By giving two types of blocks the same name, you can group them into one ordering list (i.e., if you want both images and videos to be "figures" and share the same numbering, give them both the label "Figure").');var yl=Un(yn.NodeLabels,{description:fl,propEditors:{image:gl,audio:gl,video:gl,table:gl,math:gl,iframe:gl}});const vl=Wn({items:[{value:!0,label:"Show Pub Connections as carousel"},{value:!1,label:"Show Pub Connections as list"}]}),El=Wn({items:[{value:!0,label:"Show descriptions"},{value:!1,label:"Hide descriptions"}]});var Ol=Un(yn.PubEdgeDisplay,{propEditors:{defaultsToCarousel:vl,descriptionIsVisible:El}}),wl=a(227);var Cl=l.a.forwardRef((e,t)=>{const{label:a,onClick:n,color:r,selected:o}=e;return l.a.createElement(dt.a,{className:"background-color-choice",onClick:n,ref:t,title:a},l.a.createElement("div",{className:"example"},l.a.createElement("div",{className:"transparency"}),l.a.createElement("div",{className:Ge()("inner","selectable",o&&"selected"),style:{backgroundColor:r}})),l.a.createElement("div",{className:"label"},a))});a(652);var Nl=e=>{const{value:t,onUpdateValue:a}=e,{communityData:n}=Object(T.c)(),r=!!t&&"community"!==t&&"dark"!==t&&"light"!==t;return l.a.createElement("div",{className:"background-color-picker-component"},l.a.createElement(Cl,{label:"Light",color:Object(wl.a)("light"),onClick:()=>a("light"),selected:"light"===t}),l.a.createElement(Cl,{label:"Community accent",color:Object(wl.a)("community",n.accentColorDark),onClick:()=>a("community"),selected:"community"===t}),l.a.createElement(Cl,{label:"Dark",color:Object(wl.a)("dark"),onClick:()=>a("dark"),selected:"dark"===t}),l.a.createElement(aa,{value:r?t:"black",onChange:e=>{const{r:t,g:n,b:l,a:r}=e.rgb;a(`rgba(${t},${n},${l},${r})`)}},e=>l.a.createElement(Cl,{label:"Custom",color:e,selected:r})))};var jl=e=>{const{value:t,onUpdateValue:a}=e;return l.a.createElement(Xr.a,{key:t,defaultImage:t,onNewImage:a,width:150,canClear:!0,helperText:l.a.createElement("span",null,"Suggested minimum dimensions: ",l.a.createElement("br",null),"1200px x 800px")})};var kl=l.a.forwardRef((e,t)=>{const{label:a,className:n,onClick:r,selected:o=!1,style:i={},communityData:s,pubHeaderTheme:c}=e;return l.a.createElement(dt.a,{className:Ge()("text-style-choice"),onClick:r,ref:t,title:a},l.a.createElement(ju,{communityData:s,blur:!0,className:Ge()("example",n,"selectable",o&&"selected"),style:i||{},pubHeaderTheme:c},l.a.createElement("div",{className:"example-text"},"Aa")),l.a.createElement("div",{className:"label"},a))});a(1142);var Sl=e=>{const{value:t,onUpdateValue:a,facetValue:n}=e,{communityData:r}=Object(T.c)();return l.a.createElement("div",{className:"text-style-picker-component"},l.a.createElement(kl,{pubHeaderTheme:n,communityData:r,label:"Light",className:"light",onClick:()=>a("light"),selected:!t||"light"===t}),l.a.createElement(kl,{pubHeaderTheme:n,communityData:r,label:"Dark",className:"dark",onClick:()=>a("dark"),selected:"dark"===t}),l.a.createElement(kl,{pubHeaderTheme:n,communityData:r,label:"White Blocks",className:"white-blocks",onClick:()=>a("white-blocks"),selected:"white-blocks"===t}),l.a.createElement(kl,{pubHeaderTheme:n,communityData:r,label:"Black Blocks",className:"black-blocks",onClick:()=>a("black-blocks"),selected:"black-blocks"===t}))},Pl=Un(yn.PubHeaderTheme,{propEditors:{backgroundImage:jl,backgroundColor:Nl,textStyle:Sl}}),Dl=Object.defineProperty,Il=Object.defineProperties,Tl=Object.getOwnPropertyDescriptors,xl=Object.getOwnPropertySymbols,Al=Object.prototype.hasOwnProperty,Ml=Object.prototype.propertyIsEnumerable,Ll=(e,t,a)=>t in e?Dl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Rl={CitationStyle:Kn,PubEdgeDisplay:Ol,PubHeaderTheme:Pl,NodeLabels:yl,License:ol};var Fl=function(e){const t=e,{facetName:a,selfContained:r}=t,o=((e,t)=>{var a={};for(var n in e)Al.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&xl)for(var n of xl(e))t.indexOf(n)<0&&Ml.call(e,n)&&(a[n]=e[n]);return a})(t,["facetName","selfContained"]),i=Rl[a],{currentScope:s,facets:c,updateFacet:u,persistFacets:m}=Object(fn.b)(),{cascadeResult:d,isPersisting:p}=c[a],b=Object(n.useCallback)(e=>{u(a,e),r&&m()},[a,u,m,r]);return i?l.a.createElement(i,((e,t)=>Il(e,Tl(t)))(((e,t)=>{for(var a in t||(t={}))Al.call(t,a)&&Ll(e,a,t[a]);if(xl)for(var a of xl(t))Ml.call(t,a)&&Ll(e,a,t[a]);return e})({},o),{selfContained:r,onUpdateValue:b,cascadeResult:d,currentScope:s,isPersisting:p})):null};const Ul=l.a.createContext(null);var Bl=a(247),zl=a(791),$l=Object.defineProperty,_l=Object.defineProperties,Hl=Object.getOwnPropertyDescriptors,Vl=Object.getOwnPropertySymbols,ql=Object.prototype.hasOwnProperty,Wl=Object.prototype.propertyIsEnumerable,Gl=(e,t,a)=>t in e?$l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Yl=(e,t)=>
1{for(var a in t||(t={}))ql.call(t,a)&&Gl(e,a,t[a]);if(Vl)for(var a of Vl(t))Wl.call(t,a)&&Gl(e,a,t[a]);return e},Kl=(e,t)=>_l(e,Hl(t));function Jl(e){return Object(yn.mapFacetDefinitions)((t,a)=>{const n=e[t.name];return n?function(e){const{cascadeResult:t}=e;return Kl(Yl({},e),{persistedCascadeResult:t,hasPersistableChanges:!1,persistableChanges:{}})}(n):a})}function Ql(e,t){return Object(yn.mapFacetDefinitions)((a,n)=>{const l=e[a.name];return t.includes(a.name)?Kl(Yl({},l),{isPersisting:!0}):n})}var Zl=Object.defineProperty,Xl=Object.defineProperties,er=Object.getOwnPropertyDescriptors,tr=Object.getOwnPropertySymbols,ar=Object.prototype.hasOwnProperty,nr=Object.prototype.propertyIsEnumerable,lr=(e,t,a)=>t in e?Zl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,rr=(e,t)=>{for(var a in t||(t={}))ar.call(t,a)&&lr(e,a,t[a]);if(tr)for(var a of tr(t))nr.call(t,a)&&lr(e,a,t[a]);return e},or=(e,t)=>Xl(e,er(t));function ir(e,t,a,n){const l=function(e,t,a,n){const l=t.findIndex(e=>e.scope.kind===n.kind&&e.scope.id===n.id);if(l>=0){const e=t[l],{value:n}=e,r=or(rr({},e),{value:rr(rr({},n),a)}),o=t.concat();return o.splice(l,1,r),o}return[...t,{scope:n,facetBindingId:null,value:Object(yn.createFacetInstance)(e,a)}]}(e,t,n,a);return Object(yn.cascade)(e,l)}const sr={updateFacet:function(e,t,a,n){const{facets:l,currentScope:r}=e(),o=l[a];if(!o)return;const{facetDefinition:i,cascadeResult:{stack:s},persistedCascadeResult:c,invalidProps:u}=o,{valid:m,invalid:d}=Object(yn.parsePartialFacetInstance)(i,n),p=ir(i,s,r,m),b=ir(i,s,r,n),h=function(e,t,a){const n=rr(rr({},e),t);return Object.keys(a).forEach(e=>{delete n[e]}),n}(u,d,m),g=function(e,t){const{stack:a}=t,{stack:n}=e,{value:l}=a[a.length-1],r=n.length===a.length?n[n.length-1].value:null,o=rr({},l);return Object.keys(o).forEach(e=>{var t;o[e]===(null!=(t=null==r?void 0:r[e])?t:null)&&delete o[e]}),o}(c,p),f=Object.keys(g).length>0,y=0===Object.keys(h).length,v=or(rr({},o),{cascadeResult:p,latestAndPossiblyInvalidCascadeResult:b,invalidProps:h,persistableChanges:g,hasPersistableChanges:f,hasInvalidChanges:y}),E=or(rr({},l),{[a]:v});t({facets:E,hasPersistableChanges:Object.values(E).some(e=>null==e?void 0:e.hasPersistableChanges)})},persistFacets:function(e,t){return a=this,n=null,l=function*(){const{facets:a,currentScope:n}=e(),l=Object(yn.mapFacetDefinitions)((e,t)=>{var n;const l=a[e.name];return null!=(n=null==l?void 0:l.persistableChanges)?n:t}),r=Object.keys(l);r.length&&(t({isPersisting:!0,facets:Ql(a,r)}),yield I.a.post("/api/facets",{scope:n,facets:l}),t({isPersisting:!1,hasPersistableChanges:!1,facets:Jl(a)}))},new Promise((e,t)=>{var r=e=>{try{i(l.next(e))}catch(e){t(e)}},o=e=>{try{i(l.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((l=l.apply(a,n)).next())});var a,n,l}};var cr=Object.defineProperty,ur=Object.getOwnPropertySymbols,mr=Object.prototype.hasOwnProperty,dr=Object.prototype.propertyIsEnumerable,pr=(e,t,a)=>t in e?cr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,br=(e,t)=>{for(var a in t||(t={}))mr.call(t,a)&&pr(e,a,t[a]);if(ur)for(var a of ur(t))dr.call(t,a)&&pr(e,a,t[a]);return e};function hr(e){const t=function(e){const{currentScope:t,cascadeResults:a}=e;return{facets:Object(yn.mapFacetDefinitions)(e=>function(e,t){return{facetDefinition:e,persistedCascadeResult:t,cascadeResult:t,latestAndPossiblyInvalidCascadeResult:t,persistableChanges:{},invalidProps:{},hasInvalidChanges:!1,hasPersistableChanges:!1,isPersisting:!1}}(e,a[e.name])),isPersisting:!1,hasPersistableChanges:!1,currentScope:"kind"in t?t:(n=t,"pubId"in n?{kind:"pub",id:n.pubId}:"collectionId"in n?{kind:"collection",id:n.collectionId}:{kind:"community",id:n.communityId})};var n}(e);return Object(zl.create)((e,a)=>{const n=function(e,t){const a={};return Object.entries(sr).forEach(([n,l])=>{a[n]=(...a)=>l(e,t,...a)}),a}(a,e);return br(br({},n),t)})}var gr=e=>{const{children:t,options:a}=e,n=Object(Bl.a)(()=>{const{cascadeResults:e,currentScope:t}=a;return e?hr({cascadeResults:e,currentScope:t}):null});return l.a.createElement(Ul.Provider,{value:n.current},t)},fr=a(96);a(1148);class yr extends n.Component{constructor(e){super(e),this.state={isUploading:!1},this.randKey=Math.round(99999*Math.random()).toString(),this.handleUploadFinish=this.handleUploadFinish.bind(this),this.handleUploadError=this.handleUploadError.bind(this),this.handleFileSelect=this.handleFileSelect.bind(this)}handleUploadFinish(e,t,a,n){this.props.onUploadFinish("https://assets.pubpub.org/"+n),this.setState({isUploading:!1})}handleUploadError(e){alert("Upload failed: "+e.message),this.setState({isUploading:!1})}handleFileSelect(e){e.target.files.length&&(Object(fr.a)(e.target.files[0],()=>{},this.handleUploadFinish,0,this.handleUploadError),this.setState({isUploading:!0}))}render(){const{text:e,icon:t,isLarge:a,isSmall:n,isMinimal:r,className:o,accept:i}=this.props;return l.a.createElement("div",{className:"file-upload-button-component "+o},l.a.createElement(ie.c,{className:"upload-button",text:l.a.createElement("label",{htmlFor:this.randKey,className:"file-select"},e,l.a.createElement("input",{id:this.randKey,name:"file-input",type:"file",accept:i,onChange:this.handleFileSelect,className:"file-input"})),icon:t?l.a.createElement(an.a,{icon:t}):null,large:a,small:n,minimal:r,loading:this.state.isUploading}))}}yr.defaultProps={isLarge:!1,isSmall:!1,isMinimal:!1,className:"",accept:void 0};
1var vr=yr,Er=a(103),Or=(a(1149),Object.defineProperty),wr=Object.getOwnPropertySymbols,Cr=Object.prototype.hasOwnProperty,Nr=Object.prototype.propertyIsEnumerable,jr=(e,t,a)=>t in e?Or(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const kr=[{id:"2",title:"Login",href:"/login"},{id:"3",title:"Signup",href:"/signup"},{id:"4",title:"Legal",href:"/legal"}],Sr=[{id:"si-2",icon:"github",title:"Github",value:"pubpub",url:"https://github.com/pubpub"},{id:"si-3",icon:"envelope",title:"Contact by email",value:"[email protected]",url:"mailto:[email protected]?subject=Contact"}],Pr=e=>{const[t,a]=Object(n.useState)(""),[o,i]=Object(n.useState)(!1),[s,c]=Object(n.useState)(!1),[u,m]=Object(n.useState)(!1),{locationData:d,communityData:p}=Object(T.c)(e.previewContext),{pages:b=[],collections:h=[]}=p,{isBasePubPub:g}=d,f=g?kr:p.footerLinks||Er.b,y=Object(Er.d)({navigation:f,pages:b,collections:h}),v="light"===p.headerColorType?"/static/logoBlack.svg":"/static/logoWhite.svg",E=g?"base-pubpub":"accent-background accent-color",O=g?Sr:Object(Er.a)(p,"footer");return l.a.createElement("div",{className:"footer-component "+E},l.a.createElement(Kr,null,l.a.createElement("div",{className:"left"},g&&l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"title"},l.a.createElement("a",{href:"https://pubpub.org","aria-label":"Website"},l.a.createElement("img",{className:"logo",src:v,alt:"PubPub logo"})),l.a.createElement("ul",{className:"social-list"},l.a.createElement("li",null,l.a.createElement("a",{href:"mailto:[email protected]?subject=Contact","aria-label":"Contact via email"},l.a.createElement(an.a,{icon:"envelope"}))),l.a.createElement("li",null,l.a.createElement("a",{href:"https://github.com/pubpub","aria-label":"GitHub"},l.a.createElement(an.a,{icon:"github"}))))),l.a.createElement("ul",{className:"separated"},l.a.createElement("li",null,l.a.createElement("a",{href:"https://help.pubpub.org"},"Help")),l.a.createElement("li",null,l.a.createElement("a",{href:"https://github.com/pubpub/pubpub/discussions"},"Forum"))),l.a.createElement("form",{onSubmit:e=>(e.preventDefault(),i(!0),u?Object(I.a)("/api/subscribe",{method:"POST",body:JSON.stringify({email:t})}).then(()=>{i(!1),a(""),c(!0)}).catch(e=>{console.error(e),i(!1)}):(i(!1),!1))},l.a.createElement("strong",null,"Feature & Community Newsletter"),l.a.createElement(ie.r,{type:"email",placeholder:"Your Email",value:t,onChange:e=>{a(e.target.value)},label:"Feature & community newsletter",rightElement:l.a.createElement(ie.c,{type:"submit",icon:s?"tick":"arrow-right",minimal:!0,loading:o}),disabled:s}),l.a.createElement("div",{className:"confirm"},l.a.createElement(ie.g,{checked:u,disabled:s,required:"required",onChange:e=>{m(e.target.checked)},label:l.a.createElement("span",null,l.a.createElement(ie.z,{interactionKind:ie.A.HOVER,popoverClassName:r.a.POPOVER_CONTENT_SIZING,position:lt.a.RIGHT},l.a.createElement("p",null,l.a.createElement("em",null,"I agree to receive this newsletter.")),l.a.createElement("div",null,l.a.createElement("p",null,"We use a third party provider, Mailchimp, to deliver our newsletters. We never share your data with anyone, and you can unsubscribe using the link at the bottom of every email. Learn more by visiting your ",l.a.createElement("a",{href:"/legal/privacy"},"privacy settings"),"."))))})))),!g&&p.footerImage&&l.a.createElement("a",{href:p.footerLogoLink||"/"},l.a.createElement("img",{src:p.footerImage,className:"footer-image",alt:p.footerTitle||p.title}))),l.a.createElement("div",{className:"right"},l.a.createElement("div",{className:"footer-title"},l.a.createElement("a",{href:"/"},p.footerTitle||p.title)),l.a.createElement("ul",{className:"separated"},y.map(e=>"href"in e?l.a.createElement("li",{key:"footer-item-"+e.id},l.a.createElement("a",{className:"link",href:e.href},e.title)):null)),!!O.length&&l.a.createElement("ul",{className:"social-list"},O.map(e=>l.a.createElement("li",{key:"social-item-"+e.id},l.a.createElement("a",((e,t)=>{for(var a in t||(t={}))Cr.call(t,a)&&jr(e,a,t[a]);if(wr)for(var a of wr(t))Nr.call(t,a)&&jr(e,a,t[a]);return e})({href:e.url,"aria-label":e.title},e.additionalAttributes),l.a.createElement(an.a,{icon:e.icon}))))))),l.a.createElement("div",{className:"built-on"},l.a.createElement("a",{href:g?"https://www.knowledgefutures.org":"https://www.pubpub.org"},!g&&l.a.createElement(l.a.Fragment,null,"Published with",l.a.createElement("img",{className:"logo",src:v,alt:"PubPub logo"})),g&&l.a.createElement(l.a.Fragment,null,"A project of",l.a.createElement("span",{className:"sr-only"},"Knowledge Futures"),l.a.createElement("img",{className:"logo",src:"/static/kfMini.svg",alt:"Knowledge Futures logo"})))))};Pr.defaultProps={previewContext:void 0};var Dr=Pr,Ir=(a(360),a(104)),Tr=a(155),xr=a(792),Ar=a.n(xr),Mr=Object.defineProperty,Lr=Object.defineProperties,Rr=Object.getOwnPropertyDescriptors,Fr=Object.getOwnPropertySymbols,Ur=Object.prototype.hasOwnProperty,Br=Object.prototype.propertyIsEnumerable,zr=(e,t,a)=>t in e?Mr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,$r=(e,t)=>{for(var a in t||(t={}))Ur.call(t,a)&&zr(e,a,t[a]);if(Fr)for(var a of Fr(t))Br.call(t,a)&&zr(e,a,t[a]);return e},_r=(e,t)=>Lr(e,Rr(t)),Hr=(e,t)=>
1{var a={};for(var n in e)Ur.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Fr)for(var n of Fr(e))t.indexOf(n)<0&&Br.call(e,n)&&(a[n]=e[n]);return a};var Vr=l.a.forwardRef((e,t)=>{const a=e,{href:n,onClick:r,className:o,minimal:i=!0}=a,s=Hr(a,["href","onClick","className","minimal"]),c=(t,a)=>{const c=_r($r($r({},Ar()(s,"mobile","desktop","mobileOrDesktop")),((e,t,a)=>{const n=((e,t)=>"mobileOrDesktop"in e?e.mobileOrDesktop:t?e.mobile:e.desktop)(e,t),{icon:r}=n,o=Hr(n,["icon"]),i=r?l.a.createElement(an.a,_r($r({},a),{icon:r})):null;return _r($r({},o),{icon:i})})(e,t)),{minimal:i,elementRef:a.ref,large:!t,className:Ge()(o,a.className)});return n?l.a.createElement(ie.b,$r({href:n},c)):l.a.createElement(ie.c,$r({onClick:r},c))};return l.a.createElement(Ps,{ref:t,desktop:e=>c(!1,e),mobile:e=>c(!0,e)})});var qr=()=>{const[e,t]=Object(n.useState)(!1),a=Object(n.useRef)(null),r=Object(n.useRef)(null),{communityData:o}=Object(T.c)(),i=Object(n.useCallback)(()=>{return n=null,l=null,i=function*(){var n,l;if(e)return;const i=a.current;if(!i)return;const s=null!=(n=new FormData(i).get("description"))?n:"";t(!0);try{const e=yield null==(l=r.current)?void 0:l.verify();if(!e)return;const a=yield I.a.post("/api/pubs/fromForm",{communityId:o.id,altcha:e,_honeypot:s});window.location.href="/pub/"+a.slug}catch(e){console.error("Error in handleCreatePub",e)}finally{t(!1)}},new Promise((e,t)=>{var a=e=>{try{o(i.next(e))}catch(e){t(e)}},r=e=>{try{o(i.throw(e))}catch(e){t(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,r);o((i=i.apply(n,l)).next())});var n,l,i},[o.id,e]);return l.a.createElement("form",{onSubmit:e=>{e.preventDefault()},ref:a,style:{position:"relative",display:"flex",alignItems:"center"}},l.a.createElement(Vr,{onClick:i,loading:e,"aria-label":"Create Pub",type:"submit",desktop:{text:"Create Pub"},mobile:{icon:"pubDocNew"}}),l.a.createElement("div",{style:{position:"absolute",top:"100%",left:0,display:"flex",gap:6,paddingTop:4}},l.a.createElement(H,{ref:r}),l.a.createElement(Zr,{name:"description"})))};var Wr=e=>{const{locationData:t}=e,{path:a,queryString:n}=t;if(["/login","/signup"].includes(a))return null;const r="/login"+`?redirect=${a}${n.length>1?n:""}`;return l.a.createElement(Vr,{href:r,desktop:{text:"Login or Signup"},mobile:{text:"Login"}})},Gr=a(218);a(1152);var Yr=e=>{const{isBasePubPub:t=!1,loggedIn:a}=e,{locationData:n,loginData:r,communityData:{hideCreatePubButton:o},scopeData:{activePermissions:{canManage:i,canView:s}}}=Object(T.c)(),c=()=>l.a.createElement(Vr,{href:"/search","aria-label":"Search",desktop:{text:"Search"},mobile:{icon:"search"}});return l.a.createElement("div",{className:"global-controls-component"},(()=>{if(!t){const e=a&&(!o||i);return l.a.createElement(l.a.Fragment,null,Object(Tr.a)()&&l.a.createElement(qa,{disclosure:l.a.createElement(Vr,{mobileOrDesktop:{icon:Ir.a.community,rightIcon:"caret-down"}})}),r.isSuperAdmin&&l.a.createElement(Vr,{href:"/superadmin",mobileOrDesktop:{text:"Superadmin"}}),e&&l.a.createElement(qr,null),c(),s&&l.a.createElement(Aa.a,{"aria-label":"Dashboard menu",placement:"bottom-end",menuStyle:{zIndex:20},disclosure:l.a.createElement(Vr,{mobile:{icon:"settings"},desktop:{text:"Dashboard",rightIcon:"caret-down"}})}
1,l.a.createElement(Hm,null)),a?l.a.createElement(Sb,null,({hasUnreadNotifications:e})=>l.a.createElement(Vr,{"aria-label":"Notifications inbox",mobileOrDesktop:{icon:e?"inbox-update":"inbox"}})):null)}return null})(),t?l.a.createElement(l.a.Fragment,null,Object(Tr.a)()&&l.a.createElement(qa,{disclosure:l.a.createElement(Vr,{mobileOrDesktop:{icon:Ir.a.community,rightIcon:"caret-down"}})}),r.isSuperAdmin&&l.a.createElement(Vr,{href:"/superadmin",mobileOrDesktop:{text:"Superadmin"}}),c()):null,a?l.a.createElement(Gr.a,{loginData:r}):l.a.createElement(Wr,{locationData:n}))};var Kr=e=>{const{containerClassName:t="",columnClassName:a="",children:n=null}=e;return l.a.createElement("div",{className:"container "+t},l.a.createElement("div",{className:"row"},l.a.createElement("div",{className:"col-12 "+a},n)))};a(1153);const Jr=e=>{const{locationData:t,communityData:a,loginData:n}=Object(T.c)(e.previewContext),o="/"!==t.path||a.hideHero,i=!o&&a.hideHeaderLogo,s=(e=>{let n="";const l="/"===t.path,o=t.isBasePubPub,i=a.heroBackgroundColor&&a.accentColorDark!==a.heroBackgroundColor,s=a.heroTextColor&&a.accentTextColor!==a.heroTextColor;if((o||i)&&l||(n+=" accent-background"),(o||s)&&(o||l)||(n+=" accent-color"),e)return n;return"#FFFFFF"===(a.heroTextColor||a.accentTextColor)&&(n+=" "+r.a.DARK),n})(o),c=(e=>{let t="main";return e||!a.hideHero&&a.useHeaderGradient&&a.heroBackgroundImage&&(t+=" gradient "+r.a.DARK),t})(o),u=(e=>{let t="hero";return e||"center"===a.heroAlign&&(t+=" centered"),t})(o),m=(e=>{const n={};if(t.isBasePubPub&&(n.boxShadow="/"===t.path?"":"0 0 0 1px rgba(16, 22, 26, 0.1), 0 0 0 rgba(16, 22, 26, 0), 0 1px 1px rgba(16, 22, 26, 0.2)",n.backgroundColor="/"===t.path?"":"#f7f7f9"),e)return n;if(a.heroBackgroundImage){const e=Object(na.b)(a.heroBackgroundImage,"outside",1500,600);n.backgroundImage=`url("${e}")`}return(a.heroBackgroundColor||a.accentColorDark)&&(n.backgroundColor=a.heroBackgroundColor),n})(o),d=!!n.slug,p=t.isBasePubPub,b=Object(na.b)(a.headerLogo,"inside",void 0,50),h=Object(na.b)(a.heroLogo,"inside",void 0,200),g=Object(na.b)(a.heroImage,"inside",600),f=a.heroPrimaryButton||{},y=a.heroSecondaryButton||{},v=!!e.previewContext;return l.a.createElement("header",{className:Ge()(["header-component",s,v?"preview":""]),style:m},l.a.createElement("div",{className:c},l.a.createElement(Kr,{columnClassName:"main-content"},l.a.createElement("div",{className:"logo-wrapper"},!i&&l.a.createElement("a",{href:"/","aria-label":a.title},a.headerLogo&&l.a.createElement("img",{alt:"",style:p?{padding:"1px 0px"}:{},src:b}),!a.headerLogo&&l.a.createElement("span",null,a.title))),l.a.createElement(Yr,{isBasePubPub:t.isBasePubPub,loggedIn:d}))),!o&&l.a.createElement("div",{className:u},l.a.createElement(Kr,{columnClassName:"hero-content"},l.a.createElement("div",{className:"hero-copy"},a.heroLogo&&l.a.createElement("div",{className:"hero-logo"},l.a.createElement("img",{alt:a.title,src:h})),a.heroTitle&&l.a.createElement("div",{className:"hero-title"},a.heroTitle),a.heroText&&l.a.createElement("div",{className:"hero-text"},a.heroText),l.a.createElement("div",{className:"hero-button"},f.title&&l.a.createElement(ie.b,{intent:Bt.a.PRIMARY,large:!0,text:f.title,href:f.url}),y.title&&l.a.createElement(ie.b,{large:!0,minimal:!0,text:y.title,href:y.url}))),a.heroImage&&l.a.createElement("div",{className:"hero-image"},l.a.createElement("img",{alt:"Community banner",src:g})))))};Jr.defaultProps={previewContext:void 0};var Qr=Jr;a(1154);var Zr=e=>{const{name:t}=e,{locationData:a}=Object(T.c)();return!a.isProd?l.a.createElement("label",{style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:11,color:"orange",fontWeight:600,padding:"2px 6px",border:"1px dashed orange",borderRadius:3}},"Honeypot",l.a.createElement("input",{type:"text",name:t,autoComplete:"off",style:{width:80,fontSize:11,padding:"1px 4px"},"data-1p-ignore":!0,"data-lpignore":"true","data-bwignore":!0,"data-form-type":"other","data-protonpass-ignore":!0})):l.a.createElement("input",{type:"text",className:"honeypot-input",name:t,tabIndex:-1,autoComplete:"off","aria-hidden":"true"})},Xr=(a(370),a(268)),eo=a(79),to=a(362),ao=a(404),no=a(269),lo=(a(1163),Object.defineProperty),ro=Object.defineProperties,oo=Object.getOwnPropertyDescriptors,io=Object.getOwnPropertySymbols,so=Object.prototype.hasOwnProperty,co=Object.prototype.propertyIsEnumerable,uo=(e,t,a)=>t in e?lo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,mo=(e,t)=>{for(var a in t||(t={}))so.call(t,a)&&uo(e,a,t[a]);if(io)for(var a of io(t))co.call(t,a)&&uo(e,a,t[a]);return e},po=(e,t)=>ro(e,oo(t));class bo extends n.Component{constructor(e){super(e),this.setAlign=this.setAlign.bind(this),this.setBackgroun
1dSize=this.setBackgroundSize.bind(this),this.setBackgroundHeight=this.setBackgroundHeight.bind(this),this.setBackgroundColor=this.setBackgroundColor.bind(this),this.setBackgroundImage=this.setBackgroundImage.bind(this),this.setDefaultCollectionIds=this.setDefaultCollectionIds.bind(this),this.setText=this.setText.bind(this),this.setShowButton=this.setShowButton.bind(this),this.setButtonType=this.setButtonType.bind(this),this.setButtonText=this.setButtonText.bind(this),this.setButtonUrl=this.setButtonUrl.bind(this)}setAlign(e){this.props.onChange(this.props.layoutIndex,po(mo({},this.props.content),{align:e}))}setBackgroundSize(e){this.props.onChange(this.props.layoutIndex,po(mo({},this.props.content),{backgroundSize:e}))}setBackgroundHeight(e){this.props.onChange(this.props.layoutIndex,po(mo({},this.props.content),{backgroundHeight:e}))}setBackgroundColor(e){this.props.onChange(this.props.layoutIndex,po(mo({},this.props.content),{backgroundColor:e.hex}))}setBackgroundImage(e){this.props.onChange(this.props.layoutIndex,po(mo({},this.props.content),{backgroundImage:e}))}setText(e){this.props.onChange(this.props.layoutIndex,po(mo({},this.props.content),{text:e.target.value}))}setShowButton(e){this.props.onChange(this.props.layoutIndex,po(mo({},this.props.content),{showButton:e.target.checked}))}setButtonType(e){const t=e.target.value;return this.props.onChange(this.props.layoutIndex,po(mo({},this.props.content),{showButton:"none"!==t,buttonType:t}))}setButtonText(e){this.props.onChange(this.props.layoutIndex,po(mo({},this.props.content),{buttonText:e.target.value}))}setButtonUrl(e){this.props.onChange(this.props.layoutIndex,po(mo({},this.props.content),{buttonUrl:e.target.value}))}setDefaultCollectionIds(e){this.props.onChange(this.props.layoutIndex,po(mo({},this.props.content),{defaultCollectionIds:e}))}render(){const e=this.props.content.backgroundImage?`url("${Object(na.b)(this.props.content.backgroundImage,"inside",1500,600)}")`:void 0,t={textAlign:this.props.content.align||"left"},a={color:this.props.content.backgroundImage||!i()(this.props.content.backgroundColor).isLight()?"#FFFFFF":"#000000",lineHeight:"1em",fontSize:"narrow"===this.props.content.backgroundHeight?"18px":"28px"},n={backgroundColor:this.props.content.backgroundColor,backgroundImage:e,textShadow:this.props.content.backgroundImage?"0 0 2px #000":"",minHeight:"narrow"===this.props.content.backgroundHeight?"60px":"200px",display:"flex",alignItems:"center",maxWidth:"none"},o=this.props.content.buttonType||this.props.content.showButton&&"create-pub",s=Object(no.b)(o,this.props.content.buttonText);return l.a.createElement("div",{className:"layout-editor-banner-component"},l.a.createElement("div",{className:"block-header"},l.a.createElement(eo.a,{label:"Text",value:this.props.content.text,onChange:this.setText}),l.a.createElement(eo.a,{label:"Color"},l.a.createElement(aa,{value:this.props.content.backgroundColor,onChange:this.setBackgroundColor})),l.a.createElement(eo.a,{label:"Align"},l.a.createElement(ie.d,null,l.a.createElement(ie.c,{active:"left"===this.props.content.align,onClick:()=>{this.setAlign("left")},text:"Left"}),l.a.createElement(ie.c,{active:"center"===this.props.content.align,onClick:()=>{this.setAlign("center")},text:"Center"}))),l.a.createElement(eo.a,{label:"Size"},l.a.createElement(ie.d,null,l.a.createElement(ie.c,{active:"full"===this.props.content.backgroundSize,onClick:()=>{this.setBackgroundSize("full")},text:"Full"}),l.a.createElement(ie.c,{active:"standard"===this.props.content.backgroundSize,onClick:()=>{this.setBackgroundSize("standard")},text:"Standard"}))),l.a.createElement(eo.a,{label:"Height"},l.a.createElement(ie.d,null,l.a.createElement(ie.c,{active:"tall"===this.props.content.backgroundHeight,onClick:()=>{this.setBackgroundHeight("tall")},text:"Tall"}),l.a.createElement(ie.c,{active:"narrow"===this.props.content.backgroundHeight,onClick:()=>{this.setBackgroundHeight("narrow")},text:"Narrow"}))),l.a.createElement(Xr.a,{label:"Image",htmlFor:"section-title-"+this.props.layoutIndex,defaultImage:this.props.content.backgroundImage,onNewImage:this.setBackgroun
1dImage,canClear:!0,width:50,height:35}),l.a.createElement("div",{className:"line-break"}),l.a.createElement(eo.a,{label:"Banner Button Type"},l.a.createElement("div",{className:`${r.a.BUTTON_GROUP} ${r.a.SELECT}`},l.a.createElement("select",{value:o,onChange:this.setButtonType},l.a.createElement("option",{value:"none"},"None"),l.a.createElement("option",{value:"create-pub"},"Create Pub"),l.a.createElement("option",{value:"signup"},"Create Account"),l.a.createElement("option",{value:"link"},"Link")))),this.props.content.showButton&&l.a.createElement(eo.a,{label:"Button Text",value:this.props.content.buttonText,onChange:this.setButtonText}),this.props.content.showButton&&"create-pub"===o&&l.a.createElement(eo.a,{label:"Default Pub Collections"},l.a.createElement(Qt,{allCollections:this.props.communityData.collections,selectedCollectionIds:this.props.content.defaultCollectionIds||[],onItemSelect:e=>{const t=[...this.props.content.defaultCollectionIds||[],e];this.setDefaultCollectionIds(t)},onRemove:(e,t)=>{const a=(this.props.content.defaultCollectionIds||[]).filter((e,a)=>a!==t);this.setDefaultCollectionIds(a)},placeholder:"Add collections..."})),this.props.content.showButton&&"link"===o&&l.a.createElement(eo.a,{label:"Link",value:this.props.content.buttonUrl,onChange:this.setButtonUrl})),l.a.createElement("div",{className:"block-content",style:"full"===this.props.content.backgroundSize?n:void 0},this.props.content.backgroundImage&&"full"===this.props.content.backgroundSize&&l.a.createElement("div",{className:"dim"}),l.a.createElement("div",{className:"container"},l.a.createElement("div",{className:"row",style:"standard"===this.props.content.backgroundSize?n:void 0},this.props.content.backgroundImage&&"standard"===this.props.content.backgroundSize&&l.a.createElement("div",{className:"dim"}),l.a.createElement("div",{className:"col-12",style:t},this.props.content.text&&l.a.createElement("h2",{style:a},this.props.content.text),this.props.content.showButton&&l.a.createElement(ie.c,{className:r.a.LARGE,onClick:()=>{},text:s}))))))}}var ho=bo,go=a(282),fo=a(318);const yo=e=>{const{content:t,onChange:a,collection:n}=e,{metadata:r,kind:o}=n;if(!r||"tag"===o)return null;const i=Object(fo.b)(n).filter(e=>"url"!==e.name),{hiddenMetadataFields:s=[]}=t;return l.a.createElement(l.a.Fragment,null,i.map(e=>{const t=!!r[e.name],n=s.includes(e.name);return l.a.createElement(ie.g,{disabled:!t,checked:!!t&&!n,onChange:()=>(e=>{const t=s.includes(e)?s.filter(t=>t!==e):[...s,e];a({hiddenMetadataFields:t})})(e.name),label:e.label})}))};var vo=e=>{const{content:t,onChange:a,collection:n}=e;return void 0===n.kind||"tag"===n.kind?null:l.a.createElement(ie.f,null,l.a.createElement(yo,{content:t,onChange:a,collection:n}))};var Eo=e=>{const{content:t,onChange:a}=e,{hideCollectionKind:n,hideByline:r,hideContributors:o,hideDate:i}=t;return l.a.createElement(ie.f,{className:"layout-editor-pubs_preview-elements-component"},l.a.createElement(ie.g,{checked:!r,onChange:()=>a({hideByline:!r}),label:"Attributions"}),l.a.createElement(ie.g,{disabled:r,checked:!r&&!o,onChange:()=>a({hideContributors:!o}),label:"Contributors"}),l.a.createElement(ie.g,{checked:!n,onChange:()=>a({hideCollectionKind:!n}),label:"Collection kind"}),l.a.createElement(ie.g,{checked:!i,onChange:()=>a({hideDate:!i}),label:"Creation date"}))};var Oo=e=>{const{onChange:t,layoutIndex:a,block:r,collection:o}=e,i=Object(n.useCallback)(e=>t(a,e),[t,a]);return l.a.createElement("div",{className:"layout-editor-collection-header-component"},l.a.createElement("div",{className:"block-header rows"},l.a.createElement("div",{className:"controls-row"},l.a.createElement(wc.a,{"aria-label":"Choose preview elements",content:l.a.createElement(Eo,{content:r.content,onChange:i})},l.a.createElement(ie.c,{outlined:!0,icon:"layout-grid",rightIcon:"caret-down"},"Detail fields")),"tag"!==o.kind&&l.a.createElement(wc.a,{"aria-label":"Choose metadata elements",content:l.a.createElement(vo,{content:r.content,collection:o,onChange:i})},l.a.createElement(ie.c,{outlined:!0,icon:"property",rightIcon:"caret-down"},"Metadata fields")))),l.a.createElement(go.a,{collection:o,content:r.content}))},wo=Object.defineProperty,Co=Object.defineProperties,No=Object.getOwnPropertyDescriptors,jo=Object.getOwnPropertySymbols,ko=Object.prototype.hasOwnProperty,So=Object.prototype.propertyIsEnumerable,Po=(e,t,a)=>t in e?wo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;class Do extends n.Component{constructor(e){super(e),this.setText=this.setText.bind(this)}setText(e){this.props.onChange(this.props.layoutIndex,((e,t)=>Co(e,No(t)))(((e,t)=>{for(var a in t||(t={}))ko.call(t,a)&&Po(e,a,t[a]);if(jo)for(var a of jo(t))So.call(t,a)&&Po(e,a,t[a]);return e})({},this.props.content),{html:e.target.value}))}render(){return l.a.createElement("div",{className:"layout-editor-html-component"},l.a.createElement("div",{className:"block-header"}),l.a.createElement("div",{className:"block-content"},l.a.createElement(Kr,null,l.a.createElement("textarea",{value:this.props.content.html,onChange:this.setText,placeholder:"Type HTML here..."}))))}}var Io=Do,To=(a(1164),Object.defineProperty),xo=Object.getOwnPropertySymbols,Ao=Object.prototype.hasOwnProperty,Mo=Object.prototype.propertyIsEnumerable,Lo=(e,t,a)=>t in e?To(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Ro={type:"collection-header",title:"Default",content:{}},Fo=[{title:"Default",type:"html",content:{html:""}}],Uo=[{title:"Default",type:"text",content:{text:void 0,align:"left"}}],Bo=e=>
1[{title:"Default",type:"pubs",content:{title:"",pubPreviewType:"medium",limit:0,pubIds:[],collectionIds:[],sort:e}},{title:"Table of Contents",type:"pubs",content:{title:"",pubPreviewType:"small",limit:0,pubIds:[],collectionIds:[],hideByline:!0,hideDates:!0,hideContributors:!0}}],zo=[{title:"Default",type:"banner",content:{text:"Hello",align:"center",backgroundColor:"#3275d8",backgroundImage:"",backgroundSize:"full",showButton:!1,buttonText:"",defaultCollectionIds:[],buttonUrl:"",buttonType:"none"}},{title:"Submission Button Banner",type:"banner",content:{text:"Create a pub to begin your submission.",align:"center",backgroundColor:"#3275d8",backgroundImage:"",backgroundSize:"full",showButton:!0,buttonText:"",defaultCollectionIds:[],buttonUrl:"",buttonType:"create-pub"}}];var $o=e=>{const{insertIndex:t,onInsert:a,pubSort:n,showCollectionHeaderBlock:o}=e,i=[(s=e.communityData,{type:"collections-pages",title:"Default",content:{title:"",items:s.pages.slice(0,3)}})];var s;const c=e=>l.a.createElement(ie.u,{key:`insert-${e.type}-${e.title}`,onClick:()=>{a(t,e.type,((e,t)=>{for(var a in t||(t={}))Ao.call(t,a)&&Lo(e,a,t[a]);if(xo)for(var a of xo(t))Mo.call(t,a)&&Lo(e,a,t[a]);return e})({},e.content))},text:e.title,shouldDismissPopover:!0});return l.a.createElement("div",{className:"layout-editor-insert-component"},l.a.createElement(ie.z,{content:l.a.createElement(ie.t,null,o&&l.a.createElement(l.a.Fragment,null,l.a.createElement("li",{className:r.a.MENU_HEADER},l.a.createElement("h6",null,"Collection Header Block")),c(Ro)),l.a.createElement("li",{className:r.a.MENU_HEADER},l.a.createElement("h6",null,"Pubs Block",l.a.createElement(an.a,{icon:"widget-header"}))),Bo(n).map(e=>c(e)),l.a.createElement("li",{className:r.a.MENU_HEADER},l.a.createElement("h6",null,"Banner Block",l.a.createElement(an.a,{icon:"vertical-distribution"}))),zo.map(e=>c(e)),l.a.createElement("li",{className:r.a.MENU_HEADER},l.a.createElement("h6",null,"Text Block",l.a.createElement(an.a,{icon:"new-text-box"}))),Uo.map(e=>c(e)),l.a.createElement("li",{className:r.a.MENU_HEADER},l.a.createElement("h6",null,"HTML Block",l.a.createElement(an.a,{icon:"code"}))),Fo.map(e=>c(e)),l.a.createElement("li",{className:r.a.MENU_HEADER},l.a.createElement("h6",null,"Collections & Pages Block",l.a.createElement(an.a,{icon:"application"}))),i.map(e=>c(e))),interactionKind:ie.A.CLICK,position:lt.a.BOTTOM,popoverClassName:r.a.MINIMAL,transitionDuration:-1,inheritDarkTheme:!1,usePortal:!1},l.a.createElement(ie.c,{icon:"add"},"Add Block")),l.a.createElement("div",{className:"center-line"}))},_o=a(270),Ho=Object.defineProperty,Vo=Object.defineProperties,qo=Object.getOwnPropertyDescriptors,Wo=Object.getOwnPropertySymbols,Go=Object.prototype.hasOwnProperty,Yo=Object.prototype.propertyIsEnumerable,Ko=(e,t,a)=>t in e?Ho(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Jo=(e,t)=>{for(var a in t||(t={}))Go.call(t,a)&&Ko(e,a,t[a]);if(Wo)for(var a of Wo(t))Yo.call(t,a)&&Ko(e,a,t[a]);return e},Qo=(e,t)=>Vo(e,qo(t));const Zo=(e,t)=>({type:t,id:e.id,title:e.title}),Xo=e=>({type:e.type,id:e.id}),ei=[{value:"center",label:"Center"},{value:"space-between",label:"Space Between"},{value:"space-around",label:"Space Around"},{value:"left",label:"Left"}];var ti=e=>{const{layoutIndex:t,onChange:a,content:r,collections:o,pages:i}=e,s=Object(n.useMemo)(()=>((e,t)=>[...e.map(e=>Zo(e,"collection")),...t.map(e=>Zo(e,"page"))].sort((e,t)=>e.title>t.title?1:-1))(o,i),[o,i]),[c,u]=Object(n.useMemo)(()=>[r.items.map(e=>s.find(t=>e.id===t.id)).filter(e=>!!e),s.filter(e=>!r.items.some(t=>t.id===e.id))],[r.items,s]),m=Object(n.useCallback)(e=>a(t,Qo(Jo({},r),{title:e})),[a,t,r]),d=Object(n.useCallback)(e=>a(t,Qo(Jo({},r),{items:e.map(Xo)})),[a,t,r]),p=Object(n.useCallback)(e=>a(t,Qo(Jo({},r),{justify:e})),[a,t,r]);return l.a.createElement("div",{className:"layout-editor-pages-component"},l.a.createElement("div",{className:"block-header"},l.a.createElement(eo.a,{label:"Title",value:r.title,onChange:e=>m(e.target.value)}),l.a.createElement("div",{className:"dropdown-grouping"},l.a.createElement("div",{className:"dropdown"},l.a.createElement(ie.n,{label:"Justify Content"},l.a.createElement(Aa.f,{value:r.justify||"space-between",items:ei,onSelectValue:p,"aria-label":"Choose Justify Content",buttonProps:{fill:!0}}))),l.a.createElement("div",{className:"dropdown"},l.a.createElement(ie.n,{label:"Collections & Pages"},l.a.createElement(wc.a,{"aria-label":"Choose pinned Pubs for this block",className:"order-picker-popover",placement:"bottom-end",content:l.a.createElement(fc,{availableItems:u,selectedItems:c,onSelectedItems:d,renderItem:(e,t)=>
1l.a.createElement(Vu,{title:e.title,id:e.id,onClick:t})})},l.a.createElement(ie.c,{rightIcon:"caret-down",outlined:!0},"Choose Items",c.length?` (${c.length})`:"")))))),l.a.createElement(_o.a,{content:r,pages:i,collections:o}))},ai=a(228);var ni=e=>{const{limit:t,onChangeLimit:a}=e,[r,o]=Object(n.useState)(t||10);return l.a.createElement(ie.f,{className:"layout-editor-pubs_limit-pubs-component"},l.a.createElement(ie.D,{onChange:e=>{"all"===e.currentTarget.value?a(void 0):(a(10),o(10))},selectedValue:t?"limit":"all"},l.a.createElement(ie.C,{value:"all",label:`Show up to ${ai.a} Pubs`}),l.a.createElement(ie.C,{value:"limit",labelElement:l.a.createElement(l.a.Fragment,null,"Limit shown Pubs",!!t&&l.a.createElement(Jm,{"aria-label":"Number of Pubs to display",min:1,max:ai.a,onChange:(e,t)=>{o(e),t&&a(e)},value:r,labelStepSize:ai.a-1}))})))},li=a(1559),ri=a(143),oi=a(31),ii=Object.defineProperty,si=Object.getOwnPropertySymbols,ci=Object.prototype.hasOwnProperty,ui=Object.prototype.propertyIsEnumerable,mi=(e,t,a)=>t in e?ii(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,di=(e,t)=>{for(var a in t||(t={}))ci.call(t,a)&&mi(e,a,t[a]);if(si)for(var a of si(t))ui.call(t,a)&&mi(e,a,t[a]);return e};var pi=e=>{const{pubIds:t,pubsInBlock:a,onPubIds:r,scopedCollectionId:o}=e,[i,s]=Object(n.useState)(""),[c]=Object(li.a)(i,200),{currentQuery:{pubs:u,loadMorePubs:m,hasLoadedAllPubs:d},allQueries:{isLoading:p}}=Object(ri.a)({query:{scopedCollectionId:o,term:c,ordering:{field:"title",direction:"ASC"}}}),{selectedPubs:b,availablePubs:h}=((e,t,a,l)=>{const r=Object(n.useRef)({});return Object(n.useMemo)(()=>{r.current=di(di({},r.current),Object(oi.f)([...t,...a],"id"));const{current:n}=r,o=a.filter(t=>!e.includes(t.id)),i=e.map(e=>n[e]).filter(e=>e);let s;return s=l?o:Object(oi.j)([...t.filter(t=>!e.includes(t.id)),...o],e=>e.id),{selectedPubs:i,availablePubs:s}},[e,t,a,l])})(t,a,u,c);return l.a.createElement(fc,{selectedItems:b,availableItems:h,onSelectedItems:e=>r(e.map(e=>e.id)),selectedTitle:"Pinned Pubs",availableTitle:"Available Pubs",renderItem:(e,t)=>l.a.createElement(Vu,{title:e.title,id:e.id,contributors:e.attributions,onClick:t}),searchTerm:i,onSearch:s,searchPlaceholder:"Search for Pubs",onRequestMoreItems:m,scrollForMoreItems:!d,isRequestingMoreItems:p})};const bi={hideByline:"Attributions",hideContributors:"Contributors",hideDates:"Dates",hideDescription:"Description",hideEdges:"Connections"};var hi=e=>{const{content:t,onChangeContent:a}=e;return l.a.createElement(ie.f,{className:"layout-editor-pubs_preview-elements-component"},Object.entries(bi).map(e=>{const[n,r]=e,{disabled:o,hidden:i}=((e,t)=>{const{pubPreviewType:a}=e,n=e[t],l="minimal"===a&&("hideDescription"===t||"hideDates"===t||"hideContributors"===t);return{hidden:!!l||n,disabled:l}})(t,n);return l.a.createElement(ie.g,{key:n,disabled:o,label:r,checked:!i,onChange:()=>a({[n]:!i})})}))};const gi=[{value:"large",label:"Large"},{value:"medium",label:"Medium"},{value:"small",label:"Small"},{value:"minimal",label:"Minimal"}],fi=[{value:"publish-date-reversed",label:"First published"},{value:"publish-date",label:"Recently published"},{value:"creation-date-reversed",label:"First created"},{value:"creation-date",label:"Recently created"},{value:"collection-rank",label:"Collection order"}];var yi=e=>{const{onChange:t,layoutIndex:a,block:r,pubsInBlock:o,communityData:i,loading:s,scopedCollectionId:c}=e,{limit:u,pubIds:m=[],collectionIds:d=[],pubPreviewType:p,sort:b}=r.content,h=Object(n.useCallback)(e=>t(a,e),[t,a]),g=Object(n.useCallback)(e=>h({pubPreviewType:e}),[h]),f=Object(n.useCallback)(e=>h({limit:e,pubIds:m.slice(0,e||1/0)}),[h,m]),y=Object(n.useCallback)(e=>h({sort:e}),[h]),v=Object(n.useCallback)(e=>h({collectionIds:e}),[h]),E=Object(n.useCallback)(e=>h({pubIds:e,limit:"number"==typeof u&&u>0?Math.max(u,e.length):u}),[h,u]),O=Object(n.useCallback)(e=>h({title:e}),[h]);return l.a.createElement("div",{className:Ge()("layout-editor-pubs-component",s&&"loading")},l.a.createElement("div",{className:"block-header rows"},l.a.createElement("div",{className:"controls-row"},l.a.createElement(eo.a,{label:"Title",value:r.content.title,onChange:e=>O(e.target.value)}),(()=>{const{collections:e}=i;return l.a.createElement(eo.a,{label:"Filter by Collection"},l.a.createElement(Qt,{allCollections:e,selectedCollectionIds:d,onItemSelect:e=>v([...d,e]),onRemove:(e,t)=>
1{const a=[...d];a.splice(t,1),v(a)},placeholder:"Add collections..."}))})()),l.a.createElement("div",{className:"controls-row"},l.a.createElement(Aa.f,{"aria-label":"Select sort order",items:fi,onSelectValue:e=>y(e),value:b||null,defaultLabel:l.a.createElement("i",null,"Choose"),icon:"sort",prefix:l.a.createElement("b",null,"Sort: ")}),l.a.createElement(Aa.f,{"aria-label":"Select preview type",items:gi,value:p,onSelectValue:e=>g(e),icon:"control",prefix:l.a.createElement("b",null,"Size: ")}),l.a.createElement(wc.a,{"aria-label":"Choose preview elements",content:l.a.createElement(hi,{content:r.content,onChangeContent:h})},l.a.createElement(ie.c,{outlined:!0,icon:"settings",rightIcon:"caret-down"},"Pub elements")),l.a.createElement(wc.a,{"aria-label":"Limit number of Pubs",content:l.a.createElement(ni,{limit:r.content.limit,onChangeLimit:f})},l.a.createElement(ie.c,{outlined:!0,icon:"dashboard",rightIcon:"caret-down"},"Limit Pubs",u?` (${u})`:"")),l.a.createElement(wc.a,{"aria-label":"Choose pinned Pubs for this block",className:"order-picker-popover",placement:"bottom-end",content:l.a.createElement(pi,{onPubIds:E,pubIds:m,pubsInBlock:o,scopedCollectionId:c})},l.a.createElement(ie.c,{outlined:!0,icon:"pin",rightIcon:"caret-down"},"Pinned Pubs",m.length?` (${m.length})`:"")))),l.a.createElement(go.b,{pubs:o,content:r.content}))},vi=a(187),Ei=a(93);var Oi=e=>{const{onChange:t,content:a,layoutIndex:r}=e,[o,i]=Object(vi.a)(null),s=Object(n.useRef)(null),c=Object(n.useCallback)(e=>t(r,{text:e.toJSON()}),[r,t]);return l.a.createElement("div",{className:"layout-editor-text-component"},l.a.createElement("div",{className:"block-header"},l.a.createElement("div",{className:"formatting-wrapper"},l.a.createElement(Ei.FormattingBar,{editorChangeObject:o,buttons:Ei.buttons.layoutEditorButtonSet,controlsConfiguration:{isAbsolutelyPositioned:!0,container:s.current}}))),l.a.createElement("div",{className:"block-content",ref:s},l.a.createElement(Kr,null,l.a.createElement(gn.b,{placeholder:"Enter text...",initialContent:a.text,onChange:i,onEdit:c,debounceEditsMs:300}))))},wi=a(814),Ci=a(163),Ni=Object.defineProperty,ji=Object.defineProperties,ki=Object.getOwnPropertyDescriptors,Si=Object.getOwnPropertySymbols,Pi=Object.prototype.hasOwnProperty,Di=Object.prototype.propertyIsEnumerable,Ii=(e,t,a)=>t in e?Ni(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ti=(e,t)=>{for(var a in t||(t={}))Pi.call(t,a)&&Ii(e,a,t[a]);if(Si)for(var a of Si(t))Di.call(t,a)&&Ii(e,a,t[a]);return e};const xi=(e,t)=>{const[a,l]=Object(n.useState)(e);Object(wi.a)(()=>{t(a)},[a,t]);const r=Object(n.useCallback)(e=>{l(t=>e([...t]))},[]),o=Object(n.useCallback)((e,t)=>{r(a=>(a[e].content=t,a))},[r]),i=Object(n.useCallback)((e,t)=>{r(a=>{const n=a[e],l=(r=Ti({},n),o={content:Ti(Ti({},n.content),t)},ji(r,ki(o)));var r,o;return[...a.slice(0,e),l,...a.slice(e+1)]})},[r]);return{layout:a,changeLayout:o,changeLayoutPartial:i,insertBlock:(e,t,a)=>{r(n=>(n.splice(e,0,{id:Object(Ci.a)(8),type:t,content:a}),n))},removeBlock:e=>{r(t=>(t.splice(e,1),t))},moveBlockUp:e=>{r(t=>{const a=t[e-1];return t[e-1]=t[e],t[e]=a,t})},moveBlockDown:e=>{r(t=>{const a=t[e+1];return t[e+1]=t[e],t[e]=a,t})}}};var Ai=a(1555),Mi=Object.defineProperty,Li=Object.getOwnPropertySymbols,Ri=Object.prototype.hasOwnProperty,Fi=Object.prototype.propertyIsEnumerable,Ui=(e,t,a)=>t in e?Mi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Bi=(e,t)=>{for(var a in t||(t={}))Ri.call(t,a)&&Ui(e,a,t[a]);if(Li)for(var a of Li(t))Fi.call(t,a)&&Ui(e,a,t[a]);return e};const zi=e=>e.filter(e=>"pubs"===e.type),$i=(e,t,a,l)=>{const r=Object(Ai.a)(t),o=Object(Ai.a)(l),[i,s]=Object(n.useState)(e.pubsById),[c,u]=Object(n.useState)(0),m=Object(n.useRef)(0),[d,p]=Object(n.useState)(e.pubIdsByBlockId),b=Object(n.useMemo)(()=>Object(ai.b)({pubIdsByBlockId:d,pubsById:i},t),[d,i,t]);return Object(n.useEffect)(()=>{const e=o!==l;if(r&&t&&(r!==t||e)){const n=zi(r),o=zi(t);if(e||((e,t)=>{if(!Object(oi.a)(e,t,(e,t)=>e.id===t.id))return!0;for(let l=0;l<t.length;l++){const r=e[l],o=t[l];if(a=r.content,n=o.content,a.limit!==n.limit||a.sort!==n.sort||!Object(oi.b)(a.collectionIds||[],n.c
1ollectionIds||[])||!Object(oi.b)(a.pubIds||[],n.pubIds||[]))return!0}var a,n;return!1})(n,o)){const e=Object.keys(i),t=Date.now();u(e=>e+1),((e,t,a,n)=>I.a.post("/api/layout",{blocks:e,alreadyFetchedPubIds:t,collectionId:a,allowDuplicatePubs:n}))(o,e,a,l).then(e=>{t>m.current&&(m.current=t,s(t=>Bi(Bi({},t),e.pubsById)),p(e.pubIdsByBlockId),u(e=>e-1))})}}},[r,t,i,a,o,l]),{pubsByBlockId:b,allPubs:Object.values(i),loadingPubs:0!==c}};a(1175);const _i=["pubs","text","html","banner","collections-pages","collection-header"];var Hi=l.a.memo(e=>{const{allowDuplicatePubs:t,initialLayout:a,initialLayoutPubsByBlock:o,collection:i,communityData:s,onChange:c}=e,{layout:u,changeLayout:m,changeLayoutPartial:d,insertBlock:p,removeBlock:b,moveBlockUp:h,moveBlockDown:g}=xi(a,c),{pubsByBlockId:f,loadingPubs:y}=$i(o,u,i&&i.id,t);Object(n.useEffect)(()=>{const e=Object(ao.a)(".block-header",{stickyBitStickyOffset:129});return()=>e.cleanup()},[]);const v=!!i&&1===u.filter(e=>"pubs"===e.type).length;return l.a.createElement("div",{className:"layout-editor-component"},l.a.createElement($o,{insertIndex:0,onInsert:p,communityData:s,showCollectionHeaderBlock:!!i,pubSort:i?"collection-rank":"creation-date"}),u.map((e,t)=>_i.indexOf(e.type)>-1?l.a.createElement("div",{key:e.id},((e,t)=>{const a=v&&"pubs"===e.type;return l.a.createElement("div",{className:"block-title"},l.a.createElement("div",{className:"text"},"collection-header"===(n=e.type)?"Collection Header":"collections-pages"===n?"Collections & Pages":"html"===n?"HTML":n," Block"),l.a.createElement("div",{className:`${r.a.BUTTON_GROUP} ${r.a.MINIMAL} ${r.a.SMALL}`},l.a.createElement(ie.c,{text:"Move Up",icon:"caret-up",disabled:0===t,onClick:()=>h(t)}),l.a.createElement(ie.c,{text:"Move Down",icon:"caret-down",disabled:t===u.length-1,onClick:()=>g(t)}),!a&&l.a.createElement(wc.a,{placement:"bottom-end","aria-label":"Remove this block",gutter:1,content:l.a.createElement(ie.f,null,l.a.createElement("p",null,"Are you sure you want to remove this block?"),l.a.createElement(ie.c,{intent:"danger",text:"Remove",onClick:()=>b(t)}))},l.a.createElement(ie.c,null,"Remove Block")),a&&l.a.createElement(ie.N,{content:"This layout requires at least one Pubs block."},l.a.createElement(ie.c,{text:"Remove",disabled:!0}))));var n})(e,t),l.a.createElement("div",{key:"block-"+e.id,className:"component-wrapper"},"pubs"===e.type&&l.a.createElement(yi,{key:"item-"+e.id,onChange:d,layoutIndex:t,block:e,pubsInBlock:f[e.id]||[],communityData:s,loading:y,scopedCollectionId:null==i?void 0:i.id}),"text"===e.type&&l.a.createElement(Oi,{key:"item-"+e.id,onChange:d,layoutIndex:t,content:e.content}),"html"===e.type&&l.a.createElement(Io,{key:"item-"+e.id,onChange:m,layoutIndex:t,content:e.content}),"banner"===e.type&&l.a.createElement(ho,{key:"item-"+e.id,onChange:m,layoutIndex:t,content:e.content,communityData:s}),"collections-pages"===e.type&&l.a.createElement(ti,{key:"item-"+e.id,onChange:m,layoutIndex:t,content:e.content,pages:s.pages,collections:s.collections}),!!i&&"collection-header"===e.type&&l.a.createElement(Oo,{key:"item-"+e.id,layoutIndex:t,onChange:d,collection:i,block:e})),l.a.createElement($o,{key:"insert-"+e.id,insertIndex:t+1,onInsert:p,communityData:s,showCollectionHeaderBlock:!!i,pubSort:i?"collection-rank":"creation-date"})):null))}),Vi=a(1563),qi=a(167),Wi=a(192),Gi=a.n(Wi),Yi=a(407);Date.parse("2024-05-16");const Ki=e=>{return t=null,a=null,n=function*(){yield I.a.post("/api/userDismissable",{key:e})},new Promise((e,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((n=n.apply(t,a)).next())});var t,a,n};a(1176);const Ji=[{title:"Terms of service",shouldShow:()=>(()=>{const e=Gi.a.get("tos-update");return e&&parseInt(e,10),!1})(),notice:()=>l.a.createElement("p",null,"We've updated PubPub's Terms of Service to clarify the relationship between PubPub, third-party publishers, and users, and to further underscore our commitment to the highest standards of user privacy."),buttons:(e,t)=>l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.c,{large:!0,onClick:()=>{(()=>{const e=Date.now();Gi.a.set("tos-update",e,Object(Yi.a)())})(),t()},intent:"success"},Object(qi.c)(e)?"Next":"Close"),l.a.createElement(ie.c,{large:!0,onClick:()=>{window.open("https://www.pubpub.org/legal/terms","_blank")}},"See terms"))},{title:"Cookies and data privacy",shouldShow:e=>Object(qi.c)(e),notice:()=>l.a.createElement("p",null,"This community uses third-party cookies to understand which features and content on their site are receiving traffic."," ",l.a.createElement("b",null,"We don't allow communities to share personal data or sell or share this data with anyone else."),". Visit your ",l.a.createElement("a",{href:"/legal/settings"},"privacy settings")," to learn more."),buttons:({loginData:e,setGdprConsent:t},a)=>{const n=n=>{Object(qi.d)(e,n,t),a()};return l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.c,{large:!0,onClick:()=>n(!0),intent:"success"},"Accept"),l.a.createElement(ie.c,{large:!0,onClick:()=>n(!1)},"Disable"))}},{title:"Take our User Satisfaction Survey",shouldShow:({dismissedUserDismissables:e,featureFlags:t,loginData:a})=>!!a.id&&!e.surveySummer22&&t.surveySummer22,notice:()=>l.a.createElement("p",null,"We'd like to understand who our users are, how they value PubPub, and how we 
1can better service publishing communities. This will directly inform our roadmap and priorities. It should take less than 5 minutes to complete and can be filled out anonymously."),buttons:(e,t)=>l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.b,{large:!0,href:"https://forms.gle/cecnRw7BDbeYyML4A",target:"_blank",style:{padding:"0 10px"},intent:"primary"},"Take the survey"),l.a.createElement(ie.c,{large:!0,onClick:()=>{Ki("surveySummer22"),t()}},"Dismiss"))}];var Qi=()=>{const e=Object(T.c)(),[t,a]=Object(n.useState)(-1),r=Ji[t],[o]=Object(n.useState)(Ji.filter(t=>t.shouldShow(e))),i=()=>{let n=t;do{++n}while(Ji[n]&&!Ji[n].shouldShow(e));a(n)};if(Object(Vi.a)(i),!r)return null;return l.a.createElement("div",{className:"legal-banner-component"},l.a.createElement("div",{className:"logo"},l.a.createElement("img",{src:"/static/logo.png",alt:""})),l.a.createElement("div",{className:"notice"},l.a.createElement("div",{className:"notice-steps"},o.map((e,a)=>l.a.createElement("div",{key:`${e.title}-${a}`,className:Ge()("step",Ji.indexOf(e)===t&&"current")},e.title))),r.notice()),l.a.createElement("div",{className:"legal-buttons"},r.buttons(e,i)))};a(1177);var Zi=e=>{const{length:t,maxLength:a,visibilityThreshold:n=.9}=e,r=t/a;return r>n?l.a.createElement(ie.L,{className:Ge()("length-indicator-component",1===r&&"at-max-length")},t," / ",a):null},Xi=a(1564);var es=e=>{const{pages:t,onSelectPage:a,selectedPageId:l,disabled:o}=e,i=t.find(e=>e.id===l);return n.createElement(Xi.a,{items:t,itemRenderer:(e,{handleClick:t})=>n.createElement(ie.u,{key:e.title,onClick:t,text:e.title}),itemListPredicate:(e,t)=>t.filter(t=>st()(e.toLowerCase(),t.title.toLowerCase())),onItemSelect:a,popoverProps:{popoverClassName:r.a.MINIMAL}},n.createElement(ie.c,{className:"linked-page-select-button",text:i?i.title:n.createElement("em",null,"Choose a Page"),rightIcon:"chevron-down",disabled:o,minimal:!0,outlined:!0}))},ts=a(22);const as=["view","edit","manage","admin"];a(1178);const ns={pub:[{title:"View Pub drafts",activeAt:"view"},{title:"View member-only Discussions and Reviews",activeAt:"view"},{title:"Edit Pub draft",activeAt:"edit"},{title:"Create Reviews",activeAt:"edit"},{title:"Manage Pub settings",activeAt:"manage"},{title:"Create Releases",activeAt:"admin"},{title:"See all Discussions and Reviews",activeAt:"admin"},{title:"Delete Pub",activeAt:"admin"}],collection:[{title:"View all Pub drafts",activeAt:"view"},{title:"View member-only Discussions and Reviews",activeAt:"view"},{title:"Edit Pub drafts",activeAt:"edit"},{title:"Create Reviews",activeAt:"edit"},{title:"Manage Pub settings",activeAt:"manage"},{title:"Manage Collection settings",activeAt:"manage"},{title:"Create new Pubs in this Collection",activeAt:"manage"},{title:"Create Pub Releases",activeAt:"admin"},{title:"See all Discussions and Reviews",activeAt:"admin"},{title:"Delete Pubs",activeAt:"admin"},{title:"Delete Collection",activeAt:"admin"}],community:[{title:"View all Pub drafts",activeAt:"view"},{title:"View member-only Discussions and Reviews",activeAt:"view"},{title:"Edit Pub drafts",activeAt:"edit"},{title:"Create Reviews",activeAt:"edit"},{title:"Manage Pub settings",activeAt:"manage"},{title:"Manage Collection settings",activeAt:"manage"},{title:"Manage Community settings",activeAt:"manage"},{title:"Create new Pubs",activeAt:"manage"},{title:"Create new Collections",activeAt:"manage"},{title:"Create Pub Releases",activeAt:"admin"},{title:"See all Discussions and Reviews",activeAt:"admin"},{title:"Assign DOIs",activeAt:"admin"},{title:"Delete Pubs",activeAt:"admin"},{title:"Delete Collections",activeAt:"admin"},{title:"Delete Community",activeAt:"admin"}]},ls=e=>{const{activeTargetType:t,activePermission:a,onSelect:n,canAdmin:o}=e,{communityData:i}=Object(T.c)(),s=ns[t];return l.a.createElement("div",{className:"member-permission-picker-component"},l.a.createElement("style",null,`.active .header-row .${r.a.ICON} { background: ${i.accentColorDark}}`),l.a.createElement("div",{className:"picker-column"},l.a.createElement("div",{className:"header-row"}),s.map(e=>l.a.createElement("div",{className:"row title-row",key:e.title},e.title))),as.map((e,t)=>{const r=e===a,i="admin"===e&&!o;return l.a.createElement("button",{className:Ge()("picker-column",r&&"active",i&&"disabled"),key:e,disabled:i,type:"button",onClick:()=>n(e)},l.a.createElement("div",{className:"header-row"},l.a.createElement("div",null,e),r&&l.a.createElement(an.a,{icon:"small-tick",color:"#fff"})),s.map(e=>{const a=as.indexOf(e.activeAt)<t+1;return l.a.createElement("div",{className:"row"},a?"•":"")}))}))};ls.defaultProps={onSelect:e=>{console.log(e)}};var rs=ls;const os=e=>{const{dialogType:t,isOpen:a,onConfirm:o,onCancel:i}=e,[s,c]=Object(n.useState)(!1),{scopeData:{elements:{activeTargetName:u}}}=Object(T.c)(),{explanation:m,checkboxLabel:d,confirmButtonLabel:p}=((e,t)=>"delete"===e?{explanation:l.a.createElement(l.a.Fragment,null,"If you remove yourself as a Member from this ",t,", you won't be able to undo this action. Another Member will need to add you again."),checkboxLabel:"Yes, I really want to remove myself!",confirmButtonLabel:"Remove me"}:"demote"===e?{explanation:l.a.createElement(l.a.Fragment,null,"If you choose a less capable permission for yourself, you won't be able to undo this action. Another Member will need to restore it for you."),checkboxLabel:"Yes, I really want to change my permissions!",confirmButtonLabel:"Change my permissions"}:{explanation:null,checkboxLabel:null,confirmButtonLabel:null})(t,u);return l.a.createElement(ie.j,{lazy:!0,isOpen:a,onClose:i,title:"Are you sure?"},l.a.createElement("div",{className:r.a.DIALOG_BODY},l.a.createElement("p",null,m),l.a.createElement(ie.g,{checked:s,onChange:()=>c(!s),label:d})),l.a.createElement("div",{className:r.a.DIALOG_FOOTER},l.a.createElement("div",{className:r.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(ie.c,{onClick:i},"Cancel"),l.a.createElement(ie.c,{disabled:!s,onClick:o,intent:"danger"}
1,p))))};os.defaultProps={};var is=os;a(1179);const ss=e=>{const{memberData:t,isInvitation:a,isReadOnly:o,isOnlyMemberInScope:i,onDelete:s,onUpdate:c}=e,{scopeData:u,loginData:m}=Object(T.c)(),[d,p]=Object(n.useState)(null),{activeTargetType:b}=u.elements,{canAdmin:h}=u.activePermissions,g=i&&"community"===b,f=!h&&"admin"===t.permissions,y=t.user||{fullName:t.email,initials:"@"},v=y.id&&m.id===y.id,E=e=>c(t,{permissions:e}),O=()=>s(t),w=e=>{const a=as.indexOf(e)<as.indexOf(t.permissions);v&&a?p({dialogType:"demote",onConfirm:()=>E(e)}):E(e)},C=()=>{v?p({dialogType:"delete",onConfirm:O}):O()};return l.a.createElement("div",{className:"member-row-component"},d&&l.a.createElement(is,{key:"self-destructive-"+d.dialogType,isOpen:!0,dialogType:d.dialogType,onConfirm:()=>{d&&Promise.resolve(d.onConfirm()).then(()=>window.location.reload())},onCancel:()=>p(null)}),l.a.createElement(Rt.a,{className:a?"invitation":"",initials:y.initials,avatar:y.avatar,width:30}),l.a.createElement("div",{className:"member-info"},l.a.createElement("div",{className:"member-name"},y.fullName),a&&l.a.createElement(ie.J,{className:"pending-tag",minimal:!0},"Pending"),l.a.createElement("div",{className:"added"},a?"Invited":"Added"," ",Ea()(t.createdAt,"mmm dd, yyyy"))),!(o||f)&&(()=>{const e=c&&l.a.createElement(Aa.b,{"aria-label":"Select member permissions",className:"member-permission-select "+r.a.ELEVATION_3,placement:"bottom-end",buttonProps:{className:"permission-button",rightIcon:"caret-down",outlined:!0},buttonContent:""+t.permissions},l.a.createElement(rs,{activeTargetType:b,canAdmin:h,activePermission:t.permissions,onSelect:w})),a=s&&!g&&l.a.createElement(ie.c,{minimal:!0,icon:"cross",onClick:C,disabled:f});return l.a.createElement(l.a.Fragment,null,e,a)})(),(o||f)&&l.a.createElement(ie.J,{minimal:!0,large:!0},"Can ",t.permissions))};ss.defaultProps={isInvitation:!1,isOnlyMemberInScope:!1,isReadOnly:!1,onUpdate:null,onDelete:null};var cs=ss;a(1180);var us=e=>{const{members:t,scope:a}=e,[r,o]=Object(n.useState)(!1),{scopeData:i}=Object(T.c)();return l.a.createElement("div",{className:"inherited-members-block-component"},l.a.createElement("div",{className:"top"},l.a.createElement("div",{className:"scope"},a," Members with access: ",t.length),l.a.createElement(ie.c,{outlined:!0,small:!0,text:r?"Hide Details":"Show Details",onClick:()=>{o(!r)}})),!r&&l.a.createElement("div",{className:"preview-block"},t.map(e=>l.a.createElement(Rt.a,{key:e.id,initials:e.user.initials,avatar:e.user.avatar,width:20}))),r&&l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"explanation-block"},((e,t)=>{const{elements:a}=t,n=a.activeTargetName,r=a.activeCommunity.title,o="Community"===e?`the ${r} community`:"a collection that contains it",i=l.a.createElement(l.a.Fragment,null,"These users are members of this ",n," because they are members of"," ",o,".");return"Community"===e&&t.activePermissions.canManageCommunity?l.a.createElement(l.a.Fragment,null,i," You can manage this list of members from the"," ",l.a.createElement("a",{href:Object(ts.a)({mode:"members"})},"Community members tab.")):i})(a,i)),l.a.createElement("div",{className:"members-block"},t.map(e=>l.a.createElement(cs,{memberData:e,key:e.id,isReadOnly:!0})))))},ms=(a(1181),Object.defineProperty),ds=Object.defineProperties,ps=Object.getOwnPropertyDescriptors,bs=Object.getOwnPropertySymbols,hs=Object.prototype.hasOwnProperty,gs=Object.prototype.propertyIsEnumerable,fs=(e,t,a)=>t in e?ms(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const ys=()=>!0,vs=e=>e.minimalButtonSet;var Es=e=>{const{customNodes:t,debounceEditsMs:r=0,initialContent:o,constrainHeight:i=!1,noMinHeight:s=!1,onEdit:c,onContent:u,useFormattingBar:m=!1,focusOnLoad:d=!1,placeholder:p,isReadOnly:b=!1,isTranslucent:h=!1,getButtons:g=vs,resizable:f=!1}=e,[y,v]=Object(n.useState)(null),[E,O]=Object(n.useState)(null),w=Object(n.useRef)(null);Object(n.useEffect)(()=>{d&&(null==y?void 0:y.view)&&y.view.focus()},[]),Object(n.useEffect)(()=>{Promise.resolve().then(a.bind(null,93)).then(({buttons:e,FormattingBar:t})=>{O(()=>a=>l.a.createElement(t,((e,t)=>
1ds(e,ps(t)))(((e,t)=>{for(var a in t||(t={}))hs.call(t,a)&&fs(e,a,t[a]);if(bs)for(var a of bs(t))gs.call(t,a)&&fs(e,a,t[a]);return e})({},a),{buttons:g(e)})))})},[]);const C=Object(n.useCallback)((...e)=>{if(c&&c(...e),u){const[t]=e;u({content:t.toJSON(),text:Object(gn.k)(t)})}},[c,u]);return l.a.createElement("div",{className:Ge()("minimal-editor-component",i&&"constrain-height",h&&"translucent",m&&"has-formatting-bar",s&&"no-min-height",f&&"resizable")},m&&E&&l.a.createElement(E,{editorChangeObject:y,isTranslucent:h,showBlockTypes:!1,isSmall:!0,controlsConfiguration:{container:w.current}}),l.a.createElement("div",{className:"editor-wrapper",onClick:()=>{if(y){const{view:e}=y;e.hasFocus()||e.focus()}}},l.a.createElement("div",{ref:w}),l.a.createElement(gn.b,{isReadOnly:b,customNodes:t,debounceEditsMs:r,initialContent:o,placeholder:p,onScrollToSelection:ys,onEdit:C,onChange:v,customPlugins:{headerIds:null,highlights:null}})))},Os=a(219),ws=(a(1182),Object.defineProperty),Cs=Object.getOwnPropertySymbols,Ns=Object.prototype.hasOwnProperty,js=Object.prototype.propertyIsEnumerable,ks=(e,t,a)=>t in e?ws(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Ss=(e,t,a,n,r)=>{if(!e)return null;const o=n===r;if(!a&&!o)return null;const i=((e,t)=>{for(var a in t||(t={}))Ns.call(t,a)&&ks(e,a,t[a]);if(Cs)for(var a of Cs(t))js.call(t,a)&&ks(e,a,t[a]);return e})({className:r?"mobile-aware-component__mobile":"mobile-aware-component__desktop"},o?{ref:t}:null);return"function"==typeof e?e(i):l.a.cloneElement(e,i)};var Ps=l.a.forwardRef((e,t)=>{const{mobile:a=null,desktop:r=null}=e,[o,i]=Object(n.useState)(!0),{isMobile:s}=Object(Os.a)({withEarlyMeasurement:!0});return Object(n.useEffect)(()=>i(!1),[]),l.a.createElement(l.a.Fragment,null,Ss(a,t,o,s,!0),Ss(r,t,o,s,!1))}),Ds=(a(1183),Object.defineProperty),Is=Object.getOwnPropertySymbols,Ts=Object.prototype.hasOwnProperty,xs=Object.prototype.propertyIsEnumerable,As=(e,t,a)=>t in e?Ds(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Ms={previewContext:c.a.object},Ls=function(e){const{communityData:t}=Object(T.c)(e.previewContext),{pages:a=[],collections:n=[],navigation:o}=t,i=Object(Er.d)({navigation:null!=o?o:[],pages:a,collections:n}),s=Object(Er.a)(t,"header"),c=(e,t)=>Object(Er.f)(e)?null:l.a.createElement(Aa.d,{key:t,href:e.href,icon:e.isPrivate&&l.a.createElement(an.a,{icon:"lock2",className:"lock-icon",iconSize:14}),rightElement:e.isExternal&&l.a.createElement(an.a,{icon:"share",className:"external-icon",iconSize:14}),text:e.title});return l.a.createElement("nav",{className:"nav-bar-component accent-background accent-color"},l.a.createElement(Kr,null,l.a.createElement("div",{className:"scrollable-nav"},l.a.createElement("ul",{className:"nav-list"},i.filter(e=>e).map(e=>Object(Er.f)(e)?l.a.createElement(Aa.a,{"aria-label":e.title,disclosure:l.a.createElement("li",{className:"dropdown"},l.a.createElement("span",{className:"title"},e.title),l.a.createElement(ie.q,{tagName:"span",icon:"caret-down",className:`${r.a.ICON_STANDARD} ${r.a.ALIGN_RIGHT}`})),className:"nav-bar-popover",key:"nav-item-"+e.id},e.children.map(c)):l.a.createElement("li",{key:"nav-item-"+e.id},l.a.createElement("a",{href:e.href},e.isPrivate&&l.a.createElement(an.a,{icon:"lock2",className:"lock-icon",iconSize:14}),l.a.createElement("span",{className:"title"},e.title),e.isExternal&&l.a.createElement(an.a,{icon:"share",iconSize:11,className:"external-icon"}))))),l.a.createElement("div",{className:"overflow-gradient"})),s.length?l.a.createElement("ul",{className:"social-list"},s.map(e=>l.a.createElement("li",{key:"social-item-"+e.id},l.a.createElement("a",((e,t)=>{for(var a in t||(t={}))Ts.call(t,a)&&As(e,a,t[a]);if(Is)for(var a of Is(t))xs.call(t,a)&&As(e,a,t[a]);return e})({href:e.url,"aria-label":e.title},e.additionalAttributes),l.a.createElement(an.a,{icon:e.icon}))))):null))};Ls.propTypes=Ms,Ls.defaultProps={previewContext:void 0};var Rs=Ls,Fs=a(71);const Us=l.a.createContext({});var Bs=a(1560);a(1184);class zs extends n.Component{constructor(e){super(e),this.getFilteredItems=this.getFilteredItems.bind(this),this.state={filteredItems:this.getFilteredItems(e,""),query:""},this.filterItems=this.filterItems.bind(this),this.handleSelect=this.handleSelect.bind(this)}UNSAFE_componentWillReceiveProps(e){this.setState({filteredItems:this.getFilteredItems(e,"")})}getFilteredItems(e,t){const a=e.usedItems.map(e=>e.id);return e.items.filter(e=>{const n=st()(t.toLowerCase(),e.title.toLowerCase()),l=st()(t.toLowerCase(),e.slug.toLowerCase()),r=a.indexOf(e.id)>-1;return e.slug&&!r&&(n||l)}).sort((e,t)=>
1e.title<t.title?-1:e.title>t.title?1:0)}filterItems(e){const t=this.getFilteredItems(this.props,e);this.setState({query:e,filteredItems:t})}handleSelect(e){this.props.onSelect(e),this.filterItems("")}render(){return l.a.createElement("div",{className:"page-autocomplete-component"},l.a.createElement(Bs.a,{className:"input",items:this.state.filteredItems,inputProps:{placeholder:this.props.placeholder,rightElement:l.a.createElement(an.a,{icon:"caret-down"}),small:!0},query:this.state.query,onQueryChange:this.filterItems,inputValueRenderer:()=>{},itemRenderer:(e,{handleClick:t,modifiers:a})=>l.a.createElement("li",{key:e.id},l.a.createElement("span",{role:"button",tabIndex:-1,onClick:t,className:a.active?`${r.a.MENU_ITEM} ${r.a.ACTIVE}`:r.a.MENU_ITEM},l.a.createElement("span",{className:"title"},e.title))),onItemSelect:this.handleSelect,resetOnSelect:!0,noResults:l.a.createElement(ie.u,{disabled:!0,text:"No results"}),popoverProps:{minimal:!0,position:lt.a.BOTTOM_LEFT,modifiers:{preventOverflow:{enabled:!1},hide:{enabled:!1},flip:{enabled:!1}}}}))}}var $s=zs;var _s=e=>{const{dropdownId:t,NavBuilderList:a,index:r,item:o,newLink:i,isStatic:s=!1}=e,{updateItem:c,pages:u,collections:m}=Object(n.useContext)(Us),d=(e,t)=>l.a.createElement(l.a.Fragment,null,t&&l.a.createElement(an.a,{icon:t}),e),p=e=>l.a.createElement(ie.r,{small:!0,placeholder:"Title",onChange:e=>{c(t,r,{title:e.target.value})},value:e});return l.a.createElement("div",{className:Ge()({"nav-builder-row-component":!0,static:s})},l.a.createElement("div",{className:"top"},(()=>{if("type"in o){if("collection"===o.type){const e=m.find(e=>e.id===o.id);if(e){const t=Object(Fs.c)(e.kind);return d(e.title,t&&t.bpDisplayIcon)}}else if("page"===o.type){const e=u.find(e=>e.id===o.id);if(e)return d(e.title,"page-layout")}return null}return"href"in o?l.a.createElement(l.a.Fragment,null,l.a.createElement(an.a,{icon:"link"}),p(o.title),l.a.createElement(ie.r,{small:!0,className:"href-input",placeholder:"https://www.example.com",onChange:e=>{c(t,r,{href:e.target.value})},value:o.href})):Object(Er.e)(o)?l.a.createElement(l.a.Fragment,null,p(o.title),l.a.createElement($s,{items:u,placeholder:"Add Page",usedItems:u.filter(e=>o.children.some(t=>t===e.id||t.id===e.id)),onSelect:e=>{const a={type:"page",id:e.id};c(t,r,{children:[a,...o.children]})}}),l.a.createElement($s,{items:m,placeholder:"Add Collection",usedItems:m.filter(e=>o.children.some(t=>t.id===e.id)),onSelect:e=>{const a={type:"collection",id:e.id};c(t,r,{children:[a,...o.children]})}}),l.a.createElement(ie.c,{small:!0,text:"Add Link",onClick:()=>{c(t,r,{children:[i,...o.children]})}})):null})()),Object(Er.e)(o)?l.a.createElement("div",{className:"children"},l.a.createElement(a,{id:o.id,items:o.children,pages:u,newLink:i})):null)},Hs=Object.defineProperty,Vs=Object.getOwnPropertySymbols,qs=Object.prototype.hasOwnProperty,Ws=Object.prototype.propertyIsEnumerable,Gs=(e,t,a)=>t in e?Hs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ys=(e,t)=>{for(var a in t||(t={}))qs.call(t,a)&&Gs(e,a,t[a]);if(Vs)for(var a of Vs(t))Ws.call(t,a)&&Gs(e,a,t[a]);return e};const Ks=e=>{const{id:t,items:a=[],newLink:r}=e,{removeItem:o}=Object(n.useContext)(Us);return l.a.createElement(qe.c,{droppableId:t,type:t},(e,n)=>l.a.createElement("div",Ys({ref:e.innerRef,className:n.isDraggingOver?"dragging":""},e.droppableProps),a.map((e,a)=>{const n="string"==typeof e?e:e.id;return l.a.createElement(qe.b,{key:`draggable-${n}-${t}`,draggableId:`draggable-${n}-${t}`,index:a,type:t},(i,s)=>l.a.createElement("div",Ys({ref:i.innerRef,className:s.isDragging?"dragging nav-builder-row":"nav-builder-row"},i.draggableProps),l.a.createElement("div",{className:"shadow"},l.a.createElement("span",Ys({},i.dragHandleProps),l.a.createElement(an.a,{className:"drag-handle",icon:"drag-handle-horizontal"})),l.a.createElement(_s,{dropdownId:t,index:a,item:e,newLink:r,NavBuilderList:Ks}),l.a.createElement(ie.c,{icon:"small-cross",minimal:!0,small:!0,onClick:()=>o(n,t)}))))}),e.placeholder))};var Js=Ks,Qs=(a(1185),Object.defineProperty),Zs=Object.defineProperties,Xs=Object.getOwnPropertyDescriptors,ec=Object.getOwnPropertySymbols,tc=Object.prototype.hasOwnProperty,ac=Object.prototype.propertyIsEnumerable,nc=(e,t,a)=>t in e?Qs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,lc=(e,t)=>{for(var a in t||(t={}))tc.call(t,a)&&nc(e,a,t[a]);if(ec)for(var a of ec(t))ac.call(t,a)&&nc(e,a,t[a]);return e},rc=(e,t)=>Zs(e,Xs(t));var oc=e=>{const{initialNav:t,pages:a,collections:r,onChange:o,prefix:i=[],suffix:s=[],disableDropdown:c=!1}=e,[u,m]=Object(n.useState)(t),d=u.slice(i.length,u.length-s.length),p=(e,t,a)=>{const n=Array.from(e),[l]=n.splice(t,1);return n.splice(a,0,l),n},b=e=>{const t=[...i,e,...d,...s];m(t),o(t)},h={id:Object(Ci.a)(8),title:"Link Title",href:""},g={id:Object(Ci.a)(8),title:"Menu Title",children:[]};
1return l.a.createElement("div",{className:"nav-builder-component"},l.a.createElement("style",null,"body { height: 100vh; overflow: scroll }"),l.a.createElement("div",{className:"new-items"},l.a.createElement($s,{items:a,placeholder:"Add Page",usedItems:a.filter(e=>u.some(t=>t===e.id||t.id===e.id)),onSelect:e=>{b({type:"page",id:e.id})}}),l.a.createElement($s,{items:r,placeholder:"Add Collection",usedItems:r.filter(e=>u.some(t=>t.id===e.id)),onSelect:e=>{b({type:"collection",id:e.id})}}),l.a.createElement(ie.c,{small:!0,text:"Add Link",onClick:()=>{b(h)}}),!c&&l.a.createElement(ie.c,{small:!0,text:"Add Dropdown Menu",onClick:()=>{b(g)}})),l.a.createElement(qe.a,{onDragEnd:e=>{if(e.destination){const t="main-list"===e.destination.droppableId?p(d,e.source.index,e.destination.index):d.map(t=>Object(Er.e)(t)&&t.id===e.destination.droppableId?rc(lc({},t),{children:p(t.children,e.source.index,e.destination.index)}):t),a=[...i,...t,...s];m(a),o(a)}}},l.a.createElement(Us.Provider,{value:{removeItem:(e,t)=>{const a="main-list"===t?d.filter(t=>t.id!==e&&t!==e):d.map(a=>a.id===t&&Object(Er.e)(a)?rc(lc({},a),{children:a.children.filter(t=>t.id!==e&&t!==e)}):a),n=[...i,...a,...s];m(n),o(n)},updateItem:(e,t,a)=>{const n="main-list"===e?d.map((e,n)=>n===t?lc(lc({},e),a):e):d.map(n=>n.id===e&&Object(Er.e)(n)?rc(lc({},n),{children:n.children.map((e,n)=>n===t?lc(lc({},e),a):e)}):n),l=[...i,...n,...s];m(l),o(l)},pages:a,collections:r}},l.a.createElement("div",{className:"items"},i.map((e,t)=>{const a="prefix-"+t;return l.a.createElement("div",{key:a,className:"nav-builder-row"},l.a.createElement(_s,{item:e,isStatic:!0,dropdownId:"main-list",index:-1}))}),l.a.createElement(Js,{id:"main-list",items:d,newLink:h}),s.map((e,t)=>{const a="suffix-"+t;return l.a.createElement("div",{key:a,className:"nav-builder-row"},l.a.createElement(_s,{item:e,isStatic:!0,dropdownId:"main-list",index:-1}))})))))};a(1186);var ic=function(e){return l.a.createElement("div",{className:`${e.className} ${r.a.NON_IDEAL_STATE}`},e.icon&&l.a.createElement("div",{className:r.a.NON_IDEAL_STATE_VISUAL},l.a.createElement(ie.q,{icon:e.icon,iconSize:60})),e.title&&l.a.createElement("div",{className:r.a.HEADING},e.title),e.description&&l.a.createElement("div",null,e.description),e.action&&l.a.createElement(l.a.Fragment,null,e.action),e.children&&l.a.createElement(l.a.Fragment,null,e.children))},sc=a(280);const cc=["a","button","input","textarea","select","details",'[tabindex]:not([tabindex="-1"])'].map(e=>e+":not([disabled])").join(","),uc=(e={})=>{const{allowTakingFocusFromChild:t=!1}=e,{refs:a,getRef:l}=Object(sc.a)();return Object(n.useEffect)(()=>{const e=e=>{const{key:n}=e;if(a[n]){const{current:e}=a[n];if(e){const a=(l=e).matches(cc)?l:l.querySelector(cc);a&&!((e,t)=>{if(e)return!1;const{activeElement:a}=document;return a===t||t.contains(a)})(t,e)&&a.focus()}}var l};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]),{hotkeyRef:l}};var mc=a(141),dc=(a(1187),Object.defineProperty),pc=Object.getOwnPropertySymbols,bc=Object.prototype.hasOwnProperty,hc=Object.prototype.propertyIsEnumerable,gc=(e,t,a)=>t in e?dc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var fc=e=>{const{availableItems:t,selectedItems:a,onSearch:r,onRequestMoreItems:o,onSelectedItems:i,renderItem:s,selectedTitle:c="Selected",availableTitle:u="Available",searchPlaceholder:m,searchTerm:d,scrollForMoreItems:p=!1,isRequestingMoreItems:b=!1}=e,h=Object(n.useRef)(null),[g]=Object(n.useState)(()=>Object(Ci.a)(10)),{hotkeyRef:f}=uc();Object(mc.a)({element:h.current,enabled:p&&!b,onRequestMoreItems:o});const y=e=>l.a.createElement("div",{className:"column-header"},e);return l.a.createElement("div",{className:"order-picker-component"},l.a.createElement("div",{className:"column",ref:f("ArrowLeft")},y(u),l.a.createElement("div",{className:"items-listing",ref:h},r&&l.a.createElement("div",{className:"search-bar"},l.a.createElement(ie.r,{leftIcon:"search",value:d,placeholder:m,onCh
1ange:e=>r(e.target.value)})),l.a.createElement("ul",null,t.map(e=>l.a.createElement("li",{key:e.id},s(e,()=>(e=>{i([...a,e])})(e))))),b&&l.a.createElement(ie.F,{size:25,className:"more-spinner"}))),l.a.createElement("div",{className:"column",ref:f("ArrowRight")},y(c),l.a.createElement(tn,{className:"items-listing",droppableType:g,items:a,renderItem:(e,t,n)=>((e,t,a,n=!1,r=null)=>l.a.createElement("div",{key:e.id,className:Ge()("order-picker-component_item",n&&"is-dragging")},t,l.a.createElement("div",{className:"content"},s(e,r)),a))(e,t&&l.a.createElement("div",((e,t)=>{for(var a in t||(t={}))bc.call(t,a)&&gc(e,a,t[a]);if(pc)for(var a of pc(t))hc.call(t,a)&&gc(e,a,t[a]);return e})({className:"drag-handle"},t),l.a.createElement(ie.q,{icon:"drag-handle-vertical"})),l.a.createElement(ie.c,{minimal:!0,icon:"cross",onClick:()=>(e=>{const t=[...a],n=t.findIndex(t=>t.id===e.id);t.splice(n,1),i(t)})(e)}),n),onReorderItems:i,renderDragElementInPortal:!0,withDragHandles:!0})))},yc=a(371);a(382);var vc=e=>{const{children:t}=e,[a,r]=Object(n.useState)(0),o=Object(n.useCallback)(()=>r(e=>e-1),[]),i=Object(n.useCallback)(e=>(r(e=>e+1),e.then(e=>(o(),e)).catch(e=>{throw o(),e})),[o]);return l.a.createElement(T.b.Provider,{value:{pendingCount:a,pendingPromise:i}},t)};const Ec={prefix:c.a.node,isSmall:c.a.bool,isMinimal:c.a.bool,onChange:c.a.func,isDisabled:c.a.bool,allowedTypes:c.a.array.isRequired,value:c.a.string.isRequired},Oc=function(e){const t={none:{value:"none",title:"None",onClick:()=>{e.onChange("none")}},view:{value:"view",title:"View",onClick:()=>{e.onChange("view")}},discuss:{value:"discuss",title:"Discuss",onClick:()=>{e.onChange("discuss")}},edit:{value:"edit",title:"Edit",onClick:()=>{e.onChange("edit")}},manage:{value:"manage",title:"Manage",onClick:()=>{e.onChange("manage")}}};Object.keys(t).forEach(a=>{e.allowedTypes.includes(a)||delete t[a]});const a=e.value||t[e.allowedTypes[0]].value,n={marginRight:e.prefix?"1em":"0em"};return l.a.createElement("div",{className:"permissions-dropdown-component"},l.a.createElement(hn,{label:l.a.createElement(l.a.Fragment,null,l.a.createElement("span",{style:n,key:"prefix"},e.prefix),l.a.createElement("span",{key:"title"},t[a]&&t[a].title)),isRightAligned:!0,isDisabled:e.isDisabled,isSmall:e.isSmall,isMinimal:e.isMinimal},l.a.createElement(ie.t,null,Object.keys(t).map(e=>{const a=t[e];return l.a.createElement(ie.u,{key:a.value+"-option",text:a.title,onClick:a.onClick})}))))};Oc.propTypes=Ec,Oc.defaultProps={prefix:"",isSmall:!0,isMinimal:!1,onChange:()=>{},isDisabled:!1};var wc=a(241),Cc=a(278),Nc=a.n(Cc),jc=a(422);var kc=e=>{const{className:t="",fitIn:a=800,src:r=null,id:o}=e,[i]=Object(n.useState)(()=>Nc.a.v4()),s=Object(na.b)(r,"inside",a),c=o||i,u=r?{backgroundImage:`url("${s}")`}:{background:Object(jc.a)(c)};return l.a.createElement("div",{className:Ge()("preview-image-component",t),style:u})};const Sc=l.a.createElement(l.a.Fragment,null,"A Pub can belong to many Collections, but its Primary Collection is the most important one. It is associated with the Pub in metadata, PDF exports, and more.");var Pc=e=>{const{children:t="Primary Collection"}=e;return l.a.createElement(ie.N,{content:Sc},l.a.createElement("span",{className:r.a.TOOLTIP_INDICATOR},t))};var Dc=e=>{const{pubData:t,communityData:a,updatePubData:n,canEdit:r}=e,{pendingPromise:o}=Object(T.d)();return l.a.createElement(Lt,{apiRoute:"/api/pubAttributions",identifyingProps:{communityId:a.id,pubId:t.id},attributions:t.attributions,canEdit:r,communityData:a,onUpdateAttributions:e=>n({attributions:e}),promiseWrapper:o})},Ic=(a(1188),Object.defineProperty),Tc=Object.getOwnPropertySymbols,xc=Object.prototype.hasOwnProperty,Ac=Object.prototype.propertyIsEnumerable,Mc=(e,t,a)=>t in e?Ic(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Lc=e=>{const t=e,{isOpen:a,onClose:n}=t,o=((e,t)=>{var a={};for(var n in e)xc.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Tc)for(var n of Tc(e))t.indexOf(n)<0&&Ac.call(e,n)&&(a[n]=e[n]);return a})(t,["isOpen","onClose"]);return l.a.createElement(ie.j,{className:"pub-attribution-dialog-component",title:"Edit Pub contributors",isOpen:a,onClose:n},l.a.createElement("div",{className:r.a.DIALOG_BODY},l.a.createElement(Dc,((e,t)=>{for(var a in t||(t={}))xc.call(t,a)&&Mc(e,a,t[a]);if(Tc)for(var a of Tc(t))Ac.call(t,a)&&Mc(e,a,t[a]);return e})({},o))))},Rc=a(124),Fc=a(200),Uc=Object.defineProperty,Bc=Object.defineProperties,zc=Object.getOwnPropertyDescriptors,$c=Object.getOwnPropertySymbols,_c=Object.prototype.hasOwnProperty,Hc=Object.prototype.propertyIsEnumerable,Vc=(e,t,a)=>t in e?Uc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const qc=e=>{const{pubData:t,hideAuthors:a=!1,hideContributors:n=!1}=e,r=Object(Rc.b)(t,"contributors",a,n);return l.a.createElement(Fc.a,((e,t)=>Bc(e,zc(t)))(((e,t)=>{for(var a in t||(t={}))_c.call(t,a)&&Vc(e,a,t[a]);if($c)for(var a of $c(t))Hc.call(t,a)&&Vc(e,a,t[a]);return e})({},e),{contributors:r}))};qc.defaultProps={hideAuthors:!1,hideContributors:!0};var Wc=qc,Gc=a(136),Yc=a(279);var Kc=a(123),Jc=a(408),Qc=a(90),Zc=(a(1189),Object.defineProperty),Xc=Object.defineProperties,eu=Object.getOwnPropertyDescriptors,tu=Object.getOwnPropertySymbols,au=Object.prototype.hasOwnProperty,nu=Object.prototype.propertyIsEnumerable,lu=(e,t,a)=>t in e?Zc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ru=(e,t)=>
1{for(var a in t||(t={}))au.call(t,a)&&lu(e,a,t[a]);if(tu)for(var a of tu(t))nu.call(t,a)&&lu(e,a,t[a]);return e},ou=(e,t)=>Xc(e,eu(t));var iu=e=>{const{allCollections:t,canManage:a,collectionPubs:r,pub:o,renderTriggerButtonForQueryList:i,updateCollectionPubs:s,onQueryListClose:c,renderDragElementInPortal:u}=e,{communityData:m,scopeData:d}=Object(T.c)(),{pendingPromise:p}=Object(T.d)(),{canAddCollections:b,canRemoveCollectionIds:h}=Object(n.useMemo)(()=>{const e=new Set(r.map(e=>e.collectionId)),a=((e,t)=>{const{activePermissions:{canManageCommunity:a},memberData:n}=t;if(a)return e;const l=new Set(n.filter(e=>Object(Yc.a)(e.permissions,"manage")&&e.collectionId).map(e=>e.collectionId));return e.filter(e=>!e.isRestricted||l.has(e.id))})(t,d);return{canAddCollections:a.filter(t=>!e.has(t.id)),canRemoveCollectionIds:new Set(a.map(e=>e.id).filter(t=>e.has(t)))}},[t,d,r]),g=Object(Kc.a)(r),f=e=>{return t=null,a=null,n=function*(){const t="tagTitleToCreate"in e?yield Gc.b({title:e.tagTitleToCreate,communityId:m.id,isPublic:!0}):e,a=yield p(Gc.a({communityId:m.id,pubId:o.id,collectionId:t.id}));s([...r,ou(ru({},a),{collection:t})])},new Promise((e,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((n=n.apply(t,a)).next())});var t,a,n},y=(e,t=!0,a,n)=>{const r=l.a.createElement(l.a.Fragment,null,l.a.createElement(an.a,{icon:Object(Fs.b)(e.kind),className:"collection-kind-icon"}),t?l.a.createElement("a",{href:Object(ts.a)({collectionSlug:e.slug}),className:"title",target:"_blank",rel:"noopener noreferrer"},e.title):e.title,!e.isPublic&&l.a.createElement(an.a,{icon:"lock2",className:"title-icon"}),(null==g?void 0:g.id)===e.id&&l.a.createElement(ie.N,{content:"Primary Collection"},l.a.createElement(an.a,{icon:"star",className:"title-icon",ariaLabel:"Primary Collection"}))),o=Ge()("pub-collections-listing-component_collection-title",!!a&&"interactive",n&&"active");return a?l.a.createElement(dt.a,{as:"div",onClick:a,className:o,key:e.id},r):l.a.createElement("div",{className:o,key:e.id},r)},v=(e,{handleClick:t,modifiers:{active:a}})=>"id"in e?y(e,!1,t,a):null,E=d.activePermissions.canManageCommunity?{createNewItemFromQuery:e=>({tagTitleToCreate:e}),createNewItemRenderer:(e,t,a)=>y({title:"Create new tag: "+e,kind:"tag",slug:"",id:"",isPublic:!0},!1,a,t),searchPlaceholder:"Search for Collections (or create a Tag)",emptyListPlaceholder:""}:{emptyListPlaceholder:"No Collections match this search.",searchPlaceholder:"Search for Collections"},O=e=>b.length>0?l.a.createElement(Bm,ru({itemPredicate:(e,t)=>Object(Jc.a)(t,e),items:b,itemRenderer:v,onItemSelect:f,position:"bottom-left",onClose:c,usePortal:!1},E),e):null;return i?O(i()):0===r.length&&0===b.length?l.a.createElement(l.a.Fragment,null,"You don't have permission to add this Pub to any Collections."):l.a.createElement("div",{className:"pub-collections-listing-component"},O(l.a.createElement(ie.c,{icon:"plus",className:"add-button"},"Add to Collections")),r.length>0&&l.a.createElement("div",{className:"reorder-explanation"},"Reorder Collections to indicate their importance to this Pub; the highest public, non-Tag Collection will serve as its ",l.a.createElement(Pc,null),"."),l.a.createElement(qe.a,{onDragEnd:e=>{const{source:{index:t},destination:{index:a}}=e,n=[...r],[l]=n.splice(t,1),o=Object(Qc.a)(n,a,"pubRank"),i=ou(ru({},l),{pubRank:o});n.splice(a,0,i),p(Gc.f({communityId:m.id,id:i.id,update:{pubRank:o}})),s(n)}},l.a.createElement(nt,{items:Object(Qc.b)(r,"pubRank"),renderItem:(e,t,a)=>{const{collection:n}=e,o=h.has(n.id);return l.a.createElement("div",{key:e.id},l.a.createElement("div",{className:Ge()("pub-collections-listing-component_collection-row",a&&"is-dragging")},t&&l.a.createElement("span",ru({},t),l.a.createElement(an.a,{icon:"drag-handle-vertical"})),y(n),o&&l.a.createElement(ie.c,{small:!0,minimal:!0,icon:"small-cross","aria-label":"Remove",onClick:()=>{return t=e.id,p(Gc.d({communityId:m.id,id:t})),void s(r.filter(e=>e.id!==t));var t}})),l.a.createElement(ie.k,null))},renderEmptyState:()=>l.a.createElement(l.a.Fragment,null,"This Pub isn't in any Collections yet."),droppableId:"pubCollectionsListing",droppableType:"COLLECTION_PUB",withDragHandles:a,renderDragElementInPortal:u})))},su=a(83);a(1190);var cu=e=>l.a.createElement("span",{onClick:e.onToggle,onKeyDown:e.onToggle,tabIndex:"0",className:"pub-edge-description-button",role:"button","aria-controls":e.targetId,"aria-expanded":e.open},e.open?"Hide Description":"Show Description"),uu=(a(468),Object.defineProperty),mu=Object.getOwnPropertySymbols,du=Object.prototype.hasOwnProperty,pu=Object.prototype.propertyIsEnumerable,bu=(e,t,a)=>t in e?uu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var hu=e=>{const{bylineElement:t,className:a=null,detailsElement:n,metadataElements:r,outerElementProps:o={},titleElement:i,topLeftElement:s=null}=e;return l.a.createElement("article",((e,t)=>
1{for(var a in t||(t={}))du.call(t,a)&&bu(e,a,t[a]);if(mu)for(var a of mu(t))pu.call(t,a)&&bu(e,a,t[a]);return e})({className:Ge()("pub-edge-layout",a)},o),l.a.createElement("div",{className:"top"},s&&l.a.createElement("div",{className:"top-left"},s),l.a.createElement("div",{className:"top-right"},l.a.createElement("div",{className:"title-container"},i),t&&l.a.createElement("div",{className:"byline-container"},t),l.a.createElement("ul",{className:"metadata"},r.map((e,t)=>e&&l.a.createElement("li",{key:t},e)).filter(e=>e)))),n)},gu=Object.defineProperty,fu=Object.getOwnPropertySymbols,yu=Object.prototype.hasOwnProperty,vu=Object.prototype.propertyIsEnumerable,Eu=(e,t,a)=>t in e?gu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ou=(e,t)=>{for(var a in t||(t={}))yu.call(t,a)&&Eu(e,a,t[a]);if(fu)for(var a of fu(t))vu.call(t,a)&&Eu(e,a,t[a]);return e};var wu=e=>{const{actsLikeLink:t=!1,pubEdge:a,viewingFromTarget:r=!1,showDescriptionByDefault:o=!1}=e,[i,s]=Object(n.useState)(o),{communityData:c}=Object(T.c)(),{avatar:u,contributors:m,description:d,publishedAt:p,title:b,url:h}=Object(su.d)(a,c,r),{externalPublication:g}=a,f="edge-details-"+a.id,y=d&&l.a.createElement("details",{open:i,id:f},l.a.createElement("summary",null,"Description"),l.a.createElement("hr",null),l.a.createElement("p",null,d)),v=Object(n.useCallback)(e=>{("click"===e.type||"key"in e&&"Enter"===e.key)&&(e.preventDefault(),e.stopPropagation(),s(!i))},[i]),E=(e,a={})=>e?t?l.a.createElement("span",Ou({className:"link"},a),e):l.a.createElement("a",Ou({href:h},a),e):null;return Object(n.useEffect)(()=>s(o),[o]),((e,a={})=>t?l.a.createElement("a",Ou({href:h},a),e):l.a.createElement("div",Ou({},a),e))(l.a.createElement(hu,{topLeftElement:E(u&&l.a.createElement("img",{src:u,alt:b}),{tabIndex:"-1"}),titleElement:E(b),bylineElement:m&&m.length>0&&(g?l.a.createElement(Ht.a,{contributors:m}):l.a.createElement(Fc.a,{contributors:m})),metadataElements:[d&&l.a.createElement(cu,{onToggle:v,open:i,targetId:f}),p&&l.a.createElement(l.a.Fragment,null,"Published on ",p),h&&l.a.createElement("span",{className:"location"},Object(su.c)(h))],detailsElement:y}),{className:Ge()("pub-edge-component",t&&"acts-like-link")})};var Cu=e=>{const{externalPublication:{title:t,description:a,contributors:r,avatar:o,url:i,publicationDate:s,doi:c},pubEdgeDescriptionIsVisible:u,onUpdateExternalPublication:m}=e,[d,p]=Object(n.useState)(u),[b,h]=Object(n.useState)(!1);Object(n.useEffect)(()=>p(u),[u]);return l.a.createElement(hu,{className:"pub-edge-editor-component",topLeftElement:o&&l.a.createElement("img",{src:o,alt:""}),titleElement:l.a.createElement(ie.m,{placeholder:"Add a title for this publication",multiline:!0,value:t,onChange:e=>m({title:e})}),bylineElement:l.a.createElement(ie.K,{placeholder:"Add contributors to this publication",values:null!=r?r:void 0,onChange:e=>{m({contributors:e})}}),metadataElements:[l.a.createElement(cu,{onToggle:()=>p(e=>!e),open:!!d,targetId:""}),(()=>{if(s)return l.a.createElement(l.a.Fragment,null,"Published on"," ",l.a.createElement(Ta,{small:!0,className:"editable-date",onSelectDate:e=>m({publicationDate:e}),date:s}));const e=()=>m({publicationDate:(new Date).toISOString()});return l.a.createElement(dt.a,{as:"a",tabIndex:"0",onKeyDown:t=>"Enter"===t.key&&e(),onClick:e},"Add publication date")})(),b||c?l.a.createElement(ie.r,{placeholder:"e.g., 10.1234/example",value:null!=c?c:"",onCh
1ange:e=>m({doi:e.target.value||null}),small:!0,style:{width:"200px",height:"24px"},leftElement:l.a.createElement("span",{style:{color:"#5c7080",height:"24px",display:"flex",alignItems:"center",padding:"0 4px"}},"DOI")}):l.a.createElement(dt.a,{as:"a",tabIndex:"0",onKeyDown:e=>"Enter"===e.key&&h(!0),onClick:()=>h(!0)},"Add DOI"),l.a.createElement("a",{href:i,alt:t},Object(su.c)(i))],detailsElement:d&&l.a.createElement(ie.m,{className:"editable-details",placeholder:"Add a description for this publication",multiline:!0,value:null!=a?a:void 0,onChange:e=>m({description:e})})})},Nu=(a(361),a(240));a(1194);var ju=l.a.forwardRef((e,t)=>{const{children:a=null,className:n="",communityData:r,blur:o=!1,style:i={},safetyLayer:s=null,pubHeaderTheme:{textStyle:c,backgroundColor:u,backgroundImage:m}}=e,d=Object(wl.a)(u,r.accentColorDark);return l.a.createElement("div",{className:Ge()("pub-header-background-component","pub-header-theme-"+c,n),style:i,ref:t},l.a.createElement("div",{className:"background-element background-white-layer"}),m&&l.a.createElement("div",{className:Ge()("background-element","background-image",o&&"blur"),style:{backgroundImage:`url('${m}')`}}),d&&l.a.createElement("div",{className:"background-element background-color",style:{backgroundColor:d}}),!!s&&l.a.createElement("div",{className:Ge()("background-element","background-safety-layer","full-height"===s&&"full-height")}),a)}),ku=a(151),Su=a(18),Pu=a(26);const Du=e=>({date:Object(se.b)(e),time:Object(se.b)(e,{includeDate:!1,includeTime:!0})});const Iu=l.a.createElement(l.a.Fragment,null,"The existing draft contents will remain in your Pub's history. You can always restore back to the current state if you wish."),Tu=()=>l.a.createElement(l.a.Fragment,null,"There was a problem restoring the Pub contents.");var xu=e=>{const{children:t,historyKey:a,dateForHistoryKey:r,onRestore:o}=e,{editHash:i,id:s}=Object(Pu.b)(),c=Object(n.useMemo)(()=>{if(r){const{date:e,time:t}=Du(r);return l.a.createElement(l.a.Fragment,null,l.a.createElement("p",null,"Ready to restore this Pub draft back to its contents on"," ",l.a.createElement("b",null,e," at ",t),"?"),l.a.createElement("p",null,Iu))}return null},[r]),u=Object(n.useCallback)(()=>{return e=null,t=null,n=function*(){yield I.a.post("/api/pubHistory/restore",{pubId:s,accessHash:i,historyKey:a}),o()},new Promise((a,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?a(e.value):Promise.resolve(e.value).then(r,o);i((n=n.apply(e,t)).next())});var e,t,n},[i,a,o,s]);return l.a.createElement(oa.a,{confirmLabel:"Restore",title:"Restore Pub draft",text:c,errorState:Tu,onConfirm:u},t)};a(1195);const Au=(e,t)=>Math.floor(e/t),Mu=(e,t)=>{if(t[e])return new Date(t[e]);const a=Object.keys(t),n=a.findIndex(t=>t>e);if(n>0){const e=a[n],l=a[n-1],r=new Date(t[e]);if(new Date(t[l]).toDateString()===r.toDateString())return r}return null};var Lu=e=>{const{historyData:t,pubData:a,onSetCurrentHistoryKey:o,onClose:i}=e,{timestamps:s,latestKey:c,currentKey:u,firstKey:m,outstandingRequests:d,loadedIntoHistory:p}=t,b=m>0,{releases:h}=a,{communityData:g,scopeData:{activePermissions:{canEdit:f}}}=Object(T.c)(),[y,v]=Object(n.useState)(u),E=Object(n.useRef)(null),O=Object(n.useRef)(null),w=d>0,C=c>=0;E.current=null;const N=Object(n.useMemo)(()=>Mu(u,s),[u,s]),j=Object(n.useMemo)(()=>{const e=((e,t=9e5)=>{const a=[];let n=[],l=null;const r=Object.keys(e).map(e=>parseInt(e,10)).sort((e,t)=>e-t);for(let o=0;o<r.length;++o){const i=r[o],s=e[i],c=Au(s,t);l||(l=c),c!==l?(a.push(n),n=[[i,s]],l=c):n.push([i,s])}return a.push(n),a.filter(e=>e.length>0).map(e=>{const[t,a]=e[0],[n]=e[e.length-1];return{type:"edits",date:new Date(a),range:[t,n]}})})(s),t=(e=>e.map((e,t)=>({type:"release",date:new Date(e.createdAt),releaseNumber:t+1,historyKey:e.historyKey})))(h);return[{type:"created",date:new Date(a.createdAt)},...e,...t].sort((e,t)=>e.date>t.date?1:-1)},[a.createdAt,h,s]),k=Object(n.useMemo)(()=>new Set(j.filter(e=>"release"===e.type).map(e=>e.historyKey)),[j]);Object(ku.b)({target:".pub-history-viewer-component",offset:62}),Object(n.useEffect)(()=>{v(u+1)},[u]),Object(n.useEffect)(()=>
1{if(E.current){const{offsetParent:e,offsetTop:t}=E.current;if(e&&!Number.isNaN(t)){const a=t-7;"function"==typeof e.scrollTo&&O.current?e.scrollTo({top:a,behavior:"smooth"}):e.scrollTop=a,O.current=!0}}},[u]);const S=e=>{const t=u+e;return t>=m&&t<=c},P=e=>{o(u+e)},D=e=>{const{date:t}=e,n=e.type+"_"+t.valueOf().toString();if("edits"===e.type){const{range:[a,r]}=e;if(k.has(a))return null;const i=u>=a&&u<=r,s=Object(se.b)(t,{includeTime:!0,includeDate:!1});return l.a.createElement(ie.u,{icon:"blank",text:s,key:n,onClick:()=>o(a),active:i,intent:i?"primary":"none"})}if("release"===e.type){const{releaseNumber:r}=e,o=Object(se.b)(t,{includeTime:!0,includeDate:!1,includePreposition:!0});return l.a.createElement(ie.u,{className:"release-menu-item",text:"Released "+o,intent:"success",icon:"document-share",key:n,href:Object(Su.g)(g,a,{releaseNumber:r}),target:"_blank"})}if("created"===e.type){const e=Object(se.b)(t,{includeTime:!0,includeDate:!1,includePreposition:!0});return l.a.createElement(ie.u,{key:"created",text:"Created "+e,disabled:!0,icon:"clean"})}return null};return l.a.createElement("div",{className:Ge()("pub-history-viewer-component",w&&"loading")},l.a.createElement("div",{className:"top-line"},l.a.createElement("div",{className:"title-and-spinner"},l.a.createElement("h4",null,"Pub History"),l.a.createElement(ie.F,{size:16})),!p&&l.a.createElement(ie.c,{minimal:!0,small:!0,icon:"cross",onClick:i,className:"close-button"})),C&&l.a.createElement(ie.d,{className:"playback-button-group"},l.a.createElement(ie.c,{minimal:!0,icon:"double-chevron-left",disabled:!S(-50),onClick:()=>P(-50)}),l.a.createElement(ie.c,{minimal:!0,icon:"chevron-left",disabled:!S(-1),onClick:()=>P(-1)}),l.a.createElement(qt,{copyString:Object(Su.g)(g,a,{isDraft:!0,historyKey:u.toString()}),beforeCopyPrompt:"Copy link to this point in history"},e=>l.a.createElement(ie.c,{minimal:!0,icon:"link",onClick:e})),f&&l.a.createElement(ie.N,{content:"Restore to this point in history"},l.a.createElement(xu,{historyKey:u,dateForHistoryKey:N,onRestore:i},e=>l.a.createElement(ie.c,{minimal:!0,icon:"undo",disabled:w||u===c,onClick:e.open}))),l.a.createElement(ie.c,{minimal:!0,icon:"chevron-right",disabled:!S(1),onClick:()=>P(1)}),l.a.createElement(ie.c,{minimal:!0,icon:"double-chevron-right",disabled:!S(50),onClick:()=>P(50)})),C&&l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.E,{min:m+1,max:c+1,stepSize:1,labelRenderer:e=>{const t=Mu(e-1,s);if(t){const{date:e,time:a}=Du(t);return l.a.createElement("span",{className:"date-and-time"},l.a.createElement("span",{className:"date"},e)," ",l.a.createElement("span",{className:"time"},a))}return w?"Loading...":"Release slider to load"},labelStepSize:Math.max(c-m,1),value:y,onChange:v,onRelease:e=>o(e-1)}),b&&l.a.createElement("div",{className:"pruned-history-notice"},"Older history has been archived")),l.a.createElement(ie.t,null,(e=>{const t={};return e.forEach(e=>{const a=e.date.toDateString(),n=t[a]||[];n.push(e),t[a]=n}),Object.entries(t)})(j).map(([e,t])=>((e,t)=>{const a=N&&e===N.toDateString()?E:null,n=l.a.createElement("h6",{ref:a},l.a.createElement("li",{className:r.a.MENU_HEADER},e)),o=t.map(D);return l.a.createElement("div",{key:e},n,o)})(e,t))))},Ru=(a(1196),Object.defineProperty),Fu=Object.defineProperties,Uu=Object.getOwnPropertyDescriptors,Bu=Object.getOwnPropertySymbols,zu=Object.prototype.hasOwnProperty,$u=Object.prototype.propertyIsEnumerable,_u=(e,t,a)=>t in e?Ru(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Hu=(e,t)=>{for(var a in t||(t={}))zu.call(t,a)&&_u(e,a,t[a]);if(Bu)for(var a of Bu(t))$u.call(t,a)&&_u(e,a,t[a]);return e};var Vu=l.a.forwardRef((e,t)=>{const{active:a=!1,contributors:n,disabled:o=!1,image:i="",isSkeleton:s=!1,onClick:c,showImage:u=!1,title:m,id:d,bylineProps:p={}}=e,b=Ge()(s&&r.a.SKELETON),h={ref:t,className:Ge()(r.a.MENU_ITEM,"pub-menu-item-component",a&&"active",o&&r.a.DISABLED,s&&"is-skeleton",!c&&"unselectable"),children:l.a.createElement(l.a.Fragment,null,u&&l.a.createElement(kc,{src:i,id:d,className:b}),l.a.createElement("div",{className:"inner"},l.a.createElement("div",{className:Ge()("title",b)},m),n&&l.a.createElement("div",{className:Ge()("subtitle",b)},l.a.createElement(Ht.a,Hu({contributors:n,linkToUsers:!1,truncateAt:4},p)))))};return c?l.a.createElement(dt.a,(g=Hu({as:"button"},h),Fu(g,Uu({onClick:c})))):l.a.createElement("div",Hu({},h));var g}),qu=a(297);a(1197);var Wu=l.a.forwardRef((e,t)=>
1{const{structured:a="",unstructured:r=""}=e,o=Object(n.useMemo)(()=>Object(qu.a)(a),[a]),i=Object(n.useMemo)(()=>Object(qu.a)(r),[r]);return l.a.createElement("span",{ref:t,className:"pub-note-content-component"},l.a.createElement("span",{dangerouslySetInnerHTML:{__html:(o||"").split("\n").join("")}}),l.a.createElement("span",{dangerouslySetInnerHTML:{__html:(i||"").split("\n").join("")}}))});var Gu=a(89);a(1198);var Yu=e=>{const{accentColor:t,isExpanded:a,onClick:n}=e;return l.a.createElement(dt.a,{as:"div",className:"expand-button-component",onClick:n,"aria-hidden":!0},l.a.createElement("div",{className:"relative-container"},l.a.createElement("div",{className:"icon-container",style:{color:t}},l.a.createElement(an.a,{icon:a?"chevron-up":"chevron-down"}))))},Ku=(a(1199),Object.defineProperty),Ju=Object.getOwnPropertySymbols,Qu=Object.prototype.hasOwnProperty,Zu=Object.prototype.propertyIsEnumerable,Xu=(e,t,a)=>t in e?Ku(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var em=e=>{const t=e,{pubData:a,truncateAt:n,isExpanded:r}=t,o=((e,t)=>{var a={};for(var n in e)Qu.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Ju)for(var n of Ju(e))t.indexOf(n)<0&&Zu.call(e,n)&&(a[n]=e[n]);return a})(t,["pubData","truncateAt","isExpanded"]),i=Object(Rc.b)(a,"contributors",!1,!0),s=i.length>n;return 0===i.length?null:r&&s?l.a.createElement(Fc.a,{contributors:i,linkToUsers:!1}):l.a.createElement(Fc.a,((e,t)=>{for(var a in t||(t={}))Qu.call(t,a)&&Xu(e,a,t[a]);if(Ju)for(var a of Ju(t))Zu.call(t,a)&&Xu(e,a,t[a]);return e})({contributors:i,renderTruncation:e=>e+" more",truncateAt:n},o))},tm=a(119),am=(a(1200),Object.defineProperty),nm=Object.defineProperties,lm=Object.getOwnPropertyDescriptors,rm=Object.getOwnPropertySymbols,om=Object.prototype.hasOwnProperty,im=Object.prototype.propertyIsEnumerable,sm=(e,t,a)=>t in e?am(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,cm=(e,t)=>{for(var a in t||(t={}))om.call(t,a)&&sm(e,a,t[a]);if(rm)for(var a of rm(t))im.call(t,a)&&sm(e,a,t[a]);return e},um=(e,t)=>nm(e,lm(t));const mm={bylinePrefix:null,truncateAt:1,ampersand:!0};var dm=e=>{const{communityData:t}=Object(T.c)(),{accentColor:a,pubData:n}=e,r=(e=>{const{inboundEdges:t=[],outboundEdges:a=[]}=e;return[...t.filter(t=>{if(!t.pubIsParent){const{pub:a}=t;if(a)return a.communityId===e.communityId}return!1}),...a.filter(e=>e.pubIsParent)]})(n);if(0===r.length)return null;const o=(e=>{const t={};return e.forEach(e=>{const{relationType:a}=e;t[a]=t[a]||[],t[a].push(e)}),t})(r),i="1a71ef4d-f6fe-40d3-8379-42fa2141db58"===t.id;return l.a.createElement("div",{className:"pub-preview-edges-component"},l.a.createElement("div",{className:"hairline"}),l.a.createElement("div",{className:"heading",style:{color:a}},l.a.createElement("div",{className:"icon-container"},l.a.createElement(an.a,{icon:"layout-auto",iconSize:12})),"Connections"),l.a.createElement("div",{className:"listing"},Object.keys(o).sort().map(e=>{const n=Object(tm.c)(e,!0),r=o[e];return l.a.createElement("div",{className:"edge-list",key:"edge-list-"+e},l.a.createElement("strong",{style:{color:a}},n," (",r.length,"):")," ",Object(oi.g)(r.map(e=>((e,t,a=!1)=>{const{pubIsParent:n,targetPub:r,pub:o,externalPublication:i}=e;if(i){const{contributors:t,title:n,url:r}=i;return l.a.createElement("a",{href:r,key:e.id,className:"edge-link"},a?n:l.a.createElement(Ht.a,um(cm({},mm),{contributors:null!=t?t:[],renderEmptyState:()=>n})))}const s=n?r:o,c=s.communityId===t.id?Object(Su.g)(t,s):Object(Su.f)(s);return l.a.createElement("a",{href:c,key:e.id,className:"edge-link"},a?s.title:l.a.createElement(Wc,um(cm({},mm),{pubData:s,linkToUsers:!1,renderEmptyState:()=>s.title})))})(e,t,i))," • "))})))};a(1201);var pm=e=>{var t,a;const{communityData:r,customizePubUrl:o,hideByline:i=!1,hideContributors:s=!1,hideDates:c=!1,hideDescription:u=!1,hideEdges:m=!1,pubData:d,size:p="large"}=e,{communityData:b,scopeData:h,featureFlags:g}=Object(T.c)(),[f,y]=Object(n.useState)(!1),[v,E]=Object(n.useState)(!1),O=Object(n.useRef)(null),w=r&&Object(na.b)(r.headerLogo,"inside",125,35),C=Object(Gu.e)(d),N=!((e,t)=>e.releases.length||t.canViewDraft)(d,h),j=["large","medium"].includes(p),k=!i&&["minimal"].includes(p),S=!i&&["large","medium","small"].includes(p),P=!c&&["large","medium","small"].includes(p),D=!s&&["large","medium","small"].includes(p),I=d.description&&!u,x=v&&["large","medium"].includes(p),A=((e,t,a)=>{const n=Object(Su.a)({pubData:e,communityData:t});return a?a(n):n})(d,r||b,o),M=()=>l.a.createElement(em,{truncateAt:8,pubData:d,linkToUsers:!1,isExpanded:f});return Object(n.useEffect)(()=>{const{current:e}=O;e&&e.scrollHeight-e.clientHeight>0&&E(!0)},[]),l.a.createElement("div",{className:Ge()("pub-preview-component",p+"-preview",f&&"expanded")},l.a.createElement("div",{className:"preview-image-wrapper"},j&&l.a.createElement("a",{href:A,title:d.title},l.a.createElement(kc,{src:d.avatar,id:d.id}))),l.a.createElement("div",{className:"content-wrapper"},l.a.createElement("div",{className:"content",ref:O},k&&l.a.createElement("div",{className:"authors",style:{color:b.accentColorDark}},M()),l.a.createElement("div",{className:"title-wrapper"},r&&l.a.createElement("a",{href:Object(Su.d)(r),title:r.title,className:"community-banner",style:{backgroundColor:r.accentColorDark}}
1,w?l.a.createElement("img",{src:w,alt:"in Community "+r.title}):l.a.createElement("span",{style:{color:r.accentColorLight}},r.title)),l.a.createElement("a",{href:A,title:d.title},l.a.createElement("h3",{className:"pub-title"},l.a.createElement(Fm,{pubData:d}),N&&l.a.createElement(an.a,{className:"lock-icon",icon:"lock2"})))),S&&l.a.createElement("div",{className:"authors"},M()),D&&l.a.createElement(pa,{attributions:Object(Rc.b)(d,"contributors"),truncateAt:6,className:"contributor-avatars"}),P&&l.a.createElement("div",{className:"date-details"},C?l.a.createElement("span",{className:"date"},"Published: ",C):l.a.createElement("span",{className:"date"},"Unpublished")),I&&l.a.createElement("div",{className:"description"},g.htmlPubHeaderValues?l.a.createElement("span",{dangerouslySetInnerHTML:{__html:null!=(a=null!=(t=d.htmlDescription)?t:d.description)?a:""}}):d.description),!m&&l.a.createElement(dm,{pubData:d,accentColor:b.accentColorDark})),x&&l.a.createElement(Yu,{accentColor:b.accentColorDark,isExpanded:f,onClick:()=>y(!f)})))},bm=a(112),hm=a.n(bm),gm=a(78),fm=a(114),ym=(a(1204),Object.defineProperty),vm=Object.defineProperties,Em=Object.getOwnPropertyDescriptors,Om=Object.getOwnPropertySymbols,wm=Object.prototype.hasOwnProperty,Cm=Object.prototype.propertyIsEnumerable,Nm=(e,t,a)=>t in e?ym(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var jm=e=>{var t;const{isOpen:a,onClose:o,historyKey:i,pub:s,onCreateRelease:c}=e,{communityData:u,featureFlags:m}=Object(T.c)(),{collabData:d}=Object(Pu.a)(),[p,b]=Object(n.useState)({}),[h,g]=Object(n.useState)(!1),[f,y]=Object(n.useState)(!1),[v,E]=Object(n.useState)(null),{releases:O}=s,w=O?O.length:0,C=null==O?void 0:O[w-1],N=null==(t=d.editorChangeObject)?void 0:t.view,j=null==N?void 0:N.state,k=()=>{return e=null,t=null,a=function*(){g(!0),(({historyKey:e,pubId:t,communityId:a,noteContent:n,noteText:l})=>Object(I.a)("/api/releases",{method:"POST",body:JSON.stringify({pubId:t,communityId:a,noteContent:n,noteText:l,historyKey:e})}))({communityId:u.id,pubId:s.id,noteContent:p.content,noteText:p.text,historyKey:i}).then(e=>{E(null),y(e),g(!1),null==c||c(e)}).catch(e=>{E(e),g(!1)})},new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var e,t,a},S=(e,t)=>l.a.createElement("div",null,l.a.createElement("p",{className:"text-info"},e),l.a.createElement(ie.i,{className:"url-select"},l.a.createElement(ie.r,{className:"display-url",value:t,fill:!0,small:!0,disabled:!0}),l.a.createElement(qt,{minimal:!0,copyString:t,icon:"duplicate",beforeCopyPrompt:"Copy URL to clipboard",afterCopyPrompt:"Copied URL!"}))),P=e=>{if(!j)return;if(!Object(gm.g)(j))return;const t=j.doc.nodeSize,a=e(j,0,t-2);N.dispatch(a)},D=()=>{P(fm.b)},x=()=>{P(fm.e)};return l.a.createElement(ie.j,{lazy:!0,title:"Publish",onClose:o,isOpen:a,className:"pub-release-dialog-component"},l.a.createElement("div",{className:r.a.DIALOG_BODY},!f&&l.a.createElement(l.a.Fragment,null,w<1&&l.a.createElement("p",null,"To publish this Pub, you can ",l.a.createElement("i",null,"create a Release")," that will make the pub available at a publicly accessible URL."),C&&(e=>{const t=Object(Su.g)(u,s,{releaseNumber:w});return l.a.createElement(l.a.Fragment,null,l.a.createElement("p",null,l.a.createElement(ie.q,{icon:"history",iconSize:12,color:"#888888"})," The previous Release (",l.a.createElement("a",{href:t,rel:"noopener noreferrer",target:"_blank"},"#"+w),") was created ",l.a.createElement(hm.a,((e,t)=>vm(e,Em(t)))(((e,t)=>{for(var a in t||(t={}))wm.call(t,a)&&Nm(e,a,t[a]);if(Om)for(var a of Om(t))Cm.call(t,a)&&Nm(e,a,t[a]);return e})({},se.e),{date:e.createdAt})),"."),l.a.createElement("p",null,"You are about to create the next Release (#",w+1,"), making it the latest release of this Pub that readers will be shown by default."))})(C),l.a.createElement("p",{className:"notes-header"},l.a.createElement(ie.q,{icon:"manually-entered-data",iconSize:12}),"  ","Release Note"),l.a.createElement(Es,{onContent:b,focusOnLoad:!0,placeholder:"(optional) Add a note describing this new Release.\r\nThis will be included in the publicly-visible changelog of this Pub."})),(()=>{if(v)return l.a.createElement(ie.e,{intent:"warning",title:"There was an error creating this release."});if(f){if(O&&1===w){const e=O[w-1],t=Object(se.b)(e.createdAt,{includeTime:!0,includePreposition:!0});return l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.e,{intent:"success",title:"Created Release #1",icon:"tick-circle"},l.a.createElement("span",{className:"release-date"},t)),l.a.createElement("p",{className:"text-info"},"Congratulations! You have just created the first Release of this pub that is publicly viewable."),S("Link that always points to the latest Release for this pub:",Object(Su.g)(u,s)))}if(O&&w>1){const e=O[w-1],t=Object(se.b)(e.createdAt,{includeTime:!0,includePreposition:!0}),a=Object(Su.g)(u,s,{releaseNumber:w});return l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.e,{intent:"success",title:"Created Release #"+w,icon:"tick-circle"},l.a.createElement("span",{className:"release-date"},t,". This is now the latest Release of this pub.")),S("Link to access Release #"+w+" specifically:",a),S("Link that always points to the latest Release for this pub:",Object(Su.g)(u,s)),l.a.createElement("p",{className:"text-info"},"Older Releases can be viewed using the"," ",l.a.createElement(ie.q,{icon:"history",iconSize:12,color:"#888888"})," History button in the Pub."))}}return null})()),l.a.createElement("div",{className:r.a.DIALOG_FOOTER},m.suggestedEdits&&j&&Object(gm.g)(j)?l.a.createElement("div",null,l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.e,{className:"text-info",intent:"warning"},"You still have pending edits. Resolve your edits before publishing this Pub."),l.a.createElement("div",{className:r.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(ie.c,{disabled:h,onClick:o},"Return to draft"),l.a.createElement(ie.c,{text:"Accept All",intent:"success",onClick:D}),l.a.createElement(ie.c,{text:"Reject All",intent:"danger",onClick:x})))):l.a.createElement("div",{className:r.a.DIALOG_FOOTER_ACTIONS},f&&l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.c,{onClick:o},"Return to draft"),l.a.createElement(ie.b,{intent:"primary",href:Object(Su.g)(u,s)},"Go to latest Release")),!f&&l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.c,{disabled:h,onClick:o},"Return to draft"),l.a.createElement(ie.c,{loading:h,intent:"primary",onClick:k},O&&w<1?"Create Release":"Create Release #"+(w+1))))))};a(1205);const km=e=>{const{isOpen:t,onClose:a,pubData:o,updatePubData:i}=e,{communityData:s}=Object(T.c)(),[c,u]=Object(n.useState)({}),[m,d]=Object(n.useState)(!1),[p,b]=Object(n.useState)(!1),[h,g]=Object(n.useState)(null),f=()=>{d(!0),Object(I.a)("/api/reviews",{method:"POST",body:JSON.stringify({communityId:s.id,pubId:o.id,content:c.content,text:c.text,releaseRequested:!0})}).then(e=>{g(null),b(e),d(!1),i(t=>({reviews:[...t.reviews,e]}))}).catch(e=>{g(e),d(!1)})};return l.a.createElement(ie.j,{lazy:!0,title:"Request Publication",onClose:a,isOpen:t,className:"pub-release-review-dialog-component"},l.a.createElement("div",{className:r.a.DIALOG_BODY},!p&&l.a.createElement(l.a.Fragment,null,l.a.createElement("p",null,"To request publication, you can create a Review that will be sent to the community managers."),l.a.createElement(Es,{onContent:u,focusOnLoad:!0,placeholder:"Add a note for the community managers."})),h?l.a.createElement(ie.e,{intent:"warning",title:"There was an error creating this review."}):p?l.a.createElement(ie.e,{intent:"success",title:"Created Review!"},"Your Review requesting publication was succesfully created!"):null),l.a.createElement("div",{className:r.a.DIALOG_FOOTER},l.a.createElement("div",{className:r.a.DIALOG_FOOTER_ACTIONS},p&&l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.c,{onClick:a},"Close"),l.a.createElement(ie.b,{intent:"primary",href:`/dash/pub/${o.slug}/reviews/${p.number}`},"Go to Review")),!p&&l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.c,{disabled:m,onClick:a},"Cancel"),l.a.createElement(ie.c,{loading:m,intent:"primary",onClick:f},"Create Review")))))};km.defaultProps={};var Sm=km,Pm=a(409),Dm=(a(1206),Object.defineProperty),Im=Object.getOwnPropertySymbols,Tm=Object.prototype.hasOwnProperty,xm=Object.prototype.propertyIsEnumerable,Am=(e,t,a)=>t in e?Dm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Mm=e=>{const{pubData:t}=e,{communityData:a,featureFlags:n}=Object(T.c)(),{historyData:r}=Object(Pu.a)(),{commentHash:o,reviewHash:i,viewHash:s,editHash:c,isRelease:u}=t,m=(e,t)=>
1l.a.createElement(ie.i,{className:"hash-row"},l.a.createElement(qt,{minimal:!1,copyString:t},"Copy ",e," URL"),l.a.createElement(ie.r,{className:"display-url",value:t,fill:!0})),d=!u,p=(e,n)=>Object(Su.g)(a,t,((e,t)=>{for(var a in t||(t={}))Tm.call(t,a)&&Am(e,a,t[a]);if(Im)for(var a of Im(t))xm.call(t,a)&&Am(e,a,t[a]);return e})({accessHash:e},n));return l.a.createElement("div",{className:"access-hash-options"},l.a.createElement("p",null,"You can grant visitors permission to view, edit, or review the draft of this Pub by sharing a URL."),s&&m("View",p(s,{isDraft:d})),n.comments&&m("Draft Comment",p(o,{historyKey:r.currentKey,isDraft:!0})),n.comments&&t.releases&&t.releases.length>0&&m("Release Comment",p(o)),c&&m("Edit",p(c,{isDraft:d})),n.reviews&&m("Draft Feedback",p(i,{isDraft:d})),n.reviews&&t.releases&&t.releases.length>0&&m("Release Feedback",p(i)))},Lm=e=>{const{pubData:{membersData:{members:t}}}=e,{pendingCount:a}=Object(T.d)(),{scopeData:n}=Object(T.c)(),{canManage:r}=n.activePermissions,{activeTargetName:o,activeTargetType:i}=n.elements,{membersByType:s,addMember:c,updateMember:u,removeMember:m}=Object(Pm.a)({initialMembers:t}),d=s[i];return l.a.createElement(l.a.Fragment,null,l.a.createElement("p",null,((e,t,a)=>{if(a){return`To let others collaborate on this ${e}, add them as Members.${"pub"===t?"":" They'll have access to all the Pubs it contains."}`}return`Members can collaborate on this ${e}${"pub"===t?".":" as well as all the Pubs it contains."}`})(o,i,r)),r&&l.a.createElement(ie.i,{className:"add-member-controls"},l.a.createElement(Rp,{onSelect:c,usedUserIds:d.map(e=>e.userId)}),l.a.createElement(ie.c,{large:!0,text:"Add",intent:"primary",loading:a>0})),l.a.createElement("div",{className:"members-container"},s[i].map(e=>l.a.createElement(cs,{memberData:e,isOnlyMemberInScope:1===s[i].length,isReadOnly:!r,onUpdate:u,onDelete:m,key:e.id}))),!!s.collection.length&&"collection"!==i&&l.a.createElement(us,{members:s.collection,scope:"Collection"}),!!s.community.length&&"community"!==i&&l.a.createElement(us,{members:s.community,scope:"Community"}))};var Rm=e=>{const{isOpen:t,onClose:a,pubData:n}=e,{viewHash:o,editHash:i}=n,s=!(!o&&!i);return l.a.createElement(ie.j,{lazy:!0,title:"Share Pub",className:"pub-share-dialog-component",isOpen:t,onClose:a},l.a.createElement(Aa.c,{config:{usePortal:!1}},l.a.createElement(vc,null,l.a.createElement("div",{className:r.a.DIALOG_BODY},l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"pane"},l.a.createElement("h6",{className:"pane-title"},"Members"),l.a.createElement("div",{className:"pane-content"},l.a.createElement(Lm,{pubData:n}))),s&&l.a.createElement(l.a.Fragment,null,l.a.createElement(ie.k,null),l.a.createElement("div",{className:"pane"},l.a.createElement("h6",{className:"pane-title"},"Share a URL"),l.a.createElement(Mm,{pubData:n}))))))))};var Fm=e=>{const{shouldUseHtmlTitle:t,pubData:{title:a,htmlTitle:n}}=e,{featureFlags:r}=Object(T.c)();return(t||r.htmlPubHeaderValues)&&n?l.a.createElement("span",{dangerouslySetInnerHTML:{__html:n}}):l.a.createElement(l.a.Fragment,null,a)},Um=a(272);a(1207);var Bm=e=>{const{children:t,emptyListPlaceholder:a,itemPredicate:n,items:r,onItemSelect:o,onClose:i,onQueryChange:s,position:c="bottom-right",itemRenderer:u,searchPlaceholder:m,usePortal:d=!0,query:p,createNewItemFromQuery:b,createNewItemRenderer:h}=e,g=e=>{const{handleKeyDown:t,handleKeyUp:a,handleQueryChange:n,itemList:r}=e;return l.a.createElement("div",{className:"search-wrapper",onKeyDown:t,onKeyUp:a},l.a.createElement(ie.r,{inputRef:e=>e&&setTimeout(()=>e.focus(),0),placeholder:m,leftIcon:"search",onChange:n}),r)};return l.a.createElement(Um.a,{renderer:e=>l.a.createElement(ie.z,{minimal:!0,popoverClassName:"query-list-dropdown-component",position:c,usePortal:d,onClose:i,content:g(e)},t),itemRenderer:u,items:r,itemPredicate:n,onItemSelect:o,onQueryChange:s,query:p,noResults:l.a.createElement("div",{className:"empty-list"},a),createNewItemFromQuery:b,createNewItemRenderer:h})};var zm=e=>{const{references:t,selectedReference:a,onSelect:n}=e,r=a?a.icon:"disable",o=a?a.label:t.length?"No referenced item":"No items to reference";return l.a.createElement("div",{className:"controls-link-component"},l.a.createElement(Aa.b,{disabled:0===t.length,"aria-label":"Select an item to reference",buttonContent:o,buttonProps:{rightIcon:"chevron-down",minimal:!0,icon:r}},t.map(e=>{const{icon:t,node:r,label:o}=e;return l.a.createElement(Aa.d,{onClick:()=>{n(e)},key:r.attrs.id,active:Boolean(a&&a.node===r),text:o,icon:t})})))},$m=a(34);a(1208);const _m=(e,t,a)=>!!e.find(e=>e.id===t.id&&e.members.find(e=>e.userId===a&&("manage"===e.permissions||"admin"===e.permissions)));var Hm=e=>{const{isDashboard:t}=e,{loginData:a,locationData:r,communityData:o,scopeData:i,pageData:s}=Object(T.c)(),{activeCollection:c,activePub:u}=i.elements,{canManageCommunity:m,canManage:d}=i.activePermissions,p=r.params.collectionSlug||r.query.collectionSlug,b=r.params.pubSlug,h=Object(n.useMemo)(()=>((e,t)=>{if(!e||!e.collectionPubs||0===e.collectionPubs.length)return;const a=Object(Kc.b)(e.collectionPubs)||Object(Qc.b)(e.collectionPubs,"pubRank")[0];return t.collections.find(e=>a.collectionId===e.id)})(u,o),[u,o]),g=[];g.push({type:"Community",icon:Ir.a.community,title:o.title,avatar:o.avatar,href:Object(ts.a)({}),showSettings:m}
1),s&&m&&!t&&g.push({type:"Page",icon:Ir.a.page,iconSize:12,title:s.title,avatar:s.avatar,slugs:{pageSlug:s.slug||"home"},href:Object(ts.a)({mode:"pages",subMode:s.slug||"home"}),showSettings:m}),c&&g.push({type:"Collection",icon:Ir.a.collection,title:c.title,avatar:c.avatar,slugs:{collectionSlug:p},href:Object(ts.a)({collectionSlug:p}),showSettings:m||_m(o.collections,c,a.id)}),!c&&h&&g.push({type:"Collection",icon:Ir.a.collection,title:Object($m.c)(h.title),avatar:h.avatar,slugs:{collectionSlug:h.slug},href:Object(ts.a)({collectionSlug:h.slug}),showSettings:m||_m(o.collections,h,a.id)}),u&&g.push({type:"Pub",icon:Ir.a.pub,title:u.title,avatar:u.avatar,slugs:{pubSlug:""+b},href:Object(ts.a)({collectionSlug:p,pubSlug:b}),showSettings:d});const f=function(e,t,a){return l.a.createElement("a",{href:Object(ts.a)({collectionSlug:e.slugs&&e.slugs.collectionSlug,pubSlug:e.slugs&&e.slugs.pubSlug,mode:t})},l.a.createElement(ie.N,{content:t.charAt(0).toUpperCase()+t.slice(1)},l.a.createElement(an.a,{icon:a,iconSize:12})))};return l.a.createElement("div",{className:Ge()("scope-dropdown-component",t&&"in-dashboard")},t&&l.a.createElement("div",{className:"intro"},"Select Scope:"),l.a.createElement("div",{className:"scopes"},g.map((e,t)=>{var a,n;return l.a.createElement(Aa.d,{href:e.href,key:e.type,text:l.a.createElement("div",{className:"scope-item item-"+t},l.a.createElement("div",{className:"content"},l.a.createElement("div",{className:"top"},l.a.createElement(an.a,{icon:e.icon,iconSize:e.iconSize||10}),e.type),l.a.createElement("div",{className:"bottom"},l.a.createElement(Rt.a,{avatar:e.avatar,initials:e.title[0],width:18,isBlock:!0}),e.title)),e.showSettings&&"Page"!==e.type&&l.a.createElement("div",{className:"settings"},l.a.createElement("a",{href:"/"+((null==(a=e.slugs)?void 0:a.pubSlug)&&"pub/"+e.slugs.pubSlug||(null==(n=e.slugs)?void 0:n.collectionSlug)||"")},l.a.createElement(ie.N,{content:"Home"},l.a.createElement(an.a,{icon:"globe",iconSize:12}))),"Collection"===e.type&&f(e,"layout",Ir.a.layout),f(e,"impact",Ir.a.impact),f(e,"members",Ir.a.member),f(e,"settings",Ir.a.settings)),e.showSettings&&"Page"===e.type&&l.a.createElement("div",{className:"settings"},l.a.createElement("a",{href:"/"+(e.slugs&&e.slugs.pageSlug||"/")},l.a.createElement(ie.N,{content:"Home"},l.a.createElement(an.a,{icon:"globe",iconSize:12})))))})})))};a(1209);var Vm=e=>{const{className:t,title:a,id:r,children:o,gradient:i=!1,compact:s=!1,showTitle:c=!0,description:u,collapseDescription:m=!1,controls:d=null}=e,[p,b]=Object(n.useState)(!1);Object(n.useEffect)(()=>{window&&r&&r===window.location.hash.slice(1)&&b(!0)},[r]);const h=u&&(m?l.a.createElement("details",{className:"description"},l.a.createElement("summary",null,"Description"),u):l.a.createElement("div",{className:"description"},u));return l.a.createElement("div",{id:r||Object(En.f)(a),role:"none",onClick:()=>b(!1),className:Ge()("settings-section-component",s&&"compact",p&&"emphasized",t)},i&&l.a.createElement("div",{className:"gradient"}),c&&l.a.createElement("div",{className:"title-area"},l.a.createElement("div",{className:"title-row"},l.a.createElement("div",{className:"title"},a),d),h),l.a.createElement("div",{className:"content"},o))};a(1210);const qm={content:c.a.node.isRequired,options:c.a.node,isAddCard:c.a.bool,isFlatCard:c.a.bool},Wm=function(e){return l.a.createElement("div",{className:`sharing-card-component ${e.isAddCard?"add":""} ${e.isFlatCard?"flat "+r.a.ELEVATION_0:r.a.ELEVATION_1}`},l.a.createElement("div",{className:"content"},e.content),e.options&&l.a.createElement("div",{className:"options"},e.options))};Wm.propTypes=qm,Wm.defaultProps={options:void 0,isAddCard:!1,isFlatCard:!1};var Gm=a(797);var Ym=e=>{const{noteManager:t}=Object(Pu.a)(),{onChange:a,placeholder:r,initialHtmlString:o}=e,i=Object(n.useRef)(),s=Object(fn.a)(e=>e.NodeLabels);i.current||(i.current=Object(gn.f)(o,gn.d).toJSON());const c=Object(n.useCallback)(e=>{const{schema:n}=e.type;if(Object(gn.q)(e))return void a("");const r=Object(Gm.renderToString)(l.a.createElement(l.a.Fragment,{},...Object(gn.w)({schema:n,doc:e.toJSON(),nodeLabels:s,noteManager:t})));a(r)},[a,s,t]);return l.a.createElement(Es,{onEdit:c,placeholder:r,initialContent:i.current,useFormattingBar:!0,isTranslucent:!0,constrainHeight:!0,resizable:!0})};a(1212);var Km=({targetId:e,children:t})=>l.a.createElement(Cd,{className:"skip-link-component",href:"#"+e,children:t});a(1213);var Jm=e=>{const{"aria-label":t,disabled:a=!1,inputStepSize:n=10,labelRenderer:r=!1,labelStepSize:o,leftLabel:i=null,max:s,min:c,onChange:u,rightLabel:m=null,sliderStepSize:d=1,value:p}=e,b=e=>{const{value:t}=e.target,a=parseInt(t,10),n=Math.max(c,Math.min(s,a));Number.isNaN(a)||u(n,!0)};return l.a.createElement("div",{className:"slider-input-component"},l.a.createElement("div",{className:"left-label"},i),l.a.createElement(ie.E,{min:c,max:s,stepSize:d,value:p,onChange:e=>u(e,!1),onRelease:e=>u(e,!0),labelRenderer:r,disabled:a,labelStepSize:o}),l.a.createElement(ie.w,{value:p,min:c,max:s,stepSize:n,buttonPosition:"none",disabled:a,"aria-label":t,clampValueOnBlur:!0,onKeyDown:e=>{"Enter"===e.key&&b(e)},onBlur:b}),l.a.createElement("div",{className:"right-label"},m))},Qm=a(383);var Zm=e=>{const{community:t,customText:a,submissionTitle:n,collectionTitle:r,submissionUrl:o,submitterName:i,kind:s}=e,c=l.a.createElement("a",{href:Object(Su.d)(t)},t.title),u=o?l.a.createElement("a",{href:o}
1,n):l.a.createElement("u",null,n),m=l.a.createElement(l.a.Fragment,null,"Your submission ",u," to ",l.a.createElement("i",null,r)," in ",c);return l.a.createElement("div",null,l.a.createElement("p",null,"Hello ",i,","),l.a.createElement("p",null,"received"===s?l.a.createElement(l.a.Fragment,null,m," has been received. You may reply to this email thread to reach us."):"accepted"===s?l.a.createElement(l.a.Fragment,null,m," has been accepted."):l.a.createElement(l.a.Fragment,null,m," has been declined.")),a)},Xm=a(213);const ed=e=>e?e.status:"inactive",td=e=>{const{subscription:t,parentSubscription:a=null,target:l,onUpdateSubscription:r}=e,[o,i]=Object(n.useState)(!1);return{status:ed(t),parentStatus:ed(a),updateStatus:e=>{return t=null,a=null,n=function*(){i(!0),"pubId"in l&&r(yield I.a.put("/api/pubs/subscriptions",{pubId:l.pubId,status:e})),"threadId"in l&&r(yield I.a.put("/api/threads/subscriptions",{threadId:l.threadId,status:e})),i(!1)},new Promise((e,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((n=n.apply(t,a)).next())});var t,a,n},isLoading:o}};var ad=Object.defineProperty,nd=Object.defineProperties,ld=Object.getOwnPropertyDescriptors,rd=Object.getOwnPropertySymbols,od=Object.prototype.hasOwnProperty,id=Object.prototype.propertyIsEnumerable,sd=(e,t,a)=>t in e?ad(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const cd=[{value:"active",label:l.a.createElement(l.a.Fragment,null,"Enabled")},{value:"inactive",label:l.a.createElement(l.a.Fragment,null,"Disabled")}],ud=[{value:"active",label:l.a.createElement(l.a.Fragment,null,"Enabled")},{value:"inactive",label:l.a.createElement(l.a.Fragment,null,"Only if subscribed to Pub")},{value:"muted",label:l.a.createElement(l.a.Fragment,null,"Muted")}],md={active:"notifications-updated",inactive:"notifications",muted:"ban-circle"};var dd=e=>{const{target:t,subscription:a,parentSubscription:n,onUpdateSubscription:o,children:i,menuLabel:s}=e,{status:c,isLoading:u,updateStatus:m}=td({target:t,subscription:a,parentSubscription:n,onUpdateSubscription:o}),d="pubId"in t,p=d?"Pub":"thread",b=d?cd:ud,h=md[c];return l.a.createElement(Aa.a,{"aria-label":"Manage subscription",disclosure:e=>Object(Xm.a)(i,((e,t)=>nd(e,ld(t)))(((e,t)=>{for(var a in t||(t={}))od.call(t,a)&&sd(e,a,t[a]);if(rd)for(var a of rd(t))id.call(t,a)&&sd(e,a,t[a]);return e})({},e),{loading:u,icon:h}),e.visible)},l.a.createElement("li",{className:r.a.MENU_HEADER},l.a.createElement("h6",{className:r.a.HEADING},s||"Notifications for this "+p)),b.map(e=>{const{value:t,label:a}=e;return l.a.createElement(Aa.d,{key:t,text:a,active:t===c,icon:md[t],onClick:()=>m(t)})}))};var pd=e=>{const{loginData:t}=Object(T.c)();return t.isSuperAdmin?l.a.createElement(ie.J,{className:e.className,minimal:!0,intent:"danger",icon:"crown"},"Superadmin only"):null},bd=(a(1215),Object.defineProperty),hd=Object.defineProperties,gd=Object.getOwnPropertyDescriptors,fd=Object.getOwnPropertySymbols,yd=Object.prototype.hasOwnProperty,vd=Object.prototype.propertyIsEnumerable,Ed=(e,t,a)=>t in e?bd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Od={children:c.a.node.isRequired,className:c.a.string,holdOpen:c.a.bool,onFocus:c.a.func,tagName:c.a.string},wd=l.a.forwardRef((e,t)=>{const a=e,{children:n,className:r,holdOpen:o,onFocus:i,tagName:s}=a,c=((e,t)=>{var a={};for(var n in e)yd.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&fd)for(var n of fd(e))t.indexOf(n)<0&&vd.call(e,n)&&(a[n]=e[n]);return a})(a,["children","className","holdOpen","onFocus","tagName"]);return l.a.createElement(s,((e,t)=>hd(e,gd(t)))(((e,t)=>{for(var a in t||(t={}))yd.call(t,a)&&Ed(e,a,t[a]);if(fd)for(var a of fd(t))vd.call(t,a)&&Ed(e,a,t[a]);return e})({},c),{ref:t,tabIndex:0,onFocus:i,className:Ge()(r,"tab-to-show-component",o&&"hold-open")}),n)});wd.propTypes=Od,wd.defaultProps={className:"",holdOpen:!1,tagName:"a",onFocus:()=>{}};var Cd=wd,Nd=(a(1216),Object.defineProperty),jd=Object.defineProperties,kd=Object.getOwnPropertyDescriptors,Sd=Object.getOwnPropertySymbols,Pd=Object.prototype.hasOwnProperty,Dd=Object.prototype.propertyIsEnumerable,Id=(e,t,a)=>t in e?Nd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Td=e=>{const{commentData:t}=e,{author:a,content:n,createdAt:r}=t;return l.a.createElement("div",{className:"thread-comment2-component"},l.a.createElement("div",{className:"header"},l.a.createElement(Rt.a,{width:30,initials:a.initials,avatar:a.avatar}),l.a.createElement("div",{className:"comment-title"},l.a.createElement("a",{className:"hoverline",href:"/user/"+a.slug},a.fullName)," ","said ",l.a.createElement(hm.a,((e,t)=>jd(e,kd(t)))(((e,t)=>{for(var a in t||(t={}))Pd.call(t,a)&&Id(e,a,t[a]);if(Sd)for(var a of Sd(t))Dd.call(t,a)&&Id(e,a,t[a]);return e})({},se.e),{date:r}
1)))),l.a.createElement("div",{className:"content"},l.a.createElement(gn.b,{initialContent:n,isReadOnly:!0})))},xd=(a(1217),Object.defineProperty),Ad=Object.defineProperties,Md=Object.getOwnPropertyDescriptors,Ld=Object.getOwnPropertySymbols,Rd=Object.prototype.hasOwnProperty,Fd=Object.prototype.propertyIsEnumerable,Ud=(e,t,a)=>t in e?xd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Bd=e=>{const{type:t,data:a,user:n,createdAt:r}=e.eventData,{communityData:o}=Object(T.c)(),{accentColorDark:i}=o,s=l.a.createElement(hm.a,((e,t)=>Ad(e,Md(t)))(((e,t)=>{for(var a in t||(t={}))Rd.call(t,a)&&Ud(e,a,t[a]);if(Ld)for(var a of Ld(t))Fd.call(t,a)&&Ud(e,a,t[a]);return e})({},se.e),{date:r}));return l.a.createElement("div",{className:"thread-event-component"},l.a.createElement("style",null,".status-block.released { background: "+i),l.a.createElement(an.a,{className:"status-block "+a.statusChange,iconSize:14,icon:{created:"clean",completed:"tick",closed:"disable",released:"document-share"}[a.statusChange],color:"#fff"}),l.a.createElement(Rt.a,{width:18,initials:n.initials,avatar:n.avatar}),l.a.createElement("div",null,l.a.createElement("a",{className:"hoverline",href:"/user/"+n.slug},n.fullName),"status"===t&&"created"===a.statusChange&&l.a.createElement("span",null," created this review ",s),"status"===t&&"closed"===a.statusChange&&l.a.createElement("span",null," closed this review ",s),"status"===t&&"completed"===a.statusChange&&l.a.createElement("span",null," marked this review complete ",s),"status"===t&&"released"===a.statusChange&&l.a.createElement("span",null," ","created a"," ",l.a.createElement("a",{className:"hoverline",href:`/pub/${a.pubSlug}/release/${a.releaseNumber}`},l.a.createElement("b",null,"Release"))," ","from this review ",s)))};a(1218);var zd=e=>{const{threadData:t}=e,a=[...t.comments,...t.events];return l.a.createElement("div",{className:"thread-component clearfix"},a.sort((e,t)=>e.createdAt>t.createdAt?1:e.createdAt<t.createdAt?-1:0).filter(e=>!(e.data&&"created"===e.data.statusChange)).map(e=>e.content?l.a.createElement(Td,{key:e.id,commentData:e}):l.a.createElement(Bd,{key:e.id,eventData:e})))},$d=(a(1219),Object.defineProperty),_d=Object.defineProperties,Hd=Object.getOwnPropertyDescriptors,Vd=Object.getOwnPropertySymbols,qd=Object.prototype.hasOwnProperty,Wd=Object.prototype.propertyIsEnumerable,Gd=(e,t,a)=>t in e?$d(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Yd=e=>{const{parentId:t,threadData:a,pubId:r,onThreadUpdate:o}=e,{loginData:i,locationData:s,communityData:c}=Object(T.c)(),[u,m]=Object(n.useState)(),[d,p]=Object(n.useState)(Date.now()),[b,h]=Object(n.useState)(!1);return l.a.createElement("div",{className:"thread-input-component"},!i.id&&l.a.createElement("div",{className:"thread-input-component"},l.a.createElement(ie.b,{text:"Login to Reply",href:"/login?redirect="+s.path,large:!0})),i.id&&l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"thread-comment2-component"},l.a.createElement("div",{className:"header"},l.a.createElement(Rt.a,{width:30,initials:i.initials,avatar:i.avatar}),l.a.createElement("div",{className:"comment-title"},"Reply as ",i.fullName),u&&l.a.createElement(Ei.FormattingBar,{editorChangeObject:u,buttons:Ei.buttons.discussionButtonSet,isSmall:!0})),l.a.createElement("div",{className:"content"},l.a.createElement(gn.b,{key:d,placeholder:"Add a comment...",onChange:m}))),l.a.createElement(ie.c,{className:"comment-button",text:"Add Comment",intent:Bt.a.PRIMARY,loading:b,onClick:()=>{return e=null,n=null,l=function*(){h(!0);const e=yield Object(I.a)("/api/threadComment",{method:"POST",body:JSON.stringify({accessHash:s.query.access,parentId:t,threadId:a.id,pubId:r,communityId:c.id,content:Object(gn.h)(u.view),text:Object(gn.j)(u.view)||""})}),n=((e,t)=>_d(e,Hd(t)))(((e,t)=>{for(var a in t||(t={}))qd.call(t,a)&&Gd(e,a,t[a]);if(Vd)for(var a of Vd(t))Wd.call(t,a)&&Gd(e,a,t[a]);return e})({},a),{comments:[...a.comments,e]});o(n),h(!1),p(Date.now())},new Promise((t,a)=>{var r=e=>{try{i(l.next(e))}catch(e){a(e)}},o=e=>{try{i(l.throw(e))}catch(e){a(e)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,o);i((l=l.apply(e,n)).next())});var e,n,l}})))};Yd.defaultProps={onThreadUpdate:()=>{}};var Kd=Yd,Jd=Object.defineProperty,Qd=Object.defineProperties,Zd=Object.getOwnPropertyDescriptors,Xd=Object.getOwnPropertySymbols,ep=Object.prototype.hasOwnProperty,tp=Object.prototype.propertyIsEnumerable,ap=(e,t,a)=>t in e?Jd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,np=(e,t)=>{for(var a in t||(t={}))ep.call(t,a)&&ap(e,a,t[a]);if(Xd)for(var a of Xd(t))tp.call(t,a)&&ap(e,a,t[a]);return e};var lp=e=>{const{className:t,date:a,now:r,useDateCutoffDays:o=7}=e,[i]=Object(n.useState)(()=>new Date),s=Object(n.useMemo)(()=>new Date(a),[a]),c=Ge()("time-ago-component",t),u=Object(n.useMemo)(()=>{const e=864e5*o;return new Date(null!=r?r:i).valueOf()-s.valueOf()>e},[s,i,r,o]),m=Object(n.useMemo)(()=>r?{now:()=>r}:{},[r]);return u?l.a.createElement("time",{className:c,dateTime:s.toISOString()}
1,Object(se.b)(s)):l.a.createElement(hm.a,(d=np(np({},se.e),m),Qd(d,Zd({live:!1,date:s,className:c}))));var d};const rp=l.a.createContext({accentColor:void 0});a(1220);const op=e=>{const{accentColor:t,children:a,className:n}=e;return l.a.createElement("div",{className:Ge()("timeline-component",n)},l.a.createElement(rp.Provider,{value:{accentColor:null!=t?t:void 0}},a))};op.defaultProps={accentColor:null,className:""};var ip=op;const sp=e=>{const{accentColor:t,className:a,controls:r,hollow:o,large:i,icon:s,title:c,subtitle:u}=e,{accentColor:m}=Object(n.useContext)(rp),d=t||m;return l.a.createElement("div",{className:Ge()("timeline-item-component",i&&"large",o&&"hollow",a)},l.a.createElement("div",{className:"inner"},l.a.createElement("div",{className:"left"},l.a.createElement("div",{className:"bubble",style:o?{color:d,borderColor:d}:{color:"white",backgroundColor:d}},s&&l.a.createElement(an.a,{icon:s,iconSize:i?20:12})),l.a.createElement("div",{className:"descender"})),l.a.createElement("div",{className:"right"},c&&l.a.createElement("div",{className:"title"},c),u&&l.a.createElement("div",{className:"subtitle"},u),r&&l.a.createElement("div",{className:"controls"},r))))};sp.defaultProps={accentColor:null,className:"",controls:null,hollow:!1,large:!1,icon:null,title:null,subtitle:null};var cp=sp,up=Object.defineProperty,mp=Object.getOwnPropertySymbols,dp=Object.prototype.hasOwnProperty,pp=Object.prototype.propertyIsEnumerable,bp=(e,t,a)=>t in e?up(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,hp=(e,t)=>{for(var a in t||(t={}))dp.call(t,a)&&bp(e,a,t[a]);if(mp)for(var a of mp(t))pp.call(t,a)&&bp(e,a,t[a]);return e};var gp=e=>{const[t,a]=Object(n.useState)(!1),r=e,{children:o,shownItemsLimit:i}=r,s=((e,t)=>{var a={};for(var n in e)dp.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&mp)for(var n of mp(e))t.indexOf(n)<0&&pp.call(e,n)&&(a[n]=e[n]);return a})(r,["children","shownItemsLimit"]),c=l.a.Children.toArray(o);return c.length>i&&!t?l.a.createElement(l.a.Fragment,null,[...c.slice(0,i),l.a.createElement(cp,{key:"__timeline-condenser-expand-element__",hollow:!0,icon:"expand-all",title:l.a.createElement("i",null,c.length-i," more hidden"),controls:l.a.createElement(ie.c,hp({outlined:!0,onClick:()=>a(!0)},s),"Show all")})]):l.a.createElement(l.a.Fragment,null,o)},fp=a(1565);const yp=new Set(["i","em","b","strong"]);function vp(e,t){const a=e.textContent.length-t;a<=0||function e(t,a){if(0===a)return 0;for(let n=t.childNodes.length-1;n>=0;n--){a=e(t.childNodes[n],a)}if(t.nodeType===Node.TEXT_NODE){const e=t.textContent,n=Math.min(a,e.length);a-=n,t.textContent=e.slice(0,-n)}else t.nodeType===Node.ELEMENT_NODE&&0===t.textContent.length&&t.parentElement.removeChild(t);return a}(e,a)}function Ep(e){var t,a,n;if(yp.has(e.tagName.toLowerCase()))if(function(e){for(;e.attributes.length>0;)e.removeAttribute(e.attributes[0].name)}(e),e.nodeType===Node.ELEMENT_NODE)for(let t=e.children.length-1;t>=0;t--)Ep(e.children[t]);else e.nodeType===Node.TEXT_NODE&&(e.textContent=null!=(n=null==(a=e.textContent)?void 0:a.replace(/[\r\n]+/gm,""))?n:null);else{const a=e.parentNode;if(null!==e.textContent&&e.textContent.length>0){const n=document.createTextNode(null!=(t=e.textContent)?t:"");a.replaceChild(n,e)}else a.removeChild(e)}}a(1221);var Op=Object.defineProperty,wp=Object.defineProperties,Cp=Object.getOwnPropertyDescriptors,Np=Object.getOwnPropertySymbols,jp=Object.prototype.hasOwnProperty,kp=Object.prototype.propertyIsEnumerable,Sp=(e,t,a)=>t in e?Op(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Pp=(e,t)=>{for(var a in t||(t={}))jp.call(t,a)&&Sp(e,a,t[a]);if(Np)for(var a of Np(t))kp.call(t,a)&&Sp(e,a,t[a]);return e},Dp=(e,t)=>wp(e,Cp(t));const Ip=new Set(["Backspace","ArrowLeft","ArrowRight","ArrowUp","ArrowDown"]),Tp={role:"textbox","aria-label":"Edit Pub title",tabIndex:0};function xp(e){const t=e,{initialValue:a,onChange:r,onInput:o,isReadOnly:i=!1,maxLength:s=1/0}=t,c=((e,t)=>{var a={};for(var n in e)jp.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Np)for(var n of Np(e))t.indexOf(n)<0&&kp.call(e,n)&&(a[n]=e[n]);return a})(t,["initialValue","onChange","onInput","isReadOnly","maxLength"]),u=Object(n.useRef)(null),m=Object(n.useRef)(!1),[d,p]=Object(n.useState)(!1),b=Dp(Pp(Pp({},Tp),c),{className:Ge()("title-editor-component",c.className),"data-placeholder":c.placeholder}),h=Object(n.useCallback)(e=>{e.preventDefault();const t=u.current;if(null===t)return;const a=getSelection();if(null===a)return;const n=a.getRangeAt(0),l=function(e){const t=document.createElement("template");return t.innerHTML=e,t}(e.clipboardData.getData("text/html"));!function(e){for(let t=e.children.length-1;t>=0;t--)Ep(e.children[t])}(l.content),null!==s&&vp(l.content,s-t.textContent.length);let r=!1;if("execCommand"in document&&(r=document.execCommand("insertHTML",!1,l.innerHTML)),!1===r){const e=a.focusNode;if(!e)return;if(!function(e,t){let a=e;for(;null!==a;){if(a===t)return!0;a=a.parentNode}return!1}(e,t))return;n.deleteContents(),n.insertNode(l.content),n.collapse(!1)}},[u,s]),g=Object(n.useCallback)(e=>{var t;"Enter"===e.key||"u"===e.key.toLowerCase()&&e.metaKey?e.preventDefault():"b"===e.key.toLowerCase()&&e.metaKey?(e.preventDefault(),document.execCommand("Bold",!1)):"i"===e.key.toLowerCase()&&e.metaKey?(e.preventDefault(),document.execCommand("Ital
1ic",!1)):!Ip.has(e.key)&&!1===e.metaKey&&(null===getSelection()||""===(null==(t=getSelection())?void 0:t.toString()))&&u.current&&u.current.innerText.length>=s&&e.preventDefault()},[u,s]),f=Object(n.useCallback)(()=>{var e,t,a,n,l;if(""===(null==(e=u.current)?void 0:e.textContent)&&(u.current.innerHTML=""),o){const e=null!=(a=null==(t=u.current)?void 0:t.innerHTML)?a:"",r=null!=(l=null==(n=u.current)?void 0:n.innerText)?l:"";o(e,r)}},[u,o]),y=Object(n.useCallback)(()=>{p(!0)},[]),v=Object(n.useCallback)(()=>{var e,t,a,n;const l=null!=(t=null==(e=u.current)?void 0:e.innerHTML)?t:"",o=null!=(n=null==(a=u.current)?void 0:a.innerText)?n:"";null==r||r(l,o),p(!1)},[r]);Object(n.useEffect)(()=>{m.current||u.current&&(u.current.innerHTML=null!=a?a:"",m.current=!0)},[a,r]),Object(fp.a)(()=>{var e;return!i&&d&&(null==(e=u.current)?void 0:e.innerHTML)!==a},"You have unsaved changes to this Pub. Are you sure you want to navigate away?");const E=l.a.createElement("div",Dp(Pp({},b),{contentEditable:!i,dangerouslySetInnerHTML:{__html:null!=a?a:""}}));return i?E:l.a.createElement(Gt,{fallback:E},l.a.createElement("div",Dp(Pp({},b),{contentEditable:!0,ref:u,onKeyDown:g,onPaste:h,onInput:f,onFocus:y,onBlur:v})))}var Ap=a(798),Mp=a.n(Ap);a(1222);class Lp extends n.Component{constructor(e){super(e),this.runUserQuery=e=>{Object(I.a)("/api/search/users?q="+e).then(e=>{const{usedUserIds:t}=this.props;this.setState({items:e.filter(e=>!t.includes(e.id))})})},this.state={items:[],queryValue:""},this.runUserQuery=Mp()(this.runUserQuery,300),this.inputRef=void 0,this.handleSelect=this.handleSelect.bind(this)}componentDidUpdate(e,t){const{queryValue:a}=this.state;a!==t.queryValue&&""!==a&&this.runUserQuery(a)}handleSelect(e){this.props.onSelect(e),this.inputRef.focus()}render(){const{allowCustomUser:e}=this.props,{queryValue:t,items:a}=this.state,n=t?e?[{name:t},...a]:a:[];return l.a.createElement("div",{className:"user-autocomplete-component"},l.a.createElement(Bs.a,{className:"input",items:n,inputProps:{placeholder:this.props.placeholder,large:!0,inputRef:e=>{this.inputRef=e}},inputValueRenderer:()=>"",onQueryChange:e=>this.setState({queryValue:e.trim()}),itemRenderer:(e,{handleClick:t,modifiers:a})=>l.a.createElement("li",{key:e.id||"empty-user-create"},l.a.createElement("button",{type:"button",tabIndex:-1,onClick:t,className:a.active?`${r.a.MENU_ITEM} ${r.a.ACTIVE}`:r.a.MENU_ITEM},e.fullName&&l.a.createElement(Rt.a,{initials:e.initials,avatar:e.avatar,width:25}),e.name&&l.a.createElement("span",null,"Add collaborator named: "),l.a.createElement("span",{className:"autocomplete-name"},e.name||e.fullName))),resetOnSelect:!0,onItemSelect:this.handleSelect,noResults:t?l.a.createElement(ie.u,{disabled:!0,text:"No results"}):null,popoverProps:{popoverClassName:"user-autocomplete-popover",minimal:!0,position:lt.a.BOTTOM_LEFT,modifiers:{preventOverflow:{enabled:!1},hide:{enabled:!1}}}}))}}Lp.defaultProps={allowCustomUser:!1,onSelect:()=>{},placeholder:"Search for users...",usedUserIds:[]};var Rp=Lp;const Fp=(e,t)=>t.toLowerCase().includes(e.toLowerCase().trim()),Up=l.a.createContext(null),Bp=()=>Object(n.useContext)(Up),zp=e=>Object(oi.j)(e.map(e=>e.actor).filter(e=>!!e),e=>e.id);var $p=e=>{const{state:t,parentSubscription:a,container:r,communityAccentColor:o}=e,{notifications:s,location:c,subscription:u,activityItems:m}=t,{actions:d,notificationPreferences:{markReadTrigger:p}}=Bp(),b=s.every(e=>e.isRead),h=s.some(e=>e.manuallySetIsRead),g=((e,t)=>{const a=t?"#aaa":e;return{opaque:a,transparent:i()(a).alpha(.04).toString()}})(o,b),[f,y]=Object(n.useState)(null),{message:v,excerpt:E,timestamp:O}=m[0];return(e=>{const{container:t,element:a,enabled:l,onElementSeen:r,alreadySeen:o}=e,[i,s]=Object(n.useState)(o),c=Object(n.useRef)(r);c.current=r,Object(n.useEffect)(()=>{if(t&&a&&l&&!i){const e=new IntersectionObserver(([e])=>{var t;e.isIntersecting&&(s(!0),null==(t=c.current)||t.call(c))},{threshold:1,root:t});return e.observe(a),()=>e.disconnect()}return()=>{}},[t,a,l,i])})({container:r,element:f,enabled:!h&&"seen"===p,alreadySeen:b,onElementSeen:()=>d.updateThreadReadStatus(t,{isRead:!0,manuallySetIsRead:!1})}),Object(n.useEffect)(()=>
1{if(f&&!b&&"clicked-through"===p){const e=e=>{e.target instanceof HTMLAnchorElement&&d.updateThreadReadStatus(t,{isRead:!0,manuallySetIsRead:!0,useBeacon:!0})};return f.addEventListener("click",e),()=>{f.removeEventListener("click",e)}}return()=>{}},[f,b,p,d,t]),l.a.createElement("div",{ref:y,className:Ge()("thread-notifications-component",b&&"is-read"),style:b?{}:{backgroundColor:g.transparent}},l.a.createElement("div",{className:"top-details"},l.a.createElement(Ft,{users:zp(m),size:24,borderColor:g.opaque}),l.a.createElement("div",{className:"controls"},l.a.createElement(dd,{target:{threadId:c.threadId},subscription:u,parentSubscription:a,onUpdateSubscription:e=>d.updateSubscriptionStatus(c,e)},l.a.createElement(ie.c,{small:!0,minimal:!0,"aria-label":"Manage subscription"})),l.a.createElement(ie.c,{small:!0,minimal:!0,icon:"cross","aria-label":"Dismiss",onClick:()=>d.dismissThread(c,t)}))),l.a.createElement("div",{className:"message"},l.a.createElement("span",{className:Ge()("blip",b&&"is-read"),style:{color:g.opaque}}),v),l.a.createElement("div",{className:"excerpt"},E),l.a.createElement("div",{className:"bottom-details"},l.a.createElement(lp,{className:"time-ago",date:O}),l.a.createElement(ie.c,{small:!0,minimal:!0,className:"mark-read-button",icon:b?"envelope":"tick",onClick:()=>d.updateThreadReadStatus(t,{isRead:!b,manuallySetIsRead:!0})},b?"Mark unread":"Mark read")))};var _p=e=>{const{state:t,filterTerm:a,container:r}=e,{pub:o,community:i,threadStates:s,subscription:c,location:u,pubHeaderTheme:m}=t,[d,p]=Object(n.useState)(!0),[b]=Object(n.useState)(()=>"active"===(null==c?void 0:c.status)),{actions:h}=Bp(),{communityData:{id:g}}=Object(T.c)(),f=g===i.id,y=((e,t)=>{const{pub:a,community:n}=e;return!t||(Fp(t,a.title)||Fp(t,n.title)||Fp(t,n.subdomain))})(t,a),v=!(!a||y),E=d||v,O=v?s.filter(e=>((e,t)=>{if(t){if(e.activityItems.some(e=>!!e.actor&&Fp(t,e.actor.fullName)))return!0;const{text:a}=Object($m.c)(e.notifications[0].activityItem).payload.threadComment;return!(!a||!Fp(t,a))}return!0})(e,a)):s;return 0===O.length?null:l.a.createElement("div",{className:Ge()("pub-notifications-component",E&&"expanded")},l.a.createElement(ju,{className:"header",pubHeaderTheme:m,communityData:i,blur:!0},l.a.createElement("div",{className:"header-content"},l.a.createElement(ie.c,{disabled:v,"aria-label":E?"Collapse Pub threads":"Expand Pub threads",className:"collapse-button",onClick:()=>p(e=>!e),minimal:!0,icon:E?"chevron-down":"chevron-right"}),l.a.createElement("div",{className:"text-content"},l.a.createElement("div",{className:"title"},l.a.createElement("a",{href:Object(Su.g)(i,o)},o.title)),!f&&l.a.createElement("div",{className:"community"},"in ",l.a.createElement("a",{href:Object(Su.d)(i)},i.title))),l.a.createElement("div",{className:"controls"},b&&l.a.createElement(dd,{buttonProps:{small:!0},target:{pubId:u.pubId},subscription:c,onUpdateSubscription:e=>h.updateSubscriptionStatus(u,e)},l.a.createElement(ie.c,{small:!0,minimal:!0,"aria-label":"Manage subscription"})),l.a.createElement(ie.c,{small:!0,minimal:!0,icon:"cross","aria-label":"Dismiss",onClick:()=>h.dismissPubThreads(u,t)})))),E&&O.map(e=>l.a.createElement($p,{key:e.thread.id,parentSubscription:c,state:e,container:r,communityAccentColor:i.accentColorDark})))},Hp=a(410);var Vp=e=>{const{state:t}=e,{pubStates:a}=t,[o,i]=Object(n.useState)(null),[s,c]=Object(n.useState)(null),[u,m]=Object(n.useState)(!1),{actions:d}=Bp();return l.a.createElement("div",{ref:c,className:Ge()("user-notifications-component",r.a.CARD,r.a.ELEVATION_2)},u?l.a.createElement(Hp.a,{preferences:t.notificationPreferences,onUpdatePreferences:d.updateUserNotificationPreferences,onClose:()=>m(!1)}):l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"top-controls-bar"},l.a.createElement(ie.r,{fill:!0,leftIcon:"search",value:o||"",placeholder:"Filter notifications",onChange:e=>i(e.target.value)}),l.a.createElement(ie.c,{minimal:!0,className:"preferences-button",icon:"cog",onClick:()=>m(!0)})),l.a.createElement("div",{className:"pubs"},a.map(e=>l.a.createElement(_p,{state:e,key:e.pub.id,filterTerm:o,container:s})))))},qp=a(419),Wp=Object.defineProperty,Gp=Object.defineProperties,Yp=Object.getOwnPropertyDescriptors,Kp=Object.getOwnPropertySymbols,Jp=Object.prototype.hasOwnProperty,Qp=Object.prototype.propertyIsEnumerable,Zp=(e,t,a)=>t in e?Wp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Xp=(e,t)=>{for(var a in t||(t={}))Jp.call(t,a)&&Zp(e,a,t[a]);if(Kp)for(var a of Kp(t))Qp.call(t,a)&&Zp(e,a,t[a]);return e},eb=(e,t)=>Gp(e,Yp(t));const tb=(e,t)=>"function"==typeof t?t(e):t,ab=(e,t,a)=>eb(Xp({},e),{pubStates:e.pubStates.map(e=>{if(e.pub.id===t.pubId){const t=tb(e,a);return t?Xp(Xp({},e),t):null}return e}).filter(e=>!!e)}),nb=(e,t,a)=>{const{pubId:n,threadId:l}=t;return ab(e,{pubId:n},e=>eb(Xp({},e),{threadStates:e.threadStates.map(e=>{if(e.thread.id===l){const t=tb(e,a);return t?Xp(Xp({},e),t):null}return e}).filter(e=>!!e)}))},lb=(e,t)=>e.concat().sort((e,a)=>t(e)<t(a)?1:-1),rb=e=>{const[t,a]=Object(oi.i)(e,e=>e.initiallyUnread);return Object(oi.d)([t,a].map(e=>lb(e,e=>e.latestUnreadTimestamp)))},ob=(e,t,a,n)=>{var l;const{subscriptions:r}=a,o=null!=(l=r.find(t=>t.threadId===e.id))?l:null,i=(e=>{const[t,a]=Object(oi.i)(e,e=>e.isRead);return Object(oi.d)([a,t].map(e=>lb(e,e=>e.activityItem.timestamp)))})(t),s=((e,t,a)=>{const n=-1+new Set(e.map(e=>e.actorId)).size;return e.map(e=>Object(qp.a)(e,eb(Xp({},t),{scope:a,otherActorsCount:n})))})(i.map(e=>e.activityItem),a,{communityId:n.communityId,pubId:n.id});return{thread:e,subscription:o&&"toJSON"in o?o.toJSON():o,activityItems:s,initiallyUnread:t.some(e=>!e.isRead),latestUnreadTimestamp:i[0].activityItem.timestamp,notifications:i,location:{pubId:n.id,threadId:e.id}}},ib=(e,t,a)=>{var n;const{associations:l,subscriptions:r,facets:o}=a,i={pubId:e.id},s=Object(oi.c)(t,e=>e.activityItem.payload.threadId),c=null!=(n=r.find(t=>t.pubId===e.id))?n:null,u=l.community[e.communityId],m=Object.entries(s).map(([t,n])=>ob(l.thread[t],n,a,e)),d=o.pub[e.id].PubHeaderTheme.value,p=(e=>{const[t,a]=Object(oi.i)(e,e=>e.initiallyUnread);return Object(oi.d)([t,a].map(e=>lb(e,e=>{var t;return null==(t=e.notifications[0])?void 0:t.activityItem.timestamp})))})(m);return{location:i,pub:e,community:u,subscription:c&&"toJSON"in c?c.toJSON():c,threadStates:p,initiallyUnread:m.some(e=>
1e.initiallyUnread),latestUnreadTimestamp:p[0].latestUnreadTimestamp,pubHeaderTheme:d}};var sb=Object.defineProperty,cb=Object.defineProperties,ub=Object.getOwnPropertyDescriptors,mb=Object.getOwnPropertySymbols,db=Object.prototype.hasOwnProperty,pb=Object.prototype.propertyIsEnumerable,bb=(e,t,a)=>t in e?sb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,hb=(e,t)=>{for(var a in t||(t={}))db.call(t,a)&&bb(e,a,t[a]);if(mb)for(var a of mb(t))pb.call(t,a)&&bb(e,a,t[a]);return e},gb=(e,t)=>cb(e,ub(t)),fb=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const yb={updateSubscriptionStatus:e=>(t,a)=>{e(e=>"threadId"in t?nb(e,t,{subscription:a}):ab(e,t,{subscription:a}))},updateThreadReadStatus:e=>(t,a)=>fb(null,null,(function*(){const{isRead:n,manuallySetIsRead:l,useBeacon:r}=a,o=t.notifications.map(e=>e.id);if(e(e=>nb(e,t.location,e=>({notifications:e.notifications.map(e=>gb(hb({},e),{isRead:n,manuallySetIsRead:l}))}))),r&&"sendBeacon"in navigator){const e=new Blob([JSON.stringify({userNotificationIds:o,isRead:n,manuallySetIsRead:l})],{type:"application/json"});navigator.sendBeacon("/api/userNotifications",e)}else yield I.a.post("/api/userNotifications",{userNotificationIds:o,isRead:n,manuallySetIsRead:l})})),updateUserNotificationPreferences:e=>t=>fb(null,null,(function*(){e(e=>gb(hb({},e),{notificationPreferences:hb(hb({},e.notificationPreferences),t)})),yield I.a.put("/api/userNotificationPreferences",{preferences:t})})),dismissPubThreads:e=>(t,a)=>fb(null,null,(function*(){e(e=>ab(e,t,null));const n=Object(oi.d)(a.threadStates.map(e=>e.notifications.map(e=>e.id)));yield I.a.delete("/api/userNotifications",{userNotificationIds:n})})),dismissThread:e=>(t,a)=>fb(null,null,(function*(){e(e=>nb(e,t,null));const n=a.notifications.map(e=>e.id);yield I.a.delete("/api/userNotifications",{userNotificationIds:n})}))};var vb=Object.defineProperty,Eb=Object.defineProperties,Ob=Object.getOwnPropertyDescriptors,wb=Object.getOwnPropertySymbols,Cb=Object.prototype.hasOwnProperty,Nb=Object.prototype.propertyIsEnumerable,jb=(e,t,a)=>t in e?vb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const kb=()=>{const[e,t]=Object(n.useState)(null),a=Object(n.useMemo)(()=>(e=>{const t={};return Object.entries(yb).forEach(([a,n])=>{t[a]=n(e)}),t})(t),[]),{loginData:{id:l}}=Object(T.c)();if(Object(n.useEffect)(()=>{l&&I.a.get("/api/userNotifications").then(e=>{t((e=>{const{notifications:t,associations:a,notificationPreferences:n}=e,l=Object(oi.c)(t,e=>e.activityItem.pubId),r=Object.entries(l).map(([t,n])=>ib(a.pub[t],n,e));return{pubStates:rb(r),hasNotifications:r.length>0,notificationPreferences:"toJSON"in n?n.toJSON():n}})(((e,t)=>Eb(e,Ob(t)))(((e,t)=>{for(var a in t||(t={}))Cb.call(t,a)&&jb(e,a,t[a]);if(wb)for(var a of wb(t))Nb.call(t,a)&&jb(e,a,t[a]);return e})({},e),{userId:l})))})},[l]),e){const{notificationPreferences:t}=e;return{state:e,context:{notificationPreferences:t,actions:a}}}return null};a(1224);var Sb=e=>{const{children:t}=e,{initialNotificationsData:a}=Object(T.c)(),r=kb(),{hasNotifications:o,hasUnreadNotifications:i}=Object(n.useMemo)(()=>((e,t)=>{if(t){const{hasNotifications:a}=e,{pubStates:n}=t,l=n.some(e=>e.threadStates.some(e=>e.notifications.some(e=>!e.isRead)));return{hasNotifications:n.length>0||a,hasUnreadNotifications:l}}return e})(a,null==r?void 0:r.state),[a,r]);if(o){const e=t({hasUnreadNotifications:i});if(r){const{state:t,context:a}=r;return l.a.createElement(Up.Provider,{value:a},l.a.createElement(wc.a,{"aria-label":"Notifications",placement:"bottom-end",className:"user-notifications-popover",content:l.a.createElement(Vp,{state:t}),preventBodyScroll:!1,unstable_fixed:!0},e))}return e}return null}},,,,,function(e,t,a){"use strict";a.d(t,"b",(function(){return d})),a.d(t,"a",(function(){return p}));var n=Object.defineProperty,l=Object.defineProperties,r=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,c=(e,t,a)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,u=(e,t)=>
1{for(var a in t||(t={}))i.call(t,a)&&c(e,a,t[a]);if(o)for(var a of o(t))s.call(t,a)&&c(e,a,t[a]);return e},m=(e,t)=>l(e,r(t));function d(e,t){return fetch(e,m(u({},t),{headers:u({Accept:"application/json","Content-Type":"application/json"},null==t?void 0:t.headers),credentials:"include"}))}const p=(e,t)=>d(e,t).then(e=>{return t=null,a=null,n=function*(){if(!e.ok){const t=yield e.json();throw 423===e.status&&"readOnly"===(null==t?void 0:t.error)&&window.dispatchEvent(new CustomEvent("pubpub:readOnly")),t}return e.json()},new Promise((e,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((n=n.apply(t,a)).next())});var t,a,n}),b=e=>(t,a,n)=>p(t,m(u({},n),{method:e.toUpperCase(),body:"string"==typeof a?a:JSON.stringify(a)}));["get","head","post","put","delete","connect","options","trace"].forEach(e=>Object.defineProperty(p,e,{writable:!1,value:b(e)}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return i})),a.d(t,"b",(function(){return s})),a.d(t,"c",(function(){return c})),a.d(t,"d",(function(){return u})),a.d(t,"e",(function(){return m}));var n=a(0),l=a.n(n),r=a(743),o=a.n(r);const i=l.a.createContext({}),s=l.a.createContext({pendingPromise:e=>e,pendingCount:0}),c=(e=null)=>{const t=Object(n.useContext)(i);return e||t},u=()=>Object(n.useContext)(s),m=(e,t,a=!0,l=!0)=>{const[r,i]=Object(n.useState)(e),s=Object(n.useMemo)(()=>o()(i,t,{leading:a,trailing:l}),[t,a,l]);return Object(n.useEffect)(()=>{s(e)},[s,e]),r}},,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"e",(function(){return b})),a.d(t,"d",(function(){return g})),a.d(t,"c",(function(){return f})),a.d(t,"f",(function(){return y})),a.d(t,"g",(function(){return v})),a.d(t,"a",(function(){return E})),a.d(t,"b",(function(){return w}));var n=a(393),l=a.n(n),r=a(155),o=Object.defineProperty,i=Object.defineProperties,s=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,d=(e,t,a)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,p=(e,t)=>{for(var a in t||(t={}))u.call(t,a)&&d(e,a,t[a]);if(c)for(var a of c(t))m.call(t,a)&&d(e,a,t[a]);return e};const b=e=>"/user/"+e,h=()=>"window"in globalThis&&window.__pubpub_pageContextProps__.locationData.queryString.includes("pubpubArchiveBot"),g=e=>h()?"/":Object(r.b)()?`https://${e.subdomain}.duqduq.org`:e.domain?e.domain.includes("localhost:")?"http://"+e.domain:"https://"+e.domain:`https://${e.subdomain}.pubpub.org`,f=(e,t)=>h()?"/"+t.slug:`${g(e)}/${t.slug}`,y=e=>h()?"/pub/{pub.slug}
1":"https://pubpub.org/pub/"+e.slug,v=(e,t,a={})=>{const{isDraft:n,historyKey:o,releaseNumber:i,releaseId:s,discussionId:c,accessHash:u,query:m,download:d,hash:b,absolute:f}=a;let y=`${h()||!f&&(null===e||Object(r.d)())||!e?"":g(e)}/pub/${t.slug}`;if(d){y=`${y}/download${"string"==typeof d?"/"+d:""}`}else if(n){y=`${y}/draft${void 0!==o?"/"+o:""}`}else void 0!==i?y=`${y}/release/${i}`:s?y=`${y}/release-id/${s}`:c&&(y=`${y}/discussion-id/${c}`);const v=l.a.stringifyUrl({url:y,query:p({access:u},m)},{skipNull:!0});return b?`${v}#${b}`:v},E=({pubData:e,communityData:t},a={})=>t?v(t,e,a):y(e),O=e=>(null==e?void 0:e.cmsMode)&&e.canonicalBaseUrl?e.canonicalBaseUrl.replace(/\/+$/,""):g(e),w=(e,t,a={})=>{if(e&&e.canonicalPubUrlTemplate)return e.canonicalPubUrlTemplate.replace(/\{slug\}/g,t.slug);if(e&&e.canonicalBaseUrl){return v(e,t,(n=p({},a),i(n,s({absolute:!0})))).replace(g(e),O(e))}var n;return v(e,t,a)}},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const n=({collectionSlug:e,pubSlug:t,mode:a,subMode:n,section:l=""})=>{let r="/dash";e&&(r="/dash/collection/"+e),t&&(r="/dash/pub/"+t);let o="";e&&t&&(o="?collectionSlug="+e);return`${r}${a&&"overview"!==a?"/"+a.toLowerCase().replace(/ /gi,"-"):""}${n?"/"+String(n).toLowerCase().replace(/ /gi,"-"):""}${o}${l&&"#"+l}`}},,function(e,t,a){"use strict";a.d(t,"b",(function(){return Xe})),a.d(t,"g",(function(){return de.k})),a.d(t,"p",(function(){return de.z})),a.d(t,"q",(function(){return de.A})),a.d(t,"f",(function(){return de.j})),a.d(t,"r",(function(){return de.B})),a.d(t,"y",(function(){return de.J})),a.d(t,"n",(function(){return de.x})),a.d(t,"o",(function(){return de.y})),a.d(t,"e",(function(){return de.i})),a.d(t,"w",(function(){return de.G})),a.d(t,"d",(function(){return de.f})),a.d(t,"t",(function(){return de.D})),a.d(t,"s",(function(){return de.C})),a.d(t,"c",(function(){return de.e})),a.d(t,"h",(function(){return de.n})),a.d(t,"k",(function(){return de.u})),a.d(t,"l",(function(){return de.v})),a.d(t,"j",(function(){return de.t})),a.d(t,"m",(function(){return de.w})),a.d(t,"x",(function(){return de.H})),a.d(t,"v",(function(){return de.F})),a.d(t,"a",(function(){return de.c})),a.d(t,"i",(function(){return de.o})),a.d(t,"u",(function(){return de.E})),a.d(t,"z",(function(){return de.K}));var n=a(0),l=a.n(n),r=a(8),o=a.n(r),i=a(7),s=a(134),c=a(12),u=a(48),m=a(789),d=a(788),p=a(168),b=a(289),h=a(152),g=a(288);const f=new c.PluginKey("domEvents"),y=(...e)=>{const t={};return e.forEach(e=>{t[e]=(e,t)=>{const a=e.state.tr;a.setMeta("latestDomEvent",t),e.dispatch(a)}}),t};const v=new c.PluginKey("equations-to-math"),E=e=>{if(v.getState(e).hasRun)return null;const t=e.tr,a=[];let n=!1;const l=e.schema.nodes.math_inline,r=e.schema.nodes.math_display;return e.doc.descendants((t,o)=>{const i="equation"===t.type.name?l:"block_equation"===t.type.name?r:null;if(i){const l=""===t.attrs.value?" ":t.attrs.value,r=i.create(null,e.schema.text(l));a.push({pos:o,replacementNode:r}),n=!0}}),n?(t.setMeta(v,!0),a.reverse().forEach(({pos:e,replacementNode:a})=>t.replaceWith(e,e+1,a)),t):null};var O=Object.defineProperty,w=Object.defineProperties,C=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,S=(e,t,a)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,P=a(399),D=a(226),I=a(99),T=a(13);const x="(?<emailOrUri>(?:(?:(https|http|ftp)+)://)?(?:\\S+(?::\\S*)?(?<atSign>@))?(?:(?:([a-z0-9][a-z0-9-]*)?[a-z0-9]+)(?:\\.(?:[a-z0-9-])*[a-z0-9]+)*(?:\\.(?:[a-z]{2,})(:\\d{1,5})?))(?:/[^\\s]*)?)",A=new RegExp(x+"$"),M=new RegExp(x+"(?<whitespace>\\s)$"),L=(e,t=!1,a)=>(n,l,r,o)=>{const i=n.doc.resolve(r),s=null!=a?a:n.tr;if(!i.parent.type.allowsMarkType(e))return s;const c=l.groups.emailOrUri,u=`${l.groups.atSign?"mailto:":""}${c}`,m=[n.schema.text(c,[n.schema.mark(e,{href:u})])];if(t){const e=n.schema.text(l.groups.whitespace);m.push(e)}return s.replaceWith(r,o,m)};var R=a(44),F=a(157),U=a(40),B=Object.defineProperty,z=Object.defineProperties,$=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,q=(e,t,a)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,W=(e,t)=>{for(var a in t||(t={}))H.call(t,a)&&q(e,a,t[a]);if(_)for(var a of _(t))V.call(t,a)&&q(e,a,t[a]);return e};const G="undefined"!=typeof navigator&&/Mac/.test(navigator.platform);const Y=new c.PluginKey("localHighlights");const K=e=>(...t)=>{const a=e(...t),{renderMath:n}=a,l=n.bind(a);return Object.assign(a,{renderMath:function(){const e=this._node,{count:t,id:a}=e.attrs,n=t?((e,t)=>{const{content:a,type:{schema:n}}=e,l=`\\tag{${t}}`,r=n.text(l),o=T.Fragment.from(a).append(T.Fragment.from(r));return e.copy(o)})(e,t):e;this._node=n,l(),this._node=e,this.dom.setAttribute("id",a)}}),a.renderMath(),a};var J=a(97),Q=a(85),Z=Object.defineProperty,X=Object.getOwnPropertySymbols,ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable,ae=(e,t,a)=>t in e?Z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ne=(e,t)=>{for(var a in t||(t={}))ee.call(t,a)&&ae(e,a,t[a]);if(X)for(var a of X(t))te.call(t,a)&&ae(e,a,t[a]);return e};const le=new c.PluginKey("onChange"),re=(e,t,a)=>{const n=e.coordsAtPos(t),l=e.coordsAtPos(a);return{left:Math.min(n.left,l.left),top:Math.min(n.top,l.top),right:Math.max(n.right,l.right),bottom:Math.max(n.bottom,l.bottom)}},oe=e=>(e.docView.innerDeco.members?e.docView.innerDeco.members:[e.docView.innerDeco]).reduce((t,a)=>[...t,...a.find().map(t=>({from:t.from,to:t.to,boundingBox:re(e,t.from,t.to),attrs:t.type.attrs}))],[]),ie=e=>{const t=e.state,a=t.schema.marks.link,{from:n,$from:l,to:r,$to:o,empty:i}=t.selection,s=t.doc.resolve(Math.max(n-1,0)),c=t.doc.resolve(Math.max(r-1,0)),u=(e,t)=>
1e.marksAcross(t)||[],m=(i?u(l,o).length?u(l,o):u(s,c):u(l,c)).reduce((e,t)=>"link"===t.type.name?t:e,void 0);if(!m)return;let d=n-1,p=!1;for(;!p;)0===d&&(p=!0),t.doc.rangeHasMark(d,d+1,a)?d-=1:p=!0;let b=n,h=!1;for(;!h;)0===b&&(h=!0),t.doc.rangeHasMark(b,b+1,a)?b+=1:h=!0;return{attrs:m.attrs,boundingBox:re(e,d,b),updateAttrs:t=>{const a=m.attrs,n=e.state.tr;n.removeMark(d+1,b,e.state.schema.marks.link),n.addMark(d+1,b,e.state.schema.marks.link.create(ne(ne({},a),t))),e.dispatch(n)},removeLink:()=>{const t=e.state.tr;t.removeMark(d+1,b,e.state.schema.marks.link),e.dispatch(t)}}},se=(e,t)=>{if(e)return e=>{const a=t.state.selection.from;if(void 0!==a){const n=t.state.selection.node.attrs,l=t.state.tr.setNodeMarkup(a,null,ne(ne({},n),e),t.state.selection.node.marks);if(t.state.selection.node.type.isInline){const e=c.NodeSelection.create(l.doc,a);l.setSelection(e)}t.dispatch(l)}}},ce=(e,t)=>{if(e)return(e,a,n)=>{const l=e.create(ne({},a),n),r=t.state.selection.from,o=t.state.selection.to,i=t.state.tr.replaceRangeWith(r,o,l);t.dispatch(i)}},ue=e=>{const t=e.selection.node;return Object(J.getReactedCopyOfNode)(t,e)||t};var me=a(377),de=a(55),pe=a(395),be=a(4),he=a(1574),ge=a(297);a(1107);const fe=e=>e.split("\n").join("");var ye=class{constructor(e,t,a){this.tooltip=null,this.popper=null;const{dom:n,contentDOM:l}=T.DOMSerializer.renderSpec(document,e.type.spec.toDOM(e));this.dom=n,this.viewContainer=t.dom,this.contentDOM=l,this.node=e,this.notePopoverId=e.attrs.id+"-note-popover",this.unstructuredAttrKey=a,this.setupTooltip=this.setupTooltip.bind(this),this.teardownTooltip=this.teardownTooltip.bind(this),this.handleMouseMove=this.handleMouseMove.bind(this),this.dom.setAttribute("tabindex","0"),this.dom.setAttribute("role","link"),this.dom.setAttribute("aria-describedby",this.notePopoverId),this.dom.addEventListener("mouseenter",this.setupTooltip),this.dom.addEventListener("mousemove",this.handleMouseMove),this.dom.addEventListener("focus",this.setupTooltip),this.dom.addEventListener("blur",this.teardownTooltip)}setupTooltip(){this.teardownTooltip();const{citation:e,[this.unstructuredAttrKey]:t}=this.node.attrs,a=document.createElement("div"),n=Object(ge.a)(e.html),l=Object(ge.a)(t);a.setAttribute("id",this.notePopoverId),a.setAttribute("role","tooltip"),a.classList.add("note-popover-component",be.a.ELEVATION_2),a.innerHTML=`\n            ${e?fe(n):""}\n            ${t?fe(l):""}\n        `,document.body.appendChild(a),document.addEventListener("mousemove",this.handleMouseMove),this.tooltip=a,this.popper=Object(he.a)(this.dom,a,{placement:"top-start",modifiers:[{name:"preventOverflow",options:{boundary:this.viewContainer}},{name:"flip"}]})}handleMouseMove(e){if(this.tooltip&&this.dom&&document.activeElement!==this.dom){const n=this.tooltip.getBoundingClientRect(),l=this.dom.getBoundingClientRect();(({left:e,right:t,top:a,bottom:n},{x:l,y:r})=>l>=e&&l<=t&&r>=a&&r<=n)((t=n,a=l,{right:Math.max(t.right,a.right),left:Math.min(t.left,a.left),x:Math.min(t.x,a.x),bottom:Math.max(t.bottom,a.bottom),top:Math.min(t.top,a.top),y:Math.min(t.y,a.y)}),{x:e.clientX,y:e.clientY})||this.teardownTooltip()}var t,a}teardownTooltip(){var e,t;null==(e=this.tooltip)||e.remove(),null==(t=this.popper)||t.destroy()}destroy(){this.teardownTooltip(),this.dom.removeEventListener("mouseenter",this.setupTooltip),document.removeEventListener("mousemove",this.handleMouseMove),this.dom.removeEventListener("focus",this.setupTooltip),this.dom.removeEventListener("blur",this.teardownTooltip)}};class ve{constructor(e,t){const{targetId:a,label:n}=e.attrs;this.view=t,this.dom=document.createElement("a"),this.dom.textContent=n||"(ref?)",this.dom.classList.add("reference"),this.dom.setAttribute("data-node-type","reference"),this.dom.setAttribute("data-target-id",a),this.view.editable||this.dom.setAttribute("href","#"+a),this.onClick=this.onClick.bind(this),this.dom.addEventListener("click",this.onClick)}onClick(e){this.view.editable&&e.preventDefault()}stopEvent(){return this.view.editable}destroy(){this.dom.removeEventListener("click",this.onClick)}}class Ee extends Q.a{constructor(e,t){super(e,t),this.sync(e)}update(e){const t=super.update(e);return this.sync(e),t}syncCaption(e){const{dom:t}=this,a=Object(de.a)(e),n=t.querySelector("table");if(n){const e=n.querySelector("caption");if(e&&e.parentNode===n&&e.remove(),a){const e=document.createElement("caption");e.innerHTML=a,n.append(e)}}}syncAttributes(e){const{id:t,suggestionKind:a,suggestionId:n,suggestionUserId:l,suggestionTimestamp:r,suggestionDiscussionId:o,suggestionOriginalAttrs:i,align:s,size:c,smallerFont:u}=e.attrs,{dom:m}=this;m.setAttribute("id",t),m.setAttribute("data-suggestion-kind",a),m.setAttribute("data-suggestion-id",n),m.setAttribute("data-suggestion-user-id",l),m.setAttribute("data-suggestion-timestamp",r),m.setAttribute("data-suggestion-discussion-id",o),m.setAttribute("data-suggestion-original-attrs",i),m.setAttribute("data-align",s),m.setAttribute("data-size",c),m.setAttribute("data-smaller-font",u)}sync(e){this.syncAttributes(e),this.syncCaption(e)}}var Oe={citation:(e,t)=>new ye(e,t,"unstructuredValue"),footnote:(e,t)=>
1new ye(e,t,"value"),reference:(e,t)=>new ve(e,t)};var we=Object.defineProperty,Ce=Object.defineProperties,Ne=Object.getOwnPropertyDescriptors,je=Object.getOwnPropertySymbols,ke=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,Pe=(e,t,a)=>t in e?we(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,De=(e,t)=>{for(var a in t||(t={}))ke.call(t,a)&&Pe(e,a,t[a]);if(je)for(var a of je(t))Se.call(t,a)&&Pe(e,a,t[a]);return e};const Ie={inputRules:e=>{const t=I.e.concat(I.b,I.c);var a,n;return e.marks.link&&t.unshift((a=e.marks.link,new I.a(M,L(a,!0)))),e.nodes.blockquote&&t.push((n=e.nodes.blockquote,Object(I.h)(/^\s*>\s$/,n))),e.nodes.ordered_list&&t.push((e=>Object(I.h)(/^(\d+)\.\s$/,e,e=>({order:+e[1]}),(e,t)=>t.childCount+t.attrs.order===+e[1]))(e.nodes.ordered_list)),e.nodes.bullet_list&&t.push((e=>Object(I.h)(/^\s*([-+*])\s$/,e))(e.nodes.bullet_list)),e.nodes.code_block&&t.push((e=>Object(I.f)(/^```$/,e))(e.nodes.code_block)),e.nodes.heading&&t.push(((e,t)=>Object(I.f)(new RegExp(`^(#{1,${t}})\\s$`),e,e=>({level:e[1].length})))(e.nodes.heading,6)),e.nodes.math_inline&&t.push(((e,t,a=[])=>new I.a(/\$([^$]+?)\$\x20$/,(n,l,r,o)=>{const[i,s]=l,c=n.doc.resolve(r+1),u=n.doc.resolve(o-1);if([...c.marks(),...u.marks()].some(e=>a.includes(e.type)))return null;for(let e=0;e<c.depth+1;e++){const a=c.node(e);if(t.includes(a.type))return null}const m=T.Fragment.fromArray([e.create(null,e.schema.text(s)),e.schema.text(" ")]);return n.tr.replaceWith(r,o,m)}))(e.nodes.math_inline,[e.nodes.math_inline,e.nodes.math_display,e.nodes.code_block],[e.marks.code])),e.nodes.math_display&&t.push((e=>Object(D.b)(D.a,e))(e.nodes.math_display)),e.marks.code&&t.push((e=>new I.a(/`([^`]+)`\x20/,(t,a,n,l)=>{const[r,o]=a,i=T.Fragment.fromArray([t.schema.text(o,[t.schema.mark(e)]),t.schema.text(" ")]);return t.tr.replaceWith(n,l,i)}))(e.marks.code)),Object(I.d)({rules:t})},headerIds:(e,t)=>t.isReadOnly?[]:new c.Plugin({appendTransaction:(e,t,a)=>{const n=a.tr;let l=!1;return a.doc.forEach((e,t)=>{if("heading"===e.type.name){const a=e.textContent.replace(/[^a-zA-Z0-9-\s]/gi,"").replace(/^\d+\W+/gi,"").replace(/\s+/gi," ").trim().toLowerCase().replace(/\s/gi,"-");e.attrs.fixedId||e.attrs.id===a||(l=!0,n.setNodeMarkup(t,e.type,((e,t)=>w(e,C(t)))(((e,t)=>{for(var a in t||(t={}))j.call(t,a)&&S(e,a,t[a]);if(N)for(var a of N(t))k.call(t,a)&&S(e,a,t[a]);return e})({},e.attrs),{id:a}),e.marks))}}),l?n:null}}),translatedMathNodes:(e,t)=>t.isReadOnly?[]:new c.Plugin({key:v,view:e=>{const t=E(e.state);return t&&e.dispatch(t),{}},appendTransaction:(e,t,a)=>E(a),state:{init:()=>({hasRun:!1}),apply:(e,{hasRun:t})=>({hasRun:e.getMeta(v)||t})}}),placeholder:(e,t)=>new c.Plugin({props:{decorations:e=>{if(Object(de.K)(e)&&t.placeholder){const a=[];return e.doc.descendants((n,l)=>{var r;const o=h.a.getState(e)||{},i=(null==(r=t.collaborativeOptions)?void 0:r.clientData)&&!o.isLoaded?"Loading...":t.placeholder;n.type.isBlock&&0===n.childCount&&a.push(u.Decoration.node(l,l+n.nodeSize,{class:"prosemirror-placeholder","data-content":i}))}),u.DecorationSet.create(e.doc,a)}return null}}}),localHighlights:()=>new c.Plugin({key:Y,state:{init:(e,t)=>({activeDecorationSet:u.DecorationSet.create(t.doc,[])}),apply:(e,t,a,n)=>{const l=t.activeDecorationSet,r=l.find().filter(t=>t.spec.key==="lm-"+e.getMeta("localHighlightIdToRemove")),o=l.remove(r).map(e.mapping,e.doc),i=e.getMeta("newLocalHighlightData")||[],s=i.map(e=>{const t="permanent"===e.id?"permanent":"local-highlight lh-"+e.id,a="permanent"===e.id?"permanent":"lm-"+e.id;return u.Decoration.inline(Number(e.from),Number(e.to),{class:t},{key:a})}),c=i.filter(e=>"permanent"!==e.id).map(e=>{const t=document.createElement("span");return t.className="local-mount lm-"+e.id,u.Decoration.widget(Number(e.to),t,{stopEvent:()=>!0,key:"lm-"+e.id})});return{activeDecorationSet:o.add(n.doc,[...s,...c])}}},props:{decorations:e=>Y.getState(e).activeDecorationSet}}),references:pe.a,domEvents:()=>new c.Plugin({key:f,state:{init:()=>({latestDomEvent:null}),apply:(e,{latestDomEvent:t})=>({latestDomEvent:e.getMeta("latestDomEvent")||t})},props:{handleDOMEvents:y("click","keydown")}}),onChange:(e,t)=>
1{const a=e=>{var a;null==(a=t.onChange)||a.call(t,(e=>{const t=!!e.state.selection.node,a=h.a.getState(e.state)||{},{latestDomEvent:n}=f.getState(e.state);return{view:e,selection:e.state.selection,selectionBoundingBox:re(e,e.state.selection.from,e.state.selection.to),selectionInTable:Object(Q.k)(e.state),selectedNode:t?ue(e.state):void 0,updateNode:se(t,e),changeNode:ce(t,e),decorations:oe(e),activeLink:ie(e),isCollabLoaded:a.isLoaded,latestDomEvent:n}})(e))};return new c.Plugin({key:le,state:{init:()=>({dispatchChange:a}),apply:(e,t)=>t},view:()=>({update:a})})},gapCursor:()=>Object(d.a)(),history:()=>Object(p.a)(),keymap:e=>{const t={},a=(e,a)=>{t[e]=a};if(a("Mod-z",p.c),a("Shift-Mod-z",p.b),a("Backspace",I.g),G||a("Mod-y",p.b),a("Alt-ArrowUp",R.h),a("Alt-ArrowDown",R.g),a("Mod-BracketLeft",R.i),a("Escape",R.n),e.marks.strong&&a("Mod-b",Object(R.q)(e.marks.strong)),e.marks.em&&a("Mod-i",Object(R.q)(e.marks.em)),e.marks.sup&&a("Mod-.",Object(R.q)(e.marks.sup)),e.marks.sub&&a("Mod-,",Object(R.q)(e.marks.sub)),e.marks.strike&&a("Mod-Shift-x",Object(R.q)(e.marks.strike)),e.marks.code&&a("Mod-<",Object(R.q)(e.marks.code)),e.marks.link&&a("Mod-k",Object(R.q)(e.marks.link)),e.nodes.bullet_list&&a("Shift-Ctrl-8",Object(F.d)(e.nodes.bullet_list)),e.nodes.ordered_list&&a("Shift-Ctrl-9",Object(F.d)(e.nodes.ordered_list)),e.nodes.blockquote&&a("Ctrl->",Object(R.r)(e.nodes.blockquote)),e.nodes.hard_break){const t=Object(R.b)(R.e,(t,a)=>(a(t.tr.replaceSelectionWith(e.nodes.hard_break.create()).scrollIntoView()),!0));a("Mod-Enter",t),a("Shift-Enter",t),G&&a("Ctrl-Enter",t)}if(e.nodes.list_item&&(a("Enter",Object(F.c)(e.nodes.list_item)),a("Mod-[",Object(F.a)(e.nodes.list_item)),a("Mod-]",Object(F.b)(e.nodes.list_item)),a("Tab",Object(F.b)(e.nodes.list_item)),a("Shift-Tab",Object(F.a)(e.nodes.list_item))),e.nodes.paragraph&&a("Shift-Ctrl-0",Object(R.o)(e.nodes.paragraph)),e.nodes.code_block&&a("Shift-Ctrl-\\",Object(R.o)(e.nodes.code_block)),e.nodes.heading)for(let t=1;t<=6;t+=1)a("Shift-Ctrl-"+t,Object(R.o)(e.nodes.heading,{level:t})),a("Alt-Ctrl-"+t,Object(R.o)(e.nodes.heading,{level:t}));e.nodes.code_block&&Object.entries(b.a).forEach(([e,t])=>a(e,t)),e.nodes.horizontal_rule&&a("Mod-_",(t,a)=>(a(t.tr.replaceSelectionWith(e.nodes.horizontal_rule.create()).scrollIntoView()),!0)),e.nodes.math_inline&&a("Backspace",Object(R.b)(R.d,D.c,R.f,R.m));const n=Object(U.splitBlockPreservingAttrs)(["textAlign","rtl"]),l=Object(R.b)((t,a)=>{if(!(t.selection instanceof c.TextSelection))return!1;const l=t.selection.$cursor;if(!l)return!1;const{nodeBefore:r}=t.selection.$from;if(!r||!r.isText)return!1;const o=r.text.match(A);return!!o&&(a&&n(t,n=>{const r=L(e.marks.link,!1,n),i=l.pos-o[0].length,s=l.pos;a(r(t,o,i,s))}),!0)},R.k,R.c,R.j,n);return[Object(s.b)(t),Object(s.b)((r=W({},R.a),o={Enter:l},z(r,$(o))))];var r,o},table:(e,t)=>{return e.nodes.table?t.isReadOnly?[Object(Q.f)({handleWidth:-1,View:Ee})]:(document.execCommand("enableObjectResizing",!1,!1),document.execCommand("enableInlineTableEditing",!1,!1),[Object(Q.f)({View:Ee}),Object(Q.n)(),Object(s.b)({Tab:Object(Q.j)(1),"Shift-Tab":Object(Q.j)(-1)}),new c.Plugin({props:{clipboardSerializer:(a=T.DOMSerializer.fromSchema(e),Object.assign(Object.create(a),{serializeFragment:function(e,t){const n=a.serializeFragment(e,t);return n.querySelectorAll("table > caption").forEach(e=>e.parentElement.removeChild(e)),n}}))}})]):[];var a},collaborative:h.b,discussions:g.b,ids:P.a,reactive:(e,t)=>Object(J.createReactivePlugin)({schema:e,documentState:{nodeLabels:t.nodeLabels,noteManager:t.noteManager}}),paste:me.a,mathPlugin:()=>{const e=D.d.props.nodeViews.math_display;return[new c.Plugin({props:{nodeViews:{math_display:K(e)}}}),D.d]},codePlugin:b.b},Te=e=>{const t=e,{onChange:a}=t,n=((e,t)=>{var a={};for(var n in e)ke.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&je)for(var n of je(e))t.indexOf(n)<0&&Se.call(e,n)&&(a[n]=e[n]);return a})(t,["onChange"]);return Object.values((l=De({},n),r={onChange:a},Ce(l,Ne(r)))).filter(e=>!!e);var l,r},xe=(e,t,a)=>Te(De(De({},Ie),t)).map(t=>{const n=t(e,a);return Array.isArray(n)?n:[n]}).reduce((e,t)=>
1[...e,...t],[]),Ae=()=>{},Me=Object(s.a)({"Mod-s":()=>!0}),Le=({isReadOnly:e})=>t=>{const a=h.a.getState(t);return!(a&&!a.isLoaded)&&!e},Re=(e,{onError:t,onEdit:a})=>n=>{try{const t=e.state,l=h.a.getState(t),{state:r,transactions:o}=e.state.applyTransaction(n);e.updateState(r),a&&n.docChanged&&a(n.doc,n,r,t),l&&o.some(e=>e.docChanged)&&l.sendCollabChanges(r)}catch(e){e instanceof Error&&(console.error("Error applying transaction:",e),null==t||t(e))}},Fe=e=>{const{initialDocNode:t,schema:a,customPlugins:n,pluginsOptions:l,onKeyPress:r,onScrollToSelection:o,mountRef:i}=e,s=c.EditorState.create({doc:t,schema:a,plugins:xe(a,n,l)}),m=new u.EditorView({mount:i.current},{state:s,nodeViews:Oe,editable:Le(e),handleKeyDown:Me,handleKeyPress:r,handleScrollToSelection:o});return m.setProps({dispatchTransaction:Re(m,e)}),(e=>{var t;null==(t=le.getState(e.state))||t.dispatchChange(e)})(m),m},Ue=e=>{const t=Object(n.useRef)(null);return null===t.current&&(t.current=(e=>{const{nodeLabels:t,noteManager:a,customMarks:n,customNodes:l,initialContent:r,isReadOnly:o}=e,i=Object(de.b)(l,n),s=i.nodeFromJSON(r);return{schema:i,initialDocNode:o?Object(J.addTemporaryIdsToDoc)(s):s,staticContent:Object(de.G)({schema:i,doc:r,nodeLabels:t,noteManager:a})}})(e)),t.current};class Be{constructor(){this.subscribers=new Set}subscribe(e){return this.subscribers.add(e),this.unsubscribe.bind(this,e)}unsubscribe(e){this.subscribers.delete(e)}dispatch(e){this.subscribers.forEach(t=>t(e))}}var ze=Object.defineProperty,$e=Object.defineProperties,_e=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,Ve=Object.prototype.hasOwnProperty,qe=Object.prototype.propertyIsEnumerable,We=(e,t,a)=>t in e?ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ge=(e,t)=>{for(var a in t||(t={}))Ve.call(t,a)&&We(e,a,t[a]);if(He)for(var a of He(t))qe.call(t,a)&&We(e,a,t[a]);return e},Ye=(e,t)=>$e(e,_e(t));class Ke{constructor(){this._state={status:0},this.transitioned=new Be}get state(){return this._state}load(e,t){this._state={status:1,index:this.isSuggesting()?this.state.index:0,items:e,params:t},this.transitioned.dispatch(this._state.status)}next(){if(!this.isSuggesting())return;const{state:e}=this;this._state=Ye(Ge({},e),{index:e.index+1})}previous(){if(!this.isSuggesting())return;const{state:e}=this;this._state=Ye(Ge({},e),{index:e.index-1})}select(e){if(!this.isSuggesting())return;const{items:t,params:{command:a}}=this.state;a(void 0!==e&&t.includes(e)?e:this.getSelectedValue()),this.close()}close(){this._state={status:0},this.transitioned.dispatch(this._state.status)}isSuggesting(){return 1===this.state.status}getSelectedValue(){if(this.isSuggesting()){const{items:a,index:n}=this.state;return a[(e=n,t=a.length,(e%t+t)%t)]}var e,t;return null}getPosition(){if(!this.isSuggesting())return{position:"absolute",top:0,left:0};const{params:e}=this.state,t=e.view.coordsAtPos(e.range.from+1),a=e.view.dom.offsetParent.getBoundingClientRect();return{position:"absolute",top:t.bottom-a.top,left:t.left-a.left}}}var Je=a(53);a(1108);var Qe=e=>{const{nodeLabels:t,references:a,activeReference:r,onReferenceSelect:o}=e,i=Object(n.useMemo)(()=>a.map(e=>l.a.createElement(Je.u,{key:e.node.attrs.id,onClick:()=>o(e),icon:e.icon,text:Object(de.a)(e.node,Object(de.p)(e.node,t)),active:e===r})),[a,r]);return l.a.createElement(Je.t,{className:"reference-finder-component "+be.a.ELEVATION_1},i.length>0?i:l.a.createElement(Je.u,{text:"No items to reference",disabled:!0}))};a(1109);const Ze=Object(de.k)();var Xe=e=>{const{nodeLabels:t={},noteManager:a,collaborativeOptions:r,customMarks:s={},customNodes:c={},customPlugins:u={},debounceEditsMs:d=0,discussionsOptions:p,enableSuggestions:b=!1,initialContent:h,isReadOnly:g=!1,onChange:f,onError:y,onEdit:v,onKeyPress:E,onScrollToSelection:O,placeholder:w}=e,C=Object(n.useRef)(null),{suggesting:N,suggestionManager:j}=(e=>{const t=Object(n.useMemo)(()=>new Ke,[]),[a,l]=Object(n.useState)(null),r=Object(n.useCallback)(()=>l(t.isSuggesting()?t.state:null),[t]);return Object(n.useEffect)(()=>e?(t.transitioned.subscribe(r),()=>t.transitioned.unsubscribe(r)):()=>{},[t,r,e]),{suggesting:a,suggestionManager:t}})(b),{noteManager:k}=Object(i.c)(),S=a||k,P=h||Ze,{initialDocNode:D,schema:I,staticContent:T}=Ue({nodeLabels:t,noteManager:S,customNodes:c,customMarks:s,initialContent:P,
1isReadOnly:g});return(e=>{const{debounceEditsMs:t,onEdit:a,onError:l,onKeyPress:r,onScrollToSelection:o,isReadOnly:i}=e,s=Object(n.useRef)(null),[c]=Object(m.a)(a||Ae,t);Object(n.useEffect)(()=>{null===s.current&&(s.current=Fe(e))},[]),Object(n.useEffect)(()=>{var e;null==(e=s.current)||e.setProps({dispatchTransaction:Re(s.current,{onError:l,onEdit:c})})},[l,c]),Object(n.useEffect)(()=>{var e;null==(e=s.current)||e.setProps({handleKeyPress:r,handleScrollToSelection:o})},[r,o]),Object(n.useEffect)(()=>{var e;null==(e=s.current)||e.setProps({editable:Le({isReadOnly:i})})},[i]),Object(n.useEffect)(()=>()=>{var e;null==(e=s.current)||e.destroy()},[])})({customPlugins:u,pluginsOptions:{noteManager:S,discussionsOptions:p||null,collaborativeOptions:r||null,initialDoc:D,isReadOnly:g,nodeLabels:t,onChange:f,onError:y,placeholder:w,suggestionManager:j},debounceEditsMs:d,initialDocNode:D,schema:I,isReadOnly:g,onKeyPress:E,onScrollToSelection:O,onError:y,onEdit:v,mountRef:C}),l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{ref:C,className:o()("editor","ProseMirror",g&&"read-only")},T),N&&l.a.createElement("div",{style:j.getPosition()},l.a.createElement(Qe,{nodeLabels:t,references:N.items,activeReference:j.getSelectedValue(),onReferenceSelect:e=>j.select(e)})))};a(145)},function(e,t,a){"use strict";a.d(t,"a",(function(){return O})),a.d(t,"b",(function(){return M})),a.d(t,"c",(function(){return $})),a.d(t,"d",(function(){return te})),a.d(t,"e",(function(){return ae})),a.d(t,"f",(function(){return ce}));var n=a(0),l=a.n(n),r=a(4),o=a(8),i=a.n(o),s=a(186),c=a(1553),u=a(1580);const m=l.a.createContext(null),d=l.a.createContext({usePortal:!0});var p=Object.defineProperty,b=Object.defineProperties,h=Object.getOwnPropertyDescriptors,g=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,v=(e,t,a)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,E=(e,t)=>{for(var a in t||(t={}))f.call(t,a)&&v(e,a,t[a]);if(g)for(var a of g(t))y.call(t,a)&&v(e,a,t[a]);return e};const O=l.a.forwardRef((e,t)=>{const a=e,{"aria-label":o,children:p="",className:v,disclosure:O,placement:w,onDismiss:C=(()=>{}),gutter:N,unstable_fixed:j=!1,onVisibleChange:k,menuStyle:S={},menuListRef:P}=a,D=((e,t)=>{var a={};for(var n in e)f.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&g)for(var n of g(e))t.indexOf(n)<0&&y.call(e,n)&&(a[n]=e[n]);return a})(a,["aria-label","children","className","disclosure","placement","onDismiss","gutter","unstable_fixed","onVisibleChange","menuStyle","menuListRef"]),I=Object(n.useContext)(d),T=s.a({placement:w,gutter:N,unstable_preventOverflow:!1,unstable_flip:!1,unstable_fixed:j});Object(n.useEffect)(()=>{k&&k(T.visible)},[T.visible,k]);return l.a.createElement(l.a.Fragment,null,l.a.createElement(c.a,E(E({ref:t,style:{display:"inline-flex",WebkitAppearance:"unset"}},T),D),e=>{return((e,t)=>"function"==typeof e?e(t):l.a.cloneElement(e,t))(O,(t=E({},e),b(t,h({"aria-label":o}))));var t}),l.a.createElement(u.a,E({"aria-label":o,as:"ul",style:E({zIndex:20},S),className:i()(r.a.MENU,r.a.ELEVATION_1,v),unstable_portal:I.usePortal,ref:P},T),l.a.createElement(m.Provider,{value:{parentMenu:T,dismissMenu:()=>{T.hide(),C&&C()}}},p)))});var w=a(53),C=a(52),N=Object.defineProperty,j=Object.defineProperties,k=Object.getOwnPropertyDescriptors,S=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,I=(e,t,a)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,T=(e,t)=>{for(var a in t||(t={}))P.call(t,a)&&I(e,a,t[a]);if(S)for(var a of S(t))D.call(t,a)&&I(e,a,t[a]);return e},x=(e,t)=>j(e,k(t)),A=(e,t)=>{var a={};for(var n in e)P.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&S)for(var n of S(e))t.indexOf(n)<0&&D.call(e,n)&&(a[n]=e[n]);return a};const M=e=>{var t;const a=e,{placement:n,unstable_fixed:r,buttonContent:o,children:i,buttonProps:s}=a,c=A(a,["placement","unstable_fixed","buttonContent","children","buttonProps"]),u=x(T({},s),{icon:(m=null==(t=e.buttonProps)?void 0:t.icon,m&&"string"==typeof m?l.a.createElement(C.a,{icon:m}):m)});var m;return l.a.createElement(O,T({placement:n,unstable_fixed:r,disclosure:e=>{var t=e,{ref:a}=t,n=A(t,["ref"]);return l.a.createElement(w.c,x(T(T({children:o},u),n),{elementRef:a}))}},c),i)};var L=Object.defineProperty,R=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,B=(e,t,a)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,z=(e,t)=>{for(var a in t||(t={}))F.call(t,a)&&B(e,a,t[a]);if(R)for(var a of R(t))U.call(t,a)&&B(e,a,t[a]);return e};var $=e=>{const{children:t,config:a}=e,r=Object(n.useContext)(d);return l.a.createElement(d.Provider,{value:z(z({},r),a)},t)},_=a(1554),H=a(1581),V=Object.defineProperty,q=Object.defineProperties,W=Object.getOwnPropertyDescriptors,G=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,J=(e,t,a)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Q=(e,t)=>{for(var a in t||(t={}))Y.call(t,a)&&J(e,a,t[a]);if(G)for(var a of G(t))K.call(t,a)&&J(e,a,t[a]);return e},Z=(e,t)=>q(e,W(t)),X=(e,t)=>{var a={};for(var n in e)Y.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&G)for(var n of G(e))t.indexOf(n)<0&&K.call(e,n)&&(a[n]=e[n]);return a};const ee=l.a.forwardRef((e,t)=>
1{const a=e,{active:n=!1,children:o=null,className:s="",disabled:c=!1,hasSubmenu:u=!1,submenuDirection:m="right",href:d,icon:p=null,onClick:b=null,onDismiss:h=null,rightElement:g=null,target:f="_self",textClassName:y=""}=a,v=X(a,["active","children","className","disabled","hasSubmenu","submenuDirection","href","icon","onClick","onDismiss","rightElement","target","textClassName"]),E=u?l.a.createElement(w.q,{icon:"left"===m?"caret-left":"caret-right"}):g;return l.a.createElement("li",Z(Q({},v),{ref:t,onClick:e=>{b&&b(e),h&&h(),!d||e.ctrlKey||e.metaKey||e.shiftKey||window.open(d,f)}}),l.a.createElement("a",{href:d,target:f,className:i()(r.a.MENU_ITEM,c&&r.a.DISABLED,n&&r.a.ACTIVE,s)},p&&("string"==typeof p?l.a.createElement(w.q,{icon:p}):p),l.a.createElement("div",{className:i()(r.a.TEXT_OVERFLOW_ELLIPSIS,r.a.FILL,y)},o),E&&l.a.createElement("span",{className:r.a.MENU_ITEM_LABEL},E)))}),te=l.a.forwardRef((e,t)=>{const a=e,{children:r=null,text:o,dismissOnClick:i=!0,placement:s,menuStyle:c}=a,u=X(a,["children","text","dismissOnClick","placement","menuStyle"]),{dismissMenu:d,parentMenu:p}=Object(n.useContext)(m);if(r){const e=s||void 0;return l.a.createElement(O,{onDismiss:d,placement:e,menuStyle:c,disclosure:t=>l.a.createElement(_.a,Z(Q(Q(Q({as:ee},t),p),u),{style:{display:"block","-webkit-appearance":"unset"},hasSubmenu:!0,submenuDirection:(null==e?void 0:e.startsWith("left"))?"left":"right"}),o)},r)}return l.a.createElement(_.a,Z(Q(Q({as:ee,ref:t},p),u),{onDismiss:i?d:null}),o)}),ae=()=>l.a.createElement(H.a,null,e=>l.a.createElement("li",Q({className:r.a.MENU_DIVIDER},e)));var ne=Object.defineProperty,le=Object.getOwnPropertySymbols,re=Object.prototype.hasOwnProperty,oe=Object.prototype.propertyIsEnumerable,ie=(e,t,a)=>t in e?ne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,se=(e,t)=>{for(var a in t||(t={}))re.call(t,a)&&ie(e,a,t[a]);if(le)for(var a of le(t))oe.call(t,a)&&ie(e,a,t[a]);return e};const ce=e=>{const{"aria-label":t,icon:a,value:n,items:r,onSelectValue:o,buttonProps:i,className:s,placement:c,showTickIcon:u=!0,prefix:m=null,disabled:d=!1,rightIcon:p="caret-down",defaultLabel:b="Select..."}=e,h=null!==n?r.find(e=>e.value===n):null;return l.a.createElement(M,{disabled:d,"aria-label":t,buttonContent:l.a.createElement(l.a.Fragment,null,m,(null==h?void 0:h.label)||b),buttonProps:se({icon:a,rightIcon:p,outlined:!0},i),className:s,placement:c},r.map(e=>l.a.createElement(te,{key:e.value,icon:u?e===h?"tick":"blank":e.icon,active:e===h,onClick:()=>o(e.value),text:e.label,rightElement:e.rightElement})))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"c",(function(){return o})),a.d(t,"b",(function(){return i}));var n=a(0),l=a(322);const r=e=>{const{immediate:t=!1}=null!=e?e:{};return Object(n.useContext)(t?l.a:l.c)},o=()=>{const{historyData:e}=r();return e},i=()=>{const{pubData:e}=r();return e}},,,,function(e,t,a){"use strict";a.d(t,"b",(function(){return r})),a.d(t,"a",(function(){return o})),a.d(t,"e",(function(){return i})),a.d(t,"c",(function(){return s})),a.d(t,"d",(function(){return c}));var n=a(92),l=a.n(n);const r=(e,{includeTime:t=!1,includeDate:a=!0,includePreposition:n=!1,use12HourDate:r=!0,inUtcTime:o=!1}={})=>{const i=(o?"UTC:":"")+"mmm dd, yyyy",s=a?(n?"on ":"")+l()(e,i):"";if(t){return`${s} ${(n?"at ":"")+l()(e,r?"h:MM TT":"HH:MM")}`}return s},o=(e,t)=>e.toDateString()===t.toDateString(),i={minPeriod:60,formatter:(e,t,a)=>{if("second"===t)return"just now";let n=t;return e>1&&(n+="s"),`${e} ${n} ${a}`}},s=e=>{const t=l()(e,"UTC:yyyy-mm-dd"),a=new Date(t),n=new Date(e);return n.setMinutes(n.getMinutes()+a.getTimezoneOffset()),n},c=e=>!Number.isNaN(new Date(e).getTime())},function(e,t,a){"use strict";a.d(t,"g",(function(){return n})),a.d(t,"f",(function(){return l})),a.d(t,"e",(function(){return r})),a.d(t,"j",(function(){return i})),a.d(t,"a",(function(){return s})),a.d(t,"i",(function(){return c})),a.d(t,"b",(function(){return u})),a.d(t,"h",(function(){return m})),a.d(t,"c",(function(){return d})),a.d(t,"d",(function(){return p}));const n=(e,t)=>{const a=[];return e.forEach((n,l)=>{if(a.push(n),l!==e.length-1){const e=t instanceof Function?t(l):t;a.push(e)}}),a},l=(e,t)=>
1{const a={};return e.forEach(e=>{a[e[t]]=e}),a},r=e=>l(e,"id"),o=e=>e,i=(e,t=o)=>{const a=Symbol("unique"),n=[],l=new Set;return e.forEach(e=>{const r=t(e,a);l.has(r)&&r!==a||(l.add(r),n.push(e))}),n},s=(e,t,a=null)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){const l=e[n],r=t[n];if(!(a?a(l,r):l===r))return!1}return!0},c=(e,t)=>{const a=[],n=[];return e.forEach(e=>{t(e)?n.push(e):a.push(e)}),[n,a]},u=(e,t)=>e.every(e=>t.includes(e))&&t.every(t=>e.includes(t)),m=e=>e.filter(Boolean),d=(e,t)=>{const a={};return e.forEach(e=>{const n=t(e),l=a[n]||[];l.push(e),a[n]=l}),a},p=e=>e.reduce((e,t)=>[...e,...t],[])},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return o})),a.d(t,"c",(function(){return i}));var n=a(162);class l extends Error{constructor(){super(...arguments),this.name="AssertionError"}}function r(e,t=""){e||n.c(new l(t))}function o(e){return null!=e}function i(e){return r(o(e)),e}},,,function(e,t,a){"use strict";(function(e){a.d(t,"f",(function(){return l})),a.d(t,"e",(function(){return r})),a.d(t,"b",(function(){return o})),a.d(t,"g",(function(){return i})),a.d(t,"c",(function(){return s})),a.d(t,"d",(function(){return u})),a.d(t,"a",(function(){return m}));var n=a(749);const l=e=>"string"!=typeof e?(console.error("input is not a valid string"),""):Object(n.remove)(e).replace(/ /g,"-").replace(/[^a-zA-Z0-9-]/gi,"").toLowerCase(),r=(e,t)=>1===t?e:e+"s",o=e=>e.charAt(0).toUpperCase()+e.slice(1),i=e=>e.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()),s=e=>{const t=e.toLowerCase();return["a","e","i","o","u"].some(e=>t.charAt(0)===e)?"an":"a"},c=(...e)=>e.reduce((e,t)=>e+t,""),u=(e,{joiner:t=c,empty:a="",ampersand:n=!1}={})=>{const l=n?" & ":" and ",r=n?" & ":", and ";return 0===e.length?a:e.reduce((a,n,o)=>t(a,2===e.length?l:o===e.length-1?r:", ",n))},m=t=>{try{return atob(t)}catch(a){return e.from(t,"base64").toString("utf-8")}}}).call(this,a(942).Buffer)},,,function(e,t,a){"use strict";var n=a(638);a.d(t,"blockquoteToggle",(function(){return n.a})),a.d(t,"bulletListToggle",(function(){return n.b})),a.d(t,"codeBlockToggle",(function(){return n.c})),a.d(t,"heading1Toggle",(function(){return n.d})),a.d(t,"heading2Toggle",(function(){return n.e})),a.d(t,"heading3Toggle",(function(){return n.f})),a.d(t,"heading4Toggle",(function(){return n.g})),a.d(t,"heading5Toggle",(function(){return n.h})),a.d(t,"heading6Toggle",(function(){return n.i})),a.d(t,"orderedListToggle",(function(){return n.j})),a.d(t,"paragraphToggle",(function(){return n.k}));var l=a(639);a.d(t,"codeToggle",(function(){return l.a})),a.d(t,"emToggle",(function(){return l.b})),a.d(t,"linkToggle",(function(){return l.c})),a.d(t,"strikethroughToggle",(function(){return l.d})),a.d(t,"strongToggle",(function(){return l.e})),a.d(t,"subscriptToggle",(function(){return l.f})),a.d(t,"superscriptToggle",(function(){return l.g}));var r=a(640);a.d(t,"mathToggleKind",(function(){return r.a})),a.d(t,"mathToggleLabel",(function(){return r.b}));var o=a(641);a.d(t,"rtlToggle",(function(){return o.a}));var i=a(642);a.d(t,"splitBlockPreservingAttrs",(function(){return i.a}));var s=a(643);a.d(t,"tableAddColumnAfter",(function(){return s.a})),a.d(t,"tableAddColumnBefore",(function(){return s.b})),a.d(t,"tableAddRowAfter",(function(){return s.c})),a.d(t,"tableAddRowBefore",(function(){return s.d})),a.d(t,"tableDelete",(function(){return s.e})),a.d(t,"tableDeleteColumn",(function(){return s.f})),a.d(t,"tableDeleteRow",(function(){return s.g})),a.d(t,"tableMergeCells",(function(){return s.h})),a.d(t,"tableSetBreakoutSize",(function(){return s.i})),a.d(t,"tableSplitCell",(function(){return s.j})),a.d(t,"tableToggleHeaderCell",(function(){return s.k})),a.d(t,"tableToggleHeaderColumn",(function(){return s.l})),a.d(t,"tableToggleHeaderRow",(function(){return s.m})),a.d(t,"tableToggleLabel",(function(){return s.n})),a.d(t,"tableToggleSmallerFont",(function(){return s.o}));var c=a(644);a.d(t,"alignTextCenter",(function(){return c.a})),a.d(t,"alignTextLeft",(function(){return c.b})),a.d(t,"alignTextRight",(function(){return c.c}));var u=a(645);a.o(u,"createCommandSpec")&&a.d(t,"createCommandSpec",(function(){return u.createCommandSpec}));var m=a(118);a.d(t,"createCommandSpec",(function(){return m.b}))},,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));var n=(e=>(e[e.Initial=0]="Initial",e[e.Previewed=1]="Previewed",e[e.Previewing=2]="Previewing",e[e.Depositing=3]="Depositing",e[e.Deposited=4]="Deposited",e))(n||{})},function(e,t,a){"use strict";a.d(t,"a",(function(){return o}
1)),a.d(t,"b",(function(){return i})),a.d(t,"c",(function(){return s})),a.d(t,"d",(function(){return u}));var n=a(37);const l=["jpg","jpeg","png"],r=e=>{var t;if(e.startsWith("https://resize-v3.pubpub.org/"))try{const a=JSON.parse(Object(n.a)(e.replace("https://resize-v3.pubpub.org/",""))),l="https://assets.pubpub.org/"+a.key,r=null==(t=a.edits)?void 0:t.resize;return r?{assetsUrl:l,width:r.width||void 0,height:r.height||void 0,fit:r.fit||"inside"}:{assetsUrl:l}}catch(t){return{assetsUrl:e}}if(e.startsWith("https://resize.pubpub.org/")){const t=e.replace("https://resize.pubpub.org/","").split("/"),a=t.includes("fit-in")?"inside":"cover";for(let e=0;e<t.length;e++)if(/^\d+x\d+$/.test(t[e])){const[n,l]=t[e].split("x").map(Number);return{assetsUrl:"https://assets.pubpub.org/"+t.slice(e+1).join("/"),width:n||void 0,height:l||void 0,fit:a}}return{assetsUrl:e}}if(e.startsWith("https://assets.pubpub.org/")&&e.includes("?")){const[t,a]=e.split("?"),n=new URLSearchParams(a);if(n.has("width")||n.has("height")||n.has("fit"))return{assetsUrl:t}}return{assetsUrl:e}},o=e=>e?r(e).assetsUrl:"",i=(e,t,a,n)=>{const r=o(e);if(!r||!r.startsWith("https://assets.pubpub.org/"))return r||"";const i=r.split(".").pop().toLowerCase();if(-1===l.indexOf(i))return r;const s=new URLSearchParams;return a&&s.set("width",String(a)),n&&s.set("height",String(n)),s.set("fit",(e=>{switch(e){case"inside":case"contain":case"fill":return"bounds";case"cover":case"outside":return"cover";default:return"bounds"}})(t)),`${r}?${s.toString()}`},s=(e,t,a)=>[1,2,3].map(n=>{const l=i(e,t,a);return 1!==n&&l.includes("?")?`${l}&dpr=${n} ${n}x`:`${l} ${n}x`}).join(","),c=e=>{const{assetsUrl:t,width:a,height:n,fit:l}=r(e);return l?i(t,l,a,n):t},u=e=>e.replace(/https:\/\/resize-v3\.pubpub\.org\/[A-Za-z0-9+/=]+/g,e=>c(e)).replace(/https:\/\/resize\.pubpub\.org\/[^\s"'<>]+/g,e=>c(e))},,,,,function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(4),o=a(53),i=a(8),s=a.n(i),c=a(104),u={superscript:{path:l.a.createElement("path",{d:"M12.013 18.335v2.237h-3.321l-2.129-3.375-0.321-0.563c-0.080-0.094-0.121-0.188-0.147-0.281h-0.040c-0.027 0.094-0.080 0.188-0.121 0.281-0.080 0.161-0.201 0.375-0.335 0.589l-2.076 3.348h-3.455v-2.237h1.714l2.638-3.897-2.478-3.643h-1.835v-2.25h3.696l1.862 3.054c0.121 0.188 0.214 0.388 0.308 0.562 0.080 0.094 0.121 0.188 0.147 0.281h0.040c0.027-0.094 0.080-0.188 0.147-0.281l0.335-0.563 1.875-3.054h3.442v2.25h-1.674l-2.464 3.576 2.732 3.964h1.46zM20.545 9.241v2.759h-6.884l-0.040-0.362c-0.027-0.188-0.054-0.442-0.054-0.616 0-3.656 4.688-3.964 4.688-5.906 0-0.696-0.629-1.165-1.339-1.165-0.509 0-0.964 0.241-1.299 0.522-0.174 0.147-0.335 0.335-0.482 0.509l-1.406-1.232c0.241-0.335 0.509-0.616 0.844-0.884 0.563-0.442 1.379-0.871 2.518-0.871 1.942 0 3.295 1.138 3.295 2.92 0 3.214-4.446 3.482-4.634 5.397h3.107v-1.071h1.688z"}),squareViewboxDimension:24},subscript:{path:l.a.createElement("path",{d:"M12.013 18.335v2.237h-3.321l-2.129-3.375-0.321-0.563c-0.080-0.094-0.121-0.188-0.147-0.281h-0.040c-0.027 0.094-0.080 0.188-0.121 0.281-0.080 0.161-0.201 0.375-0.335 0.589l-2.076 3.348h-3.455v-2.237h1.714l2.638-3.897-2.478-3.643h-1.835v-2.25h3.696l1.862 3.054c0.121 0.188 0.214 0.388 0.308 0.562 0.080 0.094 0.121 0.188 0.147 0.281h0.040c0.027-0.094 0.080-0.188 0.147-0.281l0.335-0.563 1.875-3.054h3.442v2.25h-1.674l-2.464 3.576 2.732 3.964h1.46zM20.571 21.241v2.759h-6.884l-0.054-0.362c-0.013-0.201-0.040-0.442-0.040-0.616 0-3.656 4.688-3.964 4.688-5.906 0-0.696-0.629-1.165-1.339-1.165-0.522 0-0.964 0.241-1.299 0.522-0.174 0.147-0.335 0.335-0.482 0.509l-1.406-1.232c0.241-0.335 0.509-0.616 0.844-0.884 0.563-0.455 1.379-0.871 2.518-0.871 1.942 0 3.295 1.138 3.295 2.92 0 3.201-4.446 3.469-4.634 5.397h3.107v-1.071h1.688z"}),squareViewboxDimension:24},"list-ol":{path:l.a.createElement("path",{d:"M5.103 21.696c0 1.473-1.152 2.304-2.545 2.304-0.844 0-1.701-0.281-2.304-0.884l0.763-1.179c0.362 0.335 0.911 0.603 1.42 0.603 0.469 0 0.964-0.228 0.964-0.763 0-0.75-0.857-0.79-1.406-0.75l-0.348-0.75c0.482-0.616 0.924-1.299 1.5-1.821v-0.013c-0.429 0-0.871 0.027-1.299 0.027v0.71h-1.42v-2.036h4.46v1.179l-1.272 1.54c0.897 0.214 1.487 0.911 1.487 1.835zM5.129 13.299v2.129h-4.848c-0.040-0.241-0.080-0.482-0.080-0.723 0-2.478 3.027-2.853 3.027-3.978 0-0.455-0.281-0.696-0.723-0.696-0.469 0-0.857 0.402-1.085 0.777l-1.138-0.79c0.442-0.924 1.353-1.446 2.371-1.446 1.246 0 2.317 0.737 2.317 2.063 0 1.982
1-2.906 2.424-2.946 3.469h1.701v-0.804h1.406zM24 17.571v2.571c0 0.228-0.201 0.429-0.429 0.429h-16.286c-0.241 0-0.429-0.201-0.429-0.429v-2.571c0-0.241 0.188-0.429 0.429-0.429h16.286c0.228 0 0.429 0.188 0.429 0.429zM5.143 5.531v1.326h-4.487v-1.326h1.433c0-1.085 0.013-2.17 0.013-3.254v-0.161h-0.027c-0.147 0.295-0.415 0.496-0.67 0.723l-0.951-1.018 1.821-1.701h1.42v5.411h1.446zM24 10.714v2.571c0 0.228-0.201 0.429-0.429 0.429h-16.286c-0.241 0-0.429-0.201-0.429-0.429v-2.571c0-0.241 0.188-0.429 0.429-0.429h16.286c0.228 0 0.429 0.188 0.429 0.429zM24 3.857v2.571c0 0.228-0.201 0.429-0.429 0.429h-16.286c-0.241 0-0.429-0.201-0.429-0.429v-2.571c0-0.228 0.188-0.429 0.429-0.429h16.286c0.228 0 0.429 0.201 0.429 0.429z"}),squareViewboxDimension:24},"list-ul":{path:l.a.createElement("path",{d:"M5.143 18.857c0 1.42-1.152 2.571-2.571 2.571s-2.571-1.152-2.571-2.571 1.152-2.571 2.571-2.571 2.571 1.152 2.571 2.571zM5.143 12c0 1.42-1.152 2.571-2.571 2.571s-2.571-1.152-2.571-2.571 1.152-2.571 2.571-2.571 2.571 1.152 2.571 2.571zM24 17.571v2.571c0 0.228-0.201 0.429-0.429 0.429h-16.286c-0.228 0-0.429-0.201-0.429-0.429v-2.571c0-0.228 0.201-0.429 0.429-0.429h16.286c0.228 0 0.429 0.201 0.429 0.429zM5.143 5.143c0 1.42-1.152 2.571-2.571 2.571s-2.571-1.152-2.571-2.571 1.152-2.571 2.571-2.571 2.571 1.152 2.571 2.571zM24 10.714v2.571c0 0.228-0.201 0.429-0.429 0.429h-16.286c-0.228 0-0.429-0.201-0.429-0.429v-2.571c0-0.228 0.201-0.429 0.429-0.429h16.286c0.228 0 0.429 0.201 0.429 0.429zM24 3.857v2.571c0 0.228-0.201 0.429-0.429 0.429h-16.286c-0.228 0-0.429-0.201-0.429-0.429v-2.571c0-0.228 0.201-0.429 0.429-0.429h16.286c0.228 0 0.429 0.201 0.429 0.429z"}),squareViewboxDimension:24},admin:{path:l.a.createElement("path",{d:"M21.042 3.711c-3.165 0-6.217-1.206-8.515-3.391-0.302-0.264-0.753-0.264-1.017 0-2.298 2.185-5.35 3.391-8.515 3.391-0.414 0-0.753 0.339-0.753 0.753v11.755c0 0.435 2.24 5.755 8.289 7.422 0.078 0.023 1.426 0.414 1.507 0.414 0.099 0 1.413-0.387 1.507-0.414 5.644-1.555 8.289-6.676 8.289-7.422v-11.755c-0.038-0.414-0.377-0.753-0.791-0.753zM13.13 22.21l-1.13 0.301-1.13-0.301c-2.034-0.565-3.843-1.695-5.199-3.203 0.98-2.6 3.504-4.371 6.33-4.371s5.35 1.771 6.33 4.371c-1.356 1.507-3.165 2.637-5.199 3.203zM20.289 16.069c-0.377 0.829-0.867 1.582-1.394 2.298-0.942-2.072-2.75-3.655-4.936-4.22 1.319-0.716 2.185-2.072 2.185-3.655 0-2.298-1.846-4.144-4.144-4.144s-4.144 1.846-4.144 4.144c0 1.582 0.904 2.939 2.185 3.655-2.185 0.603-3.994 2.148-4.936 4.22-0.528-0.678-1.017-1.469-1.394-2.298v-10.889c3.052-0.151 5.953-1.319 8.289-3.316 2.336 1.997 5.237 3.165 8.289 3.316v10.889zM12 13.884c-1.884 0-3.391-1.507-3.391-3.391s1.507-3.391 3.391-3.391 3.391 1.507 3.391 3.391-1.507 3.391-3.391 3.391z"}),squareViewboxDimension:24},doc:{path:l.a.createElement("g",null,l.a.createElement("path",{key:"doc1",d:"M18 24h-14.667c-1.841 0-3.333-1.492-3.333-3.333v0-17.333c0-1.841 1.492-3.333 3.333-3.333v0h14.667c1.841 0 3.333 1.492 3.333 3.333v0 17.333c0 1.841-1.492 3.333-3.333 3.333v0zM3.333 2.667c-0.368 0-0.667 0.298-0.667 0.667v0 17.333c0 0.368 0.298 0.667 0.667 0.667v0h14.667c0.368 0 0.667-0.298 0.667-0.667v0-17.333c0-0.368-0.298-0.667-0.667-0.667v0z"}),l.a.createElement("path",{key:"doc2",d:"M10.667 8h-4c-0.736 0-1.333-0.597-1.333-1.333s0.597-1.333 1.333-1.333v0h4c0.736 0 1.333 0.597 1.333 1.333s-0.597 1.333-1.333 1.333v0z"}),l.a.createElement("path",{key:"doc3",d:"M14.667 13.333h-8c-0.736 0-1.333-0.597-1.333-1.333s0.597-1.333 1.333-1.333v0h8c0.736 0 1.333 0.597 1.333 1.333s-0.597 1.333-1.333 1.333v0z"}),l.a.createElement("path",{key:"doc4",d:"M13.333 18.667h-6.667c-0.736 0-1.333-0.597-1.333-1.333s0.597-1.333 1.333-1.333v0h6.667c0.736 0 1.333 0.597 1.333 1.333s-0.597 1.333-1.333 1.333v0z"})),squareViewboxDimension:24},toc:{path:l.a.createElement("g",null,l.a.createElement("path",{d:"M17.077 19.582h-11.538v3.033h11.538v-3.033zM24 7.451h-18.462v3.033h18.462v-3.033zM5.538 16.55h18.462v-3.033h-18.462v3.033zM5.538 1.385v3.033h18.462v-3.033h-18.462z"}),l.a.createElement("path",{d:"M2.769 2.769c0 0.765-0.62 1.385-1.385 1.385s-1.385-0.62-1.385-1.385c0-0.765 0.62-1.385 1.385-1.385s1.385 0.62 1.385 1.385z"})),squareViewboxDimension:24},doi:{path:l.a.createElement("path",{d:"M6.18 10.611c-0.404 0-0.777 0.294-1.037 0.598-0.21 0.247-0.315 0.628-0.315 0.945s0.119 0.67 0.329 0.917c0.255 0.305 0.53 0.514 0.938 0.514 0.367 0 0.802-0.154 1.054-0.405 0.255-0.251 0.468-0.673 0.468-1.039 0-0.362-0.099-0.796-0.355-1.047-0.255-0.255-0.719-0.482-1.082-0.482zM13.427 10.711c-0.42 0-0.762 0.165-1.025 0.495-0.214 0.265-0.321 0.567-0.321 0.906 0 0.343 0.107 0.647 0.321 0.912 0.264 0.33 0.605 0.495 1.025 0.495 0.375 0 0.692-0.135 0.951-0.404 0.26-0.274 0.389-0.608 0.389-1.003 0-0.391-0.132-0.721-0.395-0.99-0.259-0.274-0.574-0.411-0.945-0.411zM12.006 1.71c-5.683 0-10.291 4.607-10.291 10.291s4.607 10.291 10.291 10.291 10.291-4.607 10.291-10.291c0-5.683-4.607-10.291-10.291-10.291zM9.565 15.146h-1.906v-0.776c-0.194 0.243-0.649 0.491-0.847 0.602-0.346 0.193-0.816 0.32-1.256 0.32-0.712 0-1.346-0.225-1.902-0.715-0.663-0.585-0.974-1.479-0.974-2.442 0-0.98 0.34-1.762 1.019-2.347 0.539-0.465 1.199-0.838 1.899-0.838 0.408 0 0.91 0.037 1.269 0.209 0.206 0.099 0.574 0.331 0.793 0.558v-4.087h1.906v9.517zM16.089 14.269c-0.634 0.73-1.521 1.095-2.662 1.095-1.145 0-2.034-0.365-2.668-1.095-0.523-0.6-0.784-1.336-0.784-2.209 0-0.786 0.264-1.484 0.791-2.092 0.638-0.734 1.546-1.101 2.724-1.101 1.083 0 1.948 0.367 2.594 1.101 0.527 0.6 0.791 1.314 0.791 2.144 0 0.838-0.261 1.557-0.784 2.157zM17.697 6.002c0.222-0.222 0.492-0.334 0.809-0.334s0.587 0.111 0.809 0.334c0.222 0.218 0.334 0.486 0.334 0.803 0 0.321-0.111 0.593-0.334 0.815-0.218 0.218-0.488 0.327-0.809 0.327-0.317 0-0.587-0.111-0.809-0.334-0.218-0.222-0.327-0.492-0.327-0.809s0.109-0.585 0.327-0.803zM19.519 15.141h-2.02
16v-6.051h2.026v6.051z"}),squareViewboxDimension:24},edit2:{path:l.a.createElement("path",{d:"M23.246 3.925l-3.175-3.175c-0.461-0.459-1.096-0.742-1.798-0.742s-1.337 0.284-1.798 0.742l-13.824 13.824c-0.294 0.295-0.517 0.661-0.639 1.071l-0.005 0.018-1.947 6.729c-0.032 0.106-0.050 0.227-0.050 0.353 0 0.697 0.565 1.262 1.262 1.262 0.126 0 0.248-0.018 0.362-0.053l-0.009 0.002 6.729-1.947c0.428-0.127 0.794-0.349 1.089-0.643l-0 0 13.803-13.841c0.46-0.461 0.744-1.097 0.744-1.8s-0.284-1.339-0.744-1.8l0 0zM4.009 17.812l2.179 2.179-3.066 0.892zM8.484 18.729l-3.213-3.213 13.038-12.979 3.175 3.205z"}),squareViewboxDimension:24},facebook:{path:l.a.createElement("path",{d:"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"}),squareViewboxDimension:24},gem:{path:l.a.createElement("path",{d:"M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z"}),squareViewboxDimension:576},github:{path:l.a.createElement("path",{d:"M12 0.296c-6.627 0-12 5.372-12 12 0 5.302 3.438 9.8 8.206 11.387 0.6 0.111 0.82-0.26 0.82-0.577 0-0.286-0.011-1.231-0.016-2.234-3.339 0.726-4.043-1.416-4.043-1.416-0.546-1.387-1.332-1.756-1.332-1.756-1.089-0.745 0.082-0.729 0.082-0.729 1.205 0.085 1.839 1.237 1.839 1.237 1.070 1.834 2.807 1.304 3.492 0.997 0.108-0.775 0.418-1.305 0.762-1.605-2.666-0.303-5.467-1.332-5.467-5.93 0-1.31 0.469-2.381 1.237-3.221-0.125-0.302-0.536-1.523 0.116-3.176 0 0 1.008-0.322 3.301 1.23 0.957-0.266 1.984-0.399 3.004-0.404 1.020 0.005 2.047 0.138 3.006 0.404 2.291-1.553 3.297-1.23 3.297-1.23 0.653 1.653 0.243 2.873 0.118 3.176 0.769 0.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921 0.43 0.372 0.814 1.103 0.814 2.222 0 1.606-0.014 2.898-0.014 3.293 0 0.319 0.216 0.694 0.824 0.576 4.765-1.588 8.199-6.085 8.199-11.385 0-6.628-5.373-12-12-12z"}),squareViewboxDimension:24},"google-plus":{path:l.a.createElement("g",null,l.a.createElement("path",{key:"gp1",d:"M7.636 10.72v2.62h4.331c-0.173 1.125-1.308 3.295-4.331 3.295-2.606 0-4.734-2.161-4.734-4.823s2.128-4.823 4.734-4.823c1.486 0 2.475 0.633 3.042 1.177l2.072-1.997c-1.331-1.242-3.056-1.997-5.114-1.997-4.223 0.005-7.636 3.417-7.636 7.641s3.412 7.636 7.636 7.636c4.406 0 7.331-3.098 7.331-7.462 0-0.502-0.056-0.886-0.122-1.266h-7.209z"}),l.a.createElement("path",{key:"gp2",d:"M24 10.5h-2.25v-2.25h-2.25v2.25h-2.25v2.25h2.25v2.25h2.25v-2.25h2.25z"})),squareViewboxDimension:24},"google-scholar":{path:l.a.createElement("path",{d:"M19.042 3.997v-1.46l1.059-0.827h-11.464l-6.923 6.018h4.591c-0.008 0.114-0.012 0.217-0.012 0.334 0 1.117 0.387 2.041 1.162 2.78 0.775 0.739 1.729 1.107 2.858 1.107 0.264 0 0.523-0.020 0.774-0.055-0.156 0.348-0.234 0.671-0.234 0.972 0 0.529 0.241 1.095 0.722 1.696-2.103 0.143-3.648 0.522-4.633 1.134-0.564 0.348-1.018 0.788-1.361 1.315-0.343 0.531-0.513 1.1-0.513 1.713 0 0.517 0.111 0.983 0.333 1.397s0.513 0.754 0.874 1.017c0.36 0.266 0.776 0.488 1.244 0.668 0.468 0.179 0.933 0.306 1.397 0.379 0.462 0.072 0.922 0.107 1.378 0.107 0.722 0 1.445-0.093 2.173-0.278 0.727-0.187 1.409-0.463 2.046-0.83 0.636-0.365 1.153-0.862 1.55-1.486 0.396-0.626 0.595-1.329 0.595-2.108 0-0.59-0.121-1.128-0.362-1.615-0.24-0.486-0.533-0.887-0.882-1.198s-0.697-0.598-1.046-0.856c-0.348-0.26-0.643-0.523-0.883-0.794s-0.361-0.539-0.361-0.803c0-0.264 0.093-0.518 0.28-0.765 0.185-0.247 0.411-0.485 0.676-0.713s0.529-0.481 0.793-0.758c0.264-0.276 0.49-0.634 0.676-1.072s0.279-0.935 0.279-1.488c0-0.721-0.137-1.311-0.405-1.786-0.032-0.055-0.065-0.097-0.101-0.162l3.050-2.502v0.918c-0.396 0.050-0.355 0.287-0.355 0.57v6.89
16c0 0.319 0.261 0.581 0.581 0.581h0.214c0.319 0 0.581-0.261 0.581-0.581v-6.896c0-0.283 0.042-0.519-0.352-0.57zM13.288 15.921c0.061 0.040 0.199 0.149 0.414 0.324 0.217 0.174 0.364 0.305 0.443 0.397 0.077 0.089 0.192 0.223 0.342 0.405s0.253 0.338 0.306 0.468c0.054 0.133 0.108 0.293 0.163 0.479 0.053 0.185 0.080 0.374 0.080 0.566 0 0.914-0.352 1.591-1.054 2.029-0.703 0.438-1.542 0.658-2.516 0.658-0.492 0-0.976-0.059-1.45-0.171s-0.928-0.286-1.361-0.515c-0.433-0.228-0.781-0.547-1.045-0.954-0.265-0.41-0.397-0.88-0.397-1.407 0-0.553 0.15-1.034 0.451-1.442 0.3-0.409 0.693-0.718 1.181-0.928 0.486-0.211 0.978-0.361 1.477-0.45 0.499-0.091 1.007-0.137 1.524-0.137 0.24 0 0.425 0.013 0.558 0.037 0.024 0.012 0.162 0.111 0.415 0.298 0.252 0.186 0.409 0.3 0.469 0.342zM13.108 10.53c-0.397 0.475-0.951 0.712-1.659 0.712-0.636 0-1.195-0.255-1.676-0.767-0.482-0.51-0.827-1.090-1.037-1.738s-0.317-1.285-0.317-1.911c0-0.734 0.193-1.359 0.578-1.875 0.385-0.517 0.938-0.776 1.658-0.776 0.636 0 1.199 0.27 1.685 0.812 0.487 0.541 0.837 1.148 1.046 1.821s0.315 1.315 0.315 1.929c0 0.721-0.198 1.319-0.594 1.793z"}),squareViewboxDimension:24},instagram:{path:l.a.createElement("path",{d:"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077"}),squareViewboxDimension:24},linkedin:{path:l.a.createElement("path",{d:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"}),squareViewboxDimension:24},lock2:{path:l.a.createElement("g",null,l.a.createElement("path",{key:"lock1",d:"M5.378 23.74h13.245c0.993 0 1.806-0.813 1.806-1.806v-10.235c0-0.993-0.813-1.806-1.806-1.806h-0.301v-1.896c0-3.522-2.83-6.382-6.321-6.382s-6.321 2.86-6.321 6.382v1.896h-0.301c-0.993 0-1.806 0.813-1.806 1.806v10.235c0 0.993 0.813 1.806 1.806 1.806zM7.485 7.996c0-2.529 2.017-4.575 4.515-4.575s4.515 2.047 4.515 4.575v1.89
16h-9.031v-1.896zM5.378 11.699h13.245v10.235h-13.245v-10.235z"}),l.a.createElement("path",{key:"lock2",d:"M11.097 15.913h1.806v3.612h-1.806v-3.612z"})),squareViewboxDimension:24},mastodon:{path:l.a.createElement("path",{d:"M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"}),squareViewboxDimension:24},orcid:{path:l.a.createElement("path",{d:"M15.351 9.45c-0.296-0.138-0.575-0.231-0.84-0.274-0.264-0.045-0.688-0.067-1.274-0.067h-1.523v6.338h1.562c0.609 0 1.082-0.042 1.42-0.125s0.619-0.188 0.845-0.316c0.226-0.128 0.432-0.285 0.62-0.473 0.601-0.611 0.902-1.381 0.902-2.312 0-0.915-0.309-1.662-0.927-2.24-0.228-0.214-0.491-0.392-0.784-0.531zM12.006 1.71c-5.684 0-10.291 4.608-10.291 10.291s4.607 10.291 10.291 10.291 10.291-4.608 10.291-10.291-4.607-10.291-10.291-10.291zM8.589 16.545h-1.219v-8.522h1.219v8.522zM7.979 7.133c-0.462 0-0.839-0.374-0.839-0.839 0-0.461 0.376-0.838 0.839-0.838s0.84 0.376 0.84 0.838c-0.001 0.466-0.376 0.839-0.84 0.839zM17.995 13.922c-0.22 0.521-0.533 0.978-0.94 1.373-0.414 0.408-0.896 0.713-1.446 0.921-0.322 0.125-0.616 0.21-0.884 0.254-0.269 0.042-0.781 0.063-1.538 0.063h-2.695v-8.509h2.873c1.16 0 2.076 0.172 2.752 0.521s1.211 0.86 1.61 1.534c0.399 0.675 0.599 1.412 0.599 2.207 0.001 0.571-0.111 1.117-0.329 1.636z"}),squareViewboxDimension:24},reddit:{path:l.a.createElement("path",{d:"M6 15c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5zM15 15c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5zM15.073 18.206c0.386-0.304 0.946-0.238 1.251 0.148s0.238 0.946-0.148 1.251c-1.076 0.847-2.715 1.395-4.175 1.395s-3.1-0.548-4.175-1.395c-0.386-0.304-0.453-0.864-0.
1148-1.251s0.864-0.453 1.251-0.148c0.619 0.488 1.845 1.013 3.073 1.013s2.454-0.525 3.073-1.013zM24 12c0-1.657-1.343-3-3-3-1.128 0-2.109 0.623-2.622 1.543-1.542-0.844-3.421-1.389-5.467-1.514l1.79-4.020 3.426 0.989c0.308 0.875 1.142 1.503 2.122 1.503 1.243 0 2.25-1.007 2.25-2.25s-1.007-2.25-2.25-2.25c-0.857 0-1.602 0.479-1.982 1.184l-3.818-1.102c-0.427-0.123-0.88 0.087-1.061 0.493l-2.432 5.462c-1.995 0.141-3.826 0.68-5.335 1.506-0.512-0.92-1.495-1.542-2.622-1.542-1.657 0-3 1.343-3 3 0 1.226 0.736 2.279 1.79 2.745-0.189 0.563-0.29 1.151-0.29 1.755 0 4.142 4.701 7.5 10.5 7.5s10.5-3.358 10.5-7.5c0-0.605-0.101-1.192-0.29-1.755 1.054-0.465 1.79-1.519 1.79-2.745zM20.25 4.406c0.466 0 0.844 0.378 0.844 0.844s-0.378 0.844-0.844 0.844-0.844-0.378-0.844-0.844 0.378-0.844 0.844-0.844zM1.5 12c0-0.827 0.673-1.5 1.5-1.5 0.598 0 1.115 0.352 1.356 0.859-0.784 0.595-1.434 1.28-1.914 2.033-0.551-0.222-0.942-0.762-0.942-1.392zM12 22.219c-4.815 0-8.719-2.56-8.719-5.719s3.904-5.719 8.719-5.719c4.815 0 8.719 2.56 8.719 5.719s-3.904 5.719-8.719 5.719zM21.558 13.392c-0.48-0.753-1.13-1.438-1.914-2.033 0.241-0.507 0.758-0.859 1.356-0.859 0.827 0 1.5 0.673 1.5 1.5 0 0.63-0.39 1.17-0.942 1.392z"}),squareViewboxDimension:24},team:{path:l.a.createElement("path",{d:"M8.533 1.6c-2.347 0-4.267 1.92-4.267 4.267s1.92 4.267 4.267 4.267c2.347 0 4.267-1.92 4.267-4.267s-1.92-4.267-4.267-4.267zM17.6 2.133c-1.905 0-3.467 1.562-3.467 3.467s1.562 3.467 3.467 3.467c1.905 0 3.467-1.562 3.467-3.467s-1.562-3.467-3.467-3.467zM8.533 3.2c1.482 0 2.667 1.184 2.667 2.667s-1.184 2.667-2.667 2.667c-1.482 0-2.667-1.184-2.667-2.667s1.184-2.667 2.667-2.667zM17.6 3.733c1.040 0 1.867 0.826 1.867 1.867s-0.826 1.867-1.867 1.867c-1.040 0-1.867-0.826-1.867-1.867s0.826-1.867 1.867-1.867zM17.6 9.6c-2.252 0-4.262 0.608-5.442 1.825-1.103-0.319-2.328-0.492-3.625-0.492-2.269 0-4.324 0.53-5.875 1.442s-2.658 2.275-2.658 3.892v5.333c0 0.419 0.381 0.8 0.8 0.8h15.467c0.419-0 0.8-0.381 0.8-0.8v-3.2c1.985 0 3.538 0 6.133 0 0.419-0 0.8-0.381 0.8-0.8v-4c0-1.281-0.873-2.333-2.042-2.992s-2.69-1.008-4.358-1.008zM17.6 11.2c1.434 0 2.711 0.326 3.567 0.808s1.233 1.035 1.233 1.592v3.2h-5.333c0.106-2.306-1.107-3.513-2.658-4.425-0.163-0.096-0.335-0.188-0.508-0.275 0.859-0.514 2.182-0.9 3.7-0.9zM8.533 12.533c2.015 0 3.822 0.485 5.06
17 1.217s1.867 1.638 1.867 2.517v4.533h-13.867v-4.533c0-0.879 0.622-1.785 1.867-2.517s3.051-1.217 5.067-1.217z"}),squareViewboxDimension:24},twitter:{path:l.a.createElement("path",{d:"M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"}),squareViewboxDimension:24},prezi:{path:l.a.createElement("g",null,l.a.createElement("path",{className:"rings",d:"M6.303 11.87c-0.041 3.122 2.621 5.726 5.735 5.726s5.664-2.604 5.664-5.726c0-3.122-2.549-5.65-5.664-5.65-4.124 0-5.705 3.372-5.735 5.65zM12.038 6.833c2.776 0 4.954 2.255 4.954 5.038s-2.178 4.991-4.954 4.991c-2.776 0-5.025-2.209-5.025-4.991s2.249-5.038 5.025-5.038z"}),l.a.createElement("path",{className:"rings",d:"M4.906 11.87c0 4.037 3.376 7.053 7.131 7.053s7.036-3.103 7.036-7.053c0-3.949-3.309-7.087-7.036-7.087s-7.131 2.878-7.131 7.087zM12.037 5.423c3.219 0 6.359 2.767 6.359 6.447 0 3.705-2.848 6.376-6.359 6.376-3.671 0-6.394-2.819-6.394-6.376 0-3.692 2.882-6.447 6.394-6.447z"}),l.a.createElement("path",{className:"rings",d:"M3.525 11.874c0 4.871 3.984 8.459 8.514 8.459s8.464-3.695 8.464-8.459c0-4.764-3.94-8.497-8.464-8.497s-8.514 3.464-8.514 8.497zM12.040 4.078c4.099 0 7.748 3.356 7.748 7.795 0 4.469-3.609 7.782-7.846 7.782-4.21 0-7.755-3.491-7.755-7.782 0-4.454 3.616-7.795 7.852-7.795z"}),l.a.createElement("path",{className:"bars",d:"M11.596 7.767h0.897v8.185h-0.897z"}),l.a.createElement("path",{className:"bars",d:"M9.724 8.41c0.36-0.286 0.897-0.426 0.897-0.426v7.728c-0.509-0.121-0.891-0.416-0.891-0.416z"}),l.a.createElement("path",{className:"bars",d:"M14.377 8.392c-0.36-0.286-0.897-0.426-0.897-0.426v7.728c0.509-0.121 0.891-0.416 0.891-0.416z"}),l.a.createElement("path",{className:"bars",d:"M8.736 9.346v4.979c0 0-0.826-0.808-0.826-2.477s0.826-2.503 0.826-2.503z"}),l.a.createElement("path",{className:"bars",d:"M15.297 9.311v4.979c0 0 0.826-0.808 0.826-2.477s-0.826-2.503-0.826-2.503z"}),l.a.createElement("path",{className:"bars",d:"M16.241 3.476l1.186-2.273-1.102-0.531-0.943 2.403z"}),l.a.createElement("path",{className:"bars",d:"M14.393 2.776l0.685-2.471-1.189-0.289-0.421 2.547z"}),l.a.createElement("path",{className:"bars",d:"M12.479 2.479l0.165-2.559-1.223-0.040 0.109 2.579z"}),l.a.createElement("path",{className:"bars",d:"M10.499 2.587l-0.375-2.536-1.204 0.217 0.647 2.499z"}),l.a.createElement("path",{className:"bars",d:"M8.589 3.106l-0.896-2.402-1.132 0.464 1.155 2.308z"}),l.a.createElement("path",{className:"bars",d:"M6.833 4.012l-1.378-2.162-1.010 0.69 1.611 2.016z"}),l.a.createElement("path",{className:"bars",d:"M5.332 5.235l-1.791-1.834-0.847 0.882 1.99 1.644z"}),l.a.createElement("path",{className:"bars",d:"M4.087 6.78l-2.136-1.418-0.644 1.040 2.29 1.191z"}),l.a.createElement("path",{className:"bars",d:"M3.21 8.511l-2.381-0.95-0.417 1.15 2.486 0.696z"}),l.a.createElement("path",{className:"bars",d:"M2.7 10.419l-2.527-0.432-0.168 1.212 2.576 0.162z"}),l.a.createElement("path",{className:"bars",d:"M2.597 12.353l-2.562 0.094 0.084 1.22 2.555-0.369z"}),l.a.createElement("path",{className:"bars",d:"M2.905 14.313l-2.486 0.629 0.338 1.176 2.421-0.896z"}),l.a.createElement("path",{className:"bars",d:"M3.614 16.16l-2.299 1.134 0.576 1.079 2.18-1.382z"}),l.a.createElement("path",{className:"bars",d:"M4.692 17.816l-2.012 1.589 0.789 0.935 1.843-1.807z"}),l.a.createElement("path",{className:"bars",d:"M6.060 19.186l-1.644 1.967 0.963 0.754 1.435-2.146z"}),l.a.createElement("path",{className:"bars",d:"M7.723 20.268l-1.196 2.268 1.1 0.536 0.953-2.399z"}),l.a.createElement("path",{className:"bars",d:"M9.585 20.981l-0.691 2.469 1.188 0.292 0.427-2.546z"}),l.a.createElement("path",{className:"bars",d:"M11.537 21.284l-0.161 2.559 1.223 0.038-0.114-2.579z"}),l.a.createElement("path",{className:"bars",d:"M13.471 21.18l0.366 2.538 1.205-0.213-0.639-2.501z"}),l.a.createElement("path",{className:"bars",d:"M15.386 20.666l0.89 2.405 1.133-0.461-1.149-2.311z"}),l.a.createElement("path",{className:"bars",d:"M17.148 19.764l1.373 2.165 1.012-0.688-1.607-2.020z"}),l.a.createElement("path",{className:"bars",d:"M18.679 18.516l1.795 1.831 0.846-0.884-1.993-1.64z"}),l.a.createElement("path",{className:"bars",d:"M19.896 17.009l2.131 1.425 0.647-1.038-2.286-1.198z"}),l.a.createElement("path",{className:"bars",d:"M20.795 15.24l2.383 0.947 0.415-1.151-2.487-0.692z"}),l.a.createElement("path",{className:"bars",d:"M21.304 13.317l2.528 0.425 0.164-1.212-2.577-0.154z"}),l.a.createElement("path",{className:"bars",d:"M21.398 11.335l2.561-0.114-0.094-1.22-2.552 0.389z"}),l.a.createElement("path",{className:"bars",d:"M21.077 9.383l2.481-0.647-0.346-1.173-2.414 0.914z"}),l.a.createElement("path",{className:"bars",d:"M20.355 7.544l2.291-1.15-0.584-1.075-2.17 1.398z"}),l.a.createElement("path",{className:"bars",d:"M19.291 5.926l2.007-1.595-0.791-0.933-1.838 1.812z"}),l.a.createElement("path",{className:"bars",d:"M17.881 4.53l1.629-1.98-0.969-0.746-1.418 2.157z"})),squareViewboxDimension:24},youtube:{path:l.a.createElement("path",{d:"M23.495 6.205a3.007 3.007 0 0 0-2.088-2.088c-1.87-.501-9.396-.501-9.396-.501s-7.507-.01-9.396.501A3.007 3.007 0 0 0 .527 6.205a31.247 31.247 0 0 0-.522 5.805 31.247 31.247 0 0 0 .522 5.783 3.007 3.007 0 0 0 2.088 2.088c1.868.502 9.396.502 9.396.502s7.506 0 9.396-.502a3.007 3.007 0 0 0 2.088-2.088 31.247 31.247 0 0 0 .5-5.783 31.247 31.247 0 0 0-.5-5.805zM9.609 15.601V8.408l6.264 3.602z"}),squareViewboxDimension:24},vimeo:{path:l.a.createElement("path",{d:"M23.977 6.416c-.105 2.338-1.739 5.543-4.894 9.609-3.268 4.247-6.026 6.37-8.29 6.37-1.409 0-2.578-1.294-3.553-3.881L5.322 11.4C4.603 8.816 3.834 7.522 3.01 7.522c-.179 0-.806.378-1.881 1.132L0 7.197c1.185-1.044 2.351-2.084 3.501-3.128C5.08 2.701 6.266 1.984 7.055 1.91c1.867-.18 3.016 1.1 3.447 3.838.465 2.953.789 4.789.971 5.507.539 2.45 1.131 3.674 1.776 3.674.502 0 1.256-.796 2.265-2.385 1.004-1.589 1.54-2.797 1.612-3.628.144-1.371-.395-2.061-1.614-2.061-.574 0-1.167.121-1.777.391 1.186-3.868 3.434-5.757 6.762-5.637 2.473.06 3.628 1.664 3.493 4.797l-.013.01z"}),squareViewboxDimension:24},soundcloud:{path:l.a.createElement("path",{d:"M1.175 12.225c-.051 0-.094.046-.101.1l-.233 2.154.233 2.105c.007.058.05.098.101.098.05 0 .09-.04.099-.098l.255-2.105-.27-2.154c0-.057-.045-.1-.09-.1m-.899.828c-.06 0-.091.037-.104.094L0 14.479l.165 1.308c0 .055.045.094.09.094s.089-.045.104-.104l.21-1.319-.21-1.334c0-.061-.044-.09-.09-.09m1.83-1.229c-.061 0-.12.045-.12.104l-.21 2.563.225 2.458c0 .06.045.12.119.12.061 0 .105-.061.121-.12l.254-2.474-.254-2.548c-.016-.06-.061-.12-.12
11-.12m.945-.089c-.075 0-.135.06-.15.135l-.193 2.64.21 2.544c.016.077.075.138.149.138.075 0 .135-.061.15-.15l.24-2.532-.24-2.623c0-.075-.06-.135-.135-.135l-.031-.017zm1.155.36c-.005-.09-.075-.149-.159-.149-.09 0-.158.06-.164.149l-.217 2.43.2 2.563c0 .09.075.157.159.157.074 0 .148-.068.148-.158l.227-2.563-.227-2.444.033.015zm.809-1.709c-.101 0-.18.09-.18.181l-.21 3.957.187 2.563c0 .09.08.164.18.164.094 0 .174-.09.18-.18l.209-2.563-.209-3.972c-.008-.104-.088-.18-.18-.18m.959-.914c-.105 0-.195.09-.203.194l-.18 4.872.165 2.548c0 .12.09.209.195.209.104 0 .194-.089.21-.209l.193-2.548-.192-4.856c-.016-.12-.105-.21-.21-.21m.989-.449c-.121 0-.211.089-.225.209l-.165 5.275.165 2.52c.014.119.104.225.225.225.119 0 .225-.105.225-.225l.195-2.52-.196-5.275c0-.12-.105-.225-.225-.225m1.245.045c0-.135-.105-.24-.24-.24-.119 0-.24.105-.24.24l-.149 5.441.149 2.503c.016.135.121.24.256.24s.24-.105.24-.24l.164-2.503-.164-5.456-.016.015zm.749-.134c-.135 0-.255.119-.255.254l-.15 5.322.15 2.473c0 .15.12.255.255.255s.255-.12.255-.27l.15-2.474-.165-5.307c0-.148-.12-.27-.271-.27m1.005.166c-.164 0-.284.135-.284.285l-.103 5.143.135 2.474c0 .149.119.277.284.277.149 0 .271-.12.284-.285l.121-2.443-.135-5.112c-.012-.164-.135-.285-.285-.285m1.184-.945c-.045-.029-.105-.044-.165-.044s-.119.015-.165.044c-.09.054-.149.15-.149.255v.061l-.104 6.048.115 2.449v.008c.008.06.03.135.074.18.058.061.142.104.234.104.08 0 .158-.044.209-.09.058-.06.091-.135.091-.225l.015-.24.117-2.203-.135-6.086c0-.104-.061-.193-.135-.239l-.002-.022zm1.006-.547c-.045-.045-.09-.061-.15-.061-.074 0-.149.016-.209.061-.075.061-.119.15-.119.24v.029l-.137 6.609.076 1.215.061 1.185c0 .164.148.314.328.314.181 0 .33-.15.33-.329l.15-2.414-.15-6.637c0-.12-.074-.221-.165-.277m8.934 3.777c-.405 0-.795.086-1.139.232-.24-2.654-2.46-4.736-5.188-4.736-.659 0-1.305.135-1.889.359-.225.09-.27.18-.285.359v9.368c.016.18.15.33.33.345h8.185C22.681 17.218 24 15.914 24 14.28s-1.319-2.952-2.938-2.952"}),squareViewboxDimension:24},spotify:{path:l.a.createElement("path",{d:"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"}),squareViewboxDimension:24},slideshare:{path:l.a.createElement("g",null,l.a.createElement("path",{className:"a",strokeLinejoin:"miter",strokeLinecap:"butt",strokeMiterlimit:"10",strokeWidth:"1",d:"M2.4 12.6v-9.6c0-1.020 0.84-1.8 1.8-1.8h15.6c1.020 0 1.8 0.78 1.8 1.8v9.6"}),l.a.createElement("path",{className:"b",d:"M12.6 9.6c0-1.68 1.32-3 3-3s3 1.32 3 3-1.32 3-3 3-3-1.32-3-3zM23.88 10.56c0.060-0.12 0.12-0.18 0.12-0.36 0-0.36-0.24-0.6-0.6-0.6-0.12 0-0.24 0.060-0.36 0.12v0c0 0 0 0 0 0s-0.060 0.060-0.060 0.060c-0.54 0.54-3.66 3.42-6.78 3.42h-2.22c-0.78 0-1.38 0.66-1.38 1.38v6.66c0 1.2 0.96 2.16 2.16 2.16h0.78c2.34 0 4.32-1.92 4.32-4.32 0 0 0.060-2.16-0.84-3.6 1.86-0.78 4.56-3.72 4.86-4.92z"}),l.a.createElement("path",{className:"c",d:"M12.6 16.020v2.46c1.14-0.36 3.72-1.5 3.6-4.080-1.5 1.44-2.82 1.68-3.6 1.62z"}),l.a.createElement("path",{className:"d",d:"M8.4 6.6c1.68 0 3 1.32 3 3s-1.32 3-3 3-3-1.32-3-3 1.32-3 3-3zM16.2 14.4c0-0.36-0.24-0.6-0.6-0.6-0.24 0-0.48 0.18-0.54 0.36v0c-0.66 1.2-1.98 1.92-4.080-0.66v0.060c-0.24-0.24-0.6-0.36-0.96-0.36h-2.22c-3.12 0-6.24-2.88-6.78-3.42 0 0-0.060-0.060-0.060-0.060s0 0 0 0v0c-0.12-0.060-0.24-0.12-0.36-0.12-0.36 0-0.6 0.24-0.6 0.6 0 0.12 0.060 0.24 0.12 0.36 0.3 1.2 3 4.2 4.92 4.92-0.9 1.5-0.84 3.6-0.84 3.6 0 2.34 1.92 4.32 4.32 4.32h0.78c1.2 0 2.16-0.96 2.16-2.16v-4.56c1.2 0.54 3.84 0.78 4.68-1.98 0-0.060 0.060-0.18 0.060-0.3z"})),squareViewboxDimension:24},codepen:{path:l.a.createElement("path",{d:"M24 8.182l-.018-.087-.017-.05c-.01-.024-.018-.05-.03-.075-.003-.018-.015-.034-.02-.05l-.035-.067-.03-.05-.044-.06-.046-.045-.06-.045-.046-.03-.06-.044-.044-.04-.015-.02L12.58.19c-.347-.232-.796-.232-1.142 0L.453 7.502l-.015.015-.044.035-.
106.05-.038.04-.05.056-.037.045-.05.06c-.02.017-.03.03-.03.046l-.05.06-.02.06c-.02.01-.02.04-.03.07l-.01.05C0 8.12 0 8.15 0 8.18v7.497c0 .044.003.09.01.135l.01.046c.005.03.01.06.02.086l.015.05c.01.027.016.053.027.075l.022.05c0 .01.015.04.03.06l.03.04c.015.01.03.04.045.06l.03.04.04.04c.01.013.01.03.03.03l.06.042.04.03.01.014 10.97 7.33c.164.12.375.163.57.163s.39-.06.57-.18l10.99-7.28.014-.01.046-.037.06-.043.048-.036.052-.058.033-.045.04-.06.03-.05.03-.07.016-.052.03-.077.015-.045.03-.08v-7.5c0-.05 0-.095-.016-.14l-.014-.045.044.003zm-11.99 6.28l-3.65-2.44 3.65-2.442 3.65 2.44-3.65 2.44zm-1.034-6.674l-4.473 2.99L2.89 8.362l8.086-5.39V7.79zm-6.33 4.233l-2.582 1.73V10.3l2.582 1.726zm1.857 1.25l4.473 2.99v4.82L2.89 15.69l3.618-2.417v-.004zm6.537 2.99l4.474-2.98 3.613 2.42-8.087 5.39v-4.82zm6.33-4.23l2.583-1.72v3.456l-2.583-1.73zm-1.855-1.24L13.042 7.8V2.97l8.085 5.39-3.612 2.415v.003z"}),squareViewboxDimension:24},unsplash:{path:l.a.createElement("path",{d:"M15.6,13.575 C15.6,15.6 13.95,17.175 12,17.175 C10.05,17.175 8.4,15.6 8.4,13.575 C8.4,11.55 10.05,9.975 12,9.975 C14.025,10.05 15.6,11.625 15.6,13.575 Z M24,8.025 L24,19.2 C24,20.925 22.575,22.425 20.775,22.425 L3.225,22.425 C1.425,22.425 0,21 0,19.2 L0,7.95 C0,6.225 1.425,4.725 3.225,4.725 L6,4.725 L6.6,3 C6.9,2.175 7.875,1.5 8.775,1.5 L15.225,1.5 C16.125,1.5 17.1,2.175 17.4,3 L18,4.8 L20.775,4.8 C22.575,4.8 24,6.225 24,8.025 Z M17.55,13.65 C17.55,10.575 15.075,8.025 11.925,8.025 C8.85,8.025 6.3,10.575 6.3,13.65 C6.3,16.725 8.775,19.275 11.925,19.275 C15.075,19.2 17.55,16.725 17.55,13.65 Z"}),squareViewboxDimension:24},googlemaps:{path:l.a.createElement("g",null,l.a.createElement("path",{className:"a",d:"M1.832 2.978h17.357c1.012 0 1.832 0.82 1.832 1.832v17.357c0 1.012-0.82 1.832-1.832 1.832h-17.357c-1.012 0-1.832-0.82-1.832-1.832v-17.357c0-1.012 0.82-1.832 1.832-1.832z"}),l.a.createElement("path",{className:"b",d:"M10.65 13.297l-10.14 10.14c0.333 0.347 0.801 0.563 1.322 0.563h17.357c0.592 0 1.116-0.28 1.45-0.713z"}),l.a.createElement("path",{className:"c",d:"M17.738 0.036c-3.241 0-5.868 2.508-5.868 5.602 0.002 0.966 0.232 1.915 0.732 2.754v0c0.151 0.246 0.291 0.492 0.416 0.737 0.117 0.175 0.228 0.352 0.332 0.527 0.12 0.167 0.236 0.335 0.346 0.503 0.458 0.619 0.875 1.225 1.272 1.808 0.277 0.446 0.589 0.923 0.862 1.396 0.827 1.432 1.402 2.83 1.609 4.867 0 0.001 0 0.003 0 0.004 0.063 0.144 0.18 0.233 0.307 0.233 0.141-0 0.269-0.11 0.325-0.279 0.211-2.014 0.783-3.403 1.604-4.825 0.274-0.472 0.585-0.95 0.862-1.396 0.398-0.582 0.814-1.189 1.272-1.808 0.11-0.169 0.226-0.337 0.346-0.503 0.105-0.176 0.216-0.352 0.332-0.527 0.125-0.245 0.266-0.491 0.416-0.737v0c0.499-0.84 0.7-1.789 0.701-2.754 0-3.094-2.627-5.602-5.868-5.602z"}),l.a.createElement("path",{className:"d",d:"M19.777 5.637c0 1.075-0.913 1.946-2.039 1.946s-2.039-0.871-2.039-1.946c0-1.075 0.913-1.946 2.039-1.946s2.039 0.871 2.039 1.946z"}),l.a.createElement("path",{className:"e",d:"M4.992 5.036c-1.634 0-2.958 1.348-2.958 3.010s1.324 3.010 2.958 3.010c1.064 0 1.681-0.335 2.216-0.88s0.73-1.369 0.73-2.2c0-0.127-0.008-0.253-0.022-0.378h-2.888v1.064h1.696c-0.069 0.265-0.186 0.507-0.37 0.694-0.33 0.335-0.709 0.542-1.365 0.542-1.006 0-1.822-0.83-1.822-1.854s0.816-1.854 1.822-1.854c0.489 0 0.916 0.142 1.254 0.452l0.833-0.833c-0-0-0.001-0.001-0.001-0.001-0.556-0.533-1.266-0.775-2.083-0.775zM6.541 7.016c0 0.001 0.001 0.002 0.001 0.002v-0.001z"}),l.a.createElement("path",{className:"f",d:"M13.695 10.159l-2.791 2.791 9.961 9.961c0.1-0.227 0.157-0.478 0.157-0.743v-10.901c-0.164 0.236-0.327 0.472-0.483 0.701-0.277 0.446-0.589 0.923-0.862 1.396-0.821 1.422-1.393 2.812-1.604 4.825-0.057 0.169-0.184 0.279-0.325 0.279-0.127-0-0.244-0.089-0.307-0.233-0-0.001-0-0.003-0-0.004-0.207-2.037-0.782-3.435-1.609-4.867-0.274-0.472-0.585-0.95-0.862-1.396-0.398-0.582-0.814-1.189-1.272-1.808-0-0-0.001-0.001-0.001-0.001z"}),l.a.createElement("path",{className:"g",d:"M12.926 8.958l-12.926 12.926v0.284c0 1.015 0.817 1.832 1.833 1.832h0.355l12.476-12.476c-0.307-0.446-0.623-0.9-0.967-1.364-0.11-0.169-0.226-0.337-0.346-0.503-0.105-0.176-0.216-0.352-0.332-0.527-0.029-0.057-0.062-0.114-0.092-0.171z"}),l.a.createElement("path",{className:"h",d:"M12.581 13.361l-2.152 2.152 8.487 8.487h0.273c1.015 0 1.832-0.817 1.832-1.832v-0.366z"})),squareViewboxDimension:24},giphy:{path:l.a.createElement("g",null,l.a.createElement("path",{className:"a",d:"M1.967 2.71h2.447l0 19.101h-2.447l-0-19.101z"}),l.a.createElement("path",{className:"b",d:"M19.102 7.605l2.45-0-0 14.204-2.45 0 0-14.204z"}),l.a.createElement("path",{className:"c",d:"M1.966 21.806l19.586-0 0 2.45-19.586 0-0-2.45z"}),l.a.createElement("path",{className:"d",d:"M1.966 0.261h12.241l0 2.45h-12.241l-0-2.45z"}),l.a.createElement("path",{className:"e",d:"M14.208 7.603l7.347-0 0.001-2.448-2.451-0.001 0.001-2.448-2.448-0.001 0.001-2.448-2.451-0.001z"}),l.a.createElement("path",{className:"f",d:"M19.105 7.604l2.45-0 0 2.45-2.45 0-0-2.45z"})),squareViewboxDimension:24},download2:{path:l.a.createElement("path",{d:"M28.963 11.37h-7.407v-11.111h-11.111v11.111h-7.407l12.963 12.963 12.963-12.963zM3.037 28.037v3.704h25.926v-3.704h-25.926z"}),squareViewboxDimension:32},share2:{path:l.a.createElement("path",{d:"M25.524 22.54c-1.206 0-2.286 0.476-3.111 1.222l-11.317-6.587c0.079-0.365 0.143-0.73 0.143-1.111s-0.063-0.746-0.143-1.111l11.19-6.524c0.857 0.794 
11.984 1.286 3.238 1.286 2.635 0 4.762-2.127 4.762-4.762s-2.127-4.762-4.762-4.762c-2.635 0-4.762 2.127-4.762 4.762 0 0.381 0.064 0.746 0.143 1.111l-11.191 6.524c-0.857-0.794-1.984-1.286-3.238-1.286-2.635 0-4.762 2.127-4.762 4.762s2.127 4.762 4.762 4.762c1.254 0 2.381-0.492 3.238-1.286l11.302 6.603c-0.079 0.333-0.127 0.683-0.127 1.032 0 2.556 2.079 4.635 4.635 4.635s4.635-2.079 4.635-4.635c0-2.556-2.079-4.635-4.635-4.635z"}),squareViewboxDimension:32},metrics:{path:l.a.createElement("path",{d:"M0 9.6h6.857v22.4h-6.857v-22.4zM12.8 0h6.4v32h-6.4v-32zM25.6 18.286h6.4v13.714h-6.4v-13.714z"}),squareViewboxDimension:32},cite:{path:l.a.createElement("g",null,l.a.createElement("path",{d:"M5.56 22.286v-2.548h-2.039v-15.476h2.039v-2.548h-5.56v20.573h5.56zM24 22.286v-20.573h-5.583v2.548h2.039v15.476h-2.039v2.548h5.583z"}),l.a.createElement("path",{d:"M13.918 5.993l-0.421 3.1h-2.409l0.438-3.1h-1.348l-0.421 3.1h-1.702v1.23h1.516l-0.404 2.982h-1.668v1.23h1.483l-0.438 3.083h1.331l0.438-3.083h2.393l-0.438 3.083h1.348l0.421-3.083h1.719v-1.23h-1.533l0.404-2.982h1.685v-1.23h-1.483l0.421-3.1h-1.331zM10.902 10.324h2.393l-0.388 2.982h-2.409l0.404-2.982z"})),squareViewboxDimension:24},tag2:{path:l.a.createElement("g",null,l.a.createElement("path",{d:"M23.539 11.265l-10.77-10.812c-0.288-0.29-0.681-0.453-1.090-0.453h-10.129c-0.849 0-1.538 0.689-1.538 1.54v10.128c0 0.409 0.163 0.8 0.451 1.089l10.792 10.793c0.3 0.3 0.694 0.45 1.087 0.45s0.787-0.15 1.087-0.45l10.107-10.108c0.6-0.6 0.601-1.575 0.002-2.177zM19.858 12.88l-6.986 6.986c-0.293 0.293-0.767 0.293-1.059 0l-8.803-8.804v-7.313c0-0.414 0.335-0.75 0.748-0.75h7.316l8.785 8.82c0.293 0.293 0.291 0.767-0.001 1.060z"}),l.a.createElement("path",{d:"M10.502 8.25c0 1.243-1.007 2.25-2.248 2.25s-2.248-1.008-2.248-2.25c0-1.243 1.006-2.25 2.248-2.25s2.248 1.008 2.248 2.25z"})),squareViewboxDimension:24},return:{path:l.a.createElement("g",null,l.a.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 1C8.725 1 8.5 1.225 8.5 1.5V4C8.5 5.105 7.605 6 6.5 6H2.205L3.35 4.855C3.445 4.765 3.5 4.64 3.5 4.5C3.5 4.225 3.275 4 3 4C2.86 4 2.735 4.055 2.645 4.145L0.645 6.145C0.555 6.235 0.5 6.36 0.5 6.5C0.5 6.64 0.555 6.765 0.645 6.855L2.645 8.855C2.735 8.945 2.86 9 3 9C3.275 9 3.5 8.775 3.5 8.5C3.5 8.36 3.445 8.235 3.355 8.145L2.205 7H6.5C8.155 7 9.5 5.655 9.5 4V1.5C9.5 1.225 9.275 1 9 1Z"})),squareViewboxDimension:10},collection:{path:l.a.createElement("g",null,l.a.createElement("path",{d:"M5.5138 0.0952148H1.71475C0.821989 0.0952148 0.0957031 0.821501 0.0957031 1.71426V5.51312C0.0957031 6.40588 0.821989 7.13217 1.71475 7.13217H5.5138C6.40656 7.13217 7.13285 6.40588 7.13285 5.51312V1.71426C7.13285 0.821501 6.40656 0.0952148 5.5138 0.0952148ZM5.56142 4.51312C5.56142 5.09083 5.09151 5.56074 4.5138 5.56074L2.71475 5.56074C2.13704 5.56074 1.66713 5.09083 1.66713 4.51312V2.71426C1.66713 2.13655 2.13704 1.66664 2.71475 1.66664H4.5138C5.09151 1.66664 5.56142 2.13655 5.56142 2.71426V4.51312Z"}),l.a.createElement("path",{d:"M14.4181 0H10.619C9.72629 0 9 0.726286 9 1.61905V5.4179C9 6.31067 9.72629 7.03695 10.619 7.03695H14.4181C15.3109 7.03695 16.0371 6.31067 16.0371 5.4179V1.61905C16.0371 0.726286 15.3109 0 14.4181 0ZM14.4657 4.4179C14.4657 4.99562 13.9958 5.46552 13.4181 5.46552L11.619 5.46552C11.0413 5.46552 10.5714 4.99562 10.5714 4.4179V2.61905C10.5714 2.04133 11.0413 1.57143 11.619 1.57143H13.4181C13.9958 1.57143 14.4657 2.04133 14.4657 2.61905V4.4179Z"}),l.a.createElement("path",{d:"M14.4181 9H10.619C9.72629 9 9 9.72629 9 10.619V14.4179C9 15.3107 9.72629 16.037 10.619 16.037H14.4181C15.3109 16.037 16.0371 15.3107 16.0371 14.4179V10.619C16.0371 9.72629 15.3109 9 14.4181 9ZM14.4657 13.4179C14.4657 13.9956 13.9958 14.4655 13.4181 14.4655L11.619 14.4655C11.0413 14.4655 10.5714 13.9956 10.5714 13.4179V11.619C10.5714 11.0413 11.0413 10.5714 11.619 10.5714H13.4181C13.9958 10.5714 14.4657 11.0413 14.4657 11.619V13.4179Z"}),l.a.createElement("path",{d:"M5.4181 9H1.61905C0.726286 9 0 9.72629 0 10.619V14.4179C0 15.3107 0.726286 16.037 1.61905 16.037H5.4181C6.31086 16.037 7.03714 15.3107 7.03714 14.4179V10.619C7.03714 9.72629 6.31086 9 5.4181 9ZM5.46571 13.4179C5.46571 13.9956 4.99581 14.4655 4.4181 14.4655L2.61905 14.4655C2.04133 14.4655 1.57143 13.9956 1.57143 13.4179V11.619C1.57143 11.0413 2.04133 10.5714 2.61905 10.5714H4.4181C4.99581 10.5714 5.46571 11.0413 5.46571 11.619V13.4179Z"})),squareViewboxDimension:16},pubDoc:{path:l.a.createElement("g",null,l.a.createElement("path",{d:"M0 1.90137C0 0.850737 0.846947 0 1.89189 0H16.1072C17.1559 0 17.9991 0.851684 17.9991 1.90137V16.0977C17.9991 17.1483 17.1521 17.9991 16.1072 17.9991H1.89189C0.843158 17.9991 0 17.1474 0 16.0977V1.90137ZM1.94737 15.11C1.94737 15.6311 2.37842 16.0526 2.89474 16.0526H15.1053C15.6282 16.0526 16.0526 15.6216 16.0526 15.11V2.89095C16.0526 2.36989 15.6216 1.94832 15.1053 1.94832H2.89474C2.37179 1.94832 1.94737 2.37937 1.94737 2.89095V15.11ZM3.78947 4.73684V6.68421H14.2105V4.73684H3.78947ZM3.78947 8.52632V10.4737H12.3158V8.52632H3.78947Z"})),squareViewboxDimension:18},pubDocNew:{path:l.a.createElement("g",null,l.a.createElement("path",{d:"M2.32,2.89H8.68v1.2H2.32Zm0,3.51H7.53V5.21H2.32ZM11,1.16A1.16,1.16,0,0,0,9.84,0H1.16A1.16,1.16,0,0,0,0,1.16V9.84A1.16,1.16,0,0,0,1.16,11H6.63V9.81H1.77a.58.58,0,0,1-.58-.58V1.77a.58.58,0,0,1,.58-.58H9.23a.58.58,0,0,1,.58.58v4.9H11V10a1.42,1.42,0,0,0,0-.2ZM9.83,11V7.59H8.64V11Zm1.11-2.3H7.53V9.89h3.41Z"})),squareViewboxDimension:11}
1,chat2:{path:l.a.createElement("g",null,l.a.createElement("path",{d:"M22 15V5C22 4.172 21.663 3.42 21.121 2.879C20.579 2.338 19.828 2 19 2H5C4.172 2 3.42 2.337 2.879 2.879C2.338 3.421 2 4.172 2 5V21C2 21.256 2.098 21.512 2.293 21.707C2.684 22.098 3.317 22.098 3.707 21.707L7.414 18H19C19.828 18 20.58 17.663 21.121 17.121C21.662 16.579 22 15.828 22 15ZM19 14C19 14.276 18.889 14.525 18.707 14.707C18.525 14.889 18.276 15 18 15H12H7C6.724 15 6.474 15.112 6.293 15.293L5 16.586V6C5 5.724 5.111 5.475 5.293 5.293C5.475 5.111 5.724 5 6 5H18C18.276 5 18.525 5.111 18.707 5.293C18.889 5.475 19 5.724 19 6V14Z"})),squareViewboxDimension:24},home2:{path:l.a.createElement("g",null,l.a.createElement("path",{d:"M0.386 7.21099C0.15 7.39499 0 7.67999 0 7.99999V19C0 19.828 0.337 20.58 0.879 21.121C1.421 21.662 2.172 22 3 22H17C17.828 22 18.58 21.663 19.121 21.121C19.662 20.579 20 19.828 20 19V7.99999C19.999 7.69999 19.866 7.40699 19.614 7.21099L10.614 0.210993C10.256 -0.0640067 9.753 -0.0740067 9.386 0.210993L0.386 7.21099ZM4 19C3.724 19 3.475 18.889 3.293 18.707C3.111 18.525 3 18.276 3 18V8.48899L10 3.26699L17 8.48899V18C17 18.276 16.889 18.525 16.707 18.707C16.525 18.889 16.276 19 16 19C8.08011 19 10.0667 19 4 19Z"})),squareViewboxDimension:24},at:{path:l.a.createElement("text",{fontSize:"22px",style:{fontSize:22,fontFamily:"'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Open Sans', 'Helvetica Neue', sans-serif"},transform:"translate(0, 16)"},"@"),squareViewboxDimension:20},overview:{path:l.a.createElement("path",{d:"M12.88 6.62H2.96v1.42h9.91V6.62zm0-2.83H2.96v1.42h9.91V3.79zm0-2.83H2.96v1.41h9.91V.96zM1.54.96H.12v1.41h1.42V.96zm0 7.08V6.62H.12v1.42h1.42zm0-4.25H.12v1.42h1.42V3.79z"}),viewbox:"0 -2 9 13"},rtl:{path:l.a.createElement("path",{d:"M15.5,0H6C3.2,0,1,2.2,1,5s2.2,5,5,5v6.5c0,.8,.7,1.5,1.5,1.5s1.5-.7,1.5-1.5V3h2v13.5c0,.8,.7,1.5,1.5,1.5s1.5-.7,1.5-1.5V3h1.5c.8,0,1.5-.7,1.5-1.5s-.7-1.5-1.5-1.5ZM0,15.4c0,.12,.07,.23,.18,.3h0l3,2h0c.09,.05,.2,.09,.32,.09,.28,0,.5-.18,.5-.4v-4c0-.22-.22-.4-.5-.4-.12,0-.23,.04-.32,.1h0L.18,15.09h0C.08,15.17,0,15.28,0,15.4Z"}),viewbox:"0 0 17 18"},palette:{path:l.a.createElement("path",{d:"M12,0C5.37,0,0,5.03,0,11.31s5.37,11.9,12,11.9c.96,0,2.67-.14,2.88-1.35,.28-1.6-1.22-2.03-2.05-2.86-1.36-1.36-.64-3.49,1.73-3.49h5.78c1.08,0,3.7,.21,3.66-4.06,0-6.28-5.37-11.44-12-11.44h0ZM5.1,15.03c-1.04,0-1.89-.85-1.89-1.89s.85-1.89,1.89-1.89,1.89,.85,1.89,1.89c0,1.04-.85,1.89-1.89,1.89Zm2.15-6.34c-1.04,0-1.89-.85-1.89-1.89s.85-1.89,1.89-1.89,1.89,.85,1.89,1.89c0,1.04-.84,1.89-1.89,1.89Zm6.83-1.65c-1.04,0-1.89-.85-1.89-1.89s.85-1.89,1.89-1.89,1.89,.85,1.89,1.89c0,1.04-.85,1.89-1.89,1.89Zm4.81,4.94c-1.04,0-1.89-.85-1.89-1.89s.85-1.89,1.89-1.89,1.89,.85,1.89,1.89-.84,1.89-1.89,1.89Z"}),squareViewboxDimension:24},bluesky:{path:l.a.createElement("path",{d:"M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.565.139 1.908 0 3.08 0 3.768c0 .69.378 5.65.624 6.479.815 2.736 3.713 3.66 6.383 3.364.136-.02.275-.039.415-.056-.138.022-.276.04-.415.056-3.912.58-7.387 2.005-2.83 7.078 5.013 5.19 6.87-1.113 7.823-4.308.953 3.195 2.05 9.271 7.733 4.308 4.267-4.308 1.172-6.498-2.74-7.078a8.741 8.741 0 0 1-.415-.056c.14.017.279.036.415.056 2.67.297 5.568-.628 6.383-3.364.246-.828.624-5.79.624-6.478 0-.69-.139-1.861-.902-2.206-.659-.298-1.664-.62-4.3 1.24C16.046 4.748 13.087 8.687 12 10.8Z"}),squareViewboxDimension:24},linkedIn:{path:l.a.createElement("path",{d:"M22.676 0H1.324C.593 0 0 .593 0 1.324v21.352C0 23.408.593 24 1.324 24h11.494v-9.294H9.689v-3.621h3.129V8.41c0-3.099 1.894-4.785 4.659-4.785 1.325 0 2.464.097 2.796.141v3.24h-1.921c-1.5 0-1.792.721-1.792 1.771v2.311h3.584l-.465 3.63H16.56V24h6.115c.733 0 1.325-.592 1.325-1.324V1.324C24 .593 23.408 0 22.676 0"}),squareViewBoxDimension:24}};a(1059);t.a=e=>{const{ariaHidden:t=!0,ariaLabel:a="",className:n,color:i,iconSize:m=16,useColor:d=!1,intent:p}=e,b="icon"in e?e.icon:c.a[e.pubPubIcon];if(u[b]){const{squareViewboxDimension:e,path:o,viewbox:c}=u[b],p=c||`0 0 ${e} ${e}`;return l.a.createElement("span",{className:s()(r.a.ICON,d&&"color",n),"data-icon":b.toLowerCase().replace(/_/gi,"-"),"aria-label":a,"aria-hidden":t},l.a.createElement("svg",{width:m+"px",height:m+"px",viewBox:p,fill:null!=i?i:void 0},o))}return l.a.createElement(o.q,{icon:b,color:null!=i?i:void 0,iconSize:m,className:n,title:t?null:a,intent:p})}},,,function(e,t,a){"use strict";a.d(t,"s",(function(){return r})),a.d(t,"k",(function(){return o.b})),a.d(t,"z",(function(){return o.c})),a.d(t,"A",(function(){return o.d})),a.d(t,"j",(function(){return o.a})),a.d(t,"I",(function(){return m})),a.d(t,"d",(function(){return d})),a.d(t,"m",(function(){return p})),a.d(t,"B",(function(){return C.a})),a.d(t,"h",(function(){return N})),a.d(t,"J",(function(){return T})),a.d(t,"x",(function(){return x})),a.d(t,"y",(function(){return A})),a.d(t,"q",(function(){return R})),a.d(t,"a",(function(){return F.a})),a.d(t,"l",(function(){return F.c})),a.d(t,"r",(function(){return F.e})),a.d(t,"i",(function(){return F.b})),a.d(t,"p",(function(){return F.d}
1)),a.d(t,"G",(function(){return be})),a.d(t,"b",(function(){return he.a})),a.d(t,"f",(function(){return he.b})),a.d(t,"D",(function(){return fe})),a.d(t,"C",(function(){return ye})),a.d(t,"g",(function(){return ve})),a.d(t,"e",(function(){return we})),a.d(t,"n",(function(){return Ce})),a.d(t,"u",(function(){return Ne})),a.d(t,"v",(function(){return je})),a.d(t,"t",(function(){return ke})),a.d(t,"w",(function(){return Se})),a.d(t,"H",(function(){return Pe})),a.d(t,"F",(function(){return De})),a.d(t,"c",(function(){return Ie})),a.d(t,"o",(function(){return Te})),a.d(t,"E",(function(){return xe})),a.d(t,"K",(function(){return Ae}));var n=a(126),l=a(38);const r=(e,t,a,r)=>{return o=null,i=null,s=function*(){const o=(yield e.child("changes").orderByKey().startAt(a.toString()).endAt(r.toString()).once("value")).val();return o?Object.keys(o).sort((e,t)=>parseInt(e,10)-parseInt(t,10)).map(e=>o[e]).map(e=>e.s.map(e=>l.Step.fromJSON(t,Object(n.uncompressStepJSON)(e)))):[]},new Promise((e,t)=>{var a=e=>{try{l(s.next(e))}catch(e){t(e)}},n=e=>{try{l(s.throw(e))}catch(e){t(e)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,n);l((s=s.apply(o,i)).next())});var o,i,s};var o=a(212),i=a(278),s=a.n(i),c=a(6);const u={".sv":"timestamp"},m=(e,t,a)=>{return n=null,l=null,r=function*(){try{yield c.a.post("/api/draftCheckpoint",{pubId:e,historyKey:a,doc:t.toJSON()})}catch(e){console.error("Failed to store checkpoint:",e)}},new Promise((e,t)=>{var a=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,o);i((r=r.apply(n,l)).next())});var n,l,r},d=(e,t)=>({id:s.a.v4(),cId:t,s:e.map(e=>Object(n.compressStepJSON)(e.toJSON())),t:u}),p=e=>e.root.child(".info/connected");var b=a(13),h=Object.defineProperty,g=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,v=(e,t,a)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,E=(e,t)=>{for(var a in t||(t={}))f.call(t,a)&&v(e,a,t[a]);if(g)for(var a of g(t))y.call(t,a)&&v(e,a,t[a]);return e},O=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const w=(e,t)=>a=>O(null,null,(function*(){const n=e(a.child("changes").orderByKey()).once("value"),l=e(a.child("merges").orderByKey()).once("value"),[r,o]=yield Promise.all([n,l]),i=E(E({},r.val()),o.val()),s=Object.keys(i).map(e=>parseInt(e,10)),c=t(s),u=i[c],m=Array.isArray(u)?u[u.length-1]:u;return{key:c,timestamp:m&&m.t}}));w(e=>e.limitToFirst(1),e=>e.length?e.reduce((e,t)=>Math.min(e,t),1/0):-1),w(e=>e.limitToLast(1),e=>e.length?e.reduce((e,t)=>Math.max(e,t),-1/0):-1);var C=a(369);const N=e=>{const t=e||32,a="abcdefghijklmnopqrstuvwxyz0123456789";let n="";for(let e=0;e<t;e+=1)n+=a.charAt(Math.floor(Math.random()*a.length));return n};var j=Object.defineProperty,k=Object.getOwnPropertySymbols,S=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,D=(e,t,a)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,I=(e,t)=>{for(var a in t||(t={}))S.call(t,a)&&D(e,a,t[a]);if(k)for(var a of k(t))P.call(t,a)&&D(e,a,t[a]);return e};const T=(e,t,a)=>{const{state:{doc:n,tr:l}}=e;let r=null,o=null;n.descendants((e,a)=>{if(e.attrs.id===t&&(o=a,r=e),null!==r)return!1}),r&&null!==o&&(l.setNodeMarkup(o,void 0,I(I({},r.attrs),a),r.marks),e.dispatch(l))},x=(e,t,a)=>{const{schema:n,tr:l}=e.state,r=n.nodes[t];if(r.spec.onInsert)r.spec.onInsert(e,a);else{const t=r.create(a),n=l.replaceSelectionWith(t);e.dispatch(n)}},A=(e,t)=>{const{$anchor:a}=t;for(let t=a.depth;t>0;t--)if(a.node(t).type.name===e)return!0;return!1};var M=a(785),L=a.n(M);const R=e=>{const t=[],a=[];return e.nodesBetween(0,e.nodeSize-2,e=>{const n=(e=>{const{unstructuredValue:t,value:a}=e.attrs;return`${a}-${t?L()(t):""}`})(e);if("footnote"===e.type.name){const{value:a,structuredValue:l}=e.attrs;t.push({id:e.attrs.id,unstructuredValue:a,structuredValue:l,fingerprint:n})}
1if("citation"===e.type.name){const{unstructuredValue:t,value:l}=e.attrs;a.push({id:e.attrs.id,structuredValue:l,unstructuredValue:t,fingerprint:n})}return!0}),{footnotes:t,citations:a}};var F=a(131),U=(a(132),a(0)),B=a.n(U),z=a(97),$=a(786),_=a.n($),H=a(787),V=a.n(H),q=a(15),W=Object.defineProperty,G=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,J=(e,t,a)=>t in e?W(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Q=e=>{const t=((e,t)=>{for(var a in t||(t={}))Y.call(t,a)&&J(e,a,t[a]);if(G)for(var a of G(t))K.call(t,a)&&J(e,a,t[a]);return e})({},e.content.some(e=>"code_block"===e.type)&&{code_block:q.i});let a="";return Object.keys(t).forEach(e=>{var n;const l=null==(n=t[e].module)?void 0:n.getRules();l&&(a+=l)}),a};var Z=Object.defineProperty,X=Object.defineProperties,ee=Object.getOwnPropertyDescriptors,te=Object.getOwnPropertySymbols,ae=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable,le=(e,t,a)=>t in e?Z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,re=(e,t)=>{for(var a in t||(t={}))ae.call(t,a)&&le(e,a,t[a]);if(te)for(var a of te(t))ne.call(t,a)&&le(e,a,t[a]);return e},oe=(e,t)=>X(e,ee(t));const ie=e=>{try{const t={},a=`* { ${e} } `,n=V.a.parse(a),{declarations:l}=n.stylesheet.rules[0];return l.forEach(({property:e,value:a})=>{const n=_()(e);t[n]=a}),t}catch(e){return{}}},se={rowspan:"rowSpan",colspan:"colSpan",class:"className",spellcheck:"spellCheck",style:e=>({style:"string"==typeof e?ie(e):e})},ce=e=>{const t=e&&"object"==typeof e&&!Array.isArray(e);return{attrs:t?(e=>{let t={};return Object.entries(e).forEach(([e,a])=>{if(e in se){const n=se[e];"function"==typeof n?t=re(re({},t),n(a)):t[n]=a}else t[e]=a}),t})(e):{},hasAttrs:t}},ue=(e,t)=>{if(!Array.isArray(e))return e;const[a,n,...l]=e,{attrs:r,hasAttrs:o}=ce(n),i=o?l:[n,...l];return B.a.createElement(a,oe(re({},r),{key:t}),...i.map((e,a)=>ue(e,`${t}-${a}`)))},me=e=>0===e,de=(e,t,a)=>{if(Array.isArray(e)){const n=e.findIndex(me);return n>=0?[...e.slice(0,n),...t,...e.slice(n+1)]:a?[...e,...t]:e.map(e=>de(e,t))}return e},pe=(e,t,a)=>{const{type:n,marks:l,content:r,attrs:o={}}=e,i=t.nodes[n],{spec:s}=i,c=Array.isArray(r)?r.map(e=>pe(e,t,a)):[],u=b.Node.fromJSON(t,e);u.attrs=((e,t)=>{if(t.attrs){const a={};return Object.keys(e).forEach(n=>{(t.attrs[n]||t.reactiveAttrs&&t.reactiveAttrs[n])&&(a[n]=e[n])}),a}return null})(o,s);const m=de(s.toDOM(u,oe(re({},a),{isStaticallyRendered:!0})),c);return l?((e,t,a)=>[...t].reverse().reduce((e,t)=>{const{spec:n}=a.marks[t.type];return de(n.toDOM(t),[e],!0)},e))(m,l,t):m},be=({schema:e,doc:t,reactedDoc:a=null,noteManager:n,nodeLabels:l={},context:r={}})=>{const o=a||((e,t,a,n)=>{const l=b.Node.fromJSON(t,e);return Object(z.getReactedDoc)(l,{documentState:{noteManager:a,nodeLabels:n}}).toJSON()})(t,e,n,l),i={code_block:Q(o)};return[...Object.keys(i).reduce((e,t)=>i[t]?[...e,B.a.createElement("style",{key:t,dangerouslySetInnerHTML:{__html:i[t]}})]:e,[]),...o.content.map((t,a)=>{const n=pe(t,e,r);return ue(n,a)})]};var he=a(376),ge=a(12);const fe=e=>{const{tr:t}=e.state;e.dispatch(t.setSelection(new ge.TextSelection(e.state.selection.$to)))},ye=(e,t)=>{const{clientX:a,clientY:n}=t;try{const t=e.posAtCoords({left:a,top:n});if(t){const{inside:a}=t,n=e.state.doc.nodeAt(a);if(n&&ge.NodeSelection.isSelectable(n))return!0}}catch(e){if(e instanceof RangeError)return!1;throw e}return!1},ve=(e,t)=>{for(let a=e.depth;a>0;a--){const n=e.node(a);if(t(n))return{pos:a>0?e.before(a):0,start:e.start(a),depth:a,node:n}}return null};var Ee=a(288),Oe=a(377);const we=e=>{if(e.docView){const t=e.state.tr;e.dispatch(t)}},Ce=e=>e?e.state.doc.toJSON():null,Ne=(e,t="\n")=>e.textBetween(0,e.nodeSize-2,t),je=e=>{const t=Ce(e);return t?t.content.filter(e=>"image"===e.type):[]},ke=(e,t="\n")=>e?Ne(e.state.doc,t):null,Se=(e,t)=>{const a=b.Node.fromJSON(e.state.schema,t),n=e.state.tr;return n.setSelection(ge.Selection.atStart(e.state.doc)),n.replaceSelection(new b.Slice(a.content,0,0)),e.dispatch(n),a},Pe=(e,t,a,n)=>{const l=e.state.tr;l.setMeta("localHighlights",!0),l.setMeta("newLocalHighlightData",[{from:t,to:a,id:n}]),e.dispatch(l)},De=(e,t)=>{const a=e.state.tr;a.setMeta("localHighlights",!0),a.setMeta("localHighlightIdToRemove",t),e.dispatch(a)},Ie=(e,t)=>{const a=e.state.localHighlights$.activeDecorationSet.find().filter(e=>e.type.attrs&&e.type.attrs.class).find(e=>e.type.attrs.class.replace("local-highlight lh-","")===t);a&&(Object(Ee.a)(e,t,{anchor:a.from,head:a.to,type:"text"}),De(e,t))},Te=(e,t)=>
1{const a=e.state.localHighlights$.activeDecorationSet.find().filter(e=>e.type.attrs&&e.type.attrs.class).reduce((e,a)=>a.type.attrs.class.replace("local-highlight lh-","")===t?a:e,void 0);if(!a)return null;const n=a.from,l=a.to;return{from:n,to:l,exact:e.state.doc.textBetween(n,l),prefix:e.state.doc.textBetween(Math.max(0,n-100),Math.max(0,n)),suffix:e.state.doc.textBetween(Math.min(e.state.doc.nodeSize-2,l),Math.min(e.state.doc.nodeSize-2,l+100))}},xe=(e,t,a)=>{const n=(e.state.collaborative$||{}).mostRecentRemoteKey,l=e.state.selection,r=l.anchor,o=l.head,i=e.state.tr;i.setMeta("removeDiscussion",{id:a}),e.dispatch(i),t.child("discussions").child(a).update({currentKey:n,selection:{a:r,h:o,t:"text"}})},Ae=e=>Object(o.d)(e.doc)&&!Object(Oe.b)(e)},,,,,function(e,t,a){"use strict";a.d(t,"d",(function(){return i})),a.d(t,"f",(function(){return b})),a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return r})),a.d(t,"g",(function(){return w})),a.d(t,"h",(function(){return o})),a.d(t,"i",(function(){return N})),a.d(t,"l",(function(){return M})),a.d(t,"c",(function(){return L})),a.d(t,"e",(function(){return R})),a.d(t,"j",(function(){return V})),a.d(t,"k",(function(){return A}));a(790);
1class n extends Error{constructor(e){super("[facets] "+e)}}class l extends n{constructor(e,t,a){super(`Error when parsing ${e.name} instance: invalid ${t}${a?" = "+a:""}`)}}class r extends n{constructor(e){super(`The facet cascade strategy "${e}" has no implementation yet.`)}}function o(e,t){const a={};return Object.entries(e.props).forEach(([e,n])=>{a[e]=t(e,n)}),a}function i(e,t){const a=o(e,(e,a)=>{const n=t.map(t=>{const{scope:a,value:n,facetBindingId:l}=t;return{scope:a,facetBindingId:l,value:n[e]}});return function(e,t){const{cascade:a}=e;if("overwrite"===a){const e=t.map(e=>e.value).reduce((e,t)=>null!=t?t:e,null);return{sources:t,value:e}}if("concat"===a){const e=t.map(e=>{var t;return null!=(t=e.value)?t:[]}).reduce((e,t)=>[...e,...t],[]);return{sources:t,value:e}}throw new r(a)}(a,[{scope:{kind:"root"},value:a.rootValue,facetBindingId:null},...n])}),n=o(e,e=>a[e].value);return{props:a,value:n,stack:t}}var s=Object.defineProperty,c=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,d=(e,t,a)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,p=(e,t)=>{for(var a in t||(t={}))u.call(t,a)&&d(e,a,t[a]);if(c)for(var a of c(t))m.call(t,a)&&d(e,a,t[a]);return e};function b(e,t={}){return p(p({},function(e){return o(e,()=>null)}(e)),t)}var h=Object.defineProperty,g=Object.defineProperties,f=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,O=(e,t,a)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const w=e=>((e,t)=>g(e,f(t)))(((e,t)=>{for(var a in t||(t={}))v.call(t,a)&&O(e,a,t[a]);if(y)for(var a of y(t))E.call(t,a)&&O(e,a,t[a]);return e})({},e),{__facet:!0});function C(e,t,a,n){const{props:r}=e,o={},i={},s=Object.keys(t);if(Object.entries(r).forEach(([a,r])=>{if(s.includes(a)){const e=r.propType.schema,n=t[a];if(null===n)o[a]=null;else{const t=e.safeParse(n);t.success?o[a]=t.data:i[a]=!0}}else if(!n)throw new l(e,a)}),a){const t=Object.keys(i);if(t.length>0)throw new l(e,t);return{valid:o,invalid:i}}return{valid:o,invalid:i}}function N(e,t,a=!1){return C(e,t,a,!0)}var j=a(110),k=Object.defineProperty,S=Object.defineProperties,P=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,I=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable,x=(e,t,a)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const A=e=>((e,t)=>S(e,P(t)))(((e,t)=>{for(var a in t||(t={}))I.call(t,a)&&x(e,a,t[a]);if(D)for(var a of D(t))T.call(t,a)&&x(e,a,t[a]);return e})({},e),{extension:e.extension||{},__facetPropType:!0}),M=A({name:"string",schema:j.z.string(),postgresType:"text"}),L=A({name:"boolean",schema:j.z.boolean(),postgresType:"boolean"}),R=(A({name:"integer",schema:j.z.number().int(),postgresType:"integer"}),A({name:"double",schema:j.z.number(),postgresType:"double"}),e=>A({schema:j.z.enum(e),postgresType:"varchar",extension:{values:e}}));var F=Object.defineProperty,U=Object.defineProperties,B=Object.getOwnPropertyDescriptors,z=Object.getOwnPropertySymbols,$=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable,H=(e,t,a)=>t in e?F(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const V=(e,t)=>{const{cascade:a}=t,n=null!=a?a:"overwrite";return((e,t)=>U(e,B(t)))(((e,t)=>{for(var a in t||(t={}))$.call(t,a)&&H(e,a,t[a]);if(z)for(var a of z(t))_.call(t,a)&&H(e,a,t[a]);return e})({},t),{propType:e,cascade:n,__facetProp:!0})}},,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"c",(function(){return c})),a.d(t,"b",(function(){return u}));var n=a(18);const l=/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/,r=/^([0-9]{4})$/,o={date:{name:"date",deserialize:e=>{const[t,a,n]=l.exec(e).slice(1),r=new Date;return r.setFullYear(parseInt(t,10)),r.setMonth(parseInt(a,10)-1),r.setDate(parseInt(n,10)),r},validate:e=>l.test(e),labelInfo:"(in YYYY-MM-DD format)"},year:{name:"year",validate:e=>r.test(e),deserialize:e=>e,labelInfo:"(YYYY)"}},i={doi:{name:"doi",label:"DOI",derivedFrom:({collection:e})=>e&&e.doi,derivedLabelInfo:"(Registered and cannot be changed)"},url:{name:"url",label:"URL",defaultDerivedFrom:({community:e,collection:t})=>e&&t&&t.id&&Object(n.c)(e,t)}},s=[{kind:"tag",label:{singular:"tag",plural:"tags"},bpDisplayIcon:"tag",metadata:[],contextHints:[]},{kind:"issue",label:{singular:"issue",plural:"issues"},bpDisplayIcon:"manual",contextHints:[{value:"article",label:"Article",isDefault:!0}],metadata:[i.doi,i.url,{name:"printIssn",label:"Print ISSN"},{name:"electronicIssn",label:"Electronic ISSN"},{name:"volume",label:"Volume"},{name:"issue",label:"Issue"},{name:"printPublicationDate",label:"Print publication date",type:o.date},{name:"publicationDate",label:"Publication date",type:o.date}]},{kind:"book",label:{singular:"book",plural:"books"},bpDisplayIcon:"book",contextHints:[{value:"foreword",label:"Foreword",crossrefComponentType:"section"},{value:"preface",label:"Preface",crossrefComponentType:"section"},{value:"supplementaryMaterial",label:"Supplementary Material",crossrefComponentType:"reference_entry"},{value:"chapter",label:"Chapter",isDefault:!0,crossrefComponentType:"chapter"},{value:"appendix",label:"Appendix",crossrefComponentType:"reference_entry"},{value:"glossary",label:"Glossary",crossrefComponentType:"reference_entry"},{value:"acknowledgements",label:"Acknowledgements",crossrefComponentType:"section"}],metadata:[i.doi,i.url,{name:"isbn",label:"ISBN"},{name:"copyrightYear",label:"Copyright year",pattern:"^[0-9]*$",type:o.year},{name:"publicationDate",label:"Publication date",type:o.date},{name:"edition",label:"Edition no.",pattern:"^[0-9]*$"}]},{kind:"conference",label:{singular:"conference",plural:"conferences"},bpDisplayIcon:"presentation",contextHints:[{value:"paper",label:"Paper",isDefault:!0}],metadata:[i.doi,i.url,{name:"theme",label:"Theme"},{name:"acronym",label:"Acronym"},{name:"location",label:"Location"},{name:"date",label:"Date",type:o.date}]}];t.a=s;const c=e=>{const t=s.find(t=>t.kind===e);return t||null},u=e=>{const t=c(e);return t?t.bpDisplayIcon:null}},,,,,,,function(e,t,a){"use strict";a.d(t,"f",(function(){return y}
1)),a.d(t,"d",(function(){return v})),a.d(t,"e",(function(){return E})),a.d(t,"h",(function(){return O})),a.d(t,"c",(function(){return w})),a.d(t,"b",(function(){return C})),a.d(t,"a",(function(){return N})),a.d(t,"g",(function(){return j}));var n=a(242),l=a.n(n),r=a(117),o=a(246),i=a(139),s=Object.defineProperty,c=Object.defineProperties,u=Object.getOwnPropertyDescriptors,m=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,b=(e,t,a)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,h=(e,t)=>{for(var a in t||(t={}))d.call(t,a)&&b(e,a,t[a]);if(m)for(var a of m(t))p.call(t,a)&&b(e,a,t[a]);return e},g=(e,t)=>c(e,u(t));const f=()=>({suggestionId:l()()}),y=e=>e.marks.suggestion,v=e=>{const{type:{schema:t}}=e;if(e.attrs.suggestionKind)return e.attrs;const a=y(t),n=e.marks.find(e=>e.type===a);return n?n.attrs:null},E=e=>{var t;const a=v(e);return null!=(t=null==a?void 0:a.suggestionKind)?t:null},O=(e,t)=>{const{type:{schema:a}}=e;if(e.attrs.suggestionKind===t)return!0;const n=y(a);return e.marks.some(e=>e.type===n&&e.attrs.suggestionKind===t)},w=(e,t,a,n)=>{const l=Object(r.a)(n,e=>{if(e){const t=e.map(e=>e.toJSON());return{suggestionOriginalMarks:JSON.stringify(t)}}return{}}),o=g(h(h(h({},f()),a),l),{suggestionKind:e,suggestionDiscussionId:null});return t.create(o)},C=(e,t,a,n)=>{const{newTransaction:l,transactionAttrs:r,suggestionMark:o}=t,i=((e,t,a,n,l=60)=>{var r;const{suggestionMark:o,transactionAttrs:{suggestionTimestamp:i,suggestionUserId:s},newTransaction:{doc:c}}=t,u="addition"===e?a:n,{nodeBefore:m,nodeAfter:d}=c.resolve(u),p="addition"===e?m:d,b=null==(r=null==p?void 0:p.marks)?void 0:r.find(t=>t.type===o&&t.attrs.suggestionKind===e&&t.attrs.suggestionUserId==s&&i-t.attrs.suggestionTimestamp<6e4*l);return null!=b?b:null})(e,t,a,n)||w(e,o,r);l.addMark(a,n,i)},N=(e,t,a,n,l)=>{const{newTransaction:i,transactionAttrs:s}=t,c=Object(r.a)(l,t=>{if(t&&"modification"===e){const e={};return Object.keys(t).forEach(a=>{o.c.includes(a)||(e[a]=t[a])}),{suggestionOriginalAttrs:JSON.stringify(e)}}return null}),u=g(h(h(h({},f()),s),c),{suggestionKind:e,suggestionDiscussionId:null});i.setNodeMarkup(a,null,h(h({},n.attrs),u),n.marks)},j=e=>{const t=Object(i.b)(e);return(null==t?void 0:t.suggestionRanges)&&0!==t.suggestionRanges.length}},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(4),o=a(8),i=a.n(o),s=a(2),c=a.n(s);a(904);const u={autocomplete:c.a.string,children:c.a.node,defaultValue:c.a.string,error:c.a.string,helperText:c.a.node,htmlFor:c.a.string,inputRef:c.a.object,isDisabled:c.a.bool,isRequired:c.a.bool,isTextarea:c.a.bool,label:c.a.node,onBlur:c.a.func,onChange:c.a.func,placeholder:c.a.string,type:c.a.string,value:c.a.string,wrapperClassName:c.a.string},m=function(e){return l.a.createElement("div",{className:i()("input-field-component",r.a.FORM_GROUP,e.wrapperClassName,e.error?r.a.INTENT_DANGER:"")},l.a.createElement("label",{className:r.a.LABEL,htmlFor:"input-"+(e.htmlFor||e.label)},e.label,e.isRequired&&l.a.createElement("span",{className:r.a.TEXT_MUTED+" required-text"}," (required)")),l.a.createElement("div",{className:r.a.FORM_CONTENT},e.children,l.a.createElement("div",{className:`${r.a.INPUT_GROUP} ${e.error?r.a.INTENT_DANGER:""}`},!e.children&&!e.isTextarea&&l.a.createElement("input",{id:"input-"+(e.htmlFor||e.label),className:r.a.INPUT,disabled:e.isDisabled,placeholder:e.placeholder,value:e.value,defaultValue:e.defaultValue,onChange:e.onChange,onBlur:e.onBlur,type:e.type,autoComplete:e.autocomplete,dir:"auto",ref:e.inputRef}),!e.children&&e.isTextarea&&l.a.createElement("textarea",{id:"input-"+e.label,className:r.a.INPUT,disabled:e.isDisabled,placeholder:e.placeholder,value:e.value,defaultValue:e.defaultValue,onChange:e.onChange,onBlur:e.onBlur,type:e.type,dir:"auto",ref:e.inputRef}),l.a.createElement("div",{className:r.a.FORM_HELPER_TEXT},e.error||e.helperText))))};m.defaultProps={autocomplete:void 0,children:void 0,defaultValue:void 0,error:void 0,helperText:"",htmlFor:"",inputRef:void 0,isDisabled:!1,isRequired:!1,isTextarea:!1,label:void 0,onBlur:void 0,onChange:void 0,placeholder:void 0,type:"text",value:void 0,wrapperClassName:""},m.propTypes=u,t.a=m},,,,function(e,t,a){"use strict";a.d(t,"c",(function(){return p})),a.d(t,"e",(function(){return b})),a.d(t,"b",(function(){return h})),a.d(t,"d",(function(){return g})),a.d(t,"a",(function(){return f})),a.d(t,"g",(function(){return y}
1)),a.d(t,"f",(function(){return i.d}));var n=a(18),l=a(124),r=a(30),o=a(89),i=a(119),s=Object.defineProperty,c=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,d=(e,t,a)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const p=e=>{try{return new URL(e).hostname}catch(t){return e}},b=(e,t,a)=>{const{pubIsParent:n}=e;return t?!n:a},h=(e,t)=>{const{pub:a,targetPub:n}=e;return("viewingFromTarget"in t?t.viewingFromTarget:b(e,t.viewingFromSibling,t.isInboundEdge))?a:n},g=(e,t,a)=>{const{externalPublication:i}=e,s=h(e,{viewingFromTarget:a});if(s){const{title:e,description:a,avatar:i}=s,c=((e,t)=>t.id===e.communityId?Object(n.b)(t,e):e.community?Object(n.b)(e.community,e):Object(n.f)(e))(s,t),u=Object(o.d)(s);return{displayedPubId:s.id,avatar:i,contributors:Object(l.b)(s,"contributors",!1,!0),description:a,publishedAt:u&&Object(r.b)(u),title:e,url:c}}if(i){const{title:e,description:t,contributors:a,avatar:n,url:l,publicationDate:o}=i;return{avatar:n,contributors:a||"",description:t,publishedAt:o&&Object(r.b)(o,{inUtcTime:!0}),title:e,url:l}}return{}},f=(e,t=i.a.Reply)=>((e,t)=>{for(var a in t||(t={}))u.call(t,a)&&d(e,a,t[a]);if(c)for(var a of c(t))m.call(t,a)&&d(e,a,t[a]);return e})({relationType:t,pubIsParent:!0},e),y=e=>{if(e){const t=document.createElement("div");return t.innerHTML=e,t.innerText}return e}},,,,function(e,t,a){"use strict";var n=a(60);a.d(t,"FacetCascadeNotImplError",(function(){return n.a})),a.d(t,"cascade",(function(){return n.d})),a.d(t,"createFacetInstance",(function(){return n.f})),a.d(t,"mapFacet",(function(){return n.h})),a.d(t,"parsePartialFacetInstance",(function(){return n.i}));var l=a(379);a.d(t,"ALL_FACET_DEFINITIONS",(function(){return l.a})),a.d(t,"CitationStyle",(function(){return l.b})),a.d(t,"License",(function(){return l.c})),a.d(t,"NodeLabels",(function(){return l.d})),a.d(t,"PubEdgeDisplay",(function(){return l.e})),a.d(t,"PubHeaderTheme",(function(){return l.f}));var r=a(648);a.o(r,"mapFacetDefinitions")&&a.d(t,"mapFacetDefinitions",(function(){return r.mapFacetDefinitions}));var o=a(739);a.d(t,"mapFacetDefinitions",(function(){return o.a}))},function(e,t,a){"use strict";a.d(t,"b",(function(){return o})),a.d(t,"a",(function(){return i}));var n=a(0),l=a(1);const r=()=>
1{throw new Error("Must call useFacets beneath FacetsStateProvider")},o=()=>{const e=Object(n.useContext)(l.G);return e||r(),e()},i=(e,t={})=>{const{fallback:a,level:o="current"}=t,i=Object(n.useContext)(l.G),s=Object(n.useRef)(null);if(!i){if(a)return a();r()}const c=Object(n.useMemo)(()=>new Proxy({},{get:(e,t)=>((e,t)=>{const{persistedCascadeResult:a,cascadeResult:n,latestAndPossiblyInvalidCascadeResult:l}=e;return"current"===t?n:"persisted"===t?a:l})(s.current.facets[t],o).value}),[o]);return i(Object(n.useCallback)(t=>{s.current=t;return e(c)},[c,e]))}},function(e,t,a){"use strict";a.d(t,"c",(function(){return l})),a.d(t,"a",(function(){return r})),a.d(t,"d",(function(){return o})),a.d(t,"e",(function(){return i})),a.d(t,"b",(function(){return s})),a.d(t,"f",(function(){return c}));var n=a(30);const l=e=>{var t;return e.releases&&0!==(null==(t=e.releases)?void 0:t.length)?e.releases.map(e=>new Date(e.createdAt)).reduce((e,t)=>t>e?t:e):null},r=e=>e.createdAt,o=(e,t=!0)=>{if(e.customPublishedAt&&t)return Object(n.c)(e.customPublishedAt);const{releases:a}=e;if(a&&a.length>0){const[e]=a;return new Date(e.createdAt||new Date)}return null},i=e=>{var t;const a=o(e,!0);let l="";return a&&(l=Object(n.b)(a)),a&&0===(null==(t=e.releases)?void 0:t.length)&&(l+=" (Not yet released)"),l||null},s=(e,{excludeFirstRelease:t=!1}={})=>{const{releases:a}=e;if(!a)return null;if(1===a.length&&t)return null;const n=a[a.length-1];return n?new Date(n.createdAt):null},c=({pub:e,historyData:t=null})=>{var a;if(t){const{timestamps:e,latestKey:a}=t;if(e&&"number"==typeof a){const t=e[a];return new Date(t)}}return"draft"in e&&(null==(a=e.draft)?void 0:a.latestKeyAt)?e.draft.latestKeyAt:null}},function(e,t,a){"use strict";a.d(t,"b",(function(){return r})),a.d(t,"a",(function(){return o}));var n=a(503),l=a.n(n);const r=(e,t="rank")=>e.concat().sort((e,a)=>(e[t]||"").localeCompare(a[t]||"")),o=(e,t,a="rank")=>((e,t,a=1)=>{const[n,r]=((e,t)=>0===t?["0",e[0]||"z"]:t===e.length?[e[e.length-1],"z"]:e.slice(t-1,t+1))(e,t),[o]=l.a.base36.mudder(n,r,a);return o}
1)(r(e,a).map(e=>e[a]),t)},,,function(e,t,a){"use strict";a.r(t),a.d(t,"buttons",(function(){return n})),a.d(t,"FormattingBar",(function(){return wn.a})),a.d(t,"FormattingBarSuggestedEdits",(function(){return jn})),a.d(t,"FormattingBarButtonPopoverCondition",(function(){return Da.a}));var n={};a.r(n),a.d(n,"alignLeft",(function(){return Ua})),a.d(n,"alignCenter",(function(){return Ba})),a.d(n,"alignRight",(function(){return za})),a.d(n,"rightToLeft",(function(){return $a})),a.d(n,"strong",(function(){return _a})),a.d(n,"em",(function(){return Ha})),a.d(n,"link",(function(){return Va})),a.d(n,"bulletList",(function(){return qa})),a.d(n,"numberedList",(function(){return Wa})),a.d(n,"blockquote",(function(){return Ga})),a.d(n,"heading1",(function(){return Ya})),a.d(n,"heading2",(function(){return Ka})),a.d(n,"code",(function(){return Ja})),a.d(n,"codeBlock",(function(){return Qa})),a.d(n,"table",(function(){return Za})),a.d(n,"math",(function(){return Xa})),a.d(n,"subscript",(function(){return en})),a.d(n,"superscript",(function(){return tn})),a.d(n,"strikethrough",(function(){return an})),a.d(n,"citation",(function(){return nn})),a.d(n,"reference",(function(){return ln})),a.d(n,"footnote",(function(){return rn})),a.d(n,"horizontalRule",(function(){return on})),a.d(n,"media",(function(){return sn})),a.d(n,"simpleMedia",(function(){return cn})),a.d(n,"suggestedEditsToggle",(function(){return un})),a.d(n,"suggestedEditsReject",(function(){return mn})),a.d(n,"suggestedEditsAccept",(function(){return dn})),a.d(n,"suggestedEditsButtonSet",(function(){return pn})),a.d(n,"minimalButtonSet",(function(){return bn})),a.d(n,"abstractButtonSet",(function(){return hn})),a.d(n,"reviewButtonSet",(function(){return gn})),a.d(n,"discussionButtonSet",(function(){return fn})),a.d(n,"inlineMenuButtonSet",(function(){return yn})),a.d(n,"workflowButtonSet",(function(){return vn})),a.d(n,"fullButtonSet",(function(){return En})),a.d(n,"layoutEditorButtonSet",(function(){return On}));var l=a(24),r=a(40),o=a(296),i=a(0),s=a.n(i),c=a(1559),u=a(1),m=a(397),d=a(26),p=a(265),b=Object.defineProperty,h=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,y=(e,t,a)=>t in e?b(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const v=e=>s.a.createElement(p.a,((e,t)=>{for(var a in t||(t={}))g.call(t,a)&&y(e,a,t[a]);if(h)for(var a of h(t))f.call(t,a)&&y(e,a,t[a]);return e})({className:"controls-button"},e)),E=({children:e})=>s.a.createElement("div",{className:"controls-button-group"},e);var O=a(53),w=a(1560),C=a(6),N=(a(1169),Object.defineProperty),j=Object.defineProperties,k=Object.getOwnPropertyDescriptors,S=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,I=(e,t,a)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const T=(e,{handleClick:t,modifiers:a})=>s.a.createElement(O.u,{key:e.key,id:e.key,text:`${e.meta.creatorSummary} (${e.meta.parsedDate})`,onClick:t,active:a.active});var x=e=>{const[t,a]=Object(i.useState)(""),[n,l]=Object(i.useState)(!1),[r]=Object(c.a)(t.trim(),300),[o,u]=Object(i.useState)({}),[m,d]=Object(i.useState)(!1);return Object(i.useEffect)(()=>{Object(C.a)("/api/zoteroIntegration").then(e=>{d(e.id)}).catch(e=>{"no zotero integration present for user"!==e.message&&console.error(e)})},[]),Object(i.useEffect)(()=>{var t,a;m&&(r&&!o[r]?(l(!0),(t=r,a=e.citationStyle,Object(C.a)(`/api/citations/zotero?q=${t}&include=bibtex&style=${a}`)).then(({items:e})=>{l(!1),u(t=>((e,t)=>j(e,k(t)))(((e,t)=>{for(var a in t||(t={}))P.call(t,a)&&I(e,a,t[a]);if(S)for(var a of S(t))D.call(t,a)&&I(e,a,t[a]);return e})({},t),{[r]:e}))})):l(!1))},[r,m,e.citationStyle,o]),s.a.createElement("div",{className:"citation-builder-component"},s.a.createElement(w.a,{disabled:!m,query:t,onQueryChange:a,items:o[r]||[],inputProps:{placeholder:m?"Search your zotero library...":"No zotero integration",large:!0},itemRenderer:T,onItemSelect:e.onSelectCitation,closeOnSelect:!1,resetOnSelect:!1,className:"suggest-component",inputValueRenderer:()=>"",popoverProps:{minimal:!0,popoverClassName:"citation-select",usePortal:!1,modifiers:{minWidth:{enabled:!0,fn:e=>(e.styles.width=e.offsets.reference.width+"px",e),order:800}}},fill:m,noResults:t?s.a.createElement(O.u,{disabled:!0,className:"loading-menu-item",text:n?"Loading...":"No results",icon:n&&s.a.createElement(O.F,{size:16})}):null}),m?null:s.a.createElement(O.b,{rightIcon:"exchange",intent:"primary",className:"zotero-link-button",href:"/legal/settings",text:"Connect Zotero"}))},A=a(25);var M=e=>
1{const{customLabel:t,defaultLabel:a,onUpdateCustomLabel:n}=e,{inPub:l}=Object(d.a)(),[r,o]=Object(i.useState)(!!t),c=l?"Pub Default":"Default",u=r?"Custom":c;return s.a.createElement(O.i,{className:"inline-label-editor-component"},s.a.createElement(A.b,{"aria-label":"Choose an inline label type",buttonProps:{minimal:!0,rightIcon:"chevron-down",className:"label-type-menu"},buttonContent:u},s.a.createElement(A.d,{text:c,onClick:()=>{o(!1),n("")}}),s.a.createElement(A.d,{text:"Custom",onClick:()=>{t||n(a),o(!0)}})),s.a.createElement(O.r,{disabled:!r,value:r?t:a,onChange:e=>n(e.target.value)}))},L=(a(655),Object.defineProperty),R=Object.defineProperties,F=Object.getOwnPropertyDescriptors,U=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,$=(e,t,a)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,_=(e,t)=>{for(var a in t||(t={}))B.call(t,a)&&$(e,a,t[a]);if(U)for(var a of U(t))z.call(t,a)&&$(e,a,t[a]);return e},H=(e,t)=>R(e,F(t)),V=(e,t)=>{var a={};for(var n in e)B.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&U)for(var n of U(e))t.indexOf(n)<0&&z.call(e,n)&&(a[n]=e[n]);return a};var q=e=>{var t;const{editorChangeObject:a,onClose:n,pendingAttrs:l}=e,{selectedNode:r}=a,{noteManager:o}=Object(d.a)(),p="footnote"===(null==(t=null==r?void 0:r.type)?void 0:t.name),{commitChanges:b,hasPendingChanges:h,updateAttrs:g,attrs:f}=l,{structuredValue:y,unstructuredValue:O,customLabel:w}=((e,t)=>{const a=e,{structuredValue:n,unstructuredValue:l,value:r}=a,o=V(a,["structuredValue","unstructuredValue","value"]);return H(_({},o),t?{unstructuredValue:r,structuredValue:n}:{structuredValue:r,unstructuredValue:l})})(f,p),C=((e,t)=>a=>{const n=a,{structuredValue:l,unstructuredValue:r}=n,o=V(n,["structuredValue","unstructuredValue"]),i=_({},o);return"structuredValue"in a&&(i[t?"structuredValue":"value"]=l),"unstructuredValue"in a&&(i[t?"value":"unstructuredValue"]=r),e(i)})(g,p),[N,j]=Object(i.useState)(o.getRenderedValueSync(y)),k=null==N?void 0:N.html,S=k||O,[P]=Object(c.a)(y,250);Object(i.useEffect)(()=>{o.getRenderedValue(P).then(e=>j(e))},[P,o]);const D=s.a.createElement("div",{className:"section",key:"structured"},s.a.createElement("div",{className:"title"},"Structured Data"),s.a.createElement(x,{onSelectCitation:e=>{C({structuredValue:e.bibtex})},citationStyle:o.citationStyleKind}),s.a.createElement("textarea",{className:"structured-data",placeholder:"Enter bibtex, DOI, wikidata url, or bibjson...",value:y,onChange:e=>C({structuredValue:e.target.value})})),I=s.a.createElement("div",{className:"section",key:"unstructured"},s.a.createElement("div",{className:"title"},"Rich Text"),s.a.createElement(u.Jb,{initialHtmlString:O,onChange:e=>{C({unstructuredValue:e})}})),T=p?[I,D]:[D,I];return s.a.createElement("div",{className:"controls-citation-component"},T,S&&s.a.createElement("div",{className:"section preview"},s.a.createElement("div",{className:"title"},"Preview"),s.a.createElement(u.zb,{structured:k,unstructured:O}),!p&&(()=>{const e=Object(m.a)(H(_({},r),{attrs:H(_({},r.attrs),{citation:N,customLabel:w})}));return s.a.createElement(s.a.Fragment,null,s.a.createElement("div",{className:"title"},"Inline format"),s.a.createElement(M,{defaultLabel:e,customLabel:w,onUpdateCustomLabel:e=>C({customLabel:e})}))})(),s.a.createElement(E,null,s.a.createElement(v,{disabled:!h,onClick:()=>{b(),n()}},"Update ",r.type.name))))},W=a(319),G=a.n(W),Y=a(814),K=a(405),J=a(34),Q=a(18),Z=a(7),X=a(83),ee=(a(1170),Object.defineProperty),te=Object.defineProperties,ae=Object.getOwnPropertyDescriptors,ne=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,oe=(e,t,a)=>t in e?ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ie=(e,t)=>{for(var a in t||(t={}))le.call(t,a)&&oe(e,a,t[a]);if(ne)for(var a of ne(t))re.call(t,a)&&oe(e,a,t[a]);return e},se=(e,t)=>te(e,ae(t));const ce=(e,...t)=>t.includes(e);var ue=e=>{const{editorChangeObject:{activeLink:t,view:a},onClose:n}=e,{communityData:r}=Object(Z.c)(),{inPub:o,pubData:m}=Object(d.a)(),[p,b]=Object(i.useState)(0),[h,g]=Object(i.useState)(t.attrs.href),[f]=Object(c.a)(h,250),[y,v]=Object(i.useState)(),[E,w]=Object(i.useState)(),[N,j]=Object(i.useState)(null),{pubEdgeId:k}=t.attrs,S=Object(i.useRef)(),{addCreatedOutboundEdge:P,removeOutboundEdge:D,updateOutboundEdge:I}=Object(K.a)(m);Object(i.useEffect)(()=>{0===p&&(k?C.a.get("/api/pubEdges/"+k).then(e=>{j(e),b(4)}
1).catch(()=>{j(null),t.updateAttrs({pubEdgeId:null}),b(1)}):b(1))},[p,k,t]),Object(Y.a)(()=>t.updateAttrs({href:f}),[f]),Object(i.useEffect)(()=>{S.current&&"function"==typeof S.current.focus&&!h&&S.current.focus()},[h]);const T=Object(i.useCallback)(()=>{a.focus(),Object(l.t)(a)},[a]),x="_blank"===t.attrs.target,M=()=>{t.updateAttrs({target:"_blank"===t.attrs.target?"_self":"_blank"})},L=()=>{var e;Object(J.a)(null!==N),t.attrs.pubEdgeId?N&&(b(5),C.a.put("/api/pubEdges",{pubEdgeId:t.attrs.pubEdgeId,pubIsParent:N.pubIsParent,relationType:N.relationType}).then(e=>{I(e),j(e)}).catch(e=>{w(e.message)}).finally(()=>{b(4)})):(e=N,b(5),C.a.post("/api/pubEdges",se(ie({},e),{pubId:m.id,targetPub:void 0})).then(e=>{P(e),t.updateAttrs({pubEdgeId:e.id}),j(e)}).catch(e=>{v(e.message)}).finally(()=>{b(4)}))},R=()=>{return e=null,a=null,n=function*(){if(ce(p,4))t.attrs.pubEdgeId&&(t.updateAttrs({pubEdgeId:null}),D(N),j(null)),b(2);else if(ce(p,2)&&G()(h))try{b(3);const e=yield C.a.get("/api/pubEdgeProposal?object="+encodeURIComponent(h));"targetPub"in e&&e.targetPub?j(Object(X.a)({targetPub:e.targetPub,targetPubId:e.targetPub.id})):"externalPublication"in e&&e.externalPublication&&j(Object(X.a)({externalPublication:se(ie({},e.externalPublication),{description:Object(X.g)(e.externalPublication.description)})})),b(4)}catch(e){b(2)}},new Promise((t,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,o);i((n=n.apply(e,a)).next())});var e,a,n},F=()=>{Object(J.a)(null!=N),j(se(ie({},N),{pubIsParent:!N.pubIsParent}))},U=N&&X.f[N.relationType]&&X.f[N.relationType].name,B=()=>s.a.createElement(A.b,{"aria-label":"Select relationship type",buttonProps:{rightIcon:"chevron-down",children:""+U},className:"buttons",minimal:!0},Object.entries(X.f).map(([e,t])=>{const{name:a}=t;Object(J.a)(null!=N);const n=N.relationType===e;return s.a.createElement(O.u,{text:a,onClick:()=>(e=>{Object(J.a)(null!=N),j(se(ie({},N),{relationType:e}))})(e),key:e,icon:n?"tick":"blank"})})),z=()=>s.a.createElement("div",{className:"connection"},s.a.createElement(O.g,{label:"Open in new tab",checked:x,onChange:M}),o&&s.a.createElement(O.g,{label:y||"Create a Pub Connection for this URL",onChange:R,checked:ce(p,3,4,5),disabled:ce(p,3,5)||!G()(h)}),ce(p,3)&&s.a.createElement(O.F,null),ce(p,4,5)&&s.a.createElement(s.a.Fragment,null,s.a.createElement("div",{className:"controls-col"},s.a.createElement("div",{className:"control-row"},s.a.createElement("div",null,"Type: ",B()),s.a.createElement("div",null,"Direction:"," ",s.a.createElement(O.c,{icon:"swap-vertical",minimal:!0,onClick:F},N&&N.pubIsParent?"Parent → Child":"Child → Parent")))),s.a.createElement("div",{className:"preview"},s.a.createElement(O.q,{icon:"info-sign"})," Preview  "),s.a.createElement("div",{className:"controls-link-pub-edge"},s.a.createElement(O.f,null,s.a.createElement(u.vb,{inPubBody:!0,isInboundEdge:!1,pubEdge:N,pubEdgeDescriptionIsVisible:!1,showIcon:!0}))),s.a.createElement("div",{className:"control-row"},s.a.createElement("div",{className:"save-button"},s.a.createElement(O.c,{title:"Save Connection",minimal:!0,icon:"tick",onClick:L},ce(p,5)?s.a.createElement(O.F,{size:16}):E||"Save Connection")))));return s.a.createElement("div",{className:"controls-link-component"},s.a.createElement(O.r,{placeholder:"Enter a URL",value:h,onChange:e=>(e=>{if(o){const t=Object(Q.g)(r,m),a=e.match(`^${t}(.*)?#(.*)$`);g(a?"#"+a[2]:e)}g(e)})(e.target.value),onKeyPress:e=>{"Enter"===e.key&&(t.updateAttrs({href:h}),n(),setTimeout(T,0))},inputRef:S}),s.a.createElement("div",{className:"actions"},s.a.createElement(O.b,{small:!0,minimal:!0,title:"Options",icon:ce(p,2,4,5)?"chevron-up":"chevron-down",onClick:()=>b(ce(p,2,4)?1:null!=N?4:2),disabled:ce(p,5)},"OPTIONS"),s.a.createElement("div",{className:"actions-left"},s.a.createElement(O.c,{small:!0,minimal:!0,title:"Remove",icon:"disable",onClick:()=>{t.attrs.pubEdgeId&&(t.updateAttrs({pubEdgeId:null}),D(N),j(null),b(2)),t.removeLink()}},"REMOVE"),s.a.createElement(O.b,{small:!0,minimal:!0,title:"Visit URL",icon:"share",href:h,target:"_blank",className:"visit"},"VISIT URL"))),s.a.createElement(O.h,{isOpen:ce(p,2,3,4,5),keepChildrenMounted:!0},s.a.createElement(z,null)))};var me=e=>
1{const{editorChangeObject:t}=e,{selectedNode:a}=t,n="math_display"===a.type.name?"inline":"display",l="math_display"===(null==a?void 0:a.type.name),o=l&&a.attrs.hideLabel?{icon:"eye-open",label:"Show"}:{icon:"eye-off",label:"Hide"},i={key:"change-math-node-type",title:"Change display position",label:"Make "+n,icon:"swap-horizontal",command:r.mathToggleKind},c={key:"toggle-math-display-label",title:"Toggle label",label:o.label+" label",icon:o.icon,command:r.mathToggleLabel},u=[[i]];return l&&u.push([c]),s.a.createElement(wn.a,{editorChangeObject:t,buttons:u,showBlockTypes:!1})},de=a(4),pe=a(8),be=a.n(pe),he=a(131),ge=a(22);a(1171);const fe=e=>{const{inPub:t,pubData:a}=Object(d.a)();if(!t)return null;const n=s.a.createElement("a",{href:Object(ge.a)({pubSlug:a.slug,mode:"settings",section:"block-labels"})},"Pub Settings");return s.a.createElement("span",{className:be()("controls-reference-settings-link",e.dark&&"dark")},e.small?s.a.createElement(s.a.Fragment,null,"Enable item labeling in ",n):s.a.createElement(s.a.Fragment,null,"Visit ",n," to turn on labeling and enable references."))};var ye=e=>{const{editorChangeObject:{updateNode:t,selectedNode:a,view:n}}=e,l=Object(he.b)(n.state),r=Object(i.useMemo)(()=>l?Object(he.e)(n.state,l):[],[n.state,l]),[o,c]=Object(i.useState)(()=>((e,t)=>e&&e.attrs&&e.attrs.targetId?t.find(t=>t.node.attrs.id===e.attrs.targetId):null)(a,r)),m=o&&o.node&&o.node.attrs.id,d=Object(i.useRef)(!1);Object(i.useEffect)(()=>{d.current&&(t({targetId:m}),d.current=!1)},[m,t]);const p=Object(i.useCallback)(e=>{d.current=!0,c(e)},[c]);return s.a.createElement(u.Gb,{references:r,selectedReference:o,onSelect:p})},ve=a(406),Ee=a(1561),Oe=a(1562),we=Object.defineProperty,Ce=Object.defineProperties,Ne=Object.getOwnPropertyDescriptors,je=Object.getOwnPropertySymbols,ke=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,Pe=(e,t,a)=>t in e?we(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,De=(e,t)=>{for(var a in t||(t={}))ke.call(t,a)&&Pe(e,a,t[a]);if(je)for(var a of je(t))Se.call(t,a)&&Pe(e,a,t[a]);return e};const Ie=[{key:"left",icon:"align-left"},{key:"center",icon:"align-center"},{key:"right",icon:"align-right"},{key:"full",icon:"vertical-distribution"},{key:"breakout",icon:"fullscreen"}];var Te=e=>{const{onChange:t,value:a}=e,n=Object(ve.a)();return s.a.createElement("div",{className:"controls-row"},s.a.createElement("div",{className:"left-label"},"Alignment"),s.a.createElement(Ee.a,{className:"controls","aria-label":"Figure alignment",as:"div"},Ie.map(e=>{return s.a.createElement(Oe.a,(l=De({},n),r={"aria-label":e.key,title:e.key,key:e.key,checked:a===e.key,onClick:()=>t(e.key)},Ce(l,Ne(r))),t=>{var n=t,{ref:l}=n,r=((e,t)=>{var a={};for(var n in e)ke.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&je)for(var n of je(e))t.indexOf(n)<0&&Se.call(e,n)&&(a[n]=e[n]);return a})(n,["ref"]);return s.a.createElement(O.c,De({elementRef:l,icon:s.a.createElement(u.O,{icon:e.icon,iconSize:16}),minimal:!0,"aria-label":e.key,active:a===e.key},r))});var l,r})))},xe=a(278),Ae=a.n(xe),Me=a(96);var Le=e=>{const{selectedNode:t,updateNode:a}=e,{attrs:n}=t,[l,r]=Object(i.useState)(!1),[o,c]=Object(i.useState)(n.url),m=Object(i.useRef)(Ae.a.v4()),d="iframe"===t.type.name,p=e=>{const{files:t}=e.target;if(t.length>0){const[e]=t;Object(Me.a)(e,()=>{},(e,t,n,l)=>{r(!1),a({url:"https://assets.pubpub.org/"+l})}),r(!0)}};return s.a.createElement("div",{className:"controls-row"},s.a.createElement("div",{className:"left-label"},"Source"),s.a.createElement("div",{className:"controls"},!d&&s.a.createElement(O.b,{"aria-label":"Download source file",icon:s.a.createElement(u.O,{icon:"download",iconSize:16}),minimal:!0,href:n.url,target:"_blank",rel:"noopener noreferrer"}),d?s.a.createElement(O.r,{value:o,onChange:e=>c(e.target.value),onBlur:()=>a({url:o}),placeholder:"Enter URL..."}):s.a.createElement("label",{htmlFor:m.current,className:"file-select"},s.a.createElement(O.b,{icon:s.a.createElement(u.O,{icon:"edit2",iconSize:16}),minimal:!0,loading:l,"aria-label":"Upload new source file"}),s.a.createElement("input",{id:m.current,style:{display:"none"},name:"image",type:"file",accept:"image/png, image/jpeg, image/gif, image/svg+xml",onChange:p,className:"file-input"}))))};var Re=e=>{const[t,a]=Object(i.useState)(e.value);return s.a.createElement("div",{className:"controls-row"},s.a.createElement("div",{className:"left-label"},"Link to"),s.a.createElement(O.r,{fill:!0,value:t,onBlur:()=>e.onChange(t),placeholder:"https://example.com",onChange:e=>a(e.target.value),onKeyPress:a=>{"Enter"===a.key&&e.onChange(t)}
1}),s.a.createElement(O.b,{minimal:!0,title:"Visit",icon:"share",href:t,target:"_blank"}))};a(1172);var Fe=e=>{var t,a;const{editorChangeObject:n,pendingAttrs:r}=e,{selectedNode:o,updateNode:c}=n,{hasPendingChanges:m,commitChanges:d,updateAttrs:p,attrs:{altText:b}}=r,{size:h,align:g,href:f,height:y,caption:w,url:C,fullResolution:N,hideLabel:j,loop:k}=o.attrs,S=!!(null==(t=o.type.spec.attrs)?void 0:t.altText),P=(e=>"iframe"===e.type.name)(o),D=(e=>{const{name:t}=e.type;return"iframe"===t?"item":t})(o),I=Object(l.e)(n.view.state),T="video"===D,x=I&&(null==(a=I[o.type.name])?void 0:a.enabled),A=Object(l.r)(C),M=Object(i.useCallback)(e=>c({hideLabel:e.target.checked}),[c]),L=Object(i.useCallback)(e=>c({fullResolution:e.target.checked}),[c]),R=Object(i.useCallback)(e=>c({loop:e.target.checked}),[c]),F=()=>s.a.createElement(E,null,s.a.createElement(v,{disabled:!m,onClick:d},"Update")),U=()=>s.a.createElement("div",{className:"section"},s.a.createElement(u.Jb,{placeholder:"Add a caption for this "+D,initialHtmlString:w,onChange:e=>p({caption:e})}),F());return s.a.createElement("div",{className:"controls-media-component"},s.a.createElement("div",{className:"section"}
1,s.a.createElement(u.Lb,{min:1,max:100,leftLabel:"Width",rightLabel:"%","aria-label":"Figure width (percentage)",value:h,disabled:"full"===g,onChange:e=>c({size:e})}),P&&s.a.createElement(u.Lb,{min:150,max:800,"aria-label":"Figure height (pixels)",leftLabel:"Height",rightLabel:"px",value:y,disabled:!1,onChange:e=>c({height:e})}),s.a.createElement(Te,{value:g,onChange:e=>c({align:e})}),s.a.createElement(Re,{onChange:e=>c({href:e}),value:f}),s.a.createElement(Le,{selectedNode:o,updateNode:c}),T&&s.a.createElement("div",{className:"controls-row"},s.a.createElement(O.g,{onClick:R,alignIndicator:"right",label:"Loop video",checked:k})),s.a.createElement("div",{className:"controls-row"},A&&s.a.createElement(O.g,{onClick:L,alignIndicator:"right",label:"Always use full resolution",checked:N})),x&&s.a.createElement("div",{className:"controls-row"},s.a.createElement(O.g,{onClick:M,alignIndicator:"right",label:"Hide label",checked:j},!x&&s.a.createElement(s.a.Fragment,null," ","(",s.a.createElement(fe,{dark:!0,small:!0}),")")))),S?s.a.createElement(O.I,{id:"media-controls-caption-alt",className:be()(de.a.DARK,"caption-alt-tabs")},s.a.createElement(O.H,{id:"caption",title:"Caption",panel:U()}),s.a.createElement(O.H,{id:"alt",title:"Alt text",panel:s.a.createElement("div",{className:"section"},s.a.createElement("p",null,"Alt text provides information about an image's contents to screenreader users that may be too detailed to include in a caption. Avoid duplicating text between these fields. If an image is purely decorative, leave this field blank."),s.a.createElement("textarea",{placeholder:"Add alt text for this "+D,value:b,onChange:e=>p({altText:e.target.value})}),F())})):U())},Ue=a(403),Be=a(1557),ze=a(1556),$e=a(401),_e=Object.defineProperty,He=Object.defineProperties,Ve=Object.getOwnPropertyDescriptors,qe=Object.getOwnPropertySymbols,We=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable,Ye=(e,t,a)=>t in e?_e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ke=(e,t)=>{for(var a in t||(t={}))We.call(t,a)&&Ye(e,a,t[a]);if(qe)for(var a of qe(t))Ge.call(t,a)&&Ye(e,a,t[a]);return e};const Je=[{key:"table-add-row-before",title:"Add row before",icon:"add-row-top",command:r.tableAddRowBefore},{key:"table-add-row-after",title:"Add row after",icon:"add-row-bottom",command:r.tableAddRowAfter},{key:"table-toggle-header-row",title:"Toggle header row",icon:"page-layout",command:r.tableToggleHeaderRow},{key:"table-delete-row",title:"Delete row",icon:"disable",command:r.tableDeleteRow}],Qe=[{key:"table-add-column-before",title:"Add column before",icon:"add-column-left",command:r.tableAddColumnBefore},{key:"table-add-column-after",title:"Add column after",icon:"add-column-right",command:r.tableAddColumnAfter},{key:"table-toggle-header-column",title:"Toggle header column",icon:"page-layout",command:r.tableToggleHeaderColumn},{key:"table-delete-column",title:"Delete column",icon:"disable",command:r.tableDeleteColumn}],Ze=[{key:"table-merge-cells",title:"Merge cells",icon:"merge-columns",command:r.tableMergeCells},{key:"table-split-cell",title:"Split cell",icon:"split-columns",command:r.tableSplitCell},{key:"toggle-header-cell",title:"Toggle header cells",icon:"header",command:r.tableToggleHeaderCell}],Xe=[{key:"table-hide-label",title:"Hide label",command:r.tableToggleLabel},{key:"table-toggle-smaller-font",title:"Use smaller font",command:r.tableToggleSmallerFont},{key:"table-breakout-submenu",title:"Breakout",icon:"fullscreen",commands:[{key:"table-no-breakout",title:"Keep in column",command:Object(r.tableSetBreakoutSize)(null)},{key:"table-breakout-50",title:"Breakout: 50%",command:Object(r.tableSetBreakoutSize)(50)},{key:"table-breakout-75",title:"Breakout: 75%",command:Object(r.tableSetBreakoutSize)(75)},{key:"table-breakout-100",title:"Breakout: 100%",command:Object(r.tableSetBreakoutSize)(100)}]},{key:"table-delete",title:"Remove table",icon:"trash",command:r.tableDelete}];var et=e=>{const{editorChangeObject:t,onClose:a}=e,{view:n}=t,l=Object(Ue.a)({loop:!0});return Object(i.useEffect)(()=>n?(n.dom.addEventListener("keydown",a),()=>n.dom.removeEventListener("keydown",a)):()=>{},[n,a]),s.a.createElement(Be.a,(r=Ke({},l),He(r,Ve({className:"controls-table-component","aria-label":"Table options"}
1))),s.a.createElement(ze.a,Ke({"aria-label":"Table options",as:$e.a,disclosure:e=>{const{disclosureElementProps:t}=e,a=t,{ref:n}=a,l=((e,t)=>{var a={};for(var n in e)We.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&qe)for(var n of qe(e))t.indexOf(n)<0&&Ge.call(e,n)&&(a[n]=e[n]);return a})(a,["ref"]);return s.a.createElement(O.c,Ke({minimal:!0,rightIcon:"caret-down",elementRef:n,icon:"th"},l))},commands:[Je,Qe,Ze,Xe],editorChangeObject:t,markActiveItems:!1},l)));var r};a(1173);var tt=a(199),at=a(402),nt=a(188),lt=a(52),rt=Object.defineProperty,ot=Object.defineProperties,it=Object.getOwnPropertyDescriptors,st=Object.getOwnPropertySymbols,ct=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable,mt=(e,t,a)=>t in e?rt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,dt=(e,t)=>{for(var a in t||(t={}))ct.call(t,a)&&mt(e,a,t[a]);if(st)for(var a of st(t))ut.call(t,a)&&mt(e,a,t[a]);return e};class pt extends i.Component{constructor(e){super(e),this.state={isUploading:!1,progress:0,uploadError:null},this.onDrop=this.onDrop.bind(this),this.onUploadFinish=this.onUploadFinish.bind(this),this.onUploadProgress=this.onUploadProgress.bind(this),this.onUploadError=this.onUploadError.bind(this)}onDrop(e){e.length&&(Object(Me.a)(e[0],this.onUploadProgress,this.onUploadFinish,0,this.onUploadError),this.setState({isUploading:!0,progress:0,uploadError:null}))}onUploadProgress(e){this.setState({progress:e.loaded/e.total})}onUploadFinish(e,t,a,n){this.props.onInsert("audio",{url:"https://assets.pubpub.org/"+n,align:this.props.isSmall?"full":void 0})}onUploadError(e){this.setState({isUploading:!1,uploadError:e.message})}render(){return s.a.createElement(nt.a,{onDrop:this.onDrop,accept:"audio/mpeg, audio/ogg, audio/wav, audio/x-wav"},({getRootProps:e,getInputProps:t,isDragActive:a})=>{return s.a.createElement("div",(n=dt({},e()),ot(n,it({className:"formatting-bar_media-component-content dropzone "+(a?"dropzone--isActive":"")}))),s.a.createElement("input",dt({},t())),!this.state.isUploading&&s.a.createElement("div",{className:"drag-message"},s.a.createElement(lt.a,{icon:"circle-arrow-up",iconSize:50}),s.a.createElement("div",{className:"drag-title"},"Drag & drop to upload Audio"),s.a.createElement("div",{className:"drag-details"},"Or click to browse files"),s.a.createElement("div",{className:"drag-details"},".mp3, .wav, or .ogg"),this.state.uploadError&&s.a.createElement("div",{className:"drag-error"},this.state.uploadError)),this.state.isUploading&&s.a.createElement("div",{className:"drag-message"},s.a.createElement(O.F,{value:1===this.state.progress?null:this.state.progress})));var n})}}var bt=pt,ht=a(224),gt=a(140);const ft=e=>{const t=/<iframe.*?src="(.*?)"/;return e.indexOf("<iframe")>-1&&e.match(t)&&e.match(t)[1]||null},yt=e=>{const t={youtube:["https://www.youtube.com","https://youtu.be"],codepen:["https://codepen.io"],vimeo:["https://vimeo.com","https://player.vimeo.com"],soundcloud:["https://soundcloud.com"],github:["https://gist.github.com"],twitter:["https://twitter.com","https://publish.twitter.com"]};return Object.keys(t).reduce((a,n)=>t[n].reduce((t,a)=>0===e.indexOf(a)||t,!1)?n:a,null)};class vt extends i.Component{constructor(e){super(e),this.state={isValid:!1,input:"",embedUrl:"",embedTitle:""},this.handleInput=this.handleInput.bind(this),this.handleInsert=this.handleInsert.bind(this)}handleInput(e){const t=ft(e)||e,a=Object(gt.isHttpsUri)(t)&&"codepen"===yt(t);this.setState({input:t,isValid:a},()=>{if(!this.state.isValid)return this.setState({embedUrl:"",embedTitle:""});const e=`?type=${yt(t)}&input=${t}`;return Object(C.a)("/api/editor/embed"+e).then(e=>{this.setState({embedUrl:ft(e.html),embedTitle:e.title})})})}handleInsert(){this.props.onInsert("iframe",{url:this.state.embedUrl,caption:this.state.embedTitle,align:"full"})}render(){return s.a.createElement("div",{className:"formatting-bar_media-component-content"},s.a.createElement(O.r,{className:"top-input",fill:!0,placeholder:"Enter Codepen URL",large:!0,value:this.state.input,onChange:e=>{this.handleInput(e.target.value)},rightElement:s.a.createElement(O.c,{text:"Insert",intent:ht.a.PRIMARY,disabled:!this.state.embedUrl,large:!0,onClick:this.handleInsert})}),this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement("iframe",{frameBorder:"none",src:this.state.embedUrl,title:"URL preview",allowFullScreen:!0})),!this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement(O.v,{title:"Paste a Codepen URL above",icon:s.a.createElement(lt.a,{icon:"codepen",iconSize:60,useColor:!0}),action:s.a.createElement(O.c,{text:"Load Sample URL",onClick:()=>{this.handleInput("https://codepen.io/juliangarnier/pen/idhuG")}})})))}}var Et=vt,Ot=a(796),wt=a.n(Ot),Ct=Object.defineProperty,Nt=Object.defineProperties,jt=Object.getOwnPropertyDescriptors,kt=Object.getOwnPropertySymbols,St=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable,Dt=(e,t,a)=>t in e?Ct(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,It=(e,t)=>
1{for(var a in t||(t={}))St.call(t,a)&&Dt(e,a,t[a]);if(kt)for(var a of kt(t))Pt.call(t,a)&&Dt(e,a,t[a]);return e};class Tt extends i.Component{constructor(e){super(e),this.state={isUploading:!1,progress:0,loadingFileName:"",loadingFileSize:"",uploadError:null},this.onDrop=this.onDrop.bind(this),this.onUploadFinish=this.onUploadFinish.bind(this),this.onUploadProgress=this.onUploadProgress.bind(this),this.onUploadError=this.onUploadError.bind(this)}onDrop(e){e.length&&(Object(Me.a)(e[0],this.onUploadProgress,this.onUploadFinish,0,this.onUploadError),this.setState({isUploading:!0,progress:0,uploadError:null,loadingFileName:e[0].name,loadingFileSize:wt()(e[0].size,{round:0})}))}onUploadProgress(e){this.setState({progress:e.loaded/e.total})}onUploadFinish(e,t,a,n){this.props.onInsert("file",{url:"https://assets.pubpub.org/"+n,fileName:this.state.loadingFileName,fileSize:this.state.loadingFileSize})}onUploadError(e){this.setState({isUploading:!1,uploadError:e.message})}render(){return s.a.createElement(nt.a,{onDrop:this.onDrop},({getRootProps:e,getInputProps:t,isDragActive:a})=>{return s.a.createElement("div",(n=It({},e()),Nt(n,jt({className:"formatting-bar_media-component-content dropzone "+(a?"dropzone--isActive":"")}))),s.a.createElement("input",It({},t())),!this.state.isUploading&&s.a.createElement("div",{className:"drag-message"},s.a.createElement(lt.a,{icon:"circle-arrow-up",iconSize:50}),s.a.createElement("div",{className:"drag-title"},"Drag & drop to upload a File"),s.a.createElement("div",{className:"drag-details"},"Or click to browse files"),this.state.uploadError&&s.a.createElement("div",{className:"drag-error"},this.state.uploadError)),this.state.isUploading&&s.a.createElement("div",{className:"drag-message"},s.a.createElement(O.F,{value:this.state.progress})));var n})}}var xt=Tt;class At extends i.Component{constructor(e){super(e),this.state={isValid:!1,input:"",embedUrl:"",embedTitle:""},this.handleInput=this.handleInput.bind(this),this.handleInsert=this.handleInsert.bind(this)}handleInput(e){const t=ft(e)||e,a=Object(gt.isHttpsUri)(t)&&"github"===yt(t);this.setState({input:t,isValid:a},()=>{if(!this.state.isValid)return this.setState({embedUrl:"",embedTitle:""});const e=`?type=${yt(t)}&input=${t}`;return Object(C.a)("/api/editor/embed"+e).then(e=>{this.setState({embedUrl:"data:text/html;charset=utf-8,"+e.html,embedTitle:e.title})})})}handleInsert(){this.props.onInsert("iframe",{url:this.state.embedUrl,caption:this.state.embedTitle,align:"full",height:800})}render(){return s.a.createElement("div",{className:"formatting-bar_media-component-content"},s.a.createElement(O.r,{className:"top-input",fill:!0,placeholder:"Enter GitHub Gist URL",large:!0,value:this.state.input,onChange:e=>{this.handleInput(e.target.value)},rightElement:s.a.createElement(O.c,{text:"Insert",intent:ht.a.PRIMARY,disabled:!this.state.embedUrl,large:!0,onClick:this.handleInsert})}),this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement("iframe",{frameBorder:"none",src:this.state.embedUrl,title:"URL preview"})),!this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement(O.v,{title:"Paste a GitHub Gist URL above",icon:s.a.createElement(lt.a,{icon:"github",iconSize:60,useColor:!0}),action:s.a.createElement(O.c,{text:"Load Sample URL",onClick:()=>{this.handleInput("https://gist.github.com/gabestein/16fd6244f88625c0ea02e044a22d4ac5")}})})))}}var Mt=At;class Lt extends i.Component{constructor(e){super(e),this.state={url:""},this.handleInsert=this.handleInsert.bind(this)}handleInsert(){this.props.onInsert("iframe",{url:this.state.url,align:this.props.isSmall?"full":void 0})}render(){const e=Object(gt.isHttpsUri)(this.state.url),t=this.state.url.includes("assets.pubpub.org")&&this.state.url.endsWith(".html");let a=this.state.url;if(t)try{const e=new URL(this.state.url);e.searchParams.set("embed","1"),a=e.toString()}catch(e){console.error(e)}return s.a.createElement("div",{className:"formatting-bar_media-component-content"},s.a.createElement(O.r,{className:"top-input",fill:!0,placeholder:"Enter URL",value:this.state.url,large:!0,onChange:e=>{const t=e.target.value;this.setState({url:ft(t)||t})},rightElement:s.a.createElement(O.c,{text:"Insert",intent:ht.a.PRIMARY,disabled:!e,large:!0,onClick:this.handleInsert})}),e&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement("iframe",{frameBorder:"none",src:a,title:"URL preview",allowFullScreen:!0})),!e&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement(O.v,{title:"Enter an HTTPS URL above",icon:"application"})))}}var Rt=Lt,Ft=Object.defineProperty,Ut=Object.defineProperties,Bt=Object.getOwnPropertyDescriptors,zt=Object.getOwnPropertySymbols,$t=Object.prototype.hasOwnProperty,_t=Object.prototype.propertyIsEnumerable,Ht=(e,t,a)=>t in e?Ft(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Vt=(e,t)=>
1{for(var a in t||(t={}))$t.call(t,a)&&Ht(e,a,t[a]);if(zt)for(var a of zt(t))_t.call(t,a)&&Ht(e,a,t[a]);return e};class qt extends i.Component{constructor(e){super(e),this.state={isUploading:!1,progress:0,uploadError:null},this.onDrop=this.onDrop.bind(this),this.onUploadFinish=this.onUploadFinish.bind(this),this.onUploadProgress=this.onUploadProgress.bind(this),this.onUploadError=this.onUploadError.bind(this)}onDrop(e){e.length&&(Object(Me.a)(e[0],this.onUploadProgress,this.onUploadFinish,0,this.onUploadError),this.setState({isUploading:!0,progress:0,uploadError:null}))}onUploadProgress(e){this.setState({progress:e.loaded/e.total})}onUploadFinish(e,t,a,n){this.props.onInsert("image",{url:"https://assets.pubpub.org/"+n,align:this.props.isSmall?"full":void 0})}onUploadError(e){this.setState({isUploading:!1,uploadError:e.message})}render(){return s.a.createElement(nt.a,{onDrop:this.onDrop,accept:"image/png, image/jpeg, image/gif, image/webp, image/svg+xml"},({getRootProps:e,getInputProps:t,isDragActive:a})=>{return s.a.createElement("div",(n=Vt({},e()),Ut(n,Bt({className:"formatting-bar_media-component-content dropzone "+(a?"dropzone--isActive":"")}))),s.a.createElement("input",Vt({},t())),!this.state.isUploading&&s.a.createElement("div",{className:"drag-message"},s.a.createElement(lt.a,{icon:"circle-arrow-up",iconSize:50}),s.a.createElement("div",{className:"drag-title"},"Drag & drop to upload an Image"),s.a.createElement("div",{className:"drag-details"},"Or click to browse files"),s.a.createElement("div",{className:"drag-details"},".jpeg, .png, .svg, .webp, or .gif"),this.state.uploadError&&s.a.createElement("div",{className:"drag-error"},this.state.uploadError)),this.state.isUploading&&s.a.createElement("div",{className:"drag-message"},s.a.createElement(O.F,{value:1===this.state.progress?null:this.state.progress})));var n})}}var Wt=qt;class Gt extends i.Component{constructor(e){super(e),this.state={isValid:!1,input:"",embedUrl:"",embedTitle:""},this.handleInput=this.handleInput.bind(this),this.handleInsert=this.handleInsert.bind(this)}handleInput(e){const t=ft(e)||e,a=Object(gt.isHttpsUri)(t)&&"soundcloud"===yt(t);this.setState({input:t,isValid:a},()=>{if(!this.state.isValid)return this.setState({embedUrl:"",embedTitle:""});const e=`?type=${yt(t)}&input=${t}`;return Object(C.a)("/api/editor/embed"+e).then(e=>{this.setState({embedUrl:ft(e.html),embedTitle:e.title})})})}handleInsert(){this.props.onInsert("iframe",{url:this.state.embedUrl,caption:this.state.embedTitle,align:"full",height:150})}render(){return s.a.createElement("div",{className:"formatting-bar_media-component-content"},s.a.createElement(O.r,{className:"top-input",fill:!0,placeholder:"Enter SoundCloud URL",large:!0,value:this.state.input,onChange:e=>{this.handleInput(e.target.value)},rightElement:s.a.createElement(O.c,{text:"Insert",intent:ht.a.PRIMARY,disabled:!this.state.embedUrl,large:!0,onClick:this.handleInsert})}),this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement("iframe",{frameBorder:"none",src:this.state.embedUrl,title:"URL preview",className:"short"})),!this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement(O.v,{title:"Paste a SoundCloud URL above",icon:s.a.createElement(lt.a,{icon:"soundcloud",iconSize:60,useColor:!0}),action:s.a.createElement(O.c,{text:"Load Sample URL",onClick:()=>{this.handleInput("https://soundcloud.com/romainroux/charlotte-dada-dont-let-me-down-ghana-1971")}})})))}}var Yt=Gt;class Kt extends i.Component{constructor(e){super(e),this.state={isValid:!1,input:"",embedUrl:"",embedTitle:""},this.handleInput=this.handleInput.bind(this),this.handleInsert=this.handleInsert.bind(this)}handleInput(e){const t=e,a=Object(gt.isHttpsUri)(t)&&"twitter"===yt(t);if(this.setState({input:t,isValid:a}),!a)return void this.setState({embedUrl:"",embedTitle:""});const n=`?type=${yt(t)}&input=${t}`;Object(C.a)("/api/editor/embed"+n).then(e=>{this.setState({embedUrl:e.html,embedTitle:e.title})})}handleInsert(){this.props.onInsert("iframe",{url:"data:text/html;charset=utf-8,"+encodeURIComponent(this.state.embedUrl),caption:this.state.embedTitle,align:"full"})}render(){return s.a.createElement("div",{className:"formatting-bar_media-component-content"},s.a.createElement(O.r,{className:"top-input",fill:!0,placeholder:"Enter Twitter URL",large:!0,value:this.state.input,onChange:e=>{this.handleInput(e.target.value)},rightElement:s.a.createElement(O.c,{text:"Insert",intent:ht.a.PRIMARY,disabled:!this.state.embedUrl,large:!0,onClick:this.handleInsert})}),this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement("iframe",{frameBorder:"none",src:"data:text/html;charset=utf-8,"+encodeURIComponent(this.state.embedUrl),title:"URL preview"})),!this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement(O.v,{title:"Paste a Twitter URL above. You can embed a tweet, profile, list, collection, or likes timeline.",icon:s.a.createElement(lt.a,{icon:"twitter",iconSize:60,useColor:!0}),action:s.a.createElement(O.c,{text:"Load Sample URL",onClick:()=>{this.handleInput("https://twitter.com/pubpub")}})})))}}var Jt=Kt,Qt=Object.defineProperty,Zt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,ea=Object.getOwnPropertySymbols,ta=Object.prototype.hasOwnProperty,aa=Object.prototype.propertyIsEnumerable,na=(e,t,a)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,la=(e,t)=>{for(var a in t||(t={}))ta.call(t,a)&&na(e,a,t[a]);if(ea)for(var a of ea(t))aa.call(t,a)&&na(e,a,t[a]);return e};class ra extends i.Component{constructor(e){super(e),this.state={isUploading:!1,progress:0,uploadError:null},this.onDrop=this.onDrop.bind(this),this.onUploadFinish=this.onUploadFinish.bind(this),this.onUploadProgress=this.onUploadProgress.bind(this),this.onUploadError=this.onUploadError.bind(this)}onDrop(e){e.length&&(Object(Me.a)(e[0],this.onUploadProgress,this.onUploadFinish,0,this.onUploadError),this.setState({isUploading:!0,progress:0,uploadError:null}))}onUploadProgress(e){this.setState({progress:e.loaded/e.total})}onUploadFinish(e,t,a,n){this.props.onInsert("video",{url:"https://assets.pubpub.org/"+n,align:this.props.isSmall?"full":void 0})}onUploadError(e){this.setState({isUploading:!1,uploadError:e.message})}render(){return s.a.createElement(nt.a,{onDrop:this.onDrop,accept:"video/mp4, video/webm"},({getRootProps:e,getInputProps:t,isDragActive:a})=>{return s.a.createElement("div",(n=la({},e()),Zt(n,Xt({className:"formatting-bar_media-component-content dropzone "+(a?"dropzone--isActive":"")}))),s.a.createElement("input",la({},t())),!this.state.isUploading&&s.a.createElement("div",{className:"drag-message"},s.a.createElement(lt.a,{icon:"circle-arrow-up",iconSize:50}),s.a.createElement("div",{className:"drag-title"},"Drag & drop to upload a Video"),s.a.createElement("div",{className:"drag-details"},"Or click to browse files"),s.a.createElement("div",{className:"drag-details"},".mp4 or .webm"),this.state.uploadError&&s.a.createElement("div",{className:"drag-error"},this.state.uploadError)),this.state.isUploading&&s.a.createElement("div",{className:"drag-message"},s.a.createElement(O.F,{value:1===this.state.progress?null:this.state.progress})));var n})}}var oa=ra;class ia extends i.Component{constructor(e){super(e),this.state={isValid:!1,input:"",embedUrl:"",embedTitle:""},this.handleInput=this.handleInput.bind(this),this.handleInsert=this.handleInsert.bind(this)}handleInput(e){const t=ft(e)||e,a=Object(gt.isHttpsUri)(t)&&"vimeo"===yt(t);this.setState({input:t,isValid:a},()=>{if(!this.state.isValid)return this.setState({embedUrl:"",embedTitle:""});const e=`?type=${yt(t)}
1&input=${t}`;return Object(C.a)("/api/editor/embed"+e).then(e=>{this.setState({embedUrl:ft(e.html),embedTitle:e.title})})})}handleInsert(){this.props.onInsert("iframe",{url:this.state.embedUrl,caption:this.state.embedTitle,align:"full"})}render(){return s.a.createElement("div",{className:"formatting-bar_media-component-content"},s.a.createElement(O.r,{className:"top-input",fill:!0,placeholder:"Enter Vimeo URL",large:!0,value:this.state.input,onChange:e=>{this.handleInput(e.target.value)},rightElement:s.a.createElement(O.c,{text:"Insert",intent:ht.a.PRIMARY,disabled:!this.state.embedUrl,large:!0,onClick:this.handleInsert})}),this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement("iframe",{frameBorder:"none",src:this.state.embedUrl,title:"URL preview",allowFullScreen:!0})),!this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement(O.v,{title:"Paste a Vimeo URL above",icon:s.a.createElement(lt.a,{icon:"vimeo",iconSize:60,useColor:!0}),action:s.a.createElement(O.c,{text:"Load Sample URL",onClick:()=>{this.handleInput("https://vimeo.com/146022717")}})})))}}var sa=ia;class ca extends i.Component{constructor(e){super(e),this.state={isValid:!1,input:"",embedUrl:"",embedTitle:""},this.handleInput=this.handleInput.bind(this),this.handleInsert=this.handleInsert.bind(this)}handleInput(e){const t=ft(e)||e,a=Object(gt.isHttpsUri)(t)&&"youtube"===yt(t);this.setState({input:t,isValid:a},()=>{if(!this.state.isValid)return this.setState({embedUrl:"",embedTitle:""});const e=`?type=${yt(t)}&input=${t}`;return Object(C.a)("/api/editor/embed"+e).then(e=>{this.setState({embedUrl:ft(e.html),embedTitle:e.title})})})}handleInsert(){this.props.onInsert("iframe",{url:this.state.embedUrl,caption:this.state.embedTitle,align:"full"})}render(){return s.a.createElement("div",{className:"formatting-bar_media-component-content"},s.a.createElement(O.r,{className:"top-input",fill:!0,placeholder:"Enter YouTube URL",large:!0,value:this.state.input,onChange:e=>{this.handleInput(e.target.value)},rightElement:s.a.createElement(O.c,{text:"Insert",intent:ht.a.PRIMARY,disabled:!this.state.embedUrl,large:!0,onClick:this.handleInsert})}),this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement("iframe",{frameBorder:"none",src:this.state.embedUrl,title:"URL preview",allowFullScreen:!0})),!this.state.isValid&&s.a.createElement("div",{className:"preview-wrapper"},s.a.createElement(O.v,{title:"Paste a YouTube URL above",icon:s.a.createElement(lt.a,{icon:"youtube",iconSize:60,useColor:!0}),action:s.a.createElement(O.c,{text:"Load Sample URL",onClick:()=>{this.handleInput("https://www.youtube.com/watch?v=k5Q6-hh49mU")}})})))}}var ua=ca,ma=(a(1174),Object.defineProperty),da=Object.getOwnPropertySymbols,pa=Object.prototype.hasOwnProperty,ba=Object.prototype.propertyIsEnumerable,ha=(e,t,a)=>t in e?ma(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ga=(e,t)=>{for(var a in t||(t={}))pa.call(t,a)&&ha(e,a,t[a]);if(da)for(var a of da(t))ba.call(t,a)&&ha(e,a,t[a]);return e};const fa=[{text:"Image",icon:"media"},{text:"Video",icon:"video"},{text:"Audio",icon:"volume-up"},{text:"Other",icon:"document"}],ya=[{text:"Iframe",icon:"application"},{text:"YouTube",icon:"youtube"},{text:"Twitter",icon:"twitter"},{text:"Codepen",icon:"codepen"},{text:"Vimeo",icon:"vimeo"},{text:"SoundCloud",icon:"soundcloud"},{text:"GitHub Gist",icon:"github"}];class va extends i.Component{constructor(e){super(e),this.state={activeItem:"Image"}}render(){const e=this.state.activeItem,t={onInsert:this.props.onInsert,isSmall:this.props.isSmall};return s.a.createElement("div",{className:"formatting-bar_media-component"},s.a.createElement("div",{className:"options"},s.a.createElement(O.t,null,s.a.createElement("li",{className:de.a.MENU_HEADER},s.a.createElement("h6",null,"Files")),fa.map(t=>s.a.createElement(O.u,{key:t.text,text:t.text,icon:s.a.createElement(u.O,{icon:t.icon,iconSize:30,useColor:!0}),active:e===t.text,onClick:()=>{this.setState({activeItem:t.text})}})),s.a.createElement("li",{className:de.a.MENU_HEADER},s.a.createElement("h6",null,"Apps")),ya.map(t=>s.a.createElement(O.u,{key:t.text,text:t.text,icon:s.a.createElement(u.O,{icon:t.icon,iconSize:30,useColor:!0}),active:e===t.text,onClick:()=>{this.setState({activeItem:t.text})}})))),"Image"===e&&s.a.createElement(Wt,ga({},t)),"Video"===e&&s.a.createElement(oa,ga({},t)),"Audio"===e&&s.a.createElement(bt,ga({},t)),"Other"===e&&s.a.createElement(xt,ga({},t)),"Iframe"===e&&s.a.createElement(Rt,ga({},t)),"YouTube"===e&&s.a.createElement(ua,ga({},t)),"Twitter"===e&&s.a.createElement(Jt,ga({},t)),"Codepen"===e&&s.a.createElement(Et,ga({},t)),"Vimeo"===e&&s.a.createElement(sa,ga({}
1,t)),"SoundCloud"===e&&s.a.createElement(Yt,ga({},t)),"GitHub Gist"===e&&s.a.createElement(Mt,ga({},t)))}}var Ea=va,Oa=Object.defineProperty,wa=Object.defineProperties,Ca=Object.getOwnPropertyDescriptors,Na=Object.getOwnPropertySymbols,ja=Object.prototype.hasOwnProperty,ka=Object.prototype.propertyIsEnumerable,Sa=(e,t,a)=>t in e?Oa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Pa=s.a.forwardRef((e,t)=>{const a=e,{view:n,isSmall:r,onClick:o,isIndicated:c,isOpen:m}=a,d=((e,t)=>{var a={};for(var n in e)ja.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Na)for(var n of Na(e))t.indexOf(n)<0&&ka.call(e,n)&&(a[n]=e[n]);return a})(a,["view","isSmall","onClick","isIndicated","isOpen"]),[p,b]=Object(i.useState)(!1);return s.a.createElement(s.a.Fragment,null,s.a.createElement(u.jb,{isOpen:p,onClose:()=>b(!1),maxWidth:750},s.a.createElement(Ea,{onInsert:(e,t)=>{Object(l.n)(n,e,t),b(!1)},isSmall:Boolean(r)})),s.a.createElement(at.a,((e,t)=>wa(e,Ca(t)))(((e,t)=>{for(var a in t||(t={}))ja.call(t,a)&&Sa(e,a,t[a]);if(Na)for(var a of Na(t))ka.call(t,a)&&Sa(e,a,t[a]);return e})({},d),{ref:t,isIndicated:c,isOpen:m,isSmall:r,label:"Media",onClick:c||m?o:()=>b(!0)})))}),Da=a(217),Ia=Object.defineProperty,Ta=Object.getOwnPropertySymbols,xa=Object.prototype.hasOwnProperty,Aa=Object.prototype.propertyIsEnumerable,Ma=(e,t,a)=>t in e?Ia(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const La=e=>{const{latestDomEvent:t}=e;return"click"===(null==t?void 0:t.type)},Ra=(e,t,a)=>{const n=Array.isArray(t)?t:[t];return((e,t)=>{for(var a in t||(t={}))xa.call(t,a)&&Ma(e,a,t[a]);if(Ta)for(var a of Ta(t))Aa.call(t,a)&&Ma(e,a,t[a]);return e})({showCloseButton:!0,enterKeyTriggers:!0,captureFocusOnMount:!1,component:e,trigger:La,show:e=>!!e.selectedNode,indicate:e=>{const{selectedNode:t}=e;return!!t&&n.some(e=>e===t.type.name)}},a)},Fa=e=>{const{selectionInTable:t,selection:a}=e;return t&&La(e)&&(a.empty||a.$anchorCell)},Ua={key:"align-left",title:"Align left",icon:"align-left",command:r.alignTextLeft},Ba={key:"align-center",title:"Align center",icon:"align-center",command:r.alignTextCenter},za={key:"align-right",title:"Align right",icon:"align-right",command:r.alignTextRight},$a={key:"toggle-right-to-left",title:"RTL",icon:"rtl",command:r.rtlToggle},_a={key:"strong",title:"Bold",icon:"bold",isToggle:!0,command:r.strongToggle},Ha={key:"em",title:"Italic",icon:"italic",isToggle:!0,command:r.emToggle},Va={key:"link",title:"Link",icon:"link",isToggle:!0,command:r.linkToggle,controls:{component:ue,indicate:e=>!!e.activeLink,trigger:e=>{const{latestDomEvent:t}=e;return t&&t.metaKey&&"k"===t.key||La(e)},show:e=>!!e.activeLink,floatingPosition:tt.a,hasPadding:!1}},qa={key:"bullet-list",title:"Bullet List",icon:"list-ul",command:r.bulletListToggle},Wa={key:"ordered-list",title:"Ordered List",icon:"list-ol",command:r.orderedListToggle},Ga={key:"blockquote",title:"Blockquote",icon:"citation",command:r.blockquoteToggle},Ya={key:"heading1",title:"Heading 1",icon:"header-one",command:r.heading1Toggle},Ka={key:"heading2",title:"Heading 2",icon:"header-two",command:r.heading2Toggle},Ja={key:"code",title:"Code",icon:"code",isToggle:!0,command:r.codeToggle},Qa={key:"code-block",title:"Code Block",icon:"code-block",command:r.codeBlockToggle},Za={key:"table",title:"Table",icon:"th",insertNodeType:"table",controls:{captureFocusOnMount:!1,indicate:({selectionInTable:e})=>e,show:Fa,trigger:Fa,floatingPosition:tt.b,component:et}},Xa={key:"math",title:"Math",icon:"function",insertNodeType:"math_inline",controls:Ra(me,["math_inline","math_display"],{floatingPosition:tt.b,showCloseButton:!1})},en={key:"subscript",title:"Subscript",icon:"subscript",isToggle:!0,command:r.subscriptToggle},tn={key:"superscript",title:"Superscript",icon:"superscript",isToggle:!0,command:r.superscriptToggle},an={key:"strikethrough",title:"Strikethrough",ariaTitle:"strike through",icon:"strikethrough",isToggle:!0,command:r.strikethroughToggle},nn={key:"citation",title:"Citation",icon:"bookmark",controls:Ra(q,"citation"),insertNodeType:"citation"}
1,ln={key:"reference",title:"Reference",icon:"at",insertNodeType:"reference",controls:Ra(ye,"reference",{floatingPosition:tt.b,showCloseButton:!1}),isDisabled:e=>{if(e.view){const{state:t}=e.view,a=Object(l.e)(t);return!Object.values(a).some(e=>e.enabled)}return!0},popover:{condition:Da.a.Disabled,component:()=>{const{inPub:e}=Object(d.a)();return e?s.a.createElement("p",{className:"controls-reference-popover-component"},s.a.createElement(fe,null)):null}}},rn={key:"footnote",title:"Footnote",icon:"asterisk",insertNodeType:"footnote",controls:Ra(q,"footnote")},on={key:"horizontal_rule",title:"Horizontal Line",insertNodeType:"horizontal_rule",icon:"minus"},sn={key:"media",title:"Media",icon:"media",component:Pa,isMedia:!0,controls:Ra(Fe,["image","video","audio","iframe"])},cn={key:"media",title:"Media",icon:"media",component:Pa,isMedia:!0},un={key:"suggested-edits-toggle",title:"Toggle suggestion mode",icon:"highlight",isToggle:!0,command:o.d,popover:{condition:Da.a.Always,component:()=>{const{inPub:e}=Object(d.a)();return e?s.a.createElement("p",{className:"suggested-edits-toggle-popover-component"},"Editing the document in this mode will create suggestions."):null}}},mn={key:"suggested-edits-reject",title:"Reject suggestion",icon:"cross",command:o.c},dn={key:"suggested-edits-accept",title:"Accept suggestion",icon:"tick",command:o.a},pn=[[un,dn,mn]],bn=[[_a,Ha,Va,$a,Xa]],hn=[[_a,Ha,Va,$a,Xa]],gn=[[Ya,Ka,_a,Ha,Va,$a,qa,Wa,Ga,Ja,Qa,en,tn,an,on,Xa]],fn=[[_a,Ha,Va],[$a],[cn]],yn=[[Ya,Ka,_a,Ha,Va]],vn=[[Ya,Ka,_a,Ha,Va],[$a],[cn]],En=[[Ua,Ba,za],[$a],[_a,Ha,Va,qa,Wa,Ga,Ja,Qa,en,tn,an,on,Xa,ln,nn,rn,Za],[sn]],On=[[Ua,Ba,za],[$a],[_a,Ha,Va,qa,Wa,Ga,Ja,Qa,en,tn,an,on,Xa,nn,rn,Za],[sn]];var wn=a(360),Cn=a(280),Nn=a(281);var jn=e=>{var t;const{suggestionAuthor:a,buttons:n,editorChangeObject:l}=e,r=Object(Cn.a)(),{view:o}=l,i=Object(Nn.a)({view:l.view,state:null==(t=l.view)?void 0:t.state,commands:n}),c=e=>{const t=i[e.key];null==t||t.run(),o.focus()},m=a?"Reject suggestion made by "+a.fullName:mn.title,d=a?"Accept suggestion made by "+a.fullName:dn.title;return s.a.createElement(s.a.Fragment,null,s.a.createElement(O.N,{content:d,usePortal:!0},s.a.createElement(O.c,{ref:r.getRef(dn.key),"aria-label":dn.title,role:"button",onClick:()=>c(dn),className:"accept-button"},s.a.createElement(u.O,{icon:dn.icon,iconSize:16}))),s.a.createElement(O.N,{content:m,usePortal:!0},s.a.createElement(O.c,{ref:r.getRef(mn.key),"aria-label":mn.title,role:"button",onClick:()=>c(mn),className:"reject-button"},s.a.createElement(u.O,{icon:mn.icon,iconSize:16}))))}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(155);const l=e=>{var t,a;const l=Object(n.c)()?"":"_testing/",{communityId:r,userId:o,pubId:i}=(()=>{var e,t,a,n,l,r,o,i;if("undefined"==typeof window)return{communityId:"unknown",userId:"unknown",pubId:void 0};const s=window.__pubpub_pageContextProps__;if(!s)return{communityId:"unknown",userId:"unknown",pubId:void 0};return{communityId:null!=(t=null==(e=s.communityData)?void 0:e.id)?t:"unknown",userId:null!=(n=null==(a=s.loginData)?void 0:a.id)?n:"anonymous",pubId:null!=(i=null==(o=null==(r=null==(l=s.scopeData)?void 0:l.elements)?void 0:r.activeIds)?void 0:o.pubId)?i:void 0}})(),[s="unknown",c="jpg"]=null!=(a=null==(t=e.name)?void 0:t.split(/(.*)\.(.*)/).filter(Boolean))?a:[];return`${l}c${r}${i?"/p"+i:""}/u${o}/${s.replace(/[^a-zA-Z0-9\-_.]+/g,"_")}-${Math.floor(8*Math.random())}${(new Date).getTime()}.${c}`},r=e=>{alert("Upload failed: "+e.message)},o=(e,t,a,n,o=r)=>{if(e.size>104857600){const t=(e.size/1048576).toFixed(1);return void o(new Error(`File "${e.name}" is ${t} MB, which exceeds the 100 MB upload limit.`))}const i=l(e),s=void 0!==e.type?e.type:"image/jpeg";const c=new XMLHttpRequest;c.addEventListener("load",(function(){if(this.status<200||this.status>=300)return void o(new Error(`Could not get an upload policy (status ${this.status})`));const{policy:l,signature:r,acl:c,awsAccessKeyId:u,bucket:m}=JSON.parse(this.responseText),d=new FormData;d.append("key",i),d.append("AWSAccessKeyId",u),d.append("acl",c),d.append("policy",l),d.append("signature",r),d.append("Content-Type",s),"text/html"===s&&d.append("Content-Disposition",'attachment; filename="'+e.name+'"'),d.append("success_action_status","200"),d.append("file",e);const p=new XMLHttpRequest,b=(e=>"https://s3-external-1.amazonaws.com/"+e)(m);p.upload.addEventListener("progress",e=>t(e,n),!1),p.addEventListener("load",t=>{p.status<200||p.status>=300?o(new Error(`Upload was rejected by the server (status ${p.status})`)):(e=>{let t=0;return new Promise((a,n)=>{const l=()=>{fetch(e,{method:"HEAD"}).then(e=>e.ok?a():t<10?(t+=1,setTimeout(l,1e3)):n(new Error(`Uploaded file could not be verified (status ${e.status})`))).catch(e=>t<10?(t+=1,setTimeout(l,1e3)):n(e))};l()})})(`${b}/${i}`).then(()=>a(t,n,e.type,i,e.name),e=>o(e instanceof Error?e:new Error("Upload verification failed")))},!1),p.addEventListener("error",()=>o(new Error("Network error during upload")),!1),p.addEventListener("abort",()=>o(new Error("Upload was aborted")),!1),p.open("POST",b,!0),p.send(d)})),c.addEventListener("error",()=>o(new Error("Network error while requesting upload policy")),!1);const u=new URLSearchParams({contentType:e.type});e.name&&u.set("filename",e.name),u.set("key",i),c.open("GET","/api/uploadPolicy?"+u.toString()),c.send()}},,,,,,,function(e,t,a){"use strict";a.d(t,"e",(function(){return u})),a.d(t,"f",(function(){return m})),a.d(t,"b",(function(){return d})),a.d(t,"a",(function(){return p})),a.d(t,"d",(function(){return h})),a.d(t,"c",(function(){return D}));var n=a(34),l=Object.defineProperty,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,s=(e,t,a)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,c=(e,t)=>{for(var a in t||(t={}))o.call(t,a)&&s(e,a,t[a]);if(r)for(var a of r(t))i.call(t,a)&&s(e,a,t[a]);return e};const u=e=>"object"==typeof e&&"children"in e,m=e=>
1"children"in e,d=[{id:"rss",title:"RSS",href:"/rss.xml"},{id:"legal",title:"Legal",href:"/legal"}],p=(e,t)=>{if(Boolean(e.socialLinksLocation)&&Boolean(t)&&e.socialLinksLocation!==t)return[];return[{id:"si-0",icon:"globe",title:"Website",value:e.website,url:e.website},{id:"si-1",icon:"twitter",title:"Twitter",value:e.twitter,url:"https://twitter.com/"+e.twitter},{id:"si-2",icon:"facebook",title:"Facebook",value:e.facebook,url:"https://facebook.com/"+e.facebook},{id:"si-3",icon:"instagram",title:"Instagram",value:e.instagram,url:"https://instagram.com/"+e.instagram},{id:"si-4",icon:"mastodon",title:"Mastodon",value:e.mastodon,url:"https://"+e.mastodon,additionalAttributes:{rel:"me"}},{id:"si-5",icon:"linkedin",title:"LinkedIn",value:e.linkedin,url:"https://linkedin.com/"+e.linkedin},{id:"si-6",icon:"bluesky",title:"Bluesky",value:e.bluesky,url:"https://bsky.app/profile/"+e.bluesky},{id:"si-7",icon:"github",title:"GitHub",value:e.github,url:"https://github.com/"+e.github},{id:"si-8",icon:"envelope",title:"Contact",value:e.email,url:"mailto:"+e.email}].filter(e=>Boolean(e.value&&e.url))},b=(e,t)=>{const{pages:a,collections:l}=t;if("type"in e){const{type:t,id:r}=e,o="collection"===t?l.find(e=>e.id===r):a.find(e=>e.id===r);if(o)return(e=>c({title:Object(n.c)(e.title),href:"/"+e.slug,id:e.id},!e.isPublic&&{isPrivate:!0}))(o)}else if("href"in e){const{title:t,href:a,id:n}=e,l=!a.startsWith("/");return c({title:t,href:a,id:n},l&&{isExternal:!0})}return null},h=({navigation:e,collections:t,pages:a})=>e.map(e=>((e,t)=>{if(u(e)){const{title:a,children:n,id:l}=e;return{title:a,id:l,children:n.map(e=>b(e,t)).filter(e=>!!e)}}return b(e,t)})(e,{collections:t,pages:a})).filter(e=>!!e);var g=a(104),f=a(22),y=a(279);const v={title:"Overview",icon:"overview",dashboardMode:"overview"},E={title:"Activity",icon:"activity",dashboardMode:"activity"},O={title:"Reviews",icon:"review",dashboardMode:"reviews",count:e=>e.scopeData.activeCounts.reviews},w={title:"Curated By",icon:"community",dashboardMode:"curatedBy",requiredPermission:"manage",shown:e=>e.scopeData.activeCounts.curatingHubCount>0},C={title:"Impact",icon:"impact",dashboardMode:"impact"},N={title:"Members",icon:"member",dashboardMode:"members",requiredPermission:"manage"},j={title:"Settings",icon:"settings",dashboardMode:"settings",requiredPermission:"manage"},k={title:"Facets",icon:"facets",dashboardMode:"facets",requiredPermission:"manage",shown:e=>e.scopeData.activePermissions.isSuperAdmin},S={hub:[],community:[v,E,{title:"Pages",icon:"page",dashboardMode:"pages",requiredPermission:"manage"},O,C,N,w,k,j],collection:[v,E,{title:"Layout",icon:"layout",dashboardMode:"layout",requiredPermission:"manage"},O,{title:"Submissions",icon:"submission",dashboardMode:"submissions",requiredPermission:"manage",count:e=>e.scopeData.activeCounts.submissions,shown:e=>!!e.featureFlags.submissions},C,N,k,j],pub:[v,E,O,{title:"Connections",icon:"connection",dashboardMode:"connections"},C,N,w,k,j]},P=e=>{const{path:t,isDashboard:a,params:{subMode:l,reviewNumber:r}}=e;if(a){if(r)return{mode:"reviews",subMode:r};return{mode:(e=>{const[t,a,...l]=e.split("/");Object(n.a)(""===t&&"dash"===a);const r=l.shift();return"collection"===r||"pub"===r?(l.shift(),l.shift()):r})(t),subMode:l||null}}return null},D=e=>{const{locationData:t,scopeData:a}=e,{isBasePubPub:n}=t;if(n)return{menuItems:[],activeMode:null};const{elements:{activeTargetType:l}}=a,r=S[l],o=P(t);return{menuItems:r.filter(t=>((e,t)=>{const{scopeData:{activePermissions:{activePermission:a}}}=t,{requiredPermission:n,shown:l}=e;return!(n&&!Object(y.a)(a,n))&&!(l&&!l(t))})(t,e)).map(t=>((e,t,a)=>{const{title:n,icon:l,count:r,dashboardMode:o}=e,{scopeData:{elements:{activeCollection:i}},locationData:{params:{pubSlug:s}}}=t;return{title:n,href:Object(f.a)({mode:o,pubSlug:s,collectionSlug:null==i?void 0:i.slug}),icon:g.a[l],count:r?r(t):null,active:(null==a?void 0:a.mode)===o}})(t,e,o)),activeMode:o}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={overview:"home2",activity:"pulse",page:"page-layout",layout:"page-layout",review:"social-media",submission:"manually-entered-data",connection:"layout-auto",impact:"dashboard",member:"people",settings:"cog",collection:"collection",pub:"pubDoc",community:"office",facets:"gem",contributor:"user"}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n})),a.d(t,"c",(function(){return l})),a.d(t,"b",(function(){return r})),a.d(t,"d",(function(){return i}));const n={Parent:"parent",Sibling:"sibling",Child:"child"},l=Object.values(n),r={Carousel:"carousel",List:"list"},o={[n.Parent]:"parents",[n.Sibling]:"siblings",[n.Child]:"children"},i=e=>o[e]},,,,,,,function(e,t,a){"use strict";a.d(t,"c",(function(){return b})),a.d(t,"b",(function(){return g})),a.d(t,"e",(function(){return f})),a.d(t,"a",(function(){return y}
1)),a.d(t,"d",(function(){return v}));var n=a(13),l=a(181),r=a(78),o=a(246),i=a(139),s=Object.defineProperty,c=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,d=(e,t,a)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,p=(e,t)=>{for(var a in t||(t={}))u.call(t,a)&&d(e,a,t[a]);if(c)for(var a of c(t))m.call(t,a)&&d(e,a,t[a]);return e};const b=e=>{const{selection:t}=e,a=Object(i.b)(e);if(a){const{suggestionRanges:e}=a,n=e.find(e=>e.from<=t.to&&t.from<=e.to);if(n)return{from:Math.min(n.from,t.from),to:Math.max(n.to,t.to)}}return null},h=e=>{const t={};return Object.keys(e).forEach(a=>{o.c.includes(a)||(t[a]=e[a])}),t},g=(e,t,a)=>{const{tr:o,doc:i}=e;o.setMeta(l.a,{resolving:!0});const s=Object(r.f)(i.type.schema);return i.nodesBetween(t,a,(e,t)=>{const{attrs:a,marks:l,nodeSize:r}=e,i=o.mapping.map(t),c=l.find(e=>e.type===s);if(c){const{suggestionKind:e}=c.attrs;"addition"!==e&&"modification"!==e||o.removeMark(i,i+r,c),"removal"===e&&o.replace(i,i+r,n.Slice.empty)}if(a.suggestionKind&&!e.isText){const{suggestionKind:e}=a;if(o.setNodeMarkup(i,null,h(a),l),"removal"===e)try{o.join(i)}catch(e){return o.delete(i,i+r),!1}}}),o},f=(e,t,a)=>{const{tr:o,doc:i}=e,{schema:s}=i.type;o.setMeta(l.a,{resolving:!0});const c=Object(r.f)(s);return i.nodesBetween(t,a,(e,t)=>{const{attrs:a,marks:l,nodeSize:r}=e,i=o.mapping.map(t),u=l.find(e=>e.type===c);if(u){const{suggestionKind:e}=u.attrs;if("removal"===e&&o.removeMark(i,i+r,u),"addition"===e&&o.replace(i,i+r,n.Slice.empty),"modification"===e){o.removeMark(i,i+r,null);const{suggestionOriginalMarks:e}=u.attrs;if(e){JSON.parse(e).map(e=>n.Mark.fromJSON(s,e)).forEach(e=>o.addMark(i,i+r,e))}}}if(a.suggestionKind&&!e.isText){const{suggestionKind:e,suggestionOriginalAttrs:t}=a,n=t?JSON.parse(t):null;if(o.setNodeMarkup(i,null,p(p({},h(a)),n),l),"addition"===e)try{o.join(i)}catch(e){return o.delete(i,i+r),!1}}}),o},y=(e,t)=>{const a=b(e);if(a){if(t){t(g(e,a.from,a.to))}return!0}return!1},v=(e,t)=>
1{const a=b(e);if(a){if(t){t(f(e,a.from,a.to))}return!0}return!1}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=(e,t)=>e?t(e):null},function(e,t,a){"use strict";a.d(t,"b",(function(){return u})),a.d(t,"c",(function(){return m})),a.d(t,"a",(function(){return d}));var n=Object.defineProperty,l=Object.defineProperties,r=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,c=(e,t,a)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const u=e=>t=>a=>e(t.dispatch,a),m=e=>{const{getTypeFromSchema:t,withAttrs:a,commandFn:n,isActiveFn:m}=e;return u((e,u)=>{const d=t(u.schema),p={state:u,type:d,withAttrs:a};return{run:()=>n(((e,t)=>l(e,r(t)))(((e,t)=>{for(var a in t||(t={}))i.call(t,a)&&c(e,a,t[a]);if(o)for(var a of o(t))s.call(t,a)&&c(e,a,t[a]);return e})({},p),{dispatch:e})),canRun:n(p),isActive:d&&m(p)}})},d=e=>{let t=null;return(...a)=>{const[n]=a;if(t&&t.state===n)return t.result;const l=e(...a);return t={state:n,result:l},l}}},function(e,t,a){"use strict";a.d(t,"d",(function(){return r})),a.d(t,"c",(function(){return o})),a.d(t,"a",(function(){return i})),a.d(t,"b",(function(){return c}));var n=a(90),l=a(37);const r={comment:{name:"Comment",article:"a",preposition:"on",isIntraWork:!1,crossrefRelationshipTypes:["isCommentOn","hasComment"]},commentary:{name:"Commentary",plural:"Commentaries",article:"a",preposition:"on",isIntraWork:!1,crossrefRelationshipTypes:["isCommentOn","hasComment"]},preprint:{name:"Preprint",article:"a",preposition:"of",isIntraWork:!0,crossrefRelationshipTypes:["isPreprintOf","hasPreprint"]},rejoinder:{name:"Rejoinder",article:"a",preposition:"to",isIntraWork:!1,crossrefRelationshipTypes:["isReplyTo","hasReply"]},reply:{name:"Reply",plural:"Replies",article:"a",preposition:"to",isIntraWork:!1,crossrefRelationshipTypes:["isReplyTo","hasReply"]},review:{name:"Review",article:"a",preposition:"of",isIntraWork:!1,crossrefRelationshipTypes:["isReviewOf","hasReview"]},supplement:{name:"Supplement",article:"a",preposition:"to",isIntraWork:!1,crossrefRelationshipTypes:["isSupplementTo","isSupplementedBy"]},translation:{name:"Translation",article:"a",preposition:"of",isIntraWork:!0,crossrefRelationshipTypes:["isTranslationOf","hasTranslation"]},version:{name:"Version",article:"a",preposition:"of",isIntraWork:!0,crossrefRelationshipTypes:["isVersionOf","hasVersion"]}},o=(e,t)=>{const a=r[e];if(a){const{name:e,plural:n}=a;return t?n||e+"s":e}return null},i=(Object.keys(r),(()=>{const e={};return Object.entries(r).forEach(([t])=>{e[Object(l.g)(t)]=t}),e})()),s=(e,t,a=!1)=>{const l=Object(n.b)(e);for(let e=0;e<l.length;e++){const n=l[e],{pubIsParent:r,relationType:o}=n;if(a?r:!r)for(let e=0;e<t.length;e++)if(o===t[e])return n}return null},c=(e,t)=>{const{inboundEdges:a,outboundEdges:n}=e;return s(a,t,!0)||s(n,t)||null}},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return o}));var n=a(90);const l=e=>{const{collection:t}=e;return t&&"tag"!==t.kind},r=e=>{const t=Object(n.b)(e,"pubRank").find(l);return t?t.collection:null},o=e=>Object(n.b)(e,"pubRank").find(l)},function(e,t,a){"use strict";a.d(t,"b",(function(){return d})),a.d(t,"a",(function(){return p}));var n=a(31),l=a(123),r=a(198);a(37);const o=e=>[...null!=e?e:[]].sort((e,t)=>e.order!==t.order?e.order-t.order:e.createdAt&&t.createdAt&&t.createdAt!==e.createdAt?t.createdAt.toString()>e.createdAt.toString()?1:-1:0),i=["Editor","Writing – Review & Editing"],s=["Illustrator","Visualization"],c=i.concat(s,["Translator","Series Editor","Chair"]),u=e=>e.roles?e.roles[0]:"",m=(e,t,a)=>{const l=e.filter(e=>(!t||!e.isAuthor)&&!(a&&!e.isAuthor));return Object(n.j)(l,(e,t)=>{var a;return e.user?JSON.stringify({userId:e.user.id,roles:(null!=(a=e.roles)?a:[]).sort((e,t)=>e.localeCompare(t))}):t})},d=(e,t,a=!1,n=!1)=>{const{collectionPubs:d}=e,p=d&&Object(l.a)(d),b=[...o(e.attributions),...o(p&&p.attributions)].map(r.a);if("contributors"===t)return m(b,a,n);if("author"===t){const e=b.filter(e=>!e.roles||!c.includes(u(e)));return m(e,a,n)}if("editor"===t){const e=b.filter(e=>i.includes(u(e)));return m(e,a,n)}if("illustrator"===t){const e=b.filter(e=>s.includes(u(e)));return m(e,a,n)}const h=b.filter(e=>u(e)===t);return m(h,a,n)},p=(e,t=!1,a=!1)=>m(o(e.attributions).map(r.a),t,a)},,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"c",(function(){return c})),a.d(t,"e",(function(){return u})),a.d(t,"b",(function(){return m})),a.d(t,"d",(function(){return d}));var n=a(97),l=a(395),r=a(145);const o=e=>{const{type:{name:t}}=e;return"math_display"===t||"block_equation"===t?r.a.Math:t},i={[r.a.Image]:{icon:"media",text:"Image"},[r.a.Video]:{icon:"media",text:"Video"},[r.a.Audio]:{icon:"media",text:"Audio"},[r.a.Table]:{icon:"th",text:"Table"},[r.a.Math]:{icon:"function",text:"Equation"},[r.a.Iframe]:{icon:"media",text:"Iframe"}},s=(e,t)=>{const{attrs:{count:a,label:n,hideLabel:l}}=e;if(l)return null;const r=o(e);if(!a&&!n)return null;const s=i[r];return s?`${t||n||s.text} ${a}`:null},c=(e,t)=>{if(!e.attrs.hideLabel){const a=o(e),n=t[a];if(null==n?void 0:n.enabled)return{referenceableNodeType:a,nodeLabel:n}}return null},u=(e,t)=>
1{const a=[];return e.doc.descendants(l=>{if(l.attrs&&l.attrs.id){const r=((e,t,a)=>{const{type:{spec:{reactive:l}}}=e,r=o(e);if(!l)return null;const u=a[r],m=i[r],d=Object(n.getReactedCopyOfNode)(e,t);if(!(m&&d&&"number"==typeof d.attrs.count&&u&&c(e,a)))return null;const{icon:p}=m;return{node:d,icon:p,label:s(d,u.text)}})(l,e,t);r&&a.push(r)}}),a},m=e=>l.b.getState(e).nodeLabels,d=(e,t)=>{var a;return null==(a=t[o(e)])?void 0:a.text}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(0),l=a.n(n);const r=(e,t,a="span")=>{if(e)return l.a.createElement(a,{dangerouslySetInnerHTML:{__html:t}});const n=document.createElement(a);return n.innerHTML=t,n}},,,,function(e,t,a){"use strict";a.d(t,"b",(function(){return p})),a.d(t,"a",(function(){return b})),a.d(t,"f",(function(){return h})),a.d(t,"d",(function(){return g})),a.d(t,"e",(function(){return f})),a.d(t,"c",(function(){return y}));var n=a(6),l=Object.defineProperty,r=Object.defineProperties,o=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,u=(e,t,a)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,m=(e,t)=>{for(var a in t||(t={}))s.call(t,a)&&u(e,a,t[a]);if(i)for(var a of i(t))c.call(t,a)&&u(e,a,t[a]);return e},d=(e,t)=>r(e,o(t));const p=({title:e,communityId:t,isPublic:a=!1})=>Object(n.a)("/api/collections",{method:"POST",body:JSON.stringify({communityId:t,title:e,kind:"tag",isPublic:a})}),b=({pubId:e,collectionId:t,communityId:a})=>Object(n.a)("/api/collectionPubs",{method:"POST",body:JSON.stringify({pubId:e,collectionId:t,communityId:a})}),h=({communityId:e,id:t,update:a})=>Object(n.a)("/api/collectionPubs",{method:"PUT",body:JSON.stringify(d(m({},a),{id:t,communityId:e}))}),g=({communityId:e,id:t})=>Object(n.a)("/api/collectionPubs",{method:"DELETE",body:JSON.stringify({id:t,communityId:e})}),f=({communityId:e,collectionId:t,updatedCollection:a})=>Object(n.a)("/api/collections",{method:"PUT",body:JSON.stringify(d(m({},a),{id:t,communityId:e}))}),y=({communityId:e,collectionId:t})=>Object(n.a)("/api/collections",{method:"DELETE",body:JSON.stringify({id:t,communityId:e})})},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return o})),a.d(t,"c",(function(){return i})),a.d(t,"d",(function(){return s}));var n=a(181),l=a(78);const r=(e,t)=>({suggestionUserId:t,isEnabled:!1,hasComputedSuggestionRanges:!1,suggestionMark:Object(l.f)(e),suggestionRanges:[]}),o=e=>n.a.getState(e),i=e=>{const t=o(e);return!!t&&t.isEnabled},s=(e,t,a)=>{const{tr:l}=t;l.setMeta(n.a,{updatedState:a}),e(l)}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0);const l=e=>{const{enabled:t,onRequestMoreItems:a,scrollTolerance:l=0}=e,r=(e=>"useDocumentElement"in e?"undefined"!=typeof document?document.documentElement:null:e.element)(e);Object(n.useEffect)(()=>{if(r&&t&&a){const e=()=>{r&&t&&((e,t)=>e.scrollHeight-e.scrollTop-t<=e.clientHeight)(r,l)&&a()};e();const n=r===document.documentElement?window:r;return n.addEventListener("scroll",e),()=>n.removeEventListener("scroll",e)}return()=>{}},[r,t,l,a])}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return L}));var n=a(0),l=a(1558),r=a(814),o=a(6),i=a(247),s=a(31),c=a(7),u=a(89);const m={collectionRank:(e,t)=>{var a;if(t){const n=null==(a=e.collectionPubs)?void 0:a.find(e=>e.id===t);if(n)return n.rank}return""},creationDate:e=>e.createdAt,publishDate:e=>{var t;return(null==(t=Object(u.d)(e))?void 0:t.toString())||"a"},updatedDate:e=>{var t;return[null==(t=e.draft)?void 0:t.latestKeyAt,e.updatedAt].filter(e=>!!e).reduce((e,t)=>e>t?e:t,"a")},submittedDate:e=>{var t;return(null==(t=e.submission)?void 0:t.submittedAt)||"a"},title:e=>e.title.toLowerCase()},d=(e,t,a)=>{const n=Object.values(e).sort((e,a)=>t[e.id]>t[a.id]?1:-1);return"DESC"===a.direction&&n.reverse(),n};var p=Object.defineProperty,b=Object.defineProperties,h=Object.getOwnPropertyDescriptors,g=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,v=(e,t,a)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,E=(e,t)=>{for(var a in t||(t={}))f.call(t,a)&&v(e,a,t[a]);if(g)for(var a of g(t))y.call(t,a)&&v(e,a,t[a]);return e},O=(e,t)=>b(e,h(t));const w={hasLoadedAllPubs:!1,isLoading:!1,offset:0,orderedPubs:{pubsInOrder:[],pubsById:{},orderingValuesByPubId:{}}},C=(e,t,a,n=!1)=>{const{orderedPubs:l}=e,{ordering:r,scopedCollectionId:o}=t,{pubsById:i={},orderingValuesByPubId:s={}}=l||{},c=((e,t,a)=>{const n={},l=m[t.field];return Object.entries(e).forEach(([e,t])=>{n[e]=l(t,a)}),n})(a,r,o),u=E(E({},i),a),p=E(E({},s),c);return O(E({},e),{isLoading:!1,hasLoadedAllPubs:n,orderedPubs:{orderingValuesByPubId:p,pubsById:u,pubsInOrder:d(u,p,r)}})},N=(e,t,a)=>C(O(E({},w),{offset:Object.keys(t).length}),e,t,a);var j=Object.defineProperty,k=Object.defineProperties,S=Object.getOwnPropertyDescriptors,P=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,T=(e,t,a)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,x=(e,t)=>{for(var a in t||(t={}))D.call(t,a)&&T(e,a,t[a]);if(P)for(var a of P(t))I.call(t,a)&&T(e,a,t[a]);return e},A=(e,t)=>
1k(e,S(t));const M={field:"creationDate",direction:"DESC"},L=e=>{const{query:t={},pubOptions:a={},batchSize:u=50,isEager:m=!0,initialPubs:d=[],initiallyLoadedAllPubs:p=!1,cacheQueries:b=!0}=e,{communityData:h}=Object(c.c)(),[g]=Object(n.useState)(a),f=Object(l.a)(),y={term:t.term,scopedCollectionId:t.scopedCollectionId,ordering:t.ordering||M,isReleased:t.isReleased,submissionStatuses:t.submissionStatuses,relatedUserIds:t.relatedUserIds},v=Object(i.a)(()=>Object(s.f)(d,"id")),j=(e=>{const{term:t="",scopedCollectionId:a="",ordering:{field:n,direction:l},isReleased:r,submissionStatuses:o,relatedUserIds:i}=e;return JSON.stringify({submissionStatuses:o,term:t,scopedCollectionId:a,field:n,direction:l,isReleased:r,relatedUserIds:i})})(y),k=Object(i.a)(()=>Object.keys(v.current).length>0||p?{[j]:N(y,v.current,p)}:{}),S=Object(n.useCallback)(()=>k.current[j]||w,[j,k]),P=Object(n.useCallback)(e=>{k.current=A(x({},k.current),{[j]:e}),f()},[j,f,k]),D=()=>{return e=null,a=null,n=function*(){const e=S(),{isLoading:a,hasLoadedAllPubs:n,offset:l}=e;if(a||n)return;const r=A(x(x({},y),t),{limit:u,offset:l,communityId:h.id}),i=((e,t)=>O(E({},e),{isLoading:!0,offset:e.offset+t}))(e,u);P(i);const c=yield o.a.post("/api/pubs/many",{query:r,pubOptions:g,alreadyFetchedPubIds:Object.keys(v.current)}),{loadedAllPubs:m,pubsById:d,pubIds:p}=c,b=x(x({},v.current),d),f=p.map(e=>b[e]),w=Object(s.f)(f,"id");v.current=b,P(C(i,r,w,m))},new Promise((t,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,o);i((n=n.apply(e,a)).next())});var e,a,n};Object(r.a)(()=>{b||(v.current={},k.current={[j]:w})},[b,j]),Object(n.useEffect)(()=>{const e=S();m&&0===e.offset&&D()},[m,j]);const I=S();return{currentQuery:{loadMorePubs:D,isLoading:I.isLoading,hasLoadedAllPubs:I.hasLoadedAllPubs,pubs:I.orderedPubs.pubsInOrder},allQueries:{isLoading:Object.values(k.current).some(e=>e.isLoading)}}}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));var n=(e=>(e.Image="image",e.Video="video",e.Audio="audio",e.Table="table",e.Math="math",e.Iframe="iframe",e))(n||{});Object.values(n)},,,,,,function(e,t,a){"use strict";a.d(t,"b",(function(){return r})),a.d(t,"a",(function(){return o}));var n=a(0),l=a(404);const r=e=>{const{target:t,offset:a=0,isActive:r=!0,verticalPosition:o="top"}=e,i=Object(n.useRef)(null);Object(n.useEffect)(()=>r&&t?(i.current=Object(l.a)(t,{verticalPosition:o,stickyBitStickyOffset:a,useStickyClasses:!0}),()=>{try{i.current.cleanup()}catch(e){}}):()=>{},[r,a,t,o]),(e=>{const t=Object(n.useRef)(null);Object(n.useEffect)(()=>{if("undefined"!=typeof window){if("ResizeObserver"in window){const t=new window.ResizeObserver(e);return t.observe(document.body),()=>t.disconnect()}const a=setInterval(()=>{const a=document.body.offsetHeight;a!==t.current&&(t.current=a,e())},100);return()=>clearInterval(a)}return()=>{}},[e])})(()=>i.current&&i.current.update())},o=e=>e.classList.contains("js-is-sticky")},function(e,t,a){"use strict";a.d(t,"a",(function(){return C}));var n=a(255),l=a(12),r=a(163),o=a(126),i=a(48),s=Object.defineProperty,c=Object.defineProperties,u=Object.getOwnPropertyDescriptors,m=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,b=(e,t,a)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,h=(e,t)=>{for(var a in t||(t={}))d.call(t,a)&&b(e,a,t[a]);if(m)for(var a of m(t))p.call(t,a)&&b(e,a,t[a]);return e},g=(e,t)=>c(e,u(t));const f=new l.PluginKey("cursors");var y=(e,t,a)=>new l.Plugin({key:f,state:{init:(e,t)=>({cursorDecorations:i.DecorationSet.create(t.doc,[])}),apply:(e,n,r,s)=>{if(t.isReadOnly)return n;const{localClientId:c,localClientData:u}=a.getState(s);n.cursorDecorations.find().forEach(e=>{e.spec.lastActive+3e5<(new Date).getTime()&&t.collaborativeOptions.firebaseRef.child("cursors").child(e.spec.key.replace("cursor-inline-","").replace("cursor-widget-","")).remove()});const m=n.cursorDecorations.find().filter(t=>{const a=(e.getMeta("setCursor")||{}).id,n=(e.getMeta("removeCursor")||{}).id,l=t.spec.key.replace("cursor-inline-","").replace("cursor-widget-","");return n===l||a===l}),d=e.getMeta("setCursor"),p=d?((e,t)=>
1{const{localClientId:n}=a.getState(t);if(e.id===n)return[];let r;try{r=l.Selection.fromJSON(t.doc,Object(o.uncompressSelectionJSON)(e.selection))}catch(e){return[]}const s="c-"+e.id,c=document.createElement("span");c.className="collab-cursor "+s;const u=document.createElement("span");u.className="inner-bar",c.appendChild(u);const m=document.createElement("style");c.appendChild(m);let d="";const p=document.createElement("span");p.className="inner-circle-small "+s,u.appendChild(p);const b=document.createElement("span");b.className="hover-wrapper",u.appendChild(b);const h=document.createElement("span");if(h.className="inner-circle-big",b.appendChild(h),e.initials){const t=document.createElement("span");t.className="initials "+s,d+=`.initials.${s}::after { content: "${e.initials}"; } `,b.appendChild(t)}if(e.image){const t=document.createElement("span");t.className="image "+s,d+=`.image.${s}::after { background-image: url('${e.image}'); } `,b.appendChild(t)}if(e.name){const t=document.createElement("span");t.className="name "+s,d+=`.name.${s}::after { content: "${e.name}"; } `,e.cursorColor&&(t.style.backgroundColor=e.cursorColor),b.appendChild(t)}e.cursorColor&&(u.style.backgroundColor=e.cursorColor,p.style.backgroundColor=e.cursorColor,h.style.backgroundColor=e.cursorColor,d+=`.name.${s}::after { background-color: ${e.cursorColor} !important; } `),m.innerHTML=d;const g=r.from,f=r.to,y=r.head,v=[];return v.push(i.Decoration.widget(y,c,{key:"cursor-widget-"+e.id,lastActive:e.lastActive})),g!==f&&v.push(i.Decoration.inline(g,f,{class:"cursor-range "+s,style:`background-color: ${e.backgroundColor||"rgba(0, 25, 150, 0.2)"};`},{key:"cursor-inline-"+e.id,lastActive:e.lastActive})),v})(d,s):[],b=n.cursorDecorations.remove(m).map(e.mapping,e.doc).add(s.doc,p),{selection:f={}}=r,y=s.selection||{},v=!(f.a||f.anchor),E=e.getMeta("pointer"),O=y instanceof l.AllSelection==!1,w=!e.docChanged&&(y.anchor!==f.anchor||y.head!==f.head);if(O&&(v||E||w)){const e=f.anchor===y.anchor,a=f.head===y.head;if(!f.anchor||!e||!a){const e=g(h({},u),{selection:y}),a=6e4;e.lastActive=Math.round((new Date).getTime()/a)*a;const n=g(h({},e),{selection:v?{a:1,h:1,t:"text"}:Object(o.compressSelectionJSON)(y.toJSON())});t.collaborativeOptions.firebaseRef.child("cursors").child(c).set(n)}}return{cursorDecorations:b}}},view:e=>{if(!t.isReadOnly){const{localClientId:n}=a.getState(e.state),l=((e,t)=>({transactionCallback:a=>n=>{const l=n.key,r=n.val();if(r&&l!==e){const e=t.state.tr;e.setMeta(a,g(h({},r),{id:n.key})),t.dispatch(e)}}}))(n,e),r=t.collaborativeOptions.firebaseRef.child("cursors");r.child(n).onDisconnect().remove(),r.on("child_added",l.transactionCallback("setCursor")),r.on("child_changed",l.transactionCallback("setCursor")),r.on("child_removed",l.transactionCallback("removeCursor"))}return{destroy:()=>{const{localClientId:n}=a.getState(e.state),l=t.collaborativeOptions.firebaseRef.child("cursors");l.child(n).remove(),l.off("child_added"),l.off("child_changed"),l.off("child_removed")}}},props:{decorations:e=>{const t=f.getState(e).cursorDecorations.find();return i.DecorationSet.create(e.doc,t)}}}),v=a(38),E=a(55);const O=()=>{};var w=(e,t,a,r)=>{const{collaborativeOptions:i,isReadOnly:s,onError:c=O}=t,{pubId:u,firebaseRef:m,onStatusChange:d=O,onUpdateLatestKey:p=O}=i;let b,h=i.initialDocKey,g=!1,f=!1,y=null,w=[];const C=e=>{const t=Object(n.c)(e);return s||g||!t?null:(g=!0,m.child("changes").child(String(h+1)).transaction(e=>{if(d("saving"),!e)return Object(E.d)(t.steps,r)},void 0,!1).then(t=>{const{committed:a,snapshot:n}=t;if(g=!1,a){d("saved");const t=100;n.key&&n.key%t==0&&Object(E.I)(u,e.doc,n.key)}j()}).catch(e=>{console.error("Error in firebase transaction:",e),c(e)}))},N=t=>{const a=t.s.map(t=>v.Step.fromJSON(e,Object(o.uncompressStepJSON)(t)));return{steps:a,clientIds:new Array(a.length).fill(t.cId)}},j=()=>
1{if(g)return null;w.forEach(e=>{try{const{steps:t,clientIds:a}=N(e.val()),l=Object(n.b)(b.state,t,a);h=Number(e.key),b.dispatch(l),p(h)}catch(e){console.error("Error in recieveCollabChanges:",e),c(e)}}),w=[];return Object(n.c)(b.state)&&C(b.state),null},k=()=>(Object(E.m)(m).on("value",e=>{e.val()?f&&d("connected"):d("disconnected")}),m.child("changes").orderByKey().startAt(String(h+1)).once("value").then(e=>{const t=e.val()||{},a=[],l=[],r=Object.keys(t);Object.keys(t).forEach(e=>{const{steps:n,clientIds:r}=N(t[e]);a.push(...n),l.push(...r)}),h=r.length?r.map(e=>Number(e)).reduce((e,t)=>Math.max(e,t),0):h;const o=Object(n.b)(b.state,a,l);b.dispatch(o),p(h);const i=b.state.tr;return i.setMeta("finishedLoading",!0),b.dispatch(i),d("connected"),f=!0,y=m.child("changes").orderByKey().startAt(String(h+1)),y.on("child_added",e=>{(e=>{w.push(e),j()})(e)})}).catch(e=>{console.error("In loadDocument Error with ",e,e.message)}));return new l.Plugin({key:a,state:{init:()=>({isLoaded:!1,localClientId:r,localClientData:i.clientData,sendCollabChanges:C}),apply:(e,t)=>({isLoaded:e.getMeta("finishedLoading")||t.isLoaded,mostRecentRemoteKey:h,localClientId:r,localClientData:i.clientData,sendCollabChanges:C})},view:e=>(b=e,k(),{destroy:()=>{null==y||y.off("child_added"),Object(E.m)(m).off("value"),w=[]}})})};const C=new l.PluginKey("collaborative");t.b=(e,t)=>{var a;if(!(null==(a=t.collaborativeOptions)?void 0:a.firebaseRef))return[];const l=`${t.collaborativeOptions.clientData.id}-${Object(r.a)(6)}`;return[Object(n.a)({clientID:l}),w(e,t,C,l),y(0,t,C)]}},,,function(e,t,a){"use strict";(function(e){let n,l;a.d(t,"f",(function(){return r})),a.d(t,"c",(function(){return o})),a.d(t,"b",(function(){return i})),a.d(t,"d",(function(){return s})),a.d(t,"e",(function(){return c})),a.d(t,"a",(function(){return u}));const r=(e,t,a)=>{n=e?"production":t?"duqduq":a?"qubqub":"development"},o=()=>"production"===n,i=()=>"duqduq"===n,s=()=>"qubqub"===n,c=e=>{l=e},u=()=>"development"===n||s()}).call(this,a(172))},,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=e=>{const t=e||32,a="abcdefghijklmnopqrstuvwxyz0123456789";let n="";for(let e=0;e<t;e+=1)n+=a.charAt(Math.floor(Math.random()*a.length));return n}},function(e,t,a){"use strict";a.d(t,"b",(function(){return g})),a.d(t,"a",(function(){return f})),a.d(t,"c",(function(){return y}));var n=a(0),l=a(6),r=a(123),o=a(7),i=Object.defineProperty,s=Object.defineProperties,c=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,p=(e,t,a)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,b=(e,t)=>{for(var a in t||(t={}))m.call(t,a)&&p(e,a,t[a]);if(u)for(var a of u(t))d.call(t,a)&&p(e,a,t[a]);return e},h=(e,t)=>s(e,c(t));const g=(e,t)=>{try{const a=new URL(e);return a.searchParams.append("readingCollection",t.split("-")[0]),a.toString()}catch(a){return`${e}?readingCollection=${t.split("-")[0]}`}},f=(e,t)=>{const a=Object(r.a)(e.collectionPubs);return n=t.query,e.collectionPubs.map(e=>e.collection).find(e=>e.id.startsWith(n.readingCollection))||a;var n},y=(e,t)=>{var a;const[r,i]=Object(n.useState)(!1),[s,c]=Object(n.useState)(!1),[u,m]=Object(n.useState)(null!=(a=null==t?void 0:t.pubs)?a:[]),{communityData:d}=Object(o.c)(),[p,g]=Object(n.useState)(0),[f,y]=Object(n.useState)(!1);return{isLoading:s,error:r,pubs:u,hasLoadedAllPubs:f,requestMorePubs:()=>{f||(c(!0),(({collectionId:e,communityId:t,offset:a=0,limit:n=10})=>{const r=new URLSearchParams;return r.append("collectionId",e),r.append("communityId",t),r.append("offset",a.toString()),r.append("limit",n.toString()),Object(l.a)("/api/collectionPubs?"+r.toString())})({collectionId:t.id,communityId:d.id,offset:p}).then(a=>{var n;a.length<10&&y(!0),n=a,m(e=>[...e,...n]),e("pub",e=>({collectionPubs:e.collectionPubs.map(e=>e.collection.id===t.id?h(b({},e),{collection:h(b({},e.collection),{pubs:n})}):e)})),c(!1),g(e=>e+10)}).catch(e=>{i(e),c(!1)}))}}}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"b",(function(){return c})),a.d(t,"c",(function(){return u})),a.d(t,"d",(function(){return m}));var n=a(192),l=a.n(n),r=a(248),o=a(6),i=a(407);const s=()=>
1"yes"===l.a.get("gdpr-consent-survives-login"),c=(e=null)=>{const t=l.a.get("gdpr-consent");return e&&e.id&&null!==e.gdprConsent?!0===e.gdprConsent:t?"accept"===t:null},u=({loginData:e,featureFlags:t,communityData:{analyticsSettings:a}})=>!("google-analytics"!==(null==a?void 0:a.type)||!Object(r.a)(t)||Object(r.b)(t))&&(!(!e.id||null!==e.gdprConsent)||null===c(e)),m=(e,t,a)=>{const n=!!e.id,r=Object(i.a)();return l.a.set("gdpr-consent",t?"accept":"decline",r),l.a.set("gdpr-consent-survives-login","yes",r),t||Object.keys(l.a.get()).forEach(e=>{e.startsWith("_ga")&&l.a.remove(e)}),a(t),n?Object(o.a)("/api/users",{method:"PUT",body:JSON.stringify({userId:e.id,gdprConsent:t})}):Promise.resolve()}},,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(12);const l=new n.PluginKey("suggested-edits")},,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return p}));var n=a(0),l=a(62),r=a.n(l),o=Object.defineProperty,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,u=(e,t,a)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,m=(e,t)=>{for(var a in t||(t={}))s.call(t,a)&&u(e,a,t[a]);if(i)for(var a of i(t))c.call(t,a)&&u(e,a,t[a]);return e};const{requestBatchedIdleCallback:d}=(e=>{let t=[],a=null;const n=()=>{r.a.unstable_batchedUpdates(()=>{for(let e=0;e<t.length;e++)t[e]();a=null,t=[]})};return{requestBatchedIdleCallback:l=>{t.includes(l)||t.push(l),"requestIdleCallback"in window?null===a&&(a=requestIdleCallback(n,{timeout:e})):n()}}})(50),p=e=>{const[t,a]=Object(n.useState)(e),l=Object(n.useRef)([]),r=Object(n.useCallback)(()=>a(e=>{let t=e;const a=l.current;for(let e=0;e<a.length;e++){const n=a[e],l="function"==typeof n?n(t):n;t=m(m({},t),l)}return l.current=[],t}),[]),o=Object(n.useMemo)(()=>Object.assign(e=>{l.current.push(e),d(r)},{immediately:(e=!0)=>t=>{e?(l.current.push(t),r()):o(t)}}),[r]);return[t,o]}},,,,,,,,,,,function(e,t,a){"use strict";var n=a(244),l=a(274),r=Object.defineProperty,o=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,m=(e,t,a)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;t.a=e=>{if(n.isAttributionWithUser(e)&&e.user.id!==e.id)return e;const{id:t,name:a,avatar:r,title:d,orcid:p}=e,{firstName:b,lastName:h,initials:g}=Object(l.a)(a);return((e,t)=>o(e,i(t)))(((e,t)=>{for(var a in t||(t={}))c.call(t,a)&&m(e,a,t[a]);if(s)for(var a of s(t))u.call(t,a)&&m(e,a,t[a]);return e})({},"function"==typeof e.toJSON?e.toJSON():e),{user:{isShadowUser:!0,id:t,initials:g,fullName:a,firstName:b,lastName:h,avatar:r,title:d,orcid:p}})}},function(e,t,a){"use strict";a.d(t,"a",(function(){return l})),a.d(t,"b",(function(){return r}));const n=e=>(t,a)=>{const{container:n,isAbsolutelyPositioned:l}=a,{left:r,bottom:o}=e(t),{top:i,left:s}=n.getBoundingClientRect(),c=`translateX(${r-s}px) translateY(${o-i}px)`;return l?{position:"absolute",transform:c,top:0,left:0}:{transform:c}},l=n(e=>e.activeLink.boundingBox),r=n(e=>e.selectionBoundingBox)},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(53),o=a(364),i=a(7),s=Object.defineProperty,c=Object.defineProperties,u=Object.getOwnPropertyDescriptors,m=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,b=(e,t,a)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;t.a=e=>{const{communityData:t}=Object(i.c)(),{contributors:a}=e;let{bylinePrefix:n}=e;const s="1a71ef4d-f6fe-40d3-8379-42fa2141db58"===t.id?(e=>e.sort((e,t)=>e.user.lastName===t.user.lastName?e.user.firstName-t.user.firstName:e.user.lastName>t.user.lastName?1:-1))(a):a;return n="1a71ef4d-f6fe-40d3-8379-42fa2141db58"===t.id?n=l.a.createElement(r.N,{content:"Contributors (A-Z)",children:l.a.createElement(r.q,{iconSize:12,icon:"sort-alphabetical",className:"byline-icon"})}):n,l.a.createElement(o.a,((e,t)=>c(e,u(t)))(((e,t)=>{for(var a in t||(t={}))d.call(t,a)&&b(e,a,t[a]);if(m)for(var a of m(t))p.call(t,a)&&b(e,a,t[a]);return e})({},e),{bylinePrefix:n,contributors:s}))}},,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"b",(function(){return l})),a.d(t,"c",(function(){return r})),a.d(t,"d",(function(){return o}
1)),a.d(t,"a",(function(){return i}));var n=a(13);a(376);const l=()=>({type:"doc",attrs:{meta:{}},content:[{type:"paragraph"}]}),r=e=>!e.content||0===e.content.length||e.content.every(e=>!e.content||0===e.content.length),o=e=>{if(0===e.childCount)return!0;if(1===e.childCount){const{isTextblock:t,content:a,attrs:n}=e.firstChild;return t&&0===a.size&&!n.textAlign}return!1},i=(e,t)=>{const a=document.createElement("div");return a.innerHTML=e,n.DOMParser.fromSchema(t).parse(a)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return g}));var n=a(0),l=a.n(n),r=a(53),o=Object.defineProperty,i=Object.defineProperties,s=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,d=(e,t,a)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,p=(e,t)=>{for(var a in t||(t={}))u.call(t,a)&&d(e,a,t[a]);if(c)for(var a of c(t))m.call(t,a)&&d(e,a,t[a]);return e},b=(e,t)=>i(e,s(t));const h=l.a.forwardRef((e,t)=>l.a.createElement(r.c,b(p({},e),{elementRef:t}))),g=(e,t,a)=>e.type===r.c?l.a.createElement(h,b(p(p({},e.props),t),{active:a})):l.a.cloneElement(e,t)},function(e,t,a){"use strict";a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return l})),a.d(t,"c",(function(){return r}));const n=/(\d{4}-){3}\d{3}(\d|X)/,l=/^(?:(?:https?:\/\/)?(?:www\.)?orcid\.org\/)?(\d{4}-){3}\d{3}(\d|X)$/g,r=e=>{var t;if(!e)return null;const a=e.match(n);return null!=(t=null==a?void 0:a[0])?t:null}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));var n=(e=>(e[e.Always=0]="Always",e[e.Disabled=1]="Disabled",e))(n||{})},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(53),o=a(4),i=a(6),s=a(1),c=a(7),u=Object.defineProperty,m=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,b=(e,t,a)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const h=()=>{const e=Math.round((new Date).getTime()/1e3);Object(i.a)("/api/logout").then(()=>{window.location.href="/?breakCache="+e})},g=(e,t,a,n)=>{const{initials:o,avatar:i}=e,{ref:c,className:u}=a;return l.a.createElement(r.c,((e,t)=>{for(var a in t||(t={}))d.call(t,a)&&b(e,a,t[a]);if(m)for(var a of m(t))p.call(t,a)&&b(e,a,t[a]);return e})({minimal:!0,large:!t,className:u,elementRef:c},n),l.a.createElement(s.e,{initials:o,avatar:i,width:t?20:30}))},f=(e,t)=>{const a=t,{ref:n}=a,r=((e,t)=>{var a={};for(var n in e)d.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&m)for(var n of m(e))t.indexOf(n)<0&&p.call(e,n)&&(a[n]=e[n]);return a})(a,["ref"]);return l.a.createElement(s.eb,{ref:n,mobile:t=>g(e,!0,t,r),desktop:t=>g(e,!1,t,r)})},y=(e,t)=>t.isDuqDuq?`https://${e.subdomain}.duqduq.org`:e.domain?"https://"+e.domain:`https://${e.subdomain}.pubpub.org`,v=e=>e.domain||e.subdomain+".pubpub.org",E=({community:e,size:t=24})=>{const a=e.accentColorDark||"#607D8B",n=e.title.charAt(0).toUpperCase();return e.avatar?l.a.createElement("img",{src:e.avatar,alt:"",style:{width:t,height:t,borderRadius:3,objectFit:"cover",flexShrink:0}}):l.a.createElement("div",{style:{width:t,height:t,borderRadius:3,backgroundColor:a,color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:.55*t,fontWeight:600,flexShrink:0}},n)},O=()=>l.a.createElement("li",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 7px"}},l.a.createElement("div",{className:o.a.SKELETON,style:{width:24,height:24,borderRadius:3}}),l.a.createElement("div",{style:{flex:1}},l.a.createElement("div",{className:o.a.SKELETON,style:{width:120,height:12,marginBottom:4,borderRadius:2}}),l.a.createElement("div",{className:o.a.SKELETON,style:{width:90,height:10,borderRadius:2}}))),w=({communities:e})=>{const{locationData:t}=Object(c.c)();return e&&0===e.length?null:l.a.createElement(l.a.Fragment,null,l.a.createElement("li",{style:{fontWeight:600,fontSize:12,color:"#555",padding:"10px 7px 5px",marginTop:4,borderTop:"1px solid rgba(16, 22, 26, 0.15)"}},"Your Communities"),l.a.createElement("div",{style:{maxHeight:"min(40vh, 300px)",overflowY:"auto"}},e?e.map(e=>l.a.createElement(s.bb,{key:e.id,href:y(e,t),icon:l.a.createElement(E,{community:e}),className:"community-menu-item",menuStyle:{display:"flex",alignItems:"center"},text:l.a.createElement("div",{style:{lineHeight:1.3,maxWidth:200}},l.a.createElement("div",{style:{fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},e.title),l.a.createElement("div",{style:{fontSize:11,opacity:.65,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},v(e)))})):l.a.createElement(l.a.Fragment,null,l.a.createElement(O,null),l.a.createElement(O,null),l.a.createElement(O,null))))};t.a=e=>{const{loginData:t}=e,[a,r]=Object(n.useState)(null),[o,c]=Object(n.useState)(!1),u=Object(n.useCallback)(e=>{e&&!o&&(c(!0),i.a.get("/api/users/communities").then(r).catch(()=>r([])))},[o]);return l.a.createElement(s.Y,{"aria-label":"User menu",placement:"bottom-end",menuStyle:{zIndex:20,width:245},disclosure:e=>f(t,e),onVisibleChange:u},l.a.createElement(s.bb,{href:"/user/"+t.slug,text:l.a.createElement(l.a.Fragment,null,t.fullName,l.a.createElement("span",{className:"subtext",style:{marginLeft:4}},"View Profile"))}),l.a.createElement(s.bb,{href:"/legal/settings",text:"Privacy & Account Settings"}),l.a.createElement(s.bb,{onClick:h,text:"Logout"}),l.a.createElement(w,{communities:a}))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return o}
1));var n=a(0);const{earlyViewportWidth:l,earlyViewportHeight:r}="undefined"!=typeof window?{earlyViewportWidth:window.innerWidth,earlyViewportHeight:window.innerHeight}:{earlyViewportWidth:null,earlyViewportHeight:null},o=(e={})=>{const{withEarlyMeasurement:t=!1}=e,[a,o]=Object(n.useState)(t?l:null),[i,s]=Object(n.useState)(t?r:null),c="number"==typeof a?a<=750:null,u=null===c?null:c?"mobile":"desktop";return Object(n.useEffect)(()=>{o(window.innerWidth),s(window.innerHeight);const e=()=>{s(window.innerHeight),o(window.innerWidth)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),{viewportWidth:a,viewportHeight:i,viewportSize:u,isMobile:c}}},,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return o}));var n=a(72),l=a.n(n);const r=(e,t)=>e&&"community"===e?l()(t).darken(.2).alpha(.75).toString():"dark"===e?"rgba(0, 0, 0, 0.65)":"light"===e?"rgba(0, 0, 0, 0.0275)":e,o=e=>{const t=["244,67,54","63,81,181","0,150,136","255,152,0","96,125,139","233,30,99","3,169,244","156,39,176","139,195,74","103,58,183","121,85,72","33,150,243","255,193,7","0,188,212","76,175,80","205,220,57","255,87,34"];return e?t[e.charCodeAt(e.length-1)%t.length]:t[0]}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n})),a.d(t,"b",(function(){return r}));a(337);const n=100;var l=a(31);const r=(e,t)=>{const{pubIdsByBlockId:a,pubsById:n}=e,r=t.filter(e=>"pubs"===e.type),o=Object(l.f)(r,"id"),i={};return Object.entries(a).forEach(([e,t])=>{const a=o[e];if(a){const{limit:r,pubIds:o=[]}=a.content,s=t.map(e=>n[e]).filter(e=>!!e),[c,u]=Object(l.i)(s,e=>o.includes(e.id)),m=[...c.sort((e,t)=>o.indexOf(e.id)-o.indexOf(t.id)),...u];i[e]=m.slice(0,r||1/0)}}),i}},,,,,,,,,,,,function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(53),o=a(8),i=a.n(o),s=a(1),c=a(18),u=a(7),m=a(83),d=a(37);a(1191);t.a=e=>{const{communityData:t}=Object(u.c)(),{accentColor:a,children:o=[],inPubBody:p=!1,isInboundEdge:b,pubEdge:h,pubEdgeElement:g=null,parentPub:f=null,showIcon:y,viewingFromSibling:v=!1,pubEdgeDescriptionIsVisible:E=!0}=e,O=Object(m.e)(h,v,b),[w,C]=Object(n.useState)(!1),N=Object(n.useCallback)(()=>C(!0),[]),j=Object(n.useCallback)(()=>C(!1),[]),k=w?a||t.accentColorDark:"#ddd",S={borderColor:null!=k?k:void 0};return l.a.createElement("div",{className:i()("pub-edge-listing-card-component",p&&"in-pub-body"),style:S,onMouseEnter:N,onMouseLeave:j,onFocus:N,onBlur:j},o&&l.a.createElement("div",{className:"controls"},o),l.a.createElement("div",{className:i()("relation",y&&"show-icon")},y&&l.a.createElement(r.q,{icon:"key-enter",color:a,iconSize:14,className:"drop-return"}),(()=>{const{relationType:e,pubIsParent:t}=h,a=!v&&O?!t:t,n=m.f[e];if(n){const{article:e,preposition:t,name:r}=n,o=l.a.createElement("span",{className:"relation-name"},r);if(v){const e=f&&l.a.createElement(l.a.Fragment,null,t," ",l.a.createElement("a",{className:"pub-title",href:Object(c.f)(f)},f.title));return l.a.createElement(l.a.Fragment,null,"Another ",o," ",e)}const i=f&&l.a.createElement("span",{className:"pub-title"},f.title);return a?l.a.createElement(l.a.Fragment,null,Object(d.g)(e)," ",o," ",t," ",i||"this Pub"):l.a.createElement(l.a.Fragment,null,i||"This Pub"," is ",e," ",o," ",t)}return null})()),g||l.a.createElement(s.tb,{accentColor:null!=k?k:void 0,actsLikeLink:p,pubEdge:h,viewingFromTarget:O,showDescriptionByDefault:E}))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return h})),a.d(t,"b",(function(){return C}));var n=a(213),l=a(0),r=a.n(l),o=a(160),i=a(758),s=a(759),c=Object.defineProperty,u=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,p=(e,t,a)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,b=(e,t)=>{for(var a in t||(t={}))m.call(t,a)&&p(e,a,t[a]);if(u)for(var a of u(t))d.call(t,a)&&p(e,a,t[a]);return e};var h=e=>{const{"aria-label":t,children:a,className:l,content:c,placement:u="bottom-start",preventBodyScroll:m=!0,gutter:d=5,lazy:p=!0,unstable_fixed:h=!1}=e,g=Object(o.a)({placement:u,gutter:d,unstable_fixed:h});return r.a.createElement(r.a.Fragment,null,r.a.createElement(i.a,b(b({},g),a.props),e=>Object(n.a)(a,e,g.visible)),r.a.createElement(s.a,b({"aria-label":t,className:l,modal:!0,preventBodyScroll:m,style:{zIndex:20}},g),(!p||g.visible)&&c))},g=a(53),f=Object.defineProperty,y=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,O=(e,t,a)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,w=(e,t)=>{for(var a in t||(t={}))v.call(t,a)&&O(e,a,t[a]);if(y)for(var a of y(t))E.call(t,a)&&O(e,a,t[a]);return e};var C=e=>{const{component:t,"aria-label":a,children:l,className:c,placement:u="bottom-end",gutter:m=5}=e,d=Object(o.a)({unstable_fixed:!1,placement:u,gutter:m});return r.a.createElement(r.a.Fragment,null,r.a.createElement(i.a,w(w({},d),l.props),e=>Object(n.a)(l,e,d.visible)),r.a.createElement(s.a,w({"aria-label":a,className:c,unstable_portal:!0,tabIndex:0},d),r.a.createElement(g.f,{elevation:2},t())))}},,,function(e,t,a){"use strict";
1var n=a(740);a.d(t,"activityAssociationTypes",(function(){return n.a}));var l=a(549);a.o(l,"DEFAULT_ROLES")&&a.d(t,"DEFAULT_ROLES",(function(){return l.DEFAULT_ROLES})),a.o(l,"isAttributionWithUser")&&a.d(t,"isAttributionWithUser",(function(){return l.isAttributionWithUser}));var r=a(550);a.d(t,"DEFAULT_ROLES",(function(){return r.a})),a.d(t,"isAttributionWithUser",(function(){return r.b}));a(551),a(552),a(553),a(554),a(555),a(556),a(557),a(558),a(559),a(560),a(561),a(562),a(563),a(564),a(565),a(337),a(566),a(567),a(568),a(569),a(570),a(571),a(572),a(573),a(574),a(575),a(576),a(577),a(578),a(579),a(580),a(581),a(338),a(582),a(583),a(584),a(585),a(586),a(587),a(588),a(589),a(590),a(591),a(592),a(593)},,function(e,t,a){"use strict";a.d(t,"c",(function(){return h})),a.d(t,"b",(function(){return g})),a.d(t,"a",(function(){return f}));var n=a(31),l=a(34),r=a(277),o=Object.defineProperty,i=Object.defineProperties,s=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,d=(e,t,a)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,p=(e,t)=>{for(var a in t||(t={}))u.call(t,a)&&d(e,a,t[a]);if(c)for(var a of c(t))m.call(t,a)&&d(e,a,t[a]);return e},b=(e,t)=>i(e,s(t));const h=["suggestionId","suggestionTimestamp","suggestionUserId","suggestionKind","suggestionOriginalAttrs","suggestionDiscussionId"],g={suggestion:{attrs:{suggestionKind:{},suggestionId:{default:null},suggestionUserId:{default:null},suggestionTimestamp:{default:null},suggestionDiscussionId:{default:null},suggestionOriginalMarks:{default:null}},inclusive:!1,parseDOM:[{tag:"span[data-suggestion-mark]",getAttrs:e=>!!(e instanceof HTMLElement&&e.hasAttribute("data-suggestion-mark"))&&{suggestionKind:e.getAttribute("data-suggestion-kind"),suggestionId:e.getAttribute("data-suggestion-id"),suggestionUserId:e.getAttribute("data-suggestion-user-id"),suggestionTimestamp:e.getAttribute("data-suggestion-timestamp"),suggestionDiscussionId:e.getAttribute("data-suggestion-discussion-id"),suggestionOriginalMarks:e.getAttribute("data-suggestion-original-marks")}}],toDOM:e=>["span",{"data-suggestion-mark":!0,"data-suggestion-kind":e.attrs.suggestionKind,"data-suggestion-id":e.attrs.suggestionId,"data-suggestion-user-id":e.attrs.suggestionUserId,"data-suggestion-timestamp":e.attrs.suggestionTimestamp,"data-suggestion-discussion-id":e.attrs.suggestionDiscussionId,"data-suggestion-original-marks":e.attrs.suggestionOriginalMarks}]}},f=(e,t)=>{const{parseDOM:a,toDOM:o,attrs:i}=t;if("text"===e)return t;const s={suggestionId:{default:null},suggestionTimestamp:{default:null},suggestionUserId:{default:null},suggestionDiscussionId:{default:null},suggestionKind:{default:null},suggestionOriginalAttrs:{default:null}};return Object(l.a)(Object(n.b)(Object.keys(s),h)),b(p({},t),{attrs:p(p({},i),s),parseDOM:null==a?void 0:a.map(e=>{const{getAttrs:t}=e;return b(p({},e),{getAttrs:e=>{var a;const n=null!=(a=null==t?void 0:t(e))?a:null;return n?"string"==typeof e?n:b(p({},n),{suggestionKind:e.getAttribute("data-suggestion-kind"),suggestionId:e.getAttribute("data-suggestion-id"),suggestionUserId:e.getAttribute("data-suggestion-user-id"),suggestionTimestamp:e.getAttribute("data-suggestion-timestamp"),suggestionDiscussionId:e.getAttribute("data-suggestion-discussion-id"),suggestionOriginalAttrs:e.getAttribute("data-suggestion-original-attrs")}):n}})}),toDOM:(e,...t)=>{const{suggestionId:a,suggestionTimestamp:n,suggestionUserId:l,suggestionDiscussionId:i,suggestionKind:s,suggestionOriginalAttrs:c}=e.attrs,u=o(e,...t),m=Object(r.b)({"data-suggestion-id":a,"data-suggestion-timestamp":n,"data-suggestion-user-id":l,"data-suggestion-discussion-id":i,"data-suggestion-kind":s,"data-suggestion-original-attrs":c});if(Array.isArray(u)){const[e,t,...a]=u;return t&&"object"==typeof t&&!Array.isArray(t)?[e,p(p({},t),m),...a]:[e,m,t,...a].filter(e=>0===e||!!e)}return u}})}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(0);const l=Symbol(0),r=e=>{const t=Object(n.useRef)(l);return t.current===l&&(t.current=e()),t}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n})),a.d(t,"b",(function(){return l}));const n=e=>!0,l=e=>null==e?void 0:e.noCookieBanner},,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(8),o=a.n(r),i=a(7),s=a(47);a(946);t.a=e=>{const{initials:t="?",avatar:a,instanceNumber:n,borderColor:r,borderWidth:c,width:u,doesOverlap:m,isBlock:d,className:p}=e,{communityData:b}=Object(i.c)(),h={width:u,minWidth:u,height:u,borderColor:r,borderWidth:r?c||Math.floor(u/50)+1:0,fontSize:d?Math.floor(u/1.5):Math.floor(u/2.5),backgroundColor:b.accentColorDark,zIndex:"number"==typeof n?-1*n:"initial",borderRadius:d?"2px":"50%"},g=u<=50?50:250,f=Object(s.b)(a,"cover",g,g);return m&&(h.marginRight=.45*u*-1+"px"),a&&(h.backgroundImage=`url("${f}")`),l.a.createElement("div",{className:o()(["avatar-component",p]),style:h},!a&&l.a.createElement("div",null,t))}},,function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(4),o=a(53),i=a(96),s=a(52),c=a(370),u=a(371),m=(a(1157),Object.defineProperty),d=Object.defineProperties,p=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertySymbols,h=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable,f=(e,t,a)=>t in e?m(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const y=e=>{},v={canClear:!1,children:null,defaultImage:"",height:75,helperText:null,htmlFor:String((new Date).getTime()),isRequired:!1,label:null,onNewImage:y,onImageSelect:y,useAccentBackgroun
1d:!1,useCrop:!1,width:75};class E extends n.Component{constructor(e){super(e),this.state={imageFile:void 0,imageBlob:this.props.defaultImage,uploading:!1},this.inputRef=l.a.createRef(),this.onUploadFinish=this.onUploadFinish.bind(this),this.onCropUploaded=this.onCropUploaded.bind(this),this.setBlob=this.setBlob.bind(this),this.handleImageSelect=this.handleImageSelect.bind(this),this.clearImage=this.clearImage.bind(this),this.cancelImageUpload=this.cancelImageUpload.bind(this),this.openFileDialog=this.openFileDialog.bind(this)}onUploadFinish(e,t,a,n){const l="https://assets.pubpub.org/"+n;this.setState({uploading:!1}),this.props.onNewImage(l)}onCropUploaded(e,t){this.setState({imageFile:void 0,imageBlob:t,uploading:!1}),this.props.onNewImage(e)}setBlob(e){const t=new FileReader;t.onload=e=>{this.setState({imageBlob:e.target.result})},t.readAsDataURL(e)}openFileDialog(){const{current:e}=this.inputRef;e&&e.click()}handleImageSelect(e){const{onImageSelect:t,useCrop:a}=this.props,{files:n}=e.target;if(n.length>0){const[e]=n;a?this.setState({imageFile:e}):(Object(i.a)(e,()=>{},this.onUploadFinish,0),this.setState({uploading:!0}),this.setBlob(e)),t(e)}}cancelImageUpload(){this.setState({imageFile:null,uploading:!1})}clearImage(e){e.preventDefault(),this.setState({imageFile:void 0,imageBlob:void 0,uploading:!1}),this.props.onNewImage(null)}renderInput(){return l.a.createElement("input",{ref:this.inputRef,id:"input-"+this.props.htmlFor,name:"logo image",type:"file",accept:"image/png, image/jpeg",style:{display:"none"},onChange:this.handleImageSelect})}renderDefaultPicker(){const e={width:this.props.width+"px",height:this.props.height+"px"},t=((e,t)=>d(e,p(t)))(((e,t)=>{for(var a in t||(t={}))h.call(t,a)&&f(e,a,t[a]);if(b)for(var a of b(t))g.call(t,a)&&f(e,a,t[a]);return e})({},e),{backgroundImage:`url("${this.state.imageBlob}")`});return l.a.createElement("div",{className:"image-upload-component "+r.a.FORM_GROUP},l.a.createElement("label",{htmlFor:"input-"+this.props.htmlFor},this.props.label,this.props.isRequired&&l.a.createElement("span",{className:r.a.TEXT_MUTED+" required-text"}," (required)"),this.props.label&&l.a.createElement("br",null),(this.state.uploading||!this.state.imageBlob)&&l.a.createElement(o.b,{className:"upload-button "+r.a.MINIMAL,style:e,loading:this.state.uploading,title:"Upload new header image","aria-label":"Upload new header image",icon:"media"}),!this.state.uploading&&this.state.imageBlob&&l.a.createElement("div",{className:"image-wrapper "+(this.props.useAccentBackground?"accent-background":""),style:t}),l.a.createElement("div",{className:"image-options"},!this.state.uploading&&this.state.imageBlob&&l.a.createElement(o.b,{className:r.a.MINIMAL,title:"Upload new header image","aria-label":"Upload new header image",icon:l.a.createElement(s.a,{icon:"edit2"})}),!this.state.uploading&&this.state.imageBlob&&l.a.createElement(o.b,{className:r.a.MINIMAL,href:this.state.imageBlob,target:"_blank",icon:"download",title:"Download header image","aria-label":"Download header image",download:!0}),!this.state.uploading&&this.state.imageBlob&&this.props.canClear&&l.a.createElement(o.b,{className:`${r.a.MINIMAL} ${r.a.INTENT_DANGER}`,icon:"trash",title:"Remove header image","aria-label":"Remove header image",onClick:this.clearImage})),this.renderInput(),this.props.helperText&&l.a.createElement("div",{className:r.a.FORM_HELPER_TEXT},this.props.helperText)),l.a.createElement(u.a,{maxWidth:300,isOpen:!!this.state.imageFile,onClose:this.cancelImageUpload},l.a.createElement(c.a,{image:this.state.imageFile,onCancel:this.cancelImageUpload,onUploaded:this.onCropUploaded})))}render(){const{children:e}=this.props;return e?l.a.createElement(l.a.Fragment,null,this.renderInput(),e({selectImage:this.openFileDialog,clearImage:this.clearImage})):this.renderDefaultPicker()}}E.defaultProps=v,t.a=E},function(e,t,a){"use strict";a.d(t,"b",(function(){return d}));var n=a(0),l=a.n(n),r=a(53),o=a(4),i=a(72),s=a.n(i),c=a(6),u=a(1),m=a(47);a(1158);const d=(e,t,a=!0)=>a||"create-pub"!==e?t||(a&&"create-pub"===e?"Create Pub":"signup"===e?"Create an Account":"link"===e?"Go to Link":void 0):"Login to Create Pub";class p extends n.Component{constructor(e){super(e),this.altchaRef=Object(n.createRef)(),this.state={isLoading:!1,buttonError:null},this.createPub=this.createPub.bind(this)}createPub(e){var t,a;e.preventDefault();const n=null!=(t=new FormData(e.currentTarget).get("description"))?t:"",{communityData:l,content:r}=this.props;this.setState({isLoading:!0,buttonError:null}),null==(a=this.altchaRef.current)||a.verify().then(e=>Object(c.a)("/api/pubs/fromForm",{method:"POST",body:JSON.stringify({communityId:l.id,createPubToken:r.createPubToken,altcha:e,_honeypot:n})})).then(e=>{window.location.href="/pub/"+e.slug,this.setState({isLoading:!1})}).catch(e=>{console.error(e),this.setState({isLoading:!1,buttonError:"Error creating a new Pub. You may want to refresh the page and try again."})})}renderButton(){const{buttonError:e}=this.state,t=!!this.props.loginData.id;if(!this.props.content.showButton)return null;const a=this.props.content.buttonType||this.props.content.showButton&&"create-pub",n=d(a,this.props.content.buttonText,t);let i,s;return"link"===a?i=this.props.content.buttonUrl:t||"create-pub"!==a?"signup"===a&&(i="signup"):i="/login?redirect="+this.props.locationData.path,s=t&&"create-pub"===a?l.a.createElement("form",{onSubmit:this.createPub,style:{display:"flex",alignItems:"center",gap:"10px"}},l.a.createElement(u.b,{ref:this.altchaRef}),l.a.createElement(u.N,{name:"description"}),l.a.createElement(r.c,{type:"submit",className:o.a.LARGE,text:"Create Pub",loading:this.state.isLoading}
1)):l.a.createElement(r.b,{className:o.a.LARGE,href:i,loading:this.state.isLoading,text:n}),e?l.a.createElement(r.N,{content:e,defaultIsOpen:!0},s):s}render(){const e=this.props.content.backgroundImage?`url("${Object(m.b)(this.props.content.backgroundImage,"inside",1500,600)}")`:void 0,t={textAlign:this.props.content.align||"left"},a={color:this.props.content.backgroundImage||!s()(this.props.content.backgroundColor).isLight()?"#FFFFFF":"#000000",lineHeight:"1em",fontSize:"narrow"===this.props.content.backgroundHeight?"18px":"28px"},n={backgroundColor:this.props.content.backgroundColor,backgroundImage:e,minHeight:"narrow"===this.props.content.backgroundHeight?"60px":"200px",display:"flex",alignItems:"center",maxWidth:"none"};return l.a.createElement("div",{className:"layout-banner-component"},l.a.createElement("div",{className:"block-content",style:"full"===this.props.content.backgroundSize?n:void 0},this.props.content.backgroundImage&&"full"===this.props.content.backgroundSize&&l.a.createElement("div",{className:"dim"}),l.a.createElement("div",{className:"container"},l.a.createElement("div",{className:"row",style:"standard"===this.props.content.backgroundSize?n:void 0},this.props.content.backgroundImage&&"standard"===this.props.content.backgroundSize&&l.a.createElement("div",{className:"dim"}),l.a.createElement("div",{className:"col-12",style:t},this.props.content.text&&l.a.createElement("h2",{style:a},this.props.content.text),this.renderButton())))))}}t.a=p},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(382);t.a=e=>{const{content:t,collections:a,pages:n}=e,o="center"===t.justify?"auto-fit":"auto-fill";return l.a.createElement("div",{className:"block-content"},l.a.createElement("div",{className:"container"},e.content.title&&l.a.createElement("div",{className:"row"},l.a.createElement("div",{className:"col-12"},l.a.createElement("h1",null,e.content.title))),l.a.createElement("div",{className:"row"},l.a.createElement("div",{className:"col-12"},l.a.createElement("div",{className:"pages-wrapper",style:t.justify?{justifyContent:t.justify,gridTemplateColumns:`repeat(${o}, 175px)`}:{}},((e,t,a)=>e.items.map(e=>("type"in e&&"collection"===e.type?t:a).find(t=>t.id===e.id)).filter(e=>!!e))(t,a,n).map(e=>l.a.createElement(r.a,{key:e.id,pageData:e})))))))}},,,function(e,t,a){"use strict";a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return l}));const n={"spam-content":"Spam","hateful-language":"Hateful language",harassment:"Harassment",impersonation:"Impersonation",other:"Other"},l=e=>{var t;return null!=(t=n[e])?t:e}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=e=>{const t=e.split(" ").slice(0,-1).join(" "),a=e.split(" ").pop(),n=t.charAt(0).toUpperCase()+a.charAt(0).toUpperCase();return{firstName:t,lastName:a,initials:n}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));const n=/^\/?(10.\d{4,9}\/[-._;()/:a-zA-Z0-9]+)$/,l=e=>"string"==typeof e&&n.test(e)},function(e,t,a){"use strict";a.d(t,"a",(function(){return l})),a.d(t,"b",(function(){return r}));var n=a(24);const l=e=>e?e.reduce((e,t)=>{const a=!e||!e.createdAt||t.createdAt>e.createdAt;return"formatted"===t.type&&a?t:e},null):null,r=(e,t)=>{let a=e;return t&&t.view&&(a=Object(n.h)(t.view)),a?(e=>e.content.filter(e=>"heading"===e.type&&e.attrs.level<3).map((e,t)=>({title:e.content&&e.content.filter(e=>"text"===e.type).reduce((e,t)=>`${e}${t.text}`,""),level:e.attrs.level,href:e.attrs.fixedId||e.attrs.id,index:t})).filter(e=>e.title))(a):[]}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n})),a.d(t,"b",(function(){return l}));a(771);const n=(e,t)=>{const a={};return Object.keys(e).forEach(n=>{a[n]=t(e[n],n)}),a},l=e=>{const t={};return Object.keys(e).forEach(a=>{e[a]&&(t[a]=e[a])}),t}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));const n=["view","edit","manage","admin"],l=(e,t)=>n.indexOf(e)>=n.indexOf(t)},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0);const l=()=>{const{current:e}=Object(n.useRef)({});return{getRef:t=>{const a=e[t];if(a)return a;const l=Object(n.createRef)();return e[t]=l,l},refs:e}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return d}));var n=a(0),l=a(277),r=Object.defineProperty,o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,c=(e,t,a)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,u=(e,t)=>
1{for(var a in t||(t={}))i.call(t,a)&&c(e,a,t[a]);if(o)for(var a of o(t))s.call(t,a)&&c(e,a,t[a]);return e};const m=(e,t)=>{let a={};return e.forEach(e=>{Array.isArray(e)&&(a=u(u({},a),m(e,t))),"command"in e&&e.command&&(a[e.key]=e.command(t)),"commands"in e&&e.commands&&(a=u(u({},a),m(e.commands,t)))}),a},d=e=>{const{commands:t,view:a,state:r}=e,o=Object(n.useMemo)(()=>a?m(t,a):{},[a]);return Object(n.useMemo)(()=>{return e=o,(t=r)?Object(l.a)(e,e=>e(t)):{};var e,t},[o,r])}},function(e,t,a){"use strict";a(362),a(269);var n=a(384);a.d(t,"a",(function(){return n.a}));a(372),a(270);var l=a(373);a.d(t,"b",(function(){return l.a}));var r=a(374);a.d(t,"c",(function(){return r.a}));a(375)},function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return o})),a.d(t,"c",(function(){return i}));var n=a(0),l=a.n(n);const r=l.a.createContext({markLastInput:()=>{},getTimeRemainingToUpdate:()=>0}),o=e=>{const t=Object(n.useRef)(null),a=Object(n.useCallback)((e,a)=>{if(!t.current)return 0;const n=a-t.current;return Math.max(0,e-n)},[]),o=Object(n.useCallback)(()=>{t.current=Date.now()},[]),i=Object(n.useMemo)(()=>({markLastInput:o,getTimeRemainingToUpdate:a}),[a,o]);return l.a.createElement(r.Provider,{value:i},e.children)},i=(e,t=1e3)=>{const{getTimeRemainingToUpdate:a}=Object(n.useContext)(r),l=Object(n.useRef)(null),o=Object(n.useState)(null)[1],i=a(t,Date.now()),s=0===i,c=Object(n.useMemo)(()=>e,[s]),u=Object(n.useCallback)(()=>{l.current&&clearTimeout(l.current)},[]);return Object(n.useEffect)(()=>{s||(u(),l.current=setTimeout(()=>o(Date.now()),i))},[u,o,s,i]),Object(n.useEffect)(()=>u),s?e:c}},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return Ee})),a.d(t,"b",(function(){return we})),a.d(t,"c",(function(){return Oe}));var n=a(12),l=a(48),r=Object.defineProperty,o=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,m=(e,t,a)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const d=e=>!e||e.anchor===e.head,p=e=>{const{anchor:t,head:a}=e;return{from:Math.min(t,a),to:Math.max(t,a)}},b=(e,t)=>{if(d(e))return null;const a=p(e),n=t.reduce((e,t)=>{if(null===e)return null;const a=t.getMap(),n=a.map(e.from,1),l=a.map(e.to,-1);return n===l||0===n?null:{from:n,to:l}},a);return n?(e=>{const{from:t,to:a}=e;return{type:"text",anchor:t,head:a}})(n):null},h=(e,t)=>t.length?((e,t)=>o(e,i(t)))(((e,t)=>{for(var a in t||(t={}))c.call(t,a)&&m(e,a,t[a]);if(s)for(var a of s(t))u.call(t,a)&&m(e,a,t[a]);return e})({},e),{selection:b(e.selection,t)}):e;var g=a(31);const f=(e,t,a)=>l.Decoration.inline(t,a,{class:"discussion-range d-"+e},{key:"discussion-inline-"+e}),y=(e,t)=>{const a=document.createElement("span");return a.className="discussion-mount dm-"+e,l.Decoration.widget(t,a,{stopEvent:()=>!0,key:"discussion-widget-"+e,widgetForDiscussionId:e,side:-1})},v=(e,t)=>{const{selection:a}=t;if(a){const{from:t,to:n}=p(a);return[f(e,t,n),y(e,n)]}return[]},E=e=>Object(g.d)([...e.addedDiscussionIds].map(t=>{const a=e.discussions[t];return v(t,a)})),O=(e,t)=>{const{discussions:a}=t;return e.map(e=>{const t=a[e];if(t){const{selection:a}=t;if(a&&!d(a)){const{to:t}=p(a);return y(e,t)}}return null}).filter(e=>!!e)},w=(e,t)=>{const a=[],{doc:n,mapping:l}=t,r=e.find().filter(e=>((e,t)=>t.removedDiscussionIds.has(e.spec.discussionId))(e,t)),o=e.remove(r).map(l,n,{onRemove:e=>{const{widgetForDiscussionId:t}=e;t&&a.push(t)}}),i=[...E(t),...O(a,t)];return o.add(n,i)};var C=a(38),N=a(152),j=Object.defineProperty,k=Object.defineProperties,S=Object.getOwnPropertyDescriptors,P=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,T=(e,t,a)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const x=(e,t)=>{let a=t,n=e,l=[];const r=()=>({currentHistoryKey:a,currentDoc:n});return{onReachesKey:(e,t)=>{a>=e?t():l.push({key:e,callback:t})},updateState:(e,t)=>{var o;const i=a,s=n,c=N.a.getState(t),u=null!=(o=null==c?void 0:c.mostRecentRemoteKey)?o:-1,m=e.doc;if(u>=a&&(a=u,n=m),a>i){const{ready:e,notReady:t}=((e,t)=>{const a=[],n=[];
1return e.forEach(e=>{t>=e.key?a.push(e):n.push(e)}),{ready:a,notReady:n}})(l,a);l=t,e.forEach(e=>e.callback())}return((e,t)=>k(e,S(t)))(((e,t)=>{for(var a in t||(t={}))D.call(t,a)&&T(e,a,t[a]);if(P)for(var a of P(t))I.call(t,a)&&T(e,a,t[a]);return e})({},r()),{previousHistoryKey:i,previousDoc:s})},getState:r}};var A=Object.defineProperty,M=Object.defineProperties,L=Object.getOwnPropertyDescriptors,R=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,B=(e,t,a)=>t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,z=(e,t)=>{for(var a in t||(t={}))F.call(t,a)&&B(e,a,t[a]);if(R)for(var a of R(t))U.call(t,a)&&B(e,a,t[a]);return e},$=(e,t)=>M(e,L(t));const _=e=>{const{initialDiscussions:t,initialHistoryKey:a,initialDoc:n,fastForwardDiscussions:l,onUpdateDiscussions:r,remoteDiscussions:o}=e,i=x(n,a);let s=t;const c=(e,t)=>{const{sendableDiscussions:a,updatableDiscussions:n,removedDiscussionIds:l,addedDiscussionIds:r}=((e,t,a)=>{const n={},l={},r=new Set,o=new Set;return Object.entries(t).forEach(([t,i])=>{if(i){if(i.currentKey===a){const a=e[t],r=!a||a.currentKey<i.currentKey,s=!a||a.currentKey<=i.currentKey;r&&(n[t]=i),s&&(l[t]=i),a||o.add(t)}}else r.add(t)}),{addedDiscussionIds:o,removedDiscussionIds:r,sendableDiscussions:n,updatableDiscussions:l}})(s,e,t);return s=((e,t)=>{if(0===t.size)return e;const a={};return Object.entries(e).forEach(([e,n])=>{t.has(e)||(a[e]=n)}),a})(z(z({},s),n),l),null==o||o.sendDiscussions(a),{discussions:s,addedDiscussionIds:r,removedDiscussionIds:l}},u=e=>{if(0===Object.keys(e).length)return;const{currentDoc:t,currentHistoryKey:a}=i.getState(),{addedDiscussionIds:n,removedDiscussionIds:l}=c(e,a);r({discussions:s,addedDiscussionIds:n,removedDiscussionIds:l,mapping:new C.Mapping,doc:t})};return null==o||o.receiveDiscussions(e=>{const t=(e=>Object.values(e).reduce((e,t)=>t?Math.max(e,t.currentKey):e,-1))(e);i.onReachesKey(t,()=>{const{currentDoc:t,currentHistoryKey:a}=i.getState();u(e),null==l||l(e,t,a).then(u)})}),{addDiscussion:(e,t)=>{const{currentHistoryKey:a}=i.getState();u({[e]:{initKey:a,currentKey:a,selection:t,initHead:t.head,initAnchor:t.anchor}})},handleTransaction:(e,t)=>{const{currentDoc:a,currentHistoryKey:n,previousHistoryKey:l}=i.updateState(e,t);if(e.steps.length>0||n>l){const t=((e,t,a,n)=>{if(a===n&&0===t.length)return{};const l={};return Object.keys(e).forEach(r=>{const o=e[r];if(o.currentKey===a){const e=h(o,t);l[r]=$(z({},e),{currentKey:n})}}),l})(s,e.steps,l,n);return $(z({},c(t,n)),{mapping:e.mapping,doc:a})}return null}}};var H=a(55),V=Object.defineProperty,q=Object.defineProperties,W=Object.getOwnPropertyDescriptors,G=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,J=(e,t,a)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Q=(e,t,a,n)=>{const{currentKey:l}=e,r=l-a,o=Object(g.d)(t.slice(r));return((e,t)=>q(e,W(t)))(((e,t)=>{for(var a in t||(t={}))Y.call(t,a)&&J(e,a,t[a]);if(G)for(var a of G(t))K.call(t,a)&&J(e,a,t[a]);return e})({},h(e,o)),{currentKey:n})},Z=e=>(t,a,n)=>{return l=null,r=null,o=function*(){const{schema:l}=a.type,r=Object.values(t).filter(e=>e&&e.currentKey<n);if(0===r.length)return{};const o=r.reduce((e,t)=>(null==t?void 0:t.selection)?Math.min(e,t.currentKey):e,1/0),i=yield Object(H.s)(e,l,o+1,n),s={};return Object.entries(t).forEach(([e,t])=>{t&&r.includes(t)&&(s[e]=Q(t,i,o,n))}),s},new Promise((e,t)=>{var a=e=>{try{i(o.next(e))}catch(e){t(e)}},n=e=>{try{i(o.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,n);i((o=o.apply(l,r)).next())});var l,r,o};var X=a(126),ee=Object.defineProperty,te=Object.defineProperties,ae=Object.getOwnPropertyDescriptors,ne=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,oe=(e,t,a)=>t in e?ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ie=(e,t)=>{for(var a in t||(t={}))le.call(t,a)&&oe(e,a,t[a]);if(ne)for(var a of ne(t))re.call(t,a)&&oe(e,a,t[a]);return e},se=(e,t)=>te(e,ae(t));const ce=e=>{const{selection:t}=e,a=t&&Object(X.uncompressSelectionJSON)(t);return se(ie({},e),{selection:null!=a?a:null})},ue=e=>{let t=null,a=null;const n=e=>{const a=e.val();a&&(null==t||t({[e.key]:ce(a)}))},l=e=>{null==t||t({[e.key]:null})};return e.once("value").then(r=>{const o=r.val();if(o){const e={};
1Object.entries(o).forEach(([t,a])=>{e[t]=ce(a)}),null==t||t(e)}e.on("child_added",n),e.on("child_removed",l),a=()=>{e.off("child_added",n),e.off("child_removed",l)}}),{sendDiscussions:t=>{Object.entries(t).forEach(([t,a])=>{e.child(t).transaction(e=>{if(!e||a.currentKey>e.currentKey)return(e=>{const{selection:t}=e,a=t&&Object(X.compressSelectionJSON)(t);return se(ie({},e),{selection:null!=a?a:null})})(a)})})},receiveDiscussions:e=>{t=e},disconnect:()=>null==a?void 0:a()}};var me=Object.defineProperty,de=Object.defineProperties,pe=Object.getOwnPropertyDescriptors,be=Object.getOwnPropertySymbols,he=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,fe=(e,t,a)=>t in e?me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const ye=new n.PluginKey("discussions"),ve=(e,t)=>{const{discussionAnchors:a,draftRef:r,initialHistoryKey:o}=e,i=null==r?void 0:r.child("discussions"),s=i&&ue(i),c=r&&Z(r),u=(e=>{const t={};return e.forEach(e=>{const{selection:a,discussionId:n,historyKey:l}=e;a&&!d(a)&&(t[n]={initKey:l,currentKey:l,initAnchor:a.anchor,initHead:a.head,selection:a})}),t})(a);let m=null;const{addDiscussion:p,handleTransaction:b}=_({initialDiscussions:u,initialHistoryKey:o,initialDoc:t,remoteDiscussions:s||null,fastForwardDiscussions:c||null,onUpdateDiscussions:e=>{if(m){const{tr:t}=m.state;t.setMeta(ye,{updateResult:e}),m.dispatch(t)}}});return new n.Plugin({key:ye,state:{init:()=>{const e=(e=>{const t=Object.entries(e).map(([e,t])=>v(e,t));return Object(g.d)(t)})(u);return{decorations:l.DecorationSet.create(t,e),addDiscussion:p}},apply:(e,t,a)=>{const n=((e,t)=>{const a=e.getMeta(ye);return a&&a.updateResult?a.updateResult:b(e,t)})(e,a);return n?((e,t)=>de(e,pe(t)))(((e,t)=>{for(var a in t||(t={}))he.call(t,a)&&fe(e,a,t[a]);if(be)for(var a of be(t))ge.call(t,a)&&fe(e,a,t[a]);return e})({},t),{decorations:w(t.decorations,n)}):t}},view:e=>(m=e,{destroy:()=>{null==s||s.disconnect()}}),props:{decorations:function(e){let t;if(this instanceof n.Plugin){const a=this.getState(e);a&&(t=a.decorations)}return t}}})},Ee=(e,t,a)=>{const n=ye.getState(e.state);return n?n.addDiscussion(t,a):null},Oe=e=>{const t=ye.getState(e.state);if(t){const{decorations:e}=t,a=[];return e.find().forEach(e=>{const{widgetForDiscussionId:t}=e.spec;t&&a.push(t)}),a}return[]};var we=(e,t)=>{const{discussionsOptions:a,initialDoc:n}=t;return a?ve(a,n):[]}},function(e,t,a){"use strict";a.d(t,"a",(function(){return E})),a.d(t,"c",(function(){return _}));var n=a(4),l=a(168),r=a(12),o=a(115),i=a(504),s=a(15),c=a(507),u=a(9),m=a(20),d=a(44),p=a(13);function b(e,t){if(e===t)return null;let a=0,n=e.length,l=t.length;for(;a<n&&e.charCodeAt(a)===t.charCodeAt(a);)a+=1;for(;n>a&&l>a&&e.charCodeAt(n-1)===t.charCodeAt(l-1);)n-=1,l-=1;return{from:a,to:n,text:t.slice(a,l)}}const h=(e,t,a)=>{if(!e.hasFocus)return;const n=((e,t,a)=>{const n=("function"==typeof a&&a()||0)+1,l=t.state.selection.main.from+n,o=t.state.selection.main.to+n;return r.TextSelection.create(e,l,o)})(t.state.doc,e,a);n.eq(t.state.selection)||t.dispatch(t.state.tr.setSelection(n))},g=(e,t,a,n,l)=>{const o=a.state.selection.main,i=a.state.doc.lineAt(o.from),s=a.state.doc.lines;if(o.to!==o.from||i.number!==(t<0?1:s)||"char"===e&&o.from!==(t<0?0:i.to)||"function"!=typeof l)return!1;n.focus();const c=n.state.doc.nodeAt(l());if(!c)return!1;const u=l()+(t<0?0:c.nodeSize),m=r.Selection.near(n.state.doc.resolve(u),t);return n.dispatch(n.state.tr.setSelection(m).scrollIntoView()),n.focus(),!0},f=(e,t)=>{const{selection:a}=t.state;return!(!a.main.empty||0!==a.main.from)&&(Object(d.o)(e.state.schema.nodes.paragraph)(e.state,e.dispatch),setTimeout(()=>e.focus(),20),!0)},y=(e,t,a,n)=>{return l=null,r=null,o=function*(){var l,r;const o=yield null==(r=null==(l=a.languageLoaders)?void 0:l[e])?void 0:r.call(l);o&&t.dispatch({effects:n.reconfigure(o)})},new Promise((e,t)=>{var a=e=>{try{i(o.next(e))}catch(e){t(e)}},n=e=>{try{i(o.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,n);i((o=o.apply(l,r)).next())});var l,r,o},v=e=>(t,a,n)=>{if(t.selection.empty&&(null==n?void 0:n.endOfTextblock(e))){const n="left"===e||"up"===e?-1:1,{$head:l}=t.selection,o=r.Selection.near(t.doc.resolve(n>0?l.after():l.before()),n);if(o.$head&&"code_block"===o.$head.parent.type.name)return null==a||a(t.tr.setSelection(o)),!0}return!1},E={ArrowLeft:v("left"),ArrowRight:v("right"),ArrowUp:v("up"),ArrowDown:v("down")},O=e=>(t,a,n)=>{let l=t,r=!1;const v=document.createElement("pre");
1v.className="codeblock-wrapper";const E=document.createElement("code");v.append(E),E.className="codeblock-root";const O=new u.e,w=u.g.create({extensions:[u.g.readOnly.of(e.readOnly),m.c.editable.of(!e.readOnly),Object(m.n)(),Object(m.l)(),Object(s.m)(),Object(s.g)(),Object(o.b)(),Object(c.a)(),Object(o.a)(),Object(m.p)(),Object(m.g)({cursorBlinkRate:1e3}),u.g.allowMultipleSelections.of(!0),Object(m.k)(),Object(s.y)(s.i),O.of([]),Object(s.t)(),m.c.domEventHandlers({blur(e,t){t.dispatch({selection:{anchor:0}})}}),m.m.of([{key:"Mod-d",run:c.b,preventDefault:!0},{key:"ArrowUp",run:e=>g("line",-1,e,a,n)},{key:"ArrowLeft",run:e=>g("char",-1,e,a,n)},{key:"ArrowDown",run:e=>g("line",1,e,a,n)},{key:"ArrowRight",run:e=>g("char",1,e,a,n)},{key:"Mod-z",run:()=>{var t;return(null==(t=e.undo)?void 0:t.call(e,a.state,a.dispatch))||!0},shift:()=>{var t;return(null==(t=e.redo)?void 0:t.call(e,a.state,a.dispatch))||!0}},{key:"Mod-y",run:()=>{var t;return(null==(t=e.redo)?void 0:t.call(e,a.state,a.dispatch))||!0}},{key:"Backspace",run:e=>f(a,e)},{key:"Mod-Backspace",run:e=>f(a,e)},{key:"Mod-a",run:()=>{const e=Object(d.l)(a.state,a.dispatch);return a.focus(),e}},{key:"Enter",run:e=>{const t=e.state.selection.main;return""===e.state.doc.line(e.state.doc.lines).text&&t.from===t.to&&t.from===e.state.doc.length&&(Object(d.e)(a.state,a.dispatch),a.focus(),!0)}},...i.a,...s.o,...o.c,...o.e,i.b]),...e.theme?e.theme:[]],doc:l.textContent}),C=new m.c({state:w,dispatch:e=>{if(C.update([e]),!r){((e,t,a,n)=>{const l=b(t.textContent,e);if(l&&"function"==typeof a){const e=a()+1,t=n.state.tr.replaceWith(e+l.from,e+l.to,l.text?n.state.schema.text(l.text):p.Fragment.empty);n.dispatch(t)}})(e.state.toJSON().doc,l,n,a),h(C,a,n)}}});E.append(C.dom);const N=e.createSelect(e,E,l,a,n);return y(l.attrs.lang,C,e,O),{dom:v,selectNode(){C.focus()},stopEvent:t=>e.stopEvent(t,l,n,a,E),setSelection:(e,t)=>{C.focus(),h(C,a,n),r=!0,C.dispatch({selection:{anchor:e,head:t}}),r=!1},update:t=>{if(t.type.name!==l.type.name)return!1;t.attrs.lang!==l.attrs.lang&&y(t.attrs.lang,C,e,O);const o=l;l=t;const i=b(C.state.doc.toString(),l.textContent);return i&&(r=!0,C.dispatch({changes:{from:i.from,to:i.to,insert:i.text},selection:{anchor:i.from+i.text.length}}),r=!1),e.updateSelect(e,E,t,a,n,o),!0},ignoreMutation:()=>!0,destroy:()=>{N()}}};var w=Object.defineProperty,C=Object.defineProperties,N=Object.getOwnPropertyDescriptors,j=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable,P=(e,t,a)=>t in e?w(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const D={createSelect:(e,t,a,n,l)=>{var r;if(!e.languageLoaders)return()=>{};const{languageLoaders:o}=e,i=document.createElement("select");i.className="codeblock-select";const s=document.createElement("option");return s.value="none",s.textContent=(null==(r=e.languageNameMap)?void 0:r.none)||"none",i.append(s),Object.keys(o).sort().forEach(t=>{var a;if(e.languageWhitelist&&!e.languageWhitelist.includes(t))return;const n=document.createElement("option");n.value=t,n.textContent=(null==(a=e.languageNameMap)?void 0:a[t])||t,i.append(n)}),i.value=a.attrs.lang||"none",t.prepend(i),i.onchange=e=>{return t=null,r=null,o=function*(){if(!(e.target instanceof HTMLSelectElement))return;const t=e.target.value;"function"==typeof l&&n.dispatch(n.state.tr.setNodeMarkup(l(),void 0,((e,t)=>C(e,N(t)))(((e,t)=>{for(var a in t||(t={}))k.call(t,a)&&P(e,a,t[a]);if(j)for(var a of j(t))S.call(t,a)&&P(e,a,t[a]);return e})({},a.attrs),{lang:t}),a.marks))},new Promise((e,a)=>{var n=e=>{try{i(o.next(e))}catch(e){a(e)}},l=e=>{try{i(o.throw(e))}catch(e){a(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,l);i((o=o.apply(t,r)).next())});var t,r,o},()=>{}},updateSelect:(e,t,a,n,l,r)=>{if(r.attrs.lang!==a.attrs.lang){const e=t.querySelector(".codeblock-select");if(!(e instanceof HTMLSelectElement))return;e.value=a.attrs.lang||"none"}},stopEvent:()=>!0,readOnly:!1};var I={cpp:()=>a.e(0).then(a.bind(null,1587)).then(e=>e.cpp()),css:()=>a.e(0).then(a.bind(null,508)).then(e=>e.css()),html:()=>a.e(0).then(a.bind(null,815)).then(e=>e.html()),sql:()=>Promise.resolve().then(a.bind(null,770)).then(e=>e.sql()),xml:()=>a.e(0).then(a.bind(null,1588)).then(e=>e.xml()),javascript:()=>a.e(0).then(a.bind(null,509)).then(e=>e.javascript()),java:()=>a.e(0).then(a.bind(null,1589)).then(e=>e.java()),json:()=>a.e(0).then(a.bind(null,1590)).then(e=>e.json()),markdown:()=>a.e(0).then(a.bind(null,1591)).then(e=>e.markdown()),python:()=>a.e(0).then(a.bind(null,1592)).then(e=>e.python()),rust:()=>a.e(0).then(a.bind(null,1593)).then(e=>e.rust())};var T=a(770),x=a(760),A=a(761),M=a(762),L=a(763),R=a(764),F=a(765),U=a(766),B=a(767),z=a(768),$=a(769);var _={cpp:x.a,css:A.a,html:M.a,sql:Object(T.sql)().language.parser,xml:$.a,javascript:R.a,java:L.a,json:F.a,markdown:U.a,python:B.a,rust:z.a},H=Object.defineProperty,V=Object.defineProperties,q=Object.getOwnPropertyDescriptors,W=Object.getOwnPropertySymbols,G=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,K=(e,t,a)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,J=(e,t)=>
1{for(var a in t||(t={}))G.call(t,a)&&K(e,a,t[a]);if(W)for(var a of W(t))Y.call(t,a)&&K(e,a,t[a]);return e},Q=(e,t)=>V(e,q(t));const Z=new r.PluginKey("codemirror-block"),X=(e,t,a,l,r)=>{var o;if(!e.languageLoaders)return()=>{};const i=document.createElement("div");i.classList.add(n.a.HTML_SELECT,"codeblock-select-wrapper");const s=document.createElement("select"),c=document.createElement("span");c.classList.add(n.a.ICON,n.a.ICON+"-caret-down"),i.append(s),i.append(c),s.className="codeblock-select";const u=document.createElement("option");return u.value="none",u.textContent=(null==(o=e.languageNameMap)?void 0:o.none)||"none",s.append(u),Object.keys(I).sort().forEach(t=>{var a;if(e.languageWhitelist&&!e.languageWhitelist.includes(t))return;const n=document.createElement("option");n.value=t,n.textContent=(null==(a=e.languageNameMap)?void 0:a[t])||t,s.append(n)}),s.value=a.attrs.lang||"none",t.prepend(i),s.onchange=e=>{return t=null,n=null,o=function*(){if(!(e.target instanceof HTMLSelectElement))return;const t="none"===e.target.value?null:e.target.value;"function"==typeof r&&l.dispatch(l.state.tr.setNodeMarkup(r(),void 0,Q(J({},a.attrs),{lang:t}),a.marks))},new Promise((e,a)=>{var l=e=>{try{i(o.next(e))}catch(e){a(e)}},r=e=>{try{i(o.throw(e))}catch(e){a(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(l,r);i((o=o.apply(t,n)).next())});var t,n,o},()=>{}};t.b=(e,t)=>{return e.nodes.code_block?[(a=Q(J({},D),{readOnly:t.isReadOnly,createSelect:X,languageLoaders:I,undo:l.c,redo:l.b}),new r.Plugin({key:Z,props:{nodeViews:{code_block:O(a)}}}))]:[];var a}},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return p})),a.d(t,"c",(function(){return b})),a.d(t,"b",(function(){return h}));var n=a(6),l=Object.defineProperty,r=Object.defineProperties,o=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,u=(e,t,a)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,m=(e,t)=>{for(var a in t||(t={}))s.call(t,a)&&u(e,a,t[a]);if(i)for(var a of i(t))c.call(t,a)&&u(e,a,t[a]);return e},d=(e,t)=>r(e,o(t));const p=({scopeIds:e,user:t})=>Object(n.a)("/api/members",{method:"POST",body:JSON.stringify(d(m({},e),{targetUserId:t.id,value:{permissions:"view"}}))}),b=({member:e,update:t,scopeIds:a})=>Object(n.a)("/api/members",{method:"PUT",body:JSON.stringify(d(m({},a),{id:e.id,value:t}))}),h=({member:e,scopeIds:t})=>Object(n.a)("/api/members",{method:"DELETE",body:JSON.stringify(d(m({},t),{id:e.id}))})},,function(e,t,a){"use strict";a.d(t,"d",(function(){return i})),a.d(t,"a",(function(){return s})),a.d(t,"c",(function(){return c})),a.d(t,"b",(function(){return J}));var n=a(40),l=a(114),r=a(139);const o=(e,t)=>{const a=Object(r.b)(e);return!!a&&(t&&Object(r.d)(t,e,{isEnabled:!a.isEnabled}),!0)},i=Object(n.createCommandSpec)((e,t)=>({isActive:Object(r.c)(t),canRun:o(t),run:()=>o(t,e)})),s=Object(n.createCommandSpec)((e,t)=>({isActive:!1,canRun:Object(l.a)(t),run:()=>Object(l.a)(t,e)})),c=Object(n.createCommandSpec)((e,t)=>({isActive:!1,canRun:Object(l.d)(t),run:()=>Object(l.d)(t,e)}));var u=a(12),m=a(48),d=a(55),p=a(399);var b=a(181),h=a(38),g=a(78);const f=e=>{const{existingTransactions:t,newTransaction:a}=e;t.forEach(t=>{const{steps:n}=t;n.forEach((n,l)=>{const r=((e,t)=>{if(e instanceof h.AttrStep){const{pos:a}=e,n=t.nodeAt(a);if(n)return{pos:a,nodeBeforeStep:n}}if(e instanceof h.ReplaceStep){const{from:a,to:n,slice:{content:l}}=e,r=t.nodeAt(a),o=1===l.childCount?l.child(0):null;if(n===a+1&&r&&o&&r.type===o.type)return{pos:a,nodeBeforeStep:r}}if(e instanceof h.ReplaceAroundStep){const{from:a,gapFrom:n,to:l,gapTo:r}=e,o=t.nodeAt(a);if(o&&n===a+1&&r===l-1)return{pos:a,nodeBeforeStep:o}}return null})(n,t.docs[l]);if(r){const{nodeBeforeStep:t,pos:n}=r,l=a.mapping.map(n),o=a.doc.nodeAt(l);o&&!Object(g.e)(o)&&Object(g.a)("modification",e,l,o,t.attrs)}})})};var y=a(13);const v=(e,t,a)=>{const{transactionAttrs:n,suggestionMark:l}=a;if(!Object(g.e)(e)){const a=t(e),r=Object(g.c)("modification",l,n,a);return e.mark([...e.marks,r])}return e},E=(e,t,a)=>{const n=[];for(let l=0;l<e.childCount;l++){const r=e.child(l),o=E(r.content,t,a),i=r.copy(o);n.push(v(i,t,a))}return y.Fragment.from(n)},O=e=>{const{existingTransactions:t,newTransaction:a}=e;t.forEach(t=>{const{steps:n}=t;
1n.forEach(t=>{if(t instanceof h.AddMarkStep||t instanceof h.RemoveMarkStep){const n=a.mapping.map(t.from),l=a.mapping.map(t.to),r=(e=>{const{mark:t}=e;return a=>{const{marks:n}=a;return e instanceof h.RemoveMarkStep?t.isInSet(n)?n:t.addToSet(n):t.removeFromSet(n)}})(t),o=((e,t,a)=>{const{content:n,openStart:l,openEnd:r}=e,o=E(n,t,a);return new y.Slice(o,l,r)})(a.doc.slice(n,l),r,e);a.replace(n,l,o)}})})},w=(e,t)=>{const a=((e,t,a=!1)=>{if(t instanceof u.TextSelection){const n=a?1:-1;return e.steps.reduce((t,a,l)=>{const r=a.getMap(),o=r.map(t.anchor,n),i=r.map(t.head,n),s=l===e.docs.length?e.docs[l+1]:e.doc;return u.TextSelection.create(s,o,i)},t)}return t.map(e.doc,e.mapping)})(e,t);e.setSelection(a)};var C=a(794);const N=(e,t)=>{return!Object(g.h)(e,"removal"===t?"addition":"removal")},j=(e,t)=>{const a=[];for(let n=0;n<e.childCount;n++){const l=e.child(n);if(N(l,t)){const e=j(l.content,t),n=l.copy(e);a.push(n)}}return y.Fragment.from(a)},k=(e,t)=>{const{content:a,openStart:n,openEnd:l}=e,r=j(a,t);return new y.Slice(r,n,l)},S=["history$","collab$",p.b,b.a,"appendedTransaction"],P=e=>["math_inline","math_display"].includes(e.type.name),D=e=>e.docChanged&&!S.some(t=>!!e.getMeta(t))&&!(e=>e.steps.some(t=>{var a;const n=null!=(a=t.from)?a:t.pos,l=e.doc.resolve(n);return Object(d.g)(l,P)}))(e),I=(e,t,a)=>{const n=Object(r.b)(a);if(n.isEnabled){if(e.filter(D).length>0){const{tr:t}=a,l=((e,t,a)=>{const{suggestionUserId:n,suggestionMark:l}=e;return{suggestionMark:l,existingTransactions:t,newTransaction:a,transactionAttrs:{suggestionUserId:n,suggestionTimestamp:Date.now()}}})(n,e,t);return(e=>{const{existingTransactions:t,newTransaction:a}=e,n=t.reduce((e,t)=>e.addSteps(t.doc,t.steps.map(e=>e.getMap()),null),C.a.create(t[0].before));[...n.changes].sort((e,t)=>
1e.fromB-t.fromB).forEach(t=>{const{fromA:l,toA:r}=t;let o=a.mapping.map(t.fromB);const i=a.mapping.map(t.toB),s=a.doc.slice(o,i),c=k(s,"addition");let u=i;s.size!==c.size&&c.size>=0&&(a.replace(o,i,c),o=a.mapping.map(t.fromB,-1),u=o+c.size),c.size>0&&(Object(g.b)("addition",e,o,u),a.doc.nodesBetween(o,u,(t,a)=>{a>=o&&a<=u&&t.isBlock&&Object(g.a)("addition",e,a,t)}));const m=n.startDoc.slice(l,r),d=k(m,"removal");if(d.size>0){const n=a.steps.length;if(a.replace(o,o,d),n!==a.steps.length){o=a.mapping.map(t.fromB,-1);const n=o+d.size;o<n&&Object(g.b)("removal",e,o,n),a.doc.nodesBetween(o,n,(t,a)=>{a>=o&&a<=n&&t.isBlock&&Object(g.a)("removal",e,a,t)})}}})})(l),O(l),f(l),w(t,a.selection),t}}return null};var T=a(31),x=Object.defineProperty,A=Object.defineProperties,M=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,R=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,U=(e,t,a)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,B=(e,t)=>{for(var a in t||(t={}))R.call(t,a)&&U(e,a,t[a]);if(L)for(var a of L(t))F.call(t,a)&&U(e,a,t[a]);return e},z=(e,t)=>A(e,M(t));const $=(e,t=0,a=e.nodeSize-2)=>{const n=((e,t=0,a=e.nodeSize-2)=>{const n=[];return e.nodesBetween(t,a,(e,t)=>{var a;const l=Object(g.d)(e);n.push({suggestionKind:null!=(a=null==l?void 0:l.suggestionKind)?a:null,suggestionAttrs:l?[l]:[],from:t,to:t+(e.isLeaf?e.nodeSize:1)})}),n.reduce((e,t)=>{var a,n;const l=e.pop();if(l){if(l.suggestionKind===t.suggestionKind&&l.to===t.from&&(null==(a=l.suggestionAttrs[0])?void 0:a.suggestionUserId)===(null==(n=t.suggestionAttrs[0])?void 0:n.suggestionUserId)){const a={suggestionKind:l.suggestionKind,from:l.from,to:t.to,suggestionAttrs:[...l.suggestionAttrs,...t.suggestionAttrs]};return[...e,a]}return[...e,l,t]}return[t]},[])})(e,t,a);return Object(T.h)(n.map(t=>((e,t)=>{const{suggestionKind:a,from:n,to:l,suggestionAttrs:r}=e;if(null===a)return null;const o={from:n,to:l,suggestionAttrs:r[0]};return z(B({},o),"addition"===a?{kind:"addition",slice:t.slice(n,l)}:"modification"===a?{kind:"modification",slice:t.slice(n,l)}:{kind:"removal",slice:t.slice(n,l)})})(t,e))).reduce((e,t)=>{const a=e.pop();if(a){const n=((e,t)=>{const{suggestionAttrs:a}=e;if(e.to===t.from){const n={kind:"replacement",from:e.from,to:t.to,suggestionAttrs:a};if("addition"===e.kind&&"removal"===t.kind)return z(B({},n),{slices:[e.slice,t.slice],order:"addition-removal"});if("removal"===e.kind&&"addition"===t.kind)return z(B({},n),{slices:[e.slice,t.slice],order:"removal-addition"});if("replacement"===e.kind&&("removal"===t.kind&&"addition-removal"===e.order||"addition"===t.kind&&"removal-addition"===e.order)){const{order:a,slices:[l,r]}=e;return z(B({},n),{order:a,slices:[l,new y.Slice(r.content.append(t.slice.content),r.openStart,t.slice.openEnd)]})}}return null})(a,t);return n?[...e,n]:[...e,a,t]}return[t]},[])};var _=Object.defineProperty,H=Object.defineProperties,V=Object.getOwnPropertyDescriptors,q=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,Y=(e,t,a)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,K=(e,t)=>{for(var a in t||(t={}))W.call(t,a)&&Y(e,a,t[a]);if(q)for(var a of q(t))G.call(t,a)&&Y(e,a,t[a]);return e},J=(e,t)=>{const{collaborativeOptions:a}=t;return new u.Plugin({key:b.a,appendTransaction:I,state:{init:()=>{var t;return Object(r.a)(e,null==(t=null==a?void 0:a.clientData)?void 0:t.id)},apply:(e,t,a,n)=>{const{hasComputedSuggestionRanges:l}=t,r=e.getMeta(b.a),o=e.docChanged||!l,i=o?$(n.doc):t.suggestionRanges;return s=K(K({},t),null==r?void 0:r.updatedState),H(s,V({suggestionRanges:i,hasComputedSuggestionRanges:l||o}));var s}},props:{decorations(e){const t=[],a=Object(l.c)(e);return a?(e.doc.nodesBetween(a.from,a.to,(e,a)=>{e.isLeaf&&t.push(m.Decoration.inline(a,a+e.nodeSize,{class:"selected"}))}),m.DecorationSet.create(e.doc,t)):null}}})}},,,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"b",(function(){return d})),a.d(t,"a",(function(){return p}));var n=a(47),l=Object.defineProperty,r=Object.defineProperties,o=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,u=(e,t,a)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,m=(e,t)=>
1{for(var a in t||(t={}))s.call(t,a)&&u(e,a,t[a]);if(i)for(var a of i(t))c.call(t,a)&&u(e,a,t[a]);return e};const d={doc:{content:"block+",attrs:{meta:{default:{}}}},paragraph:{selectable:!1,content:"inline*",group:"block",attrs:{id:{default:null},class:{default:null},textAlign:{default:null},rtl:{default:null}},parseDOM:[{tag:"p",getAttrs:e=>({id:e.getAttribute("id"),class:e.getAttribute("class"),textAlign:e.getAttribute("data-text-align"),rtl:e.getAttribute("data-rtl")})}],toDOM:e=>{const t=!e.content||Array.isArray(e.content)&&!e.content.length?["br"]:0;return["p",m(m(m({class:e.attrs.class},e.attrs.id&&{id:e.attrs.id}),e.attrs.textAlign&&{"data-text-align":e.attrs.textAlign}),e.attrs.rtl&&{"data-rtl":e.attrs.rtl.toString()}),t]}},blockquote:{content:"block+",group:"block",attrs:{id:{default:null}},selectable:!1,parseDOM:[{tag:"blockquote",getAttrs:e=>({id:e.getAttribute("id")})}],toDOM:e=>["blockquote",m({},e.attrs.id&&{id:e.attrs.id}),0]},horizontal_rule:{group:"block",parseDOM:[{tag:"hr"}],selectable:!0,toDOM:()=>["div",["hr"]]},heading:{attrs:{level:{default:1},fixedId:{default:""},id:{default:""},textAlign:{default:null},rtl:{default:null}},content:"inline*",group:"block",defining:!0,selectable:!1,parseDOM:[1,2,3,4,5,6].map(e=>({tag:"h"+e,getAttrs:t=>({id:t.getAttribute("id"),textAlign:t.getAttribute("data-text-align"),rtl:t.getAttribute("data-rtl"),level:e})})),toDOM:e=>["h"+e.attrs.level,m(m({id:e.attrs.fixedId||e.attrs.id},e.attrs.textAlign&&{"data-text-align":e.attrs.textAlign}),e.attrs.rtl&&{"data-rtl":e.attrs.rtl.toString()}),0]},ordered_list:{content:"list_item+",group:"block",attrs:{id:{default:null},order:{default:1},rtl:{default:null}},selectable:!1,parseDOM:[{tag:"ol",getAttrs:e=>({id:e.getAttribute("id"),order:e.hasAttribute("start")?+e.getAttribute("start"):1,rtl:e.getAttribute("data-rtl")})}],toDOM:e=>{return["ol",(t=m(m(m({},e.attrs.id&&{id:e.attrs.id}),e.attrs.textAlign&&{"data-text-align":e.attrs.textAlign}),e.attrs.rtl&&{"data-rtl":e.attrs.rtl.toString()}),a={start:1===e.attrs.order?null:e.attrs.order},r(t,o(a))),0];var t,a}},bullet_list:{content:"list_item+",group:"block",attrs:{id:{default:null},rtl:{default:null}},selectable:!1,parseDOM:[{tag:"ul",getAttrs:e=>({id:e.getAttribute("id"),rtl:e.getAttribute("data-rtl")})}],toDOM:e=>["ul",m(m(m({},e.attrs.id&&{id:e.attrs.id}),e.attrs.textAlign&&{"data-text-align":e.attrs.textAlign}),e.attrs.rtl&&{"data-rtl":e.attrs.rtl.toString()}),0]},list_item:{content:"paragraph block*",defining:!0,selectable:!1,parseDOM:[{tag:"li"}],toDOM:()=>["li",0]},text:{inline:!0,group:"inline",toDOM:e=>e.text},hard_break:{inline:!0,group:"inline",selectable:!1,parseDOM:[{tag:"br"}],toDOM:()=>["br"]}},p={em:{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style",getAttrs:e=>"italic"===e&&null}],toDOM:()=>["em"]},strong:{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:e=>"normal"!==e.style.fontWeight&&null},{style:"font-weight",getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}],toDOM:()=>["strong"]},link:{inclusive:!1,attrs:{href:{default:""},title:{default:null},target:{default:null},pubEdgeId:{default:null}},parseDOM:[{tag:"a[href]",getAttrs:e=>"reference"!==e.getAttribute("data-node-type")&&{href:Object(n.a)(e.getAttribute("href")),title:e.getAttribute("title"),target:e.getAttribute("target"),pubEdgeId:e.getAttribute("data-pub-edge-id")}}],toDOM:e=>{const t=m({},e.attrs);t.href=Object(n.a)(t.href),t.target&&"string"!=typeof t.target&&(t.target=null);const a=t,{pubEdgeId:l}=a,r=((e,t)=>{var a={};for(var n in e)s.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&i)for(var n of i(e))t.indexOf(n)<0&&c.call(e,n)&&(a[n]=e[n]);return a})(a,["pubEdgeId"]);return["a",m({"data-pub-edge-id":l},r)]}},sub:{parseDOM:[{tag:"sub"}],toDOM:()=>["sub"]},sup:{parseDOM:[{tag:"sup"}],toDOM:()=>["sup"]},strike:{parseDOM:[{tag:"s"},{tag:"strike"},{tag:"del"}],toDOM:()=>["s"]},code:{parseDOM:[{tag:"code"}],toDOM:()=>["code"]}}},function(e,t,a){"use strict";a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return l}));const n=[{key:"acm-siggraph",name:"ACM SIGGRAPH",path:"./citeStyles/acm-siggraph.csl"},{key:"american-anthro",name:"American Anthropological Association",path:"./citeStyles/american-anthropological-association.csl"},{key:"apa",name:"APA 6th Edition",path:"./citeStyles/apa-6th-edition.csl"},{key:"apa-7",name:"APA 7th Edition",path:"./citeStyles/apa-7th-edition.csl"}
1,{key:"arcadia-science",name:"Arcadia Science",path:"./citeStyles/arcadia-science.csl"},{key:"cell",name:"Cell",path:"./citeStyles/cell.csl"},{key:"chicago",name:"Chicago",path:"./citeStyles/chicago-author-date.csl"},{key:"harvard",name:"Harvard",path:"./citeStyles/harvard-cite-them-right.csl"},{key:"elife",name:"ELife",path:"./citeStyles/elife.csl"},{key:"frontiers",name:"Frontiers",path:"./citeStyles/frontiers.csl"},{key:"mla",name:"MLA",path:"./citeStyles/modern-language-association.csl"},{key:"ama",name:"AMA",path:"./citeStyles/american-medical-association.csl"},{key:"vancouver",name:"Vancouver",path:"./citeStyles/vancouver.csl"}],l=[{key:"count",title:"Count",example:"[1]"},{key:"authorYear",title:"Author-Year",example:"(Goodall, 1995)"},{key:"author",title:"Author",example:"(Goodall)"},{key:"label",title:"Label",example:"(bibtexKey)"}]},function(e,t,a){"use strict";a.d(t,"b",(function(){return r})),a.d(t,"a",(function(){return i}));var n=a(71),l=a(30);const r=e=>Object(n.c)(e.kind).metadata,o=(e,t)=>{const a=new Date(e);if(Object(l.d)(a)){const e=Object(l.c)(a);if(Object(l.d)(e)){return`${t}${Object(l.b)(e)}`}}return null},i=(e,t)=>"printIssn"===e?"ISSN: "+t:"electronicIssn"===e?"e-ISSN: "+t:"volume"===e?"Volume "+t:"issue"===e?"Issue "+t:"printPublicationDate"===e?o(t,"Printed "):"publicationDate"===e?o(t,"Published "):"isbn"===e?"ISBN: "+t:"copyrightYear"===e?"Copyright © "+t:"edition"===e?t+" ed.":"theme"===e?""+t:"acronym"===e?" "+t:"location"===e?""+t:"date"===e?o(t,""):t},,,,function(e,t,a){"use strict";a.d(t,"c",(function(){return H})),a.d(t,"a",(function(){return V})),a.d(t,"b",(function(){return q}));var n=a(0),l=a.n(n),r=a(324),o=a(88),i=a(187),s=a(247),c=a(276),u=a(283),m=a(7);var d=a(328),p=a.n(d),b=(a(1165),a(1167),a(155));const h=(e,t)=>{return a=null,n=null,l=function*(){const a="App-"+e,n=p.a.apps.reduce((e,t)=>t.name===a?t:e,void 0)||p.a.initializeApp({apiKey:"AIzaSyCVBq7I9ddJpHhs-DzVEEdM09-VqTVex1g",authDomain:"pubpub-v6.firebaseapp.com",projectId:"pubpub-v6",storageBucket:"pubpub-v6.appspot.com",messagingSenderId:"503345633278",databaseURL:Object(b.c)()?"https://pubpub-v6-prod.firebaseio.com":"https://pubpub-v6-dev.firebaseio.com"},a),l=p.a.database(n);try{const a=yield p.a.auth(n);return yield a.signOut(),yield a.signInWithCustomToken(t),l.ref(e)}catch(e){return console.error("Error authenticating firebase",e),null}},new Promise((e,t)=>{var r=e=>{try{i(l.next(e))}catch(e){t(e)}},o=e=>{try{i(l.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((l=l.apply(a,n)).next())});var a,n,l};var g=a(227);const f=(e,t)=>{const a=Object(g.b)(t.id);return{id:t.id,backgroundColor:`rgba(${a}, 0.2)`,cursorColor:`rgba(${a}, 1.0)`,image:t.avatar||null,name:t.fullName||"Anonymous",initials:t.initials||"?",canEdit:e}};var y=a(393),v=a.n(y),E=a(6),O=Object.defineProperty,w=Object.defineProperties,C=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,S=(e,t,a)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,P=(e,t)=>{for(var a in t||(t={}))j.call(t,a)&&S(e,a,t[a]);if(N)for(var a of N(t))k.call(t,a)&&S(e,a,t[a]);return e},D=(e,t)=>w(e,C(t));const I=e=>{const{pubData:t,editorView:a}=e,{initialDoc:l}=t,{locationData:{query:{access:r}}}=Object(m.c)(),[o,s]=Object(i.a)(()=>{const{historyData:e}=t,a=e.currentKey!==e.latestKey,n=a?l:null,r=Object.keys(e.timestamps).map(e=>parseInt(e,10)).filter(e=>e>=0),o=r.length>0?Math.min(...r):0;return D(P({},e),{firstKey:o,timestamps:P({[-1]:new Date(t.createdAt).valueOf()},e.timestamps),outstandingRequests:0,latestKeyReceivedAt:null,isViewingHistory:a,loadedIntoHistory:a,historyDoc:n,latestHistoryDoc:n,historyDocEditorKey:"history-"+e.currentKey})}),c=t.id,{isViewingHistory:u,currentKey:d,latestKey:p}=o,b=Object(n.useCallback)(e=>s(t=>({currentKey:e,latestKey:e,timestamps:P({[e]:Date.now()},t.timestamps)})),[s]),h=Object(n.useCallback)(e=>s({currentKey:e}),[s]),g=Object(n.useCallback)(e=>{if(e){const e=a?a.state.doc.toJSON():l;s({isViewingHistory:!0,latestHistoryDoc:e,historyDoc:e})}else s({isViewingHistory:!1})},[s,a,l]);return Object(n.useEffect)(()=>{u&&(d===p?s(e=>({historyDoc:e.latestHistoryDoc,historyDocEditorKey:"history-"+p})):(s(e=>({outstandingRequests:e.outstandingRequests+1})),((e,t,a)=>E.a.get("/api/pubHistory?"+v.a.stringify({pubId:e,historyKey:t,accessHash:a})))(c,d,r).then(e=>{const{doc:t,historyData:{timestamps:a}}=e;s(e=>{const n={outstandingRequests:e.outstandingRequests-1};return e.currentKey===d?D(P({},n),{historyDoc:t,historyDocEditorKey:"history-"+d,timestamps:P(P({},e.timestamps),a)}):n})})))},[u,d,p,r,c,s]),D(P({},o),{setCurrentHistoryKey:h,setLatestHistoryKey:b,setIsViewingHistory:g})};var T=a(24),x=Object.defineProperty,A=Object.defineProperties,M=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,R=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,U=(e,t,a)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,B=(e,t)=>{for(var a in t||(t={}))R.call(t,a)&&U(e,a,t[a]);if(L)for(var a of L(t))F.call(t,a)&&U(e,a,t[a]);return e},z=(e,t)=>A(e,M(t));const $=e=>{var t;
1const{pubData:a,editorChangeObject:l}=e,[r,o]=Object(i.a)(()=>(e=>{const{submission:t}=e;if(t&&!e.isRelease&&!e.isReviewingPub){const{status:e}=t;return{selectedTab:"incomplete"===e?"instructions":"preview",submission:t}}return null})(a)),s=null==(t=null==l?void 0:l.view)?void 0:t.state.doc,c="incomplete"===(null==r?void 0:r.submission.status)&&"preview"===(null==r?void 0:r.selectedTab)&&(null==r?void 0:r.submission.abstract),u=Object(n.useMemo)(()=>{return c&&s?(e=s.toJSON(),t=c,Object(T.p)(t)?e:z(B({},e),{content:[{type:"heading",attrs:{level:1,id:"abstract"},content:[{type:"text",text:"Abstract"}]},...t.content,...e.content]})):null;var e,t},[s,c]);return[r?z(B({},r),{submissionPreviewDoc:u}):null,o]},_={inPub:!1,pubData:{slug:"",releases:[],releaseNumber:0},collabData:{editorChangeObject:{}},historyData:{},firebaseDraftRef:null,updateLocalData:null,updatePubData:null,submissionState:{},noteManager:new r.a("apa-7","count",{})},H=l.a.createContext(_),V=l.a.createContext(_),q=e=>{var t,a;const{children:d,pubData:p}=e,[b,g]=Object(i.a)(p),[y,v]=(e=>{const{pubData:t}=e,{draft:a,firebaseToken:l}=t,{loginData:r,scopeData:{activePermissions:{canEdit:o,canEditDraft:s}}}=Object(m.c)(),[c,u]=Object(i.a)(()=>({editorChangeObject:{},status:"connecting",localCollabUser:f(o||s,r),remoteCollabUsers:[],firebaseDraftRef:null})),d=Object(n.useCallback)(e=>{const t=e.val();if(t){const e=Object.values(t).filter(e=>e.id!==r.id);u({remoteCollabUsers:e})}},[u,r]);return Object(n.useEffect)(()=>{a&&l&&h(a.firebasePath,l).then(e=>{e&&(u({firebaseDraftRef:e}),null==e||e.child("cursors").on("value",d))})},[a,l,u,d]),[c,u]})({pubData:b}),E=I({pubData:b,editorView:null!=(a=null==(t=y.editorChangeObject)?void 0:t.view)?a:null}),[O,w]=$({pubData:b,editorChangeObject:y.editorChangeObject}),C=(e=>{const{pubData:{initialDoc:t,initialDocKey:a,isInMaintenanceMode:l,isRelease:r,isReviewingPub:o,discussions:i},submissionState:s,historyData:{currentKey:c,isViewingHistory:u,historyDoc:d,historyDocEditorKey:p},collabData:{firebaseDraftRef:b}}=e,{scopeData:{activePermissions:{canEdit:h,canEditDraft:g}}}=Object(m.c)(),f=Object(n.useMemo)(()=>r?i.map(e=>e.anchors.filter(e=>e.historyKey===c)).reduce((e,t)=>[...e,...t],[]):[],[i,r,c]);if(l)return{editorKey:"maintenance",isReadOnly:!0,initialContent:t,initialHistoryKey:a,includeCollabPlugin:!1,includeDiscussionsPlugin:!1,discussionAnchors:null,canCreateAnchoredDiscussions:!1};if(u&&d&&p)return{editorKey:p,isReadOnly:!0,initialContent:d,initialHistoryKey:a,includeCollabPlugin:!1,includeDiscussionsPlugin:!1,discussionAnchors:null,canCreateAnchoredDiscussions:!1};if(s){const e=null==s?void 0:s.submissionPreviewDoc;if(e)return{editorKey:"submission-preview-"+c,isReadOnly:!0,initialContent:e,initialHistoryKey:a,includeCollabPlugin:!1,includeDiscussionsPlugin:!1,discussionAnchors:f,canCreateAnchoredDiscussions:!1};if("instructions"===s.selectedTab)return{editorKey:"",hidePubBody:!0,isReadOnly:!0,includeCollabPlugin:!1,initialContent:t,initialHistoryKey:a,includeDiscussionsPlugin:!1,discussionAnchors:null,canCreateAnchoredDiscussions:!1}}return r?{editorKey:"release",isReadOnly:!0,initialHistoryKey:a,initialContent:t,includeCollabPlugin:!1,includeDiscussionsPlugin:!0,discussionAnchors:f,canCreateAnchoredDiscussions:!0}:o?{editorKey:"review",isReadOnly:!0,initialHistoryKey:a,initialContent:t,includeCollabPlugin:!1,includeDiscussionsPlugin:!0,discussionAnchors:f,canCreateAnchoredDiscussions:!0}:{editorKey:b?"ready":"unready",isReadOnly:!(h||g),initialContent:t,initialHistoryKey:a,includeCollabPlugin:!!b,includeDiscussionsPlugin:!0,discussionAnchors:f,canCreateAnchoredDiscussions:!0}})({pubData:b,collabData:y,historyData:E,submissionState:O}),{citationStyle:N,inlineCitationStyle:j}=Object(o.a)(e=>e.CitationStyle,{fallback:()=>({citationStyle:"apa",inlineCitationStyle:"count"})}),{current:k}=Object(s.a)(()=>new r.a(N,j,b.initialStructuredCitations)),S=Object(n.useMemo)(()=>Object(c.b)(b.initialDoc,y.editorChangeObject),[b.initialDoc,y.editorChangeObject]),P=Object(n.useCallback)((e,t,a={})=>{const{isImmediate:n}=a;"pub"===e&&(n?g.immediately(!0)(t):g(t))},[g]),D={inPub:!0,pubData:b,updatePubData:g,collabData:y,updateCollabData:v,historyData:E,submissionState:O,updateSubmissionState:w,noteManager:k,pubBodyState:C,updateLocalData:P,pubHeadings:S},T=Object(u.c)(D);return l.a.createElement(H.Provider,{value:T},l.a.createElement(V.Provider,{value:D},d))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return m}));var n=Object.defineProperty,l=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,i=(e,t,a)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var s=a(6);const c="undefined"!=typeof window,u=(e,t,a)=>c?Object(s.a)("/api/editor/citation-format",{method:"POST",body:JSON.stringify({structuredValues:e,inlineStyleKind:a,citationStyleKind:t})}):Promise.resolve([]);class m extends class{constructor(e,t,a,n={}){this.citationStyleKind=t,this.citationInlineStyleKind=a,this.notes=((e,t)=>{for(var a in t||(t={}))r.call(t,a)&&i(e,a,t[a]);if(l)for(var a of l(t))o.call(t,a)&&i(e,a,t[a]);return e})({},n),this.callbacks=new Set,this.renderStructuredValues=e}subscribe(e){return this.callbacks.add(e),()=>{this.callbacks.delete(e)}}getRenderedValueSync(e){return this.notes[e]||null}getRenderedValue(e){const t=this.getRenderedValueSync(e);return t?Promise.resolve(t):this.renderStructuredValues([e],this.citationStyleKind,this.citationInlineStyleKind).then(t=>{const a=t[e];
1return this.notes[e]=a,this.callbacks.forEach(e=>e(this.notes)),a})}}{constructor(e,t,a){super(u,e,t,a)}}},,,,,,,,,,,,,function(e,t,a){"use strict"},function(e,t,a){"use strict"},,,,,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(8),o=a.n(r),i=a(403),s=a(1556),c=a(1557),u=a(280),m=a(7),d=a(53),p=a(40),b=a(401),h=(a(1150),Object.defineProperty),g=Object.defineProperties,f=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,O=(e,t,a)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,w=(e,t)=>{for(var a in t||(t={}))v.call(t,a)&&O(e,a,t[a]);if(y)for(var a of y(t))E.call(t,a)&&O(e,a,t[a]);return e},C=(e,t)=>{var a={};for(var n in e)v.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&y)for(var n of y(e))t.indexOf(n)<0&&E.call(e,n)&&(a[n]=e[n]);return a};const N={key:"paragraph",title:l.a.createElement("p",null,"Paragraph"),label:"Paragraph",command:p.paragraphToggle},j=[N,{key:"header1",title:l.a.createElement("h1",{className:"h1"},"Header 1"),label:"Header 1",command:p.heading1Toggle},{key:"header2",title:l.a.createElement("h2",{className:"h2"},"Header 2"),label:"Header 2",command:p.heading2Toggle},{key:"header3",title:l.a.createElement("h3",{className:"h3"},"Header 3"),label:"Header 3",command:p.heading3Toggle},{key:"header4",title:l.a.createElement("h4",{className:"h4"},"Header 4"),label:"Header 4",command:p.heading4Toggle},{key:"header5",title:l.a.createElement("h5",{className:"h5"},"Header 5"),label:"Header 5",command:p.heading5Toggle},{key:"header6",title:l.a.createElement("h6",{className:"h6"},"Header 6"),label:"Header 6",command:p.heading6Toggle},{key:"code_block",title:l.a.createElement("pre",null,l.a.createElement("code",null,"Code")),label:"Code",command:p.codeBlockToggle}];var k=l.a.forwardRef((e,t)=>{const a=e,{editorChangeObject:n,isSmall:r}=a,o=C(a,["editorChangeObject","isSmall"]);return l.a.createElement(b.a,w({className:"block-type-selector-menu pub-body-styles","aria-label":"Choose text formatting",ref:t,commands:[j],disclosure:e=>{const{commands:t,commandStates:a,disclosureElementProps:n}=e,o=n,{ref:i}=o,s=C(o,["ref"]),c=t.reduce((e,t)=>[...e,...t],[]),u=c.reduce((e,t)=>{if(e)return e;const n=a[t.key];return(null==n?void 0:n.isActive)&&"command"in t?t:null},null),m=j.find(e=>e.command===(null==u?void 0:u.command)),p=c.filter(e=>{const t=a[e.key];return null==t?void 0:t.canRun}),b=m||N;return l.a.createElement(d.c,(h=w({minimal:!0,className:"block-type-selector-component",rightIcon:"caret-down",elementRef:i},s),y={disabled:p.length<2,small:r},g(h,f(y))),b.label);var h,y},editorChangeObject:n},o))}),S=a(402),P=a(62),D=a.n(P),I=a(4);const T={capture:!0},x=e=>{const t=[];for(t.push(e);e.parentElement;)t.unshift(e.parentElement),e=e.parentElement;return t.filter(e=>e instanceof Element).some(e=>{var t,a;return(null==(t=e.classList)?void 0:t.contains("__reakit-portal"))||(null==(a=e.classList)?void 0:a.contains(I.a.PORTAL))})},A=()=>{const{scrollX:e,scrollY:t}=window;return{restore:()=>{"function"==typeof window.scrollTo&&window.scrollTo(e,t)}}},M=(e,t)=>!e||!e.contains(t)&&!x(t);var L=a(24),R=Object.defineProperty,F=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,z=(e,t,a)=>t in e?R(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,$=(e,t)=>{for(var a in t||(t={}))U.call(t,a)&&z(e,a,t[a]);if(F)for(var a of F(t))B.call(t,a)&&z(e,a,t[a]);return e};var _=e=>{const{accentColor:t,children:a,editorChangeObject:r,onClose:i,controlsConfiguration:s}=e,{isFullScreenWidth:c,kind:u,style:m,container:p,showCloseButton:b,title:h,captureFocusOnMount:g,hasPadding:f}=s,[y,v]=Object(n.useState)(g),E=(({onMouseDownOutside:e=null,onEscapeKeyPressed:t=null,onClickOutside:a=null,isActive:l=!1,ignoreMouseEvents:r=!1,restoreFocusTarget:o=null}={})=>{const[i,s]=Object(n.useState)(null),c=Object(n.useRef)(!1),u=Object(n.useRef)(null),m=Object(n.useRef)(null),d=Object(n.useRef)(!1),p=Object(n.useRef)(0),b=Object(n.useCallback)(e=>{if(e instanceof HTMLElement){c.current=!0;try{e.focus()}catch(e){}return c.current=!1,document.activeElement===e}return!1},[]),h=Object(n.useCallback)(e=>{const t=e.childNodes;for(let e=t.length-1;e>=0;e-=1){const a=t[e];if(b(a)||h(a))return!0}return!1},[b]),g=Object(n.useCallback)(e=>{const t=e.childNodes;for(let e=0;e<t.length;e+=1){const a=t[e];if(b(a)||g(a))return!0}return!1},[b]),f=Object(n.useCallback)(e=>{const{target:t}=e,a=Date.now()-p.current<1e3;if(!(c.current||!l||!(t instanceof Node)||!i||a&&r))if(i&&i.contains(t))u.current=t,m.current=A();else{if(x(t))return;
1m.current&&m.current.restore(),g(i),document.activeElement===u.current&&h(i),u.current=document.activeElement}},[g,h,l,i,r]),y=Object(n.useCallback)(t=>{const{target:a}=t;p.current=Date.now(),M(i,a)&&(d.current=!0,e&&e(t))},[e,i]),v=Object(n.useCallback)(e=>{const{target:t}=e;M(i,t)&&a&&d.current&&a(e)},[a,i]),E=Object(n.useCallback)(e=>{"Escape"===e.key&&t&&(e.stopPropagation(),t(e))},[t]);return Object(n.useEffect)(()=>(window.addEventListener("focus",f,!0),()=>window.removeEventListener("focus",f,!0)),[f]),Object(n.useEffect)(()=>(window.addEventListener("mousedown",y,T),()=>window.removeEventListener("mousedown",y,T)),[y]),Object(n.useEffect)(()=>(window.addEventListener("click",v,T),()=>window.removeEventListener("click",v,T)),[v]),Object(n.useEffect)(()=>i?(i.addEventListener("keydown",E),()=>i.removeEventListener("keydown",E)):()=>{},[E,i]),Object(n.useEffect)(()=>{if(i&&l&&!i.contains(document.activeElement)){const e=i.tabIndex;return i.tabIndex=-1,b(i),()=>{i.tabIndex=e}}return()=>{}},[l,i,b]),Object(n.useEffect)(()=>{const e=document.activeElement;return()=>{const t=A();b(o||e),t.restore()}},[o,b]),{ref:s}})({isActive:y,ignoreMouseEvents:!0,restoreFocusTarget:r.view.dom,onEscapeKeyPressed:e=>{e.stopPropagation(),i()},onMouseDownOutside:e=>{Object(L.s)(r.view,e)||i()}});Object(n.useEffect)(()=>{const e={capture:!0},t=e=>{"Tab"!==e.key||y||(e.preventDefault(),v(!0))};return document.addEventListener("keydown",t,e),()=>document.removeEventListener("keydown",t,e)},[y]);const O=l.a.createElement("div",{"aria-label":`Editing ${h} options`,className:o()("formatting-bar-controls-container-component","floating"===u&&"floating "+I.a.ELEVATION_2,c&&"full-screen-width",f&&"has-padding"),style:$({background:t},m),ref:E.ref},l.a.createElement("div",{className:"inner"},a),b&&l.a.createElement("div",{className:"close-button-container"},l.a.createElement(d.c,{minimal:!0,small:!0,icon:"cross","aria-label":"Close options",onClick:i})));return"floating"===u?D.a.createPortal(O,p):O},H=a(199),V=Object.defineProperty,q=Object.defineProperties,W=Object.getOwnPropertyDescriptors,G=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,J=(e,t,a)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Q=(e,t)=>{for(var a in t||(t={}))Y.call(t,a)&&J(e,a,t[a]);if(G)for(var a of G(t))K.call(t,a)&&J(e,a,t[a]);return e};const Z=(e,t,a)=>{const{kind:n}=e;if("none"!==n&&(null==a?void 0:a.controls)){const n=a.controls.indicate(t),r=a.controls.show(t);if(n&&r){const{title:n,ariaTitle:r}=a,{component:o,captureFocusOnMount:i,showCloseButton:s,hasPadding:c=!0}=a.controls;if(o)return l=Q(Q({},e),((e,t,a)=>{const{kind:n}=e,{floatingPosition:l}=t;return l?{kind:"floating",style:l(a,e)}:"floating"===n?{kind:"floating",style:Object(H.b)(a,e)}:{kind:n,style:{}}})(e,a.controls,t)),q(l,W({component:o,showCloseButton:!!s,captureFocusOnMount:!!i,title:r||n,hasPadding:c}))}}var l;return null};var X=a(217);var ee=a(281);const te=(e,t)=>{return a=e=>((e,t)=>{const{openedButton:a,setOpenedButton:n,indicatedButtons:l,controlsDetached:r,commandStates:o,editorChangeObject:{view:i}}=t,s=((e,t)=>{const a=t.commandStates[e.key];return!("function"!=typeof e.isDisabled||!e.isDisabled(t.editorChangeObject))||!(!a||a.canRun)})(e,t),c=(null==a?void 0:a.key)===e.key,u=l.some(t=>t.key===e.key),m=((e,t)=>{const a=t.commandStates[e.key];return!!a&&a.isActive})(e,t),d=c&&r,p=o[e.key];return{button:e,isDisabled:s,isOpen:c,isIndicated:u,isActive:m,isDetached:d,isHidden:!1,onClick:()=>{u?n(a===e?null:e):"insertNodeType"in e?(Object(L.n)(i,e.insertNodeType),i.focus()):(null==p||p.run(),null==i||i.focus())}}})(e,t),e.map(e=>e.map(a));var a},ae=e=>{var t,a,l,r;const{buttons:o,editorChangeObject:i,controlsConfiguration:s}=e,c=Object(n.useMemo)(()=>o.reduce((e,t)=>[...e,...t],[]),[o]),[u,m]=Object(n.useState)(null),d=(e=>{const t=Object(n.useRef)(-1),a=Object(n.useRef)(null);if(e){a.current&&a.current.type===e.type&&a.current.timeStamp===e.timeStamp||(t.current+=1),a.current=e}return t.current})(i.latestDomEvent),p=null==(t=i.view)?void 0:t.dom,b=Object(ee.a)({view:i.view,state:null==(a=i.view)?void 0:a.state,commands:o}),h=null==(r=null==(l=i.selectedNode)?void 0:l.attrs)?void 0:r.id,g=`${h}-${d}`,f=c.filter(e=>{var t;return null==(t=e.controls)?void 0:t.indicate(i)}),y=f.map(e=>e.key).join("-"),v=Z(s,i,u),E=te(o,{indicatedButtons:f,openedButton:u,setOpenedButton:m,editorChangeOb
1ject:i,commandStates:b,controlsDetached:"floating"===(null==v?void 0:v.kind)});return Object(n.useEffect)(()=>{const e=f.find(e=>e.controls&&e.controls.trigger(i));m(e||null)},[g,y]),Object(n.useEffect)(()=>{const e={capture:!0},t=e=>{var t;if("Enter"===e.key&&(null==p?void 0:p.contains(document.activeElement))&&1===f.length&&!u){const[a]=f;(null==(t=null==a?void 0:a.controls)?void 0:t.enterKeyTriggers)&&(e.stopImmediatePropagation(),e.preventDefault(),m(a))}};return document.addEventListener("keydown",t,e),()=>document.removeEventListener("keydown",t,e)},[f,u,m,p]),{openedButton:u,setOpenedButton:m,selectedNodeId:h,buttonStates:E,resolvedControlsConfiguration:v}};var ne=a(1555),le=Object.defineProperty,re=Object.defineProperties,oe=Object.getOwnPropertyDescriptors,ie=Object.getOwnPropertySymbols,se=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable,ue=(e,t,a)=>t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,me=(e,t)=>{for(var a in t||(t={}))se.call(t,a)&&ue(e,a,t[a]);if(ie)for(var a of ie(t))ce.call(t,a)&&ue(e,a,t[a]);return e};const de=e=>{const{selectedNode:t,updateNode:a,view:l}=e,r=(null==t?void 0:t.attrs.id)||null,o=Object(ne.a)(r),[i,s]=Object(n.useState)({}),c=Object(n.useCallback)(e=>{s(t=>{const a=me({},t);return delete a[e],a})},[]),u=Object(n.useCallback)(e=>{r&&s(t=>{const a=t[r];return n=me({},t),l={[r]:me(me({},a),e)},re(n,oe(l));var n,l})},[r]),m=Object(n.useCallback)(()=>{if(r&&a){const e=i[r];e&&(null==a||a(e),c(r))}},[r,a,i,c]);if(Object(n.useEffect)(()=>{if(o&&o!==r){const e=i[o];e&&(Object(L.y)(l,o,e),c(o))}},[r,o,i,c,l]),t&&r){const e=i[r],a=!!e&&Object.keys(e).length>0;return{attrs:me(me({},t.attrs),e),hasPendingChanges:a,updateAttrs:u,commitChanges:m}}return null};a(1151);var pe=Object.defineProperty,be=Object.defineProperties,he=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertySymbols,fe=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,ve=(e,t,a)=>t in e?pe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ee=(e,t)=>{for(var a in t||(t={}))fe.call(t,a)&&ve(e,a,t[a]);if(ge)for(var a of ge(t))ye.call(t,a)&&ve(e,a,t[a]);return e};const Oe={view:{},selectedNode:null,updateNode:()=>{}};t.a=e=>{const{editorChangeObject:t,isSmall:a=!1,showBlockTypes:r=!a,controlsConfiguration:d={},isTranslucent:p=!1,citationStyle:b="apa-7"}=e,h=t||Oe,{communityData:g,featureFlags:f}=Object(m.c)(),y=f.suggestedEdits?e.buttons:e.buttons.map(e=>e.filter(e=>!e.key.startsWith("suggested-edits"))),v=Object(u.a)(),E=Object(n.useRef)(null),O=Object(i.a)({loop:!0}),w=de(h),{openedButton:C,setOpenedButton:N,selectedNodeId:j,buttonStates:P,resolvedControlsConfiguration:D}=ae({buttons:y,editorChangeObject:h,controlsConfiguration:Ee({kind:a?"floating":"anchored",container:E.current,isAbsolutelyPositioned:!1,isFullScreenWidth:!1},d)});Object(n.useEffect)(()=>{if(C){const e=v.getRef(C.key);if(e&&e.current&&"function"==typeof e.current.scrollIntoView){const t=e.current,a=5;t.parentNode.scrollLeft=t.offsetLeft-a}}},[C]);const I=e=>{const{button:t,isOpen:n,isActive:r,isIndicated:o,isDisabled:i,isDetached:c,onClick:u}=e,m="media"===t.key&&{view:h.view},d=((e,t)=>e.popover&&Boolean(e.popover.condition===X.a.Always||e.popover.condition===X.a.Disabled&&t)?e.popover.component:null)(t,i);return l.a.createElement(s.a,Ee((p=Ee({},O),b={outerRef:v.getRef(t.key),as:t.component||S.a,key:t.key,label:t.label,formattingItem:t,disabled:i,isActive:r,isIndicated:o&&!n,isOpen:n,isDetached:c,isSmall:a,popoverContent:d&&l.a.createElement(d,null),accentColor:g.accentColorDark,onClick:u},be(p,he(b))),m));var p,b};return l.a.createElement("div",{ref:E,className:o()("formatting-bar-component",a&&"small",p&&"translucent")},l.a.createElement(c.a,Ee({"aria-label":"Formatting toolbar",className:"toolbar"},O),r&&l.a.createElement(l.a.Fragment,null,l.a.createElement(s.a,Ee({as:k,isSmall:a,editorChangeObject:h},O)),l.a.createElement("div",{className:"separator"})),P.map((e,t)=>l.a.createElement(l.a.Fragment,{key:t},t>0&&l.a.createElement("div",{className:"separator"}),e.map(I)))),(()=>{if(D){const{component:e}=D;return l.a.createElement(_,{controlsConfiguration:D,editorChangeOb
1ject:h,accentColor:g.accentColorDark,onClose:()=>N(null)},l.a.createElement(e,{key:j,editorChangeObject:h,isSmall:a,citationStyle:b,pendingAttrs:w,onClose:()=>N(null)}))}return null})())}},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(53),o=a(8),i=a.n(o),s=a(31),c=a(83),u=a(107),m=a(240),d=a(37);a(1192);const p=e=>{const{accentColor:t,carouselControlsDisabled:a,filters:o,mode:i,showFilterMenu:s,single:c,onNextClick:m,onBackClick:p,onModeChange:b,onFilterToggle:h,onAllFilterToggle:g}=e,f=Object(n.useCallback)(()=>b(u.b.Carousel),[b]),y=Object(n.useCallback)(()=>b(u.b.List),[b]),v=u.c.map(e=>{const t=o.indexOf(e)>-1;return l.a.createElement(r.g,{key:e,checked:t,onChange:()=>h(e)},Object(d.g)(e)," items of this pub")}).concat(l.a.createElement(r.g,{key:"all",onChange:g,checked:o.length===u.c.length},"All related items")),E=l.a.createElement("div",{className:"pub-edge-listing-controls-component-menu",style:{border:"1px solid "+t}},l.a.createElement("h6",null,"Include:"),v,l.a.createElement("h6",null,"Show as:"),l.a.createElement(r.C,{checked:i===u.b.Carousel,onChange:f},"Carousel"),l.a.createElement(r.C,{checked:i===u.b.List,onChange:y},"List")),O=a?"#a1a1a1":t;return l.a.createElement("nav",{className:"pub-edge-listing-controls-component"},l.a.createElement("span",{className:"filters"},c&&1===o.length?o[0]:o.length>0&&Object(d.d)(o.map(u.d))),l.a.createElement(r.d,{minimal:!0},i===u.b.Carousel&&l.a.createElement(l.a.Fragment,null,l.a.createElement(r.c,{onClick:p,minimal:!0,small:!0,"aria-label":"Previous connection",disabled:a},l.a.createElement(r.q,{icon:"circle-arrow-left",color:O})),l.a.createElement(r.c,{onClick:m,minimal:!0,small:!0,"aria-label":"Next connection",disabled:a},l.a.createElement(r.q,{icon:"circle-arrow-right",color:O}))),s&&l.a.createElement(r.z,{content:E,minimal:!0},l.a.createElement(r.c,{color:t,minimal:!0,small:!0,"aria-label":"Show filtering options"},l.a.createElement(r.q,{icon:"filter",color:t})))))};p.defaultProps={carouselControlsDisabled:!1,showFilterMenu:!1,single:!1};var b=p;var h=e=>{const{index:t,count:a}=e;return l.a.createElement("span",{className:"pub-edge-listing-counter-component"},0===a?0:t+1," of ",a)};a(1193);const g=(e,t)=>{const{edge:a,isSibling:n,isInboundEdge:l}=e,r=Object(c.b)(a,{isInboundEdge:l,viewingFromSibling:n});return r?r.id:t},f=(e,t)=>{const{inboundEdges:a,outboundEdges:n,siblingEdges:l}=t,r=e.includes(u.a.Parent),o=e.includes(u.a.Child),i=e.includes(u.a.Sibling),c=[],m=[],d=[],p=[];return n.forEach(e=>{const{pubIsParent:t}=e,a={isSibling:!1,isInboundEdge:!1,edge:e};(t?o:r)&&c.push(a),t?d.push(a):m.push(a)}),a.forEach(e=>{const{pubIsParent:t}=e,a={isSibling:!1,isInboundEdge:!0,edge:e};(t?r:o)&&c.push(a),t?m.push(a):d.push(a)}),l.forEach(e=>{const{pubIsParent:t,pub:a,targetPub:n}=e,l={isSibling:!0,isInboundEdge:!1,edge:e,parentPub:t?a:n};p.push(l),i&&c.push(l)}),{filteredPubEdgesInContext:Object(s.j)(c,g),collatedPubEdgesInContext:Object(s.j)([...m,...d,...p],g)}};t.a=e=>{const{accentColor:t,className:a="",hideIfNoInitialMatches:o=!0,initialMode:s=u.b.Carousel,initialFilters:c=[u.a.Child],isolated:d=!1,pubData:p,pubEdgeDescriptionIsVisible:g}=e,[y,v]=Object(n.useState)(0),[E,O]=Object(n.useState)(s),[w,C]=Object(n.useState)(c),{filteredPubEdgesInContext:N,collatedPubEdgesInContext:j}=f(w,p),[k,S]=Object(n.useState)(o&&0===N.length),{[y]:P,length:D}=N;Object(n.useEffect)(()=>{const{filteredPubEdgesInContext:e}=f(c,p);e.length>0&&S(!1)},[p,c]);const I=Object(n.useCallback)(()=>v(e=>(e+1)%D),[D]),T=Object(n.useCallback)(()=>v(e=>(e-1+D)%D),[D]),x=Object(n.useCallback)(e=>{C(t=>{const a=t.indexOf(e);return a>-1?[...t.slice(0,a),...t.slice(a+1)]:[...t,e]}),v(0)},[]),A=Object(n.useCallback)(()=>{C(e=>e.length===Object.keys(u.a).length?[]:u.c),v(0)},[]),M=1===N.length,L=j.length>1&&(!d||N.length>1)&&l.a.createElement(l.a.Fragment,null,l.a.createElement(h,{index:y,count:D}),l.a.createElement(b,{accentColor:t,carouselControlsDisabled:M,single:1===N.length,filters:w,mode:E,onAllFilterToggle:A,onBackClick:T,onFilterToggle:x,onModeChange:O,onNextClick:I,showFilterMenu:!d}));return k?null:l.a.createElement("div",{className:i()("pub-edge-listing-component",a)},!d&&l.a.createElement("div",{className:"top"},l.a.createElement("h5",{style:{color:t}},"Connections"),L),(()=>{const e=E===u.b.Carousel?P&&l.a.createElement(m.a,{pubEdgeDescriptionIsVisible:g,pubEdge:P.edge,parentPub:P.parentPub,accentColor:t,showIcon:d,viewingFromSibling:P.isSibling,isInboundEdge:P.isInboundEdge,inPubBody:!0},d&&L):N.map(({isInboundEdge:e,edge:a,isSibling:n,parentPub:r})=>l.a.createElement(m.a,{pubEdgeDescriptionIsVisible:g,key:a.url,pubEdge:a,parentPub:r,accentColor:t,viewingFromSibling:n,isInboundEdge:e,inPubBody:!0}));return d||P&&0!==N.length?e:l.a.createElement(r.v,{title:"No Results",icon:"search"})})())}},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(8),o=a.n(r),i=a(7),s=a(228),c=a(269),u=a(384),m=a(372),d=a(270),p=a(373),b=a(53),h=a(1),g=a(374);var f=e=>{const{content:{body:t,title:a,submissionWorkflowId:n}}=e,{loginData:{id:r}}=Object(i.c)();return l.a.createElement("div",{className:"layout-text-component"},l.a.createElement("div",{className:"block-content"}
1,l.a.createElement(h.L,null,l.a.createElement(g.a,{title:a,content:l.a.createElement(l.a.Fragment,null,l.a.createElement(h.E,{initialContent:t,isReadOnly:!0}),l.a.createElement(b.b,{href:"/submit/"+n},r?"Create a submission":"Log in to submit"))}))))},y=a(375);a(1162);t.a=e=>{const{locationData:t,loginData:a,communityData:n}=Object(i.c)(),{blocks:r,isNarrow:b,layoutPubsByBlock:h,id:g="",collection:v}=e,E=Object(s.b)(h,r);return l.a.createElement("div",{id:g,className:o()("layout-component",b&&"narrow","ultrawide"===t.query.display&&"ultrawide")},r.map((e,r)=>"pubs"===e.type?l.a.createElement("div",{className:"layout-pubs-block",key:r},l.a.createElement(p.a,{content:e.content,pubs:E[e.id],collectionId:v&&v.id})):"text"===e.type?l.a.createElement(y.a,{key:r,content:e.content}):"html"===e.type?l.a.createElement(m.a,{key:r,content:e.content}):"banner"===e.type?l.a.createElement(c.a,{key:r,content:e.content,communityData:n,loginData:a,locationData:t}):"collections-pages"===e.type?l.a.createElement("div",{className:"layout-pages-block",key:r},l.a.createElement(d.a,{content:e.content,pages:n.pages,collections:n.collections})):"collection-header"===e.type&&v?l.a.createElement(u.a,{key:r,content:e.content,collection:v}):"submission-banner"===e.type?l.a.createElement(f,{key:r,content:e.content}):null))}},,function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(198),o=a(37);a(949);const i={renderEmptyState:()=>null,renderSuffix:()=>null,renderTruncation:e=>`${e} ${Object(o.e)("other",e)}`,renderUserLabel:e=>e.fullName},s=(...e)=>e.reduce((e,t)=>Array.isArray(t)?[...e,...t]:[...e,t],[]),c=e=>{const{ampersand:t=!1,bylinePrefix:a="by",contributors:n,linkToUsers:c=!0,renderEmptyState:u=i.renderEmptyState,renderSuffix:m=i.renderSuffix,renderTruncation:d=i.renderTruncation,renderUserLabel:p=i.renderUserLabel,truncateAt:b=null}=e,h=(e,t)=>{if("string"==typeof e)return l.a.createElement("span",{key:"author-"+e},e);const{user:a}=Object(r.a)(e),n=p(a,t);return"slug"in a&&a.slug&&c?l.a.createElement("span",{key:"author-"+a.id},l.a.createElement("a",{href:"/user/"+a.slug,className:"hoverline"},n)):l.a.createElement("span",{key:"author-"+a.id},n)};return l.a.createElement("div",{className:"byline-component"},l.a.createElement("span",{className:"text-wrapper"},n.length>0&&l.a.createElement(l.a.Fragment,null,a&&l.a.createElement("span",null,a," "),(()=>{if("string"==typeof n)return n;if(null!==b&&n.length>b){const e=n.slice(0,b),a=n.length-e.length;return Object(o.d)([...e.map(h),d(a)],{joiner:s,ampersand:t,empty:[]})}return Object(o.d)(n.map(h),{joiner:s,ampersand:t,empty:[]})})()),0===n.length&&u(),m&&m()))};c.defaultProps=i,t.a=c},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(53),o=a(4);t.a=e=>{const{cancelLabel:t="Cancel",children:a,confirmLabel:i,intent:s="danger",onConfirm:c,text:u,title:m,errorState:d}=e,[p,b]=Object(n.useState)(!1),[h,g]=Object(n.useState)(!1),[f,y]=Object(n.useState)(null),v=Object(n.useCallback)(()=>b(!1),[]),E=Object(n.useCallback)(()=>{y(null);const e=c();e instanceof Promise?(g(!0),e.then(v).catch(y).finally(()=>g(!1))):b(!1)},[c,v]);return l.a.createElement(l.a.Fragment,null,a({open:()=>b(!0)}),l.a.createElement(r.j,{isOpen:p,title:m,onClose:v},l.a.createElement("div",{className:o.a.DIALOG_BODY},u,f&&d&&l.a.createElement(r.e,{intent:"danger"},d(f))),l.a.createElement("div",{className:o.a.DIALOG_FOOTER},l.a.createElement("div",{className:o.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(r.c,{onClick:v},t),l.a.createElement(r.c,{loading:h,intent:s,onClick:E},i)))))}},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));const n=["jpg","jpeg","png"],l=e=>{const t=e.split(".").pop().toLowerCase();return n.includes(t)}},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(53),o=a(4),i=a(793),s=a.n(i),c=a(96);a(1155);class u extends n.Component{constructor(e){super(e),this.state={scale:1.5,isUploading:!1,blob:void 0},this.editor=void 0,this.onFileFinish=this.onFileFinish.bind(this),this.handleScaleChange=this.handleScaleChange.bind(this),this.handleSaveClick=this.handleSaveClick.bind(this)}onFileFinish(e,t,a,n){this.setState({isUploading:!1,scale:1.5}),this.props.onUploaded("https://assets.pubpub.org/"+n,this.state.blob)}handleScaleChange(e){this.setState({scale:e})}handleSaveClick(){this.editor.getImage().toBlob(e=>{Object(c.a)(e,()=>{},this.onFileFinish,0),this.setState({isUploading:!0,blob:URL.createObjectURL(e)})},"image/jpeg",.9)}render(){return"undefined"==typeof window?null:l.a.createElement("div",{className:"image-cropper-component"},l.a.createElement("h5",null,"Crop Image"),l.a.createElement("div",{className:"editor-wrapper"},l.a.createElement(s.a,{ref:e=>{this.editor=e},image:this.props.image,width:this.props.width,height:this.props.height,border:0,scale:this.state.scale}
1)),l.a.createElement(r.E,{value:this.state.scale,onChange:this.handleScaleChange,min:1,max:5,stepSize:.1,renderLabel:!1}),l.a.createElement("div",{className:"buttons"},l.a.createElement(r.c,{text:"Cancel",onClick:this.props.onCancel}),l.a.createElement(r.c,{text:"Crop and Save",className:o.a.INTENT_PRIMARY,onClick:this.handleSaveClick,loading:this.state.isUploading})))}}u.defaultProps={height:200,width:200,image:void 0,onCancel:()=>{},onUploaded:()=>{}},t.a=u},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(53),o=a(4),i=a(2),s=a.n(i);a(1156);const c={isOpen:s.a.bool,onClose:s.a.func.isRequired,children:s.a.node.isRequired,maxWidth:s.a.number},u=function(e){return l.a.createElement(r.y,{className:o.a.OVERLAY_SCROLL_CONTAINER,isOpen:e.isOpen,onClose:e.onClose,transitionName:"pub-overlay",transitionDuration:200},l.a.createElement("style",null,`\n\t\t\t\t\t@media only screen and (min-width: ${e.maxWidth/.9}px) {\n\t\t\t\t\t\t.overlay-wrapper {\n\t\t\t\t\t\t\tleft: calc(50vw - ${e.maxWidth/2}px);\n\t\t\t\t\t\t\twidth: ${e.maxWidth}px; // Effectively it's max width\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t`),l.a.createElement("div",{className:`overlay-wrapper ${o.a.CARD} ${o.a.ELEVATION_2}`},e.children))};u.propTypes=c,u.defaultProps={maxWidth:940,isOpen:!1},t.a=u},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(2),o=a.n(r),i=a(1),s=a(47);const c={content:o.a.object.isRequired},u=function(e){if(!e.content.html)return null;const t=Object(s.d)(e.content.html);return l.a.createElement("div",{className:"layout-html-component"},l.a.createElement("div",{className:"block-content"},l.a.createElement(i.L,null,l.a.createElement("div",{dangerouslySetInnerHTML:{__html:t}}))))};u.propTypes=c,t.a=u},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(164),o=a(1),i=Object.defineProperty,s=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,m=(e,t,a)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,d=(e,t)=>{for(var a in t||(t={}))c.call(t,a)&&m(e,a,t[a]);if(s)for(var a of s(t))u.call(t,a)&&m(e,a,t[a]);return e};t.a=e=>{const{pubs:t,content:a,collectionId:n}=e,{hideByline:i,hideContributors:s,hideDates:c,hideDescription:u,hideEdges:m,pubPreviewType:p,title:b}=a,h=["medium","minimal"].includes(p),g=n?{customizePubUrl:e=>Object(r.b)(e,n)}:{};return l.a.createElement("div",{className:"block-content"},l.a.createElement("div",{className:"container"},b&&l.a.createElement("div",{className:"row"},l.a.createElement("div",{className:"col-12"},l.a.createElement("h1",null,b))),t.map((e,t,a)=>{if(h&&t%2==1)return null;const n=h&&t<a.length-1?a[t+1]:null;return l.a.createElement("div",{key:e.id,className:"row"},l.a.createElement("div",{className:h?"col-6":"col-12"},l.a.createElement(o.Ab,d({pubData:e,size:p,hideByline:i,hideDescription:u,hideDates:c,hideEdges:m,hideContributors:s},g))),n&&l.a.createElement("div",{className:h?"col-6":"col-12"},l.a.createElement(o.Ab,d({pubData:n,size:p,hideByline:i,hideDescription:u,hideDates:c,hideEdges:m,hideContributors:s},g))))})))}},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(8),o=a.n(r),i=a(72),s=a.n(i),c=a(7);a(1161);t.a=e=>{const{title:t,content:a,className:n}=e,{communityData:{accentColorDark:r}}=Object(c.c)(),i=s()(r).alpha(.2).toString();return l.a.createElement("div",{className:o()("layout-submission-banner-skeleton-component",n),style:{backgroundColor:i}},l.a.createElement("h2",null,t),l.a.createElement("div",null,a))}},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(1),o=a(24);t.a=e=>{const{content:t}=e;return t.text?l.a.createElement("div",{className:"layout-text-component"},l.a.createElement("div",{className:"block-content"},l.a.createElement(r.L,null,l.a.createElement(o.b,{initialContent:t.text,isReadOnly:!0})))):null}},function(e,t,a){"use strict";a.d(t,"a",(function(){return Zt})),a.d(t,"b",(function(){return Xt}));var n=a(13),l=a(246),r=a(31),o=a(117),i=a(131),s=a(132),c=a(97),u=a(55);const m=(e={})=>t=>{const{counterType:a=t.type.name,useNodeLabels:n=!1,nodeFingerprintFn:l}=e,{nodeLabels:r}=Object(c.useDocumentState)();let o=a;if(n){const e=Object(u.l)(t,r);if(!e)return null;o=e.nodeLabel.text||e.referenceableNodeType}const i=Object(c.useTransactionState)(["counter",o],{countsMap:{},maxCount:0});if(l){const e=JSON.stringify(l(t));
1return i.countsMap[e]||(i.maxCount++,i.countsMap[e]=i.maxCount),i.countsMap[e]}return i.maxCount++,i.maxCount},d=()=>e=>{const{nodeLabels:t}=Object(c.useDocumentState)();return Object(u.l)(e,t)?Object(u.p)(e,t):null};var p=Object.defineProperty,b=Object.defineProperties,h=Object.getOwnPropertyDescriptors,g=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,v=(e,t,a)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,E=(e,t)=>{for(var a in t||(t={}))f.call(t,a)&&v(e,a,t[a]);if(g)for(var a of g(t))y.call(t,a)&&v(e,a,t[a]);return e},O={audio:{atom:!0,reactive:!0,attrs:{id:{default:null},url:{default:null},size:{default:50},align:{default:"center"},caption:{default:""},hideLabel:{default:!1}},reactiveAttrs:{count:m({useNodeLabels:!0}),label:d()},parseDOM:[{tag:"figure",getAttrs:e=>"audio"===e.getAttribute("data-node-type")&&{id:e.getAttribute("id")||null,url:e.firstChild.getAttribute("src")||null,size:Number(e.getAttribute("data-size"))||50,align:e.getAttribute("data-align")||"center",caption:e.firstChild.getAttribute("alt")||"",hideLabel:e.getAttribute("data-hide-label")||""}}],toDOM:(e,{isStaticallyRendered:t}={isStaticallyRendered:!1})=>{const a=e.attrs.id+"-figure-caption";return["figure",(n=E({},e.attrs.id&&{id:e.attrs.id}),l={"data-node-type":"audio","data-size":e.attrs.size,"data-align":e.attrs.align,"data-hide-label":e.attrs.hideLabel},b(n,h(l))),["audio",{controls:"true",preload:"metadata",src:e.attrs.url,alt:e.attrs.caption,"aria-describedby":a}],["figcaption",{id:a},Object(r.h)(["div",{},Object(o.a)(Object(i.a)(e),e=>["strong",{spellcheck:"false"},e]),Object(s.a)(t,e.attrs.caption,"div")])]];var n,l},inline:!1,group:"block"}},w=a(316),C=a(397);const N=e=>t=>{const{[e]:a,customLabel:n}=t.attrs,{noteManager:l}=Object(c.useDocumentState)(),r=!!l,[o,i]=Object(c.useState)(()=>r&&l.getRenderedValueSync(a));return Object(c.useEffect)(()=>{r&&l.getRenderedValue(a).then(i)},[l,a,r,n]),o};var j=Object.defineProperty,k=Object.defineProperties,S=Object.getOwnPropertyDescriptors,P=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,T=(e,t,a)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,x=(e,t)=>{for(var a in t||(t={}))D.call(t,a)&&T(e,a,t[a]);if(P)for(var a of P(t))I.call(t,a)&&T(e,a,t[a]);return e},A={citation:{atom:!0,reactive:!0,attrs:{id:{default:null},href:{default:null},value:{default:""},unstructuredValue:{default:""},customLabel:{default:""}},reactiveAttrs:{count:m({nodeFingerprintFn:e=>[e.attrs.value,e.attrs.unstructuredValue]}),citation:N("value")},parseDOM:[{tag:"span",getAttrs:e=>"citation"===e.getAttribute("data-node-type")&&{id:e.getAttribute("id"),value:e.getAttribute("data-value")||"",unstructuredValue:e.getAttribute("data-unstructured-value")||"",customLabel:e.getAttribute("data-custom-label")||""}}],toDOM:e=>{const{href:t,id:a,value:n,unstructuredValue:l,customLabel:r}=e.attrs;return[t?"a":"span",(o=x(x({},t&&{href:t}),a&&{id:a}),i={"data-node-type":"citation","data-value":n,"data-unstructured-value":l,"data-custom-label":r,class:"citation"},k(o,S(i))),Object(C.a)(e)];var o,i},inline:!0,group:"inline"}},M=a(15),L=a(5),R=a(289),F=Object.defineProperty,U=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,$=(e,t,a)=>t in e?F(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,_=(e,t)=>{for(var a in t||(t={}))B.call(t,a)&&$(e,a,t[a]);if(U)for(var a of U(t))z.call(t,a)&&$(e,a,t[a]);return e};const H=e=>{const t=R.c[e.attrs.lang];if(t){const a=t.parse(e.textContent),n=((e,t)=>{const a=[];let n=0;return Object(L.b)(t,M.i,(t,l,r)=>{t>n&&a.push(e.slice(n,t)),a.push(["span",{class:r},e.slice(t,l)]),n=l}),n<e.length&&a.push(e.slice(n)),a})(e.textContent,a);return["pre",{id:e.attrs.id,"data-lang":e.attrs.lang},["code",...n]]}return["pre",_({id:e.attrs.id},e.attrs.lang&&{"data-lang":e.attrs.lang}),["code",e.textContent]]};var V={code_block:{content:"text*",group:"block",attrs:{lang:{default:null},id:{default:null}},code:!0,selectable:!1,parseDOM:[{tag:"pre",getAttrs:e=>({id:e.getAttribute("id")}),preserveWhitespace:"full"}],toDOM:(e,{isStaticallyRendered:t}={isStaticallyRendered:!1})=>t?H(e):["pre",_({},e.attrs.id&&{id:e.attrs.id}),["code",0]]}};const q={group:"block",toDOM:()=>["span"]};var W={highlightQuote:q,citationList:q,footnoteList:q,discussion:q},G=a(0),Y=a.n(G),K=Object.defineProperty,J=Object.defineProperties,Q=Object.getOwnPropertyDescriptors,Z=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable,te=(e,t,a)=>t in e?K(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ae=(e,t)=>{for(var a in t||(t={}))X.call(t,a)&&te(e,a,t[a]);if(Z)for(var a of Z(t))ee.call(t,a)&&te(e,a,t[a]);return e},ne={equation:{atom:!0,attrs:{id:{default:null},value:{default:""},html:{default:""},renderForPandoc:{default:!1}},parseDOM:[{tag:"span",getAttrs:e=>"math-inline"===e.getAttribute("data-node-type")&&{value:e.getAttribute("data-value")||"",html:e.firstChild.innerHTML||""}}],toDOM:(e,{isStaticallyRendered:t}={isStaticallyRendered:!1})=>["span",{"data-node-type":"math-inline","data-value":e.attrs.value},Object(s.a)(t,e.attrs.html)],inline:!0,group:"inline",draggable:!1},block_equation:{atom:!0,reactive:!0,attrs:{id:{default:null},value:{default:""},html:{default:""},renderForPandoc:{default:!1},hideLabel:{default:!1}},reactiveAttrs:{count:m({useNodeLabels:!0})},parseDOM:[{tag:"div",getAttrs:e=>{var t;if("math-block"!==e.getAttribute("data-node-type"))return!1;const a=(null==(t=e.querySelector("span.katex"))?void 0:t.outerHTML)||e.firstChild.innerHTML;return{id:e.getAttribute("id")||null,value:e.getAttribute("data-value")||"",html:a||""}}}],toDOM:(e,{isStaticallyRendered:t}={})=>{return e.attrs.renderForPandoc?Y.a.createElement("script",{type:"math/tex-display",dangerouslySetInnerHTML:{__html:e.attrs.value}}):["div",(a=ae({},e.attrs.id&&{id:e.attrs.id}),n={"data-node-type":"math-block","data-value":e.attrs.value}
1,J(a,Q(n))),["span"],Object(s.a)(t,e.attrs.html),["span",{class:"equation-label",spellcheck:"false"},e.attrs.count?`(${e.attrs.count})`:""]];var a,n},inline:!1,group:"block"}},le=a(4),re=Object.defineProperty,oe=Object.defineProperties,ie=Object.getOwnPropertyDescriptors,se=Object.getOwnPropertySymbols,ce=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,me=(e,t,a)=>t in e?re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,de=(e,t)=>{for(var a in t||(t={}))ce.call(t,a)&&me(e,a,t[a]);if(se)for(var a of se(t))ue.call(t,a)&&me(e,a,t[a]);return e};var pe={file:{atom:!0,attrs:{id:{default:null},url:{default:null},fileName:{default:null},fileSize:{default:null},caption:{default:""}},parseDOM:[{tag:"figure",getAttrs:e=>"file"===e.getAttribute("data-node-type")&&{id:e.getAttribute("id")||null,url:e.getAttribute("data-url")||null,fileName:e.getAttribute("data-file-name")||null,fileSize:e.getAttribute("data-file-size")||null,caption:e.getAttribute("data-caption")||""}}],toDOM:(e,{isStaticallyRendered:t}={})=>{const a=e.attrs,n=(e=>{const{fileName:t,url:a}=e;return a&&a.includes(".")?a.split(".").pop():t&&t.includes(".")?t.split(".").pop():""})(a);return["figure",(l=de({},e.attrs.id&&{id:e.attrs.id}),r={"data-node-type":"file","data-url":e.attrs.url,"data-file-name":e.attrs.fileName,"data-file-size":e.attrs.fileSize,"data-caption":e.attrs.caption,class:"file"},oe(l,ie(r))),["div",{class:`${le.a.CARD} ${le.a.ELEVATION_2} details`},["div",{"data-type":n.substring(0,4),class:"file-icon file-icon-default"}],["div",{class:"file-name"},["a",{href:a.url,target:"_blank",rel:"noopener noreferrer",download:a.fileName},["span",{},a.fileName]]],["div",{class:"file-size"},a.fileSize?a.fileSize.toString():""],["a",{href:a.url,target:"_blank",rel:"noopener noreferrer",download:a.fileName,class:`${le.a.BUTTON} ${le.a.ICON}-download`}]],["figcaption",{},Object(s.a)(t,e.attrs.caption,"div")]];var l,r},inline:!1,group:"block"}},be=Object.defineProperty,he=Object.defineProperties,ge=Object.getOwnPropertyDescriptors,fe=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable,Ee=(e,t,a)=>t in e?be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Oe=(e,t)=>{for(var a in t||(t={}))ye.call(t,a)&&Ee(e,a,t[a]);if(fe)for(var a of fe(t))ve.call(t,a)&&Ee(e,a,t[a]);return e},we={footnote:{atom:!0,reactive:!0,attrs:{id:{default:null},href:{default:null},value:{default:""},structuredValue:{default:""}},reactiveAttrs:{count:m(),citation:N("structuredValue")},parseDOM:[{tag:"span",getAttrs:e=>"footnote"===e.getAttribute("data-node-type")&&{value:e.getAttribute("data-value")||"",structuredValue:e.getAttribute("data-structured-value")||""}}],toDOM:e=>{const{href:t,id:a,count:n,value:l,structuredValue:r}=e.attrs;return[t?"a":"span",(o=Oe(Oe({},t&&{href:t}),a&&{id:a}),i={"data-node-type":"footnote","data-value":l,"date-structured-value":r,class:"footnote"},he(o,ge(i))),String(n)];var o,i},inline:!0,group:"inline"}},Ce=Object.defineProperty,Ne=Object.defineProperties,je=Object.getOwnPropertyDescriptors,ke=Object.getOwnPropertySymbols,Se=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,De=(e,t,a)=>t in e?Ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ie=(e,t)=>{for(var a in t||(t={}))Se.call(t,a)&&De(e,a,t[a]);if(ke)for(var a of ke(t))Pe.call(t,a)&&De(e,a,t[a]);return e},Te={iframe:{atom:!0,reactive:!0,attrs:{id:{default:null},url:{default:""},size:{default:75},height:{default:419},align:{default:"center"},caption:{default:""},hideLabel:{default:!1}},reactiveAttrs:{count:m({useNodeLabels:!0}),label:d()},parseDOM:[{tag:"figure",getAttrs:e=>"iframe"===e.getAttribute("data-node-type")&&{id:e.getAttribute("id")||null,url:e.firstChild.getAttribute("src")||null,size:Number(e.getAttribute("data-size"))||75,height:Number(e.firstChild.getAttribute("height"))||419,align:e.getAttribute("data-align")||"center",caption:e.firstChild.getAttribute("alt")||"",hideLabel:e.getAttribute("data-hide-label")||""}}],toDOM:(e,{isStaticallyRendered:t}={isStaticallyRendered:!1})=>{const a=e.attrs.id+"-figure-caption",n=e.attrs.url,l=/^https?:\/\/[^/]*assets\.pubpub\.org\/.+(\.html?)$/i.test(n)?n.includes("?")?n+"&embed=1":n+"?embed=1":n;return["figure",(c=Ie({},e.attrs.id&&{id:e.attrs.id}),u={"data-node-type":"iframe","data-size":e.attrs.size,"data-align":e.attrs.al
1ign,"data-hide-label":e.attrs.hideLabel},Ne(c,je(u))),["iframe",{alt:e.attrs.caption,src:l,height:e.attrs.height,"aria-describedby":a,allowfullscreen:"true"}],["figcaption",{id:a},Object(r.h)(["div",{},Object(o.a)(Object(i.a)(e),e=>["strong",{spellcheck:"false"},e]),Object(s.a)(t,e.attrs.caption,"div")])]];var c,u},inline:!1,group:"block"}},xe=a(47),Ae=a(369),Me=Object.defineProperty,Le=Object.defineProperties,Re=Object.getOwnPropertyDescriptors,Fe=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,Be=Object.prototype.propertyIsEnumerable,ze=(e,t,a)=>t in e?Me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,$e=(e,t)=>{for(var a in t||(t={}))Ue.call(t,a)&&ze(e,a,t[a]);if(Fe)for(var a of Fe(t))Be.call(t,a)&&ze(e,a,t[a]);return e};const _e=(e,t,a)=>e&&t?{"aria-describedby":a}:t?{"aria-labelledby":a}:{};var He={image:{atom:!0,reactive:!0,attrs:{id:{default:null},url:{default:null},size:{default:50},align:{default:"center"},caption:{default:""},altText:{default:""},hideLabel:{default:!1},fullResolution:{default:!1},href:{default:null}},reactiveAttrs:{count:m({useNodeLabels:!0}),label:d()},parseDOM:[{tag:"figure",getAttrs:e=>"image"===e.getAttribute("data-node-type")&&{id:e.getAttribute("id")||null,url:Object(xe.a)(e.getAttribute("data-url"))||null,caption:e.getAttribute("data-caption")||"",size:Number(e.getAttribute("data-size"))||50,align:e.getAttribute("data-align")||"center",altText:e.getAttribute("data-alt-text")||"",hideLabel:e.getAttribute("data-hide-label")||"",href:Object(xe.a)(e.getAttribute("data-href"))||null}}],toDOM:(e,{isStaticallyRendered:t}={isStaticallyRendered:!1})=>{const{align:a,id:n,altText:l,caption:c,fullResolution:u,size:m,hideLabel:d}=e.attrs,p=Object(xe.a)(e.attrs.url),b=Object(xe.a)(e.attrs.href),h="breakout"===a?1920:800,g=Object(Ae.a)(p)&&!u,f=g?Object(xe.b)(p,"inside",h):p,y=g?Object(xe.c)(p,"inside",h):"",v=n+"-figure-caption",E=["img",$e({srcSet:y,src:f,alt:l||""},_e(l,c,v))];return["figure",(O=$e({},n&&{id:n}),w={"data-node-type":"image","data-size":m,"data-align":a,"data-url":p,"data-caption":c,"data-href":b,"data-alt-text":l,"data-hide-label":d},Le(O,Re(w))),b?["a",{href:b,target:"_blank"},E]:E,["figcaption",{id:v},Object(r.h)(["div",{},Object(o.a)(Object(i.a)(e),e=>["strong",{spellcheck:"false"},e]),Object(s.a)(t,c,"div")])]];var O,w},inline:!1,group:"block"}},Ve=a(398),qe=a.n(Ve);var We=a(145),Ge=Object.defineProperty,Ye=Object.defineProperties,Ke=Object.getOwnPropertyDescriptors,Je=Object.getOwnPropertySymbols,Qe=Object.prototype.hasOwnProperty,Ze=Object.prototype.propertyIsEnumerable,Xe=(e,t,a)=>t in e?Ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,et=(e,t)=>{for(var a in t||(t={}))Qe.call(t,a)&&Xe(e,a,t[a]);if(Je)for(var a of Je(t))Ze.call(t,a)&&Xe(e,a,t[a]);return e},tt=(e,t)=>Ye(e,Ke(t));const at=e=>{var t;return et({class:"math-node"},(null==(t=e.attrs)?void 0:t.id)&&{id:e.attrs.id})},nt=(e,t,a)=>{const{attrs:n,textContent:l}=e,r=null==n?void 0:n.count,o=((e,t)=>{try{return qe.a.renderToString(e,t)}catch(e){return'<div class="parse-error">(math error)</div>'}})(r?`${l} \\tag{${r}}`:l,{displayMode:a,throwOnError:!1,globalGroup:!0});return[t,tt(et({},at(e)),{dangerouslySetInnerHTML:{__html:o}})]};var lt={math_inline:tt(et({},{content:"text*",inline:!0,atom:!0,parseDOM:[{contentElement:"annotation",tag:"math-inline"}]}),{group:"inline",toDOM:(e,{isStaticallyRendered:t}={isStaticallyRendered:!1})=>t?nt(e,"math-inline",!1):["math-inline",{class:"math-node"},0]}),math_display:tt(et({},{content:"text*",atom:!0,code:!0,parseDOM:[{contentElement:"annotation",tag:"math-display"}]}),{reactive:!0,group:"block",attrs:{id:{default:null},hideLabel:{default:!1}},reactiveAttrs:{count:m({useNodeLabels:!0,counterType:We.a.Math})},toDOM:(e,{isStaticallyRendered:t}={isStaticallyRendered:!1})=>t?nt(e,"div",!0):["math-display",at(e),0]})},rt=a(8),ot=a.n(rt),it=Object.defineProperty,st=Object.defineProperties,ct=Object.getOwnPropertyDescriptors,ut=Object.getOwnPropertySymbols,mt=Object.prototype.hasOwnProperty,dt=Object.prototype.propertyIsEnumerable,pt=(e,t,a)=>t in e?it(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,bt=(e,t)=>{for(var a in t||(t={}))mt.call(t,a)&&pt(e,a,t[a]);if(ut)for(var a of ut(t))dt.call(t,a)&&pt(e,a,t[a]);return e},ht={reference:{atom:!0,isLeaf:!0,inline:!0,reactive:!0,selectable:!0,group:"inline",attrs:{id:{default:null},targetId:{default:null}},reactiveAttrs:{label:e=>{const{targetId:t}=e.attrs,{nodeLabels:a}=Object(c.useDocumentState)();return t?Object(c.useDeferredNode)(t,e=>{if(!e)return null;const t=Object(u.l)(e,a);if(t){const{text:a}=t.nodeLabel;return Object(u.a)(e,a)}return t}):null}},parseDOM:[{tag:"a",getAttrs:e=>{if("reference"!==e.getAttribute("data-node-type"))return!1;const t=e.getAttribute("data-target-id");return{id:e.getAttribute("id"),targetId:t,href:"#"+t}}}],toDOM:function(e){const{id:t,targetId:a,label:n}=e.attrs;return["a",(l=bt({},t&&{id:t}),r={href:"#"+a,class:ot()("reference",!n&&"missing"),"data-node-type":"reference","data-target-id":a}
1,st(l,ct(r))),n||"(ref?)"];var l,r}}},gt=a(85),ft=Object.defineProperty,yt=Object.defineProperties,vt=Object.getOwnPropertyDescriptors,Et=Object.getOwnPropertySymbols,Ot=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,Ct=(e,t,a)=>t in e?ft(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Nt=Object(gt.o)({tableGroup:"block",cellContent:"block+",cellAttributes:{background:{default:null,getFromDOM:e=>e.style.backgroundColor||null,setDOMAttr:e=>{}}}}),{table:jt}=Nt;jt.onInsert=e=>{const{tr:t,schema:a}=e.state,l=a.nodes.table,r=a.nodes.table_row,o=a.nodes.table_cell.createAndFill({}),i=[];for(let e=0;e<3;e+=1)i.push(o);const s=r.create(null,n.Fragment.from(i)),c=[];for(let e=0;e<3;e+=1)c.push(s);const u=l.create(null,n.Fragment.from(c));e.dispatch(t.replaceSelectionWith(u).scrollIntoView())};const{toDOM:kt}=jt;jt.attrs=((e,t)=>yt(e,vt(t)))(((e,t)=>{for(var a in t||(t={}))Ot.call(t,a)&&Ct(e,a,t[a]);if(Et)for(var a of Et(t))wt.call(t,a)&&Ct(e,a,t[a]);return e})({},jt.attrs),{id:{default:null},hideLabel:{default:!1},align:{default:null},size:{default:null},smallerFont:{default:!1}}),jt.reactive=!0,jt.reactiveAttrs={count:m({useNodeLabels:!0}),label:d()},jt.parseDOM[0].getAttrs=e=>({id:e.getAttribute("id")||null}),jt.toDOM=e=>{const{id:t,align:a,size:n,smallerFont:l}=e.attrs,s=kt(e);return["div",{class:"tableWrapper",id:t,"data-align":a,"data-size":n,"data-smaller-font":l},Object(r.h)([s[0],Object(o.a)(Object(i.a)(e),e=>["caption",e]),s[1]])]};var St=Nt,Pt=Object.defineProperty,Dt=Object.defineProperties,It=Object.getOwnPropertyDescriptors,Tt=Object.getOwnPropertySymbols,xt=Object.prototype.hasOwnProperty,At=Object.prototype.propertyIsEnumerable,Mt=(e,t,a)=>t in e?Pt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Lt=(e,t)=>{for(var a in t||(t={}))xt.call(t,a)&&Mt(e,a,t[a]);if(Tt)for(var a of Tt(t))At.call(t,a)&&Mt(e,a,t[a]);return e},Rt={video:{atom:!0,reactive:!0,attrs:{id:{default:null},url:{default:null},size:{default:50},align:{default:"center"},caption:{default:""},hideLabel:{default:!1},loop:{default:!1}},reactiveAttrs:{count:m({useNodeLabels:!0}),label:d()},parseDOM:[{tag:"figure",getAttrs:e=>"video"===e.getAttribute("data-node-type")&&{id:e.getAttribute("id")||null,url:e.firstChild.getAttribute("src")||null,size:Number(e.getAttribute("data-size"))||50,align:e.getAttribute("data-align")||"center",caption:e.firstChild.getAttribute("alt")||"",loop:!!e.firstChild.getAttribute("loop"),hideLabel:e.getAttribute("data-hide-label")||""}}],toDOM:(e,{isStaticallyRendered:t}={isStaticallyRendered:!1})=>{const a=e.attrs.id+"-figure-caption";return["figure",(n=Lt({},e.attrs.id&&{id:e.attrs.id}),l={"data-node-type":"video","data-size":e.attrs.size,"data-align":e.attrs.align,"data-hide-label":e.attrs.hideLabel},Dt(n,It(l))),["video",{controls:"true",preload:"metadata",src:e.attrs.url,alt:e.attrs.caption,"aria-describedby":a,loop:e.attrs.loop?"":void 0}],["figcaption",{id:a},Object(r.h)(["div",{},Object(o.a)(Object(i.a)(e),e=>["strong",{spellcheck:"false"},e]),Object(s.a)(t,e.attrs.caption,"div")])]];var n,l},inline:!1,group:"block"}},Ft=Object.defineProperty,Ut=Object.getOwnPropertySymbols,Bt=Object.prototype.hasOwnProperty,zt=Object.prototype.propertyIsEnumerable,$t=(e,t,a)=>t in e?Ft(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,_t=(e,t)=>{for(var a in t||(t={}))Bt.call(t,a)&&$t(e,a,t[a]);if(Ut)for(var a of Ut(t))zt.call(t,a)&&$t(e,a,t[a]);return e};const Ht=_t(_t(_t(_t(_t(_t(_t(_t(_t(_t(_t(_t(_t(_t({},w.b),V),A),ne),lt),pe),we),Te),He),St),Rt),O),ht),W),Vt=_t({},w.a);var qt=a(277),Wt=Object.defineProperty,Gt=Object.getOwnPropertySymbols,Yt=Object.prototype.hasOwnProperty,Kt=Object.prototype.propertyIsEnumerable,Jt=(e,t,a)=>t in e?Wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Qt=(e,t)=>{for(var a in t||(t={}))Yt.call(t,a)&&Jt(e,a,t[a]);if(Gt)for(var a of Gt(t))Kt.call(t,a)&&Jt(e,a,t[a]);return e};const Zt=(e={},t={})=>{const a=Object(qt.a)(Qt(Qt({},Ht),e),(e,t)=>Object(l.a)(t,e)),r=Qt(Qt(Qt({},Vt),t),l.b);
1return Object.keys(a).forEach(e=>{a[e]||delete a[e]}),Object.keys(r).forEach(e=>{r[e]||delete r[e]}),new n.Schema({nodes:a,marks:r,topNode:"doc"})},Xt=Zt()},function(e,t,a){"use strict";a.d(t,"b",(function(){return S}));var n=a(12),l=a(48);const r=new n.PluginKey("paste-drop-media");var o=a(0),i=a.n(o),s=a(62),c=a.n(s),u=a(53);const m=(e,t,a)=>l.Decoration.widget(t,()=>(e=>{const t=document.createElement("div");return t.classList.add("paste-placeholder-decoration"),c.a.render(i.a.createElement(u.F,{value:1===e?void 0:e}),t),t})(a),{id:e,key:`${e}-${a}`}),d=(e,t)=>{const[a]=t.find(void 0,void 0,t=>t.id===e);return a||null},p=(e,t)=>{const a=e.getMeta(r);if(a&&"uploadFinish"===a.type){const{src:e,id:n}=a,{decorations:l}=r.getState(t),o=d(n,l);if(o)return{src:e,position:o.to}}return null},b=(e,t,a)=>{const{id:n,start:l}=e;((e,t,a)=>{const{tr:n}=e.state,l={type:"uploadStart",id:t,position:a};n.setMeta(r,l),e.dispatch(n)})(a,n,t),l({onFailure:()=>((e,t)=>{const{tr:a}=e.state,n={type:"uploadFailure",id:t};a.setMeta(r,n),e.dispatch(a)})(a,n),onFinish:e=>((e,t,a)=>{const{tr:n}=e.state,l={type:"uploadFinish",id:t,src:a};n.setMeta(r,l),e.dispatch(n)})(a,n,e),onProgress:e=>((e,t,a)=>{const{tr:n}=e.state,l={type:"uploadProgress",id:t,progress:a};n.setMeta(r,l),e.dispatch(n)})(a,n,e)})},h=e=>(t,a)=>{var n;const{clipboardData:l}=a;if(!l)return!1;if((e=>{var t;const a=null==(t=e.clipboardData)?void 0:t.getData("text/html");return a&&a.includes('xmlns:o="urn:schemas-microsoft-com:office:office')})(a))return!1;const r=t.state.selection,o=null==(n=a.clipboardData)?void 0:n.items,i=((e,t)=>{if(t){const a=Array.from(t);for(let t=0;t<a.length;t++){const n=a[t].getAsFile();if(n){const t=e(n);if(t)return t}}}return null})(e,o||null);return!!i&&(b(i,r.to,t),a.preventDefault(),!0)},g=e=>(t,a)=>{var n,l,r;if(!a.dataTransfer||!a.clientY||!a.clientX)return!1;const o=null==(n=a.dataTransfer)?void 0:n.getData("text/html"),i=null==(r=null==(l=a.dataTransfer)?void 0:l.files)?void 0:r[0],s=(e=>{if(e){const t=document.createElement("div");t.innerHTML=e;const a=t.children[0];if(a&&a instanceof HTMLImageElement&&!a.dataset.pmSlice)return a.src}return null}
1)(o||null),c=t.posAtCoords({top:a.clientY,left:a.clientX});if(c){const n=i||s&&(e=>{var t,a;if(e.startsWith("data:"))return null;const n=e.split(","),l=null==(a=null==(t=n[0])?void 0:t.match(/:(.*?);/))?void 0:a[1],r=atob(n[1]);let o=r.length;const i=new Uint8Array(o);for(;o--;)i[o]=r.charCodeAt(o);return new File([i],Date.now().toString(),{type:l})})(s),l=n&&e(n);if(l)return b(l,c.pos,t),a.preventDefault(),a.stopPropagation(),!0}return!1};var f=a(96),y=a(47);const v=e=>{const t=Date.now().toString();return e.type.startsWith("image/")?{id:t,start:t=>{const{onProgress:a,onFinish:n}=t;Object(f.a)(e,({loaded:e,total:t})=>a(e/t),(e,t,a,l)=>{const r="https://assets.pubpub.org/"+l,o=new Image;o.onload=()=>n(r),o.src=Object(y.b)(r,"inside",800)})}}:null};var E=Object.defineProperty,O=Object.defineProperties,w=Object.getOwnPropertyDescriptors,C=Object.getOwnPropertySymbols,N=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable,k=(e,t,a)=>t in e?E(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;t.a=(e,t)=>{const{mediaUploadHandler:a=v}=t;return!e.nodes.image||t.isReadOnly?[]:new n.Plugin({key:r,state:{init:(e,t)=>({decorations:l.DecorationSet.create(t.doc,[])}),apply:(e,t)=>{const{decorations:a}=t,n=((e,t)=>{const a=e.getMeta(r),n=t.map(e.mapping,e.doc);if(a){if("uploadFinish"===a.type||"uploadFailure"===a.type){const{id:t}=a,l=n.find(0,e.doc.nodeSize,e=>e.id===t);return n.remove(l)}if("uploadStart"===a.type){const{id:t,position:l}=a;return n.add(e.doc,[m(t,l,0)])}if("uploadProgress"===a.type){const{id:l,progress:r}=a,o=d(l,t);if(o){const{to:t}=o,a=m(l,t,r);return n.remove([o]).add(e.doc,[a])}}}return n})(e,a);return((e,t)=>O(e,w(t)))(((e,t)=>{for(var a in t||(t={}))N.call(t,a)&&k(e,a,t[a]);if(C)for(var a of C(t))j.call(t,a)&&k(e,a,t[a]);return e})({},t),{decorations:n})}},props:{handleDOMEvents:{paste:h(a),drop:g(a)},decorations:function(e){let t;if(this instanceof n.Plugin){const a=this.getState(e);a&&(t=a.decorations)}return t}},appendTransaction:(t,a,n)=>{for(let l=0;l<t.length;l++){const r=t[l],o=p(r,a);if(o){const{src:t,position:a}=o;return n.tr.insert(a,e.nodes.image.create({url:t}))}}return null}})};const S=e=>{const t=r.getState(e);return!!t&&t.decorations.find().length>0}},function(e,t,a){"use strict";a.d(t,"a",(function(){return M}));var n=a(0),l=a.n(n),r=a(53),o=a(6),i=a(1),s=a(123),c=a(71);var u=a(275),m=a(119),d=(a(1056),a(4));const p=e=>{const[t,a]=Object(n.useState)(!1);return l.a.createElement("div",null,l.a.createElement(r.c,{icon:"info-sign",onClick:()=>a(!t),title:"Why am I seeing this?",intent:"none",className:`${d.a.MINIMAL} ${d.a.SMALL} ${d.a.TEXT_SMALL}`},"Why am I seeing this?"),l.a.createElement(r.h,{isOpen:t},e.children))};var b=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const h=(e,t)=>{var a;const n=null!=(a=null==t?void 0:t.doiPrefix)?a:"10.21428";return e.replace(n+"/","")};class g extends n.Component{constructor(e){super(e);const[,t]=(e.pubData.doi||"").split("/");this.state={doiSuffix:t,error:!1,justSetDoi:!1,deleting:!1,generating:!1,success:!1,updating:!1,validationIssues:[],validationLoading:!1},this.handleDeposit=this.handleDeposit.bind(this),this.handleUpdateDoiClick=this.handleUpdateDoiClick.bind(this),this.handleGenerateDoiClick=this.handleGenerateDoiClick.bind(this),this.handleDeleteDoiClick=this.handleDeleteDoiClick.bind(this)}componentDidMount(){this.fetchValidationIssues()}fetchValidationIssues(){return b(this,null,(function*(){const{communityData:e,pubData:t}=this.props;this.setState({validationLoading:!0});try{const a=new URLSearchParams({communityId:e.id,pubId:t.id}),n=yield Object(o.a)("/api/doi/validate?"+a.toString());this.setState({validationIssues:n.issues,validationLoading:!1})}catch(e){this.setState({validationLoading:!1})}}))}getDoiPrefix(){var e,t;return null!=(t=null==(e=this.props.depositTarget)?void 0:e.doiPrefix)?t:"10.21428"}getFullDoi(){return`${this.getDoiPrefix()}/${this.state.doiSuffix}`}getHelperText(e){const{success:t,error:a}=this.state;let n="";return e?n="Invalid DOI suffix":a?n="There was a problem updating the DOI suffix":t&&(n="DOI suffix updated succesfully on PubPub. To take effect, the DOI must be submitted to Crossref."),n}getIntent(e){const{success:t,error:a}=this.state;let n="none";return e||a?n="danger":t&&(n="success"),n}findSupplementTo(){const{pubData:e}=this.props;return Object(m.b)(e,[m.a.Supplement])}findParentPubEdge(){const{pubData:e}=this.props,t=Object(m.b)(e,[m.a.Supplement,m.a.Review,m.a.Rejoinder,m.a.Preprint]);return!t||t.externalPublication?null:t}disabledDueToParentWithoutDoi(){const e=this.findParentPubEdge();if(!e)return!1;
1const t=e.pubIsParent?e.pub:e.targetPub;return t&&!t.doi}disabledDueToNoReleases(){const{pubData:e}=this.props;return 0===e.releases.length}disabledDueToUnmanagedPrefix(){return this.props.depositTarget&&!this.props.depositTarget.isPubPubManaged}handleDeposit(e){const{updatePubData:t}=this.props;this.setState({justSetDoi:!0}),t({doi:e})}updateDoi(e,t,a){return b(this,null,(function*(){const{updating:n,deleting:l}=this.state,{communityData:r,pubData:i,updatePubData:s}=this.props;if(!n&&!l){this.setState({[t]:!0,error:!1,success:!1});try{const a=yield Object(o.a)("/api/pubs",{method:"PUT",body:JSON.stringify({doi:e,pubId:i.id,communityId:r.id})});this.setState({[t]:!1,doiSuffix:h(a.doi,this.props.depositTarget),error:!1,success:!0}),s({doi:a.doi})}catch(e){this.setState({[t]:!1,doiSuffix:a,error:!0,success:!1})}}}))}handleDeleteDoiClick(){return b(this,null,(function*(){this.updateDoi("","deleting",this.state.doiSuffix)}))}handleGenerateDoiClick(){return b(this,null,(function*(){const{updating:e,deleting:t,generating:a}=this.state,{communityData:n,pubData:l}=this.props;if(!(e||t||a)){this.setState({generating:!0,error:!1,success:!1});try{const e=new URLSearchParams({target:"pub",communityId:n.id,pubId:l.id}),t=yield Object(o.a)("/api/generateDoi?"+e.toString());this.setState({generating:!1,doiSuffix:h(t.dois.pub,this.props.depositTarget),error:!1,success:!1})}catch(e){this.setState({generating:!1,error:!0,success:!1})}}}))}handleUpdateDoiClick(){return b(this,null,(function*(){const{pubData:e}=this.props,t=this.getFullDoi(),a=h(e.doi||"",this.props.depositTarget);this.updateDoi(t,"updating",a)}))}isDoiEditableWithoutRelations(){const{canIssueDoi:e,pubData:t}=this.props,{justSetDoi:a}=this.state,n=this.getDoiPrefix();return e&&!(a||t.crossrefDepositRecordId)&&this.props.depositTarget&&"10.21428"!==n}isDoiEditable(){return this.isDoiEditableWithoutRelations()&&!this.findSupplementTo()}renderParentEdgeRelation(){const e=this.findParentPubEdge();if(!e)return null;const t=m.d[e.relationType],{article:a,preposition:n,name:r}=t;return l.a.createElement(l.a.Fragment,null,a," ",l.a.createElement("strong",null,r)," ",n)}renderCollectionContextMessage(){const{pubData:e}=this.props,{justSetDoi:t}=this.state;if(t)return null;const a=Object(s.a)(e.collectionPubs);if(a){const e=Object(c.c)(a.kind);return l.a.createElement("p",null,"This Pub will be cited as a member of the ",e.label.singular,","," ",l.a.createElement("b",null,a.title),". You can change this by updating the"," ",l.a.createElement("em",null,"Primary Collection")," of the Pub from the Collections tab.")}return null}renderStatusMessage(){const{pubData:e}=this.props,{justSetDoi:t}=this.state;return t?l.a.createElement(r.e,{intent:"success",title:"Success!"},l.a.createElement("p",null,"Successfully submitted a DOI registration for this Pub."),l.a.createElement("p",null,"Registration may take a few hours to complete in Crossref's system. If DOI URLs do not work immediately, the registration is likely still processing.")):l.a.createElement(l.a.Fragment,null,!e.doi&&l.a.createElement("p",null,"A DOI can be set for each Pub by admins of this Community."),this.disabledDueToUnmanagedPrefix()&&l.a.createElement(r.e,{intent:"warning"},"This Pub cannot be deposited to Crossref via PubPub because there is no Crossref account connected to PubPub for this Community."),e.doi&&!e.crossrefDepositRecordId&&!this.disabledDueToNoReleases()&&!this.disabledDueToUnmanagedPrefix()&&l.a.createElement(r.e,{intent:"warning"},"A DOI has been assigned to this Pub, but it has not yet been deposited to Crossref."),e.crossrefDepositRecordId&&l.a.createElement("p",null,"This Pub has been deposited to Crossref."),this.isDoiEditableWithoutRelations()&&this.findSupplementTo()&&l.a.createElement(r.e,{intent:"warning"},"The DOI for this Pub is not editable because it is a"," ",l.a.createElement("strong",null,"Supplement")," to another Pub."))}renderValidationWarnings(){const{validationIssues:e}=this.state,{pubData:t}=this.props;return e&&0!==e.length?l.a.createElement(l.a.Fragment,null,e.map(e=>{if("internal_not_deposited"===e.type){const t=e.targetCommunitySubdomain?`https://${e.targetCommunitySubdomain}.pubpub.org/dash/pub/${e.targetPubSlug}/settings`:`/dash/pub/${e.targetPubSlug}/settings`;return l.a.createElement(r.e,{key:e.edgeId,intent:"danger"},l.a.createElement("strong",null,l.a.createElement("a",{href:t,target:"_blank",rel:"noopener noreferrer"},e.targetTitle))," ","has DOI ",e.targetDoi," assigned but it does not exist in Crossref. Deposit"," ",l.a.createElement("a",{href:t,target:"_blank",rel:"noopener noreferrer"},e.targetTitle)," ","first, or disconnect it and deposit this Pub first.",l.a.createElement(p,null,e.message))}return"external_doi_not_crossref_registrar"===e.type?l.a.createElement(r.e,{key:e.edgeId,intent:"danger"},e.message,l.a.createElement(p,null,'Peer reviews deposited to Crossref must link to Crossref DOIs. Mark the C
1onnection as something other than "isReviewOf" to deposit this Pub.')):"external_doi_not_in_crossref"===e.type?l.a.createElement(r.e,{key:e.edgeId,intent:"danger"},e.message," Please verify the DOI is correct, or manually add a DOI to the connection in the"," ",l.a.createElement("a",{href:`/dash/pub/${t.slug}/connections`},"Connections tab"),"."):"external_url_no_doi_found"===e.type?l.a.createElement(r.e,{key:e.edgeId,intent:"danger"},e.message," Go to the"," ",l.a.createElement("a",{href:`/dash/pub/${t.slug}/connections`},"Connections tab")," ","to add a DOI."):null})):null}hasBlockingValidationIssues(){const{validationIssues:e}=this.state;return(null==e?void 0:e.length)>0}renderCrossrefDeposit(){const{pubData:e}=this.props,{justSetDoi:t}=this.state;return l.a.createElement(r.n,{helperText:e.doi&&!t&&l.a.createElement(l.a.Fragment,null,"If you've changed aspects of this pub and wish to update its DOI deposit, you can do so here. In the future, PubPub will resubmit such changes automatically."," ",this.isDoiEditable()&&l.a.createElement(l.a.Fragment,null," ","PubPub will automatically assign a DOI if the suffix is left blank. Please note that"," ",l.a.createElement("strong",null,"once submitted, the DOI will no longer be editable.")))},this.disabledDueToParentWithoutDoi()&&l.a.createElement(r.e,{intent:"warning"},"This Pub cannot be deposited to Crossref because it is"," ",this.renderParentEdgeRelation()," its parent Pub, and its parent Pub does not have a DOI."),this.disabledDueToNoReleases()&&l.a.createElement(r.e,{intent:"warning"},"This Pub cannot be deposited to Crossref because it has no published releases."),this.renderValidationWarnings(),l.a.createElement(i.c,{communityData:this.props.communityData,onDeposit:this.handleDeposit,pubData:this.props.pubData,target:"pub",disabled:this.props.depositDisabled||this.disabledDueToParentWithoutDoi()||this.disabledDueToNoReleases()||this.disabledDueToUnmanagedPrefix()||this.hasBlockingValidationIssues()}))}renderContent(){const{canIssueDoi:e}=this.props;return e?l.a.createElement(l.a.Fragment,null,this.renderStatusMessage(),this.renderCollectionContextMessage(),this.renderDoi(),this.renderCrossrefDeposit()):l.a.createElement(l.a.Fragment,null,this.renderStatusMessage(),this.renderDoi())}renderDoi(){const{pubData:e}=this.props,{doiSuffix:t,updating:a,generating:n,deleting:o}=this.state,i=this.getFullDoi(),s=t&&!Object(u.a)(i),c=this.getIntent(s),m=this.getHelperText(s);return this.isDoiEditable()?l.a.createElement(r.n,{helperText:m,intent:c,className:"doi",label:"DOI Suffix"},l.a.createElement(r.r,{placeholder:"Enter a DOI suffix...",value:t,onChange:e=>this.setState({doiSuffix:e.target.value}),leftElement:l.a.createElement("span",{className:"doi-prefix"},this.getDoiPrefix(),"/"),style:{zIndex:0}}),l.a.createElement(r.c,{disabled:!t||s||o||n,text:"Update Suffix",loading:a,onClick:this.handleUpdateDoiClick,intent:"success"}),l.a.createElement(r.c,{disabled:s||o||a,text:"Generate Suffix",loading:n,onClick:this.handleGenerateDoiClick}),l.a.createElement(r.c,{disabled:!e.doi||s||a||n,text:"Delete",loading:o,onClick:this.handleDeleteDoiClick,intent:"danger"})):l.a.createElement(l.a.Fragment,null,e.doi&&l.a.createElement("p",null,"Pub DOI:"," ",l.a.createElement("a",{className:"doi-link",href:"https://doi.org/"+e.doi},e.doi)))}render(){return l.a.createElement("div",{className:"pub-settings-container_doi-component"},this.renderContent())}}var f=g;const y={Book:"Book",BookChapter:"Book Chapter",Journal:"Journal",JournalIssue:"Journal Issue",JournalArticle:"Journal Article",Conference:"Conference",ConferenceProceeding:"Conference Proceeding",ConferencePaper:"Conference Paper",Preprint:"Preprint",Other:"Other"},v=e=>"Part"===e||"Publication"===e,E=e=>v(e.relation);var O=a(34),w=a(381),C=(a(1057),a(224));a(1058);function N(e){const t=`${e.doiPrefix}/${e.doiSuffix}`;let a="",n=C.a.NONE;return e.doiSuffix&&!Object(u.a)(t)&&(a="Invalid DOI",n=C.a.DANGER),!1===e.editable?e.doiSuffix?l.a.createElement("p",null,"DOI:"," ",l.a.createElement("a",{className:"doi-link",href:`https://doi.org/${e.doiPrefix}/${e.doiSuffix}`},e.doiPrefix,"/",e.doiSuffix)):null:l.a.createElement(r.n,{label:"DOI Suffix",intent:n,helperText:a,className:"update-doi"},l.a.createElement(r.r,{placeholder:"Enter a DOI suffix...",value:e.doiSuffix,onChange:t=>e.onUpdate(t.target.value),leftElement:l.a.createElement("span",{className:"doi-prefix"},e.doiPrefix,"/")}),l.a.createElement(r.c,{text:"Update Suffix",loading:e.loading,disabled:!e.doiSuffix,onClick:e.onSave,intent:C.a.SUCCESS}),l.a.createElement(r.c,{text:"Generate Suffix",onClick:e.onGenerate}),l.a.createElement(r.c,{text:"Delete",disabled:!e.doiSuffix,onClick:e.onDelete,intent:C.a.DANGER}))}var j=Object.defineProperty,k=Object.defineProperties,S=Object.getOwnPropertyDescriptors,P=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,T=(e,t,a)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,x=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});function A(e){return e.relationships.some(e=>"Supplement"===e.relation&&e.isParent)}function M(e){var t;const{depositTarget:a,communityData:i}=e,s=null!=i.spamTag&&"confirmed-not-spam"!==i.spamTag.status,[c,u]=Object(n.useState)(),[m,d]=Object(n.useState)(""),[p,b]=Object(n.useState)(!1),[h,g]=Object(n.useState)(!1),v=null==a?void 0:a.doiPrefix,C=()=>x(null,null,(function*(){"pub"in e?yield Object(o.a)(`/api/pubs/${e.pub.id}/resource`,{method:"GET"}).then(e=>{var t;const a=e.identifiers.find(e=>"DOI"===e.identifierKind),n=null!=(t=null==a?void 0:a.identifierValue.split("/")[1])?t:"";u(e),d(n)}):yield Object(o.a)(`/api/collections/${e.collection.id}/resource`,{method:"GET"}).then(e=>{var t;const a=e.identifiers.find(e=>"DOI"===e.identifierKind),n=null!=(t=null==a?void 0:a.identifierValue.split("/")[1])?t:"";u(e),d(n)})})),j=t=>x(null,null,(function*(){if("pub"in e){const a=yield Object(o.a)("/api/pubs",{method:"PUT",body:JSON.stringify({doi:t,pubId:e.pub.id,communityId:e.communityData.id})});e.updatePub(a)}else{const a=yield Object(o.a)("/api/collections",{method:"PUT",body:JSON.stringify({doi:t,id:e.collection.id,communityId:e.communityData.id})});e.updateCollection(a)}yield C()})),M=()=>x(null,null,(function*(){yield j(""),d("")})),L=()=>x(null,null,(function*(){const t=new URLSearchParams({communityId:e.communityData.id});"pub"in e?(t.append("pubId",e.pub.id),t.append("target","pub")):(t.append("collectionId",e.collection.id),t.append("target","collection"));const{dois:n}=yield Object(o.a)("/api/generateDoi?"+t.toString()),l="pub"in e?n.pub:n.collection;d(function(e,t){var a;const n=null!=(a=null==t?void 0:t.doiPrefix)?a:"10.21428";return e.replace(n+"/","")}(l,a))})),R=e=>{d(e)},F=()=>x(null,null,(function*(){const e=`${v}/${m}`;b(!0),yield j(e),b(!1)})),U=()=>{g(!0)};Object(n.useEffect)(()=>{C()},[]);const B=c&&(e=>e.relationships.find(E))(c),z="pub"in e&&0===(null==(t=e.pub.releases)?void 0:t.length),$="pub"in e?e.pub.crossrefDepositRecordId:e.collection.crossrefDepositRecordId;let _;const H=s?l.a.createElement(r.e,{intent:"warning",style:{marginBottom:16}},"DOI deposit is not available until your community has been approved. You may still preview deposits."):null;return"datacite"===(null==a?void 0:a.service)?_=Object(O.b)(v)?l.a.createElement(l.a.Fragment,null,H,"pub"in e&&c&&B&&l.a.createElement("p",null,"This Pub will be cited as a member of the"," ",
1y[B.resource.kind].toLowerCase(),", ",l.a.createElement("b",null,B.resource.title),". You can change this by updating the ",l.a.createElement("em",null,"Primary Collection")," of the Pub from the Collections tab."),z&&l.a.createElement(r.e,{intent:"warning"},"This Pub cannot be deposited because it has no published releases."),c&&A(c)&&l.a.createElement(r.e,{intent:"warning"},"The DOI for this Pub is not editable because it is a"," ",l.a.createElement("strong",null,"Supplement")," to another Pub."),c&&l.a.createElement(N,{doiSuffix:m,doiPrefix:v,editable:!A(c)&&!$&&!h,loading:p,onDelete:M,onGenerate:L,onUpdate:R,onSave:F}),!z&&!p&&l.a.createElement(w.a,((e,t)=>k(e,S(t)))(((e,t)=>{for(var a in t||(t={}))D.call(t,a)&&T(e,a,t[a]);if(P)for(var a of P(t))I.call(t,a)&&T(e,a,t[a]);return e})({},e),{onDepositSuccess:U,canSubmit:!s}))):l.a.createElement(r.e,{intent:"danger"},"Unexpected error: communities that target Datacite must be configured with a custom DOI prefix. Please contact a PubPub administrator."):(Object(O.a)("pub"in e),_=l.a.createElement(l.a.Fragment,null,H,l.a.createElement(f,{canIssueDoi:e.canIssueDoi,communityData:e.communityData,updatePubData:e.updatePub,pubData:e.pub,depositTarget:e.depositTarget,depositDisabled:s}))),l.a.createElement("div",{className:"deposit"},_)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return w})),a.d(t,"b",(function(){return o})),a.d(t,"c",(function(){return u})),a.d(t,"d",(function(){return y})),a.d(t,"e",(function(){return v})),a.d(t,"f",(function(){return O}));var n=a(60);const l=Object(n.e)(["acm-siggraph","american-anthro","apa","apa-7","arcadia-science","cell","chicago","harvard","elife","frontiers","mla","vancouver","ama"]),r=Object(n.e)(["count","authorYear","author","label"]),o=Object(n.g)({name:"CitationStyle",label:"Citation styles",props:{citationStyle:Object(n.j)(l,{rootValue:"apa",label:"Citation style"}),inlineCitationStyle:Object(n.j)(r,{rootValue:"count",label:"Inline citation style"})}});var i=a(110);const s=Object(n.e)(["cc-by","cc-0","cc-by-nc","cc-by-nd","cc-by-nc-nd","cc-by-nc-sa","cc-by-sa","copyright"]),c=Object(n.k)({name:"copyrightSelection",schema:i.z.object({choice:i.z.enum(["infer-from-scope","choose-here"]),year:i.z.nullable(i.z.number())}),postgresType:"jsonb"}),u=Object(n.g)({name:"License",props:{kind:Object(n.j)(s,{label:"License kind",rootValue:"cc-by"}),copyrightSelection:Object(n.j)(c,{label:"Copyright year",rootValue:{choice:"infer-from-scope",year:null}})}}),m=Object(n.k)({name:"nodeLabel",schema:i.z.object({enabled:i.z.boolean(),text:i.z.string()}),postgresType:"jsonb"}),d=Object(n.j)(m,{label:"Images",rootValue:{enabled:!1,text:"Image"}}),p=Object(n.j)(m,{label:"Videos",rootValue:{enabled:!1,text:"Video"}}),b=Object(n.j)(m,{label:"Audio",rootValue:{enabled:!1,text:"Audio"}}),h=Object(n.j)(m,{label:"Tables",rootValue:{enabled:!1,text:"Table"}}),g=Object(n.j)(m,{label:"Math",rootValue:{enabled:!1,text:"Equation"}}),f=Object(n.j)(m,{label:"Iframe",rootValue:{enabled:!1,text:"Iframe"}}),y=Object(n.g)({name:"NodeLabels",label:"Item labels",props:{image:d,video:p,audio:b,table:h,math:g,iframe:f}}),v=Object(n.g)({name:"PubEdgeDisplay",label:"Pub Connections settings",props:{defaultsToCarousel:Object(n.j)(n.c,{rootValue:!0,label:"Appearance in Pub"}),descriptionIsVisible:Object(n.j)(n.c,{rootValue:!0,label:"Show Connection descriptions"})}}),E=Object(n.e)(["dark","light","black-blocks","white-blocks"]),O=Object(n.g)({name:"PubHeaderTheme",label:"Pub header theme",props:{backgroundImage:Object(n.j)(n.l,{label:"Background image",rootValue:null}),backgroundColor:Object(n.j)(n.l,{label:"Background color",rootValue:"community"}),textStyle:Object(n.j)(E,{label:"Text style",rootValue:"light"})}}),w={CitationStyle:o,License:u,NodeLabels:y,PubEdgeDisplay:v,PubHeaderTheme:O};Object.keys(w)},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(2),o=a.n(r),i=a(1);a(1047);const s={attribution:o.a.object.isRequired},c=function(e){const{attribution:t}=e,{user:a}=t,n=a.slug?l.a.createElement("a",{href:"/user/"+a.slug},l.a.createElement(i.e,{initials:a.initials,avatar:a.avatar,width:20})):l.a.createElement(i.e,{initials:a.initials,avatar:a.avatar,width:20}),r=a.slug?l.a.createElement("a",{href:"/user/"+a.slug,className:"hoverline"},a.fullName):l.a.createElement("span",null,a.fullName),o=(t.roles||[]).reduce((e,t)=>
1e?`${e}, ${t}`:t,"");return l.a.createElement("div",{className:"contributors-list-condensed_contributor-component"},l.a.createElement("div",{className:"avatar-wrapper"},n)," ",l.a.createElement("div",{className:"details-wrapper"},l.a.createElement("div",{className:"name"},r)),l.a.createElement("div",{className:"separator"}," • "),!!o&&l.a.createElement("div",{className:"roles pub-header-themed-secondary"},o))};c.propTypes=s;var u=c;const m={attributions:o.a.array.isRequired},d=function(e){const{attributions:t}=e;return l.a.createElement("div",{className:"contributors-list-condensed-component"},t.map(e=>l.a.createElement(u,{attribution:e,key:e.id})))};d.propTypes=m;t.a=d},function(e,t,a){"use strict";a.d(t,"a",(function(){return D}));var n=a(0),l=a.n(n),r=a(53),o=a(6),i=a(34),s=a(4),c=Object.defineProperty,u=Object.defineProperties,m=Object.getOwnPropertyDescriptors,d=Object.getOwnPropertySymbols,p=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,h=(e,t,a)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,g=(e,t)=>{for(var a in t||(t={}))p.call(t,a)&&h(e,a,t[a]);if(d)for(var a of d(t))b.call(t,a)&&h(e,a,t[a]);return e},f=(e,t)=>u(e,m(t));function y(e,t){switch(t.type){case"RESET":return t.payload;case"DESELECT_ALL":return e.map(e=>function e(t,a){var n;return f(g({},a(t)),{childNodes:null==(n=t.childNodes)?void 0:n.map(t=>e(t,a))})}(e,e=>f(g({},e),{isSelected:!1})));case"SET_IS_EXPANDED":{const a=[...e];return r.O.nodeFromPath(t.payload.path,a).isExpanded=t.payload.isExpanded,a}case"SET_IS_SELECTED":{const a=[...e];return r.O.nodeFromPath(t.payload.path,a).isSelected=t.payload.isSelected,a}default:return e}}const v={publisher:"home",publicationYear:"calendar",identifier:"id-number",titles:"font",version:"numerical",alternateIdentifiers:"id-number",contributors:"person",creators:"person",dates:"calendar",subjects:"search",descriptions:"manually-entered-data",formats:"layers",language:"translate"},E=new Set(["dateType","identifierType","alternateIdentifierType","relatedIdentifierType","resourceTypeGeneral","descriptionType","relatedItemType","relationType","nameIdentifierScheme","schemeURI"]),O=new Set(["date"]);function w(e){if("text"===e.type)return{id:`${e.type}:${e.value}`,label:e.value};const t=v[e.name];if(0===e.children.length)return;const a=e.attributes&&Object.entries(e.attributes).filter(([e])=>E.has(e)),n=a&&a.length>0?l.a.createElement(r.N,{className:s.a.TOOLTIP_INDICATOR,content:l.a.createElement("div",{className:"datacite-deposit-attr-tooltip"},a.map(([e,t])=>l.a.createElement(l.a.Fragment,{key:e},l.a.createElement("dt",null,e),l.a.createElement("dd",null,String(t)))))},e.name):e.name,o={id:`${e.type}:${e.name}:${JSON.stringify(a)}`,label:n,icon:t};if(1===e.children.length){if("text"===e.children[0].type){const t=e.children[0];return f(g({},o),{secondaryLabel:O.has(e.name)?new Date(t.value).toString():t.value})}return f(g({},o),{childNodes:e.children.map(w).filter(e=>Boolean(e)),isExpanded:!0})}return f(g({},o),{childNodes:e.children.map(w).filter(e=>Boolean(e))})}function C(e){return{type:"SET_IS_EXPANDED",payload:{path:e,isExpanded:!0}}}function N(e){const{deposit:t}=e,a=Object(n.useMemo)(()=>Object(i.c)(w(t)),[t]),[o,s]=Object(n.useReducer)(y,[a]),c=Object(n.useCallback)((e,t,a)=>{const n=e.isSelected;a.shiftKey||s({type:"DESELECT_ALL"}),s(function(e,t){return{type:"SET_IS_SELECTED",payload:{path:e,isSelected:t}}}(t,null==n||!n))},[]),u=Object(n.useCallback)((e,t)=>{s(function(e){return{type:"SET_IS_EXPANDED",payload:{path:e,isExpanded:!1}}}(t))},[]),m=Object(n.useCallback)((e,t)=>{s(C(t))},[]);return Object(n.useLayoutEffect)(()=>{s(C([0]))},[]),l.a.createElement(r.O,{contents:o,onNodeClick:c,onNodeCollapse:u,onNodeExpand:m})}var j=a(386),k=a(387),S=a(46);a(1051);const P=e=>{Object(i.a)("attributes"in e);const t=Object(i.c)(e.children.find(e=>"attributes"in e&&"resourceType"===e.name));return Object(i.a)("attributes"in t),Object(i.c)(t.attributes.resourceTypeGeneral).replace(/([A-Z])/g," $1").trim()};function D(e){const{onDepositSuccess:t}=e,[a,i]=Object(n.useState)(),[s,c]=Object(n.useState)(),[u,m]=Object(n.useState)(S.a.Initial),d="pub"in e?`/api/pubs/${e.pub.id}/doi`:`/api/collections/${e.collection.id}/doi`,p=Object(n.useCallback)(()=>Object(o.a)(d+"/preview",{method:"POST"}).then(e=>{m(S.a.Previewed),i(e)}).catch(e=>{m(S.a.Initial),c(e.error)}),[d]),b=Object(n.useCallback)(()=>Object(o.a)(""+d,{method:"POST"}).then(e=>{i(e),m(S.a.Deposited),t()}).catch(e=>{m(S.a.Previewed),c(e.error)}),[d,t]),h=Object(n.useCallback)(()=>{switch(u){case S.a.Initial:c(void 0),m(S.a.Previewing),p();break;case S.a.Previewed:c(void 0),m(S.a.Depositing),b()}},[u,p,b]),g="pub"in e?e.pub.crossrefDepositRecord:e.collection.crossrefDepositRecord,f="pub"in e?e.pub
1:void 0;return Object(n.useEffect)(()=>{var e,t;f&&(null!=(t=null==(e=f.releases)?void 0:e.length)?t:0)>0&&p()},[f,p]),l.a.createElement("div",{className:"datacite-deposit"},a&&l.a.createElement(j.a,{depositTypeTitle:P(a),depositTargetServiceName:"Datacite"}),a&&l.a.createElement(N,{deposit:a}),s&&l.a.createElement(r.e,{intent:"danger",title:"Deposit Error"},l.a.createElement("p",null,s)),l.a.createElement(k.a,{onClick:h,status:u,depositRecord:g,disabled:u===S.a.Previewing||u===S.a.Depositing||u===S.a.Deposited||!1===e.canSubmit&&u===S.a.Previewed}))}},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(47);a(163);const o=e=>{const t=["#b33939","#cd6133","#474787","#227093","#218c74"];return e?t[e.charCodeAt(e.length-1)%5]:t[0]};a(1160);t.a=e=>{const t=e.pageData,a=Object(r.b)(t.avatar,"inside",600),n=t.avatar?{backgroundImage:`url("${a}")`}:{background:o(t.title)};return l.a.createElement("a",{className:"page-preview-component",style:n,href:"/"+t.slug},t.avatar&&l.a.createElement("div",{className:"dim"}),l.a.createElement("span",null,t.title))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(0),l=a.n(n),r=a(423),o=a(6),i=a(1),s=a(25);a(1214);var c=e=>{const{userId:t,currentStatus:a=null,onStatusChanged:c,small:u=!0}=e,[m,d]=Object(n.useState)(!1),p=Object(n.useCallback)(e=>{return a=null,n=null,l=function*(){d(!0);try{"remove"===e?yield o.a.delete("/api/spamTags/user",{userId:t}):yield o.a.put("/api/spamTags/user",{status:e,userId:t}),null==c||c("remove"===e?null:e)}finally{d(!1)}},new Promise((e,t)=>{var r=e=>{try{i(l.next(e))}catch(e){t(e)}},o=e=>{try{i(l.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((l=l.apply(a,n)).next())});var a,n,l},[t,c]);return l.a.createElement(s.b,{"aria-label":"Spam actions",buttonContent:"Spam",className:"spam-menu",buttonProps:{icon:l.a.createElement(i.O,{icon:"shield",iconSize:u?12:14}),minimal:!0,small:u,loading:m,className:"spam-button"}},l.a.createElement(r.a,{userId:t,status:a,handleAction:p}))}},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(265),o=a(1),i=a(318),s=a(71),c=a(124),u=a(30),m=a(37),d=a(200);a(1159);const p=e=>{const{collection:t,content:{hiddenMetadataFields:a=[]}}=e,{metadata:n,kind:r}=t;if(!n||"tag"===r)return null;const o=["doi","url"],s=Object(i.b)(t).filter(e=>!o.includes(e.name));return l.a.createElement(l.a.Fragment,null,s.map(e=>{const t=e.name,r=n[t],o=!a.includes(t)&&r&&Object(i.a)(t,r);return o?l.a.createElement("div",{key:t},o):null}))};t.a=e=>{const{collection:t,content:{hideByline:a,hideContributors:n,hideCollectionKind:i,hideDate:b,hiddenMetadataFields:h=[]},content:g}=e,f=Object(c.a)(t),y=f.filter(e=>e.isAuthor),v=Object(s.c)(t.kind),E=(e=>e.doi?e.doi:e.metadata&&e.metadata.doi)(t),O=[!i&&l.a.createElement("div",{className:"collection-kind",key:0},l.a.createElement(o.O,{icon:v.bpDisplayIcon}),Object(m.b)(v.label.singular)),!b&&l.a.createElement("div",{key:1},"Created ",Object(u.b)(t.createdAt)),E&&!(null==h?void 0:h.includes("doi"))&&l.a.createElement(o.j,{className:"click-to-copy",copyString:"https://doi.org/"+E,beforeCopyPrompt:"Copy doi.org link",icon:null,small:!0,key:2},e=>l.a.createElement(r.a,{as:"a",onClick:e},E)),l.a.createElement(p,{collection:t,content:g,key:3})].filter(e=>e);return l.a.createElement("div",{className:"layout-collection-header-component"},l.a.createElement(o.L,{columnClassName:"inner"},l.a.createElement("h1",null,t.title),y&&!a&&l.a.createElement(d.a,{contributors:y,renderSuffix:()=>!n&&f.length>0&&l.a.createElement(o.q,{attributions:f,truncateAt:8})}),O.length>0&&l.a.createElement("div",{className:"details-row"},O)))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),l=a.n(n),r=a(53);function o(e){const{depositTargetServiceName:t,depositTypeTitle:a}=e;return l.a.createElement(r.e,{intent:"primary",title:"Preview Deposit"},"This work is being deposited as a ",l.a.createElement("strong",null,null!=a?a:"..."),' based on its Connections, Primary Collection, or selected Content Version. Review the information below, then click the "Submit Deposit" button to submit the deposit to'," ",t.charAt(0).toUpperCase()+t.slice(1),".")}},function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(0),l=a.n(n),r=a(53),o=a(79),i=a(46);const s={[i.a.Initial]:"Preview Deposit",[i.a.Previewing]:"Generating Preview",[i.a.Previewed]:"Submit Deposit",[i.a.Depositing]:"Depositing",[i.a.Deposited]:"DOI Deposited"};function c(e){return l.a.createElement(o.a,{error:e.error},l.a.createElement(r.c,{disabled:e.disabled||!e.onClick,text:(t=e.status,a=e.depositRecord,t===i.a.Initial&&a?"Preview & Update Deposit":t===i.a.Previewed&&a?"Re-Submit Deposit":s[t]),loading:e.status===i.a.Previewing||e.status===i.a.Depositing,onClick:e.onClick,icon:e.status===i.a.Deposited&&"tick"}));var t,a}},,,,,,,,function(e,t,a){"use strict";a.d(t,"b",(function(){return o}
1));var n=a(12),l=a(772),r=a(55);const o=new n.PluginKey("references"),i=e=>e.toLowerCase().replace(/\s+/g,"");t.a=(e,t)=>{const{nodeLabels:a,suggestionManager:s}=t;const c={char:"@",name:"reference-suggestion",keyBindings:{ArrowUp:()=>(s.previous(),!0),ArrowDown:()=>(s.next(),!0),Enter:()=>(s.select(),!0),Esc:()=>(s.close(),!0)},onChange:e=>{s.load(function(e,t){const n=Object(r.r)(e.state,a);return""===t?n:n.filter(e=>{const n=Object(r.a)(e.node,Object(r.p)(e.node,a));return null!==n&&i(n).indexOf(i(t))>-1})}(e.view,e.queryText.partial),e)},onExit:()=>{s.close()},createCommand:({match:e,view:t})=>a=>{const n=t.state.tr,{from:l,end:r}=e.range,o=t.state.schema.nodes.reference.create({targetId:a.node.attrs.id});n.replaceWith(l,r,o),t.dispatch(n)}};return[Object(l.a)(c),(e=>new n.Plugin({key:o,state:{init:()=>({nodeLabels:e.nodeLabels}),apply:(e,t)=>t}}))(t)]}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=e=>{const{count:t,citation:a,customLabel:n}=e.attrs;return n||(a&&a.inline?a.inline:`[${t}]`)}},,function(e,t,a){"use strict";a.d(t,"b",(function(){return d}));var n=a(12),l=a(55),r=Object.defineProperty,o=Object.defineProperties,i=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,m=(e,t,a)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const d=new n.PluginKey("ids"),p=e=>((e,t)=>o(e,i(t)))(((e,t)=>{for(var a in t||(t={}))c.call(t,a)&&m(e,a,t[a]);if(s)for(var a of s(t))u.call(t,a)&&m(e,a,t[a]);return e})({},e.attrs),{id:"n"+Object(l.h)(10)}),b=(e,t=[])=>{const a=e.tr;let n=!1;const l=new Set,r={};return e.doc.descendants((e,o)=>{const i=e.type.spec.attrs&&e.type.spec.attrs.id;if("heading"!==e.type.name)if(e.attrs.id){const i=l.has(e.attrs.id);if(((e,t)=>t.some(t=>{const[a]=t.steps;
1if(a&&(e=>"from"in e&&"slice"in e)(a)&&t.getMeta("paste")){const t=a.from,n=a.from+a.slice.content.size;return e>=t&&e<n}return!1}))(o,t))i?(n=!0,a.setNodeMarkup(o,e.type,p(e),e.marks)):r[e.attrs.id]={offset:o,type:e.type,attrs:p(e)};else if(i)n=!0,a.setNodeMarkup(o,e.type,p(e),e.marks);else if(l.add(e.attrs.id),r[e.attrs.id]){const t=r[e.attrs.id];n=!0,a.setNodeMarkup(t.offset,t.type,t.attrs,e.marks)}}else i&&(n=!0,a.setNodeMarkup(o,e.type,p(e),e.marks))}),a.setMeta(d,!0),n?a:null};t.a=(e,t)=>t.isReadOnly?[]:new n.Plugin({key:d,view:e=>{const t=b(e.state);return t&&e.dispatch(t),{}},appendTransaction:(e,t,a)=>b(a,e)})},,function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(8),o=a.n(r),i=a(25),s=a(281),c=Object.defineProperty,u=Object.defineProperties,m=Object.getOwnPropertyDescriptors,d=Object.getOwnPropertySymbols,p=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,h=(e,t,a)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const g=l.a.forwardRef((e,t)=>{const a=e,{editorChangeObject:{view:n},className:r="",commands:c,disclosure:g,markActiveItems:f=!0}=a,y=((e,t)=>{var a={};for(var n in e)p.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&d)for(var n of d(e))t.indexOf(n)<0&&b.call(e,n)&&(a[n]=e[n]);return a})(a,["editorChangeObject","className","commands","disclosure","markActiveItems"]),v=Object(s.a)({commands:c,view:n,state:null==n?void 0:n.state}),E=e=>{const{title:t,icon:a,key:r}=e,o=v[r];return l.a.createElement(i.d,{key:r,active:f&&(null==o?void 0:o.isActive),disabled:!(null==o?void 0:o.canRun),text:t,icon:null!=a?a:(null==o?void 0:o.isActive)?"tick":"blank",onClick:()=>{null==o||o.run(),n.focus()}})},O=e=>{const{key:t,title:a,icon:n}=e;return"commands"in e?l.a.createElement(i.d,{text:a,key:t,icon:n},e.commands.map(e=>E(e))):E(e)};return l.a.createElement(i.a,((e,t)=>u(e,m(t)))(((e,t)=>{for(var a in t||(t={}))p.call(t,a)&&h(e,a,t[a]);if(d)for(var a of d(t))b.call(t,a)&&h(e,a,t[a]);return e})({ref:t},y),{disclosure:e=>g({commands:c,commandStates:v,disclosureElementProps:e}),menuStyle:{zIndex:20},className:o()("command-menu-component",r)}),c.map((e,t)=>l.a.createElement(l.a.Fragment,{key:`${e.join("-")}-${t}`},t>0&&l.a.createElement(i.e,null),e.map(O))))});t.a=g},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(4),o=a(53),i=a(80),s=a(8),c=a.n(s),u=a(265),m=a(1),d=Object.defineProperty,p=Object.defineProperties,b=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,f=Object.prototype.propertyIsEnumerable,y=(e,t,a)=>t in e?d(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const v=(e,t,a)=>t&&!a?{color:"white",background:e}:{},E=(e,t,a)=>t&&a?{background:e}:{},O=e=>({background:e}),w={preventOverflow:{enabled:!1},flip:{enabled:!1}},C=l.a.forwardRef((e,t)=>{const a=e,{disabled:n=!1,formattingItem:s,isActive:d=!1,isIndicated:C=!1,isDetached:N=!1,isOpen:j=!1,isSmall:k=!1,label:S=null,onClick:P,accentColor:D="white",outerRef:I,popoverContent:T}=a,x=((e,t)=>{var a={};for(var n in e)g.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&h)for(var n of h(e))t.indexOf(n)<0&&f.call(e,n)&&(a[n]=e[n]);return a})(a,["disabled","formattingItem","isActive","isIndicated","isDetached","isOpen","isSmall","label","onClick","accentColor","outerRef","popoverContent"]);let A=l.a.createElement(u.a,((e,t)=>p(e,b(t)))(((e,t)=>{for(var a in t||(t={}))g.call(t,a)&&y(e,a,t[a]);if(h)for(var a of h(t))f.call(t,a)&&y(e,a,t[a]);return e})({ref:t},x),{role:"button",disabled:n,focusable:!0,title:s.title,"aria-label":s.ariaTitle||s.title,"aria-pressed":s.isToggle?d:void 0,className:c()(r.a.BUTTON,r.a.MINIMAL,!j&&!C&&d&&r.a.ACTIVE,k&&r.a.SMALL,!j&&!C&&n&&r.a.DISABLED),style:E(D,j,N),onClick:()=>P(s)}),l.a.createElement(m.O,{icon:s.icon,iconSize:k?12:16}),S);return T&&(A=l.a.createElement(o.z,{content:T,interactionKind:o.A.HOVER,modifiers:w,openOnTargetFocus:!0,minimal:!0,position:i.a.BOTTOM},A)),l.a.createElement("span",{ref:I,className:c()("formatting-bar-button",j&&"open",N&&"detached",!!S&&"has-label"),style:v(D,j,N)},A,C&&l.a.createElement("div",{className:"indicator",style:O(D)}))});t.a=C},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return f}));var n=a(0),l=a(6),r=a(7),o=a(90),i=a(26),s=Object.defineProperty,c=Object.defineProperties,u=Object.getOwnPropertyDescriptors,m=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,b=(e,t,a)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,h=(e,t)=>{for(var a in t||(t={}))d.call(t,a)&&b(e,a,t[a]);if(m)for(var a of m(t))p.call(t,a)&&b(e,a,t[a]);return e},g=(e,t)=>c(e,u(t));const f=e=>{var t,a;const[s,c]=Object(n.useState)(Object(o.b)(null!=(t=null==e?void 0:e.outboundEdges)?t:[])),[u,m]=Object(n.useState)(Object(o.b)(null!=(a=null==e?void 0:e.inboundEdges)?a:[])),{pendingPromise:d}=Object(r.d)(),{updatePubData:p}=Object(i.a)(),b=e=>{c(e),p({outboundEdges:e})};return{outboundEdges:s,inboundEdges:u,addCreatedOutboundEdge:e=>{b(Object(o.b)([...s,e]))},reorderOutboundEdges:(e,t)=>{const a=[...s],[n]=a.splice(e,1),r=Object(o.a)(a,t),i=g(h({},n),{rank:r});a.splice(t,0,i),d(l.a.put("/api/pubEdges",{pubEdgeId:i.id,rank:r})),b(a)},updateOutboundEdge:e=>{const t=s.findIndex(t=>t.id===e.id),a=[...s];a[t]=e,b(a)},removeOutboundEdge:e=>{d(l.a.delete("/api/pubEdges",{pubEdgeId:e.id})),b(s.filter(t=>t.id!==e.id))},updateInboundEdgeApproval:(e,t)=>{m(u.map(a=>a.id===e.id?g(h({},a),{approvedByTarget:t}):a)),d(l.a.put("/api/pubEdges/approvedByTarget",{pubEdgeId:e.id,approvedByTarget:t}))}}}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=Object.defineProperty,l=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,i=(e,t,a)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,s=(e,t)=>{for(var a in t||(t={}))r.call(t,a)&&i(e,a,t[a]);if(l)for(var a of l(t))o.call(t,a)&&i(e,a,t[a]);return e};const c=()=>s(s({expires:365e3},window.location.host.includes("pubpub.org")&&{domain:".pubpub.org"}),window.location.host.includes("duqduq.org")&&{domain:".duqduq.org"})},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(154),l=a.n(n);a(198);const r=(e,t)=>!t||l()(t.toLowerCase(),e.title.toLowerCase())},function(e,t,a){"use strict";a.d(t,"a",(function(){return h}));var n=a(0),l=a(294),r=a(7),o=Object.defineProperty,i=Object.defineProperties,s=Object.getOwnPropertyDescriptors,c=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,d=(e,t,a)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,p=(e,t)=>{for(var a in t||(t={}))u.call(t,a)&&d(e,a,t[a]);if(c)for(var a of c(t))m.call(t,a)&&d(e,a,t[a]);return e};const b=({members:e,updateMembers:t})=>{const{scopeData:a}=Object(r.c)(),{pendingPromise:n}=Object(r.d)(),o=a.elements.activeIds;return{addMember:a=>n(l.a({scopeIds:o,user:a})).then(a=>t([a,...e])),updateMember:(a,r)=>(t(e.map(e=>e.id===a.id?p(p({},e),r):e)),n(l.c({member:a,update:r,scopeIds:o})).catch(()=>{t(e.map(e=>e.id===a.id?a:e))})),removeMember:a=>
1{return r=null,i=null,s=function*(){const r=[...e];return t(e.filter(e=>e.id!==a.id)),n(l.b({member:a,scopeIds:o})).catch(()=>t(r))},new Promise((e,t)=>{var a=e=>{try{l(s.next(e))}catch(e){t(e)}},n=e=>{try{l(s.throw(e))}catch(e){t(e)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,n);l((s=s.apply(r,i)).next())});var r,i,s},membersByType:{pub:e.filter(e=>e.pubId),collection:e.filter(e=>e.collectionId),community:e.filter(e=>e.communityId)}}},h=({initialMembers:e})=>{const[t,a]=Object(n.useState)(e),l=b({members:t,updateMembers:a});return r=p({},l),i(r,s({members:t}));var r}},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(4),o=a(53),i=a(8),s=a.n(i),c=a(1);a(1223);const u=[{value:0,label:"Immediately when they appear"},{value:15,label:"No more than once every 15 minutes"},{value:60,label:"No more than once an hour"},{value:240,label:"No more than once every 4 hours"},{value:480,label:"No more than once every 8 hours"}],m=[{value:"seen",label:"When seen"},{value:"clicked-through",label:"When clicked through"},{value:"manual",label:"Manually"}];t.a=e=>{const{preferences:t,onUpdatePreferences:a,onClose:n}=e,{receiveNotifications:i,receiveDiscussionThreadEmails:d,subscribeToThreadsAsCommenter:p,subscribeToPubsAsMember:b,subscribeToPubsAsContributor:h,notificationCadence:g,markReadTrigger:f}=t,y=e=>{a({[e]:!t[e]})};return l.a.createElement("div",{className:s()("user-notification-preferences-component",e.minimal&&"minimal")},!e.minimal&&l.a.createElement("h4",{className:r.a.HEADING},"Notification preferences"),l.a.createElement("p",null,l.a.createElement(o.G,{label:"Receive notifications from PubPub",checked:i,onChange:()=>y("receiveNotifications")}),l.a.createElement(o.G,{label:"Receive discussion thread emails from PubPub",checked:d,onChange:()=>y("receiveDiscussionThreadEmails")})),l.a.createElement(o.n,{label:"Automatically subscribe me to...",disabled:!i},l.a.createElement(o.G,{disabled:!i,label:"Threads that I comment in",checked:p,onChange:()=>y("subscribeToThreadsAsCommenter")}),l.a.createElement(o.G,{disabled:!i,label:"Pubs that I am added to as a Member",checked:b,onChange:()=>y("subscribeToPubsAsMember")}),l.a.createElement(o.G,{disabled:!i,label:"Pubs that I am added to as a contributor",checked:h,onChange:()=>y("subscribeToPubsAsContributor")})),l.a.createElement(o.n,{label:"Show new notifications...",disabled:!i},l.a.createElement(c.cb,{disabled:!i,"aria-label":"Select notification cadence",items:u,value:g,onSelectValue:e=>a({notificationCadence:e})})),l.a.createElement(o.n,{label:"Mark notifications read...",disabled:!i},l.a.createElement(c.cb,{disabled:!i,"aria-label":"Select when notifications should be marked read",items:m,value:f,onSelectValue:e=>a({markReadTrigger:e})})),!e.minimal&&l.a.createElement(o.c,{icon:"tick",intent:"primary",onClick:n},"Done"))}},,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return ue}));var n=a(0),l=a.n(n),r=a(22);const o=e=>(t,a)=>{const{associations:{[e]:{[t]:n}}}=a;return n||null},i=o("community"),s=o("collection"),c=o("pub"),u=o("pubEdge"),m=o("review"),d=o("user"),p=(e,t)=>{if("collectionId"in t.scope&&t.scope.collectionId===e.collectionId)return{title:"this Collection"};const a=s(e.collectionId,t);return a?{prefix:"the Collection",title:a.title,href:Object(r.a)({collectionSlug:a.slug})}:"collection"in e.payload?{prefix:"the Collection",title:e.payload.collection.title}:{prefix:"the Collection",title:"an unknown Collection"}};var b=a(18);const h=(e,t)=>{if(!("pubId"in t.scope)&&!("collectionId"in t.scope)&&t.scope.communityId===e.communityId)return{title:"this Community"};const a=i(e.communityId,t);return a?{prefix:"the Community",title:a.title,href:Object(b.d)(a)}:"community"in e.payload?{prefix:"the Community",title:e.payload.community.title}:{title:"an unknown Community"}};var g=a(87);const f=(e,t)=>{const a=t.associations.page[e.payload.page.id];return a?{prefix:"the Page",title:a.title,href:Object(r.a)({mode:"pages",subMode:a.slug})}:"page"in e.payload?{prefix:"the Page",title:e.payload.page.title}:{title:"an unknown Page"}};var y=a(1);const v=(e,t)=>
1{if("pubId"in t.scope&&e.pubId===t.scope.pubId)return{title:"this Pub"};const a=c(e.pubId,t);return a?{prefix:"the Pub",title:l.a.createElement(y.Eb,{pubData:a}),href:Object(r.a)({pubSlug:a.slug})}:"pub"in e.payload?{prefix:"the Pub",title:e.payload.pub.title}:{title:"an unknown Pub"}};var E=a(83);const O=e=>{const{target:t}=e.payload;if("pub"in t){const{pub:e}=t;return{title:e.title,href:Object(b.f)(e)}}const{externalPublication:a}=t;return{title:a.title,href:a.url}},w=(e,t)=>{const a=u(e.payload.pubEdgeId,t),n=c(e.pubId,t);if(a&&n){const{relationType:e}=a,t=E.f[e];if(t){const{article:e,name:a}=t;return{title:`${e} ${a.toLowerCase()} Connection`,href:Object(r.a)({pubSlug:n.slug,mode:"connections"})}}}return{title:"a Connection"}},C=(e,t)=>{const a=c(e.pubId,t),n=m(e.payload.review.id,t),l=a&&n?Object(r.a)({pubSlug:a.slug,mode:"reviews",subMode:String(n.number)}):null;return{prefix:"the Review",title:(null==n?void 0:n.title)||e.payload.review.title,href:l}};var N=Object.defineProperty,j=Object.defineProperties,k=Object.getOwnPropertyDescriptors,S=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,I=(e,t,a)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,T=(e,t)=>{for(var a in t||(t={}))P.call(t,a)&&I(e,a,t[a]);if(S)for(var a of S(t))D.call(t,a)&&I(e,a,t[a]);return e},x=(e,t)=>j(e,k(t));const A=(e,t)=>{const{pubId:a,collectionId:n,communityId:l}=e;return"string"==typeof a?v(x(T({},e),{pubId:a}),t):"string"==typeof n?p(x(T({},e),{collectionId:n}),t):h(x(T({},e),{communityId:l}),t)};var M=a(37),L=Object.defineProperty,R=Object.defineProperties,F=Object.getOwnPropertyDescriptors,U=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,$=(e,t,a)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const _=(e,t,a)=>{if(e){if(e===t.userId)return{title:"you"};const a=d(e,t);if(a)return{title:a.fullName,href:"/user/"+a.slug}}return{title:a}},H=(e,t)=>{const{otherActorsCount:a}=t,n=_(e.actorId,t,"someone");if(a){const e=Object(M.e)("other",a);return((e,t)=>R(e,F(t)))(((e,t)=>{for(var a in t||(t={}))B.call(t,a)&&$(e,a,t[a]);if(U)for(var a of U(t))z.call(t,a)&&$(e,a,t[a]);return e})({},n),{suffix:`and ${a} ${e}`})}return n},V=(e,t)=>_(e.payload.userId,t,"unknown user"),q=(e,t)=>{const{title:a,href:n,prefix:r,suffix:o}=e,i=Object.values(t.associations.community)[0],s=n&&(!n.startsWith("http")&&i?`${Object(b.d)(Object.values(t.associations.community)[0])}/${n.replace(/^\//,"")}`:n),c=s?l.a.createElement("a",{href:s,target:(u=n,u.startsWith("/")?void 0:"_blank"),rel:"noreferrer"},a):a;var u;return l.a.createElement(l.a.Fragment,null,r?r+" ":null,l.a.createElement("strong",null,c),o?" "+o:null)},W=e=>{const{icon:t,titleRenderers:a,message:n,excerpt:l}=e;return(e,r)=>{const{communityId:o,collectionId:i,pubId:s}=e,c=((e,t,a)=>{const n={actor:q(H(e,a),a)};return Object.keys(t).forEach(l=>{const r=(0,t[l])(e,a);n[l]=q(r,a)}),n})(e,a,r),{id:u,timestamp:m}=e;return{id:u,icon:"function"==typeof t?t({context:r}):t,actor:e.actorId?r.associations.user[e.actorId]:null,context:r,timestamp:new Date(m),message:n({item:e,titles:c,context:r}),excerpt:null==l?void 0:l({item:e,context:r}),scope:{communityId:o,collectionId:i,pubId:s}}}},G=W({icon:"collection",titleRenderers:{collection:p},message:({titles:e})=>{const{actor:t,collection:a}=e;return l.a.createElement(l.a.Fragment,null,t," created ",a)}}),Y=W({icon:"collection",titleRenderers:{collection:p},message:({titles:e,item:t})=>{const{payload:a}=t,{actor:n,collection:r}=e;if(a.title)return l.a.createElement(l.a.Fragment,null,n," changed the title of ",r," from ",l.a.createElement("i",null,a.title.from)," to"," ",l.a.createElement("i",null,a.title.to));if(a.slug)return l.a.createElement(l.a.Fragment,null,n," changed the slug of ",r," from ",a.slug.from," to"," ",a.slug.to);if(a.layout)return l.a.createElement(l.a.Fragment,null,n," updated the layout of ",r);if(a.doi)return l.a.createElement(l.a.Fragment,null,n," set the DOI of ",r," to ",a.doi.to);if(a.metadata)return l.a.createElement(l.a.Fragment,null,n," updated the metadata for ",r);if(a.isRestricted){return a.isRestricted.to?l.a.createElement(l.a.Fragment,null,n," made ",r," restricted"):l.a.createElement(l.a.Fragment,null,n," made ",r," open")}if(a.isPublic){return a.isPublic.to?l.a.createElement(l.a.Fragment,null,n," made ",r," public"):l.a.createElement(l.a.Fragment,null,n," made ",r," private")}return l.a.createElement(l.a.Fragment,null,n," updated the settings for ",r)}}),K=W({icon:"collection",titleRenderers:{collection:p},message:({titles:e})=>{const{actor:t,collection:a}=e;return l.a.createElement(l.a.Fragment,null,t," removed ",a)}}),J=W({icon:({context:e})=>"collectionId"in e.scope?"pubDoc":"collection",titleRenderers:{collection:p,pub:v},message:({titles:e})=>{const{actor:t,pub:a,collection:n}=e;return l.a.createElement(l.a.Fragment,null,t," added ",a," to ",n)}}),Q=W({icon:({context:e})=>"collectionId"in e.scope?"pubDoc":"collection",titleRenderers:{collection:p,pub:v},message:({titles:e})=>{const{actor:t,pub:a,collection:n}=e;return l.a.createElement(l.a.Fragment,null,t," removed ",a," from ",n)}}),Z=W({icon:"office",titleRenderers:{community:h},message:({titles:e})=>{const{actor:t,community:a}=e;return l.a.createElement(l.a.Fragment,null,t," created ",a)}}),X=W({icon:"office",titleRenderers:{community:h},message:({titles:e,item:t})=>{const{payload:a}=t,{actor:n,community:r}=e;if(a.subdomain){const{from:e,to:t}=a.subdomain;return l.a.createElement(l.a.Fragment,null,n," changed the subdomain of ",r," from ",e," to ",t)}if(a.title){const{from:e,to:t}=a.title;return l.a.createElement(l.a.Fragment,null,n," changed the title of ",r," from ",l.a.createElement("i",null,e)," to ",l.a.createElement("i",null,t))}return l.a.createElement(l.a.Fragment,null,n," updated the settings for ",r)}});var ee=a(104);const te=W({icon:({context:e})=>"pubId"in e.scope?ee.a.pub:"collectionId"in e.scope?ee.a.collection:ee.a.community,titleRenderers:{scope:A,facet:e=>{var t;const{payload:{facetName:a}}=e,n=g.ALL_FACET_DEFINITIONS[a];return{title:null!=(t=null==n?void 0:n.label)?t:a}}},message:({titles:e})=>{const{actor:t,scope:a,facet:n}=e;return l.a.createElement(l.a.Fragment,null,t," updated the ",n," for ",a)}}),ae=W({icon:"people",titleRenderers:{member:V,scope:A},message:({item:e,titles:t})=>{const{actor:a,member:n,scope:r}=t,{permissions:o}=e.payload;return l.a.createElement(l.a.Fragment,null,a," added ",n," as a member of ",r," with ",l.a.createElement("i",null,o)," permissions")}}),ne=W({icon:"people",titleRenderers:{member:V,scope:A},message:({item:e,titles:t})=>{const{actor:a,member:n,scope:r}=t,{permissions:o}=e.payload;return o?l.a.createElement(l.a.Fragment,null,a," changed the membership permissions of ",n," in ",r," from"," ",l.a.createElement("i",null,o.from)," to ",l.a.createElement("i",null,o.to)):l.a.
1createElement(l.a.Fragment,null,a," changed the membership permissions of ",n," in ",r)}}),le=W({icon:"people",titleRenderers:{member:V,scope:A},message:({titles:e})=>{const{actor:t,member:a,scope:n}=e;return l.a.createElement(l.a.Fragment,null,t," removed ",a," as a member from ",n)}});var re=a(273);const oe=(e,t)=>{const a=e.payload.userId;if(!a)return{title:"unknown user"};const n=t.associations.user[a];return n?{title:n.fullName,href:"/user/"+n.slug}:{title:"unknown user"}},ie=W({icon:"flag",titleRenderers:{bannedUser:oe,community:h},message:({titles:e})=>{const{actor:t,bannedUser:a,community:n}=e;return l.a.createElement(l.a.Fragment,null,t," banned ",a," from ",n)},excerpt:e=>{const{item:t}=e,{reason:a,sourcePubId:n}=t.payload,o=[];if(a&&o.push(l.a.createElement("span",{key:"reason"},"Reason: ",l.a.createElement("strong",null,Object(re.a)(a)))),n){const t=c(n,e.context);t&&o.push(l.a.createElement("span",{key:"pub"}," ","· Source:"," ",l.a.createElement("a",{href:Object(r.a)({pubSlug:t.slug})},l.a.createElement("em",null,t.title))))}return 0===o.length?null:l.a.createElement("span",null,o)}}),se=W({icon:"flag",titleRenderers:{bannedUser:oe,community:h},message:({titles:e})=>{const{actor:t,bannedUser:a,community:n}=e;return l.a.createElement(l.a.Fragment,null,t," unbanned ",a," from ",n)}}),ce={"community-created":Z,"community-updated":X,"collection-created":G,"collection-updated":Y,"collection-removed":K,"collection-pub-created":J,"collection-pub-removed":Q,"facet-instance-updated":te,"page-created":W({icon:"page-layout",titleRenderers:{page:f},message:({titles:e})=>{const{actor:t,page:a}=e;return l.a.createElement(l.a.Fragment,null,t," created ",a)}}),"page-updated":W({icon:"page-layout",titleRenderers:{page:f},message:({titles:e,item:t})=>{const{payload:a}=t,{actor:n,page:r}=e,o=[];if(a.title){const{title:e}=a;o.push(t=>l.a.createElement(l.a.Fragment,null,"changed the title of ",t," from ",e.from," to ",e.to))}if(a.slug){const{slug:e}=a;o.push(t=>l.a.createElement(l.a.Fragment,null,"changed the slug of ",t," from ",e.from," to ",e.to))}if(a.layout&&o.push(e=>l.a.createElement(l.a.Fragment,null,"updated the layout of ",e)),a.isPublic){const e=a.isPublic.to;o.push(t=>{const a=e?"public":"private";return l.a.createElement(l.a.Fragment,null,"made ",t," ",a)})}if(o.length>1)return l.a.createElement(l.a.Fragment,null,n," made the following changes to ",r,":",l.a.createElement("ul",null,o.map((e,t)=>l.a.createElement("li",{key:t},e("the Page")))));if(1===o.length){const[e]=o;return l.a.createElement(l.a.Fragment,null,n," ",e(r))}return l.a.createElement(l.a.Fragment,null,n," updated the settings for ",r)}}),"page-removed":W({icon:"page-layout",titleRenderers:{page:f},message:({titles:e})=>{const{actor:t,page:a}=e;return l.a.createElement(l.a.Fragment,null,t," removed ",a)}}),"pub-created":W({icon:"pubDoc",titleRenderers:{pub:v},message:({titles:e})=>{const{actor:t,pub:a}=e;return l.a.createElement(l.a.Fragment,null,t," created ",a)}}),"pub-updated":W({icon:"pubDoc",titleRenderers:{pub:v},message:({item:e,titles:t})=>{const{payload:a}=e,{actor:n,pub:r}=t;return a.draft?l.a.createElement(l.a.Fragment,null,n," edited ",r):a.doi?l.a.createElement(l.a.Fragment,null,n," set the DOI of ",r," to ",a.doi.to):a.attributions?l.a.createElement(l.a.Fragment,null,n," updated the contributors to ",r):a.title?l.a.createElement(l.a.Fragment,null,n," changed the title of ",r," from ",l.a.createElement("i",null,a.title.from)," to"," ",l.a.createElement("i",null,a.title.to)):a.slug?l.a.createElement(l.a.Fragment,null,n," changed the slug of ",r," from ",a.slug.from," to ",a.slug.to):l.a.createElement(l.a.Fragment,null,n," updated the settings for ",r)}}),"pub-removed":W({icon:"pubDoc",titleRenderers:{pub:v},message:({titles:e})=>{const{actor:t,pub:a}=e;return l.a.createElement(l.a.Fragment,null,t," removed ",a)}}),"pub-release-created":W({icon:"document-share",titleRenderers:{pub:v,release:(e,t)=>{const a=c(e.pubId,t);return{title:"a Release",href:a?Object(b.g)(null,a,{releaseId:e.payload.releaseId}):null}}},message:({titles:e})=>{const{actor:t,pub:a,release:n}=e;return l.a.createElement(l.a.Fragment,null,t," created ",n," of ",a)}}),"pub-edge-created":W({icon:"layout-auto",titleRenderers:{pub:v,edge:w,target:O},message:({titles:e})=>{const{actor:t,edge:a,target:n,pub:r}=e;return l.a.createElement(l.a.Fragment,null,t," created ",a," with ",n," for ",r)}}),"pub-edge-removed":W({icon:"layout-auto",titleRenderers:{pub:v,edge:w,target:O},message:({titles:e})=>{const{actor:t,edge:a,target:n,pub:r}=e;return l.a.createElement(l.a.Fragment,null,t," removed ",a," with ",n," from ",r)}}),"pub-discussion-comment-added":W({icon:"chat",titleRenderers:{pub:v,discussion:(e,t)=>{const a=c(e.pubId,t),n=a&&t.associations.community[a.communityId];return{title:e.payload.isReply?"a reply to a Discussion":"a new Discu
1ssion",href:a?Object(b.g)(n,a,{discussionId:e.payload.discussionId}):null}}},message:({titles:e})=>{const{actor:t,pub:a,discussion:n}=e;return l.a.createElement(l.a.Fragment,null,t," added ",n," to ",a)},excerpt:({item:e})=>e.payload.threadComment.text}),"pub-review-created":W({icon:"social-media",titleRenderers:{pub:v,review:C},message:({titles:e})=>{const{actor:t,pub:a,review:n}=e;return l.a.createElement(l.a.Fragment,null,t," created ",n," on ",a)},excerpt:({item:e})=>{const{threadComment:t}=e.payload;return t?t.text:null}}),"pub-review-comment-added":W({icon:"social-media",titleRenderers:{pub:v,review:C},message:({titles:e})=>{const{actor:t,pub:a,review:n}=e;return l.a.createElement(l.a.Fragment,null,t," added a comment to ",n," on ",a)},excerpt:({item:e})=>e.payload.threadComment.text}),"pub-review-updated":W({icon:"social-media",titleRenderers:{pub:v,review:C},message:({titles:e,item:t})=>{const{actor:a,pub:n,review:r}=e,{status:o}=t.payload;return o?l.a.createElement(l.a.Fragment,null,a," changed the status of ",r," on ",n," from ",l.a.createElement("i",null,o.from)," to"," ",l.a.createElement("i",null,o.to)):l.a.createElement(l.a.Fragment,null,a," updated ",r," on ",n)}}),"member-created":ae,"member-updated":ne,"member-removed":le,"community-ban-created":ie,"community-ban-retracted":se,"submission-status-updated":W({icon:"manually-entered-data",titleRenderers:{pub:v,collection:p},message:({titles:e,item:t})=>{const{payload:a}=t,{actor:n,pub:r,collection:o}=e,{from:i,to:s}=a.status;return"received"===s?l.a.createElement(l.a.Fragment,null,n," submitted ",r," into ",o):l.a.createElement(l.a.Fragment,null,n," updated the submission status for ",r," in ",o," from ",l.a.createElement("i",null,i)," ","to ",l.a.createElement("i",null,s))}})},ue=(e,t)=>
1{const a=ce[e.kind];return(null==a?void 0:a(e,t))||null}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return i})),a.d(t,"b",(function(){return s}));var n=a(34);var l=a(123),r=a(30),o=a(89);const i={"cc-by":{kind:"cc-by",full:"Creative Commons Attribution 4.0 International License",short:"CC-BY",version:"4.0",link:"https://creativecommons.org/licenses/by/4.0/",spdxIdentifier:"CC-BY-4.0"},"cc-0":{kind:"cc-0",full:"Creative Commons Public Domain Dedication",short:"CC-0",version:"1.0",link:"https://creativecommons.org/publicdomain/zero/1.0/",spdxIdentifier:"CC-0-1.0"},"cc-by-nc":{kind:"cc-by-nc",full:"Creative Commons Attribution-NonCommercial 4.0 International License",short:"CC-BY-NC",version:"4.0",link:"https://creativecommons.org/licenses/by-nc/4.0/",spdxIdentifier:"CC-BY-NC-4.0"},"cc-by-nd":{kind:"cc-by-nd",full:"Creative Commons Attribution-NoDerivatives 4.0 International License",short:"CC-BY-ND",version:"4.0",link:"https://creativecommons.org/licenses/by-nd/4.0/",spdxIdentifier:"CC-BY-ND-4.0"},"cc-by-nc-nd":{kind:"cc-by-nc-nd",full:"Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License",short:"CC-BY-NC-ND",version:"4.0",link:"https://creativecommons.org/licenses/by-nc-nd/4.0/",spdxIdentifier:"CC-BY-NC-ND-4.0"},"cc-by-sa":{kind:"cc-by-sa",full:"Creative Commons Attribution-ShareAlike 4.0 International License",short:"CC-BY-SA",version:"4.0",link:"https://creativecommons.org/licenses/by-sa/4.0/",spdxIdentifier:"CC-BY-SA-4.0"},"cc-by-nc-sa":{kind:"cc-by-nc-sa",full:"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License",short:"CC-BY-NC-SA",version:"4.0",link:"https://creativecommons.org/licenses/by-nc-sa/4.0/",spdxIdentifier:"CC-BY-NC-SA-4.0"},copyright:{kind:"copyright",full:"Copyright © All rights reserved.",short:"Copyright",version:null,link:null,requiresPremium:!0,spdxIdentifier:null}},s=e=>{const{license:t,collectionPubs:a,pub:s,community:c}=e,{short:u,full:m,link:d,version:p,kind:b}=i[t.kind];if("copyright"===b){const e=(e=>e.publishAs||e.title)(c),{year:i}=(e=>{var t,a;const{license:n,collectionPubs:i,pub:s}=e;if("copyright"!==n.kind)return{hasCopyright:!1,year:null};if("choose-here"===(null==(t=n.copyrightSelection)?void 0:t.choice)&&(null==(a=n.copyrightSelection)?void 0:a.year))return{hasCopyright:!0,source:"license-facet",year:n.copyrightSelection.year};const c=Object(l.a)(i);if(c){const{metadata:e}=c;if(e){const{copyrightYear:t,date:a,publicationDate:n}=e,l=t||a||n;if(l&&Object(r.d)(l)){return{hasCopyright:!0,source:"primary-collection-metadata",year:Object(r.c)(l).getFullYear()}}}}const u=Object(o.d)(s);return u?{hasCopyright:!0,source:"published-date",year:u.getFullYear()}:{hasCopyright:!0,source:"current-year",year:(new Date).getFullYear()}})({license:t,collectionPubs:a,pub:s});return Object(n.a)("number"==typeof i),{kind:b,short:u,full:`Copyright © ${i} ${e}. All rights reserved.`,link:null,summary:null}}return{kind:b,short:u,full:m,link:d,summary:`${b.toUpperCase()} ${p}`}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));const n=(e,t)=>{const a=(e=>{const t=e.split("-").pop(),a=parseInt(t,16);return(0xffffffffffff===a?a-1:a)/0xffffffffffff})(e);return t[Math.floor(t.length*a)]},l=["linear-gradient(135deg, #cb2d3e, #ef973a)","linear-gradient(-45deg, #00bf8f, #001510)","linear-gradient(135deg, #2c3e50, #4ca1af)","linear-gradient(-45deg, #ad5389, #3c1053)","linear-gradient(135deg, #000046, #1cb5e0)"],r=e=>e?n(e,l):l[0]},function(e,t,a){"use strict";var n=a(0),l=a.n(n),r=a(53),o=a(6),i=Object.defineProperty,s=Object.defineProperties,c=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,p=(e,t,a)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const b={"confirmed-not-spam":{icon:"tick",children:"Not spam"},"confirmed-spam":{icon:"cross",intent:"danger",children:"Spam"},unreviewed:{icon:"undo",children:"Mark unreviewed"},remove:{icon:"remove",children:"Remove spam tag"}};var h=e=>{const{action:t,userId:a,handleAction:i,label:h}=e,[g,f]=Object(n.useState)(!1),y=Object(n.useCallback)(()=>{return e=null,n=null,l=function*(){f(!0),"remove"===t?yield o.a.delete("/api/spamTags/user",{userId:a}):yield o.a.put("/api/spamTags/user",{status:t,userId:a}),f(!1),i(t)},new Promise((t,a)=>{var r=e=>{try{i(l.next(e))}catch(e){a(e)}},o=e=>{try{i(l.throw(e))}catch(e){a(e)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,o);i((l=l.apply(e,n)).next())});var e,n,l},[t,a,i]),v=b[t];return l.a.createElement(r.c,((e,t)=>s(e,c(t)))(((e,t)=>{for(var a in t||(t={}))m.call(t,a)&&p(e,a,t[a]);if(u)for(var a of u(t))d.call(t,a)&&p(e,a,t[a]);return e})({minimal:!0,small:!0,loading:g,onClick:y},v),{children:null!=h?h:null==v?void 0:v.children}))};t.a=e=>{const{userId:t,status:a,handleAction:n}=e;return null===a?l.a.createElement(l.a.Fragment,null,l.a.createElement(h,{userId:t,action:"unreviewed",handleAction:n}),l.a.createElement(h,{userId:t,action:"confirmed-not-spam",handleAction:n}),l.a.createElement(h,{userId:t,action:"confirmed-spam",handleAction:n})):"unreviewed"===a?l.a.createElement(l.a.Fragment,null,l.a.createElement(h,{userId:t,action:"confirmed-not-spam",handleAction:n}),l.a.createElement(h,{userId:t,action:"confirmed-spam",handleAction:n}),l.a.createElement(h,{userId:t,action:"remove",handleAction:n})):"confirmed-spam"===a?l.a.createElement(l.a.Fragment,null,l.a.createElement(h,{userId:t,action:"confirmed-not-spam",handleAction:n,label:"Mark as not spam"}),l.a.createElement(h,{userId:t,action:"unreviewed",handleAction:n}),l.a.createElement(h,{userId:t,action:"remove",handleAction:n})):l.a.createElement(l.a.Fragment,null,l.a.createElement(h,{userId:t,action:"confirmed-spam",handleAction:n,label:"Mark as spam"}),l.a.createElement(h,{userId:t,action:"unreviewed",handleAction:n}),l.a.createElement(h,{userId:t,action:"remove",handleAction:n}))}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){},function(e,t,a){"use strict";a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return l}));const n=e=>"user"in e&&!!e.user,l=["Conceptualization","Methodology","Software","Validation","Formal Analysis","Investigation","Resources","Data Curation","Writing – Original Draft Preparation","Writing – Review & Editing","Visualization","Supervision","Project Administration","Peer Review","Funding Acquisition","Illustrator","Editor","Series Editor","Translator","Chair"]},function(e,t,a){"use strict"},function(e,t,a){"use strict"},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){"use strict"},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"k",(function(){return p})),a.d(t,"c",(function(){return b})),a.d(t,"b",(function(){return h})),a.d(t,"j",(function(){return g})),a.d(t,"a",(function(){return f})),a.d(t,"d",(function(){return y}
1)),a.d(t,"e",(function(){return v})),a.d(t,"f",(function(){return E})),a.d(t,"g",(function(){return O})),a.d(t,"h",(function(){return w})),a.d(t,"i",(function(){return C}));var n=a(44),l=a(157),r=a(118);const o=(e,t,a)=>e.type===t&&(!a||Object.keys(a).every(t=>a[t]===e.attrs[t])),i=e=>{const{state:t,type:a,withAttrs:n}=e;if(!a)return!1;const{$from:l}=t.selection,r=t.selection.node;if(r&&o(r,a,n))return!0;let i=l.depth;for(;i>0;){const e=l.node(i);if(o(e,a,n))return!0;i-=1}return!1},s=e=>{const{state:t,type:a,withAttrs:l,dispatch:r}=e,{schema:o}=t,s=i(e)?o.nodes.paragraph:a;return Object(n.o)(s,l)(t,r)},c=e=>{const{state:t,type:a,dispatch:r}=e;return i(e)?Object(n.i)(t,r):Object(l.d)(a)(t,r)},u=e=>{const{typeName:t,withAttrs:a,commandFn:n=s}=e;return Object(r.c)({withAttrs:a,commandFn:n,isActiveFn:i,getTypeFromSchema:e=>e.nodes[t]})},m=e=>u({typeName:"heading",withAttrs:{level:e}}),d=e=>u({typeName:e,commandFn:c}),p=u({typeName:"paragraph"}),b=u({typeName:"code_block"}),h=d("bullet_list"),g=d("ordered_list"),f=u({typeName:"blockquote",commandFn:e=>{const{state:t,type:a,dispatch:l}=e;return i(e)?Object(n.i)(t,l):Object(n.r)(a)(t,l)}}),y=m(1),v=m(2),E=m(3),O=m(4),w=m(5),C=m(6)},function(e,t,a){"use strict";a.d(t,"e",(function(){return s})),a.d(t,"b",(function(){return c})),a.d(t,"a",(function(){return u})),a.d(t,"f",(function(){return m})),a.d(t,"g",(function(){return d})),a.d(t,"d",(function(){return p})),a.d(t,"c",(function(){return b}));var n=a(44),l=a(118);const r=e=>{const{type:t,state:a}=e,{from:n,$from:l,to:r,empty:o}=a.selection;return o?!!t.isInSet(a.storedMarks||l.marks()):a.doc.rangeHasMark(n,r,t)},o=e=>{const{state:t,dispatch:a,type:l}=e;return Object(n.q)(l)(t,a)},i=e=>Object(l.c)({getTypeFromSchema:t=>t.marks[e],commandFn:o,isActiveFn:r}),s=i("strong"),c=i("em"),u=i("code"),m=i("sub"),d=i("sup"),p=i("strike"),b=i("link")},function(e,t,a){"use strict";a.d(t,"a",(function(){return o})),a.d(t,"b",(function(){return i}));var n=a(118);const l=(e,t)=>{const{node:a}=e.selection;if(!(a&&("math_inline"===a.type.name||"math_display"===a.type.name)))return!1;const n="math_display"===a.type.name;if(t){const{schema:{nodes:{math_display:l,math_inline:r}}}=e,o=n?r:l;t(e.tr.replaceSelectionWith(o.create({},a.content),!0))}return!0},r=(e,t)=>{const{node:a,$anchor:n}=e.selection;if(!(a&&"math_display"===a.type.name))return!1;if(t){t(e.tr.setNodeMarkup(n.pos,a.type,{hideLabel:!a.attrs.hideLabel},a.marks))}return!0},o=Object(n.b)((e,t)=>({run:()=>l(t,e),canRun:l(t),isActive:!1})),i=Object(n.b)((e,t)=>({run:()=>r(t,e),canRun:r(t),isActive:!1}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return d}));var n=a(118),l=Object.defineProperty,r=Object.defineProperties,o=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,u=(e,t,a)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const m=(e,t,a,n)=>{const{tr:l}=t;e.forEach(({pos:e,node:t})=>l.setNodeMarkup(e,void 0,((e,t)=>r(e,o(t)))(((e,t)=>{for(var a in t||(t={}))s.call(t,a)&&u(e,a,t[a]);if(i)for(var a of i(t))c.call(t,a)&&u(e,a,t[a]);return e})({},t.attrs),{rtl:n}),t.marks)),a(l)},d=(p=!0,Object(n.b)((e,t)=>{const a=(e=>{const{selection:t,doc:a}=e,n=[];return t.ranges.forEach(({$from:e,$to:t})=>{a.nodesBetween(e.pos,t.pos,(e,t)=>{(e=>{const{spec:t}=e.type;return t.attrs&&"rtl"in t.attrs})(e)&&n.push({pos:t,node:e})})}),n})(t),n=!!(e=>{const t=e.map(({node:e})=>e.attrs.rtl);return t.length&&t.every(e=>!0===e)})(a)||null,l=null===n||null,r=a.length>0;return{isActive:n===p,canRun:r,run:()=>m(a,t,e,l)}}));var p},function(e,t,a){"use strict";a.d(t,"a",(function(){return d}));var n=a(400),l=a.n(n),r=a(44),o=Object.defineProperty,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,u=(e,t,a)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,m=(e,t)=>{for(var a in t||(t={}))s.call(t,a)&&u(e,a,t[a]);if(i)for(var a of i(t))c.call(t,a)&&u(e,a,t[a]);return e};const d=e=>(t,a)=>{const{$from:n}=t.selection;return Object(r.p)(t,t=>{if(a){const r=t.selection.$from.before(),o=t.doc.nodeAt(r),i=n.node();t.setNodeMarkup(r,void 0,m(m({},null==o?void 0:o.attrs),l()(i.attrs,e)),null==o?void 0:o.marks),a(t)}})}},function(e,t,a){"use strict";a.d(t,"n",(function(){return y}
1)),a.d(t,"i",(function(){return v})),a.d(t,"o",(function(){return E})),a.d(t,"e",(function(){return O})),a.d(t,"h",(function(){return w})),a.d(t,"j",(function(){return C})),a.d(t,"d",(function(){return N})),a.d(t,"c",(function(){return j})),a.d(t,"g",(function(){return k})),a.d(t,"b",(function(){return S})),a.d(t,"a",(function(){return P})),a.d(t,"f",(function(){return D})),a.d(t,"m",(function(){return I})),a.d(t,"l",(function(){return T})),a.d(t,"k",(function(){return x}));var n=a(85),l=a(145),r=a(55),o=a(118),i=Object.defineProperty,s=Object.defineProperties,c=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,p=(e,t,a)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,b=(e,t)=>{for(var a in t||(t={}))m.call(t,a)&&p(e,a,t[a]);if(u)for(var a of u(t))d.call(t,a)&&p(e,a,t[a]);return e},h=(e,t)=>s(e,c(t));const g=Object(o.a)(e=>Object(r.g)(e.selection.$from,e=>"table"===e.type.name)),f=(e,t)=>Object(o.b)((a,l)=>{const r=g(l);let o=!1;try{o=Object(n.k)(l)&&e(l)}catch(e){}return{canRun:o,run:()=>e(l,a),isActive:!(!t||!r)&&t(r.node)}}),y=f((e,t)=>{var a;if(!(null==(a=Object(r.i)(e)[l.a.Table])?void 0:a.enabled))return!1;const n=g(e);if(n){const{tr:a}=e;return a.setNodeMarkup(n.pos,n.node.type,h(b({},n.node.attrs),{hideLabel:!n.node.attrs.hideLabel}),n.node.marks),t&&t(a),!0}return!1},e=>e.attrs.hideLabel),v=e=>f((t,a)=>{const n=g(t),{tr:l}=t;if(n){const t="number"==typeof e?{align:"breakout",size:e}:{align:null,size:null};return l.setNodeMarkup(n.pos,null,b(b({},n.node.attrs),t)),a&&a(l),!0}return!1},t=>t.attrs.size===e),E=f((e,t)=>{const a=g(e),{tr:n}=e;if(a){const{smallerFont:e}=a.node.attrs;return n.setNodeMarkup(a.pos,a.node.type,h(b({},a.node.attrs),{smallerFont:!e})),t&&t(n),!0}return!1},e=>e.attrs.smallerFont),O=f(n.i),w=f(n.l),C=f(n.m),N=f(n.e),j=f(n.d),k=f(n.h),S=f(n.c),P=f(n.b),D=f(n.g),I=f(n.r),T=f(n.q),x=f(n.p)},function(e,t,a){"use strict";a.d(t,"b",(function(){return g})),a.d(t,"a",(function(){return f})),a.d(t,"c",(function(){return y}));var n=a(118),l=Object.defineProperty,r=Object.defineProperties,o=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,u=(e,t,a)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const m=new Set(["doc","table_cell","table_header","blockquote"]),d=e=>{const t=e.map(({node:e})=>{return null===(t=e.attrs.textAlign)?"left":t;var t}),a=new Set(t);return 1===a.size?[...a][0]:null},p=Object(n.a)(e=>{const{selection:t,doc:a}=e,n=[];return t.ranges.forEach(({$from:e,$to:t})=>{a.nodesBetween(e.pos,t.pos,(e,t,a)=>{a&&(e=>{const{name:t}=e.type;return m.has(t)})(a)&&(e=>{const{spec:t}=e.type;return t.attrs&&"textAlign"in t.attrs})(e)&&n.push({pos:t,node:e})})}),{alignableNodes:n,sharedAlignmentType:d(n)}}),b=(e,t,a,n)=>{const{tr:l}=a,m="left"===(d=t)?null:d;var d;e.forEach(({pos:e,node:t})=>l.setNodeMarkup(e,void 0,((e,t)=>r(e,o(t)))(((e,t)=>{for(var a in t||(t={}))s.call(t,a)&&u(e,a,t[a]);if(i)for(var a of i(t))c.call(t,a)&&u(e,a,t[a]);return e})({},t.attrs),{textAlign:m}),t.marks)),n(l)},h=e=>Object(n.b)((t,a)=>{const{sharedAlignmentType:n,alignableNodes:l}=p(a);return{isActive:n===e,canRun:l.length>0,run:()=>b(l,e,a,t)}}),g=h("left"),f=h("center"),y=h("right")},function(e,t,a){},,,function(e,t,a){"use strict";var n=a(649);a.o(n,"mapFacetDefinitions")&&a.d(t,"mapFacetDefinitions",(function(){return n.mapFacetDefinitions}));var l=a(650);a.o(l,"mapFacetDefinitions")&&a.d(t,"mapFacetDefinitions",(function(){return l.mapFacetDefinitions}));var r=a(651);a.o(r,"mapFacetDefinitions")&&a.d(t,"mapFacetDefinitions",(function(){return r.mapFacetDefinitions}))},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,function(e,t,a){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(379);const l=Symbol("skip");function r(e){const t={};
1return Object.values(n.a).forEach(a=>{const n=e(a,l);n!==l&&(t[a.name]=n)}),t}a(60)},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=["collectionPub","collection","community","discussion","externalPublication","page","pubEdge","pub","review","submission","release","threadComment","thread","user"]},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){},function(e,t,a){},,,,,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){},function(e,t,a){},,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,function(e,t,a){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){"use strict";a.r(t);var n=a(0),l=a.n(n),r=a(8),o=a.n(r),i=a(1584),s=a(385),c=a(53);const u=()=>{const[e,t]=Object(n.useState)(!1),[a,r]=Object(n.useState)(null),o=Object(n.useCallback)(()=>{t(!0),a&&clearTimeout(a),r(setTimeout(()=>t(!1),15e3))},[a]);return Object(n.useEffect)(()=>(window.addEventListener("pubpub:readOnly",o),()=>{window.removeEventListener("pubpub:readOnly",o),a&&clearTimeout(a)}),[o,a]),e?l.a.createElement("div",{style:{position:"fixed",bottom:16,left:"50%",transform:"translateX(-50%)",zIndex:9999,maxWidth:480,width:"90%",background:"white"}},l.a.createElement(c.e,{intent:"warning",icon:"info-sign",title:"Read-only mode"},"PubPub is in read-only mode for scheduled maintenance. Your changes cannot be saved right now. Please try again shortly.")):null};a(895);var m=Object.defineProperty,d=Object.defineProperties,p=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertySymbols,h=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable,f=(e,t,a)=>t in e?m(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,y=(e,t)=>{for(var a in t||(t={}))h.call(t,a)&&f(e,a,t[a]);if(b)for(var a of b(t))g.call(t,a)&&f(e,a,t[a]);return e},v=(e,t)=>
1d(e,p(t));var E=e=>{const[t,a]=Object(n.useState)(!1);return l.a.createElement("div",{className:o()("collapsible-header-component","container",t&&"is-menu-open")},l.a.createElement("header",{className:"header"},l.a.createElement("div",{className:"logo"},l.a.createElement("a",{href:"#maincontent",className:"tab-to-show-component skip-link-component"},"Skip to Content"),l.a.createElement("a",{href:e.logo.url},l.a.createElement("picture",null,l.a.createElement("source",y({},e.logo.sourceProps)),l.a.createElement("img",v(y({},e.logo.imgProps),{alt:e.logo.titleText}))))),l.a.createElement("div",{className:"navigation","aria-label":"Main navigation"},l.a.createElement("nav",{className:"primary"},l.a.createElement("ul",{className:"list"},l.a.createElement("li",{className:"item"},l.a.createElement(c.c,{minimal:!0,onClick:()=>a(!0),rightIcon:"menu"},"Menu")),e.headerNavLeft.map(e=>l.a.createElement("li",{key:e.title},l.a.createElement("a",{href:e.url},e.title))))),l.a.createElement("nav",{className:"secondary"},l.a.createElement("ul",null,e.headerNavRight.map(e=>l.a.createElement("li",{key:e.title},l.a.createElement(c.b,{minimal:!e.isButton,href:e.url,rightIcon:e.icon},e.title))))))),l.a.createElement("div",{className:"menu-overlay",onClick:()=>a(!1),role:"none"}),l.a.createElement("div",{className:"menu","aria-expanded":t},l.a.createElement("header",null,l.a.createElement(c.c,{minimal:!0,onClick:()=>a(!1),className:"close",rightIcon:"cross"},"Close"),l.a.createElement("div",{role:"banner",className:"title"},l.a.createElement("a",{href:e.logo.url},l.a.createElement("picture",null,l.a.createElement("source",y({},e.logo.sourceProps)),l.a.createElement("img",v(y({},e.logo.imgProps),{alt:e.logo.titleText})))))),l.a.createElement("nav",{role:"navigation"},l.a.createElement("h3",null,"Menu"),l.a.createElement("ul",null,e.menuNav.map(e=>e.map((t,a)=>l.a.createElement("li",{key:t.title,className:o()([a===e.length-1&&"end-of-group",t.isMobileOnly&&"hidden-wide"])},l.a.createElement("a",{href:t.url},t.title))))))))},O={logo:{titleText:"eLife home page",url:"/",sourceProps:{srcSet:"https://assets.pubpub.org/pm5kgkt7/41674145834317.svg",type:"image/svg+xml"},imgProps:{src:"https://assets.pubpub.org/pm5kgkt7/41674145834317.svg",alt:"eLife logo"}},headerNavLeft:[{url:"/",title:"Home"},{url:"/browse",title:"Browse"},{url:"/magazine",title:"Magazine"},{url:"/community",title:"Community"},{url:"/about",title:"About"}],headerNavRight:[{title:"Search",url:"/search",icon:"search"},{title:"Alerts",url:"/content-alerts",icon:"notifications"},{title:"Submit your research",url:"/submit-your-research",isButton:!0}],menuNav:[[{isMobileOnly:!0,url:"/",title:"Home"},{isMobileOnly:!0,url:"/browse",title:"Browse"},{isMobileOnly:!0,url:"/magazine",title:"Magazine"},{isMobileOnly:!0,url:"/community",title:"Community"},{isMobileOnly:!0,url:"/about",title:"About"},{isMobileOnly:!1,url:"/subjects",title:"Research categories"},{isMobileOnly:!1,url:"/inside-elife",title:"Inside eLife"}],[{isMobileOnly:!0,url:"/search",title:"Search"},{isMobileOnly:!0,url:"/content-alerts",title:"Subscribe to alerts"}],[{isMobileOnly:!0,url:"https://elifesciences.org/submit-your-research",title:"Submit your research"},{isMobileOnly:!1,url:"https://reviewer.elifesciences.org/author-guide/editorial-process",title:"Author guide"},{isMobileOnly:!1,url:"https://reviewer.elifesciences.org/reviewer-guide/review-process",title:"Reviewer guide"}]],twitterUrl:""},w=(a(896),Object.defineProperty),C=Object.defineProperties,N=Object.getOwnPropertyDescriptors,j=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable,P=(e,t,a)=>t in e?w(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,D=(e,t)=>{for(var a in t||(t={}))k.call(t,a)&&P(e,a,t[a]);if(j)for(var a of j(t))S.call(t,a)&&P(e,a,t[a]);return e},I=(e,t)=>C(e,N(t));var T=e=>{const[t,a]=Object(n.useState)(!1);return l.a.createElement("div",{className:o()("collapsible-header-component","container",t&&"is-menu-open")},l.a.createElement("header",{className:"header"},l.a.createElement("div",{className:"logo"},l.a.createElement("a",{href:"#maincontent",className:"tab-to-show-component skip-link-component"},"Skip to Content"),l.a.createElement("a",{href:e.logo.url},l.a.createElement("picture",null,l.a.createElement("source",D({},e.logo.sourceProps)),l.a.createElement("img",I(D({},e.logo.imgProps),{alt:e.logo.titleText}
1))))),l.a.createElement("div",{className:"navigation","aria-label":"Main navigation"},l.a.createElement("nav",{className:"primary"},l.a.createElement("ul",{className:"list"},l.a.createElement("li",{className:"item"},l.a.createElement(c.c,{minimal:!0,onClick:()=>a(!0),rightIcon:"menu"},"Menu")),e.headerNavLeft.map(e=>l.a.createElement("li",{key:e.title},l.a.createElement("a",{href:e.url},e.title))))),l.a.createElement("nav",{className:"secondary"},l.a.createElement("ul",null,e.headerNavRight.map(e=>l.a.createElement("li",{key:e.title},l.a.createElement(c.b,{minimal:!e.isButton,href:e.url,rightIcon:e.icon},e.title))))))),l.a.createElement("div",{className:"menu-overlay",onClick:()=>a(!1),role:"none"}),l.a.createElement("div",{className:"menu","aria-expanded":t},l.a.createElement("header",null,l.a.createElement(c.c,{minimal:!0,onClick:()=>a(!1),className:"close",rightIcon:"cross"},"Close"),l.a.createElement("div",{role:"banner",className:"title"},l.a.createElement("a",{href:e.logo.url},l.a.createElement("picture",null,l.a.createElement("source",D({},e.logo.sourceProps)),l.a.createElement("img",I(D({},e.logo.imgProps),{alt:e.logo.titleText})))))),l.a.createElement("nav",{role:"navigation"},l.a.createElement("h3",null,"Menu"),l.a.createElement("ul",null,e.menuNav.map(e=>e.map((t,a)=>l.a.createElement("li",{key:t.title,className:o()([a===e.length-1&&"end-of-group",t.isMobileOnly&&"hidden-wide"])},l.a.createElement("a",{href:t.url},t.title))))))))},x={logo:{titleText:"Biophysics Colab home page",url:"/",sourceProps:{srcSet:"https://sciety.org/static/images/home-page/biophysics-colab.png",type:"image/png"},imgProps:{src:"https://sciety.org/static/images/home-page/biophysics-colab.png",alt:"Biophysics Colab logo"}},headerNavLeft:[{url:"/",title:"Home"},{url:"/about",title:"About"}],headerNavRight:[{title:"Search",url:"/search",icon:"search"},{title:"Submit your research",url:"/submit-your-research",isButton:!0}],menuNav:[[{isMobileOnly:!0,url:"/",title:"Home"},{isMobileOnly:!0,url:"/about",title:"About"},{isMobileOnly:!1,url:"/inside-elife",title:"Inside eLife"}],[{isMobileOnly:!0,url:"/search",title:"Search"},{isMobileOnly:!0,url:"/content-alerts",title:"Subscribe to alerts"}],[{isMobileOnly:!0,url:"https://elifesciences.org/submit-your-research",title:"Submit your research"},{isMobileOnly:!1,url:"https://reviewer.elifesciences.org/author-guide/editorial-process",title:"Author guide"},{isMobileOnly:!1,url:"https://reviewer.elifesciences.org/reviewer-guide/review-process",title:"Reviewer guide"}]],twitterUrl:""},A=a(1);a(1225);var M=e=>{const{communityData:t}=e,a="light"===t.headerColorType?"/static/logoBlack.svg":"/static/logoWhite.svg";return l.a.createElement("div",{className:"minimal-footer-component"},l.a.createElement("div",{className:"left-column"},l.a.createElement("a",{key:e.leftItem.title,"area-label":e.leftItem.title,href:e.leftItem.url},l.a.createElement("img",{alt:e.leftItem.title+" logo",src:e.leftItem.image}))),l.a.createElement("div",{className:"right-column"},l.a.createElement("div",{className:"nav-column"},l.a.createElement("ul",{className:"top-row"},e.centerItems.top.map(e=>l.a.createElement("li",{key:e.label},l.a.createElement("a",{href:e.url},e.label)))),l.a.createElement("div",{className:"bottom-row"},e.centerItems.bottom.map(e=>l.a.createElement("span",{key:e.label},e.label)),l.a.createElement("div",{className:"built-on"},l.a.createElement("span",null,"Published with")," ",l.a.createElement("img",{className:"logo",src:a,alt:"PubPub logo"})))),l.a.createElement("div",{className:"social-column"},l.a.createElement("a",{className:"icon","aria-label":e.rightItem.label,href:e.rightItem.url},l.a.createElement(A.O,{icon:e.rightItem.icon,iconSize:22})))))};var L={leftItem:{title:"Arcadia Research",url:"/",image:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgzIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMTgzIDMyIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTguOTQ0MyAwSDE3LjQ4NDRMMCAzMC4yMTNMMC43MzQzNDMgMzEuNDcxOEgzNS41MTA3TDM2LjIzNjMgMzAuMjEzTDE4Ljk0NDMgMFpNMjQuNTEzMSAxNy4yMjIxVjI0LjM5MDdMMjEuNzUwNSAyNy4xNTMyVjI0LjE0NTlMMjEuNDQ0NiAyMy40OTlMMTkuMDU3OSAyMS40OTdWMTcuNjI0MkwyNC4xNzIxIDEyLjUxODhMMjguNjIxOSAyMC4yOTA2TDI2LjIwMDMgMjIuNzEyMlYxNy4yMjIxSDI0LjUxMzFWMTcuMjIyMVpNMTYuNzg1IDI3LjEzNTdMNi4yOTQzNyAyMi42ODZMMTAuMDcxIDE2LjE2NDNMMjAuMDU0NiAyNC41MzkzVjI5Ljc4NDZIMTcuMjkyVjI3LjkxMzhMMTYuNzg1IDI3LjEzNTdWMjcuMTM1N1pNMTkuMDU3OSAzLjU4NDI5TDIzLjMwNjYgMTAuOTk3N0wxOS4wNTc5IDE1LjI0NjRWMy41ODQyOVYzLjU4NDI5Wk0xNy4zNzA3IDIwLjA4MDhMMTUuNTM0OCAxOC41NDIyVjEyLjQyMjZIMTMuODQ3NlYxNy4wOTFMMTAuOTM2NSAxNC42NDMxTDE3LjM3MDcgMy41MTQzNlYyMC4wODA4Wk01LjQ0NjM4IDI0LjE1NDZMMTUuNjEzNSAyOC40NzMzVjI5Ljc4NDZIMi4xOTQyOUw1LjQ0NjM4IDI0LjE1NDZWMjQuMTU0NlpNMjEuNzUwNSAyOS43ODQ2VjI5LjUzOThMMjkuNDg3NCAyMS44MDNMMzQuMDUwOCAyOS43ODQ2SDIxLjc1MDVaIiBmaWxsPSIjRkZGRkZGIi8+CjxwYXRoIGQ9Ik02Ny45MjY3IDI2LjYxOTlMNTkuMDI3MiA0LjgzNDQ0SDU2LjI4MjFMNDcuMzIxNCAyNi42MTk5SDQ5LjU2ODJMNTEuOTk4NSAyMC42MTQxSDYzLjE3OTdMNjUuNjE4OCAyNi42MTk5SDY3LjkyNjdWMjYuNjE5OVpNNTcuNTkzNSA2LjgyNzY2TDYyLjM1OCAxOC42MzgzSDUyLjgxMTVMNTcuNTkzNSA2LjgyNzY2VjYuODI3NjZaIiBmaWxsPSIjRkZGRkZGIi8+CjxwYXRoIGQ9Ik04Ny4xODU3IDEwLjY1NjdDODcuMTg1NyA3LjI5OTc0IDg0LjM0NDUgNC44MzQ0NCA4MC40OTggNC44MzQ0NEg3MS40MDYxVjI2LjYxOTlINzMuNTkxN1YxNy40NDA3SDgzLjI3OEM4NC4wNDczIDE3LjQ0OTQgODQuNjY4IDE4LjA3MDEgODQuNjg1NSAxOC44Mzk0VjI2LjYxOTlIODYuODM2MVYxNy40NDA3TDg1LjE4MzggMTUuNjkyMkM4Ni41NzM4IDE0LjM5ODQgODcuMzA4MSAxMi41NTM4IDg3LjE4NTcgMTAuNjU2N1YxMC42NTY3Wk04MC4xOTIgMTUuNDIxMkg3My41OTE3VjYuODYyNjNIODAuMTgzM0M4My4xODE4IDYuODYyNjMgODUuMDAwMiA4LjM4Mzc3IDg1LjAwMDIgMTAuOTcxNUM4NC45MzkgMTMuNDg5MiA4Mi44NDk2IDE1LjQ4MjQgODAuMzMxOSAxNS40M0M4MC4yNzk0IDE1LjQzIDgwLjIzNTcgMTUuNDMgODAuMTgzMyAxNS40M0g4MC4xOTJWMTUuNDIxMloiIGZpbGw9IiNGRkZGRkYiLz4KPHBhdGggZD0iTTEwMC45ODEgMjYuOTM0N0MxMDUuODI0IDI2LjkzNDcgMTA4LjQ5OSAyNC4xNzIxIDEwOS4yNDIgMjAuNDkxN0gxMDYuOTQzQzEwNi40NDUgMjIuNzM4NCAxMDUuMDI5
1IDI0LjkxNTIgMTAxLjEzIDI0LjkxNTJIMTAwLjgyNEM5NS44MjMgMjQuOTE1MiA5My4xNzQxIDIwLjc0NTIgOTMuMTc0MSAxNS43MjcyQzkzLjE3NDEgMTAuNzA5MiA5NS43OTY4IDYuNTQ3OSAxMDAuODI0IDYuNTQ3OUgxMDEuMTM4QzEwNS4wMzcgNi41NDc5IDEwNi45MTcgOC45NDMyNiAxMDcuMjU4IDExLjUzMDlIMTA5LjQ0M0MxMDkuMTk5IDcuNDgzMzEgMTA1Ljg1OSA0LjUzNzIgMTAxLjAxNiA0LjUzNzJDOTQuODAwMiA0LjUzNzIgOTEuMDIzNiA5LjM2Mjg4IDkxLjAyMzYgMTUuNzM1OUM5MS4wMjM2IDIyLjEwOSA5NC43NjUyIDI2LjkzNDcgMTAwLjk4MSAyNi45MzQ3VjI2LjkzNDdaIiBmaWxsPSIjRkZGRkZGIi8+CjxwYXRoIGQ9Ik0xMzEuNjc1IDI2LjYxOTlMMTIyLjc3NSA0LjgzNDQ0SDEyMC4wNTZMMTExLjA2MSAyNi42MTk5SDExMy4zMDdMMTE1Ljc0NiAyMC42MTQxSDEyNi45MjhMMTI5LjM2NyAyNi42MTk5SDEzMS42NzVWMjYuNjE5OVpNMTIxLjM0MSA2LjgyNzY2TDEyNi4xMTUgMTguNjM4M0gxMTYuNTU5TDEyMS4zNDEgNi44Mjc2NlY2LjgyNzY2WiIgZmlsbD0iI0ZGRkZGRiIvPgo8cGF0aCBkPSJNMTQyLjQ4IDI2LjYxOTlDMTQ4LjQxNiAyNi42MTk5IDE1Mi4zMjQgMjIuNjQyMyAxNTIuMzI0IDE1Ljc4ODRDMTUyLjMyNCA4LjkzNDUyIDE0OC40MTYgNC44MzQ0NCAxNDIuNDggNC44MzQ0NEgxMzQuOTg4VjI2LjYxOTlIMTQyLjQ4Wk0xMzcuMTc0IDYuODYyNjNIMTQyLjE3NEMxNDcuMjYyIDYuODYyNjMgMTUwLjEzOCAxMC4wMzYgMTUwLjEzOCAxNS43MjcyQzE1MC4xMzggMjEuNDE4NCAxNDcuMjYyIDI0LjYwMDUgMTQyLjE3NCAyNC42MDA1SDEzNy4xNzRWNi44NjI2M1Y2Ljg2MjYzWiIgZmlsbD0iI0ZGRkZGRiIvPgo8cGF0aCBkPSJNMTU4Ljk0MiAyNi42MTk5VjQuODM0NDRIMTU2Ljc3M1YyNi42MTk5SDE1OC45NDJaIiBmaWxsPSIjRkZGRkZGIi8+CjxwYXRoIGQ9Ik0xODMgMjYuNjE5OUwxNzQuMSA0LjgzNDQ0SDE3MS4zNDdMMTYyLjM4NiAyNi42MTk5SDE2NC42NDFMMTY3LjA4IDIwLjYxNDFIMTc4LjI2MkwxODAuNjkyIDI2LjYxOTlIMTgzVjI2LjYxOTlaTTE3Mi42NTggNi44Mjc2NkwxNzcuNDQgMTguNjM4M0gxNjcuODg1TDE3Mi42NTggNi44Mjc2NlY2LjgyNzY2WiIgZmlsbD0iI0ZGRkZGRiIvPgo8L3N2Zz4K"},centerItems:{top:[{label:"Arcadia Science",url:"arcadiascience.com"},{label:"Terms of Use",url:"https://www.arcadia.science/terms-of-use"},{label:"Arcadia Privacy Policy",url:"https://www.arcadia.science/privacy"},{label:"RSS",url:"https://research.arcadiascience.com/rss.xml"},{label:"Legal",url:"https://research.arcadiascience.com/legal"}],bottom:[{label:"Designed by And—Now. Built by TGHP"}]},rightItem:{label:"Twitter",url:"https://twitter.com/arcadiascience",icon:"twitter"}},R=a(218);a(1226);function F(e){return l.a.createElement("a",{href:e.href,"aria-label":"Login"}
1,l.a.createElement(A.eb,{desktop:l.a.createElement("span",null,"Login or Signup"),mobile:l.a.createElement("span",null,"Login")}))}function U(e){const t=Boolean(e.loginData.id),a="/login"+`?redirect=${e.locationData.path}${e.locationData.queryString.length>1?e.locationData.queryString:""}`,n=t?l.a.createElement(R.a,{loginData:e.loginData}):l.a.createElement(F,{href:a}),r=t?l.a.createElement(A.Zb,null,({hasUnreadNotifications:e})=>e?l.a.createElement("li",null,l.a.createElement(c.b,{minimal:!0,"aria-label":"Notifications inbox",icon:e?"inbox-update":"inbox"})):l.a.createElement(l.a.Fragment,null)):null;return l.a.createElement("header",{className:"minimal-header-component"},l.a.createElement("div",{className:"container"},l.a.createElement("div",{className:"logo"},l.a.createElement("a",{href:"/","aria-label":e.logoLabel},l.a.createElement("img",{src:e.logoUrl,alt:e.logoLabel}))),l.a.createElement("nav",{className:"global"},l.a.createElement("ul",null,l.a.createElement("li",null,l.a.createElement(A.eb,{mobile:l.a.createElement(c.b,{minimal:!0,href:"/search",icon:"search"}
1),desktop:l.a.createElement("a",{href:"/search","aria-label":"Search"},"Search")})),r,l.a.createElement(A.eb,{desktop:l.a.createElement("li",null,n),mobile:null}))),l.a.createElement("nav",{className:"links"},l.a.createElement("ul",null,e.navItems.map(e=>l.a.createElement("li",{key:e.url},l.a.createElement("a",{href:e.url,"aria-label":e.title},e.title))),l.a.createElement("li",null,l.a.createElement(c.b,{minimal:!0,href:e.twitterUrl,icon:l.a.createElement(A.O,{icon:"twitter"}),"aria-label":"Twitter"}))))))}var B={logoUrl:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgzIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMTgzIDMyIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTguOTQ0MyAwSDE3LjQ4NDRMMCAzMC4yMTNMMC43MzQzNDMgMzEuNDcxOEgzNS41MTA3TDM2LjIzNjMgMzAuMjEzTDE4Ljk0NDMgMFpNMjQuNTEzMSAxNy4yMjIxVjI0LjM5MDdMMjEuNzUwNSAyNy4xNTMyVjI0LjE0NTlMMjEuNDQ0NiAyMy40OTlMMTkuMDU3OSAyMS40OTdWMTcuNjI0MkwyNC4xNzIxIDEyLjUxODhMMjguNjIxOSAyMC4yOTA2TDI2LjIwMDMgMjIuNzEyMlYxNy4yMjIxSDI0LjUxMzFWMTcuMjIyMVpNMTYuNzg1IDI3LjEzNTdMNi4yOTQzNyAyMi42ODZMMTAuMDcxIDE2LjE2NDNMMjAuMDU0NiAyNC41MzkzVjI5Ljc4NDZIMTcuMjkyVjI3LjkxMzhMMTYuNzg1IDI3LjEzNTdWMjcuMTM1N1pNMTkuMDU3OSAzLjU4NDI5TDIzLjMwNjYgMTAuOTk3N0wxOS4wNTc5IDE1LjI0NjRWMy41ODQyOVYzLjU4NDI5Wk0xNy4zNzA3IDIwLjA4MDhMMTUuNTM0OCAxOC41NDIyVjEyLjQyMjZIMTMuODQ3NlYxNy4wOTFMMTAuOTM2NSAxNC42NDMxTDE3LjM3MDcgMy41MTQzNlYyMC4wODA4Wk01LjQ0NjM4IDI0LjE1NDZMMTUuNjEzNSAyOC40NzMzVjI5Ljc4NDZIMi4xOTQyOUw1LjQ0NjM4IDI0LjE1NDZWMjQuMTU0NlpNMjEuNzUwNSAyOS43ODQ2VjI5LjUzOThMMjkuNDg3NCAyMS44MDNMMzQuMDUwOCAyOS43ODQ2SDIxLjc1MDVaIiBmaWxsPSIjNDg0QjUwIi8+CjxwYXRoIGQ9Ik02Ny45MjY3IDI2LjYxOTlMNTkuMDI3MiA0LjgzNDQ0SDU2LjI4MjFMNDcuMzIxNCAyNi42MTk5SDQ5LjU2ODJMNTEuOTk4NSAyMC42MTQxSDYzLjE3OTdMNjUuNjE4OCAyNi42MTk5SDY3LjkyNjdWMjYuNjE5OVpNNTcuNTkzNSA2LjgyNzY2TDYyLjM1OCAxOC42MzgzSDUyLjgxMTVMNTcuNTkzNSA2LjgyNzY2VjYuODI3NjZaIiBmaWxsPSIjNDg0QjUwIi8+CjxwYXRoIGQ9Ik04Ny4xODU3IDEwLjY1NjdDODcuMTg1NyA3LjI5OTc0IDg0LjM0NDUgNC44MzQ0NCA4MC40OTggNC44MzQ0NEg3MS40MDYxVjI2LjYxOTlINzMuNTkxN1YxNy40NDA3SDgzLjI3OEM4NC4wNDczIDE3LjQ0OTQgODQuNjY4IDE4LjA3MDEgODQuNjg1NSAxOC44Mzk0VjI2LjYxOTlIODYuODM2MVYxNy40NDA3TDg1LjE4MzggMTUuNjkyMkM4Ni41NzM4IDE0LjM5ODQgODcuMzA4MSAxMi41NTM4IDg3LjE4NTcgMTAuNjU2N1YxMC42NTY3Wk04MC4xOTIgMTUuNDIxMkg3My41OTE3VjYuODYyNjNIODAuMTgzM0M4My4xODE4IDYuODYyNjMgODUuMDAwMiA4LjM4Mzc3IDg1LjAwMDIgMTAuOTcxNUM4NC45MzkgMTMuNDg5MiA4Mi44NDk2IDE1LjQ4MjQgODAuMzMxOSAxNS40M0M4MC4yNzk0IDE1LjQzIDgwLjIzNTcgMTUuNDMgODAuMTgzMyAxNS40M0g4MC4xOTJWMTUuNDIxMloiIGZpbGw9IiM0ODRCNTAiLz4KPHBhdGggZD0iTTEwMC45ODEgMjYuOTM0N0MxMDUuODI0IDI2LjkzNDcgMTA4LjQ5OSAyNC4xNzIxIDEwOS4yNDIgMjAuNDkxN0gxMDYuOTQzQzEwNi40NDUgMjIuNzM4NCAxMDUuMDI5IDI0LjkxNTIgMTAxLjEzIDI0LjkxNTJIMTAwLjgyNEM5NS44MjMgMjQuOTE1MiA5My4xNzQxIDIwLjc0NTIgOTMuMTc0MSAxNS43MjcyQzkzLjE3NDEgMTAuNzA5MiA5NS43OTY4IDYuNTQ3OSAxMDAuODI0IDYuNTQ3OUgxMDEuMTM4QzEwNS4wMzcgNi41NDc5IDEwNi45MTcgOC45NDMyNiAxMDcuMjU4IDExLjUzMDlIMTA5LjQ0M0MxMDkuMTk5IDcuNDgzMzEgMTA1Ljg1OSA0LjUzNzIgMTAxLjAxNiA0LjUzNzJDOTQuODAwMiA0LjUzNzIgOTEuMDIzNiA5LjM2Mjg4IDkxLjAyMzYgMTUuNzM1OUM5MS4wMjM2IDIyLjEwOSA5NC43NjUyIDI2LjkzNDcgMTAwLjk4MSAyNi45MzQ3VjI2LjkzNDdaIiBmaWxsPSIjNDg0QjUwIi8+CjxwYXRoIGQ9Ik0xMzEuNjc1IDI2LjYxOTlMMTIyLjc3NSA0LjgzNDQ0SDEyMC4wNTZMMTExLjA2MSAyNi42MTk5SDExMy4zMDdMMTE1Ljc0NiAyMC42MTQxSDEyNi45MjhMMTI5LjM2NyAyNi42MTk5SDEzMS42NzVWMjYuNjE5OVpNMTIxLjM0MSA2LjgyNzY2TDEyNi4xMTUgMTguNjM4M0gxMTYuNTU5TDEyMS4zNDEgNi44Mjc2NlY2LjgyNzY2WiIgZmlsbD0iIzQ4NEI1MCIvPgo8cGF0aCBkPSJNMTQyLjQ4IDI2LjYxOTlDMTQ4LjQxNiAyNi42MTk5IDE1Mi4zMjQgMjIuNjQyMyAxNTIuMzI0IDE1Ljc4ODRDMTUyLjMyNCA4LjkzNDUyIDE0OC40MTYgNC44MzQ0NCAxNDIuNDggNC44MzQ0NEgxMzQuOTg4VjI2LjYxOTlIMTQyLjQ4Wk0xMzcuMTc0IDYuODYyNjNIMTQyLjE3NEMxNDcuMjYyIDYuODYyNjMgMTUwLjEzOCAxMC4wMzYgMTUwLjEzOCAxNS43MjcyQzE1MC4xMzggMjEuNDE4NCAxNDcuMjYyIDI0LjYwMDUgMTQyLjE3NCAyNC42MDA1SDEzNy4xNzRWNi44NjI2M1Y2Ljg2MjYzWiIgZmlsbD0iIzQ4NEI1MCIvPgo8cGF0aCBkPSJNMTU4Ljk0MiAyNi42MTk5VjQuODM0NDRIMTU2Ljc3M1YyNi42MTk5SDE1OC45NDJaIiBmaWxsPSIjNDg0QjUwIi8+CjxwYXRoIGQ9Ik0xODMgMjYuNjE5OUwxNzQuMSA0LjgzNDQ0SDE3MS4zNDdMMTYyLjM4NiAyNi42MTk5SDE2NC42NDFMMTY3LjA4IDIwLjYxNDFIMTc4LjI2MkwxODAuNjkyIDI2LjYxOTlIMTgzVjI2LjYxOTlaTTE3Mi42NTggNi44Mjc2NkwxNzcuNDQgMTguNjM4M0gxNjcuODg1TDE3Mi42NTggNi44Mjc2NlY2LjgyNzY2WiIgZmlsbD0iIzQ4NEI1MCIvPgo8L3N2Zz4K",logoLabel:"Arcadia Scie
1nce",navItems:[{title:"Home",url:"/"},{title:"About",url:"/about"},{title:"FAQ",url:"/faq"}],twitterUrl:"https://twitter.com/arcadiascience"},z=(a(1227),Object.defineProperty),$=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable,V=(e,t,a)=>t in e?z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var q=e=>{const{copyright:t,addressLines:a,smallPrints:n,certification:r,iconLinks:o,links:i,fullWidthLink:s}=e,c=e.showEmailCallToAction?l.a.createElement("section",{className:"email-cta"},l.a.createElement("div",{className:"email-cta__container"},l.a.createElement("header",{className:"email-cta__header"},l.a.createElement("h2",{className:"email-cta__header_text"},"Be the first to read new articles from eLife")),l.a.createElement("a",{href:"/content-alerts",className:"button button--default email-cta__button"},"Sign up for email alerts"),l.a.createElement("div",{className:"email-cta__privacy"},l.a.createElement("a",{href:"/privacy"},"Privacy notice")))):null,u=e.showInvestorLogos?l.a.createElement("ol",{className:"investor-logos","aria-label":"eLife is funded by these organisations"},l.a.createElement("li",{className:"investor-logos__item"},l.a.createElement("div",{className:"investor-logos__container"},l.a.createElement("picture",{className:"investor-logos__picture"},l.a.createElement("img",{src:"https://assets.pubpub.org/dgeq38mv/hhmi-61688985707381.svg",alt:"Howard Hughes Medical Institute",className:"investor-logos__img"})))),l.a.createElement("li",{className:"investor-logos__item"},l.a.createElement("div",{className:"investor-logos__container"},l.a.createElement("picture",{className:"investor-logos__picture"},l.a.createElement("img",{src:"https://assets.pubpub.org/5rtntrl3/wellcome-41688985918441.svg",alt:"Wellcome Trust",className:"investor-logos__img"})))),l.a.createElement("li",{className:"investor-logos__item"},l.a.createElement("div",{className:"investor-logos__container"},l.a.createElement("picture",{className:"investor-logos__picture"},l.a.createElement("img",{src:"https://assets.pubpub.org/qa9475a1/max-21688985885552.svg",alt:"Max-Planck-Gesellschaft",className:"investor-logos__img"})))),l.a.createElement("li",{className:"investor-logos__item"},l.a.createElement("div",{className:"investor-logos__container"},l.a.createElement("picture",{className:"investor-logos__picture"},l.a.createElement("img",{src:"https://assets.pubpub.org/r5f43ng1/kaw-01688985845035.svg",alt:"Knut and Alice Wallenberg Foundation",className:"investor-logos__img"}))))):null;return l.a.createElement("div",{className:"two-column-footer-component"},c,u,l.a.createElement("footer",{className:"columns"},l.a.createElement("div",{className:"column left"},l.a.createElement("nav",{className:"footer-navigation"},l.a.createElement("ul",{className:"footer-navigation__list"},i.map(e=>l.a.createElement("li",{key:e.text,className:"footer-navigation__list_item"},l.a.createElement("a",{href:e.url},e.text))))),l.a.createElement("div",{className:"social-links","aria-label":"Social media links"},l.a.createElement("ul",{className:"social-links__list"},o.map(e=>l.a.createElement("li",{key:e.ariaLabel,className:"social-links__list_item"},l.a.createElement("a",{href:e.url,"aria-label":e.ariaLabel},l.a.createElement("svg",{width:"28",height:"28"},l.a.createElement("path",((e,t)=>
1{for(var a in t||(t={}))_.call(t,a)&&V(e,a,t[a]);if($)for(var a of $(t))H.call(t,a)&&V(e,a,t[a]);return e})({},e.pathProps)))))))),l.a.createElement("div",{className:"github-link-wrapper"},l.a.createElement("a",{href:s.url,className:"github-link"},l.a.createElement("svg",{width:"20",height:"20"},l.a.createElement("g",{id:"Page-1",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},l.a.createElement("g",{id:"github-logo-svg",fill:"#000000"},l.a.createElement("path",{d:s.path})))),l.a.createElement("div",{className:"github-link--text"},s.text))),r&&l.a.createElement("div",{className:"certification-wrapper"},l.a.createElement("a",{href:r.url,className:"certification-link"},l.a.createElement("img",{src:r.imageUrl,alt:r.alt})))),l.a.createElement("div",{className:"column right"},l.a.createElement("div",{className:"site-smallprint"},n.map(e=>l.a.createElement("p",null,l.a.createElement("small",{key:e.key},e.text))),l.a.createElement("p",null,l.a.createElement("address",null,a.map((e,t)=>l.a.createElement(l.a.Fragment,null,e,t<a.length-1&&l.a.createElement("br",null)))))),l.a.createElement("div",{className:"site-smallprint"},l.a.createElement("small",null,"© ",l.a.createElement("time",null,t.date)," ",t.attribution," Subject to a"," ",l.a.createElement("a",{href:t.url,rel:"license",className:"site-smallprint__copyright_link"},t.type),t.exception)))))};var W={certification:{url:"https://www.carbonfootprint.com/",alt:"Carbon Neutral Organisation carbon footprint standard [TM]",imageUrl:"https://assets.pubpub.org/umtgzgk9/carbon-neutral-org-11747831320464.svg"},copyright:{date:"2026",attribution:"eLife Sciences Publications Ltd.",url:"https://creativecommons.org/licenses/by/4.0/",type:"Creative Commons Attribution license",exception:", except where otherwise noted. ISSN: 2050-084X"},addressLines:["eLife Sciences Publications, Ltd","95 Regent Street","Cambridge CB2 1AW","UK"],fullWidthLink:{url:"https://github.com/elifesciences",path:"M9.99907916,1.72084569e-15 C4.47773105,1.72084569e-15 2.22044605e-16,4.5904205 2.22044605e-16,10.2533868 C2.22044605e-16,14.7833822 2.86503576,18.6260419 6.83876117,19.9818304 C7.33908346,20.0762447 7.5214095,19.7596422 7.5214095,19.4877292 C7.5214095,19.2441405 7.512815,18.5996059 7.50790386,17.7442129 C4.72635747,18.3635703 4.13947635,16.3695415 4.13947635,16.3695415 C3.68458209,15.1849574 3.02894503,14.8696139 3.02894503,14.8696139 C2.12099819,14.2338913 3.09770097,14.2464799 3.09770097,14.2464799 C4.10141502,14.3188641 4.62936247,15.30329 4.62936247,15.30329 C5.52134811,16.869937 6.97013414,16.417378 7.53982627,16.1549064 C7.63068234,15.4927479 7.88913104,15.0408184 8.17459099,14.784641 C5.95414224,14.525946 3.6195095,13.6460053 3.6195095,9.7171139 C3.6195095,8.59799041 4.00933116,7.68217225 4.64900703,6.96588286 C4.54587311,6.7065584 4.20270727,5.66359573 4.74722981,4.25241751 C4.74722981,4.25241751 5.5864207,3.97672792 7.4968538,5.30356275 C8.29430001,5.07570971 9.15006599,4.96241262 10.0003069,4.95800662 C10.849934,4.96241262 11.7050861,5.07570971 12.5037601,5.30356275 C14.4129654,3.97672792 15.2509285,4.25241751 15.2509285,4.25241751 C15.7966788,5.66359573 15.453513,6.7065584 15.350993,6.96588286 C15.9918966,7.68217225 16.3786488,8.59799041 16.3786488,9.7171139 C16.3786488,13.6560761 14.0403327,14.5227989 11.8131312,14.7764585 C12.1716443,15.0930609 12.4914822,15.7187126 12.4914822,16.6748142 C12.4914822,18.045709 12.4792044,19.1516145 12.4792044,19.4877292 C12.4792044,19.7621599 12.6596888,20.0812801 13.1667639,19.981201 C17.1374198,18.6222653 20,14.7821233 20,10.2533868 C20,4.5904205 15.5222689,1.72084569e-15 9.99907916,1.72084569e-15",text:"Find us on GitHub"},smallPrints:[{key:"non-profit",text:"\n\t\t\teLife is a non-profit organisation advancing open science by transforming how research is communicated, reviewed, and assessed. \n\t\t\tBy developing open tools and collaborating with research communities, institutions, and funders, we are building a fairer, more effective global research ecosystem.\n\t\t"},{key:"company-number",text:"\n\t\t\teLife Sciences Publications, Ltd is a limited liability non-profit\n\t\t\tnon-stock corporation incorporated in the State of Delaware, USA, with\n\t\t\tcompany number 5030732, and is registered in the UK with company number\n\t\t\tFC030576 and branch number BR015634 at the address:\n\t\t"}],iconLinks:[{url:"https://bsky.app/profile/did:plc:4irghgzlsjk6ugrekoqyl7km",ariaLabel:"Bluesky",pathProps:{d:"M14 12.8C12.913 10.686 9.954 6.747 7.202 4.805C4.566 2.944 3.561 3.266 2.902 3.565C2.139 3.908 2 5.08 2 5.768C2 6.458 2.378 11.418 2.624 12.247C3.439 14.983 6.337 15.907 9.007 15.611C9.143 15.591 9.282 15.572 9.422 15.555C9.284 15.577 9.146 15.595 9.007 15.611C5.095 16.191 1.62 17.616 6.177 22.689C11.19 27.879 13.047 21.576 14 18.381C14.953 21.576 16.05 27.652 21.733 22.689C26 18.381 22.905 16.191 18.993 15.611C18.8542 15.5956 18.7159 15.577 18.578 15.555C18.718 15.572 18.857 15.591 18.993 15.611C21.663 15.908 24.561 14.983 25.376 12.247C25.622 11.419 26 6.457 26 5.769C26 5.079 25.861 3.908 25.098 3.563C24.439 3.265 23.434 2.943 20.798 4.803C18.046 6.748 15.087 10.687 14 12.8Z",fill:"#000000",fillRule:"nonzero"}},{url:"https://www.linkedin.com/company/elife-sciences-publications-ltd",ariaLabel:"LinkedIn",pathProps:{d:"M22.3830154,22.3830154 L18.8384,22.3830154 L18.8384,16.832 C18.8384,15.5083077 18.8147692,13.8043077 16.9948308,13.8043077 C15.1486769,13.8043077 14.8662154,15.2465231 14.8662154,16.7356308 L14.8662154,22.3826462 L11.3216,22.3826462 L11.3216,10.9675077 L14.7244308,10.9675077 L14.7244308,12.5275077 L14.7720615,12.5275077 C15.465918,11.3411519 16.7560586,10.632589 18.1294769,10.6835692 C2
11.7220923,10.6835692 22.3844923,13.0466462 22.3844923,16.1208615 L22.3830154,22.3830154 Z M7.32209231,9.4071385 C6.1860511,9.40734236 5.26494244,8.48656431 5.26473849,7.3505231 C5.26453461,6.21448189 6.18531266,5.29337322 7.32135387,5.29316926 C8.45739508,5.29296537 9.37850375,6.21374341 9.37870773,7.34978462 C9.37880563,7.89533086 9.16218215,8.41857185 8.77649194,8.80440054 C8.39080174,9.19022923 7.86763855,9.40704054 7.32209231,9.4071385 M9.0944,22.3830154 L5.54609231,22.3830154 L5.54609231,10.9675077 L9.0944,10.9675077 L9.0944,22.3830154 Z M24.1501538,2.00147692 L3.76492308,2.00147692 C2.80147497,1.99060441 2.01138912,2.76234691 1.99963077,3.72578462 L1.99963077,24.1955692 C2.01098655,25.1594712 2.80100881,25.9319778 3.76492308,25.9218636 L24.1501538,25.9218636 C25.115975,25.9338359 25.9090911,25.1613738 25.9224615,24.1955692 L25.9224615,3.72430769 C25.9086895,2.75896671 25.1155091,1.98726833 24.1501538,1.9998447",id:"Path_2520",fill:"#212121",fillRule:"nonzero"}},{url:"https://twitter.com/elife",ariaLabel:"Twitter",pathProps:{d:"M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z",id:"Path",fill:"#000000",fillRule:"nonzero"}},{url:"https://fediscience.org/@eLife",ariaLabel:"Mastodon",pathProps:{d:"M11.5412949,0 C14.6936837,0.0250851513 17.7279692,0.357269448 19.4950021,1.1471931 C19.4950021,1.1471931 22.9995752,2.67324958 22.9995752,7.87958222 L23,8.27840764 C22.9948717,9.32900538 22.9399626,12.2394095 22.5108214,14.3877566 C22.1727192,16.0807457 19.4826471,17.9335557 16.3930961,18.2926354 C14.7820287,18.4797396 13.1958041,18.6517151 11.5043627,18.5762011 C8.73816776,18.4528442 6.55544838,17.9335557 6.55544838,17.9335557 C6.55544838,18.1956567 6.57205459,18.4452152 6.605267,18.6786105 C6.96489093,21.335697 9.312211,21.4948713 11.5357152,21.5690923 C13.7799439,21.6438306 15.7782681,21.0305374 15.7782681,21.0305374 L15.8704657,23.0052819 C15.8704657,23.0052819 14.3007146,23.8257215 11.5043627,23.9766203 C9.96237703,24.0591169 8.04774824,23.9388633 5.8177344,23.3643616 C0.981210876,22.1183796 0.149439349,17.1004442 0.022169409,12.0089343 C-0.0166226796,10.4972307 0.00729025582,9.07177343 0.00729025582,7.87958222 C0.00729025582,2.67324958 3.51199627,1.1471931 3.51199627,1.1471931 C5.27916201,0.357269448 8.31145476,0.0250851513 11.4638436,0 L11.5412949,0 Z M15.8599153,5 C14.461897,5 13.4033065,5.46697151 12.7035195,6.40103745 L12.0229667,7.39238391 L11.3425554,6.40103745 C10.642627,5.46697151 9.58403654,5 8.18615964,5 C6.97793807,5 6.00462882,5.36912752 5.26142334,6.08919046 C4.54070495,6.8092534 4.18190148,7.78253068 4.18190148,9.00730143 L4.18190148,15 L6.91358821,15 L6.91358821,9.1834452 C6.91358821,7.95732233 7.50716259,7.33498047 8.69445278,7.33498047 C10.0071899,7.33498047 10.6652556,8.0732355 10.6652556,9.5330285 L10.6652556,12.7167687 L13.3808194,12.7167687 L13.3808194,9.5330285 C13.3808194,8.0732355 14.0387436,7.33498047 15.3514807,7.33498047 C16.5387709,7.33498047 17.1323453,7.95732233 17.1323453,9.1834452 L17.1323453,15 L19.864032,15 L19.864032,9.00730143 C19.864032,7.78253068 19.5052285,6.8092534 18.7846516,6.08919046 C18.0413047,5.36912752 17.0679954,5 15.8599153,5 Z",id:"Combined-Shape",fill:"#212121",fillRule:"nonzero"}},{url:"https://www.instagram.com/elifesciences/",ariaLabel:"Instagram",pathProps:{d:"M13.9999762,4.16220594 C17.2041298,4.16220594 17.5836306,4.17440025 18.8489821,4.23213276 C20.0189703,4.28553056 20.6543612,4.48102079 21.0772565,4.64531072 C21.6373379,4.86299845 22.0371308,5.12308049 22.4570251,5.54297487 C22.8769195,5.96286924 23.1370016,6.36266203 23.3546416,6.92274348 C23.5189792,7.3456388 23.7144694,7.98102972 23.7678672,9.15097025 C23.8255997,10.4163695 23.8377941,10.7958701 23.8377941,14.0000238 C23.8377941,17.2041775 23.8255997,17.5836782 23.7678672,18.8490297 C23.7144694,20.0190179 23.5189792,20.6544088 23.3546416,21.0773041 C23.1370016,21.6373856 22.8769195,22.0371784 22.4570251,22.4570727 C22.0371308,22.8769671 21.6373379,23.1370492 21.0772565,23.3546892 C20.6543612,23.5190268 20.0189703,23.7145171 18.8489821,23.7679149 C17.5838211,23.8256473 17.2043204,23.8378417 13.9999762,23.8378417 C10.795632,23.8378417 10.4161313,23.8256473 9.15097025,23.7679149 C7.9809821,23.7145171 7.34559117,23.5190268 6.92274348,23.3546892 C6.3626144,23.1370492 5.9628216,22.8769671 5.54292723,22.4570727 C5.12303286,22.0371784 4.86295081,21.6373856 4.64531072,21.0773041 C4.48097317,20.6544088 4.28548292,20.0190179 4.23208512,18.8490774 C4.17435262,17.5836782 4.1621583,17.2041775 4.1621583,14.0000238 C4.1621583,10.7958701 4.17435262,10.4163695 4.23208512,9.15101788 C4.28548292,7.98102972 4.48097317,7.3456388 4.64531072,6.92274348 C4.86295081,6.36266203 5.12303286,5.96286924 5.54292723,5.54297487 C5.9628216,5.12308049 6.3626144,4.86299845 6.92274348,4.64531072 
1C7.34559117,4.48102079 7.9809821,4.28553056 9.15092262,4.23213276 C10.4163218,4.17440025 10.7958225,4.16220594 13.9999762,4.16220594 M13.9999762,2 C10.740948,2 10.3323429,2.01381388 9.05241535,2.07221326 C7.77510763,2.13051737 6.90283244,2.33334326 6.13949638,2.63000828 C5.35039031,2.93667645 4.68117918,3.34699637 4.01406396,4.01411159 C3.34694874,4.68122682 2.93662882,5.35043793 2.62996064,6.13954402 C2.33329562,6.90288008 2.13046973,7.77515526 2.07216562,9.05246298 C2.01376625,10.3323429 2,10.7409957 2,14.0000238 C2,17.259052 2.01376625,17.6677047 2.07216562,18.9475846 C2.13046973,20.2248924 2.33329562,21.0971676 2.62996064,21.8605036 C2.93662882,22.649562 3.34694874,23.3188208 4.01406396,23.985936 C4.68117918,24.6530513 5.35039031,25.0633712 6.13949638,25.3700394 C6.90283244,25.6667044 7.77510763,25.8695303 9.05241535,25.9278343 C10.3323429,25.9862338 10.740948,26 13.9999762,26 C17.2590043,26 17.667657,25.9862338 18.947537,25.9278343 C20.2248448,25.8695303 21.09712,25.6667044 21.860456,25.3700394 C22.649562,25.0633712 23.3187732,24.6530513 23.9858884,23.985936 C24.6530037,23.3188208 25.0633236,22.6496097 25.3699918,21.8605036 C25.6666568,21.0971676 25.8694827,20.2248924 25.9277867,18.9475846 C25.9861861,17.6677047 26,17.259052 26,14.0000238 C26,10.7409957 25.9861861,10.3323429 25.9277867,9.05246298 C25.8694827,7.77515526 25.6666568,6.90288008 25.3699918,6.13954402 C25.0633236,5.35043793 24.6530037,4.68122682 23.9858884,4.01411159 C23.3187732,3.34699637 22.649562,2.93667645 21.860456,2.63000828 C21.09712,2.33334326 20.2248448,2.13051737 18.947537,2.07221326 C17.667657,2.01381388 17.2590043,2 13.9999762,2 Z M13.9999762,7.8378417 C10.5967121,7.8378417 7.83779407,10.5967597 7.83779407,14.0000238 C7.83779407,17.4032879 10.5967121,20.162206 13.9999762,20.162206 C17.4032403,20.162206 20.1621583,17.4032879 20.1621583,14.0000238 C20.1621583,10.5967597 17.4032403,7.8378417 13.9999762,7.8378417 Z M13.9999762,18.0000477 C11.7908507,18.0000477 9.99995236,16.2091493 9.99995236,14.0000238 C9.99995236,11.7908983 11.7908507,10 13.9999762,10 C16.2091017,10 18,11.7908983 18,14.0000238 C18,16.2091493 16.2091017,18.0000477 13.9999762,18.0000477 Z M21.8455942,7.59438394 C21.8455942,8.38968246 21.2009145,9.03440967 20.405616,9.03440967 C19.6103175,9.03440967 18.9655903,8.38968246 18.9655903,7.59438394 C18.9655903,6.79908542 19.6103175,6.15440585 20.405616,6.15440585 C21.2009145,6.15440585 21.8455942,6.79908542 21.8455942,7.59438394 Z",id:"Shape",fill:"#212121",fillRule:"nonzero"}},{url:"https://www.youtube.com/channel/UCNEHLtAc_JPI84xW8V4XWyw",ariaLabel:"YouTube",pathProps:{d:"M14.3394034,5.00081974 C15.0650046,5.00416663 16.8547629,5.01866982 18.7408249,5.08151696 L19.3085648,5.10185861 L19.3085648,5.10185861 L19.8762758,5.12532402 C21.6678517,5.20481265 23.3716441,5.33464406 24.1578396,5.54670204 C25.2765782,5.84762249 26.157476,6.73428158 26.456476,7.86025886 C26.9532448,9.72604587 26.995825,13.4452634 26.9994747,14.0691357 L26.9994747,14.2486746 C26.995825,14.8725277 26.9532448,18.5916449 26.456476,20.457702 C26.157476,21.5835316 25.2765782,22.4701907 24.1578396,22.7712589 C23.3302654,22.9944175 21.4859633,23.126491 19.5927869,23.2046569 L19.0243355,23.2265266 C16.9417355,23.3010584 14.9171078,23.3148606 14.2386654,23.3174166 L13.7609683,23.3174166 C12.4040836,23.3123047 5.66245741,23.2622078 3.84179414,22.7712589 C2.72320323,22.4701907 1.84215778,21.5835316 1.54315778,20.457702 C1.06191297,18.6499592 1.00691357,15.1031629 1.00062792,14.316078 L1.00062792,14.0017303 C1.00691357,13.2146223 1.06191297,9.66774002 1.54315778,7.86025886 C1.84215778,6.73428158 2.72320323,5.84762249 3.84179414,5.54670204 C5.6210787,5.06678135 12.1001879,5.00801555 13.6602303,5.00081974 Z M11.1612194,10.2011473 L11.1612194,17.7986829 L17.8387126,14.0000603 L11.1612194,10.2011473 Z",id:"Combined-Shape",fill:"#222321"}},{url:"https://www.threads.com/@elifesciences",ariaLabel:"Threads",pathProps:{d:"M12.0662 15.9565C12.0662 15.2903 12.3864 14.2308 14.8726 14.2308C15.6347 14.2308 16.1044 14.286 16.7349 14.4274C16.5334 17.0371 15.2561 17.3816 14.0146 17.3816C13.3354 17.3816 12.0662 17.0274 12.0662 15.9565Z M5.20875 27H22.7912C23.9075 27 24.978 26.5566 25.7673 25.7673C26.5566 24.978 27 23.9075 27 22.7912
1V5.20875C27 4.09252 26.5566 3.02201 25.7673 2.23271C24.978 1.44342 23.9075 1 22.7912 1L5.20875 1C4.09252 1 3.02201 1.44342 2.23271 2.23271C1.44342 3.02201 1 4.09252 1 5.20875L1 22.7912C1 23.9075 1.44342 24.978 2.23271 25.7673C3.02201 26.5566 4.09252 27 5.20875 27ZM10.5323 10.6037C11.4536 9.2875 12.6691 8.774 14.351 8.774C15.5372 8.774 16.5464 9.17375 17.2679 9.92937C17.9877 10.6866 18.3989 11.7689 18.4931 13.1518C18.8918 13.3186 19.259 13.5152 19.5949 13.7416C20.9469 14.65 21.6911 16.0085 21.6911 17.5653C21.6911 20.8754 18.9774 23.75 14.0666 23.75C9.84975 23.75 5.46875 21.2962 5.46875 13.9935C5.46875 6.72975 9.71163 4.25 14.0536 4.25C16.0589 4.25 20.7632 4.54575 22.5312 10.3876L20.8737 10.8166C19.5055 6.65662 16.6374 5.99362 14.0097 5.99362C9.66287 5.99362 7.20588 8.63913 7.20588 14.2698C7.20588 19.3186 9.95213 21.9999 14.0666 21.9999C17.4515 21.9999 19.9751 20.2416 19.9751 17.666C19.9751 15.9126 18.5029 15.0741 18.4265 15.0741C18.1389 16.5773 17.3686 19.1074 13.9854 19.1074C12.0143 19.1074 10.3129 17.7456 10.3129 15.9614C10.3129 13.4134 12.7309 12.4904 14.6403 12.4904C15.3553 12.4904 16.2165 12.5391 16.6666 12.6301C16.6666 11.8534 16.0101 10.5241 14.3494 10.5241C12.869 10.5241 12.4644 10.9921 11.9931 11.5381L11.9541 11.582C11.6259 11.3626 10.5323 10.6037 10.5323 10.6037Z",fill:"#000000",fillRule:"nonzero"}},{url:"https://www.facebook.com/elifesciences",ariaLabel:"Facebook",pathProps:{d:"M26,14 C26,7.37257812 20.6274219,2 14,2 C7.37257813,2 2,7.37257812 2,14 C2,19.9895469 6.38822656,24.9539844 12.125,25.8542187 L12.125,17.46875 L9.078125,17.46875 L9.078125,14 L12.125,14 L12.125,11.35625 C12.125,8.34875 13.9165156,6.6875 16.6575781,6.6875 C17.9704766,6.6875 19.34375,6.921875 19.34375,6.921875 L19.34375,9.875 L17.8305781,9.875 C16.3398828,9.875 15.875,10.8000078 15.875,11.7489922 L15.875,14 L19.203125,14 L18.6710938,17.46875 L15.875,17.46875 L15.875,25.8542187 C21.6117734,24.9539844 26,19.9895469 26,14",id:"Fill-1",fill:"#0A0B09"}}],links:[{text:"About",url:"/about"},{text:"Jobs",url:"/jobs"},{text:"Who we work with",url:"/who-we-work-with"},{text:"Alerts",url:"/alerts"},{text:"Contact",url:"/contact"},{text:"Terms and Conditions",url:"/terms"},{text:"Privacy notice",url:"/privacy"},{text:"Inside eLife",url:"/inside-elife"},{text:"Monthly archive",url:"/archive/2023"},{text:"For the press",url:"/for-the-press"},{text:"Resources",url:"/resources"},{text:"XML and Data",url:"http://developers.elifesciences.org"}]},G=a(62),Y=a.n(G),K=a(1585),J=a(1575),Q=a(162),Z=a(155);let X;var ee=a(248),te=a(506),ae=Object.defineProperty,ne=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,oe=(e,t,a)=>t in e?ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ie=(e,t)=>{for(var a in t||(t={}))le.call(t,a)&&oe(e,a,t[a]);if(ne)for(var a of ne(t))re.call(t,a)&&oe(e,a,t[a]);return e};const se=e=>{var t;const{payload:a,instance:n}=e;if(!globalThis.navigator||"function"!=typeof(null==(t=null==globalThis?void 0:globalThis.navigator)?void 0:t.sendBeacon))return;const{context:l}=n.getState(),{timezone:r,os:{name:o},locale:i,campaign:s,userAgent:c}=l,{event:u,type:m,meta:{ts:d},properties:p}=a,b=s?Object.fromEntries(Object.entries(s).map(([e,t])=>["utm"+("name"===e?"Campaign":e.charAt(0).toUpperCase()+e.slice(1)),t])):{},h=ie(ie(ie({event:u,type:m,timestamp:d,timezone:r,locale:i,userAgent:c,os:o},p),(()=>{if(!document.referrer)return{referrer:null,unique:!0};const e=new URL(document.referrer),t=new URL(window.location.href);return{referrer:document.referrer,unique:e.origin!==t.origin}})()),b),g=JSON.stringify(h);navigator.sendBeacon("/api/ev",g)},ce=()=>({name:"analytics-plugin",page:se,track:se,loaded:()=>!0,ready:()=>!0}),ue={"google-analytics":{key:"google-analytics",name:"Google Analytics",needsGdprConsent:!0,load:e=>a.e(1).then(a.bind(null,1594)).then(({default:t})=>t({measurementIds:[e]}))},"simple-analytics":{key:"simple-analytics",name:"Simple Analytics",needsGdprConsent:!1,load:()=>a.e(2).then(a.bind(null,1595)).then(({default:e})=>e({autoCollect:!1}))}},me=Object.values(ue).filter(e=>e.needsGdprConsent).map(e=>e.key);var de=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const pe=e=>de(null,[e],(function*({appname:e="pubpub",canUseCustomAnalyticsProvider:t,gdprConsent:a,analyticsSettings:n}){const l=yield(e=>de(null,[e],(function*({shouldStub:e,canUseCustomAnalyticsProvider:t,gdprConsent:a,analyticsSettings:n}){const{type:l=null,credentials:r=null}=null!=n?n:{};if(e)return[{name:"stub-plugin",page:()=>{},track:()=>{},loaded:()=>!0,ready:()=>!0}];const o=[ce()];if(!t)return o;if(!l)return o;const i=ue[l];if(!i)throw new Error("Unknown analytics provider: "+l);if(i.needsGdprConsent&&!a)return o;const s=yield i.load(r);return[...o,s]})))({canUseCustomAnalyticsProvider:t,analyticsSettings:n,gdprConsent:a}),r=Object(te.a)({app:e,debug:!0,plugins:l});return yield((e,t)=>de(null,null,(function*(){const{plugins:a}=e.getState();me.some(e=>e in a)&&(yield Promise.all(me.map(a=>
1t?e.plugins.enable(a):e.plugins.disable(a,()=>{}))))})))(r,a),r})),be=[/^\/dash\/.*/,/^\/login/,/^\/signup/,/^\/password-reset/,/^\/superadmin/],he=({appname:e="pubpub",canUseCustomAnalyticsProvider:t,gdprConsent:a,analyticsSettings:l,locationData:r})=>{const o=be.some(e=>e.test(r.path)),[i,s]=Object(n.useState)((({stub:e}={stub:!1})=>Object(te.a)({app:"pubpub",debug:!0,plugins:[e?{name:"stub-plugin",page:()=>{},track:()=>{},loaded:()=>!0,ready:()=>!0}:ce()]}))({stub:o})),c=t&&null!==l;return Object(n.useEffect)(()=>{c&&!o&&pe({appname:e,canUseCustomAnalyticsProvider:t,gdprConsent:a,analyticsSettings:l}).then(s)},[Boolean(a&&c)]),i};var ge=a(164),fe=a(34),ye=a(123),ve=Object.defineProperty,Ee=Object.defineProperties,Oe=Object.getOwnPropertyDescriptors,we=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,je=(e,t,a)=>t in e?ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ke=(e,t)=>{for(var a in t||(t={}))Ce.call(t,a)&&je(e,a,t[a]);if(we)for(var a of we(t))Ne.call(t,a)&&je(e,a,t[a]);return e};const Se=e=>{var t,a,n,l,r,o;if("payload"in e){const{payload:t}=e;return"function"==typeof t?t():t}const{initialData:i,viewData:s}=e,{scopeData:c,communityData:u,locationData:m}=i;if(c.scope&&"pubId"in c.scope&&c.scope.pubId){const e=s.pubData;if(!e)return null;const n=Array.from(new Set((null!=(t=e.collectionPubs)?t:[]).map(e=>e.collectionId))).join(",")||void 0,l=Object(ge.a)(e,m);return{event:"pub",pubSlug:e.slug,pubId:e.id,pubTitle:e.title,collectionIds:n,collectionId:null==l?void 0:l.id,collectionTitle:null==l?void 0:l.title,collectionSlug:null==l?void 0:l.slug,primaryCollectionId:null==(a=Object(ye.a)(null==e?void 0:e.collectionPubs))?void 0:a.id,collectionKind:null==l?void 0:l.kind,communityId:e.communityId,communityName:u.title,communitySubdomain:u.subdomain,release:e.isRelease&&e.releaseNumber?e.releaseNumber:"draft"}}const d={communityId:u.id,communityName:u.title,communitySubdomain:u.subdomain},p=null==(n=null==c?void 0:c.elements)?void 0:n.activeCollection;if(p)return ke({event:"collection",collectionId:p.id,collectionTitle:p.title,collectionSlug:p.slug,collectionKind:Object(fe.c)(p.kind)},d);const b=null==s?void 0:s.pageData;return b?ke({event:"page",pageSlug:b.slug,pageTitle:b.title,pageId:b.id},d):(h=ke({event:"other"},d),g={communityId:null!=(l=u.id)?l:null,communityName:null!=(r=u.title)?r:"pubpub",communitySubdomain:null!=(o=u.subdomain)?o:"www"},Ee(h,Oe(g)));var h,g},Pe=e=>{const t=e,{analyticsInstance:a,gdprConsent:l}=t,r=((e,t)=>{var a={};for(var n in e)Ce.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&we)for(var n of we(e))t.indexOf(n)<0&&Ne.call(e,n)&&(a[n]=e[n]);return a})(t,["analyticsInstance","gdprConsent"]),{page:o,getState:i}=a,[s,c]=Object(n.useState)(!1),[u,m]=Object(n.useState)(!1),{plugins:d}=i(),p=Object.keys(d).length;Object(n.useEffect)(()=>{var e;if(s&&u)return;const{path:t}=r&&"initialData"in r?r.initialData.locationData:{path:""};if((e=>!!e&&be.some(t=>t.test(e)))(t))return;if(/^Not Found ·/.test(null==(e=window.document)?void 0:e.title))return;const a=Se(r);if(!a)return;if(!s)return o(a,{plugins:{all:!1,"analytics-plugin":!0}}),void c(!0);const n=((e,t)=>Object.entries(t).reduce((a,[n,l])=>{var r;if(t&&!(null==l?void 0:l.enabled))return a;if(!ue[n])return a;const o=l.enabled&&(e||!(null==(r=ue[n])?void 0:r.needsGdprConsent));return a[n]=o,a},{}))(Boolean(l),d);o(a,{plugins:ke({all:!1},n)}),m(!0)},[p])};var De=a(7);a(1228);var Ie=e=>{const{isMobile:t}=e,{scopeData:a}=Object(De.c)(),{activeCollection:n,activePub:r}=a.elements;let o="Community",i="office";return n&&(o="Collection",i="collection"),r&&(o="Pub",i="pubDoc"),l.a.createElement("div",{className:"scope-picker-component"},l.a.createElement(A.Z,{"aria-label":t?"Mobile Dash Menu":"Dashboard Menu",buttonContent:l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"top"},o),!t&&l.a.createElement("div",{className:"bottom"},"Dashboard")),buttonProps:{icon:l.a.createElement(A.O,{icon:i}),className:"scope-button",fill:!0,minimal:!0,rightIcon:"caret-down"},placement:t?"top-start":"bottom-start",className:"scope-picker-menu"},l.a.createElement(A.Hb,{isDashboard:!0})))};a(1229);var Te=e=>{const{className:t,isMobile:a}=e,{dashboardMenu:{activeMode:n,menuItems:r}}=Object(De.c)();
1return l.a.createElement("div",{className:o()("bottom-menu-component",t)},l.a.createElement("div",{className:"content"},l.a.createElement(Ie,{isMobile:a}),l.a.createElement("div",{className:"mode-menu-component"},l.a.createElement(A.Z,{"aria-label":"Dashboard Mode",buttonContent:l.a.createElement("div",{className:"current-mode"},n.mode),buttonProps:{className:"mode-button",fill:!0,minimal:!0,rightIcon:"caret-down"},className:"mode-menu",unstable_fixed:!0},l.a.createElement("div",{className:"mode-dropdown-component"},r.map(e=>{const{active:t,href:a,icon:n,title:r}=e;return l.a.createElement(A.bb,{href:a,key:r,text:l.a.createElement("div",{key:r,className:o()({menu:!0,active:t})},l.a.createElement("div",{className:"side-icon"},l.a.createElement(A.O,{icon:n})),l.a.createElement("div",{className:"side-text"},r))})}))))))},xe=a(224),Ae=a(6),Me=a(22),Le=a(4),Re=a(406),Fe=a(1562),Ue=a(1561);const Be=(e,t)=>e?"used"===t?"This URL is not available because it is in use by another Page or Collection.":"reserved"===t?"This URL is not available because it is reserved by PubPub.":"":"Collection requires a slug";var ze=a(71),$e=(a(1230),Object.defineProperty),_e=Object.defineProperties,He=Object.getOwnPropertyDescriptors,Ve=Object.getOwnPropertySymbols,qe=Object.prototype.hasOwnProperty,We=Object.prototype.propertyIsEnumerable,Ge=(e,t,a)=>t in e?$e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ye=(e,t)=>{for(var a in t||(t={}))qe.call(t,a)&&Ge(e,a,t[a]);if(Ve)for(var a of Ve(t))We.call(t,a)&&Ge(e,a,t[a]);return e},Ke=(e,t)=>_e(e,He(t));const Je=[{key:"tag",description:"A lightweight collection of thematically related pubs"},{key:"issue",description:"Organize your pubs into an issue of your journal"},{key:"book",description:"Arrange pubs into chapters for a longer texts"},{key:"conference",description:"Host a conference on PubPub"}];var Qe=e=>{const{isOpen:t,onClose:a}=e,{communityData:r}=Object(De.c)(),[i,s]=Object(n.useState)(!1),[u,m]=Object(n.useState)(null),[d,p]=Object(n.useState)(""),[b,h]=Object(n.useState)(""),g=Object(Re.a)({state:"tag"}),f=()=>(s(!0),m(null),Object(Ae.a)("/api/collections",{method:"POST",body:JSON.stringify({communityId:r.id,title:b,kind:g.state})}).then(e=>{window.location.href=Object(Me.a)({collectionSlug:e.slug})}).catch(e=>{s(!1);const t="forbidden-slug"===(null==e?void 0:e.type)?e.slugStatus:"available";if("available"!==t){const e=Be(b,t);p(e)}else m(e)}));return l.a.createElement(c.y,{className:"create-collection-dialog-component",isOpen:t,onClose:a},l.a.createElement(c.f,{className:"dialog-card",elevation:4},l.a.createElement("h4",null,"Create a new Collection"),l.a.createElement("div",{className:"collection-creation-controls"},l.a.createElement(c.i,null,l.a.createElement(c.r,{large:!0,className:"collection-title-input",placeholder:"Enter collection title...",value:b,onKeyDown:e=>{"Enter"===e.key&&b&&f()},onChange:e=>{h(e.target.value)}}),l.a.createElement(c.c,{large:!0,onClick:f,disabled:!b,loading:i},"Create")),u&&l.a.createElement(c.e,{className:"error-callout",intent:"warning",title:"Error creating Collection."}),d&&l.a.createElement(c.e,{className:"error-callout",intent:"danger",title:d}),l.a.createElement(Ue.a,Ke(Ye({},g),{"aria-label":"Choose collection type",className:"kind-buttons"}),Je.map(e=>{const{key:t,description:a}=e;return l.a.createElement(Fe.a,Ke(Ye({},g),{key:t,value:t}),e=>{var n=e,{checked:r}=n,i=((e,t)=>{var a={};for(var n in e)qe.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Ve)for(var n of Ve(e))t.indexOf(n)<0&&We.call(e,n)&&(a[n]=e[n]);return a})(n,["checked"]);return l.a.createElement("button",Ye({type:"button",className:o()(Le.a.BUTTON,Le.a.OUTLINED,"kind-button",r&&Le.a.ACTIVE)},i),l.a.createElement(A.O,{icon:Object(ze.c)(t).bpDisplayIcon}),l.a.createElement("div",{className:"text"},l.a.createElement("div",{className:"title"},t),l.a.createElement("div",null,a)))})})))))},Ze=(a(1231),Object.defineProperty),Xe=Object.defineProperties,et=Object.getOwnPropertyDescriptors,tt=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable,lt=(e,t,a)=>t in e?Ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,rt=(e,t)=>{for(var a in t||(t={}))at.call(t,a)&&lt(e,a,t[a]);if(tt)for(var a of tt(t))nt.call(t,a)&&lt(e,a,t[a]);return e},ot=(e,t)=>
1Xe(e,et(t));var it=e=>{const{className:t}=e,{locationData:a,communityData:r,scopeData:i,dashboardMenu:s}=Object(De.c)(),{activeTargetType:u,activePub:m,activeCollection:d}=i.elements,{activePermission:p}=i.activePermissions,b=a.params.collectionSlug||a.query.collectionSlug,h=a.params.pubSlug,{mode:g,subMode:f}=s.activeMode,[y,v]=Object(n.useState)(!1),[E,O]=Object(n.useState)(!1),w=Object(n.useRef)(null);let C=r.title,N=r.avatar,j=!1;d&&(C=d.title,N=d.avatar,j=!d.isPublic),m&&(C=m.title,N=m.avatar);const k=e=>{return t=null,a=null,n=function*(){var t,a;e.preventDefault();const n=null!=(t=new FormData(e.currentTarget).get("description"))?t:"";v(!0);try{const e=yield null==(a=w.current)?void 0:a.verify();if(!e)return;const t=yield Ae.a.post("/api/pubs/fromForm",{communityId:r.id,collectionId:d&&d.id,altcha:e,_honeypot:n});window.location.href="/pub/"+t.slug}finally{v(!1)}},new Promise((e,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((n=n.apply(t,a)).next())});var t,a,n},S={community:[{text:"Create Collection",onClick:()=>{O(!0)},minPermissions:"manage"},{text:"Create Pub",minPermissions:"manage"}],collection:[{text:"Create Pub",minPermissions:"manage"},d&&{text:"Visit Collection",href:"/"+d.slug}].filter(e=>Boolean(e)),pub:[{text:"Go to Pub",href:m?`/pub/${m.slug}${d?"?collectionSlug="+d.slug:""}`:void 0}]};return l.a.createElement("div",{className:o()("breadcrumbs-component",t)},l.a.createElement("div",{className:"breadcrumbs-content"},l.a.createElement(A.e,{avatar:N,initials:C[0],communityData:r,width:40,isBlock:!0}),l.a.createElement("div",{className:"titles"},l.a.createElement("div",{className:"title",title:C},C,j&&l.a.createElement(A.O,{icon:"lock2",className:"lock-icon",iconSize:20})),l.a.createElement("div",{className:"crumbs"},l.a.createElement("a",{className:"crumb truncate",href:Object(Me.a)({})},l.a.createElement(A.O,{icon:"office",iconSize:10}),l.a.createElement("span",{className:"bottom-text"},r.title)),d&&l.a.createElement(l.a.Fragment,null,l.a.createElement(A.O,{icon:"chevron-right",className:"crumb-icon",iconSize:12}),l.a.createElement("a",{className:"crumb truncate",href:Object(Me.a)({collectionSlug:b})},l.a.createElement(A.O,{icon:"collection",iconSize:10}),l.a.createElement("span",{className:"bottom-text"},d.title))),m&&l.a.createElement(l.a.Fragment,null,l.a.createElement(A.O,{icon:"chevron-right",className:"crumb-icon",iconSize:12}),l.a.createElement("a",{className:"crumb truncate",href:Object(Me.a)({collectionSlug:b,pubSlug:h})},l.a.createElement(A.O,{icon:"pubDoc",iconSize:10}),l.a.createElement("span",{className:"bottom-text"},m.title))),g&&l.a.createElement(l.a.Fragment,null,l.a.createElement(A.O,{icon:"chevron-right",className:"crumb-icon",iconSize:12}),l.a.createElement("a",{className:"crumb capitalize no-shrink",href:Object(Me.a)({collectionSlug:b,pubSlug:h,mode:g})},g)),f&&l.a.createElement(l.a.Fragment,null,l.a.createElement(A.O,{icon:"chevron-right",className:"crumb-icon",iconSize:12}),l.a.createElement("a",{className:"crumb no-shrink capitalize",href:Object(Me.a)({collectionSlug:b,pubSlug:h,mode:g,subMode:f})},f)))),l.a.createElement("div",{className:"breadcrumb-actions"},S[u].filter(e=>{const t=["view","edit","manage","admin"];return t.indexOf(p)>=("minPermissions"in e&&e.minPermissions?t.indexOf(e.minPermissions):-1)}).map(e=>{const t=ot(rt(rt({key:e.text,text:e.text,intent:xe.a.PRIMARY},"onClick"in e&&{onClick:e.onClick}),"href"in e&&{href:e.href}),{loading:"Create Pub"===e.text&&y,disabled:"Create Pub"!==e.text&&y,outlined:!0});if("Create Pub"===e.text){const a=t,{onClick:n}=a,r=((e,t)=>{var a={};for(var n in e)at.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&tt)for(var n of tt(e))t.indexOf(n)<0&&nt.call(e,n)&&(a[n]=e[n]);return a})(a,["onClick"]);return l.a.createElement("form",{key:e.text,onSubmit:k,style:{display:"flex",alignItems:"center",gap:"10px"}},l.a.createElement(A.b,{ref:w}),l.a.createElement(A.N,{name:"description"}),l.a.createElement(c.c,ot(rt({},r),{type:"submit"})))}return t.href?l.a.createElement(c.b,rt({},t)):l.a.createElement(c.c,rt({},t))}))),l.a.createElement(Qe,{isOpen:E,onClose:()=>{O(!1)}}))};a(1232);var st=()=>l.a.createElement("div",{className:"cms-mode-banner-component"},l.a.createElement(A.O,{icon:"eye-off",iconSize:16}),l.a.createElement("div",{className:"text"},"This community is in CMS mode: only logged-in Members can see this page. All other visitors will see a not-found page."));a(1233);var ct=function(){return l.a.createElement("div",{id:"about-container"},l.a.createElement(A.L,{containerClassName:"narrow"},l.a.createElement("h1",null,"Our Mission"),l.a.createElement("h2",null,"PubPub makes knowledge creation accessible to everyone."),l.a.createElement("p",null,"PubPub supports over three thousand communities, from peer-reviewed scholarly journals and books to 
1novel community publishing experiments, and everything in between. These communities are created and maintained by university presses, society publishers, library publishers, independent scholar-led publishers, academic departments, research labs, ad-hoc communities, individuals, and many others. PubPub provides infrastructure for each part of the publishing process, from drafting documents, conducting peer review, and hosting entire journal and book websites to collecting and displaying reader feedback and analytics."),l.a.createElement("h2",null,"Features, Benefits, and Tradeoffs"),l.a.createElement("p",null,"PubPub is an open-source, hosted, free-to-use content management system designed to help knowledge communities of all types collaboratively create and share knowledge online. PubPub’s flexible, extensible system allows communities to create the dynamic content that best represents their work, whether it’s a traditional academic journal, a book, a repository of interactive documents, a blog, all of the above, or something in between. If needed, PubPub then helps communities integrate their work into academic infrastructure like Crossref and Google Scholar without the need to remake it to conform to legacy expectations of how academic outputs are structured."),l.a.createElement("p",null,"PubPub is built for communities of all types, but may be ideal for you if your community:"),l.a.createElement("ul",null,l.a.createElement("li",null,"Wants to create web-native, dynamic content."),l.a.createElement("li",null,"Wants to collaborate on content creation."),l.a.createElement("li",null,"Wants to integrate your content into academic systems and formats like Crossref, Google Scholar, and JATS XML with as little effort as possible."),l.a.createElement("li",null,"Doesn’t have high levels of technical expertise on-staff."),l.a.createElement("li",null,"Doesn’t want to manage your own servers and worry about updates, plugin compatibility, or users breaking layouts.")),l.a.createElement("p",null,"PubPub may not be ideal if your community:"),l.a.createElement("ul",null,l.a.createElement("li",null,"Publishes primarily PDF content, or has an audience that primarily consumes content as PDF."),l.a.createElement("li",null,"Needs precise control over the look and feel of its website or its PDFs."),l.a.createElement("li",null,"Needs precise control over academic metadata or output formats like JATS XML."),l.a.createElement("li",null,"Needs or wants to self-host their technology.")),l.a.createElement("p",null,"To learn more about the features, benefits and tradeoffs of using PubPub, see our ",l.a.createElement("a",{href:"https://help.pubpub.org/getting-started"},"Getting Started guide"),"."),l.a.createElement("h2",null,"Technical Support"),l.a.createElement("p",null,"We offer forum-based, community support for all PubPub users. Feel free to post on our ",l.a.createElement("a",{href:"https://github.com/pubpub/pubpub/discussions"},"user forum")," at any time. If you need more support, consider becoming a"," ",l.a.createElement("a",{href:"https://knowledgefutures.org/membership"},"KFG Member"),". KFG Contributing Members and above receive email support, as well as strategy consultation and training from our team."),l.a.createElement("p",null,"For groups that want personalized support, we offer production, training, and strategy services for building high quality, effective publishing communities. Services include content production, editorial services, site design, back file import, training, interactive production, branding, and more."," ",l.a.createElement("a",{href:"/community-services"},"Learn more about our Community Services offerings"),"."),l.a.createElement("h2",null,"Roadmap & Contribution"),l.a.createElement("p",null,"PubPub maintains a high-level public roadmap"," ",l.a.createElement("a",{href:"https://github.com/orgs/pubpub/projects/9"},"on GitHub"),". To suggest a feature, report a bug, or inquire about contributing, start by browsing our"," ",l.a.createElement("a",{href:"https://github.com/pubpub/pubpub/issues"},"GitHub issues")," or posting to our ",l.a.createElement("a",{href:"https://github.com/pubpub/pubpub/discussions"},"user forum"),"."),l.a.createElement("h2",null,"Mission, Values, and Sustainability"),l.a.createElement("p",null,"PubPub provides open-source infrastru
1cture to publish knowledge credibly and tools to facilitate community participation. For-profit academic publishing models that mount paywalls to monopolize publicly funded research hinder the reach of public knowledge and thereby contradict the ultimate goal of its creators. At PubPub we value the creation of knowledge and advocate for the people that are contributing to our collective understanding."),l.a.createElement("p",null,"In the last several years, many once-independent publishing tools have been consolidated into closed platforms. We believe researchers need open-source, academically supported, end-to-end alternatives to these proprietary platforms and publishing models. In our vision of the future, knowledge communities play a lead role in building and maintaining our knowledge systems, reclaiming territory that was ceded to proprietary solutions."),l.a.createElement("p",null,"PubPub is built and maintained by the"," ",l.a.createElement("a",{href:"https://knowledgefutures.org"},"Knowledge Futures Group"),", a nonprofit organization dedicated to building public knowledge infrastructure. KFG is governed by an independent board, and supported and driven by Members."," ",l.a.createElement("a",{href:"https://knowledgefutures.org/membership"},"Membership")," allows individuals and organizations of all sizes to support open infrastructure; receive discounts on Community Services; receive additional support on our products; meet and share ideas with other innovative knowledge communities; and join a community passionate about the future of knowledge infrastructure and its development. If you value PubPub, we encourage you to"," ",l.a.createElement("a",{href:"https://knowledgefutures.org/membership"},"become a KFG Member"),"."),l.a.createElement("p",null,"We believe that for PubPub to succeed, it must be sustainable for the long term. For us, sustainability means primarily being supported by mission-oriented revenue streams, rather than being grant and gift-supported or relying on ancillary revenue streams."," ",l.a.createElement("a",{href:"https://notes.knowledgefutures.org/pub/oozjbyky"},"Learn more about our sustainability plans"),"."),l.a.createElement("h2",null,"Other Useful Resources"),l.a.createElement("ul",null,l.a.createElement("li",null,l.a.createElement("a",{href:"/explore"},"Check out our Explore Page")," for a curated list of some of the most interesting PubPub communities (and we're constantly on the lookout for new ones)."," "),l.a.createElement("li",null,l.a.createElement("a",{href:"https://help.pubpub.org"},"Visit our Help Site")," for guides and reference materials for setting up and maintaining communities."),l.a.createElement("li",null,l.a.createElement("a",{href:"https://knowledgefutures.us5.list-manage.com/subscribe?u=9b9b78707f3dd62d0d47ec03d&id=be26e45660"},"Subscribe to our our twice-monthly newsletter")," ","for useful community and product updates."),l.a.createElement("li",null,l.a.createElement("a",{href:"https://twitter.com/pubpub"},"Follow us on Twitter")," for great examples of communities using PubPub effectively."),l.a.createElement("li",null,l.a.createElement("a",{href:"https://github.com/pubpub/pubpub"},"Browse our GitHub Repository")," ","to see our code, as well as the latest development activiy."),l.a.createElement("li",null,"If you have questions or are interested in collaborating, get in touch directly at"," ",l.a.createElement("a",{href:"mailto:[email protected]?subject=About+Page+Question"},"[email protected]"),".")),l.a.createElement("p",null,"—The PubPub Team")))};var ut=e=>{const{layoutPubsByBlock:t,layout:a,collection:n}=e;if(a){const{blocks:e,isNarrow:r}=a;return l.a.createElement(A.S,{blocks:e,isNarrow:r,layoutPubsByBlock:t,collection:n})}return null},mt=a(37),dt=a(1564);a(1234);const pt=dt.a.ofType();var bt=({templates:e,selectedTemplateId:t,onSelect:a,hubCommunities:r,cloneEnabled:o,cloneCommunityId:i,onCloneCommunitySelect:s})=>{const[u,m]=Object(n.useState)(!1),d=[{id:null,title:"Blank Community",description:"Start from scratch with a single welcome page.",avatar:null},...e.map(e=>
1({id:e.id,title:e.title,description:e.description,avatar:e.avatar}))],p=u?d:d.slice(0,6),b=d.length>6,h="__clone__"===t,g=r.find(e=>e.id===i)||null;return l.a.createElement("div",{className:"template-picker-cards"},l.a.createElement("div",{className:"template-picker-cards-label"},"Choose a starting template"),l.a.createElement("div",{className:"template-picker-cards-grid"},p.map(e=>{var n;const r=!h&&e.id===t;return l.a.createElement("button",{key:null!=(n=e.id)?n:"blank",type:"button",className:"template-card"+(r?" selected":""),onClick:()=>a(e.id)},l.a.createElement("div",{className:"template-card-icon"},e.avatar?l.a.createElement("img",{src:e.avatar,alt:""}):l.a.createElement(c.q,{icon:null===e.id?"document":"layout-grid",iconSize:24})),l.a.createElement("div",{className:"template-card-body"},l.a.createElement("div",{className:"template-card-title"},e.title),e.description&&l.a.createElement("div",{className:"template-card-desc"},e.description.length>80?e.description.slice(0,80)+"…":e.description)),l.a.createElement("div",{className:"template-card-radio"},l.a.createElement("div",{className:"radio-dot"+(r?" checked":"")})))}),o&&r.length>0&&l.a.createElement("button",{type:"button",className:"template-card"+(h?" selected":""),onClick:()=>a("__clone__")},l.a.createElement("div",{className:"template-card-icon"},l.a.createElement(c.q,{icon:"duplicate",iconSize:24})),l.a.createElement("div",{className:"template-card-body"},l.a.createElement("div",{className:"template-card-title"},"Clone from Community"),l.a.createElement("div",{className:"template-card-desc"},"Copy the layout and branding from an existing community in this hub.")),l.a.createElement("div",{className:"template-card-radio"},l.a.createElement("div",{className:"radio-dot"+(h?" checked":"")})))),h&&l.a.createElement("div",{className:"clone-community-select"},l.a.createElement("div",{className:"clone-select-label"},"Clone layout from"),l.a.createElement(pt,{items:r,itemPredicate:(e,t)=>t.title.toLowerCase().includes(e.toLowerCase())||t.subdomain.toLowerCase().includes(e.toLowerCase()),itemRenderer:(e,{handleClick:t,modifiers:a})=>l.a.createElement(c.u,{key:e.id,className:"clone-community-item"+(e.id===i?" selected":""),active:a.active,onClick:t,text:l.a.createElement("div",{className:"clone-item-row"},l.a.createElement("div",{className:"clone-item-icon"},e.avatar?l.a.createElement("img",{src:e.avatar,alt:""}):l.a.createElement(c.q,{icon:"globe",iconSize:20})),l.a.createElement("div",{className:"clone-item-text"},l.a.createElement("div",{className:"clone-item-title"},e.title),l.a.createElement("div",{className:"clone-item-slug"},e.subdomain,".pubpub.org")))}),onItemSelect:e=>s(e.id),popoverProps:{minimal:!0,popoverClassName:"clone-community-popover"},filterable:r.length>8,noResults:l.a.createElement(c.u,{disabled:!0,text:"No communities found"})},l.a.createElement(c.c,{rightIcon:"caret-down",fill:!0,alignText:"left",className:"clone-trigger-button"},g?l.a.createElement("span",{className:"clone-trigger-content"},l.a.createElement("span",{className:"clone-trigger-icon"},g.avatar?l.a.createElement("img",{src:g.avatar,alt:""}):l.a.createElement(c.q,{icon:"globe",iconSize:18})),l.a.createElement("span",{className:"clone-trigger-text"},l.a.createElement("span",{className:"clone-trigger-title"},g.title),l.a.createElement("span",{className:"clone-trigger-slug"},g.subdomain,".pubpub.org"))):"Select a community..."))),b&&!u&&l.a.createElement(c.c,{minimal:!0,small:!0,icon:"more",text:`Show ${d.length-6} more templates`,onClick:()=>m(!0),style:{marginTop:8}}))},ht=(a(1235),a(18)),gt=Object.defineProperty,ft=Object.defineProperties,yt=Object.getOwnPropertyDescriptors,vt=Object.getOwnPropertySymbols,Et=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,wt=(e,t,a)=>t in e?gt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ct=(e,t)=>{for(var a in t||(t={}))Et.call(t,a)&&wt(e,a,t[a]);if(vt)for(var a of vt(t))Ot.call(t,a)&&wt(e,a,t[a]);return e};const Nt=({subdomain:e,hubName:t})=>{const a=Object(n.useRef)(null),r=Object(ht.d)({subdomain:e});return Object(n.useEffect)(()=>{a.current&&(e=>{const t=document.createElement("script");t.type="module",t.src="https://donorbox.org/widgets.js",t.async=!0;const a=document.createElement("dbox-widget");a.setAttribute("campaign","pubpub-sustainability-fund"),a.setAttribute("type","donation_form"),a.setAttribute("enable-auto-scroll","true"),e.appendChild(t),e.appendChild(a)})(a.current)},[]),l.a.createElement("div",{className:"community-created-layout"},l.a.createElement("div",{className:"community-created-text"},l.a.createElement("h1",null,"Community Created!"),t?l.a.createElement("p",null,"Your community has been created and approved as part of the"," ",l.a.createElement("strong",null,t)," hub. You can start using it right away."):l.a.createElement("p",null,'Your community has been successfully created but is not yet publicly visible. All features remain available, but only logged-in Members will be able to view the community. When you\'re ready for it to be publicly visible, click "Request Approval" in the banner at the bottom of the page.'),l.a.createElement("h2",null,"Your Support Keeps PubPub Free and Open"),l.a.createElement("p",null,"PubPub is stewarded by a nonprofit hub,"," ",l.a.createElement("a",{href:"https://knowledgefutures.org",target:"_blank",rel:"noopener noreferrer"},"Knowledge Futures"),", and kept free and open through support from communities like yours. If this platform helps your work, please consider making a donation to help sustain and improve it for everyone."),l.a.createElement("a",{href:r,className:`${Le.a.BUTTON} ${Le.a.INTENT_PRIMARY} ${Le.a.LARGE} continue-button`},"Continue to your community")),l.a.createElement("div",{className:"community-created-donate",ref:a}))},jt=({hub:e})=>{const t=e.accentColorDark||"#2D2E2F",a=e.accentColorLight||"#FFFFFF";return l.a.createElement("div",{className:"hub-branded-header",style:{backgroundColor:t}},l.a.createElement("div",{className:"hub-branded-header-inner"},l.a.createElement("a",{href:"/hub/"+e.slug,className:"hub-branded-back",style:{color:a}},l.a.createElement("span",{className:"back-arrow"},"←"),e.avatar&&l.a.createElement("img",{className:"hub-branded-avatar",src:e.avatar,alt:""}),l.a.createElement("span",{className:"hub-branded-name"},e.title))))};var kt=e=>{var t,a,r,o;const{hubData:i,templates:s=[],hubCommunities:u=[],kfOrgs:m=[]}=e,{loginData:d,locationData:p}=Object(De.c)(),b=Object(n.useRef)(null),h=(null==i?void 0:i.slug)||(null==(t=null==p?void 0:p.query
1)?void 0:t.hub)||null,[g,f]=Object(n.useState)(""),[y,v]=Object(n.useState)(""),[E,O]=Object(n.useState)(""),[w,C]=Object(n.useState)(""),[N,j]=Object(n.useState)("#2D2E2F"),[k,S]=Object(n.useState)("#FFFFFF"),[P,D]=Object(n.useState)(!1),[I,T]=Object(n.useState)(!1),[x,M]=Object(n.useState)(void 0),[L,R]=Object(n.useState)(!1),[F,U]=Object(n.useState)(null),[B,z]=Object(n.useState)(null),$=m.find(e=>"personal"===e.type),[_,H]=Object(n.useState)(null!=(o=null!=(r=null==$?void 0:$.id)?r:null==(a=m[0])?void 0:a.id)?o:null),V=!!i,q=(null==i?void 0:i.accentColorDark)||"#2D2E2F";return l.a.createElement("div",{id:"community-create-container",className:V?"hub-branded":""},V&&l.a.createElement(jt,{hub:i}),l.a.createElement(A.L,{containerClassName:L?void 0:V?"wide":"small"},!d.id&&l.a.createElement(c.v,{title:"To create your community, create an account or login.",visual:"error",action:l.a.createElement("a",{href:"/login?redirect=/community/create"+(h?"?hub="+h:""),className:Le.a.BUTTON},"Login or Signup")}),d.id&&L&&l.a.createElement(Nt,{subdomain:g,hubName:null==i?void 0:i.title}),d.id&&!L&&l.a.createElement("div",{className:V?"hub-create-layout":""},l.a.createElement("div",{className:V?"hub-create-left":""},l.a.createElement("h1",null,V?l.a.createElement(l.a.Fragment,null,"Create a New Community"):"Create Community"),V&&l.a.createElement("div",{className:"hub-context-banner",style:{borderLeftColor:q}},i.avatar&&l.a.createElement("img",{className:"hub-context-avatar",src:i.avatar,alt:""}),l.a.createElement("div",{className:"hub-context-text"},l.a.createElement("span",{className:"hub-context-label"},"Creating within"),l.a.createElement("strong",{className:"hub-context-name"},i.title))),V?l.a.createElement("p",null,"Communities created within a hub are automatically approved and publicly visible. Metadata about your community will be visible to hub managers. You can disconnect your community from the hub at any time. By creating this community, you agree to our"," ",l.a.createElement("a",{href:"/legal/terms"},"Terms of Service")," and"," ",l.a.createElement("a",{href:"/legal/aup"},"Acceptable Use Policy"),"."):l.a.createElement("p",null,"New communities are currently subject to approval for compliance with our ",l.a.createElement("a",{href:"/legal/terms"},"Terms of Service")," and"," ",l.a.createElement("a",{href:"/legal/aup"},"Acceptable Use Policy"),". Before approval, all features and functionality are available, but only logged in Members will be able to view the community. When you're ready for your community to be publicly visible, you can request approval from within the community."),V&&l.a.createElement(bt,{templates:s,selectedTemplateId:F,onSelect:U,hubCommunities:u,cloneEnabled:"off"!==(null==i?void 0:i.communityCloneAccess)&&u.length>0,cloneCommunityId:B,onCloneCommunitySelect:z})),l.a.createElement("div",{className:V?"hub-create-right":""},V&&l.a.createElement("h2",{className:"hub-create-form-heading"},"Community Details"),l.a.createElement("form",{onSubmit:e=>{return t=null,a=null,n=function*(){var t,a;if(e.preventDefault(),T(!0),!P)return!1;const n=null!=(t=new FormData(e.currentTarget).get("website"))?t:"",l={subdomain:g,title:y,description:E,headerLogo:w,heroLogo:w,accentColorLight:k,accentColorDark:N,_honeypot:n},r=yield null==(a=b.current)?void 0:a.verify();if(!r)return void T(!1);const o="__clone__"===F?null:F;try{yield Ae.a.post("/api/communities",Ct(Ct(Ct(Ct((i=Ct({},l),s={altcha:r},ft(i,yt(s))),h?{hubSlug:h}:{}),o?{templateId:o}:{}),"__clone__"===F&&B?{cloneCommunityId:B}:{}),_?{kfOrgId:_}:{})),T(!1),R(!0)}catch(e){return T(!1),void(e instanceof Error?M(e.message):M("string"==typeof e?e:"Error Creating Community"))}var i,s},new Promise((e,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((n=n.apply(t,a)).next())});var t,a,n}},l.a.createElement(A.N,{name:"website"}),l.a.createElement(A.R,{label:"URL",isRequired:!0,value:g,onChange:e=>{f(Object(mt.f)(e.target.value))},helperText:`https://${g||"[URL]"}.pubpub.org`,error:x?"URL already used"===x?"URL already in use by another community":"Error Creating Community":void 0}),l.a.createElement(A.R,{label:"Title",isRequired:!0,value:y,onChange:e=>{v(e.target.value)}}),l.a.createElement(A.R,{label:"Description",isTextarea:!0,value:E,onChange:e=>{O(e.target.value.substring(0,280).replace(/\n/g," "))},helperText:E.length+"/280 characters"}),m.length>1&&l.a.createElement(A.R,{label:"Organization"},l.a.createElement("div",{className:Le.a.HTML_SELECT},l.a.createElement("select",{value:null!=_?_:"",onChange:e=>H(e.target.value||null)},m.map(e=>l.a.createElement("option",{key:e.id,value:e.id},e.name,"personal"===e.type?" (Personal)":""))))),F?l.a.createElement(c.e,{intent:"none",icon:"info-sign",style:{marginBottom:16}},"__clone__"===F?"The community logo and accent colors will be copied from the selected community.":"The community logo and accent colors will be set by the selected template."):l.a.createElement(l.a.Fragment,null,l.a.createElement(A.P,{htmlFor:"large-header-logo-upload",label:"Community Logo",defaultImage:w,height:60,width:150,onNewImage:e=>{C(e)},helperText:"Used on the landing page. Suggested height: 200px"}),l.a.createElement(A.R,{label:"Light Accent Color"},l.a.createElement(A.o,{value:k,onChange:e=>{S(e.hex)}})),l.a.createElement(A.R,{label:"Dark Accent Color"},l.a.createElement(A.o,{value:N,onChange:e=>{j(e.hex)}}))),l.a.createElement(A.R,null,l.a.createElement(c.g,{checked:P,onChange:()=>{D(!P)}},"I have read and agree to the PubPub"," ",l.a.createElement("a",{href:"/legal/terms",target:"_blank"},"Terms of Service")," ","and"," ",l.a.createElement("a",{href:"/legal/privacy",target:"_blank"},"Privacy Policy"),".")),l.a.createElement(A.b,{ref:b,auto:"onload"}),l.a.createElement(c.c,{name:"create",type:"submit",className:`${Le.a.BUTTON} ${Le.a.INTENT_PRIMARY} create-account-button`,text:"Create Community",disabled:!g||!y||!P||"__clone__"===F&&!B,loading:I}),x&&"URL already used"!==x&&l.a.createElement("p",{className:"error-message"},x))))))};a(1236);var St=({title:e,options:t,tooltips:a,prices:r,initOption:o,description:i,discounts:s,setVal:u})=>{const[m,d]=Object(n.useState)(o);return l.a.createElement("div",{className:"service-option"},l.a.createElement("div",{className:"option-title-row"},l.a.createElement("div",{className:"option-title"},e),s&&l.a.createElement("div",{className:"option-discount"},s[m])),l.a.createElement("div",{className:"option-row"},l.a.createElement(c.d,null,t.map((t,n)=>{const r=a?a[n]:"";return l.a.createElement(c.N,{key:t,content:r},l.a.createElement(c.c,{text:t,active:m===n,disabled:"Requires Content Production"===t,onClick:()=>{d(n),u({[e]:n})}}))}
1)),l.a.createElement("div",{className:"option-price"},r[m])),l.a.createElement("div",{className:"option-description"},i))},Pt=(a(1237),Object.defineProperty),Dt=Object.defineProperties,It=Object.getOwnPropertyDescriptors,Tt=Object.getOwnPropertySymbols,xt=Object.prototype.hasOwnProperty,At=Object.prototype.propertyIsEnumerable,Mt=(e,t,a)=>t in e?Pt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Lt=(e,t)=>{for(var a in t||(t={}))xt.call(t,a)&&Mt(e,a,t[a]);if(Tt)for(var a of Tt(t))At.call(t,a)&&Mt(e,a,t[a]);return e},Rt=(e,t)=>Dt(e,It(t));var Ft=()=>{const e=[{title:"Content Production",options:["None","Low Volume","Medium Volume","High Volume"],tooltips:["","~10 articles or chapters per year","~20-30 articles or chapters per year","50+ articles or chapters per year"],prices:["$0","$4,000 - $5,000","$9,000 - $15,000","$20,000+"],initOption:0,description:"We ingest finalized, copyedited content into PubPub for you, assure its quality, implement necessary revisions, assign DOIs (if applicable), and implement any Pub design. Content on PubPub does not require typesetting and can be exported to many different file types, including PDF."},{title:"Copyediting",options:{None:["Requires Content Production"],"Low Volume":["Do not Include","Include"],"Medium Volume":["Do not Include","Include"],"High Volume":["Do not Include","Include"]},prices:{None:["$0"],"Low Volume":["$0","$2,000 - $3,000"],"Medium Volume":["$0","$3,000 - $5,000"],"High Volume":["$0","$5,000+"]},initOption:0,description:"Our copyeditors edit and format articles for grammar, clarity, and style requirements. Average turnaround time: 1 week."},{title:"Embedded Managing Editor",options:{None:["Requires Content Production"],"Low Volume":["Do not Include","Include"],"Medium Volume":["Do not Include","Include"],"High Volume":["Do not Include","Include"]},prices:{None:["$0"],"Low Volume":["$0","$5,000"],"Medium Volume":["$0","$10,000 - $15,000"],"High Volume":["$0","$20,000+"]},initOption:0,description:"We assign one person from our team to work as your dedicated production point person. This work includes regular calls, communication with authors, and providing general publication strategy as well as insights. Teams who find this service most useful include those that publish on a regular basis but do not have the internal bandwidth to manage these activities nor the budget to hire an additional full-time person to do so."},{title:"Text to Audio",options:["None","Low Volume","Medium Volume","High Volume"],tooltips:["","~10 articles or chapters per year","~20-30 articles or chapters per year","50+ articles or chapters per year"],prices:["$0","$1,500 - $2,000","$3,000 - $4,000","$5,000+"],initOption:0,description:"We'll enhance your community's accessibility and expand its reach by generating crisp audio versions of your text with support for 100+ natural sounding synthetic narration voices in 70+ languages. Our editors will proof listen to ensure high quality sound delivery and accuracy."},{title:"Archiving & Indexing",options:["None","Low Volume","Medium Volume","High Volume"],tooltips:["","~10 articles or chapters per year","~20-30 articles or chapters per year","50+ articles or chapters per year"],prices:["$0","$2,500 - $3,000","$4,000 - $5,000","$6,000+"],initOption:0,description:"We'll work in partnership to enhance discoverability of your publications with customizable XML transformation and, or project support for relevant A&I services. For example: PubMed Central, Web of Science, Scopus, EBSCOhost, ProQuest, HeinOnline, Directory of Open Access Journals (DOAJ), Directory of Open Access Books (DOAB), and others."},{title:"Interactives",options:["Do not Include","Include"],prices:["$0","$500/interactive"],initOption:0,description:"We work with you or directly with your authors to develop media and/or interactive elements to enhance your Community. Our focus is always on more effectively communicating the message(s) of your content."},{title:"OER Course Presentations",options:["Do not Include","Include"],prices:["$0","$5,000 - $10,000 / presentation"],initOption:0,description:"We'll provide technical and design support to convert curricula into interactive course presentations featuring interactive summaries, multiple-choice questions, videos, and various other H5P content types necessary to convey learning objectives."}
1,{title:"Community Structure and Design",options:["Do not Include","Include"],prices:["$0","$2,000 - $3,000"],initOption:0,description:"We believe the content you publish (and how you want readers to understand and interact with it) should inform the structure and design of your community on PubPub. We'll work with you to understand your content—from traditional journal articles and books, to rviews, to video tutorials—in order to design a space that best supports your work."},{title:"Back File Import",options:["Do not Include","Include"],prices:["$0","$1,000 - $5,000"],initOption:0,description:"We help you migrate years of existing content into PubPub so that your existing publication can start its new phase on PubPub without losing its history and archives. This activity often also makes past work more discoverable and navigable for readers."},{title:"Training",options:["Do not Include","Include"],prices:["$0","$500"],initOption:0,description:"We offer two recorded training sessions of up to 90 minutes on a one-off or ongoing (yearly) basis for your team. These sessions cover basics on how to use PubPub, specifics on your group's workflow, and leave plenty of time for your team to practice and ask questions."},{title:"Branding",options:["Do not Include","Include"],prices:["$0","$4,500 - $5,500"],initOption:0,description:"Our design team will develop a brand and design scheme for your Community. Groups that find this most useful are those who are starting a new publication, such as a journal, and need a brand to inform the design and appearance of their PubPub Community and other possible communication elements, such as a newsletter."},{title:"Knowledge Futures Membership",options:["None","Supporter","Contributor","Network"],prices:["$0","$60","$1,150 - $12,500","Custom"],initOption:2,description:l.a.createElement(l.a.Fragment,null,"PubPub is built and maintained by"," ",l.a.createElement("a",{href:"https://www.knowledgefutures.org"},"Knowledge Futures Group"),", a nonprofit organization dedicated to building public knowledge infrastructure. KFG is supported by Members."," ",l.a.createElement("a",{href:"https://www.knowledgefutures.org/membership"},"Membership")," allows individuals and organizations of all sizes to support open infrastructure; receive discounts on Community Services; receive additional support on our products; meet and share ideas with other innovative knowledge communities; and join a community passionate about the future of knowledge infrastructure and its development."),discounts:["0% discount on all services","5% discount on all services","10% discount on all services","15% discount on all services"]}],[t,a]=Object(n.useState)(e.reduce((e,t)=>Rt(Lt({},e),{[t.title]:t.initOption}),{})),[r,o]=Object(n.useState)(""),[i,s]=Object(n.useState)(""),[u,m]=Object(n.useState)(!1),[d,p]=Object(n.useState)(!1),b=e=>{a(Lt(Lt({},t),e))},h=[{url:"https://hdsr.mitpress.mit.edu/",img:"/static/landing/hdsr.png",title:"Harvard Data Science Review",source:"Harvard Data Science Initiative"},{url:"https://mit-serc.pubpub.org/",img:"/static/landing/serc.png",title:"The MIT Case Studies in Social and Ethical Responsibilities of Computing",source:"MIT Schwarzman College of Computing"},{quote:l.a.createElement(l.a.Fragment,null,"\"The amazing partnership and expertise of the PubPub team have allowed our editors to work with our authors in exciting new ways. They've helped us to develop works in progress, offer supplements and updates to traditionally published books, and produce enhanced digital editions (such as"," ",l.a.createElement("a",{href:"https://www.frankenbook.org/"},"Frankenbook"),') with innovative features to support teaching and learning. The future of publishing is here, and PubPub is helping us to take advantage of all that the digital medium can offer."'),source:"Gita Manaktala, Editorial Director, MIT Press"},{quote:l.a.createElement(l.a.Fragment,null,'"PubPub has been the ideal technology publishing partner for'," ",l.a.createElement("i",null,"Harvard Data Science Review"),' since launching in 2019. The talented team is flexible, easy to work with, and always aligned with our goals and what we are trying to accomplish."'),source:"Rebecca McLeod, Managing Director, Harvard Data Science Review"},{url:"https://tmb.apaopen.org/",img:"/static/landing/tmb.png",title:"Technology, Mind, and Behavior",source:"American Physcological Association"}
1,{url:"https://phone-and-spear.pubpub.org/",img:"/static/landing/ps.png",title:"Phone & Spear",source:"Goldsmiths Press"},{quote:'"The PubPub team is bringing academic publishing into the 21st century. For decades I have been hoping to embed interactivity into figures and tables, and for the first time in my career I was able to do so with PubPub. The team\'s innovation and experience made for an incredible collaboration."',source:'Jeremy Bailenson, Author, "A Theoretical Argument for the Causes of Zoom Fatigue"'},{quote:'"Dawit and the PubPub team have been great in helping our article to be more interactive and exciting. Their expertise and open-minded approach have allowed us to present our work in a way that engages much more with our readers. Collaborating with the PubPub team has been a smooth and enriching experience, where we learned and experimented together with great fun!"',source:'Silvio Carta,  Author, "Self-Organizing Floor Plans"'},{url:"https://jbt.pubpub.org/",img:"/static/landing/jbt.png",title:"Journal of Biomolecular Techniques",source:"Association of Biomolecular Resource Facilities"},{url:"https://contours.pubpub.org",img:"/static/landing/contours.png",title:"Contours Collaborations",source:"Vanderbilt university"},{quote:'"PubPub has helped us transform the way we display and share scholarly works with the research community. The editorial boards of the open access journals that we engage with appreciate the option to embed interactive content and data visualizations into the body of a scholarly article.  Catherine and the PubPub team were incredibly responsive and fun to work with, and were also open to our feedback on platform development. In our experience, PubPub is the clear leader in next-generation academic publishing."',source:"Agnes B. Gambill, J.D., LLM"}];return l.a.createElement("div",{id:"community-services-container"},l.a.createElement(A.L,{containerClassName:"narrow"},l.a.createElement("h1",null,"Community Services"),l.a.createElement("p",{className:"description top"},"PubPub is free to use. For groups that want personalized support we offer production, training, and strategy services for building high quality, effective publishing communities."),l.a.createElement("p",null,"For those looking to structure and operate their PubPub Community on their own, check out our"," ",l.a.createElement("a",{href:"https://help.pubpub.org/getting-started"},"Getting Started guide"),"!"),l.a.createElement("div",{className:"option-form"},l.a.createElement("div",{className:"title"},"To get started, tell us about your project"),l.a.createElement("p",{className:"description"},"We will work with you to identify exactly what your community needs. Below is our Community Services menu along with estimated costs. As a starting point for our conversation, please select the options you're considering and submit the form. We'll then be in touch to schedule a call."),e.map((a,n)=>{if(1===n||2===n){const n=e[0].options[t["Content Production"]];return l.a.createElement(St,Rt(Lt({},a),{key:a.title,setVal:b,options:a.options[n],prices:a.prices[n]}))}return l.a.createElement(St,Rt(Lt({},a),{key:a.title,setVal:b}))}),l.a.createElement("div",{className:"title"},"Additional Details"),l.a.createElement(c.M,{fill:!0,growVertically:!0,large:!0,placeholder:"Tell us anything else you’d like us to know (e.g. timeline, content types, file types, links to example content, ...)",value:r,onChange:e=>{o(e.target.value)}}),l.a.createElement("div",{className:"title"},"Contact Email *"),l.a.createElement(c.r,{placeholder:"[email protected]...",value:i,required:!0,onChange:e=>{s(e.target.value)}}),l.a.createElement("div",{className:"success-row"},l.a.createElement(c.c,{className:"button",intent:xe.a.SUCCESS,text:"Send Details",disabled:!i.includes("@"),onClick:()=>{p(!0);const a=Object.keys(t).reduce((a,n)=>{const l=e.find(e=>e.title===n);if(!l)return a;const r=t[n],o="Embedded Managing Editor"===n||"Copyediting"===n,i=e[0].options[t["Content Production"]],s=o?l.options[i]:l.options,c=o?l.prices[i]:l.prices;return`${a}\n\t\t\t${n}: ${s[r]}, ${c[r]}
1`.trim()},"");return Object(Ae.a)("/api/communityServices",{method:"POST",body:JSON.stringify({contactEmail:i,selections:a,additionalDetails:r})}).then(()=>{s(""),o(""),p(!1),m(!0),setTimeout(()=>{m(!1)},5e3)}).catch(e=>{console.error(e),p(!1)})},loading:d}),u&&l.a.createElement("div",{className:"tag-wrapper"},l.a.createElement(c.J,{icon:"tick",intent:xe.a.SUCCESS,minimal:!0},"Submitted! We'll be in touch shortly.")))),l.a.createElement("p",{className:"mitops"},"For publishing services such as peer-review, copyediting, and research support, we partner with MITops. The"," ",l.a.createElement("a",{href:"https://mitpress.mit.edu/mitops/"},"full list of services offered by MITops")," ","is available on their site. Please"," ",l.a.createElement("a",{href:"https://mitpress.mit.edu/contact-us/"},"contact them directly")," to inquire about their offering."),l.a.createElement("h2",null,"See what we can do together!"),l.a.createElement("p",null,"Browse some of our previous and ongoing Community Services projects as well as testimonials from recent collaborators."),l.a.createElement("div",{className:"grid-wrapper"},h.map(e=>l.a.createElement("div",{className:"example",key:e.title||e.source},!!e.title&&l.a.createElement(l.a.Fragment,null,l.a.createElement("a",{href:e.url},l.a.createElement("img",{className:"example-img",src:e.img,alt:e.title})),l.a.createElement("a",{href:e.url,className:"hoverline"},l.a.createElement("div",{className:"example-title"},e.title)),l.a.createElement("div",{className:"example-source"},e.source)),!e.title&&l.a.createElement("div",{className:"testimonial",key:e.source},l.a.createElement("div",{className:"testimonial-quote"},e.quote),l.a.createElement("div",{className:"testimonial-source"},"— ",e.source)))))))},Ut=a(294),Bt=a(141),zt=a(279),$t=a(1582);a(1238);const _t={community:{label:"Community",icon:"office"},collection:{label:"Collections",icon:"collection"},pub:{label:"Pubs",icon:"pubDoc"},page:{label:"Pages",icon:"page-layout"},member:{label:"Members",icon:"people"},moderation:{label:"Moderation",icon:"flag"},review:{label:"Reviews",icon:"social-media"},discussion:{label:"Discussions",icon:"chat"},pubEdge:{label:"Connections",icon:"layout-auto"},submission:{label:"Submissions",icon:"manually-entered-data"}},Ht=Object.keys(_t),Vt=e=>e.concat().sort((e,t)=>Ht.indexOf(e)-Ht.indexOf(t)),qt={community:Vt(["community","collection","pub","page","member","review","discussion","submission"]),communityAdmin:Vt(["community","collection","pub","page","member","moderation","review","discussion","submission"]),collection:Vt(["pub","member","review","discussion","submission"]),pub:Vt(["member","review","discussion","pubEdge","submission"])};var Wt=e=>{const{activeFilters:t,onUpdateActiveFilters:a,scope:n}=e,{scopeData:r}=Object(De.c)(),{canAdminCommunity:i}=r.activePermissions;return l.a.createElement("div",{className:o()("activity-filters-component",t.length>0&&"some-filters-active")},l.a.createElement("div",{className:"label"},"Filter by"),((e,t)=>"pubId"in e&&e.pubId?qt.pub:"collectionId"in e&&e.collectionId?qt.collection:t?qt.communityAdmin:qt.community)(n,i).map(e=>{const{label:n,icon:r}=_t[e];return l.a.createElement($t.a,{key:e,as:"div",className:"activity-filter",checked:t.includes(e),onChange:()=>{return a((l=e,(n=t).includes(l)?n.filter(e=>e!==l):[...n,l]));var n,l}},l.a.createElement(A.O,{icon:r,iconSize:12}),n)}))},Gt=a(30);a(1239);var Yt=e=>{const{item:{message:t,excerpt:a,timestamp:n,icon:r}}=e;return l.a.createElement("div",{className:"activity-item-row-component"},l.a.createElement("div",{className:"timestamp"},Object(Gt.b)(n,{includeTime:!0})),l.a.createElement("div",{className:"icon"},l.a.createElement(A.O,{icon:r})),l.a.createElement("div",{className:"message"},t),a&&l.a.createElement("div",{className:"excerpt"},a))};a(1240);var Kt=e=>{const{items:t,label:a}=e;return l.a.createElement("div",{className:"activity-item-group-component"},l.a.createElement("div",{className:"heading"},l.a.createElement("div",{className:"label"},a)),t.map(e=>l.a.createElement(Yt,{item:e,key:e.id})))},Jt=a(92),Qt=a.n(Jt);const Zt=e=>{const t=new Date(e);return t.setHours(23,59,59,999),t.valueOf()},Xt=e=>({definition:Zt(e),label:"Today"}),ea=(e,t)=>{const a=new Date(t);a.setDate(a.getDate()-e);const n=1===e?"Yesterday":"This week";return{definition:Zt(a),label:n}},ta=(e,t)=>{const a=new Date(t);a.setDate(a.getDate()-a.getDay());const n=new Date(a);n.setDate(n.getDate()-7*(e-1));const l=1===e?"Last week":e+" weeks ago";return{definition:Zt(n),label:l}},aa=(e,t)=>
1{const a=new Date(t.getFullYear(),t.getMonth()+1,1),n=new Date(a);n.setMonth(n.getMonth()-e);const l=new Date(n);l.setDate(l.getDate()-1);const r=Qt()(l,"mmmm yyyy");return{definition:Zt(l),label:r}},na=(e,t,a)=>{const n=e.timestamp.valueOf();return n<t.definition&&n>=a.definition},la=e=>{if(0===e.length)return[];const t=new Date,a=[...e],n=((e,t)=>{const a=t.valueOf(),n=[Xt(e),ea(1,e),ea(2,e),ta(1,e)];let l=1;for(;n[n.length-1].definition>=a;)n.push(aa(l,e)),++l;return n.push(aa(l,e)),n})(t,a[a.length-1].timestamp),l=[];for(let e=0;e<n.length-2;e++){const t=n[e],r=n[e+1],o=[];for(;a[0]&&na(a[0],t,r);)o.push(a.shift());o.length>0&&l.push({label:t.label,key:t.definition,items:o})}return l};var ra=a(419),oa=a(244);const ia=e=>{const t={};return oa.activityAssociationTypes.forEach(a=>{t[a]=e()}),t},sa=()=>ia(()=>({}));var ca=Object.defineProperty,ua=Object.defineProperties,ma=Object.getOwnPropertyDescriptors,da=Object.getOwnPropertySymbols,pa=Object.prototype.hasOwnProperty,ba=Object.prototype.propertyIsEnumerable,ha=(e,t,a)=>t in e?ca(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ga=(e,t)=>{for(var a in t||(t={}))pa.call(t,a)&&ha(e,a,t[a]);if(da)for(var a of da(t))ba.call(t,a)&&ha(e,a,t[a]);return e},fa=(e,t)=>ua(e,ma(t));const ya={queries:{},associations:sa(),itemsById:{}},va={isLoading:!1,loadedAllItems:!1,offset:0,itemIds:[]},Ea=e=>{const t=e.filters.concat().sort();return JSON.stringify({filters:t})},Oa=(e,t)=>{const{activityItems:a,fetchedAllItems:n}=t,{itemIds:l,offset:r}=e||va,o=a.map(e=>e.id);return{loadedAllItems:n,isLoading:!1,itemIds:[...l,...o],offset:r+o.length}},wa=(e,t,a)=>{const n=ga({},e);return t.forEach(e=>{n[e.id]||(n[e.id]=Object(ra.a)(e,a))}),n},Ca=(e,t,a,n)=>{const l=Ea(t),r=((e,t)=>{const a=sa();return Object.keys(a).forEach(n=>{a[n]=ga(ga({},e[n]),t[n])}),a})(e.associations,a.associations);return fa(ga({},e),{associations:r,queries:fa(ga({},e.queries),{[l]:Oa(e.queries[l],a)}),itemsById:wa(e.itemsById,a.activityItems,fa(ga({},n),{associations:r}))})},Na=e=>{const t=e,{filters:a=[],initialActivityData:l,batchSize:r=50}=t,o=((e,t)=>{var a={};for(var n in e)pa.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&da)for(var n of da(e))t.indexOf(n)<0&&ba.call(e,n)&&(a[n]=e[n]);return a})(t,["filters","initialActivityData","batchSize"]),[i,s]=Object(n.useState)(()=>Ca(ya,{filters:a},l,o)),c={filters:a},u=Ea({filters:a}),m=i.queries[u]||va;return{items:Object(n.useMemo)(()=>{const{itemIds:e}=m,{itemsById:t}=i;return e.map(e=>t[e]).filter(e=>!!e)},[m,i]),loadMoreItems:()=>{s(e=>((e,t)=>{const a=Ea(t);return fa(ga({},e),{queries:fa(ga({},e.queries),{[a]:fa(ga(ga({},va),e.queries[a]),{isLoading:!0})})})})(e,c)),Ae.a.post("/api/activityItems",{offset:m.offset,scope:o.scope,filters:c.filters,limit:r}).then(e=>{s(t=>Ca(t,c,e,o))})},isLoading:m.isLoading,loadedAllItems:m.loadedAllItems}};a(1241);var ja=e=>{const{activityData:t}=e,{scopeData:a,loginData:{id:r},featureFlags:o}=Object(De.c)(),{scope:i,memberData:s}=a,[u,m]=Object(n.useState)(s.find(e=>e.communityId)),[d,p]=Object(n.useState)([]),{items:b,loadMoreItems:h,isLoading:g,loadedAllItems:f}=Na({initialActivityData:t,scope:i,userId:r,filters:d}),y=Object(n.useMemo)(()=>la(b),[b]),v=o.activityDigestSubscribeToggle&&u&&Object(zt.a)(u.permissions,"manage")&&"community"===a.elements.activeTargetType;return Object(Bt.a)({enabled:!g&&!f,useDocumentElement:!0,onRequestMoreItems:h,scrollTolerance:200}),l.a.createElement(A.s,{className:"dashboard-activity-container",title:"Activity",controls:v&&l.a.createElement(c.G,{checked:u.subscribedToActivityDigest,className:"parent-approval-switch",onChange:e=>{return(t=e.target.checked,Ut.c({member:u,update:{subscribedToActivityDigest:t},scopeIds:{communityId:i.communityId}})).then(m);var t},label:"Subscribe to daily Activity digest emails"})},l.a.createElement(Wt,{activeFilters:d,onUpdateActiveFilters:p,scope:i}),b.length>0&&l.a.createElement("div",{className:"activity-items"},y.map(e=>l.a.createElement(Kt,{items:e.items,label:e.label,key:e.key}))),0===b.length&&f&&l.a.createElement(c.v,{icon:"clean",className:"empty-state",title:"No matching activity to show",action:l.a.createElement(c.c,{outlined:!0,onClick:()=>p([])},"Clear filters")}),g&&l.a.createElement("div",{className:"loading-indicator"},l.a.createElement(c.F,{size:28})))},ka=a(814),Sa=a(1565),Pa=a(136),Da=a(320),Ia=a.n(Da),Ta=Object.defineProperty,xa=Object.getOwnPropertySymbols,Aa=Object.prototype.hasOwnProperty,Ma=Object.prototype.propertyIsEnumerable,La=(e,t,a)=>t in e?Ta(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ra=(e,t)=>{for(var a in t||(t={}))Aa.call(t,a)&&La(e,a,t[a]);
1if(xa)for(var a of xa(t))Ma.call(t,a)&&La(e,a,t[a]);return e};const Fa=(e,t,a={})=>{const[l,r,o]=Ia()(e),[i,s,c]=Ia()(a),[u,m]=Object(n.useState)(!1),[d,p]=Object(n.useState)(null),b=Object.keys(i).length>0,h=Object(n.useMemo)(()=>Ra(Ra({},l),i),[l,i]),g=Object(n.useRef)(t);g.current=t;const f=Object(n.useCallback)(()=>{const e=c.current,t=Ra(Ra({},o.current),e),a=g.current;return m(!0),a(e,t).then(()=>{p(null),r(t),s({})}).catch(e=>p(e)).finally(()=>m(!1))},[o,r,s,c]),y=Object(n.useCallback)(()=>{s({})},[s]),v=Object(n.useCallback)((e,t=!1)=>{s(t=>{const a="function"==typeof e?e(Ra(Ra({},o.current),t)):e;return Ra(Ra({},t),a)}),t&&f()},[f,o,s]),E=Object(n.useCallback)(e=>{r(t=>{const a="function"==typeof e?e(t):e;return Ra(Ra({},t),a)})},[r]);return Object(Sa.a)(b),{hasChanges:b,updatePersistedState:E,persist:f,revert:y,state:h,unpersistedState:i,persistedState:l,isPersisting:u,update:v,error:d}};a(1242);var Ua=Object.defineProperty,Ba=Object.defineProperties,za=Object.getOwnPropertyDescriptors,$a=Object.getOwnPropertySymbols,_a=Object.prototype.hasOwnProperty,Ha=Object.prototype.propertyIsEnumerable,Va=(e,t,a)=>t in e?Ua(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,qa=(e,t)=>{for(var a in t||(t={}))_a.call(t,a)&&Va(e,a,t[a]);if($a)for(var a of $a(t))Ha.call(t,a)&&Va(e,a,t[a]);return e};var Wa=e=>{const{collection:t}=e,{communityData:a}=Object(De.c)(),{state:r,update:o,persist:i,hasChanges:s,isPersisting:u}=Fa(t,e=>Pa.e({communityId:a.id,collectionId:r.id,updatedCollection:e})),[m,d]=Object(n.useState)(!r.pageId),p=s&&(m||r.pageId),b=r.layout||{blocks:[]},h=Object(n.useCallback)(e=>o(t=>{return a=qa({},t),n={layout:qa(qa({},t.layout),e)},Ba(a,za(n));var a,n}),[o]),g=Object(n.useCallback)(e=>h({blocks:e}),[h]);Object(ka.a)(()=>{m&&o({pageId:null})},[m,o]),Object(Sa.a)(s,"You have unsaved changes to this Collection. Are you sure you want to navigate away?");return l.a.createElement(A.s,{className:"dashboard-collection-layout-container",title:"Layout",details:"Change how this Collection is presented to readers.",controls:l.a.createElement(c.c,{type:"button",intent:"primary",text:"Save Changes",disabled:!p,loading:u,onClick:i})},l.a.createElement(A.Ib,{title:"General"},l.a.createElement(c.D,{className:"layout-enable-radio",selectedValue:m?1:0,onChange:e=>d("1"===e.target.value)},l.a.createElement(c.C,{labelElement:"Use a layout for this Collection",value:1}),l.a.createElement(c.C,{className:"page-select",labelElement:l.a.createElement(l.a.Fragment,null,"Use a Page as the landing page for this Collection:  ",l.a.createElement(A.W,{pages:a.pages,selectedPageId:r.pageId||null,onSelectPage:e=>o({pageId:e.id}),disabled:m})),value:0})),l.a.createElement(A.P,{htmlFor:"dashboard-page-avatar",label:"Preview Image",defaultImage:r.avatar,onNewImage:e=>o({avatar:e}),canClear:!0,helperText:"This image will appear in links from other Collections or Pages to this Collection."}),m&&l.a.createElement(A.R,{label:"Layout width"},l.a.createElement(c.d,null,l.a.createElement(c.c,{active:!b.isNarrow,onClick:()=>h({isNarrow:!1}),text:"Wide"}),l.a.createElement(c.c,{active:b.isNarrow,onClick:()=>h({isNarrow:!0}),text:"Narrow"}))),l.a.createElement(A.R,{label:"Allow duplicate Pubs"},l.a.createElement(c.G,{checked:r.layoutAllowsDuplicatePubs,onClick:()=>o({layoutAllowsDuplicatePubs:!r.layoutAllowsDuplicatePubs})}))),m&&l.a.createElement(A.Ib,{title:"Blocks"},l.a.createElement(A.T,{allowDuplicatePubs:r.layoutAllowsDuplicatePubs,initialLayout:b.blocks,initialLayoutPubsByBlock:e.layoutPubsByBlock,collection:r,communityData:a,onChange:g})))},Ga=(a(1243),Object.defineProperty),Ya=Object.defineProperties,Ka=Object.getOwnPropertyDescriptors,Ja=Object.getOwnPropertySymbols,Qa=Object.prototype.hasOwnProperty,Za=Object.prototype.propertyIsEnumerable,Xa=(e,t,a)=>t in e?Ga(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,en=(e,t)=>{for(var a in t||(t={}))Qa.call(t,a)&&Xa(e,a,t[a]);if(Ja)for(var a of Ja(t))Za.call(t,a)&&Xa(e,a,t[a]);return e},tn=(e,t)=>Ya(e,Ka(t)),an=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var nn=e=>{var t,a;const{communityData:r,scopeData:o}=Object(De.c)(),i=null!=(t=e.scopeType)?t:"community",s=null==(a=o.elements.activePub)?void 0:a.id,[u,m]=Object(n.useState)(e.curatingHubs),[d,p]=Object(n.useState)(null),b="pub"===i?"pub":"community",h=Object(n.useCallback)(e=>an(null,null,(function*(){p(e);try{yield Ae.a.post(`/api/communities/${r.id}/hub-opt-out`,{hubId:e}),m(t=>t.map(t=>
1t.id===e?tn(en({},t),{rejected:!0}):t))}finally{p(null)}})),[r.id]),g=Object(n.useCallback)(e=>an(null,null,(function*(){p(e);try{yield Ae.a.delete(`/api/communities/${r.id}/hub-opt-out/${e}`),m(t=>t.map(t=>t.id===e?tn(en({},t),{rejected:!1}):t))}finally{p(null)}})),[r.id]),f=Object(n.useCallback)(e=>an(null,null,(function*(){if(s){p(e);try{yield Ae.a.delete(`/api/pubs/${s}/curating-hubs/${e}`),m(t=>t.filter(t=>t.id!==e))}finally{p(null)}}})),[s]),y=Object(n.useCallback)((e,t)=>an(null,null,(function*(){p(e);try{const a="pub"===i?`/api/pubs/${s}/curating-hubs/${e}/data-access`:`/api/communities/${r.id}/curating-hubs/${e}/data-access`;yield Ae.a.put(a,{dataAccess:t?"granted":"none"}),m(a=>a.map(a=>a.id===e?tn(en({},a),{dataAccess:t?"granted":"none"}):a))}finally{p(null)}})),[r.id,s,i]),v=u.filter(e=>!e.rejected),E=u.filter(e=>e.rejected);return l.a.createElement(A.s,{title:"Curated By",className:"dashboard-curated-by-component",details:`Manage which hubs can include this ${b} in their curated collections.`},l.a.createElement("div",{className:"curated-by-content"},l.a.createElement("p",{className:"curated-by-intro"},"pub"===i?l.a.createElement(l.a.Fragment,null,"Hubs listed here have added this pub to their curated collection. You can remove this pub from a hub or manage analytics access."):l.a.createElement(l.a.Fragment,null,"Hubs listed here have added this community to their curated collection. You can reject specific hubs to remove this community from their landing pages, data dashboards, and suggested community lists.")),0===u.length?l.a.createElement("div",{className:"curated-by-empty"},"No hubs are currently curating this ",b,"."):l.a.createElement(l.a.Fragment,null,v.length>0&&l.a.createElement(l.a.Fragment,null,l.a.createElement("h3",{className:"curated-by-heading"},"Active Curators",l.a.createElement(c.J,{minimal:!0,round:!0,className:"curated-by-count"},v.length)),l.a.createElement("div",{className:"curated-by-list"},v.map(e=>l.a.createElement(c.f,{key:e.id,className:"curated-by-org-card"},l.a.createElement("div",{className:"curated-by-org-row"},l.a.createElement("a",{href:"/hub/"+e.slug,className:"curated-by-org-link",target:"_blank",rel:"noopener noreferrer"},l.a.createElement("div",{className:"curated-by-org-inner"},e.avatar&&l.a.createElement("img",{className:"curated-by-org-avatar",src:e.avatar,alt:""}),l.a.createElement("div",{className:"curated-by-org-info"},l.a.createElement("span",{className:"curated-by-org-title"},e.title),e.subtitle&&l.a.createElement("span",{className:"curated-by-org-subtitle"},e.subtitle)))),l.a.createElement("div",{className:"curated-by-org-actions"},"requested"===e.dataAccess&&l.a.createElement(l.a.Fragment,null,l.a.createElement(c.J,{minimal:!0,intent:"warning",className:"curated-by-data-tag"},"Data access requested"),l.a.createElement(c.c,{small:!0,outlined:!0,intent:"success",text:"Grant",icon:"tick",loading:d===e.id,onClick:()=>y(e.id,!0)}),l.a.createElement(c.c,{small:!0,outlined:!0,intent:"none",text:"Deny",icon:"cross",loading:d===e.id,onClick:()=>y(e.id,!1)})),"granted"===e.dataAccess&&l.a.createElement(l.a.Fragment,null,l.a.createElement(c.J,{minimal:!0,intent:"success",className:"curated-by-data-tag"},"Data access granted"),l.a.createElement(c.c,{small:!0,minimal:!0,intent:"danger",text:"Revoke",icon:"lock",loading:d===e.id,onClick:()=>y(e.id,!1)})),"pub"===i?l.a.createElement(c.c,{small:!0,outlined:!0,intent:"danger",text:"Remove",icon:"cross",loading:d===e.id,onClick:()=>f(e.id)}):l.a.createElement(c.c,{small:!0,outlined:!0,intent:"danger",text:"Reject",icon:"disable",loading:d===e.id,onClick:()=>h(e.id)}))))))),"community"===i&&E.length>0&&l.a.createElement(l.a.Fragment,null,l.a.createElement("h3",{className:"curated-by-heading curated-by-heading-rejected"},"Rejected",l.a.createElement(c.J,{minimal:!0,round:!0,intent:"danger",className:"curated-by-count"},E.length)),l.a.createElement("div",{className:"curated-by-list"},E.map(e=>l.a.createElement(c.f,{key:e.id,className:"curated-by-org-card curated-by-org-rejected"},l.a.createElement("div",{className:"curated-by-org-row"},l.a.createElement("a",{href:"/hub/"+e.slug,className:"curated-by-org-link",target:"_blank",rel:"noopener noreferrer"},l.a.createElement("div",{className:"curated-by-org-inner"},e.avatar&&l.a.createElement("img",{className:"curated-by-org-avatar",src:e.avatar,alt:""}),l.a.createElement("div",{className:"curated-by-org-info"},l.a.createElement("span",{className:"curated-by-org-title"},e.title),e.subtitle&&l.a.createElement("span",{className:"curated-by-org-subtitle"},e.subtitle)))),l.a.createElement(c.c,{small:!0,outlined:!0,intent:"success",text:"Allow",icon:"tick",loading:d===e.id,onClick:()=>g(e.id)})))))))))};a(1244);var ln=e=>{const{communityData:t}=Object(De.c)(),{EditorComponent:a,initialContent:r,language:o,label:i,type:s}=e,[u,m]=Object(n.useState)(r||""),[d,p]=Object(n.useState)(u),[b,h]=Object(n.useState)(!1),g=u!==d;Object(Sa.a)(g);return l.a.createElement("div",{className:"custom-script-panel-component"},l.a.createElement(c.c,{outlined:!0,disabled:!g,onClick:()=>{return e=null,a=null,n=function*(){h(!0),yield((e,t,a)=>Ae.a.post("/api/customScripts",{communityId:e,type:t,content:a}))(t.id,s,u),p(u),h(!1)},new Promise((t,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,o);i((n=n.apply(e,a)).next())});var e,a,n},intent:"primary",className:"save-changes-button"},b?"Saving...":"Save "+i),l.a.createElement(a,{value:u,onChange:e=>void 0!==e&&m(e),theme:"vs-dark",defaultLanguage:o,options:{minimap:{enabled:!1}}}))};a(1245);var rn=e=>{const{customScripts:t}=e,{js:r,css:o}=t,{featureFlags:i}=Object(De.c)(),[s,u]=Object(n.useState)(null);Object(n.useEffect)(()=>{a.e(0).then(a.bind(null,1576)).then(({default:e})=>u(e))},[]);return l.a.createElement(A.s,{className:"dashboard-custom-scripts-container",title:"Custom Scripts"},l.a.createElement("div",{className:"callout-text"},l.a.createElement(c.e,{className:"error-callout",intent:"warning",title:"Warning: Experimental"},"Custom CSS lets you change the look and feel of your Community, but it also lets you introduce bugs that make it hard or impossible to use. The PubPub team may also make changes to our own source code that c
1ould break your CSS without warning. We don't provide support for problems caused by Custom CSS. Use caution (but have fun!) ",l.a.createElement("br",null),"Note that Custom CSS is not loaded on your Dashboard — including this page — so you can always return here to undo your changes if they are causing problems.")),!s&&l.a.createElement("div",{className:"loading-indicator"},l.a.createElement(c.F,{size:14})," Loading editor"),s&&l.a.createElement(c.I,{id:"custom-scripts-tabs"},l.a.createElement(c.H,{id:"css",title:"CSS",panel:l.a.createElement(ln,{initialContent:o,type:"css",language:"css",label:"CSS",EditorComponent:s})}),i.customScripts&&l.a.createElement(c.H,{id:"js",title:"JavaScript",panel:l.a.createElement(ln,{initialContent:r,type:"js",language:"javascript",label:"JavaScript",EditorComponent:s})})))};a(1246);var on=e=>{const{discussionsData:t}=e,{scopeData:a}=Object(De.c)();return l.a.createElement("div",{className:"dashboard-discussions-container"},l.a.createElement("h2",{className:"dashboard-content-header"},"Discussions"))},sn=a(88),cn=a(113),un=a(25),mn=a(83),dn=a(80),pn=a(1560),bn=a(319),hn=a.n(bn),gn=a(143),fn=a(275),yn=(a(1247),Object.getOwnPropertySymbols),vn=Object.prototype.hasOwnProperty,En=Object.prototype.propertyIsEnumerable,On=(e,t)=>{var a={};for(var n in e)vn.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&yn)for(var n of yn(e))t.indexOf(n)<0&&En.call(e,n)&&(a[n]=e[n]);return a};const wn={wrapperTagName:"div",minimal:!0,position:dn.a.BOTTOM_LEFT,modifiers:{preventOverflow:{enabled:!1},hide:{enabled:!1}},usePortal:!1},Cn=l.a.createElement(A.yb,{key:"indeterminate",title:"X".repeat(50),contributors:["ABC","XYZ"],isSkeleton:!0,showImage:!0,disabled:!0,id:null,onClick:()=>{}}),Nn=()=>"";var jn=e=>{const{usedPubIds:t,onSelectItem:a}=e,[r,o]=Object(n.useState)(""),i=Object(De.e)(r,250,!0,!0),[s,u]=Object(n.useState)(null),[m,d]=Object(n.useState)(null),{allQueries:{isLoading:p},currentQuery:{pubs:b}}=Object(gn.a)({query:{term:s||""},batchSize:5}),h=m?[m]:b.map(e=>({targetPub:e}));Object(n.useEffect)(()=>{hn()(i)||Object(fn.a)(i)?(d({indeterminate:!0}),Ae.a.get("/api/pubEdgeProposal?object="+encodeURIComponent(i)).then(e=>{const t=null!=e?e:{},{externalPublication:a}=t,n=a,{doi:l}=n,r=On(n,["doi"]),o=On(t,["externalPublication"]);Object.keys(o).length>0||Object.keys(r).length>0?d(e):d({createNewFromUrl:i,doi:l})})):(u(i),d(null))},[i,t]);return l.a.createElement(pn.a,{className:"new-edge-input-component",items:h,inputProps:{large:!0,placeholder:"Search to add Pubs from this Community, or enter a URL or DOI"},inputValueRenderer:Nn,onQueryChange:e=>o(e.trim()),itemRenderer:(e,{handleClick:t,modifiers:a})=>{var n;
1if("indeterminate"in e&&e.indeterminate)return Cn;if("targetPub"in e&&e.targetPub){const{targetPub:r}=e;return l.a.createElement(A.yb,{id:r.id,key:r.id,title:l.a.createElement(A.Eb,{pubData:r}),contributors:null==(n=r.attributions)?void 0:n.filter(e=>e.isAuthor),image:r.avatar,active:a.active,onClick:t,showImage:!0})}if("externalPublication"in e&&e.externalPublication&&e.externalPublication.title){const{title:n,contributors:r,avatar:o,id:i}=e.externalPublication;return l.a.createElement(A.yb,{key:n,id:i,title:n,contributors:r,image:o,onClick:t,showImage:!!o,active:a.active})}return l.a.createElement(c.u,{key:"from-url",onClick:t,text:"Create a connection for this URL"})},resetOnSelect:!0,onItemSelect:a,noResults:r?l.a.createElement(c.u,{disabled:!0,className:"loading-menu-item",text:p?"Loading...":"No results",icon:p&&l.a.createElement(c.F,{size:16})}):null,popoverProps:wn})},kn=(a(1248),Object.defineProperty),Sn=Object.defineProperties,Pn=Object.getOwnPropertyDescriptors,Dn=Object.getOwnPropertySymbols,In=Object.prototype.hasOwnProperty,Tn=Object.prototype.propertyIsEnumerable,xn=(e,t,a)=>t in e?kn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,An=(e,t)=>{for(var a in t||(t={}))In.call(t,a)&&xn(e,a,t[a]);if(Dn)for(var a of Dn(t))Tn.call(t,a)&&xn(e,a,t[a]);return e},Mn=(e,t)=>Sn(e,Pn(t));var Ln=e=>{const{onChange:t,onCancel:a,onSave:n,pubEdge:r,usedPubIds:i,loading:s,error:u,saveButtonLabel:m,pubEdgeDescriptionIsVisible:d}=e,p=r&&mn.f[r.relationType]&&mn.f[r.relationType].name,b=e=>{const{targetPub:a,externalPublication:n,createNewFromUrl:l,doi:r}=e;a?t(Object(mn.a)({targetPub:a,targetPubId:a.id})):n?t(Object(mn.a)({externalPublication:Mn(An({},n),{description:Object(mn.g)(n.description)})})):l&&t(Object(mn.a)({externalPublication:{url:l,doi:r,contributors:[]}}))},h=()=>{Object(fe.a)(null!==r),t(Mn(An({},r),{pubIsParent:!r.pubIsParent}))},g=()=>{Object(fe.a)(null!==r),n(r)};return l.a.createElement("div",{className:o()("new-edge-editor-component",r&&"has-new-edge")},l.a.createElement("h4",null,"Connection Properties"),r?(()=>{Object(fe.a)(null!==r);const{externalPublication:e,targetPub:n}=r,o=n||e&&e.title;return l.a.createElement("div",{className:"new-edge-controls"},l.a.createElement("div",{className:"controls-row"},l.a.createElement(un.b,{"aria-label":"Select relationship type",buttonProps:{rightIcon:"chevron-down",children:"Type: "+p}},Object.entries(mn.f).map(([e,a])=>{const{name:n}=a,o=r.relationType===e;return l.a.createElement(un.d,{text:n,onClick:()=>(e=>{Object(fe.a)(null!==r),t(Mn(An({},r),{relationType:e}))})(e),key:e,icon:o?"tick":"blank"})})),l.a.createElement(c.c,{icon:"swap-vertical",onClick:h},"Switch direction")),l.a.createElement(A.vb,{isInboundEdge:!1,pubEdge:r,pubEdgeDescriptionIsVisible:d,pubEdgeElement:e&&l.a.createElement(A.ub,{pubEdgeDescriptionIsVisible:d,externalPublication:e,onUpdateExternalPublication:a=>t(Mn(An({},r),{externalPublication:An(An({},e),a)}))})}),u&&l.a.createElement(c.e,{intent:"warning",className:"error-callout"},"There was an error creating this Pub connection."),l.a.createElement("div",{className:"controls-row"},l.a.createElement(c.c,{className:"cancel-button",onClick:a},"Cancel"),l.a.createElement(c.c,{intent:"primary",onClick:g,loading:s,disabled:!o},null!=m?m:"Add connection")))})():l.a.createElement(jn,{usedPubIds:i,onSelectItem:b}))},Rn=Object.defineProperty,Fn=Object.defineProperties,Un=Object.getOwnPropertyDescriptors,Bn=Object.getOwnPropertySymbols,zn=Object.prototype.hasOwnProperty,$n=Object.prototype.propertyIsEnumerable,_n=(e,t,a)=>t in e?Rn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Hn=(e,t)=>{for(var a in t||(t={}))zn.call(t,a)&&_n(e,a,t[a]);if(Bn)for(var a of Bn(t))$n.call(t,a)&&_n(e,a,t[a]);return e},Vn=(e,t)=>Fn(e,Un(t));var qn=e=>{const{isInbound:t,onUpdateEdge:a=null,onRemoveEdge:r=null,onReorderEdges:i=null,onUpdateEdgeApproval:s=null,pubId:u,pubEdges:m,pubEdgeDescriptionIsVisible:d,renderEmptyState:p}=e,[b,h]=Object(n.useState)(),{pendingPromise:g}=Object(De.d)(),[f,y]=Object(n.useState)(!1),[v,E]=Object(n.useState)(),O=e=>{y(!0),g(Ae.a.put("/api/pubEdges",Vn(Hn({pubEdgeId:e.id},e),{pubId:u,targetPub:void 0}))).then(e=>{h(void 0),y(!1),null==a||a(e)}).catch(e=>{h(void 0),y(!1),E(e.message)})};return l.a.createElement(cn.a,{onDragEnd:e=>{const{source:t,destination:a}=e;i&&i(t.index,a.index)}},l.a.createElement(A.A,{className:"dashboard-edges-listing-component",disabled:!i,itemId:e=>e.id,items:m,renderItem:(e,n,u)=>{const{approvedByTarget:m}=e,p=!!s&&!m;return l.a.createElement("div",{className:o()("dashboard-edge-listing-item",u&&"is-dragging",p&&"not-approved")},i&&l.a.createElement("div",Vn(Hn({}
1,n),{className:"drag-handle"}),l.a.createElement(c.q,{icon:"drag-handle-vertical"})),(null==b?void 0:b.id)===e.id?l.a.createElement(Ln,{pubEdgeDescriptionIsVisible:d,pubEdge:b,usedPubIds:[],onCancel:()=>h(void 0),onChange:h,onSave:O,saveButtonLabel:"Save connection",loading:f,error:v}):l.a.createElement(A.vb,{pubEdgeDescriptionIsVisible:d,pubEdge:e,isInboundEdge:t,accentColor:"#ccc"},a&&l.a.createElement(c.c,{onClick:()=>h(e),outlined:!0,minimal:!0,icon:"edit"},"Edit"),r&&(g=()=>r(e),l.a.createElement(A.p,{onConfirm:g,confirmLabel:"Remove",text:"Are you sure you want to remove this connection?"},({open:e})=>l.a.createElement(c.c,{onClick:e,outlined:!0,minimal:!0,icon:"small-cross"},"Remove"))),s&&l.a.createElement(c.G,{className:"parent-approval-switch",onChange:()=>s(e,!m),checked:m,label:"Show on this Pub"})));var g},renderEmptyState:p,droppableId:"dashboardEdges",droppableType:"DASHBOARD_EDGE",withDragHandles:!!i}))},Wn=a(405),Gn=(a(1249),Object.defineProperty),Yn=Object.defineProperties,Kn=Object.getOwnPropertyDescriptors,Jn=Object.getOwnPropertySymbols,Qn=Object.prototype.hasOwnProperty,Zn=Object.prototype.propertyIsEnumerable,Xn=(e,t,a)=>t in e?Gn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const el=l.a.createElement(l.a.Fragment,null,l.a.createElement("p",null,"Create & manage relationships between this Pub and other Pubs in your Community or publications elsewhere on the internet."),l.a.createElement("p",null,"Connection previews will be shown near the header and footer of this Pub's layout."));var tl=e=>{const{pubData:t}=e,{scopeData:{activePermissions:{canManage:a}}}=Object(De.c)(),[r,o]=Object(n.useState)(null),{pendingPromise:i}=Object(De.d)(),[s,u]=Object(n.useState)(!1),[m,d]=Object(n.useState)(),p=!r,{descriptionIsVisible:b}=Object(sn.a)(e=>e.PubEdgeDisplay),{inboundEdges:h,outboundEdges:g,addCreatedOutboundEdge:f,reorderOutboundEdges:y,updateOutboundEdge:v,removeOutboundEdge:E,updateInboundEdgeApproval:O}=Object(Wn.a)(t),w=e=>{u(!0),i(Ae.a.post("/api/pubEdges",((e,t)=>Yn(e,Kn(t)))(((e,t)=>{for(var a in t||(t={}))Qn.call(t,a)&&Xn(e,a,t[a]);if(Jn)for(var a of Jn(t))Zn.call(t,a)&&Xn(e,a,t[a]);return e})({},e),{pubId:t.id,targetPub:void 0}))).then(e=>{o(null),u(!1),f(e)}).catch(e=>{o(null),u(!1),d(e.message)})};return l.a.createElement(A.s,{className:"dashboard-edges-container",title:"Connections",controls:a?l.a.createElement(A.mb,{"aria-label":"Edit look and feel of Connections",component:()=>l.a.createElement(A.F,{selfContained:!0,facetName:"PubEdgeDisplay",description:"You can find these options in Pub Settings, too."})},l.a.createElement(c.c,{outlined:!0,icon:"clean",rightIcon:"caret-down"},"Look and Feel")):null,details:l.a.createElement(l.a.Fragment,null,el," ",a&&t.crossrefDepositRecord&&l.a.createElement(c.e,{intent:xe.a.WARNING,title:"Redeposit Warning"},"This Pub has been deposited to Crossref. If you choose to update this Pub's connections, you will need to"," ",l.a.createElement("a",{href:Object(Me.a)({pubSlug:t.slug,mode:"settings"})},"re-deposit the Pub")," ","for the updated relationships to appear in Crossref."))},l.a.createElement(c.I,{id:"pub-dashboard-connections-tabs"},l.a.createElement(c.H,{id:"created-by-this-pub",panel:(()=>{const e=[t.id,...t.outboundEdges.map(e=>e.targetPub&&e.targetPub.id).filter(e=>!!e)];return l.a.createElement(l.a.Fragment,null,a&&l.a.createElement(Ln,{usedPubIds:e,pubEdgeDescriptionIsVisible:b,pubEdge:r,onCancel:()=>o(null),onSave:w,onChange:o,loading:s,error:m}),l.a.createElement(qn,{pubId:t.id,pubEdges:g,pubEdgeDescriptionIsVisible:b,onUpdateEdge:a?v:void 0,onReorderEdges:a?y:void 0,onRemoveEdge:a?E:void 0,isInbound:!1,renderEmptyState:()=>p&&l.a.createElement(c.v,{icon:"layout-auto",title:"No connections yet",description:a?"Start t
1yping above to add a new connection.":"Connections created from this Pub will appear here."})}))})(),title:"Created by this Pub"}),l.a.createElement(c.H,{id:"created-by-other-pubs",panel:l.a.createElement(qn,{pubId:t.id,pubEdges:h,pubEdgeDescriptionIsVisible:b,onUpdateEdgeApproval:a?O:void 0,isInbound:!0,renderEmptyState:()=>l.a.createElement(c.v,{icon:"layout-auto",title:"No connections from other Pubs",description:"Corresponding connections will be created here when users connect to this Pub from another."})}),title:"Created by other Pubs"})))};a(1250);var al=()=>{const{persistFacets:e,isPersisting:t,hasPersistableChanges:a,facets:n}=Object(sn.b)(),r=Object.entries(n).map(([e])=>l.a.createElement(A.F,{key:e,facetName:e,displayStyle:"settings"}));return l.a.createElement(A.s,{title:"Facets",className:"dashboard-facets-container",controls:l.a.createElement(c.c,{intent:"primary",onClick:e,loading:t,disabled:!a},"Save Changes")},l.a.createElement("div",{className:"editors"},r))},nl=a(1566),ll=a(1567),rl=a(1568),ol=a(416),il=a(417),sl=a(231),cl=a(808),ul=a(298),ml=(a(1251),Object.defineProperty),dl=Object.defineProperties,pl=Object.getOwnPropertyDescriptors,bl=Object.getOwnPropertySymbols,hl=Object.prototype.hasOwnProperty,gl=Object.prototype.propertyIsEnumerable,fl=(e,t,a)=>t in e?ml(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,yl=(e,t)=>{for(var a in t||(t={}))hl.call(t,a)&&fl(e,a,t[a]);if(bl)for(var a of bl(t))gl.call(t,a)&&fl(e,a,t[a]);return e},vl=(e,t)=>dl(e,pl(t));const El=new Intl.DisplayNames(["en"],{type:"region"});function Ol(e){var t;if(!e||2!==e.length)return e||"Unknown";try{return null!=(t=El.of(e.toUpperCase()))?t:e}catch(t){return e}}const wl=e=>e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString(),Cl=e=>e.toISOString().slice(0,10),Nl=e=>{const t=new Date;return t.setDate(t.getDate()-e),Cl(t)},jl=(e,t)=>{const a=new Date(e),n=new Date(t),l=(n.getTime()-a.getTime())/864e5;if(l>730){const e=new Date(n);return e.setDate(e.getDate()-730),{start:Cl(e),end:t}}return l<0?{start:t,end:e}:{start:e,end:t}},kl="#15B371",Sl="#2B95D6";let Pl=0;function Dl(e,t,a){const n=Date.now();if(n-Pl<1e3)return;Pl=n;const l=e=>e.includes(",")||e.includes('"')||e.includes("\n")?`"${e.replace(/"/g,'""')}"`:e,r=[t.join(","),...a.map(e=>e.map(l).join(","))].join("\n"),o=new Blob([r],{type:"text/csv;charset=utf-8;"}),i=URL.createObjectURL(o),s=document.createElement("a");s.href=i,s.download=e,s.style.display="none",document.body.appendChild(s),s.dispatchEvent(new MouseEvent("click",{bubbles:!1,cancelable:!1,view:window})),document.body.removeChild(s),setTimeout(()=>URL.revokeObjectURL(i),100)}const Il=({title:e,rows:t,columns:a,onExport:r,emptyMessage:o})=>{const[i,s]=Object(n.useState)(0),c=Math.max(1,Math.ceil(t.length/15)),u=15*i,m=t.slice(u,u+15),d=t.length>15;return l.a.createElement("div",{className:"data-panel"},l.a.createElement("div",{className:"panel-header"},l.a.createElement("h3",null,e),r&&t.length>0&&l.a.createElement("button",{type:"button",className:"export-link",onClick:r},"Export")),0===t.length&&o?l.a.createElement(l.a.Fragment,null,l.a.createElement("table",{className:"compact-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,a.map(e=>l.a.createElement("th",{key:e.key,className:["right"===e.align?"align-right":"",e.flex?"col-flex":""].filter(Boolean).join(" ")||void 0},e.label))))),l.a.createElement("div",{className:"empty-message"},o)):l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"table-scroll-area"},l.a.createElement("table",{className:"compact-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,a.map(e=>l.a.createElement("th",{key:e.key,className:["right"===e.align?"align-right":"",e.flex?"col-flex":""].filter(Boolean).join(" ")||void 0},e.label)))),l.a.createElement("tbody",null,m.map(e=>l.a.createElement("tr",{key:a.map(t=>e[t.key]).join("|")},a.map(t=>l.a.createElement("td",{key:t.key,className:["right"===t.align?"align-right":"",t.flex?"col-flex":""].filter(Boolean).join(" ")||void 0},t.render?t.render(e[t.key],e):e[t.key]))))))),d&&l.a.createElement("div",{className:"table-pagination"},l.a.createElement("span",{className:"page-info"},u+1,"–",Math.min(u+15,t.length)," of"," ",t.length),l.a.createElement("button",{type:"button",disabled:0===i,onClick:()=>s(e=>e-1)},"‹"),l.a.createElement("button",{type:"button",disabled:i>=c-1,onClick:()=>s(e=>e+1)},"›"))))},Tl=({label:e,value:t,color:a})=>l.a.createElement("div",{className:"stat-card",style:{borderLeftColor:a}},l.a.createElement("div",{className:"stat-value"},t),l.a.createElement("div",{className:"stat-label"},e));var xl=()=>{const{scopeData:e,communityData:t}=Object(De.c)(),{elements:{activeTargetType:a,activePub:r,activeCollection:o},activePermissions:{canView:i}}=e,[s,u]=Object(n.useState)(null),[m,d]=Object(n.useState)(!0),[p,b]=Object(n.useState)(null),[h,g]=Object(n.useState)(()=>Nl(90)),[f,y]=Object(n.useState)(()=>Cl(new Date)),[v,E]=Object(n.useState)("90d"),O=e=>{const{start:t,end:a}=(e=>({start:Nl("30d"===e?30:"90d"===e?90:"1yr"===e?365:730),end:Cl(new Date)}))(e);g(t),y(a),E(e)},w=Object(n.useMemo)(()=>"pub"===a&&r?"&pubId="+encodeURIComponent(r.id):"collection"===a&&o?"&collectionId="+encodeURIComponent(o.id):"",[a,r,o]),C=Object(n.useCallback)((e,t)=>{return a=null,n=null,l=function*(){var a;d(!0),b(null);try{const a=yield fetch(`/api/analytics-impact?startDate=${e}&endDate=${t}${w}`);if(!a.ok){const e=yield a.json().catch(()=>({}));throw new Error(e.error||`Request failed (${a.status})`)}const n=yield a.json();u(n)}
1catch(e){b(null!=(a=e.message)?a:"Failed to load analytics")}finally{d(!1)}},new Promise((e,t)=>{var r=e=>{try{i(l.next(e))}catch(e){t(e)}},o=e=>{try{i(l.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((l=l.apply(a,n)).next())});var a,n,l},[w]);Object(n.useEffect)(()=>{i&&C(h,f)},[h,f,i,C]);const N=Object(n.useMemo)(()=>s?s.daily.map(e=>{return vl(yl({},e),{label:(t=e.date,new Date(t+"T00:00:00").toLocaleDateString(void 0,{month:"short",day:"numeric"}))});var t}):[],[s]),j=Object(n.useMemo)(()=>{if(!s)return[];const e=["localhost","pubpub.org","www.pubpub.org"];return t.subdomain&&e.push(t.subdomain+".pubpub.org"),t.domain&&e.push(t.domain),s.referrers.filter(t=>{try{const a=new URL(t.referrer),n=a.hostname.replace(/^www\./,"");return"localhost"!==a.hostname&&!a.hostname.startsWith("localhost:")&&!e.some(e=>n===e||n==="www."+e)}catch(e){return!0}})},[s,t.subdomain,t.domain]);return i?l.a.createElement(A.s,{title:"Impact",className:"dashboard-impact-container",controls:l.a.createElement("div",{className:"date-controls"},l.a.createElement(c.d,null,l.a.createElement(c.c,{active:"30d"===v,onClick:()=>O("30d"),small:!0},"30 days"),l.a.createElement(c.c,{active:"90d"===v,onClick:()=>O("90d"),small:!0},"90 days"),l.a.createElement(c.c,{active:"1yr"===v,onClick:()=>O("1yr"),small:!0},"1 year"),l.a.createElement(c.c,{active:"2yr"===v,onClick:()=>O("2yr"),small:!0},"2 years")),l.a.createElement("span",{className:"date-inputs"},l.a.createElement("input",{type:"date",value:h,max:f,onChange:e=>(e=>{const{start:t,end:a}=jl(e,f);g(t),y(a),E(null)})(e.target.value)}),l.a.createElement("span",{className:"date-sep"},"–"),l.a.createElement("input",{type:"date",value:f,min:h,max:Cl(new Date),onChange:e=>(e=>{const{start:t,end:a}=jl(h,e);g(t),y(a),E(null)})(e.target.value)})))},m&&l.a.createElement("div",{className:"skeleton-container"},l.a.createElement("div",{className:"top-row"},l.a.createElement("div",{className:"stats-column"},[0,1,2].map(e=>l.a.createElement("div",{className:"stat-card skeleton-stat",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-value"}),l.a.createElement("div",{className:"skeleton-line skeleton-label"})))),l.a.createElement("div",{className:"chart-column"},l.a.createElement("div",{className:"skeleton-line skeleton-heading"}),l.a.createElement("div",{className:"skeleton-chart"}))),l.a.createElement("div",{className:"row-pubs-countries"},[0,1].map(e=>l.a.createElement("div",{className:"data-panel",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-heading"}),[0,1,2,3,4].map(e=>l.a.createElement("div",{className:"skeleton-table-row",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-cell"}),l.a.createElement("div",{className:"skeleton-line skeleton-cell-short"})))))),l.a.createElement("div",{className:"row-half"},[0,1].map(e=>l.a.createElement("div",{className:"data-panel",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-heading"}),[0,1,2,3,4].map(e=>l.a.createElement("div",{className:"skeleton-table-row",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-cell"}),l.a.createElement("div",{className:"skeleton-line skeleton-cell-short"})))))),l.a.createElement("div",{className:"row-third"},[0,1,2].map(e=>l.a.createElement("div",{className:"data-panel",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-heading"}),[0,1,2,3,4].map(e=>l.a.createElement("div",{className:"skeleton-table-row",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-cell"}),l.a.createElement("div",{className:"skeleton-line skeleton-cell-short"}))))))),p&&l.a.createElement(c.v,{icon:"warning-sign",title:"Unable to load analytics",description:p,action:l.a.createElement(c.c,{onClick:()=>C(h,f),icon:"refresh"},"Retry")}),!m&&!p&&s&&l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"top-row"},l.a.createElement("div",{className:"stats-column"},l.a.createElement(Tl,{label:"Total Pageviews",value:wl(s.totalPageViews),color:kl}),l.a.createElement(Tl,{label:"Unique Visits",value:wl(s.totalUniqueVisits),color:Sl}),l.a.createElement(Tl,{label:"Downloads",value:wl(s.totalDownloads),color:"#D9822B"})),N.length>1&&l.a.createElement("div",{className:"chart-column"},l.a.createElement("h3",null,"Pageviews Over Time"),l.a.createElement(nl.a,{width:"100%",height:220},l.a.createElement(ll.a,{data:N},l.a.createElement(rl.a,{strokeDasharray:"3 3",stroke:"#eee"}),l.a.createElement(ol.a,{dataKey:"label",tick:{fontSize:11}}),l.a.createElement(il.a,{tick:{fontSize:11},width:48,tickFormatter:wl}),l.a.createElement(sl.a,{formatter:e=>
1e.toLocaleString()}),l.a.createElement(cl.a,{type:"monotone",dataKey:"pageViews",name:"Pageviews",stroke:kl,fill:kl,fillOpacity:.08,strokeWidth:1.5}),l.a.createElement(cl.a,{type:"monotone",dataKey:"uniquePageViews",name:"Unique",stroke:Sl,fill:Sl,fillOpacity:.12,strokeWidth:1.5}),l.a.createElement(ul.a,{iconSize:8,wrapperStyle:{fontSize:10,paddingTop:4}}))))),l.a.createElement("div",{className:"row-pubs-countries"},l.a.createElement(Il,{title:"Top Pubs",onExport:()=>{s&&Dl("top-pubs.csv",["Title","URL","Pub ID","Views","Downloads"],s.topPubs.map(e=>[e.pubTitle,e.pubSlug?"/pub/"+e.pubSlug:"",e.pubId,String(e.views),String(e.downloads)]))},rows:s.topPubs,columns:[{key:"pubTitle",label:"Title",flex:!0,render:(e,t)=>t.pubSlug?l.a.createElement("a",{href:"/pub/"+t.pubSlug},e):e},{key:"downloads",label:"Downloads",align:"right",render:e=>wl(e)},{key:"views",label:"Views",align:"right",render:e=>wl(e)}],emptyMessage:"No pub data for this period."}),l.a.createElement(Il,{title:"Countries",onExport:()=>{s&&Dl("countries.csv",["Country","Country Code","Pageviews"],s.countries.map(e=>[e.countryCode?Ol(e.countryCode):e.country,e.countryCode,String(e.count)]))},rows:s.countries.map(e=>vl(yl({},e),{country:e.countryCode?Ol(e.countryCode):e.country})),columns:[{key:"country",label:"Country"},{key:"count",label:"Views",align:"right",render:e=>wl(e)}],emptyMessage:"No country data for this period."})),l.a.createElement("div",{className:"row-half"},l.a.createElement(Il,{title:"Top Pages",onExport:()=>{s&&Dl("top-pages.csv",["Page Title","URL","Pageviews"],s.topPages.map(e=>[e.pageTitle||e.path||"(home)",e.path||"/",String(e.count)]))},rows:s.topPages,columns:[{key:"pageTitle",label:"Page",render:(e,t)=>l.a.createElement("a",{href:t.path,title:t.path},e||t.path||"(home)")},{key:"count",label:"Views",align:"right",render:e=>wl(e)}],emptyMessage:"No page data for this period."}),l.a.createElement(Il,{title:"Top Collections",onExport:()=>{s&&Dl("top-collections.csv",["Collection Title","URL","Collection ID","Pageviews"],s.topCollections.map(e=>[e.collectionTitle,e.collectionSlug?"/"+e.collectionSlug:"",e.collectionId,String(e.count)]))},rows:s.topCollections,columns:[{key:"collectionTitle",label:"Collection",render:(e,t)=>t.collectionSlug?l.a.createElement("a",{href:"/"+t.collectionSlug},e):e},{key:"count",label:"Views",align:"right",render:e=>wl(e)}],emptyMessage:"No collection data for this period."})),l.a.createElement("div",{className:"row-third"},l.a.createElement(Il,{title:"Top Referrers",onExport:()=>{s&&Dl("referrers.csv",["Referrer","Pageviews"],s.referrers.map(e=>[e.referrer,String(e.count)]))},rows:j,columns:[{key:"referrer",label:"Referrer",render:e=>{try{const t=new URL(e);return t.hostname+("/"!==t.pathname?t.pathname:"")}catch(t){return e}}},{key:"count",label:"Views",align:"right",render:e=>wl(e)}],emptyMessage:"No referrer data for this period."}),l.a.createElement(Il,{title:"Devices",onExport:()=>{s&&Dl("devices.csv",["Device","Pageviews"],s.devices.map(e=>[e.device_type,String(e.count)]))},rows:s.devices,columns:[{key:"device_type",label:"Device"},{key:"count",label:"Views",align:"right",render:e=>wl(e)}],emptyMessage:"No device data for this period."}),l.a.createElement(Il,{title:"Top Campaigns",onExport:()=>{s&&Dl("campaigns.csv",["Campaign","Pageviews"],s.campaigns.map(e=>[e.campaign,String(e.count)]))},rows:s.campaigns,columns:[{key:"campaign",label:"Campaign"},{key:"count",label:"Views",align:"right",render:e=>wl(e)}],emptyMessage:"No campaign data for this period."})))):l.a.createElement(A.s,{title:"Impact",className:"dashboard-impact-container"},l.a.createElement("p",null,"Login or ask the community administrator for access to impact data."))},Al=(a(1393),Object.defineProperty),Ml=Object.defineProperties,Ll=Object.getOwnPropertyDescriptors,Rl=Object.getOwnPropertySymbols,Fl=Object.prototype.hasOwnProperty,Ul=Object.prototype.propertyIsEnumerable,Bl=(e,t,a)=>t in e?Al(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,zl=(e,t)=>{for(var a in t||(t={}))Fl.call(t,a)&&Bl(e,a,t[a]);if(Rl)for(var a of Rl(t))Ul.call(t,a)&&Bl(e,a,t[a]);return e},$l=(e,t)=>
1Ml(e,Ll(t));const _l=new Intl.DisplayNames(["en"],{type:"region"});function Hl(e){var t;if(!e||2!==e.length)return e||"Unknown";try{return null!=(t=_l.of(e.toUpperCase()))?t:e}catch(t){return e}}const Vl=e=>e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString(),ql=({label:e,value:t,color:a})=>l.a.createElement("div",{className:"stat-card",style:{borderLeftColor:a}},l.a.createElement("div",{className:"stat-value"},t),l.a.createElement("div",{className:"stat-label"},e)),Wl="#2B95D6",Gl="#15B371",Yl=({rows:e,columns:t})=>l.a.createElement("table",{className:"compact-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,t.map(e=>l.a.createElement("th",{key:e.key},e.label)))),l.a.createElement("tbody",null,e.map(e=>l.a.createElement("tr",{key:t.map(t=>e[t.key]).join("|")},t.map(t=>l.a.createElement("td",{key:t.key},t.render?t.render(e[t.key],e):e[t.key]))))));var Kl=()=>{const{scopeData:e}=Object(De.c)(),{elements:{activeTargetType:t,activePub:a,activeCollection:r},activePermissions:{canView:o}}=e,[i,s]=Object(n.useState)(null),[u,m]=Object(n.useState)(!0),[d,p]=Object(n.useState)(null),[b,h]=Object(n.useState)(!1),[g,f]=Object(n.useState)(!1),[y,v]=Object(n.useState)("7d"),[E,O]=Object(n.useState)(!1),w=Object(Me.a)({mode:"impact",pubSlug:null==a?void 0:a.slug,collectionSlug:null==r?void 0:r.slug}),C=Object(n.useMemo)(()=>"pub"===t&&a?"&pubSlug="+encodeURIComponent(a.slug):"collection"===t&&r?"&collectionId="+encodeURIComponent(r.id):"",[t,a,r]),N=Object(n.useCallback)(e=>{return t=null,a=null,n=function*(){var t;m(!0),p(null),f(!1),h(!1);try{const{startDate:t,endDate:a}=(e=>{const t=new Date,a=new Date,n="1d"===e?1:"7d"===e?7:30;return a.setDate(t.getDate()-n),{startDate:a.toISOString().slice(0,10),endDate:t.toISOString().slice(0,10)}})(e),n=yield fetch(`/api/impact2?startDate=${t}&endDate=${a}${C}`);if(!n.ok){const e=yield n.json().catch(()=>({}));if(503===n.status)return void h(!0);throw new Error(e.error||`Request failed (${n.status})`)}const l=yield n.json();s(l),f(!!l.stale)}catch(e){p(null!=(t=e.message)?t:"Failed to load analytics")}finally{m(!1)}},new Promise((e,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((n=n.apply(t,a)).next())});var t,a,n},[C]);Object(n.useEffect)(()=>{o&&N(y)},[y,o,N]);const j=Object(n.useMemo)(()=>i?i.daily.map(e=>
1{return $l(zl({},e),{label:(t=e.date,new Date(t+"T00:00:00").toLocaleDateString(void 0,{month:"short",day:"numeric"}))});var t}):[],[i]);return o?l.a.createElement(A.s,{title:"Impact",className:"dashboard-impact2-container",controls:l.a.createElement(c.d,null,l.a.createElement(c.c,{active:"1d"===y,onClick:()=>v("1d"),small:!0},"Today"),l.a.createElement(c.c,{active:"7d"===y,onClick:()=>v("7d"),small:!0},"7 days"),l.a.createElement(c.c,{active:"30d"===y,onClick:()=>v("30d"),small:!0},"30 days"))},l.a.createElement(c.e,{intent:"none",className:"analytics-callout"},"This dashboard reflects recent activity based on edge data and is designed for quick, transient insight. It does not provide historical reporting or long-term retention. For comprehensive analytics, we strongly recommend connecting a dedicated analytics tool in ",l.a.createElement("a",{href:"/dash/settings/analytics-settings"},"Settings"),".",l.a.createElement("br",null),l.a.createElement("br",null),"Legacy analytics remain available ",l.a.createElement("a",{href:w},"here"),". We'll announce more formal plans for the legacy analytics shortly. In the meantime, you can continue to view and download any historical data you might need. Please feel free to ",l.a.createElement("a",{href:"mailto:[email protected]?subject=Legacy%20Analytics"},"reach out")," if you have any specific needs or feedback we should keep in mind."),u&&l.a.createElement("div",{className:"skeleton-container"},l.a.createElement("div",{className:"top-row"},l.a.createElement("div",{className:"stats-column"},l.a.createElement("div",{className:"stat-card skeleton-stat"},l.a.createElement("div",{className:"skeleton-line skeleton-value"}),l.a.createElement("div",{className:"skeleton-line skeleton-label"})),l.a.createElement("div",{className:"stat-card skeleton-stat"},l.a.createElement("div",{className:"skeleton-line skeleton-value"}),l.a.createElement("div",{className:"skeleton-line skeleton-label"}))),l.a.createElement("div",{className:"chart-column"},l.a.createElement("div",{className:"skeleton-line skeleton-heading"}),l.a.createElement("div",{className:"skeleton-chart"}))),l.a.createElement("div",{className:"data-grid"},[0,1,2].map(e=>l.a.createElement("div",{className:"data-panel",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-heading"}),[0,1,2,3,4,5].map(e=>l.a.createElement("div",{className:"skeleton-table-row",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-cell"}),l.a.createElement("div",{className:"skeleton-line skeleton-cell-short"})))))),l.a.createElement("div",{className:"data-panel top-pages-panel"},l.a.createElement("div",{className:"skeleton-line skeleton-heading"}),[0,1,2,3,4,5,6,7].map(e=>l.a.createElement("div",{className:"skeleton-table-row",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-cell"}),l.a.createElement("div",{className:"skeleton-line skeleton-cell-short"}))))),d&&l.a.createElement(c.v,{icon:"warning-sign",title:"Unable to load analytics",description:d,action:l.a.createElement(c.c,{onClick:()=>N(y),icon:"refresh"},"Retry")}),b&&l.a.createElement(c.v,{icon:"chart",title:"Community Impact Metrics not available",description:"Analytics have not been configured for this instance. Contact your administrator to enable Cloudflare analytics."}),!u&&!d&&i&&l.a.createElement(l.a.Fragment,null,g&&l.a.createElement("div",{className:"stale-callout"},"Data may be slightly delayed — try again in a few minutes."),l.a.createElement("div",{className:"top-row"},l.a.createElement("div",{className:"stats-column"},l.a.createElement(ql,{label:"Pages Viewed",value:Vl(i.totals.pageViews),color:Gl}),l.a.createElement(ql,{label:"Unique Sessions",value:Vl(i.totals.visits),color:Wl}),l.a.createElement("p",{className:"fine-print"},"All numbers adjusted for suspected bot/spam traffic.*")),j.length>1&&l.a.createElement("div",{className:"chart-column"},l.a.createElement("h3",null,"Traffic Over Time"),l.a.createElement(nl.a,{width:"100%",height:180},l.a.createElement(ll.a,{data:j},l.a.createElement(rl.a,{strokeDasharray:"3 3",stroke:"#eee"}),l.a.createElement(ol.a,{dataKey:"label",tick:{fontSize:11}}),l.a.createElement(il.a,{tick:{fontSize:11},width:48,tickFormatter:Vl}),l.a.createElement(sl.a,{formatter:e=>
1e.toLocaleString()}),l.a.createElement(cl.a,{type:"monotone",dataKey:"pageViews",name:"Pages",stroke:Gl,fill:Gl,fillOpacity:.08,strokeWidth:1.5}),l.a.createElement(cl.a,{type:"monotone",dataKey:"visits",name:"Sessions",stroke:Wl,fill:Wl,fillOpacity:.12,strokeWidth:1.5}),l.a.createElement(ul.a,{iconSize:8,wrapperStyle:{fontSize:10,paddingTop:4}}))))),l.a.createElement("div",{className:"data-grid"},i.countries.length>0&&l.a.createElement("div",{className:"data-panel"},l.a.createElement("h3",null,"Countries"),l.a.createElement(Yl,{rows:i.countries.slice(0,12).map(e=>$l(zl({},e),{country:Hl(e.country)})),columns:[{key:"country",label:"Country"},{key:"count",label:"Views",render:e=>Vl(e)}]})),i.referrers.length>0&&l.a.createElement("div",{className:"data-panel"},l.a.createElement("h3",null,"Referrers"),l.a.createElement(Yl,{rows:i.referrers.slice(0,12),columns:[{key:"referrer",label:"Source"},{key:"count",label:"Views",render:e=>Vl(e)}]})),i.devices.length>0&&l.a.createElement("div",{className:"data-panel"},l.a.createElement("h3",null,"Devices"),l.a.createElement(Yl,{rows:(()=>{const e=i.devices.reduce((e,t)=>e+t.count,0);return i.devices.map(t=>({device:t.device,pct:e?(t.count/e*100).toFixed(1)+"%":"0%"}))})(),columns:[{key:"device",label:"Type"},{key:"pct",label:"%"}]}))),i.topPaths.length>0&&l.a.createElement("div",{className:"data-panel top-pages-panel"},l.a.createElement("h3",null,"Top Pages"),l.a.createElement(Yl,{rows:i.topPaths.slice(0,E?i.topPaths.length:15),columns:[{key:"path",label:"Page",render:e=>{const t=function(e,t){var a,n;if(!t)return null;const l=e.match(/^\/pub\/([^/]+)/);if(l)return null!=(a=t["/pub/"+l[1]])?a:null;const r=e.match(/^\/([^/]+)/);return r&&null!=(n=t["/"+r[1]])?n:null}(e,i.pathTitles);return l.a.createElement("a",{href:e,title:e,className:"path-cell"},t?l.a.createElement(l.a.Fragment,null,l.a.createElement("span",{className:"path-title"},t),l.a.createElement("span",{className:"path-url"},e)):e)}},{key:"count",label:"Views",render:e=>Vl(e)}]}),i.topPaths.length>15&&l.a.createElement("button",{type:"button",className:"show-more-btn",onClick:()=>O(!E)},E?"Show less":"Show more")),l.a.createElement("div",{className:"analytics-footer"},l.a.createElement("p",null,"* Totals adjusted to exclude known bot/spam routes. Sessions estimated proportionally. Raw totals: ",Vl(i.rawTotals.visits)," sessions /"," ",Vl(i.rawTotals.pageViews)," page views."),l.a.createElement("p",null,"All web analytics capture unavoidable noise. While we apply filtering and normalization, some non-human or ambiguous traffic almost surely persists. Treat these numbers as directional indicators, not exact measurements."),l.a.createElement("p",null,"Analytics sourced from Cloudflare edge traffic data. Today's data is refreshed at most every hour.")))):l.a.createElement(A.s,{title:"Impact",className:"dashboard-impact2-container"},l.a.createElement("p",null,"Login or ask the community administrator for access to impact data."))},Jl=a(409),Ql=a(273);a(1394);const Zl=e=>{const[t,a]=Object(n.useState)(e.bans),[r,o]=Object(n.useState)(new Set),i=Object(n.useCallback)(e=>{return t=null,n=null,l=function*(){o(t=>new Set(t).add(e));try{yield Ae.a.put("/api/communityBans/"+e,{status:"retracted"}),a(t=>t.filter(t=>t.id!==e))}finally{o(t=>{const a=new Set(t);return a.delete(e),a})}},new Promise((e,a)=>{var r=e=>{try{i(l.next(e))}catch(e){a(e)}},o=e=>{try{i(l.throw(e))}catch(e){a(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((l=l.apply(t,n)).next())});var t,n,l},[]);return t.length?l.a.createElement("div",{className:"banned-users-list"},t.map(e=>l.a.createElement("div",{key:e.id,className:"banned-user-row"},l.a.createElement(A.e,{width:30,initials:e.user.initials,avatar:e.user.avatar}),l.a.createElement("div",{className:"banned-user-info"},l.a.createElement("span",{className:"banned-user-name"},e.user.fullName),l.a.createElement("span",{className:"banned-user-detail"},"Banned by ",e.actor.fullName,e.reason?` (${Object(Ql.a)(e.reason)})`:"")),l.a.createElement(c.c,{small:!0,intent:xe.a.WARNING,text:"Unban",loading:r.has(e.id),onClick:()=>i(e.id)}
1)))):l.a.createElement("i",null,"No banned users.")};var Xl=e=>{const{membersData:t,bannedUsersData:a}=e,{membersByType:n,addMember:r,updateMember:o,removeMember:i}=Object(Jl.a)({initialMembers:t.members}),{scopeData:s}=Object(De.c)(),{elements:{activeTargetType:u,activeTargetName:m},activePermissions:{canManage:d,canAdminCommunity:p}}=s,b=n[u],h=!b.length&&!t.invitations.length,g="community"===u&&p&&a.length>0,f=n.collection.length&&"collection"!==u||n.community.length&&"community"!==u,y=l.a.createElement(l.a.Fragment,null,d&&l.a.createElement(A.Ib,{title:"Add Member"},l.a.createElement(c.i,{className:"add-member-controls"},l.a.createElement(A.Yb,{onSelect:r,usedUserIds:b.map(e=>e.userId)}),l.a.createElement(c.c,{large:!0,text:"Add",intent:xe.a.PRIMARY}))),l.a.createElement(A.Ib,{title:`Members (${b.length})`},h&&l.a.createElement("i",null,"No members yet."),t.invitations.map(e=>l.a.createElement(A.X,{isInvitation:!0,memberData:e,key:e.id})),n[u].map(e=>l.a.createElement(A.X,{memberData:e,isReadOnly:!d,isOnlyMemberInScope:1===n[u].length,onUpdate:o,onDelete:i,key:e.id}))),!!f&&l.a.createElement(A.Ib,{title:"Inherited Members"},!!n.collection.length&&"collection"!==u&&l.a.createElement(A.Q,{members:n.collection,scope:"Collection"}),!!n.community.length&&"community"!==u&&l.a.createElement(A.Q,{members:n.community,scope:"Community"})));return l.a.createElement(A.s,{className:"dashboard-members-container",title:"Members",details:`Invite and manage collaborators on this ${m}.`},g?l.a.createElement(c.I,{id:"dashboard-members-tabs"},l.a.createElement(c.H,{id:"members",title:"Members",panel:y}),l.a.createElement(c.H,{id:"banned",title:`Banned Users (${a.length})`,panel:l.a.createElement(Zl,{bans:a})})):y)},er=a(72),tr=a.n(er),ar=a(31);a(1395);var nr=e=>{const{selected:t,onSelect:a,label:n,count:r,icon:o,disabled:i}=e;return l.a.createElement($t.a,{as:"div",className:"kind-toggle-component",checked:t,onChange:()=>a(!t),unstable_clickOnEnter:!0,disabled:i},l.a.createElement(A.O,{icon:o,iconSize:12}),l.a.createElement("span",{className:"label"},n," ",l.a.createElement("span",{className:"count"},"(",r,")")))};a(1396);var lr=e=>{const{primary:t,secondary:a}=e;return l.a.createElement("div",{className:"overview-frame-component"},l.a.createElement("div",{className:"primary"}
1,t),a&&l.a.createElement(A.eb,{desktop:l.a.createElement("div",{className:"secondary"},a)}))};a(1397);var rr=Object.defineProperty,or=Object.getOwnPropertySymbols,ir=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable,cr=(e,t,a)=>t in e?rr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ur=(e,t)=>{for(var a in t||(t={}))ir.call(t,a)&&cr(e,a,t[a]);if(or)for(var a of or(t))sr.call(t,a)&&cr(e,a,t[a]);return e};var mr=e=>{const{placeholder:t,initialSearchTerm:a,onCommitSearchTerm:r,onUpdateSearchTerm:i,rightControls:s,onChooseFilter:u,filter:m,filters:d}=e,[p,b]=Object(n.useState)(!1),{loginData:{id:h},scopeData:{activePermissions:{canView:g}}}=Object(De.c)(),f=Object(n.useMemo)(()=>d||(e=>{const{isViewMember:t,userId:a}=e;return Object(ar.h)([{id:"all",title:"All",query:null},{id:"latest",title:"Latest",query:{ordering:{field:"creationDate",direction:"DESC"}}},t&&{id:"drafts",title:"Drafts",query:{isReleased:!1}},{id:"released",title:"Released",query:{isReleased:!0}},t&&{id:"mine",title:"My Pubs",query:{relatedUserIds:[a],ordering:{field:"creationDate",direction:"DESC"}}}])})({userId:h,isViewMember:g}),[h,g,d]),y=Object(n.useCallback)(e=>{const{value:t}=e.target;i&&i(t.trim())},[i]),v=Object(n.useCallback)(e=>{const{value:t}=e.target;"Enter"===e.key&&r&&r(t.trim())},[r]),E=Object(n.useCallback)(e=>{if(u){const t=f.find(t=>t.id===e);u(t)}},[f,u]),O=ur({},m&&{selectedTabId:m.id});return l.a.createElement("div",{className:"overview-search-group-component"},u&&l.a.createElement(c.I,ur({className:"filter-controls",id:"overview-search-group-filter",onChange:E},O),f.map(e=>l.a.createElement(c.H,{id:e.id,key:e.id,title:e.title}))),l.a.createElement("div",{className:o()("search-bar",p&&"search-focused")},l.a.createElement(A.O,{icon:"search",className:"search-icon",iconSize:16}),l.a.createElement("input",{defaultValue:a,placeholder:t,onFocus:()=>b(!0),onBlur:()=>b(!1),onChange:y,onKeyDown:v}),s&&l.a.createElement("div",{className:"right-controls"},s)))};a(1398);var dr=e=>{const{children:t,icon:a,title:n,descendTitle:r,spaced:i}=e;return l.a.createElement("div",{className:o()("overview-section-component",i&&"spaced")},l.a.createElement("div",{className:o()("title",r&&"descending")},a&&l.a.createElement(A.O,{icon:a,iconSize:18}),n),t)};a(1399);var pr=e=>{const{actions:t}=e;return l.a.createElement("div",{className:"quick-actions-component"},t.map(e=>{const{icon:t,label:a,href:n}=e;return l.a.createElement("a",{className:"quick-action",href:n,key:n},l.a.createElement("div",{className:"icon-wrapper"},l.a.createElement(A.O,{icon:t,iconSize:14})),l.a.createElement("div",{className:"label"},a))}))};a(1400);var br=e=>{const{userScopeVisits:t,pubs:a,collections:n}=e,r=((e,t,a)=>e.sort((e,t)=>e.updatedAt>t.updatedAt?-1:1).reduce((e,n)=>{const{pubId:l,collectionId:r}=n,o=!!l,i=t.find(({id:e})=>e===l),s=a.find(({id:e})=>e===r);return i||s?[...e,{href:o?Object(Me.a)({pubSlug:null==i?void 0:i.slug}):Object(Me.a)({collectionSlug:null==s?void 0:s.slug}),iconName:o?"pubDoc":"collection",id:n.id,title:(o?null==i?void 0:i.title:null==s?void 0:s.title)||""}]:e},[]).slice(0,5))(t,a,n);return l.a.createElement("ol",{className:"recent-visit-list-component"},r.map(({id:e,title:t,iconName:a,href:n})=>l.a.createElement("li",{key:e,className:"entry"},l.a.createElement(A.O,{icon:a,iconSize:16}),l.a.createElement("a",{className:"label",href:n},t))))};a(1401);var hr=e=>{const{scopeKind:t,scope:a}=e,{collections:n,pubs:r,submissions:o,discussions:i,reviews:s}=a.scopeSummary,c=(e,t,a)=>l.a.createElement("div",{className:"entry"},l.a.createElement(A.O,{icon:a,iconSize:16}),l.a.createElement("div",{className:"label"},l.a.createElement("span",{className:"count"},t)," ",e));return l.a.createElement("div",{className:"scope-summary-list-component"},l.a.createElement("p",{className:"intro"},(()=>{const e=Qt()(a.createdAt,"mmmm d, yyyy");if("community"===t)return l.a.createElement(l.a.Fragment,null,"This Community was created on ",e," and contains:");if("collection"===t){const{label:t}=Object(ze.c)(a.kind);return l.a.createElement(l.a.Fragment,null,"This Collection is ",Object(mt.c)(t.singular)," ",Object(mt.b)(t.singular),". It was created on ",e," and contains:")}return null})()),"community"===t&&c("Collections",n,"collection"),c("Pubs",r,"pubDoc"),c("Submissions",o,"manually-entered-data"),c("Discussions",i,"chat"),c("Reviews",s,"social-media"))};var gr=a(89);const fr=(e,t=!1)=>
1{if(!e)return[];const{discussions:a,reviews:n,pubs:l}=e,r=[];return t&&r.push({label:String(l),icon:"pubDoc"}),a>0&&r.push({label:String(a),icon:"chat"}),n>0&&r.push({label:String(n),icon:"social-media"}),r},yr=e=>{const{isPublic:t}=e;return t?{label:"Public",icon:"globe"}:{label:"Private",icon:"lock"}},vr=e=>{const t=Object(ze.c)(e.kind);return{label:Object(mt.b)(t.label.singular),icon:t.bpDisplayIcon}},Er=Date.now(),Or=e=>Er-e.valueOf()>6048e5?"on "+Object(Gt.b)(e):l.a.createElement(A.Tb,{date:e}),wr=e=>{const t=Object(gr.d)(e,!1);return t&&e.releases&&e.releases.length>0?{label:l.a.createElement(l.a.Fragment,null,"Published ",Or(t)),icon:"globe"}:{label:"Unreleased",icon:"lock"}},Cr=e=>{var t;const a=null==(t=e.submission)?void 0:t.submittedAt;return a?{label:l.a.createElement(l.a.Fragment,null,"Submitted ",Or(new Date(a))),icon:"time"}:null},Nr=e=>l.a.createElement("div",{className:"summary-icons"},e.map((e,t)=>{const{icon:a,label:n,iconClass:r,iconSize:o=12}=e,i="string"==typeof a?l.a.createElement(A.O,{className:r,icon:a,iconSize:o}):a;return l.a.createElement("div",{className:"summary-icon-pair",key:`label-${n}-${t}`},i,n)})),jr=e=>e.scopeSummary?[...fr(Object(fe.c)(e.scopeSummary)),wr(e)]:[wr(e)];a(1402);var kr=l.a.forwardRef((e,t)=>{const{className:a,leftIcon:r,details:i,title:s,byline:c,rightElement:u=null,withBorder:m=!0,withHoverEffect:d=!1,darkenRightIcons:p=!1,onClick:b,href:h}=e,g=Object(n.useRef)(null),f=Object(n.useCallback)(e=>{e.target===g.current&&e.preventDefault()},[]),y=Object(n.useCallback)(e=>{e.stopPropagation()},[]),v="string"==typeof r?l.a.createElement(A.O,{icon:r,className:"left-icon",iconSize:16}):r;return l.a.createElement("div",{onClick:b,ref:t,onMouseDown:f,className:o()("overview-row-skeleton-component",d&&"with-hover-effect",m&&"with-border",a)},v,l.a.createElement("div",{className:"center-container",ref:g},l.a.createElement("a",{href:h,className:"title",onClick:y},s),c&&l.a.createElement("div",{className:"byline"},c),i),l.a.createElement("div",{className:o()("right-element",p&&"darker")},u))});a(1403);var Sr=l.a.forwardRef((e,t)=>{var a;const{className:r,collection:i,isOpen:s,onToggleOpen:u,isLoading:m}=e,{title:d,slug:p}=i,{communityData:b}=Object(De.c)(),h=Object(n.useCallback)(e=>{u&&(u(),e.stopPropagation())},[u]),g=Nr([...fr(null!=(a=i.scopeSummary)?a:null,!0),yr(i),vr(i)]),f=l.a.createElement(c.c,{"aria-label":s?"collapse Collection":"expand Collection",onClick:h,minimal:!0,icon:l.a.createElement(A.O,{iconSize:16,icon:s?"collapse-all":"expand-all",color:b.accentColorDark}),loading:m});return l.a.createElement(kr,{onClick:u,className:o()("collection-overview-row-component",r),title:d,leftIcon:"collection",href:Object(Me.a)({collectionSlug:p}),details:g,withHoverEffect:!s,rightElement:f,ref:t})}),Pr=a(151),Dr=a(265),Ir=(a(1404),Object.defineProperty),Tr=Object.defineProperties,xr=Object.getOwnPropertyDescriptors,Ar=Object.getOwnPropertySymbols,Mr=Object.prototype.hasOwnProperty,Lr=Object.prototype.propertyIsEnumerable,Rr=(e,t,a)=>t in e?Ir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Fr=l.a.forwardRef((e,t)=>{const a=e,{isDark:n,children:r,className:i}=a,s=((e,t)=>{var a={};for(var n in e)Mr.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Ar)for(var n of Ar(e))t.indexOf(n)<0&&Lr.call(e,n)&&(a[n]=e[n]);return a})(a,["isDark","children","className"]),{communityData:{accentColorDark:c}}=Object(De.c)();return l.a.createElement("div",((e,t)=>Tr(e,xr(t)))(((e,t)=>{for(var a in t||(t={}))Mr.call(t,a)&&Rr(e,a,t[a]);if(Ar)for(var a of Ar(t))Lr.call(t,a)&&Rr(e,a,t[a]);return e})({},s),{ref:t,className:o()("special-row-component",n&&"dark",i),style:n?{background:c,color:"white"}:{}}),l.a.createElement("div",{className:"inner"},r))});a(1405);var Ur=e=>{const{isLoading:t,isDark:a,onClick:n}=e;return l.a.createElement(Dr.a,{as:Fr,onClick:n,isDark:a,className:"load-more-pubs-row-component",disabled:t},!t&&l.a.createElement(A.O,{icon:"chevron-down",iconSize:18}),t&&l.a.createElement(c.F,{size:14}),l.a.createElement("span",{className:"label"},t?"Loading Pubs...":"Load more Pubs"))};a(1406);var Br=e=>{const{children:t,style:a,className:n}=e;return l.a.createElement("ul",{style:a,className:o()("overview-rows-component",n)},l.a.Children.map(t,(e,t)=>e?l.a.createElement("li",{key:t},e):null))};var zr=e=>{const{pub:t,className:a,inCollection:n,leftIconElement:r=null,labels:i=null,rightElement:s}=e,{communityData:u}=Object(De.c)(),m=s||l.a.createElement(c.b,{minimal:!0,icon:"circle-arrow-right",href:Object(ht.g)(u,t),target:"_blank"}),d=[...i||[],...jr(t)];return l.a.createElement(kr,{className:o()("pub-overview-row-component",a),title:l.a.createElement(A.Eb,{pubData:t}),href:Object(Me.a)({pubSlug:t.slug,collectionSlug:null==n?void 0:n.slug}),byline:l.a.createElement(A.rb,{pubData:t,linkToUsers:!1,truncateAt:8}),details:Nr(d),leftIcon:r||"pubDoc",rightElement:m,darkenRightIcons:!!n})};a(1407);var $r=e=>{const{collection:t}=e,[a,r]=Object(n.useState)(!1),[i,s]=Object(n.useState)(null),{communityData:c}=Object(De.c)(),u=Object(n.useRef)(),m=Object(n.useMemo)(()=>tr()(c.accentColorDark).alpha(.05).toString(),[c.accentColorDark]),{currentQuery:{pubs:d,loadM
1orePubs:p,hasLoadedAllPubs:b},allQueries:{isLoading:h}}=Object(gn.a)({isEager:!1,batchSize:100,query:{collectionIds:[t.id],ordering:{field:"collectionRank",direction:"ASC"}}}),g=a&&d.length>0;Object(Pr.b)({target:u.current,isActive:g,offset:140});return l.a.createElement(l.a.Fragment,null,l.a.createElement(Sr,{className:o()("expandable-collection-overview-row-component",g&&"expanded"),collection:t,isOpen:a,isLoading:h&&a&&!d.length,onToggleOpen:()=>{const e=u.current;if(a)Object(Pr.a)(e)&&"number"==typeof i&&window.scrollTo({top:i});else{const t=e.getBoundingClientRect().top+window.scrollY;s(t-140),0===d.length&&p()}r(!a)},ref:u}),a&&l.a.createElement(Br,{style:{backgroundColor:m}},d.map(e=>l.a.createElement(zr,{pub:e,key:e.id,inCollection:t})),!b&&d.length>0&&l.a.createElement(Ur,{isLoading:h,onClick:p,isDark:!0}),b&&0===d.length&&l.a.createElement(Fr,{isDark:!0},"No Pubs in this Collection yet.")))},_r=a(1559);var Hr=e=>{const{children:t,onSelectPub:a,collectionId:r,usedPubIds:o}=e,[i,s]=Object(n.useState)(""),[c]=Object(_r.a)(i,200),{allQueries:{isLoading:u},currentQuery:{pubs:m}}=Object(gn.a)({batchSize:50,query:{term:c,excludeCollectionIds:[r],ordering:{field:"updatedDate",direction:"DESC"}},pubOptions:{getCollections:!0}});return l.a.createElement(A.Fb,{itemRenderer:(e,{handleClick:t,modifiers:{active:a}})=>l.a.createElement(A.yb,{key:e.id,id:e.id,onClick:t,title:e.title,contributors:e.attributions,active:a}),items:m.filter(e=>!o.has(e.id)),onQueryChange:s,onItemSelect:a,emptyListPlaceholder:u?l.a.createElement(Ur,{isLoading:!0}):"No Pubs to show",searchPlaceholder:"Search for Pubs",children:t,query:i})};var Vr=e=>{const{usedPubIds:t,collection:a,updateCollection:n,addCollectionPub:r}=e,{scopeData:o}=Object(De.c)(),{canManage:i}=o.activePermissions,{isPublic:s,isRestricted:u}=a;return i?l.a.createElement(l.a.Fragment,null,l.a.createElement(Hr,{usedPubIds:t,onSelectPub:r,collectionId:a.id},l.a.createElement(c.c,{outlined:!0,icon:"plus"},"Add Pubs")),l.a.createElement(un.b,{"aria-label":"Choose whether this Collection is restricted",buttonContent:u?"Restricted":"Open",placement:"bottom-end",buttonProps:{minimal:!0,outlined:!0,icon:u?"folder-close":"folder-open",rightIcon:"caret-down"}},l.a.createElement(un.d,{text:l.a.createElement(l.a.Fragment,null,l.a.createElement("b",null,"Restricted:")," only managers of this Collection can add Pubs"),icon:u?"tick":"blank",onClick:()=>n({isRestricted:!0})}),l.a.createElement(un.d,{text:l.a.createElement(l.a.Fragment,null,l.a.createElement("b",null,"Open:")," anyone in this Community can add their Pub"),icon:u?"blank":"tick",onClick:()=>n({isRestricted:!1})})),!s&&l.a.createElement(c.c,{intent:"primary",icon:"globe",onClick:()=>n({isPublic:!0})},"Make public"),s&&l.a.createElement(un.b,{"aria-label":"Make this collection private",buttonContent:"Public",buttonProps:{icon:"tick",rightIcon:"caret-down",outlined:!0}},l.a.createElement(un.d,{text:"Make private",onClick:()=>n({isPublic:!1})}))):null},qr=a(198),Wr=a(90);var Gr=Object.defineProperty,Yr=Object.defineProperties,Kr=Object.getOwnPropertyDescriptors,Jr=Object.getOwnPropertySymbols,Qr=Object.prototype.hasOwnProperty,Zr=Object.prototype.propertyIsEnumerable,Xr=(e,t,a)=>t in e?Gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,eo=(e,t)=>{for(var a in t||(t={}))Qr.call(t,a)&&Xr(e,a,t[a]);if(Jr)for(var a of Jr(t))Zr.call(t,a)&&Xr(e,a,t[a]);return e},to=(e,t)=>Yr(e,Kr(t));const ao=(e,t=!1)=>{const{updateCollection:a,communityData:l}=Object(De.c)(),{pendingPromise:r}=Object(De.d)(),{state:o,error:i,update:s,hasChanges:c,persist:u}=Fa(e,t=>r(Pa.e({communityId:l.id,collectionId:e.id,updatedCollection:t})).then(()=>a(t))),m=Object(n.useMemo)(()=>((e,t)=>{var a,n;const l=null==(a=t.pages)?void 0:a.find(t=>t.id===e.pageId),r=null==(n=e.attributions)?void 0:n.map(qr.a);return to(eo({},e),{page:l,attributions:r})})(o,l),[o,l]);return{slugStatus:((e,t)=>e&&e.desiredSlug===t&&"forbidden-slug"===e.type?e.slugStatus:"available")(i,o.slug),collection:m,hasChanges:c,persistCollection:u,updateCollection:e=>s(e,t),deleteCollection:()=>r(Pa.c({communityId:l.id,collectionId:m.id}))}};var no=Object.defineProperty,lo=Object.defineProperties,ro=Object.getOwnPropertyDescriptors,oo=Object.getOwnPropertySymbols,io=Object.prototype.hasOwnProperty,so=Object.prototype.propertyIsEnumerable,co=(e,t,a)=>t in e?no(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,uo=(e,t)=>{for(var a in t||(t={}))io.call(t,a)&&co(e,a,t[a]);if(oo)for(var a of oo(t))so.call(t,a)&&co(e,a,t[a]);return e},mo=(e,t)=>lo(e,ro(t));const po=l.a.forwardRef((e,t)=>
1l.a.createElement(c.c,mo(uo({},e),{elementRef:t})));var bo=e=>{const{collectionPub:t,collection:a,setCollectionPubContextHint:r,setCollectionPubIsPrimary:o,removeCollectionPub:i,pub:s}=e,[u,m]=Object(n.useState)(!1),{scopeData:d}=Object(De.c)(),{canManage:p}=d.activePermissions;if(!p)return null;const b=Object(ze.c)(a.kind),h=((e,t,a)=>{const{collectionPubs:n}=t,l=mo(uo({},e),{collection:a}),r=n.length>0?n.map(t=>t.id===e.id?l:t):[l];return Object(ye.a)(r)})(t,s,a),g=u||(null==h?void 0:h.id)===a.id;return l.a.createElement(l.a.Fragment,null,"tag"!==a.kind&&l.a.createElement(l.a.Fragment,null,g?l.a.createElement(c.N,{position:"left",content:l.a.createElement(l.a.Fragment,null,l.a.createElement(c.q,{icon:"tick"})," This Pub's Primary Collection")},l.a.createElement(c.c,{"aria-label":"This Pub's Primary Collection",minimal:!0,small:!0,icon:l.a.createElement(c.q,{icon:"star",iconSize:14})})):l.a.createElement(A.mb,{component:()=>l.a.createElement("div",{className:"primary-collection-swap-popover"},h&&l.a.createElement(l.a.Fragment,null,"This Pub's ",l.a.createElement(A.ob,null)," is currently"," ",l.a.createElement("i",null,h.title),".",l.a.createElement(c.k,null)),l.a.createElement(c.c,{intent:"primary",onClick:()=>{o(t),m(!0)}},h?"Use this Collection instead":"Use as Primary Collection")),"aria-label":"Make this the Primary Collection for this Pub"},l.a.createElement(po,{minimal:!0,small:!0,icon:l.a.createElement(c.q,{icon:"star-empty",iconSize:14}),elementRef:!0})),l.a.createElement(un.b,{"aria-label":"Collection context hint",buttonProps:{small:!0,minimal:!0,icon:l.a.createElement(c.q,{icon:"properties",iconSize:14})},placement:"bottom-end"},l.a.createElement(un.d,{text:l.a.createElement("i",null,"(No label)"),icon:t.contextHint?"blank":"tick",onClick:()=>r(t,null)}),b.contextHints.map(e=>l.a.createElement(un.d,{key:e.value,text:e.label,icon:t.contextHint===e.value?"tick":"blank",onClick:()=>r(t,e.value)})))),l.a.createElement(c.c,{small:!0,minimal:!0,icon:"cross","aria-label":"Remove this Pub from collection",onClick:()=>i(t)}))},ho=(a(1408),Object.defineProperty),go=Object.defineProperties,fo=Object.getOwnPropertyDescriptors,yo=Object.getOwnPropertySymbols,vo=Object.prototype.hasOwnProperty,Eo=Object.prototype.propertyIsEnumerable,Oo=(e,t,a)=>t in e?ho(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,wo=(e,t)=>{for(var a in t||(t={}))vo.call(t,a)&&Oo(e,a,t[a]);if(yo)for(var a of yo(t))Eo.call(t,a)&&Oo(e,a,t[a]);return e};const Co=e=>{const{slug:t}=e;return[{label:"Edit layout",icon:"page-layout",href:Object(Me.a)({collectionSlug:t,mode:"layout"})},{label:"Edit metadata",icon:"layers",href:Object(Me.a)({collectionSlug:t,mode:"settings",section:"metadata"})},"tag"!==e.kind&&{label:"Edit contributors",icon:"edit",href:Object(Me.a)({collectionSlug:t,mode:"settings",section:"attribution"})}].filter(Boolean)};var No=e=>{var t;const{overviewData:a,hasEnabledSubmissionWorkflow:r}=e,{pubs:i,collectionPubs:s,collection:u,includesAllPubs:m}=a,{scopeData:{activePermissions:{canManage:d}},communityData:p}=Object(De.c)(),[b,h]=Object(n.useState)(""),[g,f]=Object(n.useState)(null),[y,v]=Object(n.useState)([]),{collection:E,updateCollection:O}=ao(u,!0),w=null==g?void 0:g.query,C=!!b||!!w,N=!C&&d,{currentQuery:{loadMorePubs:j,pubs:k,hasLoadedAllPubs:S}}=Object(gn.a)({initialPubs:i,initiallyLoadedAllPubs:m,batchSize:200,isEager:C,query:wo({term:b,ordering:{field:"collectionRank",direction:"ASC"},scopedCollectionId:E.id},w),pubOptions:{getCollections:{collection:{}}}}),{pubs:P,pubsById:D,usedPubIds:I}=Object(n.useMemo)(()=>{const e=[...k,...y],t=Object(ar.f)(e,"id");return{pubs:e,pubsById:t,usedPubIds:new Set(Object.keys(t))}},[k,y]),{collectionPubs:T,reorderCollectionPubs:x,addCollectionPub:M,setCollectionPubContextHint:L,setCollectionPubIsPrimary:R,removeCollectionPub:F,scopeSummary:U}=(e=>{const{collection:t,pubs:a,initialCollectionPubs:l}=e,{id:r}=t,{communityData:{id:o}}=Object(De.c)(),{pendingPromise:i}=Object(De.d)(),[s,c]=Object(n.useState)(()=>Object(Wr.b)(l)),[u,m]=Object(n.useState)(t.scopeSummary),d=e=>{c(s.map(t=>
1t.id===e.id?e:t))};return{addCollectionPub:e=>{i(Pa.a({collectionId:r,communityId:o,pubId:e.id}).then(t=>{m(t=>to(eo({},((...e)=>{let t=0,a=0,n=0,l=0,r=0;return e.forEach(e=>{t+=e.discussions,a+=e.reviews,n+=e.pubs,l+=e.collections,r+=e.submissions}),{discussions:t,reviews:a,pubs:n,collections:l,submissions:r}})(t,Object(fe.c)(e.scopeSummary))),{pubs:t.pubs+1})),c(e=>Object(Wr.b)([...e,t]))}))},collectionPubs:s,removeCollectionPub:e=>{const t=a.find(t=>t.id===e.pubId);t&&m(e=>{return to(eo({},(a=e,n=Object(fe.c)(t.scopeSummary),{collections:a.collections-n.collections,pubs:a.pubs-n.pubs,discussions:a.discussions-n.discussions,reviews:a.reviews-n.reviews,submissions:a.submissions-n.submissions})),{pubs:e.pubs-1});var a,n}),i(Pa.d({communityId:o,id:e.id})),c(s.filter(t=>t.id!==e.id))},reorderCollectionPubs:(e,t)=>{const a=[...s],[n]=a.splice(e,1),l=Object(Wr.a)(a,t),r=to(eo({},n),{rank:l});a.splice(t,0,r),i(Pa.f({communityId:o,id:r.id,update:{rank:l}})),c(a)},setCollectionPubContextHint:(e,t)=>{i(Pa.f({communityId:o,id:e.id,update:{contextHint:t}})),d(to(eo({},e),{contextHint:t}))},setCollectionPubIsPrimary:e=>{const{pubId:t}=e,n=a.find(e=>e.id===t);if(n&&n.collectionPubs){const t=Object(Wr.a)(n.collectionPubs,0,"pubRank");i(Pa.f({communityId:o,id:e.id,update:{pubRank:t}})),d(to(eo({},e),{pubRank:t}))}},scopeSummary:u}})({collection:E,initialCollectionPubs:s,pubs:P}),B=Object(n.useMemo)(()=>T.filter(e=>!!D[e.pubId]),[T,D]);Object(Bt.a)({enabled:!m,useDocumentElement:!0,onRequestMoreItems:j,scrollTolerance:100});const z=e=>{const{source:t,destination:a}=e;a&&x(t.index,a.index)},$=(e,t,a)=>{const n=D[e.pubId];return l.a.createElement(zr,{inCollection:E,className:o()(a&&"collection-overview-row-is-dragging"),pub:n,leftIconElement:N&&l.a.createElement(A.C,{dragHandleProps:t}),rightElement:l.a.createElement(bo,{pub:n,collection:E,collectionPub:e,setCollectionPubContextHint:L,setCollectionPubIsPrimary:R,removeCollectionPub:F})})},_=Object(n.useMemo)(()=>tr()(p.accentColorDark).alpha(.1),[p.accentColorDark]),H=l.a.createElement(c.b,{minimal:!0,intent:"primary",className:"view-submissions-button",href:Object(Me.a)({collectionSlug:E.slug,mode:"submissions"})},"View submissions"),V=r&&d?(q="Submissions are now open for this collection!",l.a.createElement(A.h,{bannerText:q,accentColor:_,right:H})):null;var q,W,G;return l.a.createElement(A.s,{banner:V,icon:null==(t=Object(ze.c)(E.kind))?void 0:t.bpDisplayIcon,title:"Overview",className:"dashboard-collection-overview-container",controls:l.a.createElement(Vr,{usedPubIds:I,collection:E,updateCollection:O,addCollectionPub:e=>{v(t=>[...t,e]),M(e)}})},l.a.createElement(lr,{primary:l.a.createElement(dr,{title:"Explore",icon:"overview",descendTitle:!0},l.a.createElement(mr,{placeholder:"Search for Pubs in this Collection",onCommitSearchTerm:h,onUpdateSearchTerm:e=>""===e&&h(e),onChooseFilter:f}),l.a.createElement(cn.a,{onDragEnd:z},l.a.createElement(A.A,{items:B,renderItem:$,droppableId:"collectionOverview",droppableType:"collectionPub",withDragHandles:N,disabled:!N})),!S&&l.a.createElement(Ur,{isLoading:!0}),0===P.length&&S?C?l.a.createElement(Fr,null,"No matching Pubs."):l.a.createElement(c.v,{className:"collection-empty-state",icon:"clean",title:"This Collection looks brand new!",description:"Try adding a Pub from above."}):null),secondary:l.a.createElement(l.a.Fragment,null,d&&l.a.createElement(dr,{title:"Quick Actions",spaced:!0},l.a.createElement(pr,{actions:Co(E)})),l.a.createElement(dr,{title:"About"},l.a.createElement(hr,{scopeKind:"collection",scope:(W=wo({},E),G={scopeSummary:U},go(W,fo(G)))})))}))},jo=a(408),ko=(a(1409),Object.defineProperty),So=Object.getOwnPropertySymbols,Po=Object.prototype.hasOwnProperty,Do=Object.prototype.propertyIsEnumerable,Io=(e,t,a)=>t in e?ko(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,To=(e,t)=>{for(var a in t||(t={}))Po.call(t,a)&&Io(e,a,t[a]);if(So)for(var a of So(t))Do.call(t,a)&&Io(e,a,t[a]);return e};const xo=(e,t)=>e&&t?"Search Collections and Pubs":e?"Search Collections":"Search Pubs";var Ao=e=>{const{collections:t,initialPubs:a,initiallyLoadedAllPubs:r}=e,[o,i]=Object(n.useState)(""),[s,u]=Object(n.useState)(null),[m,d]=Object(n.useState)(!0),[p,b]=Object(n.useState)(!0),h=null==s?void 0:s.query,g=!!h||!!o,f=Object(n.useMemo)(()=>t.filter(e=>Object(jo.a)(e,o)),[t,o]),{currentQuery:{pubs:y,hasLoadedAllPubs:v,loadMorePubs:E}}=Object(gn.a)({isEager:g,initialPubs:a,initiallyLoadedAllPubs:r,batchSize:200,query:To({term:o,ordering:{field:"title",direction:"ASC"}},null==s?void 0:s.query)}),O=!h,w=!v&&m;
1Object(Bt.a)({enabled:w,useDocumentElement:!0,onRequestMoreItems:E});return l.a.createElement("div",{className:"community-items-component"},l.a.createElement(mr,{placeholder:xo(p,m),onUpdateSearchTerm:e=>""===e&&i(e),onCommitSearchTerm:i,onChooseFilter:u,rightControls:l.a.createElement(l.a.Fragment,null,O&&l.a.createElement(nr,{selected:p,onSelect:()=>{b(!p),p&&!m&&d(!0)},icon:"collection",label:"Collections",count:f.length}),l.a.createElement(nr,{selected:m||!O,onSelect:()=>{d(!m),m&&!p&&b(!0)},icon:"pubDoc",label:"Pubs",count:v?y.length:y.length+"+",disabled:!O}))}),l.a.createElement(Br,null,p&&O&&f.map(e=>l.a.createElement($r,{collection:e,key:e.id})),m&&y.map(e=>l.a.createElement(zr,{pub:e,key:e.id})),w&&l.a.createElement(Ur,{isLoading:!0}),(()=>{if(0===f.length){if(0===a.length)return l.a.createElement(c.v,{icon:"clean",title:"This Community looks brand new!",description:"Try creating a Pub or Collection from above."});if(0===y.length&&v&&g)return l.a.createElement(Fr,null,"No matching Pubs or Collections.")}return null})()))};const Mo=[{label:"Edit home page",icon:"page-layout",href:Object(Me.a)({mode:"pages",subMode:"home"})},{label:"Edit nav bar",icon:"cog",href:Object(Me.a)({mode:"settings",section:"navigation"})},{label:"Edit members/roles",icon:"people",href:Object(Me.a)({mode:"members"})}];var Lo=e=>{const{overviewData:t}=e,{pubs:a,recentPubs:r,userScopeVisits:o,collections:i,includesAllPubs:s}=t,{communityData:u,scopeData:{activePermissions:{canManage:m}}}=Object(De.c)(),[d,p]=Object(n.useState)(!1);return l.a.createElement(A.s,{title:"Overview",controls:m&&l.a.createElement(A.eb,{mobile:l.a.createElement("div",null,l.a.createElement(c.c,{icon:"plus",onClick:()=>p(!0),outlined:!0},"Create Collection"),l.a.createElement(Qe,{isOpen:d,onClose:()=>{p(!1)}}))})},l.a.createElement(lr,{primary:l.a.createElement(dr,{title:"Explore",icon:"overview",descendTitle:!0},l.a.createElement(Ao,{initialPubs:a,collections:i,initiallyLoadedAllPubs:s})),secondary:l.a.createElement(l.a.Fragment,null,o.length>0&&l.a.createElement(dr,{title:"recently viewed"},l.a.createElement(br,{userScopeVisits:o,pubs:r,collections:i})),m&&l.a.createElement(dr,{title:"Quick Actions",spaced:!0},l.a.createElement(pr,{actions:Mo})),l.a.createElement(dr,{title:"About"},l.a.createElement(hr,{scope:u,scopeKind:"community"})))}))},Ro=a(317);a(1410);var Fo=e=>{const{citationData:t,citationStyle:a,isOpen:n,onClose:r}=e;let o="";return Ro.b.forEach(e=>{e.key===a&&(o=e.name)}),l.a.createElement(c.j,{className:"citations-modal-component",isOpen:n,onClose:r,title:"Cite this pub"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("div",{className:"style-wrapper"},l.a.createElement("div",{className:"style-title"},o," (Default)"),l.a.createElement("div",{className:"style-content",dangerouslySetInnerHTML:{__html:t.pub.default}})),"apa-7"!==a&&"apa"!==a&&l.a.createElement("div",{className:"style-wrapper"},l.a.createElement("div",{className:"style-title"},"APA 7th Edition"),l.a.createElement("div",{className:"style-content",dangerouslySetInnerHTML:{__html:t.pub.apa}})),"harvard"!==a&&l.a.createElement("div",{className:"style-wrapper"},l.a.createElement("div",{className:"style-title"},"Harvard"),l.a.createElement("div",{className:"style-content",dangerouslySetInnerHTML:{__html:t.pub.harvard}})),"vancouver"!==a&&l.a.createElement("div",{className:"style-wrapper"},l.a.createElement("div",{className:"style-title"},"Vancouver"),l.a.createElement("div",{className:"style-content",dangerouslySetInnerHTML:{__html:t.pub.vancouver}})),l.a.createElement("div",{className:"style-wrapper"},l.a.createElement("div",{className:"style-title"},"Bibtex"),l.a.createElement("div",{className:"style-content bibtex",dangerouslySetInnerHTML:{__html:t.pub.bibtex}}))))};a(1411);const Uo=e=>{const{pubData:t,showHeader:a}=e,[r,o]=Object(n.useState)(!1),i=Object(n.useRef)();return l.a.createElement("div",{className:"citations-preview-component"},a&&l.a.createElement("h6",{className:"pub-header-themed-secondary"},"Cite as"),l.a.createElement("div",{className:"citation-body",ref:i,dangerouslySetInnerHTML:{__html:t.citationData.pub.default}}),l.a.createElement(c.d,null,l.a.createElement(A.j,{className:"copy-button",icon:"duplicate",copyString:()=>i.current?i.current.textContent:""},"Copy"),l.a.createElement(c.c,{className:"more-cite-options-button",icon:"more",minimal:!0,onClick:()=>o(!0)},"More Cite Options")),l.a.createElement(Fo,{isOpen:r,citationData:t.citationData,citationStyle:t.citationStyle,onClose:()=>o(!1)}))};Uo.defaultProps={showHeader:!0};var Bo=Uo,zo=a(124);a(1412);var $o=e=>{var t;const{pubData:a}=e,{communityData:n,scopeData:{activePermissions:{canView:r,canViewDraft:o,canManage:i}}}=Object(De.c)(),{releases:s}=a,u=s.slice(0,s.length-1),m=s[s.length-1],d=null==(t=a.draft)?void 0:t.latestKeyAt,p=!!d,b=d?"Last edited "+Object(Gt.b)(d,{includeTime:!0}):"Get started by editing the Pub draft.",h=(r||o)&&l.a.createElement(A.Wb,{large:!0,hollow:p,icon:"edit",title:"Pub draft",subtitle:b,controls:l.a.createElement(c.b,{outlined:!0,href:Object(ht.g)(n,a,{isDraft:!0})},"Go to draft")}),g=(e,t,r=!1)=>l.a.createElement(A.Wb,{hollow:!0,large:r,icon:"document-share",key:e.id,title:l.a.createElement("a",{className:"release-link",href:Object(ht.g)(n,a,{releaseNumber:t})},"Release #",t,r&&" (latest)"),subtitle:Object(Gt.b)(e.createdAt,{includeTime:!0}),controls:i&&e.noteText&&l.a.createElement("details",{className:"release-note"},l.a.createElement("summary",null,"Release notes"),l.a.createElement("div",{className:"content",dangerouslySetInnerHTML:{__html:e.noteText}}))});return l.a.createElement(A.Ub,{className:"pub-timeline-component",accentColor:n.accentColorDark},0===s.length&&p&&(()=>{const e=l.a.createElement("div",null,"A Release is a snapshot of a Pub that's visible to the public. Visit the Pub draft and click the ",l.a.createElement(A.O,{icon:"document-share",iconSize:12})," Publish button in the header to create a release.");return l.a.createElement(A.Wb,{large:!0,icon:"document-share",title:l.a.createElement("i",null,"No releases yet"),subtitle:"Create a Release to share this Pub with the world.",controls:l.a.createElement(c.z,{content:e,popoverClassName:Le.a.POPOVER_CONTENT_SIZING},l.a.createElement(c.c,{outlined:!0},"Learn more"))})})(),h,m&&g(m,s.length,!0),l.a.createElement(A.Vb,{shownItemsLimit:4},u.map((e,t)=>g(e,t+1)).reverse()),l.a.createElement(A.Wb,{hollow:!0,large:!0,title:"Pub created",subtitle:Object(Gt.b)(a.createdAt,{includeTime:!0}),icon:"clean"}))};a(1413);var _o=e=>{var t,a;const{pubData:n}=e,{communityData:r,featureFlags:o}=Object(De.c)(),{description:i,htmlDescription:s}=n,u=Object(sn.a)(e=>e.PubHeaderTheme),m=(e,t)=>
1l.a.createElement("div",{className:"section"},l.a.createElement("div",{className:"section-header"},e),t);return l.a.createElement(A.s,{className:"pub-overview-component",title:"Overview"},l.a.createElement(A.wb,{pubHeaderTheme:u,className:"pub-header-component",communityData:r,safetyLayer:"full-height"},l.a.createElement("div",{className:"header-content"},l.a.createElement("h1",{className:"title"},l.a.createElement(A.Eb,{pubData:n})),i&&l.a.createElement("div",{className:"description"},o.htmlPubHeaderValues?l.a.createElement("span",{dangerouslySetInnerHTML:{__html:null!=(t=null!=s?s:i)?t:""}}):i),(()=>{const e=Object(gr.e)(n),t=Object(gr.b)(n,{excludeFirstRelease:!0});return l.a.createElement("div",{className:"pub-dates"},m("Created on",Object(Gt.b)(n.createdAt)),m("Published on",e||l.a.createElement("i",null,"Unpublished")),t&&m("Last released on",Object(Gt.b)(t)))})())),l.a.createElement("div",{className:"columns"},l.a.createElement("div",{className:"column"},m("Cite As",l.a.createElement(Bo,{pubData:n,showHeader:!1})),n.doi&&m("DOI",n.doi),l.a.createElement("div",{className:"section"},l.a.createElement("div",{className:"section-header"},"Contributors"),l.a.createElement(A.r,{attributions:Object(zo.b)(n,"contributors")})),(()=>{const{collectionPubs:e}=n;return 0===e.length?null:l.a.createElement("div",{className:"collections section"},l.a.createElement("div",{className:"section-header"}
1,"Appears in Collections (",e.length,")"),n.collectionPubs.map((e,t)=>l.a.createElement("span",{key:e.id},l.a.createElement("a",{href:Object(Me.a)({collectionSlug:e.collection.slug})},e.collection.title),t!==n.collectionPubs.length-1&&l.a.createElement("span",null,", "))))})(),!!(null==(a=n.reviews)?void 0:a.length)&&(d=n.reviews,l.a.createElement("div",{className:"section list"},l.a.createElement("div",{className:"section-header"},"Reviews"),l.a.createElement(c.t,{className:"list-content"},d.sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt)).map(e=>l.a.createElement(c.u,{key:e.id,href:`/dash/pub/${n.slug}/reviews/${e.number}`,text:l.a.createElement("div",{className:"list-row"},l.a.createElement("div",{className:"number"},"R",e.number,": ",e.title),l.a.createElement("div",{className:"title"},Qt()(e.createdAt,"mmm dd, yyyy - HH:MM")),l.a.createElement("div",{className:"note"},l.a.createElement(c.J,{minimal:!0,className:e.status},e.status)))})))))),l.a.createElement("div",{className:"column"},l.a.createElement($o,{pubData:n}))));var d};var Ho=e=>{const{pendingPromise:t}=Object(De.d)(),{communityId:a,pageData:r,isForbidden:o}=e,[i,s]=Object(n.useState)(""),[u,m]=Object(n.useState)(!1),d=Object(n.useCallback)(()=>(m(!0),t(Object(Ae.a)("/api/pages",{method:"DELETE",body:JSON.stringify({pageId:r.id,communityId:a})})).then(()=>{window.location.href="/dash"}).catch(e=>{console.error(e),m(!1)})),[a,r.id,t]);return o?l.a.createElement("div",{className:`${Le.a.CALLOUT} ${Le.a.INTENT_DANGER}`},l.a.createElement("h5",null,"Delete Page from Community"),l.a.createElement("p",null,l.a.createElement("b",null,r.title)," cannot be deleted because it is the home page for this Community.")):l.a.createElement("div",{className:`${Le.a.CALLOUT} ${Le.a.INTENT_DANGER}`},l.a.createElement("h5",null,"Delete Page from Community"),l.a.createElement("p",null,"Deleting a Page is permanent."),l.a.createElement("p",null,"This will permanently delete ",l.a.createElement("b",null,r.title),". This will not delete pubs that are included in this page's layout."),l.a.createElement("p",null,"Please type the title of the Page below to confirm your intention."),l.a.createElement(A.R,{label:l.a.createElement("b",null,"Confirm Page Title"),value:i,onChange:e=>s(e.target.value)}),l.a.createElement("div",{className:"delete-button-wrapper"},l.a.createElement(c.c,{type:"button",className:Le.a.INTENT_DANGER,text:"Delete Page",disabled:i!==r.title,loading:u,onClick:d})))},Vo=(a(1414),Object.defineProperty),qo=Object.defineProperties,Wo=Object.getOwnPropertyDescriptors,Go=Object.getOwnPropertySymbols,Yo=Object.prototype.hasOwnProperty,Ko=Object.prototype.propertyIsEnumerable,Jo=(e,t,a)=>t in e?Vo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Qo=(e,t)=>{for(var a in t||(t={}))Yo.call(t,a)&&Jo(e,a,t[a]);if(Go)for(var a of Go(t))Ko.call(t,a)&&Jo(e,a,t[a]);return e};var Zo=e=>{const{updateCommunity:t,locationData:a,communityData:r}=Object(De.c)(),{pendingPromise:o}=Object(De.d)(),{error:i,state:s,persistedState:u,update:m,hasChanges:d,persist:p,isPersisting:b}=Fa(e.pageData,e=>{return o(Object(Ae.a)("/api/pages",{method:"PUT",body:JSON.stringify((a=Qo({},e),n={pageId:s.id,communityId:r.id},qo(a,Wo(n))))})).then(()=>{t(t=>({pages:t.pages.map(t=>t.id!==s.id?t:Qo(Qo({},t),e))}))});var a,n}),{avatar:h,description:g,isNarrowWidth:f,isPublic:y,layout:v,layoutPubsByBlock:E,slug:O,title:w,viewHash:C}=s,N=!u.slug,j="forbidden-slug"===(null==i?void 0:i.type)?i.slugStatus:"available",k=Be(O,j);Object(ka.a)(()=>{!d&&O&&window.history.replaceState({},"",Object(Me.a)({mode:"pages",subMode:O}))},[O,d]);const S=Object(n.useCallback)(e=>m({layout:e}),[m]);return l.a.createElement(A.s,{className:"dashboard-page-container",title:"Pages: "+u.title,controls:(()=>{const e=d&&w&&(O||!u.slug);return l.a.createElement(l.a.Fragment,null,l.a.createElement(c.b,{icon:"share",href:"/"+O},"Visit page"),l.a.createElement(c.c,{type:"button",intent:"primary",text:"Save Changes",disabled:!e,loading:b,onClick:p}))})()},l.a.createElement(A.Ib,{title:"Details"},l.a.createElement(A.R,{label:"Title",placeholder:"Enter title",isRequired:!0,value:w,onChange:e=>m({title:e.target.value}),error:void 0}),l.a.createElement(A.R,{label:"Description",placeholder:"Enter description",isTextarea:!0,helperText:"Used for search results and social media cards. Max 180 characters.",value:g||"",onChange:e=>m({description:e.target.value.substring(0,280).replace(/\n/g," ")}),error:void 0}),l.a.createElement(A.P,{htmlFor:"dashboard-page-avatar",label:"Preview Image",defaultImage:h,onNewImage:e=>m({avatar:e}),canClear:!0,helperText:"This image will appear in links from other Pages or Collections to this Page."}),!N&&l.a.createElement(A.R,{label:"Link",placeholder:"Enter link",isRequired:!0,helperText:`Page URL will be https://${a.hostname}/${O}`,value:O,error:k,onChange:e=>m({slug:Object(mt.f)(e.target.value)})}),l.a.createElement(A.R,{label:"Width"},l.a.createElement("div",{className:Le.a.BUTTON_GROUP},l.a.createElement(c.c,{className:f?"":Le.a.ACTIVE,onClick:()=>m({isNarrowWidth:!1}),text:"Wide"}),l.a.createElement(c.c,{className:f?Le.a.ACTIVE:"",onClick:()=>m({isNarrowWidth:!0}),text:"Narrow"}))),!N&&l.a.createElement(A.R,{label:"Privacy"},l.a.createElement("div",{className:Le.a.BUTTON_GROUP},l.a.createElement(c.c,{className:y?Le.a.ACTIVE:"",onClick:()=>m({isPublic:!0}),text:"Public",icon:"globe"}),l.a.createElement(c.c,{className:y?"":Le.a.ACTIVE,onClick:()=>m({isPublic:!1}),text:"Private",icon:"lock"}),!y&&l.a.createElement(A.j,{className:"copy-button",icon:"duplicate",beforeCopyPrompt:"Anyone with this link can view the private Page.",copyString:`${Object(ht.d)(r)}/${O}?access=${C}`},"Copy shareable link"))),l.a.createElement(A.R,{label:"Allow duplicate Pubs"},l.a.createElement(c.G,{checked:s.layoutAllowsDuplicatePubs,onClick:()=>m({layoutAllowsDuplicatePubs:!s.layoutAllowsDuplicatePubs})}))),l.a.createElement(A.Ib,{title:"Layout"},l.a.createElement(A.T,{allowDuplicatePubs:s.layoutAllowsDuplicatePubs,onChange:S,initialLayout:v,initialLayoutPubsByBlock:E,communityData:r})),l.a.createElement(A.Ib,{title:"Delete"},l.a.createElement(Ho,{isForbidden:N,pageData:s,communityId:r.id})))},Xo=a(79),ei=(a(1415),Object.defineProperty),ti=Object.defineProperties,ai=Object.getOwnPropertyDescriptors,ni=Object.getOwnPropertySymbols,li=Object.prototype.hasOwnProperty,ri=Object.prototype.propertyIsEnumerable,oi=(e,t,a)=>t in e?ei(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ii=(e,t)=>{for(var a in t||(t={}))li.call(t,a)&&oi(e,a,t[a]);if(ni)for(var a of ni(t))ri.call(t,a)&&oi(e,a,t[a]);return e};class si extends n.Component{constructor(e){super(e),this.state={t
1itle:"",slug:"",description:"",isLoading:!1,error:void 0},this.handleTitleChange=this.handleTitleChange.bind(this),this.handleSlugChange=this.handleSlugChange.bind(this),this.handleDescriptionChange=this.handleDescriptionChange.bind(this),this.handleCreateSubmit=this.handleCreateSubmit.bind(this)}handleTitleChange(e){this.setState({title:e.target.value})}handleSlugChange(e){this.setState({slug:Object(mt.f)(e.target.value)})}handleDescriptionChange(e){this.setState({description:e.target.value.substring(0,280).replace(/\n/g," ")})}handleCreateSubmit(e){e.preventDefault();const t=this.props.communityData.pages.map(e=>e.slug);if(t.push("home"),t.indexOf(this.state.slug)>-1)return this.setState({error:"URL already used by another Page."});this.setState({isLoading:!0,error:void 0});const a={title:this.state.title,slug:this.state.slug,description:this.state.description};return Object(Ae.a)("/api/pages",{method:"POST",body:JSON.stringify((n=ii({},a),l={communityId:this.props.communityData.id},ti(n,ai(l))))}).then(e=>{window.location.href=Object(Me.a)({mode:"pages",subMode:e.slug})}).catch(e=>{const t="forbidden-slug"===(null==e?void 0:e.type)?e.slugStatus:"available";"available"!==t?this.setState(e=>({isLoading:!1,error:Be(e.slug,t)})):this.setState({isLoading:!1,error:e})});var n,l}render(){return l.a.createElement(c.j,{isOpen:this.props.isOpen,onClose:this.props.onClose,title:"Create New Page",className:"create-page-dialog-component",icon:"page-layout"},l.a.createElement("form",{onSubmit:this.handleCreateSubmit},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement(Xo.a,{label:"Page Title",placeholder:"Brand New Page",isRequired:!0,value:this.state.title,onChange:this.handleTitleChange}),l.a.createElement(Xo.a,{label:"Page URL",placeholder:"my-page",isRequired:!0,helperText:`${this.props.hostname}/${this.state.slug}`,value:this.state.slug,onChange:this.handleSlugChange}),l.a.createElement(Xo.a,{label:"Description",isTextarea:!0,value:this.state.description,onChange:this.handleDescriptionChange})),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:"footer-dialog"},l.a.createElement(Xo.a,{error:this.state.error},l.a.createElement(c.c,{name:"login",type:"submit",className:`${Le.a.BUTTON} ${Le.a.INTENT_PRIMARY}`,onClick:this.handleCreateSubmit,text:"Create Page",disabled:!this.state.title||!this.state.slug,loading:this.state.isLoading}))))))}}var ci=si;a(1416);const ui=()=>{const{locationData:e,communityData:t}=Object(De.c)(),[a,r]=Object(n.useState)(!1);return l.a.createElement(A.s,{className:"dashboard-pages-container",title:"Pages",details:"Create and manage Pages to give stucture to your Community.",controls:l.a.createElement(l.a.Fragment,null,l.a.createElement(c.c,{icon:"plus",onClick:()=>r(!0),outlined:!0},"Create Page"),l.a.createElement(ci,{onClose:()=>r(!1),isOpen:a,communityData:t,hostname:e.hostname}))},l.a.createElement(A.u,null,(o=t.pages,o.sort((e,t)=>e.title>t.title?1:-1)).map(e=>{const t=Qt()(e.createdAt,"mmm dd, yyyy"),a=l.a.createElement(l.a.Fragment,null,l.a.createElement(c.b,{icon:l.a.createElement(A.O,{icon:"edit2"}),outlined:!0,href:"/dash/pages/"+(e.slug||"home")},"Edit page"),l.a.createElement(c.b,{icon:"share",outlined:!0,href:"/"+e.slug},"Visit page"),l.a.createElement("div",{className:"privacy-indicator"},l.a.createElement(A.O,{icon:e.isPublic?"globe":"lock",iconSize:14}),e.isPublic?"Public":"Private"));return l.a.createElement(A.t,{key:e.id,icon:"page-layout",className:"page-row",title:e.title,subtitle:"Created on "+t,rightSideElements:a})})));var o};ui.propTypes={};var mi=ui,di=a(112),pi=a.n(di),bi=a(24),hi=(a(1417),Object.defineProperty),gi=Object.defineProperties,fi=Object.getOwnPropertyDescriptors,yi=Object.getOwnPropertySymbols,vi=Object.prototype.hasOwnProperty,Ei=Object.prototype.propertyIsEnumerable,Oi=(e,t,a)=>t in e?hi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,wi=(e,t)=>{for(var a in t||(t={}))vi.call(t,a)&&Oi(e,a,t[a]);if(yi)for(var a of yi(t))Ei.call(t,a)&&Oi(e,a,t[a]);return e},Ci=(e,t)=>gi(e,fi(t)),Ni=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var ji=e=>{const[t,a]=Object(n.useState)(e.reviewData),[r,o]=Object(n.useState)(!1),[i,s]=Object(n.useState)(!1),{loginData:u,scopeData:m,communityData:d}=Object(De.c)(),{author:p,status:b,thread:h,releaseRequested:g,reviewContent:f}=t,{canAdmin:y}=m.activePermissions,v=u&&p&&u.id===p.id,E=v||y,O="{}"!==JSON.stringify(f)?f:Object(bi.g)();return l.a.createElement(A.s,{className:"dashboard-review-container",title:l.a.createElement("span",null,"Reviews: ",t.title,l.a.createElement("span",{className:"number"},"(R",t.number,")")),details:l.a.createElement(l.a.Fragment,null,l.a.createElement(c.J,{className:b,minimal:!0,large:!0},b),l.a.createElement("span",null,t.reviewers?t.reviewers.map(e=>l.a.createElement("span",null,e.name," ")):v?l.a.createElement("span",null,l.a.createElement("a",{href:"/user/"+p.slug},p.fullName)," created this review"," "):"",l.a.createElement(pi.a,Ci(wi({},Gt.e),{date:t.createdAt})))),controls:E&&"open"===t.status&&l.a.createElement(c.c,{key:"close",text:"Close Review",loading:r,onClick:()=>Ni(null,null,(function*(){var e,n;o(!0);const l=yield Object(Ae.a)("/api/reviews",{method:"PUT",body:JSON.stringify({status:"closed",reviewId:t.id,pubId:t.pubId,communityId:d.id})});o(!1),a(Ci(wi(wi({},t),l.updatedValues),{thread:Ci(wi({},t.thread),{events:[...null!=(n=null==(e=t.thread)?void 0:e.events)?n:[],...l.newReviewEvents]})}))}))})},l.a.createElement("div",{className:"review"},l.a.createElement(A.E,{key:"reviewDoc",isReadOnly:!0,initialContent:O})),l.a.createElement(A.Rb,{threadData:h}),l.a.createElement(A.Sb,{parentId:t.id,pubId:Object(fe.c)(t.pubId),threadData:h,onThreadUpdate:e=>{a(Ci(wi({},t),{thread:e}))}}),y&&"open"===b&&g&&l.a.createElement(c.e,{intent:xe.a.WARNING,icon:"document-share",title:"Publication Requested"},Object(fe.c)(p).fullName," has requested that a Release be published from the Draft. If this review is satisfactory, you can create the Release here directly."," ",l.a.createElement("div",{style:{marginTop:"1em"}},l.a.createElement(c.c,{text:"Create Release from Draft",intent:xe.a.PRIMARY,onClick:()=>Ni(null,null,(function*(){var e,n;s(!0);const l=yield Object(Ae.a)("/api/reviews/release",{method:"POST",body:JSON.stringify({threadId:t.threadId,reviewId:t.id,pubId:t.pubId,communityId:d.id})});a(Ci(wi({},t),{status:"completed",thread:Ci(wi({},t.thread),{events:[...null!=(n=null==(e=t.thread)?void 0:e.events)?n:[],...l.reviewEvents]})})),s(!1)})),loading:i}))))};a(1418);var ki=e=>{const{pubsWithReviews:t}=e,{scopeData:a}=Object(De.c)(),{activeCollection:n,activeTargetType:r}=a.elements,o=e=>e?e.map(e=>l.a.createElement("span",{key:e.id},e.name)):"";return l.a.createElement(A.s,{className:"dashboard-reviews-container",title:"Reviews",details:"Reviews allow members of your Community to request feedback on their Pubs and release them to the world."},!t.length&&l.a.createElement(c.t,{className:"list-content"},l.a.createElement(c.v,{title:"pub"===r?"This Pub has not been reviewed using PubPub":"No reviews here.",icon:"social-media"})),t.map(e=>{const t=Object(Me.a)({collectionSlug:n?n.slug:void 0,pubSlug:e.slug});return l.a.createElement(l.a.Fragment,{key:e.id},"pub"!==r&&l.a.createElement("a",{className:"pub-title",href:t},e.title),l.a.createElement(c.t,{className:"list-content"},e.reviews.sort((e,t)=>
1Date.parse(t.createdAt)-Date.parse(e.createdAt)).map(t=>{const a=t.reviewers&&t.reviewers.length>0,r=t.reviewers,i=Object(Me.a)({collectionSlug:n?n.slug:void 0,pubSlug:e.slug,mode:"reviews",subMode:String(t.number)});return l.a.createElement(c.u,{key:t.id,href:i,text:l.a.createElement("div",{className:"list-row"},l.a.createElement("div",{className:"number"},"R",t.number,": ",t.title),a&&l.a.createElement("div",{className:"note"},"by ",o(r)," "),l.a.createElement("div",{className:"title"},Qt()(t.createdAt,"mmm dd, yyyy - HH:MM")),l.a.createElement("div",{className:"note"},l.a.createElement(c.J,{minimal:!0,className:t.status},t.status)))})})))}))},Si=a(378);const Pi=["License","CitationStyle","PubHeaderTheme","NodeLabels","PubEdgeDisplay"];var Di=()=>l.a.createElement(l.a.Fragment,null,Pi.map(e=>l.a.createElement(A.F,{facetName:e}))),Ii=a(219);a(1419);var Ti=e=>{const{isSaving:t}=e,[a,r]=Object(n.useState)(!0),[o,i]=Object(n.useState)("start"),s=Object(n.useRef)(null),u=Object(n.useCallback)(e=>{r(!1),setTimeout(()=>{i(e),r(!0)},200)},[]);Object(ka.a)(()=>{clearTimeout(s.current),t?u("saving"):(u("saved"),s.current=setTimeout(()=>u("start"),1e4))},[t,u]);return l.a.createElement("div",{className:"autosave-indicator-component","aria-hidden":!a},"saving"===o?l.a.createElement(l.a.Fragment,null,l.a.createElement(c.F,{size:18}),"Saving..."):"saved"===o?l.a.createElement(l.a.Fragment,null,l.a.createElement(A.O,{iconSize:18,intent:"success",icon:"tick"}),"Saved"):"Changes save automatically")},xi=(a(1420),Object.defineProperty),Ai=Object.getOwnPropertySymbols,Mi=Object.prototype.hasOwnProperty,Li=Object.prototype.propertyIsEnumerable,Ri=(e,t,a)=>t in e?xi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Fi=e=>{const t=e,{selected:a,small:n}=t,r=((e,t)=>{var a={};for(var n in e)Mi.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Ai)for(var n of Ai(e))t.indexOf(n)<0&&Li.call(e,n)&&(a[n]=e[n]);return a})(t,["selected","small"]);return l.a.createElement("div",{className:o()("icon-bullet-component",a&&"selected",n&&"small")},l.a.createElement("div",{className:"background-circle"}),l.a.createElement(A.O,((e,t)=>{for(var a in t||(t={}))Mi.call(t,a)&&Ri(e,a,t[a]);if(Ai)for(var a of Ai(t))Li.call(t,a)&&Ri(e,a,t[a]);return e})({iconSize:16},r)))},Ui=(a(1421),Object.defineProperty),Bi=Object.getOwnPropertySymbols,zi=Object.prototype.hasOwnProperty,$i=Object.prototype.propertyIsEnumerable,_i=(e,t,a)=>t in e?Ui(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Hi=(e,t)=>{for(var a in t||(t={}))zi.call(t,a)&&_i(e,a,t[a]);if(Bi)for(var a of Bi(t))$i.call(t,a)&&_i(e,a,t[a]);return e},Vi=(e,t)=>{var a={};for(var n in e)zi.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Bi)for(var n of Bi(e))t.indexOf(n)<0&&$i.call(e,n)&&(a[n]=e[n]);return a};const qi=e=>{const{tabs:t,id:a,className:r,hasChanges:i,persist:s}=e,{isMobile:u,viewportWidth:m}=Object(Ii.a)(),{pendingCount:d}=Object(De.d)(),{locationData:p,scopeData:b}=Object(De.c)(),{hasPersistableChanges:h,persistFacets:g}=Object(sn.b)(),[f,y]=Object(n.useState)(!1),[v,E]=Object(n.useState)(!1),O=Object(n.useRef)(null),w=i||h,C=d>0,N="number"==typeof m&&m<=1125,[j,k]=Object(n.useState)(()=>{const{subMode:e}=p.params;return t.some(t=>t.id===e)?e:t[0].id}),S=Object(n.useMemo)(()=>t.find(e=>e.id===j),[j,t]),P=Object(n.useMemo)(()=>t.map(e=>{const t=e,{id:a,title:n}=t,r=Vi(t,["id","title"]);return{value:a,label:n,icon:l.a.createElement(Fi,Hi({small:!0,selected:j===e.id},r))}}),[t,j]);Object(n.useEffect)(()=>y(!0),[]),Object(n.useEffect)(()=>{const e=((e,t)=>{const{activeTargetType:a,activeCollection:n,activePub:l}=e.elements;return"community"===a?Object(Me.a)({mode:"settings",subMode:t}):"collection"===a?Object(Me.a)({mode:"settings",collectionSlug:n.slug,subMode:t}):"pub"===a?Object(Me.a)({mode:"settings",pubSlug:l.slug,subMode:t}):""})(b,j);window.history.replaceState({},"",e)},[b,j]),Object(ka.a)(()=>{window.scrollTo({top:0})},[j]),Object(Pr.b)({target:O.current,offset:u?55:140,isActive:f&&!u});const D=Object(n.useCallback)(()=>{return e=null,t=null,a=function*(){E(!0);try{yield Promise.all([h&&g(),i&&s()])}catch(e){}finally{E(!1)}},new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var e,t,a},[h,g,i,s]);Object(Sa.a)(w,"You have unsaved changes. Are you sure you want to navigate away?");const I=e=>l.a.createElement(c.I,{id:a,large:!0,selectedTabId:j,className:o()("dashboard-settings-frame-tabs",e),onChange:e=>k(e)},t.map(e=>(e=>{const t=e,{id:a,title:n}=t,r=Vi(t,["id","title"]),o=l.a.createElement(Fi,Hi({selected:a===j},r)),i=N?l.a.createElement(c.N,{content:n},o):o;return l.a.createElement(c.H,{id:a,key:n,className:"dashboard-settings-frame-tab",panelClassName:"dashboard-settings-frame-tab-panel",title:l.a.createElement(l.a.Fragment,null,i,l.a.createElement("div",{className:"title"},n))})})(e))),T=S.sections.map(e=>"function"==typeof e?e():e);return l.a.createElement(A.s,{title:"Settings",className:o()("dashboard-settings-frame-component",r)},l.a.createElement("div",{className:"dashboard-settings-frame-sticky-controls",ref:O},l.a.createElement(A.eb,{desktop:e=>I(e.className),mobile:e=>{return t=e.className,l.a.createElement(un.f,{placement:"top-start",className:"dashboard-settings-frame-component__tabs-menu","aria-label":"Settings section selector",onSelectValue:k,items:P,value:j,showTickIcon:!1,icon:l.a.createElement(A.O,Hi({iconSize:16},S)),rightIcon:C?l.a.createElement(c.F,{size:18}):"caret-up",buttonProps:{fill:!0,className:o()("dashboard-settings-frame-menu",t)}});var t}}),l.a.createElement("div",{className:"save-container"},(()=>{const{hideSaveButton:e}=S;return e?l.a.createElement(Ti,{isSaving:C}):l.a.createElement(c.c,{intent:"primary",disabled:!w,onClick:D,loading:v,icon:"tick"},"Save changes")}
1)())),l.a.createElement("div",{className:"dashboard-settings-frame-tab-panel"},T))};var Wi=e=>l.a.createElement(A.kb,null,l.a.createElement(qi,Hi({},e))),Gi=Object.defineProperty,Yi=Object.defineProperties,Ki=Object.getOwnPropertyDescriptors,Ji=Object.getOwnPropertySymbols,Qi=Object.prototype.hasOwnProperty,Zi=Object.prototype.propertyIsEnumerable,Xi=(e,t,a)=>t in e?Gi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,es=(e,t)=>{for(var a in t||(t={}))Qi.call(t,a)&&Xi(e,a,t[a]);if(Ji)for(var a of Ji(t))Zi.call(t,a)&&Xi(e,a,t[a]);return e};const ts={none:'Never show "Read Next"',minimal:"Use compact preview with no image",medium:"Use a larger preview with an image","choose-best":"Choose the best preview for each Pub"};var as=e=>{var t;const{communityData:a,collection:r,onUpdateCollection:o,onDeleteCollection:i,slugStatus:s}=e,[u,m]=Object(n.useState)(r.slug),d=null==(t=Object(ze.c)(r.kind))?void 0:t.label.singular,p=Be(u,s);return l.a.createElement("div",null,l.a.createElement(A.R,{label:"Title",placeholder:"title",isRequired:!0,defaultValue:e.collection.title,onChange:e=>{e.target.value&&o({title:e.target.value})}}),l.a.createElement(A.R,{label:"Link",placeholder:"link",isRequired:!0,defaultValue:u,value:u,error:p,helperText:"Collection URL will be "+Object(ht.c)(a,(b=es({},r),h={slug:u},Yi(b,Ki(h)))),onChange:e=>{const{value:t}=e.target,a=t?Object(mt.f)(t):"";m(a),a&&o({slug:a})}}),l.a.createElement(c.n,{helperText:`Making this ${d} private means that Members will see it but visitors won't know it exists.`},l.a.createElement(c.g,{checked:!r.isPublic,onChange:e=>{o({isPublic:!e.target.checked})}},"Private")),l.a.createElement(c.n,{helperText:'You can choose how the "Read Next" Pub preview will appear to readers in this collection.'},l.a.createElement(dt.a,{popoverProps:{minimal:!0},items:["none","choose-best"],itemRenderer:(e,{handleClick:t})=>{const a=e===r.readNextPreviewSize;return l.a.createElement(c.u,{onClick:t,key:e,text:ts[e],icon:a?"tick":"blank"})},onItemSelect:e=>o({readNextPreviewSize:e}),filterable:!1},l.a.createElement(c.c,{rightIcon:"chevron-down"},ts[r.readNextPreviewSize]))),l.a.createElement(c.n,{helperText:`You can delete this ${d} permanently.`},l.a.createElement(A.p,{onConfirm:i,confirmLabel:"Delete",text:`Are you sure you want to delete this ${d}?`},({open:e})=>l.a.createElement(c.c,{icon:"trash",intent:"danger",onClick:e},"Delete"))));var b,h},ns=a(365),ls=Object.defineProperty,rs=Object.defineProperties,os=Object.getOwnPropertyDescriptors,is=Object.getOwnPropertySymbols,ss=Object.prototype.hasOwnProperty,cs=Object.prototype.propertyIsEnumerable,us=(e,t,a)=>t in e?ls(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const ms=e=>null==e,ds=(e,t)=>{const a=Object(ze.c)(e),n={};return a.metadata.forEach(e=>{const a=t(e);void 0!==a&&(n[e.name]=a)}),n},ps=(e,t)=>{const{metadata:a}=Object(ze.c)(t);return a.map(t=>{const{name:a}=t;return((e,t)=>rs(e,os(t)))(((e,t)=>{for(var a in t||(t={}))ss.call(t,a)&&us(e,a,t[a]);if(is)for(var a of is(t))cs.call(t,a)&&us(e,a,t[a]);return e})({},t),{value:e[a]})})};a(1422);var bs=Object.defineProperty,hs=Object.defineProperties,gs=Object.getOwnPropertyDescriptors,fs=Object.getOwnPropertySymbols,ys=Object.prototype.hasOwnProperty,vs=Object.prototype.propertyIsEnumerable,Es=(e,t,a)=>t in e?bs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Os=({type:e,value:t})=>!t||!e||e.validate(t);class ws extends n.Component{constructor(e){super(e);const t=this.normalizeMetadata(e.collection.metadata||{});this.state={metadata:t,isGettingDoi:!1,deposited:!1,saved:!1},this.handleInputChange=this.handleInputChange.bind(this),this.handleGetDoiClick=this.handleGetDoiClick.bind(this)}allFieldsValidate(e){const{collection:{kind:t}}=this.props;return ps(e,t).reduce((e,t)=>e&&Os(t),!0)}normalizeMetadata(e){const{collection:t,communityData:a}=this.props;return((e,t,a)=>ds(t,t=>{const{name:n,derivedFrom:l,defaultDerivedFrom:r}=t;if(l){const e=l(a);if(!ms(e))return e}const o=e[n];return ms(o)?r?r(a):void 0:o}))(e,t.kind,{community:a,collection:t})}deriveInputValue(e){const{communityData:t,collection:a}=this.props;return e({community:t,collection:a})}handleGetDoiClick(){const{communityData:e,collection:t,onUpdateCollection:a}=this.props;return this.setState({isGettingDoi:!0,deposited:!1,saved:!1}),Object(Ae.a)("/api/doi",{method:"POST",body:JSON.stringify({target:"collection",collectionId:t.id,communityId:e.id})}).then(({dois:e})=>{a({doi:e.collection}),this.setState({isGettingDoi:!1,deposited:!0})}).catch(()=>{this.setState({isGettingDoi:!1})})}handleInputChange(e,t,a){const{onUpdateCollection:n}=this.props,{metadata:l}=this.state;if(a&&!new RegExp(a).test(t))return;const r=this.normalizeMetadata(((e,t)=>hs(e,gs(t)))(((e,t)=>{for(var a in t||(t={}))ys.call(t,a)&&Es(e,a,t[a]);if(fs)for(var a of fs(t))vs.call(t,a)&&Es(e,a,t[a]);return e})({},l),{[e]:t}));this.setState({metadata:r}),this.allFieldsValidate(r)&&n({metadata:r})}componentDidUpdate(){}renderGetDoiButton(){const{collection:e}=this.props,{isGettingDoi:t}=this.state;return e.doi?n.createElement(c.c,{icon:"link",loading:t,disabled:t,onClick:this.handleGetDoiClick},"Re-deposit to Crossref"):n.createElement(ns.a,{onConfirm:this.handleGetDoiClick,confirmLabel:"Assign DOI",intent:"primary",text:"This is the first time this collection has been deposited to Crossref. Once assigned, the DOI for this collection cannot be changed."},({open:e})=>n.createElement(c.c,{icon:"link",loading:t,disabled:t,onClick:e},"Deposit to Crossref"))}renderFieldRightElement(e){const{name:t,defaultDerivedFrom:a,value:l}=e,r=a&&this.deriveInputValue(a);return r&&n.createElement(c.c,{minimal:!0,icon:"lightbulb",disabled:l===r,onClick:()=>this.handleInputChange(t,r)},"Use default")}renderField(e){const{name:t,label:a,derivedFrom:l,derivedLabelInfo:r,pattern:o,type:i,value:s}=e,u=l&&this.deriveInputValue(l);return n.createElement(c.n,{key:t,label:a,labelInfo:u?r:i&&i.labelInfo},n.createElement(c.r,{className:"field",value:u||s||"",onChange:e=>this.handleInputChange(t,e.target.value,o),intent:Os(e)?"none":"danger",rightElement:this.renderFieldRightElement(e)}))}renderFields(){const{collection:e}=this.props,{metadata:t}=this.state,{kind:a}=e,l=ps(t,a);return 0===l.length?n.createElement(c.v,{className:"fields-empty-state",icon:Object(ze.c)(a).bpDisplayIcon||"help",title:"This collection type has no metadata"}):n.createElement("div",{className:"fields"},l.map(e=>this.renderField(e)))}renderStatusMessage(){return this.state.deposited?n.createElement(c.e,{intent:"success",title:"Success!"},n.createElement("p",null,"Successfully submitted a DOI registration for this Collection."),n.createElement("p",null,"Registration may take a few hours to complete in Crossref's system. If DOI URLs do not work immediately, the registration is likely still processing.")):this.state.saved?n.createElement(c.e,{intent:"success",title:"Success!"},n.createElement("p",null,"Successfully saved Collection metadata.")):null}render(){return n.createElement("div",{className:"dashboard-content_collection-metadata-editor"},this.renderFields(),!1!==this.props.allowUpdateDoi&&n.createElement(c.d,null,this.renderGetDoiButton()),this.renderStatusMessage())}}var Cs=ws,Ns=(a(1423),Object.defineProperty),js=Object.defineProperties,ks=Object.getOwnPropertyDescriptors,Ss=Object.getOwnPropertySymbols,Ps=Object.prototype.hasOwnProperty,Ds=Object.prototype.propertyIsEnumerable,Is=(e,t,a)=>t in e?Ns(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ts=(e,t)=>{for(var a in t||(t={}))Ps.call(t,a)&&Is(e,a,t[a]);if(Ss)for(var a of Ss(t))Ds.call(t,a)&&Is(e,a,t[a]);return e},xs=(e,t)=>js(e,ks(t)),As=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const Ms=e=>{var t;if(!e)return"";if("string"==typeof e)return e;if("object"==typeof e){const a=null!=(t=e.message)?t:e.error;if(a)return String(a);const n=JSON.stringify(e);return"{}"===n?"An unknown error occurred.":n}return String(e)},Ls=({pastExports:e,ftpTargets:t})=>{const{scopeData:{elements:{activeCollection:a}}}=Object(De.c)(),[r,o]=Object(n.useState)(!1),[i,s]=Object(n.useState)(null),[u,m]=Object(n.useState)(null!=e?e:[]),[d,p]=Object(n.useState)(null),[b,h]=Object(n.useState)(null),[g,f]=Object(n.useState)(new Set),[y,v]=Object(n.useState)(!1),E=Object(n.useRef)(null),O=Object(n.useRef)(0),w=()=>{E.current&&(clearInterval(E.current),E.current=null)};Object(n.useEffect)(()=>{const t=e.find(e=>e.isProcessing);t&&s(t.id)},[e]),Object(n.useEffect)(()=>
1{if(i)return O.current=0,E.current=setInterval(()=>As(null,null,(function*(){var e,t,a,n,r,o;try{const c=yield Object(Ae.a)("/api/workerTasks?workerTaskId="+i);if(O.current=0,!c.isProcessing){w(),s(null);const u=c.error?Ms(c.error):null;if(u)p(u);else{const i=null!=(t=null==(e=c.output)?void 0:e.skippedPubs)?t:[],s=null!=(n=null==(a=c.output)?void 0:a.partialPubs)?n:[],u=(null!=(o=null==(r=c.output)?void 0:r.ftpTargetResults)?o:[]).filter(e=>!e.uploaded);(i.length>0||s.length>0||u.length>0)&&h(l.a.createElement(l.a.Fragment,null,i.length>0&&l.a.createElement("p",{style:{margin:0}},l.a.createElement("strong",null,1===i.length?"1 pub was skipped":i.length+" pubs were skipped")," ","(no files found): ",i.join(", ")),s.length>0&&l.a.createElement("p",{style:{margin:i.length>0?"6px 0 0":0}},l.a.createElement("strong",null,1===s.length?"1 pub is missing files":s.length+" pubs are missing files"),":"," ",s.map(({slug:e,missingFormats:t})=>`${e} (missing ${t.join(", ")})`).join("; ")),u.length>0&&l.a.createElement("p",{style:{margin:i.length>0||s.length>0?"6px 0 0":0}},l.a.createElement("strong",null,1===u.length?"1 FTP upload failed":u.length+" FTP uploads failed"),":"," ",u.map(e=>`${e.host}${e.error?` (${e.error})`:""}`).join(", "))))}m(e=>e.map(e=>{var t;return e.id===i?xs(Ts({},e),{isProcessing:!1,output:null!=(t=c.output)?t:null,error:u}):e}))}}catch(e){if("WorkerTask not found"===(null==e?void 0:e.error))return w(),s(null),p("Export task not found. The export may have failed to start."),void m(e=>e.map(e=>e.id===i?xs(Ts({},e),{isProcessing:!1,error:"Task not found"}):e));O.current+=1,O.current>=5&&(w(),s(null),p("Lost connection while waiting for export. Please refresh the page."))}})),3e3),w;w()},[i]);const C=Object(n.useCallback)(()=>As(null,null,(function*(){if(a){o(!0),p(null),h(null);try{const e={collectionId:a.id};g.size>0&&(e.ftpTargetIds=Array.from(g));const t=yield Object(Ae.a)("/api/collections/export",{method:"POST",body:JSON.stringify(e)}),n={id:t.workerTaskId,createdAt:(new Date).toISOString(),isProcessing:!0,output:null,error:null};m(e=>[n,...e]),s(t.workerTaskId)}catch(e){const t=e instanceof Error?e.message:"Something went wrong, please try again later.";p(t)}finally{o(!1)}}})),[a,g]),N=u.some(e=>e.isProcessing),j=r||N||!a;return l.a.createElement("div",{className:"export-collection-button-component"},l.a.createElement("div",{className:"export-controls"},l.a.createElement(c.c,{disabled:j,onClick:C,intent:"primary",icon:N?void 0:"export"},r?l.a.createElement(l.a.Fragment,null,"Starting..."," ",l.a.createElement("span",{style:{display:"inline-block",marginLeft:4,verticalAlign:"middle"}},l.a.createElement(c.F,{size:16}))):N?l.a.createElement(l.a.Fragment,null,"Export in progress..."," ",l.a.createElement("span",{style:{display:"inline-block",marginLeft:4,verticalAlign:"middle"}},l.a.createElement(c.F,{size:16}))):"Export Collection"),t.length>0&&l.a.createElement("div",{className:"ftp-target-selection"},l.a.createElement("span",{className:"ftp-target-label"},"Also upload to FTP:"),t.map(e=>l.a.createElement(c.g,{key:e.id,label:e.name||`${e.host}${e.filePath?` (${e.filePath})`:""}`,checked:g.has(e.id),disabled:j,onChange:t=>{const a=t.target.checked;f(t=>{const n=new Set(t);return a?n.add(e.id):n.delete(e.id),n})}})))),d&&l.a.createElement(c.e,{intent:"danger",style:{marginTop:12}},d),b&&l.a.createElement(c.e,{intent:"warning",style:{marginTop:12}},b),u.length>0&&l.a.createElement("div",{className:"export-history"},l.a.createElement("button",{type:"button",className:"history-toggle",onClick:()=>v(e=>!e)},y?"▾":"▸"," Export history (",u.length,")"),l.a.createElement(c.h,{isOpen:y},l.a.createElement(c.p,{condensed:!0,striped:!0,style:{width:"100%",marginTop:8}},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Date"),l.a.createElement("th",null,"Status"),l.a.createElement("th",null,"FTP"),l.a.createElement("th",null,"Files"),l.a.createElement("th",null))),l.a.createElement("tbody",null,u.map(e=>{var t,a,n,r,o,i;const s=new Date(e.createdAt),u=new Date(s.getTime()+6048e5),m=Date.now()>u.getTime(),d=null!=(a=null==(t=e.output)?void 0:t.downloadUrl)?a:null,p=!e.isProcessing&&!e.error&&null!==d;let b;b=e.isProcessing?l.a.createElement(c.J,{minimal:!0,intent:"primary"},"Processing"):e.error?l.a.createElement(c.J,{minimal:!0,intent:"danger",title:Ms(e.error)},"Error"):m?l.a.createElement(c.J,{minimal:!0,intent:"warning"},"Expired"):l.a.createElement(c.J,{minimal:!0,intent:"success"},"Ready");const h=null!=(r=null==(n=e.output)?void 0:n.skippedPubs)?r:[],g=null!=(i=null==(o=e.output)?void 0:o.partialPubs)?i:[],f=h.length>0||g.length>0,y=f?l.a.createElement(l.a.Fragment,null,h.length>0&&l.a.createElement("div",null,l.a.createElement("strong",null,"Skipped (no files):")," ",h.join(", ")),g.length>0&&l.a.createElement("div",null,l.a.createElement("strong",null,"Missing files:")," ",g.map(({slug:e,missingFormats:t})=>`${e} (${t.join(", ")})`).join("; "))):null;return l.a.createElement("tr",{key:e.id},l.a.createElement("td",null,s.toLocaleString()),l.a.createElement("td",null,b),l.a.createElement("td",null,(()=>{var t,a;const n=null!=(a=null==(t=e.output)?void 0:t.ftpTargetResults)?a:[];if(0===n.length)return"—";const r=n.filter(e=>!e.uploaded),o=l.a.createElement(l.a.Fragment,null,n.map(e=>l.a.createElement("div",{key:e.id},e.uploaded?"✓":"✗"," ",e.host,e.error?": "+e.error:"")));return l.a.createElement(c.N,{content:o},l.a.createElement(c.J,{minimal:!0,intent:0===r.length?"success":r.length<n.length?"warning":"danger"},0===r.length?n.length+" uploaded":`${r.length}/${n.length} failed`))})()),l.a.createElement("td",null,f?l.a.createElement(c.N,{content:null!=y?y:void 0},l.a.createElement(c.J,{minimal:!0,intent:"warning"},h.length+g.length," ",h.length+g.length===1?"pub":"pubs"," ","with issues")):e.isProcessing||e.error?"—":l.a.createElement(c.J,{minimal:!0,intent:"success"},"OK")),l.a.createElement("td",{style:{textAlign:"right"}},p&&!m&&l.a.createElement("a",{className:"bp3-button bp3-minimal bp3-small",href:d,"aria-label":"Download export"},"Download")))}))))))};var Rs=e=>{const{settingsData:{depositTarget:t,collectionExports:a,ftpTargets:r}}=e,{communityData:o,scopeData:{elements:{activeCollection:i}}}=Object(De.c)(),{collection:s,updateCollection:c,deleteCollection:u,slugStatus:m,hasChanges:d,persistCollection:p}=ao(i),[b,h]=Object(n.useState)(s.attributions);Object(ka.a)(()=>{d||window.history.replaceState({},"",Object(Me.a)({collectionSlug:s.slug,mode:"settings"}))},[s.slug,d]);const g=!o.spamTag||"confirmed-not-spam"===o.spamTag.status,f=Object(ar.h)([{id:"details",title:"Details",icon:"settings",sections:[l.a.createElement(as,{slugStatus:m,communityData:o,collection:s,onUpdateCollection:c,onDeleteCollection:()=>u().then(()=>{window.location.href=Object(Me.a)({})})})]},"tag"!==s.kind&&{id:"metadata",title:"Metadata",icon:"heat-grid",sections:[l.a.createElement(A.Ib,{title:"Metadata",id:"metadata",showTitle:!1},l.a.createElement(Cs,{collection:s,communityData:o,onUpdateCollection:c,allowUpdateDoi:"datacite"!==(null==t?void 0:t.service)&&g}))]},"tag"!==s.kind&&{id:"contributors",title:"Contributors",pubPubIcon:"contributor",hideSaveButton:!0,sections:[l.a.createElement(A.Ib,{title:"Attribution",id:"attribution",showTitle:!1},l.a.createElement(A.m,{canEdit:!0,attributions:b,onUpdateAttributions:h,collectionId:s.id,communityId:o.id}))]},"tag"!==s.kind&&{id:"pub-settings",title:"Pub settings",pubPubIcon:"pub",sections:[l.a.createElement(Di,null)]},"tag"!==s.kind&&"datacite"===(null==t?void 0:t.service)&&{id:"doi",title:"DOI",icon:"barcode",sections:[l.a.createElement(Si.a,{depositTarget:t,canIssueDoi:!0,collection:s,communityData:o,updateCollection:()=>{}})]},{id:"export",title:"Export",icon:"export",hideSaveButton:!0,sections:[l.a.createElement(A.Ib,{title:"Export Collection",id:"export-collection"},l.a.createElement("p",null,"Creates a zip export for the collection containing the PDF and JATS files for each Pub in the collection.",r&&l.a.createElement("span",null," ","If an FTP target is selected, the zip file will be uploaded to that target.")),l.a.createElement(Ls,{pastExports:null!=a?a:[],ftpTargets:null!=r?r:[]}))]}]);return l.a.createElement(Wi,{id:"collection-settings",className:"collection-settings-component",tabs:f,hasChanges:d,persist:p})},Fs=a(400),Us=a.n(Fs);var Bs=e=>{const{communityData:t,updateCommunityData:a}=e,{analyticsSettings:r}=t,{type:o,credentials:i}=r||{type:"default",credentials:null},s=Object(n.useMemo)(()=>({default:{title:"Default",onClick:()=>
1{a({analyticsSettings:null})}},"google-analytics":{title:"Google Analytics",onClick:()=>{a({analyticsSettings:{type:"google-analytics",credentials:"G-"}})}},"simple-analytics":{title:"Simple Analytics",onClick:()=>{a({analyticsSettings:{type:"simple-analytics",credentials:null}})}}}),[a]),[u,m]=Object(n.useState)(null),[d,p]=Object(n.useState)(!1);return l.a.createElement(A.Ib,{title:"Analytics"},l.a.createElement("div",{className:"input-field-component  "+Le.a.FORM_GROUP},l.a.createElement("label",{className:Le.a.LABEL,htmlFor:"input-analytics-provider"},"Analtyics Provider",l.a.createElement("span",{className:Le.a.TEXT_MUTED+" required-text"}," (required)")),l.a.createElement(A.D,{label:s[o].title,isRightAligned:!0},l.a.createElement(c.t,null,Object.entries(s).map(([e,t])=>l.a.createElement(c.u,{key:e+"-option",text:t.title,onClick:t.onClick}))))),"google-analytics"===o&&l.a.createElement(l.a.Fragment,null,l.a.createElement(A.R,{label:"Google Analytics ID",type:"text",isRequired:!0,value:i,isDisabled:!o,placeholder:"G-",error:!(null==i?void 0:i.startsWith("G-"))||(null==i?void 0:i.length)<5?'Please enter a valid ID of form "G-<id>"':void 0,onChange:e=>a({analyticsSettings:{type:"google-analytics",credentials:e.target.value}})}),l.a.createElement(c.c,{text:"Test Connection",type:"submit",loading:d&&null===u,onClick:()=>{m(null),p(!0),setTimeout(()=>{fetch(`https://www.googletagmanager.com/gtag/js?id=${null==r?void 0:r.credentials}&l=ga4DataLayer`).then(e=>{console.log(e),m(e.ok),p(!1)}).catch(e=>{console.log(e),m("failed"),p(!1)})},1e3)}}),!0===u&&l.a.createElement("p",{className:`${Le.a.INTENT_SUCCESS} ${Le.a.FORM_HELPER_TEXT} ${Le.a.CALLOUT}`},"Google Analytics ID is valid!"),!1===u&&l.a.createElement("p",{className:`${Le.a.INTENT_DANGER} ${Le.a.FORM_HELPER_TEXT} ${Le.a.CALLOUT}`}
1,"Google Analytics ID is invalid! Please check your ID and try again."," "),"failed"===u&&l.a.createElement("p",{className:`${Le.a.INTENT_DANGER} ${Le.a.FORM_HELPER_TEXT} ${Le.a.CALLOUT}`},"Checking Google Analytics ID failed! Please disable any adblocking extensions and try again.")))};a(1424);var zs=e=>{const{label:t,info:a}=e;return l.a.createElement("span",{className:"label-with-info-component"},t,l.a.createElement(c.N,{content:a},l.a.createElement(A.O,{icon:"info-sign"})))};a(1425);var $s=e=>{const{children:t,gap:a=10}=e;return l.a.createElement("div",{className:"settings-row-component",style:a?{gap:a}:{}},t)};var _s=e=>{const{communityData:t,updateCommunityData:a}=e,{title:n,description:r,subdomain:o,publishAs:i,citeAs:s,favicon:c,accentColorDark:u,accentColorLight:m}=t;return l.a.createElement(A.Ib,{title:"Basics"},l.a.createElement(A.R,{label:"Title",type:"text",isRequired:!0,value:n,onChange:e=>{a({title:e.target.value})}}),l.a.createElement(A.R,{label:"Domain",type:"text",isRequired:!0,value:o,onChange:e=>{a({subdomain:Object(mt.f)(e.target.value)})}}),l.a.createElement(A.R,{label:"Description",type:"text",isTextarea:!0,value:r,onChange:e=>{a({description:e.target.value.substring(0,280).replace(/\n/g," ")})}}),l.a.createElement(A.R,{label:"Journal Citation",htmlFor:"journal-citation",helperText:l.a.createElement(l.a.Fragment,null,"If supplied, this field will be used as the Journal Title for Issue Collections in citations, PDF exports, and Crossref deposits."),type:"text",value:s,onChange:e=>{a({citeAs:e.target.value})}}),l.a.createElement(A.R,{htmlFor:"publisher",label:"Publisher",helperText:l.a.createElement(l.a.Fragment,null,"If supplied, this field will be used as the Publisher for Book and Conference Proceedings Collections in citations, PDF exports, and Crossref deposits."),type:"text",value:i,onChange:e=>{a({publishAs:e.target.value})}}),l.a.createElement($s,null,l.a.createElement(A.R,{label:"Dark Accent Color"},l.a.createElement(A.o,{value:u,onChange:e=>{a({accentColorDark:e.hex})}})),l.a.createElement(A.R,{label:"Light Accent Color"},l.a.createElement(A.o,{value:m,onChange:e=>{a({accentColorLight:e.hex})}}))),l.a.createElement(A.P,{htmlFor:"favicon-upload",helperText:"Shown in browser tabs. Must be square.",label:l.a.createElement(zs,{label:"Favicon",info:"Recommended size: 50x50px"}),canClear:!0,defaultImage:c,onNewImage:e=>{a({favicon:e})}}))};var Hs=e=>{const{communityData:t,updateCommunityData:a}=e,{cmsMode:n,canonicalBaseUrl:r,canonicalPubUrlTemplate:o}=t,{scopeData:{activePermissions:{isSuperAdmin:i}}}=Object(De.c)();return i?l.a.createElement(A.Ib,{id:"cms-mode",title:l.a.createElement(l.a.Fragment,null,"CMS mode ",l.a.createElement(A.Pb,null)),description:l.a.createElement(l.a.Fragment,null,"In CMS mode, PubPub is used only for writing and editing: your community is visible to members alone, and everyone else sees a not-found page with a sign-in prompt. If a canonical URL is set, citations, exports, deposits, and connections from other communities will point to the external site where your content is published (for example, a site fed by your Underlay collection).")},l.a.createElement(c.G,{checked:!!n,label:"Enable CMS mode",onChange:e=>{a({cmsMode:e.target.checked})}}),n&&l.a.createElement(c.e,{intent:"warning",icon:"warning-sign"},"Your community is only visible to members. Public visitors will see a “community not found” page with an option to log in."),l.a.createElement(A.R,{label:l.a.createElement(l.a.Fragment,null,"Canonical URL ",l.a.createElement(A.Pb,null)),helperText:"The external site where this community's content is published, e.g. https://journal.example.org. Canonical tags, citations, exports, and new Crossref deposits will point to it.",type:"text",placeholder:"https://journal.example.org",value:r||"",onChange:e=>{a({canonicalBaseUrl:e.target.value.trim()||null})}}),l.a.createElement(A.R,{label:l.a.createElement(l.a.Fragment,null,"Pub URL template ",l.a.createElement(A.Pb,null)),helperText:l.a.createElement(l.a.Fragment,null,"Where a pub lives on the external site, with ",l.a.createElement("code",null,"{slug}")," ","standing in for the pub slug, e.g."," ",l.a.createElement("code",null,"https://journal.example.org/articles/{slug}"),". Leave empty to use the canonical URL + ",l.a.createElement("code",null,"/pub/","{slug}"),"."),type:"text",placeholder:"https://journal.example.org/articles/{slug}",value:o||"",onChange:e=>{a({canonicalPubUrlTemplate:e.target.value.trim()||null})}})):null};const Vs=e=>{if(!e)return null;const t=new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleDateString()};var qs=({communityData:e})=>{const[t,a]=Object(n.useState)([]),[r,o]=Object(n.useState)(!0),[i,s]=Object(n.useState)(null);Object(n.useEffect)(()=>{let t=!1;return o(!0),Ae.a.get("/api/authTokens/community/"+e.id).then(e=>{t||(a(e),s(null))}).catch(e=>{t||s(((e,t)=>e instanceof Error||"object"==typeof e&&null!==e&&"message"in e?e.message:t)(e,"Failed to load community auth tokens."))}).finally(()=>{t||o(!1)}),()=>{t=!0}},[e.id]);const u=Object(n.useCallback)(t=>{return n=null,l=null,r=function*(){yield Ae.a.delete(`/api/authTokens/community/${e.id}/${t}`),a(e=>e.filter(e=>e.id!==t))},new Promise((e,t)=>
1{var a=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,o);i((r=r.apply(n,l)).next())});var n,l,r},[e.id]);return l.a.createElement(A.Ib,{title:"Auth tokens"},l.a.createElement("p",null,"Auth tokens grant the token’s owner programmatic access to this community with their full admin privileges. Demoting a user automatically invalidates their tokens; revoking a token here cuts off a single token without changing the user’s role."),i&&l.a.createElement(c.e,{intent:"danger",style:{marginBottom:8}},i),!r&&0===t.length&&!i&&l.a.createElement("p",{style:{opacity:.7}},"No auth tokens have been minted for this community."),t.length>0&&l.a.createElement(c.p,{condensed:!0,striped:!0,style:{width:"100%"}},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",null,"Owner"),l.a.createElement("th",null,"Created"),l.a.createElement("th",null,"Expires"),l.a.createElement("th",null))),l.a.createElement("tbody",null,t.map(t=>{var a,n,r,o;const i=Vs(t.expiresAt),s=!!(t.expiresAt&&new Date(t.expiresAt).getTime()<Date.now()),m=(null==(a=t.user)?void 0:a.fullName)||(null==(n=t.user)?void 0:n.slug)||t.userId;return l.a.createElement("tr",{key:t.id},l.a.createElement("td",null,(null==(r=t.user)?void 0:r.slug)?l.a.createElement("a",{href:"/user/"+t.user.slug},m):m),l.a.createElement("td",null,null!=(o=Vs(t.createdAt))?o:"—"),l.a.createElement("td",null,i?s?l.a.createElement(c.J,{minimal:!0,intent:"warning"},"Expired"):i:"Never"),l.a.createElement("td",{style:{textAlign:"right"}},l.a.createElement(A.p,{title:"Revoke auth token",text:l.a.createElement("p",null,"Revoking this token will immediately invalidate it for ",e.title,". The owner can mint a new one if they are still an admin."),confirmLabel:"Revoke",onConfirm:()=>u(t.id)},({open:e})=>l.a.createElement(c.c,{minimal:!0,small:!0,intent:"danger",onClick:e},"Revoke"))))}))))},Ws=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var Gs=e=>{const{communityData:t}=e,[a,r]=Object(n.useState)(null),[o,i]=Object(n.useState)(!1),[s,u]=Object(n.useState)(""),[m,d]=Object(n.useState)(!1),[p,b]=Object(n.useState)(null),h=Object(n.useCallback)(()=>Ws(null,null,(function*(){i(!0);try{const e=yield Ae.a.get(`/api/communities/${t.id}/deletionAudit`);r(e)}catch(e){b((null==e?void 0:e.message)||"Failed to load deletion audit")}finally{i(!1)}})),[t.id]);Object(n.useEffect)(()=>{h()},[h]);const g=s.toLowerCase().trim().replace(/\s+/g," ")===t.title.toLowerCase().trim().replace(/\s+/g," ");return l.a.createElement("div",null,l.a.createElement("h5",null,"Delete community"),l.a.createElement(c.e,{intent:"danger",icon:"warning-sign"},l.a.createElement("p",null,l.a.createElement("b",null,"Deleting a community is permanent and cannot be undone.")),o&&l.a.createElement(c.F,{size:20}),a&&l.a.createElement("div",{style:{marginBottom:15}},l.a.createElement("p",null,"This community contains ",l.a.createElement("b",null,a.totalPubs)," pub",1!==a.totalPubs?"s":"",":"),l.a.createElement("ul",{style:{margin:"8px 0"}},a.pubsWithDoi>0&&l.a.createElement("li",null,l.a.createElement(c.J,{intent:"warning",minimal:!0},a.pubsWithDoi)," ","pub",1!==a.pubsWithDoi?"s":""," with DOIs will be"," ",l.a.createElement("b",null,"moved to archive.pubpub.org")," to preserve the scholarly record. Their discussions, releases, drafts, and attributions will be preserved."),a.pubsWithoutDoi>0&&l.a.createElement("li",null,l.a.createElement(c.J,{intent:"danger",minimal:!0},a.pubsWithoutDoi)," ","pub",1!==a.pubsWithoutDoi?"s":""," without DOIs will be"," ",l.a.createElement("b",null,"permanently deleted")," along with all their discussions, releases, and metadata.")),l.a.createElement("p",null,"All pages, collections, members, and community settings will be permanently deleted.")),l.a.createElement("p",null,"Please type ",l.a.createElement("b",null,t.title)," below to confirm."),l.a.createElement(A.R,{label:l.a.createElement("b",null,"Confirm community title"),value:s,onChange:e=>u(e.target.value)}),p&&l.a.createElement(c.e,{intent:"danger",style:{marginBottom:10}},p),l.a.createElement(c.c,{intent:"danger",text:"Delete community",loading:m,onClick:()=>Ws(null,null,(function*(){d(!0),b(null);try{yield Object(Ae.a)("/api/communities/"+t.id,{method:"DELETE",body:JSON.stringify({confirmationTitle:t.title})}),window.location.href="https://www.pubpub.org"}catch(e){b((null==e?void 0:e.message)||"Failed to delete community"),d(!1)}})),disabled:!g})))};function Ys(e){var t;const{scopeData:{activePermissions:a}}=Object(De.c)(),r=e.communityData,o=e.updateCommunityData,i=null!=(t=null==r?void 0:r.discu
1ssionCreationAccess)?t:a.discussionCreationAccess,s=Object(n.useCallback)(e=>{null==o||o({discussionCreationAccess:e})},[o]);return o?l.a.createElement(A.Ib,{title:"Discussions"},l.a.createElement("p",null,"Who can create new discussions on Pubs?"),l.a.createElement(c.D,{selectedValue:i,onChange:e=>{const t=e.target.value;s(t)}},l.a.createElement(c.C,{value:"public"},"Anyone"),l.a.createElement(c.C,{value:"contributors-members"},"Members of the Community, Collection the Pub is in, or the Pub itself & Contributors to the Collection the Pub is in, or the Pub itself"),l.a.createElement(c.C,{value:"disabled"},"Disabled (except for Admins of your Community)")),l.a.createElement(c.e,{intent:"warning"},l.a.createElement("p",null,"This setting applies to all Pubs and Collections in the Community, and only applies to new discussions."),l.a.createElement("p",null,"Users with existing discussions will still be able to edit and archive them."))):null}const Ks=({disabled:e,pastExports:t,isSuperAdmin:a})=>{const[r,o]=Object(n.useState)(!1),[i,s]=Object(n.useState)(null),[u,m]=Object(n.useState)(null),[d,p]=Object(n.useState)(null),b=Object(n.useCallback)(()=>{return e=null,t=null,a=function*(){var e;o(!0),p(null),m(null);try{const t=yield Object(Ae.a)("/api/communities/export",{method:"POST",body:JSON.stringify({})});s(new Date),m(null!=(e=t.message)?e:"Your data export is being generated. You will receive an email with a download link when it is ready.")}catch(e){const t=e instanceof Error||"object"==typeof e&&null!==e&&"message"in e?e.message:"Something went wrong, please try again later.";p(t)}finally{o(!1)}},new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var e,t,a},[]),h=null==t?void 0:t.some(e=>e.isProcessing),g=r||!!i||h||e;return l.a.createElement("div",null,l.a.createElement("div",null,l.a.createElement(c.c,{disabled:g,onClick:b},r?l.a.createElement(l.a.Fragment,null,"Generating..."," ",l.a.createElement("span",{style:{display:"inline-block",marginLeft:4,verticalAlign:"middle"}},l.a.createElement(c.F,{size:16}))):h?"Export in progress...":i?"Export started":"Generate data export")),u&&l.a.createElement(c.e,{intent:"success",style:{marginTop:12}},l.a.createElement("p",null,u),i&&l.a.createElement("p",{style:{fontSize:"0.9em",opacity:.7}},"Requested at ",i.toLocaleTimeString())),d&&l.a.createElement(c.e,{intent:"danger",style:{marginTop:12}},l.a.createElement("p",null,d)),t&&t.length>0&&l.a.createElement("div",{style:{marginTop:16}},l.a.createElement("h6",null,"Exports in last 30 days"),l.a.createElement(c.p,{condensed:!0,striped:!0,style:{width:"100%"}},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Date"),l.a.createElement("th",null,"Status"),l.a.createElement("th",null,"Expires"),l.a.createElement("th",null))),l.a.createElement("tbody",null,t.map(e=>{const t=new Date(e.createdAt),n=new Date(t.getTime()+6048e5),r=Date.now()>n.getTime(),o=!e.isProcessing&&"string"==typeof e.output&&e.output.length>0;let i;return i=e.isProcessing?l.a.createElement(c.J,{minimal:!0,intent:"primary"},"Processing"):o?l.a.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:4}},l.a.createElement(c.J,{minimal:!0,intent:r?"warning":"success"},r?"Expired":"Ready"),a&&e.error&&l.a.createElement(c.N,{content:e.error},l.a.createElement(c.q,{icon:"info-sign",intent:"warning",iconSize:12}))):e.error?l.a.createElement(c.J,{minimal:!0,intent:"danger",title:e.error},"Error"):r?l.a.createElement(c.J,{minimal:!0,intent:"warning"},"Expired"):l.a.createElement(c.J,{minimal:!0,intent:"success"},"Ready"),l.a.createElement("tr",{key:e.id},l.a.createElement("td",null,t.toLocaleString()),l.a.createElement("td",null,i),l.a.createElement("td",null,o?r?"Expired":n.toLocaleDateString():"—"),l.a.createElement("td",{style:{textAlign:"right"}},o&&!r&&l.a.createElement("a",{className:"bp3-button bp3-minimal bp3-small",href:e.output,"aria-label":"Download export"},"Download")))})))))};var Js=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var Qs=e=>{const{communityData:t}=e,[a,r]=Object(n.useState)([]),[o,i]=Object(n.useState)(!0),[s,u]=Object(n.useState)(null),[m,d]=Object(n.useState)(!1),[p,b]=Object(n.useState)(null),[h,g]=Object(n.useState)(null),f=Object(n.useCallback)(()=>Js(null,null,(function*(){var e;try{const a=null!=(e=(yield Ae.a.get("/api/kf/my-orgs")).orgs)?e:[];r(a),t.kfOrgId&&a.some(e=>e.id===t.kfOrgId)?u(t.kfOrgId):a.length>0&&u(a[0].id)}catch(e){b("Failed to load organizations")}finally{i(!1)}})),[t.kfOrgId]);Object(n.useEffect)(()=>{f()},[f]);const y=a.find(e=>e.id===s),v=s===t.kfOrgId;if(o)return l.a.createElement(A.Ib,{title:"Transfer Ownership"},l.a.createElement("p",{className:Le.a.TEXT_MUTED},"Loading organizations..."));if(a.length<2)return null;const E=a.find(e=>e.id===t.kfOrgId);return l.a.createElement(A.Ib,{title:"Transfer Ownership"},l.a.createElement("p",null,"Transfer this community to a different KF Account. The target account will become the billing owner of this community."),E&&l.a.createElement("p",null,"Currently owned by: ",l.a.createElement("strong",null,E.name),"personal"===E.type?" (Personal)":""),p&&l.a.createElement(c.e,{intent:"danger",style:{marginBottom:10}},p),h&&l.a.createElement(c.e,{intent:"success",style:{marginBottom:10}},h),l.a.createElement("div",{style:{display:"flex",alignItems:"center",gap:10}},l.a.createElement("div",{style:{flex:1,maxWidth:300}},l.a.createElement("div",{className:Le.a.HTML_SELECT,style:{width:"100%"}},l.a.createElement("select",{value:null!=s?s:"",onChange:e=>{u(e.target.value||null),g(null)},disabled:m},a.map(e=>l.a.createElement("option",{key:e.id,value:e.id},e.name,"personal"===e.type?" (Personal)":"",e.id===t.kfOrgId?" (current)":""))))),l.a.createElement(c.c,{intent:"warning",text:"Transfer",loading:m,disabled:v||!s,onClick:()=>Js(null,null,(function*(){var e;if(s&&!v){d(!0),b(null),g(null);try{yield Ae.a.post("/api/kf/transfer-community",{communityId:t.id,kfOrgId:s}),g(`Community transferred to ${null!=(e=null==y?void 0:y.name)?e:"the selected organization"}.`),t.kfOrgId=s}catch(e){b((null==e?void 0:e.error)||(null==e?void 0:e.message)||"Failed to transfer community")}finally{d(!1)}}}))})))};const Zs=e=>{var t;const{loginData:{isSuperAdmin:a}}=Object(De.c)(),n=null==(t=e.settingsData.archives)?void 0:t.filter(e=>(new Date).getTime()-new Date(e.createdAt).getTime()<864e5),r=a?1/0:Math.max(2-((null==n?void 0:n.length)||0),0);return l.a.createElement(A.Ib,{title:"Export"},l.a.createElement("p",null,"Download a complete copy of your community's data. This creates a .zip archive containing rendered HTML files for all pub releases and drafts, downloaded media assets, and structured JSON data including pubs, collections, pages, members, activity, and settings."),l.a.createElement(Ks,{disabled:0===r,pastExports:e.settingsData.archives,isSuperAdmin:a}))};var Xs=e=>{const{communityData:t,scopeData:{activePermissions:{canAdminCommunity:a}}}=Object(De.c)();return a?l.a.createElement(l.a.Fragment,null,l.a.createElement(A.Ib,{title:"Custom CSS"},l.a.createElement(c.e,{intent:"warning",icon:"warning-sign"},l.a.createElement("p",null,"Custom CSS lets you change the look and feel of your Community, but it also lets you introduce bugs that make it hard or impossible to use. The PubPub team may also make changes to our own source code that c
1ould break your CSS without warning. We don't provide support for problems caused by Custom CSS. Use caution (but have fun!)"),l.a.createElement(c.b,{target:"_blank",href:Object(Me.a)({mode:"scripts"})},"Customize CSS"))),l.a.createElement(Ys,{communityData:e.communityData,updateCommunityData:e.updateCommunityData}),l.a.createElement(Zs,{settingsData:e.settingsData}),t&&l.a.createElement(qs,{communityData:t}),l.a.createElement(Qs,{communityData:t}),l.a.createElement(Gs,{communityData:t})):null},ec=a(103);var tc=e=>{const{communityData:t,updateCommunityData:a,previewContext:n}=e,{headerLogo:r,footerTitle:o,footerLogoLink:i,footerImage:s,pages:u=[],collections:m=[]}=t;return l.a.createElement(l.a.Fragment,null,l.a.createElement(A.Ib,{title:"Footer"},l.a.createElement(A.R,{label:"Footer Title",type:"text",value:o||"",onChange:e=>{a({footerTitle:e.target.value})},placeholder:t.title}),l.a.createElement(A.P,{key:s,htmlFor:"footer-logo-upload",label:"Footer Logo",defaultImage:s,height:80,width:150,onNewImage:e=>{a({footerImage:e})},useAccentBackground:!0,canClear:!0}),l.a.createElement(c.c,{small:!0,style:{margin:"-10px 0px 20px"},text:"Use Header Logo",disabled:!r||s===r,onClick:()=>{a({footerImage:r})}}),l.a.createElement(A.R,{label:"Footer Logo Link",type:"text",value:i||"",onChange:e=>{a({footerLogoLink:e.target.value})},placeholder:Object(ht.d)(t)}),l.a.createElement(A.R,{label:"Footer Links"},l.a.createElement(A.gb,{initialNav:t.footerLinks||ec.b,suffix:ec.b,pages:u,collections:m,onChange:e=>{a({footerLinks:e})},disableDropdown:!0}))),l.a.createElement(A.Ib,{title:"Preview"},l.a.createElement(A.J,{previewContext:n})))};var ac=e=>{const{communityData:t,updateCommunityData:a}=e,{headerLogo:n,headerColorType:r,useHeaderTextAccent:o,hideNav:i}=t;return l.a.createElement(A.Ib,{title:"Site Header",description:l.a.createElement(l.a.Fragment,null,"The site header is shown at the top of every page.")},l.a.createElement(A.a,{communityData:t,isNavHidden:!!i}),l.a.createElement(A.P,{htmlFor:"header-logo-upload",label:l.a.createElement(zs,{label:"Header logo",info:"Recommended size: 40x150px"}),helperText:l.a.createElement(l.a.Fragment,null,"This will replace the Community name in the header."),defaultImage:n,height:80,width:150,onNewImage:e=>{a({headerLogo:e})},useAccentBackground:!0,canClear:!0}),l.a.createElement(A.R,{label:"Header Color",helperText:"You can change these colors from the Details tab."},l.a.createElement(c.d,null,l.a.createElement(c.c,{text:"Light Accent Color",active:"light"===r,onClick:()=>{a({headerColorType:"light"})}}),l.a.createElement(c.c,{text:"Dark Accent Color",active:"dark"===r,onClick:()=>{a({headerColorType:"dark"})}}))),l.a.createElement(A.R,{label:"Header Text Color"},l.a.createElement(c.d,null,l.a.createElement(c.c,{text:"light"===r?"Black":"White",active:!o,onClick:()=>{a({useHeaderTextAccent:!1})}}),l.a.createElement(c.c,{text:"light"===r?"Dark Accent Color":"Light Accent Color",active:!!o,onClick:()=>{a({useHeaderTextAccent:!0})}}))))},nc=Object.defineProperty,lc=Object.defineProperties,rc=Object.getOwnPropertyDescriptors,oc=Object.getOwnPropertySymbols,ic=Object.prototype.hasOwnProperty,sc=Object.prototype.propertyIsEnumerable,cc=(e,t,a)=>t in e?nc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,uc=(e,t)=>{for(var a in t||(t={}))ic.call(t,a)&&cc(e,a,t[a]);if(oc)for(var a of oc(t))sc.call(t,a)&&cc(e,a,t[a]);return e},mc=(e,t)=>lc(e,rc(t));var dc=e=>{const{communityData:t,updateCommunityData:a,previewContext:n}=e,{heroLogo:r,heroBackgroundImage:o,hideHero:i,hideHeaderLogo:s,heroBackgroundColor:u,heroTextColor:m,useHeaderGradient:d,heroImage:p,heroTitle:b,heroText:h,heroPrimaryButton:g,heroSecondaryButton:f,heroAlign:y="left"}=t,v=m||"#FFFFFF",E=g||{title:"",url:""},O=f||{title:"",url:""};return l.a.createElement(l.a.Fragment,null,l.a.createElement(A.Ib,{title:"Homepage Banner",description:l.a.createElement(l.a.Fragment,null,"The homepage can optionally display a large banner with text and buttons.")},l.a.createElement(A.R,null,l.a.createElement(c.G,{large:!0,label:"Use homepage banner",checked:!i,onChange:e=>{a({hideHero:!e.target.checked})}})),!i&&l.a.createElement(l.a.Fragment,null,l.a.createElement($s,null,l.a.createElement(A.P,{htmlFor:"hero-logo-upload",label:l.a.createElement(zs,{label:"Banner logo",info:"Recommended size: 200x750px"}),defaultImage:r,height:80,width:150,onNewImage:e=>{a({heroLogo:e})}
1,useAccentBackground:!0,canClear:!0}),l.a.createElement(A.P,{htmlFor:"hero-background-upload",label:l.a.createElement(zs,{label:"Banner background",info:"Recommended size: 1500x600px"}),defaultImage:o,onNewImage:e=>{a({heroBackgroundImage:e})},height:80,width:150,canClear:!0}),l.a.createElement(A.P,{htmlFor:"hero-image-upload",label:l.a.createElement(zs,{label:"Banner image",info:"Recommended size: 600x600px"}),defaultImage:p,onNewImage:e=>{a({heroImage:e})},height:80,width:150,canClear:!0})),o&&l.a.createElement(A.R,null,l.a.createElement(c.g,{label:"Fade site header into banner background",checked:!!d,onChange:e=>{a({useHeaderGradient:e.target.checked})},disabled:!o})),l.a.createElement(A.R,{label:"Banner Title",type:"text",value:b,onChange:e=>{a({heroTitle:e.target.value})}}),l.a.createElement(A.R,{label:"Banner Text",type:"text",value:h,onChange:e=>{a({heroText:e.target.value})}}),l.a.createElement(A.R,null,l.a.createElement(c.g,{label:"Hide site header logo on homepage",checked:!!s,onChange:e=>{a({hideHeaderLogo:e.target.checked})}})),l.a.createElement($s,{gap:30},l.a.createElement(A.R,{label:"Banner Background Color"},l.a.createElement(A.o,{value:u||t.accentColorDark,onChange:e=>{a({heroBackgroundColor:e.hex})}})),l.a.createElement(A.R,{label:"Banner Text Color"},l.a.createElement(c.d,null,l.a.createElement(c.c,{text:"Light",active:"#FFFFFF"===v,onClick:()=>{a({heroTextColor:"#FFFFFF"})}}),l.a.createElement(c.c,{text:"Dark",active:"#000000"===v,onClick:()=>{a({heroTextColor:"#000000"})}}))),l.a.createElement(A.R,{label:"Banner Align"},l.a.createElement(c.d,null,l.a.createElement(c.c,{text:"Left",active:"left"===y,onClick:()=>{a({heroAlign:"left"})}}),l.a.createElement(c.c,{text:"Center",active:"center"===y,onClick:()=>{a({heroAlign:"center"})}})))),l.a.createElement($s,null,l.a.createElement(A.R,{label:"Primary Button Text",type:"text",value:E.title,onChange:e=>{const t=e.target.value;a({heroPrimaryButton:mc(uc({},E),{title:t})})}}),l.a.createElement(A.R,{label:"Primary Button URL",type:"text",value:E.url,onChange:e=>{const t=e.target.value;a({heroPrimaryButton:mc(uc({},E),{url:t})})}})),l.a.createElement($s,null,l.a.createElement(A.R,{label:"Secondary Button Text",type:"text",value:O.title,onChange:e=>{const t=e.target.value;a({heroSecondaryButton:mc(uc({},O),{title:t})})}}),l.a.createElement(A.R,{label:"Secondary Button URL",type:"text",value:O.url,onChange:e=>{const t=e.target.value;a({heroSecondaryButton:mc(uc({},O),{url:t})})}})))),l.a.createElement(A.Ib,{title:"Preview (homepage)"},l.a.createElement(A.M,{previewContext:n})))};var pc=e=>{var t,a;const{communityData:n,updateCommunityData:r,previewContext:o}=e,{hideNav:i,pages:s=[],collections:u=[]}=n;return l.a.createElement(l.a.Fragment,null,l.a.createElement(A.Ib,{title:"Navigation"},l.a.createElement(c.G,{large:!0,label:"Show Navigation Bar",checked:!i,onChange:e=>{r({hideNav:!e.target.checked})}}),!i&&l.a.createElement(A.gb,{initialNav:null!=(t=n.navigation)?t:[],prefix:[...(null==(a=n.navigation)?void 0:a[0])?[n.navigation[0]]:[]],pages:s,collections:u,onChange:e=>{r({navigation:e})}})),!i&&l.a.createElement(A.Ib,{title:"Preview"},l.a.createElement(A.fb,{previewContext:o})))};const bc=l.a.createElement(l.a.Fragment,null,'"Create Pub"');var hc=e=>{const{communityData:t,updateCommunityData:a}=e,{hideCreatePubButton:r,defaultPubCollections:o}=t,i=Object(n.useCallback)(e=>{const t=[...o||[],e];a({defaultPubCollections:t})},[a,o]),s=Object(n.useCallback)((e,t)=>{const n=(o||[]).filter((e,a)=>a!==t);a({defaultPubCollections:n})},[a,o]);return l.a.createElement(A.Ib,{title:"Pub creation by visitors",description:l.a.createElement(l.a.Fragment,null,"You can enable the ",bc," button in the header for all visitors to your Community. These Pubs can be released to the public after undergoing review by Community members.")},l.a.createElement(A.R,{helperText:l.a.createElement(l.a.Fragment,null,"The button will always be available to Community members with permission to create Pubs.")},l.a.createElement(c.G,{large:!0,labelElement:l.a.createElement(l.a.Fragment,null,"Show ",bc," button for all users"),checked:!r,onChange:e=>{a({hideCreatePubButton:!e.target.checked})}})),l.a.createElement(A.R,{label:l.a.createElement(l.a.Fragment,null,"Default ",bc," Collections"),isDisabled:r,helperText:l.a.createElement(l.a.Fragment,null,"Keep track of Pubs created this way by adding them to a Collection.")},l.a.createElement(A.n,{allCollections:t.collections,selectedCollectionIds:o||[],onItemSelect:i,onRemove:s,placeholder:"Select Collections..."})))};const gc=[{title:"header only.",key:"header"},{title:"footer only.",key:"footer"},{title:"header and footer.",key:null}];var fc=e=>{var t;const{communityData:a,updateCommunityData:n}=e,{website:r,twitter:o,facebook:i,email:s,avatar:u,instagram:m,mastodon:d,linkedin:
1p,bluesky:b,github:h}=a,g=a.socialLinksLocation;return l.a.createElement(A.Ib,{title:"Social Media"},l.a.createElement("div",{className:Le.a.FORM_GROUP},l.a.createElement("div",null,l.a.createElement("span",null,"These links will appear in your Community's  "),l.a.createElement(dt.a,{items:gc,itemRenderer:(e,{handleClick:t})=>l.a.createElement(c.u,{key:e.title,onClick:t,text:e.title}),filterable:!1,onItemSelect:e=>{n({socialLinksLocation:e.key})},popoverProps:{popoverClassName:Le.a.MINIMAL}},l.a.createElement(c.c,{className:"linked-page-select-button",text:null==(t=gc.find(e=>e.key===g))?void 0:t.title,rightIcon:"chevron-down",minimal:!0,outlined:!0})," ",l.a.createElement(zs,{label:"",info:"Social links are never shown in the header on mobile devices."})))),l.a.createElement(A.R,{label:"Website",type:"text",value:r,onChange:e=>{n({website:e.target.value})}}),l.a.createElement(A.R,{label:"X (Twitter)",type:"text",value:o,helperText:"https://twitter.com/"+(o||"<your x/twitter hanlde>"),onChange:e=>{n({twitter:e.target.value})}}),l.a.createElement(A.R,{label:"Instagram",type:"text",value:m,helperText:"https://instagram.com/"+(m||"<your instagram handle>"),onChange:e=>{n({instagram:e.target.value})}}),l.a.createElement(A.R,{label:"Mastodon",type:"text",value:d,helperText:"https://"+(d||"<Mastodon instance URL>/@<handle>"),onChange:e=>{n({mastodon:e.target.value})}}),l.a.createElement(A.R,{label:"LinkedIn",type:"text",value:p,helperText:"https://linkedin.com/"+(p||"<in|company|school>/<your linkedin handle>"),onChange:e=>{n({linkedin:e.target.value})}}),l.a.createElement(A.R,{label:"Bluesky",type:"text",value:b,helperText:"https://bsky.app/profile/"+(b||"<your bluesky handle>.<your-server.social>"),onChange:e=>{n({bluesky:e.target.value})}}),l.a.createElement(A.R,{label:"GitHub",type:"text",value:h,helperText:"https://github.com/"+(h||"<your github handle>"),onChange:e=>{n({github:e.target.value})}}),l.a.createElement(A.R,{label:"Facebook",type:"text",value:i,helperText:"https://facebook.com/"+(i||"<your facebook handle>"),onChange:e=>{n({facebook:e.target.value})}}),l.a.createElement(A.R,{label:"Contact Email",type:"text",value:s,onChange:e=>{n({email:e.target.value})}}),l.a.createElement(A.P,{canClear:!0,width:125,htmlFor:"avatar-upload",helperText:"Used as default preview image for social sharing cards.",label:l.a.createElement(zs,{label:"Social preview image",info:"Recommended size: 500x500px"}),defaultImage:u,onNewImage:e=>{n({avatar:e})}}))},yc=Object.defineProperty,vc=Object.defineProperties,Ec=Object.getOwnPropertyDescriptors,Oc=Object.getOwnPropertySymbols,wc=Object.prototype.hasOwnProperty,Cc=Object.prototype.propertyIsEnumerable,Nc=(e,t,a)=>t in e?yc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,jc=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const kc=[{value:"",label:"Manual"},{value:"1",label:"Daily"},{value:"7",label:"Weekly"},{value:"30",label:"Monthly"}],Sc=[{value:"pdf",label:"PDF"},{value:"epub",label:"EPUB"},{value:"jats",label:"JATS XML"},{value:"docx",label:"Word (DOCX)"},{value:"tex",label:"LaTeX"},{value:"markdown",label:"Markdown"},{value:"html",label:"HTML"},{value:"odt",label:"OpenDocument (ODT)"},{value:"plain",label:"Plain text"},{value:"json",label:"JSON"}],Pc=["pdf","epub"],Dc=e=>[...e].sort().join(","),Ic=e=>{switch(e){case"success":return"success";case"error":return"danger";case"running":return"primary";default:return"none"}},Tc=e=>{var t,a,n,l,r;const o=new Map;for(const i of e){const e=null==(a=null==(t=i.assetUrl)?void 0:t.split("?")[0].split(".").pop())?void 0:a.toLowerCase(),s=`${e&&e.length<=5?"."+e:"asset"} — ${(null!=(n=i.reason)?n:"skipped").replace(/https?:\/\/\S+/g,"<url>")}`,c=null!=(r=o.get(s))?r:{count:0,sample:null!=(l=i.assetUrl)?l:void 0};c.count+=1,o.set(s,c)}return[...o.entries()].map(([e,t])=>({key:e,count:t.count,sample:t.sample})).sort((e,t)=>t.count-e.count)};var xc=e=>{var t,a,r,o,i,s;const[u,m]=Object(n.useState)(null),[d,p]=Object(n.useState)(""),[b,h]=Object(n.useState)(!0),[g,f]=Object(n.useState)(!1),[y,v]=Object(n.useState)(null),[E,O]=Object(n.useState)("idle"),[w,C]=Object(n.useState)(null),[N,j]=Object(n.useState)([]),[k,S]=Object(n.useState)(null),[P,D]=Object(n.useState)(null),[I,T]=Object(n.useState)(null),[x,M]=Object(n.useState)(()=>Date.now()),L=Object(n.useRef)(null),R=Object(n.useRef)(null),[F,U]=Object(n.useState)(""),[B,z]=Object(n.useState)(""),[$,_]=Object(n.useState)(""),[H,V]=Object(n.useState)(!0),[q,W]=Object(n.useState)(!0),[G,Y]=Object(n.useState)(Pc),[K,J]=Object(n.useState)(""),[Q,Z]=Object(n.useState)(!1),[X,ee]=Object(n.useState)(null),[te,ae]=Object(n.useState)(!1),[ne,le]=Object(n.useState)([]),[re,oe]=Object(n.useState)([]),[ie,se]=Object(n.useState)(!1),[ce,ue]=Object(n.useState)(!1),[me,de]=Object(n.useState)(null),pe=Object(n.useCallback)(()=>{L.current&&(clearInterval(L.current),L.current=null)},[]),be=Object(n.useCallback)(()=>jc(null,null,(function*(){ae(!0);try{const e=yield Ae.a.get("/api/underlayIntegration/history");ee(e)}catch(e){ee([])}finally{ae(!1)}})),[]),he=Object(n.useCallback)(()=>jc(null,null,(function*(){var e,t;try{const a=yield Ae.a.get("/api/underlayIntegration"),n=null!=(e=null==a?void 0:a.currentPush)?e:null;S(n),D(null!=(t=null==a?void 0:a.lastPush)?t:null),n&&"running"===n.status||(pe(),be())}catch(e){}})),[pe,be]),ge=Object(n.useCallback)(()=>{L.current||(L.current=setInterval(he,5e3))},[he]),fe=Object(n.useCallback)(e=>{var t,a,n,l,r,o,i,s;m(e),U(null!=(t=null==e?void 0:e.underlayOrg)?t:""),z(null!=(a=null==e?void 0:e.underlayCollection)?a:""),_(null!=(n=null==e?void 0:e.readme)?n:""),V(null==(l=null==e?void 0:e.includeReleaseHtml)||l),W(null==(r=null==e?void 0:e.includeAssets)||r),Y(null!=(o=null==e?void 0:e.exportFormats)?o:Pc),J((null==e?void 0:e.sc
1heduleDays)?String(e.scheduleDays):""),S(null!=(i=null==e?void 0:e.currentPush)?i:null),D(null!=(s=null==e?void 0:e.lastPush)?s:null)},[]);Object(n.useEffect)(()=>{let e=!1;return Ae.a.get("/api/underlayIntegration").then(t=>{var a;e||(fe(t),"running"===(null==(a=null==t?void 0:t.currentPush)?void 0:a.status)&&ge())}).catch(e=>{var t;return v(null!=(t=null==e?void 0:e.error)?t:"Failed to load settings")}).finally(()=>{e||h(!1)}),be(),()=>{e=!0}},[fe,ge,be]),Object(n.useEffect)(()=>pe,[pe]);const ye="running"===(null==k?void 0:k.status);Object(n.useEffect)(()=>{if(ye)return M(Date.now()),R.current=setInterval(()=>M(Date.now()),1e3),()=>{R.current&&(clearInterval(R.current),R.current=null)};R.current&&(clearInterval(R.current),R.current=null)},[ye]);const ve=Boolean(d||(null==u?void 0:u.hasApiKey)),Ee=Object(n.useCallback)(e=>jc(null,null,(function*(){var t,a;if(e||(null==u?void 0:u.hasApiKey)){se(!0),de(null);try{const a={};e&&(a.apiKey=e);const n=yield Ae.a.post("/api/underlayIntegration/probe",a);if(!n.ok)return de(null!=(t=n.error)?t:"Failed to connect"),void le([]);le(n.accounts)}catch(e){de(null!=(a=null==e?void 0:e.error)?a:"Failed to probe Underlay"),le([])}finally{se(!1)}}})),[null==u?void 0:u.hasApiKey]),Oe=Object(n.useCallback)((e,t)=>jc(null,null,(function*(){if(e&&(t||(null==u?void 0:u.hasApiKey))){ue(!0);try{const a={underlayOrg:e};t&&(a.apiKey=t);const n=yield Ae.a.post("/api/underlayIntegration/probe",a);oe(n.ok?n.collections:[])}catch(e){oe([])}finally{ue(!1)}}else oe([])})),[null==u?void 0:u.hasApiKey]),we=Object(n.useRef)(!1);Object(n.useEffect)(()=>{b||!(null==u?void 0:u.hasApiKey)||we.current||(we.current=!0,Ee().then(()=>{u.underlayOrg&&Oe(u.underlayOrg)}))},[b,u,Ee,Oe]);const Ce=e=>{U(e),z(""),oe([]),e&&Oe(e,d||void 0)};if(b)return l.a.createElement(A.Ib,{id:"push-to-underlay",title:l.a.createElement(l.a.Fragment,null,"Push to Underlay ",l.a.createElement(A.Pb,null))},"Loading…");const Ne=Boolean(F&&B&&ve),je=Boolean(d)||F!==(null!=(t=null==u?void 0:u.underlayOrg)?t:"")||B!==(null!=(a=null==u?void 0:u.underlayCollection)?a:"")||$!==(null!=(r=null==u?void 0:u.readme)?r:"")||H!==(null==(o=null==u?void 0:u.includeReleaseHtml)||o)||q!==(null==(i=null==u?void 0:u.includeAssets)||i)||Dc(G)!==Dc(null!=(s=null==u?void 0:u.exportFormats)?s:Pc)||K!==((null==u?void 0:u.scheduleDays)?String(u.scheduleDays):""),ke=[{value:"",label:"Select organization…"},...ne.map(e=>({value:e.slug,label:e.name}))],Se=[{value:"",label:"Select collection…"},...re.map(e=>({value:e.slug,label:e.name}))],Pe=ne.length>0,De=re.length>0,Ie=ye&&k?Math.max(0,Math.floor((x-Date.parse(k.startedAt))/1e3)):0,Te=Ne?je?"Save your changes before pushing.":null:"Enter an API key, organization, and collection first.";return l.a.createElement(A.Ib,{id:"push-to-underlay",title:l.a.createElement(l.a.Fragment,null,"Push to Underlay ",l.a.createElement(A.Pb,null))},l.a.createElement("p",{className:Le.a.TEXT_MUTED},"Push this community’s releases and metadata to an Underlay collection. Only new or changed content is transferred."),l.a.createElement("div",{style:{maxWidth:520}},l.a.createElement(A.R,{label:(null==u?void 0:u.hasApiKey)?"Underlay API key (enter a new one to replace)":"Underlay API key",type:"password",placeholder:(null==u?void 0:u.hasApiKey)?"••••••••":"ul_…",value:d,onChange:e=>p(e.target.value),onBlur:()=>{d&&Ee(d)}})),me&&l.a.createElement(c.e,{intent:"warning",style:{marginBottom:12,maxWidth:520}},me," ",l.a.createElement(c.c,{small:!0,minimal:!0,icon:"refresh",text:"Retry",onClick:()=>{Ee(d||void 0).then(()=>{F&&Oe(F,d||void 0)})}})),l.a.createElement("div",{style:{display:"flex",gap:16,maxWidth:520}},l.a.createElement("div",{className:Le.a.FORM_GROUP,style:{flex:1}},l.a.createElement("label",{className:Le.a.LABEL,htmlFor:"underlay-org"},"Organization",ie&&l.a.createElement("span",{style:{marginLeft:8,verticalAlign:"middle"}},l.a.createElement(c.F,{size:12}))),Pe?l.a.createElement(c.o,{id:"underlay-org",value:F,onChange:e=>Ce(e.currentTarget.value),options:ke,fill:!0}):l.a.createElement("input",{id:"underlay-org",className:`${Le.a.INPUT} ${Le.a.FILL}`,placeholder:"my-org",value:F,onChange:e=>Ce(e.target.value)})),l.a.createElement("div",{className:Le.a.FORM_GROUP,style:{flex:1}},l.a.createElement("label",{className:Le.a.LABEL,htmlFor:"underlay-collection"},"Collection",ce&&l.a.createElement("span",{style:{marginLeft:8,verticalAlign:"middle"}},l.a.createElement(c.F,{size:12}
1))),De?l.a.createElement(c.o,{id:"underlay-collection",value:B,onChange:e=>z(e.currentTarget.value),options:Se,fill:!0}):l.a.createElement("input",{id:"underlay-collection",className:`${Le.a.INPUT} ${Le.a.FILL}`,placeholder:"my-collection",value:B,onChange:e=>z(e.target.value)}))),l.a.createElement(c.g,{checked:H,label:"Include rendered release content (HTML)",onChange:()=>V(e=>!e)}),l.a.createElement(c.g,{checked:q,label:"Include in-content assets (images, files)",disabled:!H,onChange:()=>W(e=>!e)}),l.a.createElement("div",{className:Le.a.FORM_GROUP,style:{marginTop:8}},l.a.createElement("div",{className:Le.a.LABEL},"Downloadable exports"),l.a.createElement(c.z,{position:dn.a.BOTTOM_LEFT,content:l.a.createElement("div",{style:{padding:12,maxWidth:520}},l.a.createElement("p",{className:Le.a.TEXT_MUTED,style:{marginBottom:8}},"Push these downloadable export files (when PubPub has generated them) as content-addressed files on each release."),Sc.map(e=>l.a.createElement(c.g,{key:e.value,checked:G.includes(e.value),label:e.label,onChange:()=>Y(t=>t.includes(e.value)?t.filter(t=>t!==e.value):[...t,e.value])})))},l.a.createElement(c.c,{rightIcon:"caret-down",alignText:"left",style:{minWidth:220}},G.length>0?Sc.filter(e=>G.includes(e.value)).map(e=>e.label).join(", "):"No exports"))),l.a.createElement("div",{className:Le.a.FORM_GROUP,style:{marginTop:8}},l.a.createElement("div",{className:Le.a.LABEL},"Automatic push schedule"),l.a.createElement(c.d,null,kc.map(e=>l.a.createElement(c.c,{key:e.value||"manual",text:e.label,active:K===e.value,onClick:()=>J(e.value)})))),l.a.createElement("div",{style:{marginTop:8,marginBottom:12}},l.a.createElement(c.c,{minimal:!0,small:!0,alignText:"left",icon:Q?"chevron-down":"chevron-right",text:"Collection README",onClick:()=>Z(e=>!e)}),l.a.createElement(c.h,{isOpen:Q},l.a.createElement("div",{style:{paddingTop:8,maxWidth:520}},l.a.createElement("p",{className:Le.a.TEXT_MUTED,style:{marginBottom:4}},"Markdown shown as the collection’s README/description on Underlay."),l.a.createElement("textarea",{className:`${Le.a.INPUT} ${Le.a.FILL}`,style:{minHeight:140,fontFamily:"monospace"},placeholder:"# About this collection\n\nDescribe what this collection contains…",value:$,onChange:e=>_(e.target.value)})))),l.a.createElement("div",{style:{display:"flex",gap:8,marginTop:12,alignItems:"center"}},l.a.createElement(c.c,{text:"Save",intent:"primary",loading:g,onClick:()=>jc(null,null,(function*(){var e;f(!0),v(null);try{const e={underlayOrg:F||null,underlayCollection:B||null,readme:$||null,includeReleaseHtml:H,includeAssets:q,exportFormats:G,scheduleDays:K?Number(K):null};d&&(e.apiKey=d);const t=yield Ae.a.put("/api/underlayIntegration",e);fe(((e,t)=>vc(e,Ec(t)))(((e,t)=>{for(var a in t||(t={}))wc.call(t,a)&&Nc(e,a,t[a]);if(Oc)for(var a of Oc(t))Cc.call(t,a)&&Nc(e,a,t[a]);return e})({},t),{currentPush:k,lastPush:P})),p("")}catch(t){v(null!=(e=null==t?void 0:t.error)?e:"Failed to save settings")}finally{f(!1)}}))}),l.a.createElement(c.c,{text:"Test connection",icon:"link",loading:"testing"===E,disabled:!Ne||g,onClick:()=>jc(null,null,(function*(){var e,t;O("testing"),C(null),j([]),v(null);try{const t={};d&&(t.apiKey=d),F&&(t.underlayOrg=F),B&&(t.underlayCollection=B);const a=yield Ae.a.post("/api/underlayIntegration/test",t);O(a.ok?"ok":"fail"),C(a.message),j(null!=(e=a.details)?e:[])}catch(e){O("fail"),C(null!=(t=null==e?void 0:e.error)?t:"Test request failed")}}))}),l.a.createElement(c.c,{text:"Push now",icon:"cloud-upload",disabled:Boolean(Te)||g||ye,onClick:()=>jc(null,null,(function*(){var e;T(null),v(null),S({id:"pending",status:"running",startedAt:(new Date).toISOString(),finishedAt:null,semver:null,recordCount:null,fileCount:null,message:null,error:null,warnings:[],workerTaskId:null});try{yield Ae.a.post("/api/underlayIntegration/push",{}),ge(),he()}catch(t){S(null),T(null!=(e=null==t?void 0:t.error)?e:"Failed to start push")}}))}),Te&&l.a.createElement("span",{className:Le.a.TEXT_MUTED,style:{fontSize:12}},Te)),("ok"===E||"fail"===E)&&w&&l.a.createElement(c.e,{intent:"ok"===E?"success":"danger",style:{marginTop:12,maxWidth:520}},w,N.length>0&&l.a.createElement("ul",{style:{margin:"8px 0 0",paddingLeft:20}},N.map(e=>l.a.createElement("li",{key:e},e)))),I&&l.a.createElement(c.e,{intent:"danger",style:{marginTop:12,whiteSpace:"pre-wrap"}},I),ye&&k&&l.a.createElement(c.e,{intent:"primary",icon:null,style:{marginTop:12}},l.a.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:8}},l.a.createElement(c.F,{size:16}),"Push in progress… (",(e=>{if(e<60)return e+"s";return`${Math.floor(e/60)}m ${e%60}s`})(Ie),")"),l.a.createElement("div",{className:Le.a.TEXT_MUTED,style:{marginTop:4,fontSize:12}},"This runs in the background — you can leave this page and come back.")),l.a.createElement("div",{style:{marginTop:24}},l.a.createElement("h5",{className:Le.a.HEADING},"Push history",te&&l.a.createElement("span",{style:{marginLeft:8,verticalAlign:"middle"}},l.a.createElement(c.F,{size:12}))),X&&X.length>0?l.a.createElement("table",{className:`${Le.a.HTML_TABLE} ${Le.a.HTML_TABLE_CONDENSED}`,style:{width:"100%"}},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Status"),l.a.createElement("th",null,"Version"),l.a.createElement("th",null,"Records"),l.a.createElement("th",null,"Files"),l.a.createElement("th",null,"When"),l.a.createElement("th",null,"Notes"))),l.a.createElement("tbody",null,X.map(e=>{var t,a,n,r,o;return l.a.createElement("tr",{key:e.id},l.a.createElement("td",null,l.a.createElement(c.J,{minimal:!0,intent:Ic(e.status)},(e=>{switch(e){case"success":return"Success";case"error":return"Failed";case"running":return"Running";default:return"No changes"}})(e.status))),l.a.createElement("td",null,null!=(t=e.semver)?t:"—"),l.a.createElement("td",null,null!=(a=e.recordCount)?a:"—"),l.a.createElement("td",null,null!=(n=e.fileCount)?n:"—"),l.a.createElement("td",null,new Date(null!=(r=e.finishedAt)?r:e.startedAt).toLocaleString()),l.a.createElement("td",null,"error"===e.status?null!=(o=e.error)?o:"Failed":e.warnings.length>0?l.a.createElement(c.z,{position:dn.a.LEFT,content:l.a.createElement("div",{style:{maxWidth:520,maxHeight:340,overflow:"auto",padding:12}},l.a.createElement("div",{className:Le.a.TEXT_MUTED,style:{marginBottom:8}},e.warnings.length," asset(s) skipped (non-fatal)"),l.a.createElement("ul",{style:{margin:0,paddingLeft:18,fontSize:12}},Tc(e.warnings).map(e=>l.a.createElement("li",{key:e.key,style:{marginBottom:6,wordBreak:"break-word"}},l.a.createElement("strong",null,e.count,"×")," ",e.key,e.sample&&l.a.createElement("div",{className:Le.a.TEXT_MUTED,style:{wordBreak:"break-all"}},e.sample)))))},l.a.createElement(c.c,{minimal:!0,small:!0,intent:"warning",rightIcon:"caret-down"},e.warnings.length," skipped")):"—"))}))):l.a.createElement("p",{className:Le.a.TEXT_MUTED},te?"Loading…":"No pushes yet.")),y&&l.a.createElement(c.e,{intent:"danger",style:{marginTop:12,whiteSpace:"pre-wrap"}},y))},Ac=Object.defineProperty,Mc=Object.defineProperties,Lc=Object.getOwnPropertyDescriptors,Rc=Object.getOwnPropertySymbols,Fc=Object.prototype.hasOwnProperty,Uc=Object.prototype.propertyIsEnumerable,Bc=(e,t,a)=>t in e?Ac(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,zc=(e,t)=>{for(var a in t||(t={}))Fc.call(t,a)&&Bc(e,a,t[a]);if(Rc)for(var a of Rc(t))Uc.call(t,a)&&Bc(e,a,t[a]);return e},$c=(e,t)=>Mc(e,Lc(t));const _c=["subdomain"],Hc=["accentColorDark","accentColorLight","headerColorType","userHeaderTextAccent","title"];var Vc=e=>{var t;const a=Object(De.c)(),{pendingPromise:r}=Object(De.d)(),{communityData:o}=a,{state:i,hasChanges:s,update:c,persistedState:u,persist:m}=Fa(o,e=>{return t=null,n=null,l=function*(){yield r(Ae.a.put("/api/communities",$c(zc({},e),{communityId:i.id}))),((e,t)=>{const a=zc(zc({},e),t);return _c.some(t=>a[t]!==e[t])})(u,e)&&(window.location.href=Object(Me.a)({mode:"settings"})),a.updateCommunity(Us()(e,Hc))},new Promise((e,a)=>{var r=e=>{try{i(l.next(e))}catch(e){a(e)}},o=e=>{try{i(l.throw(e))}catch(e){a(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((l=l.apply(t,n)).next())});var t,n,l}),d=Object(n.useMemo)(()=>$c(zc({},a),{communityData:zc(zc({},a.communityData),i),locationData:$c(zc({},a.locationData),{path:"/",queryString:"",params:{}}),loginData:{id:null,isSuperAdmin:!1}}),[a,i]),p=[{id:"details",title:"Details",icon:"settings",sections:[l.a.createElement(_s,{communityData:i,updateCommunityData:c}),l.a.createElement(fc,{communityData:i,updateCommunityData:c}),l.a.createElement(Xs,$c(zc({},e),{communityData:i,updateCommunityData:c}))]},{id:"header",title:"Header",icon:"widget-header",sections:[l.a.createElement(ac,{communityData:i,updateCommunityData:c}),l.a.createElement(dc,{communityData:i,updateCommunityData:c,previewContext:d})]},{id:"navigation",title:"Navigation",icon:"link",sections:[l.a.createElement(pc,{communityData:i,updateCommunityData:c,previewContext:d})]},{id:"footer",title:"Footer",icon:"widget-footer",sections:[l.a.createElement(tc,{communityData:i,updateCommunityData:c,previewContext:d})]},{id:"pub-settings",title:"Pubs",pubPubIcon:"pub",sections:[l.a.createElement(hc,{communityData:i,updateCommunityData:c}),l.a.createElement(Di,null)]},...Object(ee.a)(a.featureFlags)&&(a.scopeData.activePermissions.canAdminCommunity||a.scopeData.activePermissions.isSuperAdmin)?[{id:"analytics-settings",title:"Analytics",pubPubIcon:"impact",sections:[l.a.createElement(Bs,{communityData:i,updateCommunityData:c})]}]:[],...a.scopeData.activePermissions.isSuperAdmin||a.scopeData.activePermissions.canAdminCommunity&&(null==(t=e.settingsData)?void 0:t.underlayConfigured)?[{id:"underlay-settings",title:"Underlay",icon:"globe-network",sections:[l.a.createElement(xc,{communityData:i})]}]:[],...a.scopeData.activePermissions.canAdminCommunity||a.scopeData.activePermissions.isSuperAdmin?[{id:"cms-settings",title:"CMS",icon:"exchange",sections:[l.a.createElement(Hs,{communityData:i,updateCommunityData:c})]}]:[]].filter(e=>Boolean(e));return l.a.createElement(Wi,{id:"collection-settings",tabs:p,hasChanges:s,persist:m})};const qc=e=>e.toLowerCase().trim().replace(/\s/g," ");class Wc extends n.Component{constructor(e){super(e),this.state={isLoading:!1,title:""},this.updateTitle=this.updateTitle.bind(this),this.handleDelete=this.handleDelete.bind(this)}updateTitle(e){this.setState({title:e.target.value})}handleDelete(){return this.setState({isLoading:!0}),Object(Ae.a)("/api/pubs",{method:"DELETE",body:JSON.stringify({pubId:this.props.pubData.id,communityId:this.props.communityData.id})}).then(()=>{window.location.href=Object(Me.a)({mode:"overview"})}).catch(()=>{this.setState({isLoading:!1})})}render(){const{pubData:e}=this.props;if(e.doi)return l.a.createElement("div",{className:`${Le.a.CALLOUT} ${Le.a.INTENT_WARNING}`},l.a.createElement("p",null,l.a.createElement("b",null,"This Pub cannot be deleted because it has an assigned DOI.")),l.a.createElement("p",null,"Pubs with DOIs must be preserved for the scholarly record. If you believe this Pub should be removed, please contact us at"," ",l.a.createElement("a",{href:"mailto:[email protected]"},"[email protected]"),"."));const t=qc(e.title)===qc(this.state.title);return l.a.createElement("div",{className:`${Le.a.CALLOUT} ${Le.a.INTENT_DANGER}`},l.a.createElement("p",null,l.a.createElement("b",null,"Deleting a Pub is permanent and cannot be undone.")),l.a.createElement("p",null,"This will permanently delete the Pub ",l.a.createElement("b",null,e.title),", its discussions, and associated metadata."),l.a.createElement("p",null,"Please type the title of the Pub below to confirm your intention."),l.a.createElement(A.R,{label:l.a.createElement("b",null,"Confirm Pub Title"),value:this.state.title,onChange:this.updateTitle}),l.a.createElement(c.c,{type:"button",className:Le.a.INTENT_DANGER,text:"Delete Pub",loading:this.state.isLoading,onClick:this.handleDelete,disabled:!t}))}}var Gc=Wc,Yc=Object.defineProperty,Kc=Object.getOwnPropertySymbols,Jc=Object.prototype.hasOwnProperty,Qc=Object.prototype.propertyIsEnumerable,Zc=(e,t,a)=>t in e?Yc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Xc=e=>{const{settingsData:t}=e,{scopeData:a,communityData:r,featureFlags:o}=Object(De.c)(),{pendingPromise:i}=Object(De.d)(),{activePermissions:{canAdminCommunity:s,canManage:u}}=a,[m,d]=Object(n.useState)(t.pubData.collectionPubs),{state:p,hasChanges:b,update:h,updatePersistedState:g,persistedState:f,persist:y,error:v}=Fa(t.pubData,e=>{return a=null,n=null,l=function*(){yield i(Ae.a.put("/api/pubs",((e,t)=>
1{for(var a in t||(t={}))Jc.call(t,a)&&Zc(e,a,t[a]);if(Kc)for(var a of Kc(t))Qc.call(t,a)&&Zc(e,a,t[a]);return e})({pubId:p.id},e))),e.slug&&e.slug!==t.pubData.slug&&setTimeout(()=>{window.location.href=Object(Me.a)({pubSlug:e.slug,mode:"settings"})},0)},new Promise((e,t)=>{var r=e=>{try{i(l.next(e))}catch(e){t(e)}},o=e=>{try{i(l.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((l=l.apply(a,n)).next())});var a,n,l}),E=Object(sn.a)(e=>e.PubHeaderTheme.backgroundImage),O=p.slug?"used"===(null==v?void 0:v.slugStatus)?"This URL is not available because it is in use by another Pub.":null:"Required",w=[{id:"details",title:"Details",icon:"settings",sections:[()=>{var e,t;return l.a.createElement(A.Ib,{title:"Details",showTitle:!1},l.a.createElement(A.R,{label:"Title",error:p.title?null:"Required"},l.a.createElement(A.Xb,{className:Le.a.INPUT,initialValue:null!=(e=p.htmlTitle)?e:p.title,onInput:(e,t)=>h({htmlTitle:e,title:t})})),l.a.createElement(A.R,{label:"Link",helperText:"Pub will be available at "+Object(ht.g)(r,p),value:p.slug,onChange:e=>h({slug:Object(mt.f)(e.target.value)}),error:O}),l.a.createElement(A.R,{label:"Custom publication date",helperText:"If set, this will be shown instead of the first Release date."},l.a.createElement(A.v,{style:{width:200},date:p.customPublishedAt,onSelectDate:e=>h({customPublishedAt:e&&e.toUTCString()})})),o.htmlPubHeaderValues?l.a.createElement(A.R,{label:"Description",placeholder:"Enter description",helperText:(p.description||"").length+"/280 characters",error:void 0},l.a.createElement(A.Xb,{className:Le.a.INPUT,initialValue:null!=(t=p.htmlDescription)?t:p.description,onInput:(e,t)=>h({htmlDescription:e,description:t}),maxLength:280})):l.a.createElement(A.R,{label:"Description",placeholder:"Enter description",helperText:(p.description||"").length+"/280 characters",isTextarea:!0,value:p.description||"",onChange:e=>h({description:e.target.value.substring(0,280).replace(/\n/g," ")}),error:void 0}),l.a.createElement(A.P,{htmlFor:"avatar-upload",label:l.a.createElement(zs,{label:"Preview Image",info:"This image is shown as a preview from Pages and other Pubs."}),canClear:!0,key:p.avatar,defaultImage:p.avatar,onNewImage:e=>h({avatar:e}),width:150,helperText:l.a.createElement("span",null,"Suggested minimum dimensions: ",l.a.createElement("br",null),"1200px x 800px")}),l.a.createElement(c.c,{disabled:!E||p.avatar===E,onClick:()=>h({avatar:E})},"Use header image as preview"))},()=>l.a.createElement(A.F,{facetName:"License"}),()=>l.a.createElement(A.Ib,{title:"Download",description:l.a.createElement(l.a.Fragment,null,"You can add a file that users can download for this Pub, in addition to the ones that PubPub automatically generates.")},l.a.createElement(A.z,{pubData:p,communityId:r.id,onSetDownloads:e=>g({downloads:e})})),()=>l.a.createElement(A.Ib,{title:"Delete"},l.a.createElement(Gc,{communityData:r,pubData:p}))]},{id:"look-and-feel",title:"Look & Feel",icon:"palette",sections:[()=>l.a.createElement(A.F,{facetName:"PubHeaderTheme"}),()=>l.a.createElement(A.F,{facetName:"CitationStyle"}),()=>l.a.createElement(A.F,{facetName:"NodeLabels"}),()=>l.a.createElement(A.F,{facetName:"PubEdgeDisplay"})]},{id:"contributors",title:"Contributors",pubPubIcon:"contributor",hideSaveButton:!0,sections:[()=>l.a.createElement(A.Ib,{title:"Attributions",showTitle:!1},l.a.createElement(A.qb,{pubData:p,communityData:r,updatePubData:g,canEdit:u}))]},{id:"collections",title:"Collections",pubPubIcon:"collection",hideSaveButton:!0,sections:[()=>l.a.createElement(A.Ib,{title:"Collections",showTitle:!1},l.a.createElement(A.sb,{pub:p,allCollections:r.collections,collectionPubs:m,updateCollectionPubs:d,canManage:u}))]},{id:"doi",title:"DOI",icon:"barcode",hideSaveButton:!0,sections:[()=>l.a.createElement(A.Ib,{title:"DOI",showTitle:!1},l.a.createElement(A.w,{pub:f,communityData:r,updatePub:g,canIssueDoi:s,depositTarget:t.depositTarget}))]}];return l.a.createElement(Wi,{tabs:w,id:"pub-settings",hasChanges:b,persist:y})},eu=(a(1426),Object.defineProperty),tu=Object.getOwnPropertySymbols,au=Object.prototype.hasOwnProperty,nu=Object.prototype.propertyIsEnumerable,lu=(e,t,a)=>t in e?eu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const ru={community:Vc,collection:Rs,pub:Xc};var ou=e=>{const{scopeData:t}=Object(De.c)(),a=ru[t.elements.activeTargetType];return l.a.createElement("div",{className:"dashboard-settings-container"},l.a.createElement(a,((e,t)=>{for(var a in t||(t={}))au.call(t,a)&&lu(e,a,t[a]);if(tu)for(var a of tu(t))nu.call(t,a)&&lu(e,a,t[a]);return e})({},e)))},iu=Object.defineProperty,su=Object.defineProperties,cu=Object.getOwnPropertyDescriptors,uu=Object.getOwnPropertySymbols,mu=Object.prototype.hasOwnProperty,du
1=Object.prototype.propertyIsEnumerable,pu=(e,t,a)=>t in e?iu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,bu=(e,t)=>{for(var a in t||(t={}))mu.call(t,a)&&pu(e,a,t[a]);if(uu)for(var a of uu(t))du.call(t,a)&&pu(e,a,t[a]);return e},hu=(e,t)=>su(e,cu(t));const gu=(e,t)=>Ae.a.put("/api/submissionWorkflows",hu(bu({},e),{collectionId:t}));var fu=e=>{const{workflow:t,onUpdateWorkflow:a}=e,{enabled:r,collectionId:o}=t,[i,s]=Object(n.useState)(!1),u=e=>{return t=null,n=null,l=function*(){const t={enabled:e};s(!0),yield gu(t,Object(fe.c)(o)),s(!1),a(t)},new Promise((e,a)=>{var r=e=>{try{i(l.next(e))}catch(e){a(e)}},o=e=>{try{i(l.throw(e))}catch(e){a(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((l=l.apply(t,n)).next())});var t,n,l};return l.a.createElement(l.a.Fragment,null,!r&&l.a.createElement(c.c,{intent:"primary",icon:"globe",onClick:()=>u(!0),loading:i},"Enable submissions"),r&&l.a.createElement(un.b,{"aria-label":"Accepting submissions",buttonContent:"Enabled",placement:"bottom-end",buttonProps:{icon:"tick",rightIcon:"caret-down",outlined:!0}},l.a.createElement(un.d,{text:"Stop accepting submissions",onClick:()=>u(!1)})))},yu=a(212);a(1427);var vu=e=>{const{initialContent:t,onContent:a,placeholder:n}=e;return l.a.createElement("div",{className:"workflow-text-editor-component"},l.a.createElement(A.db,{initialContent:t,onEdit:e=>a(e.toJSON()),getButtons:e=>e.workflowButtonSet,placeholder:n,useFormattingBar:!0,constrainHeight:!0}))};a(1428);const Eu=e=>{const[t,a]=Object(n.useState)(!!e.initialEmailText),[r,o]=Object(n.useState)(()=>e.initialEmailText||Object(yu.b)());return l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("p",null,"Would you like to ",e.actionTitle.toLowerCase()," this submission?"),e.shouldOfferEmail&&l.a.createElement(l.a.Fragment,null,l.a.createElement("p",{className:"email-text-header"},l.a.createElement(A.O,{icon:"manually-entered-data",iconSize:12}),"  ","Email to submitters"),l.a.createElement(vu,{initialContent:r,onContent:o,placeholder:"Specify message to submitter(s)."}))),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},e.shouldOfferEmail&&l.a.createElement(c.g,{className:"email-toggle",checked:t,disabled:e.isHandlingSubmission,onChange:e=>{a(e.target.checked)},label:"Notify submitters by email"}),l.a.createElement(c.c,{onClick:e.onClose,disabled:e.isHandlingSubmission},"Cancel"),l.a.createElement(c.c,{onClick:()=>e.handleSubmission(r,t),loading:e.isHandlingSubmission,intent:"primary"},e.shouldOfferEmail&&t&&"Email & ",e.actionTitle))))},Ou=e=>l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement(c.e,{intent:"success",title:`Submission ${e.completedName}!`},"You successfully ",e.completedName," the submission!")),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:e.onClose,disabled:e.isHandlingSubmission},"Close"))));var wu=e=>{const[t,a]=Object(n.useState)(!1),[r,o]=Object(n.useState)(null),[i,s]=Object(n.useState)(null);return l.a.createElement(c.j,{lazy:!0,title:e.actionTitle,className:"verdict-dialog-component",isOpen:e.isOpen,onClose:e.onClose},i?l.a.createElement(c.e,{intent:"warning",title:"There was an error updating this submission."}):r?l.a.createElement(Ou,{isHandlingSubmission:t,completedName:e.completedName,onClose:e.onClose}):l.a.createElement(Eu,{shouldOfferEmail:!!e.shouldOfferEmail,onClose:e.onClose,handleSubmission:(t,n)=>{a(!0),e.onSubmit(t,n).then(e=>{o(e),a(!1)}).then(()=>e.onJudgePub(e.status)).catch(e=>{s(e),a(!1)})},initialEmailText:e.initialEmailText,isHandlingSubmission:t,actionTitle:e.actionTitle}))};a(1429);var Cu=e=>{var t;const{communityData:a}=Object(De.c)();return l.a.createElement("div",{className:"arbitration-menu-component"},l.a.createElement(c.N,{content:"Visit Pub"},l.a.createElement(c.b,{minimal:!0,icon:"circle-arrow-right",href:Object(ht.g)(a,e.pub),target:"_blank"})),"accepted"===e.pub.submission.status&&!(null==(t=e.pub.releases)?void 0:t.length)&&l.a.createElement(A.y,{renderLauncherElement:({openDialog:e})=>l.a.createElement(c.N,{content:"Release Pub"},l.a.createElement(c.c,{minimal:!0,small:!0,icon:"document-share",onClick:e}))},({isOpen:t,onClose:a})=>l.a.createElement(A.Bb,{isOpen:t,onClose:a,pub:e.pub})),[{presentTense:"Decline",pastTense:"declined",iconName:"thumbs-down"},{presentTense:"Accept",pastTense:"accepted",iconName:"endorsed"}].map(({presentTense:t,pastTense:a,iconName:n})=>e.pub.submission.status!==a&&l.a.createElement(A.y,{key:a,renderLauncherElement:({openDialog:e})=>l.a.createElement(c.N,{content:t},l.a.createElement(c.c,{minimal:!0,icon:n,onClick:e}))},({isOpen:n,onClose:r})=>{var o;return l.a.createElement(wu,{isOpen:n,onClose:r,shouldOfferEmail:!0,actionTitle:t,completedName:a,status:a,initialEmailText:null==(o=e.pub.submission.submissionWorkflow)?void 0:o[a+"Text"],onSubmit:(t,n)=>{var l;return Ae.a.put("/api/submissions",{id:e.pub.submission.id,status:a,skipEmail:!n,customEmailText:t||(null==(l=e.pub.submission.submissionWorkflow)?void 0:l[a+"Text"])})},onJudgePub:e.onJudgePub})})),l.a.createElement(A.p,{confirmLabel:"Delete Pub",title:"Delete this Pub?",text:"If you delete this Pub, it will be gone forever. Neither you nor its submitters will be able to access it.",onConfirm:()=>Ae.a.delete("/api/pubs",{pubId:e.pub.id}).then(()=>e.onDeletePub())},({open:e})=>l.a.createElement(c.N,{content:"Delete Pub"},l.a.createElement(c.c,{minimal:!0,icon:"trash",onClick:e}))))};a(1430);var Nu=e=>{const{pub:t}=e,[a,r]=Object(n.useState)(t.submission.status),[i,s]=Object(n.useState)(!1),c=[{label:t.submission.status[0].toUpperCase()+t.submission.status.slice(1),icon:"symbol-square",iconSize:16,iconClass:"status-color-"+t.submission.status},Cr(t)].filter(e=>!!e);return i?null:l.a.createElement(zr,{pub:t,leftIconElement:"manually-entered-data",className:o()("submission-row-component",a),labels:c,rightElement:l.a.createElement(Cu,{pub:t,onJudgePub:r,onDeletePub:()=>s(!0)})})},ju=(a(1431),Object.defineProperty),ku=Object.getOwnPropertySymbols,Su=Object.prototype.hasOwnProperty,Pu=Object.prototype.propertyIsEnumerable,Du=(e,t,a)=>t in e?ju(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Iu=(e,t)=>{for(var a in t||(t={}))Su.call(t,a)&&Du(e,a,t[a]);if(ku)for(var a of ku(t))Pu.call(t,a)&&Du(e,a,t[a]);return e};const Tu={all:{submissionStatuses:["received","accepted","declined"]},received:{submissionStatuses:["received"]},accepted:{submissionStatuses:["accepted"]},declined:{submissionStatuses:["declined"]}}
1,xu={id:"received",title:"Received",query:Tu.received},Au=[xu,{id:"accepted",title:"Accepted",query:Tu.accepted},{id:"declined",title:"Declined",query:Tu.declined},{id:"all",title:"All",query:Tu.all}];var Mu=e=>{const{collection:t,initialPubs:a,initiallyLoadedAllPubs:r,acceptSubmissionsToggle:o}=e,{communityData:i}=Object(De.c)(),[s,u]=Object(n.useState)(""),[m,d]=Object(n.useState)(xu),p=!!m||!!s,{currentQuery:{pubs:b,isLoading:h,hasLoadedAllPubs:g,loadMorePubs:f}}=Object(gn.a)({isEager:p,initialPubs:a,initiallyLoadedAllPubs:r,batchSize:200,cacheQueries:!1,pubOptions:{getSubmissions:!0},query:Iu({term:s,scopedCollectionId:t.id},null==m?void 0:m.query)}),y=b.filter(e=>{var a,n;return(null==(n=null==(a=e.submission)?void 0:a.submissionWorkflow)?void 0:n.collectionId)===t.id}),v=!g;Object(Bt.a)({enabled:!h&&v,useDocumentElement:!0,onRequestMoreItems:f});return l.a.createElement("div",{className:"submission-items-component"},l.a.createElement(mr,{placeholder:"Search for submitted Pubs",onUpdateSearchTerm:e=>""===e&&u(e),onCommitSearchTerm:u,onChooseFilter:d,filters:Au}),l.a.createElement(Br,null,y.map(e=>l.a.createElement(Nu,{pub:e,key:e.id})),v&&l.a.createElement(Ur,{isLoading:!0}),(()=>{if(0===y.length&&g){if(m===xu&&!s){const e=o||l.a.createElement(c.b,{href:Object(ht.c)(i,t),target:"_blank",outlined:!0,icon:"share"},"Go to layout"),a=o?"Ready to start accepting submissions?":"Guests can visit this Collection's layout to start a submission.";return l.a.createElement(c.v,{icon:"clean",title:"There aren't any submissions to review",description:a,action:e})}return l.a.createElement(Fr,null,"No matching Submissions.")}return null})()))};var Lu=()=>{const{scopeData:{activePermissions:{canManage:e},elements:{activeCollection:t}}}=Object(De.c)();return e?l.a.createElement(c.b,{outlined:!0,icon:"form",href:Object(Me.a)({collectionSlug:t.slug,mode:"submissions",subMode:"workflow"})},"Edit Workflow"):null},Ru=(a(1432),Object.defineProperty),Fu=Object.getOwnPropertySymbols,Uu=Object.prototype.hasOwnProperty,Bu=Object.prototype.propertyIsEnumerable,zu=(e,t,a)=>t in e?Ru(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,$u=(e,t)=>{for(var a in t||(t={}))Uu.call(t,a)&&zu(e,a,t[a]);if(Fu)for(var a of Fu(t))Bu.call(t,a)&&zu(e,a,t[a]);return e};var _u=e=>{const{initialPubs:t,initiallyLoadedAllPubs:a,initialSubmissionWorkflow:r}=e,[o,i]=Object(n.useState)(r),{scopeData:{elements:{activeCollection:s}}}=Object(De.c)(),c=l.a.createElement(fu,{workflow:o,onUpdateWorkflow:e=>i(t=>$u($u({},t),e))});return l.a.createElement(A.s,{className:"dashboard-submissions-container",title:"Submissions",icon:"manually-entered-data",controls:l.a.createElement(l.a.Fragment,null,l.a.createElement(Lu,null),c)},l.a.createElement(Mu,{initialPubs:t,collection:s,initiallyLoadedAllPubs:a,acceptSubmissionsToggle:o.enabled?null:c}))},Hu=Object.defineProperty,Vu=Object.defineProperties,qu=Object.getOwnPropertyDescriptors,Wu=Object.getOwnPropertySymbols,Gu=Object.prototype.hasOwnProperty,Yu=Object.prototype.propertyIsEnumerable,Ku=(e,t,a)=>t in e?Hu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Ju=e=>l.a.createElement(A.s,((e,t)=>Vu(e,qu(t)))(((e,t)=>{for(var a in t||(t={}))Gu.call(t,a)&&Ku(e,a,t[a]);if(Wu)for(var a of Wu(t))Yu.call(t,a)&&Ku(e,a,t[a]);return e})({},e),{className:"dashboard-submission-workflow-container",title:"Submission Workflow",icon:"manually-entered-data"})),Qu=a(282),Zu=a(117);const Xu=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;var em=Object.defineProperty,tm=Object.defineProperties,am=Object.getOwnPropertyDescriptors,nm=Object.getOwnPropertySymbols,lm=Object.prototype.hasOwnProperty,rm=Object.prototype.propertyIsEnumerable,om=(e,t,a)=>t in e?em(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const im=e=>"string"==typeof e&&e.length>0,sm=e=>!Object(bi.p)(e),cm=()=>!0,um=(e,t=!1)=>a=>a?e(a):t,mm=(e,t,a=!1)=>{const n=Object.entries(e).reduce((e,[a,n])=>{const l=t[a];return l?((e,t)=>tm(e,am(t)))(((e,t)=>{for(var a in t||(t={}))lm.call(t,a)&&om(e,a,t[a]);if(nm)for(var a of nm(t))rm.call(t,a)&&om(e,a,t[a]);return e})({},e),{[a]:l(n)}):e},{}),l=a?Object.keys(t).every(e=>n[e]):!Object.values(n).some(e=>!e);return{validatedFields:n,isValidated:l}};a(1433);var dm=e=>{const{from:t,to:a,cc:n,body:r,community:o,kind:i,collectionTitle:s}=e;return l.a.createElement("div",{className:"email-preview-component"},l.a.createElement("div",{className:"address-header"},l.a.createElement("div",{className:"address-box"},l.a.createElement("div",{className:"label"},"From:"),l.a.createElement("div",{className:"address"},t)),l.a.createElement("div",{className:"address-box"},l.a.createElement("div",{className:"label"},"To:"),l.a.createElement("div",{className:"address"},a)),n.length&&l.a.createElement("div",{className:"address-box"},l.a.createElement("div",{className:"label"},"CC:"),l.a.createElement("div",{className:"address"},n.join(", ")))),l.a.createElement("div",{className:"content-box"},l.a.createElement(A.Nb,{submitterName:"Submitter Name",submissionTitle:"My Example Submission",collectionTitle:s,community:o,customText:r,kind:i})))},pm=a(418),bm=a(1569),hm=a(1583);const gm=["instructions-requirements","response-emails","layout-banner"],fm={"instructions-requirements":"Instructions & Requirements","response-emails":"Email correspondence","layout-banner":"Layout banner"};a(1434);var ym=Object.defineProperty,vm=Object.defineProperties,Em=Object.getOwnPropertyDescriptors,Om=Object.getOwnPropertySymbols,wm=Object.prototype.hasOwnProperty,Cm=Object.prototype.propertyIsEnumerable,Nm=(e,t,a)=>t in e?ym(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,jm=(e,t)=>{for(var a in t||(t={}))wm.call(t,a)&&Nm(e,a,t[a]);if(Om)for(var a of Om(t))Cm.call(t,a)&&Nm(e,a,t[a]);return e},km=(e,t)=>vm(e,Em(t));var Sm=e=>{const{selectedStep:t,onSelectStep:a,stepCompletions:r}=e,i=Object(pm.a)({currentId:t}),{selectedId:s,select:c}
1=i,u=gm.indexOf(t);return Object(n.useEffect)(()=>{t!==s&&c(t)},[t,s,c]),l.a.createElement(bm.a,km(jm({},i),{className:"submission-workflow-step-picker-component","aria-label":"Workflow configuration steps"}),Object.entries(fm).map(([e,t],n)=>{const s=u>=n,c=u>n&&!r[e];return l.a.createElement(hm.a,km(jm({},i),{id:e,key:e,as:"div",className:o()("step",s&&"reached",c&&"incomplete"),stopId:e,onClick:()=>a(e)}),l.a.createElement("div",{className:"label"},l.a.createElement("div",{className:"icon-container"},c?l.a.createElement(A.O,{icon:"warning-sign",intent:"warning",iconSize:22}):l.a.createElement("div",{className:"number"},n+1)),t),l.a.createElement("div",{className:"progress-indicator"}))}))},Pm=(a(1435),Object.defineProperty),Dm=Object.defineProperties,Im=Object.getOwnPropertyDescriptors,Tm=Object.getOwnPropertySymbols,xm=Object.prototype.hasOwnProperty,Am=Object.prototype.propertyIsEnumerable,Mm=(e,t,a)=>t in e?Pm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Lm=(e,t)=>{for(var a in t||(t={}))xm.call(t,a)&&Mm(e,a,t[a]);if(Tm)for(var a of Tm(t))Am.call(t,a)&&Mm(e,a,t[a]);return e},Rm=(e,t)=>Dm(e,Im(t));const Fm={title:im,introText:sm,instructionsText:sm,receivedEmailText:cm,acceptedText:cm,declinedText:cm,targetEmailAddresses:e=>!!e.length&&e.every(e=>{return t=e,Xu.test(t);var t}),enabled:cm,requireAbstract:cm,requireDescription:cm},Um=l.a.createElement(l.a.Fragment,null,"You can leave it blank if you don't have anything you want to add.");var Bm=e=>{const{collection:t,onUpdateWorkflow:a,onValidateWorkflow:r,workflow:o,finalStepButton:i=null}=e,{communityData:s}=Object(De.c)(),{email:u}=s,[m,d]=Object(n.useState)("instructions-requirements"),[{validatedFields:p,isValidated:b},h]=Object(n.useState)(()=>mm(o,Fm)),g=Object(Zu.a)(Object(ht.c)(s,t),e=>l.a.createElement("a",{href:e,target:"_blank",rel:"noopener noreferrer"},e)),f=e=>{const t=Lm(Lm({},o),e),n=mm(t,Fm);h(n),a(e)},y={community:s,from:"[email protected]",to:"[email protected]",cc:o.targetEmailAddresses};Object(n.useEffect)(()=>{r(b)},[r,b]);return l.a.createElement("div",{className:"submission-workflow-editor-component"},l.a.createElement(Sm,{selectedStep:m,onSelectStep:d,stepCompletions:{"instructions-requirements":p.title&&p.instructionsText,"response-emails":p.targetEmailAddresses,"layout-banner":p.introText}}),l.a.createElement("div",{className:"step-content"},"instructions-requirements"===m&&(()=>{const e=(new Date).getFullYear().toString();return l.a.createElement(l.a.Fragment,null,l.a.createElement(c.s,null,l.a.createElement("h2",null,"Workflow title"),l.a.createElement("p",null,"For example, ",l.a.createElement("i",null,"Summer ",e," Special Issue: Call for Submissions"),". Submitters will see this, not the Collection title."),l.a.createElement(c.r,{large:!0,onChange:e=>f({title:e.target.value}),value:o.title,placeholder:"Call for Submissions"})),l.a.createElement("h2",null,"Detailed submission instructions"),l.a.createElement("p",null,"...for content, formatting, etc. Submitters will be able to refer to these at any time."),l.a.createElement(vu,{placeholder:"Detailed submission instructions",initialContent:o.instructionsText,onContent:e=>f({instructionsText:e})}),l.a.createElement("h2",null,"Submission requirements"),l.a.createElement(c.n,{helperText:l.a.createElement(l.a.Fragment,null,"We'll merge the abstract into the Pub when it is submitted.")},l.a.createElement(c.g,{label:"Require an abstract",checked:o.requireAbstract,onChange:()=>f({requireAbstract:!o.requireAbstract})})),l.a.createElement(c.n,{helperText:l.a.createElement(l.a.Fragment,null,"A short editorial subtitle shown in the Pub header and in links to the Pub. You may want this for relatively self-serve workflows.")},l.a.createElement(c.g,{label:"Require a description",checked:o.requireDescription,onChange:()=>f({requireDescription:!o.requireDescription})})))})(),"response-emails"===m&&l.a.createElement("div",{className:"email-step"},l.a.createElement("h2",null,"Email correspondence addresses"),l.a.createElement("p",null,"Once a submission is completed, PubPub will email the submitter with an automated response and CC these addresses (that you control):"),l.a.createElement("div",{className:"target-email-input"},l.a.createElement(c.K,{values:o.targetEmailAddresses,intent:o.targetEmailAddresses&&!p.targetEmailAddresses?"danger":void 0,placeholder:"Submissions email address(es)",onChange:e=>f({targetEmailAddresses:e}),addOnBlur:!0}),u&&l.a.createElement(c.c,{disabled:o.targetEmailAddresses.indexOf(u)>=0,onClick:()=>f({targetEmailAddresses:[...o.targetEmailAddresses,u]})},"Use ",u)),l.a.createElement("h2",null,"Automated submission response"),l.a.createElement("p",null,"You can customize the automated response here, perhaps with a note of thanks and an expected response time. ",Um),l.a.createElement(dm,Rm(Lm({},y),{kind:"received",collectionTitle:t.title,body:l.a.createElement(vu,{placeholder:"Custom email text",initialContent:o.receivedEmailText,onContent:e=>f({receivedEmailText:e})})})),l.a.createElement("h2",null,"Acceptance email template"),l.a.createElement("p",null,"This is just a template that you'll be able to modify before sending each acceptance email. ",Um),l.a.createElement(dm,Rm(Lm({},y),{kind:"accepted",collectionTitle:t.title,body:l.a.createElement(vu,{placeholder:"Custom email text",initialContent:o.acceptedText,onContent:e=>f({acceptedText:e})})})),l.a.createElement("h2",null,"Rejection email template"),l.a.createElement("p",null,"This is just a template that you'll be able to modify before sending each rejection email. ",Um),l.a.createElement(dm,Rm(Lm({},y),{kind:"declined",collectionTitle:t.title,body:l.a.createElement(vu,{placeholder:"Custom email text",initialContent:o.declinedText,onContent:e=>f({declinedText:e})})}))),"layout-banner"===m&&l.a.createElement("div",{className:"banner-step"},l.a.createElement("h2",null,"Layout banner text"),l.a.createElement("p",null,"Visitors to ",g," will see a banner inv
1iting them to submit to this Collection. You can add a brief description of your call for submissions here."),l.a.createElement(Qu.c,{className:"banner-skeleton",title:o.title,content:l.a.createElement(l.a.Fragment,null,l.a.createElement(vu,{placeholder:"Banner content",initialContent:o.introText,onContent:e=>f({introText:e})}),l.a.createElement(c.c,{className:"fake-submit-button"},"Create a submission"))}))),(()=>{const e=gm.indexOf(m),t=gm[e+1];if(t){const e=fm[t];return l.a.createElement(c.c,{minimal:!0,outlined:!0,rightIcon:"arrow-right",intent:"primary",onClick:()=>d(t),className:"next-step-button"},"Next: ",l.a.createElement("b",null,e))}return i})())};var zm=e=>{const{onWorkflowUpdated:t,initialWorkflow:a}=e,[r,o]=Object(n.useState)(!1),{scopeData:{elements:{activeCollection:i}}}=Object(De.c)(),{state:s,update:u,persist:m,hasChanges:d,isPersisting:p}=Fa(a,(e,a)=>{return n=null,l=null,r=function*(){yield gu(e,i.id),setTimeout(()=>t(a),0)},new Promise((e,t)=>{var a=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,o);i((r=r.apply(n,l)).next())});var n,l,r}),b=l.a.createElement(c.c,{disabled:!r||!d,onClick:m,loading:p,intent:"primary",className:"save-changes-button"},"Save Changes");return l.a.createElement(Ju,{controls:b},l.a.createElement(Bm,{workflow:s,onUpdateWorkflow:u,onValidateWorkflow:o,collection:i,finalStepButton:b}))};const $m=e=>({setItem:t=>{localStorage.setItem(e,JSON.stringify(t))},getItem:()=>{var t;return JSON.parse(null!=(t=localStorage.getItem(e))?t:"null")},getChild:t=>((e=>{if(e.includes(""))throw new Error})(t),$m(e+""+t))}),_m=$m("pubpub"),Hm=e=>{const{communityId:t,featureName:a,path:l,initial:r,debounce:o=0,warnBeforeUnload:i=!1}=e,{isClientOnly:s}=Object(n.useContext)(A.l);if(!s)throw new Error("");const c=Object(n.useMemo)(()=>l.reduce((e,t)=>e.getChild(t),((e,t)=>_m.getChild("community-"+e).getChild(t))(t,a)),[t,a,...l]),[u]=Object(n.useState)(()=>c.getItem()),[m,d]=Object(n.useState)(()=>null!=u?u:r()),[p]=Object(_r.a)(m,o),b=m===p;return Object(n.useEffect)(()=>{c.setItem(p)},[c,p]),Object(Sa.a)(!b&&i),{value:m,setValue:d,initialValue:u,flushed:b}};var Vm=e=>{const{onStartWorkflow:t}=e,{communityData:a,scopeData:{elements:{activeCollection:n}}}=Object(De.c)(),r=Object(Me.a)({collectionSlug:n.slug,mode:"layout"}),o=Object(Zu.a)(Object(ht.c)(a,n),e=>l.a.createElement("a",{href:e,target:"_blank",rel:"noopener noreferrer"},e)),i=a.pages.find(e=>e.id===n.pageId);return l.a.createElement(c.e,{title:"Enable Submissions",intent:i?"warning":"primary",icon:null},l.a.createElement("p",null,"When you enable Submissions for this Collection, anyone with a PubPub account will be able to visit ",o," to create a Pub and submit it to this Collection. You'll have the chance to approve or reject these submissions before they can be published."),!i&&l.a.createElement(c.c,{onClick:t},"Let's do it!"),i&&l.a.createElement("p",null,"Before you can start accepting Submissions, you'll need to unlink this Collection from the Page ",l.a.createElement("b",null,i.title)," from the"," ",l.a.createElement("a",{href:r},"Layout tab"),"."))},qm=Object.defineProperty,Wm=Object.getOwnPropertySymbols,Gm=Object.prototype.hasOwnProperty,Ym=Object.prototype.propertyIsEnumerable,Km=(e,t,a)=>t in e?qm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Jm=(e,t)=>{for(var a in t||(t={}))Gm.call(t,a)&&Km(e,a,t[a]);if(Wm)for(var a of Wm(t))Ym.call(t,a)&&Km(e,a,t[a]);return e};const Qm=()=>({title:"",introText:Object(bi.g)(),instructionsText:Object(bi.g)(),acceptedText:Object(bi.g)(),declinedText:Object(bi.g)(),receivedEmailText:Object(bi.g)(),targetEmailAddresses:[],enabled:!1,requireAbstract:!1,requireDescription:!1});var Zm=e=>{const{onWorkflowCreated:t}=e,{communityData:a,scopeData:{elements:{activeCollection:r}}}=Object(De.c)(),{value:o,setValue:i,initialValue:s}=Hm({initial:Qm,communityId:a.id,featureName:"new-submission-workflow-editor",path:["collection-"+r.id],debounce:100}),[u,m]=Object(n.useState)(!!s),[d,p]=Object(n.useState)(!1),[b,h]=Object(n.useState)(!1),g=Object(n.useCallback)(()=>{h(!0),((e,t)=>Ae.a.post("/api/submissionWorkflows",hu(bu({},e),{collectionId:t,enabled:!0})))(o,r.id).then(t).finally(()=>h(!1))},[o,r,t]);return l.a.createElement(Ju,{details:"Follow these steps to let visitors submit to this Collection. You can close this tab and your work will be saved in this browser."},u?l.a.createElement(Bm,{workflow:o,onUpdateWorkflow:e=>i(t=>Jm(Jm({},t),e)),onValidateWorkflow:p,collection:r,finalStepButton:l.a.createElement(c.c,{disabled:!d,onClick:g,loading:b,icon:"tick",intent:"primary",className:"save-changes-button"},"Finish creating workflow")}):l.a.createElement(Vm,{onStartWorkflow:()=>m(!0)}))};var Xm=e=>{const{initialSubmissionWorkflow:t}=e,{scopeData:{elements:{activeCollection:a}}}=Object(De.c)(),r=Object(n.useCallback)(()=>{window.location.href=Object(Me.a)({collectionSlug:a.slug,mode:"submissions"})},[a]);return t?l.a.createElement(zm,{initialWorkflow:t,onWorkflowUpdated:r}):l.a.createElement(A.k,null,l.a.createElement(Zm,{onWorkflowCreated:r}))},ed=a(47);a(1436);const td=({community:e})=>{const t=(e=>e.domain?"https://"+e.domain:`https://${e.subdomain}.pubpub.org`)(e),a=e.heroLogo?Object(ed.b)(e.heroLogo,"inside",120):e.avatar?Object(ed.b)(e.avatar,"inside",120):e.headerLogo?Object(ed.b)(e.headerLogo,"inside",120):null,n=e.scopeSummary,r=e.heroBackgroun
1dColor||e.accentColorDark||"#2c3654",o=e.accentColorDark||"#2c3654",i=(e=>{if(!e)return"#fff";const t=e.replace("#","");return(.299*parseInt(t.substring(0,2),16)+.587*parseInt(t.substring(2,4),16)+.114*parseInt(t.substring(4,6),16))/255>.55?"#1a1a2e":"#fff"})(r),s="#fff"===i?"rgba(255,255,255,0.85)":"rgba(26,26,46,0.7)",c=`linear-gradient(150deg, ${r} 0%, ${o} 100%)`;return l.a.createElement("a",{className:"community-card",href:t,style:{background:c}},l.a.createElement("div",{className:"card-content"},l.a.createElement("div",{className:"card-header"},a&&l.a.createElement("img",{className:"card-logo",src:a,alt:""})),l.a.createElement("div",{className:"card-body"},l.a.createElement("span",{className:"card-title",style:{color:i}},e.title),e.description&&l.a.createElement("span",{className:"card-description",style:{color:s}},e.description)),l.a.createElement("div",{className:"card-footer",style:{color:s}},n&&n.pubs>0&&l.a.createElement("span",{className:"card-stat"},l.a.createElement("strong",{style:{color:i}},n.pubs)," pubs"),n&&n.collections>0&&l.a.createElement("span",{className:"card-stat"},l.a.createElement("strong",{style:{color:i}},n.collections)," ","collections"))))};var ad=e=>{const{communities:t}=e.exploreData,[a,r]=Object(n.useState)(""),[o,i]=Object(n.useState)(48),s=Object(n.useMemo)(()=>{if(!a.trim())return t;const e=a.toLowerCase();return t.filter(t=>t.title.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e)||t.subdomain.toLowerCase().includes(e))},[t,a]),c=s.slice(0,o),u=o<s.length;return l.a.createElement("div",{id:"explore-container"},l.a.createElement("div",{className:"explore-hero"},l.a.createElement("div",{className:"container"},l.a.createElement("h1",null,"Explore Communities"),l.a.createElement("p",{className:"explore-subtitle"},"Thousands of knowledge communities publish on PubPub. Journals, monographs, conferences, course materials, and more. Explore what people are building."))),l.a.createElement("div",{className:"explore-main"},l.a.createElement("div",{className:"container"},l.a.createElement("div",{className:"explore-toolbar"},l.a.createElement("div",{className:"explore-search"},l.a.createElement("input",{type:"text",placeholder:"Search communities...",value:a,onChange:e=>{r(e.target.value),i(48)},"aria-label":"Search communities"})),a&&l.a.createElement("span",{className:"explore-result-count"},s.length," result",1!==s.length?"s":"")),l.a.createElement("div",{className:"community-grid"},c.map(e=>l.a.createElement(td,{key:e.id,community:e}))),u&&l.a.createElement("div",{className:"load-more"},l.a.createElement("button",{className:"load-more-button",type:"button",onClick:()=>i(e=>e+48)},"Show more")),0===s.length&&a&&l.a.createElement("div",{className:"no-results"},l.a.createElement("p",null,"No communities match “",a,"”. Try a different search.")))))},nd=a(96),ld=Object.defineProperty,rd=Object.defineProperties,od=Object.getOwnPropertyDescriptors,id=Object.getOwnPropertySymbols,sd=Object.prototype.hasOwnProperty,cd=Object.prototype.propertyIsEnumerable,ud=(e,t,a)=>t in e?ld(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,md=(e,t)=>{for(var a in t||(t={}))sd.call(t,a)&&ud(e,a,t[a]);if(id)for(var a of id(t))cd.call(t,a)&&ud(e,a,t[a]);return e},dd=(e,t)=>rd(e,od(t)),pd=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const bd=[{key:"avatar",label:"Avatar"},{key:"heroImage",label:"Hero Image"},{key:"heroLogo",label:"Hero Logo"}],hd=[{key:"accentColorLight",label:"Accent Color (Light)"},{key:"accentColorDark",label:"Accent Color (Dark)"}],gd=[{key:"title",label:"Title"},{key:"subtitle",label:"Subtitle"},{key:"description",label:"Description"}],fd=({targets:e,onSelect:t})=>l.a.createElement(dt.a,{items:e,itemRenderer:(e,{handleClick:t,modifiers:a})=>l.a.createElement(c.u,{key:e.key,text:e.label,active:a.active,onClick:t}),onItemSelect:e=>t(e.key),filterable:!1,popoverProps:{minimal:!0,position:dn.a.BOTTOM_RIGHT}},l.a.createElement(c.c,{small:!0,minimal:!0,intent:"primary",rightIcon:"caret-down",text:"Apply as..."}));var yd=({isOpen:e,domain:t,onClose:a,onApply:r})=>{var o,i,s;const[u,m]=Object(n.useState)(t),[d,p]=Object(n.useState)(null),[b,h]=Object(n.useState)(!1),[g,f]=Object(n.useState)(""),[y,v]=Object(n.useState)({}),[E,O]=Object(n.useState)({}),[w,C]=Object(n.useState)(!1);Object(n.useEffect)(()=>{e&&m(t)},[e,t]);const N=Object(n.useCallback)(e=>pd(null,null,(function*(){const t=(null!=e?e:u).toLowerCase().trim();if(t){h(!0),f(""),p(null),v({}),O({});try{const e=yield Ae.a.get("/api/hubs/brand-helper?domain="+encodeURIComponent(t));p(e)}catch(e){f((null==e?void 0:e.message)||"Failed to fetch brand assets")}finally{h(!1)}}})),[u]),j=Object(n.useCallback)(()=>{p(null),f(""),v({}),O({}),C(!1),t&&N(t)},[t,N]),k=(e,t)=>pd(null,null,(function*(){O(t=>dd(md({},t),{[e.url]:!0}));try{const n=yield(a=e.url,new Promise((e,t)=>
1pd(null,null,(function*(){var n;try{let t,l="png";if(a.startsWith("data:")){const e=yield fetch(a);t=yield e.blob(),l="svg"}else{const e="/api/hubs/brand-helper/proxy-image?url="+encodeURIComponent(a),r=yield fetch(e);if(!r.ok)throw new Error("Proxy returned "+r.status);t=yield r.blob(),l=(null==(n=a.split(/[#?]/)[0].split(".").pop())?void 0:n.toLowerCase())||"png"}const r=new File([t],"brand-import."+l,{type:t.type||"image/png"});Object(nd.a)(r,()=>{},(t,a,n,l)=>{e("https://assets.pubpub.org/"+l)})}catch(e){t(e)}}))));r(t,n),v(a=>dd(md({},a),{[e.url]:t}))}catch(e){}finally{O(t=>dd(md({},t),{[e.url]:!1}))}var a})),S=(e,t)=>{r(t,e.url),v(a=>dd(md({},a),{[e.url]:t}))},P=null!=(o=null==d?void 0:d.assets.filter(e=>"image"===e.type))?o:[],D=null!=(i=null==d?void 0:d.assets.filter(e=>"color"===e.type))?i:[],I=null!=(s=null==d?void 0:d.assets.filter(e=>"text"===e.type))?s:[];return l.a.createElement(c.j,{isOpen:e,onClose:a,onOpening:j,title:"Import from Site",className:"brand-helper-dialog",style:{width:960}},l.a.createElement("div",{className:Le.a.DIALOG_BODY}
1,l.a.createElement("div",{className:"brand-domain-input"},l.a.createElement(c.i,{fill:!0},l.a.createElement(c.r,{placeholder:"Enter a domain, e.g. mit.edu",value:u,onChange:e=>m(e.target.value),onKeyDown:e=>"Enter"===e.key&&N(),leftIcon:"globe"}),l.a.createElement(c.c,{intent:"primary",text:"Fetch",icon:"search",onClick:()=>N(),loading:b,disabled:!u.trim()}))),b&&l.a.createElement(c.v,{icon:l.a.createElement(c.F,{size:32}),title:"Scanning website..."}),g&&l.a.createElement(c.v,{icon:"error",title:"Could not fetch brand",description:g,action:l.a.createElement(c.c,{text:"Retry",onClick:()=>N()})}),d&&!b&&l.a.createElement("div",{className:"brand-results"},d.siteTitle&&l.a.createElement("div",{className:"brand-site-title"},"Site: ",l.a.createElement("strong",null,d.siteTitle)),I.length>0&&l.a.createElement("div",{className:"brand-section"},l.a.createElement("h4",null,"Text"),l.a.createElement("div",{className:"brand-text-list"},I.map(e=>{var t,a;return l.a.createElement("div",{key:`${e.label}:${e.url}`,className:"brand-text-row"},l.a.createElement("div",{className:"brand-text-content"},l.a.createElement("span",{className:"brand-asset-label"},e.label),l.a.createElement("span",{className:"brand-text-value"},e.url)),y[e.url]?l.a.createElement(c.J,{minimal:!0,intent:"success",icon:"tick",className:"brand-applied-tag"},null!=(a=null==(t=gd.find(t=>t.key===y[e.url]))?void 0:t.label)?a:y[e.url]):l.a.createElement(fd,{targets:gd,onSelect:t=>S(e,t)}))}))),P.length>0&&l.a.createElement("div",{className:"brand-section"},l.a.createElement("h4",null,"Images"),l.a.createElement("div",{className:"brand-image-grid"},P.map(e=>{var t,a;return l.a.createElement("div",{key:e.url,className:"brand-image-card"},l.a.createElement("div",{className:"brand-image-preview"}," "," ",l.a.createElement("img",{src:e.url,alt:e.label,onError:e=>{e.target.style.display="none"}})),l.a.createElement("div",{className:"brand-image-meta"},l.a.createElement("span",{className:"brand-asset-label"},e.label),E[e.url]?l.a.createElement(c.J,{minimal:!0,intent:"primary",icon:l.a.createElement(c.F,{size:12})},"Uploading..."):y[e.url]?l.a.createElement(c.J,{minimal:!0,intent:"success",icon:"tick"},null!=(a=null==(t=bd.find(t=>t.key===y[e.url]))?void 0:t.label)?a:y[e.url]):l.a.createElement(fd,{targets:bd,onSelect:t=>k(e,t)})))}))),D.length>0&&l.a.createElement("div",{className:"brand-section"},l.a.createElement("h4",null,"Colors (",D.length,")"),l.a.createElement("div",{className:"brand-color-list"},(w?D:D.slice(0,10)).map(e=>{var t,a;return l.a.createElement("div",{key:`${e.label}:${e.url}`,className:"brand-color-row"},l.a.createElement("span",{className:"brand-color-swatch",style:{background:e.url}}),l.a.createElement("code",{className:"brand-color-value"},e.url),l.a.createElement("span",{className:"brand-asset-label"},e.label),l.a.createElement("div",{className:"brand-color-action"},y[e.url]?l.a.createElement(c.J,{minimal:!0,intent:"success",icon:"tick"},null!=(a=null==(t=hd.find(t=>t.key===y[e.url]))?void 0:t.label)?a:y[e.url]):l.a.createElement(fd,{targets:hd,onSelect:t=>S(e,t)})))})),!w&&D.length>10&&l.a.createElement(c.c,{small:!0,minimal:!0,intent:"primary",icon:"more",text:`Show all (${D.length-10} more)`,onClick:()=>C(!0),style:{marginTop:6}})),0===P.length&&0===D.length&&0===I.length&&l.a.createElement(c.v,{icon:"search",title:"No brand assets found",description:`Could not extract assets from ${u}.`}))),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{text:"Done",onClick:a}))))};const vd="#5c7080",Ed="rgba(92,112,128,0.35)",Od="#d9822b",wd="#9179f2",Cd=(e,t)=>t?"person:slug:"+t:"person:name:"+e;var Nd=({data:e,showPubs:t,showPeople:a})=>{const[r,o]=Object(n.useState)(null),[i,s]=Object(n.useState)(null),c=Object(n.useMemo)(()=>{const n=new Map;let l=40;for(const t of e.communities)n.set(t.id,l),l+=26;const r=new Map;let o=40;if(t)for(const t of e.communities){const a=t.id.replace("community:",""),n=e.communityPubs.get(a)||[];for(const e of n)r.set("pub:"+e,o),o+=22;n.length>0&&(o+=6)}const i=new Map;let s=40;if(a){const t=[...e.people].sort((e,t)=>
1{const a={both:0,manager:1,author:2},n=a[e.role||"author"]||2,l=a[t.role||"author"]||2;return n!==l?n-l:e.label.localeCompare(t.label)});for(const e of t)i.set(e.id,s),s+=22}return{communityY:n,pubY:r,personY:i,height:Math.max(l,o,s)+40,width:a?820:t?520:260}},[e,t,a]),u=Object(n.useMemo)(()=>{const t=i||r;if(!t)return new Set;const a=new Set([t]);for(const n of e.links)n.source===t&&a.add(n.target),n.target===t&&a.add(n.source);return a},[e.links,i,r]),m=Object(n.useCallback)(e=>{s(t=>t===e?null:e)},[]),d=i||r,p=t?280:-1,b=t?580:a?280:-1,h=Object(n.useMemo)(()=>{const n=[];for(const l of e.links){let e,r,o,i;if("pub-community"===l.type&&t){const t=c.communityY.get(l.target),a=c.pubY.get(l.source);if(null==t||null==a)continue;e=230,r=t+11,o=p+10,i=a+11}else if("person-pub"===l.type&&t&&a){const t=c.pubY.get(l.target),a=c.personY.get(l.source);if(null==t||null==a)continue;e=p+220-10,r=t+11,o=b+10,i=a+11}else{if("person-community"!==l.type||!a)continue;{const t=c.communityY.get(l.target),a=c.personY.get(l.source);if(null==t||null==a)continue;e=230,r=t+11,o=b+10,i=a+11}}const s=(e+o)/2,m=`M${e},${r} C${s},${r} ${s},${i} ${o},${i}`,h=d&&u.has(l.source)&&u.has(l.target)?"rgba(19,124,189,0.35)":d?"rgba(0,0,0,0.02)":"person-community"===l.type?"rgba(145,121,242,0.15)":"rgba(92,112,128,0.06)";n.push({d:m,color:h,sourceId:l.source,targetId:l.target})}return n},[e.links,c,t,a,d,u,p,b]);return l.a.createElement("div",{className:"hub-graph-container",style:{overflow:"auto"}},l.a.createElement("svg",{width:c.width,height:c.height,style:{display:"block",fontFamily:"sans-serif"}},l.a.createElement("text",{x:30,y:24,fontSize:12,fontWeight:"bold",fill:"#394b59"},"Communities (",e.communities.length,")"),t&&l.a.createElement("text",{x:p+10,y:24,fontSize:12,fontWeight:"bold",fill:"#394b59"},"Pubs (",e.pubs.length,")"),a&&l.a.createElement("text",{x:b+10,y:24,fontSize:12,fontWeight:"bold",fill:"#394b59"},"People (",e.people.length,")"),l.a.createElement("g",null,h.map((e,t)=>l.a.createElement("path",{key:t,d:e.d,fill:"none",stroke:e.color,strokeWidth:1}))),e.communities.map(e=>{const t=c.communityY.get(e.id);if(null==t)return null;const a=d===e.id,n=u.has(e.id),r=d&&!a&&!n;return l.a.createElement("g",{key:e.id,role:"button",tabIndex:0,opacity:r?.2:1,style:{cursor:"pointer"},onMouseEnter:()=>o(e.id),onMouseLeave:()=>o(null),onClick:()=>m(e.id)},l.a.createElement("circle",{cx:36,cy:t+11,r:6,fill:vd,stroke:a?vd:"rgba(0,0,0,0.1)",strokeWidth:a?2:.5}),l.a.createElement("circle",{cx:36,cy:t+11,r:3.5,fill:e.accentColor||"#137cbd"}),l.a.createElement("text",{x:48,y:t+11,fontSize:11,fill:"#394b59",dominantBaseline:"central",fontWeight:a?"bold":"normal"},e.label.length>28?e.label.slice(0,26)+"…":e.label),null!=e.pubCount&&l.a.createElement("text",{x:230,y:t+11,fontSize:9,fill:"#8a9ba8",dominantBaseline:"central",textAnchor:"end"},e.pubCount))}),t&&e.pubs.map(e=>{const t=c.pubY.get(e.id);if(null==t)return null;const a=d===e.id,n=u.has(e.id),r=d&&!a&&!n;return l.a.createElement("g",{key:e.id,role:"button",tabIndex:0,opacity:r?.15:1,style:{cursor:"pointer"},onMouseEnter:()=>o(e.id),onMouseLeave:()=>o(null),onClick:()=>m(e.id)},l.a.createElement("circle",{cx:p+10+4,cy:t+11,r:2.5,fill:a?"#394b59":Ed}),l.a.createElement("text",{x:p+10+12,y:t+11,fontSize:10,fill:r?"#aaa":"#5c7080",dominantBaseline:"central"},e.label.length>30?e.label.slice(0,28)+"…":e.label))}),a&&e.people.map(e=>{const t=c.personY.get(e.id);if(null==t)return null;const a=d===e.id,n=u.has(e.id),r=d&&!a&&!n,i="manager"===e.role||"both"===e.role?wd:Od;return l.a.createElement("g",{key:e.id,role:"button",tabIndex:0,opacity:r?.15:1,style:{cursor:"pointer"},onMouseEnter:()=>o(e.id),onMouseLeave:()=>o(null),onClick:()=>m(e.id)},l.a.createElement("circle",{cx:b+10+4,cy:t+11,r:3,fill:a?"#fff":i,stroke:a?i:"none",strokeWidth:a?1.5:0}),l.a.createElement("text",{x:b+10+12,y:t+11,fontSize:10,fill:r?"#aaa":"#5c7080",dominantBaseline:"central"},e.label),e.role&&l.a.createElement("text",{x:b+220-10,y:t+11,fontSize:8,fill:"#8a9ba8",dominantBaseline:"central",textAnchor:"end"},e.role))})))},jd=a(1577),kd=a(1570),Sd=Math.pow;var Pd=({data:e,showPubs:t,showPeople:a})=>{const r=Object(n.useRef)(null),o=Object(n.useRef)(null),[i,s]=Object(n.useState)(null),[c,u]=Object(n.useState)(null),[m,d]=Object(n.useState)({width:800,height:600});Object(n.useEffect)(()=>{const e=r.current;if(!e)return;const t=new ResizeObserver(e=>{const t=e[0];t&&d({width:t.contentRect.width,height:t.contentRect.height})});return t.observe(e),()=>t.disconnect()},[]);const p=Object(n.useMemo)(()=>{const n={name:"root",id:"root",type:"community",children:[]};for(const l of e.communities){const r={name:l.label,id:l.id,type:"community",accentColor:l.accentColor,pubCount:l.pubCount,children:[]},o=l.id.replace("community:","");if(t){const t=e.communityPubs.get(o)||[];for(const a of t){const t=e.pubs.find(e=>e.id==="pub:"+a);t&&r.children.push({name:t.label,id:t.id,type:"pub"})}}if(a)for(const t of e.people){const a=e.personCommunities.get(t.id);
1if(null==a?void 0:a.has(o)){[...a].sort()[0]===o&&r.children.push({name:t.label,id:t.id,type:"person",role:t.role})}}0===r.children.length&&r.children.push({name:"",id:"_pad:"+l.id,type:"pub"}),n.children.push(r)}const l=Object(jd.a)(n),r=Math.min(m.width,m.height),o=r/2-100;Object(kd.a)().size([2*Math.PI,o]).separation(()=>1)(l);const i=new Map;for(const e of l.leaves()){const t=e.data;if(t.id.startsWith("_pad:"))continue;const a=e.x,n=e.y;i.set(t.id,{x:n*Math.cos(a-Math.PI/2),y:n*Math.sin(a-Math.PI/2),angle:a})}for(const e of l.descendants().filter(e=>1===e.depth)){const t=e.x,a=o+16;i.set(e.data.id,{x:a*Math.cos(t-Math.PI/2),y:a*Math.sin(t-Math.PI/2),angle:t})}const s=[];if(a)for(const t of e.people){const a=e.personCommunities.get(t.id);if(a&&!(a.size<2)&&i.has(t.id))for(const e of a){const a="community:"+e;i.has(a)&&s.push({source:t.id,target:a})}}return{hierarchy:l,posMap:i,edges:s,radius:o,size:r}},[e,t,a,m]),b=Object(n.useCallback)(()=>{const e=o.current;if(!e)return;const t=e.getContext("2d");if(!t)return;const{hierarchy:a,posMap:n,edges:l,size:r}=p,s=window.devicePixelRatio||1;e.width=r*s,e.height=r*s,e.style.width=r+"px",e.style.height=r+"px",t.scale(s,s);const c=r/2,u=r/2;t.clearRect(0,0,r*s,r*s),t.save(),t.translate(c,u);for(const e of l){const a=n.get(e.source),l=n.get(e.target);if(!a||!l)continue;const r=(1-.7)*(a.x+l.x)/2,o=(1-.7)*(a.y+l.y)/2;t.beginPath(),t.moveTo(a.x,a.y),t.quadraticCurveTo(r,o,l.x,l.y);const s=i===e.source||i===e.target;t.strokeStyle=s?"rgba(19,124,189,0.5)":i?"rgba(0,0,0,0.02)":"rgba(145,121,242,0.18)",t.lineWidth=s?2:.7,t.stroke()}for(const e of a.leaves()){const a=e.data;if(a.id.startsWith("_pad:"))continue;const l=n.get(a.id);if(!l)continue;const r=i===a.id;if("pub"===a.type)t.beginPath(),t.arc(l.x,l.y,2,0,2*Math.PI),t.fillStyle=r?"#394b59":Ed,t.fill();else if("person"===a.type){const e="manager"===a.role?wd:Od;t.beginPath(),t.arc(l.x,l.y,3,0,2*Math.PI),t.fillStyle=r?"#fff":e,t.fill(),r&&(t.strokeStyle=e,t.lineWidth=1.5,t.stroke())}}for(const e of a.descendants().filter(e=>1===e.depth)){const a=e.data,l=n.get(a.id);if(!l)continue;const r=i===a.id;t.beginPath(),t.arc(l.x,l.y,6,0,2*Math.PI),t.fillStyle=r?"#fff":vd,t.fill(),t.strokeStyle=r?vd:"rgba(0,0,0,0.15)",t.lineWidth=r?2:.5,t.stroke(),t.beginPath(),t.arc(l.x,l.y,3.5,0,2*Math.PI),t.fillStyle=a.accentColor||"#137cbd",t.fill(),t.save(),t.translate(l.x,l.y);const o=l.angle-Math.PI/2,s=o>Math.PI/2&&o<3*Math.PI/2;t.rotate(s?o+Math.PI:o),t.font="10px sans-serif",t.textAlign=s?"right":"left",t.textBaseline="middle",t.fillStyle="#394b59";const c=s?-11:11,u=a.name.length>28?a.name.slice(0,26)+"…":a.name;t.fillText(u,c,0),t.restore()}t.restore()},[p,i]);Object(n.useEffect)(()=>{b()},[b]);const h=Object(n.useCallback)(t=>{const a=o.current;if(!a)return;const n=a.getBoundingClientRect(),{size:l,posMap:r}=p,i=l/n.width,c=(t.clientX-n.left)*i-l/2,m=(t.clientY-n.top)*i-l/2;let d=null;for(const[t,a]of r){const n=Math.sqrt(Sd(c-a.x,2)+Sd(m-a.y,2));if(n<(t.startsWith("community:")?12:8)&&(!d||n<d.dist)){const a=e.nodes.find(e=>e.id===t);a&&(d={id:t,dist:n,node:a})}}d?(s(d.id),u({x:t.clientX-n.left,y:t.clientY-n.top,node:d.node})):(s(null),u(null))},[p,e]),g=Object(n.useCallback)(()=>{s(null),u(null)},[]);return l.a.createElement("div",{className:"hub-graph-container",ref:r},l.a.createElement("canvas",{ref:o,style:{display:"block",margin:"0 auto"},onMouseMove:h,onMouseLeave:g}),c&&l.a.createElement("div",{className:"hub-graph-info",style:{left:c.x+12,top:c.y-10,position:"absolute"}},l.a.createElement("div",{className:"hub-graph-info-title"},l.a.createElement("strong",null,c.node.label)),l.a.createElement("div",{className:"hub-graph-info-meta"},c.node.type,c.node.role?" · "+c.node.role:"",null!=c.node.pubCount?` · ${c.node.pubCount.toLocaleString()} pubs`:"")))},Dd=Object.defineProperty,Id=Object.getOwnPropertySymbols,Td=Object.prototype.hasOwnProperty,xd=Object.prototype.propertyIsEnumerable,Ad=(e,t,a)=>t in e?Dd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Md=(e,t)=>{for(var a in t||(t={}))Td.call(t,a)&&Ad(e,a,t[a]);
1if(Id)for(var a of Id(t))xd.call(t,a)&&Ad(e,a,t[a]);return e};const Ld={"pub-community":"rgba(92,112,128,0.15)","person-pub":"rgba(217,130,43,0.25)","person-community":"rgba(145,121,242,0.25)"};var Rd=({data:e,showPubs:t,showPeople:r})=>{const o=Object(n.useRef)(null),i=Object(n.useRef)(void 0),[s,u]=Object(n.useState)(null),[m,d]=Object(n.useState)({width:800,height:600}),[p,b]=Object(n.useState)(null),[h,g]=Object(n.useState)(new Set);Object(n.useEffect)(()=>{let e=!1;return a.e(0).then(a.bind(null,1573)).then(t=>{e||u(()=>t.default)}),()=>{e=!0}},[]),Object(n.useEffect)(()=>{const e=o.current;if(!e)return;const t=new ResizeObserver(e=>{const t=e[0];t&&d({width:t.contentRect.width,height:Math.max(t.contentRect.height,500)})});return t.observe(e),()=>t.disconnect()},[]);const f=Object(n.useMemo)(()=>{const a=new Set(["community"]);t&&a.add("pub"),r&&a.add("person");const n=new Set(e.nodes.filter(e=>a.has(e.type)).map(e=>e.id));return{nodes:e.nodes.filter(e=>n.has(e.id)),links:e.links.filter(e=>n.has(e.source)&&n.has(e.target))}},[e,t,r]),y=Object(n.useMemo)(()=>({nodes:f.nodes.map(e=>Md({},e)),links:f.links.map(e=>Md({},e))}),[f]),v=Object(n.useMemo)(()=>{const e=new Map;for(const t of f.links){const a="string"==typeof t.source?t.source:t.source.id,n="string"==typeof t.target?t.target:t.target.id;e.has(a)||e.set(a,new Set),e.has(n)||e.set(n,new Set),e.get(a).add(n),e.get(n).add(a)}return e},[f]),E=Object(n.useCallback)(e=>{const t=e.id;p===t?(b(null),g(new Set)):(b(t),g(v.get(t)||new Set))},[p,v]),O=Object(n.useCallback)(()=>{b(null),g(new Set)},[]),w=Object(n.useCallback)((e,t,a)=>{const n=e,l=e.id,r=p===l,o=h.has(l),i=null!==p&&!r&&!o;t.globalAlpha=i?.1:1;const s="community"===n.type&&n.pubCount?Math.log2(n.pubCount+1):0,c="community"===n.type?4+1.2*s:"pub"===n.type?3:"both"===n.role?5.5:"manager"===n.role?5:4.5;if("community"===n.type){t.beginPath(),t.arc(e.x,e.y,c,0,2*Math.PI),t.fillStyle=r?"#fff":vd,t.fill(),t.strokeStyle=r?vd:"rgba(0,0,0,0.12)",t.lineWidth=r?2:.5,t.stroke();const a=.55*c;t.beginPath(),t.arc(e.x,e.y,a,0,2*Math.PI),t.fillStyle=n.accentColor||"#137cbd",t.fill()}else if("pub"===n.type)t.beginPath(),t.arc(e.x,e.y,c,0,2*Math.PI),t.fillStyle=r?"#394b59":Ed,t.fill();else{const a="manager"===n.role?wd:Od;t.beginPath(),t.arc(e.x,e.y,c,0,2*Math.PI),t.fillStyle=r?"#fff":a,t.fill(),r&&(t.strokeStyle=a,t.lineWidth=1.5,t.stroke())}const u="community"===n.type,m="person"===n.type;if(u||r||o&&(u||m)||m&&a>2.5||a>4){const l=u?Math.max(11/a,2):Math.max(9/a,1.5);t.font=l+"px sans-serif",t.textAlign="center",t.textBaseline="top",t.fillStyle=i?"rgba(0,0,0,0.1)":"#394b59";const r=u?35:25,o=n.label.length>r?n.label.slice(0,r-2)+"…":n.label;t.fillText(o,e.x,e.y+c+1.5)}t.globalAlpha=1},[p,h]),C=Object(n.useCallback)(e=>{var t,a;if(null===p)return Ld[e.type]||Ld["pub-community"];const n="string"==typeof e.source?e.source:null==(t=e.source)?void 0:t.id,l="string"==typeof e.target?e.target:null==(a=e.target)?void 0:a.id;return n===p||l===p?"rgba(19,124,189,0.55)":"rgba(0,0,0,0.02)"},[p]),N=Object(n.useCallback)(e=>"person-community"===e.type?1.2:.8,[]);return Object(n.useEffect)(()=>{var e,t,a;const n=i.current;n&&(null==(e=n.d3Force("charge"))||e.strength(-120).distanceMax(300),null==(t=n.d3Force("link"))||t.distance(e=>"pub-community"===e.type?20:"person-pub"===e.type?30:60),null==(a=n.d3Force("center"))||a.strength(.05),n.d3ReheatSimulation())},[s,y]),Object(n.useEffect)(()=>{const e=setTimeout(()=>{var e;null==(e=i.current)||e.zoomToFit(600,40)},1500);return()=>clearTimeout(e)},[]),l.a.createElement("div",{className:"hub-graph-container",ref:o},p&&l.a.createElement("div",{className:"hub-graph-info"},(()=>{const e=f.nodes.find(e=>e.id===p);if(!e)return null;const t=[...h].map(e=>f.nodes.find(t=>t.id===e)).filter(Boolean),a=e=>t.filter(t=>t.type===e);return l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"hub-graph-info-title"},l.a.createElement("strong",null,e.label)),"community"===e.type&&null!=e.pubCount&&l.a.createElement("div",{className:"hub-graph-info-meta"},e.pubCount.toLocaleString()," pubs total"),"person"===e.type&&e.role&&l.a.createElement("div",{className:"hub-graph-info-meta"},e.role),a("community").length>0&&l.a.createElement("div",{className:"hub-graph-info-connections"},a("community").length," communit",1!==a("community").length?"ies":"y",l.a.createElement("ul",{className:"hub-graph-info-list"},a("community").slice(0,6).map(e=>l.a.createElement("li",{key:e.id},e.label)))),a("pub").length>0&&l.a.createElement("div",{className:"hub-graph-info-connections"},a("pub").length," pub",1!==a("pub").length?"s":""),a("person").length>0&&l.a.createElement("div",{className:"hub-graph-info-connections"},a("person").length," ",1!==a("person").length?"people":"person"))})()),s?l.a.createElement(s,{ref:i,graphData:y,width:m.width,height:m.height,nodeCanvasObject:w,nodePointerAreaPaint:(e,t,a)=>{a.beginPath(),a.arc(e.x,e.y,6,0,2*Math.PI),a.fillStyle=t,a.fill()}
1,linkColor:C,linkWidth:N,onNodeClick:E,onBackgroundClick:O,cooldownTicks:200,enableNodeDrag:!0,d3AlphaDecay:.02,d3VelocityDecay:.3}):l.a.createElement(c.v,{icon:l.a.createElement(c.F,{size:30}),title:"Loading graph…"}))};var Fd=({data:e})=>{const[t,a]=Object(n.useState)(null),[r,o]=Object(n.useState)(null),i=Object(n.useMemo)(()=>{const t=e.communities,a=t.length,n=Array.from({length:a},()=>new Array(a).fill(0)),l=Array.from({length:a},()=>Array.from({length:a},()=>[])),r=new Map;for(let e=0;e<t.length;e++)r.set(t[e].id.replace("community:",""),e);for(const[t,a]of e.communityOverlap){const[e,o]=t.split("|"),i=r.get(e),s=r.get(o);null!=i&&null!=s&&(n[i][s]=a.length,n[s][i]=a.length,l[i][s]=a,l[s][i]=a)}for(let l=0;l<a;l++){const a=t[l].id.replace("community:","");let r=0;for(const[,t]of e.personCommunities)t.has(a)&&r++;n[l][l]=r}let o=1;for(let e=0;e<a;e++)for(let t=0;t<a;t++)e!==t&&n[e][t]>o&&(o=n[e][t]);return{communities:t,cells:n,cellNames:l,maxVal:o,n:a}},[e]),s=r||t,c=Object(n.useCallback)((e,t)=>{o(a=>a&&a.row===e&&a.col===t?null:{row:e,col:t})},[]),u=180+28*i.n+20,m=200+28*i.n+40;return l.a.createElement("div",{className:"hub-graph-container",style:{overflow:"auto"}},l.a.createElement("svg",{width:u,height:m,style:{display:"block",fontFamily:"sans-serif"}},i.communities.map((e,t)=>{const a=180+28*t+14,n=s&&(s.col===t||s.row===t);return l.a.createElement("g",{key:"ch-"+e.id},l.a.createElement("text",{x:0,y:0,transform:`translate(${a}, 192) rotate(-55)`,fontSize:10,fill:n?"#137cbd":"#394b59",fontWeight:n?"bold":"normal",textAnchor:"start",dominantBaseline:"central"},e.label.length>24?e.label.slice(0,22)+"…":e.label),l.a.createElement("circle",{cx:a,cy:200,r:3,fill:e.accentColor||"#137cbd"}))}),i.communities.map((e,t)=>{const n=208+28*t,r=s&&(s.row===t||s.col===t);return l.a.createElement("g",{key:"row-"+e.id},l.a.createElement("circle",{cx:170,cy:n+14,r:3,fill:e.accentColor||"#137cbd"}),l.a.createElement("text",{x:162,y:n+14,fontSize:10,fill:r?"#137cbd":"#394b59",fontWeight:r?"bold":"normal",textAnchor:"end",dominantBaseline:"central"},e.label.length>22?e.label.slice(0,20)+"…":e.label),i.cells[t].map((e,r)=>{const o=180+28*r,u=t===r,m=s&&s.row===t&&s.col===r,d=s&&(s.row===t||s.col===r);let p;if(0!==e||u)if(u)p=`rgba(92,112,128,${Math.min(e/30,.4)+.05})`;else{p=`rgba(19,124,189,${.7*Math.min(e/i.maxVal,1)+.05})`}else p="#f5f8fa";return l.a.createElement("g",{key:r,role:"button",tabIndex:0,style:{cursor:e>0?"pointer":"default"},onMouseEnter:()=>a({row:t,col:r}),onMouseLeave:()=>a(null),onClick:()=>e>0&&c(t,r)},l.a.createElement("rect",{x:o+1,y:n+1,width:26,height:26,rx:3,fill:p,stroke:m?"#137cbd":d?"rgba(19,124,189,0.3)":"rgba(0,0,0,0.04)",strokeWidth:m?2:.5}),e>0&&l.a.createElement("text",{x:o+14,y:n+14,fontSize:e>99?7:9,fill:e/i.maxVal>.5&&!u?"#fff":"#5c7080",textAnchor:"middle",dominantBaseline:"central"},e))}))})),s&&i.cells[s.row][s.col]>0&&l.a.createElement("div",{className:"hub-graph-info",style:{position:"sticky",bottom:0}},l.a.createElement("div",{className:"hub-graph-info-title"},s.row===s.col?l.a.createElement("strong",null,i.communities[s.row].label):l.a.createElement("strong",null,i.communities[s.row].label," ↔"," ",i.communities[s.col].label)),l.a.createElement("div",{className:"hub-graph-info-meta"},s.row===s.col?i.cells[s.row][s.col]+" people in this community":i.cells[s.row][s.col]+" shared people"),s.row!==s.col&&i.cellNames[s.row][s.col].length>0&&l.a.createElement("ul",{className:"hub-graph-info-list"},i.cellNames[s.row][s.col].slice(0,10).map(e=>l.a.createElement("li",{key:e},e)),i.cellNames[s.row][s.col].length>10&&l.a.createElement("li",null,"…and ",i.cellNames[s.row][s.col].length-10," ","more"))))};const Ud=6,Bd=2.5,zd=3.5;var $d=({data:e,showPubs:t,showPeople:a})=>{const[r,o]=Object(n.useState)(()=>new Set(e.communities.map(e=>e.id))),[i,s]=Object(n.useState)(null),[c,u]=Object(n.useState)(null),m=Object(n.useCallback)(e=>{o(t=>{const a=new Set(t);return a.has(e)?a.delete(e):a.add(e),a})},[]),d=Object(n.useMemo)(()=>{const t=c||i;if(!t)return new Set;const a=new Set([t]);for(const n of e.links)n.source===t&&a.add(n.target),n.target===t&&a.add(n.source);return a},[e.links,c,i]),p=Object(n.useMemo)(()=>{const n=[];for(const l of e.communities){const o=l.id.replace("community:",""),i=r.has(l.id),s=t&&e.communityPubs.get(o)||[],c=a?e.people.filter(t=>{var a;return null==(a=e.personCommunities.get(t.id))?void 0:a.has(o)}):[],u=s.length+c.length;if(n.push({node:l,depth:0,expanded:i,childCount:u}),!i)continue;const m=c.filter(e=>"manager"===e.role||"both"===e.role);for(const e of m)n.push({node:e,depth:1,expanded:!1,childCount:0});for(const t of s){const l=e.pubs.find(e=>e.id==="pub:"+t);if(l&&(n.push({node:l,depth:1,expanded:!1,childCount:0}),a)){const a=e.people.filter(a=>{var n;return"manager"!==a.role&&(null==(n=e.personPubs.get(a.id))?void 0:n.has(t))});for(const e of a)n.push({node:e,depth:2,expanded:!1,childCount:0})}}if(a){const t=c.filter(t=>"author"===t.role&&!m.includes(t)&&!s.some(a=>{var n;return null==(n=e.personPubs.get(t.id))?void 0:n.has(a)}));for(const e of t)n.push({node:e,depth:1,expanded:!1,childCount:0})}}return n},[e,r,t,a]),b=c||i,h=Object(n.useMemo)(()=>
1{if(!a)return[];const t=[];for(const a of e.people){const n=e.personCommunities.get(a.id);n&&n.size>=2&&t.push({personId:a.id,personLabel:a.label,communityIds:[...n]})}return t},[e,a]),g=24*p.length+60;return l.a.createElement("div",{className:"hub-graph-container",style:{overflow:"auto"}},l.a.createElement("svg",{width:700,height:g,style:{display:"block",fontFamily:"sans-serif"}},p.map((e,t)=>{if(0===e.depth)return null;const a=20+24*e.depth-12,n=30+24*t+12;return l.a.createElement("g",{key:"line-"+t},l.a.createElement("line",{x1:a,y1:n,x2:a+12-4,y2:n,stroke:"rgba(0,0,0,0.08)",strokeWidth:1}),t>0&&p[t-1].depth<=e.depth&&l.a.createElement("line",{x1:a,y1:30+24*(t-1)+12,x2:a,y2:n,stroke:"rgba(0,0,0,0.08)",strokeWidth:1}))}),p.map((e,t)=>{var a;const n=20+24*e.depth,r=30+24*t,{node:o}=e,i=b===o.id,c=d.has(o.id),p=b&&!i&&!c;let h=vd,g=Ud;return"pub"===o.type?(h=Ed,g=Bd):"person"===o.type&&(h="manager"===o.role||"both"===o.role?wd:Od,g=zd),l.a.createElement("g",{key:o.id,role:"button",tabIndex:0,opacity:p?.2:1,style:{cursor:"pointer"},onMouseEnter:()=>s(o.id),onMouseLeave:()=>s(null),onClick:()=>{"community"===o.type?m(o.id):u(e=>e===o.id?null:o.id)}},"community"===o.type&&l.a.createElement("text",{x:n-10,y:r+12,fontSize:10,fill:"#8a9ba8",dominantBaseline:"central",textAnchor:"middle"},e.expanded?"▾":"▸"),"community"===o.type?l.a.createElement(l.a.Fragment,null,l.a.createElement("circle",{cx:n+6,cy:r+12,r:g,fill:vd,stroke:i?vd:"rgba(0,0,0,0.1)",strokeWidth:i?2:.5}),l.a.createElement("circle",{cx:n+6,cy:r+12,r:3.5,fill:o.accentColor||"#137cbd"})):l.a.createElement("circle",{cx:n+6,cy:r+12,r:g,fill:i?"#fff":h,stroke:i?h:"none",strokeWidth:i?1.5:0}),l.a.createElement("text",{x:n+18,y:r+12,fontSize:"community"===o.type?12:10,fill:i?"#137cbd":"#394b59",fontWeight:"community"===o.type||i?"bold":"normal",dominantBaseline:"central"},o.label.length>50?o.label.slice(0,48)+"…":o.label),"community"===o.type&&l.a.createElement("text",{x:n+18,y:r+12,dx:6.5*Math.min(o.label.length,50)+8,fontSize:9,fill:"#8a9ba8",dominantBaseline:"central"},null==(a=o.pubCount)?void 0:a.toLocaleString()," pubs · ",e.childCount," items"),"person"===o.type&&o.role&&l.a.createElement("text",{x:n+18,y:r+12,dx:5.5*o.label.length+8,fontSize:8,fill:"#8a9ba8",dominantBaseline:"central"},o.role))}),h.length>0&&l.a.createElement("g",null,h.map(e=>{const t=p.findIndex(t=>t.node.id===e.personId);if(t<0)return null;const a=b===e.personId;if(b&&!a)return null;const n=30+24*t+12;return l.a.createElement("g",{key:e.personId},e.communityIds.map(e=>{const t=p.findIndex(t=>t.node.id==="community:"+e);if(t<0)return null;const r=30+24*t+12;return l.a.createElement("line",{key:e,x1:670,y1:n,x2:670,y2:r,stroke:"rgba(145,121,242,0.3)",strokeWidth:a?2:1,strokeDasharray:a?"none":"2,2"})}),l.a.createElement("circle",{cx:670,cy:n,r:3,fill:wd}))}))))};const _d={force:{label:"Force",icon:"layout-auto"},bundle:{label:"Bundle",icon:"layout-circle"},bipartite:{label:"Columns",icon:"layout-linear"},matrix:{label:"Matrix",icon:"grid-view"},tree:{label:"Tree",icon:"diagram-tree"}},Hd=["force","bundle","bipartite","matrix","tree"];var Vd=({orgData:e})=>{const[t,a]=Object(n.useState)("force"),[r,o]=Object(n.useState)(!0),[i,s]=Object(n.useState)(!0),u=Object(n.useRef)(null),[m,d]=Object(n.useState)(null),p=Object(n.useMemo)(()=>function(e){var t;const a=[],n=[],l=new Set(e.communityStats.map(e=>e.id)),r=new Map,o=new Map,i=new Map,s=new Map,c=(e,t)=>{const a=Cd(e,t);return r.has(a)||(r.set(a,{id:a,label:e,type:"person",role:"author"}),o.set(a,new Set),i.set(a,new Set),s.set(a,new Set)),a};for(const t of e.topAuthors){const e=c(t.name,t.slug);o.get(e).add("author");for(const a of t.communityIds)l.has(a)&&i.get(e).add(a)}for(const t of e.communityStats)if(t.managers)for(const e of t.managers){const a=c(e.name,e.slug);o.get(a).add("manager"),i.get(a).add(t.id)}for(const[e,t]of o){const a=r.get(e);t.has("author")&&t.has("manager")?a.role="both":t.has("manager")?a.role="manager":a.role="author"}const u=[];for(const t of e.communityStats){const e={id:"community:"+t.id,label:t.title,type:"community",accentColor:t.accentColorDark||"#137cbd",pubCount:t.pubCount};a.push(e),u.push(e)}const m=[],d=new Map;for(const t of e.communityStats)d.set(t.id,[]);for(const o of e.recentPubs){if(!l.has(o.communityId))continue;const e={id:"pub:"+o.id,label:o.title,type:"pub",communityId:o.communityId};
1if(a.push(e),m.push(e),null==(t=d.get(o.communityId))||t.push(o.id),n.push({source:"pub:"+o.id,target:"community:"+o.communityId,type:"pub-community"}),o.authors)for(const e of o.authors){const t=Cd(e.name,e.slug);r.has(t)&&(s.get(t).add(o.id),n.push({source:t,target:"pub:"+o.id,type:"person-pub"}))}}const p=[];for(const[e,t]of r)if(a.push(t),p.push(t),o.get(e).has("manager"))for(const t of i.get(e))l.has(t)&&n.push({source:e,target:"community:"+t,type:"person-community"});const b=new Map;for(const[e,t]of i){if(t.size<2)continue;const a=[...t],n=r.get(e).label;for(let e=0;e<a.length;e++)for(let t=e+1;t<a.length;t++){const l=(h=a[e],g=a[t],h<g?`${h}|${g}`:`${g}|${h}`);b.has(l)||b.set(l,[]),b.get(l).push(n)}}var h,g;return{nodes:a,links:n,communities:u,pubs:m,people:p,communityPubs:d,personCommunities:i,personPubs:s,communityOverlap:b}}(e),[e]),b=Object(n.useCallback)(()=>{const e=u.current;if(!e)return;const t=e.getBoundingClientRect(),a=window.innerHeight-t.top-16;d(Math.max(a,400))},[]);Object(n.useEffect)(()=>(b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)),[b]);const[h,g]=Object(n.useState)(!1),f="matrix"!==t;return l.a.createElement("div",{className:"hub-graph-tab"},l.a.createElement("div",{className:"hub-graph-controls"},l.a.createElement(c.d,null,Hd.map(e=>l.a.createElement(c.c,{key:e,icon:_d[e].icon,text:_d[e].label,active:t===e,onClick:()=>a(e),small:!0,minimal:t!==e}))),f&&l.a.createElement("div",{className:"hub-graph-toggles"},l.a.createElement(c.G,{checked:r,label:`Pubs (${p.pubs.length})`,onChange:()=>o(e=>!e),inline:!0,alignIndicator:"right"}),l.a.createElement(c.G,{checked:i,label:`People (${p.people.length})`,onChange:()=>s(e=>!e),inline:!0,alignIndicator:"right"})),l.a.createElement("div",{className:"hub-graph-legend"},l.a.createElement("span",{className:"hub-graph-legend-item"},l.a.createElement("span",{className:"hub-graph-legend-dot",style:{backgroundColor:vd}}),p.communities.length," Communities"),l.a.createElement("span",{className:"hub-graph-legend-item"},l.a.createElement("span",{className:"hub-graph-legend-dot",style:{backgroundColor:Ed}}),p.pubs.length," Pubs"),l.a.createElement("span",{className:"hub-graph-legend-item"},l.a.createElement("span",{className:"hub-graph-legend-dot",style:{backgroundColor:Od}}),"Authors"),l.a.createElement("span",{className:"hub-graph-legend-item"},l.a.createElement("span",{className:"hub-graph-legend-dot",style:{backgroundColor:wd}}),"Managers"),l.a.createElement(c.c,{icon:h?"tick":"clipboard",text:h?"Copied!":"JSON",onClick:()=>{const t=[...p.personCommunities.entries()].filter(([,e])=>e.size>=2).map(([e,t])=>{var a;const n=p.people.find(t=>t.id===e);return{name:null!=(a=null==n?void 0:n.label)?a:e,role:null==n?void 0:n.role,communityCount:t.size,communities:[...t].map(e=>{var t;const a=p.communities.find(t=>t.id==="community:"+e);return null!=(t=null==a?void 0:a.label)?t:e})}}),a={hub:{communityCount:e.communityStats.length,totalPubs:e.recentPubs.length,totalAuthors:e.topAuthors.length},communities:e.communityStats.map(e=>{var t;return{id:e.id,title:e.title,pubCount:e.pubCount,authorCount:e.authorCount,dataAccess:e.dataAccess,managers:(null==(t=e.managers)?void 0:t.map(e=>e.name))||[]}}),graph:{nodes:p.nodes.length,links:p.links.length,communities:p.communities.length,pubs:p.pubs.length,people:p.people.length,crossCommunityPeopleCount:t.length},crossCommunityPeople:t,communityOverlap:[...p.communityOverlap.entries()].map(([e,t])=>{var a,n;const[l,r]=e.split("|"),o=p.communities.find(e=>e.id==="community:"+l),i=p.communities.find(e=>e.id==="community:"+r);return{communities:[null!=(a=null==o?void 0:o.label)?a:l,null!=(n=null==i?void 0:i.label)?n:r],sharedPeople:t,count:t.length}}).sort((e,t)=>t.count-e.count)};navigator.clipboard.writeText(JSON.stringify(a,null,2)),g(!0),setTimeout(()=>g(!1),2e3)},small:!0,minimal:!0}))),l.a.createElement("div",{ref:u,className:"hub-graph-fill",style:m?{height:m}:void 0},"force"===t&&l.a.createElement(Rd,{data:p,showPubs:r,showPeople:i}),"bundle"===t&&l.a.createElement(Pd,{data:p,showPubs:r,showPeople:i}),"bipartite"===t&&l.a.createElement(Nd,{data:p,showPubs:r,showPeople:i}),"matrix"===t&&l.a.createElement(Fd,{data:p}),"tree"===t&&l.a.createElement($d,{data:p,showPubs:r,showPeople:i})))},qd=Object.defineProperty,Wd=Object.defineProperties,Gd=Object.getOwnPropertyDescriptors,Yd=Object.getOwnPropertySymbols,Kd=Object.prototype.hasOwnProperty,Jd=Object.prototype.propertyIsEnumerable,Qd=(e,t,a)=>t in e?qd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Zd=(e,t)=>{for(var a in t||(t={}))Kd.call(t,a)&&Qd(e,a,t[a]);if(Yd)for(var a of Yd(t))Jd.call(t,a)&&Qd(e,a,t[a]);return e},Xd=(e,t)=>Wd(e,Gd(t)),ep=e=>"symbol"==typeof e?e:e+"",tp=(e,t)=>{var a={};for(var n in e)Kd.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Yd)for(var n of Yd(e))t.indexOf(n)<0&&Jd.call(e,n)&&(a[n]=e[n]);return a},ap=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const np=({overrides:e,onChange:t,customCSS:a,onCustomCSSChange:n})=>{var r,o,i,s,u,m,d,p,b,h,g,f,y,v,E,O,w,C,N,j,k,S,P,D,I,T;const x=(a,n)=>{t(Xd(Zd({},e),{[a]:n}))},M=(a,n,l)=>{const r=e[a]||{title:"",url:""},o=Xd(Zd({},r),{[n]:l});o.title||o.url?t(Xd(Zd({},e),{[a]:o})):t(Xd(Zd({},e),{[a]:null}))};return l.a.createElement("div",{className:"overrides-form"},l.a.createElement("div",{className:"section-label"},"Colors"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Dark Accent Color"),l.a.createElement("div",{className:"field-input"}
1,l.a.createElement(A.o,{value:e.accentColorDark||"#112233",onChange:e=>x("accentColorDark",e.hex)}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Light Accent Color"),l.a.createElement("div",{className:"field-input"},l.a.createElement(A.o,{value:e.accentColorLight||"#FFFFFF",onChange:e=>x("accentColorLight",e.hex)}))),l.a.createElement("div",{className:"section-label"},"Site Header"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Header Logo"),l.a.createElement("div",{className:"field-input"},l.a.createElement(A.P,{defaultImage:e.headerLogo,onNewImage:e=>x("headerLogo",e),canClear:!0,height:40,width:150}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Header Color"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.d,null,[{value:"light",label:"Light Accent Color"},{value:"dark",label:"Dark Accent Color"},{value:"custom",label:"Custom"}].map(t=>l.a.createElement(c.c,{key:t.value,active:e.headerColorType===t.value,onClick:()=>x("headerColorType",t.value),text:t.label,small:!0}))))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Header Text Accent"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{checked:null!=(r=e.useHeaderTextAccent)&&r,onChange:()=>{var t;return x("useHeaderTextAccent",!(null!=(t=e.useHeaderTextAccent)&&t))}}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Hide Site Header Logo on Homepage"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{checked:null!=(o=e.hideHeaderLogo)&&o,onChange:()=>{var t;return x("hideHeaderLogo",!(null!=(t=e.hideHeaderLogo)&&t))}}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Show Navigation Bar"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{checked:!(null!=(i=e.hideNav)&&i),onChange:()=>{var t;return x("hideNav",!(null==(t=e.hideNav)||t))}}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},'Show "Create Pub" Button'),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{checked:!(null!=(s=e.hideCreatePubButton)&&s),onChange:()=>{var t;return x("hideCreatePubButton",!(null==(t=e.hideCreatePubButton)||t))}}))),l.a.createElement("div",{className:"section-label"},"Homepage Banner"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Use Homepage Banner"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{checked:!(null!=(u=e.hideHero)&&u),onChange:()=>{var t;return x("hideHero",!(null==(t=e.hideHero)||t))}}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Banner Title"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(m=e.heroTitle)?m:"",onChange:e=>x("heroTitle",e.target.value||null),small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Banner Text"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(d=e.heroText)?d:"",onChange:e=>x("heroText",e.target.value||null),small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Banner Alignment"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.d,null,l.a.createElement(c.c,{active:"left"===e.heroAlign,onClick:()=>x("heroAlign","left"),text:"Left",small:!0}),l.a.createElement(c.c,{active:"left"!==e.heroAlign,onClick:()=>x("heroAlign","center"),text:"Center",small:!0})))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Banner Background Color"),l.a.createElement("div",{className:"field-input"},l.a.createElement(A.o,{value:e.heroBackgroundColor||"#FFFFFF",onChange:e=>
1x("heroBackgroundColor",e.hex)}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Banner Text Color"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.d,null,l.a.createElement(c.c,{active:"#FFFFFF"===e.heroTextColor,onClick:()=>x("heroTextColor","#FFFFFF"),text:"Light",small:!0}),l.a.createElement(c.c,{active:"#FFFFFF"!==e.heroTextColor,onClick:()=>x("heroTextColor","#000000"),text:"Dark",small:!0})))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Banner Logo"),l.a.createElement("div",{className:"field-input"},l.a.createElement(A.P,{defaultImage:e.heroLogo,onNewImage:e=>x("heroLogo",e),canClear:!0,height:40,width:100}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Banner Background Image"),l.a.createElement("div",{className:"field-input"},l.a.createElement(A.P,{defaultImage:e.heroBackgroundImage,onNewImage:e=>x("heroBackgroundImage",e),canClear:!0,height:40,width:100}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Banner Image"),l.a.createElement("div",{className:"field-input"},l.a.createElement(A.P,{defaultImage:e.heroImage,onNewImage:e=>x("heroImage",e),canClear:!0,height:40,width:100}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Fade Site Header into Banner Background"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{checked:null!=(p=e.useHeaderGradient)&&p,onChange:()=>{var t;return x("useHeaderGradient",!(null!=(t=e.useHeaderGradient)&&t))}}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Primary Button Text"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(h=null==(b=e.heroPrimaryButton)?void 0:b.title)?h:"",onChange:e=>M("heroPrimaryButton","title",e.target.value),small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Primary Button URL"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(f=null==(g=e.heroPrimaryButton)?void 0:g.url)?f:"",onChange:e=>M("heroPrimaryButton","url",e.target.value),placeholder:"https://...",small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Secondary Button Text"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(v=null==(y=e.heroSecondaryButton)?void 0:y.title)?v:"",onChange:e=>M("heroSecondaryButton","title",e.target.value),small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Secondary Button URL"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(O=null==(E=e.heroSecondaryButton)?void 0:E.url)?O:"",onChange:e=>M("heroSecondaryButton","url",e.target.value),placeholder:"https://...",small:!0}))),l.a.createElement("div",{className:"section-label"},"Images"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Community Avatar"),l.a.createElement("div",{className:"field-input"},l.a.createElement(A.P,{defaultImage:e.avatar,onNewImage:e=>x("avatar",e),canClear:!0,height:40,width:40}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Favicon"),l.a.createElement("div",{className:"field-input"},l.a.createElement(A.P,{defaultImage:e.favicon,onNewImage:e=>x("favicon",e),canClear:!0,height:32,width:32}))),l.a.createElement("div",{className:"section-label"},"Social"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Social Links Location"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.o,{value:null!=(w=e.socialLinksLocation)?w:"",onChange:e=>x("socialLinksLocation",e.target.value||null),options:[{value:"",label:"Header and Footer"},{value:"header",label:"Header Only"},{value:"footer",label:"Footer Only"}]}
1))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Website"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(C=e.website)?C:"",onChange:e=>x("website",e.target.value||null),placeholder:"https://...",small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"X (Twitter)"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(N=e.twitter)?N:"",onChange:e=>x("twitter",e.target.value||null),placeholder:"https://twitter.com/handle",small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Instagram"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(j=e.instagram)?j:"",onChange:e=>x("instagram",e.target.value||null),placeholder:"https://instagram.com/handle",small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Mastodon"),l.a.createElement("div",{className:"field-input"}
1,l.a.createElement(c.r,{value:null!=(k=e.mastodon)?k:"",onChange:e=>x("mastodon",e.target.value||null),placeholder:"https://mastodon.social/@handle",small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"LinkedIn"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(S=e.linkedin)?S:"",onChange:e=>x("linkedin",e.target.value||null),placeholder:"https://linkedin.com/in/handle",small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Bluesky"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(P=e.bluesky)?P:"",onChange:e=>x("bluesky",e.target.value||null),placeholder:"https://bsky.app/profile/handle",small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"GitHub"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(D=e.github)?D:"",onChange:e=>x("github",e.target.value||null),placeholder:"https://github.com/handle",small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Facebook"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(I=e.facebook)?I:"",onChange:e=>x("facebook",e.target.value||null),placeholder:"https://facebook.com/handle",small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Contact Email"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(T=e.email)?T:"",onChange:e=>x("email",e.target.value||null),placeholder:"[email protected]",small:!0}))),n&&l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"section-label"},"Custom CSS"),l.a.createElement(c.e,{intent:"warning",style:{marginBottom:12}},l.a.createElement("strong",null,"Experimental:")," Custom CSS lets you change the look and feel of the community, but PubPub may make changes that could break it without warning."),l.a.createElement(c.M,{fill:!0,rows:6,style:{fontFamily:"monospace",fontSize:12},placeholder:"/* Custom CSS for this community */",value:a||"",onChange:e=>n(e.target.value||null)})))},lp=(e,t)=>({pages:e.filter(e=>e.title||e.slug).map((e,t)=>({id:`__tpl_page_${t}__`,title:e.title||"(untitled)",slug:e.slug})),collections:t.filter(e=>e.title||e.slug).map((e,t)=>({id:`__tpl_col_${t}__`,title:e.title||"(untitled)",slug:e.slug}))}),rp=(e,t,a)=>e.map(e=>{var n;if("type"in e&&"slug"in e){const l=("page"===e.type?t:a).find(t=>t.slug===e.slug);return{type:e.type,id:null!=(n=null==l?void 0:l.id)?n:""}}return"children"in e?Xd(Zd({},e),{children:rp(e.children,t,a)}):e}),op={pubsById:{},pubIdsByBlockId:{}},ip=({layout:e,onLayoutChange:t,communityData:a,collection:r})=>{const o=Object(n.useRef)(t);o.current=t;const i=Object(n.useCallback)(e=>{o.current(e)},[]);return l.a.createElement(A.T,{allowDuplicatePubs:!1,onChange:i,initialLayout:e,initialLayoutPubsByBlock:op,communityData:a,collection:r})},sp=({pages:e,onChange:t,allCollections:a=[],templateId:r})=>{var o,i,s;const[u,m]=Object(n.useState)(null),[d,p]=Object(n.useState)(!1),[b,h]=Object(n.useState)(null),g=Object(n.useMemo)(()=>lp(e,a),[e,a]),f=Object(n.useCallback)(a=>ap(null,null,(function*(){p(!0),h(null);try{const n=yield Ae.a.post("/api/communityTemplates/fetch-page",{pageUrl:a,templateId:r}),l={title:n.title,slug:n.slug,description:n.description,isPublic:n.isPublic,layout:n.layout,isNarrowWidth:n.isNarrowWidth},o=[...e,l];t(o),m(o.length-1)}catch(e){h(((null==e?void 0:e.message)||"Failed to import page")+". Please make sure the URL entered is a page.")}finally{p(!1)}})),[e,t,r]),y=(a,n,l)=>{const r=e.map((e,t)=>t===a?Xd(Zd({},e),{[n]:l}):e);t(r)},v=null!==u?e[u]:null;return l.a.createElement("div",{className:"two-col-layout"},l.a.createElement("div",{className:"two-col-sidebar"},l.a.createElement("div",{className:"sidebar-toolbar"},l.a.createElement(c.c,{icon:"add",text:"Add Page",small:!0,onClick:()=>{const a=[...e,{title:"New Page",slug:"new-page",description:"",isPublic:!0}];t(a),m(a.length-1)},intent:"primary"}),l.a.createElement(gp,{label:"Page URL",helperText:"e.g. https://community.pubpub.org/my-page",placeholder:"Paste page URL",isImporting:d,error:b,onImport:f})),l.a.createElement("div",{className:"sidebar-list"},0===e.length&&l.a.createElement("div",{className:"sidebar-empty"},"No pages defined"),e.map((e,t)=>l.a.createElement("div",{key:t,className:"sidebar-row"+(u===t?" selected":""),role:"button",tabIndex:0,onClick:()=>m(t),onKeyDown:e=>"Enter"===e.key&&m(t)},l.a.createElement("span",{className:"sidebar-row-title"},e.title||"(untitled page)"),l.a.createElement("span",{className:"sidebar-row-meta"},e.slug?"/"+e.slug:"(home)"))))),l.a.createElement("div",{className:"two-col-detail"},v?l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"detail-topbar"},l.a.createElement("h3",{className:"detail-title"},v.title||"(untitled page)"),l.a.createElement(c.c,{icon:"trash",minimal:!0,intent:"danger",onClick:()=>{return a=u,t(e.filter((e,t)=>
1t!==a)),void m(null);var a}})),l.a.createElement("div",{className:"detail-section"},l.a.createElement("div",{className:"section-label"},"Settings"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Title"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:v.title,onChange:e=>y(u,"title",e.target.value),small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Slug"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:v.slug,onChange:e=>y(u,"slug",Object(mt.f)(e.target.value)),placeholder:"leave empty for home",small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Description"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(o=v.description)?o:"",onChange:e=>y(u,"description",e.target.value||null),small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Public"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{checked:null==(i=v.isPublic)||i,onChange:()=>{var e;return y(u,"isPublic",!(null==(e=v.isPublic)||e))}}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Narrow Width"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{checked:null!=(s=v.isNarrowWidth)&&s,onChange:()=>{var e;return y(u,"isNarrowWidth",!(null!=(e=v.isNarrowWidth)&&e))}})))),l.a.createElement("div",{className:"detail-section"},l.a.createElement("div",{className:"section-label"},"Layout (",(v.layout||[]).length," blocks)"),l.a.createElement("div",{className:"layout-editor-wrapper"},l.a.createElement(ip,{key:u,layout:v.layout||[],onLayoutChange:e=>y(u,"layout",e),communityData:g})))):l.a.createElement(c.v,{icon:"document",title:"Select a page",description:"Choose a page from the list to edit its settings."})))},cp=({collections:e,onChange:t,allPages:a=[],templateId:r})=>{var o,i,s,u;const[m,d]=Object(n.useState)(null),[p,b]=Object(n.useState)(!1),[h,g]=Object(n.useState)(null),f=Object(n.useMemo)(()=>lp(a,e),[a,e]),y=Object(n.useCallback)(a=>ap(null,null,(function*(){b(!0),g(null);try{const n=yield Ae.a.post("/api/communityTemplates/fetch-collection",{collectionUrl:a,templateId:r}),l={title:n.title,slug:n.slug,kind:n.kind,isPublic:n.isPublic,isRestricted:n.isRestricted,layout:n.layout},o=[...e,l];t(o),d(o.length-1)}catch(e){g(((null==e?void 0:e.message)||"Failed to import collection")+". Please make sure the URL entered is a collection.")}finally{b(!1)}})),[e,t,r]),v=(a,n,l)=>{const r=e.map((e,t)=>t===a?Xd(Zd({},e),{[n]:l}):e);t(r)},E=null!==m?e[m]:null;return l.a.createElement("div",{className:"two-col-layout"},l.a.createElement("div",{className:"two-col-sidebar"},l.a.createElement("div",{className:"sidebar-toolbar"},l.a.createElement(c.c,{icon:"add",text:"Add Collection",small:!0,onClick:()=>{const a=[...e,{title:"New Collection",slug:"",kind:"tag",isPublic:!1,isRestricted:!0}];t(a),d(a.length-1)},intent:"primary"}),l.a.createElement(gp,{label:"Collection URL",helperText:"e.g. https://community.pubpub.org/my-collection",placeholder:"Paste collection URL",isImporting:p,error:h,onImport:y})),l.a.createElement("div",{className:"sidebar-list"},0===e.length&&l.a.createElement("div",{className:"sidebar-empty"},"No collections defined"),e.map((e,t)=>l.a.createElement("div",{key:t,className:"sidebar-row"+(m===t?" selected":""),role:"button",tabIndex:0,onClick:()=>d(t),onKeyDown:e=>{"Enter"===e.key&&d(t)}},l.a.createElement("span",{className:"sidebar-row-title"},e.title||"(untitled collection)"),l.a.createElement("span",{className:"sidebar-row-meta"},e.kind," · /",e.slug||"..."))))),l.a.createElement("div",{className:"two-col-detail"},E?l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"detail-topbar"},l.a.createElement("h3",{className:"detail-title"},E.title||"(untitled collection)"),l.a.createElement(c.c,{icon:"trash",minimal:!0,intent:"danger",onClick:()=>{return a=m,t(e.filter((e,t)=>
1t!==a)),void d(null);var a}})),l.a.createElement("div",{className:"detail-section"},l.a.createElement("div",{className:"section-label"},"Settings"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Title"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:E.title,onChange:e=>v(m,"title",e.target.value),small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Slug"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:E.slug,onChange:e=>v(m,"slug",Object(mt.f)(e.target.value)),small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Kind"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.o,{value:E.kind,onChange:e=>v(m,"kind",e.target.value),options:["tag","issue","book","conference"]}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Public"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{checked:null!=(o=E.isPublic)&&o,onChange:()=>{var e;return v(m,"isPublic",!(null!=(e=E.isPublic)&&e))}}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Restricted"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{checked:null==(i=E.isRestricted)||i,onChange:()=>{var e;return v(m,"isRestricted",!(null==(e=E.isRestricted)||e))}})))),l.a.createElement("div",{className:"detail-section"},l.a.createElement("div",{className:"section-label"},"Layout (",((null==(s=E.layout)?void 0:s.blocks)||E.layout||[]).length," ","blocks)"),l.a.createElement("div",{className:"layout-editor-wrapper"},l.a.createElement(ip,{key:m,layout:(null==(u=E.layout)?void 0:u.blocks)||E.layout||[],onLayoutChange:e=>v(m,"layout",{blocks:e}),communityData:f,collection:{id:`__tpl_col_${m}__`,title:E.title,kind:E.kind}})))):l.a.createElement(c.v,{icon:"folder-close",title:"Select a collection",description:"Choose a collection from the list to edit its settings."})))},up=({navigation:e,onChange:t,pageSlugs:a,collectionSlugs:n})=>{const r=null!=e?e:[];return l.a.createElement("div",null,0===r.length&&l.a.createElement(c.e,{icon:"info-sign",intent:"none",style:{marginBottom:12}},"No navigation entries. The community will use the default nav."),r.map((e,o)=>l.a.createElement(c.f,{key:o,className:"item-card nav-entry-card",style:{padding:"6px 10px"}},l.a.createElement("div",{className:"nav-entry-row"},l.a.createElement(mp,{entry:e}),l.a.createElement("div",{className:"nav-entry-controls"},l.a.createElement(dp,{entry:e,onChange:e=>((e,a)=>t(r.map((t,n)=>n===e?a:t)))(o,e),pageSlugs:a,collectionSlugs:n})),l.a.createElement(c.d,{minimal:!0},l.a.createElement(c.c,{icon:"arrow-up",small:!0,disabled:0===o,onClick:()=>(e=>{if(0===e)return;const a=[...r];[a[e-1],a[e]]=[a[e],a[e-1]],t(a)})(o)}),l.a.createElement(c.c,{icon:"arrow-down",small:!0,disabled:o>=r.length-1,onClick:()=>(e=>{if(e>=r.length-1)return;const a=[...r];[a[e],a[e+1]]=[a[e+1],a[e]],t(a)})(o)}),l.a.createElement(c.c,{icon:"trash",small:!0,intent:"danger",onClick:()=>(e=>t(r.filter((t,a)=>a!==e)))(o)}))))),l.a.createElement("div",{style:{display:"flex",gap:8,marginTop:8}},l.a.createElement(c.c,{icon:"document",text:"Page",onClick:()=>{var e;return t([...r,{type:"page",slug:null!=(e=a[0])?e:""}])},small:!0,disabled:0===a.length}),l.a.createElement(c.c,{icon:"folder-close",text:"Collection",onClick:()=>{var e;return t([...r,{type:"collection",slug:null!=(e=n[0])?e:""}])},small:!0,disabled:0===n.length}),l.a.createElement(c.c,{icon:"link",text:"External Link",onClick:()=>t([...r,{id:crypto.randomUUID(),title:"",href:""}]),small:!0}),l.a.createElement(c.c,{icon:"caret-down",text:"Dropdown",onClick:()=>t([...r,{id:crypto.randomUUID(),title:"",children:[]}]),small:!0})))},mp=({entry:e})=>{if("type"in e){const t="page"===e.type?"document":"folder-close";return l.a.createElement("span",null,l.a.createElement(c.J,{minimal:!0,icon:t},e.type,": ",e.slug||"(home)"))}return"children"in e?l.a.createElement("strong",null,"Dropdown: ",e.title||"(untitled)"):l.a.createElement("strong",null,"Link: ",e.title||"(untitled)")},dp=({entry:e,onChange:t,pageSlugs:a,collectionSlugs:n})=>{if("type"in e){const r="page"===e.type?[{value:"",label:"(home)"}
1,...a.filter(Boolean).map(e=>({value:e,label:e}))]:n.map(e=>({value:e,label:e}));return l.a.createElement(c.o,{value:e.slug,onChange:a=>t(Xd(Zd({},e),{slug:a.target.value})),options:r})}return"children"in e?l.a.createElement("div",null,l.a.createElement(c.r,{value:e.title,onChange:a=>t(Xd(Zd({},e),{title:a.target.value})),small:!0,placeholder:"Dropdown title"}),l.a.createElement("div",{style:{paddingLeft:16,marginTop:4}},l.a.createElement(up,{navigation:e.children,onChange:a=>t(Xd(Zd({},e),{children:null!=a?a:[]})),pageSlugs:a,collectionSlugs:n}))):l.a.createElement("div",{style:{display:"flex",gap:8,flex:1}},l.a.createElement(c.r,{value:e.title,onChange:a=>t(Xd(Zd({},e),{title:a.target.value})),small:!0,placeholder:"Link title",style:{flex:1}}),l.a.createElement(c.r,{value:e.href,onChange:a=>t(Xd(Zd({},e),{href:a.target.value})),placeholder:"https://...",small:!0,style:{flex:2}}))},pp=({overrides:e,onOverridesChange:t,links:a,onLinksChange:n})=>{var r,o;const i=(a,n)=>{t(Xd(Zd({},e),{[a]:n}))},s=(e,t,l)=>n(a.map((a,n)=>n===e?Xd(Zd({},a),{[t]:l}):a));return l.a.createElement("div",{className:"overrides-form"},l.a.createElement("div",{className:"section-label"},"Footer Settings"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Footer Title"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(r=e.footerTitle)?r:"",onChange:e=>i("footerTitle",e.target.value||null),placeholder:"Defaults to community title",small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Footer Logo"),l.a.createElement("div",{className:"field-input"},l.a.createElement(A.P,{defaultImage:e.footerImage,onNewImage:e=>i("footerImage",e),canClear:!0,height:40,width:100}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Footer Logo Link"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(o=e.footerLogoLink)?o:"",onChange:e=>i("footerLogoLink",e.target.value||null),placeholder:"Defaults to community URL",small:!0}))),l.a.createElement("div",{className:"section-label",style:{marginTop:16}},"Footer Links"),0===a.length&&l.a.createElement(c.e,{icon:"info-sign",intent:"none",style:{marginBottom:12}},"No footer links."),a.map((e,t)=>l.a.createElement("div",{key:t,className:"overrides-row",style:{marginBottom:8,alignItems:"flex-end"}},l.a.createElement(c.n,{label:"Title",style:{flex:1}},l.a.createElement(c.r,{value:e.title,onChange:e=>s(t,"title",e.target.value),small:!0})),l.a.createElement(c.n,{label:"URL",style:{flex:2}},l.a.createElement(c.r,{value:e.url,onChange:e=>s(t,"url",e.target.value),placeholder:"https://...",small:!0})),l.a.createElement(c.c,{icon:"trash",minimal:!0,small:!0,intent:"danger",onClick:()=>(e=>n(a.filter((t,a)=>a!==e)))(t),style:{marginBottom:15}}))),l.a.createElement(c.c,{icon:"add",text:"Add Footer Link",onClick:()=>n([...a,{title:"",url:""}]),small:!0,style:{marginTop:4}}))},bp=({pubs:e,onChange:t,collectionSlugs:a,templateId:r})=>{var o,i;const[s,u]=Object(n.useState)(null),[m,d]=Object(n.useState)(null),[p,b]=Object(n.useState)(!1),h=Object(n.useCallback)((a,n,l)=>{t(e.map((e,t)=>t===a?Xd(Zd({},e),{[n]:l}):e))},[e,t]),g=Object(n.useCallback)(a=>ap(null,null,(function*(){b(!0);try{const n=yield Ae.a.post("/api/communityTemplates/fetch-pub-content",{pubUrl:a,templateId:r}),l={title:n.title||n.slug,slug:n.slug,content:n.content},o=[...e,l];t(o),u(o.length-1)}catch(e){d(((null==e?void 0:e.message)||"Failed to fetch pub content")+". Please make sure the URL entered is a pub.")}finally{b(!1)}})),[e,t,r]),f=null!==s?e[s]:null;return l.a.createElement("div",{className:"two-col-layout"},l.a.createElement("div",{className:"two-col-sidebar"},l.a.createElement("div",{className:"sidebar-toolbar"},l.a.createElement(c.c,{icon:"add",text:"Add Pub",small:!0,onClick:()=>{const a=[...e,{title:"New Pub"}];t(a),u(a.length-1)},intent:"primary"}),l.a.createElement(hp,{isImporting:p,onImport:g,error:m})),l.a.createElement("div",{className:"sidebar-list"},0===e.length&&l.a.createElement("div",{className:"sidebar-empty"},"No starter pubs"),e.map((e,t)=>l.a.createElement("div",{key:t,className:"sidebar-row"+(s===t?" selected":""),role:"button",tabIndex:0,onClick:()=>{u(t),d(null)},onKeyDown:e=>{"Enter"===e.key&&(u(t),d(null))}},l.a.createElement("span",{className:"sidebar-row-title"},e.title||"(untitled pub)"),l.a.createElement("span",{className:"sidebar-row-meta"},e.slug?"/"+e.slug:"(no slug)",e.collectionSlug?" · "+e.collectionSlug:""))))),l.a.createElement("div",{className:"two-col-detail"},f?l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"detail-topbar"},l.a.createElement("h3",{className:"detail-title"},f.title||"(untitled pub)"),l.a.createElement(c.c,{icon:"trash",minimal:!0,intent:"danger",onClick:()=>{return a=s,t(e.filter((e,t)=>
1t!==a)),void u(null);var a}})),l.a.createElement("div",{className:"detail-section"},l.a.createElement("div",{className:"section-label"},"Settings"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Title"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:f.title,onChange:e=>h(s,"title",e.target.value),small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Slug"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.r,{value:null!=(o=f.slug)?o:"",onChange:e=>h(s,"slug",e.target.value?Object(mt.f)(e.target.value):void 0),small:!0}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Collection"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.o,{value:null!=(i=f.collectionSlug)?i:"",onChange:e=>h(s,"collectionSlug",e.target.value||void 0),options:[{value:"",label:"(none)"},...a.map(e=>({value:e,label:e}))]})))),l.a.createElement("div",{className:"detail-section"},l.a.createElement("div",{className:"section-label"},"Content"),l.a.createElement("div",{className:"editor-note"},"Some advanced features (citations, math, footnotes) are not available in this minimal editor. For richer content, create a pub in a community and import it using the button in the sidebar."),m&&l.a.createElement(c.e,{intent:"danger",icon:"error",style:{marginBottom:8}},m),l.a.createElement("div",{className:"pub-content-editor-wrapper"},l.a.createElement(A.db,{key:s,initialContent:f.content||void 0,onContent:({content:e})=>h(s,"content",e),useFormattingBar:!0,getButtons:e=>[[...e.reviewButtonSet[0].filter(e=>"math"!==e.key),e.table],[e.simpleMedia]],placeholder:"Write starter content for this pub..."})))):l.a.createElement(c.v,{icon:"document",title:"Select a pub",description:"Choose a pub from the list to edit its settings."})))},hp=({isImporting:e,onImport:t,error:a})=>{const[r,o]=Object(n.useState)("");return l.a.createElement(c.z,{position:"bottom",content:l.a.createElement("div",{style:{padding:12,width:360}},l.a.createElement(c.n,{label:"Pub URL",helperText:"e.g. https://community.pubpub.org/pub/my-slug",style:{marginBottom:8}},l.a.createElement(c.r,{value:r,onChange:e=>o(e.target.value),placeholder:"Paste pub URL or slug",small:!0})),a&&l.a.createElement(c.e,{intent:"danger",icon:"error",style:{marginBottom:8,fontSize:12}},a),l.a.createElement(c.c,{icon:"import",text:"Import",small:!0,intent:"primary",fill:!0,loading:e,disabled:!r.trim(),onClick:()=>t(r)}))},l.a.createElement(c.c,{icon:"import",text:"Import",small:!0}))},gp=({label:e,helperText:t,placeholder:a,isImporting:r,error:o,onImport:i})=>{const[s,u]=Object(n.useState)("");return l.a.createElement(c.z,{position:"bottom",content:l.a.createElement("div",{style:{padding:12,width:360}},l.a.createElement(c.n,{label:e,helperText:t,style:{marginBottom:8}},l.a.createElement(c.r,{value:s,onChange:e=>u(e.target.value),placeholder:a,small:!0})),o&&l.a.createElement(c.e,{intent:"danger",icon:"error",style:{marginBottom:8,fontSize:12}},o),l.a.createElement(c.c,{icon:"import",text:"Import",small:!0,intent:"primary",fill:!0,loading:r,disabled:!s.trim(),onClick:()=>i(s)}))},l.a.createElement(c.c,{icon:"import",text:"Import",small:!0}))},fp=[{value:"admin",label:"Admin"},{value:"manage",label:"Manage"},{value:"edit",label:"Edit"},{value:"view",label:"View"}],yp=({members:e,onChange:t})=>l.a.createElement("div",null,l.a.createElement("div",{style:{marginBottom:16}},l.a.createElement(A.Yb,{onSelect:a=>{e.some(e=>e.userId===a.id)||t([...e,{userId:a.id,permissions:"admin",fullName:a.fullName,avatar:a.avatar}])},usedUserIds:e.map(e=>e.userId),placeholder:"Search for a user to add..."})),0===e.length&&l.a.createElement(c.e,{icon:"info-sign",intent:"none"},"No default members. Only the creating user will be an admin."),e.map((a,n)=>{var r,o,i;return l.a.createElement(c.f,{key:n,className:"item-card"},l.a.createElement("div",{className:"item-card-header"},l.a.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},l.a.createElement(A.e,{initials:null!=(o=null==(r=a.fullName)?void 0:r[0])?o:"?",avatar:a.avatar,width:24}),l.a.createElement("strong",null,null!=(i=a.fullName)?i:a.userId)),l.a.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},l.a.createElement(c.o,{value:a.permissions,onChange:a=>((a,n)=>{t(e.map((e,t)=>t===a?Xd(Zd({},e),{permissions:n}):e))})(n,a.target.value),options:fp,minimal:!0}),l.a.createElement(c.c,{icon:"cross",minimal:!0,intent:"danger",onClick:()=>(a=>{t(e.filter((e,t)=>
1t!==a))})(n)}))))})),vp=[{value:"",label:"(not set)"},{value:"apa",label:"APA (6th ed.)"},{value:"apa-7",label:"APA (7th ed.)"},{value:"chicago",label:"Chicago"},{value:"harvard",label:"Harvard"},{value:"mla",label:"MLA"},{value:"vancouver",label:"Vancouver"},{value:"ama",label:"AMA"},{value:"cell",label:"Cell"},{value:"acm-siggraph",label:"ACM SIGGRAPH"},{value:"american-anthro",label:"American Anthropological"},{value:"arcadia-science",label:"Arcadia Science"},{value:"elife",label:"eLife"},{value:"frontiers",label:"Frontiers"}],Ep=[{value:"",label:"(not set)"},{value:"count",label:"Numbered [1]"},{value:"authorYear",label:"Author-Year"},{value:"author",label:"Author"},{value:"label",label:"Label"}],Op=[{value:"",label:"(not set)"},{value:"cc-by",label:"CC-BY"},{value:"cc-0",label:"CC-0"},{value:"cc-by-nc",label:"CC-BY-NC"},{value:"cc-by-nd",label:"CC-BY-ND"},{value:"cc-by-nc-nd",label:"CC-BY-NC-ND"},{value:"cc-by-nc-sa",label:"CC-BY-NC-SA"},{value:"cc-by-sa",label:"CC-BY-SA"},{value:"copyright",label:"Copyright (All rights reserved)"}],wp=[{value:"",label:"(not set)"},{value:"light",label:"Light"},{value:"dark",label:"Dark"},{value:"white-blocks",label:"White Blocks"},{value:"black-blocks",label:"Black Blocks"}],Cp=[{value:"",label:"(not set)"},{value:"community",label:"Community Accent"},{value:"light",label:"Light"},{value:"dark",label:"Dark"},{value:"custom",label:"Custom Color..."}],Np=[{key:"image",label:"Images",defaultText:"Image"},{key:"video",label:"Videos",defaultText:"Video"},{key:"audio",label:"Audio",defaultText:"Audio"},{key:"table",label:"Tables",defaultText:"Table"},{key:"math",label:"Equations",defaultText:"Equation"},{key:"iframe",label:"Iframes",defaultText:"Iframe"}],jp=({facetOverrides:e,onChange:t})=>{var a,n,r,o,i,s,u,m,d,p,b;const h=(a,n,l)=>{const r=e[a]||{};if(""===l||void 0===l){const l=r,{[n]:o}=l,i=tp(l,[ep(n)]),s=Object.keys(i).length>0?i:void 0,c=e,{[a]:u}=c,m=tp(c,[ep(a)]);t(s?Xd(Zd({},m),{[a]:s}):m)}else t(Xd(Zd({},e),{[a]:Xd(Zd({},r),{[n]:l})}))},g=e.NodeLabels||{},f=(a,n,l)=>{var r,o;const i=g[a]||{},s=Xd(Zd({},i),{[n]:l}),c=null!=(o=null==(r=Np.find(e=>e.key===a))?void 0:r.defaultText)?o:a;if(s.enabled||s.text&&s.text!==c)t(Xd(Zd({},e),{NodeLabels:Xd(Zd({},g),{[a]:s})}));else{const n=g,{[a]:l}=n,r=tp(n,[ep(a)]),o=Object.keys(r).length>0?r:void 0,i=e,{NodeLabels:s}=i,c=tp(i,["NodeLabels"]);t(o?Xd(Zd({},c),{NodeLabels:o}):c)}};return l.a.createElement("div",{className:"overrides-form"},l.a.createElement("div",{className:"section-label"},"Citation Style"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Citation Format"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.o,{value:(null==(a=e.CitationStyle)?void 0:a.citationStyle)||"",onChange:e=>h("CitationStyle","citationStyle",e.target.value),options:vp}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Inline Citations"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.o,{value:(null==(n=e.CitationStyle)?void 0:n.inlineCitationStyle)||"",onChange:e=>h("CitationStyle","inlineCitationStyle",e.target.value),options:Ep}))),l.a.createElement("div",{className:"section-label"},"License"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Default License"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.o,{value:(null==(r=e.License)?void 0:r.kind)||"",onChange:e=>h("License","kind",e.target.value),options:Op}))),l.a.createElement("div",{className:"section-label"},"Node Labels"),l.a.createElement("p",{style:{color:"#666",fontSize:13,margin:"0 0 8px"}},'Auto-numbered captions for embedded content (e.g. "Figure 1", "Table 2").'),Np.map(({key:e,label:t,defaultText:a})=>{var n,r,o,i;return l.a.createElement("div",{className:"field-row",key:e},l.a.createElement("span",{className:"field-label"},t),l.a.createElement("div",{className:"field-input",style:{display:"flex",gap:8,alignItems:"center"}},l.a.createElement(c.G,{style:{marginBottom:0},checked:null!=(r=null==(n=g[e])?void 0:n.enabled)&&r,onChange:()=>{var t,a;return f(e,"enabled",!(null!=(a=null==(t=g[e])?void 0:t.enabled)&&a))}
1,innerLabel:"off",innerLabelChecked:"on"}),l.a.createElement(c.r,{small:!0,style:{width:120},placeholder:a,value:null!=(i=null==(o=g[e])?void 0:o.text)?i:"",onChange:t=>f(e,"text",t.target.value)})))}),l.a.createElement("div",{className:"section-label"},"Pub Header Theme"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Text Style"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.o,{value:(null==(o=e.PubHeaderTheme)?void 0:o.textStyle)||"",onChange:e=>h("PubHeaderTheme","textStyle",e.target.value),options:wp}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Background Color"),l.a.createElement("div",{className:"field-input",style:{display:"flex",gap:8,alignItems:"center"}},l.a.createElement(c.o,{value:(()=>{var t;const a=null==(t=e.PubHeaderTheme)?void 0:t.backgroundColor;return a?["community","light","dark"].includes(a)?a:"custom":""})(),onChange:e=>{const t=e.target.value;h("PubHeaderTheme","backgroundColor","custom"===t?"#000000":t)},options:Cp}),(null==(i=e.PubHeaderTheme)?void 0:i.backgroundColor)&&!["community","light","dark",""].includes(e.PubHeaderTheme.backgroundColor)&&l.a.createElement(A.o,{value:e.PubHeaderTheme.backgroundColor,onChange:e=>h("PubHeaderTheme","backgroundColor",e.hex)}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Background Image"),l.a.createElement("div",{className:"field-input"},l.a.createElement(A.P,{defaultImage:null!=(u=null==(s=e.PubHeaderTheme)?void 0:s.backgroundImage)?u:void 0,onNewImage:e=>h("PubHeaderTheme","backgroundImage",e||""),canClear:!0,height:60,width:100,helperText:"1200×800px recommended"}))),l.a.createElement("div",{className:"section-label"},"Pub Connections Display"),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Default to Carousel"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{style:{marginBottom:0},checked:null==(d=null==(m=e.PubEdgeDisplay)?void 0:m.defaultsToCarousel)||d,onChange:()=>{var t,a;return h("PubEdgeDisplay","defaultsToCarousel",!(null==(a=null==(t=e.PubEdgeDisplay)?void 0:t.defaultsToCarousel)||a))}}))),l.a.createElement("div",{className:"field-row"},l.a.createElement("span",{className:"field-label"},"Show Descriptions"),l.a.createElement("div",{className:"field-input"},l.a.createElement(c.G,{style:{marginBottom:0},checked:null==(b=null==(p=e.PubEdgeDisplay)?void 0:p.descriptionIsVisible)||b,onChange:()=>{var t,a;return h("PubEdgeDisplay","descriptionIsVisible",!(null==(a=null==(t=e.PubEdgeDisplay)?void 0:t.descriptionIsVisible)||a))}}))))};a(1437);var kp=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const Sp=({templateData:e,onImport:t})=>{const[a,r]=Object(n.useState)(""),[o,i]=Object(n.useState)(null),s=Object(n.useRef)(null),u=Object(n.useMemo)(()=>JSON.stringify(e,null,2),[e]);return l.a.createElement("div",{className:"editor-tab-panel"},l.a.createElement("h4",{style:{marginTop:0,marginBottom:8}},"Export"),l.a.createElement("p",{style:{color:"#666",marginBottom:8}},"Copy this JSON to transfer the template configuration to another template."),l.a.createElement(c.M,{inputRef:e=>{s.current=e},readOnly:!0,fill:!0,rows:10,value:u,style:{fontFamily:"monospace",fontSize:12}}),l.a.createElement(c.c,{icon:"clipboard",text:"Copy to Clipboard",small:!0,onClick:()=>{s.current&&(s.current.select(),navigator.clipboard.writeText(u))},style:{marginTop:8}}),l.a.createElement("h4",{style:{marginTop:24,marginBottom:8}},"Import"),l.a.createElement("p",{style:{color:"#666",marginBottom:8}},"Paste exported JSON here to replace this template's configuration. Click Import, then Save Changes to persist."),l.a.createElement(c.M,{fill:!0,rows:10,value:a,onChange:e=>r(e.target.value),placeholder:"Paste template JSON here...",style:{fontFamily:"monospace",fontSize:12}}),o&&l.a.createElement(c.e,{intent:"danger",icon:"error",style:{marginTop:8}},o),l.a.createElement(c.c,{icon:"import",text:"Import",small:!0,intent:"primary",disabled:!a.trim(),onClick:()=>{i(null);try{const e=JSON.parse(a);if("object"!=typeof e||null===e||Array.isArray(e))return void i("JSON must be an object");t(e),r("")}catch(e){i("Invalid JSON")}},style:{marginTop:8}}))};var Pp=({templateId:e,isOpen:t,onClose:a,onSaved:r,onDeleted:o,canDelete:i=!0})=>{var s;const[u,m]=Object(n.useState)(null),[d,p]=Object(n.useState)(!1),[b,h]=Object(n.useState)(null),[g,f]=Object(n.useState)("general"),[y,v]=Object(n.useState)(""),[E,O]=Object(n.useState)(""),[w,C]=Object(n.useState)(""),[N,j]=Object(n.useState)(!1),[k,S]=Object(n.useState)({}),[P,D]=Object(n.useState)([]),[I,T]=Object(n.useState)([]),[x,M]=Object(n.useState)(null),[L,R]=Object(n.useState)([]),[F,U]=Object(n.useState)([]),[B,z]=Object(n.useState)([]),[$,_]=Object(n.useState)({}),[H,V]=Object(n.useState)(null),[q,W]=Object(n.useState)(null),[G,Y]=Object(n.useState)(!1),K=Object(n.useRef)(""),J=Object(n.useMemo)(()=>JSON.stringify({editSlug:y,editTitle:E,editDescription:w,editIsActive:N,editAvatar:q,editOverrides:k,editPages:P,editCollections:I,editNavigation:x,editFooterLinks:L,editPubs:F,editDefaultMembers:B,editFacetOverrides:$,editCustomCSS:H}),[y,E,w,N,q,k,P,I,x,L,F,B,$,H]),Q=null!==u&&J!==K.current,Z=Object(n.useCallback)(()=>{Q?Y(!0):a()},[Q,a]),X=Object(n.useCallback)(()=>kp(null,null,(function*(){var t,a,n,l,r,o;p(!0),h(null);try{const i=yield Ae.a.get("/api/communityTemplates/"+e);v(i.slug),O(i.title),C(i.description||""),j(i.isActive),S(i.communityOverrides||{}),D(i.pages||[]),T(i.collections||[]),M(null!=(t=i.navigation)?t:null),R(i.footerLinks||[]),U(i.starterPubs||[]),z(i.defaultMembers||[]),_(i.facetOverrides||{}),V(null!=(a=i.customCSS)?a:null),W(null!=(n=i.avatar)?n:null),m(i),f("general"),Y(!1),K.current=JSON.stringify({editSlug:i.slug,editTitle:i.title,editDescription:i.description||"",editIsActive:i.isActive,editAvatar:null!=(l=i.avatar)?l:null,editOverrides:i.communityOverrides||{},editPages:i.pages||[],editCollections:i.collections||[],editNavigation:null!=(r=i.navigation)?r:null,editFooterLinks:i.footerLinks||[],editPubs:i.starterPubs||[],editDefaultMembers:i.defaultMembers||[],editFacetOverrides:i.facetOverrides||{},editCustomCSS:null!=(o=i.customCSS)?o:null})}catch(e){h(e instanceof Error?e.message:"Failed to load template")}finally{p(!1)}})),[e]),ee=Object(n.useCallback)(()=>{X()},[X]),te=Object(n.useCallback)(()=>kp(null,null,(function*(){p(!0),h(null);try{yield Ae.a.put("/api/communityTemplates/"+e,{slug:y,title:E,description:w||null,isActive:N,avatar:q,communityOverrides:k,pages:P,collections:I,navigation:x,footerLinks:L.length>
10?L:null,starterPubs:F,defaultMembers:B.map(e=>({userId:e.userId,permissions:e.permissions,fullName:e.fullName,avatar:e.avatar})),facetOverrides:Object.keys($).length>0?$:null,customCSS:H||null}),yield X(),null==r||r()}catch(e){h(e instanceof Error?e.message:"Failed to save")}finally{p(!1)}})),[e,y,E,w,N,q,k,P,I,x,L,F,B,$,H,X,r]),ae=Object(n.useCallback)(()=>kp(null,null,(function*(){p(!0);try{yield Ae.a.delete("/api/communityTemplates/"+e),m(null),null==o||o(),a()}finally{p(!1)}})),[e,o,a]),ne=Object(n.useMemo)(()=>I.map(e=>e.slug).filter(Boolean),[I]),le=Object(n.useMemo)(()=>P.map(e=>e.slug).filter(e=>void 0!==e),[P]),re=Object(n.useMemo)(()=>(({overrides:e,pages:t,collections:a,navigation:n,footerLinks:l,title:r})=>{const o=(e=>e.map(e=>{var t,a,n;return{id:`__tpl_preview_page_${null!=(t=e.slug)?t:""}__`,title:e.title||"(untitled)",slug:null!=(a=e.slug)?a:"",isPublic:null==(n=e.isPublic)||n}}))(t),i=(e=>e.map(e=>{var t;return{id:`__tpl_preview_col_${e.slug}__`,title:e.title||"(untitled)",slug:e.slug,kind:e.kind,isPublic:null==(t=e.isPublic)||t}}))(a),s=n?rp(n,o,i):null,c=l?rp(l,o,i):null;return{communityData:Xd(Zd({title:r||"Preview Community",subdomain:"preview",domain:null,accentColorDark:"#112233",accentColorLight:"#FFFFFF",headerColorType:"dark"},e),{pages:o,collections:i,navigation:s,footerLinks:c}),locationData:{path:"/",queryString:"",params:{},isBasePubPub:!1,hostname:"preview.pubpub.org"},loginData:{id:null,isSuperAdmin:!1}}})({overrides:k,pages:P,collections:I,navigation:x,footerLinks:L,title:E}),[k,P,I,x,L,E]);return l.a.createElement(c.j,{isOpen:t,onClose:Z,onOpening:ee,className:"template-editor-dialog",canOutsideClickClose:!0,canEscapeKeyClose:!0},b&&l.a.createElement(c.e,{intent:"danger",icon:"error",style:{margin:16}},b),u&&l.a.createElement(l.a.Fragment,null,l.a.createElement(A.a,{communityData:re.communityData,isNavHidden:!!k.hideNav}),l.a.createElement("div",{className:"template-editor-header"},l.a.createElement("div",{className:"template-editor-title"},l.a.createElement("h2",null,u.title),u.hub&&l.a.createElement("a",{href:"/hub/"+u.hub.slug,target:"_blank",rel:"noopener noreferrer",className:"template-header-link"},"Hub: ",u.hub.title),u.sourceCommunity&&l.a.createElement("a",{href:`https://${u.sourceCommunity.subdomain}.pubpub.org`,target:"_blank",rel:"noopener noreferrer",className:"template-header-link"},"Cloned from"," ",u.sourceCommunity.title||u.sourceCommunity.subdomain)),l.a.createElement("div",{className:"template-editor-actions"},i&&l.a.createElement(c.z,{position:"bottom",content:l.a.createElement("div",{style:{padding:12,maxWidth:260}},l.a.createElement("p",{style:{margin:"0 0 8px"}},"Delete ",l.a.createElement("strong",null,E),"? This cannot be undone."),l.a.createElement(c.c,{intent:"danger",text:"Delete",fill:!0,small:!0,loading:d,onClick:ae}))},l.a.createElement(c.c,{intent:"danger",icon:"trash",minimal:!0})),l.a.createElement(c.c,{intent:"primary",icon:"floppy-disk",onClick:te,loading:d,disabled:!E||!y},"Save Changes"),l.a.createElement(c.z,{isOpen:G,onClose:()=>Y(!1),position:"bottom",content:l.a.createElement("div",{style:{padding:12,maxWidth:260}},l.a.createElement("p",{style:{margin:"0 0 8px"}},"You have unsaved changes. Discard them?"),l.a.createElement("div",{style:{display:"flex",gap:8}},l.a.createElement(c.c,{text:"Cancel",small:!0,onClick:()=>Y(!1),style:{flex:1}}),l.a.createElement(c.c,{intent:"danger",text:"Discard",small:!0,onClick:()=>{Y(!1),a()},style:{flex:1}})))},l.a.createElement(c.c,{icon:"cross",minimal:!0,onClick:Z})))),l.a.createElement("div",{className:"template-editor-body"},l.a.createElement(c.I,{id:"template-editor-tabs",selectedTabId:g,onChange:e=>f(e),large:!0,renderActiveTabPanelOnly:!0},l.a.createElement(c.H,{id:"general",title:"General",panel:l.a.createElement("div",{className:"editor-tab-panel"},l.a.createElement(c.n,{label:"Title",labelFor:"edit-title"},l.a.createElement(c.r,{id:"edit-title",value:E,onChange:e=>O(e.target.value)})),l.a.createElement(c.n,{label:"Slug",labelFor:"edit-slug"},l.a.createElement(c.r,{id:"edit-slug",value:y,onChange:e=>v(Object(mt.f)(e.target.value))})),l.a.createElement(c.n,{label:"Description",labelFor:"edit-desc"},l.a.createElement(c.M,{id:"edit-desc",fill:!0,value:w,onChange:e=>C(e.target.value)})),l.a.createElement(c.n,{label:"Template Avatar"},l.a.createElement(A.P,{defaultImage:q,onNewImage:e=>W(e),canClear:!0,height:60,width:60})),l.a.createElement(c.G,{label:"Active (visible to users during community creation)",checked:N,onChange:()=>j(!N),large:!0}),l.a.createElement("div",{style:{marginTop:16}},l.a.createElement("strong",null,null!=(s=u.communityCount)?s:0)," ","communities created from this template"))}
1),l.a.createElement(c.H,{id:"appearance",title:"Appearance",panel:l.a.createElement("div",{className:"editor-tab-panel"},l.a.createElement(np,{overrides:k,onChange:S,customCSS:H,onCustomCSSChange:V}),l.a.createElement("div",{className:"preview-section"},l.a.createElement("div",{className:"section-label"},"Homepage Header Preview"),l.a.createElement("div",{className:"preview-frame"},l.a.createElement(A.M,{previewContext:re}))))}),l.a.createElement(c.H,{id:"navigation",title:"Navigation",panel:l.a.createElement("div",{className:"editor-tab-panel"},l.a.createElement("p",{style:{color:"#666",marginBottom:12}},"Define the navigation bar entries. Page and collection references are resolved by slug when the template is applied."),l.a.createElement(up,{navigation:x,onChange:M,pageSlugs:le,collectionSlugs:ne}),l.a.createElement("div",{className:"preview-section"},l.a.createElement("div",{className:"section-label"},"Navigation Bar Preview"),l.a.createElement("div",{className:"preview-frame"},l.a.createElement(A.fb,{previewContext:re}))))}),l.a.createElement(c.H,{id:"footer",title:"Footer",panel:l.a.createElement("div",{className:"editor-tab-panel"},l.a.createElement(pp,{overrides:k,onOverridesChange:S,links:L,onLinksChange:R}),l.a.createElement("div",{className:"preview-section"},l.a.createElement("div",{className:"section-label"},"Footer Preview"),l.a.createElement("div",{className:"preview-frame"},l.a.createElement(A.J,{previewContext:re}))))}),l.a.createElement(c.H,{id:"facets",title:"Facets",panel:l.a.createElement("div",{className:"editor-tab-panel"},l.a.createElement("p",{style:{color:"#666",marginBottom:12}},"Set default facet values for communities created from this template. Leave fields unset to use system defaults."),l.a.createElement(jp,{facetOverrides:$,onChange:_}))}),l.a.createElement(c.H,{id:"pages",title:`Pages (${P.length})`,panel:l.a.createElement("div",{className:"editor-tab-panel"},l.a.createElement("p",{style:{color:"#666",marginBottom:12}},"Define the pages that will be created when a community uses this template. A page with an empty slug becomes the home page."),l.a.createElement(sp,{pages:P,onChange:D,allCollections:I,templateId:e}))}),l.a.createElement(c.H,{id:"collections",title:`Collections (${I.length})`,panel:l.a.createElement("div",{className:"editor-tab-panel"},l.a.createElement("p",{style:{color:"#666",marginBottom:12}},"Define collections to be created with the community."),l.a.createElement(cp,{collections:I,onChange:T,allPages:P,templateId:e}))}),l.a.createElement(c.H,{id:"pubs",title:`Starter Pubs (${F.length})`,panel:l.a.createElement("div",{className:"editor-tab-panel"},l.a.createElement("p",{style:{color:"#666",marginBottom:12}},"Define pubs to be created automatically, optionally linked to a collection."),l.a.createElement(bp,{pubs:F,onChange:U,collectionSlugs:ne,templateId:e}))}),l.a.createElement(c.H,{id:"members",title:`Default Members (${B.length})`,panel:l.a.createElement("div",{className:"editor-tab-panel"},l.a.createElement("p",{style:{color:"#666",marginBottom:12}},"Users added here will automatically become members of any community created from this template, with the specified permission level."),l.a.createElement(yp,{members:B,onChange:z}))}),l.a.createElement(c.H,{id:"import-export",title:"Import / Export",panel:l.a.createElement(Sp,{templateData:{avatar:q,communityOverrides:k,pages:P,collections:I,navigation:x,footerLinks:L,starterPubs:F,defaultMembers:B,facetOverrides:$,customCSS:H},onImport:e=>{void 0!==e.avatar&&W(e.avatar),e.communityOverrides&&S(e.communityOverrides),e.pages&&D(e.pages),e.collections&&T(e.collections),void 0!==e.navigation&&M(e.navigation),e.footerLinks&&R(e.footerLinks),e.starterPubs&&U(e.starterPubs),e.defaultMembers&&z(e.defaultMembers),void 0!==e.facetOverrides&&_(e.facetOverrides||{}),void 0!==e.customCSS&&V(e.customCSS)}})})))))},Dp=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var Ip=({hubId:e})=>{const[t,a]=Object(n.useState)([]),[r,o]=Object(n.useState)(!0),[i,s]=Object(n.useState)(!1),[u,m]=Object(n.useState)("scratch"),[d,p]=Object(n.useState)(null),[b,h]=Object(n.useState)(null),[g,f]=Object(n.useState)(""),[y,v]=Object(n.useState)(""),[E,O]=Object(n.useState)(""),[w,C]=Object(n.useState)(""),[N,j]=Object(n.useState)([]),k=Object(n.useCallback)(()=>Dp(null,null,(function*(){const t=yield Ae.a.get(`/api/hubs/${e}/templates`);a(t),o(!1)})),[e]);Object(n.useEffect)(()=>{k()},[k]);const S=Object(n.useCallback)(()=>Dp(null,null,(function*(){var t;h("create");try{if("clone"===u){const a=yield Ae.a.post(`/api/hubs/${e}/templates/from-community`,{communityUrl:w,slug:y,title:g,description:E||null});(null==(t=a._warnings)?void 0:t.length)&&j(a._warnings)}else yield Ae.a.post(`/api/hubs/${e}/templates`,{slug:y,title:g,description:E||null});s(!1),f(""),v(""),O(""),C(""),m("scratch"),yield k()}finally{h(null)}})),[e,u,y,g,E,w,k]),P=Object(n.useCallback)(e=>Dp(null,null,(function*(){h("toggle:"+e.id);try{yield Ae.a.put("/api/communityTemplates/"+e.id,{isActive:!e.isActive}),yield k()}finally{h(null)}})),[k]),D=Object(n.useCallback)(e=>Dp(null,null,(function*(){h("delete:"+e);try{yield Ae.a.delete("/api/communityTemplates/"+e),yield k()}finally{h(null)}})),[k]);return l.a.createElement("div",null,l.a.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:16}},l.a.createElement("h3",{style:{margin:0}},"Community Templates"),l.a.createElement("div",{style:{display:"flex",gap:8}},l.a.createElement(c.c,{icon:"add",text:"Create Template",intent:"primary",onClick:()=>s(!0)}))),l.a.createElement("p",{style:{color:"#666",marginBottom:16,maxWidth:860}},"Templates are presented to users creating new communities through this hub. They let you define common setups — such as default pages, layouts, navigation, collections, and styling — that are automatically applied when someone creates a new community. Active templates appear as options in the community creation flow. You can create a template from scratch or clone one from an existing community."),N.length>0&&l.a.createElement(c.e,{intent:"warning",icon:"info-sign",style:{marginBottom:16},title:"Template created with notes"},l.a.createElement("ul",{style:{margin:0,paddingLeft:20}},N.map(e=>l.a.createElement("li",{key:e},e))),l.a.createElement(c.c,{small:!0,minimal:!0,text:"Dismiss",style:{marginTop:4},onClick:()=>j([])})),r?l.a.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8,maxWidth:860}},Array.from({length:3},(e,t)=>l.a.createElement(c.f,{key:t,style:{padding:"12px 16px"}},l.a.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},l.a.createElement("div",{className:"skeleton-line",style:{width:"40%",height:16}}),l.a.createElement("div",{className:"skeleton-line",style:{width:"25%",height:12}}))))):0===t.length?l.a.createElement(c.v,{title:"No templates yet",description:"Create a template to offer users a starting point when creating communities.",icon:"document"}):l.a.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8,maxWidth:860}},l.a.createElement("div",{style:{display:"flex",justifyContent:"flex-end",padding:"0 16px",fontSize:12,color:"#5c7080",fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",paddingRight:66}},l.a.createElement("span",null,"Active")),t.map(e=>l.a.createElement(c.f,{key:e.id,style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 16px"}},l.a.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},e.avatar&&l.a.createElement("img",{src:e.avatar,alt:"",style:{width:36,height:36,borderRadius:4,objectFit:"cover"}}),l.a.createElement("div",null,l.a.createElement("span",{role:"button",tabIndex:0,className:"template-row-title",onClick:()=>p(e.id),onKeyDown:t=>{"Enter"===t.key&&p(e.id)}},e.title),l.a.createElement("div",{style:{fontSize:12,color:"#999",display:"flex",alignItems:"center",gap:6}},l.a.createElement("span",null,e.slug),null!=e.communityCount&&l.a.createElement("span",{style:{opacity:.6}},"(",Number(e.communityCount)," ",1===Number(e.communityCount)?"community":"communities",")")),e.description&&l.a.createElement("div",{style:{fontSize:13,color:"#666"}},e.description))),l.a.createElement("div",{style:{display:"flex",gap:8,alignItems:"center"}},l.a.createElement(c.c,{icon:"edit",minimal:!0,onClick:()=>p(e.id),disabled:!!b}),l.a.createElement(c.G,{style:{marginBottom:0},checked:e.isActive,onChange:()=>P(e),innerLabel:"off",innerLabelChecked:"on",disabled:b==="toggle:"+e.id}),l.a.createElement(c.z,{content:l.a.createElement("div",{style:{padding:16,maxWidth:260}},l.a.createElement("p",{style:{marginBottom:12}},"Delete this template? This cannot be undone."),l.a.createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:8}},l.a.createElement(c.c,{className:"bp3-popover-dismiss",text:"Cancel"}),l.a.createElement(c.c,{intent:"danger",text:"Delete",loading:b==="delete:"+e.id,onClick:()=>D(e.id)}
1)))},l.a.createElement(c.c,{icon:"trash",minimal:!0,intent:"danger",disabled:!!b})))))),l.a.createElement(c.j,{title:"Create Template",isOpen:i,onClose:()=>{s(!1),m("scratch"),f(""),v(""),O(""),C("")},style:{width:520}},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("div",{style:{display:"flex",gap:8,marginBottom:16}},l.a.createElement(c.c,{active:"scratch"===u,icon:"document",text:"From Scratch",onClick:()=>m("scratch"),style:{flex:1}}),l.a.createElement(c.c,{active:"clone"===u,icon:"duplicate",text:"From Existing Community",onClick:()=>m("clone"),style:{flex:1}})),"clone"===u&&l.a.createElement(l.a.Fragment,null,l.a.createElement(c.e,{intent:"primary",icon:"info-sign",style:{marginBottom:16}},"Create a template by extracting the structure of an existing PubPub community — including settings, pages, collections, navigation, and styling. Members and publications are not copied."),l.a.createElement(c.n,{label:"Community URL",labelFor:"hub-clone-url"},l.a.createElement(c.r,{id:"hub-clone-url",placeholder:"e.g. my-community.pubpub.org",value:w,onChange:e=>C(e.target.value)}))),"scratch"===u&&l.a.createElement("p",{style:{color:"#5c7080",fontSize:14,marginBottom:12}},"Start with a blank template and configure pages, layouts, navigation, and styling using the template editor."),l.a.createElement(c.n,{label:"Title",labelFor:"hub-create-title"},l.a.createElement(c.r,{id:"hub-create-title",value:g,onChange:e=>{f(e.target.value),v(Object(mt.f)(e.target.value))}})),l.a.createElement(c.n,{label:"Slug",labelFor:"hub-create-slug"},l.a.createElement(c.r,{id:"hub-create-slug",value:y,onChange:e=>v(Object(mt.f)(e.target.value))})),l.a.createElement(c.n,{label:"Description",labelFor:"hub-create-desc"},l.a.createElement(c.M,{id:"hub-create-desc",fill:!0,value:E,onChange:e=>O(e.target.value)}))),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:()=>{s(!1),m("scratch")}},"Cancel"),l.a.createElement(c.c,{intent:"primary",onClick:S,loading:"create"===b,disabled:!g||!y||"clone"===u&&!w},"clone"===u?"Clone & Create":"Create")))),d&&l.a.createElement(Pp,{templateId:d,isOpen:!0,onClose:()=>p(null),onSaved:k,onDeleted:k}))},Tp=(a(1438),Object.defineProperty),xp=Object.defineProperties,Ap=Object.getOwnPropertyDescriptors,Mp=Object.getOwnPropertySymbols,Lp=Object.prototype.hasOwnProperty,Rp=Object.prototype.propertyIsEnumerable,Fp=(e,t,a)=>t in e?Tp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Up=(e,t)=>{for(var a in t||(t={}))Lp.call(t,a)&&Fp(e,a,t[a]);if(Mp)for(var a of Mp(t))Rp.call(t,a)&&Fp(e,a,t[a]);return e},Bp=(e,t)=>xp(e,Ap(t)),zp=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const $p=e=>e?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):"—",_p=e=>{const[t,a]=e.split("-");return`${["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][parseInt(a,10)-1]} ${t}`},Hp=(e,t)=>t?"https://"+t:`https://${e}.pubpub.org`,Vp=(e,t,a)=>`${Hp(t,a)}/pub/${e}`,qp=e=>{const t=new Date;return t.setDate(t.getDate()-e),t.toISOString().slice(0,10)},Wp={"30d":30,"90d":90,"1yr":365,"2yr":730},Gp={"30d":"30 days","90d":"90 days","1yr":"1 year","2yr":"2 years"},Yp=({rows:e=5,cols:t=4})=>l.a.createElement("div",{className:"data-table-wrapper"},l.a.createElement("table",{className:"data-table skeleton-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,Array.from({length:t},(e,t)=>l.a.createElement("th",{key:t},l.a.createElement("div",{className:"skeleton-line",style:{width:0===t?"60%":"50%"}}))))),l.a.createElement("tbody",null,Array.from({length:e},(e,a)=>l.a.createElement("tr",{key:a},Array.from({length:t},(e,t)=>l.a.createElement("td",{key:t},l.a.createElement("div",{className:"skeleton-line",style:{width:45+(a+t)%4*12+"%"}})))))))),Kp=({data:e,color:t="#137cbd",width:a=100,height:n=24})=>{if(!e.length)return null;const r=Math.max(...e.map(e=>e.views),1),o=e.map((t,l)=>`${l/Math.max(e.length-1,1)*a},${n-t.views/r*(n-2)}`),i=o.join(" "),s=`M0,${n} L${o.map(e=>""+e).join(" L")}
1 L${a},${n} Z`;return l.a.createElement("svg",{width:a,height:n,className:"mini-sparkline"},l.a.createElement("path",{d:s,fill:t,fillOpacity:.15}),l.a.createElement("polyline",{points:i,fill:"none",stroke:t,strokeWidth:1.5}))},Jp=({scope:e})=>{if(0===e.totalCount)return null;const t=e.grantedCount===e.totalCount?`All ${e.totalCount} communities`:`${e.grantedCount} of ${e.totalCount} communities`;return l.a.createElement(c.N,{content:0===e.grantedCount?l.a.createElement("span",null,"No communities have granted analytics access"):l.a.createElement("div",{style:{maxWidth:260}},l.a.createElement("div",{style:{fontWeight:600,marginBottom:4}},"Analytics from:"),e.grantedNames.map(e=>l.a.createElement("div",{key:e},e)))},l.a.createElement(c.J,{minimal:!0,round:!0,icon:"eye-open",className:"analytics-scope-tag"},t))},Qp=({data:e,accentColor:t})=>{const a=Math.max(...e.map(e=>e.count),1);return l.a.createElement("div",{className:"spark-bar"},e.map(e=>l.a.createElement("div",{key:e.month,className:"spark-bar-col",title:`${_p(e.month)}: ${e.count}`},l.a.createElement("div",{className:"spark-bar-fill",style:{height:e.count/a*100+"%",backgroundColor:t}}),l.a.createElement("span",{className:"spark-bar-label"},_p(e.month).slice(0,3)))))},Zp=({label:e,value:t,sub:a,accent:n})=>l.a.createElement("div",{className:"stat-card",style:n?{borderTopColor:n}:void 0},l.a.createElement("div",{className:"stat-card-value"},"number"==typeof t?t.toLocaleString():t),l.a.createElement("div",{className:"stat-card-label"},e,a&&l.a.createElement("span",{className:"stat-card-sub"},a))),Xp={title:e=>e.title.toLowerCase(),pubs:e=>e.pubCount,releases:e=>e.releaseCount,authors:e=>e.authorCount,month:e=>e.recentPubCount,views:e=>e.pageViews||0,downloads:e=>e.downloads||0,latest:e=>e.newestPub||""},eb=({orgData:e,onRangeChange:t,activeRange:a,customStart:r,customEnd:o,onCustomStartChange:i,onCustomEndChange:s})=>{const{summary:u,pubsByMonth:m,communityStats:d,dailyViews:p,analyticsScope:b}=e,h=e.hub.accentColorDark||"#2D2E2F",[g,f]=Object(n.useState)("pubs"),[y,v]=Object(n.useState)("desc"),E=e=>{g===e?v("desc"===y?"asc":"desc"):(f(e),v("title"===e?"asc":"desc"))},O=e=>g!==e?null:l.a.createElement("span",{className:"sg-sort-arrow"},"asc"===y?"▲":"▼"),w=Object(n.useMemo)(()=>{const e=Xp[g];return[...d].sort((t,a)=>{const n=e(t),l=e(a),r=n<l?-1:n>l?1:0;return"asc"===y?r:-r})},[d,g,y]),C=Object(n.useMemo)(()=>{const e=(null==p?void 0:p.length)||0;return e<=30?6:e<=90?13:e<=365?29:59},[p]),N=b&&b.grantedCount>0;return l.a.createElement("div",{className:"tab-overview"},l.a.createElement("div",{className:"stat-grid"},l.a.createElement(Zp,{label:"Communities",value:u.communityCount,accent:h}),l.a.createElement(Zp,{label:"Publications",value:u.pubCount,accent:h}),l.a.createElement(Zp,{label:"Releases",value:u.releaseCount,accent:h}),l.a.createElement(Zp,{label:"Collections",value:u.collectionCount,accent:h}),l.a.createElement(Zp,{label:"Authors",value:u.authorCount,accent:h}),l.a.createElement(Zp,{label:"Pubs This Year",value:u.pubsThisYear,accent:h}),N&&u.totalPageViews>0&&l.a.createElement(Zp,{label:"Page Views",value:u.totalPageViews,sub:"Last 2 years",accent:h}),N&&u.totalDownloads>0&&l.a.createElement(Zp,{label:"Downloads",value:u.totalDownloads,sub:"Last 2 years",accent:h})),N&&l.a.createElement("div",{className:"section"},l.a.createElement("div",{className:"section-header"},l.a.createElement("h3",{className:"section-title"},"Page Views ",l.a.createElement(Jp,{scope:b})),l.a.createElement("div",{className:"time-range-controls"},l.a.createElement(c.d,null,Object.keys(Gp).map(e=>l.a.createElement(c.c,{key:e,small:!0,text:Gp[e],active:a===e,onClick:()=>t(e)}))),l.a.createElement("span",{className:"time-range-custom"},l.a.createElement("input",{type:"date",value:r,onChange:e=>i(e.target.value)}),l.a.createElement("span",{className:"time-range-dash"},"–"),l.a.createElement("input",{type:"date",value:o,onChange:e=>s(e.target.value)})))),p&&p.length>0?l.a.createElement("div",{className:"daily-views-chart"},l.a.createElement(nl.a,{width:"100%",height:220},l.a.createElement(ll.a,{data:p,margin:{top:5,right:10,left:0,bottom:0}},l.a.createElement("defs",null,l.a.createElement("linearGradient",{id:"viewsFill",x1:"0",y1:"0",x2:"0",y2:"1"}
1,l.a.createElement("stop",{offset:"5%",stopColor:h,stopOpacity:.3}),l.a.createElement("stop",{offset:"95%",stopColor:h,stopOpacity:.02}))),l.a.createElement(ol.a,{dataKey:"date",tickFormatter:e=>new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric"}),interval:C,tick:{fontSize:11},axisLine:!1,tickLine:!1}),l.a.createElement(il.a,{tickFormatter:e=>e.toLocaleString(),tick:{fontSize:11},axisLine:!1,tickLine:!1,width:50}),l.a.createElement(sl.a,{labelFormatter:e=>new Date(e).toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric",year:"numeric"}),formatter:e=>[e.toLocaleString(),"Views"]}),l.a.createElement(cl.a,{type:"monotone",dataKey:"views",stroke:h,strokeWidth:2,fill:"url(#viewsFill)"})))):l.a.createElement("div",{className:"section-empty"},"No view data for selected period.")),m.length>0&&l.a.createElement("div",{className:"section"},l.a.createElement("h3",{className:"section-title"},"Publication Activity"),l.a.createElement(Qp,{data:m,accentColor:h})),0===m.length&&l.a.createElement("div",{className:"section"},l.a.createElement("h3",{className:"section-title"},"Publication Activity"),l.a.createElement("div",{className:"section-empty"},"No publications in selected period.")),l.a.createElement("div",{className:"section"},l.a.createElement("h3",{className:"section-title"},"Community Breakdown"),l.a.createElement("div",{className:"data-table-wrapper"},l.a.createElement("table",{className:"data-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",{className:"sortable",onClick:()=>E("title")},"Community ",O("title")),l.a.createElement("th",{className:"num sortable",onClick:()=>E("pubs")},"Pubs ",O("pubs")),l.a.createElement("th",{className:"num sortable",onClick:()=>E("releases")},"Releases ",O("releases")),l.a.createElement("th",{className:"num sortable",onClick:()=>E("authors")},"Authors ",O("authors")),N&&l.a.createElement("th",{className:"num sortable",onClick:()=>E("downloads")},"Downloads ",O("downloads")),N&&l.a.createElement("th",{className:"num sortable",onClick:()=>E("views")},"Total Views ",O("views")),N&&l.a.createElement("th",{className:"sparkline-col"},"Views (90d)"),l.a.createElement("th",{className:"sortable",onClick:()=>E("latest")},"Latest Pub ",O("latest")))),l.a.createElement("tbody",null,w.map(e=>{var t;return l.a.createElement("tr",{key:e.id},l.a.createElement("td",null,l.a.createElement("a",{href:Hp(e.subdomain,e.domain),target:"_blank",rel:"noopener noreferrer"},e.title)),l.a.createElement("td",{className:"num"},e.pubCount.toLocaleString()),l.a.createElement("td",{className:"num"},e.releaseCount.toLocaleString()),l.a.createElement("td",{className:"num"},e.authorCount.toLocaleString()),N&&l.a.createElement("td",{className:"num"},"granted"===e.dataAccess&&e.downloads?e.downloads.toLocaleString():"—"),N&&l.a.createElement("td",{className:"num"},"granted"===e.dataAccess&&e.pageViews?e.pageViews.toLocaleString():"—"),N&&l.a.createElement("td",{className:"sparkline-col"},"granted"===e.dataAccess&&(null==(t=e.sparkline)?void 0:t.length)>0?l.a.createElement(Kp,{data:e.sparkline,color:e.accentColorDark||h}):l.a.createElement("span",{className:"no-access"},"—")),l.a.createElement("td",{className:"date"},$p(e.newestPub)))}))))))},tb=({orgData:e})=>{const[t,a]=Object(n.useState)(""),r=e.recentPubs.some(e=>{var t;return(null==(t=e.sparkline)?void 0:t.length)>0}),o=Object(n.useMemo)(()=>{if(!t.trim())return e.recentPubs;const a=t.toLowerCase();return e.recentPubs.filter(e=>e.title.toLowerCase().includes(a)||e.communityTitle.toLowerCase().includes(a)||e.authors.some(e=>e.name.toLowerCase().includes(a)))},[e.recentPubs,t]);return l.a.createElement("div",{className:"tab-pubs"},l.a.createElement("div",{className:"tab-toolbar"},l.a.createElement("span",{className:"tab-toolbar-count"},o.length," recent publications"),l.a.createElement(c.r,{className:"tab-filter",leftIcon:"search",placeholder:"Filter by title, community, author...",value:t,onChange:e=>a(e.target.value)})),l.a.createElement("div",{className:"data-table-wrapper"},l.a.createElement("table",{className:"data-table data-table-dense"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Title"),l.a.createElement("th",null,"Authors"),l.a.createElement("th",null,"Community"),r&&l.a.createElement("th",{className:"sparkline-col"},"Activity"),l.a.createElement("th",null,"Created"),l.a.createElement("th",null,"Published"))),l.a.createElement("tbody",null,o.map(e=>{var t;return l.a.createElement("tr",{key:e.id},l.a.createElement("td",{className:"pub-title-cell"},l.a.createElement("a",{href:Vp(e.slug,e.communitySubdomain,e.communityDomain),target:"_blank",rel:"noopener noreferrer"},e.title),e.description&&l.a.createElement("span",{className:"pub-desc"},e.description)),l.a.createElement("td",{className:"authors-cell"},e.authors.slice(0,3).map(e=>l.a.createElement("span",{key:e.name,className:"author-chip"},e.avatar?l.a.createElement("img",{className:"author-chip-avatar",src:e.avatar,alt:""}):l.a.createElement("span",{className:"author-chip-initials"},e.name.charAt(0)),e.slug?l.a.createElement("a",{href:"/user/"+e.slug,className:"author-chip-name"},e.name):l.a.createElement("span",{className:"author-chip-name"},e.name))),e.authors.length>3&&l.a.createElement("span",{className:"author-more"},"+",e.authors.length-3)),l.a.createElement("td",null,l.a.createElement("a",{href:Hp(e.communitySubdomain,e.communityDomain),target:"_blank",rel:"noopener noreferrer"},e.communityTitle)),r&&l.a.createElement("td",{className:"sparkline-cell"},(null==(t=e.sparkline)?void 0:t.length)>0?l.a.createElement(Kp,{data:e.sparkline.map(e=>({views:e.views})),width:80,height:24,color:"#5c7080"}):l.a.createElement("span",{style:{opacity:.3}},"—")),l.a.createElement("td",{className:"date"},$p(e.createdAt)),l.a.createElement("td",{className:"date"},$p(e.customPublishedAt)))})))))},ab=({orgData:e})=>{const[t,a]=Object(n.useState)(""),r=Object(n.useMemo)(()=>{if(!t.trim())return e.topAuthors;const a=t.toLowerCase();return e.topAuthors.filter(e=>e.name.toLowerCase().includes(a)||e.communities.some(e=>e.toLowerCase().includes(a)))},[e.topAuthors,t]);return l.a.createElement("div",{className:"tab-authors"},l.a.createElement("div",{className:"tab-toolbar"},l.a.createElement("span",{className:"tab-toolbar-count"},r.length," authors"),l.a.createElement(c.r,{className:"tab-filter",leftIcon:"search",placeholder:"Filter by name or community...",value:t,onChange:e=>a(e.target.value)})),l.a.createElement("div",{className:"data-table-wrapper"},l.a.createElement("table",{className:"data-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"#"),l.a.createElement("th",null,"Author"),l.a.createElement("th",{className:"num"},"Publications"),l.a.createElement("th",null,"Communities"),l.a.createElement("th",null,"ORCID"))),l.a.createElement("tbody",null,r.map((e,t)=>l.a.createElement("tr",{key:e.slug||e.name},l.a.createElement("td",{className:"rank"},t+1),l.a.createElement("td",null,l.a.createElement("div",{className:"author-cell"},e.avatar?l.a.createElement("img",{className:"author-cell-avatar",src:e.avatar,alt:""}):l.a.createElement("span",{className:"author-cell-initials"},e.name.charAt(0)),l.a.createElement("div",{className:"author-cell-info"},e.slug?l.a.createElement("a",{href:"/user/"+e.slug,className:"author-cell-name"},e.name):l.a.createElement("span",{className:"author-cell-name"},e.name)))),l.a.createElement("td",{className:"num"},e.pubCount),l.a.createElement("td",null,l.a.createElement("div",{className:"tag-list"},e.communities.map(e=>l.a.createElement(c.J,{key:e,minimal:!0,round:!0,className:"community-tag"},e)))),l.a.createElement("td",{className:"orcid"},e.orcid?l.a.createElement("a",{href:"https://orcid.org/"+e.orcid,target:"_blank",rel:"noopener noreferrer"},e.orcid):"—")))))))},nb=({c:e,accent:t})=>{var a;const[r,o]=Object(n.useState)(!1),[i,s]=Object(n.useState)(!1),u=Object(n.useRef)(null);return Object(n.useEffect)(()=>{const e=u.current;e&&s(e.scrollHeight>e.clientHeight+2)},[]),l.a.createElement("div",{className:"community-detail-card",key:e.id},l.a.createElement("div",{className:"community-detail-accent",style:{backgroundColor:e.accentColorDark||t}}),l.a.createElement("div",{className:"community-detail-header"},l.a.createElement("a",{className:"community-detail-title",href:Hp(e.subdomain,e.domain),target:"_blank",rel:"noopener noreferrer"},e.title),(null==(a=e.sparkline)?void 0:a.length)>0&&"granted"===e.dataAccess&&l.a.createElement(Kp,{data:e.sparkline,color:e.accentColorDark||t,width:120,height:28})),l.a.createElement("div",{className:"community-detail-stats"},l.a.createElement("div",{className:"cds"},l.a.createElement("span",{className:"cds-val"},e.pubCount.toLocaleString()),l.a.createElement("span",{className:"cds-label"},"Pubs")),l.a.createElement("div",{className:"cds"},l.a.createElement("span",{className:"cds-val"},e.releaseCount.toLocaleString()),l.a.createElement("span",{className:"cds-label"},"Releases")),l.a.createElement("div",{className:"cds"},l.a.createElement("span",{className:"cds-val"},e.authorCount.toLocaleString()),l.a.createElement("span",{className:"cds-label"},"Authors")),l.a.createElement("div",{className:"cds"},l.a.createElement("span",{className:"cds-val"},e.collectionCount.toLocaleString()),l.a.createElement("span",{className:"cds-label"},"Collections")),"granted"===e.dataAccess&&e.pageViews>0&&l.a.createElement("div",{className:"cds"},l.a.createElement("span",{className:"cds-val"},e.pageViews.toLocaleString()),l.a.createElement("span",{className:"cds-label"},"Views (90d)")),"granted"===e.dataAccess&&e.downloads>0&&l.a.createElement("div",{className:"cds"},l.a.createElement("span",{className:"cds-val"},e.downloads.toLocaleString()),l.a.createElement("span",{className:"cds-label"},"Downloads (90d)"))),l.a.createElement("div",{className:"community-detail-meta"},l.a.createElement("span",null,"Latest pub: ",$p(e.newestPub)),l.a.createElement("span",null,"Oldest pub: ",$p(e.oldestPub)),l.a.createElement("span",null,"This month: ",l.a.createElement("strong",null,e.recentPubCount))),"granted"===e.dataAccess&&e.managers&&e.managers.length>0&&l.a.createElement("div",{className:"community-detail-managers"},l.a.createElement("div",{ref:u,className:"community-manager-list"+(r?" expanded":"")},e.managers.map(e=>l.a.createElement("div",{key:e.slug||e.name,className:"community-manager-item"},e.avatar?l.a.createElement("img",{className:"community-manager-avatar",src:e.avatar,alt:""}):l.a.createElement("div",{className:"community-manager-initials"},e.name.charAt(0)),e.slug?l.a.createElement("a",{href:"/user/"+e.slug},e.name):l.a.createElement("span",null,e.name)))),i&&!r&&l.a.createElement("div",{className:"community-manager-show-more"},l.a.createElement(c.c,{small:!0,minimal:!0,icon:"more",text:"Show more",onClick:()=>o(!0)}))))},lb=({orgData:e})=>{const{communityStats:t}=e,a=e.hub.accentColorDark||"#2D2E2F";return l.a.createElement("div",{className:"tab-communities"},l.a.createElement("div",{className:"community-cards"},t.map(e=>l.a.createElement(nb,{key:e.id,c:e,accent:a}))))},rb=({orgData:e})=>{const t={issue:"Issue",book:"Book",conference:"Conference",tag:"Tag"};return l.a.createElement("div",{className:"tab-collections"},l.a.createElement("div",{className:"data-table-wrapper"},l.a.createElement("table",{className:"data-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"#"),l.a.createElement("th",null,"Collection"),l.a.createElement("th",null,"Type"),l.a.createElement("th",null,"Community"),l.a.createElement("th",{className:"num"},"Pubs"))),l.a.createElement("tbody",null,e.topCollections.map((e,a)=>l.a.createElement("tr",{key:e.id},l.a.createElement("td",{className:"rank"},a+1),l.a.createElement("td",null,e.title),l.a.createElement("td",null,l.a.createElement(c.J,{minimal:!0},t[e.kind]||e.kind)),l.a.createElement("td",null,e.communityTitle),l.a.createElement("td",{className:"num"},e.pubCount)))))))},ob=({onSelect:e,disabled:t})=>{const[a,r]=Object(n.useState)(""),[o,i]=Object(n.useState)([]),[s,u]=Object(n.useState)(!1),[m,d]=Object(n.useState)(!1),p=Object(n.useRef)(null),b=Object(n.useRef)(null);Object(n.useEffect)(()=>{const e=e=>{b.current&&!b.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);return l.a.createElement("div",{className:"user-autocomplete",ref:b},l.a.createElement(c.r,{placeholder:"Search by name, slug, or email...",value:a,onChange:e=>(e=>{if(r(e),p.current&&clearTimeout(p.current),e.trim().length<2)return i([]),void u(!1);p.current=setTimeout(()=>zp(null,null,(function*(){d(!0);try{const t=yield Ae.a.get("/api/search/users?q="+encodeURIComponent(e.trim()));i(t),u(!0)}catch(e){i([])}finally{d(!1)}})),250)})(e.target.value),onFocus:()=>o.length>0&&u(!0),leftIcon:"search",small:!0,disabled:t,rightElement:m?l.a.createElement("span",{className:"ua-loading"},"..."):void 0}),s&&o.length>0&&l.a.createElement("div",{className:"ua-dropdown"},o.map(t=>l.a.createElement("div",{key:t.id,className:"ua-option",role:"option",tabIndex:0,onClick:()=>(e(t),r(""),i([]),void u(!1))},t.avatar?l.a.createElement("img",{className:"ua-avatar",src:t.avatar,alt:""}):l.a.createElement("span",{className:"ua-initials"},t.initials),l.a.createElement("div",{className:"ua-info"},l.a.createElement("span",{className:"ua-name"},t.fullName),l.a.createElement("span",{className:"ua-slug"},"@",t.slug))))),s&&0===o.length&&a.trim().length>=2&&!m&&l.a.createElement("div",{className:"ua-dropdown"},l.a.createElement("div",{className:"ua-empty"},"No users found")))},ib=({onSelect:e,disabled:t})=>{const[a,r]=Object(n.useState)(""),[o,i]=Object(n.useState)([]),[s,u]=Object(n.useState)(!1),[m,d]=Object(n.useState)(!1),p=Object(n.useRef)(null),b=Object(n.useRef)(null);Object(n.useEffect)(()=>{const e=e=>{b.current&&!b.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);return l.a.createElement("div",{className:"community-autocomplete",ref:b},l.a.createElement(c.r,{placeholder:"Search by name or subdomain...",value:a,onChange:e=>(e=>{r(e),p.current&&clearTimeout(p.current);let t=e.trim();try{const e=new URL(t).hostname.match(/^([^.]+)\.pubpub\.org$/);e&&(t=e[1])}catch(e){}if(t.length<2)return i([]),void u(!1);p.current=setTimeout(()=>zp(null,null,(function*(){d(!0);try{const e=yield Ae.a.get("/api/search/communities?q="+encodeURIComponent(t));i(e),u(!0)}catch(e){i([])}finally{d(!1)}})),250)})(e.target.value),onFocus:()=>o.length>0&&u(!0),leftIcon:"search",small:!0,disabled:t,rightElement:m?l.a.createElement("span",{className:"ua-loading"},"..."):void 0}),s&&o.length>0&&l.a.createElement("div",{className:"ca-dropdown"},o.map(t=>l.a.createElement("div",{key:t.id,className:"ca-option",role:"option",tabIndex:0,onClick:()=>(e(t),r(""),i([]),void u(!1))},t.heroLogo?l.a.createElement("img",{className:"ca-logo",src:t.heroLogo,alt:""}):l.a.createElement("span",{className:"ca-logo-placeholder",style:{background:t.accentColorDark||"#394b59"}},t.title.charAt(0).toUpperCase()),l.a.createElement("div",{className:"ca-info"},l.a.createElement("span",{className:"ca-name"},t.title),l.a.createElement("span",{className:"ca-subdomain"},t.subdomain,".pubpub.org"),t.description&&l.a.createElement("span",{className:"ca-desc"},t.description.slice(0,80),t.description.length>80?"…":""))))),s&&0===o.length&&a.trim().length>=2&&!m&&l.a.createElement("div",{className:"ca-dropdown"},l.a.createElement("div",{className:"ca-empty"},"No communities found")))},sb=({onSelect:e,disabled:t})=>{const[a,r]=Object(n.useState)(""),[o,i]=Object(n.useState)([]),[s,u]=Object(n.useState)(!1),[m,d]=Object(n.useState)(!1),p=Object(n.useRef)(null),b=Object(n.useRef)(null);Object(n.useEffect)(()=>{const e=e=>{b.current&&!b.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);const h=e=>{r(e),p.current&&clearTimeout(p.current);const t=(e=>{try{const t=new URL(e.trim()).pathname.match(/^\/pub\/([^/]+)/);return t?t[1]:null}catch(e){return null}})(e)||e.trim();if(t.length<2)return i([]),void u(!1);p.current=setTimeout(()=>zp(null,null,(function*(){d(!0);try{const e=yield Ae.a.get(`/api/search?q=${encodeURIComponent(t)}&mode=pubs&limit=10`);i(e.results||[]),u(!0)}catch(e){i([])}finally{d(!1)}})),250)};return l.a.createElement("div",{className:"community-autocomplete",ref:b},l.a.createElement(c.r,{placeholder:"Search pubs by title or paste a PubPub URL...",value:a,onChange:e=>h(e.target.value),onFocus:()=>o.length>0&&u(!0),leftIcon:"search",small:!0,disabled:t,rightElement:m?l.a.createElement("span",{className:"ua-loading"},"..."):void 0}),s&&o.length>0&&l.a.createElement("div",{className:"ca-dropdown"},o.map(t=>l.a.createElement("div",{key:t.id,className:"ca-option",role:"option",tabIndex:0,onClick:()=>(e(t),r(""),i([]),void u(!1))},l.a.createElement("div",{className:"ca-info"},l.a.createElement("span",{className:"ca-name"},t.title),l.a.createElement("span",{className:"ca-subdomain"},t.communityTitle))))),s&&0===o.length&&a.trim().length>=2&&!m&&l.a.createElement("div",{className:"ca-dropdown"},l.a.createElement("div",{className:"ca-empty"},"No pubs found")))},cb=({orgData:e})=>{var t,a;const r=e.hub,{loginData:o}=Object(De.c)(),i=o.isSuperAdmin,s=Object(n.useMemo)(()=>new Set(e.grantableCommunityIds||[]),[e.grantableCommunityIds]),u=e=>i||s.has(e),[m,d]=Object(n.useState)(r.title||""),[p,b]=Object(n.useState)(r.subtitle||""),[h,g]=Object(n.useState)(r.de
1scription||""),[f,y]=Object(n.useState)(r.website||""),[v,E]=Object(n.useState)(r.email||""),[O,w]=Object(n.useState)(r.avatar||""),[C,N]=Object(n.useState)(r.heroImage||""),[j,k]=Object(n.useState)(r.heroLogo||""),[S,P]=Object(n.useState)(r.accentColorLight||"#FFFFFF"),[D,I]=Object(n.useState)(r.accentColorDark||"#2D2E2F"),[T,x]=Object(n.useState)(null==(t=r.communityCreationEnabled)||t),[M,L]=Object(n.useState)(null!=(a=r.communityCloneAccess)?a:"off"),[R,F]=Object(n.useState)(!1),[U,B]=Object(n.useState)(!1),[z,$]=Object(n.useState)(!1),[_,H]=Object(n.useState)(""),[V,q]=Object(n.useState)([]),[W,G]=Object(n.useState)(!1),[Y,K]=Object(n.useState)(""),[J,Q]=Object(n.useState)(!1),[Z,X]=Object(n.useState)([]),[ee,te]=Object(n.useState)(!1),[ae,ne]=Object(n.useState)(""),[le,re]=Object(n.useState)(!1),[oe,ie]=Object(n.useState)([]),[se,ce]=Object(n.useState)(!1),[ue,me]=Object(n.useState)(""),de=Object(n.useMemo)(()=>new Set(e.grantablePubIds||[]),[e.grantablePubIds]),pe=e=>i||de.has(e),be=Object(n.useRef)(!1);Object(n.useEffect)(()=>{be.current||(be.current=!0,Promise.all([Ae.a.get(`/api/hubs/${r.id}/managers`),Ae.a.get(`/api/hubs/${r.id}/communities`),Ae.a.get(`/api/hubs/${r.id}/pubs`)]).then(([e,t,a])=>{q(e),X(t),ie(a)}))},[r.id]);const he=()=>{Q(!0),setTimeout(()=>Q(!1),2e3)},ge=()=>{re(!0),setTimeout(()=>re(!1),2e3)},fe=e=>zp(null,null,(function*(){try{yield Ae.a.put(`/api/hubs/${r.id}/communities/${e}`,{dataAccess:"granted"}),X(t=>t.map(t=>t.id===e?Bp(Up({},t),{dataAccess:"granted"}):t)),ge()}catch(e){ne((null==e?void 0:e.message)||"You must be a community admin or superadmin to grant access")}})),ye=()=>{ce(!0),setTimeout(()=>ce(!1),2e3)},ve=e=>zp(null,null,(function*(){try{yield Ae.a.put(`/api/hubs/${r.id}/pubs/${e}`,{dataAccess:"granted"}),ie(t=>t.map(t=>t.pubId===e?Bp(Up({},t),{dataAccess:"granted"}):t)),ye()}catch(e){me((null==e?void 0:e.message)||"You must be a pub or community admin to grant access")}})),Ee=Object(n.useCallback)((e,t)=>{var a;const n={title:d,subtitle:b,description:g,avatar:w,heroImage:N,heroLogo:k,accentColorLight:P,accentColorDark:I};null==(a=n[e])||a.call(n,t)},[]),Oe=Object(n.useCallback)(e=>{H(e),$(!0)},[]);return l.a.createElement("div",{className:"tab-settings"},l.a.createElement("div",{className:"settings-section"},l.a.createElement("div",{className:"settings-section-header"},l.a.createElement("h3",{className:"settings-section-title"},"Hub Info"),l.a.createElement(c.c,{small:!0,minimal:!0,icon:"lifesaver",title:"Import from site",onClick:()=>Oe((r.domains||[])[0]||"")})),l.a.createElement("div",{className:"settings-form"},l.a.createElement(c.n,{label:"Title",labelFor:"s-title"},l.a.createElement(c.r,{id:"s-title",value:m,onChange:e=>d(e.target.value)})),l.a.createElement(c.n,{label:"Subtitle",labelFor:"s-subtitle"},l.a.createElement(c.r,{id:"s-subtitle",value:p,onChange:e=>b(e.target.value)})),l.a.createElement(c.n,{label:"Description",labelFor:"s-desc"},l.a.createElement(c.M,{id:"s-desc",fill:!0,value:h,onChange:e=>g(e.target.value),rows:3})),l.a.createElement("div",{className:"settings-row"},l.a.createElement(c.n,{label:"Website",labelFor:"s-website"},l.a.createElement(c.r,{id:"s-website",value:f,onChange:e=>y(e.target.value),placeholder:"https://..."})),l.a.createElement(c.n,{label:"Contact Email",labelFor:"s-email"},l.a.createElement(c.r,{id:"s-email",value:v,onChange:e=>E(e.target.value)}))),l.a.createElement("div",{className:"settings-row settings-images-row"},l.a.createElement(A.P,{key:O,htmlFor:"s-avatar",label:"Avatar / Logo (square)",defaultImage:O,height:80,width:80,canClear:!0,onNewImage:e=>w(e)}),l.a.createElement(A.P,{key:j,htmlFor:"s-hero-logo",label:"Hero Logo (wider)",defaultImage:j,height:60,width:200,canClear:!0,onNewImage:e=>k(e)})),l.a.createElement("div",{className:"settings-row settings-images-row"},l.a.createElement(A.P,{key:C,htmlFor:"s-hero-image",label:"Hero Background Image",defaultImage:C,height:100,width:300,canClear:!0,onNewImage:e=>N(e)})),l.a.createElement("div",{className:"settings-row"},l.a.createElement(c.n,{label:"Accent Color (Light)"},l.a.createElement(A.o,{value:S,onChange:e=>P(e.hex)})),l.a.createElement(c.n,{label:"Accent Color (Dark)"},l.a.createElement(A.o,{value:D,onChange:e=>I(e.hex)}))),l.a.createElement("div",{className:"settings-row",style:{marginBottom:12}},l.a.createElement(c.G,{checked:T,label:'Show "Create Community" button on Hub landing page',onChange:()=>x(!T)}),l.a.createElement(c.n,{label:'"Clone from Community" option',style:{marginBottom:0,marginTop:8},disabled:!T},l.a.createElement(c.o,{value:M,onChange:e=>L(e.target.value),disabled:!T},l.a.createElement("option",{value:"off"},"Off"),l.a.createElement("option",{value:"everyone"},"Everyone"),l.a.createElement("option",{value:"managers"},"Hub managers only")))),l.a.createElement("div",{className:"settings-save-row"},l.a.createElement(c.c,{intent:"primary",text:R?"Saving...":"Save Changes",onClick:()=>zp(null,null,(function*(){F(!0),B(!1);try{yield Ae.a.put("/api/hubs/"+r.id,{title:m,subtitle:p,description:h,website:f,email:v,avatar:O,heroImage:C,heroLogo:j,accentColorLight:S,accentColorDark:D,communityCreationEnabled:T,communityCloneAccess:M}),B(!0),setTimeout(()=>B(!1),2e3)}finally{F(!1)}})),disabled:R}),U&&l.a.createElement("span",{className:"settings-saved-msg"},"Saved!")))),l.a.createElement("div",{className:"settings-section"},l.a.createElement("h3",{className:"settings-section-title"},"Managers",J&&l.a.createElement("span",{className:"settings-saved-msg"},"Saved!")),l.a.createElement(ob,{onSelect:e=>zp(null,null,(function*(){G(!0),K("");try{yield Ae.a.post(`/api/hubs/${r.id}/managers`,{userId:e.id});const t=yield Ae.a.get(`/api/hubs/${r.id}/managers`);q(t),he()}catch(e){K((null==e?void 0:e.message)||"Failed to add manager")}finally{G(!1)}})),disabled:W}),Y&&l.a.createElement(c.e,{intent:"danger",className:"settings-error"},Y),l.a.createElement("div",{className:"settings-list"},V.map(e=>{var t,a,n,o;return l.a.createElement("div",{className:"settings-list-item",key:e.userId},l.a.createElement("span",{className:"settings-list-name"},(null==(t=e.user)?void 0:t.avatar)?l.a.createElement("img",{className:"settings-list-avatar",src:e.user.avatar,alt:""}):l.a.createElement("span",{className:"settings-list-initials"},(null==(a=e.user)?void 0:a.initials)||"?"),(null==(n=e.user)?void 0:n.fullName)||e.userId,(null==(o=e.user)?void 0:o.slug)&&l.a.createElement("span",{className:"settings-list-slug"},"@",e.user.slug)),l.a.createElement(c.c,{small:!0,minimal:!0,intent:"danger",icon:"cross",onClick:()=>{return t=e.userId,zp(null,null,(function*(){try{yield Ae.a.delete(`/api/hubs/${r.id}/managers/${t}`),q(e=>e.filter(e=>e.userId!==t)),he()}catch(e){K((null==e?void 0:e.message)||"Failed to remove manager")}}));var t}}))}),0===V.length&&l.a.createElement("div",{className:"settings-empty"},"No managers added yet."))),l.a.createElement("div",{className:"settings-section"},l.a.createElement("h3",{className:"settings-section-title"},"Communities",le&&l.a.createElement("span",{className:"settings-saved-msg"},"Saved!")),l.a.createElement(ib,{onSelect:e=>zp(null,null,(function*(){te(!0),ne("");try{yield Ae.a.post(`/api/hubs/${r.id}/communities`,{subdomain:e.subdomain});const t=yield Ae.a.get(`/api/hubs/${r.id}/communities`);X(t),ge()}catch(e){ne((null==e?void 0:e.message)||"Failed to add community")}finally{te(!1)}})),disabled:ee}),ae&&l.a.createElement(c.e,{intent:"danger",className:"settings-error"},ae),l.a.createElement("div",{className:"settings-community-table"},l.a.createElement("table",null,l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Community"),l.a.createElement("th",{className:"col-toggle"},"Landing Page"),l.a.createElement("th",{className:"col-access"},"Data Access"),l.a.createElement("th",{className:"col-actions"}))),l.a.createElement("tbody",null,Z.map(e=>l.a.createElement("tr",{key:e.id},l.a.createElement("td",null,l.a.createElement("a",{href:e.domain?"https://"+e.domain:`https://${e.subdomain}.pubpub.org`,target:"_blank",rel:"noopener noreferrer"},e.title),l.a.createElement("span",{className:"settings-list-slug"},e.subdomain,".pubpub.org")),l.a.createElement("td",{className:"col-toggle"},l.a.createElement(c.G,{checked:!1!==e.showOnLandingPage,onChange:()=>{return t=e.id,a=!1===e.showOnLandingPage,zp(null,null,(function*(){try{yield Ae.a.put(`/api/hubs/${r.id}/communities/${t}`,{showOnLandingPage:a}),X(e=>e.map(e=>e.id===t?Bp(Up({},e),{showOnLandingPage:a}):e)),ge()}catch(e){ne((null==e?void 0:e.message)||"Failed to update")}}));var t,a},innerLabel:"off",innerLabelChecked:"on"})),l.a.createElement("td",{className:"col-access"},"granted"===e.dataAccess&&l.a.createElement(c.J,{minimal:!0,intent:"success"},"Granted"),"requested"===e.dataAccess&&(u(e.id)?l.a.createElement("span",{className:"col-access-pending"},l.a.createElement(c.J,{minimal:!0,intent:"warning"},"Pending"),l.a.createElement(c.c,{small:!0,minimal:!0,intent:"success",icon:"tick",text:"Grant",onClick:()=>fe(e.id)})):l.a.createElement(c.J,{minimal:!0,intent:"warning"},"Pending")),(!e.dataAccess||"none"===e.dataAccess)&&(u(e.id)?l.a.createElement(c.c,{small:!0,minimal:!0,intent:"success",icon:"tick",text:"Grant",onClick:()=>fe(e.id)}):l.a.createElement(c.c,{small:!0,minimal:!0,icon:"lock",text:"Request",onClick:()=>{return t=e.id,zp(null,null,(function*(){try{yield Ae.a.put(`/api/hubs/${r.id}/communities/${t}`,{dataAccess:"requested"}),X(e=>e.map(e=>e.id===t?Bp(Up({},e),{dataAccess:"requested"}):e)),ge()}catch(e){ne((null==e?void 0:e.message)||"Failed to request data access")}}));var t}}))),l.a.createElement("td",{className:"col-actions"},l.a.createElement(c.c,{small:!0,minimal:!0,intent:"danger",icon:"cross",onClick:()=>{return t=e.id,zp(null,null,(function*(){try{yield Ae.a.delete(`/api/hubs/${r.id}/communities/${t}`),X(e=>e.filter(e=>e.id!==t)),ge()}catch(e){ne((null==e?void 0:e.message)||"Failed to remove community")}}));var t}})))))),0===Z.length&&l.a.createElement("div",{className:"settings-empty"},"No communities added yet."))),l.a.createElement("div",{className:"settings-section"},l.a.createElement("h3",{className:"settings-section-title"},"Curated Pubs",se&&l.a.createElement("span",{className:"settings-saved-msg"},"Saved!")),l.a.createElement("p",{className:"settings-help"},"Pubs curated by this hub. Use the Suggested Pubs tab to discover and add pubs."),l.a.createElement(sb,{onSelect:e=>zp(null,null,(function*(){try{me(""),yield Ae.a.post(`/api/hubs/${r.id}/pubs`,{pubId:e.id});const t=yield Ae.a.get(`/api/hubs/${r.id}/pubs`);ie(t),ye()}catch(e){me((null==e?void 0:e.message)||"Failed to add pub")}}))}),ue&&l.a.createElement(c.e,{intent:"danger",className:"settings-error"},ue),l.a.createElement("div",{className:"settings-community-table"},l.a.createElement("table",null,l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Pub"),l.a.createElement("th",null,"Community"),l.a.createElement("th",{className:"col-toggle"},"Landing Page"),l.a.createElement("th",{className:"col-access"},"Data Access"),l.a.createElement("th",{className:"col-actions"}))),l.a.createElement("tbody",null,oe.map(e=>{var t,a,n,o,i,s,u;return l.a.createElement("tr",{key:e.id},l.a.createElement("td",null,l.a.createElement("a",{href:Vp((null==(t=e.pub)?void 0:t.slug)||"",(null==(n=null==(a=e.pub)?void 0:a.community)?void 0:n.subdomain)||"",(null==(i=null==(o=e.pub)?void 0:o.community)?void 0:i.domain)||null),target:"_blank",rel:"noopener noreferrer"},(null==(s=e.pub)?void 0:s.title)||"(unknown)")),l.a.createElement("td",null,(null==(u=e.pub)?void 0:u.community)?l.a.createElement("a",{href:Hp(e.pub.community.subdomain,e.pub.community.domain||null),target:"_blank",rel:"noopener noreferrer"},e.pub.community.title):"—"),l.a.createElement("td",{className:"col-toggle"},l.a.createElement(c.G,{checked:!1!==e.showOnLandingPage,onChange:()=>zp(null,null,(function*(){const t=!1===e.showOnLandingPage;yield Ae.a.put(`/api/hubs/${r.id}/pubs/${e.pubId}`,{showOnLandingPage:t}),ie(a=>a.map(a=>a.pubId===e.pubId?Bp(Up({},a),{showOnLandingPage:t}):a)),ye()})),innerLabel:"off",innerLabelChecked:"on"})),l.a.createElement("td",{className:"col-access"},"granted"===e.dataAccess&&l.a.createElement(c.J,{minimal:!0,intent:"success"},"Granted"),"requested"===e.dataAccess&&(pe(e.pubId)?l.a.createElement("span",{className:"col-access-pending"},l.a.createElement(c.J,{minimal:!0,intent:"warning"},"Pending"),l.a.createElement(c.c,{small:!0,minimal:!0,intent:"success",icon:"tick",text:"Grant",onClick:()=>ve(e.pubId)})):l.a.createElement(c.J,{minimal:!0,intent:"warning"},"Pending")),(!e.dataAccess||"none"===e.dataAccess)&&(pe(e.pubId)?l.a.createElement(c.c,{small:!0,minimal:!0,intent:"success",icon:"tick",text:"Grant",onClick:()=>ve(e.pubId)}):l.a.createElement(c.c,{small:!0,minimal:!0,icon:"lock",text:"Request",onClick:()=>{return t=e.pubId,zp(null,null,(function*(){try{yield Ae.a.put(`/api/hubs/${r.id}/pubs/${t}`,{dataAccess:"requested"}),ie(e=>e.map(e=>e.pubId===t?Bp(Up({},e),{dataAccess:"requested"}):e)),ye()}catch(e){me((null==e?void 0:e.message)||"Failed to request data access")}}));var t}}))),l.a.createElement("td",{className:"col-actions"},l.a.createElement(c.c,{small:!0,minimal:!0,intent:"danger",icon:"cross",onClick:()=>{return t=e.pubId,zp(null,null,(function*(){try{yield Ae.a.delete(`/api/hubs/${r.id}/pubs/${t}`),ie(e=>e.filter(e=>e.pubId!==t)),ye()}catch(e){me((null==e?void 0:e.message)||"Failed to remove pub")}}));var t}})))}))),0===oe.length&&l.a.createElement("div",{className:"settings-empty"},"No pubs curated yet. Use the Suggested Pubs tab to discover and add pubs."))),l.a.createElement("div",{className:"settings-section"},l.a.createElement("h3",{className:"settings-section-title"},"Email Domains"),l.a.createElement("p",{className:"settings-help"},"Email domains are managed by PubPub administrators and are used to discover suggested communities."),l.a.createElement("div",{className:"settings-tag-list"},(r.domains||[]).map(e=>l.a.createElement(c.J,{key:e,large:!0,minimal:!0,round:!0},e)),0===(r.domains||[]).length&&l.a.createElement("div",{className:"settings-empty"},"No email domains configured."))),l.a.createElement("div",{className:"settings-section"},l.a.createElement("h3",{className:"settings-section-title"},"Pub Search Terms"),l.a.createElement("p",{className:"settings-help"},"Pub search terms are managed by PubPub administrators and are used to discover suggested pubs via full-text search."),l.a.createElement("div",{className:"settings-tag-list"},(r.pubSearchTerms||[]).map(e=>l.a.createElement(c.J,{key:e,large:!0,minimal:!0,round:!0},e)),0===(r.pubSearchTerms||[]).length&&l.a.createElement("div",{className:"settings-empty"},"No pub search terms configured."))),l.a.createElement(yd,{isOpen:z,domain:_,onClose:()=>$(!1),onApply:Ee}))},ub={title:e=>e.title.toLowerCase(),managers:e=>e.managerCount,authors:e=>e.authorCount,pubs:e=>e.pubCount,created:e=>e.createdAt,status:e=>e.alreadyAdded?1:0},mb=({orgId:e})=>{const[t,a]=Object(n.useState)(null),[r,o]=Object(n.useState)(!1),[i,s]=Object(n.useState)(""),[u,m]=Object(n.useState)("authors"),[d,p]=Object(n.useState)("desc"),b=Object(n.useRef)(!1);Object(n.useEffect)(()=>{b.current||(b.current=!0,o(!0),Ae.a.get(`/api/hubs/${e}/suggested-communities`).then(e=>a(e)).catch(()=>a([])).finally(()=>o(!1)))},[e]);const h=Object(n.useCallback)(t=>zp(null,null,(function*(){yield Ae.a.post(`/api/hubs/${e}/communities`,{communityId:t});const n=yield Ae.a.get(`/api/hubs/${e}/suggested-communities`);a(n)})),[e]),g=Object(n.useCallback)(t=>zp(null,null,(function*(){yield Ae.a.delete(`/api/hubs/${e}/communities/${t}`);const n=yield Ae.a.get(`/api/hubs/${e}/suggested-communities`);a(n)})),[e]),f=e=>{u===e?p("desc"===d?"asc":"desc"):(m(e),p("title"===e?"asc":"desc"))},y=e=>u!==e?null:l.a.createElement("span",{className:"sg-sort-arrow"},"asc"===d?"▲":"▼"),v=Object(n.useMemo)(()=>
1{if(!t)return[];let e=t;if(i.trim()){const t=i.toLowerCase();e=e.filter(e=>e.title.toLowerCase().includes(t)||e.subdomain.toLowerCase().includes(t)||(e.description||"").toLowerCase().includes(t))}const a=ub[u];return[...e].sort((e,t)=>{const n=a(e),l=a(t),r=n<l?-1:n>l?1:0;return"asc"===d?r:-r})},[t,i,u,d]);if(r||!t)return l.a.createElement("div",{className:"tab-suggested"},l.a.createElement(Yp,{rows:5,cols:4}));if(0===t.length)return l.a.createElement("div",{className:"tab-suggested"},l.a.createElement("div",{className:"suggested-empty"},"No suggested communities found. Add email domains in the hub settings to discover related communities."));const E=t.filter(e=>e.alreadyAdded).length;return l.a.createElement("div",{className:"tab-suggested"},l.a.createElement("div",{className:"sg-summary-bar"},l.a.createElement("span",{className:"sg-summary-stat"},l.a.createElement("strong",null,t.length)," communities discovered"),l.a.createElement("span",{className:"sg-summary-sep"}),l.a.createElement("span",{className:"sg-summary-stat"},l.a.createElement("strong",null,E)," already added"),l.a.createElement("span",{className:"sg-summary-sep"}),l.a.createElement("span",{className:"sg-summary-stat"},l.a.createElement("strong",null,t.length-E)," available"),l.a.createElement(c.r,{className:"sg-filter",leftIcon:"search",placeholder:"Filter by name or subdomain...",value:i,onChange:e=>s(e.target.value),small:!0})),l.a.createElement("div",{className:"sg-help"},"Based on your hub’s email domains. Counts reflect only managers, authors, and pubs associated with users whose email matches your configured domains."),l.a.createElement("div",{className:"data-table-wrapper"},l.a.createElement("table",{className:"data-table sg-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",{className:"sg-th sg-th-title",onClick:()=>f("title")},"Community ",y("title")),l.a.createElement("th",{className:"sg-th sg-th-num",onClick:()=>f("managers")},"Managers ",y("managers")),l.a.createElement("th",{className:"sg-th sg-th-num",onClick:()=>f("authors")},"Authors ",y("authors")),l.a.createElement("th",{className:"sg-th sg-th-num",onClick:()=>f("pubs")},"Pubs ",y("pubs")),l.a.createElement("th",{className:"sg-th sg-th-date",onClick:()=>f("created")},"Created ",y("created")),l.a.createElement("th",{className:"sg-th sg-th-status",onClick:()=>f("status")},"Status ",y("status")),l.a.createElement("th",{className:"sg-th sg-th-action"}))),l.a.createElement("tbody",null,v.map(e=>l.a.createElement("tr",{key:e.communityId,className:e.alreadyAdded?"sg-row-added":""},l.a.createElement("td",{className:"sg-td-title"},l.a.createElement("a",{href:Hp(e.subdomain,e.domain),target:"_blank",rel:"noopener noreferrer",className:"sg-community-link"},e.title),l.a.createElement("span",{className:"sg-subdomain"},e.subdomain,".pubpub.org")),l.a.createElement("td",{className:"num"},e.managerCount||"—"),l.a.createElement("td",{className:"num"},e.authorCount||"—"),l.a.createElement("td",{className:"num"},e.pubCount.toLocaleString()),l.a.createElement("td",{className:"date"},$p(e.createdAt)),l.a.createElement("td",{className:"sg-td-status"},e.alreadyAdded&&l.a.createElement(c.J,{minimal:!0,intent:"success"},"Added")),l.a.createElement("td",{className:"sg-td-action"},e.alreadyAdded?l.a.createElement(c.c,{small:!0,minimal:!0,intent:"danger",icon:"cross",text:"Remove",onClick:()=>g(e.communityId)}):l.a.createElement(c.c,{small:!0,minimal:!0,intent:"primary",icon:"plus",text:"Add",onClick:()=>h(e.communityId)}))))))))},db={title:e=>e.title.toLowerCase(),community:e=>e.communityTitle.toLowerCase(),published:e=>e.publishedAt||"",status:e=>e.alreadyAdded?1:0},pb=({orgId:e,curatedCommunityIds:t})=>{const[a,r]=Object(n.useState)(null),[o,i]=Object(n.useState)(0),[s,u]=Object(n.useState)(!1),[m,d]=Object(n.useState)(""),[p,b]=Object(n.useState)("published"),[h,g]=Object(n.useState)("desc"),[f,y]=Object(n.useState)(new Set),[v,E]=Object(n.useState)(!0),[O,w]=Object(n.useState)(0),C=Object(n.useRef)(!1),N=Object(n.useCallback)((a,...n)=>zp(null,[a,...n],(function*(a,n=v){var l,o,s;u(!0);try{let c=`/api/hubs/${e}/suggested-pubs?limit=50&offset=${50*a}`;n&&t.length>0&&(c+="&excludeCommunityIds="+t.join(","));const m=yield Ae.a.get(c);r(null!=(l=m.pubs)?l:m),i(null!=(s=m.total)?s:(null!=(o=m.pubs)?o:m).length),w(a)}catch(e){r([]),i(0)}finally{u(!1)}})),[e,t,v]);Object(n.useEffect)(()=>{C.current||(C.current=!0,N(0))},[N]);const j=Object(n.useCallback)(t=>zp(null,null,(function*(){yield Ae.a.post(`/api/hubs/${e}/pubs`,{pubId:t}),yield N(O)})),[e,O,N]),k=Object(n.useCallback)(t=>zp(null,null,(function*(){yield Ae.a.delete(`/api/hubs/${e}/pubs/${t}`),yield N(O)})),[e,O,N]),S=e=>{p===e?g("desc"===h?"asc":"desc"):(b(e),g("title"===e||"community"===e?"asc":"desc"))},P=e=>p!==e?null:l.a.createElement("span",{className:"sg-sort-arrow"},"asc"===h?"▲":"▼"),D=Object(n.useMemo)(()=>
1{if(!a)return[];let e=a;if(m.trim()){const t=m.toLowerCase();e=e.filter(e=>e.title.toLowerCase().includes(t)||(e.description||"").toLowerCase().includes(t)||(e.byline||"").toLowerCase().includes(t)||e.communityTitle.toLowerCase().includes(t))}const t=db[p];return[...e].sort((e,a)=>{const n=t(e),l=t(a),r=n<l?-1:n>l?1:0;return"asc"===h?r:-r})},[a,m,p,h]);if(s||!a)return l.a.createElement("div",{className:"tab-suggested"},l.a.createElement(Yp,{rows:6,cols:5}));if(0===a.length)return l.a.createElement("div",{className:"tab-suggested"},l.a.createElement("div",{className:"suggested-empty"},"No suggested pubs found. Ask a superadmin to configure pub search terms for this hub."));const I=a.filter(e=>e.alreadyAdded).length,T=Math.ceil(o/50);return l.a.createElement("div",{className:"tab-suggested"},l.a.createElement("div",{className:"sg-summary-bar"},l.a.createElement("span",{className:"sg-summary-stat"},l.a.createElement("strong",null,o)," pubs discovered"),l.a.createElement("span",{className:"sg-summary-sep"}),l.a.createElement("span",{className:"sg-summary-stat"},l.a.createElement("strong",null,I)," added on this page"),l.a.createElement(c.G,{style:{marginBottom:0,marginLeft:8},checked:v,label:"Only show pubs from non-curated communities",onChange:()=>{const e=!v;E(e),N(0,e)},inline:!0}),l.a.createElement(c.r,{className:"sg-filter",leftIcon:"search",placeholder:"Filter by title, author, or community...",value:m,onChange:e=>d(e.target.value),small:!0})),l.a.createElement("div",{className:"sg-help"},"Based on your hub’s configured pub search terms. Results are from full-text search across all publicly released pubs."),l.a.createElement("div",{className:"data-table-wrapper"},l.a.createElement("table",{className:"data-table sg-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",{className:"sg-th sg-th-title",onClick:()=>S("title")},"Pub ",P("title")),l.a.createElement("th",{className:"sg-th sg-th-community",onClick:()=>S("community")},"Community ",P("community")),l.a.createElement("th",{className:"sg-th sg-th-date",onClick:()=>S("published")},"Published ",P("published")),l.a.createElement("th",{className:"sg-th sg-th-status",onClick:()=>S("status")},"Status ",P("status")),l.a.createElement("th",{className:"sg-th sg-th-action"}))),l.a.createElement("tbody",null,D.map(e=>l.a.createElement("tr",{key:e.id,className:e.alreadyAdded?"sg-row-added":""},l.a.createElement("td",{className:"sg-td-title"},l.a.createElement("a",{href:e.communityDomain?`https://${e.communityDomain}/pub/${e.slug}`:`https://${e.communitySlug}.pubpub.org/pub/${e.slug}`,target:"_blank",rel:"noopener noreferrer",className:"sg-title"},e.title),e.byline&&l.a.createElement("span",{className:"sg-desc"},e.byline),e.snippet&&l.a.createElement("span",{className:"sg-snippet"+(f.has(e.id)?" sg-snippet-expanded":""),role:"button",tabIndex:0,onClick:()=>y(t=>{const a=new Set(t);return a.has(e.id)?a.delete(e.id):a.add(e.id),a}),onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),y(t=>{const a=new Set(t);return a.has(e.id)?a.delete(e.id):a.add(e.id),a}))},dangerouslySetInnerHTML:{__html:e.snippet}})),l.a.createElement("td",null,l.a.createElement("a",{href:e.communityDomain?"https://"+e.communityDomain:`https://${e.communitySlug}.pubpub.org`,target:"_blank",rel:"noopener noreferrer",className:"sg-community-link"},e.communityTitle)),l.a.createElement("td",{className:"date"},e.publishedAt?$p(e.publishedAt):"—"),l.a.createElement("td",{className:"sg-td-status"},e.alreadyAdded&&l.a.createElement(c.J,{minimal:!0,intent:"success"},"Added")),l.a.createElement("td",{className:"sg-td-action"},e.alreadyAdded?l.a.createElement(c.c,{small:!0,minimal:!0,intent:"danger",icon:"cross",text:"Remove",onClick:()=>k(e.id)}):l.a.createElement(c.c,{small:!0,minimal:!0,intent:"primary",icon:"plus",text:"Add",onClick:()=>j(e.id)}))))))),T>1&&l.a.createElement("div",{className:"sg-pagination"},l.a.createElement(c.c,{small:!0,minimal:!0,icon:"chevron-left",disabled:0===O,onClick:()=>N(O-1)}),l.a.createElement("span",{className:"sg-page-info"},"Page ",O+1," of ",T),l.a.createElement(c.c,{small:!0,minimal:!0,icon:"chevron-right",disabled:O>=T-1,onClick:()=>N(O+1)})))};var bb=e=>{const[t,a]=Object(n.useState)(e.orgData),{loginData:r}=Object(De.c)(),o=t.hub,i=o.accentColorDark||"#2D2E2F",s=o.accentColorLight||"#FFFFFF",[u,m]=Object(n.useState)("1yr"),[d,p]=Object(n.useState)(qp(365)),[b,h]=Object(n.useState)((new Date).toISOString().slice(0,10)),g=Object(n.useCallback)((e,t)=>zp(null,null,(function*(){try{const n=yield Ae.a.get(`/api/hubs/slug/${o.slug}/data?startDate=${e}&endDate=${t}`);a(n)}catch(e){}})),[o.slug]),f=Object(n.useCallback)(e=>{m(e);const t=qp(Wp[e]),a=(new Date).toISOString().slice(0,10);p(t),h(a),g(t,a)},[g]),y=Object(n.useCallback)(e=>{p(e),m(null),g(e,b)},[b,g]),v=Object(n.useCallback)(e=>{h(e),m(null),g(d,e)},[d,g]),E=t.analyticsScope&&t.analyticsScope.grantedCount>0;return l.a.createElement("div",{className:"hub-data-component"},l.a.createElement("div",{className:"od-header",style:{backgroundColor:i}},l.a.createElement("div",{className:"od-header-inner"},l.a.createElement("a",{href:"/hub/"+o.slug,className:"od-header-brand",style:{color:s}},o.avatar&&l.a.createElement("img",{className:"od-header-avatar",src:o.avatar,alt:""}),l.a.createElement("span",{className:"od-header-title"},o.title)),l.a.createElement("div",{className:"od-header-actions"},!o.isActive&&r.isSuperAdmin&&l.a.createElement(c.J,{intent:"warning"},"Inactive"),o.isPrivate&&l.a.createElement(c.J,{intent:"primary"},"Private"),l.a.createElement("a",{href:"/hubs/docs",className:"od-header-link",style:{color:s}},"Docs"),l.a.createElement("a",{href:`/hub/${o.slug}/data`,className:"od-header-link",style:{color:s}},"Dashboard"),r.id?l.a.createElement(R.a,{loginData:r}):l.a.createElement("a",{href:`/login?redirect=/hub/${o.slug}/data`,className:"od-header-link",style:{color:s}},"Log in")))),l.a.createElement("div",{className:"od-summary-strip"},l.a.createElement("div",{className:"od-summary-inner"},l.a.createElement("div",{className:"od-summary-item"},l.a.createElement("strong",null,t.summary.communityCount)," communities"),l.a.createElement("div",{className:"od-summary-sep"}),l.a.createElement("div",{className:"od-summary-item"}
1,l.a.createElement("strong",null,t.summary.pubCount.toLocaleString())," publications"),l.a.createElement("div",{className:"od-summary-sep"}),l.a.createElement("div",{className:"od-summary-item"},l.a.createElement("strong",null,t.summary.authorCount.toLocaleString())," authors"),l.a.createElement("div",{className:"od-summary-sep"}),l.a.createElement("div",{className:"od-summary-item"},l.a.createElement("strong",null,t.summary.releaseCount.toLocaleString())," releases"),l.a.createElement("div",{className:"od-summary-sep"}),l.a.createElement("div",{className:"od-summary-item"},l.a.createElement("strong",null,t.summary.pubsThisMonth)," pubs this month"),E&&t.summary.totalPageViews>0&&l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"od-summary-sep"}),l.a.createElement("div",{className:"od-summary-item"},l.a.createElement("strong",null,t.summary.totalPageViews.toLocaleString())," ","page views")))),l.a.createElement("div",{className:"od-body"},l.a.createElement("div",{className:"od-body-inner"},l.a.createElement(c.I,{id:"org-data-tabs",large:!0,renderActiveTabPanelOnly:!0,defaultSelectedTabId:"overview"},l.a.createElement(c.H,{id:"overview",title:"Overview",panel:l.a.createElement(eb,{orgData:t,onRangeChange:f,activeRange:u,customStart:d,customEnd:b,onCustomStartChange:y,onCustomEndChange:v})}),l.a.createElement(c.H,{id:"communities",title:"Communities",panel:l.a.createElement(lb,{orgData:t})}),l.a.createElement(c.H,{id:"pubs",title:"Publications",panel:l.a.createElement(tb,{orgData:t})}),l.a.createElement(c.H,{id:"authors",title:"Authors",panel:l.a.createElement(ab,{orgData:t})}),l.a.createElement(c.H,{id:"collections",title:"Collections",panel:l.a.createElement(rb,{orgData:t})}),l.a.createElement(c.H,{id:"graph",title:"Graphs",panel:l.a.createElement(Vd,{orgData:t})}),l.a.createElement(c.H,{id:"suggested",title:"Suggested Communities",panel:l.a.createElement(mb,{orgId:o.id})}),l.a.createElement(c.H,{id:"suggested-pubs",title:"Suggested Pubs",panel:l.a.createElement(pb,{orgId:o.id,curatedCommunityIds:t.communities.map(e=>e.id)})}),l.a.createElement(c.H,{id:"templates",title:"Templates",panel:l.a.createElement(Ip,{hubId:o.id})}),l.a.createElement(c.H,{id:"settings",title:"Settings",panel:l.a.createElement(cb,{orgData:t})})))))};a(1439);var hb=e=>{const{hubs:t}=e,{loginData:a}=Object(De.c)(),[r,o]=Object(n.useState)(""),i=Object(n.useMemo)(()=>{if(!r.trim())return t;const e=r.toLowerCase();return t.filter(t=>t.title.toLowerCase().includes(e)||t.subtitle&&t.subtitle.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))},[t,r]);t.reduce((e,t)=>e+t.communityCount,0),t.reduce((e,t)=>e+t.pubCount,0);return l.a.createElement("div",{className:"hub-directory-component"},l.a.createElement("div",{className:"org-dir-hero"},l.a.createElement("div",{className:"org-dir-hero-inner"},l.a.createElement("p",{className:"org-dir-hero-eyebrow"},"PubPub Hubs"),l.a.createElement("h1",{className:"org-dir-hero-title"},"Advancing Open Knowledge Together"),l.a.createElement("p",{className:"org-dir-hero-subtitle"},"Explore work on PubPub, curated by the universities, libraries, presses, foundations, and research groups using PubPub to publish and share knowledge openly."),l.a.createElement("div",{className:"org-dir-hero-actions"},l.a.createElement("a",{href:"mailto:[email protected]",className:"org-dir-hero-cta"},"Become a Partner"),l.a.createElement("a",{href:"/hubs/pricing",className:"org-dir-hero-cta-secondary"},"Learn More")))),l.a.createElement(A.L,null,l.a.createElement("div",{className:"org-dir-body"},l.a.createElement("div",{className:"org-dir-toolbar"},l.a.createElement(c.r,{className:"org-dir-filter",leftIcon:"search",placeholder:"Search hubs...",value:r,onChange:e=>o(e.target.value),large:!0})),0===i.length&&l.a.createElement(c.v,{icon:"search",title:"No hubs found",description:r?"Try adjusting your search.":"No hubs are listed yet."}),l.a.createElement("div",{className:"org-dir-grid"},i.map(e=>{const t=e.accentColorDark||"#2D2E2F",n=e.accentColorLight||"#FFFFFF",r=!!e.heroImage,o=Object(ed.b)(e.heroImage,"outside",800),i=r?{backgroundImage:`url("${o}")`,backgroundColor:t}:{background:`linear-gradient(135deg, ${t} 0%, ${n} 100%)`};return l.a.createElement("a",{className:"org-dir-card",href:"/hub/"+e.slug,key:e.id},l.a.createElement("div",{className:"org-dir-card-hero",style:i},l.a.createElement("div",{className:"org-dir-card-hero-overlay"}),l.a.createElement("div",{className:"org-dir-card-hero-content"},e.heroLogo?l.a.createElement("img",{className:"org-dir-card-logo",src:e.heroLogo,alt:e.title}):e.avatar?l.a.createElement("img",{className:"org-dir-card-avatar",src:e.avatar,alt:e.title}):l.a.createElement("div",{className:"org-dir-card-monogram",style:{backgroundColor:n,color:t}},e.title.charAt(0).toUpperCase()))),l.a.createElement("div",{className:"org-dir-card-body"},l.a.createElement("div",{className:"org-dir-card-accent",style:{backgroundColor:t}}),l.a.createElement("h3",{className:"org-dir-card-title"},e.title,!e.isActive&&a.isSuperAdmin&&l.a.createElement(c.J,{minimal:!0,intent:"warning",style:{marginLeft:8,verticalAlign:"middle"}},"Inactive")),e.subtitle&&l.a.createElement("p",{className:"org-dir-card-subtitle"},e.subtitle),e.description&&l.a.createElement("p",{className:"org-dir-card-description"},e.description),l.a.createElement("div",{className:"org-dir-card-meta"},l.a.createElement("span",{className:"org-dir-card-stat"},l.a.createElement("strong",null,e.communityCount)," communit",1!==e.communityCount?"ies":"y"),l.a.createElement("span",{className:"org-dir-card-dot"},"·"),l.a.createElement("span",{className:"org-dir-card-stat"}
1,l.a.createElement("strong",null,e.pubCount.toLocaleString())," pub",1!==e.pubCount?"s":""))))})))))};a(1440);const gb=[{id:"what-is-a-hub",title:"What Is a Hub?",level:2},{id:"getting-started",title:"Getting Started",level:2},{id:"landing-page",title:"Landing Page",level:2},{id:"hero-section",title:"Hero & Branding",level:3},{id:"community-grid",title:"Community Grid",level:3},{id:"featured-pubs",title:"Featured Pubs",level:3},{id:"dashboard-overview",title:"Dashboard Overview",level:2},{id:"tab-overview",title:"Overview Tab",level:3},{id:"tab-communities",title:"Communities Tab",level:3},{id:"tab-publications",title:"Publications Tab",level:3},{id:"tab-authors",title:"Authors Tab",level:3},{id:"tab-collections",title:"Collections Tab",level:3},{id:"tab-graphs",title:"Graphs Tab",level:3},{id:"tab-suggested-communities",title:"Suggested Communities Tab",level:3},{id:"tab-suggested-pubs",title:"Suggested Pubs Tab",level:3},{id:"tab-templates",title:"Templates Tab",level:3},{id:"tab-settings",title:"Settings Tab",level:3},{id:"managing-communities",title:"Managing Communities",level:2},{id:"adding-communities",title:"Adding Communities",level:3},{id:"suggested-discovery",title:"Automatic Discovery",level:3},{id:"data-access",title:"Data Access Levels",level:3},{id:"community-opt-out",title:"Community Opt-Out",level:3},{id:"curated-pubs",title:"Curated Pubs",level:2},{id:"templates",title:"Community Templates",level:2},{id:"creating-templates",title:"Creating Templates",level:3},{id:"cloning-templates",title:"Cloning from a Community",level:3},{id:"template-editor",title:"Template Editor",level:3},{id:"community-creation",title:"Community Creation",level:2},{id:"creation-flow",title:"The Creation Flow",level:3},{id:"clone-access",title:"Clone from Community",level:3},{id:"domain-restrictions",title:"Domain Restrictions",level:3},{id:"auto-approval",title:"Auto-Approval",level:3},{id:"analytics",title:"Analytics",level:2},{id:"analytics-overview",title:"Page Views & Downloads",level:3},{id:"analytics-scope",title:"Analytics Scope",level:3},{id:"brand-helper",title:"Brand Helper",level:2},{id:"graphs",title:"Graph Visualizations",level:2},{id:"graph-force",title:"Force-Directed Graph",level:3},{id:"graph-bundle",title:"Edge Bundle",level:3},{id:"graph-bipartite",title:"Bipartite Layout",level:3},{id:"graph-matrix",title:"Adjacency Matrix",level:3},{id:"graph-tree",title:"Tree Layout",level:3},{id:"graph-export",title:"Data Export",level:3},{id:"managers",title:"Hub Managers",level:2}],fb=[{label:"Introduction",items:[{id:"what-is-a-hub",title:"What Is a Hub?"},{id:"getting-started",title:"Getting Started"}]},{label:"Landing Page",items:[{id:"landing-page",title:"Overview"},{id:"hero-section",title:"Hero & Branding"},{id:"community-grid",title:"Community Grid"},{id:"featured-pubs",title:"Featured Pubs"}]},{label:"Dashboard",items:[{id:"dashboard-overview",title:"Overview"},{id:"tab-overview",title:"Overview Tab"},{id:"tab-communities",title:"Communities"},{id:"tab-publications",title:"Publications"},{id:"tab-authors",title:"Authors"},{id:"tab-collections",title:"Collections"},{id:"tab-graphs",title:"Graphs"},{id:"tab-suggested-communities",title:"Suggested Communities"},{id:"tab-suggested-pubs",title:"Suggested Pubs"},{id:"tab-templates",title:"Templates"},{id:"tab-settings",title:"Settings"}]},{label:"Features",items:[{id:"managing-communities",title:"Managing Communities"},{id:"curated-pubs",title:"Curated Pubs"},{id:"templates",title:"Community Templates"},{id:"community-creation",title:"Community Creation"},{id:"clone-access",title:"Clone from Community"},{id:"analytics",title:"Analytics"},{id:"brand-helper",title:"Brand Helper"},{id:"graphs",title:"Graph Visualizations"},{id:"managers",title:"Hub Managers"}]}];var yb=()=>{const e=(e=>{const[t,a]=Object(n.useState)(e[0]);return Object(n.useEffect)(()=>{const t=new IntersectionObserver(e=>{for(const t of e)if(t.isIntersecting){a(t.target.id);break}},{rootMargin:"-80px 0px -60% 0px",threshold:0});for(const a of e){const e=document.getElementById(a);e&&t.observe(e)}return()=>t.disconnect()},[e]),t})(Object(n.useMemo)(()=>gb.map(e=>e.id),[])),t=Object(n.useCallback)(e=>{const t=document.getElementById(e);t&&t.scrollIntoView({behavior:"smooth",block:"start"})},[]),a=Object(n.useMemo)(()=>{const t=gb.findIndex(t=>t.id===e);if(-1===t)return 0;for(let e=t;e>=0;e--)if(2===gb[e].level)return e;return 0},[e]),r=Object(n.useMemo)(()=>{const e=[];for(let t=a;t<gb.length&&!(t>a&&2===gb[t].level);t++)e.push(gb[t]);return e},[a]);return l.a.createElement("div",{className:"hub-docs-page"},l.a.createElement("div",{className:"hub-docs-topbar"},l.a.createElement("div",{className:"hub-docs-topbar-inner"},l.a.createElement("a",{href:"/hubs/docs",className:"hub-docs-topbar-brand"},"PubPub Hubs Documentation"),l.a.createElement("div",{className:"hub-docs-topbar-links"},l.a.createElement("a",{href:"/hubs"},"Browse Hubs"),l.a.createElement("a",{href:"/hubs/pricing"},"Pricing")))),l.a.createElement("div",{className:"hub-docs-layout"},l.a.createElement("nav",{className:"hub-docs-sidebar"},fb.map(a=>l.a.createElement("div",{key:a.label,className:"hub-docs-sidebar-group"},l.a.createElement("div",{className:"hub-docs-sidebar-heading"},a.label),a.items.map(a=>l.a.createElement("a",{key:a.id,href:"#"+a.id,className:"hub-docs-sidebar-link"+(e===a.id?" active":""),onClick:e=>{e.preventDefault(),t(a.id)}},a.title))))),l.a.createElement("article",{className:"hub-docs-content"},l.a.createElement("h1",null,"PubPub Hubs"),l.a.createElement("p",{className:"docs-lead"},"A guide to managing your PubPub Hub, covering branding, community management, analytics, templates, and graph visualizations."),l.a.createElement("h2",{id:"what-is-a-hub"},"What Is a Hub?"),l.a.createElement("p",null,"A ",l.a.createElement("strong",null,"Hub")," is PubPub's organizational layer for institutions, foundations, and consortia that oversee multiple publishing communities. It brings together all of the communities your organization sponsors, hosts, or manages under a shared landing page with centralized analytics and administrative tools."),l.a.createElement("p",null,"Key capabilities of a Hub include:"),l.a.createElement("ul",null,l.a.createElement("li",null,"A public ",l.a.createElement("strong",null,"landing page")," showcasing your communities and highlighted publications"),l.a.createElement("li",null,"A ",l.a.createElement("strong",null,"management dashboard")," with ten tabs covering analytics, c
1ommunity oversight, templates, and more"),l.a.createElement("li",null,l.a.createElement("strong",null,"Community templates")," that let new communities start with pre-built pages, layouts, and branding"),l.a.createElement("li",null,l.a.createElement("strong",null,"Domain-restricted community creation")," so members of your organization can self-provision communities"),l.a.createElement("li",null,l.a.createElement("strong",null,"Graph visualizations")," that map the relationships between communities, authors, and publications"),l.a.createElement("li",null,"Detailed ",l.a.createElement("strong",null,"analytics")," covering page views, downloads, and publication activity")),l.a.createElement("h2",{id:"getting-started"},"Getting Started"),l.a.createElement("p",null,"Once your Hub has been created by the PubPub team, you'll receive access to two main areas:"),l.a.createElement("ol",null,l.a.createElement("li",null,l.a.createElement("strong",null,"Landing page")," at ",l.a.createElement("code",null,"pubpub.org/hub/your-slug"),", the public face of your Hub, visible to everyone."),l.a.createElement("li",null,l.a.createElement("strong",null,"Dashboard")," at ",l.a.createElement("code",null,"pubpub.org/hub/your-slug/data"),", the management console, visible only to Hub managers and PubPub admins.")),l.a.createElement("p",null,"Your first steps should be:"),l.a.createElement("ol",null,l.a.createElement("li",null,"Configure your Hub's branding in ",l.a.createElement("strong",null,"Settings")," (title, colors, logos, hero image)"),l.a.createElement("li",null,"Add communities to your Hub via the"," ",l.a.createElement("strong",null,"Settings → Communities")," section or the"," ",l.a.createElement("strong",null,"Suggested Communities")," tab"),l.a.createElement("li",null,"Optionally curate featured publications in"," ",l.a.createElement("strong",null,"Settings → Curated Pubs")),l.a.createElement("li",null,"Set up community templates if you want to offer standardized starting points")),l.a.createElement("h2",{id:"landing-page"},"Landing Page"),l.a.createElement("p",null,"The landing page is the public face of your Hub. It's designed to help visitors discover the communities and publications under your umbrella."),l.a.createElement("h3",{id:"hero-section"},"Hero & Branding"),l.a.createElement("p",null,"The top of the landing page features a customizable hero section. You can configure these elements in the ",l.a.createElement("strong",null,"Settings")," tab of the dashboard:"),l.a.createElement("ul",null,l.a.createElement("li",null,l.a.createElement("strong",null,"Hero Background Image"),": a full-width image behind the hero text"),l.a.createElement("li",null,l.a.createElement("strong",null,"Hero Logo"),": a wide-format logo placed above the title (if set, the text title is hidden)"),l.a.createElement("li",null,l.a.createElement("strong",null,"Avatar"),": a square logo shown in the navigation bar and footer"),l.a.createElement("li",null,l.a.createElement("strong",null,"Title & Subtitle"),": displayed in the hero when no hero logo is set"),l.a.createElement("li",null,l.a.createElement("strong",null,"Description"),": up to 280 characters shown below the title/subtitle"),l.a.createElement("li",null,l.a.createElement("strong",null,"Accent Colors"),": a dark and light color pair used throughout the page (navigation bar, buttons, links)")),l.a.createElement("div",{className:"docs-tip"},l.a.createElement("strong",null,"Tip:")," Use the ",l.a.createElement("strong",null,"Brand Helper")," in Settings to automatically import colors, logos, and descriptions from your institution's website."),l.a.createElement("h3",{id:"community-grid"},"Community Grid"),l.a.createElement("p",null,"Below the hero, all communities with ",l.a.createElement("strong",null,"Show on Landing Page")," ","enabled are displayed in a three-column grid. Each community card shows:"),l.a.createElement("ul",null,l.a.createElement("li",null,"The community's hero image or a gradient based on its accent color"),l.a.createElement("li",null,"Community logo, title, and description"),l.a.createElement("li",null,"The community URL and a badge with the total publication count")),l.a.createElement("p",null,"Visitors can search the grid by community name using the built-in filter bar. Communities can be toggled on or off the landing page individually in",l.a.createElement("strong",null," Settings → Communities"),"."),l.a.createElement("h3",{id:"featured-pubs"},"Featured Pubs"),l.a.createElement("p",null,"If you curate featured publications (via"," ",l.a.createElement("strong",null,"Settings → Curated Pubs"),"), they are interleaved with community cards on the landing page. Featured pubs appear in pairs and show the publication title, description, author byline, the originating community, and the publication date."),l.a.createElement("h2",{id:"dashboard-overview"},"Dashboard Overview"),l.a.createElement("p",null,"The Hub dashboard is your management console. It's accessible to Hub managers and PubPub admins at ",l.a.createElement("code",null,"pubpub.org/hub/your-slug/data"),". The dashboard is organized into ten tabs."),l.a.createElement("h3",{id:"tab-overview"},"Overview Tab"),l.a.createElement("p",null,"The Overview tab gives you a high-level summary of your Hub's activity:"),l.a.createElement("ul",null,l.a.createElement("li",null,l.a.createElement("strong",null,"Summary cards"),": total communities, publications, releases, collections, authors, pubs this year, page views, and downloads"),l.a.createElement("li",null,l.a.createElement("strong",null,"Page Views chart"),": an interactive area chart showing daily page views. Use the time range buttons (30 days, 90 days, 1 year, 2 years) or set a custom date range."),l.a.createElement("li",null,l.a.createElement("strong",null,"Publication Activity"),": a sparkbar showing monthly publication counts"),l.a.createElement("li",null,l.a.createElement("strong",null,"Community Breakdown"),": a sortable table listing every community with their pub count, releases, authors, downloads, total views, a 90-day views sparkline, and the date of their latest publication")),l.a.createElement("div",{className:"docs-note"},l.a.createElement("strong",null,"Note:")," Page view and download data is only available for communities and pubs that have ",l.a.createElement("strong",null,"granted")," data access. The Analytics Scope badge at the top of the chart shows how many communities are included."),l.a.createElement("h3",{id:"tab-communities"},"Communities Tab"),l.a.createElement("p",null,"A card-based view of every community in your Hub. Each card shows:"),l.a.createElement("ul",null,l.a.createElement("li",null,"An accent color bar matching the community's branding"),l.a.createElement("li",null,"Key stats: pubs, releases, authors, collections, views, downloads"),l.a.createElement("li",null,"Meta information: latest pub date, oldest pub date, pubs this month"),l.a.createElement("li",null,"A 90-day page views sparkline (if data access is granted)"),l.a.createElement("li",null,"Community manager list (expandable, if data access is granted)")),l.a.createElement("h3",{id:"tab-publications"},"Publications Tab"),l.a.createElement("p",null,"A searchable, filterable table of publications across all your communities (up to 2,000 recent pubs). Columns include:"),l.a.createElement("ul",null,l.a.createElement("li",null,"Title and description"),l.a.createElement("li",null,"Authors (shown as avatar chips)"),l.a.createElement("li",null,"Originating community"),l.a.createElement("li",null,"Activity sparkline"),l.a.createElement("li",null,"Created and published dates")),l.a.createElement("h3",{id:"tab-authors"},"Authors Tab"),l.a.createElement("p",null,"A table of all authors across your Hub, ranked by publication count. Shows author name (linked to their PubPub profile), total publications, the communities they've published in, and their ORCID if available."),l.a.createElement("h3",{id:"tab-collections"},"Collections Tab"),l.a.createElement("p",null,"Lists all collections from your communities. Each row shows the collection name, type (Issue, Book, Conference, or Tag), the community it belongs to, and the number of publications it contains."),l.a.createElement("h3",{id:"tab-graphs"},"Graphs Tab"),l.a.createElement("p",null,"Five different interactive visualizations of the relationships between your communities, authors, and publications. See the"," ",l.a.createElement("a",{href:"#graphs"},"Graph Visualizations")," section for full details on each type."),l.a.createElement("h3",{id:"tab-suggested-communities"},"Suggested Communities Tab"),l.a.createElement("p",null,"This tab uses your Hub's configured email domains to discover PubPub communities that may be affiliated with your organization. It identifies communities where managers or authors have email addresses matching your domains."),l.a.createElement("p",null,"The summary bar shows how many communities were discovered, how many you've already added, and how many are available. You can sort by community name, manager count, author count, pub count, or creation date, and add or remove communities directly."),l.a.createElement("div",{className:"docs-note"},l.a.createElement("strong",null,"Privacy:"),' No individual people, email addresses, or private information are shown in this tab. You only see the names of associated communities and aggregate counts (e.g. "3 managers, 12 authors"). Hubs do not expose any data that is not already publicly visible on PubPub. We take user and community privacy seriously, and this tool does not change that commitment.'),l.a.createElement("div",{className:"docs-tip"},l.a.createElement("strong",null,"Tip:")," Email domains are configured by the PubPub team. If you need to add or change domains, contact us."),l.a.createElement("h3",{id:"tab-suggested-pubs"},"Suggested Pubs Tab"),l.a.createElement("p",null,"Similar to Suggested Communities, this tab discovers publications using full-text search across PubPub. Search terms are configured by PubPub admins and matched against publication titles, abstracts, and content."),l.a.createElement("p",null,'Use the "Only show pubs from non-curated communities" toggle to filter out publications from communities already in your Hub. You can add or remove individual publications from your curated pubs list.'),l.a.createElement("div",{className:"docs-note"},l.a.createElement("strong",null,"Privacy:")," Suggested Pubs shows only publicly available publications, similar to what you would find using PubPub's public search page. No private or draft content is included."),l.a.createElement("h3",{id:"tab-templates"},"Templates Tab"),l.a.createElement("p",null,"Manage community templates that define default pages, layouts, navigation, collections, and styling for new communities. See the"," ",l.a.createElement("a",{href:"#templates"},"Community Templates")," section for full details."),l.a.createElement("h3",{id:"tab-settings"},"Settings Tab"),l.a.createElement("p",null,"The Settings tab is organized into several sections:"),l.a.createElement("ul",null,l.a.createElement("li",null,l.a.createElement("strong",null,"Hub Info"),": title, subtitle, description, website, contact email, avatar, hero logo, hero background image, accent colors, community creation toggle, community clone access setting, and the Brand Helper"),l.a.createElement("li",null,l.a.createElement("strong",null,"Managers"),": add or remove Hub managers by searching for PubPub users"),l.a.createElement("li",null,l.a.createElement("strong",null,"Communities"),": add communities by search, toggle landing page visibility, manage data access requests"),l.a.createElement("li",null,l.a.createElement("strong",null,"Curated Pubs"),": add pubs by search or PubPub URL, toggle landing page visibility, manage data access"),l.a.createElement("li",null,l.a.createElement("strong",null,"Email Domains"),": view the configured email domain patterns (managed by PubPub admins)"),l.a.createElement("li",null,l.a.createElement("strong",null,"Pub Search Terms"),": view the configured full-text search phrases (managed by PubPub admins)")),l.a.createElement("h2",{id:"managing-communities"},"Managing Communities"),l.a.createElement("h3",{id:"adding-communities"},"Adding Communities"),l.a.createElement("p",null,"There are several ways to add communities to your Hub:"),l.a.createElement("ol",null,l.a.createElement("li",null,l.a.createElement("strong",null,"Manual search"),": in Settings → Communities, search for any PubPub community by name, subdomain, or URL and add it directly."),l.a.createElement("li",null,l.a.createElement("strong",null,"Suggested Communities"),": use the Suggested Communities tab to discover communities based on email domain matching and add them with one click."),l.a.createElement("li",null,l.a.createElement("strong",null,"Community creation"),": when a user creates a new community through your Hub's landing page, it is automatically added.")),l.a.createElement("h3",{id:"suggested-discovery"},"Automatic Discovery"),l.a.createElement("p",null,"The Suggested Communities feature works by matching your Hub's configured email domains against PubPub communities. For example, if your domain is"," ",l.a.createElement("code",null,"mit.edu"),", it will find communities where managers or authors have ",l.a.createElement("code",null,"@mit.edu")," email addresses."),l.a.createElement("div",{className:"docs-note"},l.a.createElement("strong",null,"Privacy:")," No specific people or email addresses are shown to Hub managers. You only see the associated community names and aggregate counts. The Hubs tool does not expose any private information that is not already visible across PubPub."),l.a.createElement("p",null,"This can help you discover communities at your institution that you might not know about, especially where groups are publishing independently."),l.a.createElement("h3",{id:"data-access"},"Data Access Levels"),l.a.createElement("p",null,"When you add a community (or a curated pub), you can request different levels of data access:"),l.a.createElement("table",null,l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Level"),l.a.createElement("th",null,"What You See"))),l.a.createElement("tbody",null,l.a.createElement("tr",null,l.a.createElement("td",null,l.a.createElement("strong",null,"None")),l.a.createElement("td",null,"Basic listing and aggregate stats only")),l.a.createElement("tr",null,l.a.createElement("td",null,l.a.createElement("strong",null,"Requested")),l.a.createElement("td",null,"You've asked for access, awaiting the community admin's approval")),l.a.createElement("tr",null,l.a.createElement("td",null,l.a.createElement("strong",null,"Granted")),l.a.createElement("td",null,"Full analytics: page views, downloads, sparklines, manager lists, and per-pub activity")))),l.a.createElement("p",null,"Community administrators can approve or deny data access requests from their community's settings. You can see the current access level for each community in the Settings → Communities table."),l.a.createElement("h3",{id:"community-opt-out"},"Community Opt-Out"),l.a.createElement("p",null,"Community administrators have the right to opt out of your Hub at any time. When a community opts out, it will no longer appear on your landing page or in your Suggested Communities. To re-add an opted-out community, the community admin would need to opt back in."),l.a.createElement("h2",{id:"curated-pubs"},"Curated Pubs"),l.a.createElement("p",null,"In addition to managing communities, you can curate individual publications. This is useful for:"),l.a.createElement("ul",null,l.a.createElement("li",null,"Highlighting noteworthy publications on your landing page"),l.a.createElement("li",null,"Tracking publications from communities not yet in your Hub"),l.a.createElement("li",null,"Discovering publications through the Suggested Pubs search")),l.a.createElement("p",null,"Curated pubs can be added in ",l.a.createElement("strong",null,"Settings → Curated Pubs")," by searching for a pub title or pasting a PubPub URL. Like communities, curated pubs have data access levels and landing page visibility toggles."),l.a.createElement("h2",{id:"templates"},"Community Templates"),l.a.createElement("p",null,"Templates are pre-configured community setups that you can offer to users creating new communities through your Hub. A template can include:"),l.a.createElement("ul",null,l.a.createElement("li",null,"Default pages with layouts"),l.a.createElement("li",null,"Collections (issues, books, tags)"),l.a.createElement("li",null,"Navigation menus"),l.a.createElement("li",null,"Footer links"),l.a.createElement("li",null,"Accent colors and branding"),l.a.createElement("li",null,"Custom CSS"),l.a.createElement("li",null,"Facet overrides (citation style, license, etc.)")),l.a.createElement("h3",{id:"creating-templates"},"Creating Templates"),l.a.createElement("p",null,"In the ",l.a.createElement("strong",null,"Templates")," tab, click"," ",l.a.createElement("strong",null,"Create Template")," to start a new template from scratch. You'll provide a title, slug, and optional description. The template will open in the Template Editor where you can configure all its settings."),l.a.createElement("h3",{id:"cloning-templates"},"Cloning from a Community"),l.a.createElement("p",null,"The fastest way to create a template is to clone one from an existing PubPub community. Click ",l.a.createElement("strong",null,"Clone from Community")," and paste the community's URL. The system will extract:"),l.a.createElement("ul",null,l.a.createElement("li",null,"Community branding and settings (colors, logos, hero images)"),l.a.createElement("li",null,"Up to 25 public pages with their layouts"),l.a.createElement("li",null,"Up to 25 public collections with their layouts"),l.a.createElement("li",null,"Navigation structure and footer links"),l.a.createElement("li",null,"Custom CSS and facet overrides")),l.a.createElement("div",{className:"docs-note"},l.a.createElement("strong",null,"Privacy:")," Members, publications, and private content are never copied. Only the community's publicly visible structure and configuration are included (page layouts, navigation, colors, etc.). No private or draft content is ever accessed."),l.a.createElement("h3",{id:"template-editor"},"Template Editor"),l.a.createElement("p",null,"Click a template's title or edit icon to open the Template Editor. Here you can modify every aspect of the template: add or remove pages, edit layouts, change navigation, adjust branding, and more. Changes are saved to the template and will apply to future communities created with it (existing communities are not affected)."),l.a.createElement("p",null,"Each template can be toggled ",l.a.createElement("strong",null,"Active")," or"," ",l.a.createElement("strong",null,"Inactive"),". Only active templates appear as options in the community creation flow."),l.a.createElement("h2",{id:"community-creation"},"Community Creation"),l.a.createElement("h3",{id:"creation-flow"},"The Creation Flow"),l.a.createElement("p",null,'When community creation is enabled for your Hub, a "Create a Community" button appears on the landing page. Clicking it takes the user to a creation form branded with your Hub\'s identity. The form includes:'),l.a.createElement("ol",null,l.a.createElement("li",null,"A template picker (if your Hub has active templates or clone access is enabled)"),l.a.createElement("li",null,'A "Clone from Community" option (if enabled), letting users copy the structure and branding of an existing hub community'),l.a.createElement("li",null,"Community URL (subdomain), title, and description"),l.a.createElement("li",null,"Logo and accent color pickers (hidden if a template or clone source is selected)"),l.a.createElement("li",null,"Terms of service agreement")),l.a.createElement("h3",{id:"clone-access"},"Clone from Community"),l.a.createElement("p",null,"When clone access is enabled, users creating a new community through your Hub can choose to clone an existing hub community instead of starting from scratch or using a template. Cloning copies the source community's publicly visible structure: pages, layouts, navigation, collections, branding, colors, and custom CSS. No publications, members, or private content are copied."),l.a.createElement("p",null,"The clone access setting is configured in"," ",l.a.createElement("strong",null,"Settings → Hub Info")," and has three options:"),l.a.createElement("table",null,l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Setting"),l.a.createElement("th",null,"Behavior"))),l.a.createElement("tbody",null,l.a.createElement("tr",null,l.a.createElement("td",null,l.a.createElement("strong",null,"Off")),l.a.createElement("td",null,"Clone option is not shown in the creation flow (default)")),l.a.createElement("tr",null,l.a.createElement("td",null,l.a.createElement("strong",null,"Everyone")),l.a.createElement("td",null,"All users can clone from communities visible on the Hub's landing page")),l.a.createElement("tr",null,l.a.createElement("td",null,l.a.createElement("strong",null,"Hub managers only")),l.a.createElement("td",null,"Only Hub managers and PubPub admins can clone, and they can clone from any hub community (not just landing-page-visible ones)")))),l.a.createElement("p",null,"When a user selects the clone option, they pick a source community from a dropdown. The system creates a template behind the scenes from the selected community and applies it to the new community. If the same community has been cloned before, the existing template is reused."),l.a.createElement("div",{className:"docs-note"},l.a.createElement("strong",null,"Note:")," Clone access requires community creation to be enabled and at least one community in the Hub. The clone option only appears if both conditions are met."),l.a.createElement("h3",{id:"domain-restrictions"},"Domain Restrictions"),l.a.createElement("p",null,"The \"Create a Community\" button only appears to users whose email address matches one of the Hub's configured email domains. For example, if your Hub's domains include ",l.a.createElement("code",null,"stanford.edu"),", only users with a",l.a.createElement("code",null," @stanford.edu")," email can create communities through your Hub."),l.a.createElement("p",null,"Email domains are configured by the PubPub team and support subdomain matching. Setting ",l.a.createElement("code",null,"ox.ac.uk")," will match"," ",l.a.createElement("code",null,"@history.ox.ac.uk"),", ",l.a.createElement("code",null,"@cs.ox.ac.uk"),", etc."),l.a.createElement("h3",{id:"auto-approval"},"Auto-Approval"),l.a.createElement("p",null,"Communities created through a Hub skip the normal approval queue. They are immediately public and ready to use. The new community is also automatically added to the Hub with data access granted and will appear in the dashboard right away."),l.a.createElement("div",{className:"docs-tip"},l.a.createElement("strong",null,"Tip:")," This is one of the biggest advantages of Hub-based community creation. New communities are instantly live with no waiting period."),l.a.createElement("h2",{id:"analytics"},"Analytics"),l.a.createElement("h3",{id:"analytics-overview"},"Page Views & Downloads"),l.a.createElement("p",null,"The Hub dashboard aggregates page view and download data from all communities that have granted data access. Analytics are available in several places:"),l.a.createElement("ul",null,l.a.createElement("li",null,l.a.createElement("strong",null,"Overview tab"),": total page views chart with time range controls, summary cards"),l.a.createElement("li",null,l.a.createElement("strong",null,"Community Breakdown table"),": per-community totals and 90-day sparklines"),l.a.createElement("li",null,l.a.createElement("strong",null,"Communities tab"),": detailed per-community analytics cards"),l.a.createElement("li",null,l.a.createElement("strong",null,"Publications tab"),": per-pub activity sparklines")),l.a.createElement("h3",{id:"analytics-scope"},"Analytics Scope"),l.a.createElement("p",null,"Because data access requires community approval, your analytics may not cover all communities. The ",l.a.createElement("strong",null,"Analytics Scope"),' badge displayed on charts shows how many of your communities have granted access (e.g., "8 of 12 communities"). This helps you understand the coverage of the data you\'re seeing.'),l.a.createElement("h2",{id:"brand-helper"},"Brand Helper"),l.a.createElement("p",null,"The Brand Helper is a tool in the Settings tab that can automatically import your institution's branding from their website. Enter a domain (e.g.,"," ",l.a.createElement("code",null,"mit.edu"),") and the tool will fetch:"),l.a.createElement("ul",null,l.a.createElement("li",null,"Logos and favicons"),l.a.createElement("li",null,"Brand colors"),l.a.createElement("li",null,"Site title and description"),l.a.createElement("li",null,"Hero/background images")),l.a.createElement("p",null,"Each extracted asset is presented as a clickable option that you can apply to the corresponding Hub field. This saves significant time when setting up your Hub's branding."),l.a.createElement("h2",{id:"graphs"},"Graph Visualizations"),l.a.createElement("p",null,"The Graphs tab provides five different interactive visualizations of the relationships within your Hub. The
1se are useful for understanding cross-community collaboration, identifying key authors, and exploring the structure of your publishing network."),l.a.createElement("p",null,"All graph views include toggle controls for showing or hiding"," ",l.a.createElement("strong",null,"Publications")," and ",l.a.createElement("strong",null,"People")," (authors and managers). Nodes are color-coded: gray for communities, light blue for publications, orange for authors, purple for managers."),l.a.createElement("h3",{id:"graph-force"},"Force-Directed Graph"),l.a.createElement("p",null,"An interactive physics simulation where nodes attract and repel each other based on their connections. This is the default view and works well for exploring the overall network topology. You can:"),l.a.createElement("ul",null,l.a.createElement("li",null,"Click a node to highlight it and its neighbors"),l.a.createElement("li",null,"Click the background to reset the highlight"),l.a.createElement("li",null,"Zoom and pan to explore dense areas"),l.a.createElement("li",null,"Hover over nodes to see labels")),l.a.createElement("h3",{id:"graph-bundle"},"Edge Bundle"),l.a.createElement("p",null,"A circular layout where nodes are arranged around the perimeter and connections are drawn as bundled curves through the center. This view is helpful for seeing the density of cross-community connections and identifying clusters."),l.a.createElement("h3",{id:"graph-bipartite"},"Bipartite Layout"),l.a.createElement("p",null,"A two-column layout that separates nodes into groups (e.g., communities on the left, people on the right) with connections drawn between them. Useful for understanding which people bridge multiple communities."),l.a.createElement("h3",{id:"graph-matrix"},"Adjacency Matrix"),l.a.createElement("p",null,"A grid view where rows and columns represent nodes and filled cells represent connections between them. This is useful for dense networks where edge-based views become too cluttered, and for spotting structural patterns."),l.a.createElement("h3",{id:"graph-tree"},"Tree Layout"),l.a.createElement("p",null,"A hierarchical view with the Hub at the root, communities as branches, and publications/people as leaves. Good for seeing the overall composition and relative size of each community."),l.a.createElement("h3",{id:"graph-export"},"Data Export"),l.a.createElement("p",null,"The ",l.a.createElement("strong",null,"Copy JSON")," button in the Graphs tab copies a structured data export to your clipboard. This includes:"),l.a.createElement("ul",null,l.a.createElement("li",null,"Hub summary statistics"),l.a.createElement("li",null,"Per-community data (pubs, authors, data access level, managers)"),l.a.createElement("li",null,"Graph topology (node and link counts)"),l.a.createElement("li",null,"Cross-community people (individuals active in 2+ communities) with their roles"),l.a.createElement("li",null,"Community overlap matrix showing which communities share people")),l.a.createElement("div",{className:"docs-tip"},l.a.createElement("strong",null,"Tip:")," The JSON export is useful for further analysis in spreadsheets or data tools, and for reporting on cross-community collaboration."),l.a.createElement("h2",{id:"managers"},"Hub Managers"),l.a.createElement("p",null,"Hub managers are PubPub users who have administrative access to the Hub dashboard. Managers can:"),l.a.createElement("ul",null,l.a.createElement("li",null,"View all dashboard tabs and analytics"),l.a.createElement("li",null,"Add and remove communities"),l.a.createElement("li",null,"Manage curated pubs"),l.a.createElement("li",null,"Request and manage data access"),l.a.createElement("li",null,"Create and edit community templates"),l.a.createElement("li",null,"Update Hub branding and settings"),l.a.createElement("li",null,"Add and remove other managers")),l.a.createElement("p",null,"Managers are added in ",l.a.createElement("strong",null,"Settings → Managers")," by searching for PubPub users by name, slug, or email. There is no limit on the number of managers a Hub can have."),l.a.createElement("div",{className:"docs-note"},l.a.createElement("strong",null,"Note:")," Some settings, such as email domains, pub search terms, and the Hub's active/private status, c
1an only be modified by PubPub administrators. Contact us if you need changes to these settings."),l.a.createElement("p",null,"For information about Hub pricing, see the"," ",l.a.createElement("a",{href:"/hubs/pricing"},"Hub Pricing page"),".")),l.a.createElement("nav",{className:"hub-docs-toc"},l.a.createElement("div",{className:"hub-docs-toc-label"},"On this page"),r.map(a=>l.a.createElement("a",{key:a.id,href:"#"+a.id,className:`hub-docs-toc-link${3===a.level?" depth-3":""}${e===a.id?" active":""}`,onClick:e=>{e.preventDefault(),t(a.id)}},a.title)))))},vb=(a(1441),Math.pow);const Eb=e=>{try{return(e=>{const t=e.replace("#",""),a=parseInt(t.substring(0,2),16)/255,n=parseInt(t.substring(2,4),16)/255,l=parseInt(t.substring(4,6),16)/255,r=e=>e<=.03928?e/12.92:vb((e+.055)/1.055,2.4);return.2126*r(a)+.7152*r(n)+.0722*r(l)})(e)>.4?"#000000":"#FFFFFF"}catch(e){return"#FFFFFF"}};var Ob=e=>{var t;const{hubData:a,canCreateCommunity:r=!1}=e,{loginData:o}=Object(De.c)(),[i,s]=Object(n.useState)(""),u=a.accentColorDark||"#2D2E2F",m=a.accentColorLight||"#FFFFFF",d=Eb(u),p=Object(n.useMemo)(()=>{const e=[...a.communities].sort((e,t)=>e.updatedAt<t.updatedAt?1:e.updatedAt>t.updatedAt?-1:e.title.localeCompare(t.title));if(!i.trim())return e;const t=i.toLowerCase();return e.filter(e=>e.title.toLowerCase().includes(t)||e.description&&e.description.toLowerCase().includes(t))},[a.communities,i]),b=a.communities.reduce((e,t)=>e+t.pubCount,0),h=Object(n.useMemo)(()=>{const e=a.featuredPubs||[],t=[];for(let a=0;a<e.length;a+=2)t.push(e.slice(a,a+2));const n=p.map(e=>({type:"community",data:e})),l=t.map(e=>({type:"pub-pair",data:e}));if(0===l.length)return n;if(0===n.length)return l;const r=[],o=Math.max(1,Math.floor(n.length/(l.length+1)));let i=0;for(let e=0;e<n.length;e++)r.push(n[e]),i<l.length&&(e+1)%o==0&&e>0&&(r.push(l[i]),i++);for(;i<l.length;)r.push(l[i]),i++;return r},[p,a.featuredPubs]);return l.a.createElement("div",{className:"hub-landing-component"},l.a.createElement("div",{className:"org-topbar",style:{backgroundColor:u}},l.a.createElement("div",{className:"org-topbar-inner"},l.a.createElement("a",{href:"/hub/"+a.slug,className:"org-topbar-brand",style:{color:m}},a.avatar&&l.a.createElement("img",{className:"org-topbar-avatar",src:a.avatar,alt:""}),l.a.createElement("span",{className:"org-topbar-title"},a.title)),l.a.createElement("div",{className:"org-topbar-actions"},!a.isActive&&o.isSuperAdmin&&l.a.createElement(c.J,{intent:"warning"},"Inactive"),a.isPrivate&&o.isSuperAdmin&&l.a.createElement(c.J,{intent:"primary"},"Private"),a.website&&l.a.createElement("a",{href:a.website,target:"_blank",rel:"noopener noreferrer",className:"org-topbar-link",style:{color:m}},"Website"),a.email&&l.a.createElement("a",{href:"mailto:"+a.email,className:"org-topbar-link",style:{color:m}},"Contact"),l.a.createElement("a",{href:"/hubs/docs",className:"org-topbar-link",style:{color:m}},"Docs"),(a.isActive||o.isSuperAdmin)&&l.a.createElement("a",{href:`/hub/${a.slug}/data`,className:"org-topbar-link",style:{color:m}},"Dashboard"),o.id?l.a.createElement(R.a,{loginData:o}):l.a.createElement("a",{href:"/login?redirect=/hub/"+a.slug,className:"org-topbar-link",style:{color:m}},"Log in")))),l.a.createElement("div",{className:"org-hero",style:{backgroundImage:a.heroImage?`url("${a.heroImage}")`:void 0,backgroundColor:u}},l.a.createElement("div",{className:"org-hero-overlay"}),l.a.createElement("div",{className:"org-hero-content",style:{color:d}},a.heroLogo&&l.a.createElement("img",{className:"org-hero-logo",src:a.heroLogo,alt:a.title}),!a.heroLogo&&l.a.createElement("h1",{className:"org-hero-title"},a.title),a.subtitle&&l.a.createElement("p",{className:"org-hero-subtitle"},a.subtitle),a.description&&l.a.createElement("p",{className:"org-hero-description"},a.description),l.a.createElement("div",{className:"org-hero-stats"},l.a.createElement("div",{className:"org-stat"},l.a.createElement("span",{className:"org-stat-number"},a.communities.length),l.a.createElement("span",{className:"org-stat-label"},1===a.communities.length?"Community":"Communities")),l.a.createElement("div",{className:"org-stat-divider"}),l.a.createElement("div",{className:"org-stat"},l.a.createElement("span",{className:"org-stat-number"}
1,b.toLocaleString()),l.a.createElement("span",{className:"org-stat-label"},1===b?"Publication":"Publications"))),r&&l.a.createElement("a",{href:o.id?"/community/create?hub="+a.slug:"/login?redirect=/community/create?hub="+a.slug,className:"org-hero-cta"},l.a.createElement(c.c,{large:!0,intent:"none",icon:"plus",className:"org-hero-cta-button"},"Create a Community")))),l.a.createElement("div",{className:"org-body"},l.a.createElement("div",{className:"org-body-inner"},l.a.createElement("div",{className:"org-section-header"},l.a.createElement("h2",{className:"org-section-title"},(null==(t=a.featuredPubs)?void 0:t.length)?"Communities & Publications":"Communities"),l.a.createElement(c.r,{className:"org-filter",leftIcon:"search",placeholder:"Search communities...",value:i,onChange:e=>s(e.target.value),large:!0})),0===h.length&&l.a.createElement(c.v,{icon:"search",title:"No communities found",description:i?"Try adjusting your search.":"No communities have been added to this hub yet."}),l.a.createElement("div",{className:"org-grid"},h.map(e=>{if("pub-pair"===e.type){const t=e.data.map(e=>e.id).join("-");return l.a.createElement("div",{className:"org-pub-pair",key:"pp-"+t},e.data.map(e=>{const t=e.communityDomain?`https://${e.communityDomain}/pub/${e.slug}`:`https://${e.communitySlug}.pubpub.org/pub/${e.slug}`,a=e.communityDomain?"https://"+e.communityDomain:`https://${e.communitySlug}.pubpub.org`;return l.a.createElement("a",{className:"org-pub-card",href:t,key:e.id,target:"_blank",rel:"noopener noreferrer",style:e.communityAccent?{borderLeftColor:e.communityAccent}:void 0},l.a.createElement("div",{className:"pub-card-body"},l.a.createElement("div",{className:"pub-card-title"},e.title),e.description&&l.a.createElement("div",{className:"pub-card-description"},e.description),e.byline&&l.a.createElement("div",{className:"pub-card-byline"},e.byline),l.a.createElement("div",{className:"pub-card-meta"},l.a.createElement("span",{className:"pub-card-community",onClick:e=>{e.preventDefault(),e.stopPropagation(),window.open(a,"_blank")},role:"link",tabIndex:0,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),window.open(a,"_blank"))}},e.communityTitle),e.publishedAt&&l.a.createElement("span",{className:"pub-card-date"},(e=>{try{return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch(e){return""}})(e.publishedAt)))))}))}const t=e.data,a=Object(ed.b)(t.heroLogo,"inside",600),n=Object(ed.b)(t.heroBackgroundImage,"outside",800),r=t.domain?"https://"+t.domain:`https://${t.subdomain}.pubpub.org`,o=t.domain||t.subdomain+".pubpub.org",i=t.accentColorDark||"#2D2E2F",s=t.accentColorLight||"#F7F8FA",c=!!t.heroBackgroundImage,u=Eb(i),m=c?{backgroundColor:s,color:u,backgroundImage:`url("${n}")`}:{background:`linear-gradient(135deg, ${i} 0%, ${s} 100%)`,color:u};return l.a.createElement("a",{className:"org-community-card",href:r,key:t.id,style:{"--card-accent":i,"--card-accent-light":s}},l.a.createElement("div",{className:"card-accent-bar",style:{backgroundColor:i}}),l.a.createElement("div",{className:"card-hero",style:m},l.a.createElement("div",{className:"logo-wrapper"},t.heroLogo&&l.a.createElement("img",{className:"logo",src:a,alt:t.title}),!t.heroLogo&&l.a.createElement("h3",null,t.title))),l.a.createElement("div",{className:"card-info"},l.a.createElement("div",{className:"card-title"},t.title),t.description&&l.a.createElement("div",{className:"card-description"},t.description),l.a.createElement("div",{className:"card-meta"},l.a.createElement("span",{className:"card-url"},o),l.a.createElement("span",{className:"card-pub-count",style:{backgroundColor:i,
1color:s}},t.pubCount," pub",1!==t.pubCount?"s":""))))})))),l.a.createElement("div",{className:"org-footer",style:{backgroundColor:u,color:m}},l.a.createElement("div",{className:"org-footer-inner"},l.a.createElement("div",{className:"org-footer-brand"},a.avatar&&l.a.createElement("img",{src:a.avatar,alt:"",className:"org-footer-avatar"}),l.a.createElement("span",null,a.title)),l.a.createElement("div",{className:"org-footer-powered"},"Powered by"," ",l.a.createElement("a",{href:"https://www.pubpub.org",style:{color:m}},"PubPub")))))};a(1442);const wb=()=>l.a.createElement("section",{className:"hp-section hp-cta-section"},l.a.createElement("h2",{className:"hp-cta-title"},"Start your Hub"),l.a.createElement("p",{className:"hp-cta-description"},"Tell us about your organization and what you're trying to coordinate. We'll help you figure out the right tier and get your Hub running."),l.a.createElement("a",{href:"mailto:[email protected]",className:"hp-cta-button"},"Get in touch →"));var Cb=()=>l.a.createElement("div",{className:"hub-pricing-component"},l.a.createElement("div",{className:"hp-hero"},l.a.createElement("div",{className:"hp-hero-inner"},l.a.createElement("p",{className:"hp-hero-eyebrow"},"PubPub Hubs"),l.a.createElement("h1",{className:"hp-hero-title"},"Pricing"),l.a.createElement("p",{className:"hp-hero-subtitle"},"Publishing on PubPub is free. Anyone, anywhere, can create a Community and publish their work at no cost. For those who manage multiple Communities on PubPub, Hubs is a paid feature that helps organize and present those communities."))),l.a.createElement(A.L,null,l.a.createElement("div",{className:"hp-body"},l.a.createElement("section",{className:"hp-section"},l.a.createElement("p",{className:"hp-lede"},"A Hub is tooling for groups that want to curate, coordinate, and report on publishing activity across multiple Communities under their umbrella. It provides a dashboard and organizing layer for universities, foundations, and other organizations operating at scale."),l.a.createElement("p",{className:"hp-lede"},"Hub pricing supports PubPub's ability to maintain the free publishing layer for everyone, and to keep building open scholarly infrastructure that isn't captured by proprietary interests. Every paying Hub helps sustain that mission.")),l.a.createElement("section",{className:"hp-section"},l.a.createElement("h2",{className:"hp-section-title"},"Features"),l.a.createElement("p",null,"Every Hub includes:"),l.a.createElement("div",{className:"hp-features-grid"},l.a.createElement("div",{className:"hp-feature-card"},l.a.createElement("h3",null,"Public Hub Landing Page"),l.a.createElement("p",null,"A dedicated home for your curated Communities and pubs")),l.a.createElement("div",{className:"hp-feature-card"},l.a.createElement("h3",null,"Curation"),l.a.createElement("p",null,"Private and public organization and curation across all your Communities")),l.a.createElement("div",{className:"hp-feature-card"},l.a.createElement("h3",null,"Analytics"),l.a.createElement("p",null,"Usage analytics and reporting across publications")),l.a.createElement("div",{className:"hp-feature-card"},l.a.createElement("h3",null,"Custom branding"),l.a.createElement("p",null,"Dedicated URL, Hubs homepage, and institutional branding")),l.a.createElement("div",{className:"hp-feature-card"},l.a.createElement("h3",null,"Templates"),l.a.createElement("p",null,"Create templates for common use cases")),l.a.createElement("div",{className:"hp-feature-card"},l.a.createElement("h3",null,"Discovery"),l.a.createElement("p",null,"Find Communities on your campus or by keyword and invite them into your Hub")))),l.a.createElement(wb,null),l.a.createElement("section",{className:"hp-section"},l.a.createElement("h2",{className:"hp-section-title"},"Annual pricing"),l.a.createElement("p",null,"Hub pricing supports PubPub's ability to remain free and to keep building open scholarly infrastructure that isn't captured by proprietary interests. Every paying Hub helps sustain our mission."),l.a.createElement("div",{className:"hp-table-wrapper"},l.a.createElement("table",{className:"hp-pricing-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Sector"),l.a.createElement("th",null,"Subtype"),l.a.createElement("th",{className:"hp-col-price"},"Annual"))),l.a.createElement("tbody",null,l.a.createElement("tr",null,l.a.createElement("td",{rowSpan:3,className:"hp-sector-cell"},"Academic institutions"),l.a.createElement("td",null,"Small / mid institutions",l.a.createElement("span",{className:"hp-tier-note"},"Carnegie T1–3 — Associates, Tribal, Special Focus, Baccalaureate, Master's, Liberal Arts")),l.a.createElement("td",{className:"hp-col-price"},"$5,000")),l.a.createElement("tr",null,l.a.createElement("td",null,"Doctoral & larger Master's",l.a.createElement("span",{className:"hp-tier-note"},"Carnegie T4")),l.a.createElement("td",{className:"hp-col-price"},"$10,000")),l.a.createElement("tr",null,l.a.createElement("td",null,"R1/R2 research universities, ARL members",l.a.createElement("span",{className:"hp-tier-note"},"Carnegie T5")),l.a.createElement("td",{className:"hp-col-price"},"$15,000")),l.a.createElement("tr",null,l.a.createElement("td",{rowSpan:2,className:"hp-sector-cell"},"Grantmaking foundations"),l.a.createElement("td",null,"Assets under $500M"),l.a.createElement("td",{className:"hp-col-price"},"$25,000")),l.a.createElement("tr",null,l.a.createElement("td",null,"Assets $500M+"),l.a.createElement("td",{className:"hp-col-price"},"$50,000")),l.a.createElement("tr",null,l.a.createElement("td",{className:"hp-sector-cell"},"Nonprofit organizations"),l.a.createElement("td",null,"Non-academic - museums, think tanks, mission-driven orgs"),l.a.createElement("td",{className:"hp-col-price"},"$10,000")),l.a.createElement("tr",null,l.a.createElement("td",{className:"hp-sector-cell"},"For-profit companies"),l.a.createElement("td",null),l.a.createElement("td",{className:"hp-col-price"},"$30,000")),l.a.createElement("tr",null,l.a.createElement("td",{className:"hp-sector-cell"},"Minority-Serving Institutions"),l.a.createElement("td",null,"TCUs, HBCUs, HSIs, and other federally designated MSIs"),l.a.createElement("td",{className:"hp-col-price"},"$2,500")),l.a.createElement("tr",null,l.a.createElement("td",{className:"hp-sector-cell"},"Global access"),l.a.createElement("td",null,"Research4Life Group A institutions"),l.a.createElement("td",{className:"hp-col-price"},"$2,500"))))),l.a.createElement("p",{className:"hp-table-note"},"If none of these fit,"," ",l.a.createElement("a",{href:"mailto:[email protected]"},"talk to us")," - we'll figure something out together.")),l.a.createElement("section",{className:"hp-section"},l.a.createElement("h2",{className:"hp-section-title"},"International institutions"),l.a.createElement("p",null,"Carnegie only classifies U.S. institutions. We map institutions elsewhere to comparable tiers based on research activity and institutional scale:"),l.a.createElement("div",{className:"hp-intl-list"},l.a.createElement("div",{className:"hp-intl-item"},l.a.createElement("h3",null,"Canada"),l.a.createElement("p",null,"ARL members → T5. U15 institutions → T4–5. Other doctoral-granting → T4. Master's-granting → T3. Undergraduate-only → T1–3. Community colleges → T1–3.")),l.a.createElement("div",{className:"hp-intl-item"},l.a.createElement("h3",null,"United Kingdom & Ireland"),l.a.createElement("p",null,"Russell Group → T5. Other research-intensive → T4. Post-92 and teaching-focused → T1–3. Specialist institutions → T1–3.")),l.a.createElement("div",{className:"hp-intl-item"},l.a.createElement("h3",null,"Continental Europe"),l.a.createElement("p",null,"Research-intensive (LERU, Coimbra) → T4–5. Teaching-focused and applied-sciences → T1–3.")),l.a.createElement("div",{className:"hp-intl-item"},l.a.createElement("h3",null,"Australia & New Zealand"),l.a.createElement("p",null,"Group of Eight → T5. Other research-intensive → T4. Teaching-focused → T1–3.")),l.a.createElement("div",{className:"hp-intl-item"},l.a.createElement("h3",null,"East & Southeast Asia"),l.a.createElement("p",null,"Research-intensive (C9 League, RU11, SKY, NUS, HKU) → T5. Other doctoral-granting → T4. Teaching-focused → T1–3.")),l.a.createElement("div",{className:"hp-intl-item"},l.a.createElement("h3",null,"South Asia"),l.a.createElement("p",null,"IITs, IISc, and equivalent → T4–5. Other doctoral-granting → T4. Teaching-focused → T1–3. Research4Life Group A countries use the Global access rate.")),l.a.createElement("div",{className:"hp-intl-item"},l.a.createElement("h3",null,"Latin America & the Caribbean"),l.a.createElement("p",null,"Major research universities (UNAM, USP, UBA, PUC-Rio, Universidad de Chile) → T4–5. Other doctoral-granting → T4. Teaching-focused → T1–3. Research4Life Group A countries use the Global access rate.")),l.a.createElement("div",{className:"hp-intl-item"},l.a.createElement("h3",null,"Africa"),l.a.createElement("p",null,"Research-intensive outside Research4Life coverage (UCT, Stellenbosch, Wits, Pretoria) → T4–5. Research4Life Group A countries use the Global access rate.")),l.a.createElement("div",{className:"hp-intl-item"},l.a.createElement("h3",null,"Middle East & North Africa"),l.a.createElement("p",null,"Research-intensive (KAUST, Tel Aviv University, Hebrew University, AUB, AUC) → T4–5. Other doctoral-granting → T4. Teaching-focused → T1–3. Research4Life Group A countries use the Global access rate."))),l.a.createElement("p",{className:"hp-intl-footnote"},"Institutions in Research4Life Group A countries are covered by the Global access rate regardless of size. Institutions in Research4Life Group B countries should"," ",l.a.createElement("a",{href:"mailto:[email protected]"}
1,"contact us")," to discuss placement, we'll work out a fair rate. If your institution's placement isn't obvious from this list,"," ",l.a.createElement("a",{href:"mailto:[email protected]"},"get in touch"),".")),l.a.createElement("section",{className:"hp-section"},l.a.createElement("h2",{className:"hp-section-title"},"How to find your tier"),l.a.createElement("p",null,"U.S. academic institutions can look up their classification at"," ",l.a.createElement("a",{href:"https://carnegieclassifications.acenet.edu",target:"_blank",rel:"noopener noreferrer"},"carnegieclassifications.acenet.edu"),". If you're not sure where you fit, or if the framework doesn't quite describe your organization,"," ",l.a.createElement("a",{href:"mailto:[email protected]"},"get in touch")," and we'll help place you.")),l.a.createElement(wb,null),l.a.createElement("section",{className:"hp-section"},l.a.createElement("h2",{className:"hp-section-title"},"Common questions"),l.a.createElement("div",{className:"hp-faq-list"},l.a.createElement("details",{className:"hp-faq-item",open:!0},l.a.createElement("summary",null,"What's the difference between a Community and a Hub?"),l.a.createElement("p",null,"A Community is where publishing happens — a journal, a book, a working paper series, a preprint archive. Communities are free to create and use. A Hub sits above your Communities and gives your organization a single place to curate, report on, and organize the publishing happening under your name.")),l.a.createElement("details",{className:"hp-faq-item"},l.a.createElement("summary",null,"Do we need a Hub?"),l.a.createElement("p",null,"Most publishers don't. A single journal, a book series, a small research group — all of that works beautifully with Communities alone, at no cost. Hubs are for organizations operating publishing activity at a scale where coordination and reporting become valuable: a university with multiple presses and journals, a foundation tracking its grantees' publications, a museum with several publishing initiatives.")),l.a.createElement("details",{className:"hp-faq-item"},l.a.createElement("summary",null,"Is there a limit on how many Communities sit under our Hub?"),l.a.createElement("p",null,"No. Curate as many Communities as your organization needs under your single Hub subscription.")),l.a.createElement("details",{className:"hp-faq-item"},l.a.createElement("summary",null,"What about Canadian institutions, or institutions outside the regions listed?"),l.a.createElement("p",null,"We'll work with you to identify a comparable tier. The mapping isn't mechanical; tell us about your institution and we'll place you fairly.")),l.a.createElement("details",{className:"hp-faq-item"},l.a.createElement("summary",null,"How do the Minority-Serving Institution and Global access rates work?"),l.a.createElement("p",null,"Self-select when you sign up. We spot-check against the relevant federal designations (for MSIs) and the Research4Life classification lists (for Global access). There's no application process — we trust institutions to identify themselves accurately.")),l.a.createElement("details",{className:"hp-faq-item"},l.a.createElement("summary",null,"Can Hub pricing be adjusted for our specific situation?"),l.a.createElement("p",null,"Yes. The table above covers most cases, but we know it won't cover everything. Museums with budgets larger than some universities, independent scholarly presses, community-based research organizations — if the standard tiers don't fit,"," ",l.a.createElement("a",{href:"mailto:[email protected]"},"email us"),". We'd rather have a conversation than lose a good-fit partner to a bad-fit price.")),l.a.createElement("details",{className:"hp-faq-item"},l.a.createElement("summary",null,"What does the annual fee support?"),l.a.createElement("p",null,"Ongoing platform development, infrastructure, the small team maintaining it all, and the free publishing layer available to every Community. As a nonprofit, any surplus goes back into the platform and the open scholarly infrastructure community. Our audited financials are published annually.")))),l.a.createElement(wb,null))));a(1443);const Nb=[{icon:"badge",title:"DOI Support",desc:"Generate CrossRef DOIs for your documents in one click."},{icon:"shield",title:"Submissions & Review",desc:"Manage submissions and peer review directly on PubPub."},{icon:"comment",title:"Discussions & Annotations",desc:"Host public and private discussions with your readers and community, whether in your classroom or across the world."},{icon:"page-layout",title:"Easily Customizable Layouts",desc:"Create your custom site without writing a line of code."},{icon:"book",title:"Collection Metadata",desc:"Include article & collection-level metadata for easier organization of content and improved discovery."},{icon:"people",title:"Access Control",desc:"Allow anyone to access your content, or just the people you choose."},{icon:"grouped-bar-chart",title:"Impact Measurement",desc:"Learn about the people visiting your community with a full suite of privacy-respecting analytics."},{icon:"graph",title:"Content Connections",desc:"Add typed relationships — reviews, commentary, supplement, etc. — to your content and deposit them to Crossref."},{icon:"export",title:"Document Export",desc:"Export your work to PDF, Word, Markdown, LaTeX, JATS XML, and more."}],jb=[{name:"Harvard Data Science Review",description:"A microscopic, telescopic & kaleidoscopic view of data science.",logo:"/static/landing/hdsr.png",type:"Journals",category:"Science",link:"https://hdsr.mitpress.mit.edu"},{name:"Frankenbook",description:"A collaborative, multimedia reading experiment with Mary Shelley’s classic novel.",logo:"/static/landing/frankenbook.png",type:"Books",category:"Literature",link:"https://frankenbook.org"},{name:"Collective Wisdom",description:"The British Library's early access and community review site.",logo:"/static/landing/collective.png",type:"Resources",category:"Reports",link:"https://britishlibrary.pubpub.org/"},{name:"SERC Ethical Computing",description:"A series on the social and ethical responsibilities of computing.",logo:"/static/landing/serc.png",type:"Resources",category:"Case studies",link:"https://mit-serc.pubpub.org"},{name:"Contours Collaborations",description:"A series on the social and ethical responsibilities of computing.",logo:"/static/landing/contours.png",type:"Exhibits",category:"Arts",link:"https://contours.pubpub.org"},{name:"Fermentology",description:"On the culture, history, and novelty of fermented things.",logo:"/static/landing/fermentology.png",type:"Learning Series",category:"Multimedia",link:"https://fermentology.pubpub.org/"},{name:"Grad Journal of Food Studies",description:"An international student-run and refereed platform dedicated to encouraging and promoting interdisciplinary food scholarship at the graduate level",logo:"/static/landing/gafs.png",type:"Student Journals",category:"Interdisciplinary",link:"https://gradfoodstudies.pubpub.org/"},{name:"Critical Distance",description:"A pandemic and games essay jam.",logo:"/static/landing/pgej.png",type:"Conferences",category:"Sprint",link:"https://pandemics-and-games-essay-jam.pubpub.org/"},{name:"MIT Press Open Architecture",description:"An open collection of out-of-print humanities books.",logo:"/static/landing/arch.png",type:"Collections",category:"Open humanities",link:"https://mitp-arch.mitpress.mit.edu/"}];var kb=()=>{const e=Nb.map(e=>l.a.createElement("div",{className:"feature",key:e.icon},l.a.createElement(A.O,{icon:e.icon,className:"icon"}),l.a.createElement("div",{className:"description"},l.a.createElement("h4",null,e.title),l.a.createElement("p",null,e.desc)))),t=jb.map(e=>l.a.createElement("div",{className:"community",ker:e.name},l.a.createElement("div",{className:"type"},l.a.createElement("strong",null,e.type)," / ",e.category),l.a.createElement("h4",{className:"name"},l.a.createElement("a",{href:e.link},e.name)),l.a.createElement("a",{href:e.link},l.a.createElement("img",{className:"logo",width:"240",height:"48",src:e.logo,alt:"Logo of "+e.name})),l.a.createElement("p",{className:"description"},e.description)));return l.a.createElement("div",{id:"landing-container"},l.a.createElement("style",null,`\n\t\t\t\t.header-component.${Le.a.DARK} a.${Le.a.BUTTON},\n\t\t\t\t.header-component.${Le.a.DARK} a.${Le.a.BUTTON}:hover {\n\t\t\t\t\tcolor: #111;\n\t\t\t\t}\n\t\t\t`),l.a.createElement("div",{id:"jumbotron"},l.a.createElement("div",{className:"container"},l.a.createElement("div",{className:"row content"},l.a.createElement("div",{className:"col-4"},l.a.createElement("h1",null,"PubPub"),l.a.createElement("p",{className:"subtitle"}
1,"The open-source, community-led, end-to-end publishing platform for knowledge communities."),l.a.createElement("h2",null,"Create knowledge. Share it with audiences who care."),l.a.createElement("div",{className:"buttons"},l.a.createElement("a",{href:"/community/create",className:"custom-button black"},"Create your community"),l.a.createElement("br",null),l.a.createElement("a",{href:"/explore",className:"explore-link"},"Explore existing communities →")))))),l.a.createElement("div",{id:"main"},l.a.createElement("div",{id:"mission"},l.a.createElement("div",{className:"container restricted-width"},l.a.createElement("div",null,l.a.createElement("h3",null,"Mission")),l.a.createElement("div",null,"As a product of"," ",l.a.createElement("a",{href:"https://www.knowledgefutures.org"},l.a.createElement("strong",null,"Knowledge Futures")),", PubPub is open and accessible to all. That means a free, robust version of PubPub will always be available, operating under a non-profit, sustainable business model."),l.a.createElement("div",null,l.a.createElement("h3",null,"Open & Community-Led")),l.a.createElement("div",null,l.a.createElement("a",{className:"git",href:"https://github.com/pubpub/pubpub"},l.a.createElement(A.O,{icon:"git-repo"})," code"),l.a.createElement("a",{className:"git",href:"https://github.com/pubpub/pubpub/discussions"},l.a.createElement(A.O,{icon:"comment"})," forum")))),l.a.createElement("div",{id:"features"},l.a.createElement("div",{className:"container key"},l.a.createElement("div",null,l.a.createElement("h3",null,"Key Features"))),l.a.createElement("div",{className:"container reverse"},l.a.createElement("div",null,l.a.createElement("h4",null,"Collaborate & edit with co-authors in real time"),l.a.createElement("img",{src:"/static/landing/authoring.png",alt:"Screenshot of a PubPub editor interface with multiple users editing at the same time.",height:"250"})),l.a.createElement("div",null,l.a.createElement("p",{className:"feature-number"},"01"),l.a.createElement("ul",null,l.a.createElement("li",{key:"01-01"},"Keep everyone in the loop"),l.a.createElement("li",{key:"01-03"},"Assign roles on-the-fly"))),l.a.createElement("div",null,l.a.createElement("h4",null,"Import your work from any source"),l.a.createElement("img",{src:"/static/landing/importing.png",alt:"Screenshot of the PubPub import interface uploading a complex LaTeX document.",height:"283"})),l.a.createElement("div",null,l.a.createElement("p",{className:"feature-number"},"02"),l.a.createElement("ul",null,l.a.createElement("li",{key:"02-01"},"Easy multi-file imports"),l.a.createElement("li",{key:"02-02"},"Complex-content friendly"),l.a.createElement("li",{key:"02-03"},"Word, XML, LaTeX, and Markdown"))),l.a.createElement("div",null,l.a.createElement("h4",null,"Embed rich multimedia in your publication"),l.a.createElement("img",{src:"/static/landing/multimedia.png",alt:"Examples of rich content embedded in Pubs, including an equation, a stem and tree chart, and an interactive song picker.",height:"245"})),l.a.createElement("div",null,l.a.createElement("p",{className:"feature-number"},"03"),l.a.createElement("ul",null,l.a.createElement("li",{key:"03-01"},"Data visualizations"),l.a.createElement("li",{key:"03-02"},"Images, videos, and math"),l.a.createElement("li",{key:"03-03"},"Code, interactives, and more"))),l.a.createElement("div",{className:"other-features"},l.a.createElement("h3",null,"Other Features")),l.a.createElement("div",{className:"feature-grid"},e))),l.a.createElement("div",{id:"pitch"},l.a.createElement("div",{className:"container restricted-width reverse"},l.a.createElement("div",null,l.a.createElement("p",null,"PubPub empowers knowledge communities to define their own community engagement models and manage their publishing workflows. Use PubPub to more closely align knowledge sharing with community building.")))),l.a.createElement("div",{id:"communities"},l.a.createElement("div",{className:"container"},l.a.createElement("div",null,l.a.createElement("h3",null,"Use Cases")),l.a.createElement("div",null,l.a.createElement("p",null,"Thousands of communities are tailoring PubPub to suit their publishing needs, goals, and content types."),l.a.createElement("div",{className:"community-grid"},t),l.a.createElement("div",{className:"buttons"},l.a.createElement("a",{href:"/explore",className:"custom-button"},"Explore Communities"))))),l.a.createElement("div",{id:"create"},l.a.createElement("div",{className:"container restricted-width"},l.a.createElement("div",null,l.a.createElement("h3",null,"Create")),l.a.createElement("div",null,l.a.createElement("h4",null,"Anyone can start a PubPub Community, anytime, for free."),l.a.createElement("div",{className:"buttons"},l.a.createElement("a",{href:"/community/create",className:"custom-button"},"Create your community")),l.a.createElement("p",{className:"disclaimer"},"* A community can be your individual space to create content, or you can invite others to collaborate with you!"))))))};var Sb=function(){return l.a.createElement("div",null,l.a.createElement("h2",null,"Acceptable User Policy"),l.a.createElement("p",null,"This PubPub Acceptable Use Policy (“AUP”) is made a part of and is subject to the applicable Terms of Service (“Agreement”) between you and PubPub. C
1apitalized terms herein have the same meaning as set forth in the Agreement. We may update these policies from time to time."),l.a.createElement("p",null,"The purpose of the AUP is to help you understand how to use the Site. You must abide by the policies described here, and if you fail to do so, we may immediately terminate and remove your account and Community or limit your access to it. We may also establish policies regarding your Community, such as how long your Community content will be retained on the Site. We have no responsibility or liability for the deletion or failure to store any content."),l.a.createElement("p",null,"Your use of the Site includes the use of features that allow you or others to contribute User-Generated Content. The Site, Third Party Publishers, and Communities may solicit and publish User-Generated Content through blogs, video postings, and chat features, among other forums."),l.a.createElement("p",null,"You agree not to, and not to allow third parties to use the Site:"),l.a.createElement("ul",null,l.a.createElement("li",null,"To make comments that are threatening, knowingly false, or unlawful; or to engage in or promote harassment, hate, violence, discrimination or personal attacks;"),l.a.createElement("li",null,"To impersonate any person or entity or create a false identity on the Site; you are free to use a pseudonym, including to parody others, but you may not pretend to actually be another person or company or undertake actions that would cause confusion between you, your Community, other Communities, or any other company or person."),l.a.createElement("li",null,"To harass, threaten, stalk, embarrass or cause distress, unwanted attention or discomfort to any user of the Site;"),l.a.createElement("li",null,"To disseminate or transmit “spam,” unsolicited messages, chain letters, advertisements, solicitations, or other unsolicited commercial communications, including (but not limited to) communications describing investment opportunities;"),l.a.createElement("li",null,"To post material that infringes a copyright, trademark or patent right, trade secret, privacy, publicity or other legal right of any person or any corporation, institution, or other entity;"),l.a.createElement("li",null,"To knowingly disseminate or transmit viruses, Trojan horses, worms, defects, date bombs, time bombs, hoaxes, corrupted files, malware, ransomware, spyware, or other items of a destructive nature or any other malicious code or program;"),l.a.createElement("li",null,"To knowingly carry out any action with the intent or effect of disrupting other users’ experience of the Site, such as intentionally causing a chat screen to scroll faster than other users are able to read, or deploying macros with large amounts of text for the purpose of disrupting the normal flow of user chats."),l.a.createElement("li",null,"To access or use the Site in any manner that could damage or overburden any of our servers, or any network connected to any of our servers."),l.a.createElement("li",null,"To use the Site or take any action in any manner that would interfere with any other party’s use of or circumvents any aspect of the Site;"),l.a.createElement("li",null,"To not implement any measures to circumvent us blocking you from accessing the Site;")),l.a.createElement("p",null,"You agree that any use of the Site or the Site’s content other than as specifically authorized in this AUP is strictly prohibited."))};var Pb=function(){return l.a.createElement("div",null,l.a.createElement("h2",null,"Privacy Policy"),l.a.createElement("h3",null,"1. Introduction"),l.a.createElement("p",null,"PubPub (“Company,” “we,” “us,” or “our”) is an open-source publishing platform run by the nonprofit organization Knowledge Futures, Inc. that values your privacy. In this Privacy Policy (“Policy”), we describe what information we collect from you as a user of our Site or Service, why we collect and use it, and how you can manage and delete your data."),l.a.createElement("h4",null,"1.1 Definitions"),l.a.createElement("p",null,"“Personal Information” refers to (i) any information that identifies, relates to, describes, is reasonably capable of being associated with you, or could reasonably be linked, directly or indirectly, with you, and (ii) any information that is associated with you and thus could potentially be used to identify or reidentify you, including when combined with other information from or about you. For the avoidance of doubt, PubPub defines Personal Information broadly, and our definition includes “personal data” as this term is used in the EU General Data Protection Regulation and “personal information” as it is used in the California Consumer Protection Act. Personal Information does not include (i) information that has been aggregated, excerpted, anonymized, or otherwise deidentified to the point at which an individual can no longer be identified or reidentified using reasonable efforts, technology, and resources and (ii) contact information that is rout
1inely made available in a professional capacity to facilitate business and professional communications, such as the information ordinarily found on a business card, website profile, or CV, when used solely for purposes of professional and business communications."),l.a.createElement("p",null,"“Site” refers to our website, which includes all pages within the pubpub.org host directory and subdomains, all pages hosted on PubPub servers regardless of domain (including but not limited to Journal pages)."),l.a.createElement("p",null,"“Service” means our services available through our Site and any mobile applications we may provide."),l.a.createElement("h4",null,"Data Controller"),l.a.createElement("p",null,"When this Policy mentions “PubPub,” “Company,” “we,” “us,” or “our,” it refers to PubPub. PubPub is the data controller and responsible for your information under this Policy. The following is our contact information:"),l.a.createElement("p",null,"PubPub",l.a.createElement("br",null),"℅ Knowledge Futures, Inc.",l.a.createElement("br",null),"245 Main street",l.a.createElement("br",null),"Floor 2",l.a.createElement("br",null),"Cambridge, MA 02142",l.a.createElement("br",null)),l.a.createElement("p",null,"By visiting the Site, or using any of our Service, you agree that your Personal Information will be handled as described in this Policy. Before using the Service or submitting any Personal Information to us, please review this Privacy Policy carefully and contact us at"," ",l.a.createElement("a",{href:"mailto:[email protected]"},"[email protected]")," if you have any questions. If you do not agree to this Privacy Policy, please do not access the Site or otherwise use the Service. Your use of our Site or Service, and any dispute over privacy, is subject to this Policy and the relevant"," ",l.a.createElement("a",{href:"/legal/terms"},"Terms of Service"),", including any applicable limitations on damages and provisions for the resolution of disputes."),l.a.createElement("h3",null,"2. Information We Collect"),l.a.createElement("p",null,"We ask for and collect information about you when you use our Site or Service. We collect this information directly from you, from third parties, and automatically through your use of our Site or Service."),l.a.createElement("h4",null,"2.1 Information we collect directly from you"),l.a.createElement("p",null,"We collect Personal Information when you register or access the Site. The Personal Information collected during these interactions may vary based on what you choose to share with us. To register, you must submit your email address to the Site and a password that you create for user authentication purposes. We also ask you to provide a first and last name, but you may use a pseudonym if you wish. We will only record your email address when you submit it to us as part of the user registration process, our newsletter signup process, or if you send us a message. We do not collect your age or other age-related information."),l.a.createElement("h4",null,"2.2 Information we collect automatically"),l.a.createElement("p",null,"When you visit our Site, we may automatically collect and log the following information about your use of our Site or Service through cookies and other technologies: your domain name; your browser type, device name, and operating system; the URLs you requested to access; the dates, methods, and the status code of requests; your IP address; the time, frequency, and length of time you visit our Site or use our Service; the number of bytes transferred; or the URLs of pages that referred you to the Site."),l.a.createElement("h5",null,"2.2.1 Web Server Logs"),l.a.createElement("p",null,"When you visit the Site, our web server may record some automatically collected information described in Section 2.2 in its server log. We use server log information to help diagnose problems with our server and to administer our Site by identifying which parts or features of our Site are most heavily used. We also use this information to tailor Site content to user needs and to generate aggregate statistical reports. Web server logs are retained on a temporary basis, during which time their contents are accessible to Site administrators, and then deleted completely from our systems. Unless required by legal process, we do not link IP addresses to any Personal Information. This means that user sessions will be tracked by IP address, but a user’s identity will remain anonymous."),l.a.createElement("h5",null,"2.2.2 Cookies and similar technologies"),l.a.createElement("h6",null,"2.2.2.1 Cookies"),l.a.createElement("p",null,"We and our third-party service providers may use cookies, to track information about your use of our Site and Service. Cookies are alph
1anumeric identifiers that we store on your computer or mobile device. Some cookies allow us to make it easier for you to navigate our Site and Service, while others are used to enable a faster login process or to allow us to track your activities at our Site and Service. There are two types of cookies: session and persistent cookies."),l.a.createElement("ol",null,l.a.createElement("li",null,"Session Cookies. Session cookies exist only during an online session. They disappear from your computer or device when you close your browser or power off your computer or device. We use session cookies to allow our systems to uniquely identify you during a session or while you are logged into the Site. This allows us to process your online transactions and requests and verify your identity, after you have logged in, as you move through our Site."),l.a.createElement("li",null,"Persistent Cookies. Persistent cookies remain on your computer or device after you have closed your browser or turned off your computer or device. We use persistent cookies to track aggregate and statistical information about user activity.")),l.a.createElement("h6",null,"2.2.2.2 Disabling Cookies"),l.a.createElement("p",null,"Most web browsers automatically accept cookies, but if you prefer, you can edit your browser options to block them in the future. The Help portion of the toolbar on most browsers will tell you how to prevent your computer from accepting new cookies, how to have the browser notify you when you receive a new cookie, or how to disable cookies altogether. Separately, you may opt out of our non-essential cookies by following this ",l.a.createElement("a",{href:"/legal/settings"},"link"),". Visitors to our Site who disable cookies will not be able to browse certain areas of the Site or use the Service."),l.a.createElement("h6",null,"2.2.2.3 Other Websites"),l.a.createElement("p",null,"Other websites. This Site may contain links to and embeds of other websites. The websites to which the Site links may also install cookies on your computer, log your access to their web pages, or collect user-identifying information directly from you, once you proceed to browse those websites. We are not responsible for the privacy policies of other websites to which the Site provides links. Please visit the relevant websites to review their privacy policies."),l.a.createElement("h5",null,'2.2.3 "Do Not Track" Signls'),l.a.createElement("p",null,"Currently, our systems do not recognize browser “do-not-track” requests. You may, however, disable certain tracking as discussed in this section (e.g., by disabling cookies), but such disabling will impair use of the Site and Service."),l.a.createElement("h4",null,"2.3 Legal basis for processing of Personal Information"),l.a.createElement("p",null,"Where required by applicable law, we rely on certain legal bases for our collection and processing of Personal Information, including your consent, necessity to perform a contract, or our legitimate interest. In the case of Personal Information collected to contact you with information and updates about the Company, we rely on your consent and our legitimate interest."),l.a.createElement("h4",null,"2.4 User-generated content"),l.a.createElement("p",null,"The Site allows registered users to post content, images, multimedia presentations, and other scholarly works, as well as reviews, comments and other user-generated content in certain areas. The content you post will be available for all registered users to view and will identify you as the poster by the user name you have selected. If you do not wish to be identified as the source of content you post to the Site, you should select a pseudonymous user name. We create a profile page for each registered user. The profile pages are public-facing. By default, the profile page includes your user name and information about your posted content and other activities on the Site. You may (but do not need to) augment your profile page with additional information, including a picture."),l.a.createElement("p",null,"We do not control the content added by you to our Site and Service during your use of our Site and Service. For example, videos you may choose to embed as a part of your content on our Site and Service may include third-party trackers. You are agreeing that you will be responsible for any such additions, inclusions, or any other embedded content."),l.a.createElement("h4",null,"2.5 Children’s Data"),l.a.createElement("p",null,"Our Site and Service are intended for general audiences and not for children under the age of 13."),l.a.createElement("p",null,"If you are under the age of 13, you may 
1not use our Site or Service unless we receive prior verifiable consent from your parent or legal guardian in accordance with the Children’s Online Privacy Protection Act (COPPA). If we discover that our Site or Service has collected the Personal Information of a child under the age of 13, we will notify the child’s parent or legal guardian and we will seek verifiable consent for that information from the child’s parent or legal guardian in a manner consistent with COPPA requirements."),l.a.createElement("p",null,"You must be old enough to consent to the processing of your Personal Information in your country (depending on your country, we may allow your parent or guardian to do so on your behalf). If you are a resident of the European Union, you must be at least 16 years old to use the Site or Service, unless we receive a prior verifiable consent from your parent or legal guardian."),l.a.createElement("p",null,"If you are a parent or guardian and discover that your child under the age of 13 has submitted Personal Information to us without your prior, written consent, then you may alert us at [email protected] and request that we delete that child’s Personal Information from our systems."),l.a.createElement("h3",null,"3. How We Use Information We Collect"),l.a.createElement("p",null,"We use your information for the following purposes:"),l.a.createElement("h4",null,"3.1 Provide our service"),l.a.createElement("p",null,"We use your information to provide our Site and Service, communicate with you about your use of our Site and Service, to respond to your inquiries, and for other customer service purposes."),l.a.createElement("h4",null,"3.2 Improve and develop our services"),l.a.createElement("p",null,"We use your information to ensure our Site and Service are working as intended, to analyze how users access and use our Site and Service, both on an aggregated and individualized basis, to maintain and improve the content and functionality of our Service, to develop new Service, and for other research and analytical purposes. For example, we may elect to conduct internal programming analytics of anonymized user-generated content."),l.a.createElement("h4",null,"3.3 Offer promotions"),l.a.createElement("p",null,"We use your information for marketing and promotional purposes. For example, we may use your information, such as your email address, to send you news, promotions, or to otherwise contact you about information regarding the Service or information we think may interest you. When you submit your email address to the Site during registration, we will ask you whether you want to receive periodic announcements from the Site by email. Accepting emailed announcements is entirely optional and n
1ot a condition of registration, and you may change your email settings at any time to subscribe or unsubscribe to these mailings."),l.a.createElement("h4",null,"3.4 Fraud prevention and compliance"),l.a.createElement("p",null,"We use your information to prevent fraud, criminal activity, or misuses of our Site and Service, and to ensure the security of our IT systems, architecture and networks. We also may use your information to comply with legal obligations and legal process and to protect our rights, privacy, safety or property, and/or that of our affiliates, you, or other third parties."),l.a.createElement("h3",null,"4. How We Share And Disclose Your Information"),l.a.createElement("h4",null,"4.1 Sharing with your consent"),l.a.createElement("p",null,"Where you have provided consent, we share your information, including Personal Information, as described at the time of consent and only for the purpose for which you have provided your information to us. We will not sell, lend, or disclose to third parties any Personal Information collected from users, except as described in this Policy."),l.a.createElement("h4",null,"4.2 Affiliates"),l.a.createElement("p",null,"We may disclose the information we collect from you to our affiliates solely for the purpose of providing Service to you; however, if we do so, their use and disclosure of your Personal Information will be maintained by such affiliates in accordance with this Policy."),l.a.createElement("h4",null,"4.3 Service providers"),l.a.createElement("p",null,"We may disclose the information we collect from you to third-party vendors, service providers, contractors, or agents who perform functions on our behalf, including, but not limited to, providers of hosting services, cloud services and other information technology services providers, email communication software and email newsletter services, and payment processors. Pursuant to our instructions, these parties may access, process or store Personal Information in the course of performing their duties to us. These parties will be prohibited from using or sharing Site user information for any purpose other than performing functions on our behalf."),l.a.createElement("h4",null,"4.4 In response to legal process"),l.a.createElement("p",null,"We ordinarily do not disclose to third parties Site usage by individual IP addresses, but we may do so without further notice to you in very limited circumstances when complying with the law, a judicial proceeding, court order, or other legal process, working with consultants assisting us with fixing or improving the Site, or monitoring and improving the security of our network."),l.a.createElement("h4",null,"4.5 To protect us and others"),l.a.createElement("p",null,"We also may disclose the information we collect from you where we believe it is necessary to investigate, prevent, or take action regarding illegal activities, suspected fraud, situations involving potential threats to the safety of any person, violations of this Policy, of any relevant Terms of Use, or as evidence in litigation in which we are involved."),l.a.createElement("h4",null,"4.6 Aggregate and De-identified information"),l.a.createElement("p",null,"We may share aggregate or de-identified information about users with third parties and publicly for marketing, advertising, research, or similar purposes."),l.a.createElement("p",null,"Please note that except as noted above, we will not sell or share your Personal Information with any third party for their direct marketing purposes without your consent."),l.a.createElement("h3",null,"5. Third-Party Analytics"),l.a.createElement("p",null,"PubPub does not use third-party analytics. PubPub does use cookieless first-party analytics to help us and Third-Party Publishers (as defined in our Terms of Service) understand user behavior and track Site usage and referrals from other websites. Information collected and processed by our first-party analytics service does not include IP address or any other sensitive or personal information."),l.a.createElement("p",null,"PubPub allows Third-Party Publishers to use Google Analytics or Simple Analytics to collect anonymous information from users to help them track Site usage and referrals from other websites. Information collected and processed by Third-Party Publishers using Google Analytics includes the user’s IP address, network location, and geographic location. Google Analytics acquires all its information directly from the user, by installing a cookie on JavaScript-enabled computers. Simple Analytics does not use cookies and does not collect IP addresses or any other sensitive information. Third-Party Publishers choosing to use Google Analytics or Simple Analytics must use PubPub's default tracking library and cannot add custom tracking events. Third-Party Publishers are wholly responsible for complying with PubPub's terms, as well as the terms of their chosen analytics service."),l.a.createElement("p",null,"If you allow Third-Party Publishers to enable Google Analytics while you browse, they will send requests to Google Analytic's servers containing things like the URL of the current page, your browser version, and 
1your IP address."),l.a.createElement("p",null,"We will never send Third-Party Publishers, Google Analytis, or Simple Analytics any identifying information such as your name, affiliation, or email address."),l.a.createElement("p",null,"We do not share with Google Analytics, Simple Analytics, or other third parties any Personal Information, and Google Analytics and Simple Analytics do not collect any personal identifying information as configured on PubPub."),l.a.createElement("h3",null,"6. Third-Party Links"),l.a.createElement("p",null,"The Site may contain links to other websites not operated or controlled by us, including social media services (“Third Party Sites”). The information that you share with Third Party Sites will be governed by the specific privacy policies and terms of service of the Third Party Sites and not by this Policy. By providing these links we do not imply that we endorse or have reviewed these Third Party Sites and we are not responsible for the information practices of such Third Party Sites. Please contact the Third Party Sites directly for information on their privacy practices and policies."),l.a.createElement("h3",null,"7. Your Rights"),l.a.createElement("p",null,"In certain circumstances, providing Personal Information is optional. However, if you choose not to provide Personal Information that is needed to use some features of our Service, you may be unable to use those features."),l.a.createElement("h4",null,"7.1 Rights relating to my Personal Information"),l.a.createElement("p",null,"You may request access, modification, or deletion of Personal Information that you have submitted to us by contacting us at"," ",l.a.createElement("a",{href:"mailto:[email protected]"},"[email protected]"),". For example, you may ask us to correct, update, or delete your Personal Information. We will reply to and honor such requests to the extent required by law. We may need to retain some information in order to comply with law, and to defend or exercise our legal claims. Please note that copies of information that you have updated, modified, or deleted may remain viewable in cached and archived pages of the Site for a period of time."),l.a.createElement("p",null,"EU residents may also request to exercise certain additional rights under the General Data Protection Regulation (“GDPR”) to restrict processing (Art. 18), request data portability (Art. 20), and object to certain processing (Art. 21). We will respond to such requests in the time period and to the extent required by the GDPR. Such requests can be made by contacting us at"," ",l.a.createElement("a",{href:"mailto:[email protected]"},"[email protected]"),"."),l.a.createElement("h4",null,"7.2 Non-U.S. Users"),l.a.createElement("p",null,"If you use the Site or Service outside of the United States of America, you consent to having your Personal Information transferred to and processed in the United States of America, which may have less protections than your jurisdiction of residence."),l.a.createElement("h4",null,"7.3 What choices do I have regarding use of my Personal Information for marketing?"),l.a.createElement("p",null,"We may send periodic promotional or informational emails to you if you have signed up for such information on the Site. You may opt-out of such communications by following the opt-out instructions contained in the e-mail. Please note that it may take up to 10 business days for us to process opt-out requests. If you opt out of receiving emails about recommendations or other information we think may interest you, we may still send you e-mails about your account or any Service you have requested or received from us."),l.a.createElement("h4",null,"7.4 Data retention"),l.a.createElement("p",null,"We, generally, retain Personal Information as long as necessary to fulfill the purposes for which the Personal Information was collected, including for as long as you use our Service. We may continue to retain such Personal Information even after you cease to use any particular Service, as reasonably necessary to comply with applicable laws and our legal obligations, resolve disputes, prevent fraud and abuse, enforce our agreements, and protect our legitimate interests."),l.a.createElement("h3",null,"8. Security of Your Personal Information"),l.a.createElement("p",null,"You use the Service at your own risk. We implement commercially reasonable technical, administrative, and organizational measures to protect your Personal Information both online and offline from loss, misuse, and unauthorized access, disclosure, alteration or destruction. However, no system or electronic transmission is ever fully secure, impenetrable, or error free. In particular, e-mail sent to or from us may not be secure. We cannot completely guarantee the security of our database, nor can we guarantee that the information you supply will not be intercepted while being transmitted to us over the Internet. Therefore, you should take special care in deciding what information you send to us via the Service or e-mail. Please keep this in mind when disclosing any Personal Information to us via the Internet. In addition, we are not responsible for circumvention of any privacy settings or security measures contained on the Service, or third party websites."),l.a.createElement("p",null,"We have implemented commercially reasonable precautions to protect the information we collect from loss, misuse, and unauthorized access, disclosure, alteration, and destruction. Please be aware that despite our efforts, no data security measures can guarantee 100% security."),l.a.createElement("p",null,"You should take steps to protect against unauthorized access to your password, phone, and computer by, among other things, signing off after using a shared computer, choosing a robust password that nobody else knows or can easily guess, and keeping your log-in and password private. We are not responsible for any lost, stolen, or compromised passwords or for any activity on your account via unauthorized password activity."),l.a.createElement("h3",null,"9. Changes to this Privacy Policy"),l.a.createElement("p",null,"This Policy is current as of the Effective Date set forth above. As we periodically review our security measures and Privacy Policy, the Service may change from time to time. As a result, we may change this Privacy Policy at any time, so please be sure to check back periodically. We will post any changes to this Policy on the Site, unless another type of notice is required by the applicable law. If we make any changes to this Policy that materially affect our practices with regard to the Personal Information we have previously collected from you, we will endeavor to provide you with notice in advance of such change by highlighting the change on our Site or if you have an account with us, providing notice to the email address in your account (for this reason you should make sure to update your account information promptly if it changes). By continuing to use our Service or providing us with Personal Information after we have posted an updated Privacy Policy, or notified you by other means if applicable, you consent to the revised Privacy Policy and practices described 
1in it."),l.a.createElement("h3",null,"10. Contact Us"),l.a.createElement("p",null,"If you have questions or complaints about this Privacy Policy or our information practices, please contact us at"," ",l.a.createElement("a",{href:"mailto:[email protected]"},"[email protected]"),". If you are an EU resident and believe our processing of your Personal Information violates data protection laws, you have a legal right to lodge a complaint with a supervisory authority responsible for data protection. You may do so in the EU member state of your habitual residence, your place of work, or the place of the alleged violation."))},Db=a(167);var Ib=({userEmail:e,accountUrl:t})=>l.a.createElement(c.f,null,l.a.createElement("h5",{id:"account-security"},"Email & password"),l.a.createElement("p",null,"Your email address is ",l.a.createElement("strong",null,e),". Your login details, including your email address and password, are managed through your Knowledge Futures (KF) account."),l.a.createElement(c.b,{href:t,intent:"primary",rightIcon:"share",text:"Manage your Knowledge Futures account"})),Tb=a(410),xb=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const Ab=[{value:"1d",label:"1 day"},{value:"1w",label:"1 week"},{value:"1m",label:"1 month"},{value:"3m",label:"3 months"},{value:"1y",label:"1 year"},{value:"never",label:"Never"}],Mb=e=>{if(!e)return null;const t=new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleDateString()},Lb=(e,t)=>e instanceof Error||"object"==typeof e&&null!==e&&"message"in e?e.message:t;var Rb=({adminCommunities:e=[]})=>{const[t,a]=Object(n.useState)([]),[r,o]=Object(n.useState)(!0),[i,s]=Object(n.useState)(null),[u,m]=Object(n.useState)(""),[d,p]=Object(n.useState)("3m"),[b,h]=Object(n.useState)(!1),[g,f]=Object(n.useState)(null),[y,v]=Object(n.useState)(null),[E,O]=Object(n.useState)(!1);Object(n.useEffect)(()=>{e.length>0&&!u&&m(e[0].id)},[e,u]),Object(n.useEffect)(()=>{let e=!1;return o(!0),Ae.a.get("/api/authTokens").then(t=>{e||(a(t),s(null))}).catch(t=>{e||s(Lb(t,"Failed to load auth tokens."))}).finally(()=>{e||o(!1)}),()=>{e=!0}},[]);const w=Object(n.useMemo)(()=>{const t=new Map;return e.forEach(e=>t.set(e.id,e)),t},[e]),C=Object(n.useCallback)(()=>xb(null,null,(function*(){if(u){h(!0),f(null);try{const e=yield Ae.a.post("/api/authTokens",{communityId:u,expiresAt:d});v(e),O(!1);const t=w.get(u);a(a=>[{id:e.id,userId:e.userId,communityId:e.communityId,expiresAt:e.expiresAt,createdAt:(new Date).toISOString(),community:t?{id:t.id,title:t.title,subdomain:t.subdomain}:null},...a])}catch(e){f(Lb(e,"Failed to create auth token."))}finally{h(!1)}}})),[w,u,d]),N=Object(n.useCallback)(e=>xb(null,null,(function*(){yield Ae.a.delete("/api/authTokens/"+e),a(t=>t.filter(t=>t.id!==e))})),[]),j=Object(n.useCallback)(()=>{y&&"undefined"!=typeof navigator&&navigator.clipboard&&navigator.clipboard.writeText(y.token).then(()=>O(!0))},[y]),k=Object(n.useCallback)(()=>{v(null),O(!1)},[]),S=e.length>0;return l.a.createElement(c.f,null,l.a.createElement("h5",null,"Auth tokens"),l.a.createElement("p",null,"Auth tokens let you authenticate against the PubPub API as yourself. Each token is scoped to one community where you are an admin and grants the same privileges as your account. A token automatically stops working if you are no longer an admin of that community."),S?l.a.createElement("div",{style:{marginBottom:16}},l.a.createElement("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"}},l.a.createElement(c.o,{value:u,onChange:e=>m(e.target.value),disabled:b,"aria-label":"Community"},e.map(e=>l.a.createElement("option",{key:e.id,value:e.id},e.title))),l.a.createElement(c.o,{value:d,onChange:e=>p(e.target.value),disabled:b,"aria-label":"Expires after"},Ab.map(e=>l.a.createElement("option",{key:e.value,value:e.value},"Expires: ",e.label))),l.a.createElement(c.c,{intent:"primary",loading:b,disabled:!u,onClick:C},"Generate token")),g&&l.a.createElement(c.e,{intent:"danger",style:{marginTop:8}},g)):l.a.createElement(c.e,{intent:"primary",style:{marginBottom:16}},"Only community admins can mint auth tokens."),i&&l.a.createElement(c.e,{intent:"danger",style:{marginBottom:8}},i),!r&&0===t.length&&!i&&l.a.createElement("p",{style:{opacity:.7}},"You have no auth tokens."),t.length>0&&l.a.createElement(c.p,{condensed:!0,striped:!0,style:{width:"100%"}},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Community"),l.a.createElement("th",null,"Created"),l.a.createElement("th",null,"Expires"),l.a.createElement("th",null))),l.a.createElement("tbody",null,t.map(e=>{var t,a,n;const r=Mb(e.expiresAt),o=!!(e.expiresAt&&new Date(e.expiresAt).getTime()<Date.now());return l.a.createElement("tr",{key:e.id},l.a.createElement("td",null,null!=(a=null==(t=e.community)?void 0:t.title)?a:e.communityId),l.a.createElement("td",null,null!=(n=Mb(e.createdAt))?n:"—"),l.a.createElement("td",null,r?o?l.a.createElement(c.J,{minimal:!0,intent:"warning"},"Expired"):r:"Never"),l.a.createElement("td",{style:{textAlign:"right"}},l.a.createElement(A.p,{title:"Revoke auth token",text:l.a.createElement("p",null,"Revoking this token will immediately invalidate it. Any scripts or services using it will stop working."),confirmLabel:"Revoke",onConfirm:()=>N(e.id)},({open:e})=>l.a.createElement(c.c,{minimal:!0,small:!0,intent:"danger",onClick:e},"Revoke"))))}))),l.a.createElement(c.j,{isOpen:!!y,title:"Copy your new auth token",onClose:k,canEscapeKeyClose:!1,canOutsideClickClose:!1},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement(c.e,{intent:"warning",style:{marginBottom:12}},"This is the only time the token will be shown. Copy it now and store it somewhere safe."),y&&l.a.createElement(c.r,{value:y.token,readOnly:!0,onFocus:e=>e.currentTarget.select(),rightElement:l.a.createElement(c.c,{minimal:!0,icon:E?"tick":"clipboard",onClick:j},E?"Copied":"Copy")})),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{intent:"primary",onClick:k},"I’ve copied it")))))},Fb=a(222),Ub=a.n(Fb),Bb=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var zb=()=>{const[e,t]=Object(n.useState)(null),[a,r]=Object(n.useState)(!1),[o,i]=Object(n.useState)(""),[s,u]=Object(n.useState)(!1),[m,d]=Object(n.useState)(null),p=Object(n.useCallback)(()=>Bb(null,null,(function*(){r(!0);try{const e=yield Ae.a.get("/api/account/deletionAudit");t(e)}catch(e){d((null==e?void 0:e.message)||"Failed to load account deletion audit")}finally{r(!1)}})),[]);Object(n.useEffect)(()=>{p()},[p]);const b=e&&0===e.soleAdminCommunities.length&&0===e.soleManagerHubs.length&&o.length>0;return l.a.createElement(c.f,null,l.a.createElement("h5",null,"Delete account"),l.a.createElement(c.e,{intent:"danger",icon:"warning-sign"},l.a.createElement("p",null,l.a.createElement("b",null,"Deleting your account is permanent and cannot be undone.")),a&&l.a.createElement(c.F,{size:20}),e&&e.soleAdminCommunities.length>0&&l.a.createElement(l.a.Fragment,null,l.a.createElement("p",null,"You cannot delete your account because you are the only admin of"," ",l.a.createElement("b",null,e.soleAdminCommunities.length)," ",1===e.soleAdminCommunities.length?"community":"communities",":"),l.a.createElement("ul",{style:{margin:"8px 0"}},e.soleAdminCommunities.map(e=>l.a.createElement("li",{key:e.id},l.a.createElement("a",{href:Object(ht.d)(e),target:"_blank",rel:"noopener noreferrer"},l.a.createElement("b",null,e.title))))),l.a.createElement("p",null,"Please add another admin to"," ",1===e.soleAdminCommunities.length?"this community":"these communities",", or delete ",1===e.soleAdminCommunities.length?"it":"them"," ","first.")),e&&e.soleManagerHubs.length>0&&l.a.createElement(c.e,{intent:"warning",style:{marginBottom:15}},l.a.createElement("p",null,"You cannot delete your account because you are the only manager of"," ",l.a.createElement("b",null,e.soleManagerHubs.length)," ",1===e.soleManagerHubs.length?"hub":"hubs",":"),l.a.createElement("ul",{style:{margin:"8px 0"}},e.soleManagerHubs.map(e=>l.a.createElement("li",{key:e.id},l.a.createElement("a",{href:`/hub/${e.slug}/data`,target:"_blank",rel:"noopener noreferrer"},l.a.createElement("b",null,e.title))))),l.a.createElement("p",null,"Please add another manager to"," ",1===e.soleManagerHubs.length?"this hub":"these hubs"," first.")),e&&0===e.soleAdminCommunities.length&&0===e.soleManagerHubs.length&&l.a.createElement("div",{style:{marginBottom:15}},l.a.createElement("p",null,"Here is what will happen when you delete your account:"),l.a.createElement("ul",{style:{margin:"8px 0"}},e.pubAttributionCount>0&&l.a.createElement("li",null,l.a.createElement(c.J,{minimal:!0},e.pubAttributionCount)," pub attribution",1!==e.pubAttributionCount?"s":""," will be"," ",l.a.createElement("b",null,"preserved with your name")," but unlinked from your account."),e.collectionAttributionCount>0&&l.a.createElement("li",null,l.a.createElement(c.J,{minimal:!0},e.collectionAttributionCount)," ","collection attribution",1!==e.collectionAttributionCount?"s":""," will be"," ",l.a.createElement("b",null,"preserved with your name")," but unlinked from your account."),e.commentCount>0&&l.a.createElement("li",null,l.a.createElement(c.J,{minimal:!0},e.commentCount)," discussion comment",1!==e.commentCount?"s":""," will be"," ",l.a.createElement("b",null,"anonymized"),' (content preserved, shown as "Deleted User").')),l.a.createElement("p",null,"We will delete all legally required information. As a platform with scholarly and academic preservation obligations, your name will be kept (unlinked from your account) where necessary to preserve the scholarly record.")),e&&0===e.soleAdminCommunities.length&&0===e.soleManagerHubs.length&&l.a.createElement(l.a.Fragment,null,l.a.createElement("p",null,"Enter your password to confirm account deleti
1on."),l.a.createElement(A.R,{label:l.a.createElement("b",null,"Password"),type:"password",value:o,onChange:e=>i(e.target.value)})),m&&l.a.createElement(c.e,{intent:"danger",style:{marginBottom:10}},m),l.a.createElement(c.c,{intent:"danger",text:"Permanently delete my account",loading:s,onClick:()=>Bb(null,null,(function*(){if(o){u(!0),d(null);try{const e=Ub()(o).toString();yield Object(Ae.a)("/api/account",{method:"DELETE",body:JSON.stringify({password:e})}),window.location.href="https://www.pubpub.org"}catch(e){d((null==e?void 0:e.message)||"Failed to delete account"),u(!1)}}})),disabled:!b})))};var $b=({pastExports:e})=>{const[t,a]=Object(n.useState)(!1),[r,o]=Object(n.useState)(null),[i,s]=Object(n.useState)(null),[u,m]=Object(n.useState)(null),d=Object(n.useCallback)(()=>{return e=null,t=null,n=function*(){a(!0),m(null),s(null);try{yield Object(Ae.a)("/api/account/export",{method:"POST",body:JSON.stringify({})}),o(new Date),s("Your data export is being generated. You will receive an email with a download link when it is ready.")}catch(e){const t=e instanceof Error||"object"==typeof e&&null!==e&&"message"in e?e.message:"Something went wrong, please try again later.";m(t)}finally{a(!1)}},new Promise((a,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?a(e.value):Promise.resolve(e.value).then(r,o);i((n=n.apply(e,t)).next())});var e,t,n},[]),p=null==e?void 0:e.some(e=>e.isProcessing),b=t||!!r||p;return l.a.createElement(l.a.Fragment,null,l.a.createElement("p",null,"Download a copy of your account data in a machine-readable format. This includes your profile information, pub attributions, comments, reviews, and other activity on PubPub."),l.a.createElement("div",null,l.a.createElement(c.c,{disabled:b,onClick:d},t?l.a.createElement(l.a.Fragment,null,"Generating..."," ",l.a.createElement("span",{style:{display:"inline-block",marginLeft:4,verticalAlign:"middle"}},l.a.createElement(c.F,{size:16}))):p?"Export in progress...":r?"Export started":"Generate data export")),i&&l.a.createElement(c.e,{intent:"success",style:{marginTop:12}},l.a.createElement("p",null,i),r&&l.a.createElement("p",{style:{fontSize:"0.9em",opacity:.7}},"Requested at ",r.toLocaleTimeString())),u&&l.a.createElement(c.e,{intent:"danger",style:{marginTop:12}},l.a.createElement("p",null,u)),e&&e.length>0&&l.a.createElement("div",{style:{marginTop:16}},l.a.createElement("h6",null,"Exports in last 30 days"),l.a.createElement(c.p,{condensed:!0,striped:!0,style:{width:"100%"}},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Date"),l.a.createElement("th",null,"Status"),l.a.createElement("th",null,"Expires"),l.a.createElement("th",null))),l.a.createElement("tbody",null,e.map(e=>{const t=new Date(e.createdAt),a=new Date(t.getTime()+6048e5),n=Date.now()>a.getTime(),r=!e.isProcessing&&!e.error&&"string"==typeof e.output;let o;return o=e.isProcessing?l.a.createElement(c.J,{minimal:!0,intent:"primary"},"Processing"):e.error?l.a.createElement(c.J,{minimal:!0,intent:"danger",title:e.error},"Error"):n?l.a.createElement(c.J,{minimal:!0,intent:"warning"},"Expired"):l.a.createElement(c.J,{minimal:!0,intent:"success"},"Ready"),l.a.createElement("tr",{key:e.id},l.a.createElement("td",null,t.toLocaleString()),l.a.createElement("td",null,o),l.a.createElement("td",null,e.isProcessing||e.error?"—":n?"Expired":a.toLocaleDateString()),l.a.createElement("td",{style:{textAlign:"right"}},r&&!n&&l.a.createElement("a",{className:"bp3-button bp3-minimal bp3-small",href:e.output,"aria-label":"Download export"},"Download")))})))))};const _b=[{title:"Zotero",name:"zotero",authUrl:"/auth/zotero"}],Hb=()=>{const{loginData:e,setGdprConsent:t}=Object(De.c)(),[a,r]=Object(n.useState)(!1),[o,i]=Object(n.useState)(null);return Object(n.useEffect)(()=>{null===o&&i(!!Object(Db.b)(e)),a&&Object(Db.d)(e,o,t)},[a,o,e,t]),l.a.createElement(c.f,null,l.a.createElement("h5",null,"Third-party analytics"),l.a.createElement("p",null,"PubPub allows Third Party Publishers to use Google Analytics to store, aggregate and summarize information about user behavior on our platform. We do this to help communities who use our service to measure the performance of their content. We do not share any personally identifiable information with communities on PubPub or any other third parties."),l.a.createElement("p",null,"If you allow us to enable Google Analytics on behalf of other communities while you browse, we'll send requests to their servers containing things like the URL of the current page, your browser version, and your IP address. We'll never send Google Analytics any identifying information such as your name, affiliation, or email address."),l.a.createElement(c.G,{checked:!!o,onChange:()=>{r(!0),i(!o)},label:"Third party analytics is "+(o?"enabled":"disabled")}))};var Vb=e=>{const{isLoggedIn:t,integrations:a,userNotificationPreferences:r,onUpdateUserNotificationPreferences:o}=e,i=a.map(({name:e})=>e),[s,u]=Object(n.useState)(_b.map(({name:e})=>e).filter(e=>!i.includes(e))),m=e=>()=>{Ae.a.delete("/api/integrationDataOAuth1",{id:e.integrationDataOAuth1Id}).then(()=>{u([...s,e.name])})};return l.a.createElement("div",{className:"privacy-settings"},l.a.createElement(Hb,null),t&&l.a.createElement(l.a.Fragment,null,l.a.createElement(c.f,null,l.a.createElement("h5",null,"Data export"),l.a.createElement($b,{pastExports:e.accountExports})),_b.map(e=>{const t=a.find(({name:t})=>t===e.name);return l.a.createElement(c.f,{key:e.name},l.a.createElement("h5",null,e.title," integration"),l.a.createElement("p",null,"Deleting the integration will purge your ",e.name," credentials from our database."),!s.includes(e.name)&&t?l.a.createElement(c.c,{intent:"danger",text:"Remove",onClick:m(t)}):l.a.createElement(c.b,{text:"Activate",href:e.authUrl}))}),r&&l.a.createElement(c.f,null,l.a.createElement("h5",{id:"notification-preferences"},"Notification preferences"),l.a.createElement(Tb.a,{minimal:!0,preferences:r,onUpdatePreferences:o})),l.a.createElement(Rb,{adminCommunities:e.adminCommunities}),l.a.createElement(Ib,{userEmail:e.userEmail,accountUrl:e.accountUrl}),l.a.createElement(zb,null)))},qb=a(2),Wb=a.n(qb);const Gb={hostname:Wb.a.string.isRequired},Yb=function(e){const t=l.a.createElement("a",{href:"mailto:[email protected]?subject=Terms%252520Question",title:""},"[email protected]");return l.a.createElement("div",null,l.a.createElement("h2",null,"Terms of Service"),l.a.createElement("p",null,"PubPub is an end-to-end, open-source publishing platform developed by Knowledge Futures, Inc (KFI). KFI is a community of technologists, information creators, and scholarly publishers that is committed to addressing a core set of pressing and complex issues within research-intensive institutions. PubPub’s goal is to develop open tools, infrastru
1cture, and transparent business models that will bend the arc of knowledge creation and consumption toward equity and independence."),l.a.createElement("p",null,"This is a legal agreement between us, Knowledge Futures, Inc., a Massachusetts nonprofit organization with offices at 245 Main St, Cambridge MA, and you."),l.a.createElement("p",null,"By accessing the PubPub website after those changes have become effective, you agree to be bound by all the modified terms."),l.a.createElement("p",null,"BY ACCESSING CONTENT ON THE PUBPUB WEBSITE, YOU ACCEPT THESE TERMS OF SERVICE. If you are using PubPub on behalf of an entity, “you” refers to that entity."),l.a.createElement("h3",null,"Communities"),l.a.createElement("p",null,"PubPub allows registered users to create a Community. A Community may reside on the PubPub domain or on a domain of the Community administrator's choice but displayed from a PubPub server. You may submit your Content for inclusion in a Community, but it is up to the discretion of the Community’s administrator to decide whether to include it. PubPub may display in your profile a list of your Content and the Communities in which they appear. We may also send you a notification each time a Community has elected to include your Content, if you have opted in to receiving email from PubPub."),l.a.createElement("h3",null,"Site Content"),l.a.createElement("p",null,"Except where otherwise noted, Site Content is licensed by its owners under the"," ",l.a.createElement("a",{href:"https://creativecommons.org/licenses/by/4.0/",title:""},"Creative Commons Attribution (CC-BY) 4.0 License"),"."),l.a.createElement("h3",null,"Acceptable Use"),l.a.createElement("p",null,"We may establish written policies for your use of the Site, and those policies will be published at"," ",l.a.createElement("a",{href:`https://${e.hostname}/legal/aup`},e.hostname+"/legal/aup"),". You must abide by those policies, and if you fail to do so, we may immediately terminate and remove your account and Community or limit your access to it. We may update those policies from time to time. We may also establish policies regarding your Community, such as how long your Community content will be retained on the Site. We have no responsibility or liability for the deletion or failure to store any content."),l.a.createElement("h3",null,"User-Generated Content"),l.a.createElement("p",null,"PubPub includes features that allow you or others to contribute User-Generated Content. The Site, Third Party Publishers, and Communities may solicit and publish User-Generated Content through blogs, video postings, and chat features, among other forums."),l.a.createElement("p",null,"By submitting User-Generated Content, you hereby make that User-Generated Content available under the Creative Commons Attribution 4.0 License, and you represent and warrant that you have the right to provide your User Generated Content under that license, that all of that User Generated Content is either authored by you, or provided by third parties under the Creative Commons Attribution 4.0 License or in the public domain, and that your User Generated Content contains no personally identifiable information of third parties who have not expressly authorized you to provide it as part of your User Generated Content. All of your User-Generated Content must be appropriately marked with licensing and attribution information."),l.a.createElement("p",null,"We, and any Third-Party Publisher or Community,"),l.a.createElement("ul",null,l.a.createElement("li",null,"may monitor User-Generated Content on the Site,"),l.a.createElement("li",null,"may modify, edit, or remove any of said content at our or their discretion, without notice, and for any reason,"),l.a.createElement("li",null,"may prescreen User-Generated Content and may decide, in our or their discretion, without notice, and for any reason, not to publish it,"),l.a.createElement("li",null,"will not modify or edit any scholarly work that you submit for posting on the Site, but may decide, in our or their discretion, to withhold it from publication in its entirety, and"),l.a.createElement("li",null,"will have no liability for monitoring, modifying, remov
1ing, or declining to publish User-Generated Content on the Site.")),l.a.createElement("p",null,"At all times, PubPub, in its sole discretion, may decide to assign to any Third-Party Publisher or Community, any or all of the rights to modify, edit, remove, prescreen, or withhold from publication the User-Generated Content on the Site."),l.a.createElement("p",null,"You acknowledge that the views and opinions expressed by other users on the Site are theirs alone and should not be ascribed to us. You understand that by using the Site, you may be exposed to User-Generated Content that might be offensive, harmful, inaccurate or otherwise inappropriate. Under no circumstances will we or any Third-Party Publisher or Community be liable in any way for any User-Generated Content, including, but not limited to, any errors or omissions in any User-Generated Content, or any loss or damage of any kind incurred as a result of the use of any User-Generated Content made available via the Site or disseminated elsewhere."),l.a.createElement("h3",null,"Registration and Termination of Access"),l.a.createElement("p",null,"Certain areas of the Site may require registration or may otherwise ask you to provide information in order to participate. The decision to provide this information is optional; however, if you elect not to provide such information, you may not be able to access certain features of the Site. When you register, you must provide information to PubPub that is accurate, current and complete (excepting the use of a pseudonym). You must keep that information up to date. You must immediately notify PubPub of any unauthorized use of your password or any other breach of security. We will not be liable for any loss or damage arising from your failure to protect your password or account login information."),l.a.createElement("p",null,"We reserve the right to terminate any registration and otherwise deny Site access to any person for any reason. We have the right to refer any suspected fraudulent, abusive or illegal activity that may be grounds for suspension or termination of your account and/or use of the Site, to appropriate law enforcement authorities. You agree that we may terminate your account at any time for any reason or no reason. If we do so other than for breach of these terms or the AUP, we will refund to you a pro-rated portion of fees you have already paid to us, if any, for the remaining term pertaining to those fees."),l.a.createElement("h3",null,"Disclaimer of Warranty / Limitation of Liability"),l.a.createElement("p",null,"Your use of the Site is at your sole risk. TO THE FULLEST EXTENT PERMITTED BY THE LAW, WE AND ALL THIRD-PARTY PUBLISHERS AND COMMUNITIES (COLLECTIVELY, “THE DISCLAIMING PARTIES”) DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, IN CONNECTION WITH THE SITE AND YOUR USE THEREOF, INCLUDING BUT NOT LIMITED TO WARRANTIES AS TO MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, OR NON-INFRINGEMENT."),l.a.createElement("p",null,"You agree that the Disclaiming Parties will not be liable to you for any indirect loss or damages, including without limitation consequential or incidental damages, arising out of or relating to these Terms, or your use or inability to use the Site whether based in contract, tort, or other law."),l.a.createElement("h3",null,"Indemnification"),l.a.createElement("p",null,"You will indemnify and defend us, each Third Party Publisher, each Community, and each of our or their affiliates, employees, faculty members, fellows, students, governing board members, contractors and agents (collectively, the “Indemnified Parties”), and hold the Indemnified Parties harmless, from and against any claim, and all related loss, damage, damage, or expense, including without limitation reasonable attorneys’ fees, incurred by Indemnified Parties, in connection (1) use of the Site; (2) posting of User-Generated Content; (3) breach of these Terms of Service or any representation or warranty made by you; or (4) violation of applicable law, by you or by any person whom you authorize to use your PubPub account."),l.a.createElement("p",null,"The Indemnified Parties shall have the right, at their own expense, to assume the exclusive defense and control of any matter subject to indemnification by you."),l.a.createElement("h3",null,"Third-Party Be
1neficiaries"),l.a.createElement("p",null,"All Third-Party Publishers and Communities are third-party beneficiaries of these Terms of Service, to the extent their interests may appear, and the administrators of the Third-Party Publishers and Communities may, by working together with PubPub, enforce the provisions of these Terms of Service only as related to such Third-Party Content or Communities. PupPub will reasonably cooperate with such administrators in enforcing the provisions of these Terms of Service. Third-Party Publishers and Communities may assign or transfer these Terms of Service, as applicable to their relationship with you, without restriction, as part of any assignment of any Third-Party Content or Community, in whole or in part, to any other publisher or platform, and such Terms of Service will be binding on and inure to the benefit of their successors and assigns."),l.a.createElement("h4",null,"Third-Party Policies"),l.a.createElement("p",null,"Third-Party Publishers and Communities may include their own Third-Party Policies on the pages of their Communities, so long as: (i) the Third-Party Policies do not conflict with these Terms of Service, PubPub’s Acceptable Use Policy, PubPub’s Privacy Policy, and any other PubPub terms or policies; and (ii) the Third-Party Publishers and Communities are solely responsible for the enforcement of their Third-Party Policies. To the extent any conflict arises between a Third-Party Policy and any of PubPub’s terms or policies, the relevant PubPub term or policy will control for that conflict."),l.a.createElement("h3",null,"General"),l.a.createElement("p",null,"These Terms of Service (including the Acceptable Use Policy) constitute the entire agreement between you and us with respect to your use of the Site, superseding any prior agreements. KFI reserves the right to these Terms of Service and to modify PubPub’s features at any time by posting changes to these Terms of Service at"," ",l.a.createElement("a",{href:`https://${e.hostname}/legal/terms`},e.hostname+"/legal/terms"),", and sending all registered users email notification that changes have been made. KFI will use reasonable efforts to post such changes at least 30 days before their effective date, but non-material changes or changes that are necessary to avoid liability by KFI may take effect more quickly."),l.a.createElement("p",null,"The section titles in these Terms of Service are for convenience only and have no legal or contractual effect."),l.a.createElement("p",null,"The provisions of these terms will survive any termination of services to you."),l.a.createElement("p",null,"These Terms of Service will be governed by the laws of the Commonwealth of Massachusetts without regard to its conflicts of laws provisions. In the case of any dispute arising out of or relating to these Terms of Service or your use of the Site, the state and federal courts located within the Commonwealth of Massachusetts will have exclusive jurisdiction, and both we and you agree to submit to the personal jurisdiction of such courts."),l.a.createElement("p",null,"Any failure to enforce any term or condition of these Terms of Service will not constitute a waiver of rights. If any provision of these Terms of Service is found by a court of competent jurisdiction to be invalid, it will be interpreted to have the broadest validity consistent with law, and the other provisions of these Terms of Service shall remain in effect."),l.a.createElement("p",null,"These Terms of Service are personal to you and non-assignable, except with our prior written permission. If you wish to transfer control of your Community, please contact us at ",t,". PubPub may assign or transfer these Terms of Service and your agreement thereto upon notice to you. These Terms of Service will be binding on, and inure to the benefit of permitted successors and assigns."),l.a.createElement("p",null,"Any notice that we provide to you may be provided to the email address on file for your account. You must inform us of any change in that email address."),l.a.createElement("h3",null,"Questions and Comments"),l.a.createElement("p",null,"If you have any questions about these Terms of Service, please contact ",t,"."),l.a.createElement("h3",null,"Definitions"),l.a.createElement("p",null,"“",l.a.createElement("strong",null,"Acceptable Use Policy"),"” means the policy published by us for the Site."),l.a.createElement("p",null,"“",l.a.createElement("strong",null,"Community"),"” means a publicly available content repository on PubPub where common disciplinary interests aggregate around content contributed by creators and readers."),l.a.createElement("p",null,"“",l.a.createElement("strong",null,"Site"),"” means the PubPub web site."),l.a.createElement("p",null,"“",l.a.createElement("strong",null,"Site Content"),"â€
1 means all content, features, and functionality posted to or provided via the Site, such as journals, books, and other publications created by persons other than you (“Third-Party Content”), all User-Generated Content."),l.a.createElement("p",null,"”",l.a.createElement("strong",null,"Third-Party Publishers"),"” are persons other than you for which we provide hosting services to for the publication of journals, books, or other curated content."),l.a.createElement("p",null,"“",l.a.createElement("strong",null,"Third-Party Policies"),"” are the Third-Party Publishers’ and Communities’ own policies, such as terms of service or acceptable use policies."),l.a.createElement("p",null,"“",l.a.createElement("strong",null,"User-Generated Content"),"” means any content, whether or not copyrightable, that users submit to the Site."))};Yb.propTypes=Gb;var Kb=Yb,Jb=(a(1445),Object.defineProperty),Qb=Object.getOwnPropertySymbols,Zb=Object.prototype.hasOwnProperty,Xb=Object.prototype.propertyIsEnumerable,eh=(e,t,a)=>t in e?Jb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,th=(e,t)=>{for(var a in t||(t={}))Zb.call(t,a)&&eh(e,a,t[a]);if(Qb)for(var a of Qb(t))Xb.call(t,a)&&eh(e,a,t[a]);return e};var ah=e=>{const{locationData:t,loginData:a,communityData:{accentColorDark:r}}=Object(De.c)(),{tab:o}=t.params,[i,s]=Object(n.useState)(e.userNotificationPreferences);return l.a.createElement(l.a.Fragment,null,l.a.createElement("style",null,`#legal-container .main-content p > a { color: ${r}; }`),l.a.createElement("div",{id:"legal-container"},l.a.createElement(A.L,{containerClassName:"legal",columnClassName:"legal-columns"},l.a.createElement("div",{className:"side-content"},l.a.createElement(c.t,{className:"side-menu"},l.a.createElement(c.u,{key:"terms",text:"Terms of Service",active:"terms"===o,href:"/legal/terms"}),l.a.createElement(c.u,{key:"privacy",text:"Privacy Policy",active:"privacy"===o,href:"/legal/privacy"}),l.a.createElement(c.u,{key:"aup",text:"Acceptable Use Policy",active:"aup"===o,href:"/legal/aup"}),l.a.createElement(c.u,{key:"settings",text:"Privacy & Account",active:"settings"===o,href:"/legal/settings"}))),l.a.createElement("div",{className:"main-content"},"terms"===o&&l.a.createElement(Kb,{hostname:t.hostname}),"privacy"===o&&l.a.createElement(Pb,null),"aup"===o&&l.a.createElement(Sb,
1null),"settings"===o&&e.userNotificationPreferences&&l.a.createElement(Vb,{isLoggedIn:!!a.id,integrations:e.integrations,userEmail:e.userEmail,accountUrl:e.accountUrl,accountExports:e.accountExports,adminCommunities:e.adminCommunities,userNotificationPreferences:i,onUpdateUserNotificationPreferences:e=>{return t=null,a=null,n=function*(){s(t=>th(th({},t),e)),yield Ae.a.put("/api/userNotificationPreferences",{preferences:e})},new Promise((e,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((n=n.apply(t,a)).next())});var t,a,n}})))))},nh=a(287),lh=a.n(nh);a(1446);var rh=()=>{const[e,t]=Object(n.useState)(!1),[a,r]=Object(n.useState)(void 0),[o,i]=Object(n.useState)(!1),s=Object(n.useRef)(null),u=Object(n.useRef)(null),m=Object(n.useRef)(null),{locationData:d,loginData:p,communityData:b}=Object(De.c)();return l.a.createElement("div",{id:"login-container"},l.a.createElement(A.L,{containerClassName:"small"},!p.id&&l.a.createElement("div",null,l.a.createElement("h1",null,"Login"),!d.isBasePubPub&&l.a.createElement("p",null,"Login to ",l.a.createElement("b",null,b.title)," using your"," ",l.a.createElement("a",{href:"https://www.pubpub.org"},"PubPub")," account."),l.a.createElement("form",{onSubmit:e=>{var a;if(e.preventDefault(),!(s.current&&s.current.value&&u.current&&u.current.value))return t(!1),r("Invalid Email or Password"),null;t(!0),r(void 0);return null==(a=m.current)?void 0:a.verify().then(e=>Object(Ae.a)("/api/login/fromForm",{method:"POST",body:JSON.stringify({email:s.current.value.toLowerCase(),password:Ub()(u.current.value).toString(lh.a),altcha:e})}).then(()=>{const e=Math.round((new Date).getTime()/1e3);window.location.href=d.query.redirect?`/${d.query.redirect.replace(/^\/+/,"")}?breakCache=${e}`:"/?breakCache="+e}).catch(e=>{t(!1),"string"==typeof e&&e.includes("restricted")?r(e):r("Invalid Email or Password")})).catch(e=>{t(!1),r((null==e?void 0:e.message)||"Verification failed. Please try again.")})}},l.a.createElement(A.R,{label:"Email",placeholder:"[email protected]",autocomplete:"username",inputRef:s}),l.a.createElement(A.R,{label:"Password",type:"password",autocomplete:"current-password",helperText:l.a.createElement("a",{href:"/password-reset"},"Forgot Password"),inputRef:u}),l.a.createElement(A.b,{ref:m,auto:"onload"}),l.a.createElement(A.R,{error:a},l.a.createElement(c.c,{name:"login",type:"submit",className:`${Le.a.BUTTON} ${Le.a.INTENT_PRIMARY}`,text:"Login",loading:e}))),l.a.createElement("a",{href:"/signup",className:"switch-message"},"Don't have a PubPub account? Click to Signup")),p.id&&l.a.createElement(c.v,{visual:l.a.createElement(A.e,{initials:p.initials,avatar:p.avatar,width:100}),title:"Already Logged In",action:l.a.createElement("div",null,l.a.createElement(c.b,{className:Le.a.LARGE+" action-button",text:"View Profile",href:"/user/"+p.slug}),l.a.createElement(c.c,{className:Le.a.LARGE+" action-button",text:"Logout",onClick:()=>{i(!0),Object(Ae.a)("/api/logout").then(()=>{window.location.href="/"})},loading:o}))})))};a(1447);var oh=()=>{const{locationData:e,loginData:t}=Object(De.c)(),a=`?redirect=${e.path}${e.queryString.length>1?e.queryString:""}`;return l.a.createElement("div",{id:"no-match-container"},l.a.createElement(c.v,{title:"Page Not Found",visual:"path-search",description:t.id?null:"If you believe there should be a page at this URL, it may be private. Try logging in.",action:t.id?null:l.a.createElement(c.b,{intent:xe.a.PRIMARY,outlined:!0,href:"/login"+a,text:"Login"})}))};var ih=e=>{const{pageData:t}=e;return l.a.createElement(A.S,{blocks:t.layout,isNarrow:t.isNarrow||t.isNarrowWidth,layoutPubsByBlock:t.layoutPubsByBlock})};a(1448);var sh=e=>{const[t,a]=Object(n.useState)(""),[r,o]=Object(n.useState)(""),[i,s]=Object(n.useState)(!1),[u,m]=Object(n.useState)(!1),[d,p]=Object(n.useState)(void 0),[b,h]=Object(n.useState)(!1),[g,f]=Object(n.useState)(void 0),{passwordResetData:y}=e,{locationData:v}=Object(De.c)(),E=e=>(e.preventDefault(),m(!0),Object(Ae.a)("/api/password-reset",{method:"POST",body:JSON.stringify({email:t.toLowerCase()})}).then(()=>{m(!1),s(!0)}).catch(()=>{m(!1),p("Error")})),O=e=>(e.preventDefault(),h(!0),Object(Ae.a)("/api/password-reset",{method:"PUT",body:JSON.stringify({password:Ub()(r).toString(lh.a),slug:v.params.slug,resetHash:v.params.resetHash})}).then(()=>{h(!1),s(!0)}).catch(()=>{h(!1),f("Error")})),w=v.params.resetHash;return l.a.createElement("div",{id:"password-reset-container"},l.a.createElement(A.L,{containerClassName:"small"},!i&&!w&&l.a.createElement("h1",null,"Reset Password"),!i&&!!w&&l.a.createElement("h1",null,"Set Password"),!w&&!i&&l.a.createElement("form",{onSubmit:E},l.a.createElement("p",null,"Enter your email and a link to reset your password will be sent to you."),l.a.createElement(A.R,{label:"Email",type:"email",placeholder:"[email protected]",value:t,onChange:e=>{a(e.target.value)}}),l.a.createElement(A.R,{error:d&&"Error Resetting Password"},l.a.createElement(c.c,{name:"create",type:"submit",className:`${Le.a.BUTTON} ${Le.a.INTENT_PRIMARY} create-account-button`,onClick:E,text:"Reset Password",disabled:!t,loading:u}))),!w&&i&&l.a.createElement(c.v,{description:"If your email is known to us, we have sent you an email with a reset link",title:"Reset Password Email Sent",visual:"envelope"}),w&&!y.hashIsValid&&l.a.createElement("div",{className:`${Le.a.CALLOUT} ${Le.a.INTENT_DANGER}`},"Invalid hash. Try ",l.a.createElement("a",{href:"/password-reset"},"resetting your password")," ","again."),w&&y.hashIsValid&&!i&&l.a.createElement("form",{onSubmit:O},l.a.createElement(A.R,{label:"Password",type:"password",value:r,onChange:e=>{o(e.target.value)}}),l.a.createElement(A.R,{error:g&&"Error Resetting Password"},l.a.createElement(c.c,{name:"create",type:"submit",className:`${Le.a.BUTTON} ${Le.a.INTENT_PRIMARY} create-account-button`,onClick:O,text:"Set New Password",disabled:!r,loading:b}))),w&&y.hashIsValid&&i&&l.a.createElement(c.v,{description:"Your password has been successfully changed.",title:"Reset Password Successful",visual:"tick",action:l.a.createElement(c.b,{href:"/login",className:`${Le.a.INTENT_PRIMARY} ${Le.a.LARGE}`,text:"Login with new password"})})))};a(1449);var ch=()=>l.a.createElement("div",{id:"pricing-container"},l.a.createElement(A.L,null,l.a.createElement("h1",null,"PubPub is free."),l.a.createElement("p",{className:"description top"},"PubPub's goal is to make knowledge creation accessible to everyone. To fulfill this mission, we offer access to PubPub and all features for free.",l.a.createElement("sup",null,"*")," We do not sell data or rely on ancillary business streams. To ensure our work is community-driven and sustainable for the long term, we offer two ways for users to support PubPub."),l.a.createElement("div",{className:"pricing-tiers"},l.a.createElement("div",{className:`option ${Le.a.CARD} ${Le.a.ELEVATION_1}`},l.a.createElement("h2",null,"KFG Membership"),l.a.createElement("p",null,"PubPub is built by the"," ",l.a.createElement("a",{href:"https://knowledgefutures.org"},"Knowledge Futures Group"),", a non-profit dedicated to building public knowledge infrastru
1cture. We ask that users who value PubPub consider becoming KFG Members to help ensure its longterm sustainability."),l.a.createElement("p",null,"Membership includes benefits like regular member programming, custom domains, email support, strategy consultation, and discounts on community services. We are dedicated to making membership accessible, and have multiple tiers with pricing based on ability to pay."),l.a.createElement("a",{href:"https://knowledgefutures.org/membership",className:`${Le.a.BUTTON} ${Le.a.LARGE} ${Le.a.INTENT_PRIMARY}`},"Join us")),l.a.createElement("div",{className:`option ${Le.a.CARD} ${Le.a.ELEVATION_1}`},l.a.createElement("h2",null,"Community Services"),l.a.createElement("p",null,"For groups that want personalized support we offer production, training, and strategy services for building high quality, effective publishing communities. Services include content production, editorial services, site design, back file import, training, interactive production, branding, and more."),l.a.createElement("p",null,"Our clients include"," ",l.a.createElement("a",{href:"https://academicentrepreneurship.pubpub.org/",target:"_blank",rel:"noopener noreferrer"},"The Children's Hospital of Philadelphia"),","," ",l.a.createElement("a",{href:"https://hdsr.mitpress.mit.edu",target:"_blank",rel:"noopener noreferrer"},"the Harvard Data Science Review"),","," ",l.a.createElement("a",{href:"https://participa.conl.mx/",target:"_blank",rel:"noopener noreferrer"},"Consejo Nuevo León"),","," ",l.a.createElement("a",{href:"https://apaopen.org",target:"_blank",rel:"noopener noreferrer"},"the American Psychological Association"),","," ",l.a.createElement("a",{href:"https://mit-serc.pubpub.org",target:"_blank",rel:"noopener noreferrer"},"MIT's Schwarzman College of Computing"),", and others."),l.a.createElement("a",{href:"/community-services",target:"_blank",rel:"noopener noreferrer",className:`${Le.a.BUTTON} ${Le.a.LARGE} ${Le.a.INTENT_PRIMARY}`},"Learn more"))),l.a.createElement("p",{className:"fine-print"},l.a.createElement("sup",null,"*")," For communities requiring DOIs, we have a limit of 10 free DOI registrations per community per year if published via PubPub's Crossref membership. Once the limit is reached, we ask that you become a"," ",l.a.createElement("a",{href:"https://knowledgefutures.org/membership"},"KFG member"),", at any level, and allow us to pass on the Crossref fee of $1 per DOI registered. For groups with their own Crossref membership, there is no additional fee for creating or depositing DOIs."))),uh=a(322),mh=a(107),dh=a(361),ph=(a(240),a(380)),bh=a(26);var hh=Object.defineProperty,gh=Object.getOwnPropertySymbols,fh=Object.prototype.hasOwnProperty,yh=Object.prototype.propertyIsEnumerable,vh=(e,t,a)=>t in e?hh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Eh=(e,t={})=>{const{top:a,left:n,bottom:l,right:r}=e,{innerWidth:o,innerHeight:i}=window,{clientWidth:s,clientHeight:c}=document.documentElement,{top:u,left:m}=((e,t)=>{for(var a in t||(t={}))fh.call(t,a)&&vh(e,a,t[a]);if(gh)for(var a of gh(t))yh.call(t,a)&&vh(e,a,t[a]);return e})({top:0,left:0},t);return a>=u&&n>=m&&l<=(i||c)&&r<=(o||s)},Oh=(e,t=0)=>{let a;try{a=document.getElementById(e.replace("#",""))}catch(e){return}a&&setTimeout(()=>{const e=a.getBoundingClientRect();Eh(e,{top:50})||(document.body.scrollTop+=e.top-80)},t)};a(1450);var wh=()=>{const{communityData:e}=Object(De.c)();return e.isArchiveCommunity?l.a.createElement(c.e,{icon:"archive",intent:"primary",className:"pub-archive-notice-component"},l.a.createElement("p",null,"This publication's community has been removed. This page is maintained to preserve the scholarly record.")):null},Ch=a(810),Nh=a(12),jh=a(152);const kh=(e,t={},a="")=>(Object.entries(e).forEach(([e,n])=>{const l=""===a?e:`${a}.${e}`;n&&"object"==typeof n?kh(n,t,l):t[l]=n}),t);var Sh=()=>{let e=!1;return new Nh.Plugin({filterTransaction:(t,a)=>{const{doc:n}=t,l=(e=>{if(1===e.childCount){const t=e.child(0);if("paragraph"===(null==t?void 0:t.type.name))for(let e=0;e<t.childCount;e++){if("paragraph"===t.child(e).type.name)return!0}}return!1})(n);if(l){const n=((e,t)=>{const{steps:a,selection:n,mapping:l,docChanged:r,isGeneric:o}=e,{mostRecentRemoteKey:i}=jh.a.getState(t),s=e.meta;return kh({meta:s,mostRecentRemoteKey:i,steps:a.map(e=>e.toJSON()),selection:n.toJSON(),mapping:l,docChanged:r,isGeneric:o})})(t,a);e||(e=!0,Q.c(new Error("Evil Prosemirror Transaction"),{contexts:{transactionMetadata:n}}))}return!l}})},Ph=a(296),Dh={discussion:{atom:!0,attrs:{threadNumber:{default:null},align:{default:"center"}},parseDOM:[{tag:"discussion",getAttrs:e=>({threadNumber:e.getAttribute("data-thread-number")||null,align:e.getAttribute("data-align")||null})}],toDOM:e=>["discussion",{"data-thread-number":e.attrs.threadNumber,"data-align":e.attrs.al
1ign}],inline:!1,group:"block",draggable:!1,isNodeView:!0,onInsert:e=>{const t=e.state.schema.nodes.discussion.create(),a=e.state.tr.replaceSelectionWith(t);e.dispatch(a)}}},Ih=a(283),Th=a(809);var xh=e=>{const{pubErrorOccurredAt:t,lastSaveOccurredAt:a}=e,{pubData:{title:n},collabData:{editorChangeObject:r}}=Object(bh.a)();if(!t||(()=>{if(window&&"URLSearchParams"in window){return!!new URLSearchParams(window.location.search).get("suppressEditorErrors")}return!1})())return null;const o=a&&t-a>500;return l.a.createElement(c.a,{isOpen:!0,icon:"error",confirmButtonText:"Refresh Page",onConfirm:()=>{window.location.reload()},cancelButtonText:o?"Download backup":void 0,onCancel:o?()=>{((e,t)=>{const a=Object(bi.h)(e),n=new Blob([JSON.stringify(a,null,2)],{type:"text/plain;charset=utf-8"});Object(Th.saveAs)(n,t+"_backup.json")})(r.view,n)}:void 0,className:"pub-body-alert"},l.a.createElement("h5",null,"An error has occured in the editor."),l.a.createElement("p",null,"We've logged the error and will look into the cause right away."),o&&l.a.createElement(l.a.Fragment,null,l.a.createElement("p",{className:"error-time"},"Your changes were last saved"," ",l.a.createElement(A.Tb,{date:a,now:t}),"."),l.a.createElement("p",null,"If you are concerned about unsaved changes being lost, please download a backup copy of your document below.")),!o&&l.a.createElement("p",{className:"error-time"},"All previous changes have been successfully saved."),l.a.createElement("p",null,"To continue editing, please refresh the page."))};a(1451);var Ah=e=>{const{editorWrapperRef:t}=e,{pubData:a,noteManager:r,updateCollabData:o,historyData:{setLatestHistoryKey:i},collabData:{status:s,firebaseDraftRef:c,localCollabUser:u},pubBodyState:{editorKey:m,initialContent:d,initialHistoryKey:p,isReadOnly:b,includeCollabPlugin:h,includeDiscussionsPlugin:g,discussionAnchors:f}}=Object(bh.a)(),[y,v]=Object(n.useState)(null),[E,O]=Object(n.useState)(null),{markLastInput:w}=Object(n.useContext)(Ih.a),C=Object(sn.a)(e=>e.NodeLabels),{featureFlags:N}=Object(De.c)();Object(Sa.a)(("saving"===s||"disconnected"===s)&&!y,"Your Pub has changes that are still unsaved. Are you sure you wish to leave?");const j=Object(n.useCallback)(()=>(w(),!1),[w]),k=Object(n.useCallback)(e=>{v(Date.now()),(e=>{"undefined"!=typeof window&&window.sentryIsActive&&(Q.e(e=>e.setTag("error_source","editor")),Q.c(e))})(e)},[]),[S]=Object(Ch.useDebouncedCallback)(e=>{"saved"===e&&O(Date.now()),o({status:e})},250),P=Object(n.useCallback)(e=>{o({editorChangeObject:e})},[o]),D=h&&!!c&&{pubId:a.id,initialDocKey:p,firebaseRef:c,clientData:u,onStatusChange:S,onUpdateLatestKey:i},I=g&&{draftRef:c,initialHistoryKey:p,discussionAnchors:f||[]};return l.a.createElement("main",{className:"pub-body-component",ref:t},l.a.createElement(A.E,{key:m,customNodes:Dh,enableSuggestions:!0,nodeLabels:C,noteManager:r,placeholder:b?void 0:"Begin writing here...",initialContent:d,isReadOnly:b,onKeyPress:j,onChange:P,onError:k,discussionsOptions:I,collaborativeOptions:D,customPlugins:{malformedDocPlugin:Sh,suggestedEdits:N.suggestedEdits?Ph.b:null}}),l.a.createElement(xh,{pubErrorOccurredAt:y,lastSaveOccurredAt:E}))},Mh=a(55),Lh=Object.defineProperty,Rh=Object.defineProperties,Fh=Object.getOwnPropertyDescriptors,Uh=Object.getOwnPropertySymbols,Bh=Object.prototype.hasOwnProperty,zh=Object.prototype.propertyIsEnumerable,$h=(e,t,a)=>t in e?Lh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,_h=(e,t)=>{for(var a in t||(t={}))Bh.call(t,a)&&$h(e,a,t[a]);if(Uh)for(var a of Uh(t))zh.call(t,a)&&$h(e,a,t[a]);return e},Hh=(e,t)=>Rh(e,Fh(t));const Vh=e=>{const{notes:t,renderedStructuredValues:a,includeNumbers:n,isFootnote:l}=e;return(l?t:Object(ar.j)(t,e=>e.fingerprint)).map((e,t)=>Hh(_h(_h({},e),n&&{number:t+1}),{renderedStructuredValue:a[e.structuredValue]}))},qh=e=>e.map(e=>{return Hh(_h({},e),{sortOn:(t=e,(((null==(n=null==(a=t.renderedStructuredValue)?void 0:a.json)?void 0:n.length)?null==(l=t.renderedStructuredValue)?void 0:l.html:t.unstructuredValue)||"").replace(/(<([^>]+)>)/gi,"").toLowerCase().trim())});var t,a,n,l}).sort((e,t)=>
1e.sortOn.localeCompare(t.sortOn)),Wh=()=>{const{noteManager:e,collabData:{editorChangeObject:t}}=Object(bh.a)(),[a,l]=Object(n.useState)(e.notes),{citationInlineStyleKind:r}=e,o=t.view,{citations:i=[],footnotes:s=[]}=o?Object(Mh.q)(o.state.doc):{},c=Object(n.useMemo)(()=>(e=>{const{citations:t,footnotes:a,citationInlineStyle:n,renderedStructuredValues:l}=e,r="count"!==n,o=Vh({notes:a,renderedStructuredValues:l,includeNumbers:!0,isFootnote:!0}),i=Vh({notes:t,renderedStructuredValues:l,includeNumbers:!r,isFootnote:!1});return{footnotes:o,citations:r?qh(i):i}})({citations:i,footnotes:s,citationInlineStyle:r,renderedStructuredValues:a}),[i,s,r,a]);return Object(n.useEffect)(()=>e.subscribe(l),[e]),c};var Gh=a(288),Yh=a(241);const Kh=(e,t)=>!!t&&[e.text,e.author.fullName].map(e=>e.toLowerCase()).some(e=>e.toLowerCase().includes(t.toLowerCase()));var Jh=a(811),Qh=a.n(Jh),Zh=a(93),Xh=a(316),eg=Object.defineProperty,tg=Object.defineProperties,ag=Object.getOwnPropertyDescriptors,ng=Object.getOwnPropertySymbols,lg=Object.prototype.hasOwnProperty,rg=Object.prototype.propertyIsEnumerable,og=(e,t,a)=>t in e?eg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ig=(e,t)=>{for(var a in t||(t={}))lg.call(t,a)&&og(e,a,t[a]);if(ng)for(var a of ng(t))rg.call(t,a)&&og(e,a,t[a]);return e},sg=(e,t)=>tg(e,ag(t));const cg={link:sg(ig({},Xh.a.link),{toDOM:e=>{const t=ig({},e.attrs);t.target&&"string"!=typeof t.target&&(t.target=null);const a=t,{pubEdgeId:n}=a,l=((e,t)=>{var a={};for(var n in e)lg.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&ng)for(var n of ng(e))t.indexOf(n)<0&&rg.call(e,n)&&(a[n]=e[n]);return a})(a,["pubEdgeId"]);return["a",sg(ig({"data-pub-edge-id":n},l),{rel:"nofollow"})]}})};var ug=Object.defineProperty,mg=Object.defineProperties,dg=Object.getOwnPropertyDescriptors,pg=Object.getOwnPropertySymbols,bg=Object.prototype.hasOwnProperty,hg=Object.prototype.propertyIsEnumerable,gg=(e,t,a)=>t in e?ug(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,fg=(e,t)=>{for(var a in t||(t={}))bg.call(t,a)&&gg(e,a,t[a]);if(pg)for(var a of pg(t))hg.call(t,a)&&gg(e,a,t[a]);return e},yg=(e,t)=>mg(e,dg(t)),vg=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const Eg=(e,t)=>t?"Start a discussion here (or highlight some text above to begin one inline)":e?"Add your discussion...":"Add a reply...",Og=e=>{const{discussionData:t,isPubBottomInput:a}=e,{pubData:r,historyData:o,collabData:i,updateLocalData:s}=Object(bh.a)(),{loginData:u,locationData:m,communityData:d,scopeData:{activePermissions:{canEdit:p}}}=Object(De.c)(),b=i.editorChangeObject.view,[h,g]=Object(n.useState)(),[f,y]=Object(n.useState)(!1),[v,E]=Object(n.useState)(!1),[O,w]=Object(n.useState)(Date.now()),[C,N]=Object(n.useState)(""),j=Object(n.useRef)(null),k=!t.number,S=null==h?void 0:h.view;Object(n.useEffect)(()=>{!a&&(k||v)&&S&&S.focus()},[k,S,v,a]);const P=()=>{const e=Object(bi.i)(b,t.id);return{accessHash:m.query.access,discussionId:t.id,pubId:r.id,historyKey:o.currentKey,communityId:d.id,content:Object(bi.h)(null==h?void 0:h.view),text:Object(bi.j)(null==h?void 0:h.view)||"",initAnchorData:e,visibilityAccess:r.isRelease?"public":"members",commentAccessHash:r.commentHash,commenterName:C}},D=u.id,I=`?redirect=${m.path}${m.queryString.length>1?m.queryString:""}`,T=D||r.isAVisitingCommenter,x=!(!p&&!u.fullName),M=e=>{"Enter"===e.key&&e.currentTarget.blur()},L=Object(n.useCallback)(e=>{N(e.target.value)},[]),R=()=>!x&&r.isAVisitingCommenter&&l.a.createElement("div",{className:"simple-input guest-name-input"},l.a.createElement("p",null,"Add your name?"),l.a.createElement(c.r,{value:C,onChange:L,onBlur:M,placeholder:"Enter name here..."}));return l.a.createElement("div",{className:"thread-comment-component input"},l.a.createElement("div",{className:"avatar-wrapper"},l.a.createElement(A.e,{width:18,initials:u.initials,avatar:u.avatar})),!T&&l.a.createElement(l.a.Fragment,null,l.a.createElement(c.b,{className:"discussion-primary-button",text:"Login to discu
1ss",href:"/login"+I,small:!0}),k&&!a&&l.a.createElement(c.c,{className:"discussion-cancel-button",text:"Cancel",small:!0,onClick:()=>{Object(bi.v)(b,t.id)}})),T&&!k&&!v&&l.a.createElement(l.a.Fragment,null,l.a.createElement("input",{type:"text",className:"simple-input",placeholder:"Add a reply...",onFocus:()=>{E(!0)}}),R()),T&&(k||v)&&l.a.createElement("form",{onSubmit:k?e=>vg(null,null,(function*(){var t,n;e.preventDefault();const l=null!=(t=new FormData(e.currentTarget).get("title"))?t:"";y(!0);try{const e=yield null==(n=j.current)?void 0:n.verify(),t=yield Object(Ae.a)("/api/discussions/fromForm",{method:"POST",body:JSON.stringify(yg(fg({},P()),{_honeypot:l,altcha:e}))});s("pub",{discussions:[...r.discussions,t]}),a||Object(bi.a)(b,t.id)}finally{y(!1),a&&w(Date.now())}})):e=>vg(null,null,(function*(){var n,l;e.preventDefault();const o=null!=(n=new FormData(e.currentTarget).get("title"))?n:"";y(!0);try{const e=yield null==(l=j.current)?void 0:l.verify(),n=yield Object(Ae.a)("/api/threadComment/fromForm",{method:"POST",body:JSON.stringify(yg(fg({},{accessHash:m.query.access,parentId:t.id,threadId:t.thread.id,pubId:r.id,communityId:d.id,content:Object(bi.h)(null==h?void 0:h.view),text:Object(bi.j)(null==h?void 0:h.view)||"",commentAccessHash:r.commentHash,commenterName:C}),{_honeypot:o,altcha:e}))});s("pub",{discussions:r.discussions.map(e=>{var t;return e.thread.id===n.threadId?yg(fg({},e),{thread:yg(fg({},e.thread),{comments:[...null!=(t=e.thread.comments)?t:[],n]})}):e})})}finally{y(!1),a&&w(Date.now())}})),className:"content-wrapper",noValidate:!0},l.a.createElement(A.N,{name:"title"}),l.a.createElement("div",{className:"discussion-body-wrapper editable"},l.a.createElement(Zh.FormattingBar,{editorChangeObject:h,buttons:Zh.buttons.discussionButtonSet,isSmall:!0}),l.a.createElement(bi.b,{key:O,placeholder:Eg(k,a),customMarks:cg,onChange:e=>{g(e)}}),R()),l.a.createElement(A.b,{ref:j,auto:k?"onfocus":"onload"}),l.a.createElement(c.c,{className:"discussion-primary-button",intent:xe.a.PRIMARY,type:"submit",text:k?"Post Discussion":"Post Reply",loading:f,disabled:!Object(bi.j)(null==h?void 0:h.view)&&!Object(bi.l)(null==h?void 0:h.view).length,small:!0}),k&&!a&&l.a.createElement(c.c,{className:"discussion-cancel-button",text:"Cancel",type:"button",small:!0,onClick:()=>{Object(bi.v)(b,t.id)}})))};Og.defaultProps={isPubBottomInput:!1};var wg=Og;a(1453);var Cg=e=>{const{pubData:t,discussionData:a}=e,n=t.labels||[],r={};n.forEach(e=>{r[e.id]=e});const o=a.labels||[];return o.length?l.a.createElement("div",{className:"label-list-component"},o.sort((e,t)=>r[e].title<r[t].title?-1:r[e].title>r[t].title?1:0).map(e=>{const t=r[e];return t?l.a.createElement("span",{key:e,className:Le.a.TAG,style:{backgroundColor:t.color}},t.title):null})):null};a(1454);var Ng=e=>{const{discussionData:t}=e,{collabData:a}=Object(bh.a)(),[r,o]=Object(n.useState)(!1),{selection:i}=a.editorChangeObject,{anchor:s}=t,[u,m]=Object(n.useState)(null);return Object(n.useEffect)(()=>m(document.querySelector("body")),[]),l.a.createElement(l.a.Fragment,null,l.a.createElement(c.c,{small:!0,minimal:!0,disabled:r,onClick:()=>o(!0),icon:l.a.createElement(c.q,{icon:"text-highlight",iconSize:12})},"Re-anchor"),r&&u&&Y.a.createPortal(l.a.createElement(c.f,{className:"discussion-reanchor-component"},l.a.createElement("p",null,'Make a highlight in the document and then click "Re-anchor".'),s&&l.a.createElement("p",null,s.prefix,l.a.createElement("em",{style:{fontWeight:"bold"}},s.exact),s.suffix),l.a.createElement(c.d,null,l.a.createElement(c.c,{onClick:()=>o(!1),style:{marginRight:10}},"Cancel"),l.a.createElement(c.c,{onClick:()=>{const{view:e}=a.editorChangeObject;Object(bi.u)(e,a.firebaseDraftRef,t.id),o(!1)},disabled:!i||i.empty,intent:"primary"},"Re-anchor"))),u))};a(1455);class jg extends n.Component{constructor(e){super(e),this.state={labelsData:e.labelsData,isSaving:!1,labelsDataChanged:!1},this.applyLabel=this.applyLabel.bind(this),this.removeLabel=this.removeLabel.bind(this),this.handleSave=this.handleSave.bind(this)}applyLabel(e){this.setState(t=>({labelsData:[...t.labelsData,e],labelsDataChanged:!0}))}removeLabel(e){this.setState(t=>({labelsData:t.labelsData.filter(t=>t!==e),labelsDataChanged:!0}))}handleSave(){this.setState({isSaving:!0}
1),this.props.onPutDiscussion({labels:this.state.labelsData}).then(()=>{this.setState({isSaving:!1,labelsDataChanged:!1})})}render(){const e={};this.props.availableLabels.forEach(t=>{e[t.id]=t});const t=this.props.availableLabels.filter(e=>this.props.canAdminPub||e.publicApply);return 0===t.length?null:l.a.createElement(c.z,{popoverClassName:"label-select-component",content:l.a.createElement(c.t,null,l.a.createElement(c.c,{fill:!0,className:"save-button",text:"Save",onClick:this.handleSave,loading:this.state.isSaving,disabled:!this.state.labelsDataChanged}),t.sort((e,t)=>e.title<t.title?-1:e.title>t.title?1:0).map(e=>{const t=this.state.labelsData.indexOf(e.id)>-1;return l.a.createElement(c.u,{key:e.id,shouldDismissPopover:!1,onClick:()=>t?this.removeLabel(e.id):this.applyLabel(e.id),icon:l.a.createElement("div",{className:"color",style:{backgroundColor:e.color}},t&&l.a.createElement(A.O,{icon:"tick",iconSize:14})),text:e.title,labelElement:this.props.canAdminPub&&l.a.createElement(c.N,{content:e.publicApply?"All discussants can apply this label.":"Only managers can apply this label."},l.a.createElement(A.O,{icon:"endorsed",className:e.publicApply?"":"active"}))})})),position:dn.a.BOTTOM_RIGHT,transitionDuration:-1,minimal:!0,target:l.a.createElement(c.c,{minimal:!0,small:!0,onClick:this.toggleEditMode,icon:l.a.createElement(A.O,{icon:"tag2",iconSize:12})},"Labels")})}}var kg=jg;const Sg={chronological:"Sort chronologically",alphabetical:"Sort by contributor surname"};var Pg=e=>{const{pubData:t,discussionData:a,onUpdateDiscussion:r,sortType:o,setSortType:i}=e,{scopeData:s}=Object(De.c)(),{canAdmin:u,isSuperAdmin:m}=s.activePermissions,{isClosed:d}=a,[p,b]=Object(n.useState)(!1),h=()=>{b(!0),r({isClosed:!d})};return l.a.createElement("div",{className:"manage-tools-component"},l.a.createElement(kg,{availableLabels:t.labels||[],labelsData:a.labels||[],onPutDiscussion:r,canAdminPub:u}),(()=>{if(!a.number||a.isClosed&&!u)return null;const e=d?"Unarchive":"Archive";return l.a.createElement(A.p,{onConfirm:h,confirmLabel:e,text:`Are you sure you want to ${e.toLowerCase()} this discussion?`},({open:t})=>l.a.createElement(c.c,{icon:l.a.createElement(A.O,{icon:d?"export":"import",iconSize:12}),minimal:!0,small:!0,loading:p,onClick:t},e))})(),u?l.a.createElement(un.b,{buttonContent:"Sort","aria-label":"Sort comments by",buttonProps:{icon:l.a.createElement(A.O,{icon:"sort",iconSize:14}),minimal:!0,small:!0}},Object.keys(Sg).map(e=>l.a.createElement(un.d,{text:Sg[e],icon:e===o?"tick":"blank",onClick:()=>i(e),key:e}))):null,m&&l.a.createElement(Ng,{discussionData:a}))},Dg=a(274),Ig=(a(1456),Object.defineProperty),Tg=Object.defineProperties,xg=Object.getOwnPropertyDescriptors,Ag=Object.getOwnPropertySymbols,Mg=Object.prototype.hasOwnProperty,Lg=Object.prototype.propertyIsEnumerable,Rg=(e,t,a)=>t in e?Ig(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Fg=(e,t)=>{for(var a in t||(t={}))Mg.call(t,a)&&Rg(e,a,t[a]);if(Ag)for(var a of Ag(t))Lg.call(t,a)&&Rg(e,a,t[a]);return e},Ug=(e,t)=>Tg(e,xg(t));var Bg=e=>{var t,a,r,i,s,u,m,d,p,b,h;const{discussionData:g,threadCommentData:f,pubData:y,updateLocalData:v,isPreview:E=!1}=e,{loginData:O,communityData:w,locationData:C,scopeData:N}=Object(De.c)(),{isSuperAdmin:j,canAdminCommunity:k}=N.activePermissions,[S,P]=Object(n.useState)(!1),[D,I]=Object(n.useState)(!1),[T,x]=Object(n.useState)(null),[M,L]=Object(n.useState)(!1),[R,F]=Object(n.useState)(!1),U=Object(n.useCallback)(e=>{const t=f.userId;v("pub",{discussions:y.discussions.map(a=>{var n;return Ug(Fg({},a),{thread:Ug(Fg({},a.thread),{comments:null==(n=a.thread.comments)?void 0:n.map(a=>{var n;return a.userId!==t?a:Ug(Fg({},a),{author:Ug(Fg({},a.author),{spamTag:e?Ug(Fg({},null==(n=a.author)?void 0:n.spamTag),{status:e}):null})})})})})})})},[f.userId,y.discussions,v]),B=Object(n.useCallback)(e=>{const t=f.userId;v("pub",{discussions:y.discussions.map(a=>{var n;return Ug(Fg({},a),{thread:Ug(Fg({},a.thread),{comments:null==(n=a.thread.comments)?void 0:n.map(a=>{var n,l;return a.userId!==t?a:Ug(Fg({},a),{author:Ug(Fg({},a.author),{communityBans:[...null!=(l=null==(n=a.author)?void 0:n.communityBans)?l:[],e]})})})})})})})},[f.userId,y.discussions,v]),z=Object(n.useCallback)(()=>{return e=null,t=null,a=function*(){var e,t,a;const n=null==(a=null==(t=null==(e=f.author)?void 0:e.communityBans)?void 0:t.filter(e=>"active"===e.status))?void 0:a.map(e=>e.id);if(null==n?void 0:n.length){F(!0);try{yield Promise.all(n.map(e=>Ae.a.put("/api/communityBans/"+e,{status:"retracted"})));const e=f.userId;v("pub",{discussions:y.discussions.map(t=>{var a;
1return Ug(Fg({},t),{thread:Ug(Fg({},t.thread),{comments:null==(a=t.thread.comments)?void 0:a.map(t=>t.userId!==e?t:Ug(Fg({},t),{author:Ug(Fg({},t.author),{communityBans:[]})}))})})})})}finally{F(!1)}}},new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var e,t,a},[f,y.discussions,v]),$=O.id===f.userId,_=(e,t,a)=>l.a.createElement(bi.b,{key:e,isReadOnly:t,initialContent:f.content,customMarks:cg,onChange:a}),H=null!=(r=null==(t=g.commenter)?void 0:t.name)?r:null==(a=f.commenter)?void 0:a.name,V="confirmed-spam"===(null==(s=null==(i=f.author)?void 0:i.spamTag)?void 0:s.status),q=null==(m=null==(u=f.author)?void 0:u.communityBans)?void 0:m.some(e=>"active"===e.status),W=!E&&k&&f.userId&&f.userId!==O.id&&!q,G=!E&&k&&q;return l.a.createElement("div",{className:o()("thread-comment-component",E&&"is-preview",V&&"is-spam",q&&!V&&"is-banned")},l.a.createElement("div",{className:"avatar-wrapper"},l.a.createElement(A.e,{width:18,initials:f.author?f.author.initials:H?Object(Dg.a)(H).initials:"?",avatar:null==(d=f.author)?void 0:d.avatar})),l.a.createElement("div",{className:"content-wrapper"},l.a.createElement("div",{className:"item-header"},l.a.createElement("span",{className:"name"},f.author?f.author.fullName:null!=H?H:"anonymous",V&&E&&l.a.createElement("span",{className:"spam-badge"},"Spam"),q&&!V&&E&&l.a.createElement("span",{className:"banned-badge"},"Banned"),E?": ":""),E&&l.a.createElement("span",{className:"preview-text"},_("preview-"+f.text,!0)),!E&&l.a.createElement("span",{className:"time"},!S&&l.a.createElement(pi.a,{minPeriod:60,formatter:(e,t,a)=>{if("second"===t)return"just now";let n=t;return e>1&&(n+="s"),`${e} ${n} ${a}`},date:f.createdAt})),l.a.createElement("span",{className:"actions"},!E&&$&&l.a.createElement(c.c,{icon:S?void 0:l.a.createElement(A.O,{icon:"edit2",iconSize:12}),text:S?"Cancel":void 0,minimal:!0,small:!0,onClick:()=>{P(!S)}}),W&&l.a.createElement(c.c,{icon:l.a.createElement(A.O,{icon:"flag",iconSize:12}),minimal:!0,small:!0,onClick:()=>I(!0),className:"ban-button"},"Ban"),G&&l.a.createElement(c.c,{icon:l.a.createElement(A.O,{icon:"flag",iconSize:12}),minimal:!0,small:!0,loading:R,onClick:z,className:"ban-button"},"Unban"),!E&&j&&f.userId&&l.a.createElement(A.Mb,{userId:f.userId,onStatusChanged:U,currentStatus:null==(b=null==(p=f.author)?void 0:p.spamTag)?void 0:b.status}))),!E&&V&&l.a.createElement("div",{className:"thread-comment-spam-banner"},"This user has been banned. Only you and other admins of this community can see this comment. You can safely remove it."),!E&&q&&!V&&l.a.createElement("div",{className:"thread-comment-banned-banner"},"This user has been banned from this community. Only you and other admins can see this content."),!E&&l.a.createElement("div",{className:o()({"discussion-body-wrapper":!0,editable:S})},S&&T&&l.a.createElement(Zh.FormattingBar,{editorChangeObject:T,buttons:Zh.buttons.discussionButtonSet,isSmall:!0}),_(`${S}-${f.text}`,!S,e=>{S&&x(e)})),S&&l.a.createElement(c.c,{small:!0,className:"discussion-primary-button",intent:xe.a.PRIMARY,text:"Update Discussion",loading:M,disabled:!!T&&Object(bi.z)(T.view.state),onClick:()=>{var e;L(!0),(e={content:Object(bi.h)(T.view),text:Object(bi.j)(T.view)||""},Object(Ae.a)("/api/threadComment",{method:"PUT",body:JSON.stringify(Ug(Fg({},e),{accessHash:C.query.access,parentId:g.id,threadId:g.threadId,threadCommentId:f.id,pubId:y.id,communityId:w.id}))}).then(e=>{v("pub",{discussions:y.discussions.map(t=>{var a;return t.id===g.id?Ug(Fg({},t),{thread:Ug(Fg({},t.thread),{comments:null==(a=t.thread.comments)?void 0:a.map(t=>t.id===f.id?Fg(Fg({},t),e):t)})}):t})})})).then(()=>{P(!1),x(null),L(!1)})}})),k&&f.userId&&l.a.createElement(A.g,{isOpen:D,onClose:()=>I(!1),userId:f.userId,communityId:w.id,threadCommentId:f.id,userName:null==(h=f.author)?void 0:h.fullName,onBanned:B}))},zg=(a(1457),Object.defineProperty),$g=Object.defineProperties,_g=Object.getOwnPropertyDescriptors,Hg=Object.getOwnPropertySymbols,Vg=Object.prototype.hasOwnProperty,qg=Object.prototype.propertyIsEnumerable,Wg=(e,t,a)=>t in e?zg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Gg=(e,t)=>{for(var a in t||(t={}))Vg.call(t,a)&&Wg(e,a,t[a]);if(Hg)for(var a of Hg(t))qg.call(t,a)&&Wg(e,a,t[a]);return e};var Yg=e=>{var t,a,r;const{pubData:i,discussionData:s,canPreview:u=!1,searchTerm:m=null,updateLocalData:d}=e,{communityData:p,scopeData:b,locationData:h,loginData:g}=Object(De.c)(),{canView:f,canCreateDiscussions:y,canAdmin:v}=b.activePermissions,[E,O]=Object(n.useState)(!1),[w,C]=Object(n.useState)(!1),[N,j]=Object(n.useState)("chronological"),k=u&&!E,S=f||y,P=g.id===s.userId,D=v||P&&!s.isClosed,I=s.id,T=null==(t=s.thread.comments)?void 0:t.find(e=>e.userId===s.userId),x="confirmed-spam"===(null==(r=null==(a=null==T?void 0:T.author)?void 0:a.spamTag)?void 0:r.status);Object(n.useEffect)(()=>{(e=>
1window.location.hash==="#discussion-"+e)(I)&&(O(!0),C(!0))},[I]);return l.a.createElement("div",{tabIndex:-1,role:"button",id:"discussion-"+s.id,className:o()("discussion-component",k&&"preview",E&&"expanded-preview",D&&"has-manage-tools",w&&"emphasized",x&&"is-author-spam"),onClick:()=>{C(!1),k&&O(k)}},u&&!k&&l.a.createElement(c.c,{minimal:!0,small:!0,className:"collapse-button",onClick:()=>O(!1),icon:l.a.createElement(A.O,{icon:"collapse-all",iconSize:12,color:p.accentColorDark})}),l.a.createElement(Cg,{pubData:i,discussionData:s}),!k&&l.a.createElement(l.a.Fragment,null,D&&l.a.createElement(Pg,{pubData:i,discussionData:s,onUpdateDiscussion:e=>{return Object(Ae.a)("/api/discussions",{method:"PUT",body:JSON.stringify((t=Gg({},e),a={accessHash:h.query.access,discussionId:s.id,pubId:i.id,communityId:p.id},$g(t,_g(a))))}).then(e=>{d("pub",{discussions:i.discussions.map(t=>t.id===s.id?Gg(Gg({},t),e):t)})});var t,a},sortType:N,setSortType:j}),(()=>{const{anchors:e}=s;if(e){const[t]=e.sort((e,t)=>e.historyKey-t.historyKey);if(t){const{originalTextPrefix:e,originalText:a,originalTextSuffix:n}=t;return l.a.createElement("div",{className:"anchor-text"},e,l.a.createElement("span",{className:"exact"},a),n)}}return null})()),(()=>{const e=s.thread.comments;return k?((e,t)=>{let a=0,n=0;const r=[],o=e=>{n>0&&r.push(l.a.createElement("div",{key:e,className:"overflow-listing"}," ","+ ",n," more...")),n=0};return e.forEach((e,c)=>{const u=0===c,p=a<t,b=Kh(e,m),h=u||!b;u||p||b?(++a,o(e.id),r.push(l.a.createElement(Bg,{key:e.id,discussionData:s,isPreview:h,updateLocalData:d,threadCommentData:e,pubData:i}))):++n}),o("root"),r})(e,2):((e,t)=>"alphabetical"===t?e.concat().sort((e,t)=>e.author.lastName>t.author.lastName?1:-1):e.concat().sort((e,t)=>e.createdAt>t.createdAt?1:-1))(null!=e?e:[],N).map(e=>l.a.createElement(Bg,{key:e.id,discussionData:s,updateLocalData:d,threadCommentData:e,isPreview:k,pubData:i}))})(),!k&&(S?l.a.createElement(wg,{key:null==(M=s.thread.comments)?void 0:M.length,discussionData:s}):null));var M};a(1458);const Kg=e=>{const{color:t,count:a,isActive:n,label:r,onClick:o,onMouseEnter:i,onMouseLeave:s,showDot:u}=e,m=n?{border:"1px solid "+t,background:t,color:"white"}:{border:"1px solid "+t};return l.a.createElement("span",{className:"discussion-bubble-component",role:"button",tabIndex:0,onMouseEnter:i,onMouseLeave:s,onClick:o},l.a.createElement("span",{className:"bubble",style:m},a||l.a.createElement(c.q,{icon:"dot",color:n?"white":t}),u&&l.a.createElement("span",{className:"bubble-dot",style:{border:"1px solid "+t}})),r&&l.a.createElement("span",{className:"label"},r))};Kg.defaultProps={count:null,label:null,onClick:null,onMouseEnter:null,onMouseLeave:null};var Jg=Kg,Qg=(a(1459),Object.defineProperty),Zg=Object.defineProperties,Xg=Object.getOwnPropertyDescriptors,ef=Object.getOwnPropertySymbols,tf=Object.prototype.hasOwnProperty,af=Object.prototype.propertyIsEnumerable,nf=(e,t,a)=>t in e?Qg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,lf=(e,t)=>{for(var a in t||(t={}))tf.call(t,a)&&nf(e,a,t[a]);if(ef)for(var a of ef(t))af.call(t,a)&&nf(e,a,t[a]);return e},rf=(e,t)=>Zg(e,Xg(t));const of=e=>e.thread.comments.map(e=>{var t,a,n;return null!=(n=null==(t=e.author)?void 0:t.fullName)?n:null==(a=e.commenter)?void 0:a.name}).filter((e,t,a)=>a.indexOf(e)===t).join(", "),sf=e=>{const{discussions:t,activeThreadHover:a,activeThread:r,setActiveThread:o,setActiveThreadHover:i,isExpanded:s,setExpanded:u}=e,{communityData:m,loginData:d}=Object(De.c)(),[p,b]=Object(n.useState)(!1),[h,g]=Object(n.useState)(!1),f={color:m.accentColorDark,borderBottom:r?"1px solid "+m.accentColorDark:"1px solid transparent"},y=tr()(m.accentColorDark).fade(.5).rgb().string(),v=e=>({onMouseEnter:()=>{i(e.id)},onMouseLeave:()=>{i(void 0)},onClick:()=>{const t=r===e.id?void 0:e.id;o(t)}}),E=(({discussions:e,loginData:t,communityData:a,activeThreadHover:n,activeThread:r,getHandlersForDiscussion:o})=>i=>{const s=n===i.id||r===i.id,c=i.thread.comments.some(e=>e.userId===t.id),u=i.number&&i.thread.comments.length,m=1===e.length&&i.number&&of(e[0]);return l.a.createElement(Jg,rf(lf({},o(i)),{key:i.id,color:a.accentColorDark,count:u,isActive:s,label:m,showDot:c}))})({discussions:t,loginData:d,communityData:m,activeThreadHover:a,activeThread:r,getHandlersForDiscussion:v}),O=t.slice(0,7),w=t.slice(7);return l.a.createElement("span",{className:"discussion-nav-component",style:f},l.a.createElement("style",null,`.d-${a}, .lh-${a} { background-color: rgba(0, 0, 0, 0.2) !important; }`),r&&l.a.createElement("style",null,`.d-${r}, .lh-${r} { background-color: var(--pubpub-active-discussion-highlight-color, ${y}) }`),O.map(E),!!w.length&&l.a.createElement(c.z,{minimal:!0,transitionDuration:-1,isOpen:h,onClose:()=>g(!1),content:l.a.createElement(c.t,null,w.map((e,t)=>{const a=of(e);return l.a.createElement(c.u,rf(lf({},v(e)),{key:`${a}-${t}`,icon:E(e),text:a}))}))},l.a.createElement(Jg,{isActive:!!p||!!h||!(!r||!w.some(e=>e.id===r.id)),onMouseEnter:()=>b(!0),onMouseLeave:()=>b(!1),onClick:()=>g(!0),color:m.accentColorDark,count:l.a.createElement(A.O,{icon:"more",iconSize:10,className:"overflow-icon"}),showDot:w.some(e=>e.thread.comments.some(e=>e.userId===d.id))})),r&&t.length>1&&l.a.createElement(l.a.Fragment,null,l.a.createElement(c.c,{minimal:!0,small:!0,className:"caret-button",icon:l.a.createElement(A.O,{icon:"caret-left",color:m.accentColorDark}),onClick:()=>{const e=t.reduce((e,t,a)=>r===t.id?a:e,0),a=t[(t.length+e-1)%t.length].id;o(a)}}),l.a.createElement(c.c,{minimal:!0,small:!0,className:"caret-button",icon:l.a.createElement(A.O,{icon:"caret-right",color:m.accentColorDark}),onClick:()=>{const e=t.reduce((e,t,a)=>r===t.id?a:e,0),a=t[(t.length+e+1)%t.length].id;o(a)}})),r&&l.a.createElement("div",{className:"close-wrapper"},l.a.createElement(c.c,{className:"expand-button",minimal:!0,small:!0,icon:l.a.createElement(A.O,{className:"expand-icon",icon:s?"collapse-
1all":"expand-all",iconSize:12,color:m.accentColorDark}),onClick:()=>{u(!s)}}),l.a.createElement(c.c,{minimal:!0,small:!0,icon:l.a.createElement(A.O,{icon:"small-cross",color:m.accentColorDark}),onClick:()=>{o(void 0)}})))};sf.defaultProps={activeThreadHover:void 0};var cf=sf;a(1460);var uf=e=>{const{pubData:t,updateLocalData:a,discussions:r,sideContentRef:i,mainContentRef:s,mountClassName:c,prevNewDiscussionIds:u,prevConvertedDiscussionIds:m}=e,[d,p]=Object(n.useState)(void 0),[b,h]=Object(n.useState)(null),[g,f]=Object(n.useState)(!1),y=s.current.getBoundingClientRect(),v=i.current.getBoundingClientRect();Object(n.useEffect)(()=>{const e=r.reduce((e,t)=>{const a=!t.number,n=u.current.includes(t.id);return a&&!n?t.id:e},void 0);e&&(u.current.push(e),h(e));const t=r.reduce((e,t)=>{const a=!t.number,n=u.current.includes(t.id),l=m.current.includes(t.id);return a||!n||l?e:t.id},void 0);t&&(m.current.push(t),h(t))},[u,m,r]),Object(n.useEffect)(()=>{document.getElementsByClassName(c)[0].style.display=b&&g?"block":"inline"},[c,g,b]);const E=r.find(e=>e.id===b),O={left:v.left-y.left,width:v.width};return l.a.createElement("span",{className:o()({"discussion-group-component":!0,active:b,expanded:g&&b}),style:O,tabIndex:-1},l.a.createElement(cf,{key:g&&b,discussions:r,activeThreadHover:d,setActiveThreadHover:p,activeThread:b,setActiveThread:h,isExpanded:g,setExpanded:f}),E&&l.a.createElement(Yg,{pubData:t,discussionData:E,updateLocalData:a}))};a(1461);const mf=()=>[];var df=e=>{const{pubData:t,filterDiscussions:a=mf,mainContentRef:r,sideContentRef:o,searchTerm:i=null,showBottomInput:s=!1}=e,{collabData:c,updateLocalData:u,historyData:m}=Object(bh.a)(),{communityData:d,scopeData:p}=Object(De.c)(),{width:b}=Qh()(),h=Object(n.useRef)([]),g=Object(n.useRef)([]),{discussions:f}=t,{canView:y,canCreateDiscussions:v}=p.activePermissions,E=((e,t)=>{const a=e.sort((e,t)=>e.boundingBox.bottom<t.boundingBox.bottom?-1:e.boundingBox.bottom>t.boundingBox.bottom?1:0);let n;const l={};a.filter(e=>e.attrs&&e.attrs.class&&(e.attrs.class.indexOf("discussion-range")>-1||e.attrs.class.indexOf("local-highlight")>-1)).forEach(e=>{const t=e.boundingBox.bottom;n!==t?(n=t,l[t]=[e]):l[n].push(e)});const r=[];return Object.keys(l).sort((e,t)=>Number(e)<Number(t)?-1:Number(e)>Number(t)?1:0).forEach(e=>{const a=l[e].sort((e,t)=>e.boundingBox.left<t.boundingBox.left?-1:e.boundingBox.left>t.boundingBox.left?1:0).map(e=>{if(e.attrs.class.indexOf("local-highlight")>-1){return{id:e.attrs.class.replace("local-highlight lh-",""),thread:{comments:[]}}}const a=e.attrs.class.replace("discussion-range d-","");return t.find(e=>e.id===a)}).filter(e=>e&&!e.isClosed),n=l[e].reduce((e,t)=>e?t.boundingBox.right>e.boundingBox.right?t:e:t,void 0),o=n.attrs.class.indexOf("discussion-range d-")>-1?n.attrs.class.replace("discussion-range d-","dm-"):n.attrs.class.replace("local-highlight lh-","lm-");r.push({key:e,mountClassName:o,discussions:a})}),r})(c.editorChangeObject.decorations||[],f);Object(n.useEffect)(()=>{c.editorChangeObject.view&&Object(bi.c)(c.editorChangeObject.view)},[b]);return l.a.createElement("div",{className:"pub-discussions-component"},l.a.createElement("style",null,`\n\t\t\t\t\t.discussion-list .discussion-thread-component.preview:hover,\n\t\t\t\t\t.discussion-list .discussion-thread-component.expanded-preview {\n\t\t\t\t\t\tborder-left: 3px solid ${d.accentColorDark};\n\t\t\t\t\t\tpadding-left: calc(1em - 2px);\n\t\t\t\t\t}\n\t\t\t\t`),E.map(e=>{const a=document.getElementsByClassName(e.mountClassName)[0];return a?Y.a.createPortal(l.a.createElement(uf,{key:e.mountClassName,pubData:t,historyData:m,discussions:e.discussions,mountClassName:e.mountClassName,updateLocalData:u,sideContentRef:o,mainContentRef:r,prevNewDiscussionIds:h,prevConvertedDiscussionIds:g}),a):null}),l.a.createElement("div",{className:"discussion-list"},(()=>{const e=a(f),n=f.filter(e=>e&&!e.isClosed).length>0?"No matching comments (some are hidden by filters)":y||v?" Why not start the discussion?":"";return l.a.createElement(l.a.Fragment,null,s&&l.a.createElement(wg,{discussionData:{id:void 0},isPubBottomInput:!0}),0===e.length&&l.a.createElement(A.hb,{className:"empty-state",icon:"comment",title:"No comments here",description:n}),e.map(e=>
1l.a.createElement(Yg,{key:e.id,pubData:t,discussionData:e,updateLocalData:u,canPreview:!0,searchTerm:i||void 0})))})()))},pf=(a(1466),Object.defineProperty),bf=Object.getOwnPropertySymbols,hf=Object.prototype.hasOwnProperty,gf=Object.prototype.propertyIsEnumerable,ff=(e,t,a)=>t in e?pf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,yf=(e,t)=>{for(var a in t||(t={}))hf.call(t,a)&&ff(e,a,t[a]);if(bf)for(var a of bf(t))gf.call(t,a)&&ff(e,a,t[a]);return e};const vf=l.a.forwardRef((e,t)=>{const a=e,{accentColor:n,icon:r,title:o=null}=a,i=((e,t)=>{var a={};for(var n in e)hf.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&bf)for(var n of bf(e))t.indexOf(n)<0&&gf.call(e,n)&&(a[n]=e[n]);return a})(a,["accentColor","icon","title"]);return l.a.createElement(c.c,yf({minimal:!0,elementRef:t,icon:l.a.createElement(c.q,{title:o,color:n,icon:r,iconSize:14})},i))}),Ef=({children:e})=>l.a.createElement(l.a.Fragment,null,l.a.Children.map(e,(e,t)=>l.a.createElement("div",{key:t,className:"center-content-item"},e)));var Of=e=>{var t;const{centerItems:a=[],children:r=null,className:i="",defaultExpanded:s=!1,iconItems:c=(()=>null),isExpandable:u=!0,isSearchable:m=!1,onSearch:d=(()=>{}),searchPlaceholder:p="Enter keywords to search for...",title:b}=e,h=null!=(t=e.accentColor)?t:"back",g=Object(n.useRef)(null),[f,y]=Object(n.useState)(s),[v,E]=Object(n.useState)(null),O=null!==v,w=O?{color:"white"}:{};Object(n.useEffect)(()=>{O&&g.current&&g.current.focus()},[O]);const C=u&&!O;return l.a.createElement("div",{className:o()("pub-bottom-section-component",i,O&&"searching",f&&"expanded")},l.a.createElement("div",{role:C?"button":"none",onClick:C?()=>y(!f):void 0,className:"top-row",style:yf(yf({},O&&{background:h}),C&&{cursor:"pointer"})},l.a.createElement("div",{className:"left-title",style:w},b),l.a.createElement("div",{className:"center-content"},O?l.a.createElement("input",{ref:g,type:"text",className:"search-bar",onChange:e=>{const t=e.target.value.trim();d(t),E(t)},placeholder:p}):"function"==typeof a?a({isExpanded:f}):a),l.a.createElement("div",{className:"right-icons",style:w,onClick:e=>e.stopPropagation(),role:"none"},f&&m&&!O&&l.a.createElement(vf,{accentColor:h,icon:"search","aria-label":"Search comments",onClick:()=>E("")}),"function"==typeof c?c({isExpanded:f,isSearching:O,iconColor:O?"white":h}):c,O?l.a.createElement(vf,{accentColor:"white",icon:"cross","aria-label":"Search this section",onClick:()=>E(null)}):u?l.a.createElement(vf,{"aria-label":f?"Collapse this section":"Expand this section",accentColor:h,icon:f?"collapse-all":"expand-all",onClick:()=>y(!f)}):null)),f&&l.a.createElement("div",{className:"section-content"},"function"==typeof r?r({searchTerm:v,isSearching:O}):r))};a(1467);var wf=e=>{const{pubData:t,onClose:a,isOpen:r}=e,{discussions:o}=t,[i,s]=Object(n.useState)([]),[u,m]=Object(n.useState)("ready"),{communityData:d}=Object(De.c)(),p=Object(n.useCallback)(e=>{s(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]);return l.a.createElement(c.j,{className:"discussions-release-dialog-component",onClose:a,isOpen:r,title:"Release Discussions"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("p",null,"Select discussions to move from the draft to the latest Release. Once they're moved, you won't be able to undo this action (though you may be able to ask Ian to do it for you 😊)"),l.a.createElement("div",{className:"discussions-listing"},o.map(e=>{const a=i.includes(e.id);return l.a.createElement(c.s,{key:e.id,className:"discussion-entry"},l.a.createElement(c.g,{checked:a,onClick:()=>p(e.id)}),l.a.createElement(Yg,{discussionData:e,pubData:t,updateLocalData:()=>{},canPreview:!0}))})),"error"===u&&l.a.createElement(c.e,{intent:"warning",title:"An error occurred."})),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement(c.c,{intent:"primary",onClick:()=>{m("releasing"),Ae.a.put("/api/discussions/release",{pubId:t.id,discussionIds:i}).then(()=>{return e=d,a=t,void(window.location.href=Object(ht.g)(e,a));var e,a}).catch(()=>m("error"))},loading:"releasing"===u},"Fire away!")))},Cf=a(242),Nf=a.n(Cf),jf=a(52),kf=(a(1468),Object.defineProperty),Sf=Object.defineProperties,Pf=Object.getOwnPropertyDescriptors,Df=Object.getOwnPropertySymbols,If=Object.prototype.hasOwnProperty,Tf=Object.prototype.propertyIsEnumerable,xf=(e,t,a)=>
1t in e?kf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Af=(e,t)=>{for(var a in t||(t={}))If.call(t,a)&&xf(e,a,t[a]);if(Df)for(var a of Df(t))Tf.call(t,a)&&xf(e,a,t[a]);return e},Mf=(e,t)=>Sf(e,Pf(t));class Lf extends n.Component{constructor(e){super(e),this.state={isEditMode:!1,labelsData:e.labelsData,isSaving:!1,labelsDataChanged:!1},this.toggleEditMode=this.toggleEditMode.bind(this),this.updateTitle=this.updateTitle.bind(this),this.updateColor=this.updateColor.bind(this),this.removeLabel=this.removeLabel.bind(this),this.togglePublicApply=this.togglePublicApply.bind(this),this.addLabel=this.addLabel.bind(this),this.handleSave=this.handleSave.bind(this)}UNSAFE_componentWillReceiveProps(e){this.setState({labelsData:e.labelsData,isSaving:!1,isEditMode:!1,labelsDataChanged:!1})}toggleEditMode(){this.setState(e=>({isEditMode:!e.isEditMode}))}updateTitle(e,t){this.setState(a=>({labelsData:a.labelsData.map(a=>a.id!==e?a:Mf(Af({},a),{title:t})),labelsDataChanged:!0}))}updateColor(e,t){this.setState(a=>({labelsData:a.labelsData.map(a=>a.id!==e?a:Mf(Af({},a),{color:t})),labelsDataChanged:!0}))}togglePublicApply(e){this.setState(t=>({labelsData:t.labelsData.map(t=>t.id!==e?t:Mf(Af({},t),{publicApply:!t.publicApply})),labelsDataChanged:!0}))}removeLabel(e){this.setState(t=>({labelsData:t.labelsData.filter(t=>t.id!==e),labelsDataChanged:!0}))}addLabel(){this.setState(e=>({labelsData:[...e.labelsData,{id:Nf()(),title:"New Label",color:"#b71540",publicApply:!1}],labelsDataChanged:!0}))}handleSave(){return this.setState({isSaving:!0}),Object(Ae.a)("/api/pubs",{method:"PUT",body:JSON.stringify({labels:this.state.labelsData,pubId:this.props.pubData.id,communityId:this.props.communityData.id})}).then(e=>{this.props.updateLocalData("pub",e),this.setState({isSaving:!1})}).catch(e=>{console.error("Error saving labels",e)})}render(){const e=this.state.isEditMode||!this.props.labelsData.length&&this.props.isManager;return l.a.createElement("div",{className:"label-filter-component"},l.a.createElement("h6",null,"Filter by label"),l.a.createElement("div",{className:"labels"},!e&&this.state.labelsData.sort((e,t)=>e.title.toLowerCase()<t.title.toLowerCase()?-1:e.title.toLowerCase()>t.title.toLowerCase()?1:0).map(e=>l.a.createElement("li",{key:"label-"+e.id},l.a.createElement("div",{role:"button",tabIndex:-1,className:"label",onClick:()=>{this.props.onLabelSelect(e.id)}},l.a.createElement("div",{className:"color",style:{backgroundColor:e.color}},this.props.selectedLabels.indexOf(e.id)>-1&&l.a.createElement(c.q,{className:Le.a.ICON_STANDARD,icon:"small-tick",tagName:"span"})),l.a.createElement("div",{className:"title"},e.title),l.a.createElement(c.N,{content:e.publicApply?l.a.createElement("span",null,"All discussants can apply this label."):l.a.createElement("span",null,"Only managers can apply this label."),tooltipClassName:Le.a.DARK,position:dn.a.TOP},l.a.createElement(c.q,{icon:"endorsed",className:`${Le.a.ICON_STANDARD} ${e.publicApply?"":"active"}`,tagName:"span"}))))),!e&&!this.state.labelsData.length&&l.a.createElement("div",{className:Le.a.MENU_ITEM+" empty"},"No Labels to Filter by"),e&&this.state.labelsData.map(e=>l.a.createElement("div",{key:"label-edit-"+e.id,className:"label edit"},l.a.createElement(c.z,{content:l.a.createElement("div",{className:Le.a.MENU+" color-select-menu"},["#eb2f06","#b71540","#fa983a","#e58e26","#38ada9","#079992","#009432","#006266","#0652DD","#1B1464","#833471","#6F1E51"].map(t=>l.a.createElement("span",{"aria-label":"Select color",role:"button",tabIndex:-1,key:t,className:"color-select",style:{backgroundColor:t},onClick:()=>{this.updateColor(e.id,t)}}))),interactionKind:c.A.CLICK,position:dn.a.TOP_LEFT,popoverClassName:"color-select-popover",transitionDuration:-1,inline:!0,inheritDarkTheme:!1},l.a.createElement("div",{className:"color edit",style:{backgroundColor:e.color}})),l.a.createElement("input",{className:Le.a.INPUT,type:"text",value:e.title,onChange:t=>{this.updateTitle(e.id,t.target.value)}}),l.a.createElement(c.N,{content:e.publicApply?l.a.createElement("span",null,"All discussants can apply this label."):l.a.createElement("span",null,"Only managers can a
1pply this label."),tooltipClassName:Le.a.DARK,position:dn.a.TOP},l.a.createElement(c.c,{icon:"endorsed",minimal:!0,onClick:()=>{this.togglePublicApply(e.id)},className:e.publicApply?"":"active"})),l.a.createElement(c.c,{onClick:()=>{this.removeLabel(e.id)},icon:"trash",minimal:!0})))),e&&l.a.createElement(c.d,null,l.a.createElement(c.c,{onClick:this.addLabel,text:"Add Label",icon:"plus"}),l.a.createElement(c.c,{onClick:this.handleSave,text:"Save",intent:"primary",icon:"tick",loading:this.state.isSaving,disabled:!this.state.labelsDataChanged})),!e&&this.props.isManager&&l.a.createElement(c.c,{icon:l.a.createElement(jf.a,{icon:"edit2"}),text:"Edit labels",onClick:this.toggleEditMode}))}}Lf.defaultProps={labelsData:[]};var Rf=Lf,Ff=(a(1469),Object.defineProperty),Uf=Object.getOwnPropertySymbols,Bf=Object.prototype.hasOwnProperty,zf=Object.prototype.propertyIsEnumerable,$f=(e,t,a)=>t in e?Ff(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var _f=e=>{const{isBrowsingArchive:t,isShowingAnchoredComments:a,onBrowseArchive:n,onShowAnchoredComments:r}=e;return l.a.createElement(c.f,{className:"filter-menu-component "+Le.a.ELEVATION_1},l.a.createElement(c.G,{label:"Browse archived comments",checked:t,onChange:e=>n(e.target.checked)}),l.a.createElement(c.G,{label:"Show anchored comments",checked:a,onChange:e=>r(e.target.checked)}),l.a.createElement(Rf,((e,t)=>{for(var a in t||(t={}))Bf.call(t,a)&&$f(e,a,t[a]);if(Uf)for(var a of Uf(t))zf.call(t,a)&&$f(e,a,t[a]);return e})({},e)))};a(1470);var Hf=e=>{const t=e.onSelect;return l.a.createElement(c.t,{className:"sort-list-component "+Le.a.ELEVATION_1},l.a.createElement("li",{className:Le.a.MENU_HEADER},l.a.createElement("h6",null,"Sort")),[{id:0,slug:"newestThread",title:"Newest Thread"},{id:1,slug:"oldestThread",title:"Oldest Thread"},{id:2,slug:"newestReply",title:"Most Recent Reply"},{id:3,slug:"oldestReply",title:"Least Recent Reply"},{id:4,slug:"mostReplies",title:"Most Replies"},{id:5,slug:"leastReplies",title:"Least Replies"}].map(a=>l.a.createElement(c.u,{key:"option-"+a.id,onClick:()=>{t(a.slug)},labelElement:e.selected===a.slug?l.a.createElement(A.O,{icon:"small-tick"}):void 0,text:a.title})))};var Vf=e=>{const{pubData:t,updateLocalData:a,sideContentRef:r,mainContentRef:o}=e,{discussions:i,isRelease:s}=t,{communityData:c,scopeData:u,featureFlags:m,loginData:{id:d}}=Object(De.c)(),{pubData:{subscription:p},updatePubData:b,collabData:{editorChangeObject:h}}=Object(bh.a)(),{canManage:g,canCreateDiscussions:f}=u.activePermissions,[y,v]=Object(n.useState)(!1),[E,O]=Object(n.useState)(!0),[w,C]=Object(n.useState)("newestThread"),[N,j]=Object(n.useState)([]),k=i.filter(e=>!e.isClosed),S=e=>t=>{const a=E?null:Object(Gh.c)(h.view);return((e,t,a,n,l=null,r=null)=>e.filter(e=>t?e.isClosed:!e.isClosed).filter(e=>!l||e.thread.comments.some(e=>Kh(e,l))).filter(e=>!r||!r.includes(e.id)).filter(e=>{if(0===n.length)return!0;return n.reduce((t,a)=>!(!e.labels||-1===e.labels.indexOf(a))&&t,!0)}).sort((e,t)=>{if("newestThread"===a&&e.number>t.number)return-1;if("newestThread"===a&&e.number<t.number)return 1;if("oldestThread"===a&&e.number<t.number)return-1;if("oldestThread"===a&&e.number>t.number)return 1;const n=e.thread.comments.reduce((e,t)=>t.createdAt>e?t.createdAt:e,"0000-02-01T22:21:19.608Z"),l=t.thread.comments.reduce((e,t)=>t.createdAt>e?t.createdAt:e,"0000-02-01T22:21:19.608Z");if("newestReply"===a&&n>l)return-1;if("newestReply"===a&&n<l)return 1;const r=e.thread.comments.reduce((e,t)=>t.createdAt<e?t.createdAt:e,"9999-02-01T22:21:19.608Z"),o=t.thread.comments.reduce((e,t)=>t.createdAt<e?t.createdAt:e,"9999-02-01T22:21:19.608Z");return"oldestReply"===a&&r<o?-1:"oldestReply"===a&&r>o?1:"mostReplies"===a&&e.thread.comments.length>t.thread.comments.length?-1:"mostReplies"===a&&e.thread.comments.length<t.thread.comments.length?1:"leastReplies"===a&&e.thread.comments.length<t.thread.comments.length?-1:"leastReplies"===a&&e.thread.comments.length>t.thread.comments.length?1:0}))(t,y,w,N,e,a)};return l.a.createElement(Of,{accentColor:c.accentColorDark,isSearchable:!0,title:"Comments",centerItems:()=>l.a.createElement(Ef,null,k.length),iconItems:({isExpanded:e,iconColor:n})=>e?l.a.createElement(l.a.Fragment,null,l.a.createElement(Yh.a,{"aria-label":"Sort comments",preventBodyScroll:!1,gutter:0,content:l.a.createElement(Hf,{selected:w,onSelect:e=>{C(e)}})},l.a.createElement(vf,{accentColor:n,"aria-label":"Sort comments",icon:"sort"})),l.a.createElement(Yh.a,{"aria-label":"Filter comments",preventBodyScroll:!1,gutter:0,content:l.a.createElement(_f,{pubData:t,communityData:c,labelsData:t.labels||[],selectedLabels:N,isManager:g,onBrowseArchive:v,isBrowsingArchive:y,onShowAnchoredComments:O,isShowingAnchoredComments:E,onLabelSelect:e=>{const t=N.indexOf(e)>-1?N.filter(t=>t!==e):[...N,e];j(t)},updateLocalData:a}),close:!0},l.a.createElement(vf,{accentColor:n,"aria-label":"Filter comments",icon:"filter"})),d&&m.notifications&&l.a.createElement(A.Ob,{subscription:p,onUpdateSubscription:e=>b({subscription:e}),target:{pubId:t.id},menuLabel:"Follow Pub discussion"},l.a.createElement(vf,{accentColor:n,title:"Manage subscription",icon:"notifications"})),g&&m.releaseDiscussionsDialog&&!s&&i.length>0&&l.a.createElement(A.y,{renderLauncherElement:({openDialog:e})=>l.a.createElement(vf,{accentColor:n,icon:"share",title:"Release Discussions",onClick:e})},({isOpen:e,onClose:a,key:n})=>l.a.createElement(wf,{key:n,isOpen:e,onClose:a,pubData:t}))):null,defaultExpanded:!0,searchPlaceholder:"Search comments..."},({searchTerm:e,isSearching:a})=>l.a.createElement(df,{sideContentRef:r,mainContentRef:o,pubData:t,filterDiscussions:S(e),searchTerm:e,showBottomInput:f&&!a&&!y}))},qf=a(421);var Wf=()=>{const{pubData:e}=Object(bh.a)(),{communityData:t,scopeData:a}=Object(De.c)(),r=Object(sn.a)(e=>e.License),{collectionPubs:o}=e,{link:i,full:s,kind:c,summary:u}=Object(n.useMemo)(()=>Object(qf.b)({pub:e,community:t,license:r,collectionPubs:o}),[e,t,r,o]);return l.a.createElement(Of,{accentColor:t.accentColorDark,isExpandable:!1,className:"pub-bottom-license",title:"License",centerItems:l.a.createElement(Ef,null,l.a.createElement("a",{target:"_blank",rel:"license noopener noreferrer",className:"license-link",href:i},l.a.createElement("img",{width:75,alt:"",src:`/static/license/${
1c}.svg`,className:"license-image"}),s," ",u&&`(${u})`)),iconItems:({iconColor:e})=>a.activePermissions.canManage?l.a.createElement(A.mb,{component:()=>l.a.createElement(A.F,{facetName:"License",selfContained:!0}),placement:"top-end","aria-label":"Edit license"},l.a.createElement(vf,{"aria-label":"Edit Pub license",icon:"edit",accentColor:e})):null})};var Gf=e=>{var t;const{pubData:a}=e,{locationData:n,communityData:r}=Object(De.c)(),o=null==(t=a.nextCollectionPub)?void 0:t.pub,i=Object(ge.a)(a,n),{readNextPreviewSize:s="choose-best"}=i||{};return"none"!==s&&o&&i&&o?l.a.createElement(Of,{isExpandable:!1,title:"Read Next",centerItems:l.a.createElement(Ef,null,l.a.createElement("a",{href:Object(ge.b)(Object(ht.g)(r,o),i.id)},l.a.createElement(A.Eb,{pubData:o})))}):null},Yf=(a(1471),Object.defineProperty),Kf=Object.getOwnPropertySymbols,Jf=Object.prototype.hasOwnProperty,Qf=Object.prototype.propertyIsEnumerable,Zf=(e,t,a)=>t in e?Yf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Xf=e=>{var t;const{note:a,accentColor:r}=e,o=Object(n.useRef)(),[i,s]=Object(n.useState)(null);return Object(n.useLayoutEffect)(()=>{const e=o.current;if(e){const t=(e=>{let t=e;for(;;){const{lastElementChild:e,lastChild:a}=t;if(!e||e!==a)break;t=e}return t})(e);if(t){const e=document.createElement("span");t.appendChild(e),s(e)}}},[a.unstructuredValue]),l.a.createElement("li",{className:"note"},a.number&&l.a.createElement("div",{className:"number"},a.number,"."),l.a.createElement("div",{className:"inner"},l.a.createElement(A.zb,{ref:o,structured:null==(t=a.renderedStructuredValue)?void 0:t.html,unstructured:a.unstructuredValue}),i&&Y.a.createPortal(l.a.createElement("span",{role:"button","aria-label":"Jump back to source",tabIndex:0,style:{cursor:"pointer"},onClick:()=>(e=>{if(e){e.scrollIntoView();const t=document.body.scrollTop||document.documentElement.scrollTop;document.body.scrollTop=t-75,document.documentElement.scrollTop=t-75}})(document.getElementById(a.id))},l.a.createElement(A.O,{className:"jump-back-icon",icon:"return",color:r,iconSize:10})),i)))};var ey=e=>{const t=e,{notes:a}=t,n=((e,t)=>{var a={};for(var n in e)Jf.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Kf)for(var n of Kf(e))t.indexOf(n)<0&&Qf.call(e,n)&&(a[n]=e[n]);return a})(t,["notes"]),r=a.some(({number:e})=>!!e);return l.a.createElement("ul",{className:o()("notes-component",!r&&"no-padding")},a.map(e=>l.a.createElement(Xf,((e,t)=>{for(var a in t||(t={}))Jf.call(t,a)&&Zf(e,a,t[a]);if(Kf)for(var a of Kf(t))Qf.call(t,a)&&Zf(e,a,t[a]);return e})({key:e.id,note:e},n))))},ty=Object.defineProperty,ay=Object.getOwnPropertySymbols,ny=Object.prototype.hasOwnProperty,ly=Object.prototype.propertyIsEnumerable,ry=(e,t,a)=>t in e?ty(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const oy=e=>t=>{var a;return!e||[null==(a=t.renderedStructuredValue)?void 0:a.html,t.unstructuredValue].filter(e=>!!e).map(e=>e.toLowerCase()).some(t=>t.includes(e.toLowerCase()))};var iy=e=>{const t=e,{notes:a}=t,n=((e,t)=>{var a={};for(var n in e)ny.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&ay)for(var n of ay(e))t.indexOf(n)<0&&ly.call(e,n)&&(a[n]=e[n]);return a})(t,["notes"]),{communityData:r}=Object(De.c)();return l.a.createElement(Of,((e,t)=>{for(var a in t||(t={}))ny.call(t,a)&&ry(e,a,t[a]);if(ay)for(var a of ay(t))ly.call(t,a)&&ry(e,a,t[a]);return e})({accentColor:r.accentColorDark,isSearchable:!0,centerItems:l.a.createElement(Ef,null,a.length)},n),({searchTerm:e})=>l.a.createElement(ey,{accentColor:r.accentColorDark,notes:a.filter(oy(e))}))};a(1472);var sy=e=>{const{pubData:t,showDiscussions:a=!0,updateLocalData:n,sideContentRef:r,mainContentRef:o}=e,{footnotes:i,citations:s}=Wh();return l.a.createElement("div",{className:"pub-bottom-component"},l.a.createElement("div",{className:"inner"},i.length>0&&l.a.createElement(iy,{title:"Footnotes",notes:i,searchPlaceholder:"Search footnotes..."}),s.length>0&&l.a.createElement(iy,{title:"References",notes:s,searchPlaceholder:"Search references..."}),l.a.createElement(Wf,null),a&&l.a.createElement(Vf,{pubData:t,updateLocalData:n,sideContentRef:r,mainContentRef:o}),l.a.createElement(Gf,{pubData:t})))},cy=a(188),uy=a(1578);const my=(e,t,a=t,n,l)=>new Promise((r,o)=>{const i=()=>{((e,t="")=>Object(Ae.a)(`${t}/api/workerTasks?workerTaskId=${e}
1`))(e,n).then(e=>{e.isProcessing?(l&&l(e),setTimeout(i,t)):e.error?o(new Error(e.error)):r(e.output)}).catch(e=>o(e))};setTimeout(i,a)}),dy={docx:"docx+citations",epub:"epub",html:"html",md:"markdown+tex_math_dollars",odt:"odt",txt:"markdown_strict",xml:"jats",tex:"latex"},py=["bib","bibtex","copac","json","yaml","enl","xml","wos","medline","mods","nbib","ris"];var by=Object.defineProperty,hy=Object.defineProperties,gy=Object.getOwnPropertyDescriptors,fy=Object.getOwnPropertySymbols,yy=Object.prototype.hasOwnProperty,vy=Object.prototype.propertyIsEnumerable,Ey=(e,t,a)=>t in e?by(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Oy=(e,t)=>{for(var a in t||(t={}))yy.call(t,a)&&Ey(e,a,t[a]);if(fy)for(var a of fy(t))vy.call(t,a)&&Ey(e,a,t[a]);return e},wy=(e,t)=>hy(e,gy(t));const Cy=["document","bibliography"],Ny=e=>{const t=e.split(".");return t[t.length-1]},jy=e=>Object.keys(dy).includes(Ny(e.clientPath)),ky=e=>{const t=e.find(e=>"bibliography"===e.label)||e.find(e=>"bib"===Ny(e.clientPath)&&!e.label),a=e.find(e=>"document"===e.label)||e.find(e=>jy(e)&&!e.label);return e.map(e=>e===a?wy(Oy({},e),{label:"document"}):e===t?wy(Oy({},e),{label:"bibliography"}):e)};a(1473);var Sy=e=>{const{file:t,onDelete:a,onLabelFile:n}=e,{loaded:r,total:o,state:i,clientPath:s,label:u}=t,m=Math.max(s.length-5,0),d=s.slice(0,m),p=s.slice(m);return l.a.createElement("div",{className:"file-import-entry"},l.a.createElement("div",{className:"file-title",title:s},l.a.createElement("span",{className:"start"},l.a.createElement("span",{"aria-hidden":"true"},d)),l.a.createElement("span",{className:"end","aria-hidden":"true"},p),l.a.createElement("div",{className:"file-label"},(()=>{const e=(e=>{const t=jy(e);return[t&&"document",t&&"supplement",t&&"preamble",py.some(t=>t===Ny(e.clientPath))&&"bibliography"].filter(e=>!!e)})(t),a=u&&"none"!==u;return 0===e.length?null:l.a.createElement(c.z,{content:l.a.createElement(c.t,null,l.a.createElement("h6",{className:Le.a.MENU_HEADER},"Use as..."),["none",...e].map(e=>{const t="none"===e?l.a.createElement("i",null,"(none)"):e;return l.a.createElement(c.u,{key:t,text:t,onClick:()=>n(e)})}))},a?l.a.createElement(c.J,{interactive:!0,intent:"success"},u):l.a.createElement(c.J,{interactive:!0,icon:"locate"},"use as..."))})())),l.a.createElement("div",{className:"file-progress"},"complete"===i?l.a.createElement(l.a.Fragment,null,l.a.createElement(c.q,{icon:"tick",iconSize:14}),"Uploaded"):"waiting"===i?"Preparing to upload":l.a.createElement(l.a.Fragment,null,l.a.createElement("span",{className:"screenreader-only"},Math.round(100*r/o),"% complete"),l.a.createElement(c.B,{value:"uploading"===i?r/o:void 0}))),l.a.createElement(c.c,{"aria-label":"delete",onClick:a,className:"file-delete-button",icon:"small-cross",small:!0,minimal:!0}))},Py=(a(1474),Object.defineProperty),Dy=Object.defineProperties,Iy=Object.getOwnPropertyDescriptors,Ty=Object.getOwnPropertySymbols,xy=Object.prototype.hasOwnProperty,Ay=Object.prototype.propertyIsEnumerable,My=(e,t,a)=>t in e?Py(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ly=(e,t)=>{for(var a in t||(t={}))xy.call(t,a)&&My(e,a,t[a]);if(Ty)for(var a of Ty(t))Ay.call(t,a)&&My(e,a,t[a]);return e},Ry=(e,t)=>Dy(e,Iy(t)),Fy=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const Uy=({attribution:e,onUpdateAttribution:t})=>{const{name:a,users:n,matchedUser:r,ignored:i}=e,s=()=>{t(i?{ignored:!1}:{ignored:!0,matchedUser:null})};return l.a.createElement("div",{className:"proposed-attribution"},l.a.createElement(A.e,{width:20,initials:r?r.initials:Object(Dg.a)(a).initials,avatar:r&&r.avatar}),l.a.createElement("div",{className:o()("name",i&&"ignored")},r?l.a.createElement("a",{href:Object(ht.e)(r.slug),target:"_blank",rel:"noopener noreferrer"},r.fullName):a),l.a.createElement("div",{className:"controls"},!n||0===n.length||i?null:r?l.a.createElement(c.c,{small:!0,minimal:!0,onClick:()=>t({matchedUser:null})},"Unmatch user"):l.a.createElement(un.b,{"aria-label":"Match to PubPub user",buttonProps:{minimal:!0,small:!0,rightIcon:"chevron-down",icon:l.a.createElement("span",{className:"matched-users-avatars"},n.slice(0,3).map(e=>l.a.createElement(A.e,{width:20,avatar:e.avatar,borderColor:"white",doesOverlap:!0})))},buttonContent:`${n.length} matching ${1===n.length?"user":"users"}`,placement:"bottom-end"},n.map(e=>l.a.createElement(un.d,{text:e.fullName,icon:l.a.createElement(A.e,{width:20,avatar:e.avatar,initials:e.initials}),key:e.id,onClick:()=>t({matchedUser:e})}))),l.a.createElement(c.c,{"aria-label":i?`Add ${a} to Pub contributors`:`Remove ${a} from Pub contributors`,onClick:s,icon:i?"small-plus":"small-cross",small:!0,minimal:!0})))};var By=e=>{const{onSetMetadataUpdater:t,proposedMetadata:a}=e,[r,o]=Object(n.useState)(a),{communityData:i}=Object(De.c)(),{pubData:s,updatePubData:u}=Object(bh.a)(),[m,d]=Object(n.useState)({}),p=r,{attributions:b}=p,h=((e,t)=>{var a={};for(var n in e)xy.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&Ty)for(var n of Ty(e))t.indexOf(n)<0&&Ay.call(e,n)&&(a[n]=e[n]);return a})(p,["attributions"]);Object(n.useEffect)(()=>{o(a),d({})},[a]),Object(n.useEffect)(()=>{t(()=>()=>Promise.all([Fy(null,null,(function*(){const e={};
1Object.keys(h).forEach(t=>{m[t]||(e[t]=h[t])}),Object.keys(e).length>0&&(yield Ae.a.put("/api/pubs",Ly({pubId:s.id,communityId:i.id},e)),u(e))})),Fy(null,null,(function*(){if(b){const e=b.filter(e=>!e.ignored).map(({name:e,matchedUser:t})=>({name:e,userId:t&&t.id,isAuthor:!0}));if(e.length>0){const t=yield Ae.a.post("/api/pubAttributions/batch",{communityId:i.id,pubId:s.id,attributions:e});u({attributions:t})}}}))]))},[m,r]);const g=(e,t=!1)=>{const a=t?c.M:c.r,n=r[e],i=m[e];return null==n?null:l.a.createElement("div",{className:"field-entry"},l.a.createElement(c.g,{checked:!i,label:"Use imported "+e,onChange:()=>d(t=>Ry(Ly({},t),{[e]:!i}))}),l.a.createElement(a,{disabled:i,value:n,onChange:t=>{const{value:a}=t.target;o(t=>Ry(Ly({},t),{[e]:a}))}}))};return l.a.createElement("div",{className:"metadata-editor-component"},l.a.createElement("h6",null,"Metadata"),g("title"),g("description"),b&&b.length?l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",null,"Attributions"),b.map((e,t)=>l.a.createElement(Uy,{key:`${e.name}-${t}`,attribution:e,onUpdateAttribution:e=>((e,t)=>{const a=b.concat();a.splice(e,1,Ly(Ly({},b[e]),t)),o(Ry(Ly({},r),{attributions:a}))})(t,e)}))):null)},zy=Object.defineProperty,$y=Object.defineProperties,_y=Object.getOwnPropertyDescriptors,Hy=Object.getOwnPropertySymbols,Vy=Object.prototype.hasOwnProperty,qy=Object.prototype.propertyIsEnumerable,Wy=(e,t,a)=>t in e?zy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Gy=(e,t)=>{for(var a in t||(t={}))Vy.call(t,a)&&Wy(e,a,t[a]);if(Hy)for(var a of Hy(t))qy.call(t,a)&&Wy(e,a,t[a]);return e};let Yy=0;const Ky=()=>{const[e,t]=Object(n.useState)([]),a=(e,a)=>t(t=>t.some(t=>t.id===e)?ky(t.map(t=>t.id===e?Gy(Gy({},t),a):t)):t);return{addFile:e=>{const n=Yy,l=e.path||e.name;Yy+=1,Object(nd.a)(e,(e=>({loaded:t,total:n})=>a(e,{state:"uploading",loaded:t,total:n}))(n),(e=>(t,n,l,r)=>a(e,{state:"complete",assetKey:r}))(n)),t(e=>[...e,{id:n,state:"waiting",clientPath:l}])},getFiles:()=>e,deleteFileById:e=>t(t=>ky(t.filter(t=>t.id!==e))),labelFileById:(e,a)=>{const n=Cy.includes(a);t(t=>ky(t.map(t=>{const{label:l}=t,r=e===t.id?a:l===a&&n?"none":l;return o=Gy({},t),$y(o,_y({label:r}));var o})))}}};a(1475);var Jy=Object.defineProperty,Qy=Object.defineProperties,Zy=Object.getOwnPropertyDescriptors,Xy=Object.getOwnPropertySymbols,ev=Object.prototype.hasOwnProperty,tv=Object.prototype.propertyIsEnumerable,av=(e,t,a)=>t in e?Jy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,nv=(e,t)=>{for(var a in t||(t={}))ev.call(t,a)&&av(e,a,t[a]);if(Xy)for(var a of Xy(t))tv.call(t,a)&&av(e,a,t[a]);return e},lv=(e,t)=>Qy(e,Zy(t));const rv=["extractEndnotes","keepStraightQuotes","skipJatsBibExtraction"],ov=Object.keys(dy).map(e=>"."+e),iv=py.map(e=>"."+e),sv=[...ov,...iv,"image/*","application/pdf"].join(","),cv=e=>e.map(e=>e.clientPath+"_"+e.label).sort((e,t)=>e-t).join("___");var uv=({editorChangeObject:e,updatePubData:t,isOpen:a,onClose:r,onClosed:i})=>{const{addFile:s,getFiles:u,deleteFileById:m,labelFileById:d}=Ky(),p=u(),b=p.filter(e=>"complete"!==e.state),h=p.some(e=>"document"===e.label),[g,f]=Object(n.useState)({}),[y,v]=Object(n.useState)({}),[E,O]=Object(n.useState)(!1),[w,C]=Object(n.useState)(!1),[N,j]=Object(n.useState)(!1),[k,S]=Object(n.useState)(""),[P,D]=Object(n.useState)(null),I=!!y&&k===cv(p),T=!h||b.length>0||E,{doc:x,warnings:A=[],pandocErrorOutput:M,error:L,proposedMetadata:R}=y,F=R&&Object.keys(R).length>0;Object(uy.a)("/",e=>{e.metaKey&&j(!0)});const U=()=>{v({}),D(null)},B=()=>{return t=null,a=null,n=function*(){C(!0),P&&(yield P()),yield Object(bi.m)(e.view,x),r()},new Promise((e,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);i((n=n.apply(t,a)).next())});var t,a,n},z=()=>{O(!0),Object(Ae.a)("/api/import",{method:"POST",body:JSON.stringify({sourceFiles:p,importerFlags:g,useNewImporter:!0})}).then(e=>my(e,1e3)).then(e=>{O(!1),v(e),S(cv(p))}).catch(e=>v({error:{message:e.toString(),stack:e.stack}}))},$=e=>l.a.createElement(cy.a,{accept:sv,onDrop:e=>e.map(s),children:e}),_=()=>{const e=l.a.createElement("ul",{className:"supported-formats-tooltip"},l.a.createElement("li",null,"Supports ",l.a.createElement("i",null,"documents")," in these formats: ",ov.join(", "),". You can also use one or more documents as ",l.a.createElement("i",null,"supplements")," to be passed to the converter, for instance if your document is a .tex file and relies on one or more other .tex files."),l.a.createElement("li",null,"Supports ",l.a.createElement("i",null,"bibliographies")," in these formats:"," ",iv.join(", "),"."),l.a.createElement("li",null,"Supports all image formats, though you may wish to convert your images to a format with wide browser support (.jpeg, .jpg, .png, .svg, or .gif)."));return l.a.createElement(l.a.Fragment,null,l.a.createElement(c.N,{content:e},l.a.createElement("span",{className:Le.a.TOOLTIP_INDICATOR},"What can I import?")),l.a.createElement("div",{className:"screenreader-only"},e))};return l.a.createElement(c.l,{className:"file-import-dialog-component",title:"Import to Pub",isOpen:a,onClose:r,onClosed:i,canOutsideClickClose:!1},l.a.createElement(un.c,{config:{usePortal:!1}},l.a.createElement("div",{className:Le.a.DRAWER_BODY},l.a.createElement("div",{className:Le.a.DIALOG_BODY},!F&&(E?l.a.createElement("div",{className:"in-progress"},l.a.createElement(c.F,{size:50,className:"drop-area-icon"}),l.a.createElement("span",{"aria-live":"assertive"},"Importing your document...")):l.a.createElement(c.d,{className:"drop-area-container",vertical:!0},$(({getRootProps:e,getInputProps:t})=>l.a.createElement(l.a.Fragment,null,l.a.createElement(c.c,lv(nv({},e()),{className:"file-drop-area"}),l.a.createElement(c.v,{icon:"paperclip",description:l.a.createElement(l.a.Fragment,null,"Click here or drag in files to upload them",l.a.createElement("div",{className:"supported-formats"},_()))}
1)),l.a.createElement("input",lv(nv({},t()),{multiple:!0})))),$(({getRootProps:e,getInputProps:t})=>l.a.createElement(l.a.Fragment,null,l.a.createElement("input",lv(nv({},t()),{webkitdirectory:""})),l.a.createElement(c.c,lv(nv({},e()),{className:"directory-drop-area",text:"Or, click here to upload an entire directory"})))))),!E&&(()=>{if(L)return l.a.createElement(c.e,{className:"import-result",title:"Import error",intent:"danger"},L.message?L.message:L.toString(),L.stack&&l.a.createElement("details",null,l.a.createElement("summary",null,"Technical details"),l.a.createElement("pre",null,L.stack)));if(x){const e=A.filter(e=>"missingImage"===e.type).map(e=>e.path),t=A.filter(e=>"missingCitation"===e.type).map(e=>e.id);return e.length>0||t.length>0||M?l.a.createElement(c.e,{"aria-live":"assertive",className:"import-message",title:"Import warnings",intent:"warning"},l.a.createElement("ul",null,e.length>0&&l.a.createElement("li",null,l.a.createElement("i",null,"Your document contains references external images which you may wish to upload."),l.a.createElement("details",null,l.a.createElement("summary",null,"Missing images"),e.join(", "),".")),t.length>0&&l.a.createElement("li",null,l.a.createElement("i",null,"Some citations in the document could not be matched to a bibliography item. You may wish to upload an external bibliography (e.g. a .bib file)."),l.a.createElement("details",null,l.a.createElement("summary",null,"Missing citation IDs"),t.join(", "),".")),M&&l.a.createElement("li",null,l.a.createElement("i",null,"Conversion from LaTeX to HTML succeeded, with information (",l.a.createElement("a",{href:"https://help.pubpub.org/pub/latex-compatibility"},"more about PubPub and LaTeX"),"):"),l.a.createElement("details",null,l.a.createElement("pre",null,M)))),l.a.createElement(c.c,{onClick:U},"Add more files")):l.a.createElement(c.e,{"aria-live":"polite",className:"import-message",title:"Import succeeded",intent:"success"})}return p.length>0&&p.every(e=>"pdf"===Ny(e.clientPath))?l.a.createElement(c.e,{"aria-live":"polite",className:"import-message",title:"PDFs are supported as images only",intent:"primary"},"PubPub does not import text content from PDFs; they may only be imported as images referenced from another document."):null})(),!F&&l.a.createElement("div",{className:"files-listing"},l.a.createElement("div",{className:"screenreader-only","aria-live":"polite"},b.length>0?`${p.length-b.length} of ${p.length} files uploaded.`:p.length+" files uploaded."),p.map((e,t)=>l.a.createElement(Sy,{key:`file-${e.id}-${t}`,file:e,onDelete:()=>m(e.id),onLabelFile:t=>d(e.id,t)}))),F&&l.a.createElement(l.a.Fragment,null,l.a.createElement("p",{className:"metadata-info"},"Some metadata was found in the imported document that you may wish to apply to your Pub. You can always change these values later."),l.a.createElement(By,{proposedMetadata:R,onSetMetadataUpdater:D,updatePubData:t})))),l.a.createElement("div",{className:o()(Le.a.DRAWER_FOOTER,"dialog-footer")},N?l.a.createElement(c.z,{minimal:!0,content:l.a.createElement(c.t,null,l.a.createElement(c.u,{onClick:z,icon:"refresh",text:"Force retry import"}),l.a.createElement("li",{className:Le.a.MENU_HEADER},l.a.createElement("h6",{className:Le.a.HEADING},"Experimental flags")),rv.map(e=>{const t=!!g[e];return l.a.createElement(c.u,{key:e,icon:t?"tick":"blank",onClick:()=>f(a=>lv(nv({},a),{[e]:!t})),text:e})}))},l.a.createElement(c.c,{icon:"flame"},"Extras")):null,l.a.createElement(c.c,{onClick:r},"Cancel"),F&&l.a.createElement(c.c,{onClick:U,icon:"chevron-left"},"Add files"),(!x||!I)&&l.a.createElement(c.c,{intent:"primary",icon:x?"refresh":"import",onClick:z,disabled:T},x?"Retry import":"Import"),x&&I&&l.a.createElement(c.c,{intent:"success",icon:"tick",onClick:B,disabled:E,loading:w},"Complete import"))))},mv=(a(1476),Object.defineProperty),dv=Object.defineProperties,pv=Object.getOwnPropertyDescriptors,bv=Object.getOwnPropertySymbols,hv=Object.prototype.hasOwnProperty,gv=Object.prototype.propertyIsEnumerable,fv=(e,t,a)=>t in e?mv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var yv=e=>
1{const{editorChangeObject:{view:t}}=e,[a,r]=Object(n.useState)(Date.now()),[o,i]=Object(n.useState)(!1),[s,u]=Object(n.useState)(!1),m=t&&t.state;return Object(n.useEffect)(()=>{!!m&&Object(bi.z)(m)?i(!0):s||(r(Date.now()),i(!1))},[m,s]),l.a.createElement(l.a.Fragment,null,o&&l.a.createElement("div",{className:"pub-file-import-component"},l.a.createElement(c.b,{type:"button",className:`${Le.a.INTENT_PRIMARY} ${Le.a.LARGE}`,outlined:!0,onClick:()=>u(!0),text:l.a.createElement("div",null,l.a.createElement("div",null,"Import Files"),l.a.createElement("div",null,".docx, .epub, .html, .md, .odt, .txt, .xml, or .tex"))})),l.a.createElement(uv,((e,t)=>dv(e,pv(t)))(((e,t)=>{for(var a in t||(t={}))hv.call(t,a)&&fv(e,a,t[a]);if(bv)for(var a of bv(t))gv.call(t,a)&&fv(e,a,t[a]);return e})({},e),{key:a,isOpen:s,onClose:()=>u(!1),onClosed:()=>r(Date.now())})))},vv=a(1555);a(1477);var Ev=()=>{const{collabData:{status:e}}=Object(bh.a)(),t=Object(n.useRef)(null),a=Object(vv.a)(e),[r,o]=Object(n.useState)(e);return Object(n.useEffect)(()=>{t.current&&clearTimeout(t.current),"connecting"===a&&"connected"===e&&o(e),"connecting"!==a&&"disconnected"!==a&&("saving"===r?t.current=setTimeout(()=>o(e),250):o(e)),"disconnected"===a&&"connected"===e&&o(e)},[a,e,r]),l.a.createElement("span",{className:"pub-connection-status-indicator-component "+r},r,"saving"===r||"connecting"===r?"...":"")};var Ov=e=>{const{remoteCollabUsers:t,localCollabUser:a}=e.collabData,n=((e,t)=>{const a={};e.forEach(e=>{"?"!==e.initials&&(a[e.id]=e)});const n=Math.max(0,e.reduce((e,t)=>"?"===t.initials?e+1:e,0)-(t?1:0));return n&&(a.anon={backgroundColor:"rgba(96,96,96, 0.2)",cursorColor:"rgba(96,96,96, 1.0)",id:"anon",initials:n,name:`${n} anonymous user${1===n?"":"s"}`}),a})(t,!a.id);return l.a.createElement("div",null,Object.keys(n).map(e=>n[e]).filter(e=>e).map(e=>l.a.createElement("div",{className:"avatar-wrapper",key:"present-avatar-"+e.id},l.a.createElement(c.N,{content:e.name,tooltipClassName:Le.a.DARK},l.a.createElement(A.e,{initials:String(e.initials),avatar:e.image,borderColor:e.cursorColor,borderWidth:"2px",width:24})))))};a(1478);var wv=e=>{const{doc:t}=e,[a,r]=Object(n.useState)(!1),o=Object(n.useMemo)(()=>a?(e=>{const t=e.textBetween(0,e.content.size," "," ");return[t.split(" ").filter(e=>""!==e).length,t.length]})(t):null,[a,t]),i=l.a.createElement("div",{className:"pub-word-count-button-popover-content"},l.a.createElement("dl",null,l.a.createElement("dt",null,"Words"),l.a.createElement("dd",null,null==o?void 0:o[0].toLocaleString()),l.a.createElement("dt",null,"Characters"),l.a.createElement("dd",null,null==o?void 0:o[1].toLocaleString())));return l.a.createElement(c.z,{content:i,isOpen:a,minimal:!0,position:"bottom-right",popoverClassName:"pub-word-count-button-popover",targetClassName:"pub-word-count-button-target"},l.a.createElement(c.c,{role:"button",className:`${Le.a.BUTTON} ${Le.a.MINIMAL}`,onClick:()=>r(!a),onBlur:()=>r(!1),"aria-label":"Word count"},l.a.createElement(c.q,{icon:"timeline-line-chart"})))};a(1479);var Cv=e=>{var t;const{disabled:a,editorWrapperRef:n}=e,{scopeData:r,featureFlags:i}=Object(De.c)(),{canEdit:s,canEditDraft:u}=r.activePermissions,{pubBodyState:{isReadOnly:m},collabData:d}=Object(bh.a)({immediate:!0}),{editorChangeObject:p}=d;if(Object(Pr.b)({target:".pub-draft-header-component",isActive:!a,offset:37}),!s&&!u||m)return null;const b=null==(t=null==p?void 0:p.view)?void 0:t.state;return l.a.createElement("div",{className:o()("pub-draft-header-component",a&&"disabled")},l.a.createElement(Zh.FormattingBar,{buttons:Zh.buttons.fullButtonSet,editorChangeObject:p||{},controlsConfiguration:{container:n.current,isAbsolutelyPositioned:!0,isFullScreenWidth:!0}}),l.a.createElement("div",{className:"right-content"},i.suggestedEdits&&l.a.createElement(l.a.Fragment,null,l.a.createElement(Zh.FormattingBar,{buttons:Zh.buttons.suggestedEditsButtonSet,editorChangeObject:p||{},showBlockTypes:!1,controlsConfiguration:{container:n.current,isAbsolutelyPositioned:!0}}),l.a.createElement(c.k,null)),b&&l.a.createElement(wv,{doc:b.doc}),l.a.createElement(Ov,{collabData:d}),l.a.createElement(Ev,null)))},Nv=(a(1480),Object.defineProperty),jv=Object.defineProperties,kv=Object.getOwnPropertyDescriptors,Sv=Object.getOwnPropertySymbols,Pv=Object.prototype.hasOwnProperty,Dv=Object.prototype.propertyIsEnumerable,Iv=(e,t,a)=>t in e?Nv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Tv=(e,t)=>
1{for(var a in t||(t={}))Pv.call(t,a)&&Iv(e,a,t[a]);if(Sv)for(var a of Sv(t))Dv.call(t,a)&&Iv(e,a,t[a]);return e},xv=(e,t)=>jv(e,kv(t));var Av=e=>{const{pubData:t,historyData:a}=e,{communityData:r}=Object(De.c)(),{releases:i,releaseNumber:s,isRelease:u}=t,{currentKey:m,latestKey:d,timestamps:p,loadedIntoHistory:b}=a,h=u&&s!==(null==i?void 0:i.length),g=b,f=u?`Release (#${s})`:"draft",[y,v]=Object(n.useState)(!1);if(!g&&!h)return null;const E=()=>v(!y);return l.a.createElement("div",{className:"pub-historical-notice-component"},l.a.createElement(c.e,{icon:"history",intent:"warning",title:`You're viewing an older ${f} of this Pub.`},(()=>{if(u&&"number"==typeof s){const e=new Date(Object(fe.c)(i)[s-1].createdAt),a=Object(gr.c)(t),n=Object(Gt.a)(e,a);return l.a.createElement("ul",{className:"warning-desc"},l.a.createElement("li",null,"This Release ",l.a.createElement("b",null,"(#",s,")")," was created"," ",Object(Gt.b)(e,{includeTime:n,includePreposition:!0})," ",l.a.createElement("span",{className:"humanized-time"},"(",l.a.createElement(pi.a,xv(Tv({},Gt.e),{date:e})),")")),l.a.createElement("li",null,"The latest Release ",l.a.createElement("b",null,"(#",Object(fe.c)(t.releases).length,")")," was created"," ",Object(Gt.b)(a,{includeTime:n,includePreposition:!0})," ",l.a.createElement("span",{className:"humanized-time"}," (",l.a.createElement(pi.a,xv(Tv({},Gt.e),{date:a})),").")))}const e=new Date(p[m]),a=new Date(p[d]),n=Object(Gt.a)(e,a);return l.a.createElement("p",null,"You're viewing a draft of this Pub as it appeared"," ",Object(Gt.b)(e,{includeTime:n,includePreposition:!0}),". It was most recently updated"," ",Object(Gt.b)(a,{includeTime:n,includePreposition:!0}),". See the latest draft to make changes and view comments.")})(),l.a.createElement("div",null,l.a.createElement(c.b,{className:"callout-button",intent:"primary",outlined:!0,href:Object(ht.g)(r,t,{isDraft:!u})},u?"Go to latest Release":"Go to latest draft"),u&&l.a.createElement(c.b,{className:"callout-button changelog-button",intent:"primary",outlined:!0,onClick:E,rightIcon:y?"collapse-all":"expand-all"},y?"Hide Changelog":"Show Changelog"))),(()=>{if(u){const e=null==i?void 0:i.map((e,a)=>{const n=a+1,u=n===i.length,m=n===s,d=Object(ht.g)(r,t,{releaseNumber:n}),p=e.noteText||"",b=Object(Gt.b)(new Date(e.createdAt),{includeTime:!0});return l.a.createElement("div",{className:"release-item",key:e.createdAt},l.a.createElement("div",{className:"item-block"},l.a.createElement("div",{className:"icon-button"},l.a.createElement(c.q,{className:"release-icon",icon:m?"tick":"document-share"}),l.a.createElement(A.j,{minimal:!0,className:"copy-button",icon:"duplicate",tooltipPosition:"right",beforeCopyPrompt:"Copy link to Release #"+n,afterCopyPrompt:"Copied link!",copyString:d})),l.a.createElement("div",{className:"release-metadata"},l.a.createElement("a",{className:"release-num",href:d},"Release #",n),l.a.createElement("p",{className:"release-timestamp-humanized"},l.a.createElement(pi.a,xv(Tv({},Gt.e),{date:e.createdAt}))),l.a.createElement("p",{className:"release-timestamp"},b),(m||u)&&l.a.createElement("p",{className:"release-label"},u&&"latest",m&&"now viewing"))),l.a.createElement("div",{className:"item-block"},l.a.createElement(c.q,{className:"note-icon",icon:"manually-entered-data",iconSize:12}),l.a.createElement("div",{className:o()("note",!p&&"empty"),dangerouslySetInnerHTML:{__html:p||"No Release Note"}})))}).reverse();return l.a.createElement(c.h,{className:"changelog",isOpen:y},l.a.createElement(c.e,{icon:"properties",intent:"primary",className:"changelog-callout",title:"Changelog"},e))}return null})())},Mv=a(114);a(1481);var Lv=()=>{const{pubData:e,collabData:t,historyData:a,pubBodyState:r}=Object(bh.a)(),{communityData:o,scopeData:i}=Object(De.c)(),{canView:s,canCreateDiscussions:u}=i.activePermissions,m=t.editorChangeObject.selection,d=Object(n.useMemo)(()=>{if(!t.editorChangeObject||!t.editorChangeObject.view||!m)return!0;const e=t.editorChangeObject.view.state;return Object(Mv.a)(e)||!m||m.empty||m.$anchorCell||t.editorChangeObject.selectedNode||Object(bi.o)("code_block",t.editorChangeOb
1ject.selection)},[t.editorChangeObject,m]),p=t.editorChangeObject.selectionBoundingBox||{};if(d)return null;const b=window.scrollY+(["Android","iPad","iPhone"].some(e=>navigator.userAgent.toLowerCase().includes(e.toLowerCase()))?p.bottom+10:p.top-50);return l.a.createElement("div",{className:"pub-inline-menu-component "+Le.a.ELEVATION_2,style:{position:"absolute",top:b,left:p.left}},r.isReadOnly?null:l.a.createElement(Zh.FormattingBar,{buttons:Zh.buttons.inlineMenuButtonSet,isTranslucent:!0,editorChangeObject:t.editorChangeObject,showBlockTypes:!1,controlsConfiguration:{kind:"none"}}),(s||u)&&r.canCreateAnchoredDiscussions&&l.a.createElement(c.c,{"aria-label":"Start a discussion",title:"Start a discussion",minimal:!0,icon:l.a.createElement(A.O,{icon:"chat"}),onClick:()=>{const e=t.editorChangeObject.view;Object(bi.x)(e,m.from,m.to,Nf()()),Object(bi.t)(t.editorChangeObject.view)}}),l.a.createElement(A.j,{className:"click-to-copy",icon:"clipboard",copyString:Object(ht.g)(o,e,{isDraft:!e.isRelease,releaseNumber:e.releaseNumber,historyKey:a.currentKey,query:{from:m.from,to:m.to}}),beforeCopyPrompt:"Copy a permalink"}))},Rv=a(78);a(1482);var Fv=()=>{var e;const{collabData:t,pubBodyState:a}=Object(bh.a)(),{editorChangeObject:r}=t,o=null==(e=t.editorChangeObject)?void 0:e.selection,[i,s]=Object(n.useState)(),c=Object(n.useMemo)(()=>{if(!t.editorChangeObject||!t.editorChangeObject.view||!o)return!0;const e=t.editorChangeObject.view.state;return!Object(Mv.a)(e)||!o},[t.editorChangeObject,o]),u=Object(n.useMemo)(()=>{if(r&&r.view){const e=r.view.state.doc,t=Object(Mv.c)(r.view.state);if(t){const a=e.nodeAt(t.from);return a&&Object(Rv.d)(a)}}return null},[r]),m=Object(n.useCallback)(()=>{return e=null,t=null,a=function*(){if(u){const e=yield Ae.a.get("/api/users/"+encodeURIComponent(u.suggestionUserId));e&&s(e)}},new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var e,t,a},[u]);Object(n.useEffect)(()=>{m()},[m]);const d=t.editorChangeObject.selectionBoundingBox||{};if(c)return null;const p=window.scrollY+(["Android","iPad","iPhone"].some(e=>navigator.userAgent.toLowerCase().includes(e.toLowerCase()))?d.bottom+5:d.top-30);return l.a.createElement("div",{className:"pub-inline-suggested-edit-menu-component",style:{position:"absolute",top:p,left:d.left}},a.isReadOnly?null:l.a.createElement(Zh.FormattingBarSuggestedEdits,{suggestionAuthor:i,buttons:Zh.buttons.suggestedEditsButtonSet,editorChangeObject:r||{}}))};const Uv=(e,t=document.body)=>{let a=e,n=null;for(;a&&a!==t;)a.hasAttribute("id")&&(n=a),a=a.parentElement;return a!==t?null:n};var Bv=a(1574);var zv=e=>{const{element:t,mainContentRef:a}=e,r=(e=>{let t=e;for(;t&&!t.hasAttribute("id");)t=t.parentElement;return t})(t),o=Object(n.useRef)(null),{pubData:i,pubBodyState:s}=Object(bh.a)(),{communityData:c,scopeData:{activePermissions:{canManage:u}}}=Object(De.c)();Object(n.useEffect)(()=>{const e=o.current;if(r&&e){const t=Object(Bv.a)(r,e,{placement:r.matches("h1, h2, h3, h4, h5, h6")?"left":"left-start"});return()=>{t.destroy()}}return()=>{}},[r,a]);const m=Boolean(r&&/^r[0-9]*$/.test(r.id)),d=i.releaseNumber===Object(fe.c)(i.releases).length,p=s.isReadOnly&&d&&m&&u?"You must create a new Release to link to this block.":"";return!m||p?l.a.createElement("div",{ref:o,style:{position:"absolute",top:"-9999px"},className:"click-to-copy"},l.a.createElement(A.j,{copyString:Object(ht.g)(c,i,{hash:null==r?void 0:r.id}),beforeCopyPrompt:p,disabled:m})):null},$v=Object.defineProperty,_v=Object.defineProperties,Hv=Object.getOwnPropertyDescriptors,Vv=Object.getOwnPropertySymbols,qv=Object.prototype.hasOwnProperty,Wv=Object.prototype.propertyIsEnumerable,Gv=(e,t,a)=>t in e?$v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;function Yv(e){return!!e&&("P"!==e.tagName||""!==e.textContent)}var Kv=e=>{const{mainContentRef:t}=e,[a,r]=Object(n.useReducer)((e,t)=>((e,t)=>_v(e,Hv(t)))(((e,t)=>{for(var a in t||(t={}))qv.call(t,a)&&Gv(e,a,t[a]);if(Vv)for(var a of Vv(t))Wv.call(t,a)&&Gv(e,a,t[a]);return e})({},e),{[t.type]:t.element}),{});Object(n.useEffect)(()=>{let e;const t=t=>{const a=t.target;if(!a)return;const n=Uv(a,document.querySelector(".pub-body-component > .editor"));Yv(n)?(r({type:"click-to-copy",element:n}),clearTimeout(e)):a.matches(".click-to-copy, .click-to-copy *")&&clearTimeout(e)},a=t=>{const a=t.target;if(!a)return;(Yv(Uv(a,document.querySelector(".pub-body-component > .editor")))||a.matches(".click-to-copy, .click-to-copy *"))&&(e=setTimeout(()=>{r({type:"click-to-copy"})},250))};return document.addEventListener("mouseover",t),document.addEventListener("mouseout",a),()=>{document.removeEventListener("mouseover",t),document.removeEventListener("mouseout",a)}},[]);const o=a["click-to-copy"];return l.a.createElement("div",{className:"pub-link-controller-component"},o&&l.a.createElement(zv,{element:o,mainContentRef:t}))};a(1483);var Jv=e=>{const{pubData:t}=e,{isInMaintenanceMode:a}=t,{scopeData:{activePermissions:{canManage:n}}}=Object(De.c)();if(!a||!n)return null;return l.a.createElement(c.e,{icon:"diagnosis",intent:"warning",className:"pub-maintenance-notice-component",title:"This Pub is under maintenance."},l.a.createElement("p",null,"The PubPub team has identified a problem with this Pub and has placed it into read-only maintenance mode while we work to fix it. We apologize for the inconvenience and appreciate your patience!"),l.a.createElement(c.b,{href:"mailto:[email protected]"},"Contact us"))};a(1484);var Qv=()=>{var e;const{pubData:t,historyData:a,collabData:r,updatePubData:o,updateLocalData:i,pubBodyState:{isReadOnly:s,hidePubBody:c}}=Object(bh.a)(),{isViewingHistory:u}=a,{communityData:m,scopeData:d,featureFlags:p}=Object(De.c)(),b=Object(sn.a)(e=>e.PubEdgeDisplay),{canEdit:h,canEditDraft:g,canCreateDiscussions:f}=d.activePermissions,{isReviewingPub:y}=t,v=Object(n.useRef)(null),E=Object(n.useRef)(null),O=Object(n.useRef)(null),w=Object(zo.b)(t,"contributors");(()=>{const{locationData:{query:{from:e,to:t}}}
1=Object(De.c)(),{collabData:{editorChangeObject:a}}=Object(bh.a)(),l=null==a?void 0:a.view;Object(n.useEffect)(()=>{const a=document.getElementsByClassName("permanent")[0];l&&e&&t&&!a&&setTimeout(()=>{Object(bi.x)(l,parseInt(e,10),parseInt(t,10),"permanent"),setTimeout(()=>{const e=document.getElementsByClassName("permanent")[0];e&&e.scrollIntoView({block:"center"})},0)},0)},[l,e,t])})(),(e=>{const{enabled:t}=e;Object(n.useEffect)(()=>{const{hash:e}=window.location;e&&Oh(e,500)},[]),Object(n.useEffect)(()=>{const e=e=>{const{target:t,metaKey:a}=e;if(t instanceof HTMLAnchorElement&&!a){const a=t.getAttribute("href");a&&0===a.indexOf("#")&&(e.preventDefault(),window.location.hash=a,Oh(a))}};return t?(document.addEventListener("click",e),()=>document.removeEventListener("click",e)):()=>{}},[t])})({enabled:!s});const C=(h||g)&&!s,N=f||!!(null==(e=t.discussions)?void 0:e.length);return c?null:l.a.createElement("div",{className:"pub-document-component"},(!s||u)&&l.a.createElement(Cv,{disabled:u,editorWrapperRef:O}),l.a.createElement("div",{className:"pub-grid"},l.a.createElement("div",{className:"main-content",ref:v},l.a.createElement(wh,null),l.a.createElement(Jv,{pubData:t}),!y&&l.a.createElement(Av,{pubData:t,historyData:a}),l.a.createElement(dh.a,{className:"top-pub-edges",pubData:t,pubEdgeDescriptionIsVisible:b.descriptionIsVisible,accentColor:m.accentColorDark,initialFilters:[mh.a.Parent],isolated:!0}),l.a.createElement(Ah,{editorWrapperRef:O}),C&&l.a.createElement(yv,{editorChangeObject:r.editorChangeObject,updatePubData:o}),!u&&l.a.createElement(Lv,null),p.suggestedEdits&&!u&&l.a.createElement(Fv,null),p.bodyContributors&&l.a.createElement("div",{className:"body-contributors"},l.a.createElement("h5",{className:"body-contributors-header"},"Contributors",l.a.createElement("br",null),"(A–Z)"),l.a.createElement(ph.a,{attributions:w})),l.a.createElement(dh.a,{className:"bottom-pub-edges",pubData:t,pubEdgeDescriptionIsVisible:b.descriptionIsVisible,accentColor:m.accentColorDark,initialFilters:[mh.a.Child,mh.a.Sibling],initialMode:b.defaultsToCarousel?mh.b.Carousel:mh.b.List})),l.a.createElement("div",{className:"side-content",ref:E},u&&!y&&l.a.createElement(A.xb,{historyData:a,pubData:t,onClose:()=>a.setIsViewingHistory(!1),onSetCurrentHistoryKey:a.setCurrentHistoryKey}))),l.a.createElement(sy,{pubData:t,showDiscussions:N,updateLocalData:i,sideContentRef:E,mainContentRef:v}),l.a.createElement(Kv,{mainContentRef:v}))};a(1485);var Zv=l.a.forwardRef((e,t)=>{const{className:a="",disabled:n=!1,href:r=null,icon:i,label:s=null,labelPosition:c="left",onClick:u=null,tagName:m="button"}=e;return l.a.createElement(Dr.a,{as:m,href:r,ref:t,onClick:u,className:o()("small-header-button-component","pub-header-themed-box-hover-target","left"===c?"label-left":"label-right",n&&"disabled",a)},l.a.createElement("div",{className:"pub-header-themed-box icon-container"},l.a.createElement(A.O,{icon:i,iconSize:14})),s&&l.a.createElement("div",{className:"label"},s))});a(1486);var Xv=e=>{const{communityData:t,onCloseHeaderDetails:a,pubData:n}=e,{collectionPubs:r}=n,o=Object(zo.b)(n,"contributors"),{scopeData:i}=Object(De.c)(),{canView:s}=i.activePermissions,c=Object(gr.a)(n),u=Object(gr.e)(n),m=Object(gr.d)(n),d=Object(gr.f)({pub:n});return l.a.createElement("div",{className:"pub-details-component"},l.a.createElement("h3",{className:"pub-title"},n.title),l.a.createElement(Zv,{className:"mobile-close-details-button",onClick:a,icon:"cross"}),l.a.createElement("div",{className:"sections-wrapper"},l.a.createElement("div",{className:"section contributors"},l.a.createElement("h6",{className:"pub-header-themed-secondary"},"Contributors (",o.length,")"),l.a.createElement(A.r,{attributions:o})),l.a.createElement("div",{className:"section publication-dates"},s&&l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",{className:"pub-header-themed-secondary"},"Created"),l.a.createElement("div",{className:"full-height-date"},Qt()(c,"mmm dd, yyyy"))),l.a.createElement("h6",{className:"pub-header-themed-secondary"},"Published"),l.a.createElement("div",{className:"full-height-date"},u||l.a.createElement("i",null,"Unpublished")),d&&d!==m&&l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",{className:"pub-header-themed-secondary"},"Updated"),l.a.createElement("div",{className:"full-height-date"},Qt()(d,"mmm dd, yyyy")))),l.a.createElement("div",{className:"section citation-and-doi"},n.doi&&l.a.createElement(l.a.Fragment,null,l.a.createElement("h6",{className:"pub-header-themed-secondary"},"DOI")," ",l.a.createElement(A.j,{copyString:"https://doi.org/"+n.doi,className:"click-to-copy",beforeCopyPrompt:"Copy doi.org link"},n.doi)),l.a.createElement(Bo,{pubData:n})),l.a.createElement("div",{className:"section collections"},l.a.createElement("h6",{className:"pub-header-themed-secondary"},"Appears in Collections (",r.length,")"),l.a.createElement("div",{className:"collection-list"},0===r.length&&l.a.createElement("i",{className:"collection-list-entry"},"This pub doesn't belong to any collections."),r.map(e=>{const{collection:a}=e;return a?l.a.createElement("a",{key:a.title,className:"collection-list-entry hoverline",href:Object(ht.c)(t,a)},a.title):null})))))}
1,eE=(a(1487),Object.defineProperty),tE=Object.defineProperties,aE=Object.getOwnPropertyDescriptors,nE=Object.getOwnPropertySymbols,lE=Object.prototype.hasOwnProperty,rE=Object.prototype.propertyIsEnumerable,oE=(e,t,a)=>t in e?eE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var iE=l.a.forwardRef((e,t)=>{const a=e,{children:n,className:r="",href:i=null,icon:s=null,onClick:c=null,rightIcon:u=null}=a,m=((e,t)=>{var a={};for(var n in e)lE.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&nE)for(var n of nE(e))t.indexOf(n)<0&&rE.call(e,n)&&(a[n]=e[n]);return a})(a,["children","className","href","icon","onClick","rightIcon"]);return l.a.createElement(Dr.a,((e,t)=>tE(e,aE(t)))(((e,t)=>{for(var a in t||(t={}))lE.call(t,a)&&oE(e,a,t[a]);if(nE)for(var a of nE(t))rE.call(t,a)&&oE(e,a,t[a]);return e})({},m),{onClick:c,href:i,className:o()("collections-bar-button-component",r),ref:t,tabIndex:"0"}),s&&l.a.createElement(A.O,{icon:s,iconSize:14,className:o()(!!n&&"spaced-icon-left")}),n,u&&l.a.createElement(A.O,{icon:u,iconSize:14,className:"spaced-icon-right"}))}),sE=(a(1488),Object.defineProperty),cE=Object.getOwnPropertySymbols,uE=Object.prototype.hasOwnProperty,mE=Object.prototype.propertyIsEnumerable,dE=(e,t,a)=>t in e?sE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var pE=e=>{const{collection:t,currentPub:a}=e,{updateLocalData:n}=Object(bh.a)(),{communityData:r}=Object(De.c)(),o=l.a.useRef(null),{pubs:i,error:s,isLoading:u,hasLoadedAllPubs:m,requestMorePubs:d}=Object(ge.c)(n,t),[p,b]=l.a.useState(!1),h=p&&!u&&!m&&!s;Object(Bt.a)({enabled:h,element:o.current,onRequestMoreItems:d,scrollTolerance:0});const{bpDisplayIcon:g}=Object(ze.c)(t.kind),f=e=>Object(ge.b)(Object(ht.g)(r,e),t.id);return l.a.createElement(l.a.Fragment,null,l.a.createElement("a",{href:Object(ht.c)(r,t),style:{display:"none"}},t.title),l.a.createElement(un.a,{className:"collection-browser-component_menu",disclosure:e=>{var a=e,{ref:n}=a,r=((e,t)=>{var a={};for(var n in e)uE.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&cE)for(var n of cE(e))t.indexOf(n)<0&&mE.call(e,n)&&(a[n]=e[n]);return a})(a,["ref"]);return l.a.createElement(iE,((e,t)=>{for(var a in t||(t={}))uE.call(t,a)&&dE(e,a,t[a]);if(cE)for(var a of cE(t))mE.call(t,a)&&dE(e,a,t[a]);return e})({icon:g,className:"collection-browser-button",rightIcon:"caret-down",ref:n},r),t.title)},"aria-label":"Browse this collection",menuListRef:o,onVisibleChange:b},l.a.createElement(un.d,{icon:"collection",text:t.title,href:Object(ht.c)(r,t)}),l.a.createElement(un.e,null),(null==i?void 0:i.length)>0?i.map(e=>l.a.createElement(un.d,{active:a.id===e.id,href:f(e),textClassName:"menu-item-text",icon:"pubDoc",key:e.id,text:l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"title"},l.a.createElement(A.Eb,{pubData:e})),l.a.createElement(A.rb,{pubData:e,linkToUsers:!1}))})):null,u&&l.a.createElement(un.d,{disabled:!0,className:"loading-menu-item",textClassName:"menu-item-text",icon:l.a.createElement(c.F,{size:30}),text:"Loading..."}),s&&l.a.createElement(un.d,{disabled:!0,className:"loading-menu-item",textClassName:"menu-item-text",text:"Error loading Pubs"})))},bE=(a(1489),Object.defineProperty),hE=Object.defineProperties,gE=Object.getOwnPropertyDescriptors,fE=Object.getOwnPropertySymbols,yE=Object.prototype.hasOwnProperty,vE=Object.prototype.propertyIsEnumerable,EE=(e,t,a)=>t in e?bE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,OE=(e,t)=>{for(var a in t||(t={}))yE.call(t,a)&&EE(e,a,t[a]);if(fE)for(var a of fE(t))vE.call(t,a)&&EE(e,a,t[a]);return e};var wE=e=>{const{pubData:t,updatePubData:a}=e,{collectionPubs:r}=t,{communityData:o,locationData:i,scopeData:{activePermissions:{canManage:s}}}=Object(De.c)(),{collections:u}=o,m=Object(ge.a)(t,i),[d,p]=Object(n.useState)(0===r.length),b=t.collectionPubs.filter(e=>!(!e.collection||e.collection===m)).sort((e,t)=>e.pubRank>t.pubRank?1:-1).map(e=>e.collection),h=()=>{r.length>0&&p(!1)};return 0!==r.length||s?l.a.createElement("div",{className:"collections-bar-component"},m&&l.a.createElement(pE,{collection:m,currentPub:t}),l.a.createElement(c.x,{className:"collections-list",collapseFrom:"end",items:b,visibleItemRenderer:e=>l.a.createElement(iE,{key:e.id,href:Object(ht.c)(o,e),as:"a"},e.title),overflowRenderer:e=>{const a=e.length===t.collectionPubs.length,n=a?null:"more",r=a?"caret-down":null,i=a?1===e.length?"collection":"collections":"more";return l.a.createElement(un.a,{placement:"bottom-end","aria-label":e.length+" "+i,disclosure:l.a.createElement(iE,{icon:n,rightIcon:r},e.length," ",i)},e.map(e=>{const t=Object(ze.c)(e.kind);return l.a.createElement(un.d,{icon:t&&t.bpDisplayIcon,key:e.id,text:e.title,href:Object(ht.c)(o,e)})}))}}),s&&(()=>{const e={pub:t,collectionPubs:r,canManage:s,updateCollectionPubs:e=>a({collectionPubs:e}),allCollections:u,renderDragElementInPortal:!0},n=l.a.createElement(iE,{icon:"plus","aria-label":"Add or edit Pub Collections"},0===r.length?"Add to Collection":null);return d?l.a.createElement(A.sb,(o=OE({}
1,e),hE(o,gE({onQueryListClose:h,renderTriggerButtonForQueryList:()=>n})))):l.a.createElement(A.mb,{className:"collections-bar-component_collections-popover",component:()=>l.a.createElement(A.sb,OE({},e)),"aria-label":"Add or edit Pub Collections"},n);var o})()):null},CE=(a(1490),Object.defineProperty),NE=Object.getOwnPropertySymbols,jE=Object.prototype.hasOwnProperty,kE=Object.prototype.propertyIsEnumerable,SE=(e,t,a)=>t in e?CE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var PE=l.a.forwardRef((e,t)=>{const a=e,{active:n=!1,className:r="",disabled:i=!1,icon:s=null,label:c,onClick:u=null,outerLabel:m,showCaret:d=!1,tagName:p="button"}=a,b=((e,t)=>{var a={};for(var n in e)jE.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&NE)for(var n of NE(e))t.indexOf(n)<0&&kE.call(e,n)&&(a[n]=e[n]);return a})(a,["active","className","disabled","icon","label","onClick","outerLabel","showCaret","tagName"]),h=c&&c.top&&c.bottom,g=m&&m.top&&m.bottom;return l.a.createElement(Dr.a,((e,t)=>{for(var a in t||(t={}))jE.call(t,a)&&SE(e,a,t[a]);if(NE)for(var a of NE(t))kE.call(t,a)&&SE(e,a,t[a]);return e})({disabled:i,as:p,className:o()("large-header-button-component","pub-header-themed-box-hover-target",r),onClick:u,ref:t},b),l.a.createElement("div",{className:o()("button-box","pub-header-themed-box",!c&&"no-label",n&&"active")},"string"==typeof s?l.a.createElement(A.O,{icon:s,iconSize:22}):s,d&&l.a.createElement(A.O,{icon:"caret-down",className:"caret",iconSize:10}),c&&!h&&l.a.createElement("div",{className:"label"},c),h&&l.a.createElement("div",{className:"stacked-label"},l.a.createElement("div",{className:"top"},c.top),l.a.createElement("div",{className:"bottom pub-header-themed-secondary"},c.bottom))),m&&!g&&l.a.createElement("div",{className:"outer-label"},m),g&&l.a.createElement("div",{className:"outer-label"},l.a.createElement("div",{className:"top pub-header-themed-secondary"},m.top),l.a.createElement("div",{className:"bottom"},m.bottom)))}),DE=Object.defineProperty,IE=Object.defineProperties,TE=Object.getOwnPropertyDescriptors,xE=Object.getOwnPropertySymbols,AE=Object.prototype.hasOwnProperty,ME=Object.prototype.propertyIsEnumerable,LE=(e,t,a)=>t in e?DE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,RE=(e,t)=>{for(var a in t||(t={}))AE.call(t,a)&&LE(e,a,t[a]);if(xE)for(var a of xE(t))ME.call(t,a)&&LE(e,a,t[a]);return e},FE=(e,t)=>IE(e,TE(t));var UE=l.a.forwardRef((e,t)=>{const a=e,{labelPosition:n,outerLabel:r,showCaret:o=!1,simpleLabel:i}=a,s=((e,t)=>{var a={};for(var n in e)AE.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&xE)for(var n of xE(e))t.indexOf(n)<0&&ME.call(e,n)&&(a[n]=e[n]);return a})(a,["labelPosition","outerLabel","showCaret","simpleLabel"]),c={outerLabel:r,showCaret:o},u={labelPosition:n};return l.a.createElement(A.eb,{ref:t,desktop:e=>l.a.createElement(PE,FE(RE(RE(RE({},s),c),e),{outerLabel:r})),mobile:e=>l.a.createElement(Zv,FE(RE(RE(RE({},s),u),e),{label:i}))})});a(1491);const BE=(e,t,a)=>{if(e){return{top:t,bottom:Date.now()-e<6e4?"just now":l.a.createElement(pi.a,{date:e,minPeriod:60})}}return{top:a,bottom:"just now"}};var zE=e=>{const{historyData:t,pubData:a,updatePubData:n}=e,{communityData:r,scopeData:o}=Object(De.c)(),{submissionState:i}=Object(bh.a)(),{canView:s,canViewDraft:c,canAdmin:u,canCreateReviews:m}=o.activePermissions,{isRelease:d,isReviewingPub:p,isAVisitingCommenter:b}=a,h=m&&!p&&!i;return l.a.createElement("div",{className:"draft-release-buttons-component"},d?(()=>{const{releases:e,releaseNumber:t}=a,n=new Date(Object(fe.c)(e)[Object(fe.c)(e).length-1].createdAt).valueOf();return l.a.createElement(l.a.Fragment,null,(s||c)&&!b&&l.a.createElement(UE,{icon:"edit",tagName:"a",href:Object(ht.g)(r,a,{isDraft:!0}),outerLabel:{top:"edit this Pub",bottom:"go to draft"}}),!p&&l.a.createElement(un.a,{className:"releases-menu","aria-label":"Choose a historical release of this Pub",disclosure:l.a.createElement(UE,{icon:"history",showCaret:!0,outerLabel:BE(n,"last released")})},Object(fe.c)(e).map((e,n)=>l.a.createElement(un.d,{key:e.id,active:n+1===t,icon:n+1===t?"tick":"document-share",href:Object(ht.g)(r,a,{releaseNumber:n+1}),className:"release-menu-item",text:l.a.createElement("div",{className:"release-metadata"},l.a.createElement("p",{className:"number"},"Release #"+(n+1)),l.a.createElement("p",{className:"timestamp"},Object(Gt.b)(new Date(e.createdAt),{includeTime:!0})))})).reverse()))})():(()=>{const{releases:e}=a,{latestKey:o,timestamps:i}=t,s=Object(fe.c)(e)[Object(fe.c)(e).length-1],c=i[o],m=((e,t)=>{if(e){const{historyKey:a}=e;return"number"!=typeof a||a<t}return-1!==t})(s,o);return l.a.createElement(l.a.Fragment,null,l.a.createElement(UE,{icon:"history",className:"draft-history-button",active:t.isViewingHistory,outerLabel:BE(c,"draft last updated","draft created"),disabled:t.loadedIntoHistory,onClick:()=>t.setIsViewingHistory(!t.isViewingHistory)}),!!s&&l.a.createElement(UE,{icon:"globe",tagName:"a",href:Object(ht.g)(r,a),outerLabel:{bottom:"view latest release",top:"see published version"}}),u&&!p&&!b&&l.a.createElement(A.y,{renderLauncherElement:({openDialog:e})=>l.a.createElement(UE,{disabled:!m,icon:"document-share",onClick:e,label:{bottom:"Create a Release",top:"Publish"}})},({isOpen:e,onClose:r,key:o})=>l.a.createElement(A.Bb,{key:o,isOpen:e,onClose:r,pub:a,historyKey:null==t?void 0:t.latestKey,onCreateRelease:e=>n(t=>({releases:[...Object(fe.c)(t.releases),e]}))})),h&&!b&&l.a.createElement(A.y,{renderLauncherElement:({openDialog:e})=>l.a.createElement(UE,{disabled:!m,icon:"social-media",onClick:e,label:{bottom:"Create a Release Review",top:"Request Publication"}})},({isOpen:e,onClose:t,key:r})=>l.a.createElement(A.Cb,{key:r,isOpen:e,onClose:t,pubData:a,updatePubData:n})))})(),Object(fe.c)(a.releases).map((e,t)=>l.a.createElement("a",{key:e.id,href:Object(ht.g)(r,a,{releaseNumber:t+1}),style:{display:"none"}},a.title," - Release #",t+1)))};a(1492);var $E=e=>{const{onClick:t}=e;return l.a.createElement(Dr.a,{className:"byline-edit-button-component",onClick:t,"aria-label":"Edit Pub contributors"},l.a.createElement("div",{className:"icon-box pub-header-themed-box pub-header-themed-box-hover-target"},l.a.createElement(A.O,{icon:"edit2",iconSize:14})))};var _E=e=>{const{canEdit:t,className:a="",placeholder:r,tagName:o="h1",text:i=null,updateText:s,maxLength:u=1/0}=e,[m,d]=Object(n.useState)(!1),[p,b]=Object(n.useState)(i||""),h=m&&t;return Object(n.useEffect)(()=>d(!0),[]),Object(n.useEffect)(()=>b(i||""),[i]),l.a.createElement(o,{className:a},h?l.a.createElement(l.a.Fragment,null,l.a.createElement(c.m,{placeholder:r,onConfirm:e=>s(e.replace(/\n/g,"")),onChange:b,value:p,multiline:!0,confirmOnEnterKey:!0,maxLength:u}),l.a.createElement(A.V,{maxLength:u,length:(p||"").length})):l.a.createElement("span",{className:"text-wrapper"},i))};var HE=e=>{const{pubData:t,updatePubData:a}=e,{title:r,htmlTitle:o,description:i,htmlDescription:s,isRelease:c}=t,{communityData:u,scopeData:m,featureFlags:d}=Object(De.c)(),{submissionState:p}=Object(bh.a)(),b="incomplete"===(null==p?void 0:p.submission.status),{canManage:h}=m.activePermissions,g=h&&!c&&!b,f=Object(gr.e)(t),y=Object(n.useCallback)((e,t)=>{document.title=t,a({title:t,htmlTitle:e})},[a]),v=Object(n.useCallback)((e,t)=>{a({description:t,htmlDescription:e})},[a]);return l.a.createElement("div",{className:"title-group-component"},d.htmlPubHeaderValues?l.a.createElement("h1",{className:"title"},l.a.createElement(A.Xb,{initialValue:null!=o?o:r,isReadOnly:!g,onChange:y,placeholder:"Add a Pub title"}
1)):l.a.createElement(_E,{text:r,updateText:e=>a({title:e}),canEdit:g,className:"title",placeholder:"Add a Pub title"}),(g||i)&&(d.htmlPubHeaderValues?l.a.createElement(A.Xb,{initialValue:null!=s?s:i,isReadOnly:!g,onChange:v,placeholder:"Add a description for this Pub",maxLength:280}):l.a.createElement(_E,{text:null!=i?i:void 0,updateText:e=>a({description:e}),canEdit:g,tagName:"p",className:"description pub-header-themed-secondary",placeholder:"Add a description for this Pub",maxLength:280})),l.a.createElement(A.rb,{pubData:t,renderSuffix:()=>!c&&(g?l.a.createElement(l.a.Fragment,null," ",l.a.createElement(A.y,{renderLauncherElement:({openDialog:e})=>l.a.createElement($E,{onClick:e})},({isOpen:e,onClose:n})=>l.a.createElement(A.pb,{canEdit:!0,isOpen:e,onClose:n,pubData:t,communityData:u,updatePubData:a}))):null),renderEmptyState:()=>g?l.a.createElement("span",{className:"pub-header-themed-secondary"},"Edit Pub contributors"):null}),f&&l.a.createElement("div",{className:"published-date"},l.a.createElement("span",{className:"pub-header-themed-secondary"},"Published on"),l.a.createElement("span",null,f)))},VE=Object.defineProperty,qE=Object.defineProperties,WE=Object.getOwnPropertyDescriptors,GE=Object.getOwnPropertySymbols,YE=Object.prototype.hasOwnProperty,KE=Object.prototype.propertyIsEnumerable,JE=(e,t,a)=>t in e?VE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,QE=(e,t)=>{for(var a in t||(t={}))YE.call(t,a)&&JE(e,a,t[a]);if(GE)for(var a of GE(t))KE.call(t,a)&&JE(e,a,t[a]);return e},ZE=(e,t)=>qE(e,WE(t));const XE=()=>{const e=Object(s.b)(),{getState:t}=e,a=((e,t)=>{var a={};for(var n in e)YE.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&GE)for(var n of GE(e))t.indexOf(n)<0&&KE.call(e,n)&&(a[n]=e[n]);return a})(e,["getState"]),{track:n,page:l}={name:"stub-plugin",page:()=>{},track:()=>{},loaded:()=>!0,ready:()=>!0};return"undefined"==typeof window?ZE(QE({},a),{track:n,page:l,getState:t}):ZE(QE({},a),{getState:t})};var eO=a(276);a(1493);const tO=[{format:"pdf",title:"PDF"},{format:"docx",title:"Word"},{format:"markdown",title:"Markdown"},{format:"epub",title:"EPUB"},{format:"html",title:"HTML"},{format:"odt",title:"OpenDocument"},{format:"plain",title:"Plain Text"},{format:"jats",title:"JATS XML"},{format:"tex",title:"LaTeX"}];var aO=e=>{const{pubData:t,children:a}=e,{downloads:r=[]}=t,[o,i]=Object(n.useState)(!1),[s,u]=Object(n.useState)(!1),[m,d]=Object(n.useState)(null),[p,b]=Object(n.useState)(null),[h,g]=Object(n.useState)(null),{latestKey:f}=Object(bh.c)(),{communityData:y,locationData:v}=Object(De.c)(),{track:E}=XE(),O=Object(eO.a)(r),w=e=>{i(!1),g(null),window.open(e)},C=Object(n.useCallback)(e=>t.exports.find(t=>t.format===e&&t.historyKey>=f),[t.exports,f]),N=e=>{if(E("download",{communityId:y.id,communityName:y.title,communitySubdomain:y.subdomain,format:e.format,pubId:t.id}),"formatted"===e.format)return w(O.url);const a=C(e.format);if(a&&a.url)return w(a.url);d(e),b(f),u(!1),i(!0)};return Object(n.useEffect)(()=>{const e=e=>{navigator.userAgent.match(/iP(ad|hone|od)/i)?(g(e),i(!1)):w(e)};o&&(u(!1),Object(Ae.a)("/api/export",{method:"POST",body:JSON.stringify({pubId:t.id,communityId:y.id,format:null==m?void 0:m.format,historyKey:p,accessHash:v.query.access})}).then(({taskId:t,url:a})=>(a&&e(a),t?my(t,1500).then(({url:t})=>e(t)):null)).catch(()=>{u(!0),i(!1)}))},[o,m,p,t.id,v.query.access,y.id]),l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{style:{display:"none"}},O&&l.a.createElement("a",{href:O.url,download:!0,"aria-hidden":"true","data-export-format":"formatted","data-export-available":Boolean(O.url)},"Formatted Download"),tO.map(e=>{const t=C(e.format);return l.a.createElement("a",{key:e.format,href:(null==t?void 0:t.url)||"#",download:!0,"aria-hidden":"true","data-export-format":e.format,"data-export-available":Boolean(null==t?void 0:t.url)},e.title," Download")})),l.a.createElement(un.a,{disclosure:a,className:"pub-download-component","aria-label":"Pub download formats",placement:"bottom-end"},O&&l.a.createElement(l.a.Fragment,null,l.a.createElement("li",{className:Le.a.MENU_HEADER},l.a.createElement("h6",{className:Le.a.HEADING},"Formatted Download")),l.a.createElement(un.d,{dismissOnClick:!1,labelElement:l.a.createElement(c.q,{icon:"star"}),className:"formatted-button",text:"Formatted "+O.url.split(".").pop().toUpperCase(),loading:o&&"formatted"===(null==m?void 0:m.format),onClick:()=>N({format:"formatted"})})),l.a.createElement("li",{className:Le.a.MENU_HEADER},l.a.createElement("h6",{className:Le.a.HEADING},"Auto Generated Download")),tO.map((e,t)=>{const a=h&&(null==m?void 0:m.format)===e.format;return l.a.createElement(un.d,{key:`${t}-${e.format}`,dismissOnClick:!1,disabled:o&&(null==m?void 0:m.format)!==e.format,rightElement:l.a.createElement("span",null,o&&(null==m?void 0:m.format)===e.format&&l.a.createElement(c.F,{size:c.F.SIZE_SMALL})),onClick:()=>N(e),text:l.a.createElement(c.N,{key:e.format,isOpen:s&&(null==m?void 0:m.format)===e.format,content:"There was a problem generating the file."},a?l.a.createElement(c.c,{icon:"download",onClick:()=>w(h)},"Download ",e.title," file"):e.title)})})))};const nO=({condition:e,wrapper:t,children:a})=>e?t(a):a;var lO=e=>{var t;const{pubData:a}=e,{featureFlags:n}=Object(De.c)(),{collabData:r}
1=Object(bh.a)(),o=null==(t=r.editorChangeObject)?void 0:t.view,i=null==o?void 0:o.state,s=e=>{if(!i)return;if(!Object(Rv.g)(i))return;const t=i.doc.nodeSize,a=e(i,0,t-2);o.dispatch(a)},u=()=>{s(Mv.b)},m=()=>{s(Mv.e)},d=()=>l.a.createElement(c.e,{className:"text-info",intent:"warning"},l.a.createElement("p",null,"You still have pending edits. Resolve your edits before downloading this Pub."),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{text:"Accept All",intent:"success",onClick:u}),l.a.createElement(c.c,{text:"Reject All",intent:"danger",onClick:m})));return l.a.createElement(nO,{condition:n.suggestedEdits&&i&&Object(Rv.g)(i),wrapper:e=>l.a.createElement(A.mb,{component:()=>l.a.createElement(d,null),className:"pub-header-popover","aria-label":"Download this Pub"},e)},n.suggestedEdits&&i&&Object(Rv.g)(i)?l.a.createElement(Zv,{label:"Download",labelPosition:"left",icon:"download2"}):l.a.createElement(aO,{pubData:a},l.a.createElement(Zv,{label:"Download",labelPosition:"left",icon:"download2"})))};a(1494);var rO=e=>{const{children:t,limitHeight:a,onSelect:n=null,placement:r="bottom-end"}=e,{scopeData:i}=Object(De.c)(),{pubHeadings:s}=Object(bh.a)({immediate:!0}),{canEdit:c,canEditDraft:u}=i.activePermissions;return 0===s.length?null:l.a.createElement(un.a,{"aria-label":"Table of contents",className:o()("pub-toc-component",a&&"limit-height"),disclosure:t,placement:r},s.map(e=>l.a.createElement(un.d,{key:e.index,href:"#"+e.href,className:"level-"+e.level,onClick:t=>{if(n&&n(),c||u){t.preventDefault(),document.getElementById(e.href).scrollIntoView();const a=document.body.scrollTop||document.documentElement.scrollTop;document.body.scrollTop=document.documentElement.scrollTop=a-75}},text:e.title})))};var oO=e=>{const{children:t,pubData:a}=e,{communityData:n}=Object(De.c)(),r=(o=a.title,i=Object(ht.g)(n,a),[{title:"Twitter",icon:l.a.createElement(A.O,{icon:"twitter"}),url:`https://twitter.com/intent/tweet?url=${i}&text=${o}`},{title:"Reddit",icon:l.a.createElement(A.O,{icon:"reddit"}),url:`https://reddit.com/submit?url=${i}&title=${o}`},{title:"Facebook",icon:l.a.createElement(A.O,{icon:"facebook"}),url:"https://www.facebook.com/sharer.php?u="+i},{title:"LinkedIn",icon:l.a.createElement(A.O,{icon:"linkedin"}),url:`https://www.linkedin.com/shareArticle?url=${i}&title=${o}`},{title:"Email",icon:l.a.createElement(A.O,{icon:"envelope"}),url:`mailto:?subject=${o}&body=${i}`}]);var o,i;return l.a.createElement(A.Y,{disclosure:t,placement:"bottom-end","aria-label":"Social sharing options"},r.map(e=>l.a.createElement(A.bb,{key:e.title,icon:e.icon,text:e.title,href:e.url,target:"_blank"})))};var iO=e=>{const{onShowHeaderDetails:t,pubData:a}=e,{scopeData:n}=Object(De.c)(),{isRelease:r,membersData:o}=a,{canManage:i}=n.activePermissions;return l.a.createElement("div",{className:"utility-buttons-component"},l.a.createElement(Zv,{className:"show-header-details-button",icon:"info-sign",onClick:t}),i&&!r&&l.a.createElement(A.mb,{component:()=>l.a.createElement(A.F,{facetName:"PubHeaderTheme",selfContained:!0}),className:"pub-header-popover","aria-label":"Pub header theme options"},l.a.createElement(Zv,{label:"Edit theme",labelPosition:"left",icon:"clean"})),i&&l.a.createElement(Zv,{label:"Pub settings",labelPosition:"left",icon:"cog",tagName:"a",href:Object(Me.a)({pubSlug:a.slug,mode:"settings"})}),o&&l.a.createElement(A.y,{renderLauncherElement:({openDialog:e})=>l.a.createElement(Zv,{label:"Sharing",labelPosition:"left",icon:"people",className:"members-button",onClick:e})},({isOpen:e,onClose:t})=>l.a.createElement(A.Db,{isOpen:e,onClose:t,pubData:a})),l.a.createElement(A.mb,{component:()=>l.a.createElement(Bo,{pubData:a}),className:"pub-header-popover","aria-label":"Cite this Pub"},l.a.createElement(Zv,{label:"Cite",className:"cite-button",labelPosition:"left",icon:"cite"})),r&&l.a.createElement(oO,{pubData:a},l.a.createElement(Zv,{label:"Social",labelPosition:"left",icon:"share2"})),l.a.createElement(lO,{pubData:a}),l.a.createElement(rO,null,l.a.createElement(Zv,{label:"Contents",labelPosition:"left",icon:"toc"})))},sO=Object.defineProperty,cO=Object.defineProperties,uO=Object.getOwnPropertyDescriptors,mO=Object.getOwnPropertySymbols,dO=Object.prototype.hasOwnProperty,pO=Object.prototype.propertyIsEnumerable,bO=(e,t,a)=>t in e?sO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,hO=(e,t)=>
1{for(var a in t||(t={}))dO.call(t,a)&&bO(e,a,t[a]);if(mO)for(var a of mO(t))pO.call(t,a)&&bO(e,a,t[a]);return e};var gO=e=>{const{onShowHeaderDetails:t,pubData:a,updateLocalData:n}=e,{doi:r,isInMaintenanceMode:o}=a,{communityData:i}=Object(De.c)(),{submissionState:s,historyData:c}=Object(bh.a)(),u=Object(gr.e)(a),m=!!s,d=e=>n("pub",e,{isImmediate:!0});return l.a.createElement("div",{className:"pub-header-content-component"},l.a.createElement("div",{className:"pub-header-top-area has-bottom-hairline"},!m&&l.a.createElement(wE,{pubData:a,updatePubData:d}),l.a.createElement("div",{className:"basic-details"},l.a.createElement("span",{className:"metadata-pair"},u?l.a.createElement(l.a.Fragment,null,l.a.createElement("b",{className:"pub-header-themed-secondary"},"Published on "),u):l.a.createElement("i",null,"Unpublished")),r&&l.a.createElement("span",{className:"metadata-pair doi-pair"},l.a.createElement("b",{className:"pub-header-themed-secondary"},"DOI"),l.a.createElement(A.j,{copyString:"https://doi.org/"+r,className:"click-to-copy",beforeCopyPrompt:"Copy doi.org link",icon:null}
1,r)),l.a.createElement("div",{className:"show-details-placeholder"}))),l.a.createElement(HE,{pubData:a,updatePubData:e=>{const t=hO({},a);return d(e),Object(Ae.a)("/api/pubs",{method:"PUT",body:JSON.stringify((l=hO({},e),r={pubId:a.id,communityId:i.id},cO(l,uO(r))))}).catch(()=>n("pub",t));var l,r}}),l.a.createElement(iO,{onShowHeaderDetails:t,pubData:a}),!o&&l.a.createElement(zE,{pubData:a,historyData:c,updatePubData:d}))},fO=(a(1495),Object.defineProperty),yO=Object.defineProperties,vO=Object.getOwnPropertyDescriptors,EO=Object.getOwnPropertySymbols,OO=Object.prototype.hasOwnProperty,wO=Object.prototype.propertyIsEnumerable,CO=(e,t,a)=>t in e?fO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var NO=()=>{const{pubData:e}=Object(bh.a)();return l.a.createElement("div",{className:"pub-header-sticky-component"},l.a.createElement("div",{className:"sticky-title"},e.title),l.a.createElement("div",{className:"sticky-buttons"},l.a.createElement(rO,{limitHeight:!0},e=>{var t=e,{ref:a}=t,n=((e,t)=>{var a={};for(var n in e)OO.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&EO)for(var n of EO(e))t.indexOf(n)<0&&wO.call(e,n)&&(a[n]=e[n]);return a})(t,["ref"]);return l.a.createElement(l.a.Fragment,null,l.a.createElement(c.c,((e,t)=>yO(e,vO(t)))(((e,t)=>{for(var a in t||(t={}))OO.call(t,a)&&CO(e,a,t[a]);if(EO)for(var a of EO(t))wO.call(t,a)&&CO(e,a,t[a]);return e})({minimal:!0},n),{elementRef:a,className:"contents-button"}),"Contents"),l.a.createElement("span",{className:"dot"},"·"))}),l.a.createElement(c.c,{minimal:!0,onClick:()=>window.scrollTo({left:0,top:0,behavior:"auto"}),icon:l.a.createElement(A.O,{icon:"double-chevron-up"})})))};var jO=e=>{const{setReviewDoc:t,reviewDoc:a}=e,r=Object(n.useCallback)(e=>t(e.toJSON()),[t]);return l.a.createElement("div",{className:"review-editor-component"},l.a.createElement(A.db,{getButtons:e=>e.reviewButtonSet,onEdit:r,useFormattingBar:!0,focusOnLoad:!0,initialContent:a,placeholder:"Compose your review here..."}))};a(1496);var kO=e=>{const{communityData:t,onSubmit:a,isLoading:r,review:o,updateReview:i}=e,[s,u]=Object(n.useState)(!1),m=Object(n.useMemo)(()=>tr()(t.accentColorDark).alpha(.4),[t.accentColorDark]),d=Object(bi.p)(o)?"lightgray":s?t.accentColorDark:null==m?void 0:m.toString();return l.a.createElement("div",{className:"review-component"},l.a.createElement("div",{className:"review-border",style:{borderColor:d}},l.a.createElement(jO,{setReviewDoc:i,reviewDoc:o})),l.a.createElement("div",{className:"review-button"},l.a.createElement(c.c,{icon:"document-share",onClick:a,minimal:!0,loading:r,className:"review-submission-button",style:{background:d},intent:"primary",disabled:Object(bi.p)(o),onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1)},"Submit Review")))};a(1497);var SO=e=>{const{isOpen:t,onClose:a,pubData:n,onCreateReviewDoc:r,setReviewTitle:o,reviewTitle:i,reviewerName:s,setReviewerName:u,createdReview:m,createError:d,isUser:p,reviewerFooterButtons:b}=e,h=e=>o(e.target.value.trim()),g=e=>u(e.target.value.trim()),f=e=>{"Enter"===e.key&&e.currentTarget.blur()};return l.a.createElement(c.j,{lazy:!0,title:"Create Review",onClose:a,isOpen:t,className:"reviewer-dialog"},m?l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("div",{className:"callout"},l.a.createElement(c.e,{intent:"success",title:"Created Review!"},"Your review was successfully submitted!"))),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},b))):l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("div",{className:"title-input"},l.a.createElement("p",null,"Add a title to your review?"),l.a.createElement(c.r,{defaultValue:i,onKeyDown:f,onBlur:h})),!p&&l.a.createElement("div",{className:"title-input"},l.a.createElement("p",null,"Add your name?"),l.a.createElement(c.r,{defaultValue:s,onKeyDown:f,onBlur:g})),l.a.createElement("p",null,"You are about to submit a review for ",l.a.createElement("b",null,n.title),".")),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.b,{onClick:a},"Cancel"),l.a.createElement(c.b,{intent:"primary",onClick:r},"Create Review")))),l.a.createElement("div",{className:"callout"},d&&l.a.createElement(c.e,{intent:"danger",title:"There was an error submitting your review"},"Your review was not successfully submitted!")))};a(1498);var PO=()=>{const{pubData:e,updatePubData:t}=Object(bh.a)(),{communityData:a,scopeData:{activePermissions:{canManage:r,canEdit:o},memberData:i},loginData:{fullName:s}}=Object(De.c)(),{viewHash:u}=e,[m,d]=Object(n.useState)(!1),[p,b]=Object(n.useState)("Untitled Review"),[h,g]=Object(n.useState)(""),[f,y]=Object(n.useState)(void 0),[v,E]=Object(n.useState)(!1),[O,w]=Object(n.useState)(!1),[C,N]=Object(n.useState)(!1),[j,k]=Object(n.useState)(0),[S,P]=Object(n.useState)(!1),{value:D,setValue:I}=Hm({initial:bi.g,communityId:a.id,featureName:"new-review-editor",path:["pub-"+e.id],debounce:100}
1),T=e=>{I(e),w(!0),setTimeout(()=>{P(!0),w(!1)},1e3)},x=new URL(window.location.href),M=new URLSearchParams(x.search),L=`/dash/pub/${e.slug}/reviews/${j}`,R=i.length>0,F=r&&R,U=F?Object(ht.g)(a,e):Object(ht.g)(a,e,{accessHash:u}),B=!(!o&&!s),z=l.a.createElement(l.a.Fragment,null,l.a.createElement(c.b,{href:U},"Return to Pub"),F&&l.a.createElement(c.b,{intent:"primary",href:L},"Go to Review"));return l.a.createElement("div",{className:"review-header-sticky-component container pub"},l.a.createElement("div",{className:"sticky-section"},l.a.createElement("div",{className:"sticky-title"},e.title),l.a.createElement("div",{className:"side-content"},l.a.createElement("div",{className:"sticky-buttons"},l.a.createElement("div",{className:"sticky-review-text"},"review"),O&&l.a.createElement("div",{className:"saving-text"},l.a.createElement("em",null,"Saving...")),S&&!O&&l.a.createElement("em",{className:"saving-text"},"Saved"),l.a.createElement(SO,{isOpen:m,onClose:()=>{N(!1),d(!1)},pubData:e,onCreateReviewDoc:()=>{E(!0),Ae.a.post("/api/reviews",{communityId:a.id,pubId:e.id,reviewContent:D,title:p,reviewAccessHash:M.get("access"),reviewerName:h}).then(e=>{t(t=>t.reviews?{reviews:[...t.reviews,e]}:{reviews:[e]}),E(!1),k(e.number),I(Object(bi.g)()),N(!0)}).catch(e=>{E(!1),y(e)})},setReviewTitle:b,reviewTitle:p,reviewerName:h,setReviewerName:g,createdReview:C,createError:f,isUser:B,reviewerFooterButtons:z}),l.a.createElement(A.mb,{"aria-label":"Open Review dropdown",component:()=>l.a.createElement(kO,{communityData:a,onSubmit:()=>d(!0),isLoading:v,review:D,updateReview:T})},l.a.createElement(c.c,{minimal:!0,icon:"expand-all"}))))))};a(1499);const DO=e=>{const t=e.showingDetails?"Hide details":"Show details",a=e.showingDetails?"cross":"expand-all";return l.a.createElement(Zv,{className:o()("details-button",e.showingDetails&&"showing-details"),label:t,labelPosition:"left",icon:a,onClick:e.onClick})};var IO=e=>{var t;const a=Object(n.useRef)(null),{pubData:r,updateLocalData:i}=Object(bh.a)(),{sticky:s=!0}=e,{communityData:c}=Object(De.c)(),[u,m]=Object(n.useState)(!1),[d,p]=Object(n.useState)(null),{viewportWidth:b}=Object(Ii.a)(),h=Object(sn.a)(e=>e.PubHeaderTheme),g=b&&b<=750;Object(Pr.b)({isActive:s&&!!a.current,target:".pub-header-component",offset:(null==(t=null==a?void 0:a.current)?void 0:t.offsetHeight)?37-a.current.offsetHeight:0});const f=()=>{if(!u&&a.current)if(g){window.scrollTo(0,0);const e=a.current.getBoundingClientRect();p(1+window.innerHeight-e.top),m(!0)}else{const e=a.current.getBoundingClientRect();p(e.height)}m(!u)};return l.a.createElement(A.wb,{className:o()("pub-header-component",u&&"showing-details"),pubHeaderTheme:h,communityData:c,ref:a,style:d&&u?{height:d}:{},safetyLayer:u?"full-height":"enabled"},g&&u&&l.a.createElement("style",null,"body { overflow: hidden }"),l.a.createElement(A.L,{containerClassName:"pub",columnClassName:"pub-header-column"},!u&&l.a.createElement(gO,{pubData:r,updateLocalData:i,onShowHeaderDetails:f}),u&&l.a.createElement(Xv,{pubData:r,communityData:c,onCloseHeaderDetails:f}),l.a.createElement(DO,{showingDetails:u,onClick:f})),s?r.isReviewingPub?l.a.createElement(A.k,null,l.a.createElement(PO,null)):l.a.createElement(NO,null):null)};a(1500);var TO=e=>{const{asLabel:t=!1,children:a,fullWidth:r=!1,instructions:i,title:s}=e,[u,m]=Object(n.useState)(!1),d=Object(n.useCallback)(()=>m(!0),[]),p=l.a.createElement(l.a.Fragment,null,l.a.createElement("h2",{className:"title"},s,u&&(e=>{if("valid"in e){const{valid:t,invalidNotice:a}=e;if(!t)return l.a.createElement(c.N,{content:l.a.createElement("span",null,a)},l.a.createElement(A.O,{intent:"warning",icon:"warning-sign",className:"invalid-icon",iconSize:13}))}return null})(e)),i&&l.a.createElement("p",{className:"instructions"},i),a);return l.a.createElement(t?"label":"div",{className:o()("spub-header-field-component",r&&"full-width"),onBlur:d},p)},xO=(a(1501),Object.defineProperty),AO=Object.getOwnPropertySymbols,MO=Object.prototype.hasOwnProperty,LO=Object.prototype.propertyIsEnumerable,RO=(e,t,a)=>t in e?xO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,FO=(e,t)=>
1{for(var a in t||(t={}))MO.call(t,a)&&RO(e,a,t[a]);if(AO)for(var a of AO(t))LO.call(t,a)&&RO(e,a,t[a]);return e};var UO=e=>{const{children:t,className:a,expandToFold:r}=e,i=Object(n.useRef)(null),[s,c]=Object(n.useState)(0),{viewportHeight:u}=Object(Ii.a)();return Object(n.useLayoutEffect)(()=>{i.current&&c((u||0)-i.current.getBoundingClientRect().top-window.scrollY)},[u]),l.a.createElement(A.L,{containerClassName:o()("spub-header-tab-component","pub",a)},l.a.createElement("div",{style:FO({},r&&{minHeight:s}),ref:i},t))};a(1502);var BO=e=>{const{onUpdatePub:t,pubData:a}=e,{communityData:n}=Object(De.c)(),r=Object(fe.c)(a.attributions).length,o=l.a.createElement(l.a.Fragment,null,"Contributors ",r?`(${r})`:null);return l.a.createElement(UO,null,l.a.createElement(TO,{title:o,fullWidth:!0},l.a.createElement(A.qb,{pubData:a,communityData:n,updatePubData:t,canEdit:!0})))},zO=a(789);const $O=e=>{var t,a,n;const{content:[l,r]}=e;if(l&&r){const{type:e,attrs:o,content:i}=l;if("heading"===e&&1===(null==o?void 0:o.level)&&"abstract"===(null==(n=null==(a=null==(t=null==i?void 0:i[0])?void 0:t.text)?void 0:a.toLowerCase())?void 0:n.trim())&&"paragraph"===r.type)return{type:"doc",attrs:{},content:[r]}}return null};var _O=Object.defineProperty,HO=Object.defineProperties,VO=Object.getOwnPropertyDescriptors,qO=Object.getOwnPropertySymbols,WO=Object.prototype.hasOwnProperty,GO=Object.prototype.propertyIsEnumerable,YO=(e,t,a)=>t in e?_O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,KO=(e,t)=>{for(var a in t||(t={}))WO.call(t,a)&&YO(e,a,t[a]);if(qO)for(var a of qO(t))GO.call(t,a)&&YO(e,a,t[a]);return e},JO=(e,t)=>HO(e,VO(t));var QO=e=>{const{isReadOnly:t,submissionAbstract:a,onUpdateAbstract:r}=e,{collabData:{editorChangeObject:o},pubData:{initialDoc:i}}=Object(bh.a)(),{readOnlyAbstractDoc:s,readOnlyEditorKey:c}=Object(n.useMemo)(()=>{var e;if(t){const t=null==(e=null==o?void 0:o.view)?void 0:e.state.doc.toJSON();return{readOnlyAbstractDoc:$O(t||i),readOnlyEditorKey:Date.now()}}return{readOnlyAbstractDoc:null,readOnlyEditorKey:Date.now()}},[t,o,i]);Object(n.useEffect)(()=>{t&&r(s)},[t,s]);const u={customNodes:{doc:{content:"paragraph"}},constrainHeight:!0,noMinHeight:!0};return t?l.a.createElement(A.db,JO(KO({},u),{key:c,initialContent:s,isReadOnly:!0})):l.a.createElement(A.db,JO(KO({},u),{initialContent:a,getButtons:e=>e.abstractButtonSet,onEdit:e=>r(e.toJSON()),debounceEditsMs:300,useFormattingBar:!0}))};var ZO=e=>{var t;const{pub:a,onUpdatePub:n,onUpdateAbstract:r,validatedFields:o,submission:{status:i,abstract:s,submissionWorkflow:{requireAbstract:u,requireDescription:m}}}=e,d="incomplete"!==i,[p]=Object(zO.a)(r,250);return l.a.createElement(UO,null,l.a.createElement(TO,{title:"Title",asLabel:!0,valid:o.title,invalidNotice:"Title must not be empty"},l.a.createElement(c.r,{onBlur:e=>n({title:e.target.value}),defaultValue:a.title,fill:!0})),m&&l.a.createElement(TO,{title:"Description",instructions:"A short subheader that will be shown below your submission's title.",valid:o.description,invalidNotice:"Description must not be empty"},l.a.createElement(c.r,{onBlur:e=>n({description:e.target.value}),defaultValue:null!=(t=a.description)?t:void 0,fill:!0,maxLength:280})),u&&l.a.createElement(TO,{title:"Abstract",instructions:d?o.abstract?"Upd
1ate the abstract from the submission body.":"The abstract was removed from the submission body after submission and may need to be re-added before release.":null,valid:o.abstract,invalidNotice:"Abstract must not be empty"},l.a.createElement(QO,{isReadOnly:d,submissionAbstract:s,onUpdateAbstract:p})),l.a.createElement(TO,{title:"Attached file",instructions:l.a.createElement(l.a.Fragment,null,"You can upload a file, like a PDF with custom styling, to associate with this submission.")},l.a.createElement(A.z,{pubData:a,communityId:a.communityId,onSetDownloads:e=>n({downloads:e}),text:"Upload new file"})))};a(1503);var XO=e=>l.a.createElement(UO,{expandToFold:!0,className:"instructions-tab-component"},l.a.createElement("h1",null,e.submissionWorkflow.title),l.a.createElement(A.E,{initialContent:e.submissionWorkflow.instructionsText,isReadOnly:!0}),l.a.createElement(c.c,{intent:"primary",outlined:!0,className:"begin-submission-button",text:"Begin Submission",icon:l.a.createElement(c.q,{className:"begin-submission-icon",iconSize:21,icon:"arrow-right"}),onClick:e.onBeginSubmission})),ew=Object.defineProperty,tw=Object.defineProperties,aw=Object.getOwnPropertyDescriptors,nw=Object.getOwnPropertySymbols,lw=Object.prototype.hasOwnProperty,rw=Object.prototype.propertyIsEnumerable,ow=(e,t,a)=>t in e?ew(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,iw=(e,t)=>{for(var a in t||(t={}))lw.call(t,a)&&ow(e,a,t[a]);if(nw)for(var a of nw(t))rw.call(t,a)&&ow(e,a,t[a]);return e};var sw=e=>{const{pendingPromise:t}=Object(De.d)(),[a,r]=Object(n.useState)(!1),[o,i]=Object(n.useState)(null),[s,u]=Object(n.useState)(null),{updateSubmissionState:m}=Object(bh.a)();return l.a.createElement(c.j,{isOpen:e.isOpen,onClose:e.onClose},s?l.a.createElement(c.e,{intent:"warning",title:"There was an error submitting this Pub."}):o?l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement(c.e,{intent:"success",title:"Submitted!"},"Your Pub has been submitted for review.")),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:e.onClose,disabled:a},"Close"),l.a.createElement(c.c,{onClick:()=>window.location.reload(),loading:a,intent:"primary"},"View Submission")))):l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement(c.e,{title:"Submit Pub?"},"Are you ready to submit this Pub?")),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:e.onClose,disabled:a},"Cancel"),l.a.createElement(c.c,{onClick:()=>{r(!0),t(Ae.a.put("/api/submissions",{id:e.submission.id,status:"received"}).then(e=>{i(e),m(({submission:t})=>{return{submission:(a=iw({},t),n={status:e.status},tw(a,aw(n)))};var a,n})}).catch(e=>u(e)).finally(()=>r(!1)))},loading:a,intent:"primary"},"Submit")))))},cw=(a(1504),Object.defineProperty),uw=Object.defineProperties,mw=Object.getOwnPropertyDescriptors,dw=Object.getOwnPropertySymbols,pw=Object.prototype.hasOwnProperty,bw=Object.prototype.propertyIsEnumerable,hw=(e,t,a)=>t in e?cw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,gw=(e,t)=>{for(var a in t||(t={}))pw.call(t,a)&&hw(e,a,t[a]);if(dw)for(var a of dw(t))bw.call(t,a)&&hw(e,a,t[a]);return e},fw=(e,t)=>uw(e,mw(t));const yw=(e,t)=>l.a.createElement(l.a.Fragment,null,l.a.createElement(c.q,{icon:e,iconSize:13})," ",t);var vw=e=>{const{selectedTab:t,submission:a,onSelectTab:r,validatedFields:o}=e,[i,s]=Object(n.useState)(!1),{communityData:u}=Object(De.c)(),{pendingCount:m}=Object(De.d)(),d=Object(n.useMemo)(()=>tr()(u.accentColorDark).alpha(.1).toString(),[u.accentColorDark]),p=Object(n.useMemo)(()=>{const e=Object.entries(o).reduce((e,t)=>{const[a,n]=t;return n?e:[...e,a]},[]);return e.length?l.a.createElement(l.a.Fragment,null,"Please correct these fields before submitting:"," ",l.a.createElement("em",null,e.join(", "))):null},[o]),b=yw("align-left","Instructions"),h=yw("manually-entered-data","Submission"),g=yw("people","Contributors"),f=yw("eye-open","Preview"),y=m>0?l.a.createElement("em",null,"Saving"):null,v="incomplete"===a.status&&"instructions"!==t;return l.a.createElement("div",{style:{background:d},className:"spub-header-toolbar-component"},l.a.createElement(A.L,{containerClassName:"toolbar-container pub"},l.a.createElement("div",{className:"toolbar-items"},l.a.createElement(c.I,{id:"spubHeaderToolbar",onChange:r,selectedTabId:t},l.a.createElement(c.H,{id:"instructions",title:b}),l.a.createElement(c.H,{id:"details",title:h}),l.a.createElement(c.H,{id:"contributors",title:g}),l.a.createElement(c.H,{id:"preview",title:f})),v?(()=>{const e={minimal:!0,outlined:!0,intent:"primary",className:"submit-button",children:y||"Submit",disabled:!!y};return p?l.a.createElement(c.N,{content:p},l.a.createElement(c.c,fw(gw({},e),{disabled:!0}))):l.a.createElement(c.c,fw(gw({},e),{onClick:()=>s(!0)}))})():(()=>{const{status:e}=a;if(y)return y;if("incomplete"!==e){const t="received"===e?"Received":Object(mt.b)(e);return l.a.createElement("div",{className:"status"},l.a.createElement(c.q,{icon:"symbol-square",iconSize:18,className:"status-color-"+a.status}),t)}return null})(),l.a.createElement(sw,{submission:a,isOpen:i,onClose:()=>s(!1)}))))}
1,Ew=(a(1505),Object.defineProperty),Ow=Object.defineProperties,ww=Object.getOwnPropertyDescriptors,Cw=Object.getOwnPropertySymbols,Nw=Object.prototype.hasOwnProperty,jw=Object.prototype.propertyIsEnumerable,kw=(e,t,a)=>t in e?Ew(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Sw=(e,t)=>{for(var a in t||(t={}))Nw.call(t,a)&&kw(e,a,t[a]);if(Cw)for(var a of Cw(t))jw.call(t,a)&&kw(e,a,t[a]);return e},Pw=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});const Dw=()=>{var e;const{pendingPromise:t}=Object(De.d)(),{updatePubData:a,pubData:r,updateSubmissionState:o,submissionState:i}=Object(bh.a)(),{selectedTab:s,submission:c}=i,u=Object(n.useRef)(null),[m]=Object(n.useState)(()=>(e=>{const{requireAbstract:t,requireDescription:a}=e;return{title:im,description:a?um(im):cm,abstract:t?um(sm):cm}})(c.submissionWorkflow)),{validatedFields:d}=Object(n.useMemo)(()=>{var e;return((e,t)=>mm(e,t))({title:r.title,description:null!=(e=r.description)?e:"",abstract:c.abstract},m)},[r,c,m]);Object(Pr.b)({isActive:!!u.current,target:".spub-header-component",offset:(null==(e=null==u?void 0:u.current)?void 0:e.offsetHeight)?37-u.current.offsetHeight:0});const p=e=>Pw(null,null,(function*(){const{title:n,description:l}=e;a(e),(n||l)&&(yield t(Ae.a.put("/api/pubs",{pubId:r.id,title:n,description:l}).catch(()=>a(r))))})),b=e=>{o({selectedTab:e})};return l.a.createElement("div",{className:"spub-header-component",ref:u,"data-tab":s},l.a.createElement("style",null,"\n\t\t\t\tbody { background-color: #f8f8f8; }\n\t\t\t\t.pub-document-component { background-color: white; }\n\t\t\t"),l.a.createElement("div",{className:"content-container"},l.a.createElement(vw,{validatedFields:d,onSelectTab:e=>b(e),selectedTab:s,submission:c}),"instructions"===s&&l.a.createElement(XO,{onBeginSubmission:()=>b("details"),submissionWorkflow:c.submissionWorkflow}),"details"===s&&l.a.createElement(ZO,{submission:c,validatedFields:d,onUpdatePub:p,onUpdateAbstract:e=>Pw(null,null,(function*(){return o(({submission:t})=>{return{submission:(a=Sw({},t),n={abstract:e},Ow(a,ww(n)))};var a,n}),t(Ae.a.put("/api/submissions",{abstract:e,id:c.id}))})),pub:r}),"contributors"===s&&l.a.createElement(BO,{pubData:r,onUpdatePub:p}),"preview"===s&&l.a.createElement(IO,{sticky:!1})),l.a.createElement(NO,null))};var Iw=()=>l.a.createElement(A.kb,null,l.a.createElement(Dw,null));a(1506);const Tw=()=>{const e=Object(bh.a)(),{submissionState:t}=e,a=t?Iw:IO;return l.a.createElement(a,null)};var xw=e=>{const{pubData:t}=e;return l.a.createElement("div",{id:"pub-container"},l.a.createElement(Ih.b,null,l.a.createElement(uh.b,{pubData:t},l.a.createElement(Tw,null),l.a.createElement(Qv,null))))},Aw=a(422);a(1507);const Mw=[{key:"title",label:"Title"},{key:"description",label:"Description"},{key:"byline",label:"Authors"},{key:"content",label:"Full text"}],Lw=(e,t,a)=>{const n=new URLSearchParams;e&&n.append("q",e),t>0&&n.append("page",String(t+1)),"pubs"!==a&&n.append("mode",a);const l=n.toString();return"/search"+(l?"?"+l:"")},Rw=({item:e,isBasePubPub:t})=>{const a=(n=e).communityDomain?"https://"+n.communityDomain:`https://${n.communitySlug}.pubpub.org`;var n;const r=`${a}/pub/${e.slug}`,o=Object(ed.b)(e.avatar,"inside",800),i=Object(ed.b)(e.communityAvatar,"inside",125,35),s=e.avatar?{backgroundImage:`url("${o}")`}:{background:Object(Aw.a)(e.id)};return l.a.createElement("div",{className:"result pubs"},l.a.createElement("div",null,l.a.createElement("a",{href:r},l.a.createElement("div",{className:"banner-image",style:s}))),l.a.createElement("div",{className:"content"},l.a.createElement("div",{className:"title"},l.a.createElement("a",{href:r,className:"pub-title"},e.title),t&&l.a.createElement("div",{className:"community-title"},l.a.createElement("a",{href:a,style:{backgroundColor:e.communityAccentColorDark||"#2D2E2F",color:e.communityTextColor||"#fff"}},i?l.a.createElement("img",{alt:e.communityTitle+" logo",src:i}):l.a.createElement("span",null,": ",e.communityTitle)))),e.byline&&l.a.createElement("div",{className:"byline"},e.byline),e.description&&l.a.createElement("div",{className:"description"},e.description)))},Fw=({item:e})=>{const t=e.domain?"https://"+e.domain:`https://${e.subdomain}.pubpub.org`,a=Object(ed.b)(e.avatar,"inside",200);return l.a.createElement("div",{className:"result communities"},l.a.createElement("div",null,l.a.createElement("a",{href:t},l.a.createElement("div",{className:"banner-image",style:a?{backgroundImage:`url("${a}")`}:{backgroundColor:e.accentColorDark||"#2D2E2F"}}))),l.a.createElement("div",{className:"content"},l.a.createElement("div",{className:"title"},l.a.createElement("a",{href:t,className:"pub-title"},e.title)),e.description&&l.a.createElement("div",{className:"description"},e.description),l.a.createElement("div",{className:"community-meta"},l.a.createElement(A.O,{icon:"pubDoc",iconSize:12}),l.a.createElement("span",null,e.pubCount," published pub",1!==e.pubCount?"s":"")))
1)},Uw=({fields:e,onFieldToggle:t,authors:a,activeAuthor:n,onAuthorClick:r})=>l.a.createElement("aside",{className:"search2-sidebar"},l.a.createElement("div",{className:"sidebar-section"},l.a.createElement("h4",{className:"sidebar-heading"},"Search in"),Mw.map(a=>l.a.createElement(c.g,{key:a.key,label:a.label,checked:e.has(a.key),onChange:()=>t(a.key),className:"sidebar-checkbox"}))),a.length>0&&l.a.createElement("div",{className:"sidebar-section"},l.a.createElement("h4",{className:"sidebar-heading"},"Authors",n&&l.a.createElement("button",{type:"button",className:"sidebar-clear",onClick:()=>r(null)},"Clear")),l.a.createElement("ul",{className:"sidebar-facet-list"},a.map(e=>l.a.createElement("li",{key:e.name},l.a.createElement("button",{type:"button",className:"facet-btn "+(n===e.name?"active":""),onClick:()=>r(n===e.name?null:e.name)},l.a.createElement("span",{className:"facet-name"},e.name),l.a.createElement("span",{className:"facet-count"},e.count)))))));var Bw=()=>{const{locationData:e,communityData:t}=Object(De.c)(),a=e.isBasePubPub,[r,o]=Object(n.useState)(e.query.q||""),[i,s]=Object(n.useState)([]),[u,m]=Object(n.useState)(0),[d,p]=Object(n.useState)(!!e.query.q),[b,h]=Object(n.useState)(e.query.page?Number(e.query.page)-1:0),g=e.query.mode||(a?"communities":"pubs"),[f,y]=Object(n.useState)("communities"===g&&a?"communities":"pubs"),[v,E]=Object(n.useState)(new Set(["title","description","byline"])),[O,w]=Object(n.useState)([]),[C,N]=Object(n.useState)(null),[j,k]=Object(n.useState)(!0),S=Object(De.e)(r,1e3,!1),P=Object(n.useRef)(null),D=Object(n.useRef)(null);Object(n.useEffect)(()=>{const e=P.current;if(e){e.focus();const t=e.value;e.value="",e.value=t}},[]);const I=Object(n.useCallback)(e=>{E(t=>{const a=new Set(t);return a.has(e)?a.size>1&&a.delete(e):a.add(e),a}),h(0)},[]),T=Object(n.useCallback)(e=>{N(e),h(0)},[]),x=Object(n.useCallback)((e,n,l,r,o)=>{return i=null,c=null,u=function*(){var i;if(!e.trim())return s([]),m(0),w([]),void p(!1);D.current&&D.current.abort();const c=new AbortController;D.current=c,p(!0);const u=new URLSearchParams({q:e.trim(),mode:l,page:String(n),limit:String(20)});if("pubs"===l){const e=Array.from(r);u.append("fields",e.join(",")),o&&u.append("author",o),a||u.append("communityId",t.id)}try{const e=yield fetch("/api/search?"+u,{signal:c.signal,credentials:"include"});if(!e.ok)throw new Error("Search failed");const t=yield e.json();c.signal.aborted||(s(t.results),m(t.total),(null==(i=t.facets)?void 0:i.authors)&&w(t.facets.authors),p(!1))}catch(e){"AbortError"!==e.name&&(p(!1),s([]),m(0))}},new Promise((e,t)=>{var a=e=>{try{l(u.next(e))}catch(e){t(e)}},n=e=>{try{l(u.throw(e))}catch(e){t(e)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,n);l((u=u.apply(i,c)).next())});var i,c,u},[a,t.id]);Object(n.useEffect)(()=>{N(null),w([]),h(0)},[S]),Object(n.useEffect)(()=>{x(S,b,f,v,C),((e,t,a)=>{window.history.replaceState({},"",Lw(e,t,a))})(S,b,f)},[S,b,f,v,C,x]);const A=Math.min(Math.ceil(u/20),10),M=Lw(S,b,f),L="pubs"===f&&j&&!!S.trim(),R=new Array(A).fill("");return l.a.createElement("div",{id:"search-container"},l.a.createElement("div",{className:"container narrow"},l.a.createElement("div",{className:"row"},l.a.createElement("div",{className:"col-12"},l.a.createElement("div",{className:"search-header"},l.a.createElement("h2",null,"Search ",t.title),!a&&l.a.createElement("a",{href:"https://www.pubpub.org"+M},"Search all PubPub Communities")),l.a.createElement(c.r,{placeholder:"search...",value:r,onChange:e=>{o(e.target.value),h(0)},rightElement:d?l.a.createElement(c.F,{size:35}):void 0,inputRef:P}))),l.a.createElement("div",{className:"row"},l.a.createElement("div",{className:"col-12"},l.a.createElement("div",{className:"tabs-filter-row"},l.a.createElement(c.I,{onChange:e=>{y(e),h(0),s([])},selectedTabId:f,large:!0,animate:!1},a&&l.a.createElement(c.H,{id:"communities",title:"Communities"}),l.a.createElement(c.H,{id:"pubs",title:"Pubs"}))))),l.a.createElement("div",{className:"row"},l.a.createElement("div",{className:"col-12"},l.a.createElement("div",{className:"search2-layout "+(L?"with-sidebar":"")},L&&l.a.createElement(Uw,{fields:v,onFieldToggle:I,authors:O,activeAuthor:C,onAuthorClick:T}),l.a.createElement("div",{className:"search2-results"},!!i.length&&(C||A>1)&&l.a.createElement("p",{className:"search2-count"},u," result",1!==u?"s":"",C&&l.a.createElement(l.a.Fragment,null," ","by ",l.a.createElement("strong",null,C)),A>1&&` · Page ${b+1} of ${A}`),!i.length&&r&&!d&&l.a.createElement(c.v,{title:"No Results",icon:"search"}),!!i.length&&l.a.createElement("div",null,"pubs"===f&&i.map(e=>l.a.createElement(Rw,{key:e.id,item:e,isBasePubPub:a})),"communities"===f&&i.map(e=>l.a.createElement(Fw,{key:e.id,item:e})),A>1&&l.a.createElement("div",{className:`${Le.a.BUTTON_GROUP} ${Le.a.LARGE}`},R.map((e,t)=>{const a="page-button-"+t;return l.a.createElement(c.c,{key:a,text:t+1,active:t===b,onClick:()=>{h(t),window.scrollTo(0,0)}})})))))))))},zw=(a(1508),(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())}));var $w=()=>{var e,t;const{locationData:a,communityData:r}=Object(De.c)(),[o,i]=Object(n.useState)(""),[s,u]=Object(n.useState)(!1),[m,d]=Object(n.useState)(!1),[p,b]=Object(n.useState)(void 0),h=Object(n.useRef)(null);return l.a.createElement("div",{id:"signup-container"},l.a.createElement(A.L,{containerClassName:"small"},!s&&l.a.createElement("div",null,l.a.createElement("h1",null,"Signup"),!a.isBasePubPub&&l.a.createElement("p",null,"Signup to create a ",l.a.createElement("a",{href:"https://www.pubpub.org"},"PubPub")," ","account, which will work on ",l.a.createElement("b",null,r.title)," and all other PubPub communities."),l.a.createElement("form",{onSubmit:e=>zw(null,null,(function*(){var t,a;e.preventDefault();const n=null!=(t=new FormData(e.currentTarget).get("confirmEmail"))?t:"";d(!0),b(void 0);try{const e=yield null==(a=h.current)?void 0:a.verify();if(!e)throw new Error("Verification failed. Please try again.");yield Object(Ae.a)("/api/signup",{method:"POST",body:JSON.stringify({_honeypot:n,email:o.toLowerCase(),communityId:r.id,altcha:e})}),d(!1),u(!0)}catch(e){d(!1),b(e instanceof Error?e.message:"Verification failed. Please try again.")}}))},l.a.createElement(A.R,{label:"Email",placeholder:"[email protected]",value:o,onChange:e=>{i(e.target.value)},error:p}),l.a.createElement(A.N,{name:"confirmEmail"}),l.a.createElement(A.b,{ref:h,auto:"onload"}),l.a.createElement(c.c,{name:"signup",type:"submit",className:`${Le.a.BUTTON} ${Le.a.INTENT_PRIMARY}`,text:"Signup",disabled:!o,loading:m})),l.a.createElement("a",{href:"/login",className:"switch-message"},"Already have a PubPub account? Click to Login")),s&&l.a.createElement(c.v,{title:"Signup Successful",description:l.a.createElement("div",{className:"success"},l.a.createElement("p",null,"An email has been sent to ",l.a.createElement("b",null,o)),l.a.createElement("p",null,"Follow the link in that email to create your account.")),visual:"tick-circle",action:l.a.createElement("form",{onSubmit:e=>zw(null,null,(function*(){e.preventDefault(),d(!0),b(void 0);try{yield Object(Ae.a)("/api/signup",{method:"POST",body:JSON.stringify({email:o.toLowerCase(),communityId:r.id,_honeypot:"",altcha:""})})}catch(e){}finally{d(!1)}}))},l.a.createElement(c.c,{name:"resendEmail",disabled:!(null==(e=h.current)?void 0:e.value),type:"submit",className:Le.a.BUTTON,text:"Resend Email",loading:!(null==(t=h.current)?void 0:t.value)||m}),l.a.createElement(A.b,{ref:h,auto:"onload"}))})))};const _w=e=>"/superadmin/"+e;var Hw=Object.defineProperty,Vw=Object.getOwnPropertySymbols,qw=Object.prototype.hasOwnProperty,Ww=Object.prototype.propertyIsEnumerable,Gw=(e,t,a)=>t in e?Hw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const Yw={"confirmed-not-spam":{icon:"tick",children:"Not spam"},"confirmed-spam":{icon:"cross",intent:"danger",children:"Spam"},unreviewed:{icon:"undo",children:"Mark unreviewed"}};var Kw=e=>{const{status:t,communityId:a,onStatusChanged:r}=e,[o,i]=Object(n.useState)(!1),s=Object(n.useCallback)(()=>{return e=null,n=null,l=function*(){i(!0),yield Ae.a.put("/api/spamTags",{status:t,communityId:a}),i(!1),r(t)},new Promise((t,a)=>{var r=e=>{try{i(l.next(e))}catch(e){a(e)}},o=e=>{try{i(l.throw(e))}catch(e){a(e)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(r,o);i((l=l.apply(e,n)).next())});var e,n,l},[t,a,r]);return l.a.createElement(c.c,((e,t)=>{for(var a in t||(t={}))qw.call(t,a)&&Gw(e,a,t[a]);if(Vw)for(var a of Vw(t))Ww.call(t,a)&&Gw(e,a,t[a]);return e})({minimal:!0,loading:o,onClick:s},Yw[t]))};a(1509);const Jw=e=>e>3?"danger":e>1?"warning":"none";var Qw=e=>{const{community:t}=e,{title:a,description:r,createdAt:o,spamTag:i}=t,{spamScore:s,status:u,fields:m}=i,[d,p]=Object(n.useState)(u),b=Object(n.useMemo)(()=>JSON.stringify(m,null,2),[m]);return l.a.createElement("div",{className:"community-spam-entry-component"},l.a.createElement("div",{className:"title"},l.a.createElement("a",{href:Object(ht.d)(t),target:"_blank",rel:"noopener noreferrer"},a)),r&&l.a.createElement("div",{className:"description"},r),Object.keys(m).length>0&&l.a.createElement("div",{className:"fields-report"},l.a.createElement("details",null,l.a.createElement("summary",null,"Matched fields"),l.a.createElement("code",null,l.a.createElement("pre",null,b)))),i.approvalRequestedAt?l.a.createElement("div",{className:"review-request-info"},l.a.createElement(c.J,{intent:"primary",icon:"envelope",minimal:!0},"Approval requested: ",Object(Gt.b)(i.approvalRequestedAt)),i.approvalRequestMessage&&l.a.createElement("details",null,l.a.createElement("summary",null,"Requester's message"),l.a.createElement("blockquote",null,i.approvalRequestMessage))):null,l.a.createElement("div",{className:"details"},l.a.createElement("div",{className:"tags"},"unreviewed"===d?l.a.createElement(c.J,{minimal:!0},"Unreviewed"):"confirmed-spam"===d?l.a.createElement(c.J,{intent:"danger",icon:"cross"},"Confirmed spam"):l.a.createElement(c.J,{intent:"success",icon:"tick"},"Confirmed not spam"),l.a.createElement(c.J,{intent:Jw(s)},"Spam score: ",s),l.a.createElement(c.J,{minimal:!0},"Created: ",Object(Gt.b)(o))),l.a.createElement("div",{className:"actions"},"unreviewed"===d?l.a.createElement(c.d,null,l.a.createElement(Kw,{communityId:t.id,status:"confirmed-not-spam",onStatusChanged:p}),l.a.createElement(Kw,{communityId:t.id,status:"confirmed-spam",onStatusChanged:p})):l.a.createElement(Kw,{communityId:t.id,status:"unreviewed",onStatusChanged:p}))))};const Zw=[{title:"👀 Unreviewed",id:"unreviewed",query:{ordering:{field:"spam-score",direction:"DESC"},status:["unreviewed"]}}
1,{title:"📋 Approval requested",id:"review-requested",query:{ordering:{field:"approval-requested-at",direction:"ASC"},status:["unreviewed"],approvalRequested:!0}},{title:"✨ Recently created",id:"recent",query:{ordering:{field:"community-created-at",direction:"DESC"},status:["unreviewed","confirmed-not-spam","confirmed-spam"]}},{title:"❌ Confirmed spam",id:"spam",query:{ordering:{field:"spam-status-updated-at",direction:"DESC"},status:["confirmed-spam"]}},{title:"✅ Confirmed not spam",id:"not-spam",query:{ordering:{field:"spam-status-updated-at",direction:"DESC"},status:["confirmed-not-spam"]}}],Xw=Object(ar.e)(Zw);const eC=e=>{const{searchTerm:t,filter:a,pageSize:l,initialCommunities:r,initialTotalCount:o}=e,[i,s]=Object(n.useState)(!1),[c,u]=Object(n.useState)(r),[m,d]=Object(n.useState)(o),[p,b]=Object(n.useState)(0),h=Math.max(1,Math.ceil(m/l)),g=Object(n.useCallback)(e=>{return n=null,r=null,o=function*(){s(!0);const{status:n,ordering:r,approvalRequested:o}=a.query,i=yield Ae.a.post("/api/spamTags/queryCommunitiesForSpam",{limit:l,searchTerm:t,offset:e*l,status:n,ordering:r,approvalRequested:o});u(i.communities),d(i.totalCount),b(e),s(!1)},new Promise((e,t)=>{var a=e=>{try{i(o.next(e))}catch(e){t(e)}},l=e=>{try{i(o.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,l);i((o=o.apply(n,r)).next())});var n,r,o},[a.query,l,t]),f=Object(n.useCallback)(()=>{p<h-1&&g(p+1)},[p,h,g]),y=Object(n.useCallback)(()=>{p>0&&g(p-1)},[p,g]);return Object(ka.a)(()=>{g(0)},[g,a]),{communities:c,isLoading:i,page:p,totalPages:h,totalCount:m,goToNextPage:f,goToPrevPage:y}};a(1510);var tC=e=>{const{communities:t,totalCount:a,searchTerm:r}=e,[o,i]=Object(n.useState)(Xw[r?"recent":"unreviewed"]),[s,u]=Object(n.useState)(null!=r?r:""),{communities:m,isLoading:d,page:p,totalPages:b,totalCount:h,goToNextPage:g,goToPrevPage:f}=eC({pageSize:100,searchTerm:s,initialCommunities:t,initialTotalCount:a,filter:o});return Object(ka.a)(()=>{const e=s?"?q="+s:"";window.history.replaceState({},"",window.location.pathname+e)},[s]),l.a.createElement("div",{className:"community-spam-component"},l.a.createElement(mr,{filters:Zw,placeholder:"Search for Communities...",onUpdateSearchTerm:e=>""===e&&u(e),onCommitSearchTerm:u,onChooseFilter:i,filter:o,initialSearchTerm:null!=r?r:void 0,rightControls:d&&l.a.createElement(c.F,{size:20})}),l.a.createElement("div",{className:"communities"},m.map(e=>l.a.createElement(Qw,{community:e,key:e.id}))),b>1&&l.a.createElement("div",{className:"pagination-controls"},l.a.createElement(c.d,null,l.a.createElement(c.c,{icon:"chevron-left",disabled:0===p||d,onClick:f},"Previous"),l.a.createElement(c.c,{disabled:!0,className:"page-indicator"},"Page ",p+1," of ",b," (",h," total)"),l.a.createElement(c.c,{rightIcon:"chevron-right",disabled:p>=b-1||d,onClick:g},"Next"))))},aC=(a(1511),(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())}));var nC=e=>{const[t,a]=Object(n.useState)(e.templates),[r,o]=Object(n.useState)(null),[i,s]=Object(n.useState)(!1),[u,m]=Object(n.useState)(!1),[d,p]=Object(n.useState)(!1),[b,h]=Object(n.useState)(""),[g,f]=Object(n.useState)(""),[y,v]=Object(n.useState)(""),[E,O]=Object(n.useState)(""),[w,C]=Object(n.useState)(""),[N,j]=Object(n.useState)(""),[k,S]=Object(n.useState)(""),[P,D]=Object(n.useState)(""),[I,T]=Object(n.useState)([]),x=Object(n.useMemo)(()=>{if(!b.trim())return t;const e=b.toLowerCase();return t.filter(t=>t.title.toLowerCase().includes(e)||t.slug.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))},[t,b]),A=Object(n.useCallback)(()=>aC(null,null,(function*(){const e=yield Ae.a.get("/api/communityTemplates");a(e)})),[]),M=Object(n.useCallback)(()=>aC(null,null,(function*(){p(!0);try{yield Ae.a.post("/api/communityTemplates",{slug:g,title:y,description:E||null}),s(!1),f(""),v(""),O(""),yield A()}finally{p(!1)}})),[g,y,E,A]),L=Object(n.useCallback)(()=>aC(null,null,(function*(){var e;p(!0);try{const t=yield Ae.a.post("/api/communityTemplates/from-community",{communityUrl:w,slug:N,title:k,description:P||null});m(!1),C(""),j(""),S(""),D(""),yield A(),(null==(e=t._warnings)?void 0:e.length)&&T(t._warnings)}finally{p(!1)}})),[w,N,k,P,A]);return l.a.createElement("div",{className:"community-templates-admin"},l.a.createElement("div",{className:"templates-toolbar"},l.a.createElement(c.r,{className:"filter-input",leftIcon:"search",placeholder:"Filter templates...",value:b,onChange:e=>h(e.target.value)}),l.a.createElement("div",null,l.a.createElement(c.c,{intent:"primary",icon:"add",text:"Create Template",onClick:()=>s(!0),style:{marginRight:8}}),l.a.createElement(c.c,{icon:"duplicate",text:"Clone from Community",onClick:()=>m(!0)}))),I.length>0&&l.a.createElement(c.e,{intent:"warning",icon:"info-sign",style:{marginBottom:16},title:"Template created with notes"},l.a.createElement("ul",{style:{margin:0,paddingLeft:20}},I.map(e=>l.a.createElement("li",{key:e},e))),l.a.createElement(c.c,{small:!0,minimal:!0,text:"Dismiss",style:{marginTop:4},onClick:()=>T([])})),0===x.length?l.a.createElement(c.v,{title:"No templates yet",description:"Create a template to get started, or clone one from an existing community.",icon:"document"}):l.a.createElement("table",{className:"templates-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null),l.a.createElement("th",null,"Title"),l.a.createElement("th",null,"Slug"),l.a.createElement("th",null,"Hub"),l.a.createElement("th",null,"Status"),l.a.createElement("th",null,"Communities"),l.a.createElement("th",null,"Source"))),l.a.createElement("tbody",null,x.map(e=>l.a.createElement("tr",{key:e.id,onClick:()=>o(e.id)},l.a.createElement("td",null,e.avatar?l.a.createElement("img",{className:"template-avatar",src:e.avatar,alt:""}):l.a.createElement("div",{className:"template-avatar-placeholder"},l.a.createElement("span",null,"📄"))),l.a.createElement("td",null,l.a.createElement("strong",null,e.title)),l.a.createElement("td",null,l.a.createElement("code",null,e.slug)),l.a.createElement("td",null,e.hub?l.a.createElement(c.J,{minimal:!0},e.hub.title):l.a.createElement(c.J,{minimal:!0,intent:"none"},"Global")),l.a.createElement("td",null,l.a.createElement(c.J,{intent:e.isActive?"success":"none",minimal:!0},e.isActive?"Active":"Inactive")),l.a.createElement("td",null,e.communityCount),l.a.createElement("td",null,e.sourceCommunity?l.a.createElement(c.J,{minimal:!0,icon:"duplicate"},e.sourceCommunity.title||e.sourceCommunity.subdomain):l.a.createElement(c.J,{minimal:!0},"Manual")))))),l.a.createElement(c.j,{title:"Create Template",isOpen:i,onClose:()=>s(!1)},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement(c.n,{label:"Title",labelFor:"create-title"},l.a.createElement(c.r,{id:"create-title",value:y,onChange:e=>{v(e.target.value),f(Object(mt.f)(e.target.value))}})),l.a.createElement(c.n,{label:"Slug",labelFor:"create-slug"},l.a.createElement(c.r,{id:"create-slug",value:g,onChange:e=>f(Object(mt.f)(e.target.value))})),l.a.createElement(c.n,{label:"Description",labelFor:"create-desc"},l.a.createElement(c.M,{id:"create-desc",fill:!0,value:E,onChange:e=>O(e.target.value)}))),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:()=>s(!1)},"Cancel"),l.a.createElement(c.c,{intent:"primary",onClick:M,loading:d,disabled:!y||!g},"Create")))),l.a.createElement(c.j,{title:"Clone Template from Community",isOpen:u,onClose:()=>m(!1),className:"clone-dialog"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement(c.e,{intent:"primary",icon:"info-sign",style:{marginBottom:16}},"This will extract settings, up to 10 pages, and up to 10 collections from an existing community. Members and pubs are not copied."),l.a.createElement(c.n,{label:"Community URL",labelFor:"clone-community-url"},l.a.createElement(c.r,{id:"clone-community-url",placeholder:"e.g. my-community.pubpub.org",value:w,onChange:e=>C(e.target.value)})),l.a.createElement(c.n,{label:"Template Title",labelFor:"clone-title"},l.a.createElement(c.r,{id:"clone-title",value:k,onChange:e=>{S(e.target.value),j(Object(mt.f)(e.target.value))}})),l.a.createElement(c.n,{label:"Template Slug",labelFor:"clone-slug"},l.a.createElement(c.r,{id:"clone-slug",value:N,onChange:e=>j(Object(mt.f)(e.target.value))})),l.a.createElement(c.n,{label:"Description",labelFor:"clone-desc"},l.a.createElement(c.M,{id:"clone-desc",fill:!0,value:P,onChange:e=>D(e.target.value)}))),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:()=>m(!1)},"Cancel"),l.a.createElement(c.c,{intent:"primary",onClick:L,loading:d,disabled:!w||!k||!N},"Clone")))),r&&l.a.createElement(Pp,{templateId:r,isOpen:!0,onClose:()=>o(null),onSaved:A,onDeleted:A}))},lC=(a(1512),(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())}));const rC="custom-domain-1.pubpub.org";var oC=e=>{const[t,a]=Object(n.useState)(e.communities),[r,o]=Object(n.useState)(""),[i,s]=Object(n.useState)(""),[u,m]=Object(n.useState)(!1),[d,p]=Object(n.useState)(null),[b,h]=Object(n.useState)(null),[g,f]=Object(n.useState)(!1),[y,v]=Object(n.useState)(null),[E,O]=Object(n.useState)(""),w=Object(n.useMemo)(()=>{const e=E.toLowerCase().trim();return e?t.filter(t=>t.domain.toLowerCase().includes(e)||t.title.toLowerCase().includes(e)||t.subdomain.toLowerCase().includes(e)):t},[t,E]),C=`Please point your domain's CNAME record to:\n\n${rC}\n\nThis should be set up with your DNS provider. The CNAME record for your custom domain should point to ${rC}. Once the DNS change propagates (usually within a few minutes to a few hours), your custom domain will be active.`,N=Object(n.useCallback)(()=>{navigator.clipboard.writeText(C),f(!0),setTimeout(()=>f(!1),2e3)},[C]),j=Object(n.useCallback)(()=>lC(null,null,(function*(){if(r.trim()&&i.trim()){m(!0),p(null),h(null);try{const e=yield Ae.a.post("/api/superadmin/custom-domains",{communityId:r.trim(),domain:i.trim()});a(t=>[...t.filter(t=>t.id!==e.id),e].sort((e,t)=>
1e.domain.localeCompare(t.domain))),o(""),s(""),h(`Custom domain "${e.domain}" added for "${e.title}".`)}catch(e){p((null==e?void 0:e.message)||"Failed to add custom domain.")}finally{m(!1)}}else p("Both community ID/subdomain and domain are required.")})),[r,i]),k=Object(n.useCallback)(e=>lC(null,null,(function*(){v(null),m(!0),p(null),h(null);try{yield Ae.a.delete("/api/superadmin/custom-domains",{communityId:e.id}),a(t=>t.filter(t=>t.id!==e.id)),h(`Custom domain "${e.domain}" removed from "${e.title}".`)}catch(e){p((null==e?void 0:e.message)||"Failed to remove custom domain.")}finally{m(!1)}})),[]);return l.a.createElement("div",{className:"custom-domains-component"},l.a.createElement("h2",null,"Custom Domains"),!e.cloudflareConfigured&&l.a.createElement(c.e,{intent:xe.a.WARNING,style:{marginBottom:20}},"Cloudflare custom hostname API is not configured. Set"," ",l.a.createElement("code",null,"CLOUDFLARE_CUSTOM_HOSTNAME_API_TOKEN")," and"," ",l.a.createElement("code",null,"CLOUDFLARE_ZONE_TAG")," environment variables. Domains can still be viewed but add/remove will fail."),l.a.createElement("h4",null,"User Instructions"),l.a.createElement("button",{type:"button",className:"cname-notice",onClick:N},l.a.createElement("p",null,"Please point your domain's CNAME record to: ",l.a.createElement("code",null,rC)),l.a.createElement("p",null,"This should be set up with your DNS provider. The CNAME record for your custom domain should point to ",l.a.createElement("code",null,rC),". Once the DNS change propagates (usually within a few minutes to a few hours), your custom domain will be active."),l.a.createElement("span",{className:"copy-hint"},g?"✓ Copied to clipboard":"Click to copy")),d&&l.a.createElement(c.e,{intent:xe.a.DANGER,style:{marginBottom:15}},d),b&&l.a.createElement(c.e,{intent:xe.a.SUCCESS,style:{marginBottom:15}},b),l.a.createElement("h4",null,"Add Domain"),l.a.createElement("div",{className:"add-domain-form"},l.a.createElement(c.n,{label:"Community ID or Subdomain",style:{flex:1}},l.a.createElement(c.r,{placeholder:"e.g. abc123-uuid or my-community",value:r,onChange:e=>o(e.target.value),disabled:u})),l.a.createElement(c.n,{label:"Custom Domain",style:{flex:1}},l.a.createElement(c.r,{placeholder:"e.g. journal.example.com",value:i,onChange:e=>s(e.target.value),disabled:u})),l.a.createElement(c.c,{intent:xe.a.PRIMARY,text:"Add Domain",onClick:j,loading:u,style:{marginBottom:1}})),l.a.createElement("h4",null,"Manage Domains"),0===t.length?l.a.createElement(c.v,{icon:"globe-network",title:"No Custom Domains",description:"No communities currently have a custom domain configured."}):l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"filter-bar"},l.a.createElement(c.r,{leftIcon:"search",placeholder:"Filter by domain, title, or subdomain…",value:E,onChange:e=>O(e.target.value)}),l.a.createElement("span",{className:"domain-count"},E&&w.length!==t.length?`Showing ${w.length} of ${t.length}`:"Total: "+t.length," ","custom domain",1!==t.length?"s":"")),l.a.createElement("table",{className:"domains-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Domain"),l.a.createElement("th",null,"Community"),l.a.createElement("th",null,"Subdomain"),l.a.createElement("th",null))),l.a.createElement("tbody",null,w.map(e=>l.a.createElement("tr",{key:e.id},l.a.createElement("td",null,l.a.createElement("a",{href:"https://"+e.domain,target:"_blank",rel:"noopener noreferrer",className:"community-link"},e.domain)),l.a.createElement("td",null,e.title),l.a.createElement("td",null,l.a.createElement("code",null,e.subdomain)),l.a.createElement("td",null,l.a.createElement(c.c,{small:!0,minimal:!0,intent:xe.a.DANGER,icon:"trash",onClick:()=>v(e),disabled:u}))))))),l.a.createElement(c.j,{isOpen:!!y,onClose:()=>v(null),title:"Remove Custom Domain",icon:"warning-sign"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("p",null,"Remove custom domain ",l.a.createElement("strong",null,null==y?void 0:y.domain)," from"," ",l.a.createElement("strong",null,null==y?void 0:y.title),"?"),l.a.createElement("p",null,"This will also remove it from Cloudflare.")),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:()=>v(null)},"Cancel"),l.a.createElement(c.c,{intent:xe.a.DANGER,onClick:()=>y&&k(y),loading:u},"Remove")))))},iC=(a(1513),(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())}));const sC=[{label:"Crossref",value:"crossref"},{label:"DataCite",value:"datacite"}],cC=e=>{const[t,a]=Object(n.useState)(""),[l,r]=Object(n.useState)([]),[o,i]=Object(n.useState)(null),s=Object(n.useRef)();Object(n.useEffect)(()=>{if(s.current&&clearTimeout(s.current),t.trim())return s.current=setTimeout(()=>iC(null,null,(function*(){try{const a=new URLSearchParams({q:t});e&&a.set("excludeWithDepositTarget","true");const n=yield Ae.a.get("/api/superadmin/communities/search?"+a);r(n)}catch(e){r([])}})),250),()=>{s.current&&clearTimeout(s.current)};r([])},[t,e]);const c=Object(n.useCallback)(()=>{a(""),r([]),i(null)},[]);return{query:t,setQuery:a,results:l,selected:o,setSelected:i,reset:c}};var uC=e=>{var t;const[a,r]=Object(n.useState)(e.depositTargets),[o,i]=Object(n.useState)(""),[s,u]=Object(n.useState)(!1),[m,d]=Object(n.useState)(null),[p,b]=Object(n.useState)(null),h=cC(!0),[g,f]=Object(n.useState)(""),[y,v]=Object(n.useState)("crossref"),[E,O]=Object(n.useState)(""),[w,C]=Object(n.useState)(""),[N,j]=Object(n.useState)(null),[k,S]=Object(n.useState)(""),[P,D]=Object(n.useState)("crossref"),[I,T]=Object(n.useState)(void 0),[x,A]=Object(n.useState)(void 0),[M,L]=Object(n.useState)(null),R=cC(!0),[F,U]=Object(n.useState)(!0),[B,z]=Object(n.useState)(null),$=Object(n.useMemo)(()=>{const e=o.toLowerCase().trim();return e?a.filter(t=>{var a,n;return(null!=(a=t.doiPrefix)?a:"").toLowerCase().includes(e)||(null!=(n=t.service)?n:"").toLowerCase().includes(e)||t.communityTitle.toLowerCase().includes(e)||t.communitySubdomain.toLowerCase().includes(e)}):a},[a,o]),_=Object(n.useCallback)(()=>iC(null,null,(function*(){if(h.selected&&g.trim()){u(!0),d(null),b(null);try{const e=yield Ae.a.post("/api/superadmin/deposit-targets",{communityId:h.selected.id,doiPrefix:g.trim(),service:y,username:E.trim()||void 0,password:w||void 0});r(t=>[e,...t]),h.reset(),f(""),v("crossref"),O(""),C(""),b(`Deposit target created for "${e.communityTitle}" (${e.doiPrefix}).`)}catch(e){d((null==e?void 0:e.message)||"Failed to create deposit target.")}finally{u(!1)}}else d("Community and DOI prefix are required.")})),[h,g,y,E,w]),H=Object(n.useCallback)(e=>{var t,a;j(e),S(null!=(t=e.doiPrefix)?t:""),D(null!=(a=e.service)?a:"crossref"),T(void 0),A(void 0)},[]),V=Object(n.useCallback)(()=>iC(null,null,(function*(){if(N){u(!0),d(null),b(null);try{const e={doiPrefix:k.trim(),service:P};void 0!==I&&(e.username=I.trim()),void 0!==x&&(e.password=x);const t=yield Ae.a.put("/api/superadmin/deposit-targets/"+N.id,e);r(e=>e.map(e=>e.id===N.id?t:e)),j(null),b(`Deposit target for "${t.communityTitle}" updated.`)}catch(e){d((null==e?void 0:e.message)||"Failed to update deposit target.")}finally{u(!1)}}})),[N,k,P,I,x]),q=Object(n.useCallback)(e=>iC(null,null,(function*(){z(null),u(!0),d(null),b(null);try{const t=yield Ae.a.delete("/api/superadmin/deposit-targets/"+e.id);r(a=>
1a.map(a=>a.id===e.id?t:a)),b(`Credentials cleared for "${e.communityTitle}" (${e.doiPrefix}).`)}catch(e){d((null==e?void 0:e.message)||"Failed to clear credentials.")}finally{u(!1)}})),[]),W=Object(n.useCallback)(()=>iC(null,null,(function*(){if(M&&R.selected){u(!0),d(null),b(null);try{const e=yield Ae.a.post(`/api/superadmin/deposit-targets/${M.id}/copy`,{communityId:R.selected.id,copyCredentials:F});r(t=>[e,...t]),L(null),R.reset(),U(!0),b(`Deposit target copied to "${e.communityTitle}" (${e.doiPrefix}).`)}catch(e){d((null==e?void 0:e.message)||"Failed to copy deposit target.")}finally{u(!1)}}else d("Destination community is required.")})),[M,R,F]);return l.a.createElement("div",{className:"deposit-targets-component"},l.a.createElement("h2",null,"Deposit Targets"),m&&l.a.createElement(c.e,{intent:xe.a.DANGER,style:{marginBottom:15}},m),p&&l.a.createElement(c.e,{intent:xe.a.SUCCESS,style:{marginBottom:15}},p),l.a.createElement("h4",null,"Create Deposit Target"),l.a.createElement("div",{className:"add-target-form"},l.a.createElement(c.n,{label:"Community",style:{flex:1}},l.a.createElement(pn.a,{items:h.results,query:h.query,onQueryChange:h.setQuery,selectedItem:h.selected,onItemSelect:e=>{h.setSelected(e),h.setQuery(e.title)},inputValueRenderer:e=>e.title,itemRenderer:(e,{handleClick:t,modifiers:a})=>l.a.createElement(c.u,{key:e.id,text:e.title,label:e.subdomain,active:a.active,onClick:t}),noResults:h.query.trim()?l.a.createElement(c.u,{disabled:!0,text:"No communities found"}):void 0,resetOnSelect:!1,inputProps:{placeholder:"Search communities…",disabled:s},popoverProps:{minimal:!0,position:dn.a.BOTTOM_LEFT}})),l.a.createElement(c.n,{label:"DOI Prefix",style:{flex:.5}},l.a.createElement(c.r,{placeholder:"e.g. 10.1234",value:g,onChange:e=>f(e.target.value),disabled:s})),l.a.createElement(c.n,{label:"Service"},l.a.createElement(c.o,{value:y,onChange:e=>v(e.target.value),options:sC,disabled:s})),l.a.createElement(c.n,{label:"Username",style:{flex:.5}},l.a.createElement(c.r,{placeholder:"Optional",value:E,onChange:e=>O(e.target.value),disabled:s})),l.a.createElement(c.n,{label:"Password",style:{flex:.5}},l.a.createElement(c.r,{type:"password",placeholder:"Optional",value:w,onChange:e=>C(e.target.value),disabled:s})),l.a.createElement(c.c,{intent:xe.a.PRIMARY,text:"Create",onClick:_,loading:s,style:{marginBottom:1}})),l.a.createElement("h4",null,"Manage Deposit Targets"),0===a.length?l.a.createElement(c.v,{icon:"key",title:"No Deposit Targets",description:"No deposit targets have been configured yet."}):l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"filter-bar"},l.a.createElement(c.r,{leftIcon:"search",placeholder:"Filter by prefix, service, community…",value:o,onChange:e=>i(e.target.value)}),l.a.createElement("span",{className:"target-count"},o&&$.length!==a.length?`Showing ${$.length} of ${a.length}`:"Total: "+a.length," ","target",1!==a.length?"s":"")),l.a.createElement("table",{className:"targets-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"DOI Prefix"),l.a.createElement("th",null,"Service"),l.a.createElement("th",null,"Community"),l.a.createElement("th",null,"Subdomain"),l.a.createElement("th",null,"Credentials"),l.a.createElement("th",null))),l.a.createElement("tbody",null,$.map(e=>{var t;return l.a.createElement("tr",{key:e.id},l.a.createElement("td",null,l.a.createElement("code",null,e.doiPrefix)),l.a.createElement("td",null,l.a.createElement(c.J,{minimal:!0,intent:"datacite"===e.service?xe.a.SUCCESS:xe.a.PRIMARY},null!=(t=e.service)?t:"crossref")),l.a.createElement("td",null,e.communityTitle),l.a.createElement("td",null,l.a.createElement("code",null,e.communitySubdomain)),l.a.createElement("td",null,l.a.createElement("span",{className:"credential-badge "+(e.hasCredentials?"has-credentials":"no-credentials")},e.hasCredentials?"🔒 Set":"None")),l.a.createElement("td",{style:{textAlign:"right",whiteSpace:"nowrap"}},l.a.createElement(c.c,{small:!0,minimal:!0,icon:"edit",onClick:()=>H(e),disabled:s}),l.a.createElement(c.c,{small:!0,minimal:!0,icon:"duplicate",onClick:()=>L(e),disabled:s}),e.hasCredentials&&l.a.createElement(c.c,{small:!0,minimal:!0,intent:xe.a.WARNING,icon:"lock",title:"Clear credentials",onClick:()=>z(e),disabled:s})))})))),l.a.createElement(c.j,{isOpen:!!N,onClose:()=>j(null),title:"Edit Deposit Target"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("p",null,"Community: ",l.a.createElement("strong",null,null==N?void 0:N.communityTitle)," (",l.a.createElement("code",null,null==N?void 0:N.communitySubdomain),")"),l.a.createElement(c.n,{label:"DOI Prefix",className:"dialog-field"},l.a.createElement(c.r,{value:k,onChange:e=>S(e.target.value)})),l.a.createElement(c.n,{label:"Service",className:"dialog-field"},l.a.createElement(c.o,{value:P,onChange:e=>D(e.target.value),options:sC})),l.a.createElement(c.n,{label:"Username",helperText:(null==N?void 0:N.hasCredentials)?"Leave blank to keep existing. Set to empty to clear credentials.":"Leave blank if no credentials needed.",className:"dialog-field"},l.a.createElement(c.r,{placeholder:(null==N?void 0:N.hasCredentials)?"(unchanged)":"Optional",value:null!=I?I:"",onChange:e=>T(e.target.value)})),l.a.createElement(c.n,{label:"Password",helperText:(null==N?void 0:N.hasCredentials)?"Leave blank to keep existing password.":void 0,className:"dialog-field"},l.a.createElement(c.r,{type:"password",placeholder:(null==N?void 0:N.hasCredentials)?"(unchanged)":"Optional",value:null!=x?x:"",onChange:e=>A(e.target.value)}))),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:()=>j(null)},"Cancel"),l.a.createElement(c.c,{intent:xe.a.PRIMARY,onClick:V,loading:s},"Save")))),l.a.createElement(c.j,{isOpen:!!M,onClose:()=>{L(null),R.reset()},title:"Copy Deposit Target"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("div",{className:"copy-source-info"},l.a.createElement("p",null,l.a.createElement("strong",null,"Source:")," ",null==M?void 0:M.communityTitle," (",l.a.createElement("code",null,null==M?void 0:M.communitySubdomain),")"),l.a.createElement("p",null,l.a.createElement("strong",null,"Prefix:")," ",null==M?void 0:M.doiPrefix),l.a.createElement("p",null,l.a.createElement("strong",null,"Service:")," ",null!=(t=null==M?void 0:M.service)?t:"crossref")),l.a.createElement(c.n,{label:"Destination Community",className:"dialog-field"},l.a.createElement(pn.a,{items:R.results,query:R.query,onQueryChange:R.setQuery,selectedItem:R.selected,onItemSelect:e=>{R.setSelected(e),R.setQuery(e.title)},inputValueRenderer:e=>e.title,itemRenderer:(e,{handleClick:t,modifiers:a})=>l.a.createElement(c.u,{key:e.id,text:e.title,label:e.subdomain,active:a.active,onClick:t}),noResults:R.query.trim()?l.a.createElement(c.u,{disabled:!0,text:"No communities found"}):void 0,resetOnSelect:!1,inputProps:{placeholder:"Search communities…"},popoverProps:{minimal:!0,position:dn.a.BOTTOM_LEFT}})),(null==M?void 0:M.hasCredentials)&&l.a.createElement(c.g,{checked:F,onChange:e=>U(e.target.checked),label:"Copy credentials (username & password)"})),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:()=>L(null)},"Cancel"),l.a.createElement(c.c,{intent:xe.a.PRIMARY,onClick:W,loading:s},"Copy")))),l.a.createElement(c.j,{isOpen:!!B,onClose:()=>z(null),title:"Clear Credentials",icon:"warning-sign"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("p",null,"Clear credentials for the deposit target on"," ",l.a.createElement("strong",null,null==B?void 0:B.communityTitle)," (",l.a.createElement("code",null,null==B?void 0:B.doiPrefix),")?"),l.a.createElement("p",null,"The deposit target will remain but the community will no longer be able to mint DOIs until new credentials are set.")),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:()=>z(null)},"Cancel"),l.a.createElement(c.c,{intent:xe.a.WARNING,onClick:()=>B&&q(B),loading:s},"Clear Credentials")))))},mC=(a(1514),Object.defineProperty),dC=Object.defineProperties,pC=Object.getOwnPropertyDescriptors,bC=Object.getOwnPropertySymbols,hC=Object.prototype.hasOwnProperty,gC=Object.prototype.propertyIsEnumerable,fC=(e,t,a)=>t in e?mC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;const yC=()=>l.a.createElement("tr",{className:"skeleton-row"},l.a.createElement("td",{className:"col-featured"},l.a.createElement("div",{className:"skeleton-block",style:{width:36,height:20}})),l.a.createElement("td",{className:"col-title"},l.a.createElement("div",{className:"community-info"},l.a.createElement("div",{className:"skeleton-block",style:{width:8,height:8,borderRadius:"50%"}}),l.a.createElement("div",{className:"community-text"},l.a.createElement("div",{className:"skeleton-block",style:{width:160,height:14}}),l.a.createElement("div",{className:"skeleton-block",style:{width:120,height:11,marginTop:4}})))),l.a.createElement("td",{className:"col-pubs"},l.a.createElement("div",{className:"skeleton-block",style:{width:28,height:14,marginLeft:"auto"}})),l.a.createElement("td",{className:"col-discussions"},l.a.createElement("div",{className:"skeleton-block",style:{width:28,height:14,marginLeft:"auto"}})),l.a.createElement("td",{className:"col-pageviews"},l.a.createElement("div",{className:"skeleton-block",style:{width:40,height:14,marginLeft:"auto"}})),l.a.createElement("td",{className:"col-activity"},l.a.createElement("div",{className:"skeleton-block",style:{width:32,height:14,marginLeft:"auto"}})),l.a.createElement("td",{className:"col-updated"},l.a.createElement("div",{className:"skeleton-block",style:{width:64,height:14,marginLeft:"auto"}}))),vC=()=>l.a.createElement("div",{className:"explore-communities-admin"},l.a.createElement("div",{className:"admin-stats"},[0,1,2].map(e=>l.a.createElement("div",{className:"stat",key:e},l.a.createElement("div",{className:"skeleton-block",style:{width:48,height:28}}),l.a.createElement("div",{className:"skeleton-block",style:{width:100,height:11,marginTop:6}})))),l.a.createElement("div",{className:"admin-controls"},l.a.createElement("div",{className:"skeleton-block",style:{flex:1,minWidth:200,height:32}}),l.a.createElement("div",{className:"skeleton-block",style:{width:140,height:32}})),l.a.createElement("div",{className:"skeleton-block",style:{width:140,height:12,marginBottom:8}}),l.a.createElement("table",{className:"admin-community-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",{className:"col-featured"},"Featured"),l.a.createElement("th",{className:"col-title"},"Community"),l.a.createElement("th",{className:"col-pubs"},"Pubs"),l.a.createElement("th",{className:"col-discussions"},"Disc."),l.a.createElement("th",{className:"col-pageviews"},"Views (1yr)"),l.a.createElement("th",{className:"col-activity"},"Activity"),l.a.createElement("th",{className:"col-updated"},"Updated"))),l.a.createElement("tbody",null,Array.from({length:12},(e,t)=>l.a.createElement(yC,{key:t}
1))))),EC=({communities:e})=>{const[t,a]=Object(n.useState)(e),[r,o]=Object(n.useState)(""),[i,s]=Object(n.useState)("all"),[u,m]=Object(n.useState)("activityScore"),[d,p]=Object(n.useState)("desc"),[b,h]=Object(n.useState)(new Set),g=Object(n.useMemo)(()=>t.filter(e=>e.isFeatured).length,[t]),f=t.length,y=Object(n.useMemo)(()=>{let e=t;if(r.trim()){const t=r.toLowerCase();e=e.filter(e=>e.title.toLowerCase().includes(t)||e.subdomain.toLowerCase().includes(t)||e.description&&e.description.toLowerCase().includes(t))}return"featured"===i?e=e.filter(e=>e.isFeatured):"not-featured"===i&&(e=e.filter(e=>!e.isFeatured)),[...e].sort((e,t)=>{var a,n;const l="asc"===d?1:-1;return"title"===u?l*e.title.localeCompare(t.title):"pubs"===u?l*(((null==(a=e.scopeSummary)?void 0:a.pubs)||0)-((null==(n=t.scopeSummary)?void 0:n.pubs)||0)):"discussions"===u?l*((e.cleanDiscussions||0)-(t.cleanDiscussions||0)):"yearlyPageviews"===u?l*((e.yearlyPageviews||0)-(t.yearlyPageviews||0)):"updatedAt"===u?l*(new Date(e.updatedAt).getTime()-new Date(t.updatedAt).getTime()):l*(e.activityScore-t.activityScore)})},[t,r,i,u,d]),v=Object(n.useCallback)((e,t)=>{return n=null,l=null,r=function*(){h(t=>new Set(t).add(e));try{(yield fetch("/api/exploreFeatured",{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify({communityId:e,isFeatured:t})})).ok&&a(a=>a.map(a=>a.id===e?((e,t)=>dC(e,pC(t)))(((e,t)=>{for(var a in t||(t={}))hC.call(t,a)&&fC(e,a,t[a]);if(bC)for(var a of bC(t))gC.call(t,a)&&fC(e,a,t[a]);return e})({},a),{isFeatured:t}):a))}finally{h(t=>{const a=new Set(t);return a.delete(e),a})}},new Promise((e,t)=>{var a=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,o);i((r=r.apply(n,l)).next())});var n,l,r},[]),E=e=>e.domain?"https://"+e.domain:`https://${e.subdomain}.pubpub.org`,O=Object(n.useCallback)(e=>{u===e?p(e=>"desc"===e?"asc":"desc"):(m(e),p("title"===e?"asc":"desc"))},[u]),w=e=>u!==e?" ↕":"desc"===d?" ↓":" ↑";return l.a.createElement("div",{className:"explore-communities-admin"},l.a.createElement("div",{className:"admin-stats"},l.a.createElement("div",{className:"stat"},l.a.createElement("span",{className:"stat-number"},f),l.a.createElement("span",{className:"stat-label"},"Non-spam communities")),l.a.createElement("div",{className:"stat"},l.a.createElement("span",{className:"stat-number"},g),l.a.createElement("span",{className:"stat-label"},"Featured on Explore")),l.a.createElement("div",{className:"stat"},l.a.createElement("span",{className:"stat-number"},f-g),l.a.createElement("span",{className:"stat-label"},"Not featured"))),l.a.createElement("div",{className:"admin-controls"},l.a.createElement("input",{type:"text",className:"admin-search",placeholder:"Search communities...",value:r,onChange:e=>o(e.target.value)}),l.a.createElement("div",{className:"admin-filters"},l.a.createElement("select",{value:i,onChange:e=>s(e.target.value)},l.a.createElement("option",{value:"all"},"All (",f,")"),l.a.createElement("option",{value:"featured"},"Featured (",g,")"),l.a.createElement("option",{value:"not-featured"},"Not featured (",f-g,")")))),l.a.createElement("div",{className:"admin-result-count"},"Showing ",y.length," communit",1===y.length?"y":"ies"),l.a.createElement("table",{className:"admin-community-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",{className:"col-featured"},"Featured"),l.a.createElement("th",{className:"col-title sortable",onClick:()=>O("title")},"Community",w("title")),l.a.createElement("th",{className:"col-pubs sortable",onClick:()=>O("pubs")},"Pubs",w("pubs")),l.a.createElement("th",{className:"col-discussions sortable",onClick:()=>O("discussions")},"Disc.",w("discussions")),l.a.createElement("th",{className:"col-pageviews sortable",onClick:()=>O("yearlyPageviews")},"Views (1yr)",w("yearlyPageviews")),l.a.createElement("th",{className:"col-activity sortable",onClick:()=>O("activityScore")},"Activity",w("activityScore")),l.a.createElement("th",{className:"col-updated sortable",onClick:()=>O("updatedAt")},"Updated",w("updatedAt")))),l.a.createElement("tbody",null,y.map(e=>{var t;const a=b.has(e.id);return l.a.createElement("tr",{key:e.id,className:e.isFeatured?"is-featured":""},l.a.createElement("td",{className:"col-featured"},a?l.a.createElement(c.F,{size:16}):l.a.createElement(c.G,{checked:!!e.isFeatured,onChange:()=>
1v(e.id,!e.isFeatured),innerLabel:"off",innerLabelChecked:"on"})),l.a.createElement("td",{className:"col-title"},l.a.createElement("div",{className:"community-info"},l.a.createElement("span",{className:"accent-dot",style:{backgroundColor:e.accentColorDark||"#2c3654"}}),l.a.createElement("div",{className:"community-text"},l.a.createElement("a",{className:"community-name",href:E(e),target:"_blank",rel:"noopener noreferrer"},e.title),l.a.createElement("span",{className:"community-subdomain"},e.subdomain,".pubpub.org")))),l.a.createElement("td",{className:"col-pubs"},(null==(t=e.scopeSummary)?void 0:t.pubs)||0),l.a.createElement("td",{className:"col-discussions"},e.cleanDiscussions||0),l.a.createElement("td",{className:"col-pageviews"},(n=e.yearlyPageviews||0)>=1e6?(n/1e6).toFixed(1)+"M":n>=1e3?(n/1e3).toFixed(1)+"K":String(n)),l.a.createElement("td",{className:"col-activity"},e.activityScore),l.a.createElement("td",{className:"col-updated"},new Date(e.updatedAt).toLocaleDateString()));var n}))))};var OC=e=>e.communities?l.a.createElement(EC,{communities:e.communities}):l.a.createElement(vC,null),wC=(a(1515),(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())}));const CC=[{label:"SFTP",value:"sftp"}],NC=()=>{const[e,t]=Object(n.useState)(""),[a,l]=Object(n.useState)([]),[r,o]=Object(n.useState)(null),i=Object(n.useRef)();Object(n.useEffect)(()=>{if(i.current&&clearTimeout(i.current),e.trim())return i.current=setTimeout(()=>wC(null,null,(function*(){try{const t=yield Ae.a.get("/api/superadmin/communities/search?q="+encodeURIComponent(e));l(t)}catch(e){l([])}})),250),()=>{i.current&&clearTimeout(i.current)};l([])},[e]);const s=Object(n.useCallback)(()=>{t(""),l([]),o(null)},[]);return{query:e,setQuery:t,results:a,selected:r,setSelected:o,reset:s}};var jC=e=>{var t,a;const[r,o]=Object(n.useState)(e.ftpTargets),[i,s]=Object(n.useState)(""),[u,m]=Object(n.useState)(!1),[d,p]=Object(n.useState)(null),[b,h]=Object(n.useState)(null),g=NC(),[f,y]=Object(n.useState)(""),[v,E]=Object(n.useState)("sftp"),[O,w]=Object(n.useState)(""),[C,N]=Object(n.useState)(""),[j,k]=Object(n.useState)(""),[S,P]=Object(n.useState)(""),[D,I]=Object(n.useState)(""),[T,x]=Object(n.useState)(null),[A,M]=Object(n.useState)(""),[L,R]=Object(n.useState)("sftp"),[F,U]=Object(n.useState)(""),[B,z]=Object(n.useState)(""),[$,_]=Object(n.useState)(""),[H,V]=Object(n.useState)(void 0),[q,W]=Object(n.useState)(void 0),[G,Y]=Object(n.useState)(null),K=NC(),[J,Q]=Object(n.useState)(!0),[Z,X]=Object(n.useState)(null),ee=Object(n.useMemo)(()=>{const e=i.toLowerCase().trim();return e?r.filter(t=>{var a,n,l;return(null!=(a=t.name)?a:"").toLowerCase().includes(e)||(null!=(n=t.host)?n:"").toLowerCase().includes(e)||(null!=(l=t.ftpType)?l:"").toLowerCase().includes(e)||t.communityTitle.toLowerCase().includes(e)||t.communitySubdomain.toLowerCase().includes(e)}):r},[r,i]),te=Object(n.useCallback)(()=>wC(null,null,(function*(){var e,t;if(g.selected&&C.trim())if(S.trim()&&D){m(!0),p(null),h(null);try{const e=yield Ae.a.post("/api/superadmin/ftp-targets",{communityId:g.selected.id,name:f.trim()||void 0,ftpType:v,port:O.trim()?parseInt(O.trim(),10):void 0,host:C.trim(),filePath:j.trim()||void 0,username:S.trim()||void 0,password:D||void 0});o(t=>[e,...t]),g.reset(),y(""),E("sftp"),w(""),N(""),k(""),P(""),I(""),h(`FTP target${e.name?` "${e.name}"`:""} created for "${e.communityTitle}" (${e.host}).`)}catch(a){p(null!=(t=null!=(e=null==a?void 0:a.error)?e:null==a?void 0:a.message)?t:"Failed to create FTP target.")}finally{m(!1)}}else p("Username and password are required.");else p("Community and host are required.")})),[g,f,v,O,C,j,S,D]),ae=Object(n.useCallback)(e=>{var t,a,n,l;x(e),M(null!=(t=e.name)?t:""),R(null!=(a=e.ftpType)?a:"sftp"),U(null!=e.port?String(e.port):""),z(null!=(n=e.host)?n:""),_(null!=(l=e.filePath)?l:""),V(void 0),W(void 0)},[]),ne=Object(n.useCallback)(()=>wC(null,null,(function*(){var e,t;if(T)if(T.hasCredentials||(null==H?void 0:H.trim())&&q){m(!0),p(null),h(null);try{const e={name:A.trim(),ftpType:L,host:B.trim(),port:F.trim()?parseInt(F.trim(),10):null,filePath:$.trim()||null};void 0!==H&&(e.username=H.trim()),void 0!==q&&(e.password=q);const t=yield Ae.a.put("/api/superadmin/ftp-targets/"+T.id,e);o(e=>e.map(e=>e.id===T.id?t:e)),x(null),h(`FTP target for "${t.communityTitle}" updated.`)}catch(a){p(null!=(t=null!=(e=null==a?void 0:a.error)?e:null==a?void 0:a.message)?t:"Failed to update FTP target.")}finally{m(!1)}}else p("Username and password are required.")})),[T,A,L,F,B,$,H,q]),le=Object(n.useCallback)(e=>wC(null,null,(function*(){var t,a;X(null),m(!0),p(null),h(null);try{yield Ae.a.delete("/api/superadmin/ftp-targets/"+e.id),o(t=>t.filter(t=>t.id!==e.id)),h(`FTP target deleted for "${e.communityTitle}" (${e.host}).`)}catch(e){p(null!=(a=null!=(t=null==e?void 0:e.error)?t:null==e?void 0:e.message)?a:"Failed to delete FTP target.")}finally{m(!1)}})),[]),re=Object(n.useCallback)(()=>wC(null,null,(function*(){var e,t;if(G&&K.selected){m(!0),p(null),h(null);try{const e=yield Ae.a.post(`/api/superadmin/ftp-targets/${G.id}/copy`,{communityId:K.selected.id,copyCredentials:J});o(t=>[e,...t]),Y(null),K.reset(),Q(!0),h(`FTP target copied to "${e.communityTitle}" (${e.host}).`)}catch(a){p(null!=(t=null!=(e=null==a?void 0:a.error)?e:null==a?void 0:a.message)?t:"Failed to copy FTP target.")}finally{m(!1)}}else p("Destination community is required.")})),[G,K,J]);return l.a.createElement("div",{className:"ftp-targets-component"},l.a.createElement("h2",null,"FTP Targets"),d&&l.a.createElement(c.e,{intent:xe.a.DANGER,style:{marginBottom:15}},d),b&&l.a.createElement(c.e,{intent:xe.a.SUCCESS,style:{marginBottom:15}},b),l.a.createElement("h4",null,"Create FTP Target"),l.a.createElement("div",{className:"add-target-form"},l.a.createElement(c.n,{label:"Community",style:{flex:1}},l.a.createElement(pn.a,{items:g.results,query:g.query,onQueryChange:g.setQuery,selectedItem:g.selected,onItemSelect:e=>{g.setSelected(e),g.setQuery(e.title)},inputValueRenderer:e=>e.title,itemRenderer:(e,{handleClick:t,modifiers:a})=>l.a.createElement(c.u,{key:e.id,text:e.title,label:e.subdomain,active:a.active,onClick:t}),noResults:g.query.trim()?l.a.createElement(c.u,{disabled:!0,text:"No communities found"}):void 0,resetOnSelect:!1,inputProps:{placeholder:"Search communities…",disabled:u},popoverProps:{minimal:!0,position:dn.a.BOTTOM_LEFT}})),l.a.createElement(c.n,{label:"Name",style:{flex:.8}},l.a.createElement(c.r,{placeholder:"e.g. CLOCKSS SFTP",value:f,onChange:e=>y(e.target.value),disabled:u})),l.a.createElement(c.n,{label:"Type"}
1,l.a.createElement(c.o,{value:v,onChange:e=>E(e.target.value),options:CC,disabled:u})),l.a.createElement(c.n,{label:"Host",style:{flex:1}},l.a.createElement(c.r,{placeholder:"e.g. sftp.example.com",value:C,onChange:e=>N(e.target.value),disabled:u})),l.a.createElement(c.n,{label:"Port",style:{flex:.3}},l.a.createElement(c.r,{placeholder:"e.g. 22",value:O,onChange:e=>w(e.target.value),disabled:u})),l.a.createElement(c.n,{label:"Username",style:{flex:.5}},l.a.createElement(c.r,{value:S,onChange:e=>P(e.target.value),disabled:u})),l.a.createElement(c.n,{label:"Password",style:{flex:.5}},l.a.createElement(c.r,{type:"password",value:D,onChange:e=>I(e.target.value),disabled:u})),l.a.createElement(c.n,{label:"File Path",style:{flex:.7}},l.a.createElement(c.r,{placeholder:"Optional (/uploads)",value:j,onChange:e=>k(e.target.value),disabled:u})),l.a.createElement(c.c,{intent:xe.a.PRIMARY,text:"Create",onClick:te,loading:u,style:{marginBottom:1}})),l.a.createElement("h4",null,"Manage FTP Targets"),0===r.length?l.a.createElement(c.v,{icon:"folder-shared",title:"No FTP Targets",description:"No FTP targets have been configured yet."}):l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"filter-bar"},l.a.createElement(c.r,{leftIcon:"search",placeholder:"Filter by host, type, community…",value:i,onChange:e=>s(e.target.value)}),l.a.createElement("span",{className:"target-count"},i&&ee.length!==r.length?`Showing ${ee.length} of ${r.length}`:"Total: "+r.length," ","target",1!==r.length?"s":"")),l.a.createElement("table",{className:"targets-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Name"),l.a.createElement("th",null,"Community"),l.a.createElement("th",null,"Subdomain"),l.a.createElement("th",null,"Type"),l.a.createElement("th",null,"Host"),l.a.createElement("th",null,"Port"),l.a.createElement("th",null,"Credentials"),l.a.createElement("th",null,"File Path"),l.a.createElement("th",null))),l.a.createElement("tbody",null,ee.map(e=>{var t,a,n,r;return l.a.createElement("tr",{key:e.id},l.a.createElement("td",null,e.name||l.a.createElement("span",{style:{color:"#888"}},"—")),l.a.createElement("td",null,e.communityTitle),l.a.createElement("td",null,l.a.createElement("code",null,e.communitySubdomain)),l.a.createElement("td",null,l.a.createElement(c.J,{minimal:!0,intent:"ftps"===e.ftpType?xe.a.SUCCESS:xe.a.PRIMARY},null!=(t=e.ftpType)?t:"—")),l.a.createElement("td",null,l.a.createElement("code",null,null!=(a=e.host)?a:"—")),l.a.createElement("td",null,null!=(n=e.port)?n:"—"),l.a.createElement("td",null,l.a.createElement("span",{className:"credential-badge "+(e.hasCredentials?"has-credentials":"no-credentials")},e.hasCredentials?"🔒 Set":"None")),l.a.createElement("td",null,l.a.createElement("code",null,null!=(r=e.filePath)?r:"—")),l.a.createElement("td",{style:{textAlign:"right",whiteSpace:"nowrap"}},l.a.createElement(c.c,{small:!0,minimal:!0,icon:"edit",onClick:()=>ae(e),disabled:u}),l.a.createElement(c.c,{small:!0,minimal:!0,icon:"duplicate",onClick:()=>Y(e),disabled:u}),l.a.createElement(c.c,{small:!0,minimal:!0,intent:xe.a.DANGER,icon:"trash",title:"Delete FTP target",onClick:()=>X(e),disabled:u})))})))),l.a.createElement(c.j,{isOpen:!!T,onClose:()=>x(null),title:"Edit FTP Target"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("p",null,"Community: ",l.a.createElement("strong",null,null==T?void 0:T.communityTitle)," (",l.a.createElement("code",null,null==T?void 0:T.communitySubdomain),")"),l.a.createElement(c.n,{label:"Name",className:"dialog-field"},l.a.createElement(c.r,{placeholder:"e.g. CLOCKSS SFTP",value:A,onChange:e=>M(e.target.value)})),l.a.createElement(c.n,{label:"Type",className:"dialog-field"},l.a.createElement(c.o,{value:L,onChange:e=>R(e.target.value),options:CC})),l.a.createElement(c.n,{label:"Host",className:"dialog-field"},l.a.createElement(c.r,{value:B,onChange:e=>z(e.target.value)})),l.a.createElement(c.n,{label:"Port",className:"dialog-field"},l.a.createElement(c.r,{placeholder:"Optional",value:F,onChange:e=>U(e.target.value)})),l.a.createElement(c.n,{label:"Username",helperText:(null==T?void 0:T.hasCredentials)?"Leave blank to keep existing. Set to empty to clear credentials.":"Leave blank if no credentials needed.",className:"dialog-field"},l.a.createElement(c.r,{placeholder:(null==T?void 0:T.hasCredentials)?"(unchanged)":"Optional",value:null!=H?H:"",onChange:e=>V(e.target.value)})),l.a.createElement(c.n,{label:"Password",helperText:(null==T?void 0:T.hasCredentials)?"Leave blank to keep existing password.":void 0,className:"dialog-field"},l.a.createElement(c.r,{type:"password",placeholder:(null==T?void 0:T.hasCredentials)?"(unchanged)":"Optional",value:null!=q?q:"",onChange:e=>W(e.target.value)})),l.a.createElement(c.n,{label:"File Path",className:"dialog-field"},l.a.createElement(c.r,{placeholder:"Optional",value:$,onChange:e=>_(e.target.value)}))),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:()=>x(null)},"Cancel"),l.a.createElement(c.c,{intent:xe.a.PRIMARY,onClick:ne,loading:u},"Save")))),l.a.createElement(c.j,{isOpen:!!G,onClose:()=>{Y(null),K.reset()},title:"Copy FTP Target"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("div",{className:"copy-source-info"},l.a.createElement("p",null,l.a.createElement("strong",null,"Source:")," ",null==G?void 0:G.communityTitle," (",l.a.createElement("code",null,null==G?void 0:G.communitySubdomain),")"),l.a.createElement("p",null,l.a.createElement("strong",null,"Host:")," ",null!=(t=null==G?void 0:G.host)?t:"—"),l.a.createElement("p",null,l.a.createElement("strong",null,"Type:")," ",null!=(a=null==G?void 0:G.ftpType)?a:"—")),l.a.createElement(c.n,{label:"Destination Community",className:"dialog-field"},l.a.createElement(pn.a,{items:K.results,query:K.query,onQueryChange:K.setQuery,selectedItem:K.selected,onItemSelect:e=>{K.setSelected(e),K.setQuery(e.title)},inputValueRenderer:e=>e.title,itemRenderer:(e,{handleClick:t,modifiers:a})=>l.a.createElement(c.u,{key:e.id,text:e.title,label:e.subdomain,active:a.active,onClick:t}),noResults:K.query.trim()?l.a.createElement(c.u,{disabled:!0,text:"No communities found"}):void 0,resetOnSelect:!1,inputProps:{placeholder:"Search communities…"},popoverProps:{minimal:!0,position:dn.a.BOTTOM_LEFT}})),(null==G?void 0:G.hasCredentials)&&l.a.createElement(c.g,{checked:J,onChange:e=>Q(e.target.checked),label:"Copy credentials (username & password)"})),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:()=>Y(null)},"Cancel"),l.a.createElement(c.c,{intent:xe.a.PRIMARY,onClick:re,loading:u},"Copy")))),l.a.createElement(c.j,{isOpen:!!Z,onClose:()=>X(null),title:"Delete FTP Target",icon:"warning-sign"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement("p",null,"Delete the FTP target for ",l.a.createElement("strong",null,null==Z?void 0:Z.communityTitle)," (",l.a.createElement("code",null,null==Z?void 0:Z.host),")?"),l.a.createElement("p",null,"This cannot be undone.")),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:()=>X(null)},"Cancel"),l.a.createElement(c.c,{intent:xe.a.DANGER,onClick:()=>Z&&le(Z),loading:u}
1,"Delete")))))},kC=(a(1516),(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())}));var SC=e=>{const[t,a]=Object(n.useState)(e.hubs),[r,o]=Object(n.useState)(null),[i,s]=Object(n.useState)(!1),[u,m]=Object(n.useState)(!1),[d,p]=Object(n.useState)(""),[b,h]=Object(n.useState)(""),[g,f]=Object(n.useState)(""),[y,v]=Object(n.useState)(""),[E,O]=Object(n.useState)(""),[w,C]=Object(n.useState)(!1),[N,j]=Object(n.useState)(!1),[k,S]=Object(n.useState)(""),[P,D]=Object(n.useState)(""),I=Object(n.useMemo)(()=>{if(!d.trim())return t;const e=d.toLowerCase();return t.filter(t=>t.title.toLowerCase().includes(e)||t.slug.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))},[t,d]),T=Object(n.useCallback)(()=>kC(null,null,(function*(){const e=yield Ae.a.get("/api/hubs");a(e)})),[]),x=Object(n.useCallback)(e=>kC(null,null,(function*(){m(!0);try{const t=yield Ae.a.get("/api/hubs/"+e);O(t.slug),C(t.isActive),j(t.isPrivate),o(t)}finally{m(!1)}})),[]),A=Object(n.useCallback)(()=>kC(null,null,(function*(){m(!0);try{yield Ae.a.post("/api/hubs",{slug:b,title:g,description:y||null}),s(!1),h(""),f(""),v(""),yield T()}finally{m(!1)}})),[b,g,y,T]),M=Object(n.useCallback)(()=>kC(null,null,(function*(){if(r){m(!0);try{yield Ae.a.put("/api/hubs/"+r.id,{slug:E,isActive:w,isPrivate:N}),yield T(),yield x(r.id)}finally{m(!1)}}})),[r,E,w,N,T,x]),L=Object(n.useCallback)(()=>kC(null,null,(function*(){if(r&&window.confirm(`Delete "${r.title}"? This cannot be undone.`)){m(!0);try{yield Ae.a.delete("/api/hubs/"+r.id),o(null),yield T()}finally{m(!1)}}})),[r,T]),R=Object(n.useCallback)(()=>kC(null,null,(function*(){if(!r||!k)return;const e=k.toLowerCase().trim();if(!e)return;const t=[...new Set([...r.domains||[],e])],a=yield Ae.a.put("/api/hubs/"+r.id,{domains:t});o(a),S("")})),[r,k]),F=Object(n.useCallback)(e=>kC(null,null,(function*(){if(!r)return;const t=(r.domains||[]).filter(t=>t!==e),a=yield Ae.a.put("/api/hubs/"+r.id,{domains:t});o(a)})),[r]),U=Object(n.useCallback)(()=>kC(null,null,(function*(){if(!r||!P)return;const e=P.trim();if(!e)return;const t=[...new Set([...r.pubSearchTerms||[],e])],a=yield Ae.a.put("/api/hubs/"+r.id,{pubSearchTerms:t});o(a),D("")})),[r,P]),B=Object(n.useCallback)(e=>kC(null,null,(function*(){if(!r)return;const t=(r.pubSearchTerms||[]).filter(t=>t!==e),a=yield Ae.a.put("/api/hubs/"+r.id,{pubSearchTerms:t});o(a)})),[r]);return l.a.createElement("div",{className:"hubs-admin-component"},l.a.createElement(c.j,{isOpen:i,onClose:()=>s(!1),title:"Create Hub"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement(c.n,{label:"Title",labelInfo:"(required)"},l.a.createElement(c.r,{value:g,onChange:e=>{f(e.target.value),h(Object(mt.f)(e.target.value))},placeholder:"e.g. MIT Libraries"})),l.a.createElement(c.n,{label:"Slug",labelInfo:"(URL path)"},l.a.createElement(c.r,{value:b,onChange:e=>h(Object(mt.f)(e.target.value)),placeholder:"e.g. mit-libraries"}),l.a.createElement("div",{className:"slug-preview"},"pubpub.org/hub/",b||"[slug]")),l.a.createElement(c.n,{label:"Description"},l.a.createElement(c.M,{fill:!0,value:y,onChange:e=>v(e.target.value),placeholder:"Brief description..."}))),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:()=>s(!1),text:"Cancel"}),l.a.createElement(c.c,{intent:"primary",text:"Create",loading:u,disabled:!b||!g,onClick:A})))),l.a.createElement("div",{className:"orgs-page-header"},l.a.createElement("h2",null,"Hubs")),l.a.createElement("div",{className:"orgs-layout"},l.a.createElement("div",{className:"orgs-sidebar"},l.a.createElement("div",{className:"sidebar-toolbar"},l.a.createElement(c.r,{small:!0,leftIcon:"search",placeholder:"Filter hubs...",value:d,onChange:e=>p(e.target.value)}),l.a.createElement(c.c,{small:!0,intent:"primary",icon:"plus",onClick:()=>s(!0)})),l.a.createElement("div",{className:"sidebar-list"},0===I.length&&l.a.createElement("div",{className:"sidebar-empty"},d?"No matches":"No hubs"),I.map(e=>l.a.createElement("div",{key:e.id,className:"org-row"+((null==r?void 0:r.id)===e.id?" selected":""),onClick:()=>x(e.id),role:"button",tabIndex:0},l.a.createElement("div",{className:"org-row-top"},l.a.createElement("span",{className:"org-row-title"},e.title),l.a.createElement("span",{className:"org-row-badges"},l.a.createElement(c.J,{minimal:!0,intent:e.isActive?"success":"danger",className:"org-badge"},e.isActive?"Active":"Inactive"),e.isPrivate&&l.a.createElement(c.J,{minimal:!0,intent:"warning",className:"org-badge"},"Private"))),l.a.createElement("div",{className:"org-row-meta"},e.slug," · ",e.communityCount," ",1===e.communityCount?"community":"communities"))))),l.a.createElement("div",{className:"org-detail"},!r&&l.a.createElement(c.v,{icon:"office",title:"Select an hub",description:"Pick one at left, or create a new one."}),r&&l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"detail-topbar"},l.a.createElement("div",{className:"detail-title-row"},l.a.createElement("h3",{className:"detail-title"},r.title),l.a.createElement("span",{className:"detail-slug"},"/hub/",E)),l.a.createElement("div",{className:"detail-links"},l.a.createElement("a",{href:"/hub/"+E,target:"_blank",rel:"noopener noreferrer"},"Landing Page"),l.a.createElement("span",{className:"detail-link-sep"},"·"),l.a.createElement("a",{href:`/hub/${E}/data`,target:"_blank",rel:"noopener noreferrer"},"Data Dashboard"),l.a.createElement("span",{className:"detail-link-sep"},"·"),l.a.createElement(c.c,{small:!0,minimal:!0,intent:"danger",icon:"trash",text:"Delete",onClick:L}))),l.a.createElement("div",{className:"detail-section"},l.a.createElement("div",{className:"section-label"},"Status"),l.a.createElement("div",{className:"status-row"},l.a.createElement(c.G,{checked:w,label:"Active",onChange:()=>C(!w),alignIndicator:"right",inline:!0}
1),l.a.createElement(c.G,{checked:N,label:"Private",onChange:()=>j(!N),alignIndicator:"right",inline:!0})),l.a.createElement("p",{className:"section-help"},l.a.createElement("strong",null,"Active"),": org page and dashboard visible to managers. ",l.a.createElement("br",null),l.a.createElement("strong",null,"Private"),": hidden from the /hubs directory and landing page. Only superadmins and hub managers can view.")),l.a.createElement("div",{className:"detail-section"},l.a.createElement("div",{className:"section-label"},"Slug"),l.a.createElement(c.r,{small:!0,value:E,onChange:e=>O(Object(mt.f)(e.target.value)),className:"slug-input"}),l.a.createElement("div",{className:"slug-preview"},"pubpub.org/hub/",E||"[slug]")),l.a.createElement("div",{className:"save-section"},l.a.createElement(c.c,{small:!0,intent:"primary",text:"Save Changes",loading:u,onClick:M})),l.a.createElement("div",{className:"detail-section"},l.a.createElement("div",{className:"section-label"},"Email Domains"),l.a.createElement("p",{className:"section-help"},"Email domains used for “Suggested Communities” discovery. Communities with managers or authors matching these TLDs (e.g. ",l.a.createElement("code",null,"mit.edu"),", ",l.a.createElement("code",null,"ox.ac.uk"),") will appear as suggestions in the org dashboard."),l.a.createElement(c.i,{className:"domain-add"},l.a.createElement(c.r,{small:!0,placeholder:"e.g. mit.edu",value:k,onChange:e=>S(e.target.value),onKeyDown:e=>"Enter"===e.key&&R()}),l.a.createElement(c.c,{small:!0,intent:"primary",icon:"plus",onClick:R,disabled:!k})),l.a.createElement("div",{className:"domain-tags"},((null==r?void 0:r.domains)||[]).map(e=>l.a.createElement(c.J,{key:e,minimal:!0,round:!0,onRemove:()=>F(e)},e)),0===((null==r?void 0:r.domains)||[]).length&&l.a.createElement("span",{className:"no-items"},"None yet"))),l.a.createElement("div",{className:"detail-section"},l.a.createElement("div",{className:"section-label"},"Pub Search Terms"),l.a.createElement("p",{className:"section-help"},"Phrases used for “Suggested Pubs” discovery. Pubs matching these terms (via full-text search of title, description, byline, and content) will appear as suggestions in the hub dashboard."),l.a.createElement(c.i,{className:"domain-add"},l.a.createElement(c.r,{small:!0,placeholder:"e.g. Gates Foundation",value:P,onChange:e=>D(e.target.value),onKeyDown:e=>"Enter"===e.key&&U()}),l.a.createElement(c.c,{small:!0,intent:"primary",icon:"plus",onClick:U,disabled:!P})),l.a.createElement("div",{className:"domain-tags"},((null==r?void 0:r.pubSearchTerms)||[]).map(e=>l.a.createElement(c.J,{key:e,minimal:!0,round:!0,onRemove:()=>B(e)},e)),0===((null==r?void 0:r.pubSearchTerms)||[]).length&&l.a.createElement("span",{className:"no-items"},"None yet"))),l.a.createElement("div",{className:"detail-note"},"Branding, managers, communities, and other settings are managed from the"," ",l.a.createElement("a",{href:`/hub/${E}/data`,target:"_blank",rel:"noopener noreferrer"},"Org Dashboard Settings tab"),".")))))};const PC={imageUrl:im,quote:um(sm),highlights:um(sm),backgroundColor:cm};a(1517);var DC=Object.defineProperty,IC=Object.getOwnPropertySymbols,TC=Object.prototype.hasOwnProperty,xC=Object.prototype.propertyIsEnumerable,AC=(e,t,a)=>t in e?DC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,MC=(e,t)=>{for(var a in t||(t={}))TC.call(t,a)&&AC(e,a,t[a]);if(IC)for(var a of IC(t))xC.call(t,a)&&AC(e,a,t[a]);return e};var LC=e=>{const{isOpen:t,onClose:a,feature:r,onSavePayload:o}=e,{community:i}=r,[s,u]=Object(n.useState)(r.payload),[m,d]=Object(n.useState)(!1),p=(null==s?void 0:s.backgroundColor)?"custom":"community",b=Object(n.useCallback)(()=>{return e=null,t=null,n=function*(){d(!0),yield Ae.a.put("api/landingPageFeatures",{landingPageFeature:{id:r.id,payload:s}}),o(s),d(!1),a()},new Promise((a,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?a(e.value):Promise.resolve(e.value).then(r,o);i((n=n.apply(e,t)).next())});var e,t,n},[s,a,o,r.id]),h=Object(n.useCallback)(e=>{u(t=>MC(MC({backgroundColor:null},t),e))},[]),g=Object(n.useCallback)(e=>{h({backgroundColor:"community"===e.target.value?null:"#fff"})}
1,[h]);return l.a.createElement(c.j,{isOpen:t,className:"featured-community-payload-dialog-component"},l.a.createElement("div",{className:Le.a.DIALOG_HEADER},"Update details for ",l.a.createElement("b",null,i.title)),l.a.createElement("div",{className:Le.a.DIALOG_BODY},l.a.createElement(l.a.Fragment,null,l.a.createElement(A.R,{label:"Image"},l.a.createElement(A.P,{helperText:"Recommended: 900x500px",canClear:!0,defaultImage:null==s?void 0:s.imageUrl,onNewImage:e=>h({imageUrl:e})})),l.a.createElement(A.R,{label:"Quote"},l.a.createElement(A.db,{initialContent:null==s?void 0:s.quote,onContent:({content:e})=>h({quote:e})})),l.a.createElement(A.R,{label:"Highlights"},l.a.createElement(A.db,{initialContent:null==s?void 0:s.highlights,onContent:({content:e})=>h({highlights:e})})),l.a.createElement(A.R,{label:"Background color"},l.a.createElement(c.D,{selectedValue:p,onChange:g},l.a.createElement(c.C,{value:"community"},"Use the Community dark accent color as the background"),l.a.createElement(c.C,{value:"custom"},"Use a custom color","custom"===p?":":"")),"custom"===p&&l.a.createElement(A.o,{value:null==s?void 0:s.backgroundColor,onChange:e=>h({backgroundColor:e.hex})})))),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},l.a.createElement(c.c,{onClick:a},"Cancel"),l.a.createElement(c.c,{intent:"primary",onClick:b,loading:m},"Save"))))},RC=Object.defineProperty,FC=Object.defineProperties,UC=Object.getOwnPropertyDescriptors,BC=Object.getOwnPropertySymbols,zC=Object.prototype.hasOwnProperty,$C=Object.prototype.propertyIsEnumerable,_C=(e,t,a)=>t in e?RC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var HC=e=>{const{feature:t,onUpdateFeature:a}=e,{community:r}=t,o=Object(n.useMemo)(()=>!!(e=>{const{payload:t}=e;return t&&mm(t,PC,!0).isValidated?e:null})(t),[t]);return l.a.createElement("div",{className:"landing-page-community-feature"},l.a.createElement("div",{className:"title-group"},l.a.createElement("a",{href:Object(ht.d)(r)},r.title),o?l.a.createElement(c.N,{content:"Displayed on landing page"},l.a.createElement(c.J,{icon:"tick",intent:"success"},"Valid")):l.a.createElement(c.N,{content:l.a.createElement(l.a.Fragment,null,"This item will not be displayed on the landing page until you use the"," ",l.a.createElement(c.q,{icon:"edit"})," button to add the required info.")},l.a.createElement(c.J,{icon:"warning-sign",intent:"warning"},"Missing info"))),l.a.createElement(A.y,{renderLauncherElement:({openDialog:e})=>l.a.createElement(c.c,{icon:"edit",minimal:!0,onClick:e})},({isOpen:e,onClose:n})=>l.a.createElement(LC,{isOpen:e,onClose:n,feature:t,onSavePayload:e=>a(((e,t)=>FC(e,UC(t)))(((e,t)=>{for(var a in t||(t={}))zC.call(t,a)&&_C(e,a,t[a]);if(BC)for(var a of BC(t))$C.call(t,a)&&_C(e,a,t[a]);return e})({},t),{payload:e}))})))},VC=(a(1518),Object.defineProperty),qC=Object.getOwnPropertySymbols,WC=Object.prototype.hasOwnProperty,GC=Object.prototype.propertyIsEnumerable,YC=(e,t,a)=>t in e?VC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,KC=(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())});var JC=e=>{const{initialFeatures:t,renderFeature:a,placeholder:r,kind:o}=e,[i,s]=Object(n.useState)(""),[u,m]=Object(n.useState)(!1),[d,p]=Object(n.useState)(t),b=Object(n.useCallback)(()=>KC(null,null,(function*(){try{const e=yield Ae.a.post("/api/landingPageFeatures",{proposal:i,proposalKind:o,rank:Object(Wr.a)(d,0)});p([e,...d])}catch(e){m(!0)}finally{s("")}})),[i,o,d]),h=Object(n.useCallback)(e=>{p(t=>t.map(t=>t.id===e.id?e:t))},[]),g=Object(n.useCallback)(e=>KC(null,null,(function*(){p(d.filter(t=>t.id!==e));try{yield Ae.a.delete("/api/landingPageFeatures",{landingPageFeature:{id:e}})}catch(e){p(d)}})),[d]),f=Object(n.useCallback)((e,t,a)=>KC(null,null,(function*(){p(e);const n=Object(Wr.a)(e.filter(e=>e.id!==t.id),a);try{yield Ae.a.put("/api/landingPageFeatures",{landingPageFeature:{id:t.id,rank:n}})}catch(e){p(d)}})),[d]),y=Object(n.useCallback)(e=>{m(!1),"Enter"===e.key&&b()},[b]);return l.a.createElement("div",{className:"landing-page-feature-manager-component"},l.a.createElement(c.r,{large:!0,className:"main-input",intent:u?"danger":"none",placeholder:r,onKeyDown:y,value:i,onChange:e=>s(e.target.value),rightElement:l.a.createElement(c.c,{minimal:!0,large:!0,icon:"add",onClick:b})}),l.a.createElement(A.B,{withDragHandles:!0,items:d,onReorderItems:f,droppableType:o,renderItem:(e,t)=>
1l.a.createElement("div",{className:"feature-wrapper"},t&&l.a.createElement("span",((e,t)=>{for(var a in t||(t={}))WC.call(t,a)&&YC(e,a,t[a]);if(qC)for(var a of qC(t))GC.call(t,a)&&YC(e,a,t[a]);return e})({className:"drag-handle"},t),l.a.createElement(A.O,{icon:"drag-handle-vertical"})),l.a.createElement("div",{className:"feature-content"},a({feature:e,onUpdateFeature:h})),l.a.createElement(c.c,{className:"close-button",minimal:!0,icon:"cross",onClick:()=>g(e.id)}))}))};a(1519);var QC=e=>{const{landingPageFeatures:t}=e;return l.a.createElement("div",{className:"landing-page-features-component"},l.a.createElement(A.Ib,{key:0,title:"Pubs"},l.a.createElement(JC,{kind:"pub",placeholder:"Enter a Pub slug or URL",initialFeatures:t.pub,renderFeature:({feature:e})=>{const{pub:t}=e,{community:a}=t;return l.a.createElement("div",{className:"landing-page-pub-feature"},l.a.createElement("div",{className:"title"},l.a.createElement("a",{href:Object(ht.g)(null!=a?a:null,t)},t.title)),l.a.createElement("div",{className:"community"},"in ",l.a.createElement("a",{href:Object(ht.d)(Object(fe.c)(a))},Object(fe.c)(a).title)))}})),l.a.createElement(A.Ib,{key:1,title:"Communities"},l.a.createElement(JC,{kind:"community",placeholder:"Enter a Community subdomain or URL",initialFeatures:t.community,renderFeature:({feature:e,onUpdateFeature:t})=>l.a.createElement(HC,{feature:e,onUpdateFeature:t})})))},ZC=a(1571),XC=a(812);a(1520);const eN=e=>e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString(),tN=e=>new Date(e).toLocaleDateString(void 0,{year:"2-digit",month:"short"}),aN="#2B95D6",nN="#15B371",lN="#D9822B",rN="#7157D9",oN="#F55656",iN="#D9822B";const sN=({label:e,value:t,color:a,spamValue:n,showSpam:r})=>l.a.createElement("div",{className:"scalar-card",style:{borderLeftColor:a}},l.a.createElement("div",{className:"scalar-value"},t),r&&void 0!==n&&l.a.createElement("div",{className:"scalar-spam"},"(Spam: ",eN(n),")"),l.a.createElement("div",{className:"scalar-label"},e)),cN=({title:e,data:t,color:a,showSpam:n})=>{const r=function(e){let t=0,a=0;return e.map(e=>(t+=e.count,a+=e.spam,{month:e.month,count:e.count,spam:e.spam,cumulative:t,cumulativeSpam:a}))}(t);return l.a.createElement("div",{className:"chart-card"},l.a.createElement("h4",null,e),l.a.createElement(nl.a,{width:"100%",height:200},l.a.createElement(ll.a,{data:r},l.a.createElement(rl.a,{strokeDasharray:"3 3"}),l.a.createElement(ol.a,{dataKey:"month",tickFormatter:tN,tick:{fontSize:10}}),l.a.createElement(il.a,{tickFormatter:eN,tick:{fontSize:10}}),l.a.createElement(sl.a,{labelFormatter:tN,formatter:(e,t)=>[eN(e),"cumulativeSpam"===t?"Spam":"Cumulative"]}),l.a.createElement(cl.a,{type:"monotone",dataKey:"cumulative",stroke:a,fill:a,fillOpacity:.15}),n&&l.a.createElement(cl.a,{type:"monotone",dataKey:"cumulativeSpam",stroke:a,fill:"none",strokeDasharray:"4 3",strokeOpacity:.6}))))},uN=({title:e,data:t,color:a,showSpam:n})=>l.a.createElement("div",{className:"chart-card"},l.a.createElement("h4",null,e),l.a.createElement(nl.a,{width:"100%",height:200},l.a.createElement(ZC.a,{data:t},l.a.createElement(rl.a,{strokeDasharray:"3 3"}),l.a.createElement(ol.a,{dataKey:"month",tickFormatter:tN,tick:{fontSize:10}}),l.a.createElement(il.a,{tickFormatter:eN,tick:{fontSize:10}}),l.a.createElement(sl.a,{labelFormatter:tN,formatter:(e,t)=>[eN(e),"spam"===t?"Spam":"Count"]}),l.a.createElement(XC.a,{type:"monotone",dataKey:"count",stroke:a,dot:!1}),n&&l.a.createElement(XC.a,{type:"monotone",dataKey:"spam",stroke:a,dot:!1,strokeDasharray:"4 3",strokeOpacity:.6})))),mN=({activityData:e,pubData:t})=>{const a=new Map;for(const t of e)a.set(t.month,{month:t.month,byActivity:t.count,byPubCreation:0});for(const e of t){const t=a.get(e.month);t?t.byPubCreation=e.count:a.set(e.month,{month:e.month,byActivity:0,byPubCreation:e.count})}const n=[...a.values()].sort((e,t)=>new Date(e.month).getTime()-new Date(t.month).getTime());return l.a.createElement("div",{className:"chart-card chart-card-wide"},l.a.createElement("h4",null,"Active Communities (Monthly)"),l.a.createElement(nl.a,{width:"100%",height:200},l.a.createElement(ZC.a,{data:n},l.a.createElement(rl.a,{strokeDasharray:"3 3"}),l.a.createElement(ol.a,{dataKey:"month",tickFormatter:tN,tick:{fontSize:10}}),l.a.createElement(il.a,{tickFormatter:eN,tick:{fontSize:10}}),l.a.createElement(sl.a,{labelFormatter:tN}),l.a.createElement(ul.a,null),l.a.createElement(XC.a,{type:"monotone",dataKey:"byActivity",name:"By Activity",stroke:oN,dot:!1}),l.a.createElement(XC.a,{type:"monotone",dataKey:"byPubCreation",name:"By Pub Creation",stroke:iN,dot:!1}))))},dN=[{key:"30d",label:"30 days",days:30},{key:"90d",label:"90 days",days:90},{key:"1y",label:"1 year",days:365},{key:"2y",label:"2 years",days:730},{key:"custom",label:"Custom"}];function pN(e){const t=new Date,a=new Date;return a.setDate(t.getDate()-e),{startDate:a.toISOString().slice(0,10),endDate:t.toISOString().slice(0,10)}}const bN=({showSpam:e})=>{const[t,a]=Object(n.useState)("1y"),[r,o]=Object(n.useState)(()=>pN(365).startDate),[i,s]=Object(n.useState)(()=>pN(365).endDate),[u,m]=Object(n.useState)(null),[d,p]=Object(n.useState)(!1),[b,h]=Object(n.useState)(0),g=Object(n.useCallback)((e,t,a)=>{return n=null,l=null,r=function*(){p(!0);try{const n=yield Ae.a.get(`/api/platformAnalytics/period?startDate=${e}&endDate=${t}&page=${a}`);m(n)}finally{p(!1)}},new Promise((e,t)=>
1{var a=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,o);i((r=r.apply(n,l)).next())});var n,l,r},[]);Object(n.useEffect)(()=>{g(r,i,b)},[r,i,b,g]);const f=u?Math.ceil(u.totalNewCommunities/u.pageSize):0;return l.a.createElement("div",{className:"period-explorer"},l.a.createElement("div",{className:"period-controls"},l.a.createElement(c.d,null,dN.map(e=>l.a.createElement(c.c,{key:e.key,active:t===e.key,onClick:()=>(e=>{if(a(e),"custom"!==e){const t=pN(dN.find(t=>t.key===e).days);o(t.startDate),s(t.endDate),h(0)}})(e.key),small:!0},e.label))),"custom"===t&&l.a.createElement("span",{className:"custom-dates"},l.a.createElement("input",{type:"date",value:r,onChange:e=>{o(e.target.value),h(0)}}),l.a.createElement("span",{className:"date-sep"},"–"),l.a.createElement("input",{type:"date",value:i,onChange:e=>{s(e.target.value),h(0)}}))),d&&!u&&l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"scalar-row"},[0,1,2,3].map(e=>l.a.createElement("div",{className:"scalar-card skeleton-stat",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-value"}),l.a.createElement("div",{className:"skeleton-line skeleton-label"})))),[0,1,2,3,4,5].map(e=>l.a.createElement("div",{className:"skeleton-table-row",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-cell"}),l.a.createElement("div",{className:"skeleton-line skeleton-cell"}),l.a.createElement("div",{className:"skeleton-line skeleton-cell-short"}),l.a.createElement("div",{className:"skeleton-line skeleton-cell"})))),u&&l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"scalar-row"},l.a.createElement(sN,{label:"New Communities",value:eN(u.counts.communities),color:aN,spamValue:u.spam.communities,showSpam:e}),l.a.createElement(sN,{label:"New Users",value:eN(u.counts.users),color:nN,spamValue:u.spam.users,showSpam:e}),l.a.createElement(sN,{label:"New Pubs",value:eN(u.counts.pubs),color:lN,spamValue:u.spam.pubs,showSpam:e}),l.a.createElement(sN,{label:"Pageviews",value:eN(u.counts.pageviews),color:rN,spamValue:u.spam.pageviews,showSpam:e})),u.newCommunities.length>0&&l.a.createElement(l.a.Fragment,null,l.a.createElement("h4",{className:"table-title"},"New Communities (",u.totalNewCommunities,")"),l.a.createElement("table",{className:"new-communities-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"Title"),l.a.createElement("th",null,"Subdomain"),l.a.createElement("th",null,"Created"),e&&l.a.createElement("th",null,"Spam"),l.a.createElement("th",null,"Description"))),l.a.createElement("tbody",null,u.newCommunities.map(t=>l.a.createElement("tr",{key:t.subdomain},l.a.createElement("td",null,t.title),l.a.createElement("td",null,l.a.createElement("a",{href:`https://${t.subdomain}.pubpub.org`,target:"_blank",rel:"noopener noreferrer"},t.subdomain)),l.a.createElement("td",null,new Date(t.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})),e&&l.a.createElement("td",null,t.isSpam&&l.a.createElement(c.J,{intent:"danger",minimal:!0},"Spam")),l.a.createElement("td",{className:"desc-cell"},t.description))))),f>1&&l.a.createElement("div",{className:"pagination"},l.a.createElement(c.c,{small:!0,disabled:0===b,onClick:()=>h(b-1)},"Previous"),l.a.createElement("span",{className:"page-info"},"Page ",b+1," of ",f),l.a.createElement(c.c,{small:!0,disabled:b>=f-1,onClick:()=>h(b+1)},"Next"))),0===u.newCommunities.length&&l.a.createElement("p",{className:"no-data"},"No new communities in this period.")))};var hN=()=>{const[e,t]=Object(n.useState)(null),[a,r]=Object(n.useState)(null),[o,i]=Object(n.useState)(!1);if(Object(n.useEffect)(()=>{Ae.a.get("/api/platformAnalytics").then(t).catch(e=>r(e.message))},[]),a)return l.a.createElement(c.v,{icon:"error",title:"Failed to load analytics",description:a});if(!e)return l.a.createElement("div",{className:"platform-analytics"},l.a.createElement("h3",null,"PubPub Platform Analytics"),l.a.createElement("section",{className:"section-label"},"All-Time Totals"),l.a.createElement("div",{className:"scalar-row"},[0,1,2,3].map(e=>l.a.createElement("div",{className:"scalar-card skeleton-stat",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-value"}),l.a.createElement("div",{className:"skeleton-line skeleton-label"})))),l.a.createElement("section",{className:"section-label"},"Cumulative Growth"),l.a.createElement("div",{className:"chart-row"},[0,1,2,3].map(e=>l.a.createElement("div",{className:"chart-card",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-heading"}),l.a.createElement("div",{className:"skeleton-chart"})))),l.a.createElement("section",{className:"section-label"},"Monthly Growth"),l.a.createElement("div",{className:"chart-row"},[0,1,2,3].map(e=>l.a.createElement("div",{className:"chart-card",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-heading"}),l.a.createElement("div",{className:"skeleton-chart"})))),l.a.createElement("section",{className:"section-label"},"Active Communities"),l.a.createElement("div",{className:"chart-row"},l.a.createElement("div",{className:"chart-card chart-card-wide"},l.a.createElement("div",{className:"skeleton-line skeleton-heading"}),l.a.createElement("div",{className:"skeleton-chart"}))),l.a.createElement("section",{className:"section-label"},"Period Explorer"),l.a.createElement("div",{className:"period-explorer"},l.a.createElement("div",{className:"skeleton-line skeleton-button-row"}),l.a.createElement("div",{className:"scalar-row"},[0,1,2,3].map(e=>l.a.createElement("div",{className:"scalar-card skeleton-stat",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-value"}),l.a.createElement("div",{className:"skeleton-line skeleton-label"})))),[0,1,2,3,4,5].map(e=>l.a.createElement("div",{className:"skeleton-table-row",key:e},l.a.createElement("div",{className:"skeleton-line skeleton-cell"}),l.a.createElement("div",{className:"skeleton-line skeleton-cell"}),l.a.createElement("div",{className:"skeleton-line skeleton-cell-short"}),l.a.createElement("div",{className:"skeleton-line skeleton-cell"})))));const{totals:s,spam:u}=e;return l.a.createElement("div",{className:"platform-analytics"},l.a.createElement("div",{className:"analytics-header"},l.a.createElement("h3",null,"PubPub Platform Analytics"),l.a.createElement(c.g,{checked:o,onChange:e=>i(e.target.checked),label:"Show spam"})),l.a.createElement("section",{className:"section-label"},"All-Time Totals"),l.a.createElement("div",{className:"scalar-row"},l.a.createElement(sN,{label:"Communities",value:eN(s.communities),color:aN,spamValue:u.communities,showSpam:o}),l.a.createElement(sN,{label:"Registered Users",value:eN(s.users),color:nN,spamValue:u.users,showSpam:o}),l.a.createElement(sN,{label:"Pubs",value:eN(s.pubs),color:lN,spamValue:u.pubs,showSpam:o}),l.a.createElement(sN,{label:"Pageviews",value:eN(s.pageviews),color:rN,spamValue:u.pageviews,showSpam:o})),l.a.createElement("section",{className:"section-label"},"Cumulative Growth"),l.a.createElement("div",{className:"chart-row"},l.a.createElement(cN,{title:"Communities",data:e.communitiesByMonth,color:aN,showSpam:o}),l.a.createElement(cN,{title:"Users",data:e.usersByMonth,color:nN,showSpam:o}),l.a.createElement(cN,{title:"Pubs",data:e.pubsByMonth,color:lN,showSpam:o}),l.a.createElement(cN,{title:"Pageviews",data:e.pageviewsByMonth,color:rN,showSpam:o})),l.a.createElement("section",{className:"section-label"},"Monthly Growth"),l.a.createElement("div",{className:"chart-row"},l.a.createElement(uN,{title:"Community Growth",data:e.communitiesByMonth,color:aN,showSpam:o}),l.a.createElement(uN,{title:"User Growth",data:e.usersByMonth,color:nN,showSpam:o}),l.a.createElement(uN,{title:"Pub Growth",data:e.pubsByMonth,color:lN,showSpam:o}),l.a.createElement(uN,{title:"Pageviews",data:e.pageviewsByMonth,color:rN,showSpam:o})),l.a.createElement("section",{className:"section-label"},"Active Communities"),l.a.createElement("div",{className:"chart-row"},l.a.createElement(mN,{activityData:e.activeCommunityTrendActivity,pubData:e.activeCommunityTrendPubs})),l.a.createElement("section",{className:"section-label"},"Period Explorer"),l.a.createElement(bN,{showSpam:o}))},gN=Object.defineProperty,fN=Object.defineProperties,yN=Object.getOwnPropertyDescriptors,vN=Object.getOwnPropertySymbols,EN=Object.prototype.hasOwnProperty,ON=Object.prototype.propertyIsEnumerable,wN=(e,t,a)=>t in e?gN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,CN=(e,t)=>{for(var a in t||(t={}))EN.call(t,a)&&wN(e,a,t[a]);if(vN)for(var a of vN(t))ON.call(t,a)&&wN(e,a,t[a]);return e},NN=(e,t)=>fN(e,yN(t));const jN=e=>e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e),kN=(e,t,a)=>`${e} ${1===e?t:a||t+"s"}`,SN=({pub:e,showCommunity:t=!0})=>{const a=`https://${e.communitySubdomain}.pubpub.org/pub/${e.slug}`;return l.a.createElement("div",{className:"cs-pub-card"},l.a.createElement("a",{className:"cs-pub-card-title",href:a,target:"_blank",rel:"noopener noreferrer"},e.title),l.a.createElement("div",{className:"cs-pub-card-meta"},t&&l.a.createElement("span",{className:"cs-pub-card-community"},e.communityTitle),t&&e.byline&&" · ",e.byline&&l.a.createElement("span",{className:"cs-pub-card-byline"},e.byline),e.publishedAt&&l.a.createElement(l.a.Fragment,null,(t||e.byline)&&" · ",l.a.createElement("span",{className:"cs-pub-card-date"},(e=>{if(!e)return null;return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})})(e.publishedAt)))),e.matchContext&&l.a.createElement("div",{className:"cs-pub-card-context",dangerouslySetInnerHTML:{__html:e.matchContext}}))},PN=({communityTitle:e,subdomain:t,pubs:a})=>{const[r,o]=Object(n.useState)(!1);return l.a.createElement("div",{className:"cs-community-group"+(r?" expanded":"")},l.a.createElement("button",{type:"button",className:"cs-community-group-header",onClick:()=>o(e=>!e)},l.a.createElement("span",{className:"cs-community-group-arrow"},r?"▾":"▸"),l.a.createElement("span",{className:"cs-community-group-name"},e),l.a.createElement(c.J,{minimal:!0,round:!0,className:"cs-community-group-count"},a.length),l.a.createElement("a",{href:`https://${t}.pubpub.org`,target:"_blank",rel:"noopener noreferrer",className:"cs-community-group-link",onClick:e=>e.stopPropagation()},"↗")),r&&l.a.createElement("div",{className:"cs-community-group-pubs"},a.map(e=>l.a.createElement(SN,{key:e.id,pub:e,showCommunity:!1}))))},DN=({name:e,pubCount:t,communityCount:a,pubsCache:r,loadingPubs:o,cacheKey:i,onLoadMore:s})=>{const u=r[i],m=o===i,[d,p]=Object(n.useState)("pubs"),[b,h]=Object(n.useState)("relevance"),[g,f]=Object(n.useState)("desc"),y=Object(n.useMemo)(()=>(null==u?void 0:u.pubs)?"relevance"===b?u.pubs:[...u.pubs].sort((e,t)=>
1{const a=e.publishedAt?new Date(e.publishedAt).getTime():0,n=t.publishedAt?new Date(t.publishedAt).getTime():0;return"desc"===g?n-a:a-n}):[],[null==u?void 0:u.pubs,b,g]),v=Object(n.useMemo)(()=>{const e=new Map;for(const t of y){let a=e.get(t.communityId);a||(a={communityTitle:t.communityTitle,subdomain:t.communitySubdomain,pubs:[]},e.set(t.communityId,a)),a.pubs.push(t)}return[...e.values()].sort((e,t)=>t.pubs.length-e.pubs.length)},[y]),E=Object(n.useCallback)(e=>{b===e?f(e=>"desc"===e?"asc":"desc"):(h(e),f("desc"))},[b]),O=e=>b!==e?"":"desc"===g?" ↓":" ↑",w=(null==u?void 0:u.pubs)&&!m&&u.pubs.length<u.total&&l.a.createElement("button",{type:"button",className:"cs-load-more-btn",onClick:s},"Load more (",u.pubs.length," of ",u.total,")");return l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"cs-detail-header"},l.a.createElement("h3",null,e),l.a.createElement("div",{className:"cs-detail-header-meta"},l.a.createElement(c.J,{minimal:!0},kN(t,"pub")),a>0&&l.a.createElement(c.J,{minimal:!0},kN(a,"community","communities")))),l.a.createElement("div",{className:"cs-detail-toolbar"},l.a.createElement(c.I,{id:"cs-detail-tabs",selectedTabId:d,onChange:e=>p(e),className:"cs-detail-tabs"},l.a.createElement(c.H,{id:"pubs",title:"Pubs"}),l.a.createElement(c.H,{id:"communities",title:"Communities"})),l.a.createElement("div",{className:"cs-detail-sort"},l.a.createElement("button",{type:"button",className:"relevance"===b?"active":"",onClick:()=>E("relevance")},"Relevance",O("relevance")),l.a.createElement("button",{type:"button",className:"date"===b?"active":"",onClick:()=>E("date")},"Date",O("date")))),"pubs"===d&&l.a.createElement("div",{className:"cs-pub-list"},y.map(e=>l.a.createElement(SN,{key:e.id,pub:e})),m&&l.a.createElement("div",{className:"cs-detail-loading"},l.a.createElement(c.F,{size:20})),w),"communities"===d&&l.a.createElement("div",{className:"cs-community-list"},v.map(e=>l.a.createElement(PN,{key:e.subdomain,communityTitle:e.communityTitle,subdomain:e.subdomain,pubs:e.pubs})),m&&l.a.createElement("div",{className:"cs-detail-loading"},l.a.createElement(c.F,{size:20})),w,(null==u?void 0:u.pubs)&&u.pubs.length<u.total&&l.a.createElement("div",{className:"cs-community-load-note"},"Showing communities from the first ",u.pubs.length," of"," ",u.total," pubs. Load more pubs to see additional communities.")))},IN=({width:e="100%",height:t=12})=>l.a.createElement("span",{className:"sk-line",style:{width:e,height:t}}),TN=({width:e="100%",height:t=40})=>l.a.createElement("span",{className:"sk-block",style:{width:e,height:t}}),xN=()=>l.a.createElement("div",{className:"cs-sidebar-list"},Array.from({length:14},(e,t)=>l.a.createElement("div",{key:t,className:"cs-sidebar-item sk-sidebar-item"},l.a.createElement(IN,{width:50+t%3*15+"%",height:13}),l.a.createElement("span",{className:"cs-sidebar-counts"},l.a.createElement(TN,{width:28,height:18}))))),AN=()=>l.a.createElement("div",{className:"cs-detail-skeleton"},l.a.createElement("div",{className:"cs-detail-header"},l.a.createElement(IN,{width:200,height:20}),l.a.createElement("div",{style:{display:"flex",gap:6,marginTop:6}},l.a.createElement(TN,{width:80,height:20}),l.a.createElement(TN,{width:100,height:20}))),l.a.createElement("div",{className:"sk-detail-body"},Array.from({length:6},(e,t)=>l.a.createElement("div",{key:t,className:"sk-pub-card"},l.a.createElement(IN,{width:"70%",height:14}),l.a.createElement(IN,{width:"50%",height:11}),l.a.createElement(IN,{width:"90%",height:11})))));var MN=({adhocPhrase:e,onAdhocPhraseChange:t})=>{var a;const[r,o]=Object(n.useState)(null),[i,s]=Object(n.useState)(!0),[u,m]=Object(n.useState)(null),[d,p]=Object(n.useState)(""),[b,h]=Object(n.useState)("pubCount"),[g,f]=Object(n.useState)("desc"),[y,v]=Object(n.useState)("withPubs"),[E,O]=Object(n.useState)(null),w=Object(n.useRef)(null),[C,N]=Object(n.useState)({}),[j,k]=Object(n.useState)(null),[S,P]=Object(n.useState)(e),[D,I]=Object(n.useState)(null),[T,x]=Object(n.useState)(!1);Object(n.useEffect)(()=>{fetch("/api/superadmin/content-search").then(e=>{if(!e.ok)throw new Error("Failed to load");return e.json()}).then(e=>{o(e.terms),s(!1)}).catch(e=>{m((null==e?void 0:e.message)||"Failed to load content search data"),s(!1)})},[]);const A=Object(n.useCallback)((e,t,a=0)=>{return n=null,l=null,r=function*(){k(e);try{const n=yield fetch(t);if(!n.ok)throw new Error("Failed");const l=yield n.json();N(t=>{const n=t[e];return NN(CN({},t),n&&a>
10?{[e]:{pubs:[...n.pubs,...l.pubs],total:l.total}}:{[e]:l})})}finally{k(null)}},new Promise((e,t)=>{var a=e=>{try{i(r.next(e))}catch(e){t(e)}},o=e=>{try{i(r.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,o);i((r=r.apply(n,l)).next())});var n,l,r},[]),M=Object(n.useCallback)(e=>{const t="term:"+e;w.current=t,O(t),C[t]||A(t,`/api/superadmin/content-search/${e}/pubs?limit=50&offset=0`)},[C,A]),L=Object(n.useCallback)(()=>{if(!E)return;const e=C[E];if(!e)return;const t=e.pubs.length;if(E.startsWith("term:")){const e=E.replace("term:","");A(E,`/api/superadmin/content-search/${e}/pubs?limit=50&offset=${t}`,t)}else"adhoc"===E&&A(E,`/api/superadmin/content-search/adhoc/pubs?q=${encodeURIComponent(S)}&limit=50&offset=${t}`,t)},[E,C,A,S]),R=Object(n.useCallback)(()=>{const e=S.trim();if(!e)return;t(e);w.current="adhoc",O("adhoc"),x(!0),fetch(`/api/superadmin/content-search/adhoc/pubs?q=${encodeURIComponent(e)}&limit=50&offset=0`).then(e=>e.json()).then(e=>{I(e),N(t=>NN(CN({},t),{adhoc:e})),x(!1)}).catch(()=>{x(!1)})},[S,t]),F=Object(n.useMemo)(()=>r?r.reduce((e,t)=>e+t.pubCount,0):0,[r]),U=Object(n.useMemo)(()=>r?r.filter(e=>e.pubCount>0).length:0,[r]),B=Object(n.useMemo)(()=>{if(!r)return[];let e=r;if(d.trim()){const t=d.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(t))}return"withPubs"===y&&(e=e.filter(e=>e.pubCount>0)),[...e].sort((e,t)=>{const a="asc"===g?1:-1;return"name"===b?a*e.name.localeCompare(t.name):"communityCount"===b?a*(e.communityCount-t.communityCount):a*(e.pubCount-t.pubCount)})},[r,d,y,b,g]),z=Object(n.useCallback)(e=>{b===e?f(e=>"desc"===e?"asc":"desc"):(h(e),f("name"===e?"asc":"desc"))},[b]),$=e=>b!==e?" ↕":"desc"===g?" ↓":" ↑";Object(n.useEffect)(()=>{if(r&&null===w.current){const e=[...r.filter(e=>e.pubCount>0)].sort((e,t)=>t.pubCount-e.pubCount)[0];e&&M(e.index)}},[r,M]);const _=Object(n.useMemo)(()=>{var e;if(!E||!r)return null;if("adhoc"===E)return null;const t=parseInt(E.replace("term:",""),10);return null!=(e=r.find(e=>e.index===t))?e:null},[E,r]);return u?l.a.createElement("div",{className:"cs-content-search"},l.a.createElement("div",{className:"cs-error-message"},"Error: ",u)):l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"cs-header"},l.a.createElement("div",{className:"cs-stats-bar"},i?l.a.createElement(l.a.Fragment,null,l.a.createElement(TN,{width:120,height:24}),l.a.createElement(TN,{width:100,height:24}),l.a.createElement(TN,{width:130,height:24}
1)):l.a.createElement(l.a.Fragment,null,l.a.createElement(c.J,{large:!0,minimal:!0},kN(null!=(a=null==r?void 0:r.length)?a:0,"term")," tracked"),l.a.createElement(c.J,{large:!0,minimal:!0},U," with matches"),l.a.createElement(c.J,{large:!0,minimal:!0},jN(F)," total pub matches")),l.a.createElement("span",{className:"cs-stats-spacer"}),l.a.createElement("select",{className:"cs-filter-select",value:y,onChange:e=>v(e.target.value)},l.a.createElement("option",{value:"withPubs"},"With matches"),l.a.createElement("option",{value:"all"},"All terms")))),l.a.createElement("div",{className:"cs-layout"},l.a.createElement("div",{className:"cs-sidebar"},l.a.createElement("div",{className:"cs-adhoc-search"},l.a.createElement(c.r,{leftIcon:"search",placeholder:"Search any phrase…",value:S,onChange:e=>P(e.target.value),onKeyDown:e=>"Enter"===e.key&&R(),rightElement:l.a.createElement("button",{type:"button",className:"bp3-button bp3-minimal bp3-intent-primary bp3-icon-arrow-right",onClick:R,disabled:!S.trim()}),small:!0})),l.a.createElement(c.r,{leftIcon:"filter",placeholder:"Filter known terms…",value:d,onChange:e=>p(e.target.value),className:"cs-sidebar-search",small:!0}),l.a.createElement("div",{className:"cs-sidebar-sort"},l.a.createElement("button",{type:"button",className:"pubCount"===b?"active":"",onClick:()=>z("pubCount")},"By pubs","pubCount"===b?$("pubCount"):""),l.a.createElement("button",{type:"button",className:"name"===b?"active":"",onClick:()=>z("name")},"By name","name"===b?$("name"):""),l.a.createElement("button",{type:"button",className:"communityCount"===b?"active":"",onClick:()=>z("communityCount")},"By communities","communityCount"===b?$("communityCount"):"")),i?l.a.createElement(xN,null):l.a.createElement("div",{className:"cs-sidebar-list"},B.map(e=>l.a.createElement("div",{key:e.index,className:`cs-sidebar-item${E==="term:"+e.index?" selected":""}${0===e.pubCount?" no-pubs":""}`,onClick:()=>e.pubCount>0&&M(e.index),role:"button",tabIndex:e.pubCount>0?0:-1,onKeyDown:t=>"Enter"===t.key&&e.pubCount>0&&M(e.index)},l.a.createElement("span",{className:"cs-sidebar-name"},e.name),l.a.createElement("span",{className:"cs-sidebar-counts"},l.a.createElement(c.J,{minimal:!0,round:!0,title:"Pubs"},jN(e.pubCount))))),0===B.length&&l.a.createElement("div",{className:"cs-sidebar-empty"},"No matches"))),l.a.createElement("div",{className:"cs-detail"},i&&l.a.createElement(AN,null),!i&&T&&l.a.createElement("div",{className:"cs-detail-loading"},l.a.createElement(c.F,{size:30})),i||T||"adhoc"!==E||!D?i||T||!_?i||T?null:l.a.createElement(c.v,{icon:"search",title:"Select a term",description:"Choose a term from the list or search any phrase."}):l.a.createElement(DN,{name:_.name,pubCount:_.pubCount,communityCount:_.communityCount,pubsCache:C,loadingPubs:j,cacheKey:"term:"+_.index,onLoadMore:L}):l.a.createElement(DN,{name:`"${S}"`,pubCount:D.total,communityCount:0,pubsCache:C,loadingPubs:j,cacheKey:"adhoc",onLoadMore:L}))))},LN=(a(1521),(e,t,a)=>new Promise((n,l)=>{var r=e=>{try{i(a.next(e))}catch(e){l(e)}},o=e=>{try{i(a.throw(e))}catch(e){l(e)}},i=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);i((a=a.apply(e,t)).next())}));const RN=({width:e="100%",height:t=12})=>l.a.createElement("span",{className:"sk-line",style:{width:e,height:t}}),FN=({width:e="100%",height:t=40})=>l.a.createElement("span",{className:"sk-block",style:{width:e,height:t}}),UN=["a","b","c","d","e","f","g","h","i","j","k","l"],BN=[55,70,85,55,70,85,55,70,85,55,70,85],zN=()=>l.a.createElement("div",{className:"edu-sidebar-list"},UN.map((e,t)=>l.a.createElement("div",{key:e,className:"edu-sidebar-item sk-sidebar-item"},l.a.createElement(RN,{width:18,height:11}),l.a.createElement(RN,{width:BN[t]+"%",height:13}),l.a.createElement("span",{className:"edu-sidebar-counts"},l.a.createElement(FN,{width:28,height:18}),l.a.createElement(FN,{width:24,height:18}))))),$N=()=>l.a.createElement("div",{className:"edu-stats-bar"},l.a.createElement(FN,{width:120,height:24}),l.a.createElement(FN,{width:100,height:24}),l.a.createElement(FN,{width:130,height:24}),l.a.createElement(FN,{width:150,height:24})),_N=()=>l.a.createElement("div",{className:"edu-detail-skeleton"},l.a.createElement("div",{className:"edu-detail-header"},l.a.createElement(RN,{width:180,height:20}),l.a.createElement("div",{className:"edu-detail-header-meta",style:{display:"flex",gap:6,marginTop:6}},l.a.createElement(FN,{width:80,height:20}),l.a.createElement(FN,{width:60,height:20}),l.a.createElement(FN,{width:100,height:20}))),l.a.createElement("div",{style:{display:"flex",gap:16,marginTop:16,marginBottom:16}},["Overview","Communities","People","Collaborators","Activity"].map(e=>l.a.createElement(FN,{key:e,width:70,height:14}))),l.a.createElement("div",{className:"sk-detail-body"},l.a.createElement("div",{style:{display:"flex",gap:10,marginBottom:16}},[1,2,3,4].map(e=>l.a.createElement(FN,{key:e,width:"25%",height:56}))),[1,2,3].map(e=>l.a.createElement("div",{key:e,style:{marginBottom:12}},l.a.createElement(RN,{width:120,height:14}),l.a.createElement("div",{style:{marginTop:6}},[1,2,3].map(e=>l.a.createElement(RN,{key:e,width:70+8*e+"%",height:12}))))))),HN=()=>l.a.createElement("div",{className:"edu-tab-content sk-tab-skeleton"},l.a.createElement("div",{style:{display:"flex",gap:10,marginBottom:14}},[1,2,3,4].map(e=>l.a.createElement(FN,{key:e,width:"25%",height:48}))),l.a.createElement(FN,{width:"100%",height:60}),l.a.createElement("div",{style:{marginTop:12}},["r1","r2","r3","r4","r5","r6"].map(e=>l.a.createElement("div",{key:e,style:{display:"flex",gap:8,marginBottom:6}},l.a.createElement(RN,{width:70,height:11}),l.a.createElement(RN,{width:60,height:11}),l.a.createElement(RN,{width:100,height:11}),l.a.createElement(RN,{width:"40%",height:11}),l.a.createElement(RN,{width:80,height:11}))))),VN=(e,t,a)=>`${e} ${1===e?t:a||t+"s"}`,qN=({group:e})=>l.a.createElement("div",{className:"edu-tab-content"},l.a.createElement("div",{className:"edu-tab-summary"},l.a.createElement(c.J,{minimal:!0,intent:xe.a.PRIMARY},VN(e.communityAdminCount,"admin-led community","admin-led communities")),l.a.createElement(c.J,{minimal:!0,intent:xe.a.SUCCESS},VN(e.communityAuthorCount,"community","communities")," with authors"),l.a.createElement(c.J,{minimal:!0},VN(e.authoredPubCount,"pub")," authored")),e.communities.map(e=>l.a.createElement(WN,{key:e.communityId,comm:e}))),WN=({comm:e})=>{const[t,a]=Object(n.useState)(!1),r=t?e.authors:e.authors.slice(0,5),o=e.authors.length-5;return l.a.createElement("div",{className:"edu-comm-card"},l.a.createElement("div",{className:"edu-comm-card-top"},e.communityAvatar&&l.a.createElement("img",{src:e.communityAvatar,alt:"",className:"edu-comm-avatar"}),l.a.createElement("div",{className:"edu-comm-info"},l.a.createElement("a",{href:`https://${e.communitySubdomain}.pubpub.org`,target:"_blank",rel:"noopener noreferrer",className:"edu-comm-title"},e.communityTitle),l.a.createElement("span",{className:"edu-comm-sub"},e.communitySubdomain,".pubpub.org")),l.a.createElement("div",{className:"edu-comm-nums"},l.a.createElement(c.J,{minimal:!0},VN(e.pubCount,"pub")),l.a.createElement(c.J,{minimal:!0},VN(e.totalMembers,"member")),l.a.createElement("span",{className:"edu-comm-date"},"Est. ",(i=e.communityCreatedAt,new Date(i).toLocaleDateString("en-US",{year:"numeric",month:"short"}))))),e.communityDescription&&l.a.createElement("p",{className:"edu-comm-desc"},e.communityDescription),l.a.createElement("div",{className:"edu-comm-people-row"},e.admins.length>0&&l.a.createElement("div",{className:"edu-comm-people-group"},l.a.createElement("span",{className:"edu-comm-people-label"},"Admins:"),e.admins.map(e=>l.a.createElement("span",{key:e.userId,className:"edu-person-chip"},e.avatar?l.a.createElement("img",{src:e.avatar,alt:"",className:"edu-chip-avatar"}):l.a.createElement("span",{className:"edu-chip-avatar-ph"},e.fullName.charAt(0)),l.a.createElement("span",{className:"edu-chip-name"},e.fullName)))),e.authors.length>0&&l.a.createElement("div",{className:"edu-comm-people-group"},l.a.createElement("span",{className:"edu-comm-people-label"},"Authors:"),r.map(e=>l.a.createElement("span",{key:e.userId,className:"edu-person-chip"},e.avatar?l.a.createElement("img",{src:e.avatar,alt:"",className:"edu-chip-avatar"}):l.a.createElement("span",{className:"edu-chip-avatar-ph"},e.fullName.charAt(0)),l.a.createElement("span",{className:"edu-chip-name"},e.fullName))),o>0&&l.a.createElement("button",{type:"button",className:"edu-show-more-btn",onClick:()=>a(!t)},t?"show less":`+${o} more`))));var i},GN=(e,t)=>{switch(t){case"name":return e.fullName.toLowerCase();case"pubs":return e.authoredPubCount;
1case"discussions":return e.discussionCount;case"reviews":return e.reviewCount;case"adminIn":return e.adminCommunityCount;case"activity":default:return e.authoredPubCount+e.discussionCount+e.reviewCount+e.adminCommunityCount}},YN=({group:e})=>{const[t,a]=Object(n.useState)(null),[r,o]=Object(n.useState)("desc"),i=Object(n.useMemo)(()=>{const a=null!=t?t:"activity",n=t?r:"desc";return[...e.people].sort((e,t)=>{const l=GN(e,a),r=GN(t,a);return"string"==typeof l&&"string"==typeof r?"asc"===n?l.localeCompare(r):r.localeCompare(l):"asc"===n?l-r:r-l})},[e.people,t,r]),s=e=>{t!==e?(a(e),o("name"===e?"asc":"desc")):("name"===e?"asc"===r:"desc"===r)?o("desc"===r?"asc":"desc"):(a(null),o("desc"))},u=e=>t!==e?null:l.a.createElement("span",{className:"edu-sort-arrow"},"asc"===r?"▲":"▼");return l.a.createElement("div",{className:"edu-tab-content"},l.a.createElement("div",{className:"edu-tab-summary"},l.a.createElement(c.J,{minimal:!0,intent:xe.a.PRIMARY},VN(e.adminCount,"admin")),l.a.createElement(c.J,{minimal:!0,intent:xe.a.SUCCESS},VN(e.authorCount,"author")),l.a.createElement(c.J,{minimal:!0,intent:xe.a.WARNING},VN(e.reviewerCount,"reviewer")),l.a.createElement(c.J,{minimal:!0},VN(e.commenterCount,"commenter"))),l.a.createElement("table",{className:"edu-people-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"#"),l.a.createElement("th",{className:"edu-sortable-th"+("name"===t?" edu-sorted":""),onClick:()=>s("name")},"Name ",u("name")),l.a.createElement("th",null,"Roles"),["pubs","discussions","reviews","adminIn"].map(e=>l.a.createElement("th",{key:e,className:"edu-sortable-th"+(t===e?" edu-sorted":""),onClick:()=>s(e)},{pubs:"Pubs",discussions:"Discussions",reviews:"Reviews",adminIn:"Admin In"}[e]," ",u(e))),l.a.createElement("th",null,"ORCID"))),l.a.createElement("tbody",null,i.map((e,t)=>l.a.createElement("tr",{key:e.userId},l.a.createElement("td",{className:"edu-rank-cell"},t+1),l.a.createElement("td",null,l.a.createElement("div",{className:"edu-person-name-cell"},e.avatar?l.a.createElement("img",{src:e.avatar,alt:"",className:"edu-person-avatar"}):l.a.createElement("span",{className:"edu-person-avatar-ph"},e.fullName.charAt(0)),e.fullName)),l.a.createElement("td",null,l.a.createElement("div",{className:"edu-roles-cell"},e.roles.map(e=>l.a.createElement(c.J,{key:e,minimal:!0,round:!0,intent:"admin"===e?xe.a.PRIMARY:"author"===e?xe.a.SUCCESS:"reviewer"===e?xe.a.WARNING:xe.a.NONE},e)))),l.a.createElement("td",null,e.authoredPubCount||l.a.createElement("span",{className:"edu-dim"},"—")),l.a.createElement("td",null,e.discussionCount||l.a.createElement("span",{className:"edu-dim"},"—")),l.a.createElement("td",null,e.reviewCount||l.a.createElement("span",{className:"edu-dim"},"—")),l.a.createElement("td",null,e.adminCommunityCount||l.a.createElement("span",{className:"edu-dim"},"—")),l.a.createElement("td",null,e.orcid?l.a.createElement("a",{href:"https://orcid.org/"+e.orcid,target:"_blank",rel:"noopener noreferrer"},e.orcid):l.a.createElement("span",{className:"edu-dim"},"—")))))))},KN=({group:e})=>{const t=e.people.filter(e=>e.authoredPubCount>0).slice(0,5),a=e.people.filter(e=>e.roles.includes("admin")).slice(0,5),n=[...e.communities].sort((e,t)=>t.pubCount-e.pubCount).slice(0,5);return l.a.createElement("div",{className:"edu-tab-content edu-overview"},l.a.createElement("div",{className:"edu-overview-grid"},l.a.createElement("div",{className:"edu-overview-stat-card"},l.a.createElement("span",{className:"edu-overview-stat-num"},e.totalPeopleCount),l.a.createElement("span",{className:"edu-overview-stat-label"},"People on PubPub")),l.a.createElement("div",{className:"edu-overview-stat-card"},l.a.createElement("span",{className:"edu-overview-stat-num"},e.authoredPubCount),l.a.createElement("span",{className:"edu-overview-stat-label"},"Publications Authored")),l.a.createElement("div",{className:"edu-overview-stat-card"},l.a.createElement("span",{className:"edu-overview-stat-num"},e.communities.length),l.a.createElement("span",{className:"edu-overview-stat-label"},"Communities Involved")),l.a.createElement("div",{className:"edu-overview-stat-card"},l.a.createElement("span",{className:"edu-overview-stat-num"},e.communityAdminCount),l.a.createElement("span",{className:"edu-overview-stat-label"},"Communities Administered"))),t.length>0&&l.a.createElement("div",{className:"edu-overview-section"},l.a.createElement("h4",null,"Top Authors"),l.a.createElement("div",{className:"edu-overview-list"},t.map((e,t)=>l.a.createElement("div",{key:e.userId,className:"edu-overview-row"},l.a.createElement("span",{className:"edu-overview-rank"},t+1),e.avatar?l.a.createElement("img",{src:e.avatar,alt:"",className:"edu-person-avatar"}):l.a.createElement("span",{className:"edu-person-avatar-ph"},e.fullName.charAt(0)),l.a.createElement("span",{className:"edu-overview-name"},e.fullName),l.a.createElement("span",{className:"edu-overview-value"},VN(e.authoredPubCount,"pub")))))),a.length>0&&l.a.createElement("div",{className:"edu-overview-section"},l.a.createElement("h4",null,"Key Contacts (Admins)"),l.a.createElement("div",{className:"edu-overview-list"},a.map((e,t)=>l.a.createElement("div",{key:e.userId,className:"edu-overview-row"},l.a.createElement("span",{className:"edu-overview-rank"},t+1),e.avatar?l.a.createElement("img",{src:e.avatar,alt:"",className:"edu-person-avatar"}):l.a.createElement("span",{className:"edu-person-avatar-ph"},e.fullName.charAt(0)),l.a.createElement("span",{className:"edu-overview-name"},e.fullName),l.a.createElement("span",{className:"edu-overview-role"},"Admin"))))),n.length>0&&l.a.createElement("div",{className:"edu-overview-section"},l.a.createElement("h4",null,"Biggest Communities"),l.a.createElement("div",{className:"edu-overview-list"},n.map((e,t)=>l.a.createElement("div",{key:e.communityId,className:"edu-overview-row"},l.a.createElement("span",{className:"edu-overview-rank"},t+1),e.communityAvatar&&l.a.createElement("img",{src:e.communityAvatar,alt:"",className:"edu-comm-avatar-sm"}),l.a.createElement("a",{href:`https://${e.communitySubdomain}.pubpub.org`,target:"_blank",rel:"noopener noreferrer",className:"edu-overview-name"},e.communityTitle),l.a.createElement("span",{className:"edu-overview-value"},VN(e.pubCount,"pub")))))))},JN=({domain:e})=>{const[t,a]=Object(n.useState)(null),[r,o]=Object(n.useState)(!1),i=Object(n.useRef)({});if(Object(n.useEffect)(()=>
1{if(i.current[e])return void a(i.current[e]);let t=!1;return o(!0),fetch(`/api/superadmin/suggested-hubs/${encodeURIComponent(e)}/content-mentions`).then(e=>e.ok?e.json():[]).then(n=>{t||(i.current[e]=n,a(n),o(!1))}),()=>{t=!0}},[e]),r||null===t)return l.a.createElement("div",{className:"edu-tab-content"},l.a.createElement("div",{style:{display:"flex",justifyContent:"center",padding:40}},l.a.createElement(c.F,{size:24})));if(0===t.length)return l.a.createElement("div",{className:"edu-tab-content"},l.a.createElement(c.v,{icon:"search",title:"No content matches",description:`No known search terms found in pubs authored by people at ${e}.`}));const s=t.reduce((e,t)=>e+t.pubCount,0);return l.a.createElement("div",{className:"edu-tab-content"},l.a.createElement("div",{className:"edu-tab-summary"},l.a.createElement(c.J,{minimal:!0,intent:xe.a.PRIMARY},VN(t.length,"term")," mentioned"),l.a.createElement(c.J,{minimal:!0,intent:xe.a.SUCCESS},VN(s,"pub")," with mentions")),l.a.createElement("table",{className:"edu-people-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"#"),l.a.createElement("th",null,"Term"),l.a.createElement("th",null,"Pubs"))),l.a.createElement("tbody",null,t.map((e,t)=>l.a.createElement("tr",{key:e.index},l.a.createElement("td",{className:"edu-rank-cell"},t+1),l.a.createElement("td",null,l.a.createElement("strong",null,e.name)),l.a.createElement("td",null,e.pubCount))))))},QN=({domain:e})=>{const[t,a]=Object(n.useState)(null),[r,o]=Object(n.useState)(!1),i=Object(n.useRef)({});if(Object(n.useEffect)(()=>{const t=e;if(i.current[t])return void a(i.current[t]);let n=!1;return o(!0),fetch(`/api/superadmin/suggested-hubs/${encodeURIComponent(e)}/collaborators`).then(e=>e.ok?e.json():[]).then(e=>{n||(i.current[t]=e,a(e),o(!1))}),()=>{n=!0}},[e]),r||null===t)return l.a.createElement(HN,null);if(0===t.length)return l.a.createElement("div",{className:"edu-tab-content"},l.a.createElement(c.v,{icon:"exchange",title:"No cross-institution collaborators",description:`No co-authored pubs found linking ${e} to other academic institutions.`}));const s=t.reduce((e,t)=>e+t.sharedPubCount,0),u=t.reduce((e,t)=>e+t.collaboratorCount,0);return l.a.createElement("div",{className:"edu-tab-content"},l.a.createElement("div",{className:"edu-tab-summary"},l.a.createElement(c.J,{minimal:!0,intent:xe.a.PRIMARY},VN(t.length,"partner institution")),l.a.createElement(c.J,{minimal:!0,intent:xe.a.SUCCESS},VN(s,"co-authored pub")),l.a.createElement(c.J,{minimal:!0},VN(u,"external collaborator"))),l.a.createElement("table",{className:"edu-people-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",
1null,"#"),l.a.createElement("th",null,"Institution Domain"),l.a.createElement("th",null,"Shared Pubs"),l.a.createElement("th",null,"Collaborators"))),l.a.createElement("tbody",null,t.map((e,t)=>l.a.createElement("tr",{key:e.collaboratorDomain},l.a.createElement("td",{className:"edu-rank-cell"},t+1),l.a.createElement("td",null,l.a.createElement("strong",null,e.collaboratorDomain)),l.a.createElement("td",null,e.sharedPubCount),l.a.createElement("td",null,e.collaboratorCount))))))},ZN={release:{color:"#1c6ef3",label:"Release",intent:xe.a.PRIMARY},community:{color:"#7c3aed",label:"Community",intent:xe.a.NONE},discussion:{color:"#0d9488",label:"Discussion",intent:xe.a.SUCCESS},review:{color:"#d97706",label:"Review",intent:xe.a.WARNING}},XN=["release","community","discussion","review"],ej=e=>{switch(e.kind){case"release":return`Released "${e.pubTitle||"Untitled"}"${e.releaseNoteText?" — "+e.releaseNoteText:""}`;case"community":return`Community "${e.communityTitle}" created`;case"discussion":return`Discussion${e.discussionTitle?` "${e.discussionTitle}"`:""} on "${e.pubTitle||"Untitled"}"`;case"review":return`Review${"completed"===e.reviewStatus?" (completed)":""}${e.reviewTitle?` "${e.reviewTitle}"`:""} on "${e.pubTitle||"Untitled"}"`;default:return""}},tj=({domain:e})=>{const[t,a]=Object(n.useState)(null),[r,o]=Object(n.useState)(!1),[i,s]=Object(n.useState)(new Set(XN)),u=Object(n.useRef)({});if(Object(n.useEffect)(()=>{const t=e;if(u.current[t])return void a(u.current[t]);let n=!1;return o(!0),fetch(`/api/superadmin/suggested-hubs/${encodeURIComponent(e)}/activity`).then(e=>e.ok?e.json():[]).then(e=>{n||(u.current[t]=e,a(e),o(!1))}),()=>{n=!0}},[e]),r||null===t)return l.a.createElement(HN,null);if(0===t.length)return l.a.createElement("div",{className:"edu-tab-content"},l.a.createElement(c.v,{icon:"timeline-events",title:"No recent activity",description:`No activity found for ${e}.`}));const m={release:0,community:0,discussion:0,review:0};for(const e of t)e.kind in m&&m[e.kind]++;const d=(e=>{const t=new Date,a=[];for(let e=11;e>=0;e--){const n=new Date(t.getFullYear(),t.getMonth()-e,1),l=`${n.getFullYear()}-${String(n.getMonth()+1).padStart(2,"0")}`,r=n.toLocaleDateString("en-US",{month:"short"});a.push({key:l,label:r,counts:{release:0,community:0,discussion:0,review:0}})}const n=new Map(a.map(e=>[e.key,e]));for(const t of e){const e=new Date(t.timestamp),a=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}`,l=n.get(a);l&&t.kind in l.counts&&l.counts[t.kind]++}return a})(t),p=Math.max(1,...d.map(e=>XN.reduce((t,a)=>t+e.counts[a],0))),b=t.filter(e=>i.has(e.kind)),h=i.size===XN.length;return l.a.createElement("div",{className:"edu-tab-content activity-dashboard"},l.a.createElement("div",{className:"activity-stats-row"},XN.map(e=>{const t=ZN[e];return l.a.createElement("button",{key:e,type:"button",className:"activity-stat-card "+(i.has(e)?"active":"muted"),onClick:()=>(e=>{s(t=>{const a=new Set(t);return a.has(e)?a.size>1&&a.delete(e):a.add(e),a})})(e),style:{borderTopColor:t.color}},l.a.createElement("span",{className:"activity-stat-num",style:{color:i.has(e)?t.color:void 0}},m[e]),l.a.createElement("span",{className:"activity-stat-label"},t.label,"s"))})),l.a.createElement("div",{className:"activity-histogram"},l.a.createElement("div",{className:"activity-histogram-label"},"Activity — last 12 months"),l.a.createElement("div",{className:"activity-histogram-bars"},d.map(e=>{const t=XN.reduce((t,a)=>t+e.counts[a],0);return l.a.createElement("div",{key:e.key,className:"activity-histogram-col",title:`${e.label}: ${t} events`},l.a.createElement("div",{className:"activity-histogram-stack",style:{height:Math.round(t/p*40)+"px"}},XN.map(a=>{const n=t>0?Math.round(e.counts[a]/t*100):0;return 0===n?null:l.a.createElement("span",{key:a,style:{flex:`0 0 ${n}%`,background:ZN[a].color}})})),l.a.createElement("span",{className:"activity-histogram-month"},e.label))}))),l.a.createElement("div",{className:"activity-filter-bar"},l.a.createElement("button",{type:"button",className:"activity-filter-btn "+(h?"active":""),onClick:()=>s(new Set(XN))},"All (",t.length,")"),XN.map(e=>l.a.createElement("button",{key:e,type:"button",className:"activity-filter-btn "+(i.has(e)&&!h?"active":""),onClick:()=>s(new Set([e])),style:i.has(e)&&!h?{borderBottomColor:ZN[e].color,color:ZN[e].color}:void 0},ZN[e].label,"s (",m[e],")"))),l.a.createElement("div",{className:"activity-log-wrap"},l.a.createElement("table",{className:"activity-log-table"},l.a.createElement("thead",null,l.a.createElement("tr",null,l.a.createElement("th",{className:"al-col-time"},"When"),l.a.createElement("th",{className:"al-col-type"},"Type"),l.a.createElement("th",{className:"al-col-actor"},"Who"),l.a.createElement("th",{className:"al-col-desc"},"What"),l.a.createElement("th",{className:"al-col-comm"},"Community"))),l.a.createElement("tbody",null,b.map((e,t)=>{const a=ZN[e.kind]||ZN.release,n=`https://${e.communitySubdomain}.pubpub.org`,r=e.pubSlug?`${n}/pub/${e.pubSlug}`:null;return l.a.createElement("tr",{key:`${e.kind}-${e.timestamp}-${t}`},l.a.createElement("td",{className:"al-col-time"},(e=>{const t=new Date(e),a=(new Date).getTime()-t.getTime(),n=Math.floor(a/864e5),l=t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit"});return 0===n?l:1===n?"Yesterday "+l:n<7?n+"d ago":t.toLocaleDateString("en-US",{month:"short",day:"numeric"})})(e.timestamp)),l.a.createElement("td",{className:"al-col-type"},l.a.createElement("span",{className:"al-type-dot",style:{background:a.color}}),a.label),l.a.createElement("td",{className:"al-col-actor",title:e.actorName},e.actorName),l.a.createElement("td",{className:"al-col-desc"},"community"===e.kind?l.a.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer"},ej(e)):r?l.a.createElement("a",{href:r,target:"_blank",rel:"noopener noreferrer"},ej(e)):ej(e)),l.a.createElement("td",{className:"al-col-comm"},l.a.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer"},e.communitySubdomain)))})))))};var aj=e=>{const{domainSummaries:t}=e,[a,r]=Object(n.useState)("domain"),[o,i]=Object(n.useState)(null!=t?t:[]),[s,u]=Object(n.useState)(!t||0===t.length),[m,d]=Object(n.useState)(""),[p,b]=Object(n.useState)(""),[h,g]=Object(n.useState)(""),[f,y]=Object(n.useState)(t&&t.length>0?t[0].domain:null),[v,E]=Object(n.useState)(null),[O,w]=Object(n.useState)(!1),C=Object(n.useRef)({}),N=Object(n.useRef)({}),j=Object(n.useRef)(t);j.current=t;
1const k=Object(n.useRef)(f);k.current=f,Object(n.useEffect)(()=>{if(N.current.loaded){const e=N.current.loaded;return i(e),u(!1),void(!k.current&&e.length>0&&y(e[0].domain))}const e=j.current;if(e&&e.length>0)return N.current.loaded=e,i(e),u(!1),void(k.current||y(e[0].domain));let t=!1;return u(!0),LN(null,null,(function*(){const e=yield fetch("/api/superadmin/suggested-hubs-summaries");return e.ok?e.json():[]})).then(e=>{t||(N.current.loaded=e,i(e),u(!1),!k.current&&e.length>0&&y(e[0].domain))}),()=>{t=!0}},[]);const S=Object(n.useMemo)(()=>{if(!m.trim())return o;const e=m.toLowerCase();return o.filter(t=>t.domain.toLowerCase().includes(e))},[o,m]),P=Object(n.useCallback)(e=>LN(null,null,(function*(){if(!e)return void E(null);if(void 0!==C.current[e])return void E(C.current[e]);w(!0);const t=yield(e=>LN(null,null,(function*(){const t=yield fetch("/api/superadmin/suggested-hubs/"+encodeURIComponent(e));return t.ok?t.json():null})))(e);C.current[e]=t,E(t),w(!1)})),[]);Object(n.useEffect)(()=>{P(f)},[f,P]);const D=o.reduce((e,t)=>e+t.totalPeopleCount,0),I=o.reduce((e,t)=>e+t.authoredPubCount,0),T=o.reduce((e,t)=>e+t.communityCount,0),x=Object(n.useCallback)(()=>{const e=p.trim().toLowerCase();e&&y(e)},[p]);return l.a.createElement("div",{className:"suggested-hubs-component"},l.a.createElement("div",{className:"edu-header"},l.a.createElement("h2",null,"Suggested Hubs"),l.a.createElement("div",{className:"edu-mode-toggle"},l.a.createElement(c.d,null,l.a.createElement(c.c,{text:"By Domain",active:"domain"===a,onClick:()=>r("domain"),icon:"globe-network",small:!0}),l.a.createElement(c.c,{text:"By Content",active:"content"===a,onClick:()=>r("content"),icon:"search-text",small:!0})))),"content"===a&&l.a.createElement(MN,{adhocPhrase:h,onAdhocPhraseChange:g}),"domain"===a&&l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"edu-domain-header"},l.a.createElement("div",{className:"edu-stats-bar"},s?l.a.createElement($N,null):l.a.createElement(l.a.Fragment,null,l.a.createElement(c.J,{large:!0,minimal:!0,icon:"globe"},VN(o.length,"institution")),l.a.createElement(c.J,{large:!0,minimal:!0,icon:"people"},VN(D,"person","people")),l.a.createElement(c.J,{large:!0,minimal:!0,icon:"document"},VN(I,"pub")+" authored"),l.a.createElement(c.J,{large:!0,minimal:!0,icon:"office"},VN(T,"community","communities")+" touched")))),l.a.createElement("div",{className:"edu-layout"},l.a.createElement("div",{className:"edu-sidebar"},l.a.createElement("div",{className:"edu-adhoc-search"},l.a.createElement(c.r,{leftIcon:"globe-network",placeholder:"Look up any domain…",value:p,onChange:e=>b(e.target.value),onKeyDown:e=>"Enter"===e.key&&x(),rightElement:l.a.createElement("button",{type:"button",className:"bp3-button bp3-minimal bp3-intent-primary bp3-icon-arrow-right",onClick:x,disabled:!p.trim()}),small:!0})),l.a.createElement(c.r,{leftIcon:"filter",placeholder:"Filter known domains…",value:m,onChange:e=>d(e.target.value),className:"edu-sidebar-search",small:!0}),s?l.a.createElement(zN,null):l.a.createElement("div",{className:"edu-sidebar-list"},S.map((e,t)=>l.a.createElement("div",{key:e.domain,className:"edu-sidebar-item"+(f===e.domain?" selected":""),onClick:()=>y(e.domain),role:"button",tabIndex:0,onKeyDown:t=>"Enter"===t.key&&y(e.domain)},l.a.createElement("span",{className:"edu-sidebar-rank"},t+1),l.a.createElement("span",{className:"edu-sidebar-domain"},e.domain),l.a.createElement("span",{className:"edu-sidebar-counts"},l.a.createElement(c.J,{minimal:!0,round:!0,intent:xe.a.PRIMARY,title:"People"},e.totalPeopleCount),l.a.createElement(c.J,{minimal:!0,round:!0,title:"Pubs authored"},e.authoredPubCount)))),0===S.length&&l.a.createElement("div",{className:"edu-sidebar-empty"},"No matches"))),l.a.createElement("div",{className:"edu-detail"},(O||s)&&l.a.createElement(_N,null),O||s||!v?O||s||!f?O||s?null:l.a.createElement(c.v,{icon:"search",title:"Select a domain",description:"Choose an institution from the list on the left, or look up any domain."}):l.a.createElement(c.v,{icon:"info-sign",title:"No data found",description:`No results found for "${f}".`}):l.a.createElement(l.a.Fragment,null,l.a.createElement("div",{className:"edu-detail-header"},l.a.createElement("h3",null,v.domain),l.a.createElement("div",{className:"edu-detail-header-meta"},l.a.createElement(c.J,{intent:xe.a.PRIMARY,minimal:!0},VN(v.totalPeopleCount,"person","people")),l.a.createElement(c.J,{intent:xe.a.SUCCESS,minimal:!0},VN(v.authoredPubCount,"pub")),l.a.createElement(c.J,{minimal:!0},VN(v.communities.length,"community","communities")))),l.a.createElement(c.I,{id:"edu-detail-tabs",defaultSelectedTabId:"overview"},l.a.createElement(c.H,{id:"overview",title:"Overview",panel:l.a.createElement(KN,{group:v})}),l.a.createElement(c.H,{id:"communities",title:`Communities (${v.communities.length})`,panel:l.a.createElement(qN,{group:v})}),l.a.createElement(c.H,{id:"people",title:`People (${v.totalPeopleCount})`,panel:l.a.createElement(YN,{group:v})}),l.a.createElement(c.H,{id:"collaborators",title:"Collaborators",panel:l.a.createElement(QN,{domain:v.domain})}),l.a.createElement(c.H,{id:"activity",title:"Activity",panel:l.a.createElement(tj,{domain:v.domain})}),l.a.createElement(c.H,{id:"contentMentions",title:"Content Mentions",panel:l.a.createElement(JN,{domain:v.domain})})))))))},nj=a(1586);const lj=[{title:"All",id:"all",query:{ordering:{field:"user-created-at",direction:"DESC"},status:null}},{title:"Banned",id:"banned",query:{ordering:{field:"user-created-at",direction:"DESC"},status:null,hasCommunityBan:!0}},{title:"No spam tag",id:"no-tag",query:{ordering:{field:"user-created-at",direction:"DESC"},status:null,spamTagPresence:"absent"}}
1,{title:"Unreviewed",id:"unreviewed",query:{ordering:{field:"spam-score",direction:"DESC"},status:["unreviewed"]}},{title:"Confirmed spam",id:"spam",query:{ordering:{field:"spam-status-updated-at",direction:"DESC"},status:["confirmed-spam"]}},{title:"Confirmed not spam",id:"not-spam",query:{ordering:{field:"spam-status-updated-at",direction:"DESC"},status:["confirmed-not-spam"]}}],rj=Object(ar.e)(lj);a(1522);var oj=a(423);const ij=({discussion:e})=>{const t=e.communitySubdomain&&e.pubSlug?`https://${e.communitySubdomain}.pubpub.org/pub/${e.pubSlug}`:null;return l.a.createElement("div",{className:"discussion-item"},l.a.createElement("div",{className:"discussion-header"},t?l.a.createElement("a",{href:t,target:"_blank",rel:"noopener noreferrer"},e.pubTitle||"Untitled pub"):l.a.createElement("span",null,e.pubTitle||"Untitled pub"),e.communitySubdomain&&l.a.createElement(c.J,{minimal:!0},e.communitySubdomain),l.a.createElement("span",{className:"discussion-date"},Object(Gt.b)(e.createdAt))),e.firstCommentText&&l.a.createElement("div",{className:"discussion-preview"},e.firstCommentText.length>200?e.firstCommentText.slice(0,200)+"...":e.firstCommentText))};var sj=e=>{var t;const{user:a,onStatusChanged:r}=e,{fullName:o,email:i,slug:s,createdAt:u,spamTag:m,affiliation:d,communityBans:p}=a,b=null!=m,h=b?m.status:null,[g,f]=Object(n.useState)(h),y=Object(n.useCallback)(e=>{f("remove"===e?null:e),null==r||r(a.id,"remove"===e?null:e)},[a.id,r]),[v,E]=Object(n.useState)(null),[O,w]=Object(n.useState)(!1),C=b&&null!=(t=m.fields)?t:{},N=Object(n.useMemo)(()=>JSON.stringify(C,null,2),[C]),j=Object(n.useCallback)(()=>{return e=null,t=null,n=function*(){if(!v){w(!0);try{const e=yield Ae.a.post("/api/spamTags/userRecentDiscussions",{userId:a.id});E(e)}finally{w(!1)}}},new Promise((a,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?a(e.value):Promise.resolve(e.value).then(r,o);i((n=n.apply(e,t)).next())});var e,t,n},[a.id,v]),[k,S]=Object(n.useState)(!1),P=Object(n.useMemo)(()=>O?l.a.createElement("div",{className:"discussions-popover-content"},l.a.createElement(c.F,{size:16})):v&&0!==v.length?l.a.createElement("div",{className:"discussions-popover-content"},v.map(e=>l.a.createElement(ij,{key:e.id,discussion:e}))):l.a.createElement("div",{className:"discussions-popover-content"},l.a.createElement("div",{className:"no-discussions"},"No discussions found")),[v,O]);return l.a.createElement("div",{className:"user-spam-entry-component"},l.a.createElement("div",{className:"title"},l.a.createElement("a",{className:"name",href:"/user/"+s},o),i&&l.a.createElement("span",{className:"email"},i),s&&l.a.createElement("span",{className:"slug"},"@",s)),0===Object.keys(C).length?null:l.a.createElement("div",{className:"fields-ban"},l.a.createElement("details",null,l.a.createElement("summary",null,"Matched fields"),l.a.createElement("code",null,l.a.createElement("pre",null,N)))),(()=>{const e=null==C?void 0:C.suspiciousFiles;return(null==e?void 0:e.length)?l.a.createElement("div",{className:"suspicious-files"},l.a.createElement("h3",null,"Suspicious files"),l.a.createElement("ul",null,e.map(e=>l.a.createElement("li",{key:e},l.a.createElement("a",{href:e,target:"_blank",rel:"noopener noreferrer"},e))))):null})(),(()=>{const e=null==C?void 0:C.suspiciousComments;return(null==e?void 0:e.length)?l.a.createElement("div",{className:"suspicious-comments"},l.a.createElement("h3",null,"Suspicious comments"),l.a.createElement("ul",null,e.map(e=>l.a.createElement("li",{key:e},e)))):null})(),(()=>{const e=null==C?void 0:C.honeypotTriggers;return(null==e?void 0:e.length)?l.a.createElement("div",{className:"honeypot-triggers"},l.a.createElement("h3",null,"Honeypot triggers"),l.a.createElement("ul",null,e.map((e,t)=>l.a.createElement("li",{key:t},l.a.createElement(c.J,{intent:"danger",minimal:!0},e.honeypot)," ",l.a.createElement("code",null,e.value))))):null})(),l.a.createElement("div",{className:"details"},l.a.createElement("div",{className:"tags"},b&&null!==g?"unreviewed"===g?l.a.createElement(c.J,{minimal:!0},"Unreviewed"):"confirmed-spam"===g?l.a.createElement(c.J,{intent:"danger",icon:"cross"},"Confirmed spam"):l.a.createElement(c.J,{intent:"success",icon:"tick"},"Confirmed not spam"):l.a.createElement(c.J,{minimal:!0},"No spam information"),b&&m&&l.a.createElement(c.J,{intent:(D=m.spamScore,D>3?"danger":D>1?"warning":"none")},"Spam score: ",m.spamScore),l.a.createElement(c.J,{minimal:!0},"Created: ",Object(Gt.b)(u)),(()=>{if(!d)return null;const{communitySubdomains:e,pubCount:t,discussionCount:a}=d;if(0===e.length&&0===t&&0===a)return null;const n=[];return e.length>0&&n.push(l.a.createElement("span",null,"Communities:"," ",e.slice(0,5).map((t,a)=>l.a.createElement("a",{key:t,href:`https://${t}.pubpub.org`,target:"_blank",rel:"noopener noreferrer"},t,a<e.length-1?", ":"")),e.length>5?"...":"")),t>0&&n.push(t+" pub(s)"),a>0&&n.push(l.a.createElement(A.lb,{key:"discussions",placement:"bottom-start","aria-label":"Recent discussions",content:P,unstable_fixed:!0,lazy:!1},l.a.createElement(c.c,{minimal:!0,onClick:j,small:!0,className:"inline-discussions-btn"},a," discussion(s)"))),l.a.createElement("div",{className:"affiliation"},n.map((e,t)=>l.a.createElement("span",{key:t,className:"affiliation-part"},e,t<n.length-1?" · ":"")))})()),l.a.createElement("div",{className:"actions"},l.a.createElement(oj.a,{userId:a.id,status:g,handleAction:y}))),(null==p?void 0:p.length)?l.a.createElement("div",{className:"community-bans"},p.map((e,t)=>l.a.createElement(A.lb,{"aria-label":"Flag details",key:`${e.id}-${t}`,placement:"bottom",content:l.a.createElement("div",{className:"flag-detail-popover"},l.a.createElement("div",{className:"flag-detail-header"},l.a.createElement(c.J,{intent:"warning",minimal:!0},e.reason),l.a.createElement("span",{className:"flag-detail-meta"},e.actorName&&l.a.createElement(l.a.Fragment,null,"banned by"," ",l.a.createElement("a",{href:"/user/"+e.actorSlug,target:"_blank",rel:"noopener noreferrer"},e.actorName))," ",Object(Gt.b)(e.createdAt))),e.reasonText&&l.a.createElement("div",{className:"flag-detail-note"},e.reasonText),e.sourceCommentText&&l.a.createElement("div",{className:"flag-detail-comment"},l.a.createElement("span",{className:"flag-detail-comment-label"},"Banned comment"),l.a.createElement("blockquote",null,e.sourceCommentText.length>300?e.sourceCommentText.slice(0,300)+"...":e.sourceCommentText),l.a.createElement("p",{className:"flag-detail-comment-context"},"On"," ",l.a.createElement("a",{href:`https://${e.communitySubdomain}.pubpub.org/pub/${e.sourceCommentPubSlug}`,target:"_blank",rel:"noopener noreferrer"},e.sourceCommentPubTitle)," ","in"," ",l.a.createElement("a",{href:`https://${e.communitySubdomain}.pubpub.org`,target:"_blank",rel:"noopener noreferrer"},e.communityTitle))))},l.a.createElement(c.c,{minimal:!0,small:!0,icon:"flag",intent:"warning"},e.communitySubdomain,": ",e.reason)))):null);var D},cj=Object.defineProperty,uj=Object.getOwnPropertySymbols,mj=Object.prototype.hasOwnProperty,dj=Object.prototype.propertyIsEnumerable,pj=(e,t,a)=>t in e?cj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,bj=(e,t)=>{for(var a in t||(t={}))mj.call(t,a)&&pj(e,a,t[a]);if(uj)for(var a of uj(t))dj.call(t,a)&&pj(e,a,t[a]);return e};const hj=e=>{const{searchTerm:t,filter:a,ordering:l,limit:r,initialUsers:o,communitySubdomain:i,queryFilters:s}=e,[c,u,m]=Ia()(o.length),[d,p]=Object(n.useState)(!1),[b,h]=Object(n.useState)(!0),[g,f]=Object(n.useState)(o),y=Object(n.useCallback)(()=>{return e=null,n=null,o=function*(){const e=m.current;p(!0),h(!1),u(e=>e+r);const{status:n,spamTagPresence:o,hasCommunityBan:c}=a.query,d=yield Ae.a.post("/api/spamTags/queryUsersForSpam",bj({limit:r,searchTerm:t,offset:e,status:n,ordering:l,spamTagPresence:o,hasCommunityBan:c,communitySubdomain:i||void 0},s));p(!1),setTimeout(()=>h(d.length===r),0),f(e=>Object(ar.j)([...e,...d],e=>e.id))},new Promise((t,a)=>{var l=e=>{try{i(o.next(e))}catch(e){a(e)}},r=e=>{try{i(o.throw(e))}catch(e){a(e)}},i=e=>e.done?t(e.value):Promise.resolve(e.value).then(l,r);i((o=o.apply(e,n)).next())});var e,n,o},[a.query,r,t,l,i,s,m,u]);Object(ka.a)(()=>{u(0),f([]),y()},[u,y,a]);const v=Object(n.useCallback)((e,t)=>{f(a=>a.map(a=>a.id===e?bj(bj({},a),t):a))},[]);return{users:g,isLoading:d,loadMoreUsers:y,mayLoadMoreUsers:b,updateUser:v}};a(1523);const gj=[{value:"user-created-at:DESC",label:"Newest users"},{value:"user-created-at:ASC",label:"Oldest users"},{value:"last-activity:DESC",label:"Most recently active"},{value:"last-activity:ASC",label:"Least recently active"},{value:"activity-count:DESC",label:"Most activities"},{value:"activity-count:ASC",label:"Fewest activities"},{value:"discussion-count:DESC",label:"Most discussions"},{value:"discussion-count:ASC",label:"Fewest discussions"},{value:"spam-score:DESC",label:"Highest spam score"},{value:"spam-score:ASC",label:"Lowest spam score"}],fj=[{key:"honeypotTriggers",label:"Honeypot triggers"},{key:"suspiciousFiles",label:"Suspicious files"},{key:"suspiciousComments",label:"Suspicious comments"}
1,{key:"manuallyMarkedBy",label:"Manually marked"},{key:"automatedScan",label:"Automated scan"}],yj={exclude:["automatedScan"]},vj=[{label:"24h",days:1},{label:"7d",days:7},{label:"30d",days:30},{label:"90d",days:90}],Ej=e=>{const t=new Date;return t.setDate(t.getDate()-e),t.toISOString()},Oj=e=>e.slice(0,10),wj=e=>{if(e)return new Date(e).toISOString()},Cj=e=>{const[t,a]=e.split(":");return{field:t,direction:a}},Nj=e=>{if(!e)return;const t=e.split(",").map(e=>e.trim()).filter(Boolean);return 0!==t.length?t:void 0},jj=e=>{var t,a;const n=(null==(t=null==e?void 0:e.include)?void 0:t.length)?Array.from(new Set(e.include)):void 0,l=(null==(a=null==e?void 0:e.exclude)?void 0:a.length)?Array.from(new Set(e.exclude)):void 0;if((null==n?void 0:n.length)||(null==l?void 0:l.length))return{include:n,exclude:l}},kj=(e,t)=>{var a,n;return(null==(a=null==e?void 0:e.include)?void 0:a.includes(t))?"include":(null==(n=null==e?void 0:e.exclude)?void 0:n.includes(t))?"exclude":"off"};const Sj={analytics:{title:"Analytics",component:hN},customDomains:{title:"Custom Domains",component:oC},depositTargets:{title:"Deposit Targets",component:uC},ftpTargets:{title:"FTP Targets",component:jC},exploreCommunities:{title:"Explore Page",component:OC},landingPageFeatures:{title:"Landing Page features",component:QC},hubs:{title:"Hubs",component:SC},suggestedHubs:{title:"Suggested Hubs",component:aj},templates:{title:"Templates",component:nC},spam:{title:"Spam Communities",component:tC},spamUsers:{title:"Spam Users",component:e=>{var t,a,r,o,i,s,u,m,d,p,b,h,g,f;const{users:y,searchTerm:v}=e,E=Object(n.useRef)((()=>{if("undefined"==typeof window)return{};const e=new URLSearchParams(window.location.search),t=t=>e.get(t)||void 0;return{q:t("q"),filter:t("filter"),sort:t("sort"),community:t("community"),createdAfter:t("createdAfter"),createdBefore:t("createdBefore"),activeAfter:t("activeAfter"),activeBefore:t("activeBefore"),minActivities:t("minActivities"),maxActivities:t("maxActivities"),spamFieldsInclude:t("spamFieldsInclude"),spamFieldsExclude:t("spamFieldsExclude"),spamFields:t("spamFields")}})()).current,O=null!=(t=E.filter)?t:"all",w=null!=(a=rj[O])?a:rj.all,C=E.sort?Cj(E.sort):w.query.ordering,[N,j]=Object(n.useState)(w),[k,S]=Object(n.useState)(null!=v?v:""),[P,D]=Object(n.useState)(null!=v?v:""),[I,T]=Object(n.useState)(C),[x,M]=Object(n.useState)(null!=(r=E.community)?r:""),[L,R]=Object(n.useState)(null!=(o=E.community)?o:""),[F,U]=Object(n.useState)(E.createdAfter),[B,z]=Object(n.useState)(E.createdBefore),[$,_]=Object(n.useState)(E.activeAfter),[H,V]=Object(n.useState)(E.activeBefore),[q,W]=Object(n.useState)(null),[G,Y]=Object(n.useState)(null),[K,J]=Object(n.useState)(null!=(i=E.minActivities)?i:""),[Q,Z]=Object(n.useState)(null!=(s=E.maxActivities)?s:""),[X,ee]=Object(n.useState)(E.minActivities?Number(E.minActivities):void 0),[te,ae]=Object(n.useState)(E.maxActivities?Number(E.maxActivities):void 0),ne=null!=E.spamFieldsInclude||null!=E.spamFieldsExclude||null!=E.spamFields,le=null!=(m=jj(ne?{include:Nj(null!=(u=E.spamFieldsInclude)?u:E.spamFields),exclude:Nj(E.spamFieldsExclude)}:yj))?m:yj,[re,oe]=Object(n.useState)(le),ie=Object(n.useCallback)(e=>{oe(t=>{var a,n,l;const r=new Set(null!=(a=t.include)?a:[]),o=new Set(null!=(n=t.exclude)?n:[]),i=kj(t,e);return"include"===i?(r.delete(e),o.add(e)):"exclude"===i?o.delete(e):r.add(e),null!=(l=jj({include:r.size>0?Array.from(r):void 0,exclude:o.size>0?Array.from(o):void 0}))?l:{}})},[]);Object(nj.a)(()=>D(k),300,[k]),Object(nj.a)(()=>R(x.trim()),300,[x]),Object(nj.a)(()=>ee(K?Number(K):void 0),300,[K]),Object(nj.a)(()=>ae(Q?Number(Q):void 0),300,[Q]);const se=Object(n.useMemo)(()=>({createdAfter:F,createdBefore:B,activeAfter:$,activeBefore:H,minActivities:X,maxActivities:te,spamFieldsFilter:jj(re)}),[F,B,$,H,X,te,re]),{users:ce,isLoading:ue,loadMoreUsers:me,mayLoadMoreUsers:de,updateUser:pe}=hj({limit:50,searchTerm:P,initialUsers:y,filter:N,ordering:I,communitySubdomain:L||void 0,queryFilters:se});Object(Bt.a)({scrollTolerance:500,useDocumentElement:!0,onRequestMoreItems:me,enabled:de}),Object(ka.a)(()=>{const e=(e=>{var t,a,n,l,r,o;const i=new URLSearchParams;e.searchTerm&&i.set("q",e.searchTerm),e.filterId&&"all"!==e.filterId&&i.set("filter",e.filterId);const s=`${e.ordering.field}:${e.ordering.direction}`;s!==`${(null!=(t=rj[e.filterId])?t:rj.all).query.ordering.field}:${(null!=(a=rj[e.filterId])?a:rj.all).query.ordering.direction}`&&i.set("sort",s),e.communitySubdomain&&i.set("community",e.communitySubdomain),e.createdAfter&&i.set("createdAfter",e.createdAfter),e.createdBefore&&i.set("createdBefore",e.createdBefore),e.activeAfter&&i.set("activeAfter",e.activeAfter),e.activeBefore&&i.set("activeBefore",e.activeBefore),null!=e.minActivities&&i.set("minActivities",String(e.minActivities)),null!=e.maxActivities&&i.set("maxActivities",String(e.maxActivities)),(null==(l=null==(n=e.spamFieldsFilter)?void 0:n.include)?void 0:l.length)&&i.set("spamFieldsInclude",e.spamFieldsFilter.include.join(",")),(null==(o=null==(r=e.spamFieldsFilter)?void 0:r.exclude)?void 0:o.length)&&i.set("spamFieldsExclude",e.spamFieldsFilter.exclude.join(","));const c=i.toString();return c?"?"+c:""})({searchTerm:P,filterId:N.id,ordering:I,communitySubdomain:L,createdAfter:F,createdBefore:B,activeAfter:$,activeBefore:H,minActivities:X,maxActivities:te,spamFieldsFilter:jj(re)});window.history.replaceState({},"",window.location.pathname+e)},[P,N,I,L,F,B,$,H,X,te,re]);const be=Object(n.useCallback)((e,t)=>{pe(e,null!==t?{spamTag:{status:t}}:{spamTag:void 0})},[pe]),he=Object(n.useCallback)(e=>{j(e),T(e.query.ordering)},[]),ge=Object(n.useCallback)(e=>{T(Cj(e.target.value))},[]),fe=null!=(p=null==(d=re.include)?void 0:d.length)?p:0,ye=null!=(h=null==(b=re.exclude)?void 0:b.length)?h:0,ve=fe+ye;return l.a.createElement("div",{className:"user-spam-component"},l.a.createElement(mr,{filters:lj,placeholder:"Search for users (name, email, slug)...",onUpdateSearchTerm:S,onCommitSearchTerm:e=>{S(e),D(e)},onChooseFilter:he,filter:N,initialSearchTerm:null!=v?v:void 0,rightControls:ue&&l.a.createElement(c.F,{size:20})}),l.a.createElement("div",{className:"toolbar"},l.a.createElement(c.o,{className:"toolbar-sort",value:`${I.field}:${I.direction}`,onChange:ge,minimal:!0},gj.map(e=>l.a.createElement("option",{key:e.value,value:e.value},e.label))),l.a.createElement("input",{className:"toolbar-input community-input",type:"text",placeholder:"Community...",value:x,onChange:e=>M(e.target.value)}),l.a.createElement(A.lb,{"aria-label":"Filter by created date",placement:"bottom-start",content:l.a.createElement("div",{className:"popover-panel"},l.a.createElement("div",{className:"popover-panel-title"},"Created date"),l.a.createElement(c.d,{minimal:!0},vj.map(e=>l.a.createElement(c.c,{key:e.label,small:!0,active:q===e.days,onClick:()=>
1{if(q===e.days)return W(null),U(void 0),void z(void 0);W(e.days),U(Ej(e.days)),z(void 0)}},e.label))),l.a.createElement("div",{className:"popover-date-row"},l.a.createElement("input",{type:"date",value:F?Oj(F):"",onChange:e=>{W(null),U(wj(e.target.value))}}),l.a.createElement("span",{className:"popover-date-sep"},"to"),l.a.createElement("input",{type:"date",value:B?Oj(B):"",onChange:e=>{W(null),z(wj(e.target.value))}})),(F||B)&&l.a.createElement(c.c,{small:!0,minimal:!0,icon:"cross",text:"Clear",onClick:()=>{W(null),U(void 0),z(void 0)}}))},l.a.createElement(c.c,{small:!0,minimal:!0,icon:"calendar",active:!(!F&&!B)},"Created",q?": "+(null==(g=vj.find(e=>e.days===q))?void 0:g.label):F||B?" (custom)":"")),l.a.createElement(A.lb,{"aria-label":"Filter by active date",placement:"bottom-start",content:l.a.createElement("div",{className:"popover-panel"},l.a.createElement("div",{className:"popover-panel-title"},"Active date"),l.a.createElement(c.d,{minimal:!0},vj.map(e=>l.a.createElement(c.c,{key:e.label,small:!0,active:G===e.days,onClick:()=>{if(G===e.days)return Y(null),_(void 0),void V(void 0);Y(e.days),_(Ej(e.days)),V(void 0)}},e.label))),l.a.createElement("div",{className:"popover-date-row"},l.a.createElement("input",{type:"date",value:$?Oj($):"",onChange:e=>{Y(null),_(wj(e.target.value))}}),l.a.createElement("span",{className:"popover-date-sep"},"to"),l.a.createElement("input",{type:"date",value:H?Oj(H):"",onChange:e=>{Y(null),V(wj(e.target.value))}})),($||H)&&l.a.createElement(c.c,{small:!0,minimal:!0,icon:"cross",text:"Clear",onClick:()=>{Y(null),_(void 0),V(void 0)}}))},l.a.createElement(c.c,{small:!0,minimal:!0,icon:"time",active:!(!$&&!H)},"Active",G?": "+(null==(f=vj.find(e=>e.days===G))?void 0:f.label):$||H?" (custom)":"")),l.a.createElement(A.lb,{"aria-label":"Filter by activity count",placement:"bottom-start",content:l.a.createElement("div",{className:"popover-panel"},l.a.createElement("div",{className:"popover-panel-title"},"Activity count"),l.a.createElement("div",{className:"popover-range-row"},l.a.createElement("input",{type:"number",min:"0",placeholder:"min",value:K,onChange:e=>J(e.target.value)}),l.a.createElement("span",{className:"popover-date-sep"},"to"),l.a.createElement("input",{type:"number",min:"0",placeholder:"max",value:Q,onChange:e=>Z(e.target.value)})),(K||Q)&&l.a.createElement(c.c,{small:!0,minimal:!0,icon:"cross",text:"Clear",onClick:()=>{J(""),Z("")}}))},l.a.createElement(c.c,{small:!0,minimal:!0,icon:"pulse",active:!(null==X&&null==te)},"Activities",null!=X||null!=te?`: ${null!=X?X:"0"}${null!=te?"–"+te:"+"}`:"")),l.a.createElement(A.lb,{"aria-label":"Filter by detection reason",placement:"bottom-start",content:l.a.createElement("div",{className:"popover-panel"},l.a.createElement("div",{className:"popover-panel-title"},"Detection reason"),fj.map(e=>{const t=kj(re,e.key),a="include"===t?"primary":"exclude"===t?"danger":"none",n="off"===t?"off":t;return l.a.createElement(c.c,{key:e.key,small:!0,fill:!0,minimal:"off"===t,intent:a,onClick:()=>ie(e.key),style:{marginBottom:6}},`${e.label}: ${n}`)}),ve>0&&l.a.createElement(c.c,{small:!0,minimal:!0,icon:"cross",text:"Clear",onClick:()=>oe({})}))},l.a.createElement(c.c,{small:!0,minimal:!0,icon:"filter",active:ve>0},"Reason",ve>0?` (${fe} in, ${ye} out)`:""))),l.a.createElement("div",{className:"users"},ce.map(e=>l.a.createElement(sj,{user:e,key:e.id,onStatusChanged:be})),!ue&&0===ce.length&&l.a.createElement("div",{className:"no-results"},"No users found")))}}};a(1524);var Pj=Object.defineProperty,Dj=Object.getOwnPropertySymbols,Ij=Object.prototype.hasOwnProperty,Tj=Object.prototype.propertyIsEnumerable,xj=(e,t,a)=>t in e?Pj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Aj=e=>{const{tabKind:t,tabProps:a}=e,{component:n}=Sj[t];return l.a.createElement(A.L,{columnClassName:"superadmin-dashboard-component"},l.a.createElement("h1",null,l.a.createElement("span",{className:"supreme"},"Superadmin")," Dashboard"),l.a.createElement("div",{className:"superadmin-tab-links"},Object.keys(Sj).map(e=>{const{title:a}=Sj[e];return l.a.createElement("a",{className:o()("link",t===e&&"current"),href:_w(e),key:e},a)})),l.a.createElement(n,((e,t)=>{for(var a in t||(t={}))Ij.call(t,a)&&xj(e,a,t[a]);if(Dj)for(var a of Dj(t))Tj.call(t,a)&&xj(e,a,t[a]);return e})({},a)))},Mj=a(268),Lj=a(214);a(1525);var Rj=e=>{const{userData:t}=e,[a,r]=Object(n.useState)(!1),[o,i]=Object(n.useState)(t.firstName||""),[s,u]=Object(n.useState)(t.lastName||""),[m,d]=Object(n.useState)(t.title||""),[p,b]=Object(n.useState)(t.bio||""),[h,g]=Object(n.useState)(t.avatar),[f,y]=Object(n.useState)(t.location||""),[v,E]=Object(n.useState)(t.website||""),[O,w]=Object(n.useState)(t.orcid||""),[C,N]=Object(n.useState)(t.github||""),[j,k]=Object(n.useState)(t.twitter||""),[S,P]=Object(n.useState)(t.facebook||""),[D,I]=Object(n.useState)(t.linkedin||""),[T,x]=Object(n.useState)(t.instagram||""),[M,L]=Object(n.useState)(t.mastodon||""),[R,F]=Object(n.useState)(t.bluesky||""),[U,B]=Object(n.useState)(t.googleScholar||""),[z,$]=Object(n.useState)(!1),[_,H]=Object(n.useState)(""),[V,q]=Object(n.useState)(!1),[W,G]=Object(n.useState)(""),[Y,K]=Object(n.useState)(!1),J=e=>t=>{r(!0),e(t)},Q=O.match(Lj.b),Z=null===Q&&""!==O,X=Q?Q[0]:O,ee=[{label:"Location",showTextOnButton:!0,value:f,onChange:e=>{y(e.target.value)}}
1,{label:"Website",showTextOnButton:!0,value:v,onChange:e=>{E(e.target.value)}},{label:"Orcid",helperText:"https://orcid.org/"+O,value:O,onChange:e=>{w(e.target.value)},onBlur:()=>{w(X)},placeholder:"0000-0000-0000-0000"},{label:"Github",helperText:"https://github.com/"+C,value:C,onChange:e=>{N(e.target.value)}},{label:"X (Twitter)",helperText:`https://twitter.com/${j||"<your x/twitter handle>"} `,value:j,onChange:e=>{k(e.target.value)}},{label:"Facebook",helperText:"https://facebook.com/"+(S||"<your facebook handle>"),value:S,onChange:e=>{P(e.target.value)}},{label:"LinkedIn",helperText:"https://linkedin.com/"+(D||"<in|company|school>/<your linkedin handle>"),value:D,onChange:e=>{I(e.target.value)}},{label:"Instagram",helperText:"https://instagram.com/"+(T||"<your instagram handle>"),value:T,onChange:e=>{x(e.target.value)}},{label:"Mastodon",helperText:"https://"+(M||"<Mastodon instance URL>/@<handle>"),value:M,onChange:e=>{L(e.target.value)}},{label:"Bluesky",helperText:"https://bsky.app/profile/"+(R||"<your bluesky handle>.<your-server.social>"),value:R,onChange:e=>{F(e.target.value)}},{label:"Google Scholar",helperText:"https://scholar.google.com/citations?user="+U,value:U,onChange:e=>{B(e.target.value)}}];return l.a.createElement("div",{className:"user-edit-component"},l.a.createElement(A.L,{containerClassName:"narrow nav"},l.a.createElement("h1",null,"Edit User Details"),l.a.createElement("form",{onSubmit:e=>{var a;e.preventDefault();const n=null!=(a=new FormData(e.currentTarget).get("phone"))?a:"",l={userId:t.id,firstName:o,lastName:s,avatar:h,title:m,bio:p,location:f,website:v,orcid:O,github:C,twitter:j,facebook:S,linkedin:D,instagram:T,mastodon:M,bluesky:R,googleScholar:U,_honeypot:n};return $(!0),H(""),Object(Ae.a)("/api/users/fromForm",{method:"PUT",body:JSON.stringify(l)}).then(()=>{window.location.href="/user/"+t.slug}).catch(e=>{$(!0),H(e)})}},l.a.createElement(A.N,{name:"phone"}),l.a.createElement(Xo.a,{label:"First Name",isRequired:!0,value:o,onChange:J(e=>{i(e.target.value)})}),l.a.createElement(Xo.a,{label:"Last Name",isRequired:!0,value:s,onChange:J(e=>{u(e.target.value)})}),l.a.createElement(Xo.a,{label:"Password"},Y?l.a.createElement(c.e,{icon:"tick",intent:xe.a.SUCCESS},"Password reset requested. Check your email for reset instructions."):l.a.createElement(Xo.a,{error:W&&"Error Requesting Reset"},l.a.createElement(c.c,{text:"Request Password Reset",onClick:()=>(q(!0),Object(Ae.a)("/api/password-reset",{method:"POST",body:JSON.stringify({})}).then(()=>{q(!1),K(!0)}).catch(()=>{q(!1),G("Error")})),disabled:Y,loading:V}))),l.a.createElement(Mj.a,{htmlFor:"avatar-upload",label:"Avatar Image",defaultImage:h,onNewImage:J(e=>{g(e)}),useCrop:!0}),l.a.createElement(Xo.a,{label:"Title",value:m,onChange:J(e=>{d(e.target.value.substring(0,70).replace(/\n/g," "))}),helperText:m.length+"/70 characters. Displayed by your name on discussions."}),l.a.createElement(Xo.a,{label:"Bio",isTextarea:!0,value:p,onChange:J(e=>{const{value:t}=e.target;b(t.substring(0,280).replace(/\n/g," "))}),helperText:p.length+"/280 characters"}),ee.map(e=>l.a.createElement(Xo.a,{key:"input-field-"+e.label,label:e.label,value:e.value,onChange:J(e.onChange),onBlur:e.onBlur&&J(e.onBlur),helperText:e.helperText,error:"Orcid"===e.label&&Z?"Invalid Orcid":void 0,placeholder:e.placeholder})),l.a.createElement("p",null,"Privacy"),l.a.createElement("p",{className:"privacy"},"To request account deletion or data export, visit your"," ",l.a.createElement("a",{href:"/legal/settings"},"privacy settings page"),"."),l.a.createElement("div",{className:"buttons"},l.a.createElement(Xo.a,{error:_&&"Error Saving Details"},l.a.createElement(c.c,{type:"submit",intent:xe.a.PRIMARY,text:"Save Details",disabled:!o||!s||!a||Z,loading:z}))))))},Fj=a(266),Uj=a(383);a(1526);const Bj={userData:Wb.a.object.isRequired,isUser:Wb.a.bool,isHiddenForNonAdmins:Wb.a.bool},zj={"confirmed-spam":{label:"Confirmed spam",intent:"danger"},unreviewed:{label:"Unreviewed",intent:"warning"},"confirmed-not-spam":{label:"Not spam",intent:"success"}},$j=function(e){var t;const{loginData:a}=Object(De.c)(),r=!!a.isSuperAdmin,o=e.userData.spamTag,[i,s]=Object(n.useState)(null!=(t=null==o?void 0:o.status)?t:null),u=Object(n.useCallback)(e=>{s(e)},[]),m=Object(Lj.c)(e.userData.orcid),d=[{value:e.userData.location,icon:"map-marker",url:""},{value:e.userData.website,icon:"link",url:e.userData.website},{value:m,icon:"orcid",url:m?"https://orcid.org/"+m:""},{value:e.userData.github,icon:"github",url:"https://github.com/"+e.userData.github},{value:e.userData.facebook,icon:"facebook",url:"https://www.facebook.com/"+e.userData.facebook},{value:e.userData.twitter,icon:"twitter",url:"https://twitter.com/"+e.userData.twitter},{icon:"instagram",value:e.userData.instagram,url:"https://instagram.com/"+e.userData.instagram},{icon:"mastodon",value:e.userData.mastodon,url:"https://"+e.userData.mastodon,additionalAttributes:{rel:"me"}},{icon:"linkedin",value:e.userData.linkedin,url:"https://linkedin.com/"+e.userData.linkedin},{icon:"bluesky",value:e.userData.bluesky,url:"https://bsky.app/profile/"+e.userData.bluesky}
1,{value:e.userData.googleScholar,icon:"google-scholar",url:"https://scholar.google.com/citations?user="+e.userData.googleScholar}];return l.a.createElement("div",{className:"user-header-component"},l.a.createElement("div",{className:"avatar-wrapper"},l.a.createElement(Fj.a,{avatar:e.userData.avatar,initials:e.userData.initials,width:150}),e.isUser&&l.a.createElement("div",null,l.a.createElement("a",{href:`/user/${e.userData.slug}/edit`,className:`${Le.a.BUTTON} ${Le.a.INTENT_PRIMARY}`},"Edit Profile"))),l.a.createElement("div",{className:"details"},l.a.createElement("h1",null,e.userData.fullName,r&&i&&l.a.createElement(c.J,{intent:zj[i].intent,minimal:!0,style:{marginLeft:10,verticalAlign:"middle",fontSize:12}},zj[i].label)),e.userData.title&&l.a.createElement("div",{className:"title"},e.userData.title),e.userData.bio&&l.a.createElement("div",{className:"bio"},e.userData.bio),r&&l.a.createElement(c.e,{intent:"confirmed-spam"===i?"danger":"none",icon:"shield",style:{marginTop:12,marginBottom:12}},l.a.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},l.a.createElement("span",{style:{fontWeight:500}},"Spam status:"," ",i?zj[i].label:"None"),l.a.createElement(Uj.a,{userId:e.userData.id,currentStatus:i,onStatusChanged:u,small:!1}))),r&&e.isHiddenForNonAdmins&&l.a.createElement(c.e,{intent:"warning",icon:"eye-off",style:{marginTop:0,marginBottom:12}},"This page is not visible to other users. This user is not affiliated with any approved community."," ",l.a.createElement("a",{href:"/superadmin/spamUsers?q="+encodeURIComponent(e.userData.slug)},"View in super admin dashboard")),l.a.createElement("div",{className:"links"},d.filter(e=>e.value).map(e=>{var t;return l.a.createElement("a",{key:"link-"+e.icon,className:`${Le.a.BUTTON} ${Le.a.MINIMAL} ${e.url?"":"no-click"}`,href:e.url,rel:"noopener noreferrer"+((null==(t=e.additionalAttributes)?void 0:t.rel)?" "+e.additionalAttributes.rel:"")},l.a.createElement(jf.a,{icon:e.icon}),e.value)}))))};$j.defaultProps={isUser:!1,isHiddenForNonAdmins:!1},$j.propTypes=Bj;var _j=$j;a(1527);const Hj={userSlug:Wb.a.string,activeTab:Wb.a.string,allPubsCount:Wb.a.number,authoredPubsCount:Wb.a.number},Vj=function(e){const t=[{id:0,label:"All Pubs",path:"",count:e.allPubsCount},{id:1,label:"Attributed Pubs",path:"/authored",count:e.authoredPubsCount}];return l.a.createElement("div",{className:"user-nav-component"},l.a.createElement("div",{className:Le.a.TABS},l.a.createElement("div",{className:`${Le.a.TAB_LIST} ${Le.a.LARGE}`,role:"tablist"},t.map(t=>l.a.createElement("a",{key:"tab-"+t.id,href:`/user/${e.userSlug}${t.path}`,className:Le.a.TAB,role:"tab","aria-selected":t.path.indexOf(e.activeTab)>-1||!t.path&&!e.activeTab?"true":"false","data-tab-related-count":t.count},t.label," ",void 0!==t.count&&`(${t.count})`)))))};Vj.defaultProps={activeTab:void 0,userSlug:"",allPubsCount:0,authoredPubsCount:0},Vj.propTypes=Hj;var qj=Vj;a(1528);var Wj=e=>{const{userData:t,isHiddenForNonAdmins:a=!1}=e,{locationData:n,communityData:r,loginData:o}=Object(De.c)(),i=(t.attributions||[]).map(e=>e.pub),s=!!o.id&&t.id===o.id,u=n.params.mode,m=r.id,d=i.filter(e=>!m||e.communityId===m),p=i.filter(e=>m&&e.communityId!==m),b=d.filter(e=>(e.attributions||[]).some(e=>e.user.id===t.id&&e.isAuthor)),h="authored"===u?b:d;return l.a.createElement("div",{id:"user-container"},"edit"===u&&l.a.createElement(Rj,{userData:t}),"edit"!==u&&l.a.createElement("div",null,l.a.createElement(A.L,{containerClassName:"narrow"},l.a.createElement(_j,{userData:t,isUser:s,isHiddenForNonAdmins:a})),l.a.createElement(A.L,{containerClassName:"narrow nav"},l.a.createElement(qj,{userSlug:t.slug,activeTab:u,allPubsCount:d.length,authoredPubsCount:b.length})),!!p.length&&l.a.createElement(A.L,{containerClassName:"narrow nav"},l.a.createElement("div",{className:Le.a.CALLOUT+" external-pubs-wrapper"},l.a.createElement("a",{href:"https://www.pubpub.org/user/"+t.slug,className:`${Le.a.BUTTON} ${Le.a.INTENT_PRIMARY}`},"Go to Full Profile"),l.a.createElement("h5",null,p.length," pub",1===p.length?"":"s"," in other communities."),l.a.createElement("div",null,t.firstName," has published in other PubPub communities. Click to go to their full profile."))),l.a.createElement("div",{className:"container narrow content"},h.map(e=>l.a.createElement("div",{key:"pub-"+e.id,className:"row"},l.a.createElement("div",{className:"col-12"},l.a.createElement(A.Ab,{pubData:e,communityData:m?void 0:e.community,size:"medium"})))),!h.length&&l.a.createElement(c.v,{visual:"widget",title:"No Pubs",action:s&&!n.isBasePubPub?l.a.createElement("a",{href:"/pub/create",className:Le.a.BUTTON},"Create New pub"):void 0}))))};a(1529);var Gj=e=>{const{signupData:t}=e,a=Object(n.useRef)(null),r=Object(n.useRef)(Date.now()),[o,i]=Object(n.useState)(!1),[s,u]=Object(n.useState)(void 0),[m,d]=Object(n.useState)(!1),[p,b]=Object(n.useState)(""),[h,g]=Object(n.useState)(""),[f,y]=Object(n.useState)(""),[v,E]=Object(n.useState)(""),[O,w]=Object(n.useState)(""),[C,N]=Object(n.useState)(void 0),[j,k]=Object(n.useState)(""),[S,P]=Object(n.useState)(""),[D,I]=Object(n.useState)(""),[T,x]=Object(n.useState)(""),[M,L]=Object(n.useState)(""),[R,F]=Object(n.useState)(""),[U,B]=Object(n.useState)(!1),[z,$]=Object(n.useState)(!1),[_,H]=Object(n.useState)(!1),[V,q]=Object(n.useState)(!1),[W,G]=Object(n.useState)(!1),[Y,K]=Object(n.useState)(!1),[J,Q]=Object(n.useState)(!1),Z=[{label:"Location",showTextOnButton:!0,icon:l.a.createElement(A.O,{icon:"map-marker"}),action:()=>{B(!0)},isVisible:U,value:j,onChange:e=>{k(e.target.value)}},{label:"Orcid",icon:l.a.createElement(A.O,{icon:"orcid"}),action:()=>{$(!0)},isVisible:z,helperText:"https://orcid.org/"+S,value:S,onChange:e=>{P(e.target.value)}},{label:"Github",icon:l.a.createElement(A.O,{icon:"github"}),action:()=>{H(!0)},helperText:"https://github.com/"+D,isVisible:_,value:D,onChange:e=>{I(e.target.value)}},{label:"Twitter",icon:l.a.createElement(A.O,{icon:"twitter"}),action:()=>{q(!0)},helperText:"https://twitter.com/"+T,isVisible:V,value:T,onChange:e=>{x(e.target.value)}},{label:"Facebook",icon:l.a.createElement(A.O,{icon:"facebook"}),action:()=>{G(!0)},helperText:"https://facebook.com/"+M,isVisible:W,value:M,onChange:e=>{L(e.target.value)}},{label:"Google Scholar",icon:l.a.createElement(A.O,{icon:"google-scholar"}),action:()=>{K(!0)},helperText:"https://scholar.google.com/citations?user="+R,isVisible:Y,value:R,onChange:e=>{F(e.target.value)}}];return l.a.createElement("div",{id:"user-create-container"},t.hashError&&l.a.createElement(c.v,{title:"Signup URL Invalid",description:l.a.createElement("div",{className:"success"},l.a.createElement("p",null,"This URL cannot be used to signup."),l.a.createElement("p",null,"Click below to restart the signup process.")),visual:"error",action:l.a.createElement("a",{href:"/signup",className:Le.a.BUTTON},"Signup")}),!t.hashError&&l.a.createElement(A.L,{containerClassName:"small"},l.a.createElement("h1",null,"Create Account"),l.a.createElement("form",{onSubmit:e=>{return n=null,l=null,o=function*(){var n;if(e.preventDefault(),!J)return;const l=new FormData(e.currentTarget),o=l.get("website"),s=l.get("
1confirmPassword");i(!0),u(void 0);try{const e=yield null==(n=a.current)?void 0:n.verify(),l={email:t.email,hash:t.hash,subscribed:m,firstName:p,lastName:h,password:Ub()(f).toString(lh.a),avatar:C,title:v,bio:O,location:j,orcid:S,github:D,twitter:T,facebook:M,googleScholar:R,_honeypot:o,_passwordHoneypot:s,_formStartedAtMs:r.current,altcha:e,gdprConsent:Object(Db.a)()?Object(Db.b)():null};yield Object(Ae.a)("/api/users",{method:"POST",body:JSON.stringify(l)});const i=Math.round((new Date).getTime()/1e3);window.location.href="/?breakCache="+i}catch(e){i(!1),u(e instanceof Error?e.message:"Error Creating User")}},new Promise((e,t)=>{var a=e=>{try{i(o.next(e))}catch(e){t(e)}},r=e=>{try{i(o.throw(e))}catch(e){t(e)}},i=t=>t.done?e(t.value):Promise.resolve(t.value).then(a,r);i((o=o.apply(n,l)).next())});var n,l,o}},l.a.createElement(A.R,{label:"Email",isDisabled:!0,value:t.email}),l.a.createElement(A.R,{label:"First Name",isRequired:!0,value:p,onChange:e=>{b(e.target.value)}}),l.a.createElement(A.R,{label:"Last Name",isRequired:!0,value:h,onChange:e=>{g(e.target.value)}}),l.a.createElement(A.R,{label:"Password",type:"password",isRequired:!0,value:f,onChange:e=>{y(e.target.value)}}),l.a.createElement(A.N,{name:"confirmPassword"}),l.a.createElement(A.P,{htmlFor:"avatar-upload",label:"Avatar Image",onNewImage:e=>{N(e)},useCrop:!0}),l.a.createElement(A.R,{label:"Title",value:v,onChange:e=>{E(e.target.value.substring(0,70).replace(/\n/g," "))},helperText:v.length+"/70 characters. Displayed by your name on discussions."}),l.a.createElement(A.R,{label:"Bio",isTextarea:!0,value:O,onChange:e=>{w(e.target.value.substring(0,280).replace(/\n/g," "))},helperText:O.length+"/280 characters"}),l.a.createElement(A.N,{name:"website"}),Z.filter(e=>e.isVisible).map(e=>l.a.createElement(A.R,{key:"input-field-"+e.label,label:e.label,value:e.value,onChange:e.onChange,helperText:e.helperText})),!!Z.filter(e=>!e.isVisible).length&&l.a.createElement(A.R,{label:"Add More"},l.a.createElement("div",{className:Le.a.BUTTON_GROUP},Z.filter(e=>!e.isVisible).map(e=>l.a.createElement("button",{type:"button",key:"button-"+e.label,className:Le.a.BUTTON+" expandable",onClick:e.action},e.icon,e.showTextOnButton?e.label:"")))),l.a.createElement(A.R,{wrapperClassName:Le.a.CALLOUT,label:"Stay Up To Date"},l.a.createElement(c.g,{label:"Subscribe to our feature release & community newsletter.",checked:m,onChange:()=>{d(!m)}}),l.a.createElement("p",{className:"notice"},l.a.createElement("em",null,"We use a third party provider, Mailchimp, to deliver newsletters. We never share your data with anyone, and you can unsubscribe using the link at the bottom of every email. Learn more by visiting your ",l.a.createElement("a",{href:"/legal/privacy"},"privacy settings"),"."))),l.a.createElement(A.R,null,l.a.createElement(c.g,{checked:J,onChange:()=>{Q(!J)}},"I have read and agree to the PubPub"," ",l.a.createElement("a",{href:"/legal/terms",target:"_blank"},"Terms of Service")," ","and"," ",l.a.createElement("a",{href:"/legal/privacy",target:"_blank"},"Privacy Policy"),".")),l.a.createElement(A.b,{ref:a,auto:"onload"}),l.a.createElement(A.R,{error:s&&"Error Creating User"},l.a.createElement(c.c,{name:"create",type:"submit",className:`${Le.a.BUTTON} ${Le.a.INTENT_PRIMARY} create-account-button`,text:"Create Account",disabled:!(p&&h&&f&&J),loading:o})))))};a(1530);var Yj=e=>{const{className:t}=e,{dashboardMenu:{menuItems:a}}=Object(De.c)();return l.a.createElement("div",{className:o()("side-menu-component",t)},l.a.createElement(Ie,null),l.a.createElement("div",{className:"content"},a.map(e=>{const{title:t,href:a,active:n,count:r,icon:i}=e;return l.a.createElement("div",{key:t,className:o()({menu:!0,active:n})},l.a.createElement("a",{href:a,className:"content-title"},l.a.createElement(A.O,{className:"side-icon",icon:i}),l.a.createElement("span",{className:"side-text"},t),r?l.a.createElement("div",{className:"count"},r):null))})))};a(1531);var Kj=e=>{const{spamTag:t,communityId:a,canAdminCommunity:r}=e,[o,i]=Object(n.useState)(t),[s,u]=Object(n.useState)(!1),[m,d]=Object(n.useState)(""),[p,b]=Object(n.useState)(!1),[h,g]=Object(n.useState)(!1),[f,y]=Object(n.useState)(null),v=Object(n.useCallback)(()=>{return e=null,t=null,n=function*(){var e;b(!0),y(null);try{const e=yield Ae.a.post("/api/spamTags/requestCommunityReview",{communityId:a,message:m.trim()||void 0});i(e.spamTag),g(!0)}catch(t){y(null!=(e=null==t?void 0:t.message)?e:"Something went wrong. Please try again.")}finally{b(!1)}},new Promise((a,l)=>{var r=e=>{try{i(n.next(e))}catch(e){l(e)}},o=e=>{try{i(n.throw(e))}catch(e){l(e)}},i=e=>e.done?a(e.value):Promise.resolve(e.value).then(r,o);i((n=n.apply(e,t)).next())});var e,t,n},[a,m]),E=Object(n.useCallback)(()=>{p||u(!1)},[p]);return"unreviewed"!==o.status||o.approvalRequestedAt?"unreviewed"===o.status&&o.approvalRequestedAt?l.a.createElement("div",{className:"spam-banner-component review-submitted"},l.a.createElement(A.O,{icon:"tick-circle",iconSize:16}),l.a.createElement("div",{className:"text"},"Your approval request has been submitted. Once approved, your community will become publicly visible to all visitors. During this time, all features and functionality remain available, but only logged in Members will be able to view the community.")):l.a.createElement("div",{className:"spam-banner-component"},l.a.createElement(A.O,{icon:"error",iconSize:16}),l.a.createElement("div",{className:"text"},"We have determined that your Community violates PubPub's"," ",l.a.createElement("a",{href:"/legal/terms"},"Terms of Service"),", and it is now hidden from visitors. If you believe this judgement was made in error, please"," ",l.a.createElement("a",{href:"mailto:[email protected]"},"contact us"),".")):l.a.createElement("div",{className:"spam-banner-component"},l.a.createElement(A.O,{icon:"info-sign",iconSize:16}),l.a.createElement("div",{className:"text"},"Your community is not yet publicly visible. When you're ready, request approval to make it available to all. All features and functionality are available in the meantime, but only logged-in Members can view the community."),l.a.createElement(c.c,{className:"review-button",intent:"primary",disabled:!r,title:r?void 0:"Only community admins can request approval",onClick:()=>u(!0)},"Request Approval"),l.a.createElement(c.j,{isOpen:s,onClose:E,title:"Request Approval",className:"review-request-dialog"},l.a.createElement("div",{className:Le.a.DIALOG_BODY},h?l.a.createElement("div",{className:"submitted-confirmation"},l.a.createElement(A.O,{icon:"tick-circle",iconSize:24}),l.a.createElement("p",null,"Your request has been submitted! Our team will review your community and, once approved, it will become publicly visible to all visitors.")):l.a.createElement(l.a.Fragment,null,l.a.createElement("p",null,"New communities must be approved before they are publicly visible. Requesting approval will notify our team to review your community."),l.a.createElement("p",null,"To help us approve your community quickly, you can include a brief description of its purpose and the content you plan to publish."),l.a.createElement(c.M,{fill:!0,placeholder:"What is this community about? (optional)",value:m,onChange:e=>d(e.target.value),disabled:p,maxLength:2e3,rows:4}),f&&l.a.createElement("div",{className:"error-message"},f))),l.a.createElement("div",{className:Le.a.DIALOG_FOOTER},l.a.createElement("div",{className:Le.a.DIALOG_FOOTER_ACTIONS},h?l.a.createElement(c.c,{onClick:E},"Close"):l.a.createElement(l.a.Fragment,null,l.a.createElement(c.c,{disabled:p,onClick:E},"Cancel"),l.a.createElement(c.c,{intent:"primary",loading:p,onClick:v},"Request Approval"))))))},Jj=a(324),Qj=Object.defineProperty,Zj=Object.defineProperties,Xj=Object.getOwnPropertyDescriptors,ek=Object.getOwnPropertySymbols,tk=Object.prototype.hasOwnProperty,ak=Object.prototype.propertyIsEnumerable,nk=(e,t,a)=>t in e?Qj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,lk=(e,t)=>{for(var a in t||(t={}))tk.call(t,a)&&nk(e,a,t[a]);if(ek)for(var a of ek(t))ak.call(t,a)&&nk(e,a,t[a]);return e},rk=(e,t)=>Zj(e,Xj(t));a(1532),a(1533);var ok=Object.defineProperty,ik=Object.defineProperties,sk=Object.getOwnPropertyDescriptors,ck=Object.getOwnPropertySymbols,uk=Object.prototype.hasOwnProperty,mk=Object.prototype.propertyIsEnumerable,dk=(e,t,a)=>t in e?ok(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,pk=(e,t)=>{for(var a in t||(t={}))uk.call(t,a)&&dk(e,a,t[a]);if(ck)for(var a of ck(t))mk.call(t,a)&&dk(e,a,t[a]);return e},bk=(e,t)=>ik(e,sk(t));const hk=e=>{var t;const{chunkName:a,initialData:r,viewData:c}=e,m=((e,t)=>{const{loginData:a,communityData:l,locationData:r,scopeData:o,featureFlags:i,initialNotificationsData:s,dismissedUserDismissables:c}=e,{pageData:u}=t,[m]=Object(n.useState)(a),[d]=Object(n.useState)(r),[p]=Object(n.useState)(u),[b,h]=Object(n.useState)(l),[g,f]=Object(n.useState)(o),[y]=Object(n.useState)(()=>new Jj.a("apa-7","count",{})),[v,E]=Object(n.useState)(Object(Db.b)(m)),O=Object(n.useMemo)(()=>Object(ec.c)({scopeData:g,locationData:d,featureFlags:i}),[g,d,i]);return{loginData:m,locationData:d,communityData:b,scopeData:g,pageData:p,updateCommunity:e=>{"function"==typeof e&&(e=e(b)),h(t=>lk(lk({},t),e))},updateCollection:e=>{const{activeCollection:t}=g.elements;if(t){"function"==typeof e&&(e=e(t));const a=lk(lk({},t),e);f(e=>rk(lk({},e),{elements:rk(lk({},g.elements),{activeCollection:a})}))}},noteManager:y,featureFlags:i,initialNotificationsData:s,dashboardMenu:O,dismissedUserDismissables:c,gdprConsent:v,setGdprConsent:E}})(r,c),{communityData:d,locationData:p,scopeData:b,loginData:h,featureFlags:g,gdprConsent:f}=m,{analyticsSettings:y}=d,v=he({canUseCustomAnalyticsProvider:Object(ee.a)(g),analyticsSettings:y,gdprConsent:f,locationData:p});Pe({analyticsInstance:v,initialData:r,viewData:c,gdprConsent:f});const w=((e,t,a)=>({About:{ActiveComponent:ct,hideNav:t.isBasePubPub},Collection:{ActiveComponent:ut},CommunityCreate:{ActiveComponent:kt,hideNav:!0,hideHeader:!!(null==e?void 0:e.hubData),hideFooter:!0},CommunityServices:{ActiveComponent:Ft,hideNav:!0,hideFooter:!0},DashboardActivity:{ActiveComponent:ja,isDashboard:!0},DashboardDiscussions:{ActiveComponent:on,isDashboard:!0},DashboardEdges:{ActiveComponent:tl,isDashboard:!0},DashboardFacets:{ActiveComponent:al,isDashboard:!0},DashboardImpact:{ActiveComponent:xl,isDashboard:!0},DashboardImpact2:{ActiveComponent:Kl,isDashboard:!0},DashboardMembers:{ActiveComponent:Xl,isDashboard:!0},DashboardCommunityOverview:{ActiveComponent:Lo,isDashboard:!0},DashboardCollectionOverview:{ActiveComponent:No,isDashboard:!0},DashboardCuratedBy:{ActiveComponent:nn,isDashboard:!0},DashboardPubOverview:{ActiveComponent:_o,isDashboard:!0},DashboardPages:{ActiveComponent:mi,isDashboard:!0},DashboardPage:{ActiveComponent:Zo,isDashboard:!0},DashboardReviews:{ActiveComponent:ki,isDashboard:!0},DashboardReview:{ActiveComponent:ji,isDashboard:!0},DashboardSettings:{ActiveComponent:ou,isDashboard:!0},DashboardSubmissions:{ActiveComponent:_u,isDashboard:!0},DashboardSubmissionWorkflow:{ActiveComponent:Xm,isDashboard:!0},DashboardCollectionLayout:{ActiveComponent:Wa,isDashboard:!0},DashboardCustomScripts:{ActiveComponent:rn,isDashboard:!0},Explore:{ActiveComponent:ad,hideNav:!0},Landing:{ActiveComponent:kb,hideNav:!0},Legal:{ActiveComponent:ah,hideNav:t.isBasePubPub},Login:{ActiveComponent:rh,hideNav:!0,hideFooter:!0},NoMatch:{ActiveComponent:oh,hideNav:t.isBasePubPub,hideFooter:!0},HubData:{ActiveComponent:bb,hideNav:!0,hideHeader:!0,hideFooter:!0},HubDirectory:{ActiveComponent:hb,hideNav:t.isBasePubPub},HubDocs:{ActiveComponent:yb,hideNav:t.isBasePubPub},HubLanding:{ActiveComponent:Ob,hideNav:!0,hideHeader:!0,hideFooter:!0},HubPricing:{ActiveComponent:Cb,hideNav:t.isBasePubPub},Page:{ActiveComponent:ih},PasswordReset:{ActiveComponent:sh,hideNav:!0,hideFooter:!0},Pricing:{ActiveComponent:ch,hideNav:!0,hideFooter:!0},Pub:{ActiveComponent:xw},Search2:{ActiveComponent:Bw,hideNav:t.isBasePubPub,hideFooter:!0},Signup:{ActiveComponent:$w,hideNav:!0,hideFooter:!0},SuperAdminDashboard:{ActiveComponent:Aj,hideNav:!0,hideFooter:!0,hideHeader:!0},User:{ActiveComponent:Wj,hideNav:t.isBasePubPub},UserCreate:{ActiveComponent:Gj,hideNav:t.isBasePubPub,hideFooter:!0}}[a]))(c,p,a),{ActiveComponent:C,hideNav:N,hideFooter:j,hideHeader:k,isDashboard:S}=w,P=d.cmsMode&&b.activePermissions.canViewCommunity&&("Page"===a||"Collection"===a||"Pub"===a&&!!(null==(t=c.pubData)?void 0:t.isRelease));"undefined"!=typeof window&&(window.__pubpub_pageContextProps__=m);const D=g["minimal-header"],I=g["minimal-footer"],R=g["two-column-footer"],F=g["collapsible-header"],z=g["collapsible-header-bpc"],$=!(N||d.hideNav||S||D||F||z),_=!j&&!S,H=!k;let V,G;return V=D&&!S?l.a.createElement(U,bk(pk({},B),{locationData:p,loginData:h})):F&&!S?l.a.createElement(E,pk({},O)):z&&!S?l.a.createElement(T,pk({}
1,x)):l.a.createElement(A.M,null),G=I&&!S?l.a.createElement(M,bk(pk({},L),{communityData:d})):R&&!S?l.a.createElement(q,bk(pk({},W),{showEmailCallToAction:!0,showInvestorLogos:!0})):l.a.createElement(A.J,null),l.a.createElement(De.a.Provider,{value:m},l.a.createElement(s.a,{instance:v},l.a.createElement(A.H,{options:{currentScope:b.scope,cascadeResults:b.facets}},l.a.createElement(i.a,null,l.a.createElement("div",{id:"app",className:o()({dashboard:S})},d.spamTag&&"confirmed-not-spam"!==d.spamTag.status&&l.a.createElement(Kj,{spamTag:d.spamTag,communityId:d.id,canAdminCommunity:b.activePermissions.canAdminCommunity}),l.a.createElement(A.a,{communityData:d,isNavHidden:!$}),(p.isDuqDuq||p.isQubQub)&&l.a.createElement("div",{className:"duqduq-warning"},"Development Environment"),l.a.createElement(A.Kb,{targetId:"main-content"},"Skip to main content"),l.a.createElement(A.U,null),H&&V,$&&l.a.createElement(A.fb,null),P&&l.a.createElement(st,null),S&&l.a.createElement(A.eb,{mobile:({className:e})=>l.a.createElement(Te,{isMobile:!0,className:e}),desktop:({className:e})=>l.a.createElement(l.a.Fragment,null,l.a.createElement(Yj,{className:e}),l.a.createElement(it,{className:e}))}),l.a.createElement("div",{id:"main-content",tabIndex:-1},l.a.createElement(C,pk({},c))),_&&G)),l.a.createElement(u,null))))};t.default=hk;(e=>{if("undefined"!=typeof window&&("http://localhost:9001"!==(t=window).location.origin&&"react"!==t.STORYBOOK_ENV)){const t=(X||(X=JSON.parse(document.getElementById("initial-data").getAttribute("data-json"))),X),{isProd:a,isDuqDuq:n,isQubQub:r,appCommit:o}=t.locationData;Object(Z.f)(a,n,r),Object(Z.e)(o),K.a.onlyShowFocusOnTabs(),window.navigator&&navigator.serviceWorker&&navigator.serviceWorker.getRegistrations().then(e=>{e.forEach(e=>{e.unregister()})});const i=JSON.parse(document.getElementById("view-data").getAttribute("data-json")),s=JSON.parse(document.getElementById("chunk-name").getAttribute("data-json"));(e=>e.location.origin.indexOf("localhost:")>-1)(window)||(window.sentryIsActive=!0,J.a({dsn:"https://[email protected]/4504532925349888",environment:a?"prod":"dev",release:o}),Q.h({id:t.loginData.id,username:t.loginData.slug})),Object(G.hydrate)(l.a.createElement(e,{initialData:t,viewData:i,chunkName:s}),document.getElementById("root"))}var t})(hk)}]);
2//# sourceMappingURL=main.f1fcc49a2afba65af244.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.