{"version":3,"sources":["webpack:///./node_modules/gatsby-image/index.js","webpack:///./node_modules/object-fit-images/dist/ofi.common-js.js","webpack:///./src/pages/index.module.scss","webpack:///./src/components/section-display.tsx","webpack:///./src/pages/index.tsx","webpack:///./node_modules/gatsby-image/withIEPolyfill/index.js"],"names":["_interopRequireDefault","require","exports","__esModule","default","io","_assertThisInitialized2","_inheritsLoose2","_objectWithoutPropertiesLoose2","_extends2","_react","_propTypes","convertProps","props","convertedProps","resolutions","sizes","critical","fixed","fluid","loading","groupByMedia","concat","matchesMedia","_ref","media","isBrowser","window","matchMedia","matches","getImageCacheKey","_ref2","srcData","getCurrentSrcData","src","currentData","Array","isArray","some","image","hasArtDirectionSupport","foundMedia","findIndex","noMedia","imageCache","Object","create","inImageCache","cacheKey","hasNativeLazyLoadSupport","HTMLImageElement","prototype","hasIOSupport","IntersectionObserver","listeners","WeakMap","generateImageSources","imageVariants","map","_ref3","srcSet","srcSetWebp","createElement","Fragment","key","type","withMedia","without","forEach","variant","push","generateTracedSVGSources","_ref4","tracedSVG","generateBase64Sources","_ref5","base64","generateNoscriptSource","_ref6","isWebp","listenToIntersections","el","cb","observer","entries","entry","has","target","get","isIntersecting","intersectionRatio","unobserve","delete","rootMargin","observe","set","noscriptImg","title","alt","width","height","crossOrigin","draggable","join","Placeholder","forwardRef","ref","generateSources","spreadProps","ariaHidden","baseImage","Img","length","style","onLoad","onError","otherProps","position","top","left","objectFit","objectPosition","propTypes","object","func","Image","_React$Component","_this","call","this","seenBefore","isCritical","addNoScript","fadeIn","useIOSupport","isVisible","state","imgLoaded","imgCached","isHydrated","imageRef","createRef","placeholderRef","handleImageLoaded","bind","handleRef","_proto","componentDidMount","setState","onStartLoad","wasCached","img","current","complete","componentWillUnmount","cleanUpListeners","_this2","imageInCache","currentSrc","render","_convertProps","className","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","backgroundColor","durationFadeIn","Tag","itemProp","shouldReveal","shouldFadeIn","imageStyle","opacity","transition","bgColor","delayHideStyle","transitionDelay","imagePlaceholderStyle","placeholderImageProps","overflow","maxWidth","maxHeight","JSON","stringify","paddingBottom","aspectRatio","bottom","right","dangerouslySetInnerHTML","__html","divStyle","display","Component","defaultProps","fixedObject","shape","number","isRequired","string","srcWebp","fluidObject","requireFixedOrFluid","originalPropTypes","propName","componentName","_PropTypes$checkPropT","Error","checkPropTypes","oneOfType","arrayOf","bool","oneOf","_default","OFI","propRegex","testImg","supportsObjectFit","supportsObjectPosition","supportsOFI","supportsCurrentSrc","nativeGetAttribute","getAttribute","nativeSetAttribute","setAttribute","autoModeEnabled","setPlaceholder","placeholder","onImageReady","callback","naturalWidth","setTimeout","fixOne","parsed","getComputedStyle","fontFamily","exec","getStyle","ofi","skipTest","srcset","naturalHeight","descriptors","prop","value","defineProperty","ss","keepSrcUsable","err","console","warn","picturefill","pf","_","ns","evaled","fillImg","reselect","curSrc","supported","polyfillCurrentSrc","backgroundImage","replace","backgroundPosition","backgroundRepeat","backgroundOrigin","test","backgroundSize","fix","imgs","opts","startAutoMode","document","getElementsByTagName","querySelectorAll","i","body","addEventListener","e","tagName","watchMQ","getOfiImageMaybe","name","String","hijackAttributes","module","DisplaySection","useStaticQuery","jubalFeatureOne","jubalFeatureTwo","jubalFeatureThree","childImageSharp","indexPageQuery","IndexPage","openContactFormModal","formUrl","event","open","data","site","allProgramsdataJson","flitsenBannerImage","jubalHistoryImage","jubalMoreImage","tagline","siteMetadata","location","model","styles","mainHeader","headerImage","isHorizontal","isPointingDown","anchorLinkTo","id","stripHash","to","href","icon","faBroadcastTower","color","size","limit","programLogos","edges","node","filter","x","featured","program","anchor","logo","listed","slice","description","paragraph","columnLayout","contactSection","contactFormUrl","onClick","React","_interopRequireWildcard3","_interopRequireWildcard2","_index","ImageWithIEPolyfill","_Component","_len","arguments","args","_key","apply","innerRef","Promise","resolve","then","ObjectFitImages","_this$props","polyfillStyle"],"mappings":"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","file":"component---src-pages-index-tsx-62ee708c83b2749bc9bd.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\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\nvar logDeprecationNotice = function logDeprecationNotice(prop, replacement) {\n if (process.env.NODE_ENV === \"production\") {\n return;\n }\n\n console.log(\"\\n The \\\"\" + prop + \"\\\" prop is now deprecated and will be removed in the next major version\\n of \\\"gatsby-image\\\".\\n \");\n\n if (replacement) {\n console.log(\"Please use \" + replacement + \" instead of \\\"\" + prop + \"\\\".\");\n }\n}; // Handle legacy props during their deprecation phase\n\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n var resolutions = convertedProps.resolutions,\n sizes = convertedProps.sizes,\n critical = convertedProps.critical;\n\n if (resolutions) {\n convertedProps.fixed = resolutions;\n logDeprecationNotice(\"resolutions\", \"the gatsby-image v2 prop \\\"fixed\\\"\");\n delete convertedProps.resolutions;\n }\n\n if (sizes) {\n convertedProps.fluid = sizes;\n logDeprecationNotice(\"sizes\", \"the gatsby-image v2 prop \\\"fluid\\\"\");\n delete convertedProps.sizes;\n }\n\n if (critical) {\n logDeprecationNotice(\"critical\", \"the native \\\"loading\\\" attribute\");\n convertedProps.loading = \"eager\";\n } // convert fluid & fixed to arrays so we only have to work with arrays\n\n\n if (convertedProps.fluid) {\n convertedProps.fluid = groupByMedia([].concat(convertedProps.fluid));\n }\n\n if (convertedProps.fixed) {\n convertedProps.fixed = groupByMedia([].concat(convertedProps.fixed));\n }\n\n return convertedProps;\n};\n/**\n * Checks if fluid or fixed are art-direction arrays.\n *\n * @param currentData {{media?: string}[]} The props to check for images.\n * @return {boolean}\n */\n\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(currentData) {\n return !!currentData && Array.isArray(currentData) && currentData.some(function (image) {\n return typeof image.media !== \"undefined\";\n });\n};\n/**\n * Tries to detect if a media query matches the current viewport.\n * @property media {{media?: string}} A media query string.\n * @return {boolean}\n */\n\n\nvar matchesMedia = function matchesMedia(_ref) {\n var media = _ref.media;\n return media ? isBrowser && !!window.matchMedia(media).matches : false;\n};\n/**\n * Find the source of an image to use as a key in the image cache.\n * Use `the first image in either `fixed` or `fluid`\n * @param {{fluid: {src: string, media?: string}[], fixed: {src: string, media?: string}[]}} args\n * @return {string?} Returns image src or undefined it not given.\n */\n\n\nvar getImageCacheKey = function getImageCacheKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var srcData = getCurrentSrcData(fluid || fixed || []);\n return srcData && srcData.src;\n};\n/**\n * Returns the current src - Preferably with art-direction support.\n * @param currentData {{media?: string}[], maxWidth?: Number, maxHeight?: Number} The fluid or fixed image array.\n * @return {{src: string, media?: string, maxWidth?: Number, maxHeight?: Number}}\n */\n\n\nvar getCurrentSrcData = function getCurrentSrcData(currentData) {\n if (isBrowser && hasArtDirectionSupport(currentData)) {\n // Do we have an image for the current Viewport?\n var foundMedia = currentData.findIndex(matchesMedia);\n\n if (foundMedia !== -1) {\n return currentData[foundMedia];\n } // No media matches, select first element without a media condition\n\n\n var noMedia = currentData.findIndex(function (image) {\n return typeof image.media === \"undefined\";\n });\n\n if (noMedia !== -1) {\n return currentData[noMedia];\n }\n } // Else return the first image.\n\n\n return currentData[0];\n}; // Cache if we've seen an image before so we don't bother with\n// lazy-loading & fading in on subsequent mounts.\n\n\nvar imageCache = Object.create({});\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n return imageCache[cacheKey] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n\n if (cacheKey) {\n imageCache[cacheKey] = true;\n }\n}; // Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\n\n\nvar hasNativeLazyLoadSupport = typeof HTMLImageElement !== \"undefined\" && \"loading\" in HTMLImageElement.prototype;\nvar isBrowser = typeof window !== \"undefined\";\nvar hasIOSupport = isBrowser && window.IntersectionObserver;\nvar io;\nvar listeners = new WeakMap();\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 if (listeners.has(entry.target)) {\n var cb = listeners.get(entry.target); // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners.delete(entry.target);\n cb();\n }\n }\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nfunction generateImageSources(imageVariants) {\n return imageVariants.map(function (_ref3) {\n var src = _ref3.src,\n srcSet = _ref3.srcSet,\n srcSetWebp = _ref3.srcSetWebp,\n media = _ref3.media,\n sizes = _ref3.sizes;\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {\n key: src\n }, srcSetWebp && /*#__PURE__*/_react.default.createElement(\"source\", {\n type: \"image/webp\",\n media: media,\n srcSet: srcSetWebp,\n sizes: sizes\n }), srcSet && /*#__PURE__*/_react.default.createElement(\"source\", {\n media: media,\n srcSet: srcSet,\n sizes: sizes\n }));\n });\n} // Return an array ordered by elements having a media prop, does not use\n// native sort, as a stable sort is not guaranteed by all browsers/versions\n\n\nfunction groupByMedia(imageVariants) {\n var withMedia = [];\n var without = [];\n imageVariants.forEach(function (variant) {\n return (variant.media ? withMedia : without).push(variant);\n });\n\n if (without.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"We've found \" + without.length + \" sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images\");\n }\n\n return [].concat(withMedia, without);\n}\n\nfunction generateTracedSVGSources(imageVariants) {\n return imageVariants.map(function (_ref4) {\n var src = _ref4.src,\n media = _ref4.media,\n tracedSVG = _ref4.tracedSVG;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: tracedSVG\n });\n });\n}\n\nfunction generateBase64Sources(imageVariants) {\n return imageVariants.map(function (_ref5) {\n var src = _ref5.src,\n media = _ref5.media,\n base64 = _ref5.base64;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: base64\n });\n });\n}\n\nfunction generateNoscriptSource(_ref6, isWebp) {\n var srcSet = _ref6.srcSet,\n srcSetWebp = _ref6.srcSetWebp,\n media = _ref6.media,\n sizes = _ref6.sizes;\n var src = isWebp ? srcSetWebp : srcSet;\n var mediaAttr = media ? \"media=\\\"\" + media + \"\\\" \" : \"\";\n var typeAttr = isWebp ? \"type='image/webp' \" : \"\";\n var sizesAttr = sizes ? \"sizes=\\\"\" + sizes + \"\\\" \" : \"\";\n return \"\";\n}\n\nfunction generateNoscriptSources(imageVariants) {\n return imageVariants.map(function (variant) {\n return (variant.srcSetWebp ? generateNoscriptSource(variant, true) : \"\") + generateNoscriptSource(variant);\n }).join(\"\");\n}\n\nvar listenToIntersections = function listenToIntersections(el, cb) {\n var observer = getIO();\n\n if (observer) {\n observer.observe(el);\n listeners.set(el, cb);\n }\n\n return function () {\n observer.unobserve(el);\n listeners.delete(el);\n };\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 srcSet = props.srcSet ? \"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 crossOrigin = props.crossOrigin ? \"crossorigin=\\\"\" + props.crossOrigin + \"\\\" \" : \"\";\n var loading = props.loading ? \"loading=\\\"\" + props.loading + \"\\\" \" : \"\";\n var draggable = props.draggable ? \"draggable=\\\"\" + props.draggable + \"\\\" \" : \"\";\n var sources = generateNoscriptSources(props.imageVariants);\n return \"\" + sources + \"\";\n}; // Earlier versions of gatsby-image during the 2.x cycle did not wrap\n// the `Img` component in a `picture` element. This maintains compatibility\n// until a breaking change can be introduced in the next major release\n\n\nvar Placeholder = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var src = props.src,\n imageVariants = props.imageVariants,\n generateSources = props.generateSources,\n spreadProps = props.spreadProps,\n ariaHidden = props.ariaHidden;\n\n var baseImage = /*#__PURE__*/_react.default.createElement(Img, (0, _extends2.default)({\n ref: ref,\n src: src\n }, spreadProps, {\n ariaHidden: ariaHidden\n }));\n\n return imageVariants.length > 1 ? /*#__PURE__*/_react.default.createElement(\"picture\", null, generateSources(imageVariants), baseImage) : baseImage;\n});\n\nvar Img = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var sizes = props.sizes,\n srcSet = props.srcSet,\n src = props.src,\n style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n loading = props.loading,\n draggable = props.draggable,\n ariaHidden = props.ariaHidden,\n otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"sizes\", \"srcSet\", \"src\", \"style\", \"onLoad\", \"onError\", \"loading\", \"draggable\", \"ariaHidden\"]);\n return /*#__PURE__*/_react.default.createElement(\"img\", (0, _extends2.default)({\n \"aria-hidden\": ariaHidden,\n sizes: sizes,\n srcSet: srcSet,\n src: src\n }, otherProps, {\n onLoad: onLoad,\n onError: onError,\n ref: ref,\n loading: loading,\n draggable: draggable,\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 = /*#__PURE__*/function (_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; // 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 _this.seenBefore = isBrowser && inImageCache(props);\n _this.isCritical = props.loading === \"eager\" || props.critical;\n _this.addNoScript = !(_this.isCritical && !props.fadeIn);\n _this.useIOSupport = !hasNativeLazyLoadSupport && hasIOSupport && !_this.isCritical && !_this.seenBefore;\n var isVisible = _this.isCritical || isBrowser && (hasNativeLazyLoadSupport || !_this.useIOSupport);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: false,\n imgCached: false,\n fadeIn: !_this.seenBefore && props.fadeIn,\n isHydrated: false\n };\n _this.imageRef = /*#__PURE__*/_react.default.createRef();\n _this.placeholderRef = props.placeholderRef || /*#__PURE__*/_react.default.createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.setState({\n isHydrated: isBrowser\n });\n\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.isCritical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n } // Specific to IntersectionObserver based lazy-load support\n ;\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.useIOSupport && ref) {\n this.cleanUpListeners = listenToIntersections(ref, function () {\n var imageInCache = inImageCache(_this2.props);\n\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: imageInCache\n });\n } // imgCached and imgLoaded must update after isVisible,\n // Once isVisible is true, imageRef becomes accessible, which imgCached needs access to.\n // imgLoaded and imgCached are in a 2nd setState call to be changed together,\n // avoiding initiating unnecessary animation frames from style changes.\n\n\n _this2.setState({\n isVisible: true\n }, function () {\n _this2.setState({\n imgLoaded: imageInCache,\n // `currentSrc` should be a string, but can be `undefined` in IE,\n // !! operator validates the value is not undefined/null/\"\"\n // for lazyloaded components this might be null\n // TODO fix imgCached behaviour as it's now false when it's lazyloaded\n imgCached: !!(_this2.imageRef.current && _this2.imageRef.current.currentSrc)\n });\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.props.onLoad) {\n this.props.onLoad();\n }\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 durationFadeIn = _convertProps.durationFadeIn,\n Tag = _convertProps.Tag,\n itemProp = _convertProps.itemProp,\n loading = _convertProps.loading,\n draggable = _convertProps.draggable;\n\n var imageVariants = fluid || fixed; // Abort early if missing image data (#25371)\n\n if (!imageVariants) {\n return null;\n }\n\n var shouldReveal = this.state.fadeIn === false || this.state.imgLoaded;\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached;\n var imageStyle = (0, _extends2.default)({\n opacity: shouldReveal ? 1 : 0,\n transition: shouldFadeIn ? \"opacity \" + durationFadeIn + \"ms\" : \"none\"\n }, imgStyle);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var delayHideStyle = {\n transitionDelay: durationFadeIn + \"ms\"\n };\n var imagePlaceholderStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded ? 0 : 1\n }, shouldFadeIn && delayHideStyle, imgStyle, placeholderStyle);\n var placeholderImageProps = {\n title: title,\n alt: !this.state.isVisible ? alt : \"\",\n style: imagePlaceholderStyle,\n className: placeholderClassName,\n itemProp: itemProp\n }; // Initial client render state needs to match SSR until hydration finishes.\n // Once hydration completes, render again to update to the correct image.\n // `imageVariants` is always an Array type at this point due to `convertProps()`\n\n var image = !this.state.isHydrated ? imageVariants[0] : getCurrentSrcData(imageVariants);\n\n if (fluid) {\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n maxWidth: image.maxWidth ? image.maxWidth + \"px\" : null,\n maxHeight: image.maxHeight ? image.maxHeight + \"px\" : null\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n right: 0,\n left: 0\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n if (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 /*#__PURE__*/_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 }, bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n width: image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n height: image.height\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n width: image.width,\n height: image.height,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react.default.Component);\n\nImage.defaultProps = {\n fadeIn: true,\n durationFadeIn: 500,\n alt: \"\",\n Tag: \"div\",\n // We set it to `lazy` by default because it's best to default to a performant\n // setting and let the user \"opt out\" to `eager`\n loading: \"lazy\"\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 media: _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 media: _propTypes.default.string,\n maxWidth: _propTypes.default.number,\n maxHeight: _propTypes.default.number\n});\n\nfunction requireFixedOrFluid(originalPropTypes) {\n return function (props, propName, componentName) {\n var _PropTypes$checkPropT;\n\n if (!props.fixed && !props.fluid) {\n throw new Error(\"The prop `fluid` or `fixed` is marked as required in `\" + componentName + \"`, but their values are both `undefined`.\");\n }\n\n _propTypes.default.checkPropTypes((_PropTypes$checkPropT = {}, _PropTypes$checkPropT[propName] = originalPropTypes, _PropTypes$checkPropT), props, \"prop\", componentName);\n };\n} // If you modify these propTypes, please don't forget to update following files as well:\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/index.d.ts\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/README.md#gatsby-image-props\n// https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/gatsby-image.md#gatsby-image-props\n\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: requireFixedOrFluid(_propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject)])),\n fluid: requireFixedOrFluid(_propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject)])),\n fadeIn: _propTypes.default.bool,\n durationFadeIn: _propTypes.default.number,\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 crossOrigin: _propTypes.default.oneOfType([_propTypes.default.string, _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 itemProp: _propTypes.default.string,\n loading: _propTypes.default.oneOf([\"auto\", \"lazy\", \"eager\"]),\n draggable: _propTypes.default.bool\n};\nvar _default = Image;\nexports.default = _default;","/*! npm.im/object-fit-images 3.2.4 */\n'use strict';\n\nvar OFI = 'bfred-it:object-fit-images';\nvar propRegex = /(object-fit|object-position)\\s*:\\s*([-.\\w\\s%]+)/g;\nvar testImg = typeof Image === 'undefined' ? {\n style: {\n 'object-position': 1\n }\n} : new Image();\nvar supportsObjectFit = ('object-fit' in testImg.style);\nvar supportsObjectPosition = ('object-position' in testImg.style);\nvar supportsOFI = ('background-size' in testImg.style);\nvar supportsCurrentSrc = typeof testImg.currentSrc === 'string';\nvar nativeGetAttribute = testImg.getAttribute;\nvar nativeSetAttribute = testImg.setAttribute;\nvar autoModeEnabled = false;\n\nfunction createPlaceholder(w, h) {\n return \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='\" + w + \"' height='\" + h + \"'%3E%3C/svg%3E\";\n}\n\nfunction polyfillCurrentSrc(el) {\n if (el.srcset && !supportsCurrentSrc && window.picturefill) {\n var pf = window.picturefill._; // parse srcset with picturefill where currentSrc isn't available\n\n if (!el[pf.ns] || !el[pf.ns].evaled) {\n // force synchronous srcset parsing\n pf.fillImg(el, {\n reselect: true\n });\n }\n\n if (!el[pf.ns].curSrc) {\n // force picturefill to parse srcset\n el[pf.ns].supported = false;\n pf.fillImg(el, {\n reselect: true\n });\n } // retrieve parsed currentSrc, if any\n\n\n el.currentSrc = el[pf.ns].curSrc || el.src;\n }\n}\n\nfunction getStyle(el) {\n var style = getComputedStyle(el).fontFamily;\n var parsed;\n var props = {};\n\n while ((parsed = propRegex.exec(style)) !== null) {\n props[parsed[1]] = parsed[2];\n }\n\n return props;\n}\n\nfunction setPlaceholder(img, width, height) {\n // Default: fill width, no height\n var placeholder = createPlaceholder(width || 1, height || 0); // Only set placeholder if it's different\n\n if (nativeGetAttribute.call(img, 'src') !== placeholder) {\n nativeSetAttribute.call(img, 'src', placeholder);\n }\n}\n\nfunction onImageReady(img, callback) {\n // naturalWidth is only available when the image headers are loaded,\n // this loop will poll it every 100ms.\n if (img.naturalWidth) {\n callback(img);\n } else {\n setTimeout(onImageReady, 100, img, callback);\n }\n}\n\nfunction fixOne(el) {\n var style = getStyle(el);\n var ofi = el[OFI];\n style['object-fit'] = style['object-fit'] || 'fill'; // default value\n // Avoid running where unnecessary, unless OFI had already done its deed\n\n if (!ofi.img) {\n // fill is the default behavior so no action is necessary\n if (style['object-fit'] === 'fill') {\n return;\n } // Where object-fit is supported and object-position isn't (Safari < 10)\n\n\n if (!ofi.skipTest && // unless user wants to apply regardless of browser support\n supportsObjectFit && // if browser already supports object-fit\n !style['object-position'] // unless object-position is used\n ) {\n return;\n }\n } // keep a clone in memory while resetting the original to a blank\n\n\n if (!ofi.img) {\n ofi.img = new Image(el.width, el.height);\n ofi.img.srcset = nativeGetAttribute.call(el, \"data-ofi-srcset\") || el.srcset;\n ofi.img.src = nativeGetAttribute.call(el, \"data-ofi-src\") || el.src; // preserve for any future cloneNode calls\n // https://github.com/bfred-it/object-fit-images/issues/53\n\n nativeSetAttribute.call(el, \"data-ofi-src\", el.src);\n\n if (el.srcset) {\n nativeSetAttribute.call(el, \"data-ofi-srcset\", el.srcset);\n }\n\n setPlaceholder(el, el.naturalWidth || el.width, el.naturalHeight || el.height); // remove srcset because it overrides src\n\n if (el.srcset) {\n el.srcset = '';\n }\n\n try {\n keepSrcUsable(el);\n } catch (err) {\n if (window.console) {\n console.warn('https://bit.ly/ofi-old-browser');\n }\n }\n }\n\n polyfillCurrentSrc(ofi.img);\n el.style.backgroundImage = \"url(\\\"\" + (ofi.img.currentSrc || ofi.img.src).replace(/\"/g, '\\\\\"') + \"\\\")\";\n el.style.backgroundPosition = style['object-position'] || 'center';\n el.style.backgroundRepeat = 'no-repeat';\n el.style.backgroundOrigin = 'content-box';\n\n if (/scale-down/.test(style['object-fit'])) {\n onImageReady(ofi.img, function () {\n if (ofi.img.naturalWidth > el.width || ofi.img.naturalHeight > el.height) {\n el.style.backgroundSize = 'contain';\n } else {\n el.style.backgroundSize = 'auto';\n }\n });\n } else {\n el.style.backgroundSize = style['object-fit'].replace('none', 'auto').replace('fill', '100% 100%');\n }\n\n onImageReady(ofi.img, function (img) {\n setPlaceholder(el, img.naturalWidth, img.naturalHeight);\n });\n}\n\nfunction keepSrcUsable(el) {\n var descriptors = {\n get: function get(prop) {\n return el[OFI].img[prop ? prop : 'src'];\n },\n set: function set(value, prop) {\n el[OFI].img[prop ? prop : 'src'] = value;\n nativeSetAttribute.call(el, \"data-ofi-\" + prop, value); // preserve for any future cloneNode\n\n fixOne(el);\n return value;\n }\n };\n Object.defineProperty(el, 'src', descriptors);\n Object.defineProperty(el, 'currentSrc', {\n get: function get() {\n return descriptors.get('currentSrc');\n }\n });\n Object.defineProperty(el, 'srcset', {\n get: function get() {\n return descriptors.get('srcset');\n },\n set: function set(ss) {\n return descriptors.set(ss, 'srcset');\n }\n });\n}\n\nfunction hijackAttributes() {\n function getOfiImageMaybe(el, name) {\n return el[OFI] && el[OFI].img && (name === 'src' || name === 'srcset') ? el[OFI].img : el;\n }\n\n if (!supportsObjectPosition) {\n HTMLImageElement.prototype.getAttribute = function (name) {\n return nativeGetAttribute.call(getOfiImageMaybe(this, name), name);\n };\n\n HTMLImageElement.prototype.setAttribute = function (name, value) {\n return nativeSetAttribute.call(getOfiImageMaybe(this, name), name, String(value));\n };\n }\n}\n\nfunction fix(imgs, opts) {\n var startAutoMode = !autoModeEnabled && !imgs;\n opts = opts || {};\n imgs = imgs || 'img';\n\n if (supportsObjectPosition && !opts.skipTest || !supportsOFI) {\n return false;\n } // use imgs as a selector or just select all images\n\n\n if (imgs === 'img') {\n imgs = document.getElementsByTagName('img');\n } else if (typeof imgs === 'string') {\n imgs = document.querySelectorAll(imgs);\n } else if (!('length' in imgs)) {\n imgs = [imgs];\n } // apply fix to all\n\n\n for (var i = 0; i < imgs.length; i++) {\n imgs[i][OFI] = imgs[i][OFI] || {\n skipTest: opts.skipTest\n };\n fixOne(imgs[i]);\n }\n\n if (startAutoMode) {\n document.body.addEventListener('load', function (e) {\n if (e.target.tagName === 'IMG') {\n fix(e.target, {\n skipTest: opts.skipTest\n });\n }\n }, true);\n autoModeEnabled = true;\n imgs = 'img'; // reset to a generic selector for watchMQ\n } // if requested, watch media queries for object-fit change\n\n\n if (opts.watchMQ) {\n window.addEventListener('resize', fix.bind(null, imgs, {\n skipTest: opts.skipTest\n }));\n }\n}\n\nfix.supportsObjectFit = supportsObjectFit;\nfix.supportsObjectPosition = supportsObjectPosition;\nhijackAttributes();\nmodule.exports = fix;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mainHeader\":\"index-module--mainHeader--GCOGb\",\"headerImage\":\"index-module--headerImage--Ph8VU\",\"programLogos\":\"index-module--programLogos--1mLuc\",\"focusPanel\":\"index-module--focusPanel--3_zpk\",\"columnLayout\":\"index-module--columnLayout--2CzmH\",\"contactSection\":\"index-module--contactSection--1scpu\"};","import { useStaticQuery, graphql } from 'gatsby';\r\nimport * as React from 'react';\r\nimport Img from 'gatsby-image/withIEPolyfill';\r\n\r\nconst DisplaySection: React.SFC<{}> = () => {\r\n const {\r\n jubalFeatureOne,\r\n jubalFeatureTwo,\r\n jubalFeatureThree\r\n } = useStaticQuery(\r\n graphql`\r\n query DisplaySectionComponentQuery {\r\n jubalFeatureOne: file(relativePath: { eq: \"03 Jubal Hornline 2018.jpg\" }) {\r\n childImageSharp {\r\n # Specify the image processing specifications right in the query.\r\n # Makes it trivial to update as your page's design changes.\r\n fluid(maxWidth: 1200, quality: 100) {\r\n ...GatsbyImageSharpFluid_noBase64\r\n }\r\n }\r\n }\r\n jubalFeatureTwo: file(relativePath: { eq: \"ColorGuard 2018-04.jpg\" }) {\r\n childImageSharp {\r\n # Specify the image processing specifications right in the query.\r\n # Makes it trivial to update as your page's design changes.\r\n fluid(maxWidth: 1200, quality: 100) {\r\n ...GatsbyImageSharpFluid_noBase64\r\n }\r\n }\r\n }\r\n jubalFeatureThree: file(relativePath: { eq: \"Jubal Hornline 2018-warming up.jpg\" }) {\r\n childImageSharp {\r\n # Specify the image processing specifications right in the query.\r\n # Makes it trivial to update as your page's design changes.\r\n fluid(maxWidth: 1200, quality: 100) {\r\n ...GatsbyImageSharpFluid_noBase64\r\n }\r\n }\r\n }\r\n }\r\n `\r\n );\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default DisplaySection;\r\n","import { graphql, Link } from 'gatsby';\r\nimport * as React from 'react';\r\nimport Img from 'gatsby-image/withIEPolyfill';\r\nimport styles from './index.module.scss';\r\nimport Layout from '../components/layout';\r\nimport EventsList from '../components/events-list';\r\nimport DisplaySection from '../components/section-display';\r\nimport { AnchorLink } from 'gatsby-plugin-anchor-links';\r\nimport SEO from '../components/seo';\r\nimport ArrowIcon from '../components/arrow-icon';\r\nimport SocialIcons from '../components/social-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faBroadcastTower, faPlug } from '@fortawesome/free-solid-svg-icons';\r\n\r\ninterface IndexPageProps {\r\n location: Location,\r\n data: {\r\n site: {\r\n siteMetadata: {\r\n tagline: string;\r\n contactFormUrl: string;\r\n },\r\n },\r\n allProgramsdataJson: {\r\n edges: ({\r\n node: ({\r\n id: string,\r\n anchor: string,\r\n name: string,\r\n logo: any,\r\n image: any,\r\n featured: boolean,\r\n listed: boolean,\r\n description: string[]\r\n })\r\n })[]\r\n },\r\n flitsenBannerImage: any,\r\n jubalHistoryImage: any,\r\n jubalMoreImage: any,\r\n jubalFeatureOne: any,\r\n jubalFeatureTwo: any,\r\n jubalFeatureThree: any\r\n };\r\n}\r\n\r\nexport const indexPageQuery = graphql`\r\n query IndexPageQuery {\r\n site {\r\n siteMetadata {\r\n tagline\r\n contactFormUrl\r\n }\r\n }\r\n allProgramsdataJson {\r\n edges {\r\n node {\r\n id\r\n anchor\r\n name\r\n logo {\r\n childImageSharp {\r\n fluid(quality: 100) {\r\n src\r\n }\r\n }\r\n }\r\n image {\r\n childImageSharp {\r\n fluid(quality: 100) {\r\n ...GatsbyImageSharpFluid_noBase64\r\n }\r\n }\r\n }\r\n featured\r\n listed\r\n description\r\n }\r\n }\r\n }\r\n flitsenBannerImage: file(relativePath: { eq: \"banner-flitsen-2024-5.jpg\" }) {\r\n childImageSharp {\r\n fluid(maxWidth: 1110, quality: 100) {\r\n ...GatsbyImageSharpFluid_noBase64\r\n }\r\n }\r\n }\r\n jubalHistoryImage: file(relativePath: { eq: \"06 Jubal 1952-Olympisch Stadion Amsterdam.jpg\" }) {\r\n childImageSharp {\r\n fluid(maxWidth: 1200, quality: 100) {\r\n ...GatsbyImageSharpFluid_noBase64\r\n }\r\n }\r\n }\r\n jubalMoreImage: file(relativePath: { eq: \"VVAL.jpg\" }) {\r\n childImageSharp {\r\n fluid(maxWidth: 1200, quality: 100) {\r\n ...GatsbyImageSharpFluid_noBase64\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport default class IndexPage extends React.Component {\r\n private openContactFormModal(formUrl: string) {\r\n return (event: React.MouseEvent) => {\r\n window.open(\r\n formUrl,\r\n 'popup',\r\n 'width=600,height=600,scrollbars=no,resizable=no'\r\n );\r\n }\r\n }\r\n public render() {\r\n const {\r\n site,\r\n allProgramsdataJson,\r\n flitsenBannerImage,\r\n jubalHistoryImage,\r\n jubalMoreImage\r\n } = this.props.data;\r\n const {\r\n tagline,\r\n } = site.siteMetadata;\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n

{tagline}

\r\n
\r\n

\r\n \r\n Al meer dan een eeuw garant voor spektakel, door haar continue vernieuwingsdrang altijd actueel en een garantie om het publiek op vele manieren te boeien en te verbazen.\r\n \r\n

\r\n

\r\n \r\n -  Sinds 1911  -\r\n \r\n

\r\n
\r\n
\r\n\r\n
\r\n

Nieuws

\r\n
\r\n
\r\n
\r\n

Het laatste nieuws uit de vereniging.

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Altijd op de hoogte van het laatste nieuws?\r\n
\r\n \r\n Inschrijven voor de Jubal Nieuwsflits\r\n \r\n
\r\n
\r\n
\r\n {/* */}\r\n\r\n
\r\n \r\n
\r\n

\r\n We ondervinden problemen bij het laden de laatste nieuwsberichten vanaf onze Facebook pagina's. \r\n De laatste plaatsingen bekijk je op de pagina's van \r\n Jubal\r\n en \r\n Jong Jubal\r\n of via een van onze andere social media kanalen.\r\n

\r\n
\r\n
\r\n {/* Todo: enable news archive */}\r\n
\r\n
\r\n
\r\n \r\n Nieuwsarchief\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Agenda

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n {/* Todo: implement generic section component
*/}\r\n\r\n
\r\n

Programma's

\r\n
\r\n

Onze actuele programma's en onderdelen.

\r\n
\r\n \r\n Jubal Dordrecht biedt een diversiteit aan programma's en onderdelen. Van Music Kids tot het Jubal drum & bugle corps en van indoor-unit tot theateract op maat. Altijd vernieuwend en een garantie om het publiek op vele manieren te boeien en te verbazen.\r\n \r\n
\r\n

\r\n Klik op de logo's of scroll verder om meer te weten te komen:\r\n

\r\n
\r\n {allProgramsdataJson.edges.map(({node}) => node).filter(x => x.featured).map(program => (\r\n \r\n \r\n \r\n ))}\r\n
\r\n
\r\n
\r\n {allProgramsdataJson.edges.map(({node}) => node).filter(x => !x.featured).map(program => (\r\n \r\n \r\n \r\n ))}\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n {allProgramsdataJson.edges\r\n .map(({node}) => node)\r\n .filter(x => x.listed)\r\n .slice(0,-1)\r\n .map(program => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{program.name}

\r\n {program.description.map((paragraph, i) => (\r\n

{paragraph}

\r\n ))}\r\n
\r\n
\r\n {(program.image !== null) ? (\r\n
\r\n \r\n
\r\n ) :
}\r\n
\r\n
\r\n
\r\n ))}\r\n\r\n
\r\n
\r\n

Theater en meer

\r\n
\r\n

Naast traditionele optredens als straatparades, concerten en shows is Jubal ook regelmatig op andere manieren te zien en te horen geweest. Door de jaren heen heeft Jubal diverse theatershows gedaan en in de wintermaanden zijn de onderdelen van Jubal actief in het indoor circuit met een winter guard, indoor winds en indoor percussion. Rond de kerstperiode is Jubal in een andere samenstelling onder de noemer ‘Jubal All-Star X-Mas Band’ op diverse kerstmarkten in Nederland en Duitsland te zien en te horen met een aansprekend jazzy kerstrepertoire om het 'kerstwinkelende' publiek te vermaken.

\r\n

Ook in de media is Jubal een graag geziene en gehoorde gast. Al in 1936 trad Jubal op in radioprogramma’s van de NCRV en de VARA. Later, in de jaren zeventig, kreeg Jubal landelijke bekendheid door haar pauze-optredens voor de Minivoetbalshow. In de jaren daarna was Jubal regelmatig te zien en/of te horen in tv-shows in binnen- en buitenland. Recentelijk zijn de optredens in Boedapest bij spectaculaire concerten van de Hongaarse artiest Havasi en medewerking aan concerten van Vrienden van Amstel Live.

\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n

Ons verhaal

\r\n
\r\n

Maak kennis met een rijke historie.

\r\n
\r\n

Het Dordtse topkorps Jubal is opgericht in 1911 en is begonnen als een club met fluitjes en een aantal trommeltjes, ter ondersteuning van een feestavond van jongensvereniging Timotheüs, een onderafdeling van de Dordtse CJMV.

\r\n

Duizenden mensen zijn sinds dat jaar lid geweest van deze wervelende en zichzelf continu vernieuwende muziekvereniging, die inmiddels over een groot gedeelte van de aardbol heeft opgetreden. Van Vlissingen tot het Franse Nice, van Frankfurt tot het Noorse Hamar en van Dubbeldam tot Chicago. Vele successen, ontelbare prijzen, lovende recensies: meer dan 100 jaar Jubal heeft de club geen windeieren gelegd. Maar wat misschien nog veel belangrijker is, zijn de vriendschappen, het plezier, de ervaringen, the way of life, dingen die de Juballers allemaal hebben meegekregen.

\r\n
\r\n \r\n
\r\n

Het huidige drum & bugle corps is al ruim honderdtien jaar lang méér dan een muziekvereniging. Het is een club die bindt en boeit, ontroert en in vervoering brengt. Jubal is een korps dat in binnen- en buitenland bekendheid geniet met aansprekende showprogramma’s. Dat heeft niet alleen geleid tot een overvolle prijzenkast, maar nog belangrijker, tot de status van ware publieksfavoriet.

\r\n

De club is met nieuwe initiatieven nog altijd een voorbeeld voor veel andere muziekverenigingen en heeft een geschiedenis die leest als een jongensboek. Jubal heeft in meer dan 100 jaar tijd grote successen bereikt, maar ook fikse tegenslagen moeten overwinnen. Zelfs toen al het materiaal in de Tweede Wereldoorlog door de Duitsers in beslag werd genomen, gaf Jubal zich niet gewonnen en werd er ‘ondergronds’ door gerepeteerd en werd er in ondergrondse tromfabriek ‘De Geitevel’ nieuw percussie-materiaal gefabriceerd en daarmee verscheen het direct na de bevrijding alweer op straat. Die geschiedenis geeft het het vertrouwen dat ook de meest recente tegenslag, de gevolgen van het COVID-19-virus, overwonnen zal worden.

\r\n

Door de geschiedenis heen toont Jubal het doorzettingsvermogen en de continue vernieuwingsdrang van een fanatieke groep amateur-muzikanten.

\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Contact

\r\n

Wanneer de interesse is gewekt.

\r\n
\r\n
\r\n

Contact

\r\n

\r\n We komen graag met je in contact! Je kunt bij ons terecht voor optredens en entertainment op maat, maar ook voor informatie over \r\n lidmaatschap\r\n van de vereniging of verhuur van onze faciliteiten.\r\n

\r\n \r\n Contact opnemen\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Bezoek het JMC

\r\n
\r\n Jubal Muziek Centrum\r\n

Jan Ligthartlaan 1\r\n
3312 KD Dordrecht\r\n
\r\n \r\n Plan je route\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","\"use strict\";\n\nvar _interopRequireWildcard3 = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _interopRequireWildcard2 = _interopRequireDefault(require(\"@babel/runtime/helpers/interopRequireWildcard\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = _interopRequireWildcard3(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _index = _interopRequireDefault(require(\"../index\"));\n\nvar ImageWithIEPolyfill = /*#__PURE__*/function (_Component) {\n (0, _inheritsLoose2.default)(ImageWithIEPolyfill, _Component);\n\n function ImageWithIEPolyfill() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.imageRef = _this.props.innerRef || /*#__PURE__*/(0, _react.createRef)();\n _this.placeholderRef = /*#__PURE__*/(0, _react.createRef)();\n return _this;\n }\n\n var _proto = ImageWithIEPolyfill.prototype;\n\n // Load object-fit/position polyfill if required (e.g. in IE)\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var testImg = document.createElement(\"img\");\n\n if (typeof testImg.style.objectFit === \"undefined\" || typeof testImg.style.objectPosition === \"undefined\") {\n Promise.resolve().then(function () {\n return (0, _interopRequireWildcard2.default)(require(\"object-fit-images\"));\n }).then(function (_ref) {\n var ObjectFitImages = _ref.default;\n ObjectFitImages(_this2.imageRef.current.imageRef.current);\n ObjectFitImages(_this2.placeholderRef.current);\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n objectFit = _this$props.objectFit,\n objectPosition = _this$props.objectPosition,\n props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, [\"objectFit\", \"objectPosition\"]);\n var polyfillStyle = {\n objectFit: objectFit,\n objectPosition: objectPosition,\n fontFamily: \"\\\"object-fit: \" + objectFit + \"; object-position: \" + objectPosition + \"\\\"\"\n };\n return /*#__PURE__*/_react.default.createElement(_index.default, (0, _extends2.default)({\n ref: this.imageRef,\n placeholderRef: this.placeholderRef\n }, props, {\n imgStyle: (0, _extends2.default)({}, props.imgStyle, polyfillStyle),\n placeholderStyle: (0, _extends2.default)({}, props.placeholderStyle, polyfillStyle)\n }));\n };\n\n return ImageWithIEPolyfill;\n}(_react.Component); // If you modify these propTypes, please don't forget to update following files as well:\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/withIEPolyfill/index.d.ts\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/README.md#gatsby-image-props\n// https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/gatsby-image.md#gatsby-image-props\n\n\nImageWithIEPolyfill.propTypes = {\n objectFit: _propTypes.default.string,\n objectPosition: _propTypes.default.string\n};\nImageWithIEPolyfill.defaultProps = {\n objectFit: \"cover\",\n objectPosition: \"50% 50%\"\n};\n\nvar _default = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {\n return /*#__PURE__*/_react.default.createElement(ImageWithIEPolyfill, (0, _extends2.default)({}, props, {\n innerRef: ref\n }));\n});\n\nexports.default = _default;"],"sourceRoot":""}