1(self.webpackChunknatgeo=self.webpackChunknatgeo||[]).push([[2114],{33266:(e,t,n)=>{var a,o=n(85893),i=(n(67294),n(3896)),s=n(45697),r=n(93967),l=n(27361),c=n(50239),d=n(84967),u=n(33439),p=n(71911),h=n(38553),m=n(47505),x=n(51027),g=n(63225),C=n(73040),T=n(38524),f=u.THEMES.DARK,b=d.evtCancel,_=d.evtTgt,v=d.qsa,y=c.emptyObj,M=c.NULL,w=c.TRUE,S=c.FALSE,N=c.passThru,j=c.strlc,k="Caption",B="state.showCustomLightbox",E="span";n(84258),a=i({displayName:k,contextTypes:{theme:s.string,translate:s.func},propTypes:{buttonTextAria:s.string,closeModalAria:s.string,credit:s.string,disableRichText:s.bool,disableTruncation:s.bool,elementType:s.string,hideEndBug:s.bool,hideCredit:s.bool,lines:s.number,logoAlt:s.string,logoSize:s.string,logoSrc:s.string,meta:s.string,modalButtonIcon:s.string,modalButtonText:s.string,modalContent:s.string,modalTitle:s.string,positionMetaBottom:s.bool,preHeading:s.string,showModal:s.bool,showMoreText:s.string,text:s.string,theme:s.string,title:s.string,truncateText:s.string,unstyledModalBotton:s.bool,useServerSanitizeText:s.bool,windowWidth:s.number},getDefaultProps:function(){return{disableRichText:S,hideCredit:S,hideEndBug:S,lines:2,logoSize:"xs",positionMetaBottom:S,showModal:S,showMoreText:"Show more",truncateText:"...",unstyledModalBotton:S}},getDescriptionModal:function(e,t,n,a,i){var s=this||y,r=l(s,B),c=l(s,"state.element");return o.jsx(T,{className:"Caption__LightBox",closeBtnAria:i(e),fullWindow:S,isActive:r,refElement:c,setFocus:s.setFocusOnCloseButton,title:a,toggleState:s.handleToggleState,useDark:t,children:o.jsx("div",{className:"Caption__LightBox--description",children:n})})},getInitialState:function(){return{expanded:S}},handleToggleState:function(e){this.setState({showCustomLightbox:!l(this,B)})},handleModalClick:function(e){var t=this||y,n=_(e)||y,a=e.key||"",o=e.keyCode||M,i=e.type||"";"Enter"!==a&&13!==o&&"click"!==i||(b(e),t.setState({element:n,showCustomLightbox:!l(t,B)}))},handleReadMoreClick:function(e){var t=this||y,n=t.state||y;b(e),n.expanded||t.setState({expanded:w})},render:function(){var e,t,n=this||y,a=n.context||y,i=a.translate||N,s=(n.state||y).expanded,c=n.props||y,d=c.credit,u=c.disableRichText,T=c.disableTruncation,b=c.elementType,_=c.hideEndBug,v=c.hideCredit,w=s?0:c.lines,W=c.logoAlt,A=c.logoSize,L=c.logoSrc,z=c.meta,R=c.modalButtonText,H=c.modalContent,D=c.modalTitle,F=c.positionMetaBottom,O=c.preHeading,P=c.showModal,U=i(c.showMoreText),I=l(n,B),q=c.text,K=j(c.theme)||a.theme,G=c.title,J=c.titleAriaHidden||S,Q=c.truncateText,V=c.useServerSanitizeText,X=c.windowWidth,Y=K===f,Z=K&&"Caption Caption--".concat(K),$=r(k,Z,{"Caption--hideEndBug":_},c.className),ee=G===q,te=V?h:m,ne=o.jsx(te,{element:b,text:q}),ae=o.jsx("span",{children:o.jsx(p,{className:"Caption__ShowMore",onClick:n.handleReadMoreClick,children:U})}),oe=o.jsx(C,{alt:W,className:"Caption__Logo",size:A,src:L}),ie=r("Caption__Meta",{"Caption__Meta--flex":L&&oe,"Caption__Meta--bottom":F}),se=r("Caption__TextWrapper",{"Caption__TextWrapper--flex":u&&1===w}),re=L&&u&&!z;return z||G||q||d||re||P?(e=T?ne:u?o.jsx(x,{containerClassName:"Caption__TextTruncate",line:w,text:q,textTruncateChild:U?ae:null,truncateText:Q,winSize:X},q):o.jsx(g,{ellipsis:Q,lineCount:w,showMoreText:U,children:ne},q),t=o.jsxs("div",{className:ie,children:[L&&oe,o.jsx(te,{className:"Caption__Meta__Text",element:E,text:z})]}),o.jsx("div",{className:"Caption__Wrapper",children:o.jsxs("div",{className:$,children:[z&&!F&&t,O&&o.jsx("div",{className:"Caption__PreHeading",children:O}),G&&o.jsx("p",{className:"Caption__Title","aria-hidden":J,children:o.jsx(te,{element:E,text:G})}),(re||q&&!ee)&&o.jsxs("div",{className:se,children:[re&&oe,q&&o.jsx("div",{className:"Caption__Text","aria-live":"polite",children:e})]}),P&&R&&H&&o.jsxs("div",{className:"Caption__ButtonModalWrapper",children:[o.jsxs(p,{icon:c.modalButtonIcon,unStyled:c.unstyledModalBotton,className:"Caption__ModalButton","aria-label":c.buttonTextAria,onClick:n.handleModalClick,children:[" ",i(R)," "]}),I&&n.getDescriptionModal(c.closeModalAria,Y,H,D,i)]}
1),d&&!v&&o.jsx(te,{ariaLabel:d,className:"Caption__Credit",element:E,text:d}),z&&F&&t]})})):M},setFocusOnCloseButton:function(){var e,t;(e=".lightbox__closebtn")&&(t=v(e,w))&&t.focus()}}),e.exports=a},42114:(e,t,n)=>{e.exports=n(33266)},46264:(e,t,n)=>{var a,o=n(67294),i=o.createElement,s=n(50239),r=s.idxOf,l=s.shallowEq,c=s.cnum,d=n(84967),u=n(45697),p=n(3896),h=n(22681),m=n(48403),x=s.emptyObj;(a=p({displayName:"TextTruncate",componentDidMount:function(){var e=d.make("canvas"),t=d.make("span"),n=this.scope,a=n&&n.current,o=a&&d.currentStyle(a),i=o&&[o["font-weight"],o["font-style"],o["font-size"],o["font-family"]].join(" ");t.appendChild(e),this.canvas=e.getContext("2d"),this.canvas.font=i,this.forceUpdate()},getRenderText:function(){var e=this.props,t=e&&e.line,n=e&&e.text||"",a=e&&e.textElement,o=e&&e.textTruncateChild,s=e&&e.truncateText,l=e&&e.maxCalculateTimes,u=e&&e.elemProps,p=this.scope,h=p&&p.current,m=d.currentStyle(h),g=h&&d.rect(h),C=g&&g.w,T=m&&m["text-transform"],f=1,b=n.length,_="",v=0,y=0,M=t,w=0,S=!1,N=!1,j=0,k=-1,B="",E=0,W=C*c(M,1,1);if(0===C)return null;if(W>=this.measureWidth(n))return i(a,u,n);var A,L,z,R,H="";for(o&&(A=o.type||x,L=(o.props||x).children,R="string"==typeof A,z=A.name||A.displayName,(R&&("span"===A||"a"===A)||"AnchorLink"===z&&"string"==typeof L)&&(H=L));M-- >0;){for(B=M?"":s+(H?" "+H:"");f<=b;){if(_=n.substr(y,f),!((w=this.measureWidth(_+B,T))<C)){do{if(E++>=l)break;_=n.substr(y,f),M||f--," "===_[_.length-1]&&(_=n.substr(y,f-1)),S&&(k=r(_," ",!0))>-1?(f=k,M&&f++,_=n.substr(y,f)):(f--,_=n.substr(y,f)),w=this.measureWidth(_+B,T)}while(w>=C&&_.length>0);y+=f;break}-1===(v=r(n," ",!1,f+1))?(f+=1,S=!1):(S=!0,f=v)}if(f>=b){y=b;break}S&&!N&&-1===r(n.substr(j,f)," ")&&(N=-1===r(n.substr(j,f)," "),M--),j=f+1}return y===b?i(a,u,n):(this.onTruncated(),i("span",u,i(a,u,n.substr(0,y)+s+" "),o))},measureWidth:function(e,t){var n,a,o=this.canvas;switch(t){case"uppercase":e=e.toUpperCase();break;case"lowercase":e=e.toLowerCase();break;case"capitalize":e=m(e)}return n=o&&o.measureText(e),a=s.cnum(n&&n.width,0,0),Math.ceil(a)},onCalculated:function(){var e=this||{},t=(e.props||{}).onCalculated;t&&setTimeout(t.bind(e),0)},onTruncated:function(){var e=this||{},t=(e.props||{}).onTruncated;t&&setTimeout(t.bind(e),0)},render:function(){var e,t,n=this,a=n.props,s=n.scope,r=a.element,l=a&&a.elemProps||{},c=a.text,d=a.style||{},u=a.containerClassName,p=a.line,h=a.textElement,m=d&&d.fontWeight,x=d&&d.fontStyle,g=d&&d.fontSize,C=d&&d.fontFamily,T=d&&d.lineHeight,f=d&&d.marginTop,b=s||o.createRef(),_={overflow:"hidden",fontWeight:m,fontStyle:x,fontSize:g,fontFamily:C,display:"block",lineHeight:T,marginTop:f};return e=b&&b.current&&p?n.getRenderText():i(h,l,c),n.scope=b,t={ref:n.scope,className:u,style:_},b&&b.current&&n.onCalculated(),i(r,t,e)},shouldComponentUpdate:function(e){return!l(this.props,e)}})).propTypes={containerClassName:u.string,element:u.string,line:u.oneOfType([u.number,u.bool]),onCalculated:u.func,onTruncated:u.func,text:u.string,textElement:u.node,textTruncateChild:u.node,truncateText:u.string,maxCalculateTimes:u.number},a.defaultProps={element:"span",line:1,text:"",textElement:"span",truncateText:"â¦",maxCalculateTimes:10},e.exports=h(a)},51027:(e,t,n)=>{e.exports=n(46264)},84258:(e,t,n)=>{"use strict";n.r(t)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.