{"version":3,"file":"e152fd809c1e1bbb1e645048a57eae9f165cafca-1005fefb33c3e9c04843.js","mappings":"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","sources":["webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-hyperscript/internals.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-hyperscript/lib/blocksToNodes.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-hyperscript/lib/buildMarksTree.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-hyperscript/lib/generateKeys.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-hyperscript/lib/getImageUrl.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-hyperscript/lib/internals.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-hyperscript/lib/mergeSerializers.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-hyperscript/lib/nestLists.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-hyperscript/lib/serializers.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-hyperscript/node_modules/@sanity/generate-help-url/index.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-react/lib/BlockContent.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/block-content-to-react/lib/targets/dom.js","webpack://gatsby-redux-boilerplays/./node_modules/@sanity/image-url/lib/browser/image-url.umd.js","webpack://gatsby-redux-boilerplays/./node_modules/fast-deep-equal/index.js","webpack://gatsby-redux-boilerplays/./node_modules/get-youtube-id/index.js","webpack://gatsby-redux-boilerplays/./node_modules/load-script/index.js","webpack://gatsby-redux-boilerplays/./node_modules/process/browser.js","webpack://gatsby-redux-boilerplays/./node_modules/react-textfit/lib/Textfit.js","webpack://gatsby-redux-boilerplays/./node_modules/react-textfit/lib/index.js","webpack://gatsby-redux-boilerplays/./node_modules/react-textfit/lib/utils/innerSize.js","webpack://gatsby-redux-boilerplays/./node_modules/react-textfit/lib/utils/series.js","webpack://gatsby-redux-boilerplays/./node_modules/react-textfit/lib/utils/shallowEqual.js","webpack://gatsby-redux-boilerplays/./node_modules/react-textfit/lib/utils/throttle.js","webpack://gatsby-redux-boilerplays/./node_modules/react-textfit/lib/utils/uniqueId.js","webpack://gatsby-redux-boilerplays/./node_modules/react-textfit/lib/utils/whilst.js","webpack://gatsby-redux-boilerplays/./node_modules/react-youtube/dist/index.esm.js","webpack://gatsby-redux-boilerplays/./node_modules/sister/src/sister.js","webpack://gatsby-redux-boilerplays/./node_modules/youtube-player/dist/FunctionStateMap.js","webpack://gatsby-redux-boilerplays/./node_modules/youtube-player/dist/YouTubePlayer.js","webpack://gatsby-redux-boilerplays/./node_modules/youtube-player/dist/constants/PlayerStates.js","webpack://gatsby-redux-boilerplays/./node_modules/youtube-player/dist/eventNames.js","webpack://gatsby-redux-boilerplays/./node_modules/youtube-player/dist/functionNames.js","webpack://gatsby-redux-boilerplays/./node_modules/youtube-player/dist/index.js","webpack://gatsby-redux-boilerplays/./node_modules/youtube-player/dist/loadYouTubeIframeApi.js","webpack://gatsby-redux-boilerplays/./node_modules/youtube-player/node_modules/debug/src/browser.js","webpack://gatsby-redux-boilerplays/./node_modules/youtube-player/node_modules/debug/src/debug.js","webpack://gatsby-redux-boilerplays/./node_modules/youtube-player/node_modules/ms/index.js","webpack://gatsby-redux-boilerplays/./src/components/content/Figure.tsx","webpack://gatsby-redux-boilerplays/./src/components/content/youtube.tsx","webpack://gatsby-redux-boilerplays/./src/components/content/bodySection.tsx","webpack://gatsby-redux-boilerplays/./src/components/content/inlineImage.tsx","webpack://gatsby-redux-boilerplays/./node_modules/ramda/es/internal/_pipe.js","webpack://gatsby-redux-boilerplays/./node_modules/ramda/es/reduce.js","webpack://gatsby-redux-boilerplays/./node_modules/ramda/es/tail.js","webpack://gatsby-redux-boilerplays/./node_modules/@material-ui/core/esm/Container/Container.js","webpack://gatsby-redux-boilerplays/./node_modules/@material-ui/core/esm/Table/TableContext.js","webpack://gatsby-redux-boilerplays/./node_modules/@material-ui/core/esm/Table/Table.js","webpack://gatsby-redux-boilerplays/./node_modules/@material-ui/core/esm/Table/Tablelvl2Context.js","webpack://gatsby-redux-boilerplays/./node_modules/@material-ui/core/esm/TableBody/TableBody.js","webpack://gatsby-redux-boilerplays/./node_modules/@material-ui/core/esm/TableCell/TableCell.js","webpack://gatsby-redux-boilerplays/./node_modules/@material-ui/core/esm/TableContainer/TableContainer.js","webpack://gatsby-redux-boilerplays/./node_modules/@material-ui/core/esm/TableHead/TableHead.js","webpack://gatsby-redux-boilerplays/./node_modules/@material-ui/core/esm/TableRow/TableRow.js","webpack://gatsby-redux-boilerplays/./src/components/content/productTable.tsx","webpack://gatsby-redux-boilerplays/./node_modules/ramda/es/pipe.js","webpack://gatsby-redux-boilerplays/./src/components/content/serializers.tsx","webpack://gatsby-redux-boilerplays/./src/components/content/portableText.tsx"],"sourcesContent":["module.exports = require('./lib/internals');","\"use strict\";\n\nvar objectAssign = require('object-assign');\nvar buildMarksTree = require('./buildMarksTree');\nvar nestLists = require('./nestLists');\nvar generateKeys = require('./generateKeys');\nvar mergeSerializers = require('./mergeSerializers'); // Properties to extract from props and pass to serializers as options\n\nvar optionProps = ['projectId', 'dataset', 'imageOptions'];\nvar isDefined = function isDefined(val) {\n return typeof val !== 'undefined';\n};\nvar defaults = {\n imageOptions: {}\n};\nfunction blocksToNodes(h, properties, defaultSerializers, serializeSpan) {\n var props = objectAssign({}, defaults, properties);\n var rawBlocks = Array.isArray(props.blocks) ? props.blocks : [props.blocks];\n var keyedBlocks = generateKeys(rawBlocks);\n var blocks = nestLists(keyedBlocks, props.listNestMode);\n var serializers = mergeSerializers(defaultSerializers, props.serializers || {});\n var options = optionProps.reduce(function (opts, key) {\n var value = props[key];\n if (isDefined(value)) {\n opts[key] = value;\n }\n return opts;\n }, {});\n function serializeNode(node, index, siblings, isInline) {\n if (isList(node)) {\n return serializeList(node);\n }\n if (isListItem(node)) {\n return serializeListItem(node, findListItemIndex(node, siblings));\n }\n if (isSpan(node)) {\n return serializeSpan(node, serializers, index, {\n serializeNode: serializeNode\n });\n }\n return serializeBlock(node, index, isInline);\n }\n function findListItemIndex(node, siblings) {\n var index = 0;\n for (var i = 0; i < siblings.length; i++) {\n if (siblings[i] === node) {\n return index;\n }\n if (!isListItem(siblings[i])) {\n continue;\n }\n index++;\n }\n return index;\n }\n function serializeBlock(block, index, isInline) {\n var tree = buildMarksTree(block);\n var children = tree.map(function (node, i, siblings) {\n return serializeNode(node, i, siblings, true);\n });\n var blockProps = {\n key: block._key || \"block-\".concat(index),\n node: block,\n isInline: isInline,\n serializers: serializers,\n options: options\n };\n return h(serializers.block, blockProps, children);\n }\n function serializeListItem(block, index) {\n var key = block._key;\n var tree = buildMarksTree(block);\n var children = tree.map(serializeNode);\n return h(serializers.listItem, {\n node: block,\n serializers: serializers,\n index: index,\n key: key,\n options: options\n }, children);\n }\n function serializeList(list) {\n var type = list.listItem;\n var level = list.level;\n var key = list._key;\n var children = list.children.map(serializeNode);\n return h(serializers.list, {\n key: key,\n level: level,\n type: type,\n options: options\n }, children);\n } // Default to false, so `undefined` will evaluate to the default here\n\n var renderContainerOnSingleChild = Boolean(props.renderContainerOnSingleChild);\n var nodes = blocks.map(serializeNode);\n if (renderContainerOnSingleChild || nodes.length > 1) {\n var containerProps = props.className ? {\n className: props.className\n } : {};\n return h(serializers.container, containerProps, nodes);\n }\n if (nodes[0]) {\n return nodes[0];\n }\n return typeof serializers.empty === 'function' ? h(serializers.empty) : serializers.empty;\n}\nfunction isList(block) {\n return block._type === 'list' && block.listItem;\n}\nfunction isListItem(block) {\n return block._type === 'block' && block.listItem;\n}\nfunction isSpan(block) {\n return typeof block === 'string' || block.marks || block._type === 'span';\n}\nmodule.exports = blocksToNodes;","\"use strict\";\n\nvar defaultMarks = ['strong', 'em', 'code', 'underline', 'strike-through'];\nvar buildMarksTree = function buildMarksTree(block) {\n var children = block.children,\n markDefs = block.markDefs;\n if (!children || !children.length) {\n return [];\n }\n var sortedMarks = children.map(sortMarksByOccurences);\n var rootNode = {\n _type: 'span',\n children: []\n };\n var nodeStack = [rootNode];\n children.forEach(function (span, i) {\n var marksNeeded = sortedMarks[i];\n if (!marksNeeded) {\n var lastNode = nodeStack[nodeStack.length - 1];\n lastNode.children.push(span);\n return;\n }\n var pos = 1; // Start at position one. Root is always plain and should never be removed. (?)\n\n if (nodeStack.length > 1) {\n for (pos; pos < nodeStack.length; pos++) {\n var mark = nodeStack[pos].markKey;\n var index = marksNeeded.indexOf(mark); // eslint-disable-next-line max-depth\n\n if (index === -1) {\n break;\n }\n marksNeeded.splice(index, 1);\n }\n } // Keep from beginning to first miss\n\n nodeStack = nodeStack.slice(0, pos); // Add needed nodes\n\n var currentNode = findLastParentNode(nodeStack);\n marksNeeded.forEach(function (mark) {\n var node = {\n _type: 'span',\n _key: span._key,\n children: [],\n mark: markDefs.find(function (def) {\n return def._key === mark;\n }) || mark,\n markKey: mark\n };\n currentNode.children.push(node);\n nodeStack.push(node);\n currentNode = node;\n }); // Split at newlines to make individual line chunks, but keep newline\n // characters as individual elements in the array. We use these characters\n // in the span serializer to trigger hard-break rendering\n\n if (isTextSpan(span)) {\n var lines = span.text.split('\\n');\n for (var line = lines.length; line-- > 1;) {\n lines.splice(line, 0, '\\n');\n }\n currentNode.children = currentNode.children.concat(lines);\n } else {\n currentNode.children = currentNode.children.concat(span);\n }\n });\n return rootNode.children;\n}; // We want to sort all the marks of all the spans in the following order:\n// 1. Marks that are shared amongst the most adjacent siblings\n// 2. Non-default marks (links, custom metadata)\n// 3. Built-in, plain marks (bold, emphasis, code etc)\n\nfunction sortMarksByOccurences(span, i, spans) {\n if (!span.marks || span.marks.length === 0) {\n return span.marks || [];\n }\n var markOccurences = span.marks.reduce(function (occurences, mark) {\n occurences[mark] = occurences[mark] ? occurences[mark] + 1 : 1;\n for (var siblingIndex = i + 1; siblingIndex < spans.length; siblingIndex++) {\n var sibling = spans[siblingIndex];\n if (sibling.marks && Array.isArray(sibling.marks) && sibling.marks.indexOf(mark) !== -1) {\n occurences[mark]++;\n } else {\n break;\n }\n }\n return occurences;\n }, {});\n var sortByOccurence = sortMarks.bind(null, markOccurences); // Slicing because sort() mutates the input\n\n return span.marks.slice().sort(sortByOccurence);\n}\nfunction sortMarks(occurences, markA, markB) {\n var aOccurences = occurences[markA] || 0;\n var bOccurences = occurences[markB] || 0;\n if (aOccurences !== bOccurences) {\n return bOccurences - aOccurences;\n }\n var aDefaultPos = defaultMarks.indexOf(markA);\n var bDefaultPos = defaultMarks.indexOf(markB); // Sort default marks last\n\n if (aDefaultPos !== bDefaultPos) {\n return aDefaultPos - bDefaultPos;\n } // Sort other marks simply by key\n\n if (markA < markB) {\n return -1;\n } else if (markA > markB) {\n return 1;\n }\n return 0;\n}\nfunction isTextSpan(node) {\n return node._type === 'span' && typeof node.text === 'string' && (Array.isArray(node.marks) || typeof node.marks === 'undefined');\n}\nfunction findLastParentNode(nodes) {\n for (var i = nodes.length - 1; i >= 0; i--) {\n var node = nodes[i];\n if (node._type === 'span' && node.children) {\n return node;\n }\n }\n return undefined;\n}\nmodule.exports = buildMarksTree;","\"use strict\";\n\nvar objectAssign = require('object-assign');\nmodule.exports = function (blocks) {\n return blocks.map(function (block) {\n if (block._key) {\n return block;\n }\n return objectAssign({\n _key: getStaticKey(block)\n }, block);\n });\n};\nfunction getStaticKey(item) {\n return checksum(JSON.stringify(item)).toString(36).replace(/[^A-Za-z0-9]/g, '');\n}\n/* eslint-disable no-bitwise */\n\nfunction checksum(str) {\n var hash = 0;\n var strlen = str.length;\n if (strlen === 0) {\n return hash;\n }\n for (var i = 0; i < strlen; i++) {\n hash = (hash << 5) - hash + str.charCodeAt(i);\n hash &= hash; // Convert to 32bit integer\n }\n return hash;\n}\n/* eslint-enable no-bitwise */","\"use strict\";\n\nvar generateHelpUrl = require('@sanity/generate-help-url');\nvar urlBuilder = require('@sanity/image-url');\nvar objectAssign = require('object-assign');\nvar enc = encodeURIComponent;\nvar materializeError = \"You must either:\\n - Pass `projectId` and `dataset` to the block renderer\\n - Materialize images to include the `url` field.\\n\\nFor more information, see \".concat(generateHelpUrl('block-content-image-materializing'));\nvar getQueryString = function getQueryString(options) {\n var query = options.imageOptions;\n var keys = Object.keys(query);\n if (!keys.length) {\n return '';\n }\n var params = keys.map(function (key) {\n return \"\".concat(enc(key), \"=\").concat(enc(query[key]));\n });\n return \"?\".concat(params.join('&'));\n};\nvar buildUrl = function buildUrl(props) {\n var node = props.node,\n options = props.options;\n var projectId = options.projectId,\n dataset = options.dataset;\n var asset = node.asset;\n if (!asset) {\n throw new Error('Image does not have required `asset` property');\n }\n if (asset.url) {\n return asset.url + getQueryString(options);\n }\n if (!projectId || !dataset) {\n throw new Error(materializeError);\n }\n var ref = asset._ref;\n if (!ref) {\n throw new Error('Invalid image reference in block, no `_ref` found on `asset`');\n }\n return urlBuilder(objectAssign({\n projectId: projectId,\n dataset: dataset\n }, options.imageOptions || {})).image(node).toString();\n};\nmodule.exports = buildUrl;","\"use strict\";\n\nvar getSerializers = require('./serializers');\nvar _blocksToNodes = require('./blocksToNodes');\nvar getImageUrl = require('./getImageUrl');\nvar mergeSerializers = require('./mergeSerializers');\nmodule.exports = {\n blocksToNodes: function blocksToNodes(renderNode, props, defaultSerializers, serializeSpan) {\n if (defaultSerializers) {\n return _blocksToNodes(renderNode, props, defaultSerializers, serializeSpan);\n } // Backwards-compatibility\n\n var serializers = getSerializers(renderNode);\n return _blocksToNodes(renderNode, props, serializers.defaultSerializers, serializers.serializeSpan);\n },\n getSerializers: getSerializers,\n getImageUrl: getImageUrl,\n mergeSerializers: mergeSerializers\n};","\"use strict\";\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nvar objectAssign = require('object-assign');\nvar isDefined = function isDefined(val) {\n return typeof val !== 'undefined';\n}; // Recursively merge/replace default serializers with user-specified serializers\n\nmodule.exports = function mergeSerializers(defaultSerializers, userSerializers) {\n return Object.keys(defaultSerializers).reduce(function (acc, key) {\n var type = _typeof(defaultSerializers[key]);\n if (type === 'function') {\n acc[key] = isDefined(userSerializers[key]) ? userSerializers[key] : defaultSerializers[key];\n } else if (type === 'object') {\n acc[key] = objectAssign({}, defaultSerializers[key], userSerializers[key]);\n } else {\n acc[key] = typeof userSerializers[key] === 'undefined' ? defaultSerializers[key] : userSerializers[key];\n }\n return acc;\n }, {});\n};","\"use strict\";\n\nvar objectAssign = require('object-assign');\n/* eslint-disable max-depth, complexity */\n\nfunction nestLists(blocks) {\n var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'html';\n var tree = [];\n var currentList;\n for (var i = 0; i < blocks.length; i++) {\n var block = blocks[i];\n if (!isListBlock(block)) {\n tree.push(block);\n currentList = null;\n continue;\n } // Start of a new list?\n\n if (!currentList) {\n currentList = listFromBlock(block);\n tree.push(currentList);\n continue;\n } // New list item within same list?\n\n if (blockMatchesList(block, currentList)) {\n currentList.children.push(block);\n continue;\n } // Different list props, are we going deeper?\n\n if (block.level > currentList.level) {\n var newList = listFromBlock(block);\n if (mode === 'html') {\n // Because HTML is kinda weird, nested lists needs to be nested within list items\n // So while you would think that we could populate the parent list with a new sub-list,\n // We actually have to target the last list element (child) of the parent.\n // However, at this point we need to be very careful - simply pushing to the list of children\n // will mutate the input, and we don't want to blindly clone the entire tree.\n // Clone the last child while adding our new list as the last child of it\n var lastListItem = lastChild(currentList);\n var newLastChild = objectAssign({}, lastListItem, {\n children: lastListItem.children.concat(newList)\n }); // Swap the last child\n\n currentList.children[currentList.children.length - 1] = newLastChild;\n } else {\n currentList.children.push(newList);\n } // Set the newly created, deeper list as the current\n\n currentList = newList;\n continue;\n } // Different list props, are we going back up the tree?\n\n if (block.level < currentList.level) {\n // Current list has ended, and we need to hook up with a parent of the same level and type\n var match = findListMatching(tree[tree.length - 1], block);\n if (match) {\n currentList = match;\n currentList.children.push(block);\n continue;\n } // Similar parent can't be found, assume new list\n\n currentList = listFromBlock(block);\n tree.push(currentList);\n continue;\n } // Different list props, different list style?\n\n if (block.listItem !== currentList.listItem) {\n var _match = findListMatching(tree[tree.length - 1], {\n level: block.level\n });\n if (_match && _match.listItem === block.listItem) {\n currentList = _match;\n currentList.children.push(block);\n continue;\n } else {\n currentList = listFromBlock(block);\n tree.push(currentList);\n continue;\n }\n } // eslint-disable-next-line no-console\n\n console.warn('Unknown state encountered for block', block);\n tree.push(block);\n }\n return tree;\n}\nfunction isListBlock(block) {\n return Boolean(block.listItem);\n}\nfunction blockMatchesList(block, list) {\n return block.level === list.level && block.listItem === list.listItem;\n}\nfunction listFromBlock(block) {\n return {\n _type: 'list',\n _key: \"\".concat(block._key, \"-parent\"),\n level: block.level,\n listItem: block.listItem,\n children: [block]\n };\n}\nfunction lastChild(block) {\n return block.children && block.children[block.children.length - 1];\n}\nfunction findListMatching(rootNode, matching) {\n var filterOnType = typeof matching.listItem === 'string';\n if (rootNode._type === 'list' && rootNode.level === matching.level && filterOnType && rootNode.listItem === matching.listItem) {\n return rootNode;\n }\n var node = lastChild(rootNode);\n if (!node) {\n return false;\n }\n return findListMatching(node, matching);\n}\nmodule.exports = nestLists;","\"use strict\";\n\nvar objectAssign = require('object-assign');\nvar getImageUrl = require('./getImageUrl');\nmodule.exports = function (h, serializerOpts) {\n var serializeOptions = serializerOpts || {\n useDashedStyles: false // Low-level block serializer\n };\n function BlockSerializer(props) {\n var node = props.node,\n serializers = props.serializers,\n options = props.options,\n isInline = props.isInline,\n children = props.children;\n var blockType = node._type;\n var serializer = serializers.types[blockType];\n if (!serializer) {\n throw new Error(\"Unknown block type \\\"\".concat(blockType, \"\\\", please specify a serializer for it in the `serializers.types` prop\"));\n }\n return h(serializer, {\n node: node,\n options: options,\n isInline: isInline\n }, children);\n } // Low-level span serializer\n\n function SpanSerializer(props) {\n var _props$node = props.node,\n mark = _props$node.mark,\n children = _props$node.children;\n var isPlain = typeof mark === 'string';\n var markType = isPlain ? mark : mark._type;\n var serializer = props.serializers.marks[markType];\n if (!serializer) {\n // @todo Revert back to throwing errors?\n // eslint-disable-next-line no-console\n console.warn(\"Unknown mark type \\\"\".concat(markType, \"\\\", please specify a serializer for it in the `serializers.marks` prop\"));\n return h(props.serializers.markFallback, null, children);\n }\n return h(serializer, props.node, children);\n } // Low-level list serializer\n\n function ListSerializer(props) {\n var tag = props.type === 'bullet' ? 'ul' : 'ol';\n return h(tag, null, props.children);\n } // Low-level list item serializer\n\n function ListItemSerializer(props) {\n var children = !props.node.style || props.node.style === 'normal' ?\n // Don't wrap plain text in paragraphs inside of a list item\n props.children :\n // But wrap any other style in whatever the block serializer says to use\n h(props.serializers.types.block, props, props.children);\n return h('li', null, children);\n } // Renderer of an actual block of type `block`. Confusing, we know.\n\n function BlockTypeSerializer(props) {\n var style = props.node.style || 'normal';\n if (/^h\\d/.test(style)) {\n return h(style, null, props.children);\n }\n return style === 'blockquote' ? h('blockquote', null, props.children) : h('p', null, props.children);\n } // Serializers for things that can be directly attributed to a tag without any props\n // We use partial application to do this, passing the tag name as the first argument\n\n function RawMarkSerializer(tag, props) {\n return h(tag, null, props.children);\n }\n function UnderlineSerializer(props) {\n var style = serializeOptions.useDashedStyles ? {\n 'text-decoration': 'underline'\n } : {\n textDecoration: 'underline'\n };\n return h('span', {\n style: style\n }, props.children);\n }\n function StrikeThroughSerializer(props) {\n return h('del', null, props.children);\n }\n function LinkSerializer(props) {\n return h('a', {\n href: props.mark.href\n }, props.children);\n }\n function ImageSerializer(props) {\n if (!props.node.asset) {\n return null;\n }\n var img = h('img', {\n src: getImageUrl(props)\n });\n return props.isInline ? img : h('figure', null, img);\n } // Serializer that recursively calls itself, producing a hyperscript tree of spans\n\n function serializeSpan(span, serializers, index, options) {\n if (span === '\\n' && serializers.hardBreak) {\n return h(serializers.hardBreak, {\n key: \"hb-\".concat(index)\n });\n }\n if (typeof span === 'string') {\n return serializers.text ? h(serializers.text, {\n key: \"text-\".concat(index)\n }, span) : span;\n }\n var children;\n if (span.children) {\n children = {\n children: span.children.map(function (child, i) {\n return options.serializeNode(child, i, span.children, true);\n })\n };\n }\n var serializedNode = objectAssign({}, span, children);\n return h(serializers.span, {\n key: span._key || \"span-\".concat(index),\n node: serializedNode,\n serializers: serializers\n });\n }\n var HardBreakSerializer = function HardBreakSerializer() {\n return h('br');\n };\n var defaultMarkSerializers = {\n strong: RawMarkSerializer.bind(null, 'strong'),\n em: RawMarkSerializer.bind(null, 'em'),\n code: RawMarkSerializer.bind(null, 'code'),\n underline: UnderlineSerializer,\n 'strike-through': StrikeThroughSerializer,\n link: LinkSerializer\n };\n var defaultSerializers = {\n // Common overrides\n types: {\n block: BlockTypeSerializer,\n image: ImageSerializer\n },\n marks: defaultMarkSerializers,\n // Less common overrides\n list: ListSerializer,\n listItem: ListItemSerializer,\n block: BlockSerializer,\n span: SpanSerializer,\n hardBreak: HardBreakSerializer,\n // Container element\n container: 'div',\n // When we can't resolve the mark properly, use this renderer as the container\n markFallback: 'span',\n // Allow overriding text renderer, but leave undefined to just use plain strings by default\n text: undefined,\n // Empty nodes (React uses null, hyperscript with empty strings)\n empty: ''\n };\n return {\n defaultSerializers: defaultSerializers,\n serializeSpan: serializeSpan\n };\n};","var baseUrl = 'https://docs.sanity.io/help/';\nmodule.exports = function generateHelpUrl(slug) {\n return baseUrl + slug;\n};","'use strict';\n\nvar React = require('react');\nvar PropTypes = require('prop-types');\nvar internals = require('@sanity/block-content-to-hyperscript/internals');\nvar _require = require('./targets/dom'),\n serializers = _require.serializers,\n serializeSpan = _require.serializeSpan,\n renderProps = _require.renderProps;\nvar getImageUrl = internals.getImageUrl,\n blocksToNodes = internals.blocksToNodes,\n mergeSerializers = internals.mergeSerializers;\nvar renderNode = React.createElement;\nvar SanityBlockContent = function SanityBlockContent(props) {\n var customSerializers = mergeSerializers(SanityBlockContent.defaultSerializers, props.serializers);\n var blockProps = Object.assign({}, renderProps, props, {\n serializers: customSerializers,\n blocks: props.blocks || []\n });\n return blocksToNodes(renderNode, blockProps, serializers, serializeSpan);\n};\n\n// Expose default serializers to the user\nSanityBlockContent.defaultSerializers = serializers;\n\n// Expose logic for building image URLs from an image reference/node\nSanityBlockContent.getImageUrl = getImageUrl;\nSanityBlockContent.propTypes = {\n className: PropTypes.string,\n renderContainerOnSingleChild: PropTypes.bool,\n // When rendering images, we need project id and dataset, unless images are materialized\n projectId: PropTypes.string,\n dataset: PropTypes.string,\n imageOptions: PropTypes.object,\n serializers: PropTypes.shape({\n // Common overrides\n types: PropTypes.object,\n marks: PropTypes.object,\n // Less common overrides\n list: PropTypes.func,\n listItem: PropTypes.func,\n // Low-level serializers\n block: PropTypes.func,\n span: PropTypes.func\n }),\n blocks: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape({\n _type: PropTypes.string.isRequired\n })), PropTypes.shape({\n _type: PropTypes.string.isRequired\n })]).isRequired\n};\nSanityBlockContent.defaultProps = {\n renderContainerOnSingleChild: false,\n serializers: {},\n imageOptions: {}\n};\nmodule.exports = SanityBlockContent;","'use strict';\n\nvar React = require('react');\nvar _require = require('@sanity/block-content-to-hyperscript/internals'),\n getSerializers = _require.getSerializers;\nvar renderNode = React.createElement;\nvar _getSerializers = getSerializers(renderNode),\n defaultSerializers = _getSerializers.defaultSerializers,\n serializeSpan = _getSerializers.serializeSpan;\nmodule.exports = {\n serializeSpan: serializeSpan,\n serializers: defaultSerializers,\n renderProps: {\n nestMarks: true\n }\n};","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = global || self, global.SanityImageUrlBuilder = factory());\n})(this, function () {\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _createForOfIteratorHelperLoose(o) {\n var i = 0;\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n i = o[Symbol.iterator]();\n return i.next.bind(i);\n }\n var example = 'image-Tb9Ew8CXIwaY6R1kjMvI0uRR-2000x3000-jpg';\n function parseAssetId(ref) {\n var _ref$split = ref.split('-'),\n id = _ref$split[1],\n dimensionString = _ref$split[2],\n format = _ref$split[3];\n if (!id || !dimensionString || !format) {\n throw new Error(\"Malformed asset _ref '\" + ref + \"'. Expected an id like \\\"\" + example + \"\\\".\");\n }\n var _dimensionString$spli = dimensionString.split('x'),\n imgWidthStr = _dimensionString$spli[0],\n imgHeightStr = _dimensionString$spli[1];\n var width = +imgWidthStr;\n var height = +imgHeightStr;\n var isValidAssetId = isFinite(width) && isFinite(height);\n if (!isValidAssetId) {\n throw new Error(\"Malformed asset _ref '\" + ref + \"'. Expected an id like \\\"\" + example + \"\\\".\");\n }\n return {\n id: id,\n width: width,\n height: height,\n format: format\n };\n }\n var isRef = function isRef(src) {\n var source = src;\n return source ? typeof source._ref === 'string' : false;\n };\n var isAsset = function isAsset(src) {\n var source = src;\n return source ? typeof source._id === 'string' : false;\n };\n var isAssetStub = function isAssetStub(src) {\n var source = src;\n return source && source.asset ? typeof source.asset.url === 'string' : false;\n };\n function parseSource(source) {\n if (!source) {\n return null;\n }\n var image;\n if (typeof source === 'string' && isUrl(source)) {\n image = {\n asset: {\n _ref: urlToId(source)\n }\n };\n } else if (typeof source === 'string') {\n image = {\n asset: {\n _ref: source\n }\n };\n } else if (isRef(source)) {\n image = {\n asset: source\n };\n } else if (isAsset(source)) {\n image = {\n asset: {\n _ref: source._id || ''\n }\n };\n } else if (isAssetStub(source)) {\n image = {\n asset: {\n _ref: urlToId(source.asset.url)\n }\n };\n } else if (typeof source.asset === 'object') {\n image = source;\n } else {\n return null;\n }\n var img = source;\n if (img.crop) {\n image.crop = img.crop;\n }\n if (img.hotspot) {\n image.hotspot = img.hotspot;\n }\n return applyDefaults(image);\n }\n function isUrl(url) {\n return /^https?:\\/\\//.test(\"\" + url);\n }\n function urlToId(url) {\n var parts = url.split('/').slice(-1);\n return (\"image-\" + parts[0]).replace(/\\.([a-z]+)$/, '-$1');\n }\n function applyDefaults(image) {\n if (image.crop && image.hotspot) {\n return image;\n }\n var result = _extends({}, image);\n if (!result.crop) {\n result.crop = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0\n };\n }\n if (!result.hotspot) {\n result.hotspot = {\n x: 0.5,\n y: 0.5,\n height: 1.0,\n width: 1.0\n };\n }\n return result;\n }\n var SPEC_NAME_TO_URL_NAME_MAPPINGS = [['width', 'w'], ['height', 'h'], ['format', 'fm'], ['download', 'dl'], ['blur', 'blur'], ['sharpen', 'sharp'], ['invert', 'invert'], ['orientation', 'or'], ['minHeight', 'min-h'], ['maxHeight', 'max-h'], ['minWidth', 'min-w'], ['maxWidth', 'max-w'], ['quality', 'q'], ['fit', 'fit'], ['crop', 'crop'], ['saturation', 'sat'], ['auto', 'auto'], ['dpr', 'dpr'], ['pad', 'pad']];\n function urlForImage(options) {\n var spec = _extends({}, options || {});\n var source = spec.source;\n delete spec.source;\n var image = parseSource(source);\n if (!image) {\n return null;\n }\n var id = image.asset._ref || image.asset._id || '';\n var asset = parseAssetId(id);\n var cropLeft = Math.round(image.crop.left * asset.width);\n var cropTop = Math.round(image.crop.top * asset.height);\n var crop = {\n left: cropLeft,\n top: cropTop,\n width: Math.round(asset.width - image.crop.right * asset.width - cropLeft),\n height: Math.round(asset.height - image.crop.bottom * asset.height - cropTop)\n };\n var hotSpotVerticalRadius = image.hotspot.height * asset.height / 2;\n var hotSpotHorizontalRadius = image.hotspot.width * asset.width / 2;\n var hotSpotCenterX = image.hotspot.x * asset.width;\n var hotSpotCenterY = image.hotspot.y * asset.height;\n var hotspot = {\n left: hotSpotCenterX - hotSpotHorizontalRadius,\n top: hotSpotCenterY - hotSpotVerticalRadius,\n right: hotSpotCenterX + hotSpotHorizontalRadius,\n bottom: hotSpotCenterY + hotSpotVerticalRadius\n };\n if (!(spec.rect || spec.focalPoint || spec.ignoreImageParams || spec.crop)) {\n spec = _extends(_extends({}, spec), fit({\n crop: crop,\n hotspot: hotspot\n }, spec));\n }\n return specToImageUrl(_extends(_extends({}, spec), {}, {\n asset: asset\n }));\n }\n function specToImageUrl(spec) {\n var cdnUrl = spec.baseUrl || 'https://cdn.sanity.io';\n var filename = spec.asset.id + \"-\" + spec.asset.width + \"x\" + spec.asset.height + \".\" + spec.asset.format;\n var baseUrl = cdnUrl + \"/images/\" + spec.projectId + \"/\" + spec.dataset + \"/\" + filename;\n var params = [];\n if (spec.rect) {\n var _spec$rect = spec.rect,\n left = _spec$rect.left,\n top = _spec$rect.top,\n width = _spec$rect.width,\n height = _spec$rect.height;\n var isEffectiveCrop = left !== 0 || top !== 0 || height !== spec.asset.height || width !== spec.asset.width;\n if (isEffectiveCrop) {\n params.push(\"rect=\" + left + \",\" + top + \",\" + width + \",\" + height);\n }\n }\n if (spec.bg) {\n params.push(\"bg=\" + spec.bg);\n }\n if (spec.focalPoint) {\n params.push(\"fp-x=\" + spec.focalPoint.x);\n params.push(\"fp-y=\" + spec.focalPoint.y);\n }\n var flip = [spec.flipHorizontal && 'h', spec.flipVertical && 'v'].filter(Boolean).join('');\n if (flip) {\n params.push(\"flip=\" + flip);\n }\n SPEC_NAME_TO_URL_NAME_MAPPINGS.forEach(function (mapping) {\n var specName = mapping[0],\n param = mapping[1];\n if (typeof spec[specName] !== 'undefined') {\n params.push(param + \"=\" + encodeURIComponent(spec[specName]));\n } else if (typeof spec[param] !== 'undefined') {\n params.push(param + \"=\" + encodeURIComponent(spec[param]));\n }\n });\n if (params.length === 0) {\n return baseUrl;\n }\n return baseUrl + \"?\" + params.join('&');\n }\n function fit(source, spec) {\n var cropRect;\n var imgWidth = spec.width;\n var imgHeight = spec.height;\n if (!(imgWidth && imgHeight)) {\n return {\n width: imgWidth,\n height: imgHeight,\n rect: source.crop\n };\n }\n var crop = source.crop;\n var hotspot = source.hotspot;\n var desiredAspectRatio = imgWidth / imgHeight;\n var cropAspectRatio = crop.width / crop.height;\n if (cropAspectRatio > desiredAspectRatio) {\n var height = crop.height;\n var width = height * desiredAspectRatio;\n var top = crop.top;\n var hotspotXCenter = (hotspot.right - hotspot.left) / 2 + hotspot.left;\n var left = hotspotXCenter - width / 2;\n if (left < crop.left) {\n left = crop.left;\n } else if (left + width > crop.left + crop.width) {\n left = crop.left + crop.width - width;\n }\n cropRect = {\n left: Math.round(left),\n top: Math.round(top),\n width: Math.round(width),\n height: Math.round(height)\n };\n } else {\n var _width = crop.width;\n var _height = _width / desiredAspectRatio;\n var _left = crop.left;\n var hotspotYCenter = (hotspot.bottom - hotspot.top) / 2 + hotspot.top;\n var _top = hotspotYCenter - _height / 2;\n if (_top < crop.top) {\n _top = crop.top;\n } else if (_top + _height > crop.top + crop.height) {\n _top = crop.top + crop.height - _height;\n }\n cropRect = {\n left: Math.max(0, Math.floor(_left)),\n top: Math.max(0, Math.floor(_top)),\n width: Math.round(_width),\n height: Math.round(_height)\n };\n }\n return {\n width: imgWidth,\n height: imgHeight,\n rect: cropRect\n };\n }\n var validFits = ['clip', 'crop', 'fill', 'fillmax', 'max', 'scale', 'min'];\n var validCrops = ['top', 'bottom', 'left', 'right', 'center', 'focalpoint', 'entropy'];\n var validAutoModes = ['format'];\n function isSanityClientLike(client) {\n return client ? typeof client.clientConfig === 'object' : false;\n }\n function rewriteSpecName(key) {\n var specs = SPEC_NAME_TO_URL_NAME_MAPPINGS;\n for (var _iterator = _createForOfIteratorHelperLoose(specs), _step; !(_step = _iterator()).done;) {\n var entry = _step.value;\n var specName = entry[0],\n param = entry[1];\n if (key === specName || key === param) {\n return specName;\n }\n }\n return key;\n }\n function urlBuilder(options) {\n var client = options;\n if (isSanityClientLike(client)) {\n var _client$clientConfig = client.clientConfig,\n apiUrl = _client$clientConfig.apiHost,\n projectId = _client$clientConfig.projectId,\n dataset = _client$clientConfig.dataset;\n var apiHost = apiUrl || 'https://api.sanity.io';\n return new ImageUrlBuilder(null, {\n baseUrl: apiHost.replace(/^https:\\/\\/api\\./, 'https://cdn.'),\n projectId: projectId,\n dataset: dataset\n });\n }\n return new ImageUrlBuilder(null, options);\n }\n var ImageUrlBuilder = /*#__PURE__*/function () {\n function ImageUrlBuilder(parent, options) {\n this.options = parent ? _extends(_extends({}, parent.options || {}), options || {}) : _extends({}, options || {});\n }\n var _proto = ImageUrlBuilder.prototype;\n _proto.withOptions = function withOptions(options) {\n var baseUrl = options.baseUrl || this.options.baseUrl;\n var newOptions = {\n baseUrl: baseUrl\n };\n for (var key in options) {\n if (options.hasOwnProperty(key)) {\n var specKey = rewriteSpecName(key);\n newOptions[specKey] = options[key];\n }\n }\n return new ImageUrlBuilder(this, _extends({\n baseUrl: baseUrl\n }, newOptions));\n };\n _proto.image = function image(source) {\n return this.withOptions({\n source: source\n });\n };\n _proto.dataset = function dataset(_dataset) {\n return this.withOptions({\n dataset: _dataset\n });\n };\n _proto.projectId = function projectId(_projectId) {\n return this.withOptions({\n projectId: _projectId\n });\n };\n _proto.bg = function bg(_bg) {\n return this.withOptions({\n bg: _bg\n });\n };\n _proto.dpr = function dpr(_dpr) {\n return this.withOptions({\n dpr: _dpr\n });\n };\n _proto.width = function width(_width) {\n return this.withOptions({\n width: _width\n });\n };\n _proto.height = function height(_height) {\n return this.withOptions({\n height: _height\n });\n };\n _proto.focalPoint = function focalPoint(x, y) {\n return this.withOptions({\n focalPoint: {\n x: x,\n y: y\n }\n });\n };\n _proto.maxWidth = function maxWidth(_maxWidth) {\n return this.withOptions({\n maxWidth: _maxWidth\n });\n };\n _proto.minWidth = function minWidth(_minWidth) {\n return this.withOptions({\n minWidth: _minWidth\n });\n };\n _proto.maxHeight = function maxHeight(_maxHeight) {\n return this.withOptions({\n maxHeight: _maxHeight\n });\n };\n _proto.minHeight = function minHeight(_minHeight) {\n return this.withOptions({\n minHeight: _minHeight\n });\n };\n _proto.size = function size(width, height) {\n return this.withOptions({\n width: width,\n height: height\n });\n };\n _proto.blur = function blur(_blur) {\n return this.withOptions({\n blur: _blur\n });\n };\n _proto.sharpen = function sharpen(_sharpen) {\n return this.withOptions({\n sharpen: _sharpen\n });\n };\n _proto.rect = function rect(left, top, width, height) {\n return this.withOptions({\n rect: {\n left: left,\n top: top,\n width: width,\n height: height\n }\n });\n };\n _proto.format = function format(_format) {\n return this.withOptions({\n format: _format\n });\n };\n _proto.invert = function invert(_invert) {\n return this.withOptions({\n invert: _invert\n });\n };\n _proto.orientation = function orientation(_orientation) {\n return this.withOptions({\n orientation: _orientation\n });\n };\n _proto.quality = function quality(_quality) {\n return this.withOptions({\n quality: _quality\n });\n };\n _proto.forceDownload = function forceDownload(download) {\n return this.withOptions({\n download: download\n });\n };\n _proto.flipHorizontal = function flipHorizontal() {\n return this.withOptions({\n flipHorizontal: true\n });\n };\n _proto.flipVertical = function flipVertical() {\n return this.withOptions({\n flipVertical: true\n });\n };\n _proto.ignoreImageParams = function ignoreImageParams() {\n return this.withOptions({\n ignoreImageParams: true\n });\n };\n _proto.fit = function fit(value) {\n if (validFits.indexOf(value) === -1) {\n throw new Error(\"Invalid fit mode \\\"\" + value + \"\\\"\");\n }\n return this.withOptions({\n fit: value\n });\n };\n _proto.crop = function crop(value) {\n if (validCrops.indexOf(value) === -1) {\n throw new Error(\"Invalid crop mode \\\"\" + value + \"\\\"\");\n }\n return this.withOptions({\n crop: value\n });\n };\n _proto.saturation = function saturation(_saturation) {\n return this.withOptions({\n saturation: _saturation\n });\n };\n _proto.auto = function auto(value) {\n if (validAutoModes.indexOf(value) === -1) {\n throw new Error(\"Invalid auto mode \\\"\" + value + \"\\\"\");\n }\n return this.withOptions({\n auto: value\n });\n };\n _proto.pad = function pad(_pad) {\n return this.withOptions({\n pad: _pad\n });\n };\n _proto.url = function url() {\n return urlForImage(this.options);\n };\n _proto.toString = function toString() {\n return this.url();\n };\n return ImageUrlBuilder;\n }();\n return urlBuilder;\n});","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false;\n return true;\n }\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n if (!equal(a[key], b[key])) return false;\n }\n return true;\n }\n\n // true if both NaN, false otherwise\n return a !== a && b !== b;\n};","(function (root, factory) {\n if (typeof exports === 'object') {\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n define(factory);\n } else {\n root.getYouTubeID = factory();\n }\n})(this, function (exports) {\n return function (url, opts) {\n if (opts == undefined) {\n opts = {\n fuzzy: true\n };\n }\n if (/youtu\\.?be/.test(url)) {\n // Look first for known patterns\n var i;\n var patterns = [/youtu\\.be\\/([^#\\&\\?]{11})/,\n // youtu.be/\n /\\?v=([^#\\&\\?]{11})/,\n // ?v=\n /\\&v=([^#\\&\\?]{11})/,\n // &v=\n /embed\\/([^#\\&\\?]{11})/,\n // embed/\n /\\/v\\/([^#\\&\\?]{11})/ // /v/\n ];\n\n // If any pattern matches, return the ID\n for (i = 0; i < patterns.length; ++i) {\n if (patterns[i].test(url)) {\n return patterns[i].exec(url)[1];\n }\n }\n if (opts.fuzzy) {\n // If that fails, break it apart by certain characters and look \n // for the 11 character key\n var tokens = url.split(/[\\/\\&\\?=#\\.\\s]/g);\n for (i = 0; i < tokens.length; ++i) {\n if (/^[^#\\&\\?]{11}$/.test(tokens[i])) {\n return tokens[i];\n }\n }\n }\n }\n return null;\n };\n});","module.exports = function load(src, opts, cb) {\n var head = document.head || document.getElementsByTagName('head')[0];\n var script = document.createElement('script');\n if (typeof opts === 'function') {\n cb = opts;\n opts = {};\n }\n opts = opts || {};\n cb = cb || function () {};\n script.type = opts.type || 'text/javascript';\n script.charset = opts.charset || 'utf8';\n script.async = 'async' in opts ? !!opts.async : true;\n script.src = src;\n if (opts.attrs) {\n setAttributes(script, opts.attrs);\n }\n if (opts.text) {\n script.text = '' + opts.text;\n }\n var onend = 'onload' in script ? stdOnEnd : ieOnEnd;\n onend(script, cb);\n\n // some good legacy browsers (firefox) fail the 'in' detection above\n // so as a fallback we always set onload\n // old IE will ignore this and new IE will set onload\n if (!script.onload) {\n stdOnEnd(script, cb);\n }\n head.appendChild(script);\n};\nfunction setAttributes(script, attrs) {\n for (var attr in attrs) {\n script.setAttribute(attr, attrs[attr]);\n }\n}\nfunction stdOnEnd(script, cb) {\n script.onload = function () {\n this.onerror = this.onload = null;\n cb(null, script);\n };\n script.onerror = function () {\n // this.onload = null here is necessary\n // because even IE9 works not like others\n this.onerror = this.onload = null;\n cb(new Error('Failed to load ' + this.src), script);\n };\n}\nfunction ieOnEnd(script, cb) {\n script.onreadystatechange = function () {\n if (this.readyState != 'complete' && this.readyState != 'loaded') return;\n this.onreadystatechange = null;\n cb(null, script); // there is no way to catch loading errors in IE8\n };\n}","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\nfunction noop() {}\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\nprocess.listeners = function (name) {\n return [];\n};\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\nprocess.cwd = function () {\n return '/';\n};\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n return 0;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _react = require('react');\nvar _react2 = _interopRequireDefault(_react);\nvar _propTypes = require('prop-types');\nvar _propTypes2 = _interopRequireDefault(_propTypes);\nvar _shallowEqual = require('./utils/shallowEqual');\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\nvar _series = require('./utils/series');\nvar _series2 = _interopRequireDefault(_series);\nvar _whilst = require('./utils/whilst');\nvar _whilst2 = _interopRequireDefault(_whilst);\nvar _throttle = require('./utils/throttle');\nvar _throttle2 = _interopRequireDefault(_throttle);\nvar _uniqueId = require('./utils/uniqueId');\nvar _uniqueId2 = _interopRequireDefault(_uniqueId);\nvar _innerSize = require('./utils/innerSize');\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\nfunction assertElementFitsWidth(el, width) {\n // -1: temporary bugfix, will be refactored soon\n return el.scrollWidth - 1 <= width;\n}\nfunction assertElementFitsHeight(el, height) {\n // -1: temporary bugfix, will be refactored soon\n return el.scrollHeight - 1 <= height;\n}\nfunction noop() {}\nvar TextFit = function (_React$Component) {\n _inherits(TextFit, _React$Component);\n function TextFit(props) {\n _classCallCheck(this, TextFit);\n var _this = _possibleConstructorReturn(this, (TextFit.__proto__ || Object.getPrototypeOf(TextFit)).call(this, props));\n _this.state = {\n fontSize: null,\n ready: false\n };\n _this.handleWindowResize = function () {\n _this.process();\n };\n if ('perfectFit' in props) {\n console.warn('TextFit property perfectFit has been removed.');\n }\n _this.handleWindowResize = (0, _throttle2.default)(_this.handleWindowResize, props.throttle);\n return _this;\n }\n _createClass(TextFit, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var autoResize = this.props.autoResize;\n if (autoResize) {\n window.addEventListener('resize', this.handleWindowResize);\n }\n this.process();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var ready = this.state.ready;\n if (!ready) return;\n if ((0, _shallowEqual2.default)(this.props, prevProps)) return;\n this.process();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n var autoResize = this.props.autoResize;\n if (autoResize) {\n window.removeEventListener('resize', this.handleWindowResize);\n }\n // Setting a new pid will cancel all running processes\n this.pid = (0, _uniqueId2.default)();\n }\n }, {\n key: 'process',\n value: function process() {\n var _this2 = this;\n var _props = this.props,\n min = _props.min,\n max = _props.max,\n mode = _props.mode,\n forceSingleModeWidth = _props.forceSingleModeWidth,\n onReady = _props.onReady;\n var el = this._parent;\n var wrapper = this._child;\n var originalWidth = (0, _innerSize.innerWidth)(el);\n var originalHeight = (0, _innerSize.innerHeight)(el);\n if (originalHeight <= 0 || isNaN(originalHeight)) {\n console.warn('Can not process element without height. Make sure the element is displayed and has a static height.');\n return;\n }\n if (originalWidth <= 0 || isNaN(originalWidth)) {\n console.warn('Can not process element without width. Make sure the element is displayed and has a static width.');\n return;\n }\n var pid = (0, _uniqueId2.default)();\n this.pid = pid;\n var shouldCancelProcess = function shouldCancelProcess() {\n return pid !== _this2.pid;\n };\n var testPrimary = mode === 'multi' ? function () {\n return assertElementFitsHeight(wrapper, originalHeight);\n } : function () {\n return assertElementFitsWidth(wrapper, originalWidth);\n };\n var testSecondary = mode === 'multi' ? function () {\n return assertElementFitsWidth(wrapper, originalWidth);\n } : function () {\n return assertElementFitsHeight(wrapper, originalHeight);\n };\n var mid = void 0;\n var low = min;\n var high = max;\n this.setState({\n ready: false\n });\n (0, _series2.default)([\n // Step 1:\n // Binary search to fit the element's height (multi line) / width (single line)\n function (stepCallback) {\n return (0, _whilst2.default)(function () {\n return low <= high;\n }, function (whilstCallback) {\n if (shouldCancelProcess()) return whilstCallback(true);\n mid = parseInt((low + high) / 2, 10);\n _this2.setState({\n fontSize: mid\n }, function () {\n if (shouldCancelProcess()) return whilstCallback(true);\n if (testPrimary()) low = mid + 1;else high = mid - 1;\n return whilstCallback();\n });\n }, stepCallback);\n },\n // Step 2:\n // Binary search to fit the element's width (multi line) / height (single line)\n // If mode is single and forceSingleModeWidth is true, skip this step\n // in order to not fit the elements height and decrease the width\n function (stepCallback) {\n if (mode === 'single' && forceSingleModeWidth) return stepCallback();\n if (testSecondary()) return stepCallback();\n low = min;\n high = mid;\n return (0, _whilst2.default)(function () {\n return low < high;\n }, function (whilstCallback) {\n if (shouldCancelProcess()) return whilstCallback(true);\n mid = parseInt((low + high) / 2, 10);\n _this2.setState({\n fontSize: mid\n }, function () {\n if (pid !== _this2.pid) return whilstCallback(true);\n if (testSecondary()) low = mid + 1;else high = mid - 1;\n return whilstCallback();\n });\n }, stepCallback);\n },\n // Step 3\n // Limits\n function (stepCallback) {\n // We break the previous loop without updating mid for the final time,\n // so we do it here:\n mid = Math.min(low, high);\n\n // Ensure we hit the user-supplied limits\n mid = Math.max(mid, min);\n mid = Math.min(mid, max);\n\n // Sanity check:\n mid = Math.max(mid, 0);\n if (shouldCancelProcess()) return stepCallback(true);\n _this2.setState({\n fontSize: mid\n }, stepCallback);\n }], function (err) {\n // err will be true, if another process was triggered\n if (err || shouldCancelProcess()) return;\n _this2.setState({\n ready: true\n }, function () {\n return onReady(mid);\n });\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n var _props2 = this.props,\n children = _props2.children,\n text = _props2.text,\n style = _props2.style,\n min = _props2.min,\n max = _props2.max,\n mode = _props2.mode,\n forceWidth = _props2.forceWidth,\n forceSingleModeWidth = _props2.forceSingleModeWidth,\n throttle = _props2.throttle,\n autoResize = _props2.autoResize,\n onReady = _props2.onReady,\n props = _objectWithoutProperties(_props2, ['children', 'text', 'style', 'min', 'max', 'mode', 'forceWidth', 'forceSingleModeWidth', 'throttle', 'autoResize', 'onReady']);\n var _state = this.state,\n fontSize = _state.fontSize,\n ready = _state.ready;\n var finalStyle = _extends({}, style, {\n fontSize: fontSize\n });\n var wrapperStyle = {\n display: ready ? 'block' : 'inline-block'\n };\n if (mode === 'single') wrapperStyle.whiteSpace = 'nowrap';\n return _react2.default.createElement('div', _extends({\n ref: function ref(c) {\n return _this3._parent = c;\n },\n style: finalStyle\n }, props), _react2.default.createElement('div', {\n ref: function ref(c) {\n return _this3._child = c;\n },\n style: wrapperStyle\n }, text && typeof children === 'function' ? ready ? children(text) : text : children));\n }\n }]);\n return TextFit;\n}(_react2.default.Component);\nTextFit.propTypes = {\n children: _propTypes2.default.node,\n text: _propTypes2.default.string,\n min: _propTypes2.default.number,\n max: _propTypes2.default.number,\n mode: _propTypes2.default.oneOf(['single', 'multi']),\n forceSingleModeWidth: _propTypes2.default.bool,\n throttle: _propTypes2.default.number,\n onReady: _propTypes2.default.func\n};\nTextFit.defaultProps = {\n min: 1,\n max: 100,\n mode: 'multi',\n forceSingleModeWidth: true,\n throttle: 50,\n autoResize: true,\n onReady: noop\n};\nexports.default = TextFit;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Textfit = undefined;\nvar _Textfit = require('./Textfit');\nvar _Textfit2 = _interopRequireDefault(_Textfit);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nexports.Textfit = _Textfit2.default;\nexports.default = _Textfit2.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.innerHeight = innerHeight;\nexports.innerWidth = innerWidth;\n// Calculate height without padding.\nfunction innerHeight(el) {\n var style = window.getComputedStyle(el, null);\n // Hidden iframe in Firefox returns null, https://github.com/malte-wessel/react-textfit/pull/34\n if (!style) return el.clientHeight;\n return el.clientHeight - parseInt(style.getPropertyValue(\"padding-top\"), 10) - parseInt(style.getPropertyValue(\"padding-bottom\"), 10);\n}\n\n// Calculate width without padding.\nfunction innerWidth(el) {\n var style = window.getComputedStyle(el, null);\n // Hidden iframe in Firefox returns null, https://github.com/malte-wessel/react-textfit/pull/34\n if (!style) return el.clientWidth;\n return el.clientWidth - parseInt(style.getPropertyValue(\"padding-left\"), 10) - parseInt(style.getPropertyValue(\"padding-right\"), 10);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = series;\nvar _process = require('process');\nvar _process2 = _interopRequireDefault(_process);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction series(tasks, cb) {\n var results = [];\n var current = 0;\n var isSync = true;\n function done(err) {\n function end() {\n if (cb) cb(err, results);\n }\n if (isSync) _process2.default.nextTick(end);else end();\n }\n function each(err, result) {\n results.push(result);\n if (++current >= tasks.length || err) done(err);else tasks[current](each);\n }\n if (tasks.length > 0) tasks[0](each);else done(null);\n isSync = false;\n} /**\n * Run the functions in the tasks array in series, each one running once the previous function has completed.\n * If any functions in the series pass an error to its callback, no more functions are run,\n * and callback is immediately called with the value of the error. Otherwise, callback receives an array of results\n * when tasks have completed.\n * Taken from https://github.com/feross/run-series\n *\n * @params {Array} tasks An array containing functions to run, each function is passed a callback(err, result) which it must call on completion with an error err (which can be null) and an optional result value.\n * @params {Function} callback(err, results) - An optional callback to run once all the functions have completed. This function gets a results array containing all the result arguments passed to the task callbacks.\n */","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = shallowEqual;\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n return true;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = throttle;\n/**\n * Returns a new function that, when invoked, invokes `func` at most once per `wait` milliseconds.\n * Taken from https://github.com/component/throttle v1.0.0\n *\n * @param {Function} func Function to wrap.\n * @param {Number} wait Number of milliseconds that must elapse between `func` invocations.\n * @return {Function} A new function that wraps the `func` function passed in.\n */\n\nfunction throttle(func, wait) {\n var ctx = void 0;\n var args = void 0;\n var rtn = void 0;\n var timeoutID = void 0;\n var last = 0;\n function call() {\n timeoutID = 0;\n last = +new Date();\n rtn = func.apply(ctx, args);\n ctx = null;\n args = null;\n }\n return function throttled() {\n ctx = this;\n args = arguments;\n var delta = new Date() - last;\n if (!timeoutID) {\n if (delta >= wait) call();else timeoutID = setTimeout(call, wait - delta);\n }\n return rtn;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = uniqueId;\nvar uid = 0;\nfunction uniqueId() {\n return uid++;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = whilst;\nvar noop = function noop() {};\n\n/**\n * Repeatedly call fn, while test returns true. Calls callback when stopped, or an error occurs.\n *\n * @param {Function} test Synchronous truth test to perform before each execution of fn.\n * @param {Function} fn A function which is called each time test passes. The function is passed a callback(err), which must be called once it has completed with an optional err argument.\n * @param {Function} callback A callback which is called after the test fails and repeated execution of fn has stopped.\n */\n\nfunction whilst(test, iterator) {\n var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : noop;\n if (test()) {\n iterator(function next(err) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (err) {\n callback(err);\n } else if (test.apply(this, args)) {\n iterator(next);\n } else {\n callback(null);\n }\n });\n } else {\n callback(null);\n }\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nimport React from 'react';\nimport isEqual from 'fast-deep-equal';\nimport youTubePlayer from 'youtube-player';\n/**\n * Check whether a `props` change should result in the video being updated.\n *\n * @param {Object} prevProps\n * @param {Object} props\n */\n\nfunction shouldUpdateVideo(prevProps, props) {\n // A changing video should always trigger an update\n if (prevProps.videoId !== props.videoId) {\n return true;\n } // Otherwise, a change in the start/end time playerVars also requires a player\n // update.\n\n var prevVars = prevProps.opts.playerVars || {};\n var vars = props.opts.playerVars || {};\n return prevVars.start !== vars.start || prevVars.end !== vars.end;\n}\n/**\n * Neutralize API options that only require a video update, leaving only options\n * that require a player reset. The results can then be compared to see if a\n * player reset is necessary.\n *\n * @param {Object} opts\n */\n\nfunction filterResetOptions(opts) {\n return _objectSpread(_objectSpread({}, opts), {}, {\n height: 0,\n width: 0,\n playerVars: _objectSpread(_objectSpread({}, opts.playerVars), {}, {\n autoplay: 0,\n start: 0,\n end: 0\n })\n });\n}\n/**\n * Check whether a `props` change should result in the player being reset.\n * The player is reset when the `props.opts` change, except if the only change\n * is in the `start` and `end` playerVars, because a video update can deal with\n * those.\n *\n * @param {Object} prevProps\n * @param {Object} props\n */\n\nfunction shouldResetPlayer(prevProps, props) {\n return prevProps.videoId !== props.videoId || !isEqual(filterResetOptions(prevProps.opts), filterResetOptions(props.opts));\n}\n/**\n * Check whether a props change should result in an id or className update.\n *\n * @param {Object} prevProps\n * @param {Object} props\n */\n\nfunction shouldUpdatePlayer(prevProps, props) {\n return prevProps.id !== props.id || prevProps.className !== props.className || prevProps.opts.width !== props.opts.width || prevProps.opts.height !== props.opts.height || prevProps.title !== props.title;\n}\nvar YouTube = /*#__PURE__*/function (_React$Component) {\n _inherits(YouTube, _React$Component);\n var _super = _createSuper(YouTube);\n\n /**\n * Expose PlayerState constants for convenience. These constants can also be\n * accessed through the global YT object after the YouTube IFrame API is instantiated.\n * https://developers.google.com/youtube/iframe_api_reference#onStateChange\n */\n function YouTube(props) {\n var _this;\n _classCallCheck(this, YouTube);\n _this = _super.call(this, props);\n _defineProperty(_assertThisInitialized(_this), \"onPlayerReady\", function (event) {\n return _this.props.onReady(event);\n });\n _defineProperty(_assertThisInitialized(_this), \"onPlayerError\", function (event) {\n return _this.props.onError(event);\n });\n _defineProperty(_assertThisInitialized(_this), \"onPlayerStateChange\", function (event) {\n _this.props.onStateChange(event);\n switch (event.data) {\n case YouTube.PlayerState.ENDED:\n _this.props.onEnd(event);\n break;\n case YouTube.PlayerState.PLAYING:\n _this.props.onPlay(event);\n break;\n case YouTube.PlayerState.PAUSED:\n _this.props.onPause(event);\n break;\n default:\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"onPlayerPlaybackRateChange\", function (event) {\n return _this.props.onPlaybackRateChange(event);\n });\n _defineProperty(_assertThisInitialized(_this), \"onPlayerPlaybackQualityChange\", function (event) {\n return _this.props.onPlaybackQualityChange(event);\n });\n _defineProperty(_assertThisInitialized(_this), \"createPlayer\", function () {\n // do not attempt to create a player server-side, it won't work\n if (typeof document === 'undefined') return; // create player\n\n var playerOpts = _objectSpread(_objectSpread({}, _this.props.opts), {}, {\n // preload the `videoId` video if one is already given\n videoId: _this.props.videoId\n });\n _this.internalPlayer = youTubePlayer(_this.container, playerOpts); // attach event handlers\n\n _this.internalPlayer.on('ready', _this.onPlayerReady);\n _this.internalPlayer.on('error', _this.onPlayerError);\n _this.internalPlayer.on('stateChange', _this.onPlayerStateChange);\n _this.internalPlayer.on('playbackRateChange', _this.onPlayerPlaybackRateChange);\n _this.internalPlayer.on('playbackQualityChange', _this.onPlayerPlaybackQualityChange);\n });\n _defineProperty(_assertThisInitialized(_this), \"resetPlayer\", function () {\n return _this.internalPlayer.destroy().then(_this.createPlayer);\n });\n _defineProperty(_assertThisInitialized(_this), \"updatePlayer\", function () {\n _this.internalPlayer.getIframe().then(function (iframe) {\n if (_this.props.id) iframe.setAttribute('id', _this.props.id);else iframe.removeAttribute('id');\n if (_this.props.className) iframe.setAttribute('class', _this.props.className);else iframe.removeAttribute('class');\n if (_this.props.opts && _this.props.opts.width) iframe.setAttribute('width', _this.props.opts.width);else iframe.removeAttribute('width');\n if (_this.props.opts && _this.props.opts.height) iframe.setAttribute('height', _this.props.opts.height);else iframe.removeAttribute('height');\n if (typeof _this.props.title === 'string') iframe.setAttribute('title', _this.props.title);else iframe.setAttribute('title', 'YouTube video player');\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"getInternalPlayer\", function () {\n return _this.internalPlayer;\n });\n _defineProperty(_assertThisInitialized(_this), \"updateVideo\", function () {\n if (typeof _this.props.videoId === 'undefined' || _this.props.videoId === null) {\n _this.internalPlayer.stopVideo();\n return;\n } // set queueing options\n\n var autoplay = false;\n var opts = {\n videoId: _this.props.videoId\n };\n if ('playerVars' in _this.props.opts) {\n autoplay = _this.props.opts.playerVars.autoplay === 1;\n if ('start' in _this.props.opts.playerVars) {\n opts.startSeconds = _this.props.opts.playerVars.start;\n }\n if ('end' in _this.props.opts.playerVars) {\n opts.endSeconds = _this.props.opts.playerVars.end;\n }\n } // if autoplay is enabled loadVideoById\n\n if (autoplay) {\n _this.internalPlayer.loadVideoById(opts);\n return;\n } // default behaviour just cues the video\n\n _this.internalPlayer.cueVideoById(opts);\n });\n _defineProperty(_assertThisInitialized(_this), \"refContainer\", function (container) {\n _this.container = container;\n });\n _this.container = null;\n _this.internalPlayer = null;\n return _this;\n }\n _createClass(YouTube, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.createPlayer();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (shouldUpdatePlayer(prevProps, this.props)) {\n this.updatePlayer();\n }\n if (shouldResetPlayer(prevProps, this.props)) {\n this.resetPlayer();\n }\n if (shouldUpdateVideo(prevProps, this.props)) {\n this.updateVideo();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n /**\n * Note: The `youtube-player` package that is used promisifies all YouTube\n * Player API calls, which introduces a delay of a tick before it actually\n * gets destroyed. Since React attempts to remove the element instantly\n * this method isn't quick enough to reset the container element.\n */\n this.internalPlayer.destroy();\n }\n /**\n * https://developers.google.com/youtube/iframe_api_reference#onReady\n *\n * @param {Object} event\n * @param {Object} target - player object\n */\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: this.props.containerClassName\n }, /*#__PURE__*/React.createElement(\"div\", {\n id: this.props.id,\n className: this.props.className,\n ref: this.refContainer,\n loading: this.props.loading\n }));\n }\n }]);\n return YouTube;\n}(React.Component);\n_defineProperty(YouTube, \"PlayerState\", {\n UNSTARTED: -1,\n ENDED: 0,\n PLAYING: 1,\n PAUSED: 2,\n BUFFERING: 3,\n CUED: 5\n});\nYouTube.defaultProps = {\n videoId: null,\n id: null,\n className: null,\n loading: null,\n opts: {},\n containerClassName: '',\n onReady: function onReady() {},\n onError: function onError() {},\n onPlay: function onPlay() {},\n onPause: function onPause() {},\n onEnd: function onEnd() {},\n onStateChange: function onStateChange() {},\n onPlaybackRateChange: function onPlaybackRateChange() {},\n onPlaybackQualityChange: function onPlaybackQualityChange() {},\n title: null\n};\nexport default YouTube;","'use strict';\n\nvar Sister;\n\n/**\n* @link https://github.com/gajus/sister for the canonical source repository\n* @license https://github.com/gajus/sister/blob/master/LICENSE BSD 3-Clause\n*/\nSister = function () {\n var sister = {},\n events = {};\n\n /**\n * @name handler\n * @function\n * @param {Object} data Event data.\n */\n\n /**\n * @param {String} name Event name.\n * @param {handler} handler\n * @return {listener}\n */\n sister.on = function (name, handler) {\n var listener = {\n name: name,\n handler: handler\n };\n events[name] = events[name] || [];\n events[name].unshift(listener);\n return listener;\n };\n\n /**\n * @param {listener}\n */\n sister.off = function (listener) {\n var index = events[listener.name].indexOf(listener);\n if (index !== -1) {\n events[listener.name].splice(index, 1);\n }\n };\n\n /**\n * @param {String} name Event name.\n * @param {Object} data Event data.\n */\n sister.trigger = function (name, data) {\n var listeners = events[name],\n i;\n if (listeners) {\n i = listeners.length;\n while (i--) {\n listeners[i].handler(data);\n }\n }\n };\n return sister;\n};\nmodule.exports = Sister;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _PlayerStates = require('./constants/PlayerStates');\nvar _PlayerStates2 = _interopRequireDefault(_PlayerStates);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nexports.default = {\n pauseVideo: {\n acceptableStates: [_PlayerStates2.default.ENDED, _PlayerStates2.default.PAUSED],\n stateChangeRequired: false\n },\n playVideo: {\n acceptableStates: [_PlayerStates2.default.ENDED, _PlayerStates2.default.PLAYING],\n stateChangeRequired: false\n },\n seekTo: {\n acceptableStates: [_PlayerStates2.default.ENDED, _PlayerStates2.default.PLAYING, _PlayerStates2.default.PAUSED],\n stateChangeRequired: true,\n // TRICKY: `seekTo` may not cause a state change if no buffering is\n // required.\n timeout: 3000\n }\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _debug = require('debug');\nvar _debug2 = _interopRequireDefault(_debug);\nvar _functionNames = require('./functionNames');\nvar _functionNames2 = _interopRequireDefault(_functionNames);\nvar _eventNames = require('./eventNames');\nvar _eventNames2 = _interopRequireDefault(_eventNames);\nvar _FunctionStateMap = require('./FunctionStateMap');\nvar _FunctionStateMap2 = _interopRequireDefault(_FunctionStateMap);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\n/* eslint-disable promise/prefer-await-to-then */\n\nvar debug = (0, _debug2.default)('youtube-player');\nvar YouTubePlayer = {};\n\n/**\n * Construct an object that defines an event handler for all of the YouTube\n * player events. Proxy captured events through an event emitter.\n *\n * @todo Capture event parameters.\n * @see https://developers.google.com/youtube/iframe_api_reference#Events\n */\nYouTubePlayer.proxyEvents = function (emitter) {\n var events = {};\n var _loop = function _loop(eventName) {\n var onEventName = 'on' + eventName.slice(0, 1).toUpperCase() + eventName.slice(1);\n events[onEventName] = function (event) {\n debug('event \"%s\"', onEventName, event);\n emitter.trigger(eventName, event);\n };\n };\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n try {\n for (var _iterator = _eventNames2.default[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var eventName = _step.value;\n _loop(eventName);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return events;\n};\n\n/**\n * Delays player API method execution until player state is ready.\n *\n * @todo Proxy all of the methods using Object.keys.\n * @todo See TRICKY below.\n * @param playerAPIReady Promise that resolves when player is ready.\n * @param strictState A flag designating whether or not to wait for\n * an acceptable state when calling supported functions.\n * @returns {Object}\n */\nYouTubePlayer.promisifyPlayer = function (playerAPIReady) {\n var strictState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var functions = {};\n var _loop2 = function _loop2(functionName) {\n if (strictState && _FunctionStateMap2.default[functionName]) {\n functions[functionName] = function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return playerAPIReady.then(function (player) {\n var stateInfo = _FunctionStateMap2.default[functionName];\n var playerState = player.getPlayerState();\n\n // eslint-disable-next-line no-warning-comments\n // TODO: Just spread the args into the function once Babel is fixed:\n // https://github.com/babel/babel/issues/4270\n //\n // eslint-disable-next-line prefer-spread\n var value = player[functionName].apply(player, args);\n\n // TRICKY: For functions like `seekTo`, a change in state must be\n // triggered given that the resulting state could match the initial\n // state.\n if (stateInfo.stateChangeRequired ||\n // eslint-disable-next-line no-extra-parens\n Array.isArray(stateInfo.acceptableStates) && stateInfo.acceptableStates.indexOf(playerState) === -1) {\n return new Promise(function (resolve) {\n var onPlayerStateChange = function onPlayerStateChange() {\n var playerStateAfterChange = player.getPlayerState();\n var timeout = void 0;\n if (typeof stateInfo.timeout === 'number') {\n timeout = setTimeout(function () {\n player.removeEventListener('onStateChange', onPlayerStateChange);\n resolve();\n }, stateInfo.timeout);\n }\n if (Array.isArray(stateInfo.acceptableStates) && stateInfo.acceptableStates.indexOf(playerStateAfterChange) !== -1) {\n player.removeEventListener('onStateChange', onPlayerStateChange);\n clearTimeout(timeout);\n resolve();\n }\n };\n player.addEventListener('onStateChange', onPlayerStateChange);\n }).then(function () {\n return value;\n });\n }\n return value;\n });\n };\n } else {\n functions[functionName] = function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return playerAPIReady.then(function (player) {\n // eslint-disable-next-line no-warning-comments\n // TODO: Just spread the args into the function once Babel is fixed:\n // https://github.com/babel/babel/issues/4270\n //\n // eslint-disable-next-line prefer-spread\n return player[functionName].apply(player, args);\n });\n };\n }\n };\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n try {\n for (var _iterator2 = _functionNames2.default[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var functionName = _step2.value;\n _loop2(functionName);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return functions;\n};\nexports.default = YouTubePlayer;\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n BUFFERING: 3,\n ENDED: 0,\n PAUSED: 2,\n PLAYING: 1,\n UNSTARTED: -1,\n VIDEO_CUED: 5\n};\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @see https://developers.google.com/youtube/iframe_api_reference#Events\n * `volumeChange` is not officially supported but seems to work\n * it emits an object: `{volume: 82.6923076923077, muted: false}`\n */\nexports.default = ['ready', 'stateChange', 'playbackQualityChange', 'playbackRateChange', 'error', 'apiChange', 'volumeChange'];\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @see https://developers.google.com/youtube/iframe_api_reference#Functions\n */\nexports.default = ['cueVideoById', 'loadVideoById', 'cueVideoByUrl', 'loadVideoByUrl', 'playVideo', 'pauseVideo', 'stopVideo', 'getVideoLoadedFraction', 'cuePlaylist', 'loadPlaylist', 'nextVideo', 'previousVideo', 'playVideoAt', 'setShuffle', 'setLoop', 'getPlaylist', 'getPlaylistIndex', 'setOption', 'mute', 'unMute', 'isMuted', 'setVolume', 'getVolume', 'seekTo', 'getPlayerState', 'getPlaybackRate', 'setPlaybackRate', 'getAvailablePlaybackRates', 'getPlaybackQuality', 'setPlaybackQuality', 'getAvailableQualityLevels', 'getCurrentTime', 'getDuration', 'removeEventListener', 'getVideoUrl', 'getVideoEmbedCode', 'getOptions', 'getOption', 'addEventListener', 'destroy', 'setSize', 'getIframe'];\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\nvar _sister = require('sister');\nvar _sister2 = _interopRequireDefault(_sister);\nvar _loadYouTubeIframeApi = require('./loadYouTubeIframeApi');\nvar _loadYouTubeIframeApi2 = _interopRequireDefault(_loadYouTubeIframeApi);\nvar _YouTubePlayer = require('./YouTubePlayer');\nvar _YouTubePlayer2 = _interopRequireDefault(_YouTubePlayer);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\n/**\n * @typedef YT.Player\n * @see https://developers.google.com/youtube/iframe_api_reference\n * */\n\n/**\n * @see https://developers.google.com/youtube/iframe_api_reference#Loading_a_Video_Player\n */\nvar youtubeIframeAPI = void 0;\n\n/**\n * A factory function used to produce an instance of YT.Player and queue function calls and proxy events of the resulting object.\n *\n * @param maybeElementId Either An existing YT.Player instance,\n * the DOM element or the id of the HTML element where the API will insert an