@rcsb/rcsb-statistics 0.3.41-dev.2 → 0.4.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rcsb/rcsb-statistics",
3
- "version": "0.3.41-dev.2",
3
+ "version": "0.4.0-dev.0",
4
4
  "private": false,
5
5
  "files": [
6
6
  "build"
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[109],{9109(e,n,t){t.r(n),t.d(n,{default:()=>l});var r=t(6540),i=t(2390);const a=[{year:2025,legacyArchiveSnapshot:"1583 GB for 246,905 PDB structures",versionedArchive:"298 GB",emdbCoreArchive:"29 TB for 52,944 EMDB entries"},{year:2024,legacyArchiveSnapshot:"1437 GB for 229,564 PDB structures",versionedArchive:"269 GB",emdbCoreArchive:"21 TB for 41,282 EMDB entries"},{year:2023,legacyArchiveSnapshot:"1242 GB for 214,121 PDB structures",versionedArchive:"231 GB",emdbCoreArchive:"13 TB for 32,033 EMDB entries"},{year:2022,legacyArchiveSnapshot:"1086 GB for 199,755 PDB structures",versionedArchive:"218 GB",emdbCoreArchive:"7.5 TB for 25,319 EMDB entries"},{year:2021,legacyArchiveSnapshot:"923 GB for 185,541 PDB structures",versionedArchive:"174 GB",emdbCoreArchive:"4.5 TB for 18,059 EMDB entries"},{year:2020,legacyArchiveSnapshot:"822 GB for 173,005 PDB structures",versionedArchive:"148 GB",emdbCoreArchive:"2.9 TB for 13,731 EMDB entries"},{year:2019,legacyArchiveSnapshot:"577 GB for 159,140 PDB structures",versionedArchive:"117 GB",emdbCoreArchive:"1.7 TB for 10,370 EMDB entries"},{year:2018,legacyArchiveSnapshot:"441 GB for 136,472 PDB structures",versionedArchive:"85 GB",emdbCoreArchive:"592 GB for 5,753 EMDB entries"}],o=[{year:2025,size:"366 TB"},{year:2024,size:"279 TB"},{year:2023,size:"232 TB"},{year:2022,size:"170 TB"},{year:2021,size:"109 TB"}],l=()=>r.createElement("article",{className:"col-12"},r.createElement(i.hx,null,"Data Storage Growth"),r.createElement("section",{className:"mb-5","aria-labelledby":"core-archive-holdings-title"},r.createElement("h3",{id:"core-archive-holdings-title",className:"h4"},"PDB Core Archive and Related Holdings (single copy)"),r.createElement("div",{className:"table-responsive"},r.createElement("table",{className:"table table-condensed table-bordered dt-responsive nowrap",cellSpacing:0,width:"100%"},r.createElement("caption",{className:"visually-hidden"},"Annual size of the PDB legacy archive snapshot, the PDB versioned archive, and the EMDB Core Archive."),r.createElement("thead",null,r.createElement("tr",{className:"light-gray"},r.createElement("th",{scope:"col"},"Year"),r.createElement("th",{scope:"col"},"Size of PDB legacy archive snapshot"),r.createElement("th",{scope:"col"},"Size of PDB versioned archive"),r.createElement("th",{scope:"col"},"Size of EMDB Core Archive"))),r.createElement("tbody",null,a.map(e=>r.createElement("tr",{key:e.year},r.createElement("td",null,e.year),r.createElement("td",null,e.legacyArchiveSnapshot),r.createElement("td",null,e.versionedArchive),r.createElement("td",null,e.emdbCoreArchive))))))),r.createElement("section",{"aria-labelledby":"total-storage-holdings-title"},r.createElement("h3",{id:"total-storage-holdings-title",className:"h4"},"Total RCSB PDB Storage Holdings"),r.createElement("p",null,"All copies of the PDB Core Archive, including AWS, EMDB Core Archive RCSB PDB OneDep sessions, RCSB.org, PDB101.RCSB.org."),r.createElement("div",{className:"table-responsive"},r.createElement("table",{className:"table table-condensed table-bordered dt-responsive nowrap",cellSpacing:0,width:"100%"},r.createElement("caption",{className:"visually-hidden"},"Annual total size of all RCSB PDB storage holdings."),r.createElement("thead",null,r.createElement("tr",{className:"light-gray"},r.createElement("th",{scope:"col"},"Year"),r.createElement("th",{scope:"col"},"Size"))),r.createElement("tbody",null,o.map(e=>r.createElement("tr",{key:e.year},r.createElement("td",null,e.year),r.createElement("td",null,e.size))))))))},2390(e,n,t){t.d(n,{C:()=>ne,G:()=>_,Gw:()=>J,Kb:()=>$,MV:()=>F,NF:()=>U,Nk:()=>H,OV:()=>R,Q3:()=>j,RZ:()=>X,Tu:()=>O,VT:()=>V,Yg:()=>q,at:()=>Q,hf:()=>ie,hx:()=>K,ne:()=>L,ou:()=>W,ph:()=>Z,rI:()=>te,rh:()=>I,tJ:()=>re,tf:()=>ee,tt:()=>M,vE:()=>Y});var r,i,a,o,l,s,c,d,p,m,h,f,g,b,v,y,u,x,A,B,E,D,w,z,C,S,k,P=t(3679),N=t(1105);function G(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}const T=(0,P.i7)(r||(r=G(["\n from {\n opacity: .5;\n transform: translateZ(0) scale(0.999);\n }\n to {\n opacity: 1;\n transform: translateZ(0) scale(1);\n }\n"]))),M=P.Ay.div(i||(i=G(["\n animation: "," .5s ease-in;\n will-change: opacity, transform;\n"])),T),$=P.Ay.div(a||(a=G([" \n display: flex;\n justify-content: flex-end;\n margin-top: -10px;\n"]))),j=P.Ay.div.attrs(()=>({as:"div"}))(o||(o=G(["\n margin-top: 35px;\n padding-top: 10px;\n border-top: 1px solid #ccc;\n margin-right: 200px;\n"]))),R=P.Ay.button(l||(l=G(["\n display: flex;\n align-items: center;\n justify-content: center;\n border: 1px solid #e7e7e7;\n border-radius: 3px;\n padding: 3px 5px;\n\n & svg { \n margin-right: 5px; \n }\n"]))),H=P.Ay.div(s||(s=G(["\n padding-left: 25px;\n margin-top: 60px;\n"]))),_=(0,P.Ay)(N.A)(c||(c=G(["\n margin-top: 60px;\n"]))),O=P.Ay.div(d||(d=G(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 5px;\n"]))),Y=P.Ay.div(p||(p=G(["\n background-color: #f0f0f0;\n border: ",";\n padding: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ",";\n filter: ",";\n\n ","\n"])),e=>e.selected?"1px solid black":"1px solid #fff",e=>e.disabled?"#bbb":"#606060",e=>e.disabled?"grayscale(30%) blur(0.5px)":"none",e=>!e.disabled&&"\n &:hover {\n background-color: #e0e0e0;\n border: 1px solid #808080;\n cursor: pointer;\n }\n "),V=P.Ay.div(m||(m=G(["\n display: flex;\n align-items: center;\n margin-bottom: 5px;\n min-width: 170px;\n"]))),Z=P.Ay.input(h||(h=G(["\n margin-right: 20px;\n"]))),J=P.Ay.label(f||(f=G(["\n font-size: 12px;\n margin-left: 5px;\n font-weight: normal;\n margin-bottom: 0 !important;\n"]))),F=P.Ay.div(g||(g=G(["\n font-weight: bold;\n font-size: 1.2em;\n margin-bottom: 15px;\n"]))),I=P.Ay.div(b||(b=G(["\n width: auto;\n height: 550px;\n margin-bottom: 180px;\n margin-left: -15px;\n"]))),K=P.Ay.h1(v||(v=G(["\n display: block;\n margin: 0;\n padding: 0 0 29px;\n font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;\n font-size: 18px;\n font-weight: bold;\n color: #333;\n text-align: start;\n"]))),Q=P.Ay.div(y||(y=G(["\n position: relative;\n height: calc(100% - 62px);\n"]))),U=P.Ay.div(u||(u=G(["\n margin-top: 20px;\n min-width: 170px;\n label {\n font-size: 12px;\n font-weight: normal;\n margin-left: 5px;\n margin-bottom: 0 !important;\n margin-top: 4px !important;\n }\n .form-check {\n display: flex;\n align-items: center;\n }\n"]))),W=P.Ay.div(x||(x=G(["\n margin-bottom: 35px;\n"]))),q=P.Ay.div(A||(A=G(["\n font-weight: bold;\n margin-bottom: 5px;\n"]))),L=(P.Ay.div(B||(B=G(["\n width: 100%;\n\n\n .col-md-10{\n width: 90% !important;\n }\n\n .col-md-10 > div:first-child {\n height: 80vh !important;\n }\n\n .col-md-2{\n width: 0 !important;\n }\n"]))),P.Ay.div(E||(E=G(["\n display: block;\n font-size: 18px;\n font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;\n font-weight: bold;\n color: #333;\n padding-top: 0;\n padding-bottom: 15px;\n text-align: start;\n margin-top: -2px;\n"])))),X=P.Ay.div(D||(D=G(["\n position: relative;\n display: inline-block;\n cursor: pointer;\n\n &:hover ul {\n display: block;\n top:-5px;\n margin-left:15px\n }\n"]))),ee=P.Ay.div(w||(w=G(["\n position: relative;\n display: inline-block;\n cursor: ",";\n opacity: ",";\n pointer-events: ",";\n filter: ",";\n color: ",";\n\n &:hover ul {\n display: ",";\n top: -5px;\n margin-left: 15px;\n }\n"])),e=>e.disabled?"not-allowed":"pointer",e=>e.disabled?.4:1,e=>e.disabled?"none":"auto",e=>e.disabled?"grayscale(30%) blur(0.5px)":"none",e=>e.disabled?"#bbb":"inherit",e=>e.disabled?"none":"block"),ne=P.Ay.div(z||(z=G(["\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n\n .triangle {\n width: 8px;\n aspect-ratio: 1;\n clip-path: polygon(0 0, 100% 0, 50% 70%);\n background-color: #999;\n position: absolute;\n right: -9px;\n top: 50%;\n transform: translateY(-10%);\n transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);\n }\n\n &:hover .triangle {\n transform: translateY(0.2rem);\n }\n"]))),te=P.Ay.ul(C||(C=G(["\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n min-width: 160px;\n padding: 2px 0;\n margin: 0;\n font-size: 14px;\n color: #333;\n text-align: left;\n list-style: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n\n ",":hover & {\n display: block;\n }\n\n & > li.disabled {\n pointer-events: none;\n color: #ccc;\n }\n\n & > li:not(.disabled):hover {\n background-color: #f8f9fa;\n }\n"])),X),re=P.Ay.li(S||(S=G(["\n padding: 8px 20px;\n display: flex;\n align-items: center;\n cursor: pointer;\n white-space: nowrap;\n\n &:hover {\n background-color: #f1f1f1;\n }\n"]))),ie=P.Ay.span(k||(k=G(["\n margin-left: 8px;\n font-size: 14px;\n color: #333;\n margin-right: 5px;\n"])))},1105(e,n,t){t.d(n,{A:()=>c});var r=t(6942),i=t.n(r),a=t(6540),o=t(6519),l=t(4848);const s=a.forwardRef((e,n)=>{const[{className:t,...r},{as:a="div",bsPrefix:s,spans:c}]=function({as:e,bsPrefix:n,className:t,...r}){n=(0,o.oU)(n,"col");const a=(0,o.gy)(),l=(0,o.Jm)(),s=[],c=[];return a.forEach(e=>{const t=r[e];let i,a,o;delete r[e],"object"==typeof t&&null!=t?({span:i,offset:a,order:o}=t):i=t;const d=e!==l?`-${e}`:"";i&&s.push(!0===i?`${n}${d}`:`${n}${d}-${i}`),null!=o&&c.push(`order${d}-${o}`),null!=a&&c.push(`offset${d}-${a}`)}),[{...r,className:i()(t,...s,...c)},{as:e,bsPrefix:n,spans:s}]}(e);return(0,l.jsx)(a,{...r,ref:n,className:i()(t,!c.length&&s)})});s.displayName="Col";const c=s}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[317],{7317(e,t,n){n.r(t),n.d(t,{default:()=>E});var r=n(6540),a=n(7638);const o=async(e,t)=>{var n;return(async(e,t)=>{const n="".concat(t.replace(/\/$/,""),"/rcsbsearch/v2/query"),r=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!r.ok)throw new Error(r.statusText);return r.json()})(e,null==t||null===(n=t.config)||void 0===n?void 0:n.searchApiUrl)},l={request_info:{query_id:"ligand_complex_stats_any_ligand",src:"ui"},request_options:{results_content_type:["experimental"]},return_type:"entry",query:{type:"terminal",service:"text",parameters:{attribute:"rcsb_entry_info.nonpolymer_entity_count",operator:"greater",value:0}}},i=[l,{request_info:{query_id:"ligand_complex_stats_mv100",src:"ui"},return_type:"entry",request_options:{results_content_type:["experimental"]},query:{type:"group",logical_operator:"and",nodes:[l.query,{type:"terminal",service:"text_chem",parameters:{attribute:"chem_comp.formula_weight",operator:"range",value:{from:100,to:300,include_lower:!0,include_upper:!0}}}]}},{request_info:{query_id:"ligand_complex_stats_mv300",src:"ui"},return_type:"entry",request_options:{results_content_type:["experimental"]},query:{type:"group",logical_operator:"and",nodes:[l.query,{type:"terminal",service:"text_chem",parameters:{attribute:"chem_comp.formula_weight",operator:"range",value:{from:300,to:500,include_lower:!0,include_upper:!0}}}]}},{request_info:{query_id:"ligand_complex_stats_mv500",src:"ui"},return_type:"entry",request_options:{results_content_type:["experimental"]},query:{type:"group",logical_operator:"and",nodes:[l.query,{type:"terminal",service:"text_chem",parameters:{attribute:"chem_comp.formula_weight",operator:"range",value:{from:500,to:1200,include_lower:!0,include_upper:!0}}}]}},{request_info:{query_id:"ligand_complex_stats_loi",src:"ui"},return_type:"entry",request_options:{results_content_type:["experimental"]},query:{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_nonpolymer_entity_annotation.comp_id",operator:"exists"}},{type:"terminal",service:"text",parameters:{attribute:"rcsb_nonpolymer_entity_annotation.type",operator:"exact_match",value:"SUBJECT_OF_INVESTIGATION"}}]}},{request_info:{query_id:"ligand_complex_stats_bird",src:"ui"},return_type:"entry",request_options:{results_content_type:["experimental"]},query:{type:"terminal",service:"text_chem",parameters:{attribute:"pdbx_reference_molecule.prd_id",operator:"exists"}}},{request_info:{query_id:"ligand_complex_stats_branched_entities",src:"ui"},return_type:"entry",request_options:{results_content_type:["experimental"]},query:{type:"terminal",service:"text",parameters:{attribute:"pdbx_entity_branch.type",operator:"exact_match",value:"oligosaccharide"}}}],s=["any non-polymer small molecules","non-polymer small molecules of 100-300 Da","non-polymer small molecules of 300-500 Da","non-polymer small molecules of 500-1200 Da","author-designated Ligand/s of Interest","a biologically interesting short oligomer or oligomer-like BIRD molecules","with branched entities of oligosaccharides"],c={request_options:{paginate:{start:0,rows:0},results_content_type:["experimental"],facets:[{filter:{type:"terminal",service:"text",parameters:{attribute:"exptl.method",operator:"exact_match",value:"ELECTRON MICROSCOPY"}},facets:[{filter:{type:"terminal",service:"text",parameters:{attribute:"pdbx_database_related.content_type",operator:"exact_match",value:"associated EM volume"}},facets:[{filter:{type:"terminal",service:"text",parameters:{attribute:"pdbx_database_related.db_name",operator:"exact_match",value:"EMDB"}},facets:[{name:"pdbx_database_related.db_id",aggregation_type:"cardinality",attribute:"pdbx_database_related.db_id"}]}]}]}]},return_type:"entry"},u={query:{type:"group",logical_operator:"and",nodes:[{type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{operator:"exact_match",value:"ELECTRON MICROSCOPY",attribute:"exptl.method"}},{type:"terminal",service:"text",parameters:{operator:"exact_match",value:"EMDB",attribute:"pdbx_database_related.db_name"}},{type:"terminal",service:"text",parameters:{operator:"exact_match",value:"associated EM volume",attribute:"pdbx_database_related.content_type"}}]}]},return_type:"entry",request_options:{results_content_type:["experimental"]}},p=[{key:"exptl-data-counts-info",title:"Experimental Data Counts Info",description:"Experimental Data Counts Info Description",return_type:"entry",facets:[{name:"rcsb_repository_holdings_current.repository_content_types",aggregation_type:"terms",attribute:"rcsb_repository_holdings_current.repository_content_types"}]}],d=e=>{const t={type:"group",logical_operator:"and",nodes:[{type:"terminal",service:"text",parameters:{attribute:"rcsb_repository_holdings_current.repository_content_types",operator:"exact_match",value:e}}]},n={};return n.query=t,n.return_type="entry",n.request_info={src:"ui",query_id:"stats"},encodeURIComponent(JSON.stringify(n))},m={return_type:"entry",request_options:{facets:[{name:"rcsb_entry_info.experimental_method",aggregation_type:"terms",attribute:"rcsb_entry_info.experimental_method",facets:[{name:"rcsb_entry_info.selected_polymer_entity_types",aggregation_type:"terms",attribute:"rcsb_entry_info.selected_polymer_entity_types"}]}],paginate:{start:0,rows:0}}};function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,i=[],s=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=o.call(n)).done)&&(i.push(r.value),i.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(c)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}const b=e=>e instanceof Error?e.message:String(e);var h=n(6637),_=n(2390);function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}const v=["Protein (only)","Protein/Oligosaccharide","Protein/NA","Nucleic acid (only)","Other","Oligosaccharide (only)"],x=e=>{let t=e.count,n=void 0===t?3:t;return r.createElement(r.Fragment,null,Array.from({length:n},(e,t)=>r.createElement(h.kD,{key:"summary-loading-row-".concat(t)})))},E=()=>{const e=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3;const t=(0,a.t)().settings,n=y((0,r.useState)([]),2),l=n[0],f=n[1],h=y((0,r.useState)([]),2),_=h[0],g=h[1],v=y((0,r.useState)(null),2),x=v[0],E=v[1],w=y((0,r.useState)([]),2),N=w[0],A=w[1],S=y((0,r.useState)(!0),2),q=S[0],k=S[1],U=y((0,r.useState)(null),2),I=U[0],C=U[1];return(0,r.useEffect)(()=>{let n=!1;return(async()=>{const r=Math.max(1,Math.floor(Number.isFinite(e)?e:3)),a=new Array(i.length);let l,y,h=null,_=null;const v=()=>{_&&!n&&g(((e,t)=>{const n=[];return e.forEach(e=>{"structure factors"===e.label?n.push({label:"have a structure factor file",population:e.population,searchUrl:d(e.label)}):"NMR restraints V1"===e.label?n.push({label:"have an NMR restraint file",population:e.population,searchUrl:d(e.label)}):"NMR chemical shifts"===e.label?n.push({label:"have a chemical shifts file",population:e.population,searchUrl:d(e.label)}):"Combined NMR data (NEF)"===e.label&&n.push({label:"have NMR unified data files (NEF and/or NMR-STAR format files)",population:e.population,searchUrl:d(e.label)})}),t&&n.push({label:t.label,population:t.population,searchUrl:encodeURIComponent(JSON.stringify(t.searchUrl))}),n})(_,null!=h?h:void 0))},x=()=>{void 0===l||void 0===y||n||(h={label:"".concat(y.toLocaleString("en-US")," 3DEM maps were used for the determination of "),population:l,searchUrl:u},E(h),v())},w=p[0],N={return_type:w.return_type||"entry",request_options:{paginate:{rows:0},facets:w.facets}},S=m,q=i.map((e,r)=>({label:s[r],run:async()=>{var l;const i=await o(e,t);n||(a[r]={label:s[r],population:Number(null!==(l=i.total_count)&&void 0!==l?l:0),searchUrl:e},f(a.filter(Boolean)))}})),U=[{label:"experimental data counts",run:async()=>{var e,r;const a=await o(N,t);n||(_=null!==(e=null==a||null===(r=a.facets)||void 0===r||null===(r=r[0])||void 0===r?void 0:r.buckets)&&void 0!==e?e:[],v())}},{label:"summary holdings data",run:async()=>{var e,r;const a=await o(S,t);if(n)return;const l=null!==(e=null==a||null===(r=a.facets)||void 0===r||null===(r=r[0])||void 0===r?void 0:r.buckets)&&void 0!==e?e:[];A(l)}},q[0],{label:"EMDB-associated PDB structures",run:async()=>{var e;const r=await o(u,t);n||(l=Number(null!==(e=r.total_count)&&void 0!==e?e:0),x())}},{label:"unique 3DEM maps",run:async()=>{var e,r;const a=await o(c,t);n||(y=Number(null!==(e=null==a||null===(r=a.facets)||void 0===r||null===(r=r[0])||void 0===r?void 0:r.value)&&void 0!==e?e:0),x())}},...q.slice(1)].filter(e=>Boolean(e));let I=U.length;k(!0),C(null),f([]),g([]),E(null),await(async()=>{let e=0;const t=Math.min(r,U.length);if(0===t)return void k(!1);const a=Array.from({length:t},async()=>{for(;!n;){const t=e;e+=1;const r=U[t];if(!r)return;try{await r.run()}catch(e){n||C(t=>{const n="".concat(r.label,": ").concat(b(e));return t?"".concat(t,"; ").concat(n):n})}finally{n||(I-=1,0===I&&k(!1))}}});await Promise.all(a)})()})().catch(e=>{n||(C(b(e)),k(!1))}),()=>{n=!0}},[t,e]),{ligandInfo:l,exptlInfo:_,emCounts:x,holdingsChartData:N,loading:q,error:I}}(3),t=e.ligandInfo,n=e.exptlInfo,l=e.emCounts,f=e.holdingsChartData,h=e.loading,E=e.error,w=e=>encodeURIComponent(JSON.stringify(e||{})),N=Boolean(l),A=N?n.slice(0,Math.max(0,n.length-1)):n,S=N?n[n.length-1]:null,q=Math.max(0,i.length-t.length),k=(R=(0,r.useState)({columnIndex:1,direction:"desc"}),P=2,function(e){if(Array.isArray(e))return e}(R)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,l,i=[],s=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=o.call(n)).done)&&(i.push(r.value),i.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(c)throw a}}return i}}(R,P)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(e,t):void 0}}(R,P)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),U=k[0],I=k[1],C=(e,t)=>{const n="rcsb_entry_info.experimental_method:".concat(e," AND rcsb_entry_info.selected_polymer_entity_types:").concat(t);return"/search?q=".concat(encodeURIComponent(n))},M=e=>{const t="rcsb_entry_info.selected_polymer_entity_types:".concat(e);return"/search?q=".concat(encodeURIComponent(t))},D=e=>{const t="rcsb_entry_info.experimental_method:".concat(e);return"/search?q=".concat(encodeURIComponent(t))},T=e=>{I(t=>t.columnIndex===e?{columnIndex:e,direction:"desc"===t.direction?"asc":"desc"}:{columnIndex:e,direction:"desc"})},O=(0,r.useMemo)(()=>{const e=v.map(e=>{const t=f.map(t=>((e,t)=>{var n,r,a;const o=(null!==(n=null==e||null===(r=e.facets)||void 0===r||null===(r=r[0])||void 0===r?void 0:r.buckets)&&void 0!==n?n:[]).find(e=>e.label===t);return o?Number(null!==(a=o.population)&&void 0!==a?a:0):0})(t,e));return{molecularType:e,rowCounts:t,rowTotal:t.reduce((e,t)=>e+t,0)}}),t=U.columnIndex;return 0===t?[...e].sort((e,t)=>e.molecularType<t.molecularType?"asc"===U.direction?-1:1:e.molecularType>t.molecularType?"asc"===U.direction?1:-1:0):[...e].sort((e,n)=>{var r,a;const o=null!==(r=e.rowCounts[t-1])&&void 0!==r?r:0,l=null!==(a=n.rowCounts[t-1])&&void 0!==a?a:0;return"asc"===U.direction?o-l:l-o})},[f,U]);var R,P;return r.createElement("div",null,r.createElement(_.hx,null,"PDB Data Distribution Summary"),E&&r.createElement("p",{style:{color:"red"}},E),r.createElement("div",{className:"table-responsive"},r.createElement("table",{className:"table table-condensed table-bordered dt-responsive nowrap",cellSpacing:0,width:"100%"},r.createElement("thead",null,r.createElement("tr",{className:"light-gray"},r.createElement("th",{onClick:()=>T(0),style:{cursor:"pointer"}},"Molecular Type",0===U.columnIndex?"desc"===U.direction?" ▼":" ▲":""),f.map((e,t)=>r.createElement("th",{key:t,className:"text-end",onClick:()=>T(t+1),style:{cursor:"pointer"}},e.label,U.columnIndex===t+1?"desc"===U.direction?" ▼":" ▲":"")),r.createElement("th",{className:"text-end font-weight-bold"},"Total"))),r.createElement("tbody",null,O.map(e=>r.createElement("tr",{key:e.molecularType},r.createElement("td",null,e.molecularType),e.rowCounts.map((t,n)=>r.createElement("td",{key:"".concat(e.molecularType,"-").concat(n),className:"text-end"},t>0?r.createElement("a",{href:C(f[n].label,e.molecularType)},t.toLocaleString("en-US")):0)),r.createElement("td",{className:"text-end"},r.createElement("a",{href:M(e.molecularType)},e.rowTotal.toLocaleString("en-US")))))),r.createElement("tfoot",null,r.createElement("tr",{className:"bg-info"},r.createElement("td",null,"Total"),f.map((e,t)=>{var n;return r.createElement("td",{key:t,className:"text-end"},r.createElement("a",{href:D(e.label)},Number(null!==(n=e.population)&&void 0!==n?n:0).toLocaleString("en-US")))}),r.createElement("td",{className:"text-end"},f.reduce((e,t)=>{var n;return e+Number(null!==(n=t.population)&&void 0!==n?n:0)},0).toLocaleString("en-US")))))),r.createElement("div",{className:"row",style:{marginTop:"10px"}},r.createElement("div",{className:"col-lg-12 col-md-12 col-sm-12"},r.createElement("p",null,r.createElement("strong",null,"Multiple Methods:")," Atomic structures substantially underpinned by more than one experimental method currently supported by the PDB archive (NMR, 3DEM, or crystallography/diffraction) with or without some additional data provided by currently unsupported methods."),r.createElement("p",null,r.createElement("strong",null,"Integrative Methods:")," Atomic structures with all data coming from currently unsupported methods by the PDB, or only partially underpinned by an experimental method currently supported by the PDB, or partially/entirely non-atomic structures supported by the PDB-IHM."))),r.createElement("div",{className:"row"},r.createElement("div",{className:"col-lg-6 col-md-6 col-sm-12"},r.createElement("h4",null,"PDB Structures with Experimental Data"),r.createElement("div",{className:"list-group"},n&&n.length>0?r.createElement(r.Fragment,null,A.map((e,t)=>r.createElement("div",{key:t},r.createElement("div",null,r.createElement("a",{href:"/search?request=".concat("string"==typeof e.searchUrl?e.searchUrl:w(e.searchUrl))},Number(e.population).toLocaleString("en-US"))),r.createElement("div",null,e.label))),S&&r.createElement("div",null,S.label," ",r.createElement("a",{href:"/search?request=".concat("string"==typeof S.searchUrl?S.searchUrl:w(S.searchUrl))},Number(S.population).toLocaleString("en-US"))," PDB structures"),h&&!S&&r.createElement(x,{count:1})):h?r.createElement(x,null):r.createElement("div",null,"No experimental data counts available."))),r.createElement("div",{className:"col-lg-6 col-md-6 col-sm-12"},r.createElement("h4",null,"PDB Structures with Small Molecule Data"),r.createElement("div",{className:"list-group"},t&&t.length>0?r.createElement(r.Fragment,null,t.map((e,t)=>r.createElement("div",{key:t},r.createElement("div",null,r.createElement("a",{href:"/search?request=".concat("string"==typeof e.searchUrl?e.searchUrl:w(e.searchUrl))},Number(e.population).toLocaleString("en-US"))),r.createElement("div",null,e.label))),h&&q>0&&r.createElement(x,{count:Math.min(3,q)})):h?r.createElement(x,null):r.createElement("div",null,"No ligand data available.")))))}},2390(e,t,n){n.d(t,{C:()=>te,G:()=>B,Gw:()=>J,Kb:()=>O,MV:()=>H,NF:()=>Z,Nk:()=>j,OV:()=>P,Q3:()=>R,RZ:()=>X,Tu:()=>$,VT:()=>L,Yg:()=>Q,at:()=>G,hf:()=>ae,hx:()=>Y,ne:()=>W,ou:()=>K,ph:()=>F,rI:()=>ne,rh:()=>V,tJ:()=>re,tf:()=>ee,tt:()=>T,vE:()=>z});var r,a,o,l,i,s,c,u,p,d,m,y,f,b,h,_,g,v,x,E,w,N,A,S,q,k,U,I=n(3679),C=n(1105);function M(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const D=(0,I.i7)(r||(r=M(["\n from {\n opacity: .5;\n transform: translateZ(0) scale(0.999);\n }\n to {\n opacity: 1;\n transform: translateZ(0) scale(1);\n }\n"]))),T=I.Ay.div(a||(a=M(["\n animation: "," .5s ease-in;\n will-change: opacity, transform;\n"])),D),O=I.Ay.div(o||(o=M([" \n display: flex;\n justify-content: flex-end;\n margin-top: -10px;\n"]))),R=I.Ay.div.attrs(()=>({as:"div"}))(l||(l=M(["\n margin-top: 35px;\n padding-top: 10px;\n border-top: 1px solid #ccc;\n margin-right: 200px;\n"]))),P=I.Ay.button(i||(i=M(["\n display: flex;\n align-items: center;\n justify-content: center;\n border: 1px solid #e7e7e7;\n border-radius: 3px;\n padding: 3px 5px;\n\n & svg { \n margin-right: 5px; \n }\n"]))),j=I.Ay.div(s||(s=M(["\n padding-left: 25px;\n margin-top: 60px;\n"]))),B=(0,I.Ay)(C.A)(c||(c=M(["\n margin-top: 60px;\n"]))),$=I.Ay.div(u||(u=M(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 5px;\n"]))),z=I.Ay.div(p||(p=M(["\n background-color: #f0f0f0;\n border: ",";\n padding: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ",";\n filter: ",";\n\n ","\n"])),e=>e.selected?"1px solid black":"1px solid #fff",e=>e.disabled?"#bbb":"#606060",e=>e.disabled?"grayscale(30%) blur(0.5px)":"none",e=>!e.disabled&&"\n &:hover {\n background-color: #e0e0e0;\n border: 1px solid #808080;\n cursor: pointer;\n }\n "),L=I.Ay.div(d||(d=M(["\n display: flex;\n align-items: center;\n margin-bottom: 5px;\n min-width: 170px;\n"]))),F=I.Ay.input(m||(m=M(["\n margin-right: 20px;\n"]))),J=I.Ay.label(y||(y=M(["\n font-size: 12px;\n margin-left: 5px;\n font-weight: normal;\n margin-bottom: 0 !important;\n"]))),H=I.Ay.div(f||(f=M(["\n font-weight: bold;\n font-size: 1.2em;\n margin-bottom: 15px;\n"]))),V=I.Ay.div(b||(b=M(["\n width: auto;\n height: 550px;\n margin-bottom: 180px;\n margin-left: -15px;\n"]))),Y=I.Ay.h1(h||(h=M(["\n display: block;\n margin: 0;\n padding: 0 0 29px;\n font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;\n font-size: 18px;\n font-weight: bold;\n color: #333;\n text-align: start;\n"]))),G=I.Ay.div(_||(_=M(["\n position: relative;\n height: calc(100% - 62px);\n"]))),Z=I.Ay.div(g||(g=M(["\n margin-top: 20px;\n min-width: 170px;\n label {\n font-size: 12px;\n font-weight: normal;\n margin-left: 5px;\n margin-bottom: 0 !important;\n margin-top: 4px !important;\n }\n .form-check {\n display: flex;\n align-items: center;\n }\n"]))),K=I.Ay.div(v||(v=M(["\n margin-bottom: 35px;\n"]))),Q=I.Ay.div(x||(x=M(["\n font-weight: bold;\n margin-bottom: 5px;\n"]))),W=(I.Ay.div(E||(E=M(["\n width: 100%;\n\n\n .col-md-10{\n width: 90% !important;\n }\n\n .col-md-10 > div:first-child {\n height: 80vh !important;\n }\n\n .col-md-2{\n width: 0 !important;\n }\n"]))),I.Ay.div(w||(w=M(["\n display: block;\n font-size: 18px;\n font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;\n font-weight: bold;\n color: #333;\n padding-top: 0;\n padding-bottom: 15px;\n text-align: start;\n margin-top: -2px;\n"])))),X=I.Ay.div(N||(N=M(["\n position: relative;\n display: inline-block;\n cursor: pointer;\n\n &:hover ul {\n display: block;\n top:-5px;\n margin-left:15px\n }\n"]))),ee=I.Ay.div(A||(A=M(["\n position: relative;\n display: inline-block;\n cursor: ",";\n opacity: ",";\n pointer-events: ",";\n filter: ",";\n color: ",";\n\n &:hover ul {\n display: ",";\n top: -5px;\n margin-left: 15px;\n }\n"])),e=>e.disabled?"not-allowed":"pointer",e=>e.disabled?.4:1,e=>e.disabled?"none":"auto",e=>e.disabled?"grayscale(30%) blur(0.5px)":"none",e=>e.disabled?"#bbb":"inherit",e=>e.disabled?"none":"block"),te=I.Ay.div(S||(S=M(["\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n\n .triangle {\n width: 8px;\n aspect-ratio: 1;\n clip-path: polygon(0 0, 100% 0, 50% 70%);\n background-color: #999;\n position: absolute;\n right: -9px;\n top: 50%;\n transform: translateY(-10%);\n transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);\n }\n\n &:hover .triangle {\n transform: translateY(0.2rem);\n }\n"]))),ne=I.Ay.ul(q||(q=M(["\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n min-width: 160px;\n padding: 2px 0;\n margin: 0;\n font-size: 14px;\n color: #333;\n text-align: left;\n list-style: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n\n ",":hover & {\n display: block;\n }\n\n & > li.disabled {\n pointer-events: none;\n color: #ccc;\n }\n\n & > li:not(.disabled):hover {\n background-color: #f8f9fa;\n }\n"])),X),re=I.Ay.li(k||(k=M(["\n padding: 8px 20px;\n display: flex;\n align-items: center;\n cursor: pointer;\n white-space: nowrap;\n\n &:hover {\n background-color: #f1f1f1;\n }\n"]))),ae=I.Ay.span(U||(U=M(["\n margin-left: 8px;\n font-size: 14px;\n color: #333;\n margin-right: 5px;\n"])))},1105(e,t,n){n.d(t,{A:()=>c});var r=n(6942),a=n.n(r),o=n(6540),l=n(6519),i=n(4848);const s=o.forwardRef((e,t)=>{const[{className:n,...r},{as:o="div",bsPrefix:s,spans:c}]=function({as:e,bsPrefix:t,className:n,...r}){t=(0,l.oU)(t,"col");const o=(0,l.gy)(),i=(0,l.Jm)(),s=[],c=[];return o.forEach(e=>{const n=r[e];let a,o,l;delete r[e],"object"==typeof n&&null!=n?({span:a,offset:o,order:l}=n):a=n;const u=e!==i?`-${e}`:"";a&&s.push(!0===a?`${t}${u}`:`${t}${u}-${a}`),null!=l&&c.push(`order${u}-${l}`),null!=o&&c.push(`offset${u}-${o}`)}),[{...r,className:a()(n,...s,...c)},{as:e,bsPrefix:t,spans:s}]}(e);return(0,i.jsx)(o,{...r,ref:t,className:a()(n,!c.length&&s)})});s.displayName="Col";const c=s}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[613],{6613(e,t,n){n.r(t),n.d(t,{default:()=>ue});var l=n(6540),a=n(7767),r=n(4731),o=n(6118),i=n(3839),c=n(1376),s=n(1105),u=n(4479),d=n(3048),p=n(6044),m=n(8027),b=n(1223);const f=e=>{let t=e.size,n=void 0===t?24:t,a=e.color,r=void 0===a?"#bbb":a,o=e.disabled,i=void 0!==o&&o;return l.createElement("svg",{width:n,height:n,viewBox:"0 0 528.74 522.05",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{opacity:i?.5:1,cursor:i?"not-allowed":"pointer",pointerEvents:i?"none":"auto"}},l.createElement("path",{fill:r,d:"M274.5,5.22C189.25-13.05,114.92,14.41,111.53,123.11l-41.03,1.16-8.09,61.26h38.14c-6.59,22.84-28.2,247-44.49,258.9-9.25,8.09-22.54,10.98-47.39,5.78l-8.67,63.57c62.01,26.28,139.42-12.34,149.1-82.64,7.95-49.39,28.89-195.23,36.41-246.76l52.01.58,10.98-60.68h-52.59l4.44-30.57c11.36-29.11,36.03-30.32,62.02-23.75l12.14-64.72Z"}),l.createElement("path",{fill:r,d:"M304.9,217.1l-8.49-23.98c-90.49,30-137.29,262.05-41.47,306.8l10.99-23.48c-27.73-20.47-27.77-70.59-24.98-103.93,1.51-52.85,20.66-123.28,63.96-155.4Z"}),l.createElement("polygon",{fill:r,points:"357.37 270.57 306.4 270.57 334.38 344.52 278.42 432.47 331.88 432.97 363.86 385.5 379.35 432.47 428.82 432.47 398.84 353.02 454.3 270.57 397.84 271.07 372.36 312.04 357.37 270.57"}),l.createElement("path",{fill:r,d:"M464.93,214.67l14.66-20.8c79.02,53.33,61.38,289.4-42.97,306.6l-4.24-25.58c32.23-12.22,45.81-60.47,52.14-93.32,12.83-51.29,13.42-124.28-19.59-166.9Z"}))};var v,g=n(2756),h=n(7638),y=n(6061),x=n(8422),E=n(2390),w=n(2195);const j=n(3679).Ay.div(v||(C=["\n .gridjs-pagination {\n display: flex;\n justify-content: space-between;\n padding: 10px;\n background-color: #f9fafb;\n border: 1px solid #ccc;\n border-radius: 0 0 8px 8px;\n }\n\n .gridjs-summary {\n font-size: 14px;\n color: #555;\n margin-top: 5px;\n }\n\n .gridjs-pages button {\n margin: 0 5px;\n padding: 5px 10px;\n border-radius: 5px;\n background-color: #fff;\n border: 1px solid #ccc;\n color: #333;\n cursor: pointer;\n transition: background-color 0.3s, color 0.3s;\n }\n\n .gridjs-pages button:hover {\n background-color: #e0e0e0;\n color: #000;\n }\n\n .gridjs-pages button:disabled {\n color: #aaa;\n background-color: #f5f5f5;\n cursor: not-allowed;\n }\n\n .gridjs-pages button.gridjs-currentPage {\n background-color: #d0d0d0;\n font-weight: bold;\n border-color: #aaa;\n }\n\n .gridjs-wrapper {\n width: 100%;\n border-radius: 8px;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n margin-bottom: 20px;\n border: 1px solid #e5e7eb;\n margin-top: 20px;\n }\n\n td.gridjs-td {\n padding: 12px 16px;\n font-size: 13px;\n color: #444;\n border: 1px solid #e5e7eb;\n }\n\n th.gridjs-th {\n position: relative;\n padding: 12px 16px;\n background-color: #f7f7f7;\n color: #333;\n font-weight: bold;\n text-align: left;\n border: 1px solid #e5e7eb;\n cursor: pointer;\n }\n\n .gridjs-th .gridjs-sort {\n display: none !important;\n }\n\n th.gridjs-th.gridjs-sort-neutral::after {\n content: '⇵';\n margin-left: 10px;\n font-size: 12px;\n color: #888;\n }\n\n th.gridjs-th.gridjs-sort-asc::after {\n content: '▲';\n margin-left: 10px;\n font-size: 12px;\n color: #888;\n }\n\n th.gridjs-th.gridjs-sort-desc::after {\n content: '▼';\n margin-left: 10px;\n font-size: 12px;\n color: #888;\n }\n\n input.gridjs-input {\n outline: none;\n background-color: #fff;\n border: 1px solid #d2d6dc;\n border-radius: 5px;\n padding: 8px 12px;\n font-size: 14px;\n margin-bottom: 10px;\n }\n\n input.gridjs-input:focus {\n border-color: #9bc2f7;\n box-shadow: 0 0 0 3px rgba(149, 189, 243, 0.5);\n }\n"],k||(k=C.slice(0)),v=Object.freeze(Object.defineProperties(C,{raw:{value:Object.freeze(k)}}))));var C,k;const A=e=>{let t=e.data,n=e.title;if(0===t.length)return l.createElement("p",null,"No data available.");const a=Object.keys(t[0]),r=t.map(e=>a.map(t=>e[t])).sort((e,t)=>t[0]-e[0]);return l.createElement(l.Fragment,null,n&&l.createElement(E.ne,null,n),l.createElement(j,null,l.createElement(w.x,{columns:a,data:r,search:!1,pagination:{limit:10},sort:!0,style:{table:{border:"1px solid #ccc","border-radius":"8px",width:"100%","background-color":"#fff",color:"#000","font-family":"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif","font-size":"14px","text-align":"left"},th:{"background-color":"#f5f5f5",color:"#333","border-bottom":"2px solid #ccc",padding:"12px","font-weight":"bold"},td:{padding:"12px","border-bottom":"1px solid #eee",color:"#555","font-size":"13px"}}})))};var O=n(658);const S=e=>{let t=e.chartType,n=e.handleChartTypeChange,a=e.isDistPlot;const r=e=>{n(e)};return l.createElement(E.RZ,null,l.createElement(E.C,null,l.createElement(E.vE,null,(()=>{switch(t){case"bar":default:return l.createElement(m.v$b,{size:15});case"line":return l.createElement(m.YYR,{size:15});case"pie":return l.createElement(m.qvi,{size:15})}})()),l.createElement("span",{className:"triangle"})),l.createElement(E.rI,null,l.createElement(E.tJ,{onClick:()=>r("bar")},l.createElement(E.vE,null,l.createElement(m.v$b,{size:15})),l.createElement(E.hf,null,"Bar Chart")," ","bar"===t&&l.createElement(O.CkS,null)),!a&&l.createElement(E.tJ,{onClick:()=>r("line")},l.createElement(E.vE,null,l.createElement(m.YYR,{size:15})),l.createElement(E.hf,null,"Line Chart")," ","line"===t&&l.createElement(O.CkS,null)),a&&l.createElement(E.tJ,{onClick:()=>r("pie")},l.createElement(E.vE,null,l.createElement(m.qvi,{size:15})),l.createElement(E.hf,null,"Pie Chart")," ","pie"===t&&l.createElement(O.CkS,null))))},q=e=>{let t=e.scaleType,n=e.handleScaleTypeChange,a=(e.isDistPlot,e.disabled);const r=e=>{n(e)};return l.createElement(E.tf,{disabled:a},l.createElement(E.C,null,l.createElement(E.vE,null,l.createElement(f,{size:15,color:"#606060"})),l.createElement("span",{className:"triangle"})),l.createElement(E.rI,null,l.createElement(E.tJ,{onClick:()=>r("logarithmic")},l.createElement(E.hf,null,"Logarithmic")," ","logarithmic"===t&&l.createElement(O.CkS,null)),l.createElement(E.tJ,{onClick:()=>r("linear")},l.createElement(E.hf,null,"Linear")," ","linear"===t&&l.createElement(O.CkS,null))))};var T=n(637),D=n(7231);function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var l,a,r,o,i=[],c=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(l=r.call(n)).done)&&(i.push(l.value),i.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return N(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?N(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=Array(t);n<t;n++)l[n]=e[n];return l}function z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,l)}return n}function _(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?z(Object(n),!0).forEach(function(t){I(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function I(e,t,n){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}o.t1.register(o.PP,o.kc,o.OJ,o.E8,o.No,o.Bs,o.FN,o.hE,o.m_,o.s$,i.Ay);const F=e=>{const t=e.datasets.map(e=>{const t=[];let n=0;return e.data.forEach(e=>{n+=e,t.push(n)}),_(_({},e),{},{data:t})});return _(_({},e),{},{datasets:t})},R=e=>{var t,n,a,o,i,v,w;let j=e.data,C=e.plotName,k=e.reportVariantSelector,O=e.dataViewSelector;const N=(0,l.useRef)(null),z=(0,g.h)(),I=(z.handleOpenModal,z.handleCloseModal,(0,h.t)()),R=I.settings,V=I.setConfig,M=R.colorScheme,L=T.Tb.getStatisticsChartObject(C),U="distribution"===(null==L?void 0:L.chartCategory),H=!U&&!0===(null==L?void 0:L.fixedDataView),J=!0===(null==L?void 0:L.hideDatasetControls),K=null==L?void 0:L.trauncateViewData,Y=(null==L?void 0:L.chartOptions)||{},$=U?R.config.chartType.distrubution:R.config.chartType.growth,Z=R.config.chartType.scale,B=Boolean(O),G=null!==(t=null==O?void 0:O.selectedView)&&void 0!==t?t:U||H?"non-cumulative":R.config.chartType.dataView,W=!H&&!B,X=(0,y.R)(),Q=null===(n=Y.plugins)||void 0===n||null===(n=n.title)||void 0===n?void 0:n.text,ee=Array.isArray(Q)?Q.join(" "):Q||"",te=P((0,l.useState)(j.datasets.map(e=>({label:e.label||"",visible:!0}))),2),ne=te[0],le=te[1],ae=P((0,l.useState)(()=>"cumulative"===(U||H?"non-cumulative":G)&&W?F(j):j),2),re=ae[0],oe=ae[1],ie=j.datasets.map(e=>({label:e.label||"",visible:!0})),ce=JSON.stringify([C,ie.map(e=>e.label)]),se=null!==(a=null==O?void 0:O.defaultView)&&void 0!==a?a:U||H?"non-cumulative":"cumulative",ue=()=>{le(ie),null==O||O.onChange(se),V({chartType:_(_({},R.config.chartType),{},{[U?"distrubution":"growth"]:"bar",scale:"linear",dataView:se})}),oe("cumulative"===se&&W?F(j):j)};(0,l.useEffect)(()=>{le(ie)},[ce]),(0,l.useEffect)(()=>{const e="cumulative"===G&&W?F(j):j;oe(e)},[G,j,W]),(0,l.useEffect)(()=>{if("cumulative"===G&&W){const e=F(j);oe({labels:j.labels,datasets:e.datasets.map(e=>{var t;return _(_({},e),{},{hidden:!1===(null===(t=ne.find(t=>t.label===e.label))||void 0===t?void 0:t.visible)})})})}else oe({labels:j.labels,datasets:j.datasets.map(e=>{var t;return _(_({},e),{},{hidden:!1===(null===(t=ne.find(t=>t.label===e.label))||void 0===t?void 0:t.visible)})})})},[G,j,ne,W]);const de=()=>{V({chartType:_(_({},R.config.chartType),{},{scale:"linear"===R.config.chartType.scale?"logarithmic":"linear"})})},pe=e=>{O?O.onChange(e):V({chartType:_(_({},R.config.chartType),{},{dataView:e})})},me=e=>{if(N.current){const l=(0,r.CK)(N.current,e);if(l.length>0&&re.labels){var t;const e=l[0],a=e.index,r=e.datasetIndex,o=re.labels[a],i=null===(t=re.datasets)||void 0===t||null===(t=t[r])||void 0===t?void 0:t.label;if(L&&L.getSearchObj){var n;const e=L.getSearchObj(_(_({},R),{},{currentInput:ne}),o,i),t=JSON.stringify(e),l=encodeURIComponent(t),a=(null===(n=L.query)||void 0===n?void 0:n.returnType)===D.pz.MolDefinition?"/search/chemical/?request=":"/search?request=",r="".concat(R.config.searchAdvancedUrl).concat(a).concat(l);window.open(r,"_blank")}}}},be=_(_({},Y),{},{layout:{padding:{right:1}},scales:U||"line"!==$?Y.scales:_(_({},Y.scales),{},{x:_(_({},null===(o=Y.scales)||void 0===o?void 0:o.x),{},{stacked:!1}),y:_(_({},null===(i=Y.scales)||void 0===i?void 0:i.y),{},{type:Z,stacked:!1,min:"logarithmic"===Z?1:void 0,ticks:{callback:function(e){return"logarithmic"===Z?[1,10,100,1e3,1e4,1e5].includes(e)?e:null:e}},title:{display:!0,text:"".concat((null==Y||null===(v=Y.scales)||void 0===v||null===(v=v.y)||void 0===v||null===(v=v.title)||void 0===v?void 0:v.text)||"Y-Axis"," ").concat("logarithmic"===Z?"(Logarithmic scale)":"(Linear scale)")}})}),plugins:_(_({},Y.plugins),{},{title:_(_({},null===(w=Y.plugins)||void 0===w?void 0:w.title),{},{display:!1}),legend:{display:j.datasets.length>1,position:"bottom",align:"start",labels:{generateLabels:e=>e.data.datasets.map((e,t)=>({text:e.label||"Dataset ".concat(t+1),fillStyle:e.backgroundColor,hidden:e.hidden||!1,datasetIndex:t})).filter(e=>!e.hidden),boxWidth:40,padding:20,font:{size:14,family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",style:"normal"},color:"#333"},onClick:()=>{}}}),elements:{line:{tension:.1,spanGaps:!0},point:{radius:0,hoverRadius:0}},animation:{duration:400,easing:"easeInOutQuart"},onHover:(e,t)=>{t.length?e.native.target.style.cursor="pointer":e.native.target.style.cursor="default"}}),fe=e=>{V({chartType:_(_({},R.config.chartType),{},{[U?"distrubution":"growth"]:e})})},ve=(e,t)=>{const n=e.datasets[0],l=e.labels.map((e,n)=>t[n%t.length]);return{labels:e.labels,datasets:[{data:n.data,backgroundColor:l,borderColor:l,borderWidth:1}]}},ge=e=>{e.title;const t=e.legend,n=e.tooltips,l=e.responsive,a={responsive:null==l||l,maintainAspectRatio:!1,plugins:_(_({},e.plugins),{},{legend:_(_({},t),{},{display:!0,position:"bottom",onClick:(e,t,n)=>((e,t)=>{const n=e.getDatasetMeta(0),l=t.index;if(void 0!==l){const a=n.data[l].hidden;n.data[l].hidden=!a,t.hidden=n.data[l].hidden,e.options.plugins.legend.labels.generateLabels=e=>e.data.labels.map((t,l)=>({text:t,fillStyle:e.data.datasets[0].backgroundColor[l],hidden:n.data[l].hidden,index:l})),e.update()}})(n.chart,t)}),tooltip:_(_({},n),{},{callbacks:{label:e=>{const t=e.dataset,n=e.dataIndex,l=e.chart.getDatasetMeta(0).data.map((e,t)=>e.hidden?null:t).filter(e=>null!==e).map(e=>t.data[e]),a=t.data[n],r=(a/l.reduce((e,t)=>e+t,0)*100).toFixed(2);return"".concat(e.label,": ").concat((0,x.bF)(a)," - ").concat(r,"% (of shown data)")}}})}),animation:{animateScale:!0,animateRotate:!0},elements:{arc:{hoverBorderWidth:3,hoverOffset:20,hoverBorderColor:"white"}},onHover:(e,t)=>{t.length?e.native.target.style.cursor="pointer":e.native.target.style.cursor="default"}};return a},he=e=>{if(!e||!e.datasets||!Array.isArray(e.datasets))return{labels:[],datasets:[]};const t=e.datasets.map(e=>{const t=e.data.map(e=>"number"!=typeof e||isNaN(e)?null:e);return _(_({},e),{},{data:t,stack:void 0,fill:!1,borderColor:e.borderColor||"rgba(75, 192, 192, 1)",backgroundColor:e.backgroundColor||"rgba(75, 192, 192, 0.2)",borderWidth:3,pointRadius:0,pointHoverRadius:0,tension:.1})});return{labels:e.labels||[],datasets:t}},ye=()=>k?l.createElement(E.NF,null,l.createElement(E.Yg,null,k.title),k.options.map(e=>l.createElement(c.A.Check,{key:e.key,type:"radio",id:"report-variant-".concat(C,"-").concat(e.key),label:e.label,name:"report-variant-".concat(C),value:e.key,checked:k.selectedKey===e.key,onChange:()=>k.onChange(e.key)}))):null;return l.createElement(l.Fragment,null,l.createElement(E.Kb,null,l.createElement(E.OV,{onClick:e=>{if(null==L||!L.getSearchObj)return;const t=(()=>{const e=ne.some(e=>!e.visible);return U||!e?(0,x.ry)(X,R):((e,t,n,l,a)=>{var r,o;const i="".concat(t.config.searchApiUrl,"/query-editor.html?json="),c=null==L||null===(r=L.query)||void 0===r||null===(r=r.firstDim)||void 0===r?void 0:r.attribute,s=null==L||null===(o=L.query)||void 0===o?void 0:o.returnType;let u,d,p;if(l){var m,b;const e=null==L||null===(m=L.query)||void 0===m||null===(m=m.firstDim)||void 0===m?void 0:m.ranges,t=null==L||null===(b=L.query)||void 0===b||null===(b=b.firstDim)||void 0===b?void 0:b.filter;if(e&&!t){var f,v;if(!Array.isArray(e)||e.length<2)return i;if(u=null===(f=e[0])||void 0===f?void 0:f.to,d=null===(v=e[e.length-1])||void 0===v?void 0:v.from,void 0===u||void 0===d)return i;p={type:D.Type.Terminal,label:"text",service:D.kl.Text,parameters:{attribute:c,operator:D.XP.Range,value:{from:u,to:d,include_lower:!0,include_upper:!1}}}}else if(t){var g,h;const e=a.labels,t=Array.isArray(null==L||null===(g=L.query)||void 0===g||null===(g=g.firstDim)||void 0===g?void 0:g.facets)?null==L||null===(h=L.query)||void 0===h||null===(h=h.firstDim)||void 0===h||null===(h=h.facets[0])||void 0===h?void 0:h.attribute:void 0;p={type:D.Type.Group,nodes:e.map(e=>({type:D.Type.Terminal,service:D.kl.Text,parameters:{attribute:t,operator:D.XP.ExactMatch,value:e}})),logical_operator:D.LogicalOperator.Or,label:"text"}}else{const e=a.labels.slice(0,25);p={type:D.Type.Group,nodes:e.map(e=>({type:D.Type.Terminal,service:D.kl.Text,parameters:{attribute:c,operator:D.XP.ExactMatch,negation:!1,value:e}})),logical_operator:D.LogicalOperator.Or,label:"text"}}}else{var y;const e=n(t,"1976-05-19");if(!e||!e.query||!e.query.nodes)return i;const l=null!=L&&null!==(y=L.query)&&void 0!==y&&null!==(y=y.secondDim)&&void 0!==y&&y.filter?e.query.nodes.slice(1):e.query.nodes.slice(1)[0].nodes;p={type:e.query.type,nodes:l,logical_operator:D.LogicalOperator.Or}}const x={query:p,return_type:s,request_options:e.searchRequest.request_options},E=encodeURIComponent(JSON.stringify(x));return"".concat(i).concat(E)})(X,_(_({},R),{},{currentInput:ne}),L.getSearchObj,U,re)})();t&&window.open(t,"_blank")}},l.createElement(m.Pcn,null)," Search API")),l.createElement(d.A,null,(()=>{_(_({},be),{},{maintainAspectRatio:!1,plugins:{legend:{display:!1}}});const e=()=>"Report: ".concat(ee,", Generated on: ").concat((new Date).toLocaleDateString()," ").concat((new Date).toLocaleTimeString()),t=(e,t,n)=>{var l,a;if(null==e||null===(l=e.datasets)||void 0===l||!l.length||0===e.labels.length)return{columns:[],gridData:[]};if(t){var r,o;const t=e.labels||[],l=e.datasets[0]||{},a=(null===(r=n.scales)||void 0===r||null===(r=r.x)||void 0===r||null===(r=r.title)||void 0===r?void 0:r.text)||"Range",i=(null===(o=n.scales)||void 0===o||null===(o=o.y)||void 0===o||null===(o=o.title)||void 0===o?void 0:o.text)||"Number of Entries";return{columns:"x"===n.indexAxis?[a,i]:[i,a],gridData:t.map((e,t)=>[e,(0,x.bF)(l.data[t]||0)])}}if(1===e.datasets.length)return{columns:["Year",(null===(a=n.scales)||void 0===a||null===(a=a.y)||void 0===a||null===(a=a.title)||void 0===a?void 0:a.text)||"Data"],gridData:e.labels.map((t,n)=>[t,(0,x.bF)(e.datasets[0].data[n]||0)])};const i=e.datasets.filter(e=>{var t;return!1!==(null===(t=ne.find(t=>t.label===e.label))||void 0===t?void 0:t.visible)});return{columns:["Year",...i.map(e=>e.label)],gridData:e.labels.map((e,t)=>{const n=[e];return i.forEach(e=>{n.push((0,x.bF)(e.data[t]||0))}),n})}},n=t(re,U,Y);if(0===n.columns.length||0===n.gridData.length)return l.createElement("p",null,"No data available for table.");const a=n.gridData.map(e=>{const t={};return n.columns.forEach((n,l)=>{t[n]=e[l]}),t}),o=K?_(_({},re),{},{labels:re.labels.slice(0,25),datasets:re.datasets.map(e=>_(_({},e),{},{data:e.data.slice(0,25)}))}):re,i={bar:l.createElement(r.yP,{ref:N,data:o,options:be,onClick:me}),line:l.createElement(r.N1,{ref:N,data:he(re),options:be}),pie:l.createElement(r.Fq,{ref:N,data:ve(o,M),options:ge(be),onClick:me}),table:l.createElement(A,{data:a})};return l.createElement(u.A,null,l.createElement(s.A,{md:10},l.createElement(E.rh,null,l.createElement(E.hx,null,ee),l.createElement(E.at,null,i[$]),l.createElement(E.Q3,null,l.createElement("div",{dangerouslySetInnerHTML:{__html:(null==L?void 0:L.description)||""}})))),l.createElement(s.A,{md:2},l.createElement(u.A,null,l.createElement(E.G,{md:2},l.createElement(E.Tu,null,l.createElement(l.Fragment,null,l.createElement(S,{"data-tooltip-id":"chart-type-tooltip","data-tooltip-content":"Change Chart type",chartType:$,handleChartTypeChange:fe,isDistPlot:U}),l.createElement(E.vE,{"data-tooltip-id":"table-tooltip","data-tooltip-content":"Display data in a structured, sortable table format",disabled:!1,selected:"table"===$,onClick:()=>fe("table")},l.createElement(m.ist,{size:15})),l.createElement(E.vE,{"data-tooltip-id":"csv-tooltip","data-tooltip-content":"Export data in a CSV format",onClick:()=>{const n=t(re,U,Y),l=((t,n)=>{const l=e(),a=[...n].sort((e,t)=>e[0]>t[0]?-1:e[0]<t[0]?1:0);return[l,t.join(","),...a.map(e=>e.map(e=>e.replace(/,/g,"")).join(","))].join("\n")})(n.columns,n.gridData),a=new Blob([l],{type:"text/csv;charset=utf-8;"}),r=URL.createObjectURL(a),o=document.createElement("a");o.href=r;const i=e(),c="".concat(i.replace(/[^a-z0-9]/gi,"_").toLowerCase(),".csv");o.setAttribute("download",c),document.body.appendChild(o),o.click(),document.body.removeChild(o)},disabled:!1},l.createElement(b.BVt,{size:15})),!U&&("line"===$?l.createElement(q,{"data-tooltip-id":"scale-tooltip","data-tooltip-content":"Toggle data scale",scaleType:Z,handleScaleTypeChange:de,isDistPlot:U,disabled:!1}):l.createElement(E.vE,{"data-tooltip-id":"scale-tooltip","data-tooltip-content":"Switch to the Line Chart view to enable the option to change the scale to logarithmic",disabled:!0},l.createElement(f,{size:15,color:"#606060",disabled:!0}))),l.createElement(E.vE,{"data-tooltip-id":"reset-tooltip","data-tooltip-content":"Reset chart to the default display and clear any applied filters",onClick:ue,disabled:!1},l.createElement(m.DIg,{size:15})),l.createElement(p.m_,{id:"settings-tooltip",place:"left"}),l.createElement(p.m_,{id:"information-tooltip",place:"left"}),l.createElement(p.m_,{id:"chart-type-tooltip",place:"left"}),l.createElement(p.m_,{id:"table-tooltip",place:"left"}),l.createElement(p.m_,{id:"scale-tooltip",place:"left"}),l.createElement(p.m_,{id:"csv-tooltip",place:"left"}),l.createElement(p.m_,{id:"reset-tooltip",place:"left"})))),(()=>{const e=!J&&ne.length>1,t=!U&&(Boolean(k)||e),n=U&&Boolean(k);return l.createElement(s.A,{md:10},l.createElement(E.Nk,null,l.createElement(l.Fragment,null,U?n&&l.createElement(l.Fragment,null,l.createElement(E.MV,null,"Data Options"),ye()):l.createElement(l.Fragment,null,t&&l.createElement(E.MV,null,"Data Options"),ye(),e&&l.createElement(E.ou,null,l.createElement(E.Yg,null,"Data Shown"),ne.map(e=>{const t="unique-protein-sequences"===C&&e.label?"Identity ".concat(parseFloat(e.label).toFixed(0),"%"):e.label;return l.createElement(E.VT,{key:e.label},l.createElement(E.ph,{type:"checkbox",id:e.label,checked:e.visible,onChange:()=>{return t=e.label,void le(e=>e.map(e=>e.label===t?_(_({},e),{},{visible:!e.visible}):e));var t}}),l.createElement(E.Gw,{htmlFor:e.label},t))})),(!H||O)&&l.createElement(E.NF,null,l.createElement(E.Yg,null,"Data Set"),l.createElement(c.A.Check,{type:"radio",id:"view-annual",label:"Annual",name:"view-switch",value:"non-cumulative",checked:"non-cumulative"===G,onChange:()=>pe("non-cumulative")}),l.createElement(c.A.Check,{type:"radio",id:"view-cumulative",label:"Cumulative",name:"view-switch",value:"Cumulative",checked:"cumulative"===G,onChange:()=>pe("cumulative")}))))))})())))})()))};var V=n(9946),M=n(8533),L=n(8069),U=n(7571),H=n(7704),J=n(8154),K=n(2543);function Y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,l)}return n}function $(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(n),!0).forEach(function(t){Z(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Y(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Z(e,t,n){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const B=e=>{const t=T.Tb.getStatisticsChartObject(e);return{stats_notes:null==t?void 0:t.description,query:null==t?void 0:t.query}},G=e=>/^unique-protein-sequences-(30|50|70|90|95|100)$/.test(e),W=(e,t)=>{var n;return null!==(n=e[t%Math.max(e.length,1)])&&void 0!==n?n:"#4f81bd"},X=e=>{var t,n;return null!==(t=null===(n=String(e).match(/\d{4}/))||void 0===n?void 0:n[0])&&void 0!==t?t:String(e)},Q=e=>{const t=String(e).match(/\d{4}-\d{2}-\d{2}/g),n=null==t?void 0:t[t.length-1];return n?n.slice(0,4):String(e).slice(-4)},ee=function(e,t,n,l){return{label:e,population:t,objectConfig:{objectId:[e,n,t,...arguments.length>4&&void 0!==arguments[4]?arguments[4]:[]],color:l,label:n}}},te=e=>e.map((e,t)=>{var n;return $($({},e),{},{label:null!==(n=T.cJ[t])&&void 0!==n?n:e.label})}),ne=e=>{const t=(0,K.cloneDeep)(e.firstDim);return e.secondDim&&(0,J.vw)(e.secondDim,t),{return_type:e.returnType,request_options:$({paginate:{rows:0},facets:[t]},e.resultsContentType?{results_content_type:e.resultsContentType}:{})}},le=async(e,t,n)=>{const l=B(e),a=l.stats_notes,r=l.query;if(!r)throw new Error("Unknown chart key: ".concat(e));return ae(e,t,r,!1,a,n)},ae=async function(e,t,n){let l=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>5?arguments[5]:void 0;const r=ne(n),o=await(async(e,t)=>{const n="".concat(t.searchApiUrl,"/rcsbsearch/v2/query");return fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(e=>{if(!e.ok)throw new Error(e.statusText);return e.json()}).catch(e=>{throw console.error("Error:",e),e})})(r,a.config);if(!o)return[[]];if((e=>/^unique-protein-domains-annual-(all|scop|ecod|scop2|cath)$/.test(e))(e))return((e,t,n)=>{var l,a;const r=[...null!==(l=null==t||null===(a=t.facets)||void 0===a||null===(a=a[0])||void 0===a?void 0:a.buckets)&&void 0!==l?l:[]].sort((e,t)=>Number(X(e.label))-Number(X(t.label)));return(e===T.K4?["SCOP","ECOD","SCOP2","CATH"]:[e.replace("unique-protein-domains-annual-","").toUpperCase()]).map((t,l)=>{var a;const o=null!==(a=T.Ul[t])&&void 0!==a?a:t;return r.map(a=>{const r=X(a.label),i=((e,t,n)=>{var l,a;if(e===T.K4){var r,o;const e=null==t||null===(r=t.facets)||void 0===r||null===(r=r[0])||void 0===r||null===(r=r.buckets)||void 0===r?void 0:r.find(e=>String(e.label).toUpperCase()===n);return Number(null!==(o=null==e?void 0:e.population)&&void 0!==o?o:0)}return Number(null!==(l=null==t||null===(a=t.facets)||void 0===a||null===(a=a[0])||void 0===a||null===(a=a.buckets)||void 0===a||null===(a=a[0])||void 0===a?void 0:a.population)&&void 0!==l?l:0)})(e,a,t);return ee(r,i,o,W(n,l))})})})(e,o,t);if((e=>/^unique-protein-sequences-annual-(30|50|70|90|95|100)$/.test(e))(e))return((e,t)=>{var n,l;return[[...null!==(n=null==e||null===(l=e.facets)||void 0===l||null===(l=l[0])||void 0===l?void 0:l.buckets)&&void 0!==n?n:[]].sort((e,t)=>Number(X(e.label))-Number(X(t.label))).map(e=>{var n,l;const a=X(e.label),r=Number(null!==(n=null==e||null===(l=e.facets)||void 0===l||null===(l=l[0])||void 0===l?void 0:l.value)&&void 0!==n?n:0);return ee(a,r,"Number of Unique Protein Sequences",W(t,0))})]})(o,t);if((e=>(e=>/^unique-protein-domains-(scop|ecod|scop2|cath)$/.test(e))(e)||G(e))(e))return((e,t,n)=>{var l,a;const r=[...null!==(l=null==t||null===(a=t.facets)||void 0===a||null===(a=a[0])||void 0===a?void 0:a.buckets)&&void 0!==l?l:[]].sort((e,t)=>Number(Q(e.label))-Number(Q(t.label))),o=(e=>G(e)?{annual:"Number of New Protein Sequences",total:"Total Number of Protein Sequences"}:{annual:"Number of New Domains Growth Annually",total:"Total Number of Unique Domains Available"})(e);let i=0;const c=[],s=[];return r.forEach(t=>{const l=Q(t.label),a=((e,t)=>{var n,l,a,r;return G(e)?Number(null!==(a=null==t||null===(r=t.facets)||void 0===r||null===(r=r[0])||void 0===r?void 0:r.value)&&void 0!==a?a:0):Number(null!==(n=null==t||null===(l=t.facets)||void 0===l||null===(l=l[0])||void 0===l||null===(l=l.buckets)||void 0===l||null===(l=l[0])||void 0===l?void 0:l.population)&&void 0!==n?n:0)})(e,t),r=a-i;i=a,c.push(ee(l,r,o.annual,W(n,0),[a])),s.push(ee(l,a,o.total,W(n,1),[r]))}),[c,s]})(e,o,t);const i=(0,H.z)(o);let c=i[0].data;const s={resolution:x.$Z,"r-free":x.$Z,"molecular-weight-structure":x.bl,"molecular-weight-entity":x.bl,"molecular-weight-small-molecules":x.$Z,"atom-count":x.pF,"residue-count":x.pF,[T.sq]:te},u=s[e]?s[e](c):c;if(s[e]&&(c=u),"distribution-source-organism"===e)return[i.filter(e=>"Source Organism"===e.name).flatMap(e=>e.data.map(t=>$($({},t),{},{labelPath:e.labelPath,objectConfig:$({},t.objectConfig||{})}))).map((e,n)=>$($({},e),{},{objectConfig:$($({},e.objectConfig),{},{color:t[n%t.length],label:e.labelPath.join(", ")})}))];if(e===T.NK){const e="Number of Entries";return[c.map(n=>ee(String(n.label),Number(n.population),e,W(t,0)))]}if(l&&c.length>0){let e=0;return[c.map(e=>$($({},e),{},{objectConfig:$($({},e.objectConfig),{},{color:t[0%t.length],label:"Annual"})})),c.map(n=>(e+=n.population,$($({},n),{},{population:e,objectConfig:{objectId:[n.label,e],color:t[1%t.length],label:"Cumulative"}})))]}return n.secondDim?re(e,n,i.filter(e=>e.name===oe(n.secondDim)),t,a.config.searchAdvancedUrl,a.currentInput):[c.map(e=>$($({},e),{},{objectConfig:{objectId:[e.label,e.population],color:t[0%t.length]}}))]},re=(e,t,n,l,a,r)=>{const o=new Set,i=[],c=new Map;n.forEach(e=>{const t=e.labelPath[0];i.push(t),e.data.forEach(e=>{var n;o.add(e.label.toString()),c.has(t)||c.set(t,new Map),null===(n=c.get(t))||void 0===n||n.set(e.label.toString(),e.population)})});const s=Array.from(o),u=[];return s.forEach((e,t)=>{const n=[];i.forEach(a=>{var r,o;const i=null!==(r=null===(o=c.get(a))||void 0===o?void 0:o.get(e))&&void 0!==r?r:0;i>0&&n.push({label:a,population:i,objectConfig:{objectId:[a,e,i],color:l[t%l.length]}})}),n.length>0&&u.push(n)}),u},oe=e=>{if("name"in e)return e.name;if(!e.facets||1!==e.facets.length)throw new Error("Multiple facets are not allowed");return oe(e.facets[0])},ie=(e,t,n)=>[e,t,n];function ce(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var l,a,r,o,i=[],c=!0,s=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(l=r.call(n)).done)&&(i.push(l.value),i.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return se(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?se(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function se(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=Array(t);n<t;n++)l[n]=e[n];return l}const ue=e=>{var t;e.setFullscreenContent;const n=(0,a.g)().plotname||"",r=n||"",o=ce(l.useState(T._Z),2),i=o[0],c=o[1],s=ce(l.useState(T.gj),2),u=s[0],d=s[1],p=ce(l.useState(T.XJ),2),m=p[0],b=p[1],f=ce(l.useState(T.b4),2),v=f[0],g=f[1],x=ce(l.useState("non-cumulative"),2),w=x[0],j=x[1],C=ce(l.useState("non-cumulative"),2),k=C[0],A=C[1],O=(()=>{if(r===T.pm)return{title:"Types of Source Organism",options:T.$Z,selectedKey:i,onChange:e=>c(e)};if((r===T.WD||r===T.i8)&&"cumulative"===w)return{title:"Domain Classification Resource",options:T.Lw,selectedKey:u,onChange:e=>d(e)};if(r===T.fA){const e="non-cumulative"===k;return{title:"Sequence Identity",options:e?T.i7:T.WE,selectedKey:e?m:v,onChange:t=>{e?(b(t),g((e=>"unique-protein-sequences-".concat(e.replace("unique-protein-sequences-annual-","").replace("unique-protein-sequences-","")))(t))):(g(t),b((e=>"unique-protein-sequences-annual-".concat(e.replace("unique-protein-sequences-annual-","").replace("unique-protein-sequences-","")))(t)))}}}})(),S=r===T.WD||r===T.i8,q=r===T.fA,D=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const l=(0,h.t)().settings,a=l.colorScheme.join("");return(0,U.E)({queries:e.map(e=>{var r;return{queryKey:ie(e,t,a),queryFn:()=>le(e,l.colorScheme,l),enabled:!!e,staleTime:null!==(r=n.staleTime)&&void 0!==r?r:0}})})}(q?"non-cumulative"===k?T.i7.map(e=>e.key):T.WE.map(e=>e.key):[],void 0,{staleTime:1/0}),P=S?{selectedView:w,onChange:j,defaultView:"non-cumulative"}:q?{selectedView:k,onChange:A,defaultView:"non-cumulative"}:void 0,N=r===T.pm?i:S?"non-cumulative"===w?T.K4:u:q?"non-cumulative"===k?m:v:r,z=function(e,t){var n;let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=(0,h.t)().settings,o=(0,y.R)().setProperty,i=r.colorScheme.join(""),c=l.useRef(null);return l.useEffect(()=>{e&&c.current!==e&&(c.current=e,((e,t)=>{const n=B(e),l=n.stats_notes,a=n.query;a&&(t("searchRequest",ne(a)),t("stats_notes",l))})(e,o))},[e,o]),(0,L.I)({queryKey:ie(e,t,i),queryFn:()=>le(e,r.colorScheme,r),enabled:!!e,staleTime:null!==(n=a.staleTime)&&void 0!==n?n:0})}(N,void 0,{staleTime:q?1/0:0}),_=z.data,I=z.isLoading,F=z.error,H=q&&D.some(e=>e.isLoading),J=null===(t=D.find(e=>e.error))||void 0===t?void 0:t.error;if(I||H)return l.createElement(E.tt,null,l.createElement(V.A,null));if(F||J)return l.createElement(E.tt,null,l.createElement(M.A,{error:F||J}));const K=_&&_.length>0?{labels:_[0].map(e=>e.label),datasets:_.map((e,t)=>{var n,l,a,r,o,i;const c={};return e.forEach(e=>{c[e.label]=e.population}),{label:null!==(n=null!==(l=null===(a=e[0])||void 0===a||null===(a=a.objectConfig)||void 0===a?void 0:a.label)&&void 0!==l?l:null===(r=e[0])||void 0===r||null===(r=r.objectConfig)||void 0===r||null===(r=r.objectId)||void 0===r?void 0:r[1])&&void 0!==n?n:"Dataset ".concat(t+1),data:_[0].map(e=>c[e.label]||0),backgroundColor:(null===(o=e[0])||void 0===o||null===(o=o.objectConfig)||void 0===o?void 0:o.color)||"rgba(0, 0, 0, 0.1)",borderColor:(null===(i=e[0])||void 0===i||null===(i=i.objectConfig)||void 0===i?void 0:i.color)||"rgba(0, 0, 0, 0.1)",borderWidth:1,objectConfig:e.map(e=>e.objectConfig)}})}:null;return l.createElement(E.tt,{key:n},K?l.createElement(l.Fragment,null,l.createElement(R,{data:K,plotName:N,reportVariantSelector:O,dataViewSelector:P})):l.createElement(E.tt,null,l.createElement(M.A,{error:new Error("No data available")})))}},2390(e,t,n){n.d(t,{C:()=>te,G:()=>V,Gw:()=>J,Kb:()=>_,MV:()=>K,NF:()=>B,Nk:()=>R,OV:()=>F,Q3:()=>I,RZ:()=>Q,Tu:()=>M,VT:()=>U,Yg:()=>W,at:()=>Z,hf:()=>ae,hx:()=>$,ne:()=>X,ou:()=>G,ph:()=>H,rI:()=>ne,rh:()=>Y,tJ:()=>le,tf:()=>ee,tt:()=>z,vE:()=>L});var l,a,r,o,i,c,s,u,d,p,m,b,f,v,g,h,y,x,E,w,j,C,k,A,O,S,q,T=n(3679),D=n(1105);function P(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const N=(0,T.i7)(l||(l=P(["\n from {\n opacity: .5;\n transform: translateZ(0) scale(0.999);\n }\n to {\n opacity: 1;\n transform: translateZ(0) scale(1);\n }\n"]))),z=T.Ay.div(a||(a=P(["\n animation: "," .5s ease-in;\n will-change: opacity, transform;\n"])),N),_=T.Ay.div(r||(r=P([" \n display: flex;\n justify-content: flex-end;\n margin-top: -10px;\n"]))),I=T.Ay.div.attrs(()=>({as:"div"}))(o||(o=P(["\n margin-top: 35px;\n padding-top: 10px;\n border-top: 1px solid #ccc;\n margin-right: 200px;\n"]))),F=T.Ay.button(i||(i=P(["\n display: flex;\n align-items: center;\n justify-content: center;\n border: 1px solid #e7e7e7;\n border-radius: 3px;\n padding: 3px 5px;\n\n & svg { \n margin-right: 5px; \n }\n"]))),R=T.Ay.div(c||(c=P(["\n padding-left: 25px;\n margin-top: 60px;\n"]))),V=(0,T.Ay)(D.A)(s||(s=P(["\n margin-top: 60px;\n"]))),M=T.Ay.div(u||(u=P(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 5px;\n"]))),L=T.Ay.div(d||(d=P(["\n background-color: #f0f0f0;\n border: ",";\n padding: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ",";\n filter: ",";\n\n ","\n"])),e=>e.selected?"1px solid black":"1px solid #fff",e=>e.disabled?"#bbb":"#606060",e=>e.disabled?"grayscale(30%) blur(0.5px)":"none",e=>!e.disabled&&"\n &:hover {\n background-color: #e0e0e0;\n border: 1px solid #808080;\n cursor: pointer;\n }\n "),U=T.Ay.div(p||(p=P(["\n display: flex;\n align-items: center;\n margin-bottom: 5px;\n min-width: 170px;\n"]))),H=T.Ay.input(m||(m=P(["\n margin-right: 20px;\n"]))),J=T.Ay.label(b||(b=P(["\n font-size: 12px;\n margin-left: 5px;\n font-weight: normal;\n margin-bottom: 0 !important;\n"]))),K=T.Ay.div(f||(f=P(["\n font-weight: bold;\n font-size: 1.2em;\n margin-bottom: 15px;\n"]))),Y=T.Ay.div(v||(v=P(["\n width: auto;\n height: 550px;\n margin-bottom: 180px;\n margin-left: -15px;\n"]))),$=T.Ay.h1(g||(g=P(["\n display: block;\n margin: 0;\n padding: 0 0 29px;\n font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;\n font-size: 18px;\n font-weight: bold;\n color: #333;\n text-align: start;\n"]))),Z=T.Ay.div(h||(h=P(["\n position: relative;\n height: calc(100% - 62px);\n"]))),B=T.Ay.div(y||(y=P(["\n margin-top: 20px;\n min-width: 170px;\n label {\n font-size: 12px;\n font-weight: normal;\n margin-left: 5px;\n margin-bottom: 0 !important;\n margin-top: 4px !important;\n }\n .form-check {\n display: flex;\n align-items: center;\n }\n"]))),G=T.Ay.div(x||(x=P(["\n margin-bottom: 35px;\n"]))),W=T.Ay.div(E||(E=P(["\n font-weight: bold;\n margin-bottom: 5px;\n"]))),X=(T.Ay.div(w||(w=P(["\n width: 100%;\n\n\n .col-md-10{\n width: 90% !important;\n }\n\n .col-md-10 > div:first-child {\n height: 80vh !important;\n }\n\n .col-md-2{\n width: 0 !important;\n }\n"]))),T.Ay.div(j||(j=P(["\n display: block;\n font-size: 18px;\n font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;\n font-weight: bold;\n color: #333;\n padding-top: 0;\n padding-bottom: 15px;\n text-align: start;\n margin-top: -2px;\n"])))),Q=T.Ay.div(C||(C=P(["\n position: relative;\n display: inline-block;\n cursor: pointer;\n\n &:hover ul {\n display: block;\n top:-5px;\n margin-left:15px\n }\n"]))),ee=T.Ay.div(k||(k=P(["\n position: relative;\n display: inline-block;\n cursor: ",";\n opacity: ",";\n pointer-events: ",";\n filter: ",";\n color: ",";\n\n &:hover ul {\n display: ",";\n top: -5px;\n margin-left: 15px;\n }\n"])),e=>e.disabled?"not-allowed":"pointer",e=>e.disabled?.4:1,e=>e.disabled?"none":"auto",e=>e.disabled?"grayscale(30%) blur(0.5px)":"none",e=>e.disabled?"#bbb":"inherit",e=>e.disabled?"none":"block"),te=T.Ay.div(A||(A=P(["\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n\n .triangle {\n width: 8px;\n aspect-ratio: 1;\n clip-path: polygon(0 0, 100% 0, 50% 70%);\n background-color: #999;\n position: absolute;\n right: -9px;\n top: 50%;\n transform: translateY(-10%);\n transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);\n }\n\n &:hover .triangle {\n transform: translateY(0.2rem);\n }\n"]))),ne=T.Ay.ul(O||(O=P(["\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n min-width: 160px;\n padding: 2px 0;\n margin: 0;\n font-size: 14px;\n color: #333;\n text-align: left;\n list-style: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n\n ",":hover & {\n display: block;\n }\n\n & > li.disabled {\n pointer-events: none;\n color: #ccc;\n }\n\n & > li:not(.disabled):hover {\n background-color: #f8f9fa;\n }\n"])),Q),le=T.Ay.li(S||(S=P(["\n padding: 8px 20px;\n display: flex;\n align-items: center;\n cursor: pointer;\n white-space: nowrap;\n\n &:hover {\n background-color: #f1f1f1;\n }\n"]))),ae=T.Ay.span(q||(q=P(["\n margin-left: 8px;\n font-size: 14px;\n color: #333;\n margin-right: 5px;\n"])))}}]);