diff --git a/0-12e651f35024d17a17be.js b/0-12e651f35024d17a17be.js new file mode 100644 index 0000000..86c1d72 --- /dev/null +++ b/0-12e651f35024d17a17be.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{145:function(e,t,a){"use strict";a.r(t),a.d(t,"graphql",function(){return h}),a.d(t,"StaticQueryContext",function(){return f}),a.d(t,"StaticQuery",function(){return p});var r=a(0),n=a.n(r),i=a(4),s=a.n(i),o=a(147),l=a.n(o);a.d(t,"Link",function(){return l.a}),a.d(t,"withPrefix",function(){return o.withPrefix}),a.d(t,"navigate",function(){return o.navigate}),a.d(t,"push",function(){return o.push}),a.d(t,"replace",function(){return o.replace}),a.d(t,"navigateTo",function(){return o.navigateTo});var c=a(157),d=a.n(c);a.d(t,"PageRenderer",function(){return d.a});var u=a(48);a.d(t,"parsePath",function(){return u.a});var f=n.a.createContext({}),p=function(e){return n.a.createElement(f.Consumer,null,function(t){return e.data||t[e.query]&&t[e.query].data?(e.render||e.children)(e.data?e.data.data:t[e.query].data):n.a.createElement("div",null,"Loading (StaticQuery)")})};function h(){throw new Error("It appears like Gatsby is misconfigured. Gatsby related `graphql` calls are supposed to only be evaluated at compile time, and then compiled away,. Unfortunately, something went wrong and the query was left in the compiled code.\n\n.Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.")}p.propTypes={data:s.a.object,query:s.a.string.isRequired,render:s.a.func,children:s.a.func}},146:function(e,t,a){"use strict";var r=a(8);t.__esModule=!0,t.default=void 0;var n,i=r(a(7)),s=r(a(51)),o=r(a(155)),l=r(a(156)),c=r(a(0)),d=r(a(4)),u=function(e){var t=(0,l.default)({},e);return t.resolutions&&(t.fixed=t.resolutions,delete t.resolutions),t.sizes&&(t.fluid=t.sizes,delete t.sizes),t},f={},p=function(e){var t=u(e),a=t.fluid?t.fluid.src:t.fixed.src;return f[a]||!1},h=[];var m=function(e,t){(void 0===n&&"undefined"!=typeof window&&window.IntersectionObserver&&(n=new window.IntersectionObserver(function(e){e.forEach(function(e){h.forEach(function(t){t[0]===e.target&&(e.isIntersecting||e.intersectionRatio>0)&&(n.unobserve(t[0]),t[1]())})})},{rootMargin:"200px"})),n).observe(e),h.push([e,t])},g=function(e){var t=e.src?'src="'+e.src+'" ':'src="" ',a=e.sizes?'sizes="'+e.sizes+'" ':"",r=e.srcSetWebp?"":"",n=e.srcSet?'":"",i=e.title?'title="'+e.title+'" ':"",s=e.alt?'alt="'+e.alt+'" ':'alt="" ',o=e.width?'width="'+e.width+'" ':"",l=e.height?'height="'+e.height+'" ':"",c=e.opacity?e.opacity:"1";return""+r+n+"'},y=c.default.forwardRef(function(e,t){var a=e.style,r=e.onLoad,n=e.onError,i=(0,o.default)(e,["style","onLoad","onError"]);return c.default.createElement("img",(0,l.default)({},i,{onLoad:r,onError:n,ref:t,style:(0,l.default)({position:"absolute",top:0,left:0,width:"100%",height:"100%",objectFit:"cover",objectPosition:"center"},a)}))});y.propTypes={style:d.default.object,onError:d.default.func,onLoad:d.default.func};var w=function(e){function t(t){var a;a=e.call(this,t)||this;var r=!0,n=!1,i=t.fadeIn,o=p(t);!o&&"undefined"!=typeof window&&window.IntersectionObserver&&(r=!1,n=!0),"undefined"==typeof window&&(r=!1),t.critical&&(r=!0,n=!1);var l=!(a.props.critical&&!a.props.fadeIn);return a.state={isVisible:r,imgLoaded:!1,IOSupported:n,fadeIn:i,hasNoScript:l,seenBefore:o},a.imageRef=c.default.createRef(),a.handleImageLoaded=a.handleImageLoaded.bind((0,s.default)((0,s.default)(a))),a.handleRef=a.handleRef.bind((0,s.default)((0,s.default)(a))),a}(0,i.default)(t,e);var a=t.prototype;return a.componentDidMount=function(){if(this.state.isVisible&&"function"==typeof this.props.onStartLoad&&this.props.onStartLoad({wasCached:p(this.props)}),this.props.critical){var e=this.imageRef.current;e&&e.complete&&this.handleImageLoaded()}},a.handleRef=function(e){var t=this;this.state.IOSupported&&e&&m(e,function(){t.state.isVisible||"function"!=typeof t.props.onStartLoad||t.props.onStartLoad({wasCached:p(t.props)}),t.setState({isVisible:!0,imgLoaded:!1})})},a.handleImageLoaded=function(){var e,t,a;e=this.props,t=u(e),a=t.fluid?t.fluid.src:t.fixed.src,f[a]=!0,this.setState({imgLoaded:!0}),this.state.seenBefore&&this.setState({fadeIn:!1}),this.props.onLoad&&this.props.onLoad()},a.render=function(){var e=u(this.props),t=e.title,a=e.alt,r=e.className,n=e.style,i=void 0===n?{}:n,s=e.imgStyle,o=void 0===s?{}:s,d=e.placeholderStyle,f=void 0===d?{}:d,p=e.placeholderClassName,h=e.fluid,m=e.fixed,w=e.backgroundColor,v=e.Tag,b="boolean"==typeof w?"lightgray":w,E=(0,l.default)({opacity:this.state.imgLoaded?0:1,transition:"opacity 0.5s",transitionDelay:this.state.imgLoaded?"0.5s":"0.25s"},o,f),S=(0,l.default)({opacity:this.state.imgLoaded||!1===this.state.fadeIn?1:0,transition:!0===this.state.fadeIn?"opacity 0.5s":"none"},o),N={title:t,alt:this.state.isVisible?"":a,style:E,className:p};if(h){var L=h;return c.default.createElement(v,{className:(r||"")+" gatsby-image-wrapper",style:(0,l.default)({position:"relative",overflow:"hidden"},i),ref:this.handleRef,key:"fluid-"+JSON.stringify(L.srcSet)},c.default.createElement(v,{style:{width:"100%",paddingBottom:100/L.aspectRatio+"%"}}),L.base64&&c.default.createElement(y,(0,l.default)({src:L.base64},N)),L.tracedSVG&&c.default.createElement(y,(0,l.default)({src:L.tracedSVG},N)),b&&c.default.createElement(v,{title:t,style:{backgroundColor:b,position:"absolute",top:0,bottom:0,opacity:this.state.imgLoaded?0:1,transitionDelay:"0.35s",right:0,left:0}}),this.state.isVisible&&c.default.createElement("picture",null,L.srcSetWebp&&c.default.createElement("source",{type:"image/webp",srcSet:L.srcSetWebp,sizes:L.sizes}),c.default.createElement("source",{srcSet:L.srcSet,sizes:L.sizes}),c.default.createElement(y,{alt:a,title:t,src:L.src,style:S,ref:this.imageRef,onLoad:this.handleImageLoaded,onError:this.props.onError})),this.state.hasNoScript&&c.default.createElement("noscript",{dangerouslySetInnerHTML:{__html:g((0,l.default)({alt:a,title:t},L))}}))}if(m){var A=m,C=(0,l.default)({position:"relative",overflow:"hidden",display:"inline-block",width:A.width,height:A.height},i);return"inherit"===i.display&&delete C.display,c.default.createElement(v,{className:(r||"")+" gatsby-image-wrapper",style:C,ref:this.handleRef,key:"fixed-"+JSON.stringify(A.srcSet)},A.base64&&c.default.createElement(y,(0,l.default)({src:A.base64},N)),A.tracedSVG&&c.default.createElement(y,(0,l.default)({src:A.tracedSVG},N)),b&&c.default.createElement(v,{title:t,style:{backgroundColor:b,width:A.width,opacity:this.state.imgLoaded?0:1,transitionDelay:"0.25s",height:A.height}}),this.state.isVisible&&c.default.createElement("picture",null,A.srcSetWebp&&c.default.createElement("source",{type:"image/webp",srcSet:A.srcSetWebp,sizes:A.sizes}),c.default.createElement("source",{srcSet:A.srcSet,sizes:A.sizes}),c.default.createElement(y,{alt:a,title:t,width:A.width,height:A.height,src:A.src,style:S,ref:this.imageRef,onLoad:this.handleImageLoaded,onError:this.props.onError})),this.state.hasNoScript&&c.default.createElement("noscript",{dangerouslySetInnerHTML:{__html:g((0,l.default)({alt:a,title:t,width:A.width,height:A.height},A))}}))}return null},t}(c.default.Component);w.defaultProps={critical:!1,fadeIn:!0,alt:"",Tag:"div"};var v=d.default.shape({width:d.default.number.isRequired,height:d.default.number.isRequired,src:d.default.string.isRequired,srcSet:d.default.string.isRequired,base64:d.default.string,tracedSVG:d.default.string,srcWebp:d.default.string,srcSetWebp:d.default.string}),b=d.default.shape({aspectRatio:d.default.number.isRequired,src:d.default.string.isRequired,srcSet:d.default.string.isRequired,sizes:d.default.string.isRequired,base64:d.default.string,tracedSVG:d.default.string,srcWebp:d.default.string,srcSetWebp:d.default.string});w.propTypes={resolutions:v,sizes:b,fixed:v,fluid:b,fadeIn:d.default.bool,title:d.default.string,alt:d.default.string,className:d.default.oneOfType([d.default.string,d.default.object]),critical:d.default.bool,style:d.default.object,imgStyle:d.default.object,placeholderStyle:d.default.object,placeholderClassName:d.default.string,backgroundColor:d.default.oneOfType([d.default.string,d.default.bool]),onLoad:d.default.func,onError:d.default.func,onStartLoad:d.default.func,Tag:d.default.string};var E=w;t.default=E},147:function(e,t,a){"use strict";var r=a(8);t.__esModule=!0,t.withPrefix=p,t.navigateTo=t.replace=t.push=t.navigate=t.default=void 0;var n=r(a(155)),i=r(a(156)),s=r(a(7)),o=r(a(51)),l=r(a(52)),c=r(a(4)),d=r(a(0)),u=a(22),f=a(145);function p(e){return function(e){return e.replace(/\/+/g,"/")}("/"+e)}var h={activeClassName:c.default.string,activeStyle:c.default.object},m=function(e){function t(t){var a;a=e.call(this)||this,(0,l.default)((0,o.default)((0,o.default)(a)),"defaultGetProps",function(e){return e.isCurrent?{className:[a.props.className,a.props.activeClassName].filter(Boolean).join(" "),style:(0,i.default)({},a.props.style,a.props.activeStyle)}:null});var r=!1;return"undefined"!=typeof window&&window.IntersectionObserver&&(r=!0),a.state={IOSupported:r},a.handleRef=a.handleRef.bind((0,o.default)((0,o.default)(a))),a}(0,s.default)(t,e);var a=t.prototype;return a.componentDidUpdate=function(e,t){this.props.to===e.to||this.state.IOSupported||___loader.enqueue((0,f.parsePath)(this.props.to).pathname)},a.componentDidMount=function(){this.state.IOSupported||___loader.enqueue((0,f.parsePath)(this.props.to).pathname)},a.handleRef=function(e){var t,a,r,n=this;this.props.innerRef&&this.props.innerRef(e),this.state.IOSupported&&e&&(t=e,a=function(){___loader.enqueue((0,f.parsePath)(n.props.to).pathname)},(r=new window.IntersectionObserver(function(e){e.forEach(function(e){t===e.target&&(e.isIntersecting||e.intersectionRatio>0)&&(r.unobserve(t),r.disconnect(),a())})})).observe(t))},a.render=function(){var e=this,t=this.props,a=t.to,r=t.getProps,s=void 0===r?this.defaultGetProps:r,o=t.onClick,l=t.onMouseEnter,c=(t.activeClassName,t.activeStyle,t.ref,t.innerRef,t.state),h=t.replace,m=(0,n.default)(t,["to","getProps","onClick","onMouseEnter","activeClassName","activeStyle","ref","innerRef","state","replace"]),g=p(a);return d.default.createElement(u.Link,(0,i.default)({to:g,state:c,getProps:s,innerRef:this.handleRef,onMouseEnter:function(e){l&&l(e),___loader.hovering((0,f.parsePath)(a).pathname)},onClick:function(t){return o&&o(t),0!==t.button||e.props.target||t.defaultPrevented||t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||(t.preventDefault(),y(a,{state:c,replace:h})),!0}},m))},t}(d.default.Component);m.propTypes=(0,i.default)({},h,{innerRef:c.default.func,onClick:c.default.func,to:c.default.string.isRequired,replace:c.default.bool});var g=m;t.default=g;var y=function(e,t){window.___navigate(p(e),t)};t.navigate=y;var w=function(e){console.warn('The "push" method is now deprecated and will be removed in Gatsby v3. Please use "navigate" instead.'),window.___push(p(e))};t.push=w;t.replace=function(e){console.warn('The "replace" method is now deprecated and will be removed in Gatsby v3. Please use "navigate" instead.'),window.___replace(p(e))};t.navigateTo=function(e){return console.warn('The "navigateTo" method is now deprecated and will be removed in Gatsby v3. Please use "navigate" instead.'),w(e)}},148:function(e,t,a){"use strict";var r=a(180),n=a(0),i=a.n(n),s=a(4),o=a.n(s),l=a(145),c=a(182),d=a(146),u=a.n(d),f=function(e){return i.a.createElement(l.StaticQuery,{query:"1661786138",render:function(e){return i.a.createElement(u.a,{fluid:e.placeholderImage.childImageSharp.fluid})},data:c})},p=(a(183),function(){return i.a.createElement("header",{className:"header page-section",id:"top"},i.a.createElement("div",{className:"header-banner"}),i.a.createElement("div",{className:"container"},i.a.createElement("div",{className:"row header-data-logo"},i.a.createElement("div",{className:"col content-logo"},i.a.createElement(l.Link,{to:"/"},i.a.createElement(f,null))),i.a.createElement("div",{className:"content-information"},i.a.createElement("p",{className:"header-information"},"Bringing the Colombian JavaScript community under one roof."))),i.a.createElement("div",{className:"row header-data"},i.a.createElement("p",{className:"col header-data__description"},"October ",i.a.createElement("span",{className:"underline"},"18")," & ",i.a.createElement("span",{className:"underline"},"19")," ",i.a.createElement("span",{className:"underline"},"Medellín"),", Colombia")),i.a.createElement("div",{className:"btn-next-section"},i.a.createElement("a",{href:"#speaker"},i.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 55 30"},i.a.createElement("g",{id:"Layer_2","data-name":"Layer 2"},i.a.createElement("g",{id:"Layer_1-2","data-name":"Layer 1"},i.a.createElement("rect",{className:"cls-1",width:"5",height:"5"}),i.a.createElement("rect",{className:"cls-1",x:"50",width:"5",height:"5"}),i.a.createElement("rect",{className:"cls-1",x:"5",y:"5",width:"5",height:"5"}),i.a.createElement("rect",{className:"cls-1",x:"45",y:"5",width:"5",height:"5"}),i.a.createElement("rect",{className:"cls-1",x:"10",y:"10",width:"5",height:"5"}),i.a.createElement("rect",{className:"cls-1",x:"40",y:"10",width:"5",height:"5"}),i.a.createElement("rect",{className:"cls-1",x:"15",y:"15",width:"5",height:"5"}),i.a.createElement("rect",{className:"cls-1",x:"35",y:"15",width:"5",height:"5"}),i.a.createElement("rect",{className:"cls-1",x:"20",y:"20",width:"5",height:"5"}),i.a.createElement("rect",{className:"cls-1",x:"30",y:"20",width:"5",height:"5"}),i.a.createElement("rect",{className:"cls-1",x:"25",y:"25",width:"5",height:"5"}))))))))}),h=a(7),m=a.n(h),g=(a(184),function(e){function t(){return e.apply(this,arguments)||this}return m()(t,e),t.prototype.render=function(){return i.a.createElement("footer",{className:"footer"},i.a.createElement("div",{className:"container"},i.a.createElement("div",{className:"row"},i.a.createElement("div",{className:"col s12"},i.a.createElement("p",{className:"footer-copyright"},"JSConf Colombia 2019 -"," ",i.a.createElement("a",{className:"underline--footer",href:"https://jsconf.com/codeofconduct.html",target:"_blank",rel:"noopener noreferrer"},"Code of conduct")," ",i.a.createElement("br",null),"This website was built with love from Quibdó, Colombia by:"," ",i.a.createElement("a",{className:"underline--footer",href:"https://twitter.com/asprillastiwar",target:"_blank",rel:"noopener noreferrer"},"@AsprillaStiwar")," ","&"," ",i.a.createElement("a",{className:"underline--footer",href:"https://twitter.com/miltoncode",target:"_blank",rel:"noopener noreferrer"},"@MiltonCode"))))))},t}(n.Component)),y=(a(185),function(e){var t=e.children;return i.a.createElement(l.StaticQuery,{query:"755544856",render:function(){return i.a.createElement(i.a.Fragment,null,i.a.createElement(p,null),i.a.createElement("div",null,t),i.a.createElement(g,null))},data:r})});y.propTypes={children:o.a.node.isRequired};t.a=y},155:function(e,t){e.exports=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r=0||(n[a]=e[a]);return n}},156:function(e,t){function a(){return e.exports=a=Object.assign||function(e){for(var t=1;t (\n \n {staticQueryData => {\n if (\n props.data ||\n (staticQueryData[props.query] && staticQueryData[props.query].data)\n ) {\n return (props.render || props.children)(\n props.data ? props.data.data : staticQueryData[props.query].data\n )\n } else {\n return
Loading (StaticQuery)
\n }\n }}\n
\n)\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away,. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n.` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n}\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\n// Handle legacy names for image queries.\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n\n if (convertedProps.resolutions) {\n convertedProps.fixed = convertedProps.resolutions;\n delete convertedProps.resolutions;\n }\n\n if (convertedProps.sizes) {\n convertedProps.fluid = convertedProps.sizes;\n delete convertedProps.sizes;\n }\n\n return convertedProps;\n}; // Cache if we've seen an image before so we don't both with\n// lazy-loading & fading in on subsequent mounts.\n\n\nvar imageCache = {};\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = convertedProps.fluid ? convertedProps.fluid.src : convertedProps.fixed.src;\n return imageCache[src] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = convertedProps.fluid ? convertedProps.fluid.src : convertedProps.fixed.src;\n imageCache[src] = true;\n};\n\nvar io;\nvar listeners = [];\n\nfunction getIO() {\n if (typeof io === \"undefined\" && typeof window !== \"undefined\" && window.IntersectionObserver) {\n io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n listeners.forEach(function (l) {\n if (l[0] === entry.target) {\n // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(l[0]);\n l[1]();\n }\n }\n });\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nvar listenToIntersections = function listenToIntersections(el, cb) {\n getIO().observe(el);\n listeners.push([el, cb]);\n};\n\nvar noscriptImg = function noscriptImg(props) {\n // Check if prop exists before adding each attribute to the string output below to prevent\n // HTML validation issues caused by empty values like width=\"\" and height=\"\"\n var src = props.src ? \"src=\\\"\" + props.src + \"\\\" \" : \"src=\\\"\\\" \"; // required attribute\n\n var sizes = props.sizes ? \"sizes=\\\"\" + props.sizes + \"\\\" \" : \"\";\n var srcSetWebp = props.srcSetWebp ? \"\" : \"\";\n var srcSet = props.srcSet ? \"\" : \"\";\n var title = props.title ? \"title=\\\"\" + props.title + \"\\\" \" : \"\";\n var alt = props.alt ? \"alt=\\\"\" + props.alt + \"\\\" \" : \"alt=\\\"\\\" \"; // required attribute\n\n var width = props.width ? \"width=\\\"\" + props.width + \"\\\" \" : \"\";\n var height = props.height ? \"height=\\\"\" + props.height + \"\\\" \" : \"\";\n var opacity = props.opacity ? props.opacity : \"1\";\n var transitionDelay = props.transitionDelay ? props.transitionDelay : \"0.5s\";\n return \"\" + srcSetWebp + srcSet + \"\";\n};\n\nvar Img = _react.default.forwardRef(function (props, ref) {\n var style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"style\", \"onLoad\", \"onError\"]);\n return _react.default.createElement(\"img\", (0, _extends2.default)({}, otherProps, {\n onLoad: onLoad,\n onError: onError,\n ref: ref,\n style: (0, _extends2.default)({\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n objectPosition: \"center\"\n }, style)\n }));\n});\n\nImg.propTypes = {\n style: _propTypes.default.object,\n onError: _propTypes.default.func,\n onLoad: _propTypes.default.func\n};\n\nvar Image =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(Image, _React$Component);\n\n function Image(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // default settings for browser without Intersection Observer available\n\n var isVisible = true;\n var imgLoaded = false;\n var IOSupported = false;\n var fadeIn = props.fadeIn; // If this image has already been loaded before then we can assume it's\n // already in the browser cache so it's cheap to just show directly.\n\n var seenBefore = inImageCache(props); // browser with Intersection Observer available\n\n if (!seenBefore && typeof window !== \"undefined\" && window.IntersectionObserver) {\n isVisible = false;\n IOSupported = true;\n } // Never render image during SSR\n\n\n if (typeof window === \"undefined\") {\n isVisible = false;\n } // Force render for critical images\n\n\n if (props.critical) {\n isVisible = true;\n IOSupported = false;\n }\n\n var hasNoScript = !(_this.props.critical && !_this.props.fadeIn);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: imgLoaded,\n IOSupported: IOSupported,\n fadeIn: fadeIn,\n hasNoScript: hasNoScript,\n seenBefore: seenBefore\n };\n _this.imageRef = _react.default.createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: inImageCache(this.props)\n });\n }\n\n if (this.props.critical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.state.IOSupported && ref) {\n listenToIntersections(ref, function () {\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: inImageCache(_this2.props)\n });\n }\n\n _this2.setState({\n isVisible: true,\n imgLoaded: false\n });\n });\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n activateCacheForImage(this.props);\n this.setState({\n imgLoaded: true\n });\n\n if (this.state.seenBefore) {\n this.setState({\n fadeIn: false\n });\n }\n\n this.props.onLoad && this.props.onLoad();\n };\n\n _proto.render = function render() {\n var _convertProps = convertProps(this.props),\n title = _convertProps.title,\n alt = _convertProps.alt,\n className = _convertProps.className,\n _convertProps$style = _convertProps.style,\n style = _convertProps$style === void 0 ? {} : _convertProps$style,\n _convertProps$imgStyl = _convertProps.imgStyle,\n imgStyle = _convertProps$imgStyl === void 0 ? {} : _convertProps$imgStyl,\n _convertProps$placeho = _convertProps.placeholderStyle,\n placeholderStyle = _convertProps$placeho === void 0 ? {} : _convertProps$placeho,\n placeholderClassName = _convertProps.placeholderClassName,\n fluid = _convertProps.fluid,\n fixed = _convertProps.fixed,\n backgroundColor = _convertProps.backgroundColor,\n Tag = _convertProps.Tag;\n\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var imagePlaceholderStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded ? 0 : 1,\n transition: \"opacity 0.5s\",\n transitionDelay: this.state.imgLoaded ? \"0.5s\" : \"0.25s\"\n }, imgStyle, placeholderStyle);\n var imageStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded || this.state.fadeIn === false ? 1 : 0,\n transition: this.state.fadeIn === true ? \"opacity 0.5s\" : \"none\"\n }, imgStyle);\n var placeholderImageProps = {\n title: title,\n alt: !this.state.isVisible ? alt : \"\",\n style: imagePlaceholderStyle,\n className: placeholderClassName\n };\n\n if (fluid) {\n var image = fluid;\n return _react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\"\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, _react.default.createElement(Tag, {\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), image.base64 && _react.default.createElement(Img, (0, _extends2.default)({\n src: image.base64\n }, placeholderImageProps)), image.tracedSVG && _react.default.createElement(Img, (0, _extends2.default)({\n src: image.tracedSVG\n }, placeholderImageProps)), bgColor && _react.default.createElement(Tag, {\n title: title,\n style: {\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n transitionDelay: \"0.35s\",\n right: 0,\n left: 0\n }\n }), this.state.isVisible && _react.default.createElement(\"picture\", null, image.srcSetWebp && _react.default.createElement(\"source\", {\n type: \"image/webp\",\n srcSet: image.srcSetWebp,\n sizes: image.sizes\n }), _react.default.createElement(\"source\", {\n srcSet: image.srcSet,\n sizes: image.sizes\n }), _react.default.createElement(Img, {\n alt: alt,\n title: title,\n src: image.src,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError\n })), this.state.hasNoScript && _react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title\n }, image))\n }\n }));\n }\n\n if (fixed) {\n var _image = fixed;\n var divStyle = (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n display: \"inline-block\",\n width: _image.width,\n height: _image.height\n }, style);\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n\n return _react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: divStyle,\n ref: this.handleRef,\n key: \"fixed-\" + JSON.stringify(_image.srcSet)\n }, _image.base64 && _react.default.createElement(Img, (0, _extends2.default)({\n src: _image.base64\n }, placeholderImageProps)), _image.tracedSVG && _react.default.createElement(Img, (0, _extends2.default)({\n src: _image.tracedSVG\n }, placeholderImageProps)), bgColor && _react.default.createElement(Tag, {\n title: title,\n style: {\n backgroundColor: bgColor,\n width: _image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n transitionDelay: \"0.25s\",\n height: _image.height\n }\n }), this.state.isVisible && _react.default.createElement(\"picture\", null, _image.srcSetWebp && _react.default.createElement(\"source\", {\n type: \"image/webp\",\n srcSet: _image.srcSetWebp,\n sizes: _image.sizes\n }), _react.default.createElement(\"source\", {\n srcSet: _image.srcSet,\n sizes: _image.sizes\n }), _react.default.createElement(Img, {\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height,\n src: _image.src,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError\n })), this.state.hasNoScript && _react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height\n }, _image))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react.default.Component);\n\nImage.defaultProps = {\n critical: false,\n fadeIn: true,\n alt: \"\",\n Tag: \"div\"\n};\n\nvar fixedObject = _propTypes.default.shape({\n width: _propTypes.default.number.isRequired,\n height: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string\n});\n\nvar fluidObject = _propTypes.default.shape({\n aspectRatio: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n sizes: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string\n});\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: fixedObject,\n fluid: fluidObject,\n fadeIn: _propTypes.default.bool,\n title: _propTypes.default.string,\n alt: _propTypes.default.string,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n // Support Glamor's css prop.\n critical: _propTypes.default.bool,\n style: _propTypes.default.object,\n imgStyle: _propTypes.default.object,\n placeholderStyle: _propTypes.default.object,\n placeholderClassName: _propTypes.default.string,\n backgroundColor: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n onLoad: _propTypes.default.func,\n onError: _propTypes.default.func,\n onStartLoad: _propTypes.default.func,\n Tag: _propTypes.default.string\n};\nvar _default = Image;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.navigateTo = exports.replace = exports.push = exports.navigate = exports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _router = require(\"@reach/router\");\n\nvar _gatsby = require(\"gatsby\");\n\n/*global __PATH_PREFIX__ */\nfunction withPrefix(path) {\n return normalizePath(__PATH_PREFIX__ + \"/\" + path);\n}\n\nfunction normalizePath(path) {\n return path.replace(/\\/+/g, \"/\");\n}\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes.default.string,\n activeStyle: _propTypes.default.object // Set up IntersectionObserver\n\n};\n\nvar handleIntersection = function handleIntersection(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n};\n\nvar GatsbyLink =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this) || this; // Default to no support for IntersectionObserver\n\n (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), \"defaultGetProps\", function (_ref) {\n var isCurrent = _ref.isCurrent;\n\n if (isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(\" \"),\n style: (0, _extends2.default)({}, _this.props.style, _this.props.activeStyle)\n };\n }\n\n return null;\n });\n var IOSupported = false;\n\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n ___loader.enqueue((0, _gatsby.parsePath)(this.props.to).pathname);\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n ___loader.enqueue((0, _gatsby.parsePath)(this.props.to).pathname);\n }\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n this.props.innerRef && this.props.innerRef(ref);\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n handleIntersection(ref, function () {\n ___loader.enqueue((0, _gatsby.parsePath)(_this2.props.to).pathname);\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $ref = _this$props.ref,\n $innerRef = _this$props.innerRef,\n state = _this$props.state,\n replace = _this$props.replace,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"ref\", \"innerRef\", \"state\", \"replace\"]);\n var prefixedTo = withPrefix(to);\n return _react.default.createElement(_router.Link, (0, _extends2.default)({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: this.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n // eslint-disable-line\n _onMouseEnter && _onMouseEnter(e);\n\n ___loader.hovering((0, _gatsby.parsePath)(to).pathname);\n },\n onClick: function onClick(e) {\n // eslint-disable-line\n _onClick && _onClick(e);\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault(); // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n navigate(to, {\n state: state,\n replace: replace\n });\n }\n\n return true;\n }\n }, rest));\n };\n\n return GatsbyLink;\n}(_react.default.Component);\n\nGatsbyLink.propTypes = (0, _extends2.default)({}, NavLinkPropTypes, {\n innerRef: _propTypes.default.func,\n onClick: _propTypes.default.func,\n to: _propTypes.default.string.isRequired,\n replace: _propTypes.default.bool\n});\nvar _default = GatsbyLink;\nexports.default = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(withPrefix(to), options);\n};\n\nexports.navigate = navigate;\n\nvar push = function push(to) {\n console.warn(\"The \\\"push\\\" method is now deprecated and will be removed in Gatsby v3. Please use \\\"navigate\\\" instead.\");\n\n window.___push(withPrefix(to));\n};\n\nexports.push = push;\n\nvar replace = function replace(to) {\n console.warn(\"The \\\"replace\\\" method is now deprecated and will be removed in Gatsby v3. Please use \\\"navigate\\\" instead.\");\n\n window.___replace(withPrefix(to));\n}; // TODO: Remove navigateTo for Gatsby v3\n\n\nexports.replace = replace;\n\nvar navigateTo = function navigateTo(to) {\n console.warn(\"The \\\"navigateTo\\\" method is now deprecated and will be removed in Gatsby v3. Please use \\\"navigate\\\" instead.\");\n return push(to);\n};\n\nexports.navigateTo = navigateTo;","import React from 'react'\nimport { StaticQuery, graphql } from 'gatsby'\nimport Img from 'gatsby-image'\n\n/*\n * This component is built using `gatsby-image` to automatically serve optimized\n * images with lazy loading and reduced file sizes. The image is loaded using a\n * `StaticQuery`, which allows us to load the image from directly within this\n * component, rather than having to pass the image data down from pages.\n *\n * For more information, see the docs:\n * - `gatsby-image`: https://gatsby.app/gatsby-image\n * - `StaticQuery`: https://gatsby.app/staticquery\n */\n\nconst Image = (props) => (\n }\n />\n)\nexport default Image\n","import React from 'react'\nimport Logo2019 from '../images/Logo2019'\nimport { Link } from \"gatsby\";\n\nimport './header.scss'\n\nconst Header = () => (\n\n
\n\n
\n
\n\n
\n\n
\n
\n \n \n \n
\n\n
\n

Bringing the Colombian JavaScript community under one roof.

\n
\n
\n\n
\n

October 18 & 19 Medellín, Colombia\n

\n
\n\n \n\n
\n\n\n\n\n
\n)\n\nexport default Header\n","import React, { Component } from \"react\";\nimport \"./footer.scss\";\nexport default class SectionFooter extends Component {\n render() {\n return (\n
\n
\n
\n
\n

\n JSConf Colombia 2019 -{\" \"}\n \n Code of conduct\n
\n This website was built with love from Quibdó, Colombia by:{\" \"}\n \n @AsprillaStiwar\n {\" \"}\n &{\" \"}\n \n @MiltonCode\n \n

\n
\n
\n
\n
\n );\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { StaticQuery, graphql } from \"gatsby\";\n\nimport Header from \"./header\";\nimport Footer from \"./footer\";\n// import SEO from './seo'\nimport \"./layout.scss\";\n\nconst Layout = ({ children }) => (\n (\n <>\n
\n
{children}
\n