{"version":3,"sources":["webpack:///./node_modules/gatsby-background-image/index.js","webpack:///./node_modules/uuid/lib/rng-browser.js","webpack:///./node_modules/gatsby-background-image/lib/ImageRef.js","webpack:///./node_modules/gatsby-background-image/lib/ImageUtils.js","webpack:///./node_modules/uuid/lib/bytesToUuid.js","webpack:///./node_modules/any-base/index.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/html-attributes/lib/html-attributes.js","webpack:///./node_modules/gatsby-background-image/lib/MediaUtils.js","webpack:///./src/templates/blogpost.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/gatsby-background-image/lib/StyleUtils.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/gatsby-background-image/lib/StyleCreation.js","webpack:///./node_modules/filter-invalid-dom-props/dist/index.js","webpack:///./node_modules/xtend/immutable.js","webpack:///./node_modules/core-js/modules/_object-to-array.js","webpack:///./node_modules/any-base/src/converter.js","webpack:///./node_modules/gatsby-background-image/lib/ClassCache.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/sort-media-queries/lib/index.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/short-uuid/index.js","webpack:///./node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/gatsby-background-image/lib/SimpleUtils.js","webpack:///./node_modules/gatsby-background-image/lib/IntersectionObserverUtils.js","webpack:///./node_modules/gatsby-background-image/lib/ImageHandling.js","webpack:///./node_modules/gatsby-background-image/lib/HelperUtils.js","webpack:///./node_modules/gatsby-background-image/lib/ImageCache.js","webpack:///./node_modules/uuid/v4.js","webpack:///./node_modules/gatsby-background-image/lib/BackgroundUtils.js"],"names":["_interopRequireDefault","require","exports","__esModule","default","_objectWithoutPropertiesLoose2","_extends2","_assertThisInitialized2","_inheritsLoose2","_defineProperty2","_react","_propTypes","_BackgroundUtils","_HelperUtils","_ImageUtils","_ImageCache","_ImageRef","_ImageHandling","_StyleUtils","_StyleCreation","_IntersectionObserverUtils","BackgroundImage","_React$Component","Derived","props","_this","call","this","imageInCache","inImageCache","state","isVisible","onStartLoad","wasCached","imageRef","activatePictureRef","selfRef","setState","imageState","imgLoaded","imgCached","hasActivatedPictureRefs","convertedProps","convertProps","IOSupported","fadeIn","seenBefore","window","IntersectionObserver","critical","hasNoScript","currentClassNames","fixClassName","backgroundStyles","presetBackgroundStyles","className","handleImageLoaded","bind","handleRef","createPictureRef","_proto","prototype","componentDidMount","imageReferenceCompleted","componentDidUpdate","prevProps","_this2","imagePropsChanged","bgImage","getCurrentFromData","data","propName","returnArray","componentWillUnmount","Array","isArray","forEach","currentImageRef","onload","cleanUpListeners","ref","listenToIntersections","intersectionListener","rootMargin","activateCacheForImage","onLoad","render","_fixOpacity","fixOpacity","preserveStackingContext","_fixOpacity$style","style","fluid","fixed","backgroundColor","durationFadeIn","Tag","children","remainingProps","stripRemainingProps","bgColor","shouldFadeIn","transitionDelay","divStyle","position","opacity","image","getCurrentSrcData","noScriptImageData","width","height","display","newImageSettings","switchImageSettings","nextImageArray","nextImage","pseudoStyles","createPseudoStyles","originalData","noScriptPseudoStyles","createNoScriptStyles","componentKey","JSON","stringify","srcSet","currentStyles","createElement","key","dangerouslySetInnerHTML","__html","Component","defaultProps","fixedObject","shape","number","isRequired","src","string","base64","tracedSVG","srcWebp","srcSetWebp","media","fluidObject","aspectRatio","sizes","propTypes","oneOfType","arrayOf","bool","object","crossOrigin","array","func","onError","_default","getRandomValues","crypto","msCrypto","rnds8","Uint8Array","module","rnds","r","i","Math","random","hasPictureRef","activateMultiplePictureRefs","createMultiplePictureRefs","_MediaUtils","_SimpleUtils","index","isLoop","isBrowser","hasImageArray","hasArtDirectionArray","img","Image","complete","addEventListener","imageRefs","map","imageData","isImageStack","bodyClone","document","getSelectedImage","isString","hasPictureElement","pic","offsetWidth","offsetHeight","createArtDirectionSources","reverse","currentSource","appendChild","sourcesWebP","type","srcset","every","currentSrc","singleImageRef","imageLoaded","createDummyImageArray","imageArrayPropsChanged","hasImageUrl","isBase64","getUrlString","getImageSrcKey","HTMLPictureElement","Boolean","_ref","_ref$addUrl","addUrl","_ref$returnArray","_ref$checkLoaded","checkLoaded","imageString","dataElement","currentData","_ref2","_ref3","mediaData","slice","foundMedia","findIndex","matchesMedia","_ref4","_ref5","_ref5$tracedSVG","_ref5$addUrl","_ref5$returnArray","_ref5$hasImageUrls","hasImageUrls","stringArray","currentString","_base","_imageUrl","currentReturnString","filteredJoin","imageUrl","returnString","base64String","indexOf","substr","isPropsFluidArray","isPrevPropsFluidArray","isPropsFixedArray","isPrevPropsFixedArray","length","some","dummyImageURI","fill","naturalWidth","naturalHeight","byteToHex","toString","buf","offset","bth","join","Converter","anyBase","srcAlphabet","dstAlphabet","converter","convert","BIN","OCT","DEC","HEX","$export","create","aFunction","anObject","isObject","fails","rConstruct","Reflect","construct","NEW_TARGET_BUG","F","ARGS_BUG","S","Target","args","newTarget","arguments","$args","push","apply","proto","instance","Object","result","Function","hasArtDirectionSupport","groupByMedia","_sortMediaQueries","imageVariants","without","sortedVariants","variant","reduce","sources","source","prop","matchMedia","matches","BlogpostTemplate","post","markdownRemark","featuredImgFluid","frontmatter","featuredImage","childImageSharp","currentPage","title","id","role","objectFit","objectPosition","background","marginTop","marginBottom","paddingLeft","paddingBottom","borderBottom","date","author","category","html","postQuery","init","byteOffset","setTransitionStyles","kebabifyBackgroundStyles","escapeClassNames","_shortUuid","_ClassCache","elementExists","inComponentClassCache","additionalClassname","generate","randomClass","hashString","componentClassNames","trim","activateCacheForComponentClass","classNames","specialChars","_gbiSpecialChars","__GBI_SPECIAL_CHARS__","specialCharRegEx","RegExp","replace","styles","keys","filter","resultingStyles","toKebabCase","styledProps","isNaN","e","backgroundPosition","backgroundRepeat","backgroundSize","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","createStyleImage","createPseudoElementMediaQuery","createPseudoElementWithContent","createPseudoElement","appendix","escapedClassName","classes","stringToArray","pseudoClasses","c","pseudoElementString","imageSource","imageSourceWebP","lastImage","afterOpacity","finalImage","pseudoBefore","pseudoAfter","Number","hasStackedImages","allSources","sourcesAsUrl","sourcesAsUrlWithCSS","cssStrings","combineArray","currentMedia","sourceString","webPString","defineProperty","value","domProps","hasOwnProperty","isValidDOMProp","obj","_htmlAttributes","_htmlAttributes2","eventProps","onCopy","onCut","onPaste","onWheel","onScroll","onCompositionEnd","onCompositionStart","onCompositionUpdate","onKeyDown","onKeyPress","onKeyUp","onFocus","onBlur","onChange","onInput","onSubmit","onClick","onContextMenu","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onSelect","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onAnimationStart","onAnimationEnd","onAnimationIteration","onTransitionEnd","test","target","DESCRIPTORS","getKeys","toIObject","isEnum","f","isEntries","it","O","Error","divide","newlen","numberMap","fromBase","toBase","isValid","parseInt","concat","resetComponentClassCache","componentClassCache","_typeof","assertThisInitialized","self","extend","mqTypes","determineSortOrder","isMax","a","b","sortValA","sortVal","sortValB","ruleA","item","__media","ruleB","match","sortInit","rules","flag","rulesLength","itemsValid","allValid","collection","mqCollection","mqTypesLength","createCollection","prepareRules","rule","collectionType","valMatch","addRulesToCollection","sorter","sort","sortCollection","transformed","iterateCollectionItem","collectionItem","resultVal","typeLength","transformCollection","P","Symbol","iterator","constructor","toFlickr","uuidV4","flickrBase58","shortenUUID","longId","translator","toLowerCase","MakeConvertor","toAlphabet","useAlphabet","fromHex","toHex","uuid","fromUUID","toUUID","shortUuid","shortId","m","uu1","leftPad","len","enlargeUUID","alphabet","constants","cookieBase90","$values","values","toCamelCase","str","letter","toUpperCase","delimiter","includes","split","hash","charCodeAt","arrayToJoin","fromArray","toArray","io","getIO","callbackIO","listeners","WeakMap","entries","entry","has","callback","get","isIntersecting","intersectionRatio","unobserve","delete","element","observer","observe","set","currentSources","dummyArray","_filterInvalidDomProps","resetImageCache","activateCacheForMultipleImages","allInImageCache","imageCache","rng","bytesToUuid","options","ii","getBackgroundStylesForSingleClass","getStyleRules","getStyleRulesForClassName","styleSheets","cssRules","foundClass","foundAcc","styleRule","selectorText","cssStyleRules","name","console","error","newData","classObjects","assign"],"mappings":"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","file":"component---src-templates-blogpost-js-61c3afe77aa43c403310.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _BackgroundUtils = _interopRequireDefault(require(\"./lib/BackgroundUtils\"));\n\nvar _HelperUtils = require(\"./lib/HelperUtils\");\n\nvar _ImageUtils = require(\"./lib/ImageUtils\");\n\nvar _ImageCache = require(\"./lib/ImageCache\");\n\nvar _ImageRef = require(\"./lib/ImageRef\");\n\nvar _ImageHandling = require(\"./lib/ImageHandling\");\n\nvar _StyleUtils = require(\"./lib/StyleUtils\");\n\nvar _StyleCreation = require(\"./lib/StyleCreation\");\n\nvar _IntersectionObserverUtils = require(\"./lib/IntersectionObserverUtils\");\n\nfunction _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar BackgroundImage = function (_React$Component) {\n (0, _inheritsLoose2.default)(BackgroundImage, _React$Component);\n\n var _super = _createSuper(BackgroundImage);\n\n function BackgroundImage(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"cleanUpListeners\", void 0);\n (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"intersectionListener\", function () {\n var imageInCache = (0, _ImageCache.inImageCache)(_this.props);\n\n if (!_this.state.isVisible && typeof _this.props.onStartLoad === \"function\") {\n _this.props.onStartLoad({\n wasCached: imageInCache\n });\n }\n\n _this.imageRef = (0, _ImageRef.activatePictureRef)(_this.imageRef, _this.props, _this.selfRef);\n\n _this.setState(function (state) {\n return {\n isVisible: true,\n imageState: state.imageState + 1\n };\n }, function () {\n _this.setState(function (state) {\n return {\n imgLoaded: imageInCache,\n imgCached: (0, _ImageRef.hasActivatedPictureRefs)(_this.imageRef),\n imageState: state.imageState + 1\n };\n });\n });\n });\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isVisible = true;\n var imgLoaded = false;\n var IOSupported = false;\n var fadeIn = convertedProps.fadeIn;\n var seenBefore = (0, _ImageCache.inImageCache)(convertedProps);\n\n if (!seenBefore && typeof window !== \"undefined\" && window.IntersectionObserver) {\n isVisible = false;\n IOSupported = true;\n }\n\n if (typeof window === \"undefined\") {\n isVisible = false;\n }\n\n if (convertedProps.critical) {\n isVisible = true;\n IOSupported = false;\n }\n\n var hasNoScript = !(convertedProps.critical && !fadeIn);\n var imageState = 0;\n\n var _fixClassName = (0, _StyleUtils.fixClassName)(convertedProps),\n currentClassNames = _fixClassName[0];\n\n _this.state = {\n isVisible: isVisible,\n imgLoaded: imgLoaded,\n IOSupported: IOSupported,\n fadeIn: fadeIn,\n hasNoScript: hasNoScript,\n seenBefore: seenBefore,\n imageState: imageState,\n currentClassNames: currentClassNames\n };\n _this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils.default)(convertedProps.className));\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n _this.imageRef = (0, _ImageRef.createPictureRef)((0, _extends2.default)({}, convertedProps, {\n isVisible: isVisible\n }), _this.handleImageLoaded);\n _this.selfRef = null;\n return _this;\n }\n\n var _proto = BackgroundImage.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils.default)(this.props.className));\n\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: (0, _ImageCache.inImageCache)(this.props)\n });\n }\n\n if (this.props.critical || this.state.seenBefore) {\n if ((0, _ImageRef.imageReferenceCompleted)(this.imageRef, this.props)) {\n this.handleImageLoaded();\n }\n }\n\n var _fixClassName2 = (0, _StyleUtils.fixClassName)(this.props),\n currentClassNames = _fixClassName2[0];\n\n this.setState({\n currentClassNames: currentClassNames\n });\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n if ((0, _ImageUtils.imagePropsChanged)(this.props, prevProps)) {\n var convertedProps = (0, _HelperUtils.convertProps)(this.props);\n var imageInCache = (0, _ImageCache.inImageCache)(convertedProps);\n\n var _fixClassName3 = (0, _StyleUtils.fixClassName)(convertedProps),\n currentClassNames = _fixClassName3[0];\n\n this.setState({\n isVisible: imageInCache || convertedProps.critical,\n imgLoaded: imageInCache,\n seenBefore: imageInCache,\n currentClassNames: currentClassNames\n }, function () {\n _this2.bgImage = (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"currentSrc\",\n returnArray: true\n }) || (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"src\",\n returnArray: true\n });\n _this2.imageRef = (0, _ImageRef.createPictureRef)((0, _extends2.default)({}, convertedProps, {\n isVisible: _this2.state.isVisible\n }), _this2.handleImageLoaded);\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.imageRef) {\n if (Array.isArray(this.imageRef)) {\n this.imageRef.forEach(function (currentImageRef) {\n return !!currentImageRef && (currentImageRef.onload = null);\n });\n } else {\n this.imageRef.onload = null;\n }\n }\n\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n };\n\n _proto.handleRef = function handleRef(ref) {\n this.selfRef = ref;\n\n if (this.state.IOSupported && ref) {\n this.cleanUpListeners = (0, _IntersectionObserverUtils.listenToIntersections)(ref, this.intersectionListener, this.props.rootMargin);\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n (0, _ImageCache.activateCacheForImage)(this.props);\n this.setState(function (state) {\n return {\n imgLoaded: true,\n imageState: state.imageState + 1\n };\n });\n\n if (this.state.seenBefore) {\n this.setState({\n fadeIn: false\n });\n }\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _fixOpacity = (0, _StyleUtils.fixOpacity)((0, _HelperUtils.convertProps)(this.props), this.props.preserveStackingContext),\n className = _fixOpacity.className,\n _fixOpacity$style = _fixOpacity.style,\n style = _fixOpacity$style === void 0 ? {} : _fixOpacity$style,\n fluid = _fixOpacity.fluid,\n fixed = _fixOpacity.fixed,\n backgroundColor = _fixOpacity.backgroundColor,\n durationFadeIn = _fixOpacity.durationFadeIn,\n Tag = _fixOpacity.Tag,\n children = _fixOpacity.children,\n props = (0, _objectWithoutPropertiesLoose2.default)(_fixOpacity, [\"className\", \"style\", \"fluid\", \"fixed\", \"backgroundColor\", \"durationFadeIn\", \"Tag\", \"children\"]);\n\n var remainingProps = (0, _HelperUtils.stripRemainingProps)(props);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : typeof backgroundColor !== \"undefined\" ? backgroundColor : \"\";\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached || this.props.fadeIn === \"soft\";\n var transitionDelay = this.state.imgLoaded ? durationFadeIn + \"ms\" : \"0.25s\";\n var divStyle = (0, _extends2.default)({\n position: \"relative\"\n }, style);\n if (!this.props.preserveStackingContext) divStyle.opacity = 0.99;\n var image = (0, _ImageUtils.getCurrentSrcData)({\n fluid: fluid,\n fixed: fixed,\n returnArray: true\n });\n var noScriptImageData = (0, _ImageUtils.getCurrentSrcData)({\n fluid: fluid,\n fixed: fixed\n });\n\n if (fluid || fixed) {\n if (fixed) {\n divStyle.width = style.width || image.width;\n divStyle.height = style.height || image.height;\n divStyle.display = \"inline-block\";\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n }\n } else {\n return null;\n }\n\n var newImageSettings = (0, _ImageHandling.switchImageSettings)({\n image: image,\n bgImage: this.bgImage,\n imageRef: this.imageRef,\n state: this.state\n });\n this.bgImage = newImageSettings.nextImageArray || newImageSettings.nextImage || this.bgImage;\n var pseudoStyles = (0, _StyleCreation.createPseudoStyles)((0, _extends2.default)({\n className: this.state.currentClassNames,\n transitionDelay: transitionDelay,\n bgColor: bgColor,\n backgroundStyles: this.backgroundStyles,\n style: style,\n fadeIn: shouldFadeIn\n }, newImageSettings, {\n originalData: fluid || fixed\n }));\n var noScriptPseudoStyles = (0, _StyleCreation.createNoScriptStyles)({\n image: image,\n bgColor: bgColor,\n className: this.state.currentClassNames,\n backgroundStyles: this.backgroundStyles,\n style: style\n });\n var componentKey = \"\" + (fluid && \"fluid\") + (fixed && \"fixed\") + \"-\" + JSON.stringify(noScriptImageData.srcSet);\n var currentStyles = (0, _extends2.default)({}, this.backgroundStyles, {}, divStyle);\n return _react.default.createElement(Tag, (0, _extends2.default)({\n className: this.state.currentClassNames,\n style: currentStyles,\n ref: this.handleRef,\n key: componentKey\n }, remainingProps), _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: pseudoStyles\n }\n }), this.state.hasNoScript && _react.default.createElement(\"noscript\", null, _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: noScriptPseudoStyles\n }\n })), children);\n };\n\n return BackgroundImage;\n}(_react.default.Component);\n\nBackgroundImage.defaultProps = {\n critical: false,\n fadeIn: true,\n durationFadeIn: 500,\n Tag: \"div\",\n preserveStackingContext: false,\n rootMargin: \"200px\"\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,\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\nBackgroundImage.propTypes = {\n fixed: _propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject), _propTypes.default.arrayOf(_propTypes.default.oneOfType([fixedObject, _propTypes.default.string]))]),\n fluid: _propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject), _propTypes.default.arrayOf(_propTypes.default.oneOfType([fluidObject, _propTypes.default.string]))]),\n fadeIn: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n durationFadeIn: _propTypes.default.number,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n critical: _propTypes.default.bool,\n crossOrigin: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),\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.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n preserveStackingContext: _propTypes.default.bool,\n rootMargin: _propTypes.default.string\n};\nvar _default = BackgroundImage;\nexports.default = _default;","require(\"core-js/modules/es6.typed.uint8-array\");\n\nrequire(\"core-js/modules/es6.function.bind\");\n\n// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.imageReferenceCompleted = exports.hasPictureRef = exports.hasActivatedPictureRefs = exports.activateMultiplePictureRefs = exports.activatePictureRef = exports.createMultiplePictureRefs = exports.createPictureRef = void 0;\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar _ImageCache = require(\"./ImageCache\");\n\nvar createPictureRef = function createPictureRef(props, onLoad, index, isLoop) {\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _SimpleUtils.isBrowser)() && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return createMultiplePictureRefs(props, onLoad);\n }\n\n var img = new Image();\n\n img.onload = function () {\n return onLoad();\n };\n\n if (!img.complete && typeof convertedProps.onLoad === \"function\") {\n img.addEventListener('load', convertedProps.onLoad);\n }\n\n if (typeof convertedProps.onError === \"function\") {\n img.addEventListener('error', convertedProps.onError);\n }\n\n if (convertedProps.crossOrigin) {\n img.crossOrigin = convertedProps.crossOrigin;\n }\n\n if ((convertedProps.critical || convertedProps.isVisible) && !isLoop) {\n return activatePictureRef(img, convertedProps, index, isLoop);\n }\n\n return img;\n }\n\n return null;\n};\n\nexports.createPictureRef = createPictureRef;\n\nvar createMultiplePictureRefs = function createMultiplePictureRefs(props, onLoad) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n var imageRefs = imageStack.map(function (imageData, index) {\n return createPictureRef(convertedProps, onLoad, index, true);\n });\n\n if (convertedProps.critical || convertedProps.isVisible) {\n return activatePictureRef(imageRefs, convertedProps);\n }\n\n return imageRefs;\n};\n\nexports.createMultiplePictureRefs = createMultiplePictureRefs;\n\nvar activatePictureRef = function activatePictureRef(imageRef, props, selfRef, index, isLoop) {\n if (selfRef === void 0) {\n selfRef = null;\n }\n\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _SimpleUtils.isBrowser)() && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return activateMultiplePictureRefs(imageRef, props, selfRef);\n }\n\n var bodyClone = document.createElement('body');\n var imageData = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getCurrentSrcData)(convertedProps);\n\n if (!imageData || (0, _SimpleUtils.isString)(imageData)) {\n return null;\n }\n\n if ((0, _ImageUtils.hasPictureElement)()) {\n var pic = document.createElement('picture');\n\n if (selfRef) {\n imageRef.width = selfRef.offsetWidth;\n imageRef.height = selfRef.offsetHeight;\n pic.width = imageRef.width;\n pic.height = imageRef.height;\n }\n\n if ((0, _MediaUtils.hasArtDirectionArray)(convertedProps)) {\n var sources = (0, _MediaUtils.createArtDirectionSources)(convertedProps).reverse();\n sources.forEach(function (currentSource) {\n return pic.appendChild(currentSource);\n });\n }\n\n if (imageData.srcSetWebp) {\n var sourcesWebP = document.createElement('source');\n sourcesWebP.type = \"image/webp\";\n sourcesWebP.srcset = imageData.srcSetWebp;\n sourcesWebP.sizes = imageData.sizes;\n pic.appendChild(sourcesWebP);\n }\n\n pic.appendChild(imageRef);\n bodyClone.appendChild(pic);\n } else if (selfRef) {\n imageRef.width = selfRef.offsetWidth;\n imageRef.height = selfRef.offsetHeight;\n }\n\n imageRef.sizes = imageData.sizes || \"\";\n imageRef.srcset = imageData.srcSet || \"\";\n imageRef.src = imageData.src || \"\";\n return imageRef;\n }\n\n return null;\n};\n\nexports.activatePictureRef = activatePictureRef;\n\nvar activateMultiplePictureRefs = function activateMultiplePictureRefs(imageRefs, props, selfRef) {\n return imageRefs.map(function (imageRef, index) {\n return activatePictureRef(imageRef, props, selfRef, index, true);\n });\n};\n\nexports.activateMultiplePictureRefs = activateMultiplePictureRefs;\n\nvar hasActivatedPictureRefs = function hasActivatedPictureRefs(imageRefs) {\n return Array.isArray(imageRefs) ? imageRefs.every(function (imageRef) {\n return hasPictureRef(imageRef);\n }) : hasPictureRef(imageRefs);\n};\n\nexports.hasActivatedPictureRefs = hasActivatedPictureRefs;\n\nvar hasPictureRef = function hasPictureRef(imageRef) {\n return (0, _SimpleUtils.isString)(imageRef) || !!imageRef && !!imageRef.currentSrc;\n};\n\nexports.hasPictureRef = hasPictureRef;\n\nvar imageReferenceCompleted = function imageReferenceCompleted(imageRef, props) {\n return imageRef ? Array.isArray(imageRef) ? imageRef.every(function (singleImageRef) {\n return (0, _ImageUtils.imageLoaded)(singleImageRef);\n }) || (0, _ImageCache.inImageCache)(props) : (0, _ImageUtils.imageLoaded)(imageRef) || (0, _ImageCache.inImageCache)(props) : (0, _SimpleUtils.isString)(imageRef);\n};\n\nexports.imageReferenceCompleted = imageReferenceCompleted;","\"use strict\";\n\nexports.__esModule = true;\nexports.imageLoaded = exports.createDummyImageArray = exports.imageArrayPropsChanged = exports.imagePropsChanged = exports.hasImageUrl = exports.isBase64 = exports.getUrlString = exports.getSelectedImage = exports.getCurrentSrcData = exports.getImageSrcKey = exports.getCurrentFromData = exports.hasImageArray = exports.hasPictureElement = void 0;\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar hasPictureElement = function hasPictureElement() {\n return typeof HTMLPictureElement !== \"undefined\" || typeof window === \"undefined\";\n};\n\nexports.hasPictureElement = hasPictureElement;\n\nvar hasImageArray = function hasImageArray(props) {\n return Boolean(props.fluid && Array.isArray(props.fluid) || props.fixed && Array.isArray(props.fixed));\n};\n\nexports.hasImageArray = hasImageArray;\n\nvar getCurrentFromData = function getCurrentFromData(_ref) {\n var data = _ref.data,\n propName = _ref.propName,\n _ref$addUrl = _ref.addUrl,\n addUrl = _ref$addUrl === void 0 ? true : _ref$addUrl,\n _ref$returnArray = _ref.returnArray,\n returnArray = _ref$returnArray === void 0 ? false : _ref$returnArray,\n _ref$checkLoaded = _ref.checkLoaded,\n checkLoaded = _ref$checkLoaded === void 0 ? true : _ref$checkLoaded;\n if (!data || !propName) return \"\";\n var tracedSVG = propName === \"tracedSVG\";\n\n if (Array.isArray(data) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: data\n })) {\n var imageString = data.map(function (dataElement) {\n if (propName === \"currentSrc\" || propName === 'src') {\n return checkLoaded ? imageLoaded(dataElement) && dataElement[propName] || \"\" : dataElement[propName];\n }\n\n if (propName === \"CSS_STRING\" && (0, _SimpleUtils.isString)(dataElement)) {\n return dataElement;\n }\n\n return (0, _SimpleUtils.isString)(dataElement) ? dataElement : dataElement && propName in dataElement ? dataElement[propName] : \"\";\n });\n return getUrlString({\n imageString: imageString,\n tracedSVG: tracedSVG,\n addUrl: addUrl,\n returnArray: returnArray\n });\n }\n\n if ((0, _MediaUtils.hasArtDirectionArray)({\n fluid: data\n }) && (propName === \"currentSrc\" || propName === \"src\" || propName === \"base64\" || tracedSVG)) {\n var currentData = getCurrentSrcData({\n fluid: data\n });\n return propName in currentData ? getUrlString({\n imageString: currentData[propName],\n tracedSVG: tracedSVG,\n addUrl: addUrl\n }) : \"\";\n }\n\n if ((propName === \"currentSrc\" || propName === 'src') && propName in data) {\n return getUrlString({\n imageString: checkLoaded ? imageLoaded(data) && data[propName] || \"\" : data[propName],\n addUrl: addUrl\n });\n }\n\n return propName in data ? getUrlString({\n imageString: data[propName],\n tracedSVG: tracedSVG,\n addUrl: addUrl\n }) : \"\";\n};\n\nexports.getCurrentFromData = getCurrentFromData;\n\nvar getImageSrcKey = function getImageSrcKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var data = getCurrentSrcData({\n fluid: fluid,\n fixed: fixed\n });\n return data ? data.src || null : null;\n};\n\nexports.getImageSrcKey = getImageSrcKey;\n\nvar getCurrentSrcData = function getCurrentSrcData(_ref3, index) {\n var fluid = _ref3.fluid,\n fixed = _ref3.fixed,\n returnArray = _ref3.returnArray;\n\n if (index === void 0) {\n index = 0;\n }\n\n var currentData = fluid || fixed;\n\n if (hasImageArray({\n fluid: fluid,\n fixed: fixed\n })) {\n if (returnArray) {\n return currentData;\n }\n\n if ((0, _SimpleUtils.isBrowser)() && (0, _MediaUtils.hasArtDirectionArray)({\n fluid: fluid,\n fixed: fixed\n })) {\n var mediaData = currentData.slice().reverse();\n var foundMedia = mediaData.findIndex(_MediaUtils.matchesMedia);\n\n if (foundMedia !== -1) {\n return mediaData[foundMedia];\n }\n }\n\n return currentData[index];\n }\n\n return currentData;\n};\n\nexports.getCurrentSrcData = getCurrentSrcData;\n\nvar getSelectedImage = function getSelectedImage(_ref4, index) {\n var fluid = _ref4.fluid,\n fixed = _ref4.fixed;\n\n if (index === void 0) {\n index = 0;\n }\n\n var currentData = fluid || fixed;\n\n if (hasImageArray({\n fluid: fluid,\n fixed: fixed\n })) {\n return currentData[index] || currentData[0];\n }\n\n return currentData;\n};\n\nexports.getSelectedImage = getSelectedImage;\n\nvar getUrlString = function getUrlString(_ref5) {\n var imageString = _ref5.imageString,\n _ref5$tracedSVG = _ref5.tracedSVG,\n tracedSVG = _ref5$tracedSVG === void 0 ? false : _ref5$tracedSVG,\n _ref5$addUrl = _ref5.addUrl,\n addUrl = _ref5$addUrl === void 0 ? true : _ref5$addUrl,\n _ref5$returnArray = _ref5.returnArray,\n returnArray = _ref5$returnArray === void 0 ? false : _ref5$returnArray,\n _ref5$hasImageUrls = _ref5.hasImageUrls,\n hasImageUrls = _ref5$hasImageUrls === void 0 ? false : _ref5$hasImageUrls;\n\n if (Array.isArray(imageString)) {\n var stringArray = imageString.map(function (currentString) {\n if (currentString) {\n var _base = isBase64(currentString);\n\n var _imageUrl = hasImageUrls || hasImageUrl(imageString);\n\n var currentReturnString = currentString && tracedSVG ? \"\\\"\" + currentString + \"\\\"\" : currentString && !_base && !tracedSVG && _imageUrl ? \"'\" + currentString + \"'\" : currentString;\n return addUrl && currentString ? \"url(\" + currentReturnString + \")\" : currentReturnString;\n }\n\n return currentString;\n });\n return returnArray ? stringArray : (0, _SimpleUtils.filteredJoin)(stringArray);\n }\n\n var base64 = isBase64(imageString);\n var imageUrl = hasImageUrls || hasImageUrl(imageString);\n var returnString = imageString && tracedSVG ? \"\\\"\" + imageString + \"\\\"\" : imageString && !base64 && !tracedSVG && imageUrl ? \"'\" + imageString + \"'\" : imageString;\n return imageString ? addUrl ? \"url(\" + returnString + \")\" : returnString : \"\";\n};\n\nexports.getUrlString = getUrlString;\n\nvar isBase64 = function isBase64(base64String) {\n return (0, _SimpleUtils.isString)(base64String) && base64String.indexOf(\"base64\") !== -1;\n};\n\nexports.isBase64 = isBase64;\n\nvar hasImageUrl = function hasImageUrl(imageString) {\n return (0, _SimpleUtils.isString)(imageString) && imageString.substr(0, 4) === \"http\";\n};\n\nexports.hasImageUrl = hasImageUrl;\n\nvar imagePropsChanged = function imagePropsChanged(props, prevProps) {\n return props.fluid && !prevProps.fluid || props.fixed && !prevProps.fixed || imageArrayPropsChanged(props, prevProps) || props.fluid && prevProps.fluid && props.fluid.src !== prevProps.fluid.src || props.fixed && prevProps.fixed && props.fixed.src !== prevProps.fixed.src;\n};\n\nexports.imagePropsChanged = imagePropsChanged;\n\nvar imageArrayPropsChanged = function imageArrayPropsChanged(props, prevProps) {\n var isPropsFluidArray = Array.isArray(props.fluid);\n var isPrevPropsFluidArray = Array.isArray(prevProps.fluid);\n var isPropsFixedArray = Array.isArray(props.fixed);\n var isPrevPropsFixedArray = Array.isArray(prevProps.fixed);\n\n if (isPropsFluidArray && !isPrevPropsFluidArray || isPropsFixedArray && !isPrevPropsFixedArray || !isPropsFluidArray && isPrevPropsFluidArray || !isPropsFixedArray && isPrevPropsFixedArray) {\n return true;\n }\n\n if (isPropsFluidArray && isPrevPropsFluidArray) {\n if (props.fluid.length === prevProps.fluid.length) {\n return props.fluid.some(function (image, index) {\n return image.src !== prevProps.fluid[index].src;\n });\n }\n\n return true;\n }\n\n if (isPropsFixedArray && isPrevPropsFixedArray) {\n if (props.fixed.length === prevProps.fixed.length) {\n return props.fixed.some(function (image, index) {\n return image.src !== prevProps.fixed[index].src;\n });\n }\n\n return true;\n }\n};\n\nexports.imageArrayPropsChanged = imageArrayPropsChanged;\n\nvar createDummyImageArray = function createDummyImageArray(length) {\n var DUMMY_IMG = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n var dummyImageURI = getUrlString({\n imageString: DUMMY_IMG\n });\n return Array(length).fill(dummyImageURI);\n};\n\nexports.createDummyImageArray = createDummyImageArray;\n\nvar imageLoaded = function imageLoaded(imageRef) {\n return imageRef ? imageRef.complete && imageRef.naturalWidth !== 0 && imageRef.naturalHeight !== 0 : false;\n};\n\nexports.imageLoaded = imageLoaded;","require(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex; // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n\n return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join('');\n}\n\nmodule.exports = bytesToUuid;","var Converter = require('./src/converter');\n/**\n * Function get source and destination alphabet and return convert function\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n *\n * @returns {function(number|Array)}\n */\n\n\nfunction anyBase(srcAlphabet, dstAlphabet) {\n var converter = new Converter(srcAlphabet, dstAlphabet);\n /**\n * Convert function\n *\n * @param {string|Array} number\n *\n * @return {string|Array} number\n */\n\n return function (number) {\n return converter.convert(number);\n };\n}\n\n;\nanyBase.BIN = '01';\nanyBase.OCT = '01234567';\nanyBase.DEC = '0123456789';\nanyBase.HEX = '0123456789abcdef';\nmodule.exports = anyBase;","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","/*!\n * html-attributes\n * https://github.com/alexmingoia/html-attributes\n */\n'use strict';\n/**\n * @module html-attributes\n */\n\nmodule.exports = {\n \"abbr\": \"abbr\",\n \"accept\": \"accept\",\n \"acceptCharset\": \"accept-charset\",\n \"accessKey\": \"accesskey\",\n \"action\": \"action\",\n \"allowFullScreen\": \"allowfullscreen\",\n \"allowTransparency\": \"allowtransparency\",\n \"alt\": \"alt\",\n \"async\": \"async\",\n \"autoComplete\": \"autocomplete\",\n \"autoFocus\": \"autofocus\",\n \"autoPlay\": \"autoplay\",\n \"cellPadding\": \"cellpadding\",\n \"cellSpacing\": \"cellspacing\",\n \"challenge\": \"challenge\",\n \"charset\": \"charset\",\n \"checked\": \"checked\",\n \"cite\": \"cite\",\n \"class\": \"class\",\n \"className\": \"class\",\n \"cols\": \"cols\",\n \"colSpan\": \"colspan\",\n \"command\": \"command\",\n \"content\": \"content\",\n \"contentEditable\": \"contenteditable\",\n \"contextMenu\": \"contextmenu\",\n \"controls\": \"controls\",\n \"coords\": \"coords\",\n \"crossOrigin\": \"crossorigin\",\n \"data\": \"data\",\n \"dateTime\": \"datetime\",\n \"default\": \"default\",\n \"defer\": \"defer\",\n \"dir\": \"dir\",\n \"disabled\": \"disabled\",\n \"download\": \"download\",\n \"draggable\": \"draggable\",\n \"dropzone\": \"dropzone\",\n \"encType\": \"enctype\",\n \"for\": \"for\",\n \"form\": \"form\",\n \"formAction\": \"formaction\",\n \"formEncType\": \"formenctype\",\n \"formMethod\": \"formmethod\",\n \"formNoValidate\": \"formnovalidate\",\n \"formTarget\": \"formtarget\",\n \"frameBorder\": \"frameBorder\",\n \"headers\": \"headers\",\n \"height\": \"height\",\n \"hidden\": \"hidden\",\n \"high\": \"high\",\n \"href\": \"href\",\n \"hrefLang\": \"hreflang\",\n \"htmlFor\": \"for\",\n \"httpEquiv\": \"http-equiv\",\n \"icon\": \"icon\",\n \"id\": \"id\",\n \"inputMode\": \"inputmode\",\n \"isMap\": \"ismap\",\n \"itemId\": \"itemid\",\n \"itemProp\": \"itemprop\",\n \"itemRef\": \"itemref\",\n \"itemScope\": \"itemscope\",\n \"itemType\": \"itemtype\",\n \"kind\": \"kind\",\n \"label\": \"label\",\n \"lang\": \"lang\",\n \"list\": \"list\",\n \"loop\": \"loop\",\n \"manifest\": \"manifest\",\n \"max\": \"max\",\n \"maxLength\": \"maxlength\",\n \"media\": \"media\",\n \"mediaGroup\": \"mediagroup\",\n \"method\": \"method\",\n \"min\": \"min\",\n \"minLength\": \"minlength\",\n \"multiple\": \"multiple\",\n \"muted\": \"muted\",\n \"name\": \"name\",\n \"noValidate\": \"novalidate\",\n \"open\": \"open\",\n \"optimum\": \"optimum\",\n \"pattern\": \"pattern\",\n \"ping\": \"ping\",\n \"placeholder\": \"placeholder\",\n \"poster\": \"poster\",\n \"preload\": \"preload\",\n \"radioGroup\": \"radiogroup\",\n \"readOnly\": \"readonly\",\n \"rel\": \"rel\",\n \"required\": \"required\",\n \"role\": \"role\",\n \"rows\": \"rows\",\n \"rowSpan\": \"rowspan\",\n \"sandbox\": \"sandbox\",\n \"scope\": \"scope\",\n \"scoped\": \"scoped\",\n \"scrolling\": \"scrolling\",\n \"seamless\": \"seamless\",\n \"selected\": \"selected\",\n \"shape\": \"shape\",\n \"size\": \"size\",\n \"sizes\": \"sizes\",\n \"sortable\": \"sortable\",\n \"span\": \"span\",\n \"spellCheck\": \"spellcheck\",\n \"src\": \"src\",\n \"srcDoc\": \"srcdoc\",\n \"srcSet\": \"srcset\",\n \"start\": \"start\",\n \"step\": \"step\",\n \"style\": \"style\",\n \"tabIndex\": \"tabindex\",\n \"target\": \"target\",\n \"title\": \"title\",\n \"translate\": \"translate\",\n \"type\": \"type\",\n \"typeMustMatch\": \"typemustmatch\",\n \"useMap\": \"usemap\",\n \"value\": \"value\",\n \"width\": \"width\",\n \"wmode\": \"wmode\",\n \"wrap\": \"wrap\"\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.matchesMedia = exports.hasArtDirectionArray = exports.hasArtDirectionSupport = exports.createArtDirectionSources = exports.groupByMedia = void 0;\n\nvar _sortMediaQueries = _interopRequireDefault(require(\"sort-media-queries\"));\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar groupByMedia = function groupByMedia(imageVariants) {\n var without = [];\n var sortedVariants = (0, _sortMediaQueries.default)(imageVariants, 'media');\n sortedVariants.forEach(function (variant) {\n return !variant.media && 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 sortedVariants;\n};\n\nexports.groupByMedia = groupByMedia;\n\nvar createArtDirectionSources = function createArtDirectionSources(_ref) {\n var fluid = _ref.fluid,\n fixed = _ref.fixed;\n var currentSource = fluid || fixed;\n return currentSource.reduce(function (sources, image) {\n if (!image.media) {\n return sources;\n }\n\n var source = document.createElement('source');\n\n if (image.srcSetWebp) {\n source.type = \"image/webp\";\n source.srcset = image.srcSetWebp;\n }\n\n if (image.sizes) {\n source.sizes = image.sizes;\n }\n\n source.media = image.media;\n sources.push(source);\n return sources;\n }, []);\n};\n\nexports.createArtDirectionSources = createArtDirectionSources;\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(props, prop) {\n return props[prop] && Array.isArray(props[prop]) && props[prop].some(function (image) {\n return !!image && typeof image.media !== 'undefined';\n });\n};\n\nexports.hasArtDirectionSupport = hasArtDirectionSupport;\n\nvar hasArtDirectionArray = function hasArtDirectionArray(props) {\n return hasArtDirectionSupport(props, 'fluid') || hasArtDirectionSupport(props, 'fixed');\n};\n\nexports.hasArtDirectionArray = hasArtDirectionArray;\n\nvar matchesMedia = function matchesMedia(_ref2) {\n var media = _ref2.media;\n return media ? (0, _SimpleUtils.isBrowser)() && typeof window.matchMedia !== \"undefined\" && !!window.matchMedia(media).matches : false;\n};\n\nexports.matchesMedia = matchesMedia;","import React from \"react\";\r\nimport { Link, graphql } from \"gatsby\";\r\nimport Layout from \"../components/layout\";\r\nimport SEO from \"../components/seo\";\r\n//import { defineCustomElements as deckDeckGoHighlightElement } from \"@deckdeckgo/highlight-code/dist/loader\";\r\nimport Img from \"gatsby-image\";\r\nimport BackgroundImage from \"gatsby-background-image\";\r\n\r\nexport default function BlogpostTemplate({ data }) {\r\n //deckDeckGoHighlightElement();\r\n const post = data.markdownRemark;\r\n let featuredImgFluid = post.frontmatter.featuredImage.childImageSharp.fluid;\r\n return (\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n
\r\n \r\n {post.frontmatter.title}\r\n \r\n

\r\n \r\n {post.frontmatter.date}{\" \"}\r\n {post.frontmatter.author}\r\n \r\n
\r\n \r\n u kategoriji{\" \"}\r\n {post.frontmatter.category}\r\n \r\n

\r\n

\r\n
\r\n {/*
\r\n \r\n Nazad\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 const postQuery = graphql`\r\n query BlogPostByPath($path: String!) {\r\n markdownRemark(frontmatter: { path: { eq: $path } }) {\r\n html\r\n frontmatter {\r\n path\r\n title\r\n author\r\n date\r\n category\r\n featuredImage {\r\n childImageSharp {\r\n fluid(maxWidth: 10) {\r\n ...GatsbyImageSharpFluid\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.presetBackgroundStyles = exports.fixOpacity = exports.setTransitionStyles = exports.kebabifyBackgroundStyles = exports.escapeClassNames = exports.fixClassName = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _shortUuid = _interopRequireDefault(require(\"short-uuid\"));\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ClassCache = require(\"./ClassCache\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar fixClassName = function fixClassName(_ref) {\n var className = _ref.className,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, [\"className\"]);\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var elementExists = (0, _ClassCache.inComponentClassCache)(className);\n var imageData = (0, _ImageUtils.getCurrentSrcData)(convertedProps);\n\n var additionalClassname = _shortUuid.default.generate();\n\n var randomClass = \" gbi-\" + (0, _SimpleUtils.hashString)(imageData && imageData.srcSet || className || \"noclass\") + \"-\" + additionalClassname;\n var additionalClass = elementExists || !className ? randomClass : \"\";\n var componentClassNames = (\"\" + (className || \"\") + (additionalClass || \"\")).trim();\n if (!elementExists) (0, _ClassCache.activateCacheForComponentClass)(className);\n return [componentClassNames];\n};\n\nexports.fixClassName = fixClassName;\n\nvar escapeClassNames = function escapeClassNames(classNames) {\n if (classNames) {\n var specialChars = (0, _SimpleUtils.isBrowser)() && window._gbiSpecialChars ? window._gbiSpecialChars : typeof __GBI_SPECIAL_CHARS__ !== \"undefined\" ? __GBI_SPECIAL_CHARS__ : ':/';\n var specialCharRegEx = new RegExp(\"[\" + specialChars + \"]\", 'g');\n return classNames.replace(specialCharRegEx, '\\\\$&');\n }\n\n return classNames;\n};\n\nexports.escapeClassNames = escapeClassNames;\n\nvar kebabifyBackgroundStyles = function kebabifyBackgroundStyles(styles) {\n if ((0, _SimpleUtils.isString)(styles)) {\n return styles;\n }\n\n if (styles instanceof Object) {\n return Object.keys(styles).filter(function (key) {\n return key.indexOf('background') === 0 && styles[key] !== '';\n }).reduce(function (resultingStyles, key) {\n return \"\" + resultingStyles + (0, _SimpleUtils.toKebabCase)(key) + \": \" + styles[key] + \";\\n\";\n }, \"\");\n }\n\n return \"\";\n};\n\nexports.kebabifyBackgroundStyles = kebabifyBackgroundStyles;\n\nvar setTransitionStyles = function setTransitionStyles(transitionDelay, fadeIn) {\n if (transitionDelay === void 0) {\n transitionDelay = \"0.25s\";\n }\n\n if (fadeIn === void 0) {\n fadeIn = true;\n }\n\n return fadeIn ? \"transition: opacity 0.5s ease \" + transitionDelay + \";\" : \"transition: none;\";\n};\n\nexports.setTransitionStyles = setTransitionStyles;\n\nvar fixOpacity = function fixOpacity(props) {\n var styledProps = (0, _extends2.default)({}, props);\n\n if (!styledProps.preserveStackingContext) {\n try {\n if (styledProps.style && styledProps.style.opacity) {\n if (isNaN(styledProps.style.opacity) || styledProps.style.opacity > 0.99) {\n styledProps.style.opacity = 0.99;\n }\n }\n } catch (e) {}\n }\n\n return styledProps;\n};\n\nexports.fixOpacity = fixOpacity;\n\nvar presetBackgroundStyles = function presetBackgroundStyles(backgroundStyles) {\n var defaultBackgroundStyles = {\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\"\n };\n return (0, _extends2.default)({}, defaultBackgroundStyles, {}, backgroundStyles);\n};\n\nexports.presetBackgroundStyles = presetBackgroundStyles;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createNoScriptStyles = exports.createStyleImage = exports.createPseudoStyles = exports.createPseudoElementMediaQuery = exports.createPseudoElementWithContent = exports.createPseudoElement = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _StyleUtils = require(\"./StyleUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar createPseudoElement = function createPseudoElement(className, appendix) {\n if (appendix === void 0) {\n appendix = \":before\";\n }\n\n var escapedClassName = (0, _StyleUtils.escapeClassNames)(className);\n var classes = (0, _SimpleUtils.stringToArray)(escapedClassName);\n var pseudoClasses = \"\";\n\n if (Array.isArray(classes)) {\n classes = classes.filter(function (c) {\n return c !== '';\n });\n\n if (classes.length > 0) {\n pseudoClasses = \".\" + classes.join('.') + appendix;\n }\n }\n\n return pseudoClasses;\n};\n\nexports.createPseudoElement = createPseudoElement;\n\nvar createPseudoElementWithContent = function createPseudoElementWithContent(pseudoElementString, imageSource) {\n return \"\\n \" + pseudoElementString + \" {\\n opacity: 1;\\n background-image: \" + imageSource + \";\\n }\";\n};\n\nexports.createPseudoElementWithContent = createPseudoElementWithContent;\n\nvar createPseudoElementMediaQuery = function createPseudoElementMediaQuery(pseudoElementString, media, imageSource, imageSourceWebP) {\n return \"\\n @media \" + media + \" {\\n \" + createPseudoElementWithContent(pseudoElementString, imageSource) + \"\\n }\\n \" + (imageSourceWebP && \"@media \" + media + \" {\\n \" + createPseudoElementWithContent(pseudoElementString, imageSourceWebP) + \"\\n }\") + \"\\n \";\n};\n\nexports.createPseudoElementMediaQuery = createPseudoElementMediaQuery;\n\nvar createPseudoStyles = function createPseudoStyles(_ref) {\n var className = _ref.className,\n transitionDelay = _ref.transitionDelay,\n lastImage = _ref.lastImage,\n nextImage = _ref.nextImage,\n afterOpacity = _ref.afterOpacity,\n bgColor = _ref.bgColor,\n fadeIn = _ref.fadeIn,\n backgroundStyles = _ref.backgroundStyles,\n style = _ref.style,\n finalImage = _ref.finalImage,\n originalData = _ref.originalData;\n var pseudoBefore = createPseudoElement(className);\n var pseudoAfter = createPseudoElement(className, \":after\");\n return \"\\n \" + pseudoBefore + \",\\n \" + pseudoAfter + \" {\\n content: '';\\n display: block;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n \" + (bgColor && \"background-color: \" + bgColor + \";\") + \"\\n \" + (0, _StyleUtils.setTransitionStyles)(transitionDelay, fadeIn) + \"\\n \" + (0, _StyleUtils.kebabifyBackgroundStyles)((0, _extends2.default)({}, backgroundStyles, {}, style)) + \"\\n }\\n \" + pseudoBefore + \" {\\n z-index: -100;\\n \" + (afterOpacity && createStyleImage(nextImage, originalData) || \"\") + \"\\n \" + (!afterOpacity && createStyleImage(lastImage, originalData) || \"\") + \"\\n opacity: \" + afterOpacity + \"; \\n }\\n \" + pseudoAfter + \" {\\n z-index: -101;\\n \" + (!afterOpacity && createStyleImage(nextImage, originalData) || \"\") + \"\\n \" + (afterOpacity && createStyleImage(lastImage, originalData) || \"\") + \"\\n \" + (finalImage ? \"opacity: \" + Number(!afterOpacity) + \";\" : \"\") + \"\\n }\\n \";\n};\n\nexports.createPseudoStyles = createPseudoStyles;\n\nvar createStyleImage = function createStyleImage(image, originalData) {\n var hasStackedImages = (0, _ImageUtils.hasImageArray)({\n fluid: originalData\n }) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: originalData\n });\n\n if ((0, _SimpleUtils.isBrowser)() || hasStackedImages) {\n return image ? \"background-image: \" + image + \";\" : \"\";\n }\n\n return \"\";\n};\n\nexports.createStyleImage = createStyleImage;\n\nvar createNoScriptStyles = function createNoScriptStyles(_ref2) {\n var className = _ref2.className,\n image = _ref2.image;\n\n if (image) {\n var returnArray = Array.isArray(image) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n });\n var addUrl = false;\n var allSources = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"src\",\n checkLoaded: false,\n addUrl: addUrl,\n returnArray: returnArray\n });\n var sourcesAsUrl = (0, _ImageUtils.getUrlString)({\n imageString: allSources,\n hasImageUrls: true,\n returnArray: returnArray\n });\n var sourcesAsUrlWithCSS = \"\";\n\n if (returnArray) {\n var cssStrings = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n });\n sourcesAsUrlWithCSS = (0, _SimpleUtils.filteredJoin)((0, _SimpleUtils.combineArray)(sourcesAsUrl, cssStrings));\n }\n\n var pseudoBefore = createPseudoElement(className);\n\n if ((0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n })) {\n return image.map(function (currentMedia) {\n var sourceString = (0, _ImageUtils.getUrlString)({\n imageString: currentMedia.src\n });\n var webPString = (0, _ImageUtils.getUrlString)({\n imageString: currentMedia.srcWebp || \"\"\n });\n\n if (currentMedia.media) {\n return createPseudoElementMediaQuery(pseudoBefore, currentMedia.media, sourceString, webPString);\n }\n\n return createPseudoElementMediaQuery(pseudoBefore, 'screen', sourceString, webPString);\n }).join('');\n }\n\n return createPseudoElementWithContent(pseudoBefore, sourcesAsUrlWithCSS || sourcesAsUrl);\n }\n\n return \"\";\n};\n\nexports.createNoScriptStyles = createNoScriptStyles;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = filterInvalidDOMProps;\n\nvar _htmlAttributes = require(\"html-attributes\");\n\nvar _htmlAttributes2 = _interopRequireDefault(_htmlAttributes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar eventProps = {\n onCopy: true,\n onCut: true,\n onPaste: true,\n onLoad: true,\n onError: true,\n onWheel: true,\n onScroll: true,\n onCompositionEnd: true,\n onCompositionStart: true,\n onCompositionUpdate: true,\n onKeyDown: true,\n onKeyPress: true,\n onKeyUp: true,\n onFocus: true,\n onBlur: true,\n onChange: true,\n onInput: true,\n onSubmit: true,\n onClick: true,\n onContextMenu: true,\n onDoubleClick: true,\n onDrag: true,\n onDragEnd: true,\n onDragEnter: true,\n onDragExit: true,\n onDragLeave: true,\n onDragOver: true,\n onDragStart: true,\n onDrop: true,\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOut: true,\n onMouseOver: true,\n onMouseUp: true,\n onSelect: true,\n onTouchCancel: true,\n onTouchEnd: true,\n onTouchMove: true,\n onTouchStart: true,\n onAnimationStart: true,\n onAnimationEnd: true,\n onAnimationIteration: true,\n onTransitionEnd: true\n};\n\nfunction isValidDOMProp(prop) {\n return eventProps[prop] || _htmlAttributes2[\"default\"][prop] || /^(data|aria)-/.test(prop);\n}\n\nfunction filterInvalidDOMProps(props) {\n var domProps = {};\n\n for (var prop in props) {\n if (props.hasOwnProperty(prop) && isValidDOMProp(prop)) {\n domProps[prop] = props[prop];\n }\n }\n\n return domProps;\n}","module.exports = extend;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {};\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n}","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n","'use strict';\n/**\n * Converter\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n * @constructor\n */\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nfunction Converter(srcAlphabet, dstAlphabet) {\n if (!srcAlphabet || !dstAlphabet || !srcAlphabet.length || !dstAlphabet.length) {\n throw new Error('Bad alphabet');\n }\n\n this.srcAlphabet = srcAlphabet;\n this.dstAlphabet = dstAlphabet;\n}\n/**\n * Convert number from source alphabet to destination alphabet\n *\n * @param {string|Array} number - number represented as a string or array of points\n *\n * @returns {string|Array}\n */\n\n\nConverter.prototype.convert = function (number) {\n var i,\n divide,\n newlen,\n numberMap = {},\n fromBase = this.srcAlphabet.length,\n toBase = this.dstAlphabet.length,\n length = number.length,\n result = typeof number === 'string' ? '' : [];\n\n if (!this.isValid(number)) {\n throw new Error('Number \"' + number + '\" contains of non-alphabetic digits (' + this.srcAlphabet + ')');\n }\n\n if (this.srcAlphabet === this.dstAlphabet) {\n return number;\n }\n\n for (i = 0; i < length; i++) {\n numberMap[i] = this.srcAlphabet.indexOf(number[i]);\n }\n\n do {\n divide = 0;\n newlen = 0;\n\n for (i = 0; i < length; i++) {\n divide = divide * fromBase + numberMap[i];\n\n if (divide >= toBase) {\n numberMap[newlen++] = parseInt(divide / toBase, 10);\n divide = divide % toBase;\n } else if (newlen > 0) {\n numberMap[newlen++] = 0;\n }\n }\n\n length = newlen;\n result = this.dstAlphabet.slice(divide, divide + 1).concat(result);\n } while (newlen !== 0);\n\n return result;\n};\n/**\n * Valid number with source alphabet\n *\n * @param {number} number\n *\n * @returns {boolean}\n */\n\n\nConverter.prototype.isValid = function (number) {\n var i = 0;\n\n for (; i < number.length; ++i) {\n if (this.srcAlphabet.indexOf(number[i]) === -1) {\n return false;\n }\n }\n\n return true;\n};\n\nmodule.exports = Converter;","\"use strict\";\n\nexports.__esModule = true;\nexports.resetComponentClassCache = exports.activateCacheForComponentClass = exports.inComponentClassCache = void 0;\nvar componentClassCache = Object.create({});\n\nvar inComponentClassCache = function inComponentClassCache(className) {\n return componentClassCache[className] || false;\n};\n\nexports.inComponentClassCache = inComponentClassCache;\n\nvar activateCacheForComponentClass = function activateCacheForComponentClass(className) {\n if (className) {\n componentClassCache[className] = true;\n }\n};\n\nexports.activateCacheForComponentClass = activateCacheForComponentClass;\n\nvar resetComponentClassCache = function resetComponentClassCache() {\n for (var className in componentClassCache) {\n delete componentClassCache[className];\n }\n};\n\nexports.resetComponentClassCache = resetComponentClassCache;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","require(\"core-js/modules/es6.array.sort\");\n\nrequire(\"core-js/modules/es6.regexp.match\");\n\nvar extend = require('xtend');\n\nvar mqTypes = ['blank', 'all', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'print'];\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Boolean}\n */\n\nfunction itemsValid(rules, type, prop) {\n var flag = true;\n\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n if (typeof rules[i] !== type || prop && !rules[i].hasOwnProperty(prop)) {\n flag = false;\n break;\n }\n }\n\n return flag;\n}\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Boolean}\n */\n\n\nfunction allValid(rules, type, prop) {\n if (!rules || !rules.length || typeof rules === 'string') {\n return 'none';\n }\n\n if (type === 'object' && (!prop || typeof prop !== 'string') || !itemsValid(rules, type, prop)) {\n return 'some';\n }\n\n return 'all';\n}\n/**\n * Normalize between array with strings and array with objects\n *\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Object}\n */\n\n\nfunction prepareRules(rules, type, prop) {\n var collection = [];\n var o = {};\n\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n if (type === 'string') {\n o = extend({}, {\n __media: rules[i]\n });\n } else {\n o = extend({}, rules[i]);\n o.__media = rules[i][prop];\n }\n\n collection.push(o);\n }\n\n return collection;\n}\n/**\n * @param {Boolean} isMax\n *\n * @return {Function}\n */\n\n\nfunction determineSortOrder(isMax) {\n /**\n * Determine sort order based on provided arguments\n *\n * @param {Object} a\n * @param {Object} b\n *\n * @return {Integer}\n */\n return function (a, b) {\n var sortValA = a.sortVal;\n var sortValB = b.sortVal;\n var ruleA = a.item.__media;\n var ruleB = b.item.__media;\n isMax = typeof isMax !== 'undefined' ? isMax : false; // Consider print for sorting if sortVals are equal\n\n if (sortValA === sortValB) {\n if (ruleA.match(/print/)) {\n // a contains print and should be sorted after b\n return 1;\n }\n\n if (ruleB.match(/print/)) {\n // b contains print and should be sorted after a\n return -1;\n }\n } // Return descending sort order for max-(width|height) media queries\n\n\n if (isMax) {\n return sortValB - sortValA;\n } // Return ascending sort order\n\n\n return sortValA - sortValB;\n };\n}\n/**\n * @return {Object}\n */\n\n\nfunction createCollection() {\n var mqCollection = {};\n\n for (var i = 0, mqTypesLength = mqTypes.length; i < mqTypesLength; i++) {\n mqCollection[mqTypes[i]] = [];\n }\n\n return mqCollection;\n}\n/**\n * @param {Object} collection\n * @param {Array} rules\n *\n * @return {Object}\n */\n\n\nfunction addRulesToCollection(collection, rules) {\n // Sort media queries by kind, this is needed to output them in the right order\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n var item = rules[i];\n var rule = item.__media;\n var collectionType = 'blank';\n var valMatch = rule.match(/\\d+/g);\n\n if (rule.match(/min-width/)) {\n collectionType = 'minWidth';\n } else if (rule.match(/min-height/)) {\n collectionType = 'minHeight';\n } else if (rule.match(/max-width/)) {\n collectionType = 'maxWidth';\n } else if (rule.match(/max-height/)) {\n collectionType = 'maxHeight';\n } else if (rule.match(/print/)) {\n collectionType = 'print';\n } else if (rule.match(/all/)) {\n collectionType = 'all';\n }\n\n collection[collectionType].push({\n item: item,\n sortVal: valMatch ? valMatch[0] : 0\n });\n }\n\n return collection;\n}\n/**\n * @param {Object} collection\n *\n * @return {Object}\n */\n\n\nfunction sortCollection(collection) {\n var sorter;\n\n for (var collectionType in collection) {\n if (collection.hasOwnProperty(collectionType)) {\n sorter = determineSortOrder(false);\n\n if (collectionType === 'maxWidth' || collectionType === 'maxHeight') {\n sorter = determineSortOrder(true);\n }\n\n collection[collectionType].sort(sorter);\n }\n }\n\n return collection;\n}\n/**\n * @param {Object} collection\n * @param {String} type\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nfunction transformCollection(collection, type, prop) {\n var transformed = [];\n var collectionItem;\n\n function iterateCollectionItem(collectionItem) {\n var resultVal;\n\n for (var i = 0, typeLength = collectionItem.length; i < typeLength; i++) {\n if (type === 'string') {\n resultVal = collectionItem[i].item.__media;\n } else {\n resultVal = collectionItem[i].item;\n delete resultVal.__media;\n }\n\n transformed.push(resultVal);\n }\n }\n\n for (var i = 0, mqTypesLength = mqTypes.length; i < mqTypesLength; i++) {\n iterateCollectionItem(collection[mqTypes[i]]);\n }\n\n return transformed;\n}\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nfunction sortInit(rules, type, prop) {\n switch (allValid(rules, type, prop)) {\n case 'none':\n return [];\n\n case 'some':\n return rules;\n }\n\n var collection = createCollection();\n rules = prepareRules(rules, type, prop);\n addRulesToCollection(collection, rules);\n sortCollection(collection);\n return transformCollection(collection, type, prop);\n}\n/**\n * @param {Array} rules\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nmodule.exports = function (rules, prop) {\n if (rules) {\n if (prop) {\n return sortInit(rules, 'object', prop);\n }\n\n return sortInit(rules, 'string');\n }\n\n return [];\n};","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","require(\"core-js/modules/es6.regexp.match\");\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\n/**\n * Created by Samuel on 6/4/2016.\n * Simple wrapper functions to produce shorter UUIDs for cookies, maybe everything?\n */\nvar anyBase = require('any-base');\n\nvar uuidV4 = require('uuid/v4');\n\nvar flickrBase58 = '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ';\nvar cookieBase90 = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~\";\nvar toFlickr;\n/**\n * Takes a UUID, strips the dashes, and translates.\n * @param {string} longId\n * @param {function(string)} translator\n * @returns {string}\n */\n\nfunction shortenUUID(longId, translator) {\n return translator(longId.toLowerCase().replace(/-/g, ''));\n}\n/**\n * Translate back to hex and turn back into UUID format, with dashes\n * @param {string} shortId\n * @param {function(string)} translator\n * @returns {string}\n */\n\n\nfunction enlargeUUID(shortId, translator) {\n var uu1 = translator(shortId);\n var leftPad = \"\";\n var m; // Pad out UUIDs beginning with zeros (any number shorter than 32 characters of hex)\n\n for (var i = 0, len = 32 - uu1.length; i < len; ++i) {\n leftPad += \"0\";\n } // Join the zero padding and the UUID and then slice it up with match\n\n\n m = (leftPad + uu1).match(/(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})/); // Accumulate the matches and join them.\n\n return [m[1], m[2], m[3], m[4], m[5]].join('-');\n}\n\nmodule.exports = function () {\n /**\n * @constructor\n * @param {string?} toAlphabet - Defaults to flickrBase58 if not provided\n * @returns {{new: (function()),\n * uuid: (function()),\n * fromUUID: (function(string)),\n * toUUID: (function(string)),\n * alphabet: (string)}}\n */\n function MakeConvertor(toAlphabet) {\n // Default to Flickr 58\n var useAlphabet = toAlphabet || flickrBase58; // UUIDs are in hex, so we translate to and from.\n\n var fromHex = anyBase(anyBase.HEX, useAlphabet);\n var toHex = anyBase(useAlphabet, anyBase.HEX);\n\n var generate = function generate() {\n return shortenUUID(uuidV4(), fromHex);\n };\n\n return {\n \"new\": generate,\n generate: generate,\n uuid: uuidV4,\n fromUUID: function fromUUID(uuid) {\n return shortenUUID(uuid, fromHex);\n },\n toUUID: function toUUID(shortUuid) {\n return enlargeUUID(shortUuid, toHex);\n },\n alphabet: useAlphabet\n };\n } // Expose the constants for other purposes.\n\n\n MakeConvertor.constants = {\n flickrBase58: flickrBase58,\n cookieBase90: cookieBase90\n }; // Expose the generic v4 UUID generator for convenience\n\n MakeConvertor.uuid = uuidV4; // Provide a generic generator\n\n MakeConvertor.generate = function () {\n if (!toFlickr) {\n // Generate on first use;\n toFlickr = anyBase(anyBase.HEX, flickrBase58);\n }\n\n return shortenUUID(uuidV4(), toFlickr);\n };\n\n return MakeConvertor;\n}();","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","\"use strict\";\n\nexports.__esModule = true;\nexports.combineArray = exports.filteredJoin = exports.hashString = exports.stringToArray = exports.toKebabCase = exports.toCamelCase = exports.isString = exports.isBrowser = void 0;\n\nvar isBrowser = function isBrowser() {\n return typeof window !== 'undefined';\n};\n\nexports.isBrowser = isBrowser;\n\nvar isString = function isString(value) {\n return Object.prototype.toString.call(value) === '[object String]';\n};\n\nexports.isString = isString;\n\nvar toCamelCase = function toCamelCase(str) {\n return isString(str) && str.toLowerCase().replace(/(?:^\\w|-|[A-Z]|\\b\\w)/g, function (letter, index) {\n return index === 0 ? letter.toLowerCase() : letter.toUpperCase();\n }).replace(/\\s|\\W+/g, '');\n};\n\nexports.toCamelCase = toCamelCase;\n\nvar toKebabCase = function toKebabCase(str) {\n return isString(str) && str.replace(/\\s|\\W+/g, '').replace(/[A-Z]/g, function (match) {\n return \"-\" + match.toLowerCase();\n });\n};\n\nexports.toKebabCase = toKebabCase;\n\nvar stringToArray = function stringToArray(str, delimiter) {\n if (delimiter === void 0) {\n delimiter = \" \";\n }\n\n if (str instanceof Array) {\n return str;\n }\n\n if (isString(str)) {\n if (str.includes(delimiter)) {\n return str.split(delimiter);\n }\n\n return [str];\n }\n\n return false;\n};\n\nexports.stringToArray = stringToArray;\n\nvar hashString = function hashString(str) {\n return isString(str) && [].reduce.call(str, function (hash, item) {\n hash = (hash << 5) - hash + item.charCodeAt(0);\n return hash | 0;\n }, 0);\n};\n\nexports.hashString = hashString;\n\nvar filteredJoin = function filteredJoin(arrayToJoin) {\n return arrayToJoin.filter(function (item) {\n return item !== \"\";\n }).join();\n};\n\nexports.filteredJoin = filteredJoin;\n\nvar combineArray = function combineArray(fromArray, toArray) {\n if (!Array.isArray(fromArray)) {\n return [fromArray];\n }\n\n return fromArray.map(function (item, index) {\n return item || toArray && toArray[index];\n });\n};\n\nexports.combineArray = combineArray;","\"use strict\";\n\nexports.__esModule = true;\nexports.listenToIntersections = exports.getIO = exports.callbackIO = void 0;\nvar io;\nvar listeners = new WeakMap();\n\nvar callbackIO = function callbackIO(entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var callback = listeners.get(entry.target);\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners.delete(entry.target);\n callback();\n }\n }\n });\n};\n\nexports.callbackIO = callbackIO;\n\nvar getIO = function getIO(rootMargin) {\n if (typeof io === \"undefined\" && typeof window !== \"undefined\" && window.IntersectionObserver) {\n io = new window.IntersectionObserver(callbackIO, {\n rootMargin: rootMargin\n });\n }\n\n return io;\n};\n\nexports.getIO = getIO;\n\nvar listenToIntersections = function listenToIntersections(element, callback, rootMargin) {\n if (rootMargin === void 0) {\n rootMargin = \"200px\";\n }\n\n var observer = getIO(rootMargin);\n\n if (observer) {\n observer.observe(element);\n listeners.set(element, callback);\n return function () {\n observer.unobserve(element);\n listeners.delete(element);\n };\n }\n\n return function () {};\n};\n\nexports.listenToIntersections = listenToIntersections;","\"use strict\";\n\nexports.__esModule = true;\nexports.switchImageSettings = void 0;\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar switchImageSettings = function switchImageSettings(_ref) {\n var image = _ref.image,\n bgImage = _ref.bgImage,\n imageRef = _ref.imageRef,\n state = _ref.state;\n var currentSources = (0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"currentSrc\"\n });\n var returnArray = Array.isArray(image) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n });\n var lastImage = Array.isArray(bgImage) ? (0, _SimpleUtils.filteredJoin)(bgImage) : bgImage;\n var nextImage;\n var nextImageArray;\n var finalImage = false;\n\n if (returnArray) {\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"tracedSVG\",\n returnArray: returnArray\n });\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"base64\",\n returnArray: returnArray\n }), nextImage);\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n }), nextImage);\n\n if (state.imgLoaded && state.isVisible) {\n if (currentSources) {\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"currentSrc\",\n returnArray: returnArray\n }), nextImage);\n finalImage = true;\n } else {\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"src\",\n returnArray: returnArray\n }), nextImage);\n finalImage = true;\n }\n }\n\n nextImage = (0, _SimpleUtils.combineArray)(nextImage, bgImage);\n var dummyArray = (0, _ImageUtils.createDummyImageArray)(image.length);\n nextImage = (0, _SimpleUtils.combineArray)(nextImage, dummyArray);\n nextImageArray = nextImage;\n nextImage = (0, _SimpleUtils.filteredJoin)(nextImage);\n } else {\n nextImage = \"\";\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"tracedSVG\"\n }) || (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"base64\"\n });\n\n if (state.imgLoaded && state.isVisible) {\n nextImage = currentSources;\n finalImage = true;\n }\n }\n\n var afterOpacity = state.imageState % 2;\n\n if (!returnArray && nextImage === \"\" && state.imgLoaded && state.isVisible && imageRef && !imageRef.currentSrc) {\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"src\",\n checkLoaded: false\n });\n finalImage = true;\n }\n\n if (!nextImage) nextImage = lastImage;\n var newImageSettings = {\n lastImage: lastImage,\n nextImage: nextImage,\n afterOpacity: afterOpacity,\n finalImage: finalImage\n };\n if (nextImageArray) newImageSettings.nextImageArray = nextImageArray;\n return newImageSettings;\n};\n\nexports.switchImageSettings = switchImageSettings;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.convertProps = exports.stripRemainingProps = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _filterInvalidDomProps = _interopRequireDefault(require(\"filter-invalid-dom-props\"));\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar stripRemainingProps = function stripRemainingProps(props) {\n return (0, _filterInvalidDomProps.default)(props);\n};\n\nexports.stripRemainingProps = stripRemainingProps;\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n var fixed = convertedProps.fixed,\n fluid = convertedProps.fluid;\n\n if (fluid && (0, _MediaUtils.hasArtDirectionSupport)(props, 'fluid')) {\n convertedProps.fluid = (0, _MediaUtils.groupByMedia)(convertedProps.fluid);\n }\n\n if (fixed && (0, _MediaUtils.hasArtDirectionSupport)(props, 'fixed')) {\n convertedProps.fixed = (0, _MediaUtils.groupByMedia)(convertedProps.fixed);\n }\n\n return convertedProps;\n};\n\nexports.convertProps = convertProps;","\"use strict\";\n\nexports.__esModule = true;\nexports.resetImageCache = exports.activateCacheForMultipleImages = exports.activateCacheForImage = exports.allInImageCache = exports.inImageCache = void 0;\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar imageCache = Object.create({});\n\nvar inImageCache = function inImageCache(props, index, isLoop) {\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return allInImageCache(props);\n }\n\n var src = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getImageSrcKey)(convertedProps);\n return imageCache[src] || false;\n};\n\nexports.inImageCache = inImageCache;\n\nvar allInImageCache = function allInImageCache(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n return imageStack.every(function (imageData, index) {\n return inImageCache(convertedProps, index, true);\n });\n};\n\nexports.allInImageCache = allInImageCache;\n\nvar activateCacheForImage = function activateCacheForImage(props, index, isLoop) {\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return activateCacheForMultipleImages(props);\n }\n\n var src = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getImageSrcKey)(convertedProps);\n\n if (src) {\n imageCache[src] = true;\n }\n};\n\nexports.activateCacheForImage = activateCacheForImage;\n\nvar activateCacheForMultipleImages = function activateCacheForMultipleImages(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n imageStack.forEach(function (imageData, index) {\n return activateCacheForImage(convertedProps, index, true);\n });\n};\n\nexports.activateCacheForMultipleImages = activateCacheForMultipleImages;\n\nvar resetImageCache = function resetImageCache() {\n for (var prop in imageCache) {\n delete imageCache[prop];\n }\n};\n\nexports.resetImageCache = resetImageCache;","var rng = require('./lib/rng');\n\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof options == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.getBackgroundStylesForSingleClass = exports.getStyleRules = exports.getStyleRulesForClassName = void 0;\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar getStyleRulesForClassName = function getStyleRulesForClassName(className) {\n var styleSheets = typeof window !== \"undefined\" ? window.document.styleSheets : [];\n\n for (var i = 0; i < styleSheets.length; i++) {\n var classes = void 0;\n\n try {\n classes = typeof styleSheets[i].rules !== 'undefined' ? styleSheets[i].rules : typeof styleSheets[i].cssRules !== 'undefined' ? styleSheets[i].cssRules : '';\n } catch (e) {}\n\n if (classes) {\n var foundClass = Array.prototype.slice.call(classes).reduce(function (foundAcc, styleRule) {\n if (styleRule.selectorText === className) {\n foundAcc.push(styleRule);\n }\n\n return foundAcc;\n }, []);\n\n if (foundClass.length) {\n return foundClass;\n }\n }\n }\n\n return [];\n};\n\nexports.getStyleRulesForClassName = getStyleRulesForClassName;\n\nvar getStyleRules = function getStyleRules(cssStyleRules) {\n var styles = {};\n\n if (cssStyleRules.length > 0 && typeof cssStyleRules[0].style !== 'undefined') {\n var constructorName = cssStyleRules[0].style.constructor.name || cssStyleRules[0].style.constructor.toString();\n\n switch (constructorName) {\n case 'CSS2Properties':\n case '[object MSStyleCSSProperties]':\n Object.values(cssStyleRules[0].style).forEach(function (prop) {\n styles[(0, _SimpleUtils.toCamelCase)(prop)] = cssStyleRules[0].style[prop];\n });\n break;\n\n case 'CSSStyleDeclaration':\n styles = cssStyleRules[0].style;\n break;\n\n default:\n console.error('Unknown style object prototype');\n break;\n }\n }\n\n return styles;\n};\n\nexports.getStyleRules = getStyleRules;\n\nvar getBackgroundStylesForSingleClass = function getBackgroundStylesForSingleClass(className) {\n if (className && (0, _SimpleUtils.isString)(className)) {\n var cssStyleRules = getStyleRulesForClassName(\".\" + className);\n\n if ((cssStyleRules === null || cssStyleRules === void 0 ? void 0 : cssStyleRules.length) > 0 && typeof cssStyleRules[0].style !== 'undefined') {\n return Object.keys(getStyleRules(cssStyleRules)).filter(function (key) {\n return key.indexOf('background') === 0 && cssStyleRules[0].style[key] !== '';\n }).reduce(function (newData, key) {\n newData[key] = cssStyleRules[0].style[key];\n return newData;\n }, {});\n }\n }\n\n return {};\n};\n\nexports.getBackgroundStylesForSingleClass = getBackgroundStylesForSingleClass;\n\nvar getBackgroundStyles = function getBackgroundStyles(className) {\n if (typeof window !== \"undefined\") {\n var classes = (0, _SimpleUtils.stringToArray)(className);\n\n if (classes instanceof Array) {\n var classObjects = [];\n classes.forEach(function (item) {\n return classObjects.push(getBackgroundStylesForSingleClass(item));\n });\n return Object.assign.apply(Object, classObjects);\n }\n\n return getBackgroundStylesForSingleClass(className);\n }\n\n return {};\n};\n\nvar _default = getBackgroundStyles;\nexports.default = _default;"],"sourceRoot":""}