@rcsb/rcsb-statistics 0.3.9-dev.24 → 0.3.9-dev.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="RCSB Protein Data Bank: A Resource for Studying Biological Macromolecules"/><title>RCSB Statistics</title><script defer="defer" src="/static/js/main.4b2a9dfe.js"></script><link href="/static/css/main.861341d0.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript sto run this app.</noscript><div id="statsroot"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="RCSB Protein Data Bank: A Resource for Studying Biological Macromolecules"/><title>RCSB Statistics</title><script defer="defer" src="/static/js/main.7117961b.js"></script><link href="/static/css/main.861341d0.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript sto run this app.</noscript><div id="statsroot"></div></body></html>
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[630],{1630:(e,n,t)=>{t.r(n),t.d(n,{default:()=>C});var r,o,a=t(6540),i=t(4976),s=t(7581);function l(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}const c=s.Ay.ul(r||(r=l(["\n padding: 10px;\n max-height: 300px;\n overflow-y: auto;\n"]))),d=(0,s.Ay)(i.N_).attrs({className:"list-group-item"})(o||(o=l(["\n padding: 0;\n margin-bottom: 10px;\n border: none;\n color: #337ab7 !important;\n font-weight: 400;\n font-size: 14px;\n cursor: pointer;\n\n &:hover {\n text-decoration: underline !important;\n background: none !important; \n }\n"]))),p=e=>{let{items:n}=e;return a.createElement(c,null,n.map(((e,n)=>a.createElement(d,{key:n,to:e.link},e.description_menu))))};var u,f,b,m,x,g,h,w;function v(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}s.Ay.label(u||(u=v(["\n display: block;\n font-size: 1.2em;\n margin-bottom: 0.5em;\n"])));const y=s.Ay.div(f||(f=v(["\n width: 700px;\n"]))),E=s.Ay.input(b||(b=v(["\n flex: 1;\n width: 100%;\n height: 45px;\n padding: 6px 12px;\n font-size: 16px;\n border: 1px solid #ccc;\n border-radius: 4px;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n line-height: 1.42857143;\n color: #555;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n"]))),k=s.Ay.div(m||(m=v(["\n background-color: #f7f7f7;\n padding: 10px;\n display: flex;\n justify-content: center;\n margin-bottom: 1em;\n"]))),_=s.Ay.div(x||(x=v(["\n padding-top: 10px;\n"]))),z=s.Ay.div(g||(g=v(["\n display: flex;\n flex-wrap: wrap;\n gap: 20px;\n justify-content: flex-start;\n padding: 10px;\n"]))),A=s.Ay.div(h||(h=v(["\n flex: 1 1 calc(33.333% - 20px);\n min-height: 250px;\n position: relative;\n overflow: hidden;\n border: 1px solid #ddd;\n border-radius: 4px;\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);\n \n"]))),j=s.Ay.h3(w||(w=v(["\n background-color: #325880;\n color: #fff; \n padding: 10px;\n margin: 0;\n font-weight: bold;\n font-size: 1.1em;\n border-bottom: 1px solid #ddd;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n font-size: 16px;\n font-weight: bold;\n"])));var O=t(637);const C=()=>{const[e,n]=(0,a.useState)(""),[t,r]=(0,a.useState)({}),o=(0,a.useRef)(null);return(0,a.useEffect)((()=>{const n=O._1.filter((n=>{var t;return(null!==(t=n.description_menu)&&void 0!==t?t:"").toLowerCase().includes(e.toLowerCase())})).reduce(((e,n)=>{const t=n.displayCategory||"Uncategorized";return e[t]||(e[t]=[]),e[t].push(n),e}),{});r(n)}),[e]),(0,a.useEffect)((()=>{const e=setTimeout((()=>{o.current&&o.current.focus()}),0),n=setInterval((()=>{o.current&&(o.current.focus(),clearInterval(n))}),100);return()=>{clearTimeout(e),clearInterval(n)}}),[]),a.createElement("article",null,a.createElement(k,null,a.createElement(y,null,a.createElement(E,{id:"statistics-filter",type:"text",placeholder:"Enter keywords to filter statistics",value:e,onChange:e=>n(e.target.value),ref:o}))),a.createElement(z,null,Object.entries(t).map((e=>{let[n,t]=e;return a.createElement(A,{key:n},a.createElement(j,null,n),a.createElement(p,{items:t}))}))),a.createElement(_,null,a.createElement("p",null,"These statistics are generated using ",a.createElement("a",{href:"/pages/webservices"},"Web Services")," and represent the current holdings of the archive."),a.createElement("p",null,"wwPDB hosts statistics on PDB ",a.createElement("a",{href:"https://www.wwpdb.org/stats/deposition",target:"_blank",rel:"noopener"},"Data Deposited")," and ",a.createElement("a",{href:"https://www.wwpdb.org/stats/download",target:"_blank",rel:"noopener"},"Data Downloaded"),".")))}}}]);
1
+ "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[630],{1630:(e,n,t)=>{t.r(n),t.d(n,{default:()=>C});var r,o,a=t(6540),i=t(4976),s=t(7581);function l(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}const c=s.Ay.ul(r||(r=l(["\n padding: 10px;\n max-height: 300px;\n overflow-y: auto;\n"]))),d=(0,s.Ay)(i.N_).attrs({className:"list-group-item"})(o||(o=l(["\n padding: 0;\n margin-bottom: 10px;\n border: none;\n color: #337ab7 !important;\n font-weight: 400;\n font-size: 14px;\n cursor: pointer;\n\n &:hover {\n text-decoration: underline !important;\n background: none !important; \n }\n"]))),p=e=>{let{items:n}=e;return a.createElement(c,null,n.map(((e,n)=>a.createElement(d,{key:n,to:e.link},e.description_menu))))};var u,f,b,m,x,g,h,w;function v(e,n){return n||(n=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}s.Ay.label(u||(u=v(["\n display: block;\n font-size: 1.2em;\n margin-bottom: 0.5em;\n"])));const y=s.Ay.div(f||(f=v(["\n width: 700px;\n"]))),E=s.Ay.input(b||(b=v(["\n flex: 1;\n width: 100%;\n height: 45px;\n padding: 6px 12px;\n font-size: 16px;\n border: 1px solid #ccc;\n border-radius: 4px;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n line-height: 1.42857143;\n color: #555;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n"]))),k=s.Ay.div(m||(m=v(["\n background-color: #f7f7f7;\n padding: 10px;\n display: flex;\n justify-content: center;\n margin-bottom: 1em;\n"]))),_=s.Ay.div(x||(x=v(["\n padding-top: 15px;\n"]))),z=s.Ay.div(g||(g=v(["\n display: flex;\n flex-wrap: wrap;\n gap: 20px;\n justify-content: flex-start;\n padding: 10px;\n"]))),A=s.Ay.div(h||(h=v(["\n flex: 1 1 calc(33.333% - 20px);\n min-height: 250px;\n position: relative;\n overflow: hidden;\n border: 1px solid #ddd;\n border-radius: 4px;\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);\n \n"]))),j=s.Ay.h3(w||(w=v(["\n background-color: #325880;\n color: #fff; \n padding: 10px;\n margin: 0;\n font-weight: bold;\n font-size: 1.1em;\n border-bottom: 1px solid #ddd;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n font-size: 16px;\n font-weight: bold;\n"])));var O=t(637);const C=()=>{const[e,n]=(0,a.useState)(""),[t,r]=(0,a.useState)({}),o=(0,a.useRef)(null);return(0,a.useEffect)((()=>{const n=O._1.filter((n=>{var t;return(null!==(t=n.description_menu)&&void 0!==t?t:"").toLowerCase().includes(e.toLowerCase())})).reduce(((e,n)=>{const t=n.displayCategory||"Uncategorized";return e[t]||(e[t]=[]),e[t].push(n),e}),{});r(n)}),[e]),(0,a.useEffect)((()=>{const e=setTimeout((()=>{o.current&&o.current.focus()}),0),n=setInterval((()=>{o.current&&(o.current.focus(),clearInterval(n))}),100);return()=>{clearTimeout(e),clearInterval(n)}}),[]),a.createElement("article",null,a.createElement(k,null,a.createElement(y,null,a.createElement(E,{id:"statistics-filter",type:"text",placeholder:"Enter keywords to filter statistics",value:e,onChange:e=>n(e.target.value),ref:o}))),a.createElement(z,null,Object.entries(t).map((e=>{let[n,t]=e;return a.createElement(A,{key:n},a.createElement(j,null,n),a.createElement(p,{items:t}))}))),a.createElement(_,null,a.createElement("p",null,"These statistics are generated using ",a.createElement("a",{href:"/pages/webservices"},"Web Services")," and represent the current holdings of the archive."),a.createElement("p",null,"wwPDB hosts statistics on PDB ",a.createElement("a",{href:"https://www.wwpdb.org/stats/deposition",target:"_blank",rel:"noopener"},"Data Deposited")," and ",a.createElement("a",{href:"https://www.wwpdb.org/stats/download",target:"_blank",rel:"noopener"},"Data Downloaded"),".")))}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_rcsb_rcsb_statistics=self.webpackChunk_rcsb_rcsb_statistics||[]).push([[676],{3676:(e,t,n)=>{n.r(t),n.d(t,{default:()=>He});var a,r,l,o,i,c,s,d,u,p,m,b,g,f,v,h,y,x,E,w,j,C,k,O,A=n(6540),S=n(7767),D=n(4731),T=n(6118),P=n(3839),_=n(1105),z=n(1376),q=n(4479),F=n(3048),R=n(6044),N=n(8027),I=n(6973),L=n(2756),M=n(7638),H=n(6061),U=n(8422),Y=n(7581);function G(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const J=(0,Y.i7)(a||(a=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"]))),$=Y.Ay.div(r||(r=G(["\n animation: "," .5s ease-in;\n will-change: opacity, transform;\n"])),J),B=Y.Ay.div(l||(l=G([" \n display: flex;\n justify-content: flex-end;\n margin-top: -10px;\n"]))),V=Y.Ay.div.attrs((()=>({as:"div"})))(o||(o=G(["\n display: flex;\n justify-content: flex-start;\n margin-top: 20px;\n"]))),W=Y.Ay.button(i||(i=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"]))),Z=Y.Ay.div(c||(c=G(["\n padding-left: 7px;\n margin-top: 40px;\n"]))),K=(0,Y.Ay)(_.A)(s||(s=G(["\n margin-top: 40px;\n"]))),Q=Y.Ay.div(d||(d=G(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 5px;\n"]))),X=Y.Ay.div(u||(u=G(["\n background-color: #f0f0f0;\n border: ",";\n padding: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ",";\n pointer-events: ",";\n\n ","\n"])),(e=>{let{selected:t}=e;return t?"1px solid black":"1px solid #fff"}),(e=>{let{disabled:t}=e;return t?"#b0b0b0":"#606060"}),(e=>{let{disabled:t}=e;return t?"none":"auto"}),(e=>{let{disabled:t}=e;return!t&&"\n &:hover {\n background-color: #e0e0e0;\n border: 1px solid #808080;\n cursor: pointer;\n }\n "})),ee=Y.Ay.div(p||(p=G(["\n display: flex;\n align-items: center;\n margin-bottom: 5px;\n"]))),te=Y.Ay.input(m||(m=G(["\n margin-right: 20px;\n"]))),ne=Y.Ay.label(b||(b=G(["\n font-size: 12px;\n margin-left: 5px;\n font-weight: normal;\n margin-bottom: 0 !important;\n"]))),ae=Y.Ay.div(g||(g=G(["\n font-weight: bold;\n font-size: 1.2em;\n margin-bottom: 15px;\n"]))),re=Y.Ay.div(f||(f=G(["\n width: auto;\n height: 550px;\n margin-bottom: 100px;\n"]))),le=Y.Ay.div(v||(v=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"]))),oe=Y.Ay.div(h||(h=G(["\n margin-bottom: 35px;\n"]))),ie=Y.Ay.div(y||(y=G(["\n font-weight: bold;\n margin-bottom: 5px;\n"]))),ce=(Y.Ay.div(x||(x=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"]))),Y.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"])))),se=Y.Ay.div(w||(w=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"]))),de=Y.Ay.div(j||(j=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: -15px;\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"]))),ue=Y.Ay.ul(C||(C=G(["\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n min-width: 130px;\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"])),se),pe=Y.Ay.li(k||(k=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"]))),me=Y.Ay.span(O||(O=G(["\n margin-left: 8px;\n font-size: 14px;\n color: #333;\n"])));var be,ge=n(2195);const fe=Y.Ay.div(be||(ve=["\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 }\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"],he||(he=ve.slice(0)),be=Object.freeze(Object.defineProperties(ve,{raw:{value:Object.freeze(he)}}))));var ve,he;const ye=e=>{let{data:t,title:n}=e;if(0===t.length)return A.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 A.createElement(A.Fragment,null,n&&A.createElement(ce,null,n),A.createElement(fe,null,A.createElement(ge.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"}}})))},xe=e=>{let{chartType:t,handleChartTypeChange:n,isDistPlot:a}=e;const r=e=>{n(e)};return A.createElement(se,null,A.createElement(de,null,A.createElement(X,null,(()=>{switch(t){case"bar":default:return A.createElement(N.v$b,{size:15});case"line":return A.createElement(N.YYR,{size:15});case"pie":return A.createElement(N.qvi,{size:15})}})()),A.createElement("span",{className:"triangle"})),A.createElement(ue,null,A.createElement(pe,{onClick:()=>r("bar")},A.createElement(X,null,A.createElement(N.v$b,{size:15})),A.createElement(me,null,"Bar Chart")),!a&&A.createElement(pe,{onClick:()=>r("line")},A.createElement(X,null,A.createElement(N.YYR,{size:15})),A.createElement(me,null,"Line Chart")),a&&A.createElement(pe,{onClick:()=>r("pie")},A.createElement(X,null,A.createElement(N.qvi,{size:15})),A.createElement(me,null,"Pie Chart"))))};var Ee=n(637),we=n(7231);function je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Ce(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?je(Object(n),!0).forEach((function(t){ke(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):je(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ke(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}T.t1.register(T.PP,T.kc,T.OJ,T.E8,T.No,T.Bs,T.FN,T.hE,T.m_,T.s$,P.Ay);const Oe=e=>{const t=e.datasets.map((e=>{const t=[];let n=0;return e.data.forEach((e=>{n+=e,t.push(n)})),Ce(Ce({},e),{},{data:t})}));return Ce(Ce({},e),{},{datasets:t})},Ae=e=>{var t,n,a;let{data:r,plotName:l}=e;const o=(0,A.useRef)(null),{handleOpenModal:i,handleCloseModal:c}=(0,L.h)(),{settings:s,updateCurrentInput:d,setConfig:u}=(0,M.t)(),p=s.colorScheme,m=Ee.jS.find((e=>e.key===l)),b="distribution"===(null==m?void 0:m.chartCategory),g=null==m?void 0:m.trauncateViewData,f=(null==m?void 0:m.chartOptions)||{},v=b?s.config.chartType.distrubution:s.config.chartType.growth,h=s.config.chartType.scale,y=b?"non-cumulative":s.config.chartType.dataView,[x,E]=((0,H.R)(),(0,A.useState)(r.datasets.map((e=>({label:e.label||"",visible:!0}))))),[w,j]=(0,A.useState)("natural"),[C,k]=(0,A.useState)((()=>"cumulative"===(b?"non-cumulative":y)?Oe(r):r)),O=r.datasets.map((e=>({label:e.label||"",visible:!0}))),S=b?"non-cumulative":"cumulative",T=()=>{E(O),j("natural"),u({chartType:Ce(Ce({},s.config.chartType),{},{[b?"distrubution":"growth"]:"bar",scale:"linear",dataView:S})}),k("cumulative"===S?Oe(r):r)};(0,A.useEffect)((()=>{const e="cumulative"===y?Oe(r):r;k(e)}),[y,r]),(0,A.useEffect)((()=>{if("cumulative"===y){const e=Oe(r);k({labels:r.labels,datasets:e.datasets.map((e=>{var t;return Ce(Ce({},e),{},{hidden:!(null!==(t=x.find((t=>t.label===e.label)))&&void 0!==t&&t.visible)})}))})}else k({labels:r.labels,datasets:r.datasets.map((e=>{var t;return Ce(Ce({},e),{},{hidden:!(null!==(t=x.find((t=>t.label===e.label)))&&void 0!==t&&t.visible)})}))})}),[y,r,x]),(0,A.useEffect)((()=>{if("distribution-source-organism"===l){var e;const t=[],n=[],a=[];if(null!=r&&null!==(e=r.datasets)&&void 0!==e&&null!==(e=e[0])&&void 0!==e&&e.objectConfig&&Array.isArray(r.labels)){r.datasets[0].objectConfig.forEach(((e,l)=>{if(e.label===w){var o,i;const c=null===(o=r.labels)||void 0===o?void 0:o[l],s=null===(i=r.datasets[0].data)||void 0===i?void 0:i[l];c&&void 0!==s&&(t.push(c),n.push(s),a.push(e))}}));const e=Ce(Ce({},r.datasets[0]),{},{data:n,objectConfig:a});k({labels:t,datasets:[e]})}}}),[w,r,l]),(0,A.useEffect)((()=>{JSON.stringify(s.currentInput)!==JSON.stringify(x)&&(l.includes("overall")||d(x))}),[x,d]);const P=()=>{u({chartType:Ce(Ce({},s.config.chartType),{},{scale:"linear"===s.config.chartType.scale?"logarithmic":"linear"})})},Y=e=>{u({chartType:Ce(Ce({},s.config.chartType),{},{dataView:e})})},G=e=>{j(e)},J=e=>{if(o.current){const t=(0,D.CK)(o.current,e);if(t.length>0&&r.labels){const{index:e}=t[0],n=r.labels[e];if(m&&m.getSearchObj){const e=m.getSearchObj(s,n),t=JSON.stringify(e),a=encodeURIComponent(t),r="".concat(s.config.searchAdvancedUrl,"/search?request=").concat(a);window.open(r,"_blank")}}}},$=Ce(Ce({},f),{},{scales:b||"line"!==v?f.scales:Ce(Ce({},f.scales),{},{x:Ce(Ce({},null===(t=f.scales)||void 0===t?void 0:t.x),{},{stacked:!1}),y:Ce(Ce({},null===(n=f.scales)||void 0===n?void 0:n.y),{},{type:h,stacked:!1,min:"logarithmic"===h?1:void 0,ticks:{callback:function(e){return"logarithmic"===h?[1,10,100,1e3,1e4].includes(e)?e:null:e}},title:{display:!0,text:"".concat((null==f||null===(a=f.scales)||void 0===a||null===(a=a.y)||void 0===a||null===(a=a.title)||void 0===a?void 0:a.text)||"Y-Axis"," ").concat("logarithmic"===h?"(Logarithmic scale)":"(Linear scale)")}})}),plugins:Ce(Ce({},f.plugins),{},{legend:{display:r.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"}}),ce=e=>{u({chartType:Ce(Ce({},s.config.chartType),{},{[b?"distrubution":"growth"]:e})})},se=(e,t)=>{const n=e.datasets[0],a=e.labels.map(((e,n)=>t[n%t.length]));return{labels:e.labels,datasets:[{data:n.data,backgroundColor:a,borderColor:a,borderWidth:1}]}},de=e=>{const{title:t,legend:n,tooltips:a,responsive:r,plugins:l}=e,o={responsive:null==r||r,maintainAspectRatio:!1,plugins:Ce(Ce({},l),{},{legend:Ce(Ce({},n),{},{display:!0,position:"bottom",onClick:(e,t,n)=>((e,t)=>{const n=e.getDatasetMeta(0),a=t.index;if(void 0!==a){const r=n.data[a].hidden;n.data[a].hidden=!r,t.hidden=n.data[a].hidden,e.options.plugins.legend.labels.generateLabels=e=>e.data.labels.map(((t,a)=>({text:t,fillStyle:e.data.datasets[0].backgroundColor[a],hidden:n.data[a].hidden,index:a}))),e.update()}})(n.chart,t)}),tooltip:Ce(Ce({},a),{},{callbacks:{label:e=>{const{dataset:t,dataIndex:n,chart:a}=e,r=a.getDatasetMeta(0).data.map(((e,t)=>e.hidden?null:t)).filter((e=>null!==e)).map((e=>t.data[e])),l=t.data[n],o=(l/r.reduce(((e,t)=>e+t),0)*100).toFixed(2);return"".concat(e.label,": ").concat(l," - ").concat(o,"% (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 o},ue=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 Ce(Ce({},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}};return A.createElement(A.Fragment,null,A.createElement(B,null,A.createElement(W,{onClick:e=>{if(null==m||!m.getSearchObj)return;const t=((e,t,n,a,r)=>{var l,o;const i="".concat(t.config.searchApiUrl,"/query-editor.html?json="),c="1976-05-19",s=null==m||null===(l=m.query)||void 0===l||null===(l=l.firstDim)||void 0===l?void 0:l.attribute,d=null==m||null===(o=m.query)||void 0===o?void 0:o.returnType;let u,p,b;if(a){var g,f;const e=null==m||null===(g=m.query)||void 0===g||null===(g=g.firstDim)||void 0===g?void 0:g.ranges,t=null==m||null===(f=m.query)||void 0===f||null===(f=f.firstDim)||void 0===f?void 0:f.filter;if(e&&!t){var v,h;if(!Array.isArray(e)||e.length<2)return i;if(u=null===(v=e[0])||void 0===v?void 0:v.to,p=null===(h=e[e.length-1])||void 0===h?void 0:h.from,void 0===u||void 0===p)return i;b={type:we.Type.Terminal,label:"text",service:we.Service.Text,parameters:{attribute:s,operator:we.Operator.Range,value:{from:u,to:p,include_lower:!0,include_upper:!1}}}}else if(t){var y,x;const e=r.labels,t=Array.isArray(null==m||null===(y=m.query)||void 0===y||null===(y=y.firstDim)||void 0===y?void 0:y.facets)?null==m||null===(x=m.query)||void 0===x||null===(x=x.firstDim)||void 0===x||null===(x=x.facets[0])||void 0===x?void 0:x.attribute:void 0;b={type:we.Type.Group,nodes:e.map((e=>({type:we.Type.Terminal,service:we.Service.Text,parameters:{attribute:t,operator:we.Operator.ExactMatch,value:e}}))),logical_operator:we.LogicalOperator.Or,label:"text"}}else{const e=r.labels.slice(0,25);b={type:we.Type.Group,nodes:e.map((e=>({type:we.Type.Terminal,service:we.Service.Text,parameters:{attribute:s,operator:we.Operator.ExactMatch,negation:!1,value:e}}))),logical_operator:we.LogicalOperator.Or,label:"text"}}}else{const e=n(t,c);if(!e||!e.query||!e.query.nodes)return i;b={type:e.query.type,nodes:[Ce(Ce({},e.query.nodes[0]),{},{parameters:Ce(Ce({},e.query.nodes[0].parameters),{},{operator:we.Operator.GreaterOrEqual,value:c})}),...e.query.nodes.slice(1)],logical_operator:e.query.logical_operator,label:"text"}}const E={query:b,return_type:d,request_options:{paginate:{start:0,rows:25},results_content_type:["experimental"],sort:[{sort_by:we.RelevanceScoreRankingOption.Score,direction:we.SortDirection.Desc}],scoring_strategy:we.ScoringStrategy.Combined}},w=encodeURIComponent(JSON.stringify(E));return"".concat(i).concat(w)})(0,s,m.getSearchObj,b,C);t&&window.open(t,"_blank")}},A.createElement(N.Pcn,null)," Search API")),A.createElement(F.A,null,(()=>{Ce(Ce({},$),{},{maintainAspectRatio:!1,plugins:{legend:{display:!1}}});const e=()=>"Report: ".concat(f.plugins.title.text,", Generated on: ").concat((new Date).toLocaleDateString()," ").concat((new Date).toLocaleTimeString()),t=(e,t,n)=>{var a,r;if(null==e||null===(a=e.datasets)||void 0===a||!a.length||0===e.labels.length)return{columns:[],gridData:[]};if(t){var l,o;const t=e.labels||[],a=e.datasets[0]||{},r=(null===(l=n.scales)||void 0===l||null===(l=l.x)||void 0===l||null===(l=l.title)||void 0===l?void 0:l.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?[r,i]:[i,r],gridData:t.map(((e,t)=>[e,(0,U.bF)(a.data[t]||0)]))}}if(1===e.datasets.length)return{columns:["Year",(null===(r=n.scales)||void 0===r||null===(r=r.y)||void 0===r||null===(r=r.title)||void 0===r?void 0:r.text)||"Data"],gridData:e.labels.map(((t,n)=>[t,(0,U.bF)(e.datasets[0].data[n]||0)]))};const i=e.datasets.filter((e=>{var t;return null===(t=x.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,U.bF)(e.data[t]||0))})),n}))}},n=t(C,b,f);if(0===n.columns.length||0===n.gridData.length)return A.createElement("p",null,"No data available for table.");const a=n.gridData.map((e=>{const t={};return n.columns.forEach(((n,a)=>{t[n]=e[a]})),t})),r=g?Ce(Ce({},C),{},{labels:C.labels.slice(0,25),datasets:C.datasets.map((e=>Ce(Ce({},e),{},{data:e.data.slice(0,25)})))}):C,c={bar:A.createElement(D.yP,{ref:o,data:r,options:$,onClick:J}),line:A.createElement(D.N1,{ref:o,data:ue(C),options:$}),pie:A.createElement(D.Fq,{ref:o,data:se(r,p),options:de($),onClick:J}),table:A.createElement(A.Fragment,null," ",A.createElement(ye,{data:a,title:$.plugins.title.text}))};return A.createElement(q.A,null,A.createElement(_.A,{md:10},A.createElement(re,null,c[v],A.createElement(V,null,A.createElement("div",{dangerouslySetInnerHTML:{__html:(null==m?void 0:m.description)||""}})))),A.createElement(_.A,{md:2},A.createElement(q.A,null,A.createElement(K,{md:2},A.createElement(Q,null,A.createElement(A.Fragment,null,A.createElement(X,{"data-tooltip-id":"settings-tooltip","data-tooltip-content":"Change Chart Colors",onClick:()=>i("settings")},A.createElement(N.Pcn,{size:15})),A.createElement(xe,{"data-tooltip-id":"chart-type-tooltip","data-tooltip-content":"Change Chart type",chartType:v,handleChartTypeChange:ce,isDistPlot:b}),A.createElement(X,{"data-tooltip-id":"table-tooltip","data-tooltip-content":"Table View",disabled:!1,selected:"table"===v,onClick:()=>ce("table")},A.createElement(N.ist,{size:15})),A.createElement(X,{"data-tooltip-id":"csv-tooltip","data-tooltip-content":"Download data (csv)",onClick:()=>{const n=t(C,b,f),a=((t,n)=>{const a=e(),r=[...n].sort(((e,t)=>e[0]>t[0]?-1:e[0]<t[0]?1:0));return[a,t.join(","),...r.map((e=>e.map((e=>e.replace(/,/g,""))).join(",")))].join("\n")})(n.columns,n.gridData),r=new Blob([a],{type:"text/csv;charset=utf-8;"}),l=URL.createObjectURL(r),o=document.createElement("a");o.href=l;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},A.createElement(N.$TP,{size:15})),!b&&A.createElement(X,{"data-tooltip-id":"scale-tooltip","data-tooltip-content":"Toggle data scale",disabled:!("line"===v),onClick:P},"linear"===h?A.createElement(I.Ten,{size:15}):A.createElement(N.g0N,{size:15})),A.createElement(X,{"data-tooltip-id":"reset-tooltip","data-tooltip-content":"Reset Filter",onClick:T,disabled:!1},A.createElement(N.DIg,{size:15})),A.createElement(R.m_,{id:"settings-tooltip",place:"left"}),A.createElement(R.m_,{id:"information-tooltip",place:"left"}),A.createElement(R.m_,{id:"chart-type-tooltip",place:"left"}),A.createElement(R.m_,{id:"table-tooltip",place:"left"}),A.createElement(R.m_,{id:"scale-tooltip",place:"left"}),A.createElement(R.m_,{id:"csv-tooltip",place:"left"}),A.createElement(R.m_,{id:"reset-tooltip",place:"left"})))),A.createElement(_.A,{md:10},A.createElement(Z,null,A.createElement(A.Fragment,null,b?"distribution-source-organism"===l&&A.createElement(le,null,A.createElement(ie,null,"Data Set"),A.createElement(z.A.Check,{type:"radio",id:"view-natural",label:"Natural",name:"source-organism-view-switch",value:"natural",checked:"natural"===w,onChange:()=>G("natural")}),A.createElement(z.A.Check,{type:"radio",id:"view-genetically engineered",label:"Genetically Engineered",name:"source-organism-view-switch",value:"genetically engineered",checked:"genetically engineered"===w,onChange:()=>G("genetically engineered")}),A.createElement(z.A.Check,{type:"radio",id:"view-synthetic",label:"Synthetic",name:"source-organism-view-switch",value:"synthetic",checked:"synthetic"===w,onChange:()=>G("synthetic")})):A.createElement(A.Fragment,null,x.length>1&&A.createElement(A.Fragment,null,A.createElement(ae,null,"Data Options"),A.createElement(oe,null,A.createElement(ie,null,"Data Shown"),x.map((e=>{const t="unique-protein-sequences"===l&&e.label?"Identity ".concat(parseFloat(e.label).toFixed(0),"%"):e.label;return A.createElement(ee,{key:e.label},A.createElement(te,{type:"checkbox",id:e.label,checked:e.visible,onChange:()=>{return t=e.label,void E((e=>e.map((e=>e.label===t?Ce(Ce({},e),{},{visible:!e.visible}):e))));var t}}),A.createElement(ne,{htmlFor:e.label},t))})))),A.createElement(le,null,A.createElement(ie,null,"Data Set"),A.createElement(z.A.Check,{type:"radio",id:"view-annual",label:"Annual",name:"view-switch",value:"non-cumulative",checked:"non-cumulative"===y,onChange:()=>Y("non-cumulative")}),A.createElement(z.A.Check,{type:"radio",id:"view-cumulative",label:"Cumulative",name:"view-switch",value:"Cumulative",checked:"cumulative"===y,onChange:()=>Y("cumulative")})))))))))})()))};var Se=n(3076),De=n(8533),Te=n(176),Pe=n(7704),_e=n(8154),ze=n(2543);function qe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Fe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qe(Object(n),!0).forEach((function(t){Re(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Re(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 Ne=async function(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4?arguments[4]:void 0,l=arguments.length>5?arguments[5]:void 0,o=arguments.length>6?arguments[6]:void 0;const i=(0,ze.cloneDeep)(n.firstDim);n.secondDim&&(0,_e.vw)(n.secondDim,i);const c={return_type:n.returnType,request_options:{paginate:{rows:0},facets:[i]}};l("searchRequest",c),l("stats_notes",r);const s=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}))})(c,o.config);if(!s)return[[]];const d=(0,Pe.z)(s);let u=d[0].data;const p={resolution:U.$Z,"r-free":U.$Z,"molecular-weight-structure":U.bl,"molecular-weight-entity":U.bl,"molecular-weight-small-molecules":U.bl,"atom-count":U.pF,"residue-count":U.pF},m=p[e]?p[e](u):u;if(p[e]&&(u=m),"distribution-source-organism"===e)return[d.filter((e=>"Source Organism"===e.name)).flatMap((e=>e.data.map((t=>Fe(Fe({},t),{},{labelPath:e.labelPath,objectConfig:Fe({},t.objectConfig||{})}))))).map(((e,n)=>Fe(Fe({},e),{},{objectConfig:Fe(Fe({},e.objectConfig),{},{color:t[n%t.length],label:e.labelPath.join(", ")})})))];if(a&&u.length>0){let e=0;return[u.map((e=>Fe(Fe({},e),{},{objectConfig:Fe(Fe({},e.objectConfig),{},{color:t[0%t.length],label:"Annual"})}))),u.map((n=>(e+=n.population,Fe(Fe({},n),{},{population:e,objectConfig:{objectId:[n.label,e],color:t[1%t.length],label:"Cumulative"}}))))]}return n.secondDim?Ie(e,n,d.filter((e=>e.name===Le(n.secondDim))),t,o.config.searchAdvancedUrl,o.currentInput):[u.map((e=>Fe(Fe({},e),{},{objectConfig:{objectId:[e.label,e.population],color:t[0%t.length]}})))]},Ie=(e,t,n,a,r,l)=>{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),d=[];return s.forEach(((e,t)=>{const n=[];i.forEach((r=>{var l,o;const i=null!==(l=null===(o=c.get(r))||void 0===o?void 0:o.get(e))&&void 0!==l?l:0;i>0&&n.push({label:r,population:i,objectConfig:{objectId:[r,e,i],color:a[t%a.length]}})})),n.length>0&&d.push(n)})),d},Le=e=>{if("name"in e)return e.name;if(!e.facets||1!==e.facets.length)throw new Error("Multiple facets are not allowed");return Le(e.facets[0])},Me=(e,t)=>{const{settings:n}=(0,M.t)(),{setProperty:a}=(0,H.R)(),r=n.colorScheme.join("");return(0,Te.I)({queryKey:[e,t,r],queryFn:()=>(async(e,t,n,a)=>{const{stats_notes:r,query:l}=(e=>{const t=Ee.Tb.getStatisticsChartObject(e);return{stats_notes:null==t?void 0:t.description,query:null==t?void 0:t.query}})(e);if(!l)throw new Error("Unknown chart key: ".concat(e));return Ne(e,t,l,!1,r,n,a)})(e,n.colorScheme,a,n),enabled:!!e})},He=e=>{let{setFullscreenContent:t}=e;const n=(0,S.g)().plotname||"",a=n||"",{data:r,isLoading:l,error:o}=Me(a),{settings:i}=((0,H.R)(),(0,M.t)());if(l)return A.createElement($,null,A.createElement(Se.A,null));if(o)return A.createElement($,null,A.createElement(De.A,{error:o}));const c=r&&r.length>0?("distribution-source-organism"===n&&console.log("chart data",r),{labels:r[0].map((e=>e.label)),datasets:r.map(((e,t)=>{var n,a,l,o;const i={};return e.forEach((e=>{i[e.label]=e.population})),{label:null!==(n=null===(a=e[0])||void 0===a||null===(a=a.objectConfig)||void 0===a||null===(a=a.objectId)||void 0===a?void 0:a[1])&&void 0!==n?n:"Dataset ".concat(t+1),data:r[0].map((e=>i[e.label]||0)),backgroundColor:(null===(l=e[0])||void 0===l||null===(l=l.objectConfig)||void 0===l?void 0:l.color)||"rgba(0, 0, 0, 0.1)",borderColor:(null===(o=e[0])||void 0===o||null===(o=o.objectConfig)||void 0===o?void 0:o.color)||"rgba(0, 0, 0, 0.1)",borderWidth:1,objectConfig:e.map((e=>e.objectConfig))}}))}):null;return A.createElement($,{key:n},c?A.createElement(A.Fragment,null,A.createElement(Ae,{data:c,plotName:n,setFullscreenContent:t})):A.createElement($,null,A.createElement(De.A,{error:new Error("No data available")})))}}}]);