@micromag/viewer-build 0.2.401 → 0.2.403

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/main.b2971de4.js","mappings":"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","sources":["../../../elements/audio/es/index.js","../../../elements/closed-captions/es/index.js","../../../elements/media-controls/es/index.js","../../../elements/video/es/index.js","../../../elements/background/es/index.js","../../../elements/container/es/index.js","../../../elements/stack/es/index.js","../../../elements/layout/es/index.js","../../../elements/text/es/index.js","../../../elements/call-to-action/es/index.js","../../../screens/audio/es/index.js","../../data/es/index.js","../../../elements/button/es/index.js","../../../elements/heading/es/index.js","../../../elements/scroll/es/index.js","../../../elements/text-input/es/index.js","../../../screens/contribution/es/index.js","../../../elements/image/es/index.js","../../../elements/visual/es/index.js","../../../screens/conversation/es/index.js","../../../elements/grid/es/index.js","../../../screens/gallery/es/index.js","../../../screens/gallery-feed/es/index.js","../../../screens/image/es/index.js","../../../elements/map/es/index.js","../../../screens/map/es/index.js","../../../screens/quiz/es/index.js","../../../elements/quote/es/index.js","../../../screens/quote/es/index.js","../../../screens/ranking/es/index.js","../../../screens/slideshow/es/index.js","../../../screens/survey/es/index.js","../../../screens/text/es/index.js","../../../screens/timeline/es/index.js","../../../screens/title/es/index.js","../../../screens/video/es/index.js","../../../screens/video-360/es/index.js","../../screens/es/index.js","../../viewer/es/index.js","index.js","public-path.js","../../core/lib/components.js","../../core/lib/contexts.js","../../core/lib/hooks.js","../../core/lib/index.js","../../core/lib/utils.js","../../fields/lib/manager.js","../../intl/lib/index.js","../../transforms/lib/apple-news.js","../../transforms/lib/utils.js"],"sourcesContent":["import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useUserInteracted } from '@micromag/core/contexts';\nimport { useResizeObserver, useMediaApi } from '@micromag/core/hooks';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useCallback, useState } from 'react';\nimport { useSpring } from '@react-spring/core';\nimport { animated } from '@react-spring/web';\nimport { useGesture } from 'react-use-gesture';\nimport 'whatwg-fetch';\n\nvar styles$1 = {\"container\":\"micromag-element-audio-audio-wave-container\",\"button\":\"micromag-element-audio-audio-wave-button\",\"canvasBackground\":\"micromag-element-audio-audio-wave-canvasBackground\",\"canvasProgress\":\"micromag-element-audio-audio-wave-canvasProgress\"};\n\nvar propTypes$1 = {\n currentTime: PropTypes.number,\n duration: PropTypes.number,\n playing: PropTypes.bool,\n sampleWidth: PropTypes.number,\n sampleMargin: PropTypes.number,\n minSampleHeight: PropTypes.number,\n backgroundColor: PropTypes.string,\n progressColor: PropTypes.string,\n audioLevels: PropTypes.arrayOf(PropTypes.number),\n className: PropTypes.string,\n onSeek: PropTypes.func,\n onResume: PropTypes.func,\n onReady: PropTypes.func\n};\nvar defaultProps$1 = {\n currentTime: null,\n duration: null,\n playing: false,\n sampleWidth: 3,\n sampleMargin: 1,\n minSampleHeight: 2,\n backgroundColor: 'white',\n progressColor: 'lightblue',\n audioLevels: null,\n className: null,\n onSeek: null,\n onResume: null,\n onReady: null\n};\n\nvar AudioWave = function AudioWave(_ref) {\n var currentTime = _ref.currentTime,\n duration = _ref.duration,\n playing = _ref.playing,\n sampleWidth = _ref.sampleWidth,\n sampleMargin = _ref.sampleMargin,\n minSampleHeight = _ref.minSampleHeight,\n backgroundColor = _ref.backgroundColor,\n progressColor = _ref.progressColor,\n audioLevels = _ref.audioLevels,\n className = _ref.className,\n onSeek = _ref.onSeek,\n onResume = _ref.onResume,\n onReady = _ref.onReady;\n var canvasBackgroundRef = useRef(null);\n var canvasProgressRef = useRef(null);\n\n var _useResizeObserver = useResizeObserver(),\n elRef = _useResizeObserver.ref,\n elContentRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = elContentRect || {},\n _ref2$width = _ref2.width,\n elWidth = _ref2$width === void 0 ? null : _ref2$width,\n elHeight = _ref2.height; // Linear animation for progress bar\n\n\n var _useSpring = useSpring(function () {\n return {\n x: 0,\n config: {\n duration: 0\n }\n };\n }),\n _useSpring2 = _slicedToArray(_useSpring, 2),\n springProps = _useSpring2[0],\n setSpringProps = _useSpring2[1];\n\n useEffect(function () {\n if (currentTime === null || duration === null) {\n return;\n }\n\n var progress = currentTime / duration;\n setSpringProps.start({\n reset: true,\n immediate: !playing,\n from: {\n x: progress\n },\n to: {\n x: playing ? 1 : progress\n },\n config: {\n duration: (duration - currentTime) * 1000\n }\n });\n }, [playing, duration, currentTime, setSpringProps]); // draw canvas\n\n useEffect(function () {\n if (audioLevels === null || audioLevels.length === 0 || elRef.current === null) {\n return;\n }\n\n var sampleOuterWidth = sampleWidth + sampleMargin * 2;\n var samplesCount = Math.floor(elWidth / sampleOuterWidth); // const amplitudes = [];\n // get samples\n\n var levelsBySamples = audioLevels.length / samplesCount;\n\n var amplitudes = _toConsumableArray(Array(samplesCount).keys()).reduce(function (newAmplitudes, index) {\n var levelStartIndex = index * levelsBySamples;\n var levelEndIndex = levelStartIndex + levelsBySamples;\n var newValues = [];\n\n for (var i = Math.floor(levelStartIndex); i < Math.round(levelEndIndex); i += 1) {\n newValues.push(audioLevels[i]);\n }\n\n return levelsBySamples >= 1 ? [].concat(_toConsumableArray(newAmplitudes), [newValues.reduce(function (total, value) {\n return total + value;\n }, 0) / newValues.length]) : [].concat(_toConsumableArray(newAmplitudes), newValues);\n }, []); // for (let sampleI = 0; sampleI < samplesCount; sampleI += levelsBySamples) {\n // // if (levelsBySamples >= 1) {\n // // const sampleSize = Math.floor(levelsBySamples);\n // // const sampleStart = sampleSize * sampleI;\n // // let sum = 0;\n // // for (let sampleSizeI = 0; sampleSizeI < sampleSize; sampleSizeI += 1) {\n // // sum += Math.abs(audioLevels[sampleStart + sampleSizeI]);\n // // }\n // // amplitudes.push(sum / sampleSize);\n // // } else {\n // console.log(sampleI);\n // amplitudes.push(Math.abs(audioLevels[Math.floor(sampleI)]));\n // // for (let sampleSizeI = 0; sampleSizeI < sampleSize; sampleSizeI += 1) {\n // // console.log(sampleI, sampleSize);\n // // amplitudes.push(Math.abs(audioLevels[sampleI % sampleSize]));\n // // }\n // // }\n // }\n\n\n var minAmplitude = Math.min.apply(Math, _toConsumableArray(amplitudes));\n var maxAmplitude = Math.max.apply(Math, _toConsumableArray(amplitudes));\n var delta = maxAmplitude - minAmplitude;\n var normalizedAmplitudes = amplitudes.map(function (n) {\n return (n - minAmplitude) / delta;\n }); // draw samples\n\n var canvasBg = canvasBackgroundRef.current;\n var canvasProgress = canvasProgressRef.current;\n var scale = typeof window !== 'undefined' ? window.devicePixelRatio : 1;\n canvasBg.width = canvasProgress.width = Math.floor(elWidth * scale);\n canvasBg.height = canvasProgress.height = Math.floor(elHeight * scale);\n var ctxBG = canvasBg.getContext('2d');\n var ctxProgress = canvasProgress.getContext('2d');\n ctxBG.scale(scale, scale);\n ctxProgress.scale(scale, scale);\n ctxBG.clearRect(0, 0, elWidth, elHeight);\n ctxProgress.clearRect(0, 0, elWidth, elHeight);\n ctxBG.fillStyle = backgroundColor;\n ctxProgress.fillStyle = progressColor;\n var offsetLeft = (elWidth - samplesCount * sampleOuterWidth) / 2;\n normalizedAmplitudes.forEach(function (amplitude, amplitudeI) {\n var sampleHeight = Math.max(minSampleHeight, amplitude * elHeight);\n var sampleX = sampleOuterWidth * amplitudeI + offsetLeft + sampleMargin;\n var sampleY = elHeight / 2 - sampleHeight / 2;\n ctxBG.fillRect(Math.round(sampleX), Math.round(sampleY), sampleWidth, Math.round(sampleHeight));\n ctxProgress.fillRect(Math.round(sampleX), Math.round(sampleY), sampleWidth, Math.round(sampleHeight));\n });\n\n if (onReady !== null) {\n onReady();\n }\n }, [audioLevels, sampleWidth, sampleMargin, minSampleHeight, elWidth, elHeight, backgroundColor, progressColor, onReady]); // User events\n\n var seekFromX = useCallback(function (x) {\n var elX = elRef.current.getBoundingClientRect().left;\n var progress = Math.max(0, Math.min(1, (x - elX) / elWidth));\n\n if (onSeek !== null && duration !== null) {\n onSeek(progress * duration);\n }\n\n if (!playing) {\n onResume();\n }\n }, [duration, playing, onSeek, onResume]);\n var bind = useGesture({\n onDrag: function onDrag(_ref3) {\n var _ref3$xy = _slicedToArray(_ref3.xy, 1),\n x = _ref3$xy[0],\n elapsedTime = _ref3.elapsedTime,\n active = _ref3.active;\n\n if (!active && elapsedTime > 300) {\n return;\n }\n\n seekFromX(x);\n }\n }, {\n drag: {\n axis: 'x',\n filterTaps: true\n }\n });\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classNames([styles$1.container, _defineProperty({}, className, className !== null)]),\n ref: elRef\n }, bind()), /*#__PURE__*/React.createElement(\"canvas\", {\n ref: canvasBackgroundRef,\n className: styles$1.canvasBackground\n }), /*#__PURE__*/React.createElement(animated.canvas, {\n ref: canvasProgressRef,\n className: styles$1.canvasProgress,\n style: {\n clipPath: springProps.x.to(function (x) {\n return \"polygon(0 0, \".concat(x * 100, \"% 0, \").concat(x * 100, \"% 100%, 0 100%)\");\n })\n }\n }));\n};\n\nAudioWave.propTypes = propTypes$1;\nAudioWave.defaultProps = defaultProps$1;\n\nvar styles = {\"container\":\"micromag-element-audio-container\",\"wave\":\"micromag-element-audio-wave\"};\n\nvar _excluded = [\"ref\"];\nvar propTypes = {\n media: PropTypes$1.audioMedia,\n apiRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.any\n })]),\n initialMuted: PropTypes.oneOf(['auto', true, false]),\n autoPlay: PropTypes.bool,\n loop: PropTypes.bool,\n waveFake: PropTypes.bool,\n waveProps: PropTypes.shape({\n sampleWidth: PropTypes.number,\n sampleMargin: PropTypes.number,\n minSampleHeight: PropTypes.number\n }),\n reduceBufferFactor: PropTypes.number,\n className: PropTypes.string,\n onReady: PropTypes.func,\n onPlay: PropTypes.func,\n onPause: PropTypes.func,\n onEnded: PropTypes.func,\n onSeeked: PropTypes.func,\n onTimeUpdate: PropTypes.func,\n onProgressStep: PropTypes.func,\n onDurationChanged: PropTypes.func,\n onVolumeChanged: PropTypes.func\n};\nvar defaultProps = {\n media: null,\n apiRef: null,\n initialMuted: 'auto',\n autoPlay: false,\n loop: false,\n waveFake: false,\n waveProps: null,\n reduceBufferFactor: 100,\n className: null,\n onReady: null,\n onPlay: null,\n onPause: null,\n onEnded: null,\n onSeeked: null,\n onTimeUpdate: null,\n onProgressStep: null,\n onDurationChanged: null,\n onVolumeChanged: null\n};\n\nvar Audio = function Audio(_ref) {\n var media = _ref.media,\n apiRef = _ref.apiRef,\n initialMuted = _ref.initialMuted,\n autoPlay = _ref.autoPlay,\n loop = _ref.loop,\n waveFake = _ref.waveFake,\n waveProps = _ref.waveProps,\n reduceBufferFactor = _ref.reduceBufferFactor,\n className = _ref.className,\n onReady = _ref.onReady,\n onPlay = _ref.onPlay,\n onPause = _ref.onPause,\n onEnded = _ref.onEnded,\n onSeeked = _ref.onSeeked,\n onTimeUpdate = _ref.onTimeUpdate,\n onProgressStep = _ref.onProgressStep,\n onDurationChanged = _ref.onDurationChanged,\n onVolumeChanged = _ref.onVolumeChanged;\n\n var _ref2 = media || {},\n _ref2$url = _ref2.url,\n url = _ref2$url === void 0 ? null : _ref2$url,\n _ref2$metadata = _ref2.metadata,\n metadata = _ref2$metadata === void 0 ? null : _ref2$metadata;\n\n var _ref3 = metadata || {},\n _ref3$waveform = _ref3.waveform,\n waveform = _ref3$waveform === void 0 ? null : _ref3$waveform;\n\n var userInteracted = useUserInteracted();\n var finalInitialMuted = initialMuted === true || initialMuted === 'auto' && autoPlay && !userInteracted;\n\n var _useMediaApi = useMediaApi({\n url: url,\n initialMuted: finalInitialMuted,\n onPlay: onPlay,\n onPause: onPause,\n onEnded: onEnded,\n onSeeked: onSeeked,\n onTimeUpdate: onTimeUpdate,\n onProgressStep: onProgressStep,\n onDurationChanged: onDurationChanged,\n onVolumeChanged: onVolumeChanged\n }),\n ref = _useMediaApi.ref,\n api = _objectWithoutProperties(_useMediaApi, _excluded);\n\n if (apiRef !== null) {\n apiRef.current = api;\n apiRef.current.mediaRef = ref;\n }\n\n var currentTime = api.currentTime,\n duration = api.duration,\n playing = api.playing,\n seek = api.seek,\n audioReady = api.ready,\n play = api.play,\n pause = api.pause,\n muted = api.muted,\n unMute = api.unMute;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n audioLevels = _useState2[0],\n setAudioLevels = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n blobUrl = _useState4[0],\n setBlobUrl = _useState4[1];\n\n useEffect(function () {\n var canceled = false;\n var AudioContext = typeof window !== 'undefined' ? window.AudioContext || window.webkitAudioContext : null;\n\n if (waveform !== null) {\n setAudioLevels(waveform.map(function (it) {\n return (it + 256 / 2) / 256;\n }));\n } else if (url !== null && waveFake) {\n var fakeLength = 1000;\n setAudioLevels(_toConsumableArray(new Array(fakeLength)).map(function () {\n return Math.random();\n }));\n } else if (url !== null && AudioContext !== null) {\n fetch(url, {\n mode: 'cors'\n }).then(function (response) {\n if (canceled) {\n throw new Error('Audio loading canceled');\n }\n\n return response.arrayBuffer();\n }).then(function (arrayBuffer) {\n if (canceled) {\n throw new Error('Audio loading canceled');\n }\n\n setBlobUrl(URL.createObjectURL(new Blob([arrayBuffer])));\n var audioCtx = new AudioContext();\n return audioCtx.decodeAudioData(arrayBuffer);\n }).then(function (buffer) {\n var channelsCount = buffer.numberOfChannels;\n\n if (channelsCount > 0) {\n var leftChannelData = buffer.getChannelData(0);\n setAudioLevels(leftChannelData.reduce(function (newArray, level, levelIndex) {\n // if (levelIndex % reduceBufferFactor === 0) {\n // console.log(level, (level + 1) / 2);\n newArray[newArray.length] = Math.abs(level); // }\n\n return newArray;\n }, []));\n }\n })[\"catch\"](function (e) {\n throw e;\n });\n }\n\n return function () {\n if (url === null) {\n canceled = true;\n }\n };\n }, [url, waveform, setAudioLevels, setBlobUrl, reduceBufferFactor, waveFake]);\n var ready = waveFake || audioReady && blobUrl !== null;\n useEffect(function () {\n if (ready && onReady !== null) {\n onReady();\n }\n }, [ready, onReady]);\n useEffect(function () {\n if (autoPlay) {\n play();\n\n if (initialMuted === 'auto' && muted && userInteracted) {\n unMute();\n }\n } else {\n pause();\n }\n }, [autoPlay]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)])\n }, /*#__PURE__*/React.createElement(\"audio\", {\n key: url,\n ref: ref,\n src: waveFake ? url : blobUrl,\n autoPlay: autoPlay,\n muted: muted,\n loop: loop,\n crossOrigin: \"anonymous\",\n preload: \"none\"\n }), /*#__PURE__*/React.createElement(AudioWave, Object.assign({\n className: styles.wave,\n media: media,\n currentTime: currentTime\n }, waveProps, {\n duration: duration,\n playing: playing,\n onSeek: seek,\n onResume: play,\n audioLevels: audioLevels\n })));\n};\n\nAudio.propTypes = propTypes;\nAudio.defaultProps = defaultProps;\nvar Audio$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Audio, Object.assign({\n apiRef: ref\n }, props));\n});\n\nexport { AudioWave, Audio$1 as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport 'whatwg-fetch';\nimport React, { useState, useEffect, useCallback } from 'react';\nimport PropTypes$1 from 'prop-types';\nimport classNames from 'classnames';\nimport parseSRT from 'parse-srt';\nimport fetch from 'node-fetch';\nimport { PropTypes } from '@micromag/core';\nimport { getSecondsFromTime } from '@micromag/core/utils';\n\nvar styles = {\"container\":\"micromag-element-closed-captions-container\",\"captions\":\"micromag-element-closed-captions-captions\"};\n\nvar propTypes = {\n media: PropTypes.closedCaptionsMedia,\n currentTime: PropTypes$1.number,\n // in seconds\n timeOffset: PropTypes$1.string,\n // in srt time format (10:00:01,034)\n className: PropTypes$1.string\n};\nvar defaultProps = {\n media: null,\n currentTime: 0,\n timeOffset: null,\n className: null\n};\n\nvar ClosedCaptions = function ClosedCaptions(_ref) {\n var currentTime = _ref.currentTime,\n timeOffset = _ref.timeOffset,\n media = _ref.media,\n className = _ref.className;\n\n var _ref2 = media || {},\n _ref2$url = _ref2.url,\n url = _ref2$url === void 0 ? null : _ref2$url;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n lines = _useState2[0],\n setLines = _useState2[1];\n\n var _useState3 = useState(-1),\n _useState4 = _slicedToArray(_useState3, 2),\n lineIndex = _useState4[0],\n setLineIndex = _useState4[1];\n\n var startOffset = timeOffset !== null ? timeOffset.split(/[\\t ]*-->[\\t ]*/) : null;\n var startSeconds = startOffset !== null && startOffset.length ? getSecondsFromTime(startOffset[0]) : 0;\n useEffect(function () {\n if (url === null) {\n return;\n }\n\n fetch(url, {\n mode: 'cors'\n }).then(function (response) {\n return response.text();\n }).then(function (srt) {\n return parseSRT(srt);\n }).then(function (parsed) {\n setLines(parsed);\n })[\"catch\"](function (e) {\n console.error(e);\n });\n }, [url, fetch, setLines]);\n var getLineIndexFromTime = useCallback(function (t) {\n var currentLineIndex = lines.findIndex(function (line) {\n return t >= line.start - startSeconds && t <= line.end - startSeconds;\n });\n return currentLineIndex;\n }, [lines, startSeconds]);\n useEffect(function () {\n if (lines.length > 0) {\n var nextLineIndex = getLineIndexFromTime(currentTime);\n\n if (nextLineIndex !== lineIndex) {\n setLineIndex(nextLineIndex);\n }\n }\n }, [currentTime, lines, getLineIndexFromTime, setLineIndex]);\n var line = lineIndex !== -1 ? lines[lineIndex] : null;\n var active = line !== null;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)])\n }, active ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.captions,\n dangerouslySetInnerHTML: active ? {\n __html: line.text\n } : null\n }) : null);\n};\n\nClosedCaptions.propTypes = propTypes;\nClosedCaptions.defaultProps = defaultProps;\n\nexport { ClosedCaptions as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport React, { useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useIntl } from 'react-intl';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faPause, faPlay, faVolumeUp } from '@fortawesome/free-solid-svg-icons';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { useSpring } from '@react-spring/core';\nimport { animated } from '@react-spring/web';\n\nvar styles$1 = {\"container\":\"micromag-element-media-controls-seek-bar-container\",\"button\":\"micromag-element-media-controls-seek-bar-button\",\"progress\":\"micromag-element-media-controls-seek-bar-progress\"};\n\nvar propTypes$1 = {\n currentTime: PropTypes.number,\n duration: PropTypes.number,\n playing: PropTypes.bool,\n backgroundColor: PropTypes.string,\n progressColor: PropTypes.string,\n className: PropTypes.string,\n onSeek: PropTypes.func,\n focusable: PropTypes.bool\n};\nvar defaultProps$1 = {\n currentTime: null,\n duration: null,\n playing: false,\n backgroundColor: 'white',\n progressColor: 'lightblue',\n className: null,\n onSeek: null,\n focusable: true\n};\n\nvar SeekBar = function SeekBar(_ref) {\n var currentTime = _ref.currentTime,\n duration = _ref.duration,\n playing = _ref.playing,\n backgroundColor = _ref.backgroundColor,\n progressColor = _ref.progressColor,\n className = _ref.className,\n onSeek = _ref.onSeek,\n focusable = _ref.focusable;\n var intl = useIntl(); // exact same spring than SeekBar\n\n var _useSpring = useSpring(function () {\n return {\n x: 0,\n config: {\n duration: 0\n }\n };\n }),\n _useSpring2 = _slicedToArray(_useSpring, 2),\n springProps = _useSpring2[0],\n setSpringProps = _useSpring2[1];\n\n useEffect(function () {\n if (currentTime === null || duration === null) {\n return;\n }\n\n var progress = currentTime / duration;\n setSpringProps.start({\n reset: true,\n immediate: !playing,\n from: {\n x: progress\n },\n to: {\n x: playing ? 1 : progress\n },\n config: {\n duration: (duration - currentTime) * 1000\n }\n });\n }, [playing, duration, currentTime, setSpringProps]); // User events\n\n var onSeekClick = useCallback(function (e) {\n if (onSeek !== null && duration !== null) {\n var currentTargetRect = e.currentTarget.getBoundingClientRect();\n var seekProgress = (e.pageX - currentTargetRect.left) / currentTargetRect.width;\n onSeek(seekProgress * duration);\n }\n }, [duration]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$1.container, _defineProperty({}, className, className !== null)]),\n style: {\n backgroundColor: backgroundColor\n }\n }, /*#__PURE__*/React.createElement(animated.div, {\n className: styles$1.progress,\n style: {\n transform: springProps.x.to(function (x) {\n return \"scaleX(\".concat(x);\n }),\n backgroundColor: progressColor\n }\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: styles$1.button,\n onClick: onSeekClick,\n title: intl.formatMessage({\n \"id\": \"G1Gyjn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Seek\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n \"id\": \"G1Gyjn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Seek\"\n }]\n }),\n tabIndex: focusable ? '0' : '-1'\n }));\n};\n\nSeekBar.propTypes = propTypes$1;\nSeekBar.defaultProps = defaultProps$1;\n\nvar styles = {\"container\":\"micromag-element-media-controls-container\",\"muteButton\":\"micromag-element-media-controls-muteButton\",\"playPauseButton\":\"micromag-element-media-controls-playPauseButton\",\"toggles\":\"micromag-element-media-controls-toggles\",\"seekBar\":\"micromag-element-media-controls-seekBar\",\"icon\":\"micromag-element-media-controls-icon\",\"playing\":\"micromag-element-media-controls-playing\",\"muted\":\"micromag-element-media-controls-muted\",\"withPlayPause\":\"micromag-element-media-controls-withPlayPause\"};\n\nvar propTypes = {\n playing: PropTypes.bool,\n muted: PropTypes.bool,\n currentTime: PropTypes.number,\n duration: PropTypes.number,\n onTogglePlay: PropTypes.func,\n onToggleMute: PropTypes.func,\n onSeek: PropTypes.func,\n withSeekBar: PropTypes.bool,\n withPlayPause: PropTypes.bool,\n className: PropTypes.string,\n focusable: PropTypes.bool\n};\nvar defaultProps = {\n playing: false,\n muted: false,\n currentTime: 0,\n duration: 0,\n onTogglePlay: null,\n onToggleMute: null,\n onSeek: null,\n withSeekBar: false,\n withPlayPause: false,\n className: null,\n focusable: true\n};\n\nvar MediaControls = function MediaControls(_ref) {\n var _ref2;\n\n var playing = _ref.playing,\n muted = _ref.muted,\n currentTime = _ref.currentTime,\n duration = _ref.duration,\n onTogglePlay = _ref.onTogglePlay,\n onToggleMute = _ref.onToggleMute,\n onSeek = _ref.onSeek,\n withSeekBar = _ref.withSeekBar,\n withPlayPause = _ref.withPlayPause,\n className = _ref.className,\n focusable = _ref.focusable;\n var intl = useIntl();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref2 = {}, _defineProperty(_ref2, className, className !== null), _defineProperty(_ref2, styles.playing, playing), _defineProperty(_ref2, styles.muted, muted), _defineProperty(_ref2, styles.withPlayPause, withPlayPause), _ref2)])\n }, withSeekBar ? /*#__PURE__*/React.createElement(SeekBar, {\n className: styles.seekBar,\n currentTime: currentTime,\n duration: duration,\n playing: playing,\n onSeek: onSeek,\n focusable: focusable\n }) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.toggles\n }, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: styles.playPauseButton,\n onClick: onTogglePlay,\n title: intl.formatMessage({\n \"id\": \"ahSpiH\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Play\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n \"id\": \"ahSpiH\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Play\"\n }]\n }),\n tabIndex: focusable ? '0' : '-1'\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.icon,\n icon: playing ? faPause : faPlay\n })), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: styles.muteButton,\n onClick: onToggleMute,\n title: intl.formatMessage({\n \"id\": \"vzg8Es\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Mute\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n \"id\": \"vzg8Es\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Mute\"\n }]\n }),\n tabIndex: focusable ? '0' : '-1'\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.icon,\n icon: faVolumeUp\n }))));\n};\n\nMediaControls.propTypes = propTypes;\nMediaControls.defaultProps = defaultProps;\n\nexport { SeekBar, MediaControls as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport React, { useMemo, useEffect } from 'react';\nimport PropTypes$1 from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes } from '@micromag/core';\nimport { useUserInteracted } from '@micromag/core/contexts';\nimport { useMediaApi } from '@micromag/core/hooks';\nimport { getMediaFilesAsArray } from '@micromag/core/utils';\n\nvar styles = {\"container\":\"micromag-element-video-container\",\"withSize\":\"micromag-element-video-withSize\",\"video\":\"micromag-element-video-video\"};\n\nvar _excluded = [\"ref\"];\nvar propTypes = {\n media: PropTypes.videoMedia,\n width: PropTypes$1.number,\n height: PropTypes$1.number,\n apiRef: PropTypes$1.oneOfType([PropTypes$1.func, PropTypes$1.shape({\n current: PropTypes$1.any\n })]),\n initialMuted: PropTypes$1.oneOf(['auto', true, false]),\n autoPlay: PropTypes$1.bool,\n loop: PropTypes$1.bool,\n playsInline: PropTypes$1.bool,\n preload: PropTypes$1.string,\n withoutCors: PropTypes$1.bool,\n className: PropTypes$1.string,\n onReady: PropTypes$1.func,\n onPlay: PropTypes$1.func,\n onPause: PropTypes$1.func,\n onEnded: PropTypes$1.func,\n onSeeked: PropTypes$1.func,\n onTimeUpdate: PropTypes$1.func,\n onProgressStep: PropTypes$1.func,\n onDurationChanged: PropTypes$1.func,\n onVolumeChanged: PropTypes$1.func,\n focusable: PropTypes$1.bool,\n supportedMimes: PropTypes$1.arrayOf(PropTypes$1.string) // onPosterLoaded: PropTypes.func,\n\n};\nvar defaultProps = {\n media: null,\n width: null,\n height: null,\n apiRef: null,\n initialMuted: 'auto',\n autoPlay: false,\n loop: false,\n playsInline: true,\n preload: 'auto',\n withoutCors: false,\n className: null,\n onReady: null,\n onPlay: null,\n onPause: null,\n onEnded: null,\n onSeeked: null,\n onTimeUpdate: null,\n onProgressStep: null,\n onDurationChanged: null,\n onVolumeChanged: null,\n focusable: true,\n supportedMimes: ['video/mp4', 'video/webm', 'video/ogg'] // onPosterLoaded: null,\n\n};\n\nvar Video = function Video(_ref) {\n var _ref6;\n\n var media = _ref.media,\n width = _ref.width,\n height = _ref.height,\n apiRef = _ref.apiRef,\n initialMuted = _ref.initialMuted,\n autoPlay = _ref.autoPlay,\n loop = _ref.loop,\n playsInline = _ref.playsInline,\n preload = _ref.preload,\n withoutCors = _ref.withoutCors,\n className = _ref.className,\n onReady = _ref.onReady,\n onPlay = _ref.onPlay,\n onPause = _ref.onPause,\n onEnded = _ref.onEnded,\n onSeeked = _ref.onSeeked,\n onTimeUpdate = _ref.onTimeUpdate,\n onProgressStep = _ref.onProgressStep,\n onDurationChanged = _ref.onDurationChanged,\n onVolumeChanged = _ref.onVolumeChanged,\n focusable = _ref.focusable,\n supportedMimes = _ref.supportedMimes;\n\n var _ref2 = media || {},\n _ref2$url = _ref2.url,\n mediaUrl = _ref2$url === void 0 ? null : _ref2$url,\n _ref2$files = _ref2.files,\n files = _ref2$files === void 0 ? null : _ref2$files,\n _ref2$metadata = _ref2.metadata,\n metadata = _ref2$metadata === void 0 ? null : _ref2$metadata;\n\n var _ref3 = metadata || {},\n _ref3$description = _ref3.description,\n description = _ref3$description === void 0 ? null : _ref3$description,\n _ref3$mime = _ref3.mime,\n mediaMime = _ref3$mime === void 0 ? null : _ref3$mime;\n\n var filesArray = useMemo(function () {\n return getMediaFilesAsArray(files);\n }, [files]); // Get source files with supported mimes\n\n var sourceFiles = useMemo(function () {\n if (filesArray.length === 0) {\n return null;\n }\n\n var supportVideo = document.createElement('video');\n var finalSupportedMimes = supportedMimes.filter(function (mime) {\n return supportVideo.canPlayType(mime) !== '';\n });\n return finalSupportedMimes.length > 0 ? filesArray.filter(function (file) {\n var _file$mime = file.mime,\n mime = _file$mime === void 0 ? \"video/\".concat(file.id === 'h264' ? 'mp4' : file.id) : _file$mime;\n return finalSupportedMimes.indexOf(mime) !== -1;\n }, null) : null;\n }, [filesArray, supportedMimes]); // @NOTE: Media is an animated image and doesn't have source files in video formats\n\n var _ref4 = filesArray.find(function (_ref5) {\n var handle = _ref5.handle;\n return handle === 'original';\n }) || {},\n _ref4$type = _ref4.type,\n originalType = _ref4$type === void 0 ? null : _ref4$type,\n _ref4$mime = _ref4.mime,\n originalMime = _ref4$mime === void 0 ? mediaMime : _ref4$mime;\n\n var originalFileIsImage = originalType === 'image' || originalMime !== null && originalMime.indexOf('image/') === 0;\n var isImageWithoutSourceFile = originalFileIsImage && (sourceFiles === null || sourceFiles.length === 0);\n var userInteracted = useUserInteracted();\n var finalInitialMuted = initialMuted === true || initialMuted === 'auto' && autoPlay && !userInteracted;\n\n var _useMediaApi = useMediaApi({\n url: mediaUrl,\n initialMuted: finalInitialMuted,\n onPlay: onPlay,\n onPause: onPause,\n onEnded: onEnded,\n onSeeked: onSeeked,\n onTimeUpdate: onTimeUpdate,\n onProgressStep: onProgressStep,\n onDurationChanged: onDurationChanged,\n onVolumeChanged: onVolumeChanged\n }),\n ref = _useMediaApi.ref,\n api = _objectWithoutProperties(_useMediaApi, _excluded);\n\n if (apiRef !== null) {\n apiRef.current = api;\n apiRef.current.mediaRef = ref;\n }\n\n var playing = api.playing,\n muted = api.muted,\n dataReady = api.dataReady,\n play = api.play,\n pause = api.pause,\n unMute = api.unMute;\n useEffect(function () {\n if (dataReady && onReady !== null) {\n onReady();\n }\n }, [dataReady, onReady]);\n var withSize = width !== null && height !== null; // const { thumbnail_url: thumbnailUrl = null } = media || {};\n // useEffect(() => {\n // if (thumbnailUrl !== null) {\n // const img = new Image();\n // img.src = thumbnailUrl;\n // img.onload = () => {\n // if (onPosterLoaded) {\n // onPosterLoaded();\n // }\n // };\n // }\n // }, [thumbnailUrl]);\n\n useEffect(function () {\n if (autoPlay) {\n play();\n\n if (initialMuted === 'auto' && muted && userInteracted) {\n unMute();\n }\n } else {\n pause();\n }\n }, [autoPlay]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref6 = {}, _defineProperty(_ref6, className, className !== null), _defineProperty(_ref6, styles.paused, !playing), _defineProperty(_ref6, styles.withSize, withSize), _ref6)]),\n style: withSize ? {\n width: width,\n height: height\n } : null\n }, isImageWithoutSourceFile ? /*#__PURE__*/React.createElement(\"img\", {\n src: mediaUrl,\n alt: description,\n className: styles.video\n }) : /*#__PURE__*/React.createElement(\"video\", {\n key: mediaUrl,\n ref: ref,\n src: sourceFiles === null ? mediaUrl : null,\n autoPlay: autoPlay,\n loop: loop,\n muted: muted // poster={thumbnailUrl}\n ,\n preload: preload,\n playsInline: playsInline,\n crossOrigin: withoutCors ? 'anonymous' : null,\n tabIndex: focusable ? '0' : '-1',\n className: styles.video\n }, (sourceFiles || []).map(function (_ref7) {\n var sourceUrl = _ref7.url,\n sourceMime = _ref7.mime;\n return /*#__PURE__*/React.createElement(\"source\", {\n key: \"\".concat(sourceUrl, \"-\").concat(sourceMime),\n src: sourceUrl,\n type: sourceMime\n });\n })));\n};\n\nVideo.propTypes = propTypes;\nVideo.defaultProps = defaultProps;\nvar Video$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Video, Object.assign({\n apiRef: ref\n }, props));\n});\n\nexport { Video$1 as default };\n","import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport React, { useRef, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { getStyleFromColor, getOptimalImageUrl, getLayersFromBackground } from '@micromag/core/utils';\nimport { getSizeWithinBounds } from '@folklore/size';\nimport { useIntersectionObserver } from '@micromag/core/hooks';\nimport Video from '@micromag/element-video';\n\nvar styles = {\"container\":\"micromag-element-background-container\",\"layer\":\"micromag-element-background-layer\",\"layers\":\"micromag-element-background-layers\",\"video\":\"micromag-element-background-video\",\"videoContainer\":\"micromag-element-background-videoContainer\",\"right\":\"micromag-element-background-right\",\"background\":\"micromag-element-background-background\",\"bottom\":\"micromag-element-background-bottom\"};\n\nvar propTypes$1 = {\n width: PropTypes.number,\n height: PropTypes.number,\n fit: PropTypes.oneOf(['contain', 'cover']),\n horizontalAlign: PropTypes.string,\n verticalAlign: PropTypes.string,\n repeat: PropTypes.bool,\n color: PropTypes$1.color,\n media: PropTypes.oneOfType([PropTypes$1.imageMedia, PropTypes$1.videoMedia]),\n className: PropTypes.string,\n playing: PropTypes.bool,\n children: PropTypes.node,\n loadingMode: PropTypes.string\n};\nvar defaultProps$1 = {\n width: null,\n height: null,\n fit: null,\n horizontalAlign: 'center',\n verticalAlign: 'center',\n repeat: false,\n color: null,\n media: null,\n className: null,\n playing: false,\n children: null,\n loadingMode: 'lazy'\n};\n\nvar Background = function Background(_ref) {\n var width = _ref.width,\n height = _ref.height,\n fit = _ref.fit,\n horizontalAlign = _ref.horizontalAlign,\n verticalAlign = _ref.verticalAlign,\n repeat = _ref.repeat,\n color = _ref.color,\n media = _ref.media,\n className = _ref.className,\n playing = _ref.playing,\n children = _ref.children,\n loadingMode = _ref.loadingMode;\n\n var _ref2 = media || {},\n _ref2$type = _ref2.type,\n mediaType = _ref2$type === void 0 ? null : _ref2$type,\n _ref2$metadata = _ref2.metadata,\n mediaMetadata = _ref2$metadata === void 0 ? null : _ref2$metadata,\n mediaThumbnailUrl = _ref2.thumbnail_url;\n\n var _ref3 = mediaMetadata || {},\n _ref3$width = _ref3.width,\n mediaWidth = _ref3$width === void 0 ? 0 : _ref3$width,\n _ref3$height = _ref3.height,\n mediaHeight = _ref3$height === void 0 ? 0 : _ref3$height;\n\n var isVideo = mediaType === 'video';\n var isImage = mediaType === 'image'; // Lazy load\n\n var _useIntersectionObser = useIntersectionObserver({\n disabled: loadingMode !== 'lazy',\n rootMargin: '-10px'\n }),\n intersectingRef = _useIntersectionObser.ref,\n isIntersecting = _useIntersectionObser.entry.isIntersecting;\n\n var shouldLoadRef = useRef(isIntersecting || loadingMode !== 'lazy');\n\n if (isIntersecting && !shouldLoadRef.current) {\n shouldLoadRef.current = isIntersecting;\n }\n\n var shouldLoad = shouldLoadRef.current;\n console.log(shouldLoad, isIntersecting); // color\n\n var containerStyle = _objectSpread({\n width: width,\n height: height\n }, getStyleFromColor(color)); // image\n\n\n if (media !== null && (isImage || isVideo && !playing)) {\n var finalUrl = getOptimalImageUrl(isVideo ? {\n url: mediaThumbnailUrl\n } : media, width, height);\n containerStyle.backgroundImage = finalUrl !== null && shouldLoad ? \"url(\\\"\".concat(finalUrl, \"\\\")\") : null;\n containerStyle.backgroundRepeat = repeat ? 'repeat' : 'no-repeat';\n containerStyle.backgroundPosition = [horizontalAlign, verticalAlign].join(' ');\n\n if (fit !== null) {\n containerStyle.backgroundSize = fit;\n } else if (!repeat) {\n containerStyle.backgroundSize = 'cover';\n }\n } // video\n\n\n var videoContainerStyle = {};\n\n if (isVideo && playing) {\n if (width > 0 && height > 0) {\n var _getSizeWithinBounds = getSizeWithinBounds(mediaWidth, mediaHeight, width, height, {\n cover: fit === 'cover' || fit === null\n }),\n _getSizeWithinBounds$ = _getSizeWithinBounds.width,\n videoWidth = _getSizeWithinBounds$ === void 0 ? 0 : _getSizeWithinBounds$,\n _getSizeWithinBounds$2 = _getSizeWithinBounds.height,\n videoHeight = _getSizeWithinBounds$2 === void 0 ? 0 : _getSizeWithinBounds$2;\n\n videoContainerStyle.width = videoWidth;\n videoContainerStyle.height = videoHeight;\n videoContainerStyle.left = -(videoWidth - width) / 2;\n videoContainerStyle.top = -(videoHeight - height) / 2;\n } else {\n videoContainerStyle.objectFit = 'cover';\n }\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: containerStyle\n }, isVideo && playing ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.videoContainer,\n style: videoContainerStyle\n }, /*#__PURE__*/React.createElement(Video, {\n className: styles.video,\n media: media,\n autoPlay: playing,\n initialMuted: true,\n loop: true,\n preload: shouldLoad ? 'auto' : 'metadata'\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content,\n ref: intersectingRef\n }, children));\n};\n\nBackground.propTypes = propTypes$1;\nBackground.defaultProps = defaultProps$1;\n\nvar _excluded = [\"horizontalAlign\", \"verticalAlign\"];\nvar propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n background: PropTypes.oneOfType([PropTypes$1.backgroundElement, PropTypes.arrayOf(PropTypes$1.backgroundElement)]),\n playing: PropTypes.bool,\n children: PropTypes.node,\n className: PropTypes.string\n};\nvar defaultProps = {\n width: null,\n height: null,\n background: [],\n playing: false,\n children: null,\n className: null\n};\n\nvar BackgroundLayers = function BackgroundLayers(_ref) {\n var width = _ref.width,\n height = _ref.height,\n background = _ref.background,\n playing = _ref.playing,\n children = _ref.children,\n className = _ref.className;\n var hasSize = width > 0 && height > 0;\n var layers = useMemo(function () {\n return getLayersFromBackground(background);\n }, [background]);\n var maxZIndex = layers.length; // color\n\n var containerStyle = _objectSpread({}, hasSize ? {\n width: width,\n height: height\n } : null);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: containerStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.layers\n }, layers.map(function (_ref3, index) {\n var _ref4;\n\n var _ref3$horizontalAlign = _ref3.horizontalAlign,\n horizontalAlign = _ref3$horizontalAlign === void 0 ? undefined : _ref3$horizontalAlign,\n _ref3$verticalAlign = _ref3.verticalAlign,\n verticalAlign = _ref3$verticalAlign === void 0 ? undefined : _ref3$verticalAlign,\n layer = _objectWithoutProperties(_ref3, _excluded);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"background-\".concat(index),\n className: classNames([styles.layer, (_ref4 = {}, _defineProperty(_ref4, styles.bottom, verticalAlign === 'bottom'), _defineProperty(_ref4, styles.right, horizontalAlign === 'right'), _ref4)]),\n style: {\n zIndex: maxZIndex - index\n }\n }, /*#__PURE__*/React.createElement(Background, Object.assign({\n width: width,\n height: height,\n className: styles.background,\n playing: playing,\n horizontalAlign: horizontalAlign,\n verticalAlign: verticalAlign\n }, layer)));\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content\n }, children));\n};\n\nBackgroundLayers.propTypes = propTypes;\nBackgroundLayers.defaultProps = defaultProps;\n\nexport { Background, BackgroundLayers, BackgroundLayers as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nvar styles = {\"container\":\"micromag-element-container-container\"};\n\nvar propTypes = {\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n className: PropTypes.string,\n children: PropTypes.node\n};\nvar defaultProps = {\n className: null,\n children: null\n};\n\nfunction Container(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className,\n children = _ref.children;\n var hasSize = width > 0 && height > 0;\n var containerStyle = hasSize ? {\n width: width,\n height: height\n } : null;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: containerStyle\n }, children);\n}\n\nContainer.propTypes = propTypes;\nContainer.defaultProps = defaultProps;\n\nexport { Container as default };\n","import React, { useContext, useMemo } from 'react';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport classNames from 'classnames';\nimport isNumber from 'lodash/isNumber';\nimport isString from 'lodash/isString';\nimport PropTypes from 'prop-types';\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar StackContext = /*#__PURE__*/React.createContext({\n direction: 'horizontal'\n});\nvar useStack = function useStack() {\n return useContext(StackContext);\n};\nvar useStackDirection = function useStackDirection() {\n var _useContext = useContext(StackContext),\n direction = _useContext.direction;\n\n return direction;\n};\nvar propTypes$4 = {\n children: PropTypes.node.isRequired,\n direction: PropTypes.oneOf(['vertical', 'horizontal'])\n};\nvar defaultProps$4 = {\n direction: 'vertical'\n}; // Note: this is done to avoid excessive renders on the screens that use the context\n\nfunction StackProvider(_ref) {\n var direction = _ref.direction,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n direction: direction\n };\n }, [direction]);\n return /*#__PURE__*/React.createElement(StackContext.Provider, {\n value: value\n }, children);\n}\nStackProvider.propTypes = propTypes$4;\nStackProvider.defaultProps = defaultProps$4;\n\nvar styles$1 = {\"container\":\"micromag-element-stack-spacer-container\",\"hasSize\":\"micromag-element-stack-spacer-hasSize\"};\n\nvar propTypes$3 = {\n size: PropTypes.number,\n minSize: PropTypes.number,\n maxSize: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps$3 = {\n size: null,\n minSize: null,\n maxSize: null,\n className: null\n};\n\nfunction Spacer(_ref) {\n var _ref2;\n\n var size = _ref.size,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n className = _ref.className;\n var direction = useStackDirection();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$1.container, (_ref2 = {}, _defineProperty(_ref2, styles$1.hasSize, size !== null), _defineProperty(_ref2, className, className !== null), _ref2)]),\n style: {\n width: direction === 'horizontal' ? size : null,\n minWidth: direction === 'horizontal' ? minSize : null,\n maxWidth: direction === 'horizontal' ? maxSize : null,\n height: direction === 'vertical' ? size : null,\n minHeight: direction === 'vertical' ? minSize : null,\n maxHeight: direction === 'vertical' ? maxSize : null\n }\n });\n}\n\nSpacer.propTypes = propTypes$3;\nSpacer.defaultProps = defaultProps$3;\nSpacer.withoutTransitionsWrapper = true;\n\nvar styles = {\"container\":\"micromag-element-stack-container\"};\n\nvar propTypes$2 = {\n direction: PropTypes$1.stackDirection,\n align: PropTypes$1.stackAlign,\n spacing: PropTypes$1.stackSpacing,\n reverse: PropTypes.bool,\n size: PropTypes.number,\n minSize: PropTypes.number,\n maxSize: PropTypes.number,\n className: PropTypes.string,\n children: PropTypes.node\n};\nvar defaultProps$2 = {\n direction: 'horizontal',\n align: 'center',\n spacing: null,\n reverse: false,\n size: null,\n minSize: null,\n maxSize: null,\n className: null,\n children: null\n};\n\nfunction Stack(_ref) {\n var direction = _ref.direction,\n align = _ref.align,\n spacing = _ref.spacing,\n reverse = _ref.reverse,\n size = _ref.size,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n className = _ref.className,\n children = _ref.children;\n var flexDirection = (direction === 'vertical' ? 'column' : 'row') + (reverse ? '-reverse' : '');\n var alignItems = align === 'center' ? align : \"flex-\".concat(align);\n var justifyContent = isString(spacing) ? \"space-\".concat(spacing) : null;\n var space = isNumber(spacing) ? spacing : null;\n var lastIndex = children !== null && children.length ? children.length - 1 : null;\n return /*#__PURE__*/React.createElement(StackProvider, {\n direction: direction\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: {\n flexDirection: flexDirection,\n alignItems: alignItems,\n justifyContent: justifyContent,\n width: direction === 'horizontal' ? size : null,\n minWidth: direction === 'horizontal' ? minSize : null,\n maxWidth: direction === 'horizontal' ? maxSize : null,\n height: direction === 'vertical' ? size : null,\n minHeight: direction === 'vertical' ? minSize : null,\n maxHeight: direction === 'vertical' ? maxSize : null\n }\n }, React.Children.toArray(children).reduce(function (allChildren, child, index) {\n return child.type !== Spacer && space !== null && index < lastIndex ? [].concat(_toConsumableArray(allChildren), [child, /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-\".concat(index),\n size: space\n })]) : [].concat(_toConsumableArray(allChildren), [child]);\n }, [])));\n}\n\nStack.propTypes = propTypes$2;\nStack.defaultProps = defaultProps$2;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes$1 = {};\nvar defaultProps$1 = {};\n\nfunction HStack(props) {\n return /*#__PURE__*/React.createElement(Stack, Object.assign({}, props, {\n direction: \"horizontal\"\n }));\n}\n\nHStack.propTypes = propTypes$1;\nHStack.defaultProps = defaultProps$1;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes = {};\nvar defaultProps = {};\n\nfunction VStack(props) {\n return /*#__PURE__*/React.createElement(Stack, Object.assign({}, props, {\n direction: \"vertical\"\n }));\n}\n\nVStack.propTypes = propTypes;\nVStack.defaultProps = defaultProps;\n\nexport { HStack, Spacer, StackProvider, VStack, Stack as default, useStack, useStackDirection };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { StackProvider } from '@micromag/element-stack';\nexport { Spacer } from '@micromag/element-stack';\n\nvar styles = {\"container\":\"micromag-element-layout-container\",\"fullscreen\":\"micromag-element-layout-fullscreen\",\"horizontal\":\"micromag-element-layout-horizontal\"};\n\nvar propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n horizontalAlign: PropTypes.oneOf(['left', 'center', 'right']),\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'bottom']),\n distribution: PropTypes.oneOf(['between', 'around', null]),\n fullscreen: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node,\n style: PropTypes.object // eslint-disable-line\n\n};\nvar defaultProps = {\n width: null,\n height: null,\n horizontalAlign: 'left',\n verticalAlign: 'top',\n distribution: null,\n fullscreen: false,\n className: null,\n children: null,\n style: null\n};\n\nvar Layout = function Layout(_ref) {\n var _ref2;\n\n var width = _ref.width,\n height = _ref.height,\n horizontalAlign = _ref.horizontalAlign,\n verticalAlign = _ref.verticalAlign,\n distribution = _ref.distribution,\n fullscreen = _ref.fullscreen,\n className = _ref.className,\n children = _ref.children,\n style = _ref.style;\n var justifyContent = null;\n\n if (distribution !== null) {\n justifyContent = \"space-\".concat(distribution);\n } else if (verticalAlign === 'middle') {\n justifyContent = 'center';\n } else if (verticalAlign === 'bottom') {\n justifyContent = 'flex-end';\n }\n\n var alignItems = null;\n\n if (horizontalAlign === 'center') {\n alignItems = 'center';\n } else if (horizontalAlign === 'right') {\n alignItems = 'flex-end';\n }\n\n var finalStyle = _objectSpread({\n width: width,\n height: height,\n justifyContent: justifyContent,\n alignItems: alignItems\n }, style);\n\n return /*#__PURE__*/React.createElement(StackProvider, {\n direction: \"vertical\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref2 = {}, _defineProperty(_ref2, styles.fullscreen, fullscreen), _defineProperty(_ref2, className, className !== null), _ref2)]),\n style: finalStyle\n }, children));\n};\n\nLayout.propTypes = propTypes;\nLayout.defaultProps = defaultProps;\n\nexport { Layout as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { LinkStyle, HighlightStyle } from '@micromag/core/components';\nimport { getStyleFromLink, getStyleFromHighlight, getStyleFromText, getStyleFromMargin } from '@micromag/core/utils';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { v1 } from 'uuid';\n\nvar styles = {\"container\":\"micromag-element-text-container\",\"showEmpty\":\"micromag-element-text-showEmpty\",\"withLineClamp\":\"micromag-element-text-withLineClamp\"};\n\nvar propTypes = {\n body: PropTypes.string,\n textStyle: PropTypes$1.textStyle,\n linksStyle: PropTypes$1.textStyle,\n margin: PropTypes$1.margin,\n lineClamp: PropTypes.number,\n showEmpty: PropTypes.bool,\n className: PropTypes.string,\n emptyClassName: PropTypes.string,\n inline: PropTypes.bool\n};\nvar defaultProps = {\n body: null,\n textStyle: null,\n linksStyle: null,\n margin: null,\n lineClamp: null,\n showEmpty: false,\n className: null,\n emptyClassName: null,\n inline: false\n};\n\nvar Text = function Text(_ref) {\n var _ref3;\n\n var body = _ref.body,\n textStyle = _ref.textStyle,\n linksStyle = _ref.linksStyle,\n margin = _ref.margin,\n lineClamp = _ref.lineClamp,\n showEmpty = _ref.showEmpty,\n className = _ref.className,\n emptyClassName = _ref.emptyClassName,\n inline = _ref.inline;\n\n var _ref2 = textStyle || {},\n _ref2$link = _ref2.link,\n linkStyle = _ref2$link === void 0 ? null : _ref2$link,\n _ref2$highlight = _ref2.highlight,\n highlightStyle = _ref2$highlight === void 0 ? null : _ref2$highlight;\n\n var finalStyle = {};\n var finalLinkStyle = linkStyle !== null ? getStyleFromLink(linkStyle) : null;\n var finalHighlightStyle = highlightStyle !== null ? getStyleFromHighlight(highlightStyle) : null;\n\n if (textStyle !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromText(textStyle));\n }\n\n if (lineClamp !== null) {\n finalStyle.WebkitLineClamp = lineClamp;\n }\n\n if (margin !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromMargin(margin));\n }\n\n if (linksStyle !== null) {\n finalLinkStyle = _objectSpread(_objectSpread({}, finalLinkStyle), getStyleFromText(linksStyle));\n }\n\n var needsId = finalLinkStyle !== null || highlightStyle !== null;\n var id = useMemo(function () {\n return needsId ? \"text-component-\".concat(v1()) : null;\n }, [needsId]);\n var tagProps = {\n id: id,\n className: classNames([styles.container, (_ref3 = {}, _defineProperty(_ref3, styles.withLineClamp, lineClamp !== null), _defineProperty(_ref3, styles.showEmpty, showEmpty), _defineProperty(_ref3, emptyClassName, showEmpty && emptyClassName !== null), _defineProperty(_ref3, className, className !== null), _ref3)]),\n style: finalStyle,\n dangerouslySetInnerHTML: {\n __html: body\n }\n };\n var Tag = \"\".concat(inline ? 'span' : 'div');\n return /*#__PURE__*/React.createElement(React.Fragment, null, finalLinkStyle !== null ? /*#__PURE__*/React.createElement(LinkStyle, {\n selector: \"#\".concat(id),\n style: finalLinkStyle\n }) : null, finalHighlightStyle !== null ? /*#__PURE__*/React.createElement(HighlightStyle, {\n selector: \"#\".concat(id),\n style: finalHighlightStyle\n }) : null, /*#__PURE__*/React.createElement(Tag, tagProps));\n};\n\nText.propTypes = propTypes;\nText.defaultProps = defaultProps;\n\nexport { Text as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport React, { useMemo, useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useGesture } from 'react-use-gesture';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChevronUp } from '@fortawesome/free-solid-svg-icons';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { isValidUrl, getStyleFromColor, isIos } from '@micromag/core/utils';\nimport { Button } from '@micromag/core/components';\nimport Text from '@micromag/element-text';\n\nvar styles = {\"container\":\"micromag-element-call-to-action-container\",\"arrow\":\"micromag-element-call-to-action-arrow\",\"upAndDown\":\"micromag-element-call-to-action-upAndDown\",\"label\":\"micromag-element-call-to-action-label\",\"button\":\"micromag-element-call-to-action-button\",\"selfTargetLink\":\"micromag-element-call-to-action-selfTargetLink\",\"leavingFrame\":\"micromag-element-call-to-action-leavingFrame\",\"appear\":\"micromag-element-call-to-action-appear\",\"animationDisabled\":\"micromag-element-call-to-action-animationDisabled\",\"invalidUrl\":\"micromag-element-call-to-action-invalidUrl\",\"disabled\":\"micromag-element-call-to-action-disabled\"};\n\nvar propTypes = {\n elRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.any // eslint-disable-line\n\n })]),\n disabled: PropTypes.bool,\n animationDisabled: PropTypes.bool,\n callToAction: PropTypes$1.callToAction,\n dragAmount: PropTypes.number,\n className: PropTypes.string,\n focusable: PropTypes.bool\n};\nvar defaultProps = {\n elRef: null,\n disabled: false,\n animationDisabled: false,\n callToAction: null,\n dragAmount: 50,\n className: null,\n focusable: true\n};\n\nvar CallToAction = function CallToAction(_ref) {\n var _ref6;\n\n var elRef = _ref.elRef,\n disabled = _ref.disabled,\n animationDisabled = _ref.animationDisabled,\n callToAction = _ref.callToAction,\n dragAmount = _ref.dragAmount,\n className = _ref.className,\n focusable = _ref.focusable;\n\n var _ref2 = callToAction || {},\n _ref2$active = _ref2.active,\n active = _ref2$active === void 0 ? false : _ref2$active,\n _ref2$type = _ref2.type,\n type = _ref2$type === void 0 ? null : _ref2$type,\n _ref2$url = _ref2.url,\n url = _ref2$url === void 0 ? null : _ref2$url,\n _ref2$label = _ref2.label,\n label = _ref2$label === void 0 ? null : _ref2$label;\n\n var swipeUpEnabled = type === null || type === 'swipe-up';\n var validUrl = useMemo(function () {\n return isValidUrl(url);\n }, [url]);\n var buttonRef = useRef(null);\n\n var _ref3 = label || {},\n _ref3$textStyle = _ref3.textStyle;\n\n _ref3$textStyle = _ref3$textStyle === void 0 ? {} : _ref3$textStyle;\n var _ref3$textStyle$fontS = _ref3$textStyle.fontSize,\n fontSize = _ref3$textStyle$fontS === void 0 ? null : _ref3$textStyle$fontS,\n _ref3$textStyle$color = _ref3$textStyle.color,\n color = _ref3$textStyle$color === void 0 ? null : _ref3$textStyle$color;\n var arrowStyle = useMemo(function () {\n return _objectSpread(_objectSpread({}, {\n fontSize: fontSize\n }), getStyleFromColor(color, 'color'));\n }, [fontSize, color]); // MobileSafari blocks popup no matter what\n\n var selfTargetLinkRef = useRef(null);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n leaving = _useState2[0],\n setLeaving = _useState2[1];\n\n var bind = useGesture({\n onDrag: function onDrag(_ref4) {\n var event = _ref4.event;\n // fix firefox https://use-gesture.netlify.app/docs/faq/#why-cant-i-properly-drag-an-image-or-a-link\n event.preventDefault();\n },\n onDragEnd: function onDragEnd(_ref5) {\n var _ref5$movement = _slicedToArray(_ref5.movement, 2),\n my = _ref5$movement[1];\n\n if (my < -dragAmount) {\n if (isIos()) {\n selfTargetLinkRef.current.click();\n setLeaving(true);\n } else {\n buttonRef.current.click();\n }\n }\n }\n });\n useEffect(function () {\n var onPageHide = function onPageHide() {\n setLeaving(false);\n };\n\n window.addEventListener('pagehide', onPageHide);\n return function () {\n window.removeEventListener('pagehide', onPageHide);\n };\n }, [setLeaving]);\n return active ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref6 = {}, _defineProperty(_ref6, className, className !== null), _defineProperty(_ref6, styles.disabled, disabled), _defineProperty(_ref6, styles.animationDisabled, animationDisabled), _defineProperty(_ref6, styles.invalidUrl, !validUrl), _ref6)]),\n ref: elRef\n }, leaving ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.leavingFrame\n }) : null, /*#__PURE__*/React.createElement(\"a\", {\n className: styles.selfTargetLink,\n href: url,\n ref: selfTargetLinkRef,\n tabIndex: focusable ? '0' : '-1'\n }), /*#__PURE__*/React.createElement(Button, Object.assign({\n href: url,\n external: true,\n className: styles.button,\n withoutStyle: true,\n refButton: buttonRef,\n focusable: focusable\n }, swipeUpEnabled && !disabled ? bind() : null), swipeUpEnabled ? /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.arrow,\n style: arrowStyle,\n icon: faChevronUp\n }) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: styles.label\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, label, {\n inline: true\n }))))) : null;\n};\n\nCallToAction.propTypes = propTypes;\nCallToAction.defaultProps = defaultProps;\nvar CallToAction$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(CallToAction, Object.assign({\n elRef: ref\n }, props));\n});\n\nexport { CallToAction$1 as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useCallback, useRef, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { isIos } from '@micromag/core/utils';\nimport { useScreenSize, useScreenRenderContext, useViewer } from '@micromag/core/contexts';\nimport { useTrackScreenMedia, useLongPress } from '@micromag/core/hooks';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport Audio from '@micromag/element-audio';\nimport ClosedCaptions from '@micromag/element-closed-captions';\nimport MediaControls from '@micromag/element-media-controls';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Audio as Audio$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-audio-container\",\"disabled\":\"micromag-screen-audio-disabled\",\"hidden\":\"micromag-screen-audio-hidden\",\"placeholder\":\"micromag-screen-audio-placeholder\",\"content\":\"micromag-screen-audio-content\",\"empty\":\"micromag-screen-audio-empty\",\"mediaControls\":\"micromag-screen-audio-mediaControls\",\"audio\":\"micromag-screen-audio-audio\",\"bottomContent\":\"micromag-screen-audio-bottomContent\",\"isPreview\":\"micromag-screen-audio-isPreview\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['middle']),\n audio: PropTypes$1.audioElement,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n getMediaRef: PropTypes.func,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'middle',\n audio: null,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n getMediaRef: null,\n className: null\n};\n\nvar AudioScreen = function AudioScreen(_ref) {\n var _ref7;\n\n _ref.layout;\n var audio = _ref.audio,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n getMediaRef = _ref.getMediaRef,\n className = _ref.className;\n var trackScreenMedia = useTrackScreenMedia('audio');\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isPreview = _useScreenRenderConte.isPreview,\n isView = _useScreenRenderConte.isView,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState = useState(isStatic || isPlaceholder),\n _useState2 = _slicedToArray(_useState, 2),\n ready = _useState2[0],\n setReady = _useState2[1];\n\n var backgroundPlaying = current && (isView || isEdit);\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var hasAudio = audio !== null;\n\n var _ref2 = audio || {},\n _ref2$media = _ref2.media,\n audioMedia = _ref2$media === void 0 ? null : _ref2$media,\n _ref2$autoPlay = _ref2.autoPlay,\n autoPlay = _ref2$autoPlay === void 0 ? true : _ref2$autoPlay,\n _ref2$closedCaptions = _ref2.closedCaptions,\n closedCaptions = _ref2$closedCaptions === void 0 ? null : _ref2$closedCaptions,\n _ref2$withPlayPause = _ref2.withPlayPause,\n withPlayPause = _ref2$withPlayPause === void 0 ? false : _ref2$withPlayPause;\n\n var _ref3 = audioMedia || {},\n _ref3$url = _ref3.url,\n audioUrl = _ref3$url === void 0 ? null : _ref3$url;\n\n var hasAudioUrl = audioUrl !== null;\n var finalAudio = hasAudio ? _objectSpread(_objectSpread({}, audio), {}, {\n autoPlay: !isPreview && !isStatic && !isCapture && autoPlay && current\n }) : null;\n var hasClosedCaptions = closedCaptions !== null;\n var onAudioReady = useCallback(function () {\n setReady(true);\n }, [setReady]);\n var apiRef = useRef();\n\n var _ref4 = apiRef.current || {},\n togglePlay = _ref4.togglePlay,\n toggleMute = _ref4.toggleMute,\n play = _ref4.play,\n pause = _ref4.pause,\n _ref4$mediaRef = _ref4.mediaRef,\n apiMediaRef = _ref4$mediaRef === void 0 ? null : _ref4$mediaRef;\n\n useEffect(function () {\n if (apiMediaRef !== null && getMediaRef !== null) {\n getMediaRef(apiMediaRef.current);\n }\n }, [apiMediaRef, getMediaRef]);\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n currentTime = _useState4[0],\n setCurrentTime = _useState4[1];\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n duration = _useState6[0],\n setDuration = _useState6[1];\n\n var _useState7 = useState(false),\n _useState8 = _slicedToArray(_useState7, 2),\n playing = _useState8[0],\n setPlaying = _useState8[1];\n\n var _useState9 = useState(false),\n _useState10 = _slicedToArray(_useState9, 2),\n muted = _useState10[0],\n setMuted = _useState10[1];\n\n var isIOS = useMemo(function () {\n return isIos();\n }, [isIos]);\n var onTimeUpdate = useCallback(function (time) {\n setCurrentTime(time);\n }, [setDuration, duration]);\n var onProgressStep = useCallback(function (step) {\n trackScreenMedia(audio, \"progress_\".concat(Math.round(step * 100, 10), \"%\"));\n }, [trackScreenMedia, audio]);\n var onDurationChanged = useCallback(function (dur) {\n setDuration(dur);\n }, [setDuration]);\n var onPlay = useCallback(function (_ref5) {\n var initial = _ref5.initial;\n setPlaying(true);\n trackScreenMedia(audio, initial ? 'play' : 'resume');\n }, [trackScreenMedia, audio]);\n var onPause = useCallback(function (_ref6) {\n var midway = _ref6.midway;\n setPlaying(false);\n trackScreenMedia(audio, midway ? 'pause' : 'ended');\n }, [trackScreenMedia, audio]);\n var onVolumeChanged = useCallback(function (isMuted) {\n setMuted(isMuted);\n trackScreenMedia(audio, isMuted ? 'mute' : 'unmute');\n }, [trackScreenMedia, audio]);\n var onSeeked = useCallback(function (time) {\n if (time > 0) {\n trackScreenMedia(audio, 'seek');\n }\n }, [trackScreenMedia, audio]);\n var onToggleMute = useCallback(function () {\n if (muted && !playing) {\n play();\n }\n\n toggleMute();\n }, [muted, toggleMute]);\n useEffect(function () {\n if (!current && playing) {\n pause();\n }\n }, [playing, current]); // ------------------------------------\n\n var longPressBind = useLongPress({\n onLongPress: togglePlay\n });\n var elements = [/*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-top\"\n }), /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"audio\",\n placeholder: \"audio\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"MYZwSA\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Audio\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasAudioUrl\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Audio, Object.assign({}, finalAudio, {\n ref: apiRef,\n waveFake: isIOS || isPreview,\n waveProps: isPreview ? {\n sampleWidth: 10,\n sampleMargin: 5,\n minSampleHeight: 5\n } : null,\n className: styles.audio,\n onReady: onAudioReady,\n onPlay: onPlay,\n onPause: onPause,\n onTimeUpdate: onTimeUpdate,\n onProgressStep: onProgressStep,\n onDurationChanged: onDurationChanged,\n onSeeked: onSeeked,\n onVolumeChanged: onVolumeChanged\n })))), /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-middle\"\n }), !isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"controls\",\n className: styles.bottomContent\n }, hasClosedCaptions && !isPreview && !isCapture && !isStatic ? /*#__PURE__*/React.createElement(ClosedCaptions, {\n className: styles.closedCaptions,\n media: closedCaptions,\n currentTime: currentTime\n }) : null, hasAudioUrl ? /*#__PURE__*/React.createElement(MediaControls, {\n className: styles.mediaControls,\n withPlayPause: withPlayPause,\n playing: playing,\n muted: muted,\n onTogglePlay: togglePlay,\n onToggleMute: onToggleMute,\n focusable: current && isView\n }) : null) : null, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null].filter(function (el) {\n return el !== null;\n });\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classNames([styles.container, (_ref7 = {}, _defineProperty(_ref7, className, className !== null), _defineProperty(_ref7, styles.placeholder, isPlaceholder), _defineProperty(_ref7, styles.isPreview, isPreview), _ref7)]),\n \"data-screen-ready\": ready\n }, longPressBind), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n fullscreen: true,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, elements)));\n};\n\nAudioScreen.propTypes = propTypes;\nAudioScreen.defaultProps = defaultProps;\nvar AudioScreen$1 = /*#__PURE__*/React.memo(AudioScreen);\n\nvar transform = function transform(newStory, _ref) {\n var audio = _ref.audio;\n\n var _ref2 = audio || {},\n _ref2$media = _ref2.media,\n media = _ref2$media === void 0 ? null : _ref2$media;\n\n var _Audio = Audio$1(newStory, media),\n titleStory = _Audio.story,\n titleComponent = _Audio.component;\n\n console.log(media);\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = {\n id: 'audio',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"+9akmg\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Audio and Video\"\n }]\n }),\n order: 5\n },\n title: defineMessage({\n \"id\": \"bhEaUt\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Audio\"\n }]\n }),\n component: AudioScreen$1,\n layouts: ['middle'],\n transforms: transforms,\n fields: [{\n name: 'audio',\n type: 'audio-element',\n theme: {\n color: 'primary'\n },\n defaultValue: {\n autoPlay: true\n },\n label: defineMessage({\n \"id\": \"169xnt\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Audio\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { AudioScreen$1 as AudioScreen, definition as default };\n","import _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useContext, useMemo, useState, useCallback, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _inherits from '@babel/runtime/helpers/inherits';\nimport _createSuper from '@babel/runtime/helpers/createSuper';\nimport { getJSON, getCSRFHeaders, postJSON } from '@folklore/fetch';\nimport { generatePath } from 'react-router';\nimport { stringify } from 'query-string';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\n\nvar Base = /*#__PURE__*/function () {\n function Base() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Base);\n\n this.options = _objectSpread(_objectSpread({\n routes: {}\n }, opts), {}, {\n baseUrl: opts.baseUrl || 'https://micromag.ca/api'\n });\n }\n\n _createClass(Base, [{\n key: \"requestGet\",\n value: function requestGet(path) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var queryString = query !== null ? stringify(query, {\n arrayFormat: 'bracket'\n }) : null;\n return getJSON(\"\".concat(this.getFullUrl(path)).concat(queryString !== null && queryString.length > 0 ? \"?\".concat(queryString) : ''), {\n credentials: 'include',\n headers: getCSRFHeaders()\n });\n }\n }, {\n key: \"requestPost\",\n value: function requestPost(path, data) {\n return postJSON(this.getFullUrl(path), data, {\n credentials: 'include',\n headers: getCSRFHeaders()\n });\n }\n }, {\n key: \"requestPut\",\n value: function requestPut(path, data) {\n return postJSON(this.getFullUrl(path), _objectSpread({\n _method: 'PUT'\n }, data), {\n credentials: 'include',\n headers: getCSRFHeaders()\n });\n }\n }, {\n key: \"requestDelete\",\n value: function requestDelete(path) {\n return this.requestPost(path, {\n _method: 'DELETE'\n });\n }\n }, {\n key: \"route\",\n value: function route(_route, params) {\n var routes = this.options.routes;\n return generatePath(routes[_route] || _route, params);\n }\n }, {\n key: \"getFullUrl\",\n value: function getFullUrl(path) {\n var baseUrl = this.options.baseUrl;\n return \"\".concat(baseUrl.replace(/\\/$/, ''), \"/\").concat(path.replace(/^\\//, ''));\n }\n }]);\n\n return Base;\n}();\n\nvar ContributionsApi = /*#__PURE__*/function (_Base) {\n _inherits(ContributionsApi, _Base);\n\n var _super = _createSuper(ContributionsApi);\n\n function ContributionsApi() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ContributionsApi);\n\n return _super.call(this, _objectSpread(_objectSpread({}, opts), {}, {\n routes: _objectSpread({\n index: '/contributions/:screen',\n store: '/contributions',\n update: '/contributions/:contribution',\n \"delete\": '/contributions/:contribution'\n }, opts.routes || null)\n }));\n }\n\n _createClass(ContributionsApi, [{\n key: \"get\",\n value: function get(id) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var page = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var count = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n\n var finalQuery = _objectSpread({}, query);\n\n if (page !== null) {\n finalQuery.page = page;\n }\n\n if (count !== null) {\n finalQuery.count = count;\n }\n\n return this.requestGet(this.route('index', {\n screen: id\n }), finalQuery);\n }\n }, {\n key: \"create\",\n value: function create(data) {\n return this.requestPost(this.route('store'), data);\n }\n }]);\n\n return ContributionsApi;\n}(Base);\n\nvar MediasApi = /*#__PURE__*/function (_Base) {\n _inherits(MediasApi, _Base);\n\n var _super = _createSuper(MediasApi);\n\n function MediasApi() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MediasApi);\n\n return _super.call(this, _objectSpread(_objectSpread({}, opts), {}, {\n routes: _objectSpread({\n index: 'medias',\n tags: 'medias/tags',\n authors: 'medias/authors',\n show: 'medias/:media',\n store: 'medias',\n update: 'medias/:media',\n \"delete\": 'medias/:media'\n }, opts.routes || null)\n }));\n }\n\n _createClass(MediasApi, [{\n key: \"find\",\n value: function find(id) {\n return this.requestGet(this.route('show', {\n media: id\n }));\n }\n }, {\n key: \"get\",\n value: function get() {\n var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var count = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;\n\n var finalQuery = _objectSpread({}, query);\n\n if (page !== null) {\n finalQuery.page = page;\n }\n\n if (count !== null) {\n finalQuery.count = count;\n }\n\n return this.requestGet(this.route('index'), finalQuery);\n }\n }, {\n key: \"getTags\",\n value: function getTags() {\n var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n\n var finalQuery = _objectSpread({}, query);\n\n if (count !== null) {\n finalQuery.count = count;\n }\n\n return this.requestGet(this.route('tags'), finalQuery);\n }\n }, {\n key: \"getAuthors\",\n value: function getAuthors() {\n var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;\n\n var finalQuery = _objectSpread({}, query);\n\n if (count !== null) {\n finalQuery.count = count;\n }\n\n return this.requestGet(this.route('authors'), finalQuery);\n }\n }, {\n key: \"create\",\n value: function create(data) {\n return this.requestPost(this.route('store'), data);\n }\n }, {\n key: \"update\",\n value: function update(id, data) {\n return this.requestPut(this.route('update', {\n media: id\n }), data);\n }\n }, {\n key: \"delete\",\n value: function _delete(id) {\n return this.requestDelete(this.route('delete', {\n media: id\n }));\n }\n }]);\n\n return MediasApi;\n}(Base);\n\nvar QuizApi = /*#__PURE__*/function (_Base) {\n _inherits(QuizApi, _Base);\n\n var _super = _createSuper(QuizApi);\n\n function QuizApi() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, QuizApi);\n\n return _super.call(this, _objectSpread(_objectSpread({}, opts), {}, {\n routes: _objectSpread({\n results: '/quiz/:screen',\n store: '/quiz',\n update: '/quiz/:quiz',\n \"delete\": '/quiz/:quiz'\n }, opts.routes || null)\n }));\n }\n\n _createClass(QuizApi, [{\n key: \"results\",\n value: function results(screenId) {\n return this.requestGet(this.route('results', {\n screen: screenId\n }));\n }\n }, {\n key: \"create\",\n value: function create(data) {\n return this.requestPost(this.route('store'), data);\n }\n }]);\n\n return QuizApi;\n}(Base);\n\nvar Api = /*#__PURE__*/function (_Base) {\n _inherits(Api, _Base);\n\n var _super = _createSuper(Api);\n\n function Api() {\n var _this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Api);\n\n _this = _super.call(this, opts);\n _this.medias = new MediasApi(opts);\n _this.contributions = new ContributionsApi(opts);\n _this.quiz = new QuizApi(opts);\n return _this;\n }\n\n return _createClass(Api);\n}(Base);\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar ApiContext = /*#__PURE__*/React.createContext(null);\nvar useApi = function useApi() {\n return useContext(ApiContext);\n};\nvar propTypes$1 = {\n api: PropTypes.instanceOf(Api),\n baseUrl: PropTypes.string,\n children: PropTypes.node.isRequired\n};\nvar defaultProps$1 = {\n api: null,\n baseUrl: undefined\n};\nvar ApiProvider = function ApiProvider(_ref) {\n var initialApi = _ref.api,\n baseUrl = _ref.baseUrl,\n children = _ref.children;\n var previousApi = useApi();\n var api = useMemo(function () {\n return initialApi || previousApi || new Api({\n baseUrl: baseUrl // baseUrl: 'https://micromag.studio.test/api',\n\n });\n }, [previousApi, initialApi, baseUrl]);\n return /*#__PURE__*/React.createElement(ApiContext.Provider, {\n value: api\n }, children);\n};\nApiProvider.propTypes = propTypes$1;\nApiProvider.defaultProps = defaultProps$1;\n\nvar useContributionCreate = function useContributionCreate() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n screenId = _ref.screenId,\n _ref$onSuccess = _ref.onSuccess,\n onSuccess = _ref$onSuccess === void 0 ? null : _ref$onSuccess;\n\n var api = useApi();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n creating = _useState2[0],\n setCreating = _useState2[1];\n\n var create = useCallback(function (data) {\n if (api === null) {\n return null;\n }\n\n setCreating(true);\n return api.contributions.create(_objectSpread({\n screen_id: screenId\n }, data)).then(function (response) {\n setCreating(false);\n\n if (onSuccess !== null) {\n onSuccess(response);\n }\n\n return response;\n });\n }, [api, setCreating, onSuccess, screenId]);\n return {\n create: create,\n creating: creating\n };\n};\n\nvar useData = function useData(loadData) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$initialData = _ref.initialData,\n initialData = _ref$initialData === void 0 ? null : _ref$initialData,\n _ref$autoload = _ref.autoload,\n autoload = _ref$autoload === void 0 ? true : _ref$autoload;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n loading = _useState2[0],\n setLoading = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n error = _useState4[0],\n setError = _useState4[1];\n\n var _useState5 = useState(initialData),\n _useState6 = _slicedToArray(_useState5, 2),\n data = _useState6[0],\n setData = _useState6[1];\n\n var load = useCallback(function () {\n var canceled = false;\n setLoading(true);\n var promise = loadData.apply(void 0, arguments).then(function (newData) {\n if (!canceled) {\n setData(newData);\n setLoading(false);\n }\n\n return newData;\n })[\"catch\"](function (newError) {\n setError(newError);\n setLoading(false);\n });\n\n promise.cancel = function () {\n canceled = true;\n setLoading(false);\n };\n\n return promise;\n }, [loadData, setLoading, setData]);\n useEffect(function () {\n var loader = null;\n\n if (autoload) {\n loader = load();\n }\n\n return function () {\n if (loader !== null) {\n loader.cancel();\n }\n };\n }, [autoload, load]);\n return {\n data: data,\n load: load,\n loading: loading,\n error: error\n };\n};\n\nvar _excluded$4 = [\"data\"];\nvar useContributions = function useContributions() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n screenId = _ref.screenId,\n _ref$opts = _ref.opts,\n opts = _ref$opts === void 0 ? {} : _ref$opts;\n\n var api = useApi();\n\n var _useState = useState(_toConsumableArray(new Array(10)).map(function (el, i) {\n return {\n name: \"Nom \".concat(i + 1),\n message: \"Message \".concat(i + 1)\n };\n })),\n _useState2 = _slicedToArray(_useState, 1),\n defaultContributions = _useState2[0];\n\n var loader = useCallback(function () {\n return api !== null ? api.contributions.get(screenId) : null;\n }, [api, screenId]);\n\n var _ref2 = api !== null ? useData(loader, opts) : {\n data: null\n },\n data = _ref2.data,\n request = _objectWithoutProperties(_ref2, _excluded$4);\n\n return _objectSpread({\n contributions: data || defaultContributions\n }, request);\n};\n\nvar useItems = function useItems(_ref) {\n var _ref$getPage = _ref.getPage,\n getPage = _ref$getPage === void 0 ? null : _ref$getPage,\n _ref$getItems = _ref.getItems,\n getItems = _ref$getItems === void 0 ? null : _ref$getItems,\n _ref$page = _ref.page,\n page = _ref$page === void 0 ? null : _ref$page,\n _ref$count = _ref.count,\n count = _ref$count === void 0 ? 10 : _ref$count,\n _ref$items = _ref.items,\n providedItems = _ref$items === void 0 ? null : _ref$items,\n _ref$pages = _ref.pages,\n initialPages = _ref$pages === void 0 ? null : _ref$pages,\n _ref$getPageFromRespo = _ref.getPageFromResponse,\n getPageFromResponse = _ref$getPageFromRespo === void 0 ? function (_ref2) {\n var _ref2$meta = _ref2.meta,\n currentPage = _ref2$meta.current_page,\n lastPage = _ref2$meta.last_page,\n total = _ref2$meta.total,\n items = _ref2.data;\n return {\n page: parseInt(currentPage, 10),\n lastPage: parseInt(lastPage, 10),\n total: parseInt(total, 10),\n items: items\n };\n } : _ref$getPageFromRespo,\n _ref$getItemsFromResp = _ref.getItemsFromResponse,\n getItemsFromResponse = _ref$getItemsFromResp === void 0 ? function (data) {\n return data;\n } : _ref$getItemsFromResp,\n _ref$onItemsLoaded = _ref.onItemsLoaded,\n onItemsLoaded = _ref$onItemsLoaded === void 0 ? null : _ref$onItemsLoaded,\n _ref$onPageLoaded = _ref.onPageLoaded,\n onPageLoaded = _ref$onPageLoaded === void 0 ? null : _ref$onPageLoaded,\n _ref$onLoaded = _ref.onLoaded,\n onLoaded = _ref$onLoaded === void 0 ? null : _ref$onLoaded,\n _ref$onError = _ref.onError,\n onError = _ref$onError === void 0 ? null : _ref$onError;\n var isPaginated = getPage !== null || initialPages !== null;\n var lastState = useRef(null);\n var initialState = useMemo(function () {\n var finalInitialPages = initialPages !== null ? initialPages.map(function (it) {\n return getPageFromResponse(it);\n }) : null;\n return {\n lastPage: finalInitialPages !== null ? finalInitialPages.reduce(function (currentLastPage, _ref3) {\n var initialLastPage = _ref3.lastPage;\n return initialLastPage > currentLastPage ? initialLastPage : currentLastPage;\n }, -1) : -1,\n total: finalInitialPages !== null ? finalInitialPages[0].total : (providedItems || []).length,\n loaded: providedItems !== null,\n loading: false,\n pages: finalInitialPages !== null ? finalInitialPages : null,\n items: null\n };\n }, [initialPages, providedItems]);\n\n var _useState = useState(initialState),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var lastPage = state.lastPage,\n loaded = state.loaded,\n loading = state.loading,\n stateItems = state.items,\n pages = state.pages,\n total = state.total;\n var items = providedItems || (isPaginated && pages !== null ? pages.reduce(function (pagesItems, _ref4) {\n var pageItems = _ref4.items;\n return pagesItems.concat(pageItems);\n }, []) : stateItems) || null;\n\n var updateState = function updateState(update) {\n return setState(_objectSpread(_objectSpread({}, state), update));\n };\n\n var updateFromResponse = function updateFromResponse(response) {\n var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var reset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (error !== null) {\n updateState({\n loaded: false,\n loading: false\n });\n throw error;\n }\n\n if (isPaginated) {\n var newPage = getPageFromResponse(response);\n var newPages = (reset ? [newPage] : [].concat(_toConsumableArray((pages || []).filter(function (it) {\n return it.page !== newPage.page;\n })), [newPage])).sort(function (a, b) {\n if (a === b) {\n return 0;\n }\n\n return a > b ? 1 : -1;\n });\n updateState({\n loaded: true,\n loading: false,\n lastPage: newPage.lastPage,\n total: newPage.total,\n pages: newPages\n });\n return newPage;\n }\n\n var newItems = _toConsumableArray(getItemsFromResponse(response));\n\n updateState({\n loaded: true,\n loading: false,\n items: newItems,\n total: newItems.length\n });\n return newItems;\n };\n\n var getNextPage = function getNextPage() {\n var allPages = lastPage !== -1 ? Array.call.apply(Array, [null].concat(_toConsumableArray(Array(lastPage)))).map(function (it, index) {\n return index + 1;\n }) : [];\n var remainingPages = allPages.filter(function (pageNumber) {\n return pages.findIndex(function (it) {\n return it.page === pageNumber;\n }) === -1;\n });\n var firstItem = remainingPages.length > 0 ? remainingPages.shift() : null;\n return firstItem !== null ? firstItem : null;\n };\n\n var loadItems = function loadItems(requestPage) {\n updateState({\n loading: true\n });\n var canceled = false;\n var request = isPaginated ? getPage(requestPage, count) : getItems();\n var promise = request.then(function (response) {\n return !canceled ? updateFromResponse(response) : Promise.reject();\n })[\"catch\"](function (error) {\n return !canceled ? updateFromResponse(null, error) : Promise.reject();\n }).then(function (response) {\n if (isPaginated && onPageLoaded !== null) {\n onPageLoaded(response);\n } else if (!isPaginated && onItemsLoaded !== null) {\n onItemsLoaded(response);\n }\n\n if (onLoaded !== null) {\n onLoaded(response);\n }\n\n return response;\n })[\"catch\"](function (error) {\n if (!canceled && onError !== null) {\n onError(error);\n }\n });\n\n promise.cancel = function () {\n canceled = true;\n };\n\n return promise;\n };\n\n var loadPage = function loadPage(pageToLoad) {\n if (loading) {\n return Promise.reject();\n }\n\n if (pages.find(function (it) {\n return it.page === pageToLoad;\n }) !== -1) {\n return Promise.reject();\n }\n\n return loadItems(pageToLoad);\n };\n\n var loadNextPage = function loadNextPage() {\n if (loading) {\n return Promise.reject();\n }\n\n var nextPage = getNextPage();\n return nextPage !== null ? loadItems(nextPage) : Promise.resolve();\n };\n\n useEffect(function () {\n var hadState = lastState.current !== null;\n lastState.current = initialState;\n\n if (hadState) {\n setState(initialState);\n }\n }, [initialState]);\n useEffect(function () {\n if (getPage === null && getItems === null || providedItems !== null) {\n return function () {};\n }\n\n var loadPromise = null;\n var pageToLoad = isPaginated && initialPages === null && page === null ? 1 : page;\n\n if (!isPaginated || pageToLoad !== null) {\n loadPromise = loadItems(pageToLoad);\n }\n\n return function () {\n if (loadPromise !== null) {\n loadPromise.cancel();\n }\n };\n }, [getPage, getItems, page]);\n var currentPage = isPaginated && pages !== null ? pages.find(function (_ref5) {\n var pageNumber = _ref5.page;\n return parseInt(pageNumber, 10) === parseInt(page, 10);\n }) || null : null;\n return {\n items: items,\n pages: pages,\n pageItems: currentPage !== null ? currentPage.items : null,\n total: total,\n lastPage: lastPage,\n loaded: loaded,\n allLoaded: !isPaginated && loaded || lastPage !== -1 && isPaginated && pages.length === lastPage,\n loading: loading,\n loadNextPage: loadNextPage,\n loadPage: loadPage\n };\n};\n\nvar _excluded$3 = [\"data\"];\n\nvar useMedia = function useMedia(id, opts) {\n var api = useApi();\n var loader = useCallback(function () {\n return api.medias.find(id);\n }, [api, id]);\n\n var _useData = useData(loader, opts),\n data = _useData.data,\n request = _objectWithoutProperties(_useData, _excluded$3);\n\n return _objectSpread({\n story: data\n }, request);\n};\n\n// import { useCallback } from 'react';\n// eslint-disable-next-line\n\nvar useMediaAuthors = function useMediaAuthors() {\n var api = useApi();\n console.log('api', api); // eslint-disable-line\n // const getItems = useCallback(() => api.medias.getAuthors(query, count), [api, query, count]);\n // const { items, pageItems, ...request } = useItems({\n // getItems,\n // ...opts,\n // });\n\n return {\n authors: [] // ...request,\n\n };\n};\n\nvar useMediaCreate = function useMediaCreate() {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n creating = _useState2[0],\n setCreating = _useState2[1];\n\n var api = useApi();\n var create = useCallback(function (data) {\n setCreating(true);\n return api.medias.create(data).then(function (response) {\n setCreating(false);\n return response;\n });\n }, [api, setCreating]);\n return {\n create: create,\n creating: creating\n };\n};\n\nvar _excluded$2 = [\"items\", \"pageItems\"];\n\nvar useMedias = function useMedias() {\n var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var count = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var opts = arguments.length > 3 ? arguments[3] : undefined;\n var api = useApi();\n var getItems = useCallback(function () {\n var requestedPage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n return api.medias.get(query, requestedPage, count);\n }, [api, query, count]);\n\n var _useItems = useItems(_objectSpread({\n getPage: page !== null ? getItems : null,\n getItems: page === null ? getItems : null,\n page: page\n }, opts)),\n items = _useItems.items,\n pageItems = _useItems.pageItems,\n request = _objectWithoutProperties(_useItems, _excluded$2); // console.log('medias', items);\n\n\n return _objectSpread({\n medias: page !== null ? pageItems : items,\n allMedias: items\n }, request);\n};\n\nvar useMediasRecent = function useMediasRecent(opts) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'media-gallery-recent-searches';\n var createSearch = useCallback(function (value) {\n if (window !== undefined && value) {\n var recent = window.localStorage.getItem(key) || null;\n var current = recent !== null ? JSON.parse(recent || '[]') : [];\n var encoded = JSON.stringify([value].concat(_toConsumableArray(current)));\n window.localStorage.setItem(key, encoded);\n return true;\n }\n\n return false;\n }, [key]);\n var getSearches = useCallback(function () {\n var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 5;\n\n if (window !== undefined) {\n var recent = window.localStorage.getItem(key) || null;\n var current = recent !== null ? JSON.parse(recent || '[]') : [];\n return current.slice(0, count);\n }\n\n return [];\n }, [key]);\n return {\n createSearch: createSearch,\n getSearches: getSearches\n };\n};\n\nvar _excluded$1 = [\"items\", \"pageItems\"];\n\nvar useMediaTags = function useMediaTags() {\n var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var opts = arguments.length > 2 ? arguments[2] : undefined;\n var api = useApi();\n var getItems = useCallback(function () {\n return api.medias.getTags(query, count);\n }, [api, query, count]);\n\n var _useItems = useItems(_objectSpread({\n getItems: getItems\n }, opts)),\n items = _useItems.items;\n _useItems.pageItems;\n var request = _objectWithoutProperties(_useItems, _excluded$1);\n\n return _objectSpread({\n tags: items\n }, request);\n};\n\nvar useMediaUpdate = function useMediaUpdate() {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n updating = _useState2[0],\n setUpdating = _useState2[1];\n\n var api = useApi();\n var update = useCallback(function (id, data) {\n setUpdating(true);\n return api.medias.update(id, data).then(function (response) {\n setUpdating(false);\n return response;\n });\n }, [api, setUpdating]);\n return {\n update: update,\n updating: updating\n };\n};\n\nvar _excluded = [\"data\"];\nvar useQuiz = function useQuiz() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n screenId = _ref.screenId,\n _ref$opts = _ref.opts,\n opts = _ref$opts === void 0 ? {} : _ref$opts;\n\n var api = useApi();\n var loader = useCallback(function () {\n return api !== null ? api.quiz.results(screenId) : null;\n }, [api, screenId]);\n\n var _ref2 = api !== null ? useData(loader, opts) : {\n data: null\n },\n data = _ref2.data,\n request = _objectWithoutProperties(_ref2, _excluded);\n\n return _objectSpread({\n quiz: data || []\n }, request);\n};\n\nvar useQuizCreate = function useQuizCreate() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n screenId = _ref.screenId,\n _ref$onSuccess = _ref.onSuccess,\n onSuccess = _ref$onSuccess === void 0 ? null : _ref$onSuccess;\n\n var api = useApi();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n creating = _useState2[0],\n setCreating = _useState2[1];\n\n var create = useCallback(function (data) {\n if (api === null) {\n return null;\n }\n\n setCreating(true);\n return api.quiz.create(_objectSpread({\n screen_id: screenId\n }, data)).then(function (response) {\n setCreating(false);\n\n if (onSuccess !== null) {\n onSuccess(response);\n }\n\n return response;\n });\n }, [api, setCreating, onSuccess, screenId]);\n return {\n create: create,\n creating: creating\n };\n};\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes = {\n api: PropTypes.instanceOf(Api),\n apiBaseUrl: PropTypes.string,\n children: PropTypes.node\n};\nvar defaultProps = {\n api: null,\n apiBaseUrl: undefined,\n children: null\n};\n\nvar DataProvider = function DataProvider(_ref) {\n var api = _ref.api,\n apiBaseUrl = _ref.apiBaseUrl,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(ApiProvider, {\n api: api,\n baseUrl: apiBaseUrl\n }, children);\n};\n\nDataProvider.propTypes = propTypes;\nDataProvider.defaultProps = defaultProps;\n\nexport { Api, ApiProvider, Base as BaseApi, DataProvider, useApi, useContributionCreate, useContributions, useData, useItems, useMedia, useMediaAuthors, useMediaCreate, useMediaTags, useMediaUpdate, useMedias, useMediasRecent as useMediasRecentSearches, useQuiz, useQuizCreate };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport React from 'react';\nimport PropTypes$1 from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes } from '@micromag/core';\nimport { Button as Button$1 } from '@micromag/core/components';\nimport { getStyleFromText, getStyleFromButton } from '@micromag/core/utils';\n\nvar styles = {\"container\":\"micromag-element-button-container\",\"active\":\"micromag-element-button-active\",\"focus\":\"micromag-element-button-focus\",\"disabled\":\"micromag-element-button-disabled\"};\n\nvar propTypes = {\n textStyle: PropTypes.textStyle,\n buttonStyle: PropTypes.buttonStyle,\n type: PropTypes$1.oneOf(['button', 'submit']),\n disabled: PropTypes$1.bool,\n focusable: PropTypes$1.bool,\n onClick: PropTypes$1.func,\n children: PropTypes$1.node,\n className: PropTypes$1.string,\n refButton: PropTypes$1.oneOfType([PropTypes$1.func, PropTypes$1.shape({\n current: PropTypes$1.any // eslint-disable-line\n\n })])\n};\nvar defaultProps = {\n textStyle: null,\n buttonStyle: null,\n type: 'button',\n disabled: false,\n focusable: true,\n onClick: null,\n children: null,\n className: null,\n refButton: null\n};\n\nvar Button = function Button(_ref) {\n var textStyle = _ref.textStyle,\n buttonStyle = _ref.buttonStyle,\n type = _ref.type,\n disabled = _ref.disabled,\n focusable = _ref.focusable,\n onClick = _ref.onClick,\n children = _ref.children,\n className = _ref.className,\n refButton = _ref.refButton;\n var finalStyle = null;\n\n if (textStyle !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromText(textStyle));\n }\n\n if (buttonStyle !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromButton(buttonStyle));\n }\n\n return /*#__PURE__*/React.createElement(Button$1, {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n disabled: disabled,\n style: finalStyle,\n onClick: onClick,\n refButton: refButton,\n type: type,\n focusable: focusable\n }, children);\n};\n\nButton.propTypes = propTypes;\nButton.defaultProps = defaultProps;\n\nexport { Button as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { LinkStyle, HighlightStyle } from '@micromag/core/components';\nimport { getStyleFromLink, getStyleFromHighlight, getStyleFromText, getStyleFromMargin } from '@micromag/core/utils';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { v1 } from 'uuid';\n\nvar styles = {\"container\":\"micromag-element-heading-container\"};\n\nvar propTypes = {\n size: PropTypes.oneOf([1, 2, 3, 4, 5, 6]),\n body: PropTypes.string,\n textStyle: PropTypes$1.textStyle,\n linksStyle: PropTypes$1.textStyle,\n margin: PropTypes$1.margin,\n className: PropTypes.string\n};\nvar defaultProps = {\n size: 1,\n body: null,\n textStyle: null,\n linksStyle: null,\n margin: null,\n className: null\n};\n\nvar Heading = function Heading(_ref) {\n var size = _ref.size,\n body = _ref.body,\n textStyle = _ref.textStyle,\n linksStyle = _ref.linksStyle,\n margin = _ref.margin,\n className = _ref.className;\n var HeadingComponent = \"h\".concat(size);\n\n var _ref2 = textStyle || {},\n _ref2$link = _ref2.link,\n linkStyle = _ref2$link === void 0 ? null : _ref2$link,\n _ref2$highlight = _ref2.highlight,\n highlightStyle = _ref2$highlight === void 0 ? null : _ref2$highlight;\n\n var finalStyle = null;\n var finalLinkStyle = linkStyle !== null ? getStyleFromLink(linkStyle) : null;\n var finalHighlightStyle = highlightStyle !== null ? getStyleFromHighlight(highlightStyle) : null;\n\n if (textStyle !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromText(textStyle));\n }\n\n if (margin !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromMargin(margin));\n }\n\n if (linksStyle !== null) {\n finalLinkStyle = _objectSpread(_objectSpread({}, finalLinkStyle), getStyleFromText(linksStyle));\n }\n\n var needsId = finalLinkStyle !== null || highlightStyle !== null;\n var id = useMemo(function () {\n return needsId ? \"text-component-\".concat(v1()) : null;\n }, [needsId]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, finalLinkStyle !== null ? /*#__PURE__*/React.createElement(LinkStyle, {\n selector: \"#\".concat(id),\n style: finalLinkStyle\n }) : null, finalHighlightStyle !== null ? /*#__PURE__*/React.createElement(HighlightStyle, {\n selector: \"#\".concat(id),\n style: finalHighlightStyle\n }) : null, /*#__PURE__*/React.createElement(HeadingComponent, {\n id: id,\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: finalStyle,\n dangerouslySetInnerHTML: {\n __html: body\n }\n }));\n};\n\nHeading.propTypes = propTypes;\nHeading.defaultProps = defaultProps;\n\nexport { Heading as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useResizeObserver } from '@micromag/core/hooks';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faArrowDown } from '@fortawesome/free-solid-svg-icons';\nimport { useScroll } from 'react-use-gesture';\n\nvar styles = {\"container\":\"micromag-element-scroll-container\",\"withScroll\":\"micromag-element-scroll-withScroll\",\"scrollable\":\"micromag-element-scroll-scrollable\",\"arrowContainer\":\"micromag-element-scroll-arrowContainer\",\"arrow\":\"micromag-element-scroll-arrow\",\"upAndDown\":\"micromag-element-scroll-upAndDown\",\"containOverscroll\":\"micromag-element-scroll-containOverscroll\",\"top\":\"micromag-element-scroll-top\",\"scrollee\":\"micromag-element-scroll-scrollee\",\"middle\":\"micromag-element-scroll-middle\",\"bottom\":\"micromag-element-scroll-bottom\",\"withArrow\":\"micromag-element-scroll-withArrow\"};\n\nvar propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n disabled: PropTypes.bool,\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'bottom']),\n className: PropTypes.string,\n children: PropTypes.node,\n onScrolledBottom: PropTypes.func,\n onScrolledNotBottom: PropTypes.func,\n contain: PropTypes.bool,\n scrollContainerRef: PropTypes.any // eslint-disable-line\n\n};\nvar defaultProps = {\n width: null,\n height: null,\n disabled: false,\n verticalAlign: null,\n className: null,\n children: null,\n onScrolledBottom: null,\n onScrolledNotBottom: null,\n contain: false,\n scrollContainerRef: null\n};\n\nvar Scroll = function Scroll(_ref) {\n var _ref5;\n\n var width = _ref.width,\n height = _ref.height,\n disabled = _ref.disabled,\n verticalAlign = _ref.verticalAlign,\n className = _ref.className,\n children = _ref.children,\n onScrolledBottom = _ref.onScrolledBottom,\n onScrolledNotBottom = _ref.onScrolledNotBottom,\n contain = _ref.contain,\n scrollContainerRef = _ref.scrollContainerRef;\n var finalStyle = {\n width: width,\n height: height\n };\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n withArrow = _useState2[0],\n setWithArrow = _useState2[1];\n\n var _useResizeObserver = useResizeObserver(),\n scrollableRef = _useResizeObserver.ref,\n scrollableRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = scrollableRect || {},\n scrollableHeight = _ref2.height;\n\n if (scrollContainerRef !== null) {\n scrollContainerRef.current = scrollableRef.current; // eslint-disable-line\n }\n\n var _useResizeObserver2 = useResizeObserver(),\n scrolleeRef = _useResizeObserver2.ref,\n scrolleeRect = _useResizeObserver2.entry.contentRect;\n\n var _ref3 = scrolleeRect || {},\n scrolleeHeight = _ref3.height;\n\n var scrolledBottomOnce = useRef(false);\n var scrolledNotBottomOnce = useRef(false);\n var reachedBottom = useRef(false);\n var bind = useScroll(function (_ref4) {\n var _ref4$xy = _slicedToArray(_ref4.xy, 2),\n scrollY = _ref4$xy[1];\n\n var newWithArrow = scrollY <= 1;\n var maxScrollAmount = scrolleeHeight - scrollableHeight;\n var nowReachedBottom = scrollY + 1 >= maxScrollAmount;\n\n if (nowReachedBottom) {\n if (!reachedBottom.current) {\n if (onScrolledBottom !== null) {\n onScrolledBottom({\n initial: !scrolledBottomOnce.current\n });\n }\n\n scrolledBottomOnce.current = true;\n }\n } else if (reachedBottom.current) {\n if (onScrolledNotBottom !== null) {\n onScrolledNotBottom({\n initial: !scrolledNotBottomOnce.current\n });\n }\n\n scrolledNotBottomOnce.current = true;\n }\n\n if (newWithArrow !== withArrow) {\n setWithArrow(newWithArrow);\n }\n\n reachedBottom.current = nowReachedBottom;\n }, {\n enabled: !disabled\n }); // need to call scrolled callbacks on initial render also\n\n useEffect(function () {\n if (scrolleeHeight > 0 && scrollableHeight > 0 && !disabled) {\n setWithArrow(Math.round(scrolleeHeight) > Math.round(scrollableHeight));\n var maxScrollAmount = scrolleeHeight - scrollableHeight;\n var nowReachedBottom = scrollableRef.current.scrollTop + 1 >= maxScrollAmount;\n\n if (nowReachedBottom) {\n if (onScrolledBottom !== null) {\n onScrolledBottom({\n initial: false\n });\n }\n } else if (onScrolledNotBottom !== null) {\n onScrolledNotBottom({\n initial: false\n });\n }\n }\n }, [scrollableHeight, scrolleeHeight, setWithArrow, disabled]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref5 = {}, _defineProperty(_ref5, styles.withScroll, !disabled), _defineProperty(_ref5, styles.containOverscroll, contain), _defineProperty(_ref5, className, className !== null), _defineProperty(_ref5, styles[verticalAlign], verticalAlign !== null), _defineProperty(_ref5, styles.withArrow, withArrow), _ref5)]),\n style: finalStyle\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: styles.scrollable,\n ref: scrollableRef\n }, bind()), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.scrollee,\n ref: scrolleeRef\n }, children)), !disabled ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.arrowContainer\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.arrow,\n icon: faArrowDown\n })) : null);\n};\n\nScroll.propTypes = propTypes;\nScroll.defaultProps = defaultProps;\nvar Scroll$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Scroll, Object.assign({\n scrollContainerRef: ref\n }, props));\n});\n\nexport { Scroll$1 as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { getStyleFromMargin, getStyleFromText, getStyleFromButton } from '@micromag/core/utils';\n\nvar styles = {\"container\":\"micromag-element-text-input-container\",\"element\":\"micromag-element-text-input-element\"};\n\nvar propTypes = {\n label: PropTypes.string,\n labelOutside: PropTypes.bool,\n labelClassName: PropTypes.string,\n textStyle: PropTypes$1.textStyle,\n buttonStyle: PropTypes$1.buttonStyle,\n labelOutsideStyle: PropTypes$1.textStyle,\n margin: PropTypes$1.margin,\n multiline: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n required: PropTypes.bool,\n disabled: PropTypes.bool,\n focusable: PropTypes.bool,\n className: PropTypes.string\n};\nvar defaultProps = {\n label: null,\n labelOutside: false,\n labelClassName: null,\n textStyle: null,\n buttonStyle: null,\n labelOutsideStyle: null,\n margin: null,\n multiline: false,\n value: '',\n onChange: null,\n onFocus: null,\n onBlur: null,\n required: false,\n disabled: false,\n focusable: true,\n className: null\n};\n\nvar TextInput = function TextInput(_ref) {\n var _ref2;\n\n var label = _ref.label,\n labelOutside = _ref.labelOutside,\n labelClassName = _ref.labelClassName,\n textStyle = _ref.textStyle,\n buttonStyle = _ref.buttonStyle,\n labelOutsideStyle = _ref.labelOutsideStyle,\n margin = _ref.margin,\n multiline = _ref.multiline,\n value = _ref.value,\n onChange = _ref.onChange,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n required = _ref.required,\n disabled = _ref.disabled,\n focusable = _ref.focusable,\n className = _ref.className;\n var containerStyle = {};\n var labelStyle = {};\n var elementStyle = {};\n\n if (margin !== null) {\n containerStyle = _objectSpread(_objectSpread({}, containerStyle), getStyleFromMargin(margin));\n }\n\n if (labelOutsideStyle !== null) {\n labelStyle = _objectSpread(_objectSpread({}, labelStyle), getStyleFromText(labelOutsideStyle));\n }\n\n if (textStyle !== null) {\n elementStyle = _objectSpread(_objectSpread({}, elementStyle), getStyleFromText(textStyle));\n }\n\n if (buttonStyle !== null) {\n elementStyle = _objectSpread(_objectSpread({}, elementStyle), getStyleFromButton(buttonStyle));\n }\n\n var containerProps = {\n className: classNames([styles.container, (_ref2 = {}, _defineProperty(_ref2, className, className !== null), _defineProperty(_ref2, styles.element, !labelOutside), _ref2)]),\n style: containerStyle\n };\n\n var elementProps = _objectSpread(_objectSpread({\n className: styles.element\n }, !labelOutside ? containerProps : null), {}, {\n style: elementStyle,\n placeholder: !labelOutside ? label : undefined,\n value: value,\n onChange: onChange,\n onFocus: onFocus,\n onBlur: onBlur,\n required: required,\n disabled: disabled\n });\n\n var element = multiline ? /*#__PURE__*/React.createElement(\"textarea\", Object.assign({}, elementProps, {\n tabIndex: focusable ? '0' : '-1'\n })) : /*#__PURE__*/React.createElement(\"input\", Object.assign({}, elementProps, {\n type: \"text\",\n tabIndex: focusable ? '0' : '-1'\n }));\n return !labelOutside ? element : /*#__PURE__*/React.createElement(\"label\", containerProps, /*#__PURE__*/React.createElement(\"div\", {\n className: labelClassName,\n style: labelStyle\n }, label), element);\n};\n\nTextInput.propTypes = propTypes;\nTextInput.defaultProps = defaultProps;\n\nexport { TextInput as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useRef, useState, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport { isTextFilled, isLabelFilled, getStyleFromColor } from '@micromag/core/utils';\nimport { useContributionCreate, useContributions } from '@micromag/data';\nimport Background from '@micromag/element-background';\nimport Button from '@micromag/element-button';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Scroll from '@micromag/element-scroll';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Text from '@micromag/element-text';\nimport TextInput from '@micromag/element-text-input';\n\nvar styles = {\"container\":\"micromag-screen-contribution-container\",\"content\":\"micromag-screen-contribution-content\",\"buttonSubmit\":\"micromag-screen-contribution-buttonSubmit\",\"emptyInputMessage\":\"micromag-screen-contribution-emptyInputMessage\",\"emptyInputName\":\"micromag-screen-contribution-emptyInputName\",\"emptySubmit\":\"micromag-screen-contribution-emptySubmit\",\"emptyTitle\":\"micromag-screen-contribution-emptyTitle\",\"title\":\"micromag-screen-contribution-title\",\"interactiveContainer\":\"micromag-screen-contribution-interactiveContainer\",\"form\":\"micromag-screen-contribution-form\",\"inputMessage\":\"micromag-screen-contribution-inputMessage\",\"inputName\":\"micromag-screen-contribution-inputName\",\"formContent\":\"micromag-screen-contribution-formContent\",\"formLoading\":\"micromag-screen-contribution-formLoading\",\"rotate\":\"micromag-screen-contribution-rotate\",\"loadingIcon\":\"micromag-screen-contribution-loadingIcon\",\"contributionsContainer\":\"micromag-screen-contribution-contributionsContainer\",\"contributionsContent\":\"micromag-screen-contribution-contributionsContent\",\"contributions\":\"micromag-screen-contribution-contributions\",\"contribution\":\"micromag-screen-contribution-contribution\",\"callToAction\":\"micromag-screen-contribution-callToAction\",\"submitting\":\"micromag-screen-contribution-submitting\",\"submitted\":\"micromag-screen-contribution-submitted\",\"showContributions\":\"micromag-screen-contribution-showContributions\",\"isPlaceholder\":\"micromag-screen-contribution-isPlaceholder\"};\n\nvar propTypes = {\n id: PropTypes.string,\n layout: PropTypes.oneOf(['top', 'middle', 'bottom']),\n title: PropTypes$1.headingElement,\n name: PropTypes$1.inputElement,\n message: PropTypes$1.inputElement,\n submit: PropTypes$1.textElement,\n nameStyle: PropTypes$1.textStyle,\n messageStyle: PropTypes$1.textStyle,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n resizeTransitionDuration: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n id: null,\n layout: 'middle',\n title: null,\n name: null,\n message: null,\n submit: null,\n nameStyle: null,\n messageStyle: null,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n transitionStagger: 100,\n resizeTransitionDuration: 750,\n type: null,\n className: null\n};\n\nvar ContributionScreen = function ContributionScreen(_ref) {\n var _ref4;\n\n var id = _ref.id,\n layout = _ref.layout,\n title = _ref.title,\n name = _ref.name,\n message = _ref.message,\n submit = _ref.submit,\n nameStyle = _ref.nameStyle,\n messageStyle = _ref.messageStyle,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n resizeTransitionDuration = _ref.resizeTransitionDuration,\n type = _ref.type,\n className = _ref.className;\n var screenId = id || 'screen-id';\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current;\n var hasTitle = isTextFilled(title);\n var hasNameLabel = isLabelFilled(name);\n var hasMessageLabel = isLabelFilled(message);\n var hasSubmit = isTextFilled(submit);\n var contributionsRef = useRef(null);\n var formRef = useRef(null);\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n interactiveContainerHeight = _useState2[0],\n setInteractiveContainerHeight = _useState2[1];\n\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n userName = _useState4[0],\n setUserName = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n userMessage = _useState6[0],\n setUserMessage = _useState6[1]; // 0 = default, 1 = submitting, 2 = submitted, 3 = resizing, 4 = done\n\n\n var _useState7 = useState(isStatic || isCapture ? 4 : 0),\n _useState8 = _slicedToArray(_useState7, 2),\n submitState = _useState8[0],\n setSubmitState = _useState8[1];\n\n var onContributionSubmitted = useCallback(function () {\n setSubmitState(2);\n trackScreenEvent('submit_success', \"\".concat(userName, \": \").concat(userMessage));\n }, [setSubmitState, trackScreenEvent, userName, userMessage]);\n\n var _useContributionCreat = useContributionCreate({\n screenId: screenId\n }),\n submitContribution = _useContributionCreat.create;\n\n var _useContributions = useContributions({\n screenId: screenId,\n opts: {\n autoload: !isPlaceholder\n }\n }),\n contributions = _useContributions.contributions;\n\n var onNameChange = useCallback(function (e) {\n setUserName(e.currentTarget.value);\n }, [setUserName]);\n var onMessageChange = useCallback(function (e) {\n setUserMessage(e.currentTarget.value);\n }, [setUserMessage]);\n var nameFilled = useRef(false);\n var onNameBlur = useCallback(function (e) {\n if (!nameFilled.current && e.currentTarget.value.length > 0) {\n nameFilled.current = true;\n trackScreenEvent('input_filled', 'Name', {\n userName: e.currentTarget.value,\n userMessage: userMessage\n });\n }\n }, [trackScreenEvent, userMessage]);\n var messageFilled = useRef(false);\n var onMessageBlur = useCallback(function (e) {\n if (!messageFilled.current && e.currentTarget.value.length > 0) {\n messageFilled.current = true;\n trackScreenEvent('input_filled', 'Message', {\n userName: userName,\n userMessage: e.currentTarget.value\n });\n }\n }, [trackScreenEvent, userName]); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState9 = useState(false),\n _useState10 = _slicedToArray(_useState9, 2),\n scrolledBottom = _useState10[0],\n setScrolledBottom = _useState10[1];\n\n var swipeUpLinkActive = scrolledBottom && submitState === 4;\n\n var _useResizeObserver = useResizeObserver(),\n callToActionRef = _useResizeObserver.ref,\n callToActionRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = callToActionRect || {},\n _ref2$height = _ref2.height,\n callToActionHeight = _ref2$height === void 0 ? 0 : _ref2$height;\n\n var onScrolledBottom = useCallback(function (_ref3) {\n var initial = _ref3.initial;\n\n if (initial) {\n trackScreenEvent('scroll', 'Contributions list');\n }\n\n setScrolledBottom(true);\n }, [trackScreenEvent, setScrolledBottom]);\n var onScrolledNotBottom = useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n var onSubmit = useCallback(function (e) {\n e.preventDefault();\n\n if (submitState === 0) {\n setInteractiveContainerHeight(formRef.current.offsetHeight);\n setSubmitState(1);\n submitContribution({\n name: userName,\n message: userMessage\n });\n onContributionSubmitted();\n trackScreenEvent('click_submit', \"\".concat(userName, \": \").concat(userMessage), {\n userName: userName,\n userMessage: userMessage\n });\n }\n }, [submitState, setSubmitState, userName, userMessage, trackScreenEvent, onContributionSubmitted]);\n useEffect(function () {\n var timeout = null;\n\n if (submitState === 2) {\n timeout = setTimeout(setSubmitState, resizeTransitionDuration, 4);\n setInteractiveContainerHeight(contributionsRef.current.offsetHeight);\n setSubmitState(3);\n }\n\n return function () {\n if (submitState === 3 && timeout !== null) {\n clearTimeout(timeout);\n }\n };\n }, [submitState, setInteractiveContainerHeight, setSubmitState, resizeTransitionDuration]); // Title\n\n var items = [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: \"title\",\n placeholderProps: {\n height: '0.75em'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasTitle\n }, hasTitle ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Heading, Object.assign({}, title, {\n className: styles.title\n }))) : null)];\n var allContributions = [].concat(_toConsumableArray(userName !== null && userMessage !== null ? [{\n name: userName,\n message: userMessage\n }] : []), _toConsumableArray(contributions || [])); // Form\n\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"form\",\n className: styles.interactiveContainer,\n style: {\n height: submitState < 4 ? interactiveContainerHeight : null,\n transitionDuration: \"\".concat(resizeTransitionDuration, \"ms\")\n }\n }, /*#__PURE__*/React.createElement(\"form\", {\n className: styles.form,\n onSubmit: onSubmit,\n ref: formRef\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.formContent\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"inputText\",\n placeholderProps: {\n height: '0.25em'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"G/ITGY\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Your name\"\n }]\n }),\n emptyClassName: styles.emptyInputName,\n isEmpty: !hasNameLabel\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(TextInput, Object.assign({\n className: styles.inputName\n }, name, {\n value: userName,\n onChange: function onChange(e) {\n return onNameChange(e);\n },\n onBlur: function onBlur(e) {\n return onNameBlur(e);\n },\n focusable: current && isView,\n disabled: isPreview,\n required: true\n })))), /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"inputText\",\n placeholderProps: {\n height: '0.75em'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"JAguka\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Your message\"\n }]\n }),\n emptyClassName: styles.emptyInputMessage,\n isEmpty: !hasMessageLabel\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger * 2,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(TextInput, Object.assign({\n className: styles.inputMessage\n }, message, {\n value: userMessage,\n onChange: function onChange(e) {\n return onMessageChange(e);\n },\n onBlur: function onBlur(e) {\n return onMessageBlur(e);\n },\n disabled: isPreview,\n focusable: current && isView,\n multiline: true,\n required: true\n })))), /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"button\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"5uH4x7\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Submit\"\n }]\n }),\n emptyClassName: styles.emptySubmit,\n isEmpty: !hasSubmit\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger * 3,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"submit\",\n className: styles.buttonSubmit,\n disabled: isPreview,\n buttonStyle: submit !== null ? submit.buttonStyle : null,\n focusable: current && isView\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, submit, {\n inline: true\n })))))), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.formLoading\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.loadingIcon,\n icon: faSpinner\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.contributionsContainer,\n \"aria-hidden\": submitState === 4 ? null : 'true'\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.contributionsContent\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.contributions,\n ref: contributionsRef\n }, allContributions.map(function (contribution, contributionIndex) {\n var nameInnerStyle = nameStyle !== null ? nameStyle.style || null : null;\n var messageInnerStyle = messageStyle !== null ? messageStyle.style || null : null;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"contribution-\".concat(contributionIndex),\n className: styles.contribution,\n style: nameInnerStyle !== null ? getStyleFromColor(nameInnerStyle.color, 'borderColor') : null\n }, /*#__PURE__*/React.createElement(Heading, {\n className: styles.contributionName,\n body: contribution.name,\n size: 2,\n textStyle: nameInnerStyle\n }), /*#__PURE__*/React.createElement(Text, {\n className: styles.contributionMessage,\n body: contribution.message,\n textStyle: messageInnerStyle\n }));\n })))), hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: callToActionHeight\n }\n }) : null));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref4, styles.submitting, submitState === 1), _defineProperty(_ref4, styles.submitted, submitState > 1), _defineProperty(_ref4, styles.showContributions, submitState === 4), _ref4)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(Scroll, {\n verticalAlign: layout,\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, items), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n disabled: !swipeUpLinkActive,\n animationDisabled: isPreview,\n callToAction: callToAction,\n focusable: current && isView\n }) : null)));\n};\n\nContributionScreen.propTypes = propTypes;\nContributionScreen.defaultProps = defaultProps;\n\nvar definition = {\n id: 'contribution',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"ZqwBOx\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Questions\"\n }]\n }),\n order: 7\n },\n title: defineMessage({\n \"id\": \"g6b9Lg\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Contribution\"\n }]\n }),\n component: ContributionScreen,\n layouts: ['top', 'middle', 'bottom'],\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n \"id\": \"N25iDO\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'name',\n type: 'input-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"nXVNeg\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Name\"\n }]\n })\n }, {\n name: 'message',\n type: 'input-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"RcLsua\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Message\"\n }]\n })\n }, {\n name: 'submit',\n type: 'button-element',\n theme: {\n textStyle: 'button'\n },\n label: defineMessage({\n \"id\": \"uAKPQ9\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Submit\"\n }]\n })\n }, {\n name: 'nameStyle',\n type: 'item-text-style',\n theme: {\n style: {\n textStyle: 'heading2'\n }\n },\n label: defineMessage({\n \"id\": \"SyMSDa\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Published name style\"\n }]\n })\n }, {\n name: 'messageStyle',\n type: 'item-text-style',\n theme: {\n style: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n \"id\": \"+SlKOi\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Published message style\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { ContributionScreen, definition as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useCallback } from 'react';\nimport PropTypes$1 from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes } from '@micromag/core';\nimport { getOptimalImageUrl } from '@micromag/core/utils';\nimport { getSizeWithinBounds } from '@folklore/size';\n\nvar styles = {\"container\":\"micromag-element-image-container\",\"showEmpty\":\"micromag-element-image-showEmpty\",\"img\":\"micromag-element-image-img\"};\n\nvar propTypes = {\n media: PropTypes.imageMedia,\n alt: PropTypes$1.string,\n width: PropTypes$1.oneOfType([PropTypes$1.number, PropTypes$1.string]),\n height: PropTypes$1.oneOfType([PropTypes$1.number, PropTypes$1.string]),\n objectFit: PropTypes.objectFit,\n containerStyle: PropTypes.containerStyle,\n imageStyle: PropTypes.containerStyle,\n className: PropTypes$1.string,\n imageClassName: PropTypes$1.string,\n onLoaded: PropTypes$1.func,\n loadingMode: PropTypes$1.string\n};\nvar defaultProps = {\n media: null,\n alt: null,\n width: null,\n height: null,\n objectFit: null,\n containerStyle: {},\n //\n imageStyle: {},\n className: null,\n imageClassName: null,\n onLoaded: null,\n loadingMode: 'lazy'\n};\n\nvar Image = function Image(_ref) {\n var media = _ref.media,\n alt = _ref.alt,\n width = _ref.width,\n height = _ref.height,\n objectFit = _ref.objectFit,\n containerStyle = _ref.containerStyle,\n imageStyle = _ref.imageStyle,\n className = _ref.className,\n imageClassName = _ref.imageClassName,\n onLoaded = _ref.onLoaded,\n loadingMode = _ref.loadingMode;\n\n var _ref2 = media || {},\n _ref2$url = _ref2.url,\n url = _ref2$url === void 0 ? null : _ref2$url,\n _ref2$metadata = _ref2.metadata,\n metadata = _ref2$metadata === void 0 ? null : _ref2$metadata;\n\n var _ref3 = metadata || {},\n _ref3$width = _ref3.width,\n mediaWidth = _ref3$width === void 0 ? 0 : _ref3$width,\n _ref3$height = _ref3.height,\n mediaHeight = _ref3$height === void 0 ? 0 : _ref3$height,\n _ref3$description = _ref3.description,\n description = _ref3$description === void 0 ? 'image' : _ref3$description;\n\n var mediaRatio = mediaWidth / mediaHeight;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n realSize = _useState2[0],\n setRealSize = _useState2[1];\n\n var _ref4 = realSize || {},\n _ref4$realWidth = _ref4.realWidth,\n realWidth = _ref4$realWidth === void 0 ? 0 : _ref4$realWidth,\n _ref4$realHeight = _ref4.realHeight,\n realHeight = _ref4$realHeight === void 0 ? 0 : _ref4$realHeight;\n\n var onImageLoaded = useCallback(function (e) {\n var _e$target = e.target,\n _e$target$naturalWidt = _e$target.naturalWidth,\n naturalWidth = _e$target$naturalWidt === void 0 ? 0 : _e$target$naturalWidt,\n _e$target$naturalHeig = _e$target.naturalHeight,\n naturalHeight = _e$target$naturalHeig === void 0 ? 0 : _e$target$naturalHeig;\n setRealSize({\n width: naturalWidth,\n height: naturalHeight\n });\n\n if (onLoaded !== null) {\n onLoaded(e);\n }\n }, [onLoaded]);\n var finalMediaWidth = realWidth || mediaWidth || 0;\n var finalMediaHeight = realHeight || mediaHeight || 0;\n var withFit = objectFit !== null;\n var mediaHasSize = finalMediaWidth > 0 && finalMediaHeight > 0;\n var finalContainerStyle;\n var finalImageStyle;\n\n if (withFit) {\n var imageTop = 0;\n var imageLeft = 0;\n var imageWidth = width;\n var imageHeight = height;\n var imageObjectFit = null;\n var imageObjectPosition = null;\n\n var _ref5 = objectFit || {},\n _ref5$fit = _ref5.fit,\n fit = _ref5$fit === void 0 ? null : _ref5$fit,\n _ref5$horizontalPosit = _ref5.horizontalPosition,\n horizontalPosition = _ref5$horizontalPosit === void 0 ? 'center' : _ref5$horizontalPosit,\n _ref5$verticalPositio = _ref5.verticalPosition,\n verticalPosition = _ref5$verticalPositio === void 0 ? 'center' : _ref5$verticalPositio;\n\n if (mediaHasSize) {\n var _getSizeWithinBounds = getSizeWithinBounds(finalMediaWidth, finalMediaHeight, width, height, {\n cover: fit === 'cover'\n }),\n resizedImageWidth = _getSizeWithinBounds.width,\n resizedImageHeight = _getSizeWithinBounds.height;\n\n imageWidth = resizedImageWidth;\n imageHeight = resizedImageHeight;\n\n if (horizontalPosition === 'center') {\n imageLeft = -(resizedImageWidth - width) / 2;\n } else if (horizontalPosition === 'right') {\n imageLeft = -(resizedImageWidth - width);\n }\n\n if (verticalPosition === 'center') {\n imageTop = -(resizedImageHeight - height) / 2;\n } else if (verticalPosition === 'bottom') {\n imageTop = -(resizedImageHeight - height);\n }\n } else {\n imageObjectFit = fit;\n imageObjectPosition = \"\".concat(horizontalPosition, \" \").concat(verticalPosition);\n }\n\n finalContainerStyle = {\n width: width,\n height: height\n };\n finalImageStyle = {\n position: 'absolute',\n width: imageWidth,\n height: imageHeight,\n top: imageTop,\n left: imageLeft,\n objectFit: imageObjectFit,\n objectPosition: imageObjectPosition\n };\n } else {\n var validWidth = width !== null && typeof width === 'number';\n var validHeight = height !== null && typeof height === 'number';\n var ratioWidth = validHeight ? height * mediaRatio : null;\n var ratioHeight = validWidth ? width / mediaRatio : null;\n\n var _finalWidth = width !== null ? width : ratioWidth;\n\n var _finalHeight = height !== null ? height : ratioHeight;\n\n if (_finalWidth === null && _finalHeight === null) {\n _finalWidth = finalMediaWidth > 0 ? mediaWidth : null;\n _finalHeight = finalMediaHeight > 0 ? mediaHeight : null;\n }\n\n finalImageStyle = {\n width: _finalWidth,\n height: _finalHeight\n };\n finalContainerStyle = finalImageStyle;\n }\n\n finalContainerStyle = _objectSpread(_objectSpread({}, finalContainerStyle), containerStyle);\n finalImageStyle = _objectSpread(_objectSpread({}, finalImageStyle), imageStyle);\n var _finalImageStyle = finalImageStyle,\n _finalImageStyle$widt = _finalImageStyle.width,\n finalWidth = _finalImageStyle$widt === void 0 ? null : _finalImageStyle$widt,\n _finalImageStyle$heig = _finalImageStyle.height,\n finalHeight = _finalImageStyle$heig === void 0 ? null : _finalImageStyle$heig;\n var finalUrl = getOptimalImageUrl(media, finalWidth, finalHeight);\n var img = url ? /*#__PURE__*/React.createElement(\"img\", {\n src: finalUrl,\n alt: alt || description,\n className: classNames([styles.img, _defineProperty({}, imageClassName, imageClassName !== null)]),\n style: finalImageStyle,\n onLoad: onImageLoaded,\n loading: loadingMode\n }) : null;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: finalContainerStyle\n }, img);\n};\n\nImage.propTypes = propTypes;\nImage.defaultProps = defaultProps;\n\nexport { Image as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport { getSizeWithinBounds } from '@folklore/size';\nimport { PropTypes } from '@micromag/core';\nimport Image from '@micromag/element-image';\nimport Video from '@micromag/element-video';\n\nvar styles = {\"container\":\"micromag-element-visual-container\",\"videoContainer\":\"micromag-element-visual-videoContainer\"};\n\nvar _excluded = [\"media\", \"width\", \"height\", \"objectFit\", \"playing\", \"videoLoop\", \"videoInitialMuted\", \"onLoaded\", \"className\", \"videoClassName\"];\nvar propTypes = {\n media: PropTypes.media,\n width: PropTypes$1.oneOfType([PropTypes$1.number, PropTypes$1.string]),\n height: PropTypes$1.oneOfType([PropTypes$1.number, PropTypes$1.string]),\n objectFit: PropTypes.objectFit,\n playing: PropTypes$1.bool,\n videoLoop: PropTypes$1.bool,\n videoInitialMuted: PropTypes$1.bool,\n onLoaded: PropTypes$1.func,\n className: PropTypes$1.string,\n videoClassName: PropTypes$1.string\n};\nvar defaultProps = {\n media: null,\n width: null,\n height: null,\n objectFit: null,\n playing: true,\n videoLoop: true,\n videoInitialMuted: true,\n onLoaded: null,\n className: null,\n videoClassName: null\n};\n\nvar Visual = function Visual(_ref) {\n var media = _ref.media,\n width = _ref.width,\n height = _ref.height,\n objectFit = _ref.objectFit,\n playing = _ref.playing,\n videoLoop = _ref.videoLoop,\n videoInitialMuted = _ref.videoInitialMuted,\n onLoaded = _ref.onLoaded,\n className = _ref.className,\n videoClassName = _ref.videoClassName,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _ref2 = media || {},\n _ref2$type = _ref2.type,\n type = _ref2$type === void 0 ? null : _ref2$type,\n _ref2$thumbnail_url = _ref2.thumbnail_url,\n thumbnailUrl = _ref2$thumbnail_url === void 0 ? null : _ref2$thumbnail_url,\n metadata = _ref2.metadata,\n url = _ref2.url;\n\n var _ref3 = metadata || {},\n mime = _ref3.mime;\n\n var isVideo = type === 'video';\n var isGIF = type === 'image' && mime === 'image/gif';\n var elProps = useMemo(function () {\n return _objectSpread(_objectSpread({}, props), {}, {\n media: media\n });\n }, [props, media]);\n var imageElProps = useMemo(function () {\n var tmpProps = !playing && (isVideo || isGIF) ? _objectSpread(_objectSpread({}, elProps), {}, {\n media: {\n url: thumbnailUrl\n }\n }) : elProps;\n return isGIF && playing ? _objectSpread(_objectSpread({}, elProps), {}, {\n media: {\n url: url\n }\n }) : tmpProps;\n }, [isVideo, isGIF, elProps, thumbnailUrl, url, playing]);\n var videoContainerStyle = null;\n\n if (isVideo && objectFit !== null && playing) {\n var _ref4 = objectFit || {},\n _ref4$fit = _ref4.fit,\n fit = _ref4$fit === void 0 ? 'cover' : _ref4$fit;\n\n var _ref5 = media || {},\n _ref5$metadata = _ref5.metadata,\n videoMetadata = _ref5$metadata === void 0 ? null : _ref5$metadata;\n\n var _ref6 = videoMetadata || {},\n _ref6$width = _ref6.width,\n videoWidth = _ref6$width === void 0 ? 0 : _ref6$width,\n _ref6$height = _ref6.height,\n videoHeight = _ref6$height === void 0 ? 0 : _ref6$height;\n\n var _getSizeWithinBounds = getSizeWithinBounds(videoWidth, videoHeight, width, height, {\n cover: fit === 'cover'\n }),\n resizedVideoWidth = _getSizeWithinBounds.width,\n resizedVideoHeight = _getSizeWithinBounds.height;\n\n var resizedVideoLeft = -(resizedVideoWidth - width) / 2;\n var resizedVideoTop = -(resizedVideoHeight - height) / 2;\n videoContainerStyle = {\n width: resizedVideoWidth,\n height: resizedVideoHeight,\n left: resizedVideoLeft,\n top: resizedVideoTop\n };\n }\n\n return type !== null ? /*#__PURE__*/React.createElement(React.Fragment, null, type === 'image' || !playing ? /*#__PURE__*/React.createElement(Image, Object.assign({}, imageElProps, {\n objectFit: objectFit,\n width: width,\n height: height,\n onLoaded: onLoaded,\n className: classNames([styles.container, _defineProperty({}, className, className !== null)])\n })) : null, isVideo && playing ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: {\n width: width,\n height: height\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.videoContainer, _defineProperty({}, videoClassName, videoClassName !== null)]),\n style: videoContainerStyle\n }, /*#__PURE__*/React.createElement(Video, Object.assign({}, elProps, {\n width: objectFit === null ? width : null,\n height: objectFit === null ? height : null,\n autoPlay: true,\n loop: videoLoop,\n initialMuted: videoInitialMuted,\n onReady: onLoaded\n })))) : null) : null;\n};\n\nVisual.propTypes = propTypes;\nVisual.defaultProps = defaultProps;\n\nexport { Visual as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useEffect, useRef, useCallback, useMemo } from 'react';\nimport PropTypes$1 from 'prop-types';\nimport classNames from 'classnames';\nimport { v1 } from 'uuid';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout from '@micromag/element-layout';\nimport Scroll from '@micromag/element-scroll';\nimport CallToAction from '@micromag/element-call-to-action';\nimport { PropTypes } from '@micromag/core';\nimport { getStyleFromColor, isTextFilled } from '@micromag/core/utils';\nimport Heading from '@micromag/element-heading';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport Text from '@micromag/element-text';\nimport Visual from '@micromag/element-visual';\n\nvar styles = {\"container\":\"micromag-screen-conversation-container\",\"disabled\":\"micromag-screen-conversation-disabled\",\"hidden\":\"micromag-screen-conversation-hidden\",\"placeholder\":\"micromag-screen-conversation-placeholder\",\"content\":\"micromag-screen-conversation-content\",\"conversationHeader\":\"micromag-screen-conversation-conversationHeader\",\"empty\":\"micromag-screen-conversation-empty\",\"title\":\"micromag-screen-conversation-title\",\"callToAction\":\"micromag-screen-conversation-callToAction\",\"messageContainer\":\"micromag-screen-conversation-messageContainer\",\"message\":\"micromag-screen-conversation-message\",\"normalLeft\":\"micromag-screen-conversation-normalLeft\",\"inBetweenLeft\":\"micromag-screen-conversation-inBetweenLeft\",\"normalRight\":\"micromag-screen-conversation-normalRight\",\"inBetweenRight\":\"micromag-screen-conversation-inBetweenRight\",\"last\":\"micromag-screen-conversation-last\",\"speakerDetails\":\"micromag-screen-conversation-speakerDetails\",\"right\":\"micromag-screen-conversation-right\",\"avatarContainer\":\"micromag-screen-conversation-avatarContainer\",\"avatar\":\"micromag-screen-conversation-avatar\",\"imageContainer\":\"micromag-screen-conversation-imageContainer\",\"withAnimation\":\"micromag-screen-conversation-withAnimation\",\"appear\":\"micromag-screen-conversation-appear\",\"loadingContainer\":\"micromag-screen-conversation-loadingContainer\",\"loading\":\"micromag-screen-conversation-loading\",\"dot\":\"micromag-screen-conversation-dot\",\"bounce\":\"micromag-screen-conversation-bounce\",\"loadingSpeakerName\":\"micromag-screen-conversation-loadingSpeakerName\"};\n\nvar propTypes$1 = {\n message: PropTypes.conversationMessage,\n previousMessage: PropTypes.conversationMessage,\n nextMessage: PropTypes.conversationMessage,\n nextMessageState: PropTypes$1.bool,\n currentSpeaker: PropTypes.speaker,\n // state: PropTypes.oneOf(['pause', 'typing', 'send']),\n conversationTiming: PropTypes$1.number,\n typingTiming: PropTypes$1.number,\n onChange: PropTypes$1.func,\n withAnimation: PropTypes$1.bool,\n isPlaying: PropTypes$1.bool,\n speakerStyle: PropTypes.textStyle,\n messageStyle: PropTypes.textStyle,\n className: PropTypes$1.string\n};\nvar defaultProps$1 = {\n message: null,\n previousMessage: null,\n nextMessage: null,\n nextMessageState: null,\n currentSpeaker: null,\n conversationTiming: null,\n typingTiming: null,\n onChange: null,\n withAnimation: false,\n isPlaying: false,\n messageStyle: null,\n speakerStyle: null,\n className: null\n};\n\nvar ConversationMessage = function ConversationMessage(_ref) {\n var _ref4, _ref5;\n\n var message = _ref.message,\n previousMessage = _ref.previousMessage,\n nextMessage = _ref.nextMessage,\n nextMessageState = _ref.nextMessageState,\n currentSpeaker = _ref.currentSpeaker,\n conversationTiming = _ref.conversationTiming,\n typingTiming = _ref.typingTiming,\n onChange = _ref.onChange,\n withAnimation = _ref.withAnimation,\n isPlaying = _ref.isPlaying,\n messageStyle = _ref.messageStyle,\n speakerStyle = _ref.speakerStyle,\n className = _ref.className;\n\n var _ref2 = message || {},\n messageBody = _ref2.message,\n _ref2$image = _ref2.image,\n image = _ref2$image === void 0 ? null : _ref2$image;\n\n var _ref3 = currentSpeaker || {},\n _ref3$avatar = _ref3.avatar;\n\n _ref3$avatar = _ref3$avatar === void 0 ? {} : _ref3$avatar;\n var _ref3$avatar$url = _ref3$avatar.url,\n avatarUrl = _ref3$avatar$url === void 0 ? null : _ref3$avatar$url,\n speakerName = _ref3.name,\n _ref3$side = _ref3.side,\n side = _ref3$side === void 0 ? 'left' : _ref3$side,\n currentSpeakerId = _ref3.id,\n color = _ref3.color;\n var right = side === 'right';\n var isPrevSpeakerTheSame = previousMessage !== null && previousMessage.speaker === currentSpeakerId;\n var isNextSpeakerTheSame = nextMessage !== null && nextMessage.speaker === currentSpeakerId; // Timing\n\n var _useState = useState(withAnimation ? 'pause' : 'send'),\n _useState2 = _slicedToArray(_useState, 2),\n messageState = _useState2[0],\n setMessageState = _useState2[1];\n\n var pauseBeforeTyping = conversationTiming;\n var typingDuration = typingTiming;\n useEffect(function () {\n if (!withAnimation || !isPlaying) {\n return function () {};\n }\n\n var timeout = null;\n\n if (messageState === 'pause') {\n timeout = setTimeout(function () {\n return setMessageState('typing');\n }, pauseBeforeTyping);\n } else if (messageState === 'typing') {\n timeout = setTimeout(function () {\n return setMessageState('send');\n }, typingDuration);\n }\n\n return function () {\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n };\n }, [withAnimation, isPlaying, messageState, setMessageState, pauseBeforeTyping, typingDuration]);\n useEffect(function () {\n if (messageState !== 'pause' && onChange !== null) {\n onChange(messageState);\n }\n }, [messageState]);\n var betweenStyle = isNextSpeakerTheSame && nextMessageState;\n return messageState !== 'pause' ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.messageContainer, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles.withAnimation, withAnimation === true), _defineProperty(_ref4, styles.right, right), _ref4)])\n }, messageState === 'typing' ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingContainer\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loading\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.dot\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.dot\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.dot\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.loadingSpeakerName\n }, speakerName)) : /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.message, (_ref5 = {}, _defineProperty(_ref5, styles.normalRight, right), _defineProperty(_ref5, styles.nextTheSame, isNextSpeakerTheSame === true && isPrevSpeakerTheSame), _defineProperty(_ref5, styles.inBetweenRight, betweenStyle && right), _defineProperty(_ref5, styles.normalLeft, !right), _defineProperty(_ref5, styles.inBetweenLeft, betweenStyle && !right), _defineProperty(_ref5, styles.last, isNextSpeakerTheSame === false), _ref5)]),\n style: _objectSpread({}, getStyleFromColor(color))\n }, !isPrevSpeakerTheSame ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.speakerDetails, _defineProperty({}, styles.right, side === 'right')])\n }, avatarUrl !== null ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.avatarContainer, _defineProperty({}, styles.right, side === 'right')])\n }, /*#__PURE__*/React.createElement(\"img\", {\n className: styles.avatar,\n src: avatarUrl,\n alt: speakerName\n })) : null, /*#__PURE__*/React.createElement(Text, {\n body: speakerName,\n textStyle: speakerStyle\n })) : null, /*#__PURE__*/React.createElement(\"div\", null), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.messageBody\n }, image !== null ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.imageContainer\n }, /*#__PURE__*/React.createElement(Visual, {\n media: image,\n width: \"100%\",\n playing: isPlaying\n })) : null, /*#__PURE__*/React.createElement(Text, {\n className: styles.messageBody,\n body: messageBody,\n textStyle: messageStyle\n })))) : null;\n};\n\nConversationMessage.propTypes = propTypes$1;\nConversationMessage.defaultProps = defaultProps$1;\n\nvar propTypes = {\n // id: PropTypes.string,\n // layout: PropTypes.oneOf(['normal']),\n title: PropTypes.headingElement,\n timing: PropTypes$1.oneOf(['instant', 'sequence']),\n spacing: PropTypes$1.number,\n background: PropTypes.backgroundElement,\n callToAction: PropTypes.callToAction,\n current: PropTypes$1.bool,\n type: PropTypes$1.string,\n conversation: PropTypes.conversation,\n transitions: PropTypes.transitions,\n className: PropTypes$1.string\n};\nvar defaultProps = {\n // layout: 'normal',\n title: null,\n timing: 'sequence',\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n type: null,\n conversation: null,\n transitions: null,\n className: null\n};\n\nvar ConversationScreen = function ConversationScreen(_ref) {\n var _ref8;\n\n var title = _ref.title,\n timingMode = _ref.timing,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n type = _ref.type,\n conversation = _ref.conversation,\n transitions = _ref.transitions,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var withAnimation = isView && !isStatic && timingMode === 'sequence';\n\n var _ref2 = conversation || {},\n _ref2$speakers = _ref2.speakers,\n speakers = _ref2$speakers === void 0 ? null : _ref2$speakers,\n _ref2$messages = _ref2.messages,\n messages = _ref2$messages === void 0 ? [] : _ref2$messages,\n messageStyle = _ref2.messageStyle,\n speakerStyle = _ref2.speakerStyle;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n conversationState = _useState2[0],\n setConversationState = _useState2[1];\n\n var chatBottomRef = useRef(null);\n var hasTitle = isTextFilled(title);\n\n var _useResizeObserver = useResizeObserver(),\n contentRef = _useResizeObserver.ref,\n scrollContentRect = _useResizeObserver.entry.contentRect;\n\n var _ref3 = scrollContentRect || {},\n scrollHeight = _ref3.height;\n\n var scrollRef = useRef(null);\n useEffect(function () {\n if (withAnimation && scrollRef.current !== null) {\n scrollRef.current.scrollTo({\n top: scrollHeight,\n behavior: 'smooth'\n });\n }\n }, [scrollHeight, withAnimation]);\n var animationFinished = messages.length === conversationState.length;\n var conversationStateChange = useCallback(function (state) {\n var newConversationState = _toConsumableArray(conversationState);\n\n if (state === 'send') {\n newConversationState.push(true);\n setConversationState(newConversationState);\n }\n }, [conversationState, setConversationState]); // sequence timings\n\n var defaultTimingFactor = 40;\n var defaultHesitationDelay = 1000;\n var filteredMessages = (messages || []).filter(function (m) {\n return m !== null;\n });\n var timings = filteredMessages.map(function () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$timing = _ref4.timing,\n timing = _ref4$timing === void 0 ? null : _ref4$timing,\n _ref4$message = _ref4.message,\n message = _ref4$message === void 0 ? null : _ref4$message;\n\n var messageI = arguments.length > 1 ? arguments[1] : undefined;\n\n if (timing !== null) {\n return timing;\n }\n\n if (messageI === 0) {\n return 0;\n }\n\n var finalTime = defaultTimingFactor * ((message || '').length || 10);\n return finalTime < 2000 ? finalTime : 2000;\n });\n var hesitationTimings = filteredMessages.map(function () {\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref5$hesitation = _ref5.hesitation,\n hesitation = _ref5$hesitation === void 0 ? null : _ref5$hesitation;\n\n return hesitation !== null ? hesitation : defaultHesitationDelay;\n });\n var messagesUniqueId = useMemo(function () {\n return (messages || []).map(function () {\n return v1();\n });\n }, [messages]); // scroll\n\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current; // CTA\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n scrolledBottom = _useState4[0],\n setScrolledBottom = _useState4[1];\n\n var _useResizeObserver2 = useResizeObserver(),\n callToActionRef = _useResizeObserver2.ref,\n callToActionRect = _useResizeObserver2.entry.contentRect;\n\n var _ref6 = callToActionRect || {},\n _ref6$height = _ref6.height,\n callToActionHeight = _ref6$height === void 0 ? 0 : _ref6$height;\n\n var viewCTA = animationFinished && !isPlaceholder && hasCallToAction || !withAnimation;\n var onScrolledBottom = useCallback(function (_ref7) {\n var initial = _ref7.initial;\n\n if (initial) {\n trackScreenEvent('scroll', 'Screen');\n }\n\n setScrolledBottom(true);\n }, [trackScreenEvent]);\n var onScrolledNotBottom = useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref8 = {}, _defineProperty(_ref8, className, className !== null), _defineProperty(_ref8, styles.isPlaceholder, isPlaceholder), _ref8)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Scroll, {\n ref: scrollRef,\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: contentRef\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"conversation\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"NmCfTO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Conversation\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: messages.length === 0 && title === null\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: current,\n disabled: transitionDisabled\n }, hasTitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({}, title, {\n className: styles.title,\n isEmpty: title === null\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.conversation\n }, filteredMessages.map(function (m, messageI) {\n var previousMessage = messageI !== 0 ? messages[messageI - 1] : null;\n var nextMessage = messageI + 1 < messages.length ? messages[messageI + 1] : null;\n var speaker = m.speaker;\n var currentSpeaker = (speakers || []).find(function (s) {\n return s.id === speaker;\n }) || null;\n var shouldPlay = messageI === 0 || conversationState[messageI - 1] === true;\n var pauseTiming = hesitationTimings[messageI];\n var typingTiming = timings[messageI];\n return /*#__PURE__*/React.createElement(ConversationMessage, {\n key: \"\".concat(m.message, \"-\").concat(messagesUniqueId[messageI]),\n message: m,\n previousMessage: previousMessage,\n nextMessage: nextMessage,\n nextMessageState: conversationState[messageI + 1] || !withAnimation,\n currentSpeaker: currentSpeaker,\n conversationTiming: pauseTiming,\n typingTiming: typingTiming,\n onChange: conversationStateChange,\n withAnimation: withAnimation,\n isPlaying: current && shouldPlay,\n messageStyle: messageStyle,\n speakerStyle: speakerStyle\n });\n })), viewCTA ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n minHeight: callToActionHeight\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n disabled: !scrolledBottom,\n animationDisabled: isPreview,\n callToAction: callToAction,\n focusable: current && isView\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n ref: chatBottomRef\n }))))))));\n};\n\nConversationScreen.propTypes = propTypes;\nConversationScreen.defaultProps = defaultProps;\nvar ConversationScreen$1 = /*#__PURE__*/React.memo(ConversationScreen);\n\nvar definition = {\n id: 'conversation',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"fIawTr\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n order: 3\n },\n title: defineMessage({\n \"id\": \"rBPIgw\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Conversation\"\n }]\n }),\n component: ConversationScreen$1,\n layouts: ['normal'],\n fields: [// {\n // name: 'theme',\n // type: 'select',\n // options: [\n // {\n // value: 'ios',\n // label: 'iOS',\n // },\n // ],\n // label: defineMessage({\n // defaultMessage: 'Theme',\n // description: 'Theme field label',\n // }),\n // },\n {\n name: 'timing',\n type: 'select',\n options: [{\n value: 'instant',\n label: 'Instant'\n }, {\n value: 'sequence',\n label: 'Sequence'\n }],\n label: defineMessage({\n \"id\": \"6DV50M\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Timing\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n \"id\": \"N25iDO\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'conversation',\n type: 'conversation',\n label: defineMessage({\n \"id\": \"8tANs8\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Conversation\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { ConversationScreen$1 as ConversationScreen, definition as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport { PropTypes } from '@micromag/core';\nimport classNames from 'classnames';\nimport isArray from 'lodash/isArray';\nimport PropTypes$1 from 'prop-types';\nimport React from 'react';\n\nvar styles = {\"container\":\"micromag-element-grid-container\",\"items\":\"micromag-element-grid-items\",\"cross\":\"micromag-element-grid-cross\",\"axis\":\"micromag-element-grid-axis\"};\n\nvar propTypes = {\n layout: PropTypes.gridLayout,\n items: PropTypes$1.arrayOf(PropTypes$1.node),\n width: PropTypes$1.number,\n height: PropTypes$1.number,\n spacing: PropTypes$1.number,\n vertical: PropTypes$1.bool,\n className: PropTypes$1.string,\n axisClassName: PropTypes$1.string,\n crossClassName: PropTypes$1.string\n};\nvar defaultProps = {\n layout: null,\n items: [],\n width: null,\n height: null,\n spacing: 0,\n vertical: false,\n className: null,\n axisClassName: null,\n crossClassName: null\n};\n\nfunction Grid(_ref) {\n var items = _ref.items,\n layout = _ref.layout,\n width = _ref.width,\n height = _ref.height,\n spacing = _ref.spacing,\n vertical = _ref.vertical,\n className = _ref.className,\n axisClassName = _ref.axisClassName,\n crossClassName = _ref.crossClassName;\n var itemIndex = 0;\n var finalLayout = isArray(layout) ? layout : [{\n rows: vertical ? items.map(function () {\n return 1;\n }) : 1,\n columns: vertical ? 1 : items.map(function () {\n return 1;\n })\n }];\n var crossTotal = finalLayout.reduce(function (total, _ref2) {\n var _ref2$rows = _ref2.rows,\n rows = _ref2$rows === void 0 ? 1 : _ref2$rows,\n _ref2$columns = _ref2.columns,\n columns = _ref2$columns === void 0 ? 1 : _ref2$columns;\n return total + (vertical ? columns : rows);\n }, 0);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: {\n width: width,\n height: height,\n padding: spacing !== null && spacing > 0 ? spacing / 2 : null\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.items,\n style: {\n flexDirection: vertical ? 'row' : 'column'\n }\n }, finalLayout.map(function (_ref4, crossIndex) {\n var rows = _ref4.rows,\n columns = _ref4.columns;\n var crossSizeRatio = (vertical ? columns : rows) / crossTotal;\n var crossSize = \"\".concat(100 * crossSizeRatio, \"%\");\n var axisItems = vertical ? rows : columns;\n var finalAxisItems = isArray(axisItems) ? axisItems : [axisItems];\n var axisTotal = finalAxisItems.reduce(function (total, it) {\n return total + it;\n }, 0);\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"cross-\".concat(crossIndex),\n className: classNames([styles.cross, _defineProperty({}, crossClassName, crossClassName !== null)]),\n style: {\n flexDirection: vertical ? 'column' : 'row',\n width: vertical ? crossSize : null,\n height: vertical ? null : crossSize\n }\n }, finalAxisItems.map(function (axisItem, axisIndex) {\n var axisSizeRatio = axisItem / axisTotal;\n var axisSize = \"\".concat(100 * axisSizeRatio, \"%\");\n var item = items[itemIndex];\n itemIndex += 1;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"axis-\".concat(axisIndex),\n className: classNames([styles.axis, _defineProperty({}, axisClassName, axisClassName !== null)]),\n style: {\n width: vertical ? null : axisSize,\n height: vertical ? axisSize : null,\n padding: spacing > 0 ? spacing / 2 : 0\n }\n }, item);\n }));\n })));\n}\n\nGrid.propTypes = propTypes;\nGrid.defaultProps = defaultProps;\n\nexport { Grid as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useCallback, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isPlainObject from 'lodash/isPlainObject';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { Transitions, ScreenElement } from '@micromag/core/components';\nimport { isImageFilled, isTextFilled } from '@micromag/core/utils';\nimport { useResizeObserver } from '@micromag/core/hooks';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Grid from '@micromag/element-grid';\nimport Visual from '@micromag/element-visual';\nimport Text from '@micromag/element-text';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport { Mosaic, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar layoutProps = {\n // 2\n 'two-vertical-equal': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [1, 1]\n }]\n },\n 'two-vertical-top': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [2, 1]\n }]\n },\n 'two-vertical-bottom': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [1, 2]\n }]\n },\n // 3\n 'three-vertical': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [1, 1, 1]\n }]\n },\n 'one-two': {\n layout: [{\n rows: 2,\n columns: [1]\n }, {\n rows: 1,\n columns: [1, 1]\n }]\n },\n 'two-one': {\n layout: [{\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 2,\n columns: [1]\n }]\n },\n // 4\n 'two-by-two': {\n layout: [{\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1, 1]\n }]\n },\n 'four-vertical': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [1, 1, 1, 1]\n }]\n },\n 'one-two-one': {\n layout: [{\n rows: 3,\n columns: [1]\n }, {\n rows: 2,\n columns: [1, 1]\n }, {\n rows: 3,\n columns: [1]\n }]\n },\n 'four-mosaic': {\n vertical: true,\n layout: [{\n columns: 1,\n rows: [2, 1]\n }, {\n columns: 1,\n rows: [1, 2]\n }]\n },\n // 5 \n 'two-one-two': {\n layout: [{\n rows: 2,\n columns: [1, 1]\n }, {\n rows: 3,\n columns: [1]\n }, {\n rows: 2,\n columns: [1, 1]\n }]\n },\n 'one-two-two': {\n layout: [{\n rows: 3,\n columns: [1]\n }, {\n rows: 2,\n columns: [1, 1]\n }, {\n rows: 2,\n columns: [1, 1]\n }]\n },\n 'two-two-one': {\n layout: [{\n rows: 2,\n columns: [1, 1]\n }, {\n rows: 2,\n columns: [1, 1]\n }, {\n rows: 3,\n columns: [1]\n }]\n },\n // 6\n 'two-by-three': {\n layout: [{\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1, 1]\n }]\n },\n 'one-one-two-two': {\n layout: [{\n rows: 1,\n columns: [1]\n }, {\n rows: 1,\n columns: [1]\n }, {\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1, 1]\n }]\n },\n 'two-two-one-one': {\n layout: [{\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1, 1]\n }, {\n rows: 1,\n columns: [1]\n }, {\n rows: 1,\n columns: [1]\n }]\n }\n};\n\nvar styles = {\"container\":\"micromag-screen-gallery-container\",\"content\":\"micromag-screen-gallery-content\",\"image\":\"micromag-screen-gallery-image\",\"disabled\":\"micromag-screen-gallery-disabled\",\"hidden\":\"micromag-screen-gallery-hidden\",\"placeholder\":\"micromag-screen-gallery-placeholder\",\"emptyCaption\":\"micromag-screen-gallery-emptyCaption\",\"emptyImage\":\"micromag-screen-gallery-emptyImage\",\"grid\":\"micromag-screen-gallery-grid\",\"gridItem\":\"micromag-screen-gallery-gridItem\",\"imageContainer\":\"micromag-screen-gallery-imageContainer\",\"caption\":\"micromag-screen-gallery-caption\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf([// 2\n 'two-vertical-equal', 'two-vertical-top', 'two-vertical-bottom', // 3\n 'three-vertical', 'one-two', 'two-one', // 4\n 'two-by-two', 'four-vertical', 'one-two-one', 'four-mosaic', // 5\n 'two-one-two', 'one-two-two', 'two-two-one', // 6\n 'two-by-three', 'one-one-two-two', 'two-two-one-one']),\n images: PropTypes.oneOfType([PropTypes$1.imageMedias, PropTypes$1.imageElements]),\n withCaptions: PropTypes.bool,\n spacing: PropTypes.number,\n captionMaxLines: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'four-mosaic',\n withCaptions: false,\n images: [],\n spacing: 20,\n captionMaxLines: 2,\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n transitionStagger: 50,\n className: null\n};\n\nvar GalleryScreen = function GalleryScreen(_ref) {\n var _ref6;\n\n var layout = _ref.layout,\n images = _ref.images,\n withCaptions = _ref.withCaptions,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n spacing = _ref.spacing,\n captionMaxLines = _ref.captionMaxLines,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var finalSpacing = isPlaceholder ? 5 : spacing;\n var grid = isPlainObject(layoutProps[layout]) ? layoutProps[layout] : {};\n var _grid$layout = grid.layout,\n gridLayout = _grid$layout === void 0 ? [] : _grid$layout,\n _grid$vertical = grid.vertical,\n vertical = _grid$vertical === void 0 ? false : _grid$vertical;\n var gridSpaces = gridLayout.reduce(function (acc, _ref2) {\n var rows = _ref2.rows,\n columns = _ref2.columns;\n return acc + (vertical ? rows : columns).length;\n }, 0);\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n imagesLoaded = _useState2[0],\n setImagesLoaded = _useState2[1];\n\n var imagesCount = images !== null ? Math.min(gridSpaces, images.length) : 0;\n var ready = imagesLoaded >= imagesCount;\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var onImageLoaded = useCallback(function () {\n setImagesLoaded(imagesLoaded + 1);\n }, [imagesLoaded, setImagesLoaded]);\n var imagesEl = useRef([]);\n\n var _useState3 = useState([]),\n _useState4 = _slicedToArray(_useState3, 2),\n imagesSizes = _useState4[0],\n setImagesSizes = _useState4[1];\n\n var _useResizeObserver = useResizeObserver(),\n contentRef = _useResizeObserver.ref,\n contentRect = _useResizeObserver.entry.contentRect;\n\n var _ref3 = contentRect || {},\n _ref3$width = _ref3.width,\n contentWidth = _ref3$width === void 0 ? null : _ref3$width,\n _ref3$height = _ref3.height,\n contentHeight = _ref3$height === void 0 ? null : _ref3$height;\n\n useEffect(function () {\n if (imagesEl.current.length) {\n setImagesSizes(imagesEl.current.map(function (imageEl) {\n return imageEl !== null ? {\n width: imageEl.offsetWidth,\n height: imageEl.offsetHeight\n } : {};\n }));\n }\n }, [contentWidth, contentHeight, layout, setImagesSizes]); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useResizeObserver2 = useResizeObserver(),\n callToActionRef = _useResizeObserver2.ref,\n callToActionRect = _useResizeObserver2.entry.contentRect;\n\n var _ref4 = callToActionRect || {},\n _ref4$height = _ref4.height,\n callToActionHeight = _ref4$height === void 0 ? 0 : _ref4$height;\n\n var items = _toConsumableArray(Array(gridSpaces)).map(function (item, itemI) {\n var image = images !== null ? images[itemI] : null;\n var imageSize = imagesSizes[itemI] || {};\n var finalImage = withCaptions ? image : {\n media: image\n };\n\n var _ref5 = finalImage || {},\n _ref5$caption = _ref5.caption,\n caption = _ref5$caption === void 0 ? null : _ref5$caption;\n\n var hasImage = isImageFilled(finalImage);\n var hasCaption = isTextFilled(caption);\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"item-\".concat(itemI),\n className: styles.gridItem\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.imageContainer,\n ref: function ref(el) {\n imagesEl.current[itemI] = el;\n }\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n delay: itemI * transitionStagger,\n playing: transitionPlaying,\n disabled: transitionDisabled,\n fullscreen: true\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"image\",\n placeholderProps: {\n className: styles.placeholder,\n height: '100%'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"ebsPd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n emptyClassName: styles.emptyImage,\n isEmpty: !hasImage\n }, /*#__PURE__*/React.createElement(Visual, Object.assign({\n className: styles.image\n }, finalImage, imageSize, {\n objectFit: {\n fit: 'cover'\n },\n playing: backgroundPlaying,\n onLoaded: onImageLoaded\n }))))), withCaptions ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n delay: itemI * transitionStagger,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"line\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"6tIigB\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Caption\"\n }]\n }),\n emptyClassName: styles.emptyCaption,\n isEmpty: !hasCaption\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.caption\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, caption, {\n className: styles.captionText,\n lineClamp: captionMaxLines\n }))))) : null);\n });\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref6 = {}, _defineProperty(_ref6, className, className !== null), _defineProperty(_ref6, styles.isPlaceholder, isPlaceholder), _ref6)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content,\n style: {\n paddingTop: menuOverScreen && !isPreview ? menuSize : null,\n paddingBottom: hasCallToAction ? callToActionHeight - finalSpacing : 0\n },\n ref: contentRef\n }, /*#__PURE__*/React.createElement(Grid, Object.assign({\n className: styles.grid,\n spacing: finalSpacing,\n items: items\n }, grid)), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: -finalSpacing\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null)));\n};\n\nGalleryScreen.propTypes = propTypes;\nGalleryScreen.defaultProps = defaultProps;\nvar GalleryScreen$1 = /*#__PURE__*/React.memo(GalleryScreen);\n\nvar GalleryCaptionsScreen = function GalleryCaptionsScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(GalleryScreen$1, Object.assign({}, props, {\n withCaptions: true\n }));\n};\n\nvar transform = function transform(newStory, _ref) {\n var images = _ref.images;\n\n var _Mosaic = Mosaic(newStory, {\n images: images\n }),\n titleStory = _Mosaic.story,\n titleComponent = _Mosaic.component;\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'gallery',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"6mX2ya\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n \"id\": \"jaFXki\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Gallery\"\n }]\n }),\n component: GalleryScreen$1,\n layouts: [// 2\n 'two-vertical-equal', 'two-vertical-top', 'two-vertical-bottom', // 3\n 'three-vertical', 'one-two', 'two-one', // 4\n 'two-by-two', 'four-vertical', 'one-two-one', 'four-mosaic', // 5\n 'two-one-two', 'one-two-two', 'two-two-one', // 6\n 'two-by-three', 'one-one-two-two', 'two-two-one-one'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'two-vertical-equal',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'images',\n type: 'visuals',\n label: defineMessage({\n \"id\": \"muYwrB\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'gallery-captions',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"6mX2ya\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n \"id\": \"MmJQ7o\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Gallery with captions\"\n }]\n }),\n component: GalleryCaptionsScreen,\n layouts: [// 2\n 'two-vertical-equal', 'two-vertical-top', 'two-vertical-bottom', // 3\n 'three-vertical', 'one-two', 'two-one', // 4\n 'two-by-two', 'four-vertical', 'one-two-one', 'four-mosaic', // 5\n 'two-one-two', 'one-two-two', 'two-two-one', // 6\n 'two-by-three', 'one-one-two-two', 'two-two-one-one'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'two-vertical-equal',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'images',\n type: 'visuals-with-caption',\n theme: {\n caption: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n \"id\": \"59f2bg\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { GalleryCaptionsScreen, GalleryScreen$1 as GalleryScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { isImageFilled, isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout from '@micromag/element-layout';\nimport Scroll from '@micromag/element-scroll';\nimport Visual from '@micromag/element-visual';\nimport Text from '@micromag/element-text';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport { Gallery, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-gallery-feed-container\",\"emptyCaption\":\"micromag-screen-gallery-feed-emptyCaption\",\"emptyImage\":\"micromag-screen-gallery-feed-emptyImage\",\"callToAction\":\"micromag-screen-gallery-feed-callToAction\",\"isPlaceholder\":\"micromag-screen-gallery-feed-isPlaceholder\",\"layout\":\"micromag-screen-gallery-feed-layout\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['normal', 'reverse']),\n images: PropTypes.oneOfType([PropTypes$1.imageElementsWithCaption, PropTypes$1.imageMedias]),\n withCaptions: PropTypes.bool,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'normal',\n images: null,\n withCaptions: false,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n transitionStagger: 75,\n type: null,\n className: null\n};\n\nvar GalleryFeedScreen = function GalleryFeedScreen(_ref) {\n var _ref6;\n\n var layout = _ref.layout,\n images = _ref.images,\n withCaptions = _ref.withCaptions,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n type = _ref.type,\n className = _ref.className;\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var hasImages = images !== null;\n var imagesCount = hasImages ? images.length : 0;\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n imagesLoaded = _useState2[0],\n setImagesLoaded = _useState2[1];\n\n var ready = imagesLoaded >= imagesCount;\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current;\n var onImageLoaded = useCallback(function () {\n setImagesLoaded(imagesLoaded + 1);\n }, [imagesLoaded, setImagesLoaded]);\n var isReversed = layout === 'reverse';\n var items = [];\n var editImages = isEdit && imagesCount === 0 ? [null] : images;\n var finalImages = isPlaceholder ? _toConsumableArray(Array(5)) : editImages;\n\n var _useResizeObserver = useResizeObserver(),\n firstImageRef = _useResizeObserver.ref,\n contentRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = contentRect || {},\n firstImageRefWidth = _ref2.width;\n\n (finalImages || []).forEach(function (image, index) {\n var finalImage = withCaptions ? image : {\n media: image\n };\n\n var _ref3 = finalImage || {},\n _ref3$caption = _ref3.caption,\n caption = _ref3$caption === void 0 ? null : _ref3$caption;\n\n var hasImage = isImageFilled(finalImage);\n var hasCaption = isTextFilled(caption);\n var imageElement = /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"image-\".concat(index),\n placeholder: \"image\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"ebsPd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n emptyClassName: styles.emptyImage,\n isEmpty: !hasImage\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.imageContainer,\n ref: index === 0 ? firstImageRef : null\n }, /*#__PURE__*/React.createElement(Visual, Object.assign({}, finalImage, {\n width: firstImageRefWidth,\n onLoaded: onImageLoaded,\n playing: backgroundPlaying\n }))));\n var captionElement = null;\n\n if (withCaptions) {\n var marginTop = !isReversed || index > 0 ? spacing / 2 : 0;\n var marginBottom = isReversed || index < (finalImages || []).length - 1 ? spacing / 2 : 0;\n captionElement = /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"caption-\".concat(index),\n placeholder: \"text\",\n placeholderProps: {\n lines: 2\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"6tIigB\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Caption\"\n }]\n }),\n emptyClassName: styles.emptyCaption,\n isEmpty: !hasCaption\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.caption,\n style: {\n marginTop: marginTop,\n marginBottom: marginBottom\n }\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, caption, {\n className: styles.captionText\n }))));\n }\n\n if (isReversed) {\n if (withCaptions) {\n items.push(captionElement);\n }\n\n items.push(imageElement);\n } else {\n items.push(imageElement);\n\n if (withCaptions) {\n items.push(captionElement);\n }\n }\n\n if (!isPlaceholder && index < (finalImages || []).length - 1) {\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"spacing-\".concat(index),\n style: {\n height: spacing\n }\n }));\n }\n }); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n scrolledBottom = _useState4[0],\n setScrolledBottom = _useState4[1];\n\n var _useResizeObserver2 = useResizeObserver(),\n callToActionRef = _useResizeObserver2.ref,\n callToActionRect = _useResizeObserver2.entry.contentRect;\n\n var _ref4 = callToActionRect || {},\n _ref4$height = _ref4.height,\n callToActionHeight = _ref4$height === void 0 ? 0 : _ref4$height;\n\n if (!isPlaceholder && hasCallToAction) {\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"cta-spacer\",\n style: {\n height: callToActionHeight\n }\n }));\n }\n\n var onScrolledBottom = useCallback(function (_ref5) {\n var initial = _ref5.initial;\n\n if (initial) {\n trackScreenEvent('scroll', 'Screen');\n }\n\n setScrolledBottom(true);\n }, [trackScreenEvent]);\n var onScrolledNotBottom = useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref6 = {}, _defineProperty(_ref6, className, className !== null), _defineProperty(_ref6, styles.isPlaceholder, isPlaceholder), _ref6)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Scroll, {\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(TransitionsStagger, {\n transitions: transitions,\n stagger: transitionStagger,\n disabled: transitionDisabled,\n playing: transitionPlaying\n }, items))), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n disabled: !scrolledBottom,\n animationDisabled: isPreview,\n callToAction: callToAction,\n focusable: current && isView\n }) : null));\n};\n\nGalleryFeedScreen.propTypes = propTypes;\nGalleryFeedScreen.defaultProps = defaultProps;\nvar GalleryFeedScreen$1 = /*#__PURE__*/React.memo(GalleryFeedScreen);\n\nvar GalleryFeedCaptionsScreen = function GalleryFeedCaptionsScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(GalleryFeedScreen$1, Object.assign({}, props, {\n withCaptions: true\n }));\n};\n\nvar transform = function transform(newStory, _ref) {\n var images = _ref.images;\n\n var _Gallery = Gallery(newStory, {\n images: images\n }),\n titleStory = _Gallery.story,\n titleComponent = _Gallery.component;\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'gallery-feed',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"6mX2ya\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n \"id\": \"4bHvRS\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Gallery Feed\"\n }]\n }),\n component: GalleryFeedScreen$1,\n layouts: ['normal'],\n transforms: transforms,\n fields: [{\n name: 'images',\n type: 'visuals',\n label: defineMessage({\n \"id\": \"muYwrB\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'gallery-feed-captions',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"6mX2ya\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n \"id\": \"XTJGzY\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Gallery feed with captions\"\n }]\n }),\n component: GalleryFeedCaptionsScreen,\n layouts: ['normal', 'reverse'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'images',\n type: 'visuals-with-caption',\n theme: {\n caption: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n \"id\": \"T9NZPQ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { GalleryFeedCaptionsScreen, GalleryFeedScreen$1 as GalleryFeedScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useMemo, useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport { useResizeObserver } from '@micromag/core/hooks';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout from '@micromag/element-layout';\nimport Visual from '@micromag/element-visual';\nimport Heading from '@micromag/element-heading';\nimport Text from '@micromag/element-text';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Image, Heading1, Text as Text$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-image-container\",\"image\":\"micromag-screen-image-image\",\"disabled\":\"micromag-screen-image-disabled\",\"hidden\":\"micromag-screen-image-hidden\",\"placeholder\":\"micromag-screen-image-placeholder\",\"content\":\"micromag-screen-image-content\",\"emptyImage\":\"micromag-screen-image-emptyImage\",\"emptyLegend\":\"micromag-screen-image-emptyLegend\",\"emptyText\":\"micromag-screen-image-emptyText\",\"emptyTitle\":\"micromag-screen-image-emptyTitle\",\"imageContainer\":\"micromag-screen-image-imageContainer\",\"placeholderImage\":\"micromag-screen-image-placeholderImage\",\"callToAction\":\"micromag-screen-image-callToAction\",\"isPlaceholder\":\"micromag-screen-image-isPlaceholder\",\"layout\":\"micromag-screen-image-layout\",\"isCard\":\"micromag-screen-image-isCard\",\"isCardReverse\":\"micromag-screen-image-isCardReverse\",\"isFullscreen\":\"micromag-screen-image-isFullscreen\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['normal', 'fullscreen', 'reverse', 'card', 'card-reverse', 'title-top']),\n image: PropTypes$1.imageMedia,\n imageFit: PropTypes.oneOf(['contain', 'cover']),\n defaultImageFit: PropTypes.string,\n title: PropTypes$1.headingElement,\n text: PropTypes$1.textElement,\n legend: PropTypes$1.textElement,\n withTitle: PropTypes.bool,\n withText: PropTypes.bool,\n withLegend: PropTypes.bool,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'normal',\n image: null,\n imageFit: null,\n defaultImageFit: 'cover',\n title: null,\n text: null,\n legend: null,\n withTitle: false,\n withText: false,\n withLegend: false,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n className: null\n};\n\nvar ImageScreen = function ImageScreen(_ref) {\n var _ref3;\n\n var layout = _ref.layout,\n image = _ref.image,\n imageFit = _ref.imageFit,\n defaultImageFit = _ref.defaultImageFit,\n title = _ref.title,\n text = _ref.text,\n legend = _ref.legend,\n withTitle = _ref.withTitle,\n withText = _ref.withText,\n withLegend = _ref.withLegend,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n className = _ref.className;\n var finalImageFit = useMemo(function () {\n return {\n fit: imageFit || defaultImageFit\n };\n }, [imageFit, defaultImageFit]);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var hasImage = image !== null;\n var hasTitle = isTextFilled(title);\n var hasText = isTextFilled(text);\n var hasLegend = isTextFilled(legend);\n\n var _useState = useState(!hasImage),\n _useState2 = _slicedToArray(_useState, 2),\n ready = _useState2[0],\n setReady = _useState2[1];\n\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var onImageLoaded = useCallback(function () {\n setReady(true);\n }, [setReady]);\n var isReversed = layout === 'reverse' || layout === 'card-reverse';\n var isTitleTop = layout === 'title-top';\n var isCard = layout === 'card' || layout === 'card-reverse';\n var isCardReverse = layout === 'card-reverse';\n var isFullscreen = layout === 'fullscreen';\n var finalSpacing = !isFullscreen && !isPlaceholder ? spacing : 0;\n\n var _useResizeObserver = useResizeObserver(),\n imageCntRef = _useResizeObserver.ref,\n contentRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = contentRect || {},\n imageWidth = _ref2.width,\n imageHeight = _ref2.height;\n\n var cardImageMargin = isCardReverse ? \"\".concat(finalSpacing / 2, \"px \").concat(-finalSpacing / 2, \"px 0\") : \"0 \".concat(-finalSpacing / 2, \"px \").concat(finalSpacing / 2, \"px\");\n var imageMargin = isCard || isCardReverse ? cardImageMargin : finalSpacing / 2;\n var items = [/*#__PURE__*/React.createElement(\"div\", {\n key: \"image\",\n ref: imageCntRef,\n className: styles.imageContainer,\n style: !isPlaceholder ? {\n margin: imageMargin\n } : null\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"image\",\n placeholderProps: {\n className: styles.placeholderImage,\n height: '100%'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"ebsPd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n emptyClassName: styles.emptyImage,\n isEmpty: !hasImage\n }, hasImage ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled,\n fullscreen: true\n }, /*#__PURE__*/React.createElement(Visual, {\n className: styles.image,\n media: image,\n objectFit: finalImageFit,\n width: imageWidth,\n height: imageHeight,\n playing: backgroundPlaying,\n onLoaded: onImageLoaded\n })) : null)), withTitle && /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasTitle\n }, hasTitle ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: !isPlaceholder ? {\n margin: finalSpacing / 2\n } : null\n }, /*#__PURE__*/React.createElement(Heading, title))) : null), withText && /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"text\",\n placeholder: \"text\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"z4CiV1\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n emptyClassName: styles.emptyText,\n isEmpty: !hasText\n }, hasText ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: !isPlaceholder ? {\n margin: finalSpacing / 2\n } : null\n }, /*#__PURE__*/React.createElement(Text, text))) : null), withLegend && /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"legend\",\n placeholder: \"shortText\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"dqnkQk\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Legend\"\n }]\n }),\n emptyClassName: styles.emptyLegend,\n isEmpty: !hasLegend\n }, hasLegend ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: !isPlaceholder ? {\n margin: finalSpacing / 2\n } : null\n }, /*#__PURE__*/React.createElement(Text, legend))) : null)];\n\n if (isReversed) {\n items.reverse();\n } else if (isTitleTop) {\n if (withTitle && (hasTitle || isPlaceholder)) {\n items.splice(0, 0, items.splice(1, 1)[0]);\n }\n }\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n if (!isPlaceholder && hasCallToAction) {\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -finalSpacing / 2,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n className: styles.callToAction,\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })));\n }\n\n var paddingBottom = finalSpacing / 2;\n var paddingTop = (menuOverScreen && !isPreview ? menuSize : 0) + finalSpacing / 2;\n\n if (isCard || isFullscreen) {\n paddingTop = 0;\n }\n\n if (isCardReverse) {\n paddingTop = menuOverScreen ? menuSize : finalSpacing / 2;\n paddingBottom = 0;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref3 = {}, _defineProperty(_ref3, className, className !== null), _defineProperty(_ref3, styles.isReversed, isReversed), _defineProperty(_ref3, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref3, styles.isCard, isCard), _defineProperty(_ref3, styles.isCardReverse, isCardReverse), _defineProperty(_ref3, styles.isFullscreen, isFullscreen), _ref3)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n style: !isPlaceholder ? {\n padding: finalSpacing / 2,\n paddingTop: paddingTop,\n paddingBottom: paddingBottom\n } : null\n }, items)));\n};\n\nImageScreen.propTypes = propTypes;\nImageScreen.defaultProps = defaultProps;\nvar ImageScreen$1 = /*#__PURE__*/React.memo(ImageScreen);\n\nvar ImageTitleScreen = function ImageTitleScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(ImageScreen$1, Object.assign({}, props, {\n withTitle: true\n }));\n};\n\nvar ImageTextScreen = function ImageTextScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(ImageScreen$1, Object.assign({}, props, {\n withText: true\n }));\n};\n\nvar ImageTitleTextScreen = function ImageTitleTextScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(ImageScreen$1, Object.assign({}, props, {\n withTitle: true,\n withText: true\n }));\n};\n\nvar ImageLegendScreen = function ImageLegendScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(ImageScreen$1, Object.assign({}, props, {\n withLegend: true\n }));\n};\n\nvar transform = function transform(newStory, _ref) {\n var layout = _ref.layout,\n image = _ref.image,\n text = _ref.text,\n title = _ref.title;\n\n var _Image = Image(newStory, image),\n imageStory = _Image.story,\n imageComponent = _Image.component;\n\n var _Heading = Heading1(imageStory, title),\n titleStory = _Heading.story,\n titleComponent = _Heading.component;\n\n var _Text = Text$1(titleStory, text),\n textStory = _Text.story,\n textComponent = _Text.component;\n\n var items = [];\n\n switch (layout) {\n case 'reverse':\n items = [].concat(_toConsumableArray(textComponent ? [textComponent] : []), _toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(imageComponent ? [imageComponent] : []));\n break;\n\n case 'title-top':\n items = [].concat(_toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(imageComponent ? [imageComponent] : []), _toConsumableArray(textComponent ? [textComponent] : []));\n break;\n\n default:\n items = [].concat(_toConsumableArray(imageComponent ? [imageComponent] : []), _toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(textComponent ? [textComponent] : []));\n break;\n }\n\n var _Container = Container$1(textStory, items),\n containerStory = _Container.story,\n component = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(component ? [component] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'image',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"6mX2ya\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n \"id\": \"uJ9eBc\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n component: ImageScreen$1,\n layouts: ['normal', 'fullscreen'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'image',\n type: 'visual',\n label: defineMessage({\n \"id\": \"xsipID\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'imageFit',\n type: 'fit',\n defaultValue: 'cover',\n values: ['cover', 'contain'],\n label: defineMessage({\n \"id\": \"dkBBRa\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image fit\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'image-title',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"S/mavZ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text and Images\"\n }]\n }),\n order: 3\n },\n title: defineMessage({\n \"id\": \"AA8TV9\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image with title\"\n }]\n }),\n component: ImageTitleScreen,\n layouts: ['normal', 'reverse', 'card', 'card-reverse'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'image',\n type: 'visual',\n label: defineMessage({\n \"id\": \"xsipID\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'imageFit',\n type: 'fit',\n defaultValue: 'cover',\n values: ['cover', 'contain'],\n label: defineMessage({\n \"id\": \"dkBBRa\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image fit\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n inline: true,\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n \"id\": \"N25iDO\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'image-text',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"S/mavZ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text and Images\"\n }]\n }),\n order: 3\n },\n title: defineMessage({\n \"id\": \"CJmQeh\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image with text\"\n }]\n }),\n component: ImageTextScreen,\n layouts: ['normal', 'reverse', 'card', 'card-reverse'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'image',\n type: 'visual',\n label: defineMessage({\n \"id\": \"xsipID\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'imageFit',\n type: 'fit',\n defaultValue: 'cover',\n values: ['cover', 'contain'],\n label: defineMessage({\n \"id\": \"dkBBRa\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image fit\"\n }]\n })\n }, {\n name: 'text',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"4E2gbX\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'image-title-text',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"S/mavZ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text and Images\"\n }]\n }),\n order: 3\n },\n title: defineMessage({\n \"id\": \"eWIM/8\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image with title and text\"\n }]\n }),\n component: ImageTitleTextScreen,\n layouts: ['normal', 'reverse', 'title-top', 'card', 'card-reverse'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'image',\n type: 'visual',\n isHorizontal: false,\n label: defineMessage({\n \"id\": \"xsipID\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'imageFit',\n type: 'fit',\n defaultValue: 'cover',\n values: ['cover', 'contain'],\n label: defineMessage({\n \"id\": \"dkBBRa\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image fit\"\n }]\n })\n }, {\n name: 'title',\n type: 'text-element',\n inline: true,\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n \"id\": \"N25iDO\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'text',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"4E2gbX\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'image-legend',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"6mX2ya\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 4\n },\n title: defineMessage({\n \"id\": \"H1YcaV\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image with legend\"\n }]\n }),\n component: ImageLegendScreen,\n layouts: ['normal', 'reverse', 'card', 'card-reverse'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'normal',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'image',\n type: 'visual',\n label: defineMessage({\n \"id\": \"xsipID\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'imageFit',\n type: 'fit',\n defaultValue: 'cover',\n values: ['cover', 'contain'],\n label: defineMessage({\n \"id\": \"dkBBRa\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image fit\"\n }]\n })\n }, {\n name: 'legend',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"3OS3Ms\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Legend\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { ImageLegendScreen, ImageScreen$1 as ImageScreen, ImageTextScreen, ImageTitleScreen, ImageTitleTextScreen, definition as default };\n","import _typeof from '@babel/runtime/helpers/typeof';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useRef, useEffect, useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useGoogleMapsClient } from '@micromag/core/contexts';\nimport { useResizeObserver } from '@micromag/core/hooks';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport isObject from 'lodash/isObject';\n\nvar styles$2 = [{\n elementType: 'geometry',\n stylers: [{\n color: '#f5f5f5'\n }]\n}, {\n elementType: 'labels.icon',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#616161'\n }]\n}, {\n elementType: 'labels.text.stroke',\n stylers: [{\n color: '#f5f5f5'\n }]\n}, {\n featureType: 'administrative.land_parcel',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'administrative.land_parcel',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#bdbdbd'\n }]\n}, {\n featureType: 'administrative.neighborhood',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [{\n color: '#eeeeee'\n }]\n}, {\n featureType: 'poi',\n elementType: 'labels.text',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#757575'\n }]\n}, {\n featureType: 'poi.business',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [{\n color: '#e5e5e5'\n }]\n}, {\n featureType: 'poi.park',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#9e9e9e'\n }]\n}, {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [{\n color: '#ffffff'\n }]\n}, {\n featureType: 'road',\n elementType: 'labels',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'road',\n elementType: 'labels.icon',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'road.arterial',\n elementType: 'labels',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'road.arterial',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#757575'\n }]\n}, {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [{\n color: '#dadada'\n }]\n}, {\n featureType: 'road.highway',\n elementType: 'labels',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'road.highway',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#616161'\n }]\n}, {\n featureType: 'road.local',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'road.local',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#9e9e9e'\n }]\n}, {\n featureType: 'transit',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'transit.line',\n elementType: 'geometry',\n stylers: [{\n color: '#e5e5e5'\n }]\n}, {\n featureType: 'transit.station',\n elementType: 'geometry',\n stylers: [{\n color: '#eeeeee'\n }]\n}, {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [{\n color: '#c9c9c9'\n }]\n}, {\n featureType: 'water',\n elementType: 'labels.text',\n stylers: [{\n visibility: 'off'\n }]\n}, {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [{\n color: '#9e9e9e'\n }]\n}];\n\nvar eventsMapping = {\n onClick: ['click', function (map) {\n return map.getCenter();\n }],\n onCenterChanged: ['center_changed', function (map) {\n return map.getCenter();\n }],\n onBoundsChanged: ['bounds_changed', function (map) {\n return map.getBounds();\n }],\n onDragEnd: ['dragend', function (map) {\n return map.getCenter();\n }],\n onTilesLoaded: ['tilesloaded', function () {}]\n};\nfunction useGoogleMap(_ref) {\n var zoom = _ref.zoom,\n _ref$maxZoom = _ref.maxZoom,\n maxZoom = _ref$maxZoom === void 0 ? null : _ref$maxZoom,\n _ref$center = _ref.center,\n center = _ref$center === void 0 ? null : _ref$center,\n _ref$withoutStyle = _ref.withoutStyle,\n withoutStyle = _ref$withoutStyle === void 0 ? false : _ref$withoutStyle,\n _ref$fitBounds = _ref.fitBounds,\n fitBounds = _ref$fitBounds === void 0 ? false : _ref$fitBounds,\n _ref$bounds = _ref.bounds,\n bounds = _ref$bounds === void 0 ? null : _ref$bounds,\n events = _ref.events,\n _ref$draggable = _ref.draggable,\n draggable = _ref$draggable === void 0 ? false : _ref$draggable,\n zoomControl = _ref.zoomControl,\n mapTypeControl = _ref.mapTypeControl,\n scaleControl = _ref.scaleControl,\n streetViewControl = _ref.streetViewControl,\n rotateControl = _ref.rotateControl,\n fullscreenControl = _ref.fullscreenControl;\n var client = useGoogleMapsClient();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n ready = _useState2[0],\n setReady = _useState2[1];\n\n var containerRef = useRef(null);\n var mapRef = useRef(null);\n\n var _useResizeObserver = useResizeObserver(),\n resizeRef = _useResizeObserver.ref,\n elContentRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = elContentRect || {},\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? null : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? null : _ref2$height;\n\n useEffect(function () {\n var map = mapRef.current;\n\n if (map !== null && center !== null) {\n var _ref3 = center || {},\n _ref3$lat = _ref3.lat,\n lat = _ref3$lat === void 0 ? null : _ref3$lat,\n _ref3$lng = _ref3.lng,\n lng = _ref3$lng === void 0 ? null : _ref3$lng;\n\n map.panTo({\n lat: lat || 0,\n lng: lng || 0\n });\n }\n }, [center]);\n useEffect(function () {\n var map = mapRef.current;\n\n if (map !== null && zoom !== null) {\n map.setZoom(Math.min(maxZoom, zoom));\n }\n }, [zoom, maxZoom]);\n var updateBounds = useCallback(function (map, newBounds) {\n if (newBounds === null || newBounds.equals(map.getBounds())) {\n return;\n }\n\n map.fitBounds(newBounds);\n\n if (map.getZoom() > maxZoom) {\n map.setZoom(maxZoom);\n }\n\n map.panToBounds(newBounds);\n }, [maxZoom]);\n useEffect(function () {\n var map = mapRef.current;\n\n if (map !== null && fitBounds) {\n updateBounds(map, bounds);\n }\n }, [updateBounds, bounds, fitBounds, width, height]);\n useEffect(function () {\n var map = mapRef.current;\n\n if (ready && map !== null) {\n map.setOptions({\n draggable: draggable,\n scrollWheel: draggable,\n disableDoubleClickZoom: !draggable,\n gestureHandling: draggable ? 'cooperative' : 'none'\n });\n }\n }, [ready, draggable]);\n useEffect(function () {\n if (client === null || containerRef.current === null || mapRef.current !== null) {\n return function () {};\n }\n\n var map = new client.maps.Map(containerRef.current, {\n zoom: zoom,\n center: center,\n styles: !withoutStyle ? styles$2 : null,\n zoomControl: zoomControl,\n mapTypeControl: mapTypeControl,\n scaleControl: scaleControl,\n streetViewControl: streetViewControl,\n rotateControl: rotateControl,\n fullscreenControl: fullscreenControl\n });\n\n if (fitBounds) {\n updateBounds(map, bounds);\n }\n\n mapRef.current = map; // @TODO unbind events\n\n if (events !== null) {\n Object.keys(events).forEach(function (eventName) {\n if (events[eventName] !== null) {\n map.addListener(eventsMapping[eventName][0], function () {\n return events[eventName](eventsMapping[eventName][1](map));\n });\n }\n });\n }\n\n setReady(true);\n return function () {};\n }, [client, setReady]);\n var finalRef = useCallback(function (ref) {\n resizeRef.current = ref;\n containerRef.current = ref;\n }, []);\n return {\n ref: finalRef,\n map: mapRef.current,\n ready: ready,\n loading: !ready\n };\n}\n\nvar styles$1 = {\"container\":\"micromag-element-map-container\",\"map\":\"micromag-element-map-map\",\"preventScroll\":\"micromag-element-map-preventScroll\"};\n\nvar propTypes$2 = {\n center: PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number\n }),\n zoom: PropTypes.number,\n maxZoom: PropTypes.number,\n bounds: PropTypes.object,\n // eslint-disable-line\n draggable: PropTypes.bool,\n withoutStyle: PropTypes.bool,\n // Global maps events\n events: PropTypes.object,\n // eslint-disable-line\n fitBounds: PropTypes.bool,\n zoomControl: PropTypes.bool,\n mapTypeControl: PropTypes.bool,\n scaleControl: PropTypes.bool,\n streetViewControl: PropTypes.bool,\n rotateControl: PropTypes.bool,\n fullscreenControl: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node,\n focusable: PropTypes.bool\n};\nvar defaultProps$2 = {\n center: null,\n zoom: null,\n maxZoom: 18,\n bounds: null,\n events: null,\n fitBounds: false,\n draggable: true,\n withoutStyle: false,\n zoomControl: false,\n mapTypeControl: false,\n scaleControl: false,\n streetViewControl: false,\n rotateControl: false,\n fullscreenControl: false,\n className: null,\n children: null,\n focusable: true\n};\n\nvar Map$1 = function Map(_ref) {\n var _ref2;\n\n var center = _ref.center,\n zoom = _ref.zoom,\n maxZoom = _ref.maxZoom,\n bounds = _ref.bounds,\n draggable = _ref.draggable,\n withoutStyle = _ref.withoutStyle,\n events = _ref.events,\n fitBounds = _ref.fitBounds,\n zoomControl = _ref.zoomControl,\n mapTypeControl = _ref.mapTypeControl,\n scaleControl = _ref.scaleControl,\n streetViewControl = _ref.streetViewControl,\n rotateControl = _ref.rotateControl,\n fullscreenControl = _ref.fullscreenControl,\n className = _ref.className,\n children = _ref.children,\n focusable = _ref.focusable;\n\n var _useGoogleMap = useGoogleMap({\n zoom: zoom,\n maxZoom: maxZoom,\n bounds: bounds,\n draggable: draggable,\n fitBounds: fitBounds,\n center: center,\n events: events,\n withoutStyle: withoutStyle,\n zoomControl: zoomControl,\n mapTypeControl: mapTypeControl,\n scaleControl: scaleControl,\n streetViewControl: streetViewControl,\n rotateControl: rotateControl,\n fullscreenControl: fullscreenControl\n }),\n map = _useGoogleMap.map,\n mapRef = _useGoogleMap.ref;\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$1.container, (_ref2 = {}, _defineProperty(_ref2, className, className !== null), _defineProperty(_ref2, styles$1.preventScroll, !draggable), _ref2)])\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: mapRef,\n className: styles$1.map,\n tabIndex: focusable ? '0' : '-1'\n }), React.Children.map(children, function (child) {\n return /*#__PURE__*/React.cloneElement(child, {\n map: map\n });\n }));\n};\n\nMap$1.propTypes = propTypes$2;\nMap$1.defaultProps = defaultProps$2;\n\nvar eventMapping = {\n onClick: 'click',\n onDoubleClick: 'dblclick'\n};\nfunction useGoogleMapMarker(map) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? null : _ref$position,\n _ref$icon = _ref.icon,\n icon = _ref$icon === void 0 ? null : _ref$icon,\n _ref$iconSize = _ref.iconSize,\n iconSize = _ref$iconSize === void 0 ? null : _ref$iconSize,\n events = _ref.events,\n title = _ref.title;\n\n var client = useGoogleMapsClient();\n var markerRef = useRef(null);\n useEffect(function () {\n var marker = markerRef.current;\n\n if (marker !== null && position !== null) {\n marker.setPosition(position);\n }\n }, [position]);\n var updateIcon = useCallback(function (marker, newIcon) {\n if (client === null) {\n return;\n }\n\n if (isObject(newIcon)) {\n var _ref2 = newIcon || {},\n _ref2$url = _ref2.url,\n iconUrl = _ref2$url === void 0 ? null : _ref2$url;\n\n marker.setIcon({\n url: iconUrl,\n scaledSize: new client.maps.Size(iconSize.width, iconSize.height)\n });\n } else {\n marker.setIcon(newIcon);\n }\n }, [client, iconSize]);\n useEffect(function () {\n var marker = markerRef.current;\n\n if (marker === null || client === null) {\n return;\n }\n\n updateIcon(marker, icon);\n }, [client, icon, updateIcon]);\n useEffect(function () {\n if (client === null || map === null || markerRef.current !== null) {\n return function () {};\n }\n\n var marker = new client.maps.Marker({\n position: position,\n map: map,\n title: title\n });\n updateIcon(marker, icon);\n Object.keys(events).forEach(function (eventName) {\n marker.addListener(eventMapping[eventName], events[eventName]);\n });\n markerRef.current = marker;\n return function () {\n client.maps.event.clearInstanceListeners(marker);\n marker.setMap(null);\n };\n }, [client, map]);\n return markerRef.current;\n}\n\nvar img$1 = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAArCAYAAACJrvP4AAAC+ElEQVR4AWIgBP7//88DxCGAWssB1pIkCsO1iLG27WCtYG17x3Ywtm3bthlNMLZtz/NrXvStM/cbP/Vln6RSOfq/xqlOi2nO10bxUe26RRKLRdnxiZOnTqVpQO6NOc5AiYSd6O4dRcbAnlJQv4rk/fWt5HzzkbDjEydPHfX0pQr6Q4dcI7RqqZP7Z1z8i/cSLuqop4/+ZCB3iOt214UFVkG9SoikvOijHx1fGAXeqWNm7u9f0Zj2oh+dCoHcOlfkA0oZiB66ZYaBZ53uo/N7pOiWGBqmyF21xKEg24uhQf/mOWJsmaYgYOiiDwfYn5yTRE2X42vNWy/KyKcelZ6PPMCOTzwhEH04ii8ABzMRaNwzj0uXB+8rs4gnAqIPR/HJ4UvgV8wdlICUXOR9+9GHo/jG8enxK+aR+cDI+/ajD0eJ50Vzvv3Yt5h35Acj79ePPhylbetyXuVfA70z9OEoXVy0pbBl40DfGfpwVMy1R1kTRnpBTqM1cZQHh3P2Tiwv1wzynKEPR2HaNI4VNmsQyBcE3bj+UTgYE1kncmCvFQQMXRGpfQsmcre27fNFHVtkFYSeOM459OHcDvw+/mwtzkQ2QOigh64qz7RlrXRmTw1nA4ZOXG+F3z/Iozrkmvm1/80IRD866CkfY1hqeSeOGZnA6EdHJWPaNjdYw/tH0wHRR38q/43Padcx8/75ISUQ9fTRr1IxiUZbR7ZtSulxUk9fsoySZ8+xjxZ1bpkUiDrq6Uv3f/9TXVxk53z3qS+IPHXUq0xMbHuRNWGk77CQp05laiLysoRCbu4vn5cLIk6eOpUN06a52J46zisPRpy8ypaJyOvaMqycrz4sAcInTl5l07RprC3u1qYEDJ+4yraJSI3w5vVmiXO1dYNJPAjYQzo+CDlfvi+A2PGJqyBMG8aegiY1BRg7vgrKYqY53RjUS4Cx4wcGk1isa3zUNTB2/OBgIvVDq5bawNjxg4R96Z07U5T393fCjh8k7E7t2PPEi7rs+Kn0XwF82Z38cjx5pwAAAABJRU5ErkJggg==\";\n\nvar img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAArCAYAAACJrvP4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTA0LTA3VDE2OjQ0OjQ4LTA0OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0wNC0wN1QxNzo1MToxMi0wNDowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wNC0wN1QxNzo1MToxMi0wNDowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMDRhNzAzOS01Mjk1LTQz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\";\n\nvar propTypes$1 = {\n // map: PropTypes.object.isRequired, // eslint-disable-line\n map: PropTypes.object,\n // eslint-disable-line\n position: PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number\n }).isRequired,\n type: PropTypes.string,\n // .isRequired,\n events: PropTypes.object,\n // eslint-disable-line\n active: PropTypes.bool,\n title: PropTypes.string,\n image: PropTypes$1.imageMedia,\n iconSize: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number\n })\n};\nvar defaultProps$1 = {\n map: null,\n events: null,\n active: true,\n title: null,\n image: null,\n iconSize: {\n width: 50,\n height: 50\n }\n};\n\nvar Marker = function Marker(_ref) {\n var map = _ref.map,\n position = _ref.position,\n type = _ref.type,\n events = _ref.events,\n active = _ref.active,\n title = _ref.title,\n image = _ref.image,\n iconSize = _ref.iconSize;\n useGoogleMapMarker(map, {\n position: position,\n type: type,\n events: events,\n title: title,\n icon: image || (active ? img$1 : img),\n iconSize: iconSize\n });\n return null;\n};\n\nMarker.propTypes = propTypes$1;\nMarker.defaultProps = defaultProps$1;\n\n// import { useEffect } from 'react';\n({\n map: PropTypes.object,\n // eslint-disable-line\n coords: PropTypes.arrayOf(PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number\n })).isRequired,\n events: PropTypes.object // eslint-disable-line\n\n});\n\n({\n map: PropTypes.object,\n // eslint-disable-line\n enabled: PropTypes.bool\n});\n\nvar styles = {\"container\":\"micromag-element-map-container\"};\n\nvar propTypes = {\n center: PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number\n }),\n zoom: PropTypes.number,\n draggable: PropTypes.bool,\n markers: PropTypes.arrayOf(PropTypes.object),\n onClickMap: PropTypes.func,\n onClickMarker: PropTypes.func,\n className: PropTypes.string,\n onReady: PropTypes.func,\n onCenterChanged: PropTypes.func,\n onBoundsChanged: PropTypes.func,\n onDragEnd: PropTypes.func,\n withoutStyle: PropTypes.bool,\n fitBounds: PropTypes.bool,\n zoomControl: PropTypes.bool,\n mapTypeControl: PropTypes.bool,\n scaleControl: PropTypes.bool,\n streetViewControl: PropTypes.bool,\n rotateControl: PropTypes.bool,\n fullscreenControl: PropTypes.bool,\n focusable: PropTypes.bool\n};\nvar defaultProps = {\n center: null,\n zoom: null,\n draggable: true,\n markers: [],\n onClickMap: null,\n onClickMarker: null,\n className: null,\n onReady: null,\n onCenterChanged: null,\n onBoundsChanged: null,\n onDragEnd: null,\n withoutStyle: false,\n fitBounds: false,\n zoomControl: false,\n mapTypeControl: false,\n scaleControl: false,\n streetViewControl: false,\n rotateControl: false,\n fullscreenControl: false,\n focusable: true\n};\n\nvar Map = function Map(_ref) {\n var center = _ref.center,\n zoom = _ref.zoom,\n draggable = _ref.draggable,\n markers = _ref.markers,\n onClickMap = _ref.onClickMap,\n onClickMarker = _ref.onClickMarker,\n className = _ref.className,\n onReady = _ref.onReady,\n onCenterChanged = _ref.onCenterChanged,\n onBoundsChanged = _ref.onBoundsChanged,\n onDragEnd = _ref.onDragEnd,\n withoutStyle = _ref.withoutStyle,\n fitBounds = _ref.fitBounds,\n zoomControl = _ref.zoomControl,\n mapTypeControl = _ref.mapTypeControl,\n scaleControl = _ref.scaleControl,\n streetViewControl = _ref.streetViewControl,\n rotateControl = _ref.rotateControl,\n fullscreenControl = _ref.fullscreenControl,\n focusable = _ref.focusable;\n var client = useGoogleMapsClient();\n var onClick = useCallback(function (position) {\n if (onClickMap !== null) {\n onClickMap(position);\n }\n }, [onClickMap]);\n var bounds = useMemo(function () {\n if (client === null || markers === null || markers.length === 0) {\n return null;\n }\n\n var markersBounds = markers.reduce(function (newBounds, _ref2) {\n var _ref2$geoPosition = _ref2.geoPosition,\n geoPosition = _ref2$geoPosition === void 0 ? null : _ref2$geoPosition;\n\n var _ref3 = geoPosition || {},\n _ref3$lat = _ref3.lat,\n lat = _ref3$lat === void 0 ? null : _ref3$lat,\n _ref3$lng = _ref3.lng,\n lng = _ref3$lng === void 0 ? null : _ref3$lng;\n\n if (lat !== null && lng !== null) {\n newBounds.extend(new client.maps.LatLng(lat, lng));\n }\n\n return newBounds;\n }, new client.maps.LatLngBounds());\n return markersBounds;\n }, [client, markers]);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n loaded = _useState2[0],\n setLoaded = _useState2[1];\n\n useEffect(function () {\n if (client !== null && loaded) {\n if (onReady !== null) {\n onReady(client);\n }\n }\n }, [client, loaded, onReady]);\n var onTilesLoaded = useCallback(function () {\n return setLoaded(true);\n }, [setLoaded]);\n var events = useMemo(function () {\n return {\n onClick: onClick,\n onCenterChanged: onCenterChanged,\n onBoundsChanged: onBoundsChanged,\n onDragEnd: onDragEnd,\n onTilesLoaded: onTilesLoaded\n };\n }, [onClick, onCenterChanged, onBoundsChanged, onDragEnd, onTilesLoaded]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)])\n }, /*#__PURE__*/React.createElement(Map$1, {\n center: center,\n zoom: zoom,\n withoutStyle: withoutStyle,\n bounds: bounds,\n draggable: draggable,\n events: events,\n fitBounds: fitBounds,\n zoomControl: zoomControl,\n mapTypeControl: mapTypeControl,\n scaleControl: scaleControl,\n streetViewControl: streetViewControl,\n rotateControl: rotateControl,\n fullscreenControl: fullscreenControl,\n focusable: focusable\n }, markers !== null ? markers.map(function (_ref5, index) {\n var _ref5$active = _ref5.active,\n active = _ref5$active === void 0 ? true : _ref5$active,\n _ref5$geoPosition = _ref5.geoPosition,\n geoPosition = _ref5$geoPosition === void 0 ? null : _ref5$geoPosition,\n _ref5$image = _ref5.image,\n image = _ref5$image === void 0 ? null : _ref5$image,\n _ref5$title = _ref5.title,\n title = _ref5$title === void 0 ? null : _ref5$title;\n return geoPosition !== null && (geoPosition.lat || null) !== null && (geoPosition.lng || null) !== null ? /*#__PURE__*/React.createElement(Marker, {\n key: \"marker-\".concat(index),\n active: active,\n title: title !== null && _typeof(title.body) ? title.body : null,\n image: image,\n position: geoPosition,\n events: {\n onClick: onClickMarker !== null ? function (e) {\n return onClickMarker(e, index);\n } : function () {\n return console.log(index);\n } // eslint-disable-line no-console\n\n }\n }) : /*#__PURE__*/React.createElement(\"div\", null);\n }) : null));\n};\n\nMap.propTypes = propTypes;\nMap.defaultProps = defaultProps;\n\nexport { img$1 as Pin, Map as default };\n","import { useIntl, FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useState, useRef, useCallback, useMemo, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useGoogleKeys, useScreenSize, useScreenRenderContext } from '@micromag/core/contexts';\nimport { Transitions, Button, ScreenElement, PlaceholderMap } from '@micromag/core/components';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { getStyleFromColor, isTextFilled } from '@micromag/core/utils';\nimport { Background } from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Map from '@micromag/element-map';\nimport Heading from '@micromag/element-heading';\nimport Scroll from '@micromag/element-scroll';\nimport Text from '@micromag/element-text';\nimport ImageElement from '@micromag/element-image';\nimport ButtonElement from '@micromag/element-button';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Map as Map$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-map-container\",\"markerOverlayContainer\":\"micromag-screen-map-markerOverlayContainer\",\"markerOverlayScrollable\":\"micromag-screen-map-markerOverlayScrollable\",\"splash\":\"micromag-screen-map-splash\",\"disabled\":\"micromag-screen-map-disabled\",\"hidden\":\"micromag-screen-map-hidden\",\"placeholder\":\"micromag-screen-map-placeholder\",\"content\":\"micromag-screen-map-content\",\"markerOverlaySafe\":\"micromag-screen-map-markerOverlaySafe\",\"markerOverlay\":\"micromag-screen-map-markerOverlay\",\"markerOverlayContent\":\"micromag-screen-map-markerOverlayContent\",\"markerOverlayContentInner\":\"micromag-screen-map-markerOverlayContentInner\",\"swipeIndicator\":\"micromag-screen-map-swipeIndicator\",\"description\":\"micromag-screen-map-description\",\"title\":\"micromag-screen-map-title\",\"button\":\"micromag-screen-map-button\",\"emptyButton\":\"micromag-screen-map-emptyButton\",\"emptyDescription\":\"micromag-screen-map-emptyDescription\",\"emptyTitle\":\"micromag-screen-map-emptyTitle\",\"splashButton\":\"micromag-screen-map-splashButton\",\"closeButton\":\"micromag-screen-map-closeButton\",\"markerDescription\":\"micromag-screen-map-markerDescription\",\"markerImage\":\"micromag-screen-map-markerImage\",\"markerSubtitle\":\"micromag-screen-map-markerSubtitle\",\"markerTitle\":\"micromag-screen-map-markerTitle\",\"hasSelectedMarker\":\"micromag-screen-map-hasSelectedMarker\",\"opened\":\"micromag-screen-map-opened\"};\n\nvar defaultCenter = {\n lat: 45.5,\n lng: -73.56\n};\nvar defaultZoom = 10;\nvar propTypes = {\n layout: PropTypes.oneOf(['normal']),\n draggable: PropTypes.bool,\n markers: PropTypes.oneOfType([PropTypes$1.markers, PropTypes$1.markersWithImage]),\n title: PropTypes$1.textElement,\n description: PropTypes$1.textElement,\n button: PropTypes$1.textElement,\n openedMarkerSpacerHeight: PropTypes.number,\n withMarkerImages: PropTypes.bool,\n background: PropTypes$1.backgroundElement,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n onEnableInteraction: PropTypes.func,\n onDisableInteraction: PropTypes.func,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'normal',\n draggable: true,\n markers: [],\n title: null,\n description: null,\n button: null,\n openedMarkerSpacerHeight: 0.75,\n withMarkerImages: false,\n background: null,\n current: true,\n transitions: null,\n onEnableInteraction: null,\n onDisableInteraction: null,\n type: null,\n className: null\n};\n\nvar MapScreen = function MapScreen(_ref) {\n var _ref13;\n\n var layout = _ref.layout,\n draggable = _ref.draggable,\n markers = _ref.markers,\n title = _ref.title,\n description = _ref.description,\n button = _ref.button,\n openedMarkerSpacerHeight = _ref.openedMarkerSpacerHeight,\n withMarkerImages = _ref.withMarkerImages,\n background = _ref.background,\n current = _ref.current,\n transitions = _ref.transitions,\n onEnableInteraction = _ref.onEnableInteraction,\n onDisableInteraction = _ref.onDisableInteraction,\n type = _ref.type,\n className = _ref.className;\n\n var _useIntl = useIntl(),\n locale = _useIntl.locale;\n\n var _useGoogleKeys = useGoogleKeys(),\n _useGoogleKeys$apiKey = _useGoogleKeys.apiKey,\n apiKey = _useGoogleKeys$apiKey === void 0 ? null : _useGoogleKeys$apiKey;\n\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n selectedMarkerIndex = _useState2[0],\n setSelectedMarkerIndex = _useState2[1];\n\n var hasSelectedMarker = selectedMarkerIndex !== null;\n var lastRenderedMarker = useRef(null);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height;\n\n var _ref2 = background || {},\n backgroundColor = _ref2.color;\n\n var markerOverlayContentStyle = getStyleFromColor(backgroundColor);\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n ready = _useState4[0],\n setReady = _useState4[1];\n\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current;\n var backgroundPlaying = current && (isView || isEdit);\n\n var _useState5 = useState(isStatic || isCapture),\n _useState6 = _slicedToArray(_useState5, 2),\n opened = _useState6[0],\n setOpened = _useState6[1];\n\n var onMapReady = useCallback(function () {\n return setReady(true);\n }, [setReady]);\n var finalMarkers = useMemo(function () {\n return (markers || []).map(function (marker, markerI) {\n return _objectSpread(_objectSpread({}, marker), {}, {\n active: markerI === selectedMarkerIndex\n });\n });\n }, [markers, selectedMarkerIndex]);\n var closeMarker = useCallback(function () {\n var lastMarker = finalMarkers[selectedMarkerIndex];\n lastRenderedMarker.current = lastMarker;\n setSelectedMarkerIndex(null);\n }, [finalMarkers, selectedMarkerIndex, setSelectedMarkerIndex]);\n var onClickMap = useCallback(function () {\n var lastMarker = finalMarkers[selectedMarkerIndex];\n trackScreenEvent('click_marker_close', \"Marker \".concat(selectedMarkerIndex + 1, \": \").concat(lastMarker.title.body), {\n marker: lastMarker,\n markerIndex: selectedMarkerIndex\n });\n closeMarker();\n }, [finalMarkers, selectedMarkerIndex, trackScreenEvent, closeMarker]);\n var onClickMarker = useCallback(function (e, index) {\n var marker = finalMarkers[index];\n setSelectedMarkerIndex(index);\n trackScreenEvent('click_marker_open', \"Marker \".concat(index + 1, \": \").concat(marker.title.body), {\n marker: marker,\n markerIndex: index\n });\n }, [finalMarkers, setSelectedMarkerIndex, trackScreenEvent]);\n var onButtonClick = useCallback(function () {\n setOpened(true);\n\n if (onDisableInteraction !== null) {\n onDisableInteraction();\n }\n\n trackScreenEvent('click_button', button.body);\n }, [setOpened, onDisableInteraction, trackScreenEvent, button]);\n var onCloseClick = useCallback(function () {\n setOpened(false);\n\n if (onEnableInteraction !== null) {\n onEnableInteraction();\n }\n\n trackScreenEvent('click_close', 'Close icon');\n closeMarker();\n }, [setOpened, onEnableInteraction, trackScreenEvent]);\n var onMapDragEnd = useCallback(function (center) {\n var coords = center.toJSON();\n trackScreenEvent('drag_map', \"Latitude: \".concat(coords.lat.toFixed(4), \", Longitude: \").concat(coords.lng.toFixed(4)), {\n coords: coords\n });\n }, [trackScreenEvent]);\n var onScrolledBottom = useCallback(function (_ref3) {\n var initial = _ref3.initial;\n\n if (initial) {\n var selectedMarker = (markers || [])[selectedMarkerIndex];\n trackScreenEvent('scroll', \"Marker \".concat(selectedMarkerIndex + 1, \": \").concat(selectedMarker.title.body), {\n marker: selectedMarker,\n markerIndex: selectedMarkerIndex\n });\n }\n }, [trackScreenEvent, markers, selectedMarkerIndex]);\n\n var _useResizeObserver = useResizeObserver({\n disabled: !isView\n }),\n markerOverContentInnerRef = _useResizeObserver.ref,\n markerOverContentInnerRect = _useResizeObserver.entry.contentRect;\n\n var _ref4 = markerOverContentInnerRect || {},\n _ref4$width = _ref4.width,\n markerOverContentInnerWidth = _ref4$width === void 0 ? '100%' : _ref4$width;\n\n var _useState7 = useState(0),\n _useState8 = _slicedToArray(_useState7, 2),\n markerImagesLoaded = _useState8[0],\n setMarkerImagesLoaded = _useState8[1];\n\n var allMarkersImagesLoaded = markerImagesLoaded === (markers || []).length;\n var finalReady = ready && (!withMarkerImages || allMarkersImagesLoaded);\n useEffect(function () {\n if (withMarkerImages && markers !== null && (markers || []).length) {\n setMarkerImagesLoaded(0);\n var imgs = markers.map(function (marker) {\n var _ref5 = marker || {},\n _ref5$image = _ref5.image,\n image = _ref5$image === void 0 ? null : _ref5$image;\n\n var _ref6 = image || {},\n _ref6$url = _ref6.url,\n url = _ref6$url === void 0 ? null : _ref6$url;\n\n var withUrl = url !== null;\n\n if (withUrl) {\n var img = new Image();\n img.src = url;\n\n img.onload = function () {\n setMarkerImagesLoaded(function (index) {\n return setMarkerImagesLoaded(index + 1);\n });\n };\n\n return img;\n }\n\n return null;\n });\n return function () {\n imgs.filter(function (img) {\n return img !== null;\n }).forEach(function (img) {\n img.onload = function () {}; // eslint-disable-line no-param-reassign\n\n });\n };\n }\n\n return function () {};\n }, [withMarkerImages, markers]);\n var element = null;\n\n if (isPlaceholder) {\n element = /*#__PURE__*/React.createElement(PlaceholderMap, {\n className: styles.placeholder,\n withImages: withMarkerImages\n });\n } else if (isPreview) {\n if (width > 0 && height > 0 && apiKey !== null) {\n var staticUrl = \"https://maps.googleapis.com/maps/api/staticmap?size=\".concat(Math.round(width), \"x\").concat(Math.round(height));\n\n if (defaultCenter !== null && (markers === null || markers.length === 0)) {\n var _ref7 = defaultCenter || {},\n _ref7$lat = _ref7.lat,\n lat = _ref7$lat === void 0 ? null : _ref7$lat,\n _ref7$lng = _ref7.lng,\n lng = _ref7$lng === void 0 ? null : _ref7$lng;\n\n staticUrl += \"&center=\".concat(lat, \",\").concat(lng);\n }\n\n {\n staticUrl += \"&zoom=\".concat(defaultZoom);\n }\n\n if (apiKey !== null) {\n staticUrl += \"&key=\".concat(apiKey);\n }\n\n if (locale !== null) {\n staticUrl += \"&language=\".concat(locale);\n }\n\n if (markers !== null) {\n staticUrl += markers.map(function (marker) {\n var _ref8 = marker || {},\n _ref8$geoPosition = _ref8.geoPosition,\n geoPosition = _ref8$geoPosition === void 0 ? null : _ref8$geoPosition;\n\n var _ref9 = geoPosition || {},\n _ref9$lat = _ref9.lat,\n lat = _ref9$lat === void 0 ? null : _ref9$lat,\n _ref9$lng = _ref9.lng,\n lng = _ref9$lng === void 0 ? null : _ref9$lng;\n\n var _ref10 = marker || {},\n _ref10$image = _ref10.image,\n image = _ref10$image === void 0 ? null : _ref10$image;\n\n var _ref11 = image || {},\n _ref11$url = _ref11.url,\n url = _ref11$url === void 0 ? null : _ref11$url;\n\n return lat !== null && lng !== null ? \"&markers=\".concat(url !== null ? \"icon:\".concat(url) : '', \"%7C\").concat(lat, \",\").concat(lng) : '';\n }).join('');\n }\n\n element = /*#__PURE__*/React.createElement(ImageElement, {\n media: {\n url: staticUrl,\n metadata: {\n width: Math.min(640, width),\n height: Math.min(640, height)\n }\n },\n width: width,\n height: height,\n objectFit: {\n fit: 'cover'\n }\n });\n }\n } else {\n var renderedMarker = hasSelectedMarker ? finalMarkers[selectedMarkerIndex] : lastRenderedMarker.current;\n\n var _ref12 = renderedMarker || {},\n _ref12$title = _ref12.title,\n markerTitle = _ref12$title === void 0 ? null : _ref12$title,\n _ref12$subtitle = _ref12.subtitle,\n markerSubtitle = _ref12$subtitle === void 0 ? null : _ref12$subtitle,\n _ref12$description = _ref12.description,\n markerDescription = _ref12$description === void 0 ? null : _ref12$description,\n _ref12$image = _ref12.image,\n markerImage = _ref12$image === void 0 ? null : _ref12$image;\n\n var hasMarkerTitle = markerTitle !== null;\n var hasMarkerSubtitle = markerSubtitle !== null;\n var hasMarkerDescription = markerDescription !== null;\n var hasMarkerImage = markerImage !== null;\n var hasTitle = isTextFilled(title);\n var hasDescription = isTextFilled(description);\n var hasButton = isTextFilled(button);\n element = /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n fullscreen: true,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Map, {\n key: \"map\",\n center: defaultCenter,\n zoom: defaultZoom,\n draggable: draggable,\n markers: finalMarkers,\n fitBounds: true,\n onClickMarker: onClickMarker,\n onReady: onMapReady,\n onDragEnd: onMapDragEnd\n }), /*#__PURE__*/React.createElement(\"div\", {\n key: \"marker-overlay\",\n className: styles.markerOverlayContainer\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.markerOverlayScrollable\n }, /*#__PURE__*/React.createElement(Scroll, {\n fullscreen: true,\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom\n }, /*#__PURE__*/React.createElement(Button, {\n className: styles.markerOverlaySafe,\n onClick: onClickMap,\n withoutStyle: true,\n style: {\n height: height * openedMarkerSpacerHeight\n },\n disabled: isPreview,\n focusable: current && isView\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.markerOverlay,\n style: {\n minHeight: height * (1 - openedMarkerSpacerHeight)\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.markerOverlayContent,\n style: markerOverlayContentStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.swipeIndicator\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.markerOverlayContentInner,\n key: \"markerContent-\".concat(selectedMarkerIndex),\n ref: markerOverContentInnerRef\n }, hasMarkerImage ? /*#__PURE__*/React.createElement(ImageElement, {\n className: styles.markerImage,\n media: markerImage,\n width: markerOverContentInnerWidth\n }) : null, hasMarkerTitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: styles.markerTitle\n }, markerTitle)) : null, hasMarkerSubtitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n size: 3,\n className: styles.markerSubtitle\n }, markerSubtitle)) : null, hasMarkerDescription ? /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.markerDescription\n }, markerDescription)) : null)))))), /*#__PURE__*/React.createElement(\"div\", {\n key: \"splash\",\n className: classNames([styles.splash])\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasTitle\n }, /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: styles.title\n }, title))), /*#__PURE__*/React.createElement(ScreenElement, {\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"507VAi\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n emptyClassName: styles.emptyDescription,\n isEmpty: !hasDescription\n }, /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.description\n }, description))), /*#__PURE__*/React.createElement(ScreenElement, {\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"bv3rRe\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n }),\n emptyClassName: styles.emptyButton,\n isEmpty: !hasButton\n }, /*#__PURE__*/React.createElement(ButtonElement, {\n className: styles.splashButton,\n onClick: onButtonClick,\n buttonStyle: button !== null ? button.buttonStyle : null,\n focusable: current && isView\n }, /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.button\n }, button))))), !isStatic && !isCapture ? /*#__PURE__*/React.createElement(Button, {\n key: \"close-button\",\n className: styles.closeButton,\n onClick: onCloseClick,\n focusable: current && isView\n }, \"\\xD7\") : null);\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref13 = {}, _defineProperty(_ref13, className, className !== null), _defineProperty(_ref13, styles[\"\".concat(layout, \"Layout\")], layout !== null), _defineProperty(_ref13, styles.opened, opened), _defineProperty(_ref13, styles.hasSelectedMarker, hasSelectedMarker), _ref13)]),\n \"data-screen-ready\": finalReady\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n color: {\n color: '#FFFFFF',\n alpha: 1\n },\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, element));\n};\n\nMapScreen.propTypes = propTypes;\nMapScreen.defaultProps = defaultProps;\n\nvar MapImagesScreen = function MapImagesScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(MapScreen, Object.assign({}, props, {\n withMarkerImages: true\n }));\n};\n\nvar transform = function transform(newStory, _ref) {\n var markers = _ref.markers;\n var marker = markers.find(function (_ref2) {\n var _ref2$geoPosition = _ref2.geoPosition,\n geoPosition = _ref2$geoPosition === void 0 ? null : _ref2$geoPosition;\n return geoPosition !== null && geoPosition.latitude !== null && geoPosition.longitude !== null;\n });\n\n var _ref3 = marker || {},\n _ref3$geoPosition = _ref3.geoPosition,\n geoPosition = _ref3$geoPosition === void 0 ? {} : _ref3$geoPosition;\n\n var _ref4 = geoPosition || {},\n _ref4$lat = _ref4.lat,\n lat = _ref4$lat === void 0 ? null : _ref4$lat,\n _ref4$lng = _ref4.lng,\n lng = _ref4$lng === void 0 ? null : _ref4$lng;\n\n var _Map = Map$1(newStory, {\n latitude: lat,\n longitude: lng\n }),\n titleStory = _Map.story,\n titleComponent = _Map.component;\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'map',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"8vroDx\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Map\"\n }]\n }),\n order: 6\n },\n title: defineMessage({\n \"id\": \"dmuKH3\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Map\"\n }]\n }),\n component: MapScreen,\n layouts: ['normal'],\n transforms: transforms,\n fields: [{\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n \"id\": \"N25iDO\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"1ezz2m\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'button',\n type: 'button-element',\n theme: {\n textStyle: 'button'\n },\n label: defineMessage({\n \"id\": \"enPTxj\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n })\n }, {\n name: 'draggable',\n type: 'toggle',\n defaultValue: true,\n label: defineMessage({\n \"id\": \"8Dl/S1\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Draggable\"\n }]\n })\n }, {\n name: 'markers',\n type: 'markers',\n theme: {\n title: {\n textStyle: 'heading3'\n },\n description: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n \"id\": \"PbHeHc\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Markers\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }]\n}, {\n id: 'map-images',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"8vroDx\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Map\"\n }]\n }),\n order: 6\n },\n title: defineMessage({\n \"id\": \"MLuvzG\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Map with image markers\"\n }]\n }),\n component: MapImagesScreen,\n layouts: ['normal'],\n transforms: transforms,\n fields: [{\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n \"id\": \"N25iDO\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"1ezz2m\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'button',\n type: 'button-element',\n theme: {\n textStyle: 'button'\n },\n label: defineMessage({\n \"id\": \"enPTxj\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n })\n }, {\n name: 'draggable',\n type: 'toggle',\n defaultValue: true,\n label: defineMessage({\n \"id\": \"8Dl/S1\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Draggable\"\n }]\n })\n }, {\n name: 'markers',\n type: 'markers-with-image',\n theme: {\n title: {\n textStyle: 'heading3'\n },\n description: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n \"id\": \"D0+Cxr\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Markers with image\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }]\n}];\n\nexport { MapImagesScreen, MapScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { faCheck, faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { isTextFilled, getStyleFromButton, getStyleFromColor } from '@micromag/core/utils';\nimport { useQuizCreate } from '@micromag/data';\nimport Background from '@micromag/element-background';\nimport Button from '@micromag/element-button';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Text from '@micromag/element-text';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback, useEffect } from 'react';\n\nvar styles = {\"container\":\"micromag-screen-quiz-container\",\"disabled\":\"micromag-screen-quiz-disabled\",\"hidden\":\"micromag-screen-quiz-hidden\",\"placeholder\":\"micromag-screen-quiz-placeholder\",\"content\":\"micromag-screen-quiz-content\",\"emptyAnswer\":\"micromag-screen-quiz-emptyAnswer\",\"emptyResult\":\"micromag-screen-quiz-emptyResult\",\"emptyTitle\":\"micromag-screen-quiz-emptyTitle\",\"button\":\"micromag-screen-quiz-button\",\"question\":\"micromag-screen-quiz-question\",\"answers\":\"micromag-screen-quiz-answers\",\"items\":\"micromag-screen-quiz-items\",\"item\":\"micromag-screen-quiz-item\",\"rightAnswer\":\"micromag-screen-quiz-rightAnswer\",\"resultIcon\":\"micromag-screen-quiz-resultIcon\",\"itemContent\":\"micromag-screen-quiz-itemContent\",\"result\":\"micromag-screen-quiz-result\",\"resultContent\":\"micromag-screen-quiz-resultContent\",\"callToAction\":\"micromag-screen-quiz-callToAction\",\"answered\":\"micromag-screen-quiz-answered\",\"showResults\":\"micromag-screen-quiz-showResults\",\"answerTransitionComplete\":\"micromag-screen-quiz-answerTransitionComplete\",\"isPlaceholder\":\"micromag-screen-quiz-isPlaceholder\",\"layout\":\"micromag-screen-quiz-layout\"};\n\nvar propTypes = {\n id: PropTypes.string,\n layout: PropTypes.oneOf(['top', 'middle', 'bottom', 'split']),\n question: PropTypes$1.textElement,\n answers: PropTypes$1.quizAnswers,\n result: PropTypes.shape({\n image: PropTypes$1.imageElement,\n text: PropTypes$1.textElement\n }),\n buttonsStyle: PropTypes$1.buttonStyle,\n goodAnswerColor: PropTypes$1.color,\n badAnswerColor: PropTypes$1.color,\n spacing: PropTypes.number,\n showResultsDelay: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n resultsTransitionDuration: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n id: null,\n layout: 'middle',\n question: null,\n answers: null,\n result: null,\n buttonsStyle: null,\n goodAnswerColor: null,\n badAnswerColor: null,\n spacing: 20,\n showResultsDelay: 750,\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n transitionStagger: 100,\n resultsTransitionDuration: 500,\n type: null,\n className: null\n};\n\nvar QuizScreen = function QuizScreen(_ref) {\n var _ref13;\n\n var id = _ref.id,\n layout = _ref.layout,\n question = _ref.question,\n answers = _ref.answers,\n result = _ref.result,\n buttonsStyle = _ref.buttonsStyle,\n goodAnswerColor = _ref.goodAnswerColor,\n badAnswerColor = _ref.badAnswerColor,\n spacing = _ref.spacing,\n showResultsDelay = _ref.showResultsDelay,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n resultsTransitionDuration = _ref.resultsTransitionDuration,\n type = _ref.type,\n className = _ref.className;\n var screenId = id || 'screen-id';\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var hasQuestion = isTextFilled(question);\n var hasResult = isTextFilled(result);\n var showInstantAnswer = isStatic || isCapture;\n var goodAnswerIndex = answers !== null ? answers.findIndex(function (answer) {\n return answer !== null && answer.good;\n }) : null;\n\n var _useState = useState(showInstantAnswer ? goodAnswerIndex : null),\n _useState2 = _slicedToArray(_useState, 2),\n userAnswerIndex = _useState2[0],\n setUserAnswerIndex = _useState2[1];\n\n var _useState3 = useState(showInstantAnswer),\n _useState4 = _slicedToArray(_useState3, 2),\n showResults = _useState4[0],\n setShowResults = _useState4[1]; // const [answerTransitionProps, setAnswerTransitionProps] = useState(null);\n\n\n var _useState5 = useState(showInstantAnswer),\n _useState6 = _slicedToArray(_useState5, 2),\n answerTransitionComplete = _useState6[0],\n setAnswerTransitionComplete = _useState6[1];\n\n var answered = userAnswerIndex !== null;\n\n var _ref2 = userAnswerIndex !== null && answers ? answers[userAnswerIndex] : {},\n _ref2$good = _ref2.good,\n hasUserAnsweredRight = _ref2$good === void 0 ? false : _ref2$good;\n\n var isSplitted = layout === 'split';\n var verticalAlign = isSplitted ? null : layout;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useResizeObserver = useResizeObserver(),\n callToActionRef = _useResizeObserver.ref,\n callToActionRect = _useResizeObserver.entry.contentRect;\n\n var _ref3 = callToActionRect || {},\n _ref3$height = _ref3.height,\n callToActionHeight = _ref3$height === void 0 ? 0 : _ref3$height;\n\n var _useQuizCreate = useQuizCreate({\n screenId: screenId\n }),\n submitQuiz = _useQuizCreate.create;\n\n var onAnswerClick = useCallback(function (answerI) {\n var timeout = null;\n\n if (userAnswerIndex === null) {\n setUserAnswerIndex(answerI);\n timeout = setTimeout(setShowResults, showResultsDelay, true);\n var answer = answers[answerI];\n trackScreenEvent('click_answer', \"\".concat(userAnswerIndex + 1, \": \").concat(answer.label.body), {\n answer: answer,\n answerIndex: answerI\n });\n }\n\n return function () {\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n };\n }, [userAnswerIndex, setUserAnswerIndex, showResultsDelay, trackScreenEvent, answers]);\n useEffect(function () {\n if (!current && isEdit && userAnswerIndex !== null) {\n setUserAnswerIndex(null);\n setShowResults(false);\n setAnswerTransitionComplete(false);\n }\n }, [isEdit, current, userAnswerIndex, setUserAnswerIndex, setShowResults, setAnswerTransitionComplete]); // we get .answer's current and future height to animate its height\n // we also get the right answer's Y to animate its position\n\n var _useResizeObserver2 = useResizeObserver(),\n answerRef = _useResizeObserver2.ref,\n answerContentRect = _useResizeObserver2.entry.contentRect;\n\n var _ref4 = answerContentRect || {},\n answerHeight = _ref4.height;\n\n var _useResizeObserver3 = useResizeObserver(),\n rightAnswerRef = _useResizeObserver3.ref,\n rightAnswerContentRect = _useResizeObserver3.entry.contentRect;\n\n var _ref5 = rightAnswerContentRect || {},\n rightAnswerHeight = _ref5.height;\n\n var _useResizeObserver4 = useResizeObserver(),\n resultRef = _useResizeObserver4.ref,\n resultContentRect = _useResizeObserver4.entry.contentRect;\n\n var _ref6 = resultContentRect || {},\n resultHeight = _ref6.height;\n\n var _useState7 = useState(0),\n _useState8 = _slicedToArray(_useState7, 2),\n rightAnswerTop = _useState8[0],\n setRightAnswerTop = _useState8[1];\n\n useEffect(function () {\n if (rightAnswerRef.current !== null) {\n setRightAnswerTop(rightAnswerRef.current.offsetTop);\n }\n }, [rightAnswerHeight]); // when the animation is done, we set a state to remove animations props\n // .results' position changes from absolute to relative\n // the wrong answers are removed from DOM\n\n useEffect(function () {\n var timeout = null;\n\n if (!showInstantAnswer && showResults) {\n timeout = setTimeout(setAnswerTransitionComplete, resultsTransitionDuration, true);\n }\n\n return function () {\n if (timeout) {\n clearTimeout(timeout);\n }\n };\n }, [showResults, resultsTransitionDuration, setAnswerTransitionComplete, showInstantAnswer]);\n useEffect(function () {\n if (userAnswerIndex !== null) {\n var _ref7 = userAnswerIndex !== null && answers ? answers[userAnswerIndex] : {},\n _ref7$good = _ref7.good,\n isGood = _ref7$good === void 0 ? false : _ref7$good,\n _ref7$label = _ref7.label,\n label = _ref7$label === void 0 ? {} : _ref7$label;\n\n var _ref8 = label || {},\n _ref8$body = _ref8.body,\n body = _ref8$body === void 0 ? '' : _ref8$body;\n\n submitQuiz({\n choice: body || userAnswerIndex,\n value: isGood ? 1 : 0\n });\n }\n }, [userAnswerIndex, answers, submitQuiz]); // Question\n\n var items = [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"question\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"e1I+KU\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Question\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasQuestion\n }, hasQuestion ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Heading, Object.assign({}, question, {\n className: styles.question\n }))) : null)];\n\n if (isSplitted) {\n items.push( /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer\"\n }));\n } // Answer\n\n\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"answers\",\n className: styles.answers,\n ref: answerRef,\n style: answered && !answerTransitionComplete && (isView || isEdit) ? {\n transitionDuration: \"\".concat(resultsTransitionDuration, \"ms\"),\n height: !showResults ? answerHeight : rightAnswerHeight + resultHeight\n } : null\n }, answers !== null || isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.items\n }, (isPlaceholder ? _toConsumableArray(new Array(2)) : answers).map(function (answer, answerI) {\n var _ref12;\n\n var userAnswer = answerI === userAnswerIndex;\n\n var _ref9 = answer || {},\n _ref9$good = _ref9.good,\n rightAnswer = _ref9$good === void 0 ? false : _ref9$good,\n _ref9$label = _ref9.label,\n label = _ref9$label === void 0 ? null : _ref9$label,\n _ref9$buttonStyle = _ref9.buttonStyle,\n answerButtonStyle = _ref9$buttonStyle === void 0 ? null : _ref9$buttonStyle;\n\n var _ref10 = label || {},\n _ref10$textStyle = _ref10.textStyle,\n textStyle = _ref10$textStyle === void 0 ? null : _ref10$textStyle;\n\n var _ref11 = textStyle || {};\n _ref11.color;\n\n var hasAnswer = isTextFilled(label);\n return answerTransitionComplete && !rightAnswer ? null : /*#__PURE__*/React.createElement(\"div\", {\n key: \"answer-\".concat(answerI),\n ref: rightAnswer ? rightAnswerRef : null,\n className: classNames([styles.item, (_ref12 = {}, _defineProperty(_ref12, styles.rightAnswer, rightAnswer), _defineProperty(_ref12, styles.userAnswer, userAnswer), _ref12)]),\n style: showResults && rightAnswer && !answerTransitionComplete ? {\n transform: \"translateY(\".concat(-rightAnswerTop, \"px)\"),\n transitionDuration: \"\".concat(resultsTransitionDuration, \"ms\")\n } : null\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.itemContent\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"quizAnswer\",\n placeholderProps: {\n good: answerI === 0\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"+Ok+7S\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Answer\"\n }]\n }),\n emptyClassName: styles.emptyAnswer,\n isEmpty: !hasAnswer\n }, hasAnswer ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: (answerI + 1) * transitionStagger,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Button, {\n className: styles.button,\n onClick: function onClick() {\n return onAnswerClick(answerI);\n },\n disabled: isPreview,\n focusable: current && isView,\n buttonStyle: _objectSpread(_objectSpread({}, getStyleFromButton(buttonsStyle)), getStyleFromButton(answerButtonStyle))\n }, rightAnswer ? /*#__PURE__*/React.createElement(\"span\", {\n className: styles.resultIcon,\n style: getStyleFromColor(goodAnswerColor, 'backgroundColor')\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.faIcon,\n icon: faCheck\n })) : null, answered && !hasUserAnsweredRight && userAnswer ? /*#__PURE__*/React.createElement(\"span\", {\n className: styles.resultIcon,\n style: getStyleFromColor(badAnswerColor, 'backgroundColor')\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.faIcon,\n icon: faTimes\n })) : null, /*#__PURE__*/React.createElement(Text, Object.assign({}, label, {\n className: styles.optionLabel\n })))) : null)));\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.result,\n ref: resultRef\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.resultContent\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n emptyLabel: answered ? /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"li7ADr\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Result\"\n }]\n }) : null,\n isEmpty: answered && !hasResult,\n emptyClassName: styles.emptyResult\n }, hasResult && answers !== null ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: (1 + answers.length) * transitionStagger,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, result, {\n className: styles.resultText\n })), hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: callToActionHeight\n }\n }) : null)) : null)))));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref13 = {}, _defineProperty(_ref13, className, className !== null), _defineProperty(_ref13, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref13, styles.answered, answered), _defineProperty(_ref13, styles.showResults, showResults), _defineProperty(_ref13, styles.answerTransitionComplete, answerTransitionComplete), _ref13)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, items), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n callToAction: callToAction,\n disabled: !answerTransitionComplete,\n animationDisabled: isPreview,\n focusable: current && isView\n }) : null));\n};\n\nQuizScreen.propTypes = propTypes;\nQuizScreen.defaultProps = defaultProps;\n\nvar definition = {\n id: 'quiz',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"ZqwBOx\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Questions\"\n }]\n }),\n order: 7\n },\n title: defineMessage({\n \"id\": \"zW7IVm\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Quiz\"\n }]\n }),\n component: QuizScreen,\n layouts: ['top', 'middle', 'bottom', 'split'],\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'question',\n type: 'heading-element',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n \"id\": \"hVE7TA\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Question\"\n }]\n })\n }, {\n name: 'answers',\n type: 'quiz-answers',\n theme: {\n label: {\n textStyle: 'button'\n }\n },\n label: defineMessage({\n \"id\": \"KHWeV7\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Answers\"\n }]\n })\n }, {\n name: 'result',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"FJygXH\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Result\"\n }]\n })\n }, {\n type: 'fields',\n isList: true,\n label: defineMessage({\n \"id\": \"R9DB4a\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Styles\"\n }]\n }),\n fields: [{\n name: 'buttonsStyle',\n type: 'field-with-form',\n label: defineMessage({\n \"id\": \"l5uLMd\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Buttons\"\n }]\n }),\n noValueLabel: defineMessage({\n \"id\": \"65rc70\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Edit style...\"\n }]\n }),\n field: {\n type: 'button-style'\n }\n }, {\n name: 'goodAnswerColor',\n type: 'color',\n label: defineMessage({\n \"id\": \"I2bIHm\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Good answer color\"\n }]\n })\n }, {\n name: 'badAnswerColor',\n type: 'color',\n label: defineMessage({\n \"id\": \"ru3tjH\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Bad answer color\"\n }]\n })\n }]\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { QuizScreen, definition as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { v1 } from 'uuid';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { getStyleFromText, getStyleFromMargin } from '@micromag/core/utils';\nimport { LinkStyle } from '@micromag/core/components';\n\nvar styles = {\"container\":\"micromag-element-quote-container\",\"showEmpty\":\"micromag-element-quote-showEmpty\"};\n\nvar propTypes = {\n body: PropTypes.string,\n textStyle: PropTypes$1.textStyle,\n linksStyle: PropTypes$1.textStyle,\n margin: PropTypes$1.margin,\n showEmpty: PropTypes.bool,\n className: PropTypes.string,\n emptyClassName: PropTypes.string\n};\nvar defaultProps = {\n body: null,\n textStyle: null,\n linksStyle: null,\n margin: null,\n showEmpty: false,\n className: null,\n emptyClassName: null\n};\n\nvar Quote = function Quote(_ref) {\n var _ref2;\n\n var body = _ref.body,\n textStyle = _ref.textStyle,\n linksStyle = _ref.linksStyle,\n margin = _ref.margin,\n showEmpty = _ref.showEmpty,\n className = _ref.className,\n emptyClassName = _ref.emptyClassName;\n var finalStyle = null;\n var finalLinkStyle = null;\n\n if (textStyle !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromText(textStyle));\n }\n\n if (margin !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromMargin(margin));\n }\n\n if (linksStyle !== null) {\n finalLinkStyle = _objectSpread(_objectSpread({}, finalLinkStyle), getStyleFromText(linksStyle));\n }\n\n var id = useMemo(function () {\n return finalLinkStyle !== null ? \"quote-component-\".concat(v1()) : null;\n }, [finalLinkStyle !== null]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, finalLinkStyle !== null ? /*#__PURE__*/React.createElement(LinkStyle, {\n selector: \"#\".concat(id),\n style: finalLinkStyle\n }) : null, /*#__PURE__*/React.createElement(\"blockquote\", {\n id: id,\n className: classNames([styles.container, (_ref2 = {}, _defineProperty(_ref2, styles.showEmpty, showEmpty), _defineProperty(_ref2, emptyClassName, showEmpty && emptyClassName !== null), _defineProperty(_ref2, className, className !== null), _ref2)]),\n style: finalStyle,\n dangerouslySetInnerHTML: {\n __html: body\n }\n }));\n};\n\nQuote.propTypes = propTypes;\nQuote.defaultProps = defaultProps;\n\nexport { Quote as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Quote from '@micromag/element-quote';\nimport Text from '@micromag/element-text';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Quote as Quote$1, Author, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-quote-container\",\"disabled\":\"micromag-screen-quote-disabled\",\"hidden\":\"micromag-screen-quote-hidden\",\"placeholder\":\"micromag-screen-quote-placeholder\",\"content\":\"micromag-screen-quote-content\",\"emptyAuthor\":\"micromag-screen-quote-emptyAuthor\",\"emptyQuote\":\"micromag-screen-quote-emptyQuote\",\"quote\":\"micromag-screen-quote-quote\",\"withMargin\":\"micromag-screen-quote-withMargin\",\"isPlaceholder\":\"micromag-screen-quote-isPlaceholder\",\"layout\":\"micromag-screen-quote-layout\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['top', 'middle', 'bottom', 'split']),\n quote: PropTypes$1.textElement,\n author: PropTypes$1.textElement,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'top',\n quote: null,\n author: null,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n transitionStagger: 100,\n className: null\n};\n\nvar QuoteScreen = function QuoteScreen(_ref) {\n var _ref3;\n\n var layout = _ref.layout,\n quote = _ref.quote,\n author = _ref.author,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var hasQuote = isTextFilled(quote);\n var hasAuthor = isTextFilled(author);\n var isSplitted = layout === 'split';\n var isTopLayout = layout === 'top';\n var isMiddleLayout = layout === 'middle';\n var verticalAlign = isSplitted ? null : layout;\n var quoteWithMargin = hasQuote && hasAuthor && !isSplitted;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit);\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n var items = [!isPlaceholder && hasCallToAction && isMiddleLayout ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-top\"\n }) : null, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"quote\",\n placeholder: \"quote\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"CrzYgw\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Quote\"\n }]\n }),\n emptyClassName: styles.emptyQuote,\n isEmpty: !hasQuote\n }, hasQuote ? /*#__PURE__*/React.createElement(Quote, Object.assign({\n className: classNames([styles.quote, _defineProperty({}, styles.withMargin, quoteWithMargin)])\n }, quote)) : null), isSplitted && /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer\"\n }), /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"author\",\n placeholder: \"subtitle\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"xYqGzM\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Author\"\n }]\n }),\n emptyClassName: styles.emptyAuthor,\n isEmpty: !hasAuthor\n }, hasAuthor ? /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.author\n }, author)) : null), !isPlaceholder && hasCallToAction && (isTopLayout || isMiddleLayout) ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-bottom\"\n }) : null, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null].filter(function (el) {\n return el !== null;\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref3 = {}, _defineProperty(_ref3, className, className), _defineProperty(_ref3, styles.isPlaceholder, isPlaceholder), _ref3)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(TransitionsStagger, {\n transitions: transitions,\n stagger: transitionStagger,\n disabled: transitionDisabled,\n playing: transitionPlaying\n }, items))));\n};\n\nQuoteScreen.propTypes = propTypes;\nQuoteScreen.defaultProps = defaultProps;\nvar QuoteScreen$1 = /*#__PURE__*/React.memo(QuoteScreen);\n\nvar transform = function transform(newStory, _ref) {\n var quote = _ref.quote,\n author = _ref.author;\n\n var _Quote = Quote$1(newStory, quote),\n quoteStory = _Quote.story,\n quoteComponent = _Quote.component;\n\n var _Author = Author(quoteStory, author),\n authorStory = _Author.story,\n authorComponent = _Author.component;\n\n var _Container = Container$1(authorStory, [].concat(_toConsumableArray(quoteComponent ? [quoteComponent] : []), _toConsumableArray(authorComponent ? [authorComponent] : []))),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = {\n id: 'quote',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"fIawTr\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n order: 2\n },\n title: defineMessage({\n \"id\": \"3q9GPv\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Quote\"\n }]\n }),\n component: QuoteScreen$1,\n layouts: ['top', 'middle', 'bottom', 'split'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'quote',\n type: 'heading-element',\n fieldType: 'multi',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n \"id\": \"88/Ge8\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Quote\"\n }]\n })\n }, {\n name: 'author',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"73hxYw\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Author\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { QuoteScreen$1 as QuoteScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport React, { useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { Transitions, ScreenElement } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout from '@micromag/element-layout';\nimport Text from '@micromag/element-text';\nimport Heading from '@micromag/element-heading';\nimport Scroll from '@micromag/element-scroll';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport { Text as Text$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-ranking-container\",\"empty\":\"micromag-screen-ranking-empty\",\"item\":\"micromag-screen-ranking-item\",\"rankText\":\"micromag-screen-ranking-rankText\",\"description\":\"micromag-screen-ranking-description\",\"title\":\"micromag-screen-ranking-title\",\"callToAction\":\"micromag-screen-ranking-callToAction\",\"sideLayout\":\"micromag-screen-ranking-sideLayout\",\"layout\":\"micromag-screen-ranking-layout\",\"content\":\"micromag-screen-ranking-content\",\"rank\":\"micromag-screen-ranking-rank\",\"isPlaceholder\":\"micromag-screen-ranking-isPlaceholder\",\"scroll\":\"micromag-screen-ranking-scroll\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['side', 'over']),\n items: PropTypes.arrayOf(PropTypes$1.textElement),\n numbersStyle: PropTypes$1.textStyle,\n ascending: PropTypes.bool,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'side',\n items: [null],\n numbersStyle: null,\n ascending: false,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n transitionStagger: 75,\n type: null,\n className: null\n};\n\nvar RankingScreen = function RankingScreen(_ref) {\n var _ref5;\n\n var layout = _ref.layout,\n items = _ref.items,\n numbersStyle = _ref.numbersStyle,\n ascending = _ref.ascending,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n type = _ref.type,\n className = _ref.className;\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var finalItems = isPlaceholder ? _toConsumableArray(new Array(10)).map(function () {\n return {};\n }) : items || [null];\n var itemsCount = finalItems !== null ? finalItems.length : 0;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current;\n var backgroundPlaying = current && (isView || isEdit);\n var elements = (finalItems || []).map(function (item, itemI) {\n var _ref2 = item || {},\n _ref2$title = _ref2.title,\n title = _ref2$title === void 0 ? null : _ref2$title,\n _ref2$description = _ref2.description,\n description = _ref2$description === void 0 ? null : _ref2$description;\n\n var hasTitle = isTextFilled(title);\n var hasDescription = isTextFilled(description);\n var titleElement = /*#__PURE__*/React.createElement(\"div\", {\n className: styles.title\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasTitle\n }, hasTitle ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger * itemI,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Heading, title)) : null));\n var descriptionElement = /*#__PURE__*/React.createElement(\"div\", {\n className: styles.description\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"text\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"507VAi\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasDescription\n }, hasDescription ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger * itemI,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Text, description)) : null));\n var rankText = \"\".concat(ascending ? itemI + 1 : itemsCount - itemI);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.item,\n key: \"item-\".concat(itemI)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.rank\n }, isPlaceholder ? rankText : /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: transitionStagger * itemI,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Text, {\n className: styles.rankText,\n body: rankText,\n textStyle: numbersStyle\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content\n }, titleElement, descriptionElement));\n }); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n scrolledBottom = _useState2[0],\n setScrolledBottom = _useState2[1];\n\n var _useResizeObserver = useResizeObserver(),\n callToActionRef = _useResizeObserver.ref,\n callToActionRect = _useResizeObserver.entry.contentRect;\n\n var _ref3 = callToActionRect || {},\n _ref3$height = _ref3.height,\n callToActionHeight = _ref3$height === void 0 ? 0 : _ref3$height;\n\n if (hasCallToAction) {\n elements.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"call-to-action-spacer\",\n style: {\n height: callToActionHeight\n }\n }));\n }\n\n var onScrolledBottom = useCallback(function (_ref4) {\n var initial = _ref4.initial;\n\n if (initial) {\n trackScreenEvent('scroll', 'Screen');\n }\n\n setScrolledBottom(true);\n }, [trackScreenEvent]);\n var onScrolledNotBottom = useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref5 = {}, _defineProperty(_ref5, className, className !== null), _defineProperty(_ref5, styles[\"\".concat(layout, \"Layout\")], layout !== null), _defineProperty(_ref5, styles.isPlaceholder, isPlaceholder), _ref5)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Scroll, {\n className: styles.scroll,\n verticalAlign: \"middle\",\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, elements)), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n disabled: !scrolledBottom,\n animationDisabled: isPreview,\n callToAction: callToAction,\n focusable: current && isView\n }) : null));\n};\n\nRankingScreen.propTypes = propTypes;\nRankingScreen.defaultProps = defaultProps;\n\nvar transform = function transform(newStory, _ref) {\n var _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items,\n _ref$ascending = _ref.ascending,\n ascending = _ref$ascending === void 0 ? false : _ref$ascending;\n var allItems = items || [];\n var ordered = ascending ? allItems.reverse() : allItems;\n var list = ordered.reduce(function (acc, it) {\n var _Text = Text$1(acc.story, it.title),\n titleStory = _Text.story,\n titleComponent = _Text.component;\n\n var _Text2 = Text$1(titleStory, it.description),\n descriptionStory = _Text2.story,\n descriptionComponent = _Text2.component;\n\n var _Container = Container$1(descriptionStory, [].concat(_toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(descriptionComponent ? [descriptionComponent] : []))),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return {\n story: containerStory,\n components: [].concat(_toConsumableArray(acc.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n };\n }, {\n story: newStory,\n components: []\n });\n\n var _ref2 = list || {},\n reducedStory = _ref2.story,\n _ref2$components = _ref2.components,\n reducedComponents = _ref2$components === void 0 ? [] : _ref2$components;\n\n var _Container2 = Container$1(reducedStory, reducedComponents),\n bigContainerStory = _Container2.story,\n bigContainerComponent = _Container2.component;\n\n return _objectSpread(_objectSpread({}, bigContainerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(bigContainerComponent ? [bigContainerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = {\n id: 'ranking',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"cGItoy\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"List\"\n }]\n }),\n order: 8\n },\n title: defineMessage({\n \"id\": \"17BMn2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Ranking\"\n }]\n }),\n component: RankingScreen,\n layouts: ['side', 'over'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'side',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'items',\n type: 'entries',\n theme: {\n title: {\n textStyle: 'heading2'\n },\n description: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n \"id\": \"sESmah\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Entries\"\n }]\n })\n }, {\n name: 'ascending',\n type: 'toggle',\n label: defineMessage({\n \"id\": \"9DhYaZ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Ascending\"\n }]\n })\n }, {\n name: 'numbersStyle',\n type: 'text-style',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n \"id\": \"UdrdRF\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Numbers style\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { RankingScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { Transitions, ScreenElement } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useResizeObserver } from '@micromag/core/hooks';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Text from '@micromag/element-text';\nimport Visual from '@micromag/element-visual';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback, useRef } from 'react';\n\nvar styles = {\"container\":\"micromag-screen-slideshow-container\",\"content\":\"micromag-screen-slideshow-content\",\"disabled\":\"micromag-screen-slideshow-disabled\",\"hidden\":\"micromag-screen-slideshow-hidden\",\"placeholder\":\"micromag-screen-slideshow-placeholder\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['top', 'middle', 'bottom']),\n slides: PropTypes.oneOfType([PropTypes$1.imageMedias, PropTypes$1.imageElements]),\n withCaptions: PropTypes.bool,\n spacing: PropTypes.number,\n captionMaxLines: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n // transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'middle',\n withCaptions: false,\n slides: [],\n spacing: 20,\n captionMaxLines: 2,\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n // transitionStagger: 50,\n className: null\n};\n\nfunction SlideshowScreen(_ref) {\n var _ref4;\n\n _ref.layout;\n var slides = _ref.slides,\n withCaptions = _ref.withCaptions,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n spacing = _ref.spacing,\n captionMaxLines = _ref.captionMaxLines,\n transitions = _ref.transitions,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var finalSpacing = isPlaceholder ? 5 : spacing;\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n imagesLoaded = _useState2[0],\n setImagesLoaded = _useState2[1];\n\n var ready = true;\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var onImageLoaded = useCallback(function () {\n setImagesLoaded(imagesLoaded + 1);\n }, [imagesLoaded, setImagesLoaded]);\n var imagesEl = useRef([]); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useResizeObserver = useResizeObserver(),\n callToActionRef = _useResizeObserver.ref,\n callToActionRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = callToActionRect || {},\n _ref2$height = _ref2.height,\n callToActionHeight = _ref2$height === void 0 ? 0 : _ref2$height; // console.log(transitionDisabled);\n\n\n var items = (slides || []).map(function (item, itemI) {\n var _ref3 = item || {},\n _ref3$visual = _ref3.visual,\n visual = _ref3$visual === void 0 ? null : _ref3$visual,\n _ref3$caption = _ref3.caption,\n caption = _ref3$caption === void 0 ? null : _ref3$caption;\n\n var imageSize = {\n width: width / 2,\n height: height / 2\n }; // const { caption = null } = finalImage || {};\n\n var hasImage = visual !== null;\n var hasCaption = isTextFilled(caption);\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"item-\".concat(itemI),\n className: styles.gridItem\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.imageContainer,\n ref: function ref(el) {\n imagesEl.current[itemI] = el;\n }\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n delay: 1,\n playing: transitionPlaying,\n disabled: transitionDisabled,\n fullscreen: true\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"image\",\n placeholderProps: {\n className: styles.placeholder,\n height: '100%'\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"ebsPd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n emptyClassName: styles.emptyImage,\n isEmpty: !hasImage\n }, /*#__PURE__*/React.createElement(Visual, Object.assign({\n className: styles.image,\n media: visual\n }, imageSize, {\n objectFit: {\n fit: 'cover'\n },\n playing: backgroundPlaying,\n onLoaded: onImageLoaded\n }))))), withCaptions ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n delay: 1,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"line\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"6tIigB\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Caption\"\n }]\n }),\n emptyClassName: styles.emptyCaption,\n isEmpty: !hasCaption\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.caption\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, caption, {\n className: styles.captionText,\n lineClamp: captionMaxLines\n }))))) : null);\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles.isPlaceholder, isPlaceholder), _ref4)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content,\n style: {\n paddingTop: menuOverScreen && !isPreview ? menuSize : null,\n paddingBottom: hasCallToAction ? callToActionHeight - finalSpacing : 0\n }\n }, items, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: -finalSpacing\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null)));\n}\n\nSlideshowScreen.propTypes = propTypes;\nSlideshowScreen.defaultProps = defaultProps;\nvar SlideshowScreen$1 = /*#__PURE__*/React.memo(SlideshowScreen);\n\nvar definition = [{\n id: 'slideshow',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"6mX2ya\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n }),\n order: 7\n },\n title: defineMessage({\n \"id\": \"MhGUaY\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Slideshow\"\n }]\n }),\n component: SlideshowScreen$1,\n layouts: ['top', 'middle', 'bottom'],\n // transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'two-vertical-equal',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'slides',\n type: 'visuals-with-caption',\n label: defineMessage({\n \"id\": \"muYwrB\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Images\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { SlideshowScreen$1 as SlideshowScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent } from '@micromag/core/hooks';\nimport { isTextFilled, getLargestRemainderRound, getStyleFromButton, getStyleFromColor } from '@micromag/core/utils';\nimport { useQuizCreate, useQuiz } from '@micromag/data';\nimport Background from '@micromag/element-background';\nimport Button from '@micromag/element-button';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Text from '@micromag/element-text';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useMemo, useCallback, useEffect, useRef } from 'react';\n\nvar styles = {\"container\":\"micromag-screen-survey-container\",\"disabled\":\"micromag-screen-survey-disabled\",\"hidden\":\"micromag-screen-survey-hidden\",\"placeholder\":\"micromag-screen-survey-placeholder\",\"content\":\"micromag-screen-survey-content\",\"emptyAnswer\":\"micromag-screen-survey-emptyAnswer\",\"emptyQuestion\":\"micromag-screen-survey-emptyQuestion\",\"question\":\"micromag-screen-survey-question\",\"answers\":\"micromag-screen-survey-answers\",\"items\":\"micromag-screen-survey-items\",\"item\":\"micromag-screen-survey-item\",\"placeholderAnswer\":\"micromag-screen-survey-placeholderAnswer\",\"itemContent\":\"micromag-screen-survey-itemContent\",\"resultContainer\":\"micromag-screen-survey-resultContainer\",\"resultContent\":\"micromag-screen-survey-resultContent\",\"result\":\"micromag-screen-survey-result\",\"resultLabel\":\"micromag-screen-survey-resultLabel\",\"itemInner\":\"micromag-screen-survey-itemInner\",\"button\":\"micromag-screen-survey-button\",\"itemLabel\":\"micromag-screen-survey-itemLabel\",\"answered\":\"micromag-screen-survey-answered\",\"userAnswer\":\"micromag-screen-survey-userAnswer\",\"isPlaceholder\":\"micromag-screen-survey-isPlaceholder\",\"layout\":\"micromag-screen-survey-layout\"};\n\nvar propTypes = {\n id: PropTypes.string,\n layout: PropTypes.oneOf(['top', 'middle', 'bottom', 'split']),\n question: PropTypes$1.textElement,\n answers: PropTypes$1.answers,\n buttonsStyle: PropTypes$1.buttonStyle,\n resultsStyle: PropTypes.shape({\n barColor: PropTypes$1.color,\n textColor: PropTypes$1.color\n }),\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n withPercentLabels: PropTypes.bool,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n resultTransitionDuration: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n id: null,\n layout: 'middle',\n question: null,\n answers: null,\n buttonsStyle: null,\n resultsStyle: null,\n spacing: 20,\n background: null,\n callToAction: null,\n withPercentLabels: true,\n current: true,\n transitions: null,\n transitionStagger: 100,\n resultTransitionDuration: 500,\n type: null,\n className: null\n};\n\nvar SurveyScreen = function SurveyScreen(_ref) {\n var _ref14;\n\n var id = _ref.id,\n layout = _ref.layout,\n question = _ref.question,\n answers = _ref.answers,\n buttonsStyle = _ref.buttonsStyle,\n resultsStyle = _ref.resultsStyle,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n withPercentLabels = _ref.withPercentLabels,\n current = _ref.current,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n resultTransitionDuration = _ref.resultTransitionDuration,\n type = _ref.type,\n className = _ref.className;\n var screenId = id || 'screen-id';\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useQuizCreate = useQuizCreate({\n screenId: screenId\n }),\n submitQuiz = _useQuizCreate.create;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useQuiz = useQuiz({\n screenId: screenId,\n opts: {\n autoload: !isPlaceholder\n }\n }),\n _useQuiz$quiz = _useQuiz.quiz,\n quizAnswers = _useQuiz$quiz === void 0 ? [] : _useQuiz$quiz;\n\n var hasQuestion = isTextFilled(question);\n var showInstantAnswer = isStatic || isCapture;\n\n var _useState = useState(showInstantAnswer ? -1 : null),\n _useState2 = _slicedToArray(_useState, 2),\n userAnswerIndex = _useState2[0],\n setUserAnswerIndex = _useState2[1];\n\n var answered = userAnswerIndex !== null;\n var quizAnswersComputed = useMemo(function () {\n var total = answers !== null ? (quizAnswers || []).reduce(function (points, _ref2) {\n var _ref2$count = _ref2.count,\n count = _ref2$count === void 0 ? 0 : _ref2$count;\n return points + parseInt(count, 10);\n }, userAnswerIndex !== null && userAnswerIndex > -1 ? 1 : 0) : 0;\n var computed = answers !== null ? (answers || []).reduce(function (answersTotal, ans, i) {\n var _ref3 = ans || {},\n _ref3$label = _ref3.label,\n label = _ref3$label === void 0 ? {} : _ref3$label;\n\n var _ref4 = label || {},\n _ref4$body = _ref4.body,\n body = _ref4$body === void 0 ? null : _ref4$body;\n\n var _ref5 = quizAnswers.find(function (qa) {\n return qa.choice === body;\n }) || {},\n _ref5$count = _ref5.count,\n count = _ref5$count === void 0 ? 0 : _ref5$count;\n\n var countWithUser = i === userAnswerIndex ? count + 1 : count;\n\n if (body !== null) {\n return _objectSpread(_objectSpread({}, answersTotal), {}, _defineProperty({}, body, {\n percent: total > 0 ? countWithUser / total * 100 : 0,\n count: countWithUser\n }));\n }\n\n return answersTotal;\n }, {}) : {};\n var quizAnswersPct = total > 0 ? Object.keys(computed).map(function (key) {\n return computed[key].percent || 0;\n }) : [];\n var evenlySplit = getLargestRemainderRound(quizAnswersPct, 100);\n return Object.keys(computed).reduce(function (acc, key, i) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, _objectSpread(_objectSpread({}, computed[key]), {}, {\n percent: evenlySplit[i]\n })));\n }, {});\n }, [answers, quizAnswers, userAnswerIndex]);\n var isSplitted = layout === 'split';\n var isTopLayout = layout === 'top';\n var isMiddleLayout = layout === 'middle';\n var verticalAlign = isSplitted ? null : layout;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit);\n var onAnswerClick = useCallback(function (answerIndex) {\n if (userAnswerIndex === null) {\n setUserAnswerIndex(answerIndex);\n var answer = answers[answerIndex];\n submitQuiz({\n choice: answer.label.body || answerIndex,\n value: 1\n });\n trackScreenEvent('click_answer', \"Answer \".concat(userAnswerIndex + 1, \": \").concat(answer.label.body), {\n answer: answer,\n answerIndex: answerIndex\n });\n }\n }, [userAnswerIndex, setUserAnswerIndex, trackScreenEvent, submitQuiz]);\n useEffect(function () {\n if (!current && isEdit && userAnswerIndex !== null) {\n setUserAnswerIndex(null);\n }\n }, [isEdit, current, userAnswerIndex, setUserAnswerIndex]); // Question\n\n var items = [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"question\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"e1I+KU\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Question\"\n }]\n }),\n emptyClassName: styles.emptyQuestion,\n isEmpty: !hasQuestion\n }, hasQuestion ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(Heading, Object.assign({}, question, {\n className: styles.question\n }))) : null)];\n\n if (isSplitted || !isPlaceholder && hasCallToAction && isMiddleLayout) {\n items.push( /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer\"\n }));\n } // Answer\n\n\n var buttonsRefs = useRef([]);\n var labelsRefs = useRef([]);\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n buttonMaxWidth = _useState4[0],\n setButtonMaxWidth = _useState4[1];\n\n var finalTransitionDuration = showInstantAnswer ? 0 : \"\".concat(resultTransitionDuration, \"ms\");\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n ready = _useState6[0],\n setReady = _useState6[1];\n\n useEffect(function () {\n if (answers === null || isPlaceholder) {\n return;\n }\n\n var maxWidth = answers.reduce(function (currentMaxWidth, answer, answerI) {\n var button = buttonsRefs.current[answerI] || null;\n var label = labelsRefs.current[answerI] || null;\n\n if (button !== null && label !== null) {\n var borderWidth = button.offsetWidth - button.clientWidth;\n var totalWidth = borderWidth + label.getBoundingClientRect().width + 20;\n return Math.max(currentMaxWidth, totalWidth);\n }\n\n return currentMaxWidth;\n }, 0);\n setButtonMaxWidth(Math.min(width * 0.75, Math.max(width * 0.2, maxWidth)));\n setReady(true);\n }, [answers, width, height, setButtonMaxWidth, finalTransitionDuration, isPlaceholder]);\n\n var _ref6 = resultsStyle || {},\n _ref6$barColor = _ref6.barColor,\n resultsBarColor = _ref6$barColor === void 0 ? null : _ref6$barColor,\n _ref6$textColor = _ref6.textColor,\n resultsTextColor = _ref6$textColor === void 0 ? null : _ref6$textColor;\n\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n key: \"answers\",\n className: styles.answers\n }, answers !== null || isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.items\n }, (isPlaceholder ? _toConsumableArray(new Array(3)) : answers).map(function (answer, answerIndex) {\n var hasAnswer = answer !== null;\n\n var _ref7 = answer || {},\n _ref7$label = _ref7.label,\n label = _ref7$label === void 0 ? null : _ref7$label,\n _ref7$buttonStyle = _ref7.buttonStyle,\n answerButtonStyle = _ref7$buttonStyle === void 0 ? null : _ref7$buttonStyle,\n _ref7$resultStyle = _ref7.resultStyle,\n answerResultStyle = _ref7$resultStyle === void 0 ? null : _ref7$resultStyle;\n\n var _ref8 = answerResultStyle || {},\n _ref8$barColor = _ref8.barColor,\n answerResultBarColor = _ref8$barColor === void 0 ? null : _ref8$barColor,\n answerResultTextColor = _ref8.textColor;\n\n var _ref9 = label || {},\n _ref9$body = _ref9.body,\n body = _ref9$body === void 0 ? null : _ref9$body;\n\n var _ref10 = body !== null ? quizAnswersComputed[body] || {} : {},\n _ref10$percent = _ref10.percent,\n percent = _ref10$percent === void 0 ? 0 : _ref10$percent;\n\n var _ref11 = label || {},\n _ref11$textStyle = _ref11.textStyle,\n textStyle = _ref11$textStyle === void 0 ? null : _ref11$textStyle;\n\n var _ref12 = textStyle || {},\n _ref12$color = _ref12.color,\n labelColor = _ref12$color === void 0 ? null : _ref12$color;\n\n var hasAnswerLabel = isTextFilled(label);\n var userAnswer = userAnswerIndex === answerIndex;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"answer-\".concat(answerIndex),\n className: classNames([styles.item, _defineProperty({}, styles.userAnswer, userAnswer)])\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"surveyAnswer\",\n placeholderProps: {\n className: styles.placeholderAnswer\n },\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"+Ok+7S\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Answer\"\n }]\n }),\n emptyClassName: styles.emptyAnswer,\n isEmpty: !hasAnswerLabel\n }, hasAnswer ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n delay: (answerIndex + 1) * transitionStagger,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.itemContent\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.itemInner,\n style: {\n width: answered ? buttonMaxWidth : null,\n transitionDuration: finalTransitionDuration\n }\n }, /*#__PURE__*/React.createElement(Button, {\n className: styles.button,\n onClick: function onClick() {\n return onAnswerClick(answerIndex);\n },\n refButton: function refButton(el) {\n buttonsRefs.current[answerIndex] = el;\n },\n disabled: isPreview,\n focusable: current && isView,\n buttonStyle: !answered ? _objectSpread(_objectSpread({}, getStyleFromButton(buttonsStyle)), getStyleFromButton(answerButtonStyle)) : null\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: styles.itemLabel,\n ref: function ref(el) {\n labelsRefs.current[answerIndex] = el;\n }\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, label, {\n textStyle: textStyle,\n inline: true,\n className: styles.itemText\n }))))), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.resultContainer,\n style: {\n transitionDuration: finalTransitionDuration\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.resultContent,\n style: {\n transitionDelay: finalTransitionDuration,\n transitionDuration: finalTransitionDuration\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.result,\n style: _objectSpread({\n width: \"\".concat(percent, \"%\")\n }, getStyleFromColor(answered ? answerResultBarColor || resultsBarColor || labelColor : null, 'backgroundColor'))\n }, withPercentLabels ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.resultLabel,\n style: _objectSpread({}, getStyleFromColor(answered ? answerResultTextColor || resultsTextColor || answerResultBarColor || resultsBarColor || labelColor : null, 'color'))\n }, \"\".concat(percent, \"%\")) : null))))) : null));\n })) : null)); // Call to Action\n\n if (!isPlaceholder && hasCallToAction) {\n if (isTopLayout || isMiddleLayout) {\n items.push( /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-bottom\"\n }));\n }\n\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n disabled: !answered,\n animationDisabled: isPreview,\n focusable: current && isView\n })));\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref14 = {}, _defineProperty(_ref14, className, className !== null), _defineProperty(_ref14, styles.answered, answered), _defineProperty(_ref14, styles.isPlaceholder, isPlaceholder), _ref14)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, items)));\n};\n\nSurveyScreen.propTypes = propTypes;\nSurveyScreen.defaultProps = defaultProps;\n\nvar definition = {\n id: 'survey',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"ZqwBOx\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Questions\"\n }]\n }),\n order: 7\n },\n title: defineMessage({\n \"id\": \"650XRF\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Survey\"\n }]\n }),\n component: SurveyScreen,\n layouts: ['top', 'middle', 'bottom', 'split'],\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'question',\n type: 'heading-element',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n \"id\": \"hVE7TA\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Question\"\n }]\n })\n }, {\n name: 'answers',\n type: 'answers',\n theme: {\n label: {\n textStyle: 'button'\n }\n },\n label: defineMessage({\n \"id\": \"KHWeV7\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Answers\"\n }]\n })\n }, {\n type: 'fields',\n isList: true,\n label: defineMessage({\n \"id\": \"R9DB4a\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Styles\"\n }]\n }),\n fields: [{\n name: 'buttonsStyle',\n type: 'field-with-form',\n label: defineMessage({\n \"id\": \"l5uLMd\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Buttons\"\n }]\n }),\n noValueLabel: defineMessage({\n \"id\": \"65rc70\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Edit style...\"\n }]\n }),\n field: {\n type: 'button-style'\n }\n }, {\n name: 'resultsStyle',\n type: 'field-with-form',\n label: defineMessage({\n \"id\": \"e4UTx9\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Results\"\n }]\n }),\n noValueLabel: defineMessage({\n \"id\": \"65rc70\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Edit style...\"\n }]\n }),\n field: {\n type: 'graph-bar-style'\n }\n }]\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { SurveyScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Heading from '@micromag/element-heading';\nimport Text from '@micromag/element-text';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Heading1, Text as Text$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-text-container\",\"disabled\":\"micromag-screen-text-disabled\",\"hidden\":\"micromag-screen-text-hidden\",\"placeholder\":\"micromag-screen-text-placeholder\",\"content\":\"micromag-screen-text-content\",\"emptyText\":\"micromag-screen-text-emptyText\",\"emptyTitle\":\"micromag-screen-text-emptyTitle\",\"title\":\"micromag-screen-text-title\",\"withMargin\":\"micromag-screen-text-withMargin\",\"isPlaceholder\":\"micromag-screen-text-isPlaceholder\",\"layout\":\"micromag-screen-text-layout\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['top', 'middle', 'bottom', 'split']),\n text: PropTypes$1.textElement,\n title: PropTypes$1.headingElement,\n withTitle: PropTypes.bool,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'top',\n text: null,\n title: null,\n withTitle: false,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n transitionStagger: 100,\n className: null\n};\n\nvar TextScreen = function TextScreen(_ref) {\n var _ref3;\n\n var layout = _ref.layout,\n text = _ref.text,\n title = _ref.title,\n withTitle = _ref.withTitle,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var hasTitle = isTextFilled(title);\n var hasText = isTextFilled(text);\n var isSplitted = layout === 'split';\n var isTopLayout = layout === 'top';\n var isMiddleLayout = layout === 'middle';\n var verticalAlign = isSplitted ? null : layout;\n var titleWithMargin = hasTitle && hasText && !isSplitted;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit);\n var hasCallToAction = callToAction !== null && callToAction.active === true; // Create elements\n\n var items = [!isPlaceholder && hasCallToAction && isMiddleLayout ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-top\"\n }) : null, withTitle ? /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasTitle\n }, hasTitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: classNames([styles.title, _defineProperty({}, styles.withMargin, titleWithMargin)])\n }, title)) : null) : null, isSplitted && withTitle ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer\"\n }) : null, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"description\",\n placeholder: \"text\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"z4CiV1\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n emptyClassName: styles.emptyText,\n isEmpty: !hasText\n }, hasText ? /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.text\n }, text)) : null), !isPlaceholder && hasCallToAction && (isTopLayout || isMiddleLayout) ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-bottom\"\n }) : null, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null].filter(function (el) {\n return el !== null;\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref3 = {}, _defineProperty(_ref3, className, className !== null), _defineProperty(_ref3, styles.isPlaceholder, isPlaceholder), _ref3)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(TransitionsStagger, {\n transitions: transitions,\n stagger: transitionStagger,\n disabled: transitionDisabled,\n playing: transitionPlaying\n }, items))));\n};\n\nTextScreen.propTypes = propTypes;\nTextScreen.defaultProps = defaultProps;\nvar TextScreen$1 = /*#__PURE__*/React.memo(TextScreen);\n\nvar TextTitleScreen = function TextTitleScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(TextScreen$1, Object.assign({}, props, {\n withTitle: true\n }));\n};\n\nvar transform = function transform(newStory, _ref) {\n var text = _ref.text,\n title = _ref.title;\n\n var _Heading = Heading1(newStory, title),\n titleStory = _Heading.story,\n titleComponent = _Heading.component;\n\n var _Text = Text$1(titleStory, text),\n textStory = _Text.story,\n textComponent = _Text.component;\n\n var _Container = Container$1(textStory, [].concat(_toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(textComponent ? [textComponent] : []))),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'text',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"fIawTr\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n order: 2\n },\n title: defineMessage({\n \"id\": \"S9YpbV\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n component: TextScreen$1,\n layouts: ['top', 'middle', 'bottom'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'text',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"4E2gbX\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'text-title',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"fIawTr\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n }),\n order: 2\n },\n title: defineMessage({\n \"id\": \"oCBQKV\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text with title\"\n }]\n }),\n component: TextTitleScreen,\n layouts: ['top', 'middle', 'bottom', 'split'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n inline: true,\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n \"id\": \"N25iDO\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'text',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"4E2gbX\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { TextScreen$1 as TextScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport React, { useState, useCallback, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { Transitions, ScreenElement } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { isTextFilled, getStyleFromColor } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout from '@micromag/element-layout';\nimport Text from '@micromag/element-text';\nimport Visual from '@micromag/element-visual';\nimport Heading from '@micromag/element-heading';\nimport Scroll from '@micromag/element-scroll';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _extends from '@babel/runtime/helpers/extends';\nimport { Text as Text$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-timeline-container\",\"empty\":\"micromag-screen-timeline-empty\",\"item\":\"micromag-screen-timeline-item\",\"element\":\"micromag-screen-timeline-element\",\"timeline\":\"micromag-screen-timeline-timeline\",\"line\":\"micromag-screen-timeline-line\",\"hidden\":\"micromag-screen-timeline-hidden\",\"bullet\":\"micromag-screen-timeline-bullet\",\"content\":\"micromag-screen-timeline-content\",\"lastContent\":\"micromag-screen-timeline-lastContent\",\"description\":\"micromag-screen-timeline-description\",\"imageContainer\":\"micromag-screen-timeline-imageContainer\",\"title\":\"micromag-screen-timeline-title\",\"image\":\"micromag-screen-timeline-image\",\"video\":\"micromag-screen-timeline-video\",\"callToAction\":\"micromag-screen-timeline-callToAction\",\"isPlaceholder\":\"micromag-screen-timeline-isPlaceholder\",\"scroll\":\"micromag-screen-timeline-scroll\",\"circleBulletShape\":\"micromag-screen-timeline-circleBulletShape\",\"withoutLines\":\"micromag-screen-timeline-withoutLines\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['normal', 'title-description-image', 'title-image-description', 'image-title-description']),\n items: PropTypes.arrayOf(PropTypes$1.textElement),\n bulletColor: PropTypes$1.color,\n lineColor: PropTypes$1.color,\n bulletShape: PropTypes.oneOf(['circle', 'square']),\n bulletFilled: PropTypes.bool,\n illustrated: PropTypes.bool,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n type: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'normal',\n items: [null],\n bulletColor: null,\n lineColor: null,\n bulletShape: 'circle',\n bulletFilled: true,\n illustrated: false,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n transitionStagger: 75,\n type: null,\n className: null\n};\n\nvar Timeline = function Timeline(_ref) {\n var _ref9;\n\n var layout = _ref.layout,\n items = _ref.items,\n bulletColor = _ref.bulletColor,\n lineColor = _ref.lineColor,\n bulletShape = _ref.bulletShape,\n bulletFilled = _ref.bulletFilled,\n illustrated = _ref.illustrated,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n type = _ref.type,\n className = _ref.className;\n var trackScreenEvent = useTrackScreenEvent(type);\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var finalItems = isPlaceholder ? _toConsumableArray(new Array(5)).map(function () {\n return {};\n }) : items || [null];\n var itemsCount = finalItems !== null ? finalItems.length : 0;\n var hasItems = finalItems !== null && itemsCount;\n var imagesCount = hasItems ? finalItems.reduce(function (acc, curr) {\n var _ref2 = curr || {},\n _ref2$image = _ref2.image,\n image = _ref2$image === void 0 ? null : _ref2$image;\n\n return acc + (image !== null ? 1 : 0);\n }, 0) : 0;\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n imagesLoaded = _useState2[0],\n setImagesLoaded = _useState2[1];\n\n var ready = imagesLoaded >= imagesCount;\n var transitionsPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var scrollingDisabled = !isEdit && transitionDisabled || !current;\n var backgroundPlaying = current && (isView || isEdit);\n var onImageLoaded = useCallback(function () {\n setImagesLoaded(imagesLoaded + 1);\n }, [imagesLoaded, setImagesLoaded]);\n var firstLineRef = useRef(null);\n var firstContentRef = useRef(null);\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n imageWidth = _useState4[0],\n setImageWidth = _useState4[1];\n\n useEffect(function () {\n setImageWidth(firstContentRef.current.offsetWidth - firstLineRef.current.offsetWidth);\n }, [width, height]);\n var timelineElements = (finalItems || []).map(function (item, itemI) {\n var _ref3 = item || {},\n _ref3$title = _ref3.title,\n title = _ref3$title === void 0 ? null : _ref3$title,\n _ref3$description = _ref3.description,\n description = _ref3$description === void 0 ? null : _ref3$description,\n _ref3$image = _ref3.image,\n image = _ref3$image === void 0 ? null : _ref3$image;\n\n var hasTitle = isTextFilled(title);\n var hasDescription = isTextFilled(description);\n var hasImage = image !== null;\n var elementsTypes = (layout === 'normal' ? 'title-description-image' : layout).split('-');\n var titleIndex = elementsTypes.indexOf('title');\n var imageIndex = elementsTypes.indexOf('image');\n\n if (!illustrated) {\n elementsTypes.splice(imageIndex, 1);\n }\n\n var typesCount = elementsTypes.length;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: styles.item,\n key: \"item-\".concat(itemI)\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionsPlaying,\n delay: transitionStagger * itemI,\n disabled: transitionDisabled\n }, elementsTypes.map(function (elementType, typeI) {\n var hasElement = false;\n var elementContent;\n\n switch (elementType) {\n case 'title':\n hasElement = hasTitle;\n elementContent = /*#__PURE__*/React.createElement(\"div\", {\n className: styles.title\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasTitle\n }, hasElement ? /*#__PURE__*/React.createElement(Heading, title) : null));\n break;\n\n case 'description':\n default:\n hasElement = hasDescription;\n elementContent = /*#__PURE__*/React.createElement(\"div\", {\n className: styles.description\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"text\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"507VAi\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasDescription\n }, hasElement ? /*#__PURE__*/React.createElement(Text, description) : null));\n break;\n\n case 'image':\n hasElement = hasImage;\n elementContent = /*#__PURE__*/React.createElement(\"div\", {\n className: styles.imageContainer\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n placeholder: \"image\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"ebsPd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n emptyClassName: styles.empty,\n isEmpty: !hasImage\n }, hasElement ? /*#__PURE__*/React.createElement(Visual, {\n className: styles.image,\n videoClassName: styles.video,\n media: image,\n width: imageWidth,\n playing: backgroundPlaying,\n onLoaded: onImageLoaded\n }) : null));\n break;\n }\n\n var firstItem = itemI === 0;\n var lastItem = itemI === itemsCount - 1;\n var lastType = typeI === typesCount - 1;\n var topLineHidden = firstItem && typeI <= titleIndex || lastItem && typeI > titleIndex;\n var bottomLineHidden = firstItem && typeI < titleIndex || lastItem && typeI >= titleIndex;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"element-\".concat(elementType),\n className: classNames([styles.element, styles[\"element-\".concat(elementType)]]),\n ref: itemI === 0 ? firstContentRef : null\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.timeline,\n ref: itemI === 0 ? firstLineRef : null\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.line, _defineProperty({}, styles.hidden, topLineHidden)]),\n style: _objectSpread({}, !topLineHidden ? getStyleFromColor(lineColor, 'backgroundColor') : null)\n }), elementType === 'title' ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.bullet,\n style: _objectSpread(_objectSpread({}, getStyleFromColor(bulletColor, 'borderColor')), bulletFilled ? getStyleFromColor(bulletColor, 'backgroundColor') : null)\n }) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.line, _defineProperty({}, styles.hidden, bottomLineHidden)]),\n style: _objectSpread({}, !bottomLineHidden ? getStyleFromColor(lineColor, 'backgroundColor') : null)\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.content, _defineProperty({}, styles.lastContent, lastType && !lastItem)])\n }, elementContent));\n })));\n }); // Call to Action\n\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n scrolledBottom = _useState6[0],\n setScrolledBottom = _useState6[1];\n\n var _useResizeObserver = useResizeObserver(),\n callToActionRef = _useResizeObserver.ref,\n callToActionRect = _useResizeObserver.entry.contentRect;\n\n var _ref7 = callToActionRect || {},\n _ref7$height = _ref7.height,\n callToActionHeight = _ref7$height === void 0 ? 0 : _ref7$height;\n\n var onScrolledBottom = useCallback(function (_ref8) {\n var initial = _ref8.initial;\n\n if (initial) {\n trackScreenEvent('scroll', 'Screen');\n }\n\n setScrolledBottom(true);\n }, [trackScreenEvent]);\n var onScrolledNotBottom = useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref9 = {}, _defineProperty(_ref9, className, className !== null), _defineProperty(_ref9, styles.isPlaceholder, isPlaceholder), _defineProperty(_ref9, styles[\"\".concat(bulletShape, \"BulletShape\")], bulletShape !== null), _defineProperty(_ref9, styles.withoutLines, itemsCount < 2), _ref9)]),\n \"data-screen-ready\": ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Scroll, {\n className: styles.scroll,\n verticalAlign: \"middle\",\n disabled: scrollingDisabled,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, /*#__PURE__*/React.createElement(Layout, {\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, timelineElements, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: callToActionHeight\n }\n }) : null)), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles.callToAction,\n disabled: !scrolledBottom,\n animationDisabled: isPreview,\n callToAction: callToAction,\n focusable: current && isView\n }) : null));\n};\n\nTimeline.propTypes = propTypes;\nTimeline.defaultProps = defaultProps;\n\nvar TimelineIllustratedScreen = function TimelineIllustratedScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(Timeline, Object.assign({}, props, {\n illustrated: true\n }));\n};\n\nvar transform = function transform(newStory, _ref) {\n var _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items;\n var allItems = items || [];\n var list = allItems.reduce(function (acc, it) {\n var _Text = Text$1(acc.story, it.title),\n titleStory = _Text.story,\n titleComponent = _Text.component;\n\n var _Text2 = Text$1(titleStory, it.description),\n descriptionStory = _Text2.story,\n descriptionComponent = _Text2.component;\n\n var _Container = Container$1(descriptionStory, [].concat(_toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(descriptionComponent ? [descriptionComponent] : []))),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return {\n story: containerStory,\n components: [].concat(_toConsumableArray(acc.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n };\n }, {\n story: newStory,\n components: []\n });\n\n var _ref2 = list || {},\n reducedStory = _ref2.story,\n _ref2$components = _ref2.components,\n reducedComponents = _ref2$components === void 0 ? [] : _ref2$components;\n\n var _Container2 = Container$1(reducedStory, reducedComponents),\n bigContainerStory = _Container2.story,\n bigContainerComponent = _Container2.component;\n\n return _objectSpread(_objectSpread({}, bigContainerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(bigContainerComponent ? [bigContainerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'timeline',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"cGItoy\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"List\"\n }]\n }),\n order: 8\n },\n title: defineMessage({\n \"id\": \"GzoKNb\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Timeline\"\n }]\n }),\n component: Timeline,\n layouts: ['normal'],\n transforms: transforms,\n fields: [{\n name: 'items',\n type: 'entries',\n theme: {\n title: {\n textStyle: 'heading2'\n },\n description: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n \"id\": \"3ifj0j\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Entries\"\n }]\n })\n }, {\n name: 'bulletShape',\n type: 'radios',\n defaultValue: 'circle',\n options: [{\n value: 'circle',\n label: defineMessage({\n \"id\": \"+uInZz\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Circle\"\n }]\n })\n }, {\n value: 'square',\n label: defineMessage({\n \"id\": \"fusnxf\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Square\"\n }]\n })\n }],\n label: defineMessage({\n \"id\": \"twTaAZ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Bullet shape\"\n }]\n })\n }, {\n name: 'bulletFilled',\n type: 'toggle',\n defaultValue: false,\n label: defineMessage({\n \"id\": \"YWcp4v\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Bullet filled\"\n }]\n })\n }, {\n name: 'bulletColor',\n type: 'color',\n defaultValue: {\n alpha: 1,\n color: '#FFFFFF'\n },\n label: defineMessage({\n \"id\": \"uNpHnA\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Bullet color\"\n }]\n })\n }, {\n name: 'lineColor',\n type: 'color',\n defaultValue: {\n alpha: 1,\n color: '#FFFFFF'\n },\n label: defineMessage({\n \"id\": \"RHMS2f\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Line color\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'timeline-illustrated',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"cGItoy\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"List\"\n }]\n }),\n order: 8\n },\n title: defineMessage({\n \"id\": \"33UbSd\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Timeline with images\"\n }]\n }),\n component: TimelineIllustratedScreen,\n layouts: ['title-image-description', 'title-description-image', 'image-title-description'],\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'title-image-description',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'items',\n type: 'entries-with-visual',\n theme: {\n title: {\n textStyle: 'heading2'\n },\n description: {\n textStyle: 'text'\n }\n },\n label: defineMessage({\n \"id\": \"3ifj0j\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Entries\"\n }]\n })\n }, {\n name: 'bulletShape',\n type: 'radios',\n defaultValue: 'circle',\n options: [{\n value: 'circle',\n label: defineMessage({\n \"id\": \"+uInZz\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Circle\"\n }]\n })\n }, {\n value: 'square',\n label: defineMessage({\n \"id\": \"fusnxf\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Square\"\n }]\n })\n }],\n label: defineMessage({\n \"id\": \"twTaAZ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Bullet shape\"\n }]\n })\n }, {\n name: 'bulletFilled',\n type: 'toggle',\n defaultValue: false,\n label: defineMessage({\n \"id\": \"YWcp4v\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Bullet filled\"\n }]\n })\n }, {\n name: 'bulletColor',\n type: 'color',\n defaultValue: {\n alpha: 1,\n color: '#FFFFFF'\n },\n label: defineMessage({\n \"id\": \"uNpHnA\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Bullet color\"\n }]\n })\n }, {\n name: 'lineColor',\n type: 'color',\n defaultValue: {\n alpha: 1,\n color: '#FFFFFF'\n },\n label: defineMessage({\n \"id\": \"RHMS2f\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Line color\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { TimelineIllustratedScreen, Timeline as TimelineScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { isTextFilled } from '@micromag/core/utils';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Heading from '@micromag/element-heading';\nimport Text from '@micromag/element-text';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Heading1, Heading2, Text as Text$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-title-container\",\"disabled\":\"micromag-screen-title-disabled\",\"hidden\":\"micromag-screen-title-hidden\",\"placeholder\":\"micromag-screen-title-placeholder\",\"content\":\"micromag-screen-title-content\",\"emptyDescription\":\"micromag-screen-title-emptyDescription\",\"emptySubtitle\":\"micromag-screen-title-emptySubtitle\",\"emptyTitle\":\"micromag-screen-title-emptyTitle\",\"subtitle\":\"micromag-screen-title-subtitle\",\"withMargin\":\"micromag-screen-title-withMargin\",\"title\":\"micromag-screen-title-title\",\"isPlaceholder\":\"micromag-screen-title-isPlaceholder\",\"layout\":\"micromag-screen-title-layout\"};\n\nvar propTypes$1 = {\n layout: PropTypes.oneOf(['top', 'middle', 'bottom', 'split', 'split-top', 'split-bottom']),\n title: PropTypes$1.headingElement,\n subtitle: PropTypes$1.headingElement,\n description: PropTypes$1.textElement,\n withSubtitle: PropTypes.bool,\n withDescription: PropTypes.bool,\n spacing: PropTypes.number,\n descriptionEmptyLabel: PropTypes$1.label,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps$1 = {\n layout: 'top',\n title: null,\n subtitle: null,\n description: null,\n withSubtitle: false,\n withDescription: false,\n spacing: 20,\n descriptionEmptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"507VAi\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n background: null,\n callToAction: null,\n current: true,\n transitions: null,\n transitionStagger: 100,\n className: null\n};\n\nvar TitleScreen = function TitleScreen(_ref) {\n var _ref4;\n\n var layout = _ref.layout,\n title = _ref.title,\n subtitle = _ref.subtitle,\n description = _ref.description,\n withSubtitle = _ref.withSubtitle,\n withDescription = _ref.withDescription,\n spacing = _ref.spacing,\n descriptionEmptyLabel = _ref.descriptionEmptyLabel,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n menuOverScreen = _useScreenSize.menuOverScreen;\n\n var _useViewer = useViewer(),\n menuSize = _useViewer.menuSize;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var hasTitle = isTextFilled(title);\n var hasSubtitle = isTextFilled(subtitle);\n var hasDescription = isTextFilled(description);\n var layoutParts = layout.split('-');\n var isSplitted = layoutParts[0] === 'split';\n var isTopLayout = layout === 'top';\n var isMiddleLayout = layout === 'middle';\n var verticalAlign = isSplitted ? layoutParts[1] || null : layoutParts[0];\n var titleWithMargin = hasTitle && (hasSubtitle || hasDescription) && (!isSplitted || verticalAlign === 'top');\n var subtitleWithMargin = hasSubtitle && hasDescription && (!isSplitted || verticalAlign === 'bottom');\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit);\n var hasCallToAction = callToAction !== null && callToAction.active === true; // Create elements\n\n var items = [!isPlaceholder && hasCallToAction && isMiddleLayout ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-top\"\n }) : null, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.emptyTitle,\n isEmpty: !hasTitle\n }, hasTitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: classNames([styles.title, _defineProperty({}, styles.withMargin, titleWithMargin)])\n }, title, {\n size: 1\n })) : null), isSplitted && (!withDescription || verticalAlign === 'bottom') && /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer1\"\n }), withSubtitle && /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"subtitle\",\n placeholder: \"subtitle\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"d60tSn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Subtitle\"\n }]\n }),\n emptyClassName: styles.emptySubtitle,\n isEmpty: !hasSubtitle\n }, hasSubtitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: classNames([styles.subtitle, _defineProperty({}, styles.withMargin, subtitleWithMargin)])\n }, subtitle, {\n size: 2\n })) : null), isSplitted && withDescription && verticalAlign === 'top' && /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer2\"\n }), withDescription && /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"description\",\n placeholder: \"shortText\",\n emptyLabel: descriptionEmptyLabel,\n emptyClassName: styles.emptyDescription,\n isEmpty: !hasDescription\n }, hasDescription ? /*#__PURE__*/React.createElement(Text, description) : null), !isPlaceholder && hasCallToAction && (isTopLayout || isMiddleLayout) ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-bottom\"\n }) : null, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: 0\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null];\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles.isPlaceholder, isPlaceholder), _ref4)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Layout, {\n className: styles.layout,\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }, /*#__PURE__*/React.createElement(TransitionsStagger, {\n transitions: transitions,\n stagger: transitionStagger,\n disabled: transitionDisabled,\n playing: transitionPlaying,\n focusable: current && isView\n }, items))));\n};\n\nTitleScreen.propTypes = propTypes$1;\nTitleScreen.defaultProps = defaultProps$1;\nvar TitleScreen$1 = /*#__PURE__*/React.memo(TitleScreen);\n\nvar TitleSubtitleScreen = function TitleSubtitleScreen(_ref) {\n var props = _extends({}, _ref);\n\n return /*#__PURE__*/React.createElement(TitleScreen$1, Object.assign({}, props, {\n withSubtitle: true\n }));\n};\n\nvar _excluded = [\"credits\"];\nvar propTypes = {\n credits: PropTypes$1.textElement\n};\nvar defaultProps = {\n credits: null\n};\n\nvar TitleSubtitleCreditsScreen = function TitleSubtitleCreditsScreen(_ref) {\n var credits = _ref.credits,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(TitleScreen$1, Object.assign({}, props, {\n description: credits,\n withSubtitle: true,\n withDescription: true,\n descriptionEmptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"/hupzO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Credits\"\n }]\n })\n }));\n};\n\nTitleSubtitleCreditsScreen.propTypes = propTypes;\nTitleSubtitleCreditsScreen.defaultProps = defaultProps;\n\nvar transform = function transform(newStory, _ref) {\n var title = _ref.title,\n subtitle = _ref.subtitle,\n credits = _ref.credits;\n\n var _Heading = Heading1(newStory, title),\n titleStory = _Heading.story,\n titleComponent = _Heading.component;\n\n var _Heading2 = Heading2(titleStory, subtitle),\n subtitleStory = _Heading2.story,\n subtitleComponent = _Heading2.component;\n\n var _Text = Text$1(subtitleStory, credits),\n creditsStory = _Text.story,\n creditsComponent = _Text.component;\n\n var _Container = Container$1(creditsStory, [].concat(_toConsumableArray(titleComponent ? [titleComponent] : []), _toConsumableArray(subtitleComponent ? [subtitleComponent] : []), _toConsumableArray(creditsComponent ? [creditsComponent] : []))),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = [{\n id: 'title',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"uKJRh2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n order: 1\n },\n title: defineMessage({\n \"id\": \"dVcog7\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n component: TitleScreen$1,\n layouts: ['top', 'middle', 'bottom'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n \"id\": \"N25iDO\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'title-subtitle',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"uKJRh2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n order: 1\n },\n title: defineMessage({\n \"id\": \"P1dwGU\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title with subtitle\"\n }]\n }),\n component: TitleSubtitleScreen,\n layouts: ['top', 'middle', 'bottom', 'split'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n \"id\": \"N25iDO\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'subtitle',\n type: 'heading-element',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n \"id\": \"EcZYpr\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Subtitle\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}, {\n id: 'title-subtitle-credits',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"uKJRh2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n order: 1\n },\n title: defineMessage({\n \"id\": \"vZrFq6\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title with subtitle and credits\"\n }]\n }),\n component: TitleSubtitleCreditsScreen,\n layouts: ['top', 'middle', 'bottom', 'split-top', 'split-bottom'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n \"id\": \"N25iDO\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'subtitle',\n type: 'heading-element',\n theme: {\n textStyle: 'heading2'\n },\n label: defineMessage({\n \"id\": \"EcZYpr\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Subtitle\"\n }]\n })\n }, {\n name: 'credits',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n \"id\": \"upzOTm\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Credits\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n}];\n\nexport { TitleScreen$1 as TitleScreen, TitleSubtitleCreditsScreen, TitleSubtitleScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { getSizeWithinBounds } from '@folklore/size';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, PlaceholderVideo, Empty, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenMedia, useLongPress } from '@micromag/core/hooks';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport ClosedCaptions from '@micromag/element-closed-captions';\nimport MediaControls from '@micromag/element-media-controls';\nimport Image from '@micromag/element-image';\nimport Video from '@micromag/element-video';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Video as Video$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\nvar styles = {\"container\":\"micromag-screen-video-container\",\"content\":\"micromag-screen-video-content\",\"empty\":\"micromag-screen-video-empty\",\"emptyContainer\":\"micromag-screen-video-emptyContainer\",\"fullscreen\":\"micromag-screen-video-fullscreen\",\"image\":\"micromag-screen-video-image\",\"placeholder\":\"micromag-screen-video-placeholder\",\"video\":\"micromag-screen-video-video\",\"disabled\":\"micromag-screen-video-disabled\",\"hidden\":\"micromag-screen-video-hidden\",\"mediaControls\":\"micromag-screen-video-mediaControls\",\"videoContainer\":\"micromag-screen-video-videoContainer\",\"bottomContent\":\"micromag-screen-video-bottomContent\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['middle', 'full']),\n video: PropTypes$1.videoElement,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n // active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n spacing: PropTypes.number,\n getMediaRef: PropTypes.func,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'middle',\n video: null,\n background: null,\n callToAction: null,\n current: true,\n // active: true,\n transitions: null,\n spacing: 20,\n getMediaRef: null,\n className: null\n};\n\nvar VideoScreen = function VideoScreen(_ref) {\n var _ref8;\n\n var layout = _ref.layout,\n video = _ref.video,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n spacing = _ref.spacing,\n getMediaRef = _ref.getMediaRef,\n className = _ref.className;\n var trackScreenMedia = useTrackScreenMedia('video');\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var apiRef = useRef();\n\n var _ref2 = apiRef.current || {},\n togglePlay = _ref2.togglePlay,\n toggleMute = _ref2.toggleMute,\n seek = _ref2.seek,\n play = _ref2.play,\n pause = _ref2.pause,\n _ref2$mediaRef = _ref2.mediaRef,\n apiMediaRef = _ref2$mediaRef === void 0 ? null : _ref2$mediaRef;\n\n useEffect(function () {\n if (apiMediaRef !== null && getMediaRef !== null) {\n getMediaRef(apiMediaRef.current);\n }\n }, [apiMediaRef, getMediaRef]); // Get api state updates from callback\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n currentTime = _useState2[0],\n setCurrentTime = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n duration = _useState4[0],\n setDuration = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n playing = _useState6[0],\n setPlaying = _useState6[1];\n\n var _useState7 = useState(false),\n _useState8 = _slicedToArray(_useState7, 2),\n muted = _useState8[0],\n setMuted = _useState8[1];\n\n var onTimeUpdate = useCallback(function (time) {\n setCurrentTime(time);\n }, [setDuration, duration]);\n var onProgressStep = useCallback(function (step) {\n trackScreenMedia(video, \"progress_\".concat(Math.round(step * 100, 10), \"%\"));\n }, [trackScreenMedia, video]);\n var onDurationChanged = useCallback(function (dur) {\n setDuration(dur);\n }, [setDuration]);\n var onPlay = useCallback(function (_ref3) {\n var initial = _ref3.initial;\n setPlaying(true);\n trackScreenMedia(video, initial ? 'play' : 'resume');\n }, [trackScreenMedia, video]);\n var onPause = useCallback(function (_ref4) {\n var midway = _ref4.midway;\n setPlaying(false);\n trackScreenMedia(video, midway ? 'pause' : 'ended');\n }, [trackScreenMedia, video]);\n var onVolumeChanged = useCallback(function (isMuted) {\n setMuted(isMuted);\n trackScreenMedia(video, isMuted ? 'mute' : 'unmute');\n }, [trackScreenMedia, video]);\n var onSeeked = useCallback(function (time) {\n if (time > 0) {\n trackScreenMedia(video, 'seek');\n }\n }, [trackScreenMedia, video]);\n var onToggleMute = useCallback(function () {\n if (muted && !playing) {\n play();\n }\n\n toggleMute();\n }, [muted, toggleMute]);\n useEffect(function () {\n if (!current && playing) {\n pause();\n }\n }, [playing, current]); // ------------------------------------\n\n var longPressBind = useLongPress({\n onLongPress: togglePlay\n });\n var fullscreen = layout === 'full';\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n var hasVideo = video !== null;\n\n var _useState9 = useState(hasVideo),\n _useState10 = _slicedToArray(_useState9, 2),\n ready = _useState10[0],\n setReady = _useState10[1]; // useState(!hasVideo);\n\n\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit; // get resized video style props\n\n var _ref5 = video || {},\n _ref5$autoPlay = _ref5.autoPlay,\n autoPlay = _ref5$autoPlay === void 0 ? true : _ref5$autoPlay,\n _ref5$media = _ref5.media,\n videoMedia = _ref5$media === void 0 ? null : _ref5$media,\n _ref5$closedCaptions = _ref5.closedCaptions,\n closedCaptions = _ref5$closedCaptions === void 0 ? null : _ref5$closedCaptions,\n _ref5$withSeekBar = _ref5.withSeekBar,\n withSeekBar = _ref5$withSeekBar === void 0 ? false : _ref5$withSeekBar,\n _ref5$withPlayPause = _ref5.withPlayPause,\n withPlayPause = _ref5$withPlayPause === void 0 ? false : _ref5$withPlayPause;\n\n var finalVideo = useMemo(function () {\n return hasVideo ? _objectSpread(_objectSpread({}, video), {}, {\n autoPlay: !isPreview && !isStatic && !isCapture && autoPlay && current\n }) : null;\n }, [hasVideo, video, isPreview, isStatic, isCapture, autoPlay, current]);\n\n var _ref6 = videoMedia || {},\n _ref6$metadata = _ref6.metadata,\n videoMetadata = _ref6$metadata === void 0 ? null : _ref6$metadata,\n _ref6$url = _ref6.url,\n videoUrl = _ref6$url === void 0 ? null : _ref6$url,\n _ref6$thumbnail_url = _ref6.thumbnail_url,\n thumbnailUrl = _ref6$thumbnail_url === void 0 ? null : _ref6$thumbnail_url;\n\n var hasVideoUrl = videoUrl !== null; // const hasThumbnail = thumbnailUrl !== null;\n // const [posterReady, setPosterReady] = useState(!hasThumbnail);\n\n var _ref7 = videoMetadata || {},\n _ref7$width = _ref7.width,\n videoWidth = _ref7$width === void 0 ? 0 : _ref7$width,\n _ref7$height = _ref7.height,\n videoHeight = _ref7$height === void 0 ? 0 : _ref7$height;\n\n var _getSizeWithinBounds = getSizeWithinBounds(videoWidth, videoHeight, width, height, {\n cover: fullscreen\n }),\n resizedVideoWidth = _getSizeWithinBounds.width,\n resizedVideoHeight = _getSizeWithinBounds.height;\n\n var resizedVideoLeft = -(resizedVideoWidth - width) / 2;\n var resizedVideoTop = -(resizedVideoHeight - height) / 2;\n var placeholderProps = fullscreen ? {\n width: '100%',\n height: '100%'\n } : {\n width: '100%'\n };\n useEffect(function () {\n setReady(!hasVideoUrl);\n }, [videoUrl, hasVideoUrl, setReady]); // useEffect(() => {\n // setPosterReady(!hasThumbnail);\n // }, [thumbnailUrl, hasThumbnail, setPosterReady]);\n\n var onVideoReady = useCallback(function () {\n setReady(true);\n }, [setReady]); // const onPosterLoaded = useCallback(() => {\n // setPosterReady(true);\n // }, [isStatic, isCapture, setPosterReady]);\n\n var items = [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"video\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderVideo, Object.assign({\n className: styles.placeholder\n }, placeholderProps)),\n empty: /*#__PURE__*/React.createElement(\"div\", {\n className: styles.emptyContainer\n }, /*#__PURE__*/React.createElement(Empty, {\n className: styles.empty\n }, /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"3ext9Q\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Video\"\n }]\n }))),\n isEmpty: !hasVideoUrl\n }, hasVideoUrl ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.videoContainer,\n style: {\n width: resizedVideoWidth,\n height: resizedVideoHeight,\n left: resizedVideoLeft,\n top: resizedVideoTop\n }\n }, isPreview || isCapture ? /*#__PURE__*/React.createElement(Image, {\n className: styles.image,\n media: {\n url: thumbnailUrl,\n metadata: {\n width: videoWidth,\n height: videoHeight\n }\n },\n width: \"100%\",\n height: \"100%\"\n }) : /*#__PURE__*/React.createElement(Video, Object.assign({}, finalVideo, {\n ref: apiRef,\n className: styles.video,\n onReady: onVideoReady,\n onPlay: onPlay,\n onPause: onPause,\n onTimeUpdate: onTimeUpdate,\n onProgressStep: onProgressStep,\n onDurationChanged: onDurationChanged,\n onSeeked: onSeeked,\n onVolumeChanged: onVolumeChanged,\n focusable: current && isView // onPosterLoaded={onPosterLoaded}\n\n }))) : null), !isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"bottom-content\",\n className: styles.bottomContent\n }, /*#__PURE__*/React.createElement(Transitions, {\n playing: transitionPlaying,\n transitions: transitions,\n disabled: transitionDisabled\n }, closedCaptions !== null && !isPreview && !isCapture && !isStatic ? /*#__PURE__*/React.createElement(ClosedCaptions, {\n className: styles.closedCaptions,\n media: closedCaptions,\n currentTime: currentTime\n }) : null, hasVideoUrl ? /*#__PURE__*/React.createElement(MediaControls, {\n className: styles.mediaControls,\n withSeekBar: withSeekBar,\n withPlayPause: withPlayPause,\n playing: playing,\n muted: muted,\n currentTime: currentTime,\n duration: duration,\n onTogglePlay: togglePlay,\n onToggleMute: onToggleMute,\n onSeek: seek,\n focusable: current && isView\n }) : null, hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: -spacing\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null)) : null];\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classNames([styles.container, (_ref8 = {}, _defineProperty(_ref8, className, className !== null), _defineProperty(_ref8, styles.fullscreen, fullscreen), _ref8)]),\n \"data-screen-ready\": isStatic || isCapture\n /* && posterReady */\n || ready\n }, longPressBind), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content\n }, items)));\n};\n\nVideoScreen.propTypes = propTypes;\nVideoScreen.defaultProps = defaultProps;\nvar VideoScreen$1 = /*#__PURE__*/React.memo(VideoScreen);\n\nvar transform = function transform(newStory, _ref) {\n var video = _ref.video;\n\n var _ref2 = video || {},\n _ref2$media = _ref2.media,\n media = _ref2$media === void 0 ? null : _ref2$media;\n\n var _Video = Video$1(newStory, media),\n titleStory = _Video.story,\n titleComponent = _Video.component;\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = {\n id: 'video',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"+9akmg\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Audio and Video\"\n }]\n }),\n order: 5\n },\n title: defineMessage({\n \"id\": \"UBXIYP\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Video\"\n }]\n }),\n component: VideoScreen$1,\n layouts: ['middle', 'full'],\n transforms: transforms,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'middle',\n label: defineMessage({\n \"id\": \"4iBXj2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n name: 'video',\n type: 'video-element',\n theme: {\n color: 'primary'\n },\n defaultValue: {\n autoPlay: true\n },\n label: defineMessage({\n \"id\": \"tvl2Zc\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Video\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { VideoScreen$1 as VideoScreen, definition as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport 'whatwg-fetch';\nimport React, { useState, useEffect, useRef, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { getSizeWithinBounds } from '@folklore/size';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, PlaceholderVideo360, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useTrackScreenMedia, useAnimationFrame } from '@micromag/core/hooks';\nimport Background from '@micromag/element-background';\nimport Container from '@micromag/element-container';\nimport ClosedCaptions from '@micromag/element-closed-captions';\nimport MediaControls from '@micromag/element-media-controls';\nimport Image from '@micromag/element-image';\nimport Video from '@micromag/element-video';\nimport CallToAction from '@micromag/element-call-to-action';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Video as Video$1, Container as Container$1 } from '@micromag/transforms/apple-news';\n\n/**\n * Locale loader\n */\n\nvar packageCache = null;\n\nvar useThree = function useThree() {\n // transport\n var _useState = useState({\n \"package\": packageCache\n }),\n _useState2 = _slicedToArray(_useState, 2),\n loadedPackage = _useState2[0][\"package\"],\n setLoadedPackage = _useState2[1];\n\n useEffect(function () {\n var canceled = false;\n\n if (loadedPackage !== null) {\n return function () {\n canceled = true;\n };\n }\n\n import('three').then(function (_ref) {\n var Scene = _ref.Scene,\n PerspectiveCamera = _ref.PerspectiveCamera,\n SphereBufferGeometry = _ref.SphereBufferGeometry,\n VideoTexture = _ref.VideoTexture,\n MeshBasicMaterial = _ref.MeshBasicMaterial,\n Mesh = _ref.Mesh,\n WebGLRenderer = _ref.WebGLRenderer,\n MathUtils = _ref.MathUtils;\n packageCache = {\n Scene: Scene,\n PerspectiveCamera: PerspectiveCamera,\n SphereBufferGeometry: SphereBufferGeometry,\n VideoTexture: VideoTexture,\n MeshBasicMaterial: MeshBasicMaterial,\n Mesh: Mesh,\n WebGLRenderer: WebGLRenderer,\n MathUtils: MathUtils\n };\n\n if (!canceled) {\n setLoadedPackage({\n \"package\": packageCache\n });\n }\n });\n return function () {\n canceled = true;\n };\n }, [loadedPackage, setLoadedPackage]);\n return loadedPackage;\n};\n\nvar styles = {\"container\":\"micromag-screen-video-360-container\",\"canvasButton\":\"micromag-screen-video-360-canvasButton\",\"canvas\":\"micromag-screen-video-360-canvas\",\"content\":\"micromag-screen-video-360-content\",\"placeholder\":\"micromag-screen-video-360-placeholder\",\"video\":\"micromag-screen-video-360-video\",\"disabled\":\"micromag-screen-video-360-disabled\",\"hidden\":\"micromag-screen-video-360-hidden\",\"empty\":\"micromag-screen-video-360-empty\",\"videoContainer\":\"micromag-screen-video-360-videoContainer\",\"mediaControls\":\"micromag-screen-video-360-mediaControls\",\"bottomContent\":\"micromag-screen-video-360-bottomContent\",\"showVideo\":\"micromag-screen-video-360-showVideo\"};\n\nvar propTypes = {\n layout: PropTypes.oneOf(['full']),\n video: PropTypes$1.videoElement,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n // active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n onPrevious: PropTypes.func,\n onNext: PropTypes.func,\n type: PropTypes.string,\n spacing: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'full',\n video: null,\n background: null,\n callToAction: null,\n current: true,\n // active: true,\n transitions: null,\n onPrevious: null,\n onNext: null,\n type: null,\n spacing: 20,\n className: null\n};\n\nvar Video360Screen = function Video360Screen(_ref) {\n var _ref12;\n\n _ref.layout;\n var video = _ref.video,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n transitions = _ref.transitions,\n onPrevious = _ref.onPrevious,\n onNext = _ref.onNext,\n type = _ref.type,\n spacing = _ref.spacing,\n className = _ref.className;\n var THREE = useThree();\n var trackScreenEvent = useTrackScreenEvent(type);\n var trackScreenMedia = useTrackScreenMedia('video_360');\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height,\n landscape = _useScreenSize.landscape;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isStatic = _useScreenRenderConte.isStatic,\n isCapture = _useScreenRenderConte.isCapture;\n\n var backgroundPlaying = current && (isView || isEdit);\n var videoContainerRef = useRef();\n var apiRef = useRef();\n\n var _ref2 = apiRef.current || {},\n togglePlay = _ref2.togglePlay,\n toggleMute = _ref2.toggleMute,\n seek = _ref2.seek,\n play = _ref2.play,\n pause = _ref2.pause;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n currentTime = _useState2[0],\n setCurrentTime = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n duration = _useState4[0],\n setDuration = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n playing = _useState6[0],\n setPlaying = _useState6[1];\n\n var _useState7 = useState(false),\n _useState8 = _slicedToArray(_useState7, 2),\n muted = _useState8[0],\n setMuted = _useState8[1];\n\n var onTimeUpdate = useCallback(function (time) {\n setCurrentTime(time);\n }, [setDuration, duration]);\n var onProgressStep = useCallback(function (step) {\n trackScreenMedia(video, \"progress_\".concat(Math.round(step * 100, 10), \"%\"));\n }, [trackScreenMedia, video]);\n var onDurationChanged = useCallback(function (dur) {\n setDuration(dur);\n }, [setDuration]);\n var onPlay = useCallback(function (_ref3) {\n var initial = _ref3.initial;\n setPlaying(true);\n trackScreenMedia(video, initial ? 'play' : 'resume');\n }, [trackScreenMedia, video]);\n var onPause = useCallback(function (_ref4) {\n var midway = _ref4.midway;\n setPlaying(false);\n trackScreenMedia(video, midway ? 'pause' : 'ended');\n }, [trackScreenMedia, video]);\n var onVolumeChanged = useCallback(function (isMuted) {\n setMuted(isMuted);\n trackScreenMedia(video, isMuted ? 'mute' : 'unmute');\n }, [trackScreenMedia, video]);\n var onSeeked = useCallback(function (time) {\n if (time > 0) {\n trackScreenMedia(video, 'seek');\n }\n }, [trackScreenMedia, video]);\n var onToggleMute = useCallback(function () {\n if (muted && !playing) {\n play();\n }\n\n toggleMute();\n }, [muted, toggleMute]);\n useEffect(function () {\n if (!current && playing) {\n pause();\n }\n }, [playing, current]); // ------------------------------------\n\n var hasVideo = video !== null;\n\n var _useState9 = useState(!hasVideo),\n _useState10 = _slicedToArray(_useState9, 2),\n ready = _useState10[0],\n setReady = _useState10[1];\n\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n\n var _ref5 = video || {},\n _ref5$media = _ref5.media,\n videoMedia = _ref5$media === void 0 ? null : _ref5$media,\n _ref5$closedCaptions = _ref5.closedCaptions,\n closedCaptions = _ref5$closedCaptions === void 0 ? null : _ref5$closedCaptions,\n _ref5$withSeekBar = _ref5.withSeekBar,\n withSeekBar = _ref5$withSeekBar === void 0 ? false : _ref5$withSeekBar,\n _ref5$withPlayPause = _ref5.withPlayPause,\n withPlayPause = _ref5$withPlayPause === void 0 ? false : _ref5$withPlayPause,\n _ref5$autoPlay = _ref5.autoPlay,\n autoPlay = _ref5$autoPlay === void 0 ? true : _ref5$autoPlay;\n\n var finalVideo = hasVideo ? _objectSpread(_objectSpread({}, video), {}, {\n autoPlay: !isPreview && !isStatic && !isCapture && autoPlay && current\n }) : null;\n\n var _ref6 = videoMedia || {},\n _ref6$metadata = _ref6.metadata,\n videoMetadata = _ref6$metadata === void 0 ? null : _ref6$metadata,\n _ref6$url = _ref6.url,\n videoUrl = _ref6$url === void 0 ? null : _ref6$url,\n _ref6$thumbnail_url = _ref6.thumbnail_url,\n thumbnailUrl = _ref6$thumbnail_url === void 0 ? null : _ref6$thumbnail_url;\n\n var hasVideoUrl = videoUrl !== null;\n\n var _ref7 = videoMetadata || {},\n _ref7$width = _ref7.width,\n videoWidth = _ref7$width === void 0 ? 0 : _ref7$width,\n _ref7$height = _ref7.height,\n videoHeight = _ref7$height === void 0 ? 0 : _ref7$height;\n\n var hasThumbnail = thumbnailUrl !== null;\n\n var _useState11 = useState(!hasThumbnail),\n _useState12 = _slicedToArray(_useState11, 2),\n posterReady = _useState12[0],\n setPosterReady = _useState12[1];\n\n var withVideoSphere = hasVideoUrl && (isView || isEdit) && !isCapture && !isStatic;\n\n var _getSizeWithinBounds = getSizeWithinBounds(videoWidth, videoHeight, width, height, {\n cover: true\n }),\n resizedVideoWidth = _getSizeWithinBounds.width,\n resizedVideoHeight = _getSizeWithinBounds.height;\n\n var resizedVideoLeft = -(resizedVideoWidth - width) / 2;\n var resizedVideoTop = -(resizedVideoHeight - height) / 2;\n useEffect(function () {\n setReady(!hasVideoUrl);\n }, [videoUrl, hasVideoUrl, setReady]);\n useEffect(function () {\n setPosterReady(!hasThumbnail);\n }, [thumbnailUrl, hasThumbnail, setPosterReady]);\n var onVideoReady = useCallback(function () {\n setReady(true);\n }, [setReady]);\n var onPosterLoaded = useCallback(function () {\n setPosterReady(true);\n }, [posterReady]); // 3D layer --------------------------\n\n var canvasRef = useRef(null);\n var camera = useRef(null);\n var scene = useRef(null);\n var renderer = useRef(null);\n var lon = useRef(0);\n var lat = useRef(0);\n var phi = useRef(0);\n var theta = useRef(0);\n var distance = useRef(50);\n var pointerDown = useRef(false);\n var pointerDownX = useRef(0);\n var pointerDownY = useRef(0);\n var pointerLon = useRef(0);\n var pointerLat = useRef(0); // render 3D frame\n\n var render3D = useCallback(function () {\n var MathUtils = THREE.MathUtils;\n lat.current = Math.max(-85, Math.min(85, lat.current));\n phi.current = MathUtils.degToRad(90 - lat.current);\n theta.current = MathUtils.degToRad(lon.current);\n camera.current.position.x = distance.current * Math.sin(phi.current) * Math.cos(theta.current);\n camera.current.position.y = distance.current * Math.cos(phi.current);\n camera.current.position.z = distance.current * Math.sin(phi.current) * Math.sin(theta.current);\n camera.current.lookAt(0, 0, 0);\n renderer.current.render(scene.current, camera.current);\n }, []); // Init 3D layer\n\n useEffect(function () {\n if (THREE !== null && hasVideoUrl && withVideoSphere) {\n var Scene = THREE.Scene,\n PerspectiveCamera = THREE.PerspectiveCamera,\n SphereBufferGeometry = THREE.SphereBufferGeometry,\n VideoTexture = THREE.VideoTexture,\n MeshBasicMaterial = THREE.MeshBasicMaterial,\n Mesh = THREE.Mesh,\n WebGLRenderer = THREE.WebGLRenderer;\n var _canvasRef$current = canvasRef.current,\n canvasWidth = _canvasRef$current.offsetWidth,\n canvasHeight = _canvasRef$current.offsetHeight;\n camera.current = new PerspectiveCamera(75, canvasWidth / canvasHeight, 1, 1100);\n scene.current = new Scene();\n var geometry = new SphereBufferGeometry(500, 60, 40);\n geometry.scale(-1, 1, 1);\n\n var _ref8 = apiRef.current || {},\n _ref8$mediaRef = _ref8.mediaRef,\n videoMediaRef = _ref8$mediaRef === void 0 ? null : _ref8$mediaRef;\n\n var _ref9 = videoMediaRef || {},\n _ref9$current = _ref9.current,\n videoElement = _ref9$current === void 0 ? null : _ref9$current;\n\n var videoTexture = new VideoTexture(videoElement);\n var videoMaterial = new MeshBasicMaterial({\n map: videoTexture\n });\n var mesh = new Mesh(geometry, videoMaterial);\n scene.current.add(mesh);\n renderer.current = new WebGLRenderer({\n canvas: canvasRef.current\n });\n renderer.current.setPixelRatio(typeof window !== 'undefined' ? window.devicePixelRatio : 1);\n renderer.current.setSize(canvasWidth, canvasHeight);\n render3D();\n }\n\n return function () {\n if (withVideoSphere) {\n camera.current = null;\n scene.current = null;\n renderer.current = null;\n }\n };\n }, [hasVideoUrl, withVideoSphere, render3D]);\n useAnimationFrame(render3D, {\n disabled: !withVideoSphere\n }); // Resize 3D layer\n\n useEffect(function () {\n if (camera.current !== null && renderer.current !== null) {\n camera.current.aspect = width / height;\n camera.current.updateProjectionMatrix();\n renderer.current.setSize(width, height);\n }\n }, [width, height]); // Pointer interaction\n\n var togglePlayTimeout = useRef(null);\n var onPointerDown = useCallback(function (e) {\n pointerDown.current = true;\n pointerDownX.current = e.clientX;\n pointerDownY.current = e.clientY;\n pointerLon.current = lon.current;\n pointerLat.current = lat.current;\n\n if (togglePlayTimeout.current !== null) {\n clearTimeout(togglePlayTimeout.current);\n }\n\n togglePlayTimeout.current = setTimeout(function () {\n togglePlay();\n togglePlayTimeout.current = null;\n }, 300);\n }, [togglePlay]);\n var pixelsMoved = useRef(0);\n var lastPointerClient = useRef(null);\n var pixelsMovedTracked = useRef(false);\n var onPointerMove = useCallback(function (e) {\n if (pointerDown.current) {\n var _ref10 = e || {},\n _ref10$clientX = _ref10.clientX,\n clientX = _ref10$clientX === void 0 ? null : _ref10$clientX,\n _ref10$clientY = _ref10.clientY,\n clientY = _ref10$clientY === void 0 ? null : _ref10$clientY;\n\n var downDeltaX = pointerDownX.current - clientX;\n var downDeltaY = pointerDownY.current - clientY;\n lon.current = downDeltaX * 0.2 + pointerLon.current;\n lat.current = downDeltaY * 0.2 + pointerLat.current;\n\n var _ref11 = lastPointerClient.current || {},\n _ref11$x = _ref11.x,\n lastX = _ref11$x === void 0 ? clientX : _ref11$x,\n _ref11$y = _ref11.y,\n lastY = _ref11$y === void 0 ? clientY : _ref11$y;\n\n var deltaX = Math.abs(lastX - clientX) || 0;\n var deltaY = Math.abs(lastY - clientY) || 0;\n pixelsMoved.current += deltaX + deltaY;\n\n if (!pixelsMovedTracked.current && pixelsMoved.current > Math.min(width, height)) {\n trackScreenEvent('drag_sphere', video.name);\n pixelsMovedTracked.current = true;\n }\n\n lastPointerClient.current = {\n x: clientX,\n y: clientY\n };\n\n if (Math.abs(downDeltaX) > 3 || Math.abs(downDeltaY) > 3) {\n if (togglePlayTimeout.current !== null) {\n clearTimeout(togglePlayTimeout.current);\n togglePlayTimeout.current = null;\n }\n }\n }\n }, [width, height, trackScreenEvent, video]);\n var onPointerUp = useCallback(function (e) {\n var videoContainer = videoContainerRef.current;\n\n if (pointerDown.current && videoContainer !== null) {\n var distX = Math.abs(pointerDownX.current - e.clientX);\n var distY = Math.abs(pointerDownY.current - e.clientY);\n var pixelsMovedTolerance = 3;\n var tapNextScreenWidthPercent = 0.5;\n var canTapToNavigate = !landscape && togglePlayTimeout.current !== null;\n var validNavigateTap = canTapToNavigate && distX < pixelsMovedTolerance && distY < pixelsMovedTolerance;\n\n if (validNavigateTap) {\n var _videoContainer$getBo = videoContainer.getBoundingClientRect(),\n _videoContainer$getBo2 = _videoContainer$getBo.left,\n containerX = _videoContainer$getBo2 === void 0 ? 0 : _videoContainer$getBo2,\n containerWidth = _videoContainer$getBo.width;\n\n var hasTappedLeft = e.clientX - containerX < containerWidth * (1 - tapNextScreenWidthPercent);\n\n if (hasTappedLeft) {\n if (onPrevious !== null) {\n onPrevious();\n }\n } else if (onNext !== null) {\n onNext();\n }\n }\n\n if (togglePlayTimeout.current !== null) {\n clearTimeout(togglePlayTimeout.current);\n togglePlayTimeout.current = null;\n }\n }\n\n pointerDown.current = false;\n }, [onPrevious, onNext, landscape]);\n var hasCallToAction = callToAction !== null && callToAction.active === true; // Building elements ------------------\n\n var items = [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"video\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderVideo360, {\n className: styles.placeholder,\n width: \"100%\",\n height: \"100%\"\n }),\n emptyClassName: styles.empty,\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"oLtEu6\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Video 360\"\n }]\n }),\n isEmpty: !withVideoSphere\n }, /*#__PURE__*/React.createElement(Transitions, {\n playing: transitionPlaying,\n transitions: transitions,\n disabled: transitionDisabled,\n fullscreen: true\n }, withVideoSphere ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"canvas\", {\n ref: canvasRef,\n className: styles.canvas\n }), /*#__PURE__*/React.createElement(\"button\", {\n className: styles.canvasButton,\n type: \"button\",\n \"aria-label\": \"canvas-interaction\",\n onPointerDown: onPointerDown,\n onPointerMove: onPointerMove,\n onPointerUp: onPointerUp,\n tabIndex: current && isView ? null : '-1'\n })) : /*#__PURE__*/React.createElement(\"div\", {\n className: styles.videoContainer,\n style: {\n width: resizedVideoWidth,\n height: resizedVideoHeight,\n left: resizedVideoLeft,\n top: resizedVideoTop\n }\n }, /*#__PURE__*/React.createElement(Image, {\n className: styles.video,\n media: {\n url: thumbnailUrl,\n metadata: {\n width: videoWidth,\n height: videoHeight\n }\n },\n width: \"100%\",\n height: \"100%\"\n })))), !isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"bottom-content\",\n className: styles.bottomContent\n }, /*#__PURE__*/React.createElement(Transitions, {\n playing: transitionPlaying,\n transitions: transitions,\n disabled: transitionDisabled\n }, closedCaptions !== null && !isPreview && !isCapture && !isStatic ? /*#__PURE__*/React.createElement(ClosedCaptions, {\n className: styles.closedCaptions,\n media: closedCaptions,\n currentTime: currentTime\n }) : null, withVideoSphere ? /*#__PURE__*/React.createElement(MediaControls, {\n className: styles.mediaControls,\n withSeekBar: withSeekBar,\n withPlayPause: withPlayPause,\n playing: playing,\n muted: muted,\n currentTime: currentTime,\n duration: duration,\n onTogglePlay: togglePlay,\n onToggleMute: onToggleMute,\n onSeek: seek,\n focusable: current && isView\n }) : null, hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: -spacing\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView\n })) : null)) : null];\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref12 = {}, _defineProperty(_ref12, className, className !== null), _defineProperty(_ref12, styles.showVideo, isPreview || isStatic || isCapture), _ref12)]),\n \"data-screen-ready\": (isStatic || isCapture) && posterReady || ready\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, withVideoSphere ? /*#__PURE__*/React.createElement(\"div\", {\n ref: videoContainerRef,\n className: styles.videoContainer,\n style: {\n width: resizedVideoWidth,\n height: resizedVideoHeight,\n left: resizedVideoLeft,\n top: resizedVideoTop\n }\n }, /*#__PURE__*/React.createElement(Video, Object.assign({}, finalVideo, {\n ref: apiRef,\n className: styles.video,\n withoutCors: true,\n onReady: onVideoReady,\n onPlay: onPlay,\n onPause: onPause,\n onTimeUpdate: onTimeUpdate,\n onProgressStep: onProgressStep,\n onDurationChanged: onDurationChanged,\n onSeeked: onSeeked,\n onVolumeChanged: onVolumeChanged,\n onPosterLoaded: onPosterLoaded,\n focusable: current && isView\n }))) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content\n }, items)));\n};\n\nVideo360Screen.propTypes = propTypes;\nVideo360Screen.defaultProps = defaultProps;\nvar Video360Screen$1 = /*#__PURE__*/React.memo(Video360Screen);\n\nvar transform = function transform(newStory, _ref) {\n var video = _ref.video;\n\n var _ref2 = video || {},\n _ref2$media = _ref2.media,\n media = _ref2$media === void 0 ? null : _ref2$media;\n\n var _Video = Video$1(newStory, media),\n titleStory = _Video.story,\n titleComponent = _Video.component;\n\n var _Container = Container$1(titleStory, _toConsumableArray(titleComponent ? [titleComponent] : [])),\n containerStory = _Container.story,\n containerComponent = _Container.component;\n\n return _objectSpread(_objectSpread({}, containerStory), {}, {\n components: [].concat(_toConsumableArray(newStory.components || []), _toConsumableArray(containerComponent ? [containerComponent] : []))\n });\n};\n\n// eslint-disable-next-line\n\nvar transforms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n appleNews: transform\n});\n\nvar definition = {\n id: 'video-360',\n type: 'screen',\n group: {\n label: defineMessage({\n \"id\": \"+9akmg\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Audio and Video\"\n }]\n }),\n order: 5\n },\n title: defineMessage({\n \"id\": \"GRVidW\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"360 Video\"\n }]\n }),\n component: Video360Screen$1,\n layouts: ['full'],\n transforms: transforms,\n fields: [{\n name: 'video',\n type: 'video-element',\n theme: {\n color: 'primary'\n },\n defaultValue: {\n autoPlay: true\n },\n label: defineMessage({\n \"id\": \"tvl2Zc\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Video\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n \"id\": \"+MPZRu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }, {\n name: 'callToAction',\n type: 'call-to-action',\n theme: {\n label: {\n textStyle: 'heading2'\n }\n }\n }]\n};\n\nexport { Video360Screen$1 as Video360Screen, definition as default };\n","import { ScreensManager } from '@micromag/core';\nimport audio from '@micromag/screen-audio';\nimport contribution from '@micromag/screen-contribution';\nimport conversation from '@micromag/screen-conversation';\nimport gallery from '@micromag/screen-gallery';\nimport galleryFeed from '@micromag/screen-gallery-feed';\nimport image from '@micromag/screen-image';\nimport map from '@micromag/screen-map';\nimport quiz from '@micromag/screen-quiz';\nimport quote from '@micromag/screen-quote';\nimport ranking from '@micromag/screen-ranking';\nimport slideshow from '@micromag/screen-slideshow';\nimport survey from '@micromag/screen-survey';\nimport text from '@micromag/screen-text';\nimport timeline from '@micromag/screen-timeline';\nimport title from '@micromag/screen-title';\nimport video from '@micromag/screen-video';\nimport video360 from '@micromag/screen-video-360';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { ScreensProvider as ScreensProvider$1 } from '@micromag/core/contexts';\n\nvar manager$1 = new ScreensManager();\nmanager$1.addDefinition(audio);\nmanager$1.addDefinition(contribution);\nmanager$1.addDefinition(conversation);\nmanager$1.addDefinition(gallery);\nmanager$1.addDefinition(galleryFeed);\nmanager$1.addDefinition(image);\nmanager$1.addDefinition(map);\nmanager$1.addDefinition(quiz);\nmanager$1.addDefinition(quote);\nmanager$1.addDefinition(ranking);\nmanager$1.addDefinition(survey);\nmanager$1.addDefinition(text);\nmanager$1.addDefinition(timeline);\nmanager$1.addDefinition(title);\nmanager$1.addDefinition(video);\nmanager$1.addDefinition(video360);\nmanager$1.addDefinition(slideshow);\n\nvar manager = new ScreensManager();\nmanager.merge(manager$1);\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes = {\n children: PropTypes.node.isRequired\n};\nvar defaultProps = {};\n\nvar ScreensProvider = function ScreensProvider(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(ScreensProvider$1, {\n manager: manager\n }, children);\n};\n\nScreensProvider.propTypes = propTypes;\nScreensProvider.defaultProps = defaultProps;\n\nexport { ScreensProvider, manager as default };\n","import _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport React, { useRef, useCallback, useMemo, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Switch, Route, MemoryRouter } from 'react-router';\nimport { BrowserRouter } from 'react-router-dom';\nimport { ScreensProvider } from '@micromag/screens';\nimport { IntlProvider } from '@micromag/intl';\nimport fieldsManager from '@micromag/fields/manager';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenSizeProvider, ViewerProvider, useRoutes, useRoutePush, GoogleKeysProvider, GoogleMapsClientProvider, FieldsProvider, UserInteractionProvider, TrackingProvider, RoutesProvider } from '@micromag/core/contexts';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { Button, ScreenPreview, Screen, Meta, FontFaces } from '@micromag/core/components';\nimport { useDocumentEvent, useParsedStory, useLoadedFonts, useTrackScreenView, useTrackEvent, useScreenSizeFromElement, useResizeObserver, useFullscreen } from '@micromag/core/hooks';\nimport { getStyleFromColor, getStyleFromText, getDeviceScreens } from '@micromag/core/utils';\nimport { useSpring, config } from '@react-spring/core';\nimport { animated } from '@react-spring/web';\nimport classNames from 'classnames';\nimport { Helmet } from 'react-helmet';\nimport { useIntl, FormattedMessage } from 'react-intl';\nimport { useDrag } from 'react-use-gesture';\nimport { faTimes, faShare, faCompress, faExpand } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport Scroll from '@micromag/element-scroll';\nimport { FacebookShareButton, FacebookIcon, TwitterShareButton, TwitterIcon, EmailShareButton, EmailIcon } from 'react-share';\n\nvar routes = PropTypes.shape({\n home: PropTypes.string.isRequired,\n screen: PropTypes.string.isRequired\n});\n\nvar styles$6 = {\"container\":\"micromag-viewer-container\",\"menuPreview\":\"micromag-viewer-menuPreview\",\"menuPreviewContainer\":\"micromag-viewer-menuPreviewContainer\",\"screen\":\"micromag-viewer-screen\",\"screenInner\":\"micromag-viewer-screenInner\",\"content\":\"micromag-viewer-content\",\"menuDotsContainer\":\"micromag-viewer-menuDotsContainer\",\"menuDots\":\"micromag-viewer-menuDots\",\"current\":\"micromag-viewer-current\",\"landscape\":\"micromag-viewer-landscape\",\"hideMenu\":\"micromag-viewer-hideMenu\",\"ready\":\"micromag-viewer-ready\"};\n\nvar styles$5 = {\"container\":\"micromag-viewer-menus-menu-dots-container\",\"closeButton\":\"micromag-viewer-menus-menu-dots-closeButton\",\"item\":\"micromag-viewer-menus-menu-dots-item\",\"button\":\"micromag-viewer-menus-menu-dots-button\",\"menuButton\":\"micromag-viewer-menus-menu-dots-menuButton\",\"items\":\"micromag-viewer-menus-menu-dots-items\",\"dot\":\"micromag-viewer-menus-menu-dots-dot\",\"menu\":\"micromag-viewer-menus-menu-dots-menu\",\"menuIcon\":\"micromag-viewer-menus-menu-dots-menuIcon\",\"vertical\":\"micromag-viewer-menus-menu-dots-vertical\",\"withShadow\":\"micromag-viewer-menus-menu-dots-withShadow\"};\n\nvar styles$4 = {};\n\nvar propTypes$8 = {\n size: PropTypes.number,\n spacing: PropTypes.number,\n color: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps$8 = {\n size: 100,\n spacing: 8,\n color: 'white',\n className: null\n};\n\nvar MenuIcon = function MenuIcon(_ref) {\n var size = _ref.size,\n spacing = _ref.spacing,\n color = _ref.color,\n className = _ref.className;\n var squareSize = (size - 2 * spacing) / 3;\n return /*#__PURE__*/React.createElement(\"svg\", {\n className: classNames([styles$4.container, _defineProperty({}, className, className !== null)]),\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 \".concat(size, \" \").concat(size),\n \"aria-hidden\": \"true\"\n }, _toConsumableArray(new Array(9)).map(function (square, squareI) {\n var x = squareI % 3 * (squareSize + spacing);\n var y = Math.floor(squareI / 3) * (squareSize + spacing);\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"square-\".concat(squareI),\n fill: color,\n x: x,\n y: y,\n width: squareSize,\n height: squareSize\n });\n }));\n};\n\nMenuIcon.propTypes = propTypes$8;\nMenuIcon.defaultProps = defaultProps$8;\n\nvar propTypes$7 = {\n direction: PropTypes.oneOf(['horizontal', 'vertical']),\n withShadow: PropTypes.bool,\n items: PropTypes$1.menuItems,\n current: PropTypes.number,\n onClickItem: PropTypes.func,\n colors: PropTypes.shape({\n primary: PropTypes.string,\n secondary: PropTypes.string\n }),\n closeable: PropTypes.bool,\n onClose: PropTypes.func,\n className: PropTypes.string\n};\nvar defaultProps$7 = {\n direction: 'horizontal',\n withShadow: false,\n items: [],\n current: 0,\n onClickItem: null,\n colors: null,\n closeable: false,\n onClose: null,\n className: null\n};\n\nvar ViewerMenuDots = function ViewerMenuDots(_ref) {\n var _ref3;\n\n var direction = _ref.direction,\n withShadow = _ref.withShadow,\n items = _ref.items,\n current = _ref.current,\n onClickItem = _ref.onClickItem,\n colors = _ref.colors,\n closeable = _ref.closeable,\n onClose = _ref.onClose,\n className = _ref.className;\n\n var _ref2 = colors || {},\n _ref2$primary = _ref2.primary,\n primary = _ref2$primary === void 0 ? 'rgba(255, 255, 255, 1)' : _ref2$primary,\n _ref2$secondary = _ref2.secondary,\n secondary = _ref2$secondary === void 0 ? 'rgba(200, 200, 200, 0.5)' : _ref2$secondary;\n\n var intl = useIntl();\n return /*#__PURE__*/React.createElement(\"nav\", {\n className: classNames([styles$5.container, (_ref3 = {}, _defineProperty(_ref3, className, className !== null), _defineProperty(_ref3, styles$5.vertical, direction === 'vertical'), _defineProperty(_ref3, styles$5.withShadow, withShadow), _ref3)]),\n \"aria-label\": intl.formatMessage({\n \"id\": \"bLYuuN\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"You are on screen \"\n }, {\n \"type\": 1,\n \"value\": \"current\"\n }, {\n \"type\": 0,\n \"value\": \" of \"\n }, {\n \"type\": 1,\n \"value\": \"total\"\n }, {\n \"type\": 0,\n \"value\": \".\"\n }]\n }, {\n current: current + 1,\n total: items.length\n })\n }, /*#__PURE__*/React.createElement(\"ul\", {\n className: styles$5.items\n }, items.map(function (item, index) {\n return /*#__PURE__*/React.createElement(\"li\", {\n className: classNames([styles$5.item, _defineProperty({}, styles$5.active, current === index)]),\n key: \"item-\".concat(index),\n \"aria-hidden\": \"true\"\n }, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: styles$5.button,\n onClick: function onClick() {\n if (onClickItem !== null) {\n onClickItem(index);\n }\n },\n tabIndex: \"-1\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: styles$5.dot,\n style: {\n backgroundColor: index <= current ? primary : secondary\n }\n })));\n }), /*#__PURE__*/React.createElement(\"li\", {\n className: styles$5.menu\n }, /*#__PURE__*/React.createElement(MenuIcon, {\n className: styles$5.menuIcon,\n color: primary\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n title: intl.formatMessage({\n \"id\": \"F/gl4b\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Menu\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n \"id\": \"F/gl4b\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Menu\"\n }]\n }),\n className: styles$5.menuButton,\n onClick: function onClick() {\n if (onClickItem !== null) {\n onClickItem(null);\n }\n }\n })), closeable ? /*#__PURE__*/React.createElement(\"li\", {\n className: styles$5.closeButton,\n style: {\n color: primary\n }\n }, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: styles$5.closeButton,\n onClick: onClose,\n title: intl.formatMessage({\n \"id\": \"dj/p/q\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Close\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n \"id\": \"dj/p/q\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Close\"\n }]\n })\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n icon: faTimes\n }))) : null));\n};\n\nViewerMenuDots.propTypes = propTypes$7;\nViewerMenuDots.defaultProps = defaultProps$7;\n\nvar styles$3 = {\"container\":\"micromag-viewer-partials-share-modal-container\",\"content\":\"micromag-viewer-partials-share-modal-content\",\"opened\":\"micromag-viewer-partials-share-modal-opened\"};\n\nvar propTypes$6 = {\n url: PropTypes.string,\n title: PropTypes.string,\n opened: PropTypes.bool,\n className: PropTypes.string,\n onShare: PropTypes.func,\n onCancel: PropTypes.func\n};\nvar defaultProps$6 = {\n url: null,\n title: null,\n opened: false,\n className: null,\n onShare: null,\n onCancel: null\n};\n\nvar ShareModal = function ShareModal(_ref) {\n var _ref2;\n\n var url = _ref.url,\n title = _ref.title,\n opened = _ref.opened,\n className = _ref.className,\n onShare = _ref.onShare,\n onCancel = _ref.onCancel;\n var containerRef = useRef(null);\n var onShareButtonClick = useCallback(function (type) {\n if (onShare !== null) {\n onShare(type);\n }\n }, [onShare]);\n var shareButtonProps = useMemo(function () {\n return {\n url: url,\n onShareWindowClose: function onShareWindowClose() {\n if (onCancel !== null) {\n onCancel();\n }\n }\n };\n }, [url, onCancel]);\n var shareIconProps = useMemo(function () {\n return {\n size: 32,\n round: true\n };\n }, []);\n var onDocumentClick = useCallback(function (e) {\n var target = e.currentTarget;\n\n if (!containerRef.current || containerRef.current.contains(target)) {\n return;\n }\n\n if (onCancel !== null) {\n onCancel();\n }\n }, [opened, onCancel]);\n useDocumentEvent('click', onDocumentClick, opened);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$3.container, (_ref2 = {}, _defineProperty(_ref2, className, className), _defineProperty(_ref2, styles$3.opened, opened), _ref2)]),\n ref: containerRef,\n \"aria-hidden\": opened ? null : '-1'\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles$3.content\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles$3.buttons\n }, /*#__PURE__*/React.createElement(FacebookShareButton, Object.assign({}, shareButtonProps, {\n quote: title,\n beforeOnClick: function beforeOnClick() {\n onShareButtonClick('Facebook');\n return Promise.resolve();\n },\n tabIndex: opened ? null : '-1'\n }), /*#__PURE__*/React.createElement(FacebookIcon, shareIconProps)), /*#__PURE__*/React.createElement(TwitterShareButton, Object.assign({}, shareButtonProps, {\n title: title,\n beforeOnClick: function beforeOnClick() {\n onShareButtonClick('Twitter');\n return Promise.resolve();\n },\n tabIndex: opened ? null : '-1'\n }), /*#__PURE__*/React.createElement(TwitterIcon, shareIconProps)), /*#__PURE__*/React.createElement(EmailShareButton, Object.assign({}, shareButtonProps, {\n subject: title,\n beforeOnClick: function beforeOnClick() {\n onShareButtonClick('Email');\n return Promise.resolve();\n },\n tabIndex: opened ? null : '-1'\n }), /*#__PURE__*/React.createElement(EmailIcon, shareIconProps)))));\n};\n\nShareModal.propTypes = propTypes$6;\nShareModal.defaultProps = defaultProps$6;\n\nvar styles$2 = {\"container\":\"micromag-viewer-partials-share-button-container\",\"shareModal\":\"micromag-viewer-partials-share-button-shareModal\"};\n\nvar propTypes$5 = {\n title: PropTypes.string,\n url: PropTypes.string,\n className: PropTypes.string,\n buttonClassName: PropTypes.string,\n onShare: PropTypes.func,\n children: PropTypes.node,\n focusable: PropTypes.bool\n};\nvar defaultProps$5 = {\n title: null,\n url: null,\n className: null,\n buttonClassName: null,\n onShare: null,\n children: null,\n focusable: false\n};\n\nvar ShareButton = function ShareButton(_ref) {\n var title = _ref.title,\n url = _ref.url,\n className = _ref.className,\n buttonClassName = _ref.buttonClassName,\n onShare = _ref.onShare,\n children = _ref.children,\n focusable = _ref.focusable;\n var intl = useIntl();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n storyShareModalOpened = _useState2[0],\n setStoryShareModalOpened = _useState2[1];\n\n var onShareIconClick = useCallback(function () {\n setStoryShareModalOpened(function (opened) {\n return !opened;\n });\n }, [setStoryShareModalOpened]);\n var onStoryShared = useCallback(function (type) {\n setStoryShareModalOpened(false);\n\n if (onShare !== null) {\n onShare(type);\n }\n }, [setStoryShareModalOpened, onShare]);\n var onStoryShareCanceled = useCallback(function () {\n setStoryShareModalOpened(false);\n }, [setStoryShareModalOpened]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$2.container, _defineProperty({}, className, className !== null)])\n }, /*#__PURE__*/React.createElement(Button, {\n className: classNames([_defineProperty({}, buttonClassName, buttonClassName !== null)]),\n onClick: onShareIconClick,\n title: intl.formatMessage({\n \"id\": \"7tw6U2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Share\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n \"id\": \"7tw6U2\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Share\"\n }]\n }),\n focusable: focusable\n }, children), /*#__PURE__*/React.createElement(ShareModal, {\n className: styles$2.shareModal,\n opened: storyShareModalOpened,\n title: title,\n url: url,\n onShare: onStoryShared,\n onCancel: onStoryShareCanceled\n }));\n};\n\nShareButton.propTypes = propTypes$5;\nShareButton.defaultProps = defaultProps$5;\n\nvar styles$1 = {\"container\":\"micromag-viewer-menus-menu-preview-container\",\"screenButton\":\"micromag-viewer-menus-menu-preview-screenButton\",\"activeScreenBorder\":\"micromag-viewer-menus-menu-preview-activeScreenBorder\",\"itemContent\":\"micromag-viewer-menus-menu-preview-itemContent\",\"scroll\":\"micromag-viewer-menus-menu-preview-scroll\",\"header\":\"micromag-viewer-menus-menu-preview-header\",\"button\":\"micromag-viewer-menus-menu-preview-button\",\"shareButton\":\"micromag-viewer-menus-menu-preview-shareButton\",\"disabled\":\"micromag-viewer-menus-menu-preview-disabled\",\"icon\":\"micromag-viewer-menus-menu-preview-icon\",\"buttons\":\"micromag-viewer-menus-menu-preview-buttons\",\"organisation\":\"micromag-viewer-menus-menu-preview-organisation\",\"title\":\"micromag-viewer-menus-menu-preview-title\",\"content\":\"micromag-viewer-menus-menu-preview-content\",\"nav\":\"micromag-viewer-menus-menu-preview-nav\",\"item\":\"micromag-viewer-menus-menu-preview-item\",\"items\":\"micromag-viewer-menus-menu-preview-items\",\"active\":\"micromag-viewer-menus-menu-preview-active\",\"screenContainer\":\"micromag-viewer-menus-menu-preview-screenContainer\",\"screenContent\":\"micromag-viewer-menus-menu-preview-screenContent\"};\n\nvar propTypes$4 = {\n viewerTheme: PropTypes$1.viewerTheme,\n screenWidth: PropTypes.number,\n title: PropTypes.string,\n shareUrl: PropTypes.string,\n items: PropTypes$1.menuItems,\n current: PropTypes.number,\n focusable: PropTypes.bool,\n onClickItem: PropTypes.func,\n onClose: PropTypes.func,\n onShare: PropTypes.func,\n thumbsPerLine: PropTypes.number,\n toggleFullscreen: PropTypes.func,\n fullscreenActive: PropTypes.bool,\n fullscreenEnabled: PropTypes.bool,\n className: PropTypes.string\n};\nvar defaultProps$4 = {\n viewerTheme: null,\n screenWidth: null,\n title: null,\n shareUrl: null,\n items: [],\n current: 0,\n focusable: true,\n onClickItem: null,\n onClose: null,\n onShare: null,\n thumbsPerLine: 4,\n toggleFullscreen: null,\n fullscreenActive: false,\n fullscreenEnabled: false,\n className: null\n};\n\nvar ViewerMenuPreview = function ViewerMenuPreview(_ref) {\n var viewerTheme = _ref.viewerTheme,\n screenWidth = _ref.screenWidth,\n title = _ref.title,\n shareUrl = _ref.shareUrl,\n items = _ref.items,\n current = _ref.current,\n focusable = _ref.focusable,\n onClickItem = _ref.onClickItem,\n onClose = _ref.onClose,\n onShare = _ref.onShare,\n thumbsPerLine = _ref.thumbsPerLine,\n toggleFullscreen = _ref.toggleFullscreen,\n fullscreenActive = _ref.fullscreenActive,\n fullscreenEnabled = _ref.fullscreenEnabled,\n className = _ref.className;\n var intl = useIntl();\n var screenSizeRatio = \"\".concat(3 / 2 / thumbsPerLine * 100, \"%\");\n var screenRatioHeight = screenWidth * 3 / 2;\n var hasSize = screenWidth > 0;\n var hasItems = items !== null && items.length > 0;\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n thumbSize = _useState2[0],\n setThumbSize = _useState2[1];\n\n var firstScreenContainerRef = useRef(null);\n useEffect(function () {\n if (hasItems && hasSize && firstScreenContainerRef.current !== null) {\n var _firstScreenContainer = firstScreenContainerRef.current,\n offsetWidth = _firstScreenContainer.offsetWidth,\n offsetHeight = _firstScreenContainer.offsetHeight;\n setThumbSize({\n width: offsetWidth,\n height: offsetHeight\n });\n }\n }, [screenWidth, hasItems, hasSize]); // Viewer theme\n\n var _ref2 = viewerTheme || {},\n _ref2$colors = _ref2.colors,\n colors = _ref2$colors === void 0 ? null : _ref2$colors,\n _ref2$background = _ref2.background,\n background = _ref2$background === void 0 ? null : _ref2$background,\n _ref2$textStyles = _ref2.textStyles,\n textStyles = _ref2$textStyles === void 0 ? null : _ref2$textStyles,\n _ref2$logo = _ref2.logo,\n brandLogo = _ref2$logo === void 0 ? null : _ref2$logo;\n\n var _ref3 = textStyles || {},\n _ref3$title = _ref3.title,\n brandTextStyle = _ref3$title === void 0 ? null : _ref3$title;\n\n var _ref4 = colors || {},\n _ref4$primary = _ref4.primary,\n brandPrimaryColor = _ref4$primary === void 0 ? null : _ref4$primary,\n _ref4$secondary = _ref4.secondary,\n brandSecondaryColor = _ref4$secondary === void 0 ? null : _ref4$secondary;\n\n var _ref5 = background || {},\n _ref5$color = _ref5.color,\n brandBackgroundColor = _ref5$color === void 0 ? null : _ref5$color,\n _ref5$image = _ref5.image,\n image = _ref5$image === void 0 ? null : _ref5$image;\n\n var _ref6 = image || {},\n _ref6$url = _ref6.url,\n brandImageUrl = _ref6$url === void 0 ? null : _ref6$url;\n\n var borderPrimaryColorStyle = getStyleFromColor(brandPrimaryColor, 'borderColor');\n var colorSecondaryColorStyle = getStyleFromColor(brandSecondaryColor, 'color');\n var backgroundColorStyle = getStyleFromColor(brandBackgroundColor, 'backgroundColor');\n\n var _ref7 = brandLogo || {},\n _ref7$url = _ref7.url,\n brandLogoUrl = _ref7$url === void 0 ? null : _ref7$url;\n\n var brandImageStyle = brandImageUrl !== null ? {\n backgroundImage: \"url(\".concat(brandImageUrl, \")\")\n } : null;\n var titleStyle = brandTextStyle !== null ? getStyleFromText(brandTextStyle) : null;\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n scrolledBottom = _useState4[0],\n setScrolledBottom = _useState4[1];\n\n var dragBind = useDrag(function (_ref8) {\n var _ref8$direction = _slicedToArray(_ref8.direction, 2),\n dy = _ref8$direction[1],\n last = _ref8.last,\n tap = _ref8.tap;\n\n if (!tap && last && scrolledBottom && dy < 0 && onClose !== null) {\n onClose();\n }\n }, {\n filterTaps: true,\n eventOptions: {\n capture: true\n }\n });\n var onScrolledBottom = useCallback(function () {\n setScrolledBottom(true);\n }, [setScrolledBottom]);\n var onScrolledNotBottom = useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n return hasSize ? /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classNames([styles$1.container, _defineProperty({}, className, className !== null)]),\n style: _objectSpread(_objectSpread(_objectSpread({}, backgroundColorStyle), brandImageStyle), {}, {\n width: screenWidth\n }),\n \"aria-hidden\": focusable ? null : 'true'\n }, dragBind()), /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.header\n }, brandLogoUrl !== null ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.organisation,\n style: {\n backgroundImage: \"url(\".concat(brandLogoUrl, \")\")\n }\n }) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.title,\n style: titleStyle\n }, title), /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.buttons,\n style: colorSecondaryColorStyle\n }, /*#__PURE__*/React.createElement(ShareButton, {\n className: styles$1.shareButton,\n buttonClassName: styles$1.button,\n onShare: onShare,\n url: shareUrl,\n title: title,\n focusable: focusable\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles$1.icon,\n icon: faShare\n })), fullscreenEnabled ? /*#__PURE__*/React.createElement(Button, {\n className: styles$1.button,\n onClick: toggleFullscreen,\n title: intl.formatMessage({\n \"id\": \"AuxqcG\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Fullscreen\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n \"id\": \"AuxqcG\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Fullscreen\"\n }]\n }),\n focusable: focusable\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles$1.icon,\n icon: fullscreenActive ? faCompress : faExpand\n })) : null, /*#__PURE__*/React.createElement(Button, {\n className: styles$1.button,\n onClick: onClose,\n title: intl.formatMessage({\n \"id\": \"dj/p/q\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Close\"\n }]\n }),\n \"aria-label\": intl.formatMessage({\n \"id\": \"dj/p/q\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Close\"\n }]\n }),\n focusable: focusable\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles$1.icon,\n icon: faTimes\n })))), /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.content\n }, /*#__PURE__*/React.createElement(Scroll, {\n className: styles$1.scroll,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, /*#__PURE__*/React.createElement(\"nav\", {\n className: styles$1.nav\n }, /*#__PURE__*/React.createElement(\"ul\", {\n className: styles$1.items\n }, items.map(function (item, index) {\n var screenIndexLabel = intl.formatMessage({\n \"id\": \"LkVfwW\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Screen \"\n }, {\n \"type\": 1,\n \"value\": \"index\"\n }]\n }, {\n index: index + 1\n });\n var isCurrentScreenLabel = current === index ? \" \".concat(intl.formatMessage({\n \"id\": \"vmrJ8U\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"(current screen)\"\n }]\n })) : '';\n var screenAriaLabel = screenIndexLabel + isCurrentScreenLabel;\n return /*#__PURE__*/React.createElement(\"li\", {\n className: classNames([styles$1.item, _defineProperty({}, styles$1.active, current === index)]),\n key: \"item-\".concat(index),\n style: {\n paddingBottom: screenSizeRatio,\n width: \"\".concat(100 / thumbsPerLine, \"%\")\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.itemContent\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.screenContainer,\n ref: index === 0 ? firstScreenContainerRef : null\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.screenContent,\n style: thumbSize !== null ? {\n width: screenWidth,\n height: screenRatioHeight,\n transform: \"scale(\".concat(thumbSize.width / screenWidth)\n } : null,\n \"aria-hidden\": \"true\"\n }, /*#__PURE__*/React.createElement(ScreenPreview, {\n width: screenWidth,\n height: screenRatioHeight,\n screen: item,\n focusable: false\n })), current === index ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.activeScreenBorder,\n style: borderPrimaryColorStyle\n }) : null)), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: styles$1.screenButton,\n onClick: function onClick() {\n onClickItem(index);\n },\n \"aria-label\": screenAriaLabel,\n onKeyUp: function onKeyUp(e) {\n if (e.key === 'Enter') {\n onClickItem(index);\n }\n },\n tabIndex: focusable ? '0' : '-1'\n }));\n })))))) : null;\n};\n\nViewerMenuPreview.propTypes = propTypes$4;\nViewerMenuPreview.defaultProps = defaultProps$4;\n\nvar styles = {\"container\":\"micromag-viewer-screen-container\",\"current\":\"micromag-viewer-screen-current\"};\n\nvar propTypes$3 = {\n screen: PropTypes$1.screenComponent,\n renderContext: PropTypes$1.renderContext,\n current: PropTypes.bool,\n active: PropTypes.bool,\n onPrevious: PropTypes.func,\n onNext: PropTypes.func,\n onEnableInteraction: PropTypes.func,\n onDisableInteraction: PropTypes.func,\n getMediaRef: PropTypes.func\n};\nvar defaultProps$3 = {\n screen: null,\n renderContext: null,\n current: false,\n active: true,\n onPrevious: null,\n onNext: null,\n onEnableInteraction: null,\n onDisableInteraction: null,\n getMediaRef: null\n};\n\nvar ViewerScreen = function ViewerScreen(_ref) {\n var _ref2;\n\n var screen = _ref.screen,\n renderContext = _ref.renderContext,\n active = _ref.active,\n current = _ref.current,\n onPrevious = _ref.onPrevious,\n onNext = _ref.onNext,\n onEnableInteraction = _ref.onEnableInteraction,\n onDisableInteraction = _ref.onDisableInteraction,\n getMediaRef = _ref.getMediaRef;\n return screen !== null ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref2 = {}, _defineProperty(_ref2, styles.active, active), _defineProperty(_ref2, styles.current, current), _ref2)]),\n \"aria-hidden\": current ? null : 'true'\n }, /*#__PURE__*/React.createElement(Screen, {\n screen: screen,\n renderContext: renderContext,\n active: active,\n current: current,\n onPrevious: onPrevious,\n onNext: onNext,\n onEnableInteraction: onEnableInteraction,\n onDisableInteraction: onDisableInteraction,\n getMediaRef: getMediaRef\n })) : null;\n};\n\nViewerScreen.propTypes = propTypes$3;\nViewerScreen.defaultProps = defaultProps$3;\n\nvar propTypes$2 = {\n story: PropTypes$1.story,\n // .isRequired,\n basePath: PropTypes.string,\n theme: PropTypes$1.viewerTheme,\n width: PropTypes.number,\n height: PropTypes.number,\n screen: PropTypes.string,\n deviceScreens: PropTypes$1.deviceScreens,\n renderContext: PropTypes$1.renderContext,\n onScreenChange: PropTypes.func,\n tapNextScreenWidthPercent: PropTypes.number,\n neighborScreensActive: PropTypes.number,\n storyIsParsed: PropTypes.bool,\n landscapeScreenMargin: PropTypes.number,\n withMetadata: PropTypes.bool,\n withoutMenu: PropTypes.bool,\n withoutFullscreen: PropTypes.bool,\n closeable: PropTypes.bool,\n onClose: PropTypes.func,\n onInteraction: PropTypes.func,\n onEnd: PropTypes.func,\n onViewModeChange: PropTypes.func,\n currentScreenMedia: PropTypes$1.ref,\n screensMedias: PropTypes$1.ref,\n screenSizeOptions: PropTypes.shape({\n withoutMaxSize: PropTypes.bool,\n desktopHeightRatio: PropTypes.number,\n screenRatio: PropTypes.number\n }),\n className: PropTypes.string\n};\nvar defaultProps$2 = {\n story: null,\n theme: null,\n basePath: null,\n width: null,\n height: null,\n screen: null,\n deviceScreens: getDeviceScreens(),\n renderContext: 'view',\n onScreenChange: null,\n tapNextScreenWidthPercent: 0.5,\n neighborScreensActive: 2,\n storyIsParsed: false,\n landscapeScreenMargin: 50,\n withMetadata: false,\n withoutMenu: false,\n withoutFullscreen: false,\n closeable: false,\n onClose: null,\n onInteraction: null,\n onEnd: null,\n onViewModeChange: null,\n currentScreenMedia: null,\n screensMedias: null,\n screenSizeOptions: null,\n className: null\n};\n\nvar Viewer = function Viewer(_ref) {\n var _ref15;\n\n var story = _ref.story,\n basePath = _ref.basePath,\n viewerTheme = _ref.theme,\n width = _ref.width,\n height = _ref.height,\n screenId = _ref.screen,\n deviceScreens = _ref.deviceScreens,\n renderContext = _ref.renderContext,\n onScreenChange = _ref.onScreenChange,\n tapNextScreenWidthPercent = _ref.tapNextScreenWidthPercent,\n neighborScreensActive = _ref.neighborScreensActive,\n storyIsParsed = _ref.storyIsParsed,\n landscapeScreenMargin = _ref.landscapeScreenMargin,\n withMetadata = _ref.withMetadata,\n withoutMenu = _ref.withoutMenu;\n _ref.withoutFullscreen;\n var closeable = _ref.closeable,\n onClose = _ref.onClose,\n onInteraction = _ref.onInteraction,\n onEnd = _ref.onEnd,\n onViewModeChange = _ref.onViewModeChange,\n currentScreenMedia = _ref.currentScreenMedia,\n screensMedias = _ref.screensMedias,\n screenSizeOptions = _ref.screenSizeOptions,\n className = _ref.className;\n var intl = useIntl();\n var parsedStory = useParsedStory(story, {\n disabled: storyIsParsed\n }) || {};\n var _parsedStory$componen = parsedStory.components,\n screens = _parsedStory$componen === void 0 ? [] : _parsedStory$componen,\n _parsedStory$title = parsedStory.title,\n title = _parsedStory$title === void 0 ? null : _parsedStory$title,\n _parsedStory$metadata = parsedStory.metadata,\n metadata = _parsedStory$metadata === void 0 ? null : _parsedStory$metadata,\n _parsedStory$fonts = parsedStory.fonts,\n fonts = _parsedStory$fonts === void 0 ? null : _parsedStory$fonts; // Viewer Theme\n\n var _ref2 = viewerTheme || {},\n textStyles = _ref2.textStyles;\n\n var _ref3 = textStyles || {},\n _ref3$title = _ref3.title,\n themeTextStyle = _ref3$title === void 0 ? null : _ref3$title;\n\n var _ref4 = themeTextStyle || {},\n _ref4$fontFamily = _ref4.fontFamily,\n themeFont = _ref4$fontFamily === void 0 ? null : _ref4$fontFamily; // Fonts\n\n\n var finalFonts = useMemo(function () {\n return [].concat(_toConsumableArray(fonts || []), [themeFont]).filter(function (font) {\n return font !== null;\n });\n }, [fonts]);\n\n var _useLoadedFonts = useLoadedFonts(finalFonts);\n _useLoadedFonts.loaded; // eslint-disable-line\n\n\n var shareUrl = useMemo(function () {\n var origin = typeof window !== 'undefined' ? window.location.origin.replace(/\\/+$/, '') : '';\n var path = basePath !== null ? \"\".concat(origin).concat(basePath) : origin;\n return path;\n }, [basePath]);\n var isView = renderContext === 'view';\n var isStatic = renderContext === 'static';\n var isCapture = renderContext === 'capture';\n var withoutScreensTransforms = isStatic || isCapture;\n var trackScreenView = useTrackScreenView();\n var trackEvent = useTrackEvent();\n var contentRef = useRef(null); // Get screen size\n\n var _useScreenSizeFromEle = useScreenSizeFromElement(_objectSpread({\n width: width,\n height: height,\n screens: deviceScreens\n }, screenSizeOptions)),\n containerRef = _useScreenSizeFromEle.ref,\n screenSize = _useScreenSizeFromEle.screenSize;\n\n var _ref5 = screenSize || {},\n _ref5$width = _ref5.width,\n screenWidth = _ref5$width === void 0 ? null : _ref5$width,\n _ref5$height = _ref5.height,\n screenHeight = _ref5$height === void 0 ? null : _ref5$height,\n _ref5$landscape = _ref5.landscape,\n landscape = _ref5$landscape === void 0 ? false : _ref5$landscape,\n _ref5$menuOverScreen = _ref5.menuOverScreen,\n menuOverScreen = _ref5$menuOverScreen === void 0 ? false : _ref5$menuOverScreen;\n\n var hasSize = screenWidth > 0 && screenHeight > 0;\n var ready = hasSize; // && fontsLoaded;\n\n useEffect(function () {\n if (ready && onViewModeChange !== null) {\n onViewModeChange({\n landscape: landscape\n });\n }\n }, [ready, landscape, onViewModeChange]); // Get dots menu height\n\n var _useResizeObserver = useResizeObserver(),\n menuDotsContainerRef = _useResizeObserver.ref,\n menuDotsContainerRect = _useResizeObserver.entry.contentRect;\n\n var _ref6 = menuDotsContainerRect || {},\n _ref6$height = _ref6.height,\n menuDotsContainerHeight = _ref6$height === void 0 ? 0 : _ref6$height; // Get preview menu height\n\n\n var _useResizeObserver2 = useResizeObserver(),\n menuPreviewContainerRef = _useResizeObserver2.ref,\n menuPreviewContainerRect = _useResizeObserver2.entry.contentRect;\n\n var _ref7 = menuPreviewContainerRect || {},\n _ref7$height = _ref7.height,\n menuPreviewContainerHeight = _ref7$height === void 0 ? 0 : _ref7$height;\n\n var screensMediasRef = useRef([]); // Screen index\n\n var screenIndex = useMemo(function () {\n return Math.max(0, screens.findIndex(function (it) {\n return String(it.id) === String(screenId);\n }));\n }, [screenId, screens]);\n\n if (currentScreenMedia !== null) {\n currentScreenMedia.current = screensMediasRef.current[screenIndex];\n }\n\n if (screensMedias !== null) {\n screensMedias.current = screensMediasRef.current;\n }\n\n var changeIndex = useCallback(function (index) {\n if (index === screenIndex) {\n return;\n }\n\n if (currentScreenMedia !== null) {\n currentScreenMedia.current = screensMediasRef.current[index];\n }\n\n if (onScreenChange !== null) {\n onScreenChange(screens[index], index);\n }\n }, [screenIndex, screens, onScreenChange]); // Track screen view\n\n var trackingEnabled = isView;\n var validIndex = screens.length > 0 && screenIndex < screens.length;\n var currentScreen = validIndex ? screens[screenIndex] : null;\n\n var _ref8 = currentScreen || {},\n _ref8$type = _ref8.type,\n screenType = _ref8$type === void 0 ? null : _ref8$type;\n\n useEffect(function () {\n if (trackingEnabled && currentScreen !== null) {\n trackScreenView(currentScreen, screenIndex);\n }\n }, [currentScreen, trackScreenView, trackingEnabled]); // Handle interaction enable\n\n var currentScreenRef = useRef(null);\n var onScreenPrevious = useCallback(function () {\n changeIndex(Math.max(0, screenIndex - 1));\n currentScreenRef.current.focus();\n }, [changeIndex]);\n var onScreenNext = useCallback(function () {\n changeIndex(Math.min(screens.length - 1, screenIndex + 1));\n currentScreenRef.current.focus();\n }, [changeIndex]);\n var screensCount = screens.length;\n\n var _useState = useState(screens.map(function () {\n return true;\n })),\n _useState2 = _slicedToArray(_useState, 2),\n screensInteractionEnabled = _useState2[0],\n setScreensInteractionEnabled = _useState2[1];\n\n var currentScreenInteractionEnabled = screensInteractionEnabled[screenIndex];\n var menuVisible = screensCount === 0 || currentScreenInteractionEnabled;\n useEffect(function () {\n setScreensInteractionEnabled(_toConsumableArray(Array(screensCount).keys()).map(function () {\n return true;\n }));\n }, [screensCount]);\n var onEnableInteraction = useCallback(function () {\n if (!screensInteractionEnabled[screenIndex]) {\n var newArray = _toConsumableArray(screensInteractionEnabled);\n\n newArray[screenIndex] = true;\n setScreensInteractionEnabled(newArray);\n }\n }, [screenIndex, screensInteractionEnabled, setScreensInteractionEnabled]);\n var onDisableInteraction = useCallback(function () {\n if (screensInteractionEnabled[screenIndex]) {\n var newArray = _toConsumableArray(screensInteractionEnabled);\n\n newArray[screenIndex] = false;\n setScreensInteractionEnabled(newArray);\n }\n }, [screenIndex, screensInteractionEnabled, setScreensInteractionEnabled]); // handle screenClick\n\n var onInteractionPrivate = useCallback(function () {\n if (onInteraction !== null) {\n onInteraction();\n }\n }, [onInteraction]);\n var onScreenClick = useCallback(function (e, index) {\n onInteractionPrivate();\n\n var checkClickable = function checkClickable(el) {\n var maxDistance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var distance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n\n var _ref9 = el || {},\n _ref9$tagName = _ref9.tagName,\n tagName = _ref9$tagName === void 0 ? null : _ref9$tagName,\n _ref9$parentNode = _ref9.parentNode,\n parentNode = _ref9$parentNode === void 0 ? null : _ref9$parentNode;\n\n if (tagName === 'BODY') {\n return false;\n }\n\n var tags = ['BUTTON', 'A', 'INPUT', 'TEXTAREA'];\n\n if (tags.indexOf(tagName) > -1) {\n return true;\n }\n\n if (distance < maxDistance) {\n return checkClickable(parentNode, maxDistance, distance + 1);\n }\n\n return false;\n };\n\n var tappedCurrent = screenIndex === index;\n\n if (!isView && tappedCurrent || checkClickable(e.target)) {\n return;\n }\n\n var it = screens[screenIndex] || null;\n var interactionEnabled = screensInteractionEnabled[screenIndex];\n\n if (it === null || tappedCurrent && !interactionEnabled) {\n return;\n }\n\n var nextIndex = screenIndex;\n\n var _e$currentTarget$getB = e.currentTarget.getBoundingClientRect(),\n _e$currentTarget$getB2 = _e$currentTarget$getB.left,\n contentX = _e$currentTarget$getB2 === void 0 ? 0 : _e$currentTarget$getB2;\n\n var tapX = e.clientX;\n var hasTappedLeft = tappedCurrent ? tapX - contentX < screenWidth * (1 - tapNextScreenWidthPercent) : screenIndex > index;\n\n if (hasTappedLeft) {\n nextIndex = landscape ? index : Math.max(0, screenIndex - 1);\n } else {\n nextIndex = landscape ? index : Math.min(screens.length - 1, screenIndex + 1);\n var isLastScreen = screenIndex === screens.length - 1;\n\n if (isLastScreen && onEnd !== null) {\n onEnd();\n }\n }\n\n changeIndex(nextIndex);\n }, [onScreenChange, screenWidth, screens, changeIndex, screenIndex, screensInteractionEnabled, isView, onInteractionPrivate, onEnd]); // swipe menu open\n\n var menuOpened = useRef(false);\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n previewMenuOpen = _useState4[0],\n setPreviewMenuOpen = _useState4[1];\n\n var _useSpring = useSpring(function () {\n return {\n y: 0,\n config: _objectSpread(_objectSpread({}, config.stiff), {}, {\n clamp: true\n })\n };\n }),\n _useSpring2 = _slicedToArray(_useSpring, 2),\n menuY = _useSpring2[0].y,\n setMenuSpring = _useSpring2[1];\n\n var menuPreviewStyle = {\n transform: menuY.to(function (y) {\n return \"translateY(\".concat(y * menuPreviewContainerHeight, \"px)\");\n })\n };\n var menuDragBind = useDrag(function (_ref10) {\n var _ref10$movement = _slicedToArray(_ref10.movement, 2),\n my = _ref10$movement[1],\n first = _ref10.first,\n last = _ref10.last,\n _ref10$direction = _slicedToArray(_ref10.direction, 2),\n dy = _ref10$direction[1],\n cancel = _ref10.cancel,\n canceled = _ref10.canceled,\n tap = _ref10.tap;\n\n if (canceled || tap) {\n return;\n }\n\n var isMenuOpened = menuOpened.current;\n\n if (first) {\n if (isMenuOpened) {\n cancel();\n return;\n }\n }\n\n var yProgress = Math.max(0, Math.min(1, my / menuPreviewContainerHeight + (isMenuOpened ? 1 : 0)));\n\n if (last) {\n var menuNowOpened = dy > 0 && yProgress > 0.1;\n menuOpened.current = menuNowOpened;\n setMenuSpring.start({\n y: menuNowOpened ? 1 : 0\n });\n setPreviewMenuOpen(menuNowOpened);\n } else {\n setMenuSpring.start({\n y: yProgress\n });\n }\n }, {\n axis: 'y',\n filterTaps: true\n });\n\n var setPreviewMenu = function setPreviewMenu(opened) {\n setMenuSpring.start({\n y: opened ? 1 : 0\n });\n menuOpened.current = opened;\n setPreviewMenuOpen(opened);\n };\n\n var openPreviewMenu = useCallback(function () {\n setPreviewMenu(true);\n }, [setMenuSpring, setPreviewMenuOpen]);\n var closePreviewMenu = useCallback(function () {\n setPreviewMenu(false);\n }, [setMenuSpring, setPreviewMenuOpen]); // Handle dot menu item click\n\n var onClickDotsMenuItem = useCallback(function (index) {\n onInteractionPrivate();\n var clickedOnDot = index !== null;\n var goToScreen = landscape && clickedOnDot;\n\n if (goToScreen) {\n changeIndex(index);\n } else {\n openPreviewMenu();\n }\n\n if (trackingEnabled) {\n var trackAction = goToScreen ? 'click_screen_change' : 'click_open';\n var trackLabel = clickedOnDot ? \"Screen \".concat(index + 1) : 'Menu icon';\n trackEvent('viewer_menu', trackAction, trackLabel, {\n screenId: screenId,\n screenType: screenType,\n screenIndex: index\n });\n }\n }, [changeIndex, landscape, trackingEnabled, trackEvent, screenType, onInteractionPrivate]); // handle preview menu item click\n\n var onClickPreviewMenuItem = useCallback(function (index) {\n changeIndex(index);\n closePreviewMenu();\n\n if (trackingEnabled) {\n trackEvent('viewer_menu', 'click_screen_change', \"Screen \".concat(index + 1), {\n screenId: screenId,\n screenType: screenType,\n screenIndex: index\n });\n }\n }, [changeIndex, trackingEnabled, trackEvent, screenId, screenType]); // Handle preview menu close click\n\n var onClickPreviewMenuClose = useCallback(function () {\n closePreviewMenu();\n\n if (trackingEnabled) {\n trackEvent('viewer_menu', 'click_close', 'Close icon', {\n screenId: screenId,\n screenIndex: screenIndex,\n screenType: screenType\n });\n }\n }, [closePreviewMenu, trackingEnabled, trackEvent, screenId, screenIndex, screenType]); // Handle preview menu share click\n\n var onClickShare = useCallback(function (type) {\n if (trackingEnabled) {\n trackEvent('viewer_menu', 'click_share', type, {\n screenId: screenId,\n screenIndex: screenIndex,\n screenType: screenType\n });\n }\n }, [trackingEnabled, trackEvent, screenId, screenIndex, screenType]);\n var onContextMenu = useCallback(function (e) {\n if (!landscape) {\n e.preventDefault();\n return false;\n }\n\n return true;\n }, [landscape]);\n var overscrollStyle = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"body { overscroll-behavior: contain; }\"); // Fullscreen\n\n var _useFullscreen = useFullscreen(containerRef.current || null),\n toggleFullscreen = _useFullscreen.toggle,\n fullscreenActive = _useFullscreen.active,\n fullscreenEnabled = _useFullscreen.enabled; // Keyboard Events\n\n\n useEffect(function () {\n var onKey = function onKey(e) {\n if (['input', 'textarea'].reduce(function (foundMatch, match) {\n return foundMatch || e.target.matches(match);\n }, false)) {\n return;\n }\n\n var key = e.key;\n var lowercaseKey = key.toLowerCase();\n\n switch (lowercaseKey) {\n case 'f':\n toggleFullscreen();\n break;\n\n case 'm':\n setPreviewMenu(!menuOpened.current);\n break;\n\n case 'escape':\n closePreviewMenu();\n break;\n\n case 'arrowleft':\n onScreenPrevious();\n break;\n\n case 'arrowright':\n case ' ':\n // spacebar\n onScreenNext();\n break;\n }\n };\n\n if (renderContext === 'view') {\n window.addEventListener('keydown', onKey);\n }\n\n return function () {\n window.removeEventListener('keydown', onKey);\n };\n }, [renderContext, closePreviewMenu, onScreenPrevious, onScreenNext]);\n\n var _ref11 = currentScreen || {},\n screenParameters = _ref11.parameters;\n\n var _ref12 = screenParameters || {},\n screenMetadata = _ref12.metadata;\n\n var _ref13 = screenMetadata || {},\n _ref13$title = _ref13.title,\n screenTitle = _ref13$title === void 0 ? null : _ref13$title,\n _ref13$description = _ref13.description,\n screenDescription = _ref13$description === void 0 ? null : _ref13$description;\n\n var finalTitle = screenTitle !== null ? screenTitle : title;\n var finalMetadata = useMemo(function () {\n return screenDescription !== null ? _objectSpread(_objectSpread({}, metadata), {}, {\n description: screenDescription\n }) : metadata;\n }, [metadata]);\n\n var _ref14 = viewerTheme || {},\n _ref14$menuTheme = _ref14.menuTheme,\n menuTheme = _ref14$menuTheme === void 0 ? null : _ref14$menuTheme;\n\n return /*#__PURE__*/React.createElement(ScreenSizeProvider, {\n size: screenSize\n }, /*#__PURE__*/React.createElement(ViewerProvider, {\n menuVisible: menuVisible,\n menuSize: menuDotsContainerHeight\n }, withMetadata ? /*#__PURE__*/React.createElement(Meta, {\n title: finalTitle,\n metadata: finalMetadata\n }, overscrollStyle) : /*#__PURE__*/React.createElement(Helmet, null, overscrollStyle), /*#__PURE__*/React.createElement(FontFaces, {\n fonts: finalFonts\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$6.container, screenSize.screens.map(function (screenName) {\n return \"story-screen-\".concat(screenName);\n }), (_ref15 = {}, _defineProperty(_ref15, styles$6.landscape, landscape), _defineProperty(_ref15, styles$6.hideMenu, !menuVisible), _defineProperty(_ref15, styles$6.ready, ready || withoutScreensTransforms), _defineProperty(_ref15, className, className), _ref15)]),\n ref: containerRef,\n onContextMenu: onContextMenu\n }, !withoutMenu ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: styles$6.menuDotsContainer,\n ref: menuDotsContainerRef,\n style: {\n width: screenWidth\n }\n }, menuDragBind()), /*#__PURE__*/React.createElement(ViewerMenuDots, Object.assign({}, menuTheme, {\n direction: \"horizontal\",\n withShadow: menuOverScreen,\n items: screens,\n current: screenIndex,\n onClickItem: onClickDotsMenuItem,\n closeable: closeable,\n onClose: onClose,\n className: styles$6.menuDots\n }))), /*#__PURE__*/React.createElement(animated.div, {\n className: styles$6.menuPreviewContainer,\n style: menuPreviewStyle,\n ref: menuPreviewContainerRef\n }, /*#__PURE__*/React.createElement(ViewerMenuPreview, {\n viewerTheme: viewerTheme,\n title: title,\n shareUrl: shareUrl,\n className: styles$6.menuPreview,\n screenWidth: screenWidth,\n focusable: previewMenuOpen,\n items: screens,\n current: screenIndex,\n onClickItem: onClickPreviewMenuItem,\n onClose: onClickPreviewMenuClose,\n onShare: onClickShare,\n toggleFullscreen: toggleFullscreen,\n fullscreenActive: fullscreenActive,\n fullscreenEnabled: fullscreenEnabled\n }))) : null, ready || withoutScreensTransforms ? /*#__PURE__*/React.createElement(\"div\", {\n ref: contentRef,\n className: styles$6.content\n }, screens.map(function (scr, i) {\n var current = i === screenIndex;\n var active = i > screenIndex - neighborScreensActive && i < screenIndex + neighborScreensActive;\n var viewerScreen = /*#__PURE__*/React.createElement(ViewerScreen, {\n screen: scr,\n renderContext: renderContext,\n index: i,\n current: current,\n active: active,\n onPrevious: onScreenPrevious,\n onNext: onScreenNext,\n onEnableInteraction: onEnableInteraction,\n onDisableInteraction: onDisableInteraction,\n getMediaRef: function getMediaRef(mediaRef) {\n screensMediasRef.current[i] = mediaRef;\n }\n });\n var key = \"screen-viewer-\".concat(scr.id || '', \"-\").concat(i + 1);\n var screenTransform = landscape ? \"translateX(calc(\".concat((screenWidth + landscapeScreenMargin) * (i - screenIndex), \"px - 50%)) scale(\").concat(current ? 1 : 0.9, \")\") : \"translateX(\".concat(current ? 0 : \"\".concat(active ? '100' : '101', \"%\"), \")\");\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: key\n }, current && screenIndex > 0 ? /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"sr-only\",\n onClick: onScreenPrevious,\n tabIndex: \"-1\"\n }, /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"zYH/31\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Go to previous screen\"\n }]\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n ref: current ? currentScreenRef : null,\n style: {\n width: landscape ? screenWidth : null,\n height: landscape ? screenHeight : null,\n transform: !withoutScreensTransforms ? screenTransform : null\n },\n className: classNames([styles$6.screen, _defineProperty({}, styles$6.current, current)]),\n tabIndex: active ? '0' : '-1'\n /* eslint-disable-line */\n ,\n \"aria-hidden\": current ? null : 'true',\n \"aria-label\": intl.formatMessage({\n \"id\": \"LkVfwW\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Screen \"\n }, {\n \"type\": 1,\n \"value\": \"index\"\n }]\n }, {\n index: i + 1\n }),\n onKeyUp: function onKeyUp(e) {\n if (e.key === 'Enter') {\n onScreenClick(e, i);\n }\n },\n onClick: function onClick(e) {\n onScreenClick(e, i);\n }\n }, viewerScreen), current && screenIndex < screens.length ? /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"sr-only\",\n onClick: onScreenNext,\n tabIndex: \"-1\"\n }, /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"v9bqYj\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Go to next screen\"\n }]\n })) : null);\n })) : null)));\n};\n\nViewer.propTypes = propTypes$2;\nViewer.defaultProps = defaultProps$2;\n\nvar _excluded$1 = [\"children\", \"onScreenChange\"];\nvar propTypes$1 = {\n children: PropTypes.func,\n onScreenChange: PropTypes.func\n};\nvar defaultProps$1 = {\n children: null,\n onScreenChange: null\n};\n\nvar ViewerRoutes = function ViewerRoutes(_ref) {\n _ref.children;\n var onScreenChange = _ref.onScreenChange,\n otherProps = _objectWithoutProperties(_ref, _excluded$1);\n\n var routes = useRoutes();\n var push = useRoutePush();\n var finalOnScreenChange = useCallback(function (it) {\n push('screen', {\n screen: it.id\n });\n\n if (onScreenChange !== null) {\n onScreenChange(it);\n }\n }, [push, onScreenChange]);\n return /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {\n path: routes.home,\n exact: true,\n render: function render() {\n return /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {\n onScreenChange: finalOnScreenChange\n }));\n }\n }), /*#__PURE__*/React.createElement(Route, {\n path: routes.screen,\n render: function render(_ref2) {\n var screen = _ref2.match.params.screen;\n return /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {\n screen: screen,\n onScreenChange: finalOnScreenChange\n }));\n }\n }));\n};\n\nViewerRoutes.propTypes = propTypes$1;\nViewerRoutes.defaultProps = defaultProps$1;\n\nvar home = \"/\";\nvar screen = \"/:screen\";\nvar defaultRoutes = {\n home: home,\n screen: screen\n};\n\nvar _excluded = [\"story\", \"memoryRouter\", \"basePath\", \"routes\", \"withoutRouter\", \"googleApiKey\", \"trackingVariables\", \"locale\", \"locales\", \"translations\"];\nvar propTypes = {\n story: PropTypes$1.story,\n screen: PropTypes.string,\n memoryRouter: PropTypes.bool,\n basePath: PropTypes.string,\n routes: routes,\n withoutRouter: PropTypes.bool,\n googleApiKey: PropTypes.string,\n trackingVariables: PropTypes$1.trackingVariables,\n locale: PropTypes.string,\n locales: PropTypes.arrayOf(PropTypes.string),\n translations: PropTypes.objectOf(PropTypes.string),\n children: PropTypes.func\n};\nvar defaultProps = {\n story: null,\n screen: null,\n memoryRouter: false,\n basePath: null,\n routes: defaultRoutes,\n withoutRouter: false,\n googleApiKey: null,\n trackingVariables: null,\n locale: 'en',\n locales: ['fr', 'en'],\n translations: null,\n children: null\n};\n\nvar ViewerContainer = function ViewerContainer(_ref) {\n var story = _ref.story,\n memoryRouter = _ref.memoryRouter,\n basePath = _ref.basePath,\n routes = _ref.routes,\n withoutRouter = _ref.withoutRouter,\n googleApiKey = _ref.googleApiKey,\n trackingVariables = _ref.trackingVariables,\n locale = _ref.locale,\n locales = _ref.locales,\n translations = _ref.translations,\n otherProps = _objectWithoutProperties(_ref, _excluded);\n\n var Router = memoryRouter ? MemoryRouter : BrowserRouter;\n var finalTrackingVariables = useMemo(function () {\n if (story === null && trackingVariables === null) {\n return null;\n }\n\n var _story$id = story.id,\n id = _story$id === void 0 ? null : _story$id,\n _story$slug = story.slug,\n slug = _story$slug === void 0 ? null : _story$slug,\n _story$title = story.title,\n title = _story$title === void 0 ? null : _story$title,\n _story$components = story.components,\n components = _story$components === void 0 ? [] : _story$components;\n return _objectSpread({\n storyId: id,\n storySlug: slug,\n storyTitle: title,\n screensCount: (components || []).length\n }, trackingVariables);\n }, [story, trackingVariables]);\n\n var _ref2 = story || {},\n metadata = _ref2.metadata;\n\n var _ref3 = metadata || {},\n _ref3$language = _ref3.language,\n finalLocale = _ref3$language === void 0 ? locale : _ref3$language;\n\n var content = /*#__PURE__*/React.createElement(IntlProvider, {\n locale: finalLocale,\n locales: locales,\n extraMessages: translations\n }, /*#__PURE__*/React.createElement(GoogleKeysProvider, {\n apiKey: googleApiKey\n }, /*#__PURE__*/React.createElement(GoogleMapsClientProvider, {\n locale: finalLocale\n }, /*#__PURE__*/React.createElement(FieldsProvider, {\n manager: fieldsManager\n }, /*#__PURE__*/React.createElement(ScreensProvider, null, /*#__PURE__*/React.createElement(UserInteractionProvider, null, /*#__PURE__*/React.createElement(TrackingProvider, {\n variables: finalTrackingVariables\n }, withoutRouter ? /*#__PURE__*/React.createElement(Viewer, Object.assign({\n story: story,\n basePath: basePath\n }, otherProps)) : /*#__PURE__*/React.createElement(ViewerRoutes, Object.assign({\n story: story,\n basePath: basePath\n }, otherProps)))))))));\n return withoutRouter ? content : /*#__PURE__*/React.createElement(Router, {\n basename: !memoryRouter ? basePath : null\n }, /*#__PURE__*/React.createElement(RoutesProvider, {\n routes: routes\n }, content));\n};\n\nViewerContainer.propTypes = propTypes;\nViewerContainer.defaultProps = defaultProps;\n\nexport { Viewer, ViewerContainer as default };\n","/* eslint-disable import/no-extraneous-dependencies */\n// organize-imports-ignore\nimport './public-path';\nimport Viewer from '@micromag/viewer';\nimport React from 'react';\nimport { render } from 'react-dom';\nimport '@micromag/viewer/scss/styles.scss';\nimport './index.css';\n\nconst initialStory = typeof window.MICROMAG_STORY !== 'undefined' ? window.MICROMAG_STORY : null;\nconst initialProps =\n typeof window.MICROMAG_VIEWER_PROPS !== 'undefined' ? window.MICROMAG_VIEWER_PROPS : null;\nconst rootElementId =\n typeof window.MICROMAG_ROOT_ELEMENT_ID !== 'undefined'\n ? window.MICROMAG_ROOT_ELEMENT_ID\n : 'root';\nconst defaultRootElement =\n typeof window.MICROMAG_ROOT_ELEMENT !== 'undefined'\n ? window.MICROMAG_ROOT_ELEMENT\n : document.getElementById(rootElementId);\nconst renderStoryFnc =\n typeof window.MICROMAG_RENDER_STORY_FNC !== 'undefined'\n ? window.MICROMAG_RENDER_STORY_FNC\n : 'renderStory';\n\nconst renderStory = (story, props = {}, root = defaultRootElement) => {\n render(\n React.createElement(Viewer, {\n ...props,\n story,\n }),\n root,\n );\n};\n\nif (initialStory !== null) {\n renderStory(initialStory, initialProps);\n}\n\nif (renderStoryFnc !== null) {\n window[renderStoryFnc] = renderStory;\n}\n","/* eslint-disable */\n__webpack_public_path__ =\n typeof window.MICROMAG_PUBLIC_PATH !== 'undefined' ? window.MICROMAG_PUBLIC_PATH : '/';\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar React = require('react');\nvar PropTypes = require('prop-types');\nvar classNames = require('classnames');\nvar reactRouterDom = require('react-router-dom');\nvar core = require('@micromag/core');\nvar reactIntl = require('react-intl');\nvar utils = require('@micromag/core/utils');\nvar reactFontawesome = require('@fortawesome/react-fontawesome');\nvar freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nvar hooks = require('@micromag/core/hooks');\nvar contexts = require('@micromag/core/contexts');\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar get = require('lodash/get');\nvar ReactDOM = require('react-dom');\nvar isArray = require('lodash/isArray');\nvar react = require('@uppy/react');\nvar dayjs = require('dayjs');\nvar throttle = require('lodash/throttle');\nvar isObject = require('lodash/isObject');\nvar reactHelmet = require('react-helmet');\nvar isString = require('lodash/isString');\nrequire('snake-case');\nvar isNumber = require('lodash/isNumber');\nvar core$1 = require('@react-spring/core');\nvar web = require('@react-spring/web');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\nvar PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);\nvar classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar get__default = /*#__PURE__*/_interopDefaultLegacy(get);\nvar ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);\nvar isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);\nvar dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);\nvar throttle__default = /*#__PURE__*/_interopDefaultLegacy(throttle);\nvar isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes$J = {\n children: core.PropTypes.label.isRequired,\n isHtml: PropTypes__default[\"default\"].bool,\n values: PropTypes__default[\"default\"].object // eslint-disable-line react/forbid-prop-types\n\n};\nvar defaultProps$J = {\n isHtml: false,\n values: {}\n};\n\nvar Label = function Label(_ref) {\n var children = _ref.children,\n isHtml = _ref.isHtml,\n values = _ref.values;\n var Message = isHtml ? reactIntl.FormattedMessage : reactIntl.FormattedMessage;\n return utils.isMessage(children) ? /*#__PURE__*/React__default[\"default\"].createElement(Message, Object.assign({\n values: values\n }, children)) : children;\n};\n\nLabel.propTypes = propTypes$J;\nLabel.defaultProps = defaultProps$J;\n\nvar styles$s = {\"container\":\"micromag-core-buttons-button-container\",\"asLink\":\"micromag-core-buttons-button-asLink\",\"withoutStyle\":\"micromag-core-buttons-button-withoutStyle\",\"icon\":\"micromag-core-buttons-button-icon\",\"withIcon\":\"micromag-core-buttons-button-withIcon\",\"label\":\"micromag-core-buttons-button-label\",\"right\":\"micromag-core-buttons-button-right\",\"withIconColumns\":\"micromag-core-buttons-button-withIconColumns\",\"linkDisabled\":\"micromag-core-buttons-button-linkDisabled\"};\n\nvar _excluded$8 = [\"type\", \"theme\", \"size\", \"href\", \"external\", \"direct\", \"target\", \"label\", \"children\", \"focusable\", \"active\", \"icon\", \"iconPosition\", \"disabled\", \"loading\", \"disableOnLoading\", \"small\", \"big\", \"withShadow\", \"withoutStyle\", \"withoutTheme\", \"asLink\", \"outline\", \"onClick\", \"className\", \"iconClassName\", \"labelClassName\", \"refButton\"];\nvar propTypes$I = {\n type: PropTypes__default[\"default\"].string,\n theme: core.PropTypes.buttonTheme,\n size: core.PropTypes.buttonSize,\n href: PropTypes__default[\"default\"].string,\n external: PropTypes__default[\"default\"].bool,\n direct: PropTypes__default[\"default\"].bool,\n target: PropTypes__default[\"default\"].string,\n label: core.PropTypes.label,\n children: core.PropTypes.label,\n focusable: PropTypes__default[\"default\"].bool,\n active: PropTypes__default[\"default\"].bool,\n icon: PropTypes__default[\"default\"].node,\n iconPosition: PropTypes__default[\"default\"].oneOf(['left', 'right', 'inline']),\n disabled: PropTypes__default[\"default\"].bool,\n loading: PropTypes__default[\"default\"].bool,\n disableOnLoading: PropTypes__default[\"default\"].bool,\n small: PropTypes__default[\"default\"].bool,\n big: PropTypes__default[\"default\"].bool,\n withShadow: PropTypes__default[\"default\"].bool,\n withoutStyle: PropTypes__default[\"default\"].bool,\n withoutTheme: PropTypes__default[\"default\"].bool,\n outline: PropTypes__default[\"default\"].bool,\n asLink: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n iconClassName: PropTypes__default[\"default\"].string,\n labelClassName: PropTypes__default[\"default\"].string,\n onClick: PropTypes__default[\"default\"].func,\n refButton: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].func, PropTypes__default[\"default\"].shape({\n current: PropTypes__default[\"default\"].any // eslint-disable-line\n\n })])\n};\nvar defaultProps$I = {\n type: 'button',\n theme: null,\n size: null,\n href: null,\n external: false,\n direct: false,\n target: '_blank',\n label: null,\n children: null,\n focusable: true,\n active: false,\n icon: null,\n iconPosition: 'inline',\n disabled: false,\n loading: false,\n disableOnLoading: true,\n small: false,\n big: false,\n withShadow: false,\n withoutStyle: false,\n withoutTheme: false,\n outline: false,\n asLink: false,\n className: null,\n iconClassName: null,\n labelClassName: null,\n onClick: null,\n refButton: null\n};\n\nvar Button$1 = function Button(_ref) {\n var _ref7, _ref8;\n\n var type = _ref.type,\n theme = _ref.theme,\n size = _ref.size,\n href = _ref.href,\n external = _ref.external,\n direct = _ref.direct,\n target = _ref.target,\n label = _ref.label,\n children = _ref.children,\n focusable = _ref.focusable,\n active = _ref.active,\n icon = _ref.icon,\n iconPosition = _ref.iconPosition,\n disabled = _ref.disabled,\n loading = _ref.loading,\n disableOnLoading = _ref.disableOnLoading,\n small = _ref.small,\n big = _ref.big,\n withShadow = _ref.withShadow,\n withoutStyle = _ref.withoutStyle,\n withoutTheme = _ref.withoutTheme,\n asLink = _ref.asLink,\n outline = _ref.outline,\n onClick = _ref.onClick,\n className = _ref.className,\n iconClassName = _ref.iconClassName,\n labelClassName = _ref.labelClassName,\n refButton = _ref.refButton,\n props = _objectWithoutProperties__default[\"default\"](_ref, _excluded$8);\n\n var finalLabel = label || children;\n var text = finalLabel !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Label, null, finalLabel) : null;\n var hasChildren = label !== null && children !== null;\n var hasIcon = icon !== null;\n var hasInlineIcon = hasIcon && (iconPosition === 'inline' || text === null);\n var hasIconColumns = hasIcon && !hasInlineIcon;\n var content = /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, hasInlineIcon ? /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$s.icon, _defineProperty__default[\"default\"]({}, iconClassName, iconClassName !== null)])\n }, icon), text !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$s.label, _defineProperty__default[\"default\"]({}, labelClassName, labelClassName !== null)])\n }, text) : null) : null, hasIconColumns ? /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$s.left, _defineProperty__default[\"default\"]({}, iconClassName, iconClassName !== null && iconPosition === 'left')])\n }, iconPosition === 'left' ? icon : null), /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$s.center, _defineProperty__default[\"default\"]({}, labelClassName, labelClassName !== null)])\n }, text), /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$s.right, _defineProperty__default[\"default\"]({}, iconClassName, iconClassName !== null && iconPosition === 'right')])\n }, iconPosition === 'right' ? icon : null), hasChildren ? children : null) : null, !hasIcon ? text : null, hasChildren ? children : null);\n var withStyle = !withoutTheme && !withoutStyle && !asLink;\n var buttonClassNames = classNames__default[\"default\"]([(_ref7 = {\n btn: withStyle\n }, _defineProperty__default[\"default\"](_ref7, \"btn-\".concat(outline ? 'outline-' : '').concat(theme), withStyle && theme !== null), _defineProperty__default[\"default\"](_ref7, \"btn-\".concat(size), withStyle && size !== null), _defineProperty__default[\"default\"](_ref7, \"active\", !withoutStyle && active), _ref7), styles$s.container, (_ref8 = {}, _defineProperty__default[\"default\"](_ref8, styles$s.withoutStyle, withoutStyle), _defineProperty__default[\"default\"](_ref8, styles$s.withIcon, hasIcon), _defineProperty__default[\"default\"](_ref8, styles$s.withIconColumns, hasIconColumns), _defineProperty__default[\"default\"](_ref8, styles$s.withText, text !== null), _defineProperty__default[\"default\"](_ref8, styles$s.withShadow, withShadow), _defineProperty__default[\"default\"](_ref8, styles$s.isSmall, small), _defineProperty__default[\"default\"](_ref8, styles$s.isBig, big), _defineProperty__default[\"default\"](_ref8, styles$s.isLink, href !== null), _defineProperty__default[\"default\"](_ref8, styles$s.asLink, asLink), _defineProperty__default[\"default\"](_ref8, styles$s.isDisabled, disabled), _defineProperty__default[\"default\"](_ref8, styles$s.isLoading, loading), _defineProperty__default[\"default\"](_ref8, className, className !== null), _ref8)]);\n\n if (href !== null) {\n var linkClassNames = classNames__default[\"default\"]([buttonClassNames, _defineProperty__default[\"default\"]({\n disabled: disabled\n }, styles$s.linkDisabled, disabled)]);\n return external || direct ? /*#__PURE__*/React__default[\"default\"].createElement(\"a\", Object.assign({}, props, {\n href: disabled ? null : href,\n className: linkClassNames,\n onClick: onClick,\n target: external ? target : null,\n ref: refButton,\n tabIndex: focusable ? '' : '-1'\n }), content) : /*#__PURE__*/React__default[\"default\"].createElement(reactRouterDom.Link, {\n to: href,\n className: linkClassNames,\n onClick: onClick,\n ref: refButton,\n tabIndex: focusable ? '' : '-1'\n }, content);\n }\n\n return /*#__PURE__*/React__default[\"default\"].createElement(\"button\", Object.assign({}, props, {\n type: type,\n className: buttonClassNames,\n onClick: onClick,\n disabled: disabled || disableOnLoading && loading,\n ref: refButton,\n tabIndex: focusable ? '0' : '-1'\n }), content);\n};\n\nButton$1.propTypes = propTypes$I;\nButton$1.defaultProps = defaultProps$I;\n\nvar styles$r = {};\n\nvar _excluded$7 = [\"className\", \"onClick\", \"theme\"];\nvar propTypes$H = {\n buttons: core.PropTypes.buttons,\n size: core.PropTypes.buttonSize,\n theme: core.PropTypes.buttonTheme,\n renderButton: PropTypes__default[\"default\"].func,\n onClickButton: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string,\n buttonClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$H = {\n buttons: [],\n size: null,\n theme: undefined,\n renderButton: null,\n onClickButton: null,\n className: null,\n buttonClassName: null\n};\n\nvar Buttons = function Buttons(_ref) {\n var buttons = _ref.buttons,\n size = _ref.size,\n theme = _ref.theme,\n renderButton = _ref.renderButton,\n onClickButton = _ref.onClickButton,\n buttonClassName = _ref.buttonClassName,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['btn-group', _defineProperty__default[\"default\"]({}, \"btn-group-\".concat(size), size !== null), styles$r.container, _defineProperty__default[\"default\"]({}, className, className !== null)]),\n role: \"group\"\n }, buttons.map(function (button, index) {\n var _ref4;\n\n var _button$className = button.className,\n customClassName = _button$className === void 0 ? null : _button$className,\n _button$onClick = button.onClick,\n _onClick = _button$onClick === void 0 ? null : _button$onClick,\n _button$theme = button.theme,\n buttonTheme = _button$theme === void 0 ? null : _button$theme,\n buttonProps = _objectWithoutProperties__default[\"default\"](button, _excluded$7);\n\n var fixedProps = {\n key: \"button-\".concat(index),\n className: classNames__default[\"default\"]([styles$r.button, (_ref4 = {}, _defineProperty__default[\"default\"](_ref4, buttonClassName, buttonClassName !== null), _defineProperty__default[\"default\"](_ref4, customClassName, customClassName !== null), _ref4)]),\n onClick: function onClick(e) {\n if (_onClick !== null) {\n _onClick(e, button, index);\n }\n\n if (onClickButton !== null) {\n onClickButton(e, button, index);\n }\n },\n theme: buttonTheme || theme\n };\n return renderButton !== null ? renderButton(button, index, fixedProps) : /*#__PURE__*/React__default[\"default\"].createElement(Button$1, Object.assign({}, fixedProps, buttonProps));\n }));\n};\n\nButtons.propTypes = propTypes$H;\nButtons.defaultProps = defaultProps$H;\n\nvar _excluded$6 = [\"className\"];\nvar propTypes$G = {\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$G = {\n className: null\n};\n\nvar BackButton = function BackButton(_ref) {\n var className = _ref.className,\n props = _objectWithoutProperties__default[\"default\"](_ref, _excluded$6);\n\n return /*#__PURE__*/React__default[\"default\"].createElement(Button$1, Object.assign({\n className: classNames__default[\"default\"](['px-2', _defineProperty__default[\"default\"]({}, className, className)]),\n size: \"sm\",\n icon: /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faAngleLeft,\n size: \"lg\"\n })\n }, props));\n};\n\nBackButton.propTypes = propTypes$G;\nBackButton.defaultProps = defaultProps$G;\n\nvar _excluded$5 = [\"type\"],\n _excluded2 = [\"component\", \"id\", \"settings\"];\nvar propTypes$F = {\n name: PropTypes__default[\"default\"].string,\n // .isRequired,\n value: core.PropTypes.component,\n form: PropTypes__default[\"default\"].string,\n formComponents: core.PropTypes.components,\n fields: core.PropTypes.fields,\n className: PropTypes__default[\"default\"].string,\n onChange: PropTypes__default[\"default\"].func,\n gotoFieldForm: PropTypes__default[\"default\"].func.isRequired,\n closeFieldForm: PropTypes__default[\"default\"].func.isRequired,\n fieldContext: PropTypes__default[\"default\"].any // eslint-disable-line react/forbid-prop-types\n\n};\nvar defaultProps$F = {\n name: null,\n form: null,\n formComponents: {},\n fields: [],\n value: null,\n className: null,\n onChange: null,\n fieldContext: null\n};\n\nvar FieldForm = function FieldForm(_ref) {\n var name = _ref.name,\n value = _ref.value,\n form = _ref.form,\n formComponents = _ref.formComponents,\n fields = _ref.fields,\n className = _ref.className,\n onChange = _ref.onChange,\n gotoFieldForm = _ref.gotoFieldForm,\n closeFieldForm = _ref.closeFieldForm,\n fieldContext = _ref.fieldContext;\n var fieldsManager = contexts.useFieldsManager();\n var field = utils.getFieldFromPath(name.split('.'), fields, fieldsManager);\n\n var _ref2 = field || {},\n _ref2$type = _ref2.type,\n type = _ref2$type === void 0 ? null : _ref2$type,\n fieldProps = _objectWithoutProperties__default[\"default\"](_ref2, _excluded$5);\n\n var _ref3 = (type !== null ? fieldsManager.getDefinition(type) || null : null) || _objectSpread__default[\"default\"]({}, field),\n _ref3$component = _ref3.component,\n fieldComponent = _ref3$component === void 0 ? null : _ref3$component;\n _ref3.id;\n _ref3.settings;\n var definitionProps = _objectWithoutProperties__default[\"default\"](_ref3, _excluded2);\n\n var FieldComponent = contexts.useFieldComponent(fieldComponent);\n var fieldValue = get__default[\"default\"](value, name, null);\n var onFieldChange = React.useCallback(function (newFieldValue) {\n // const { name, fields: subFields = null } = field || {};\n var newValue = utils.setFieldValue(value, name.split('.'), newFieldValue // field === null || subFields !== null ? newFieldValue : newFieldValue[name],\n );\n\n if (onChange !== null) {\n onChange(newValue);\n }\n }, [value, name, onChange]);\n var closeForm = React.useCallback(function () {\n return closeFieldForm(name, form);\n }, [name, form, closeFieldForm]);\n var formProps = {\n name: name,\n value: fieldValue,\n onChange: onFieldChange,\n gotoFieldForm: gotoFieldForm,\n closeFieldForm: closeFieldForm,\n closeForm: closeForm\n };\n\n if (form !== null) {\n var FormComponent = utils.getComponentFromName(form, formComponents);\n return FormComponent !== null ? /*#__PURE__*/React__default[\"default\"].createElement(contexts.FieldContextProvider, {\n context: fieldContext\n }, /*#__PURE__*/React__default[\"default\"].createElement(FormComponent, Object.assign({\n field: field\n }, formProps, {\n className: className\n }))) : null;\n } // Use field component with isForm props\n\n\n return FieldComponent !== null ? /*#__PURE__*/React__default[\"default\"].createElement(contexts.FieldContextProvider, {\n context: fieldContext\n }, /*#__PURE__*/React__default[\"default\"].createElement(FieldComponent, Object.assign({\n className: className\n }, definitionProps, fieldProps, {\n isForm: true\n }, formProps))) : null;\n};\n\nFieldForm.propTypes = propTypes$F;\nFieldForm.defaultProps = defaultProps$F;\n\nvar styles$q = {\"actions\":\"micromag-core-forms-form-actions\",\"left\":\"micromag-core-forms-form-left\",\"right\":\"micromag-core-forms-form-right\"};\n\nvar propTypes$E = {\n action: PropTypes__default[\"default\"].string.isRequired,\n method: PropTypes__default[\"default\"].string,\n fields: core.PropTypes.formFields,\n initialValue: PropTypes__default[\"default\"].object,\n // eslint-disable-line react/forbid-prop-types\n postForm: PropTypes__default[\"default\"].func,\n submitButtonLabel: core.PropTypes.label,\n submitButtonLoadingLabel: core.PropTypes.label,\n buttons: core.PropTypes.buttons,\n children: PropTypes__default[\"default\"].node,\n actionsAlign: PropTypes__default[\"default\"].oneOf(['left', 'right']),\n withoutActions: PropTypes__default[\"default\"].bool,\n withoutComplete: PropTypes__default[\"default\"].bool,\n withoutBackButton: PropTypes__default[\"default\"].bool,\n onComplete: PropTypes__default[\"default\"].func,\n onResponse: PropTypes__default[\"default\"].func,\n onMessage: PropTypes__default[\"default\"].func,\n onCancel: PropTypes__default[\"default\"].func,\n onCancelHref: PropTypes__default[\"default\"].string,\n onOpenFieldForm: PropTypes__default[\"default\"].func,\n onCloseFieldForm: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string,\n fieldsClassName: PropTypes__default[\"default\"].string,\n actionsClassName: PropTypes__default[\"default\"].string,\n cancelClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$E = {\n method: 'POST',\n fields: [],\n initialValue: null,\n postForm: null,\n submitButtonLabel: /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedMessage, {\n id: \"ZLDmja\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Submit\"\n }]\n }),\n submitButtonLoadingLabel: null,\n buttons: null,\n children: null,\n actionsAlign: 'left',\n withoutActions: false,\n withoutComplete: false,\n withoutBackButton: false,\n onComplete: null,\n onResponse: null,\n onMessage: null,\n onCancel: null,\n onCancelHref: null,\n onOpenFieldForm: null,\n onCloseFieldForm: null,\n className: null,\n fieldsClassName: null,\n actionsClassName: null,\n cancelClassName: null\n};\n\nvar Form = function Form(_ref) {\n var _ref4;\n\n var action = _ref.action,\n method = _ref.method,\n initialFields = _ref.fields,\n initialValue = _ref.initialValue,\n postForm = _ref.postForm,\n submitButtonLabel = _ref.submitButtonLabel,\n submitButtonLoadingLabel = _ref.submitButtonLoadingLabel,\n buttons = _ref.buttons,\n children = _ref.children,\n actionsAlign = _ref.actionsAlign,\n withoutActions = _ref.withoutActions,\n withoutComplete = _ref.withoutComplete,\n withoutBackButton = _ref.withoutBackButton,\n onComplete = _ref.onComplete,\n onResponse = _ref.onResponse,\n onMessage = _ref.onMessage,\n onCancel = _ref.onCancel,\n onCancelHref = _ref.onCancelHref,\n onOpenFieldForm = _ref.onOpenFieldForm,\n onCloseFieldForm = _ref.onCloseFieldForm,\n className = _ref.className,\n fieldsClassName = _ref.fieldsClassName,\n actionsClassName = _ref.actionsClassName,\n cancelClassName = _ref.cancelClassName;\n\n var _useState = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n complete = _useState2[0],\n setComplete = _useState2[1];\n\n React.useEffect(function () {\n var id = null;\n\n if (complete) {\n id = setTimeout(function () {\n setComplete(false);\n }, 3000);\n }\n\n return function () {\n clearTimeout(id);\n };\n }, [complete]);\n var onCompleteForm = React.useCallback(function (data) {\n if (onComplete !== null) {\n onComplete(data);\n }\n\n if (!withoutComplete) {\n setComplete(true);\n }\n }, [onComplete, setComplete]);\n\n var _useForm = hooks.useForm({\n value: initialValue,\n action: action,\n fields: initialFields,\n postForm: postForm,\n onComplete: onCompleteForm\n }),\n onSubmit = _useForm.onSubmit,\n fields = _useForm.fields,\n status = _useForm.status,\n value = _useForm.value,\n setValue = _useForm.setValue,\n errors = _useForm.errors,\n response = _useForm.response,\n generalError = _useForm.generalError;\n\n var FieldsComponent = contexts.useFieldComponent('fields');\n\n React.useEffect(function () {\n if (onResponse !== null) {\n onResponse(response);\n\n if (onMessage !== null && response && response.message) {\n onMessage(response.message);\n }\n }\n }, [response, onResponse, onMessage]);\n var canSave = utils.validateFields(fields, value);\n\n var _useState3 = React.useState([]),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n fieldPaths = _useState4[0],\n setFieldPaths = _useState4[1];\n\n var gotoFieldForm = React.useCallback(function (field) {\n var formName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var fieldKey = \"\".concat(field).concat(formName !== null ? \":\".concat(formName) : '');\n setFieldPaths([].concat(_toConsumableArray__default[\"default\"](fieldPaths), [fieldKey]));\n\n if (onOpenFieldForm !== null) {\n onOpenFieldForm();\n }\n }, [fieldPaths, setFieldPaths]);\n var closeFieldForm = React.useCallback(function () {\n var newFields = _toConsumableArray__default[\"default\"](fieldPaths);\n\n newFields.pop();\n setFieldPaths(_toConsumableArray__default[\"default\"](newFields));\n\n if (onCloseFieldForm !== null) {\n onCloseFieldForm();\n }\n }, [fieldPaths, setFieldPaths]); // The last path\n\n var fieldParams = fieldPaths.length > 0 ? fieldPaths[fieldPaths.length - 1] : null; // Get transition value\n // const { name: transitionName, timeout: transitionTimeout } = useFormTransition(\n // fieldPaths,\n // styles,\n // );\n\n return /*#__PURE__*/React__default[\"default\"].createElement(\"form\", {\n action: action,\n className: classNames__default[\"default\"]([styles$q.container, _defineProperty__default[\"default\"]({}, className, className !== null)]),\n method: method,\n onSubmit: onSubmit\n }, !withoutBackButton && fields !== null && fields.length > 0 && fieldParams !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"mb-2\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(BackButton, {\n theme: \"secondary\",\n outline: true,\n onClick: closeFieldForm\n })) : null, fields && fields.length > 0 && fieldParams !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['w-100', styles$q.panel]),\n key: \"field\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(FieldForm, {\n name: fieldParams.replace(/\\//g, '.'),\n fields: fields,\n value: value,\n onChange: setValue,\n gotoFieldForm: gotoFieldForm,\n closeFieldForm: closeFieldForm\n })) : null, FieldsComponent && fields !== null && fields.length > 0 && fieldParams === null ? /*#__PURE__*/React__default[\"default\"].createElement(FieldsComponent, {\n fields: fields,\n value: value,\n errors: errors,\n onChange: setValue,\n gotoFieldForm: gotoFieldForm,\n closeFieldForm: closeFieldForm,\n className: classNames__default[\"default\"]([styles$q.fields, _defineProperty__default[\"default\"]({}, fieldsClassName, fieldsClassName !== null)])\n }) : null, generalError ? /*#__PURE__*/React__default[\"default\"].createElement(\"p\", {\n className: \"text-danger my-1\"\n }, generalError) : null, children, !withoutActions && fieldParams === null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$q.actions, (_ref4 = {}, _defineProperty__default[\"default\"](_ref4, styles$q[actionsAlign], actionsAlign), _defineProperty__default[\"default\"](_ref4, actionsClassName, actionsClassName !== null), _ref4)])\n }, onCancel !== null || onCancelHref !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Button$1, {\n type: \"button\",\n onClick: onCancel,\n href: onCancelHref,\n theme: \"secondary\",\n outline: true,\n disabled: status === 'loading',\n className: classNames__default[\"default\"](['mr-2', _defineProperty__default[\"default\"]({}, cancelClassName, cancelClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedMessage, {\n id: \"PyxZY2\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Cancel\"\n }]\n })) : null, buttons !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Buttons, {\n buttons: buttons,\n className: styles$q.buttons\n }) : /*#__PURE__*/React__default[\"default\"].createElement(Button$1, {\n type: \"submit\",\n theme: \"primary\",\n disabled: status === 'loading' || !canSave\n }, status === 'loading' ? submitButtonLoadingLabel || submitButtonLabel : submitButtonLabel), complete ? /*#__PURE__*/React__default[\"default\"].createElement(\"p\", {\n className: \"text-success mx-2 my-1\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedMessage, {\n id: \"BpZoQZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Success\"\n }]\n })) : null) : null);\n};\n\nForm.propTypes = propTypes$E;\nForm.defaultProps = defaultProps$E;\n\nvar styles$p = {\"withoutStyle\":\"micromag-core-partials-link-withoutStyle\"};\n\nvar _excluded$4 = [\"href\", \"external\", \"children\", \"target\", \"rel\", \"className\", \"withoutStyle\"];\nvar propTypes$D = {\n href: PropTypes__default[\"default\"].string,\n external: PropTypes__default[\"default\"].bool,\n target: PropTypes__default[\"default\"].string,\n children: core.PropTypes.label,\n rel: PropTypes__default[\"default\"].string,\n withoutStyle: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$D = {\n href: '',\n external: false,\n target: '_blank',\n rel: 'noopener noreferrer',\n children: null,\n withoutStyle: false,\n className: null\n};\n\nvar Link = function Link(_ref) {\n var href = _ref.href,\n external = _ref.external,\n children = _ref.children,\n target = _ref.target,\n rel = _ref.rel,\n className = _ref.className,\n withoutStyle = _ref.withoutStyle,\n props = _objectWithoutProperties__default[\"default\"](_ref, _excluded$4);\n\n return external ? /*#__PURE__*/React__default[\"default\"].createElement(\"a\", Object.assign({\n className: classNames__default[\"default\"]([className, _defineProperty__default[\"default\"]({}, styles$p.withoutStyle, withoutStyle)]),\n href: href,\n target: target,\n rel: rel\n }, props), /*#__PURE__*/React__default[\"default\"].createElement(Label, null, children)) : /*#__PURE__*/React__default[\"default\"].createElement(reactRouterDom.Link, Object.assign({\n className: classNames__default[\"default\"]([className, _defineProperty__default[\"default\"]({}, styles$p.withoutStyle, withoutStyle)]),\n to: href\n }, props), /*#__PURE__*/React__default[\"default\"].createElement(Label, null, children));\n};\n\nLink.propTypes = propTypes$D;\nLink.defaultProps = defaultProps$D;\n\nvar _excluded$3 = [\"label\", \"className\"];\nvar propTypes$C = {\n href: PropTypes__default[\"default\"].string,\n header: PropTypes__default[\"default\"].node,\n image: PropTypes__default[\"default\"].node,\n imageAlt: PropTypes__default[\"default\"].string,\n imageOverlay: PropTypes__default[\"default\"].bool,\n beforeBody: PropTypes__default[\"default\"].node,\n title: core.PropTypes.label,\n subtitle: core.PropTypes.label,\n children: PropTypes__default[\"default\"].node,\n afterBody: PropTypes__default[\"default\"].node,\n links: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape({\n label: core.PropTypes.label,\n href: PropTypes__default[\"default\"].string\n })),\n linksInSameBody: PropTypes__default[\"default\"].bool,\n footer: PropTypes__default[\"default\"].node,\n theme: PropTypes__default[\"default\"].oneOf([null, 'dark', 'primary', 'light']),\n className: PropTypes__default[\"default\"].string,\n imageClassName: PropTypes__default[\"default\"].string,\n headerClassName: PropTypes__default[\"default\"].string,\n titleClassName: PropTypes__default[\"default\"].string,\n subtitleClassName: PropTypes__default[\"default\"].string,\n bodyClassName: PropTypes__default[\"default\"].string,\n footerClassName: PropTypes__default[\"default\"].string,\n onClick: PropTypes__default[\"default\"].func,\n onClickBody: PropTypes__default[\"default\"].func,\n onClickFooter: PropTypes__default[\"default\"].func\n};\nvar defaultProps$C = {\n href: null,\n header: null,\n image: null,\n imageAlt: null,\n imageOverlay: false,\n beforeBody: null,\n title: null,\n subtitle: null,\n children: null,\n afterBody: null,\n links: null,\n linksInSameBody: false,\n footer: null,\n theme: null,\n className: null,\n imageClassName: null,\n headerClassName: null,\n titleClassName: null,\n subtitleClassName: null,\n bodyClassName: null,\n footerClassName: null,\n onClick: null,\n onClickBody: null,\n onClickFooter: null\n};\n\nvar Card = function Card(_ref) {\n var _ref10;\n\n var href = _ref.href,\n header = _ref.header,\n image = _ref.image,\n imageAlt = _ref.imageAlt,\n imageOverlay = _ref.imageOverlay,\n beforeBody = _ref.beforeBody,\n title = _ref.title,\n subtitle = _ref.subtitle,\n children = _ref.children,\n afterBody = _ref.afterBody,\n links = _ref.links,\n linksInSameBody = _ref.linksInSameBody,\n footer = _ref.footer,\n theme = _ref.theme,\n className = _ref.className,\n imageClassName = _ref.imageClassName,\n headerClassName = _ref.headerClassName,\n titleClassName = _ref.titleClassName,\n subtitleClassName = _ref.subtitleClassName,\n bodyClassName = _ref.bodyClassName,\n footerClassName = _ref.footerClassName,\n onClick = _ref.onClick,\n onClickBody = _ref.onClickBody,\n onClickFooter = _ref.onClickFooter;\n var linksElements = (links || []).map(function (_ref2, index) {\n var label = _ref2.label,\n _ref2$className = _ref2.className,\n linkClassName = _ref2$className === void 0 ? null : _ref2$className,\n linkProps = _objectWithoutProperties__default[\"default\"](_ref2, _excluded$3);\n\n return /*#__PURE__*/React__default[\"default\"].createElement(Link, Object.assign({\n key: \"link-\".concat(label, \"-\").concat(index),\n className: classNames__default[\"default\"](['card-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)])\n }, linkProps), label);\n });\n var bodyInner = title !== null || subtitle !== null || children !== null || links !== null && linksInSameBody ? /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, title !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"h5\", {\n className: classNames__default[\"default\"](['card-title', _defineProperty__default[\"default\"]({}, titleClassName, titleClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, title)) : null, subtitle !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"h6\", {\n className: classNames__default[\"default\"](['card-subtitle', _defineProperty__default[\"default\"]({}, subtitleClassName, subtitleClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, subtitle)) : null, children, links !== null && linksInSameBody ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"d-flex\"\n }, linksElements) : null) : null;\n var cardInner = /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, header !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['card-header', _defineProperty__default[\"default\"]({}, headerClassName, headerClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, header)) : null, typeof image === 'string' ? /*#__PURE__*/React__default[\"default\"].createElement(\"img\", {\n src: image,\n alt: imageAlt,\n className: classNames__default[\"default\"](['card-img-top', _defineProperty__default[\"default\"]({}, imageClassName, imageClassName !== null)])\n }) : image, beforeBody, bodyInner !== null ? /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, onClickBody !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: classNames__default[\"default\"](_defineProperty__default[\"default\"]({\n 'card-body': !imageOverlay,\n 'card-img-overlay': imageOverlay\n }, bodyClassName, bodyClassName !== null)),\n onClick: onClickBody\n }, bodyInner) : /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](_defineProperty__default[\"default\"]({\n 'card-body': !imageOverlay,\n 'card-img-overlay': imageOverlay\n }, bodyClassName, bodyClassName !== null))\n }, bodyInner)) : null, afterBody, links !== null && !linksInSameBody ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"card-body\"\n }, linksElements) : null, footer !== null ? /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, onClickFooter !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: classNames__default[\"default\"](['card-footer', _defineProperty__default[\"default\"]({}, footerClassName, footerClassName !== null)]),\n onClick: onClickFooter\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, footer)) : /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['card-footer', _defineProperty__default[\"default\"]({}, footerClassName, footerClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, footer))) : null);\n var cardClassName = classNames__default[\"default\"](['card', (_ref10 = {}, _defineProperty__default[\"default\"](_ref10, \"bg-\".concat(theme), !imageOverlay && theme !== 'dark'), _defineProperty__default[\"default\"](_ref10, 'bg-dark', imageOverlay || theme === 'dark'), _defineProperty__default[\"default\"](_ref10, 'text-dark', theme === 'light'), _defineProperty__default[\"default\"](_ref10, 'text-light', imageOverlay || theme === 'dark' || theme === 'primary'), _defineProperty__default[\"default\"](_ref10, className, className !== null), _ref10)]);\n\n if (href !== null) {\n return /*#__PURE__*/React__default[\"default\"].createElement(Link, {\n href: href,\n className: cardClassName\n }, cardInner);\n }\n\n if (onClick !== null) {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: classNames__default[\"default\"](['p-0', 'text-left', cardClassName]),\n onClick: onClick\n }, cardInner);\n }\n\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: cardClassName\n }, cardInner);\n};\n\nCard.propTypes = propTypes$C;\nCard.defaultProps = defaultProps$C;\n\nvar propTypes$B = {\n animated: PropTypes__default[\"default\"].bool,\n color: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$B = {\n animated: true,\n color: 'currentColor',\n className: null\n};\n\nvar Spinner = function Spinner(_ref) {\n var animated = _ref.animated,\n color = _ref.color,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"svg\", {\n className: classNames__default[\"default\"]([_defineProperty__default[\"default\"]({}, className, className !== null)]),\n width: \"38\",\n height: \"38\",\n viewBox: \"0 0 38 38\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"defs\", null, /*#__PURE__*/React__default[\"default\"].createElement(\"linearGradient\", {\n x1: \"8.042%\",\n y1: \"0%\",\n x2: \"65.682%\",\n y2: \"23.865%\",\n id: \"a\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"stop\", {\n stopColor: color,\n stopOpacity: \"0\",\n offset: \"0%\"\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"stop\", {\n stopColor: color,\n stopOpacity: \".631\",\n offset: \"63.146%\"\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"stop\", {\n stopColor: color,\n offset: \"100%\"\n }))), /*#__PURE__*/React__default[\"default\"].createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"g\", {\n transform: \"translate(1 1)\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"path\", {\n d: \"M36 18c0-9.94-8.06-18-18-18\",\n id: \"Oval-2\",\n stroke: \"url(#a)\",\n strokeWidth: \"2\"\n }, animated ? /*#__PURE__*/React__default[\"default\"].createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 18 18\",\n to: \"360 18 18\",\n dur: \"0.9s\",\n repeatCount: \"indefinite\"\n }) : null), /*#__PURE__*/React__default[\"default\"].createElement(\"circle\", {\n fill: color,\n cx: \"36\",\n cy: \"18\",\n r: \"1\"\n }, animated ? /*#__PURE__*/React__default[\"default\"].createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 18 18\",\n to: \"360 18 18\",\n dur: \"0.9s\",\n repeatCount: \"indefinite\"\n }) : null))));\n};\n\nSpinner.propTypes = propTypes$B;\nSpinner.defaultProps = defaultProps$B;\n\nvar styles$o = {};\n\nvar _excluded$2 = [\"description\", \"loading\", \"children\", \"className\"];\nvar propTypes$A = {\n description: PropTypes__default[\"default\"].node,\n loading: PropTypes__default[\"default\"].bool,\n children: PropTypes__default[\"default\"].node,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$A = {\n description: null,\n loading: false,\n children: null,\n className: null\n};\n\nvar FormPanel = function FormPanel(_ref) {\n var description = _ref.description,\n loading = _ref.loading,\n children = _ref.children,\n className = _ref.className,\n props = _objectWithoutProperties__default[\"default\"](_ref, _excluded$2);\n\n return /*#__PURE__*/React__default[\"default\"].createElement(Card, Object.assign({\n className: classNames__default[\"default\"]([styles$o.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n }, props), description, loading ? /*#__PURE__*/React__default[\"default\"].createElement(Spinner, null) : children);\n};\n\nFormPanel.propTypes = propTypes$A;\nFormPanel.defaultProps = defaultProps$A;\n\nvar styles$n = {\"container\":\"micromag-core-menus-breadcrumb-container\",\"arrow\":\"micromag-core-menus-breadcrumb-arrow\"};\n\nvar propTypes$z = {\n items: core.PropTypes.menuItems,\n theme: core.PropTypes.bootstrapThemes,\n separator: PropTypes__default[\"default\"].oneOf([null, 'arrow']),\n withoutBar: PropTypes__default[\"default\"].bool,\n noWrap: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$z = {\n items: [],\n theme: null,\n separator: null,\n withoutBar: false,\n noWrap: false,\n className: null\n};\n\nvar Breadcrumb = function Breadcrumb(_ref) {\n var items = _ref.items,\n theme = _ref.theme,\n separator = _ref.separator,\n withoutBar = _ref.withoutBar,\n noWrap = _ref.noWrap,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"nav\", {\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"ol\", {\n className: classNames__default[\"default\"]([styles$n.container, 'breadcrumb', 'mb-0', {\n 'p-0': withoutBar,\n 'bg-transparent': withoutBar,\n 'rounded-0': withoutBar,\n 'flex-nowrap': noWrap\n }])\n }, items.map(function (_ref2, index) {\n var _ref3;\n\n var url = _ref2.url,\n label = _ref2.label,\n _ref2$active = _ref2.active,\n active = _ref2$active === void 0 ? false : _ref2$active,\n _ref2$onClick = _ref2.onClick,\n onClick = _ref2$onClick === void 0 ? null : _ref2$onClick;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: classNames__default[\"default\"](['breadcrumb-item', (_ref3 = {\n active: active\n }, _defineProperty__default[\"default\"](_ref3, styles$n.arrow, separator === 'arrow'), _defineProperty__default[\"default\"](_ref3, \"text-\".concat(theme), active && theme !== null), _ref3)]),\n key: \"item-\".concat(index)\n }, active ? /*#__PURE__*/React__default[\"default\"].createElement(Label, null, label) : null, !active && url ? /*#__PURE__*/React__default[\"default\"].createElement(reactRouterDom.Link, {\n to: url,\n onClick: onClick,\n className: classNames__default[\"default\"](_defineProperty__default[\"default\"]({}, \"text-\".concat(theme), theme !== null))\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, label)) : null, !active && onClick ? /*#__PURE__*/React__default[\"default\"].createElement(Button$1, {\n onClick: onClick,\n className: classNames__default[\"default\"](_defineProperty__default[\"default\"]({}, \"text-\".concat(theme), theme !== null))\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, label)) : null);\n })));\n};\n\nBreadcrumb.propTypes = propTypes$z;\nBreadcrumb.defaultProps = defaultProps$z;\n\nvar _excluded$1 = [\"id\", \"type\", \"className\", \"label\", \"children\", \"onClick\", \"active\"];\nvar propTypes$y = {\n items: core.PropTypes.menuItems,\n children: PropTypes__default[\"default\"].node,\n visible: PropTypes__default[\"default\"].bool,\n align: core.PropTypes.dropdownAlign,\n className: PropTypes__default[\"default\"].string,\n itemClassName: PropTypes__default[\"default\"].string,\n onClickItem: PropTypes__default[\"default\"].func,\n onClickOutside: PropTypes__default[\"default\"].func\n};\nvar defaultProps$y = {\n items: [],\n children: null,\n visible: false,\n align: null,\n className: null,\n itemClassName: null,\n onClickItem: null,\n onClickOutside: null\n};\n\nvar Dropdown = function Dropdown(_ref) {\n var _ref2;\n\n var items = _ref.items,\n children = _ref.children,\n visible = _ref.visible,\n align = _ref.align,\n className = _ref.className,\n itemClassName = _ref.itemClassName,\n onClickItem = _ref.onClickItem,\n onClickOutside = _ref.onClickOutside;\n var refContainer = React.useRef(null);\n var onDocumentClick = React.useCallback(function (e) {\n if (refContainer.current && !refContainer.current.contains(e.currentTarget) && onClickOutside !== null) {\n onClickOutside(e);\n }\n }, [refContainer.current, onClickOutside]);\n hooks.useDocumentEvent('click', onDocumentClick, visible);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['dropdown-menu', (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, \"dropdown-menu-\".concat(align), align !== null), _defineProperty__default[\"default\"](_ref2, \"show\", visible), _defineProperty__default[\"default\"](_ref2, className, className !== null), _ref2)]),\n ref: refContainer\n }, children !== null ? children : items.map(function (it, index) {\n var _ref3;\n\n it.id;\n var _it$type = it.type,\n type = _it$type === void 0 ? 'link' : _it$type,\n _it$className = it.className,\n customClassName = _it$className === void 0 ? null : _it$className,\n _it$label = it.label,\n label = _it$label === void 0 ? null : _it$label,\n _it$children = it.children,\n itemChildren = _it$children === void 0 ? null : _it$children,\n _it$onClick = it.onClick,\n customOnClick = _it$onClick === void 0 ? null : _it$onClick,\n _it$active = it.active,\n active = _it$active === void 0 ? false : _it$active,\n itemProps = _objectWithoutProperties__default[\"default\"](it, _excluded$1);\n\n var ItemComponent = 'div';\n\n if (type === 'link') {\n ItemComponent = Link;\n } else if (type === 'button') {\n ItemComponent = Button$1;\n itemProps.type = 'button';\n } else if (type === 'header') {\n ItemComponent = 'h6';\n }\n\n var finalOnClickItem = customOnClick !== null || type === 'link' && onClickItem !== null ? function (e) {\n if (customOnClick !== null) {\n customOnClick(e);\n }\n\n if (type === 'link' && onClickItem !== null) {\n onClickItem(e);\n }\n } : null;\n return ItemComponent !== null ? /*#__PURE__*/React__default[\"default\"].createElement(ItemComponent, Object.assign({\n key: \"item-\".concat(index),\n className: classNames__default[\"default\"](['d-block', 'w-100', (_ref3 = {\n 'dropdown-item': type === 'link',\n 'dropdown-divider': type === 'divider',\n 'dropdown-header': type === 'header',\n active: active\n }, _defineProperty__default[\"default\"](_ref3, itemClassName, itemClassName !== null), _defineProperty__default[\"default\"](_ref3, customClassName, customClassName !== null), _ref3)]),\n onClick: finalOnClickItem\n }, itemProps), label !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Label, null, label) : itemChildren) : null;\n }));\n};\n\nDropdown.propTypes = propTypes$y;\nDropdown.defaultProps = defaultProps$y;\n\nvar _excluded = [\"id\", \"className\", \"linkClassName\", \"href\", \"label\", \"external\", \"items\", \"dropdown\", \"active\", \"onClick\"];\nvar propTypes$x = {\n items: core.PropTypes.menuItems,\n tagName: PropTypes__default[\"default\"].string,\n itemTagName: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node,\n linkAsItem: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n itemClassName: PropTypes__default[\"default\"].string,\n linkClassName: PropTypes__default[\"default\"].string,\n hasSubMenuClassName: PropTypes__default[\"default\"].string,\n subMenuClassName: PropTypes__default[\"default\"].string,\n subMenuItemClassName: PropTypes__default[\"default\"].string,\n subMenuLinkClassName: PropTypes__default[\"default\"].string,\n hasDropdownClassName: PropTypes__default[\"default\"].string,\n dropdownClassName: PropTypes__default[\"default\"].string,\n dropdownItemClassName: PropTypes__default[\"default\"].string,\n dropdownLinkClassName: PropTypes__default[\"default\"].string,\n dropdownAlign: core.PropTypes.dropdownAlign\n};\nvar defaultProps$x = {\n items: [],\n tagName: 'ul',\n itemTagName: 'li',\n children: null,\n linkAsItem: false,\n className: null,\n itemClassName: null,\n linkClassName: null,\n hasSubMenuClassName: null,\n subMenuClassName: null,\n subMenuItemClassName: null,\n subMenuLinkClassName: null,\n hasDropdownClassName: null,\n dropdownClassName: null,\n dropdownItemClassName: null,\n dropdownLinkClassName: null,\n dropdownAlign: null\n};\n\nvar Menu = function Menu(_ref) {\n var items = _ref.items,\n tagName = _ref.tagName,\n itemTagName = _ref.itemTagName,\n children = _ref.children,\n linkAsItem = _ref.linkAsItem,\n className = _ref.className,\n itemClassName = _ref.itemClassName,\n linkClassName = _ref.linkClassName,\n hasSubMenuClassName = _ref.hasSubMenuClassName,\n subMenuClassName = _ref.subMenuClassName,\n subMenuItemClassName = _ref.subMenuItemClassName,\n subMenuLinkClassName = _ref.subMenuLinkClassName,\n hasDropdownClassName = _ref.hasDropdownClassName,\n dropdownClassName = _ref.dropdownClassName,\n dropdownItemClassName = _ref.dropdownItemClassName,\n dropdownLinkClassName = _ref.dropdownLinkClassName,\n dropdownAlign = _ref.dropdownAlign;\n\n var _useState = React.useState(items.map(function () {\n return false;\n })),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n dropdownsVisible = _useState2[0],\n setDropdownsVisible = _useState2[1];\n\n var ListComponent = linkAsItem ? 'div' : tagName;\n return /*#__PURE__*/React__default[\"default\"].createElement(ListComponent, {\n className: className\n }, children !== null ? children : items.map(function (it, index) {\n var _classNames, _classNames2, _classNames3, _classNames4, _classNames5, _classNames6, _classNames7, _classNames8;\n\n var id = it.id,\n _it$className = it.className,\n customClassName = _it$className === void 0 ? null : _it$className,\n _it$linkClassName = it.linkClassName,\n customLinkClassName = _it$linkClassName === void 0 ? null : _it$linkClassName,\n _it$href = it.href,\n href = _it$href === void 0 ? null : _it$href,\n label = it.label,\n _it$external = it.external,\n external = _it$external === void 0 ? false : _it$external,\n _it$items = it.items,\n subItems = _it$items === void 0 ? null : _it$items,\n _it$dropdown = it.dropdown,\n dropdown = _it$dropdown === void 0 ? null : _it$dropdown,\n _it$active = it.active,\n active = _it$active === void 0 ? false : _it$active,\n _it$onClick = it.onClick,\n customOnClick = _it$onClick === void 0 ? null : _it$onClick,\n itemProps = _objectWithoutProperties__default[\"default\"](it, _excluded);\n\n var onClickItem = dropdown !== null ? function (e) {\n e.preventDefault();\n setDropdownsVisible([].concat(_toConsumableArray__default[\"default\"](dropdownsVisible.slice(0, index)), [!(dropdownsVisible[index] || false)], _toConsumableArray__default[\"default\"](dropdownsVisible.slice(index + 1))));\n\n if (customOnClick !== null) {\n customOnClick(e);\n }\n } : customOnClick;\n var closeDropdown = dropdown !== null ? function () {\n setDropdownsVisible([].concat(_toConsumableArray__default[\"default\"](dropdownsVisible.slice(0, index)), [false], _toConsumableArray__default[\"default\"](dropdownsVisible.slice(index + 1))));\n } : null;\n var ItemComponent = itemTagName;\n return linkAsItem ? /*#__PURE__*/React__default[\"default\"].createElement(Link, Object.assign({}, itemProps, {\n key: \"item-\".concat(id || index),\n onClick: onClickItem,\n href: href,\n external: external,\n className: classNames__default[\"default\"]((_classNames = {\n active: active\n }, _defineProperty__default[\"default\"](_classNames, itemClassName, itemClassName !== null), _defineProperty__default[\"default\"](_classNames, customClassName, customClassName !== null), _defineProperty__default[\"default\"](_classNames, linkClassName, linkClassName !== null), _defineProperty__default[\"default\"](_classNames, customLinkClassName, customLinkClassName !== null), _classNames))\n }), label) : /*#__PURE__*/React__default[\"default\"].createElement(ItemComponent, {\n key: \"item-\".concat(id || index),\n className: classNames__default[\"default\"]((_classNames2 = {\n dropdown: dropdown !== null,\n active: active\n }, _defineProperty__default[\"default\"](_classNames2, itemClassName, itemClassName !== null), _defineProperty__default[\"default\"](_classNames2, customClassName, customClassName !== null), _defineProperty__default[\"default\"](_classNames2, hasSubMenuClassName, subItems !== null && hasSubMenuClassName !== null), _defineProperty__default[\"default\"](_classNames2, hasDropdownClassName, subItems !== null && hasDropdownClassName !== null), _classNames2))\n }, href !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Link, Object.assign({}, itemProps, {\n onClick: onClickItem,\n href: href,\n external: external,\n className: classNames__default[\"default\"]((_classNames3 = {}, _defineProperty__default[\"default\"](_classNames3, linkClassName, linkClassName !== null), _defineProperty__default[\"default\"](_classNames3, 'dropdown-toggle', dropdown !== null), _defineProperty__default[\"default\"](_classNames3, customLinkClassName, customLinkClassName !== null), _classNames3))\n }), label) : null, href === null && onClickItem !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Button$1, Object.assign({}, itemProps, {\n onClick: onClickItem,\n className: classNames__default[\"default\"]((_classNames4 = {}, _defineProperty__default[\"default\"](_classNames4, linkClassName, linkClassName !== null), _defineProperty__default[\"default\"](_classNames4, 'dropdown-toggle', dropdown !== null), _defineProperty__default[\"default\"](_classNames4, customLinkClassName, customLinkClassName !== null), _classNames4))\n }), label) : null, subItems !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Menu, {\n items: subItems,\n className: subMenuClassName,\n itemClassName: classNames__default[\"default\"]((_classNames5 = {}, _defineProperty__default[\"default\"](_classNames5, subMenuItemClassName, subMenuItemClassName !== null), _defineProperty__default[\"default\"](_classNames5, itemClassName, subMenuItemClassName === null && itemClassName !== null), _classNames5)),\n linkClassName: classNames__default[\"default\"]((_classNames6 = {}, _defineProperty__default[\"default\"](_classNames6, subMenuLinkClassName, subMenuLinkClassName !== null), _defineProperty__default[\"default\"](_classNames6, linkClassName, subMenuLinkClassName === null && linkClassName !== null), _classNames6))\n }) : null, dropdown !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Dropdown, {\n items: dropdown,\n visible: dropdownsVisible[index] || false,\n className: dropdownClassName,\n itemClassName: classNames__default[\"default\"]((_classNames7 = {}, _defineProperty__default[\"default\"](_classNames7, dropdownItemClassName, dropdownItemClassName !== null), _defineProperty__default[\"default\"](_classNames7, itemClassName, dropdownItemClassName === null && itemClassName !== null), _classNames7)),\n linkClassName: classNames__default[\"default\"]((_classNames8 = {}, _defineProperty__default[\"default\"](_classNames8, dropdownLinkClassName, dropdownLinkClassName !== null), _defineProperty__default[\"default\"](_classNames8, linkClassName, dropdownLinkClassName === null && linkClassName !== null), _classNames8)),\n align: dropdownAlign,\n onClickItem: closeDropdown,\n onClickOutside: closeDropdown\n }) : null);\n }));\n};\n\nMenu.propTypes = propTypes$x;\nMenu.defaultProps = defaultProps$x;\n\nvar propTypes$w = {\n brand: PropTypes__default[\"default\"].node,\n brandLink: PropTypes__default[\"default\"].string,\n breadcrumbs: PropTypes__default[\"default\"].node,\n theme: PropTypes__default[\"default\"].oneOf(['light', 'dark', 'primary', null]),\n size: PropTypes__default[\"default\"].oneOf(['sm', 'md', 'lg']),\n compact: PropTypes__default[\"default\"].bool,\n noWrap: PropTypes__default[\"default\"].bool,\n withoutCollapse: PropTypes__default[\"default\"].bool,\n children: PropTypes__default[\"default\"].node,\n className: PropTypes__default[\"default\"].string,\n brandClassName: PropTypes__default[\"default\"].string,\n breadCrumbsClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$w = {\n brand: null,\n brandLink: null,\n breadcrumbs: null,\n theme: null,\n size: 'md',\n compact: false,\n noWrap: false,\n withoutCollapse: false,\n children: null,\n className: null,\n brandClassName: null,\n breadCrumbsClassName: null\n};\n\nvar Navbar = function Navbar(_ref) {\n var _ref2;\n\n var brand = _ref.brand,\n brandLink = _ref.brandLink,\n breadcrumbs = _ref.breadcrumbs,\n theme = _ref.theme,\n size = _ref.size,\n compact = _ref.compact,\n noWrap = _ref.noWrap,\n withoutCollapse = _ref.withoutCollapse,\n children = _ref.children,\n className = _ref.className,\n brandClassName = _ref.brandClassName,\n breadCrumbsClassName = _ref.breadCrumbsClassName;\n\n var _useState = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n menuVisible = _useState2[0],\n setMenuVisible = _useState2[1];\n\n var onClickMenu = React.useCallback(function () {\n return setMenuVisible(!menuVisible);\n }, [setMenuVisible, menuVisible]);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"nav\", {\n className: classNames__default[\"default\"](['navbar', (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, \"bg-\".concat(theme), theme !== null), _defineProperty__default[\"default\"](_ref2, \"navbar-\".concat(theme === 'light' ? 'light' : 'dark'), theme !== null), _defineProperty__default[\"default\"](_ref2, \"text-\".concat(theme === 'light' ? 'dark' : 'light'), theme !== null), _defineProperty__default[\"default\"](_ref2, \"navbar-expand-\".concat(size), !withoutCollapse), _defineProperty__default[\"default\"](_ref2, 'py-2', compact), _defineProperty__default[\"default\"](_ref2, 'px-2', compact), _defineProperty__default[\"default\"](_ref2, 'flex-nowrap', noWrap), _defineProperty__default[\"default\"](_ref2, className, className !== null), _ref2)])\n }, brand !== null && brandLink !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Link, {\n className: classNames__default[\"default\"](['navbar-brand', _defineProperty__default[\"default\"]({\n 'py-0': compact\n }, brandClassName, brandClassName !== null)]),\n to: brandLink\n }, brand) : null, brand !== null && brandLink === null ? /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"](['navbar-brand', _defineProperty__default[\"default\"]({\n 'py-0': compact\n }, brandClassName, brandClassName !== null)])\n }, brand) : null, breadcrumbs !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"](['navbar-breadcrumbs', _defineProperty__default[\"default\"]({\n 'py-0': compact\n }, breadCrumbsClassName, breadCrumbsClassName !== null)])\n }, breadcrumbs) : null, !withoutCollapse ? /*#__PURE__*/React__default[\"default\"].createElement(Button$1, {\n className: \"navbar-toggler\",\n onClick: onClickMenu,\n withoutTheme: true,\n \"aria-controls\": \"navbarSupportedContent\",\n \"aria-expanded\": \"false\",\n \"aria-label\": \"Toggle navigation\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: \"navbar-toggler-icon\"\n })) : null, !withoutCollapse ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['navbar-collapse', 'collapse', {\n show: menuVisible\n }])\n }, children) : children);\n};\n\nNavbar.propTypes = propTypes$w;\nNavbar.defaultProps = defaultProps$w;\n\nvar styles$m = {};\n\nvar messages = reactIntl.defineMessages({\n previous: {\n \"id\": \"menus.pagination.previous\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Previous\"\n }]\n },\n next: {\n \"id\": \"menus.pagination.next\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"next\"\n }]\n }\n});\nvar propTypes$v = {\n page: PropTypes__default[\"default\"].number,\n total: PropTypes__default[\"default\"].number,\n url: PropTypes__default[\"default\"].string,\n withPreviousNext: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n paginationClassName: PropTypes__default[\"default\"].string,\n itemClassName: PropTypes__default[\"default\"].string,\n linkClassName: PropTypes__default[\"default\"].string,\n onClickPage: PropTypes__default[\"default\"].func\n};\nvar defaultProps$v = {\n page: 1,\n total: 1,\n url: null,\n withPreviousNext: false,\n className: null,\n paginationClassName: null,\n itemClassName: null,\n linkClassName: null,\n onClickPage: null\n};\n\nvar PaginationMenu = function PaginationMenu(_ref) {\n var page = _ref.page,\n total = _ref.total,\n url = _ref.url,\n withPreviousNext = _ref.withPreviousNext,\n className = _ref.className,\n paginationClassName = _ref.paginationClassName,\n itemClassName = _ref.itemClassName,\n linkClassName = _ref.linkClassName,\n onClickPage = _ref.onClickPage;\n var getUrl = React.useCallback(function (currentPage) {\n return url !== null ? \"\".concat(url).concat(url.indexOf('?') !== -1 ? \"&page=\".concat(currentPage) : \"?page=\".concat(currentPage)) : null;\n }, [url]);\n\n var pages = _toConsumableArray__default[\"default\"](Array(total).keys()).map(function (it) {\n return it + 1;\n });\n\n return /*#__PURE__*/React__default[\"default\"].createElement(\"nav\", {\n className: classNames__default[\"default\"]([styles$m.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"ul\", {\n className: classNames__default[\"default\"](['pagination', _defineProperty__default[\"default\"]({}, paginationClassName, paginationClassName !== null)])\n }, withPreviousNext ? /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: classNames__default[\"default\"](['page-item', _defineProperty__default[\"default\"]({\n disabled: page <= 1\n }, itemClassName, itemClassName !== null)])\n }, page > 1 ? /*#__PURE__*/React__default[\"default\"].createElement(Link, {\n className: classNames__default[\"default\"](['page-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)]),\n href: getUrl(page - 1),\n onClick: onClickPage !== null ? function () {\n return onClickPage(page - 1);\n } : null\n }, messages.previous) : /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"](['page-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, messages.previous))) : null, pages.map(function (pageNumber) {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n key: \"page-\".concat(pageNumber),\n className: classNames__default[\"default\"](['page-item', _defineProperty__default[\"default\"]({\n active: pageNumber === page\n }, itemClassName, itemClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Link, {\n className: classNames__default[\"default\"](['page-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)]),\n href: getUrl(pageNumber),\n onClick: onClickPage !== null ? function () {\n return onClickPage(pageNumber);\n } : null\n }, pageNumber));\n }), withPreviousNext ? /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: classNames__default[\"default\"](['page-item', _defineProperty__default[\"default\"]({\n disabled: page >= total\n }, itemClassName, itemClassName !== null)])\n }, page < total ? /*#__PURE__*/React__default[\"default\"].createElement(Link, {\n className: classNames__default[\"default\"](['page-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)]),\n href: getUrl(page + 1),\n onClick: onClickPage !== null ? function () {\n return onClickPage(page + 1);\n } : null\n }, messages.next) : /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"](['page-link', _defineProperty__default[\"default\"]({}, linkClassName, linkClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, messages.next))) : null));\n};\n\nPaginationMenu.propTypes = propTypes$v;\nPaginationMenu.defaultProps = defaultProps$v;\n\nvar styles$l = {\"container\":\"micromag-core-menus-tabs-container\"};\n\nvar propTypes$u = {\n items: core.PropTypes.menuItems,\n size: core.PropTypes.buttonSize,\n theme: core.PropTypes.buttonTheme,\n renderItemButton: PropTypes__default[\"default\"].func,\n buttonClassName: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string,\n onClickItem: PropTypes__default[\"default\"].func\n};\nvar defaultProps$u = {\n items: [],\n size: null,\n theme: 'secondary',\n renderItemButton: null,\n buttonClassName: null,\n className: null,\n onClickItem: null\n};\n\nvar TabsMenu = function TabsMenu(_ref) {\n var items = _ref.items,\n size = _ref.size,\n theme = _ref.theme,\n renderItemButton = _ref.renderItemButton,\n buttonClassName = _ref.buttonClassName,\n className = _ref.className,\n onClickItem = _ref.onClickItem;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$l.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Buttons, {\n buttons: items,\n size: size,\n theme: theme,\n renderButton: renderItemButton,\n onClickButton: onClickItem,\n className: styles$l.buttons,\n buttonClassName: classNames__default[\"default\"]([styles$l.button, _defineProperty__default[\"default\"]({}, buttonClassName, buttonClassName !== null)])\n }));\n};\n\nTabsMenu.propTypes = propTypes$u;\nTabsMenu.defaultProps = defaultProps$u;\n\nvar styles$k = {\"container\":\"micromag-core-modals-container\",\"modals\":\"micromag-core-modals-modals\",\"hasModals\":\"micromag-core-modals-hasModals\"};\n\nvar propTypes$t = {\n modals: core.PropTypes.modals.isRequired,\n setModalsContainer: PropTypes__default[\"default\"].func.isRequired,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$t = {\n className: null\n};\n\nvar ModalsContainer = function ModalsContainer(_ref) {\n var modals = _ref.modals,\n setModalsContainer = _ref.setModalsContainer,\n className = _ref.className;\n var containerRef = React.useRef(null);\n React.useEffect(function () {\n setModalsContainer(containerRef.current);\n }, []);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$k.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$k.modals, _defineProperty__default[\"default\"]({}, styles$k.hasModals, modals.length > 0)]),\n ref: containerRef\n }));\n};\n\nModalsContainer.propTypes = propTypes$t;\nModalsContainer.defaultProps = defaultProps$t;\nvar Modals = contexts.withModals(ModalsContainer);\n\n/* eslint-disable react/no-array-index-key, react/jsx-props-no-spreading */\nvar propTypes$s = {\n id: PropTypes__default[\"default\"].string,\n data: PropTypes__default[\"default\"].object,\n // eslint-disable-line react/forbid-prop-types\n container: PropTypes__default[\"default\"].object,\n // eslint-disable-line react/forbid-prop-types\n register: PropTypes__default[\"default\"].func,\n unregister: PropTypes__default[\"default\"].func,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$s = {\n id: null,\n data: null,\n container: null,\n register: null,\n unregister: null,\n children: null\n};\n\nvar ElementPortal = function ElementPortal(_ref) {\n var id = _ref.id,\n data = _ref.data,\n children = _ref.children,\n container = _ref.container,\n register = _ref.register,\n unregister = _ref.unregister;\n var finalId = React.useMemo(function () {\n return id || \"element-\".concat(new Date().getTime());\n }, [id]);\n React.useEffect(function () {\n if (register !== null) {\n register(finalId, data);\n }\n\n return function () {\n if (unregister !== null) {\n unregister(finalId);\n }\n };\n }, [finalId, data]);\n return container !== null ? /*#__PURE__*/ReactDOM__default[\"default\"].createPortal(children, container) : null;\n};\n\nElementPortal.propTypes = propTypes$s;\nElementPortal.defaultProps = defaultProps$s;\n\n/* eslint-disable react/no-array-index-key, react/jsx-props-no-spreading */\nvar propTypes$r = {\n id: PropTypes__default[\"default\"].string,\n data: PropTypes__default[\"default\"].object,\n // eslint-disable-line react/forbid-prop-types\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$r = {\n id: null,\n data: null,\n children: null\n};\n\nvar ModalPortal = function ModalPortal(_ref) {\n var id = _ref.id,\n data = _ref.data,\n children = _ref.children;\n\n var _useModals = contexts.useModals(),\n container = _useModals.container,\n _useModals$register = _useModals.register,\n register = _useModals$register === void 0 ? null : _useModals$register,\n _useModals$unregister = _useModals.unregister,\n unregister = _useModals$unregister === void 0 ? null : _useModals$unregister;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(ElementPortal, {\n id: id,\n data: data,\n container: container,\n register: register,\n unregister: unregister\n }, children);\n};\n\nModalPortal.propTypes = propTypes$r;\nModalPortal.defaultProps = defaultProps$r;\n\nvar styles$j = {\"container\":\"micromag-core-modals-modal-container\",\"center\":\"micromag-core-modals-modal-center\",\"inner\":\"micromag-core-modals-modal-inner\",\"top\":\"micromag-core-modals-modal-top\"};\n\nvar propTypes$q = {\n id: PropTypes__default[\"default\"].string,\n title: PropTypes__default[\"default\"].string,\n position: PropTypes__default[\"default\"].oneOf(['center', 'top']),\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$q = {\n id: null,\n title: null,\n position: 'center',\n children: null\n};\n\nvar Modal = function Modal(_ref) {\n var id = _ref.id,\n children = _ref.children,\n position = _ref.position,\n title = _ref.title;\n var finalId = React.useMemo(function () {\n return id || utils.getDisplayName(children.type);\n }, [id, children.type]);\n var data = React.useMemo(function () {\n return {\n title: title\n };\n }, [title]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ModalPortal, {\n id: finalId,\n data: data\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$j.container, _defineProperty__default[\"default\"]({}, styles$j[position], position !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$j.inner\n }, children)));\n};\n\nModal.propTypes = propTypes$q;\nModal.defaultProps = defaultProps$q;\n\nvar styles$i = {\"container\":\"micromag-core-modals-dialog-container\"};\n\nvar propTypes$p = {\n title: core.PropTypes.label,\n header: PropTypes__default[\"default\"].node,\n children: PropTypes__default[\"default\"].node,\n footer: PropTypes__default[\"default\"].node,\n buttons: core.PropTypes.buttons,\n // theme: PropTypes.oneOf([null, 'dark', 'light']),\n onClickClose: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$p = {\n title: null,\n header: null,\n children: null,\n footer: null,\n buttons: null,\n // theme: 'dark',\n onClickClose: null,\n className: null\n};\n\nvar ModalDialog = function ModalDialog(_ref) {\n var title = _ref.title,\n header = _ref.header,\n children = _ref.children,\n buttons = _ref.buttons,\n footer = _ref.footer,\n onClickClose = _ref.onClickClose,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['modal-dialog', styles$i.container, _defineProperty__default[\"default\"]({}, className, className)]),\n role: \"dialog\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"modal-content\"\n }, header || /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['modal-header', styles$i.header, {// 'bg-dark': theme === 'dark',\n // 'border-dark': theme === 'dark',\n // 'text-light': theme === 'dark',\n }])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"h5\", {\n className: \"modal-title\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, title)), /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: \"close text-light\",\n \"aria-label\": \"Close\",\n onClick: onClickClose\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n \"aria-hidden\": \"true\"\n }, \"\\xD7\"))), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['modal-body', styles$i.body, {// [`bg-${theme}`]: theme !== null,\n // 'text-light': theme === 'dark',\n }])\n }, children), footer !== null || buttons !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['modal-footer', styles$i.footer])\n }, footer, buttons !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Buttons, {\n buttons: buttons,\n className: styles$i.buttons\n }) : null) : null));\n};\n\nModalDialog.propTypes = propTypes$p;\nModalDialog.defaultProps = defaultProps$p;\n\nvar propTypes$o = {\n type: PropTypes__default[\"default\"].oneOfType([core.PropTypes.mediaTypes, PropTypes__default[\"default\"].array]),\n opened: PropTypes__default[\"default\"].bool,\n sources: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n onUploaded: PropTypes__default[\"default\"].func,\n onRequestClose: PropTypes__default[\"default\"].func\n};\nvar defaultProps$o = {\n type: null,\n opened: false,\n sources: ['webcam', 'facebook', 'instagram', 'dropbox', 'google-drive'],\n onUploaded: null,\n onRequestClose: null\n};\n\nvar UploadModal = function UploadModal(_ref) {\n var type = _ref.type,\n opened = _ref.opened,\n sources = _ref.sources,\n onUploaded = _ref.onUploaded,\n onRequestClose = _ref.onRequestClose;\n var onUpppyComplete = React.useCallback(function (response) {\n if (onUploaded !== null) {\n onUploaded(response);\n }\n }, [onUploaded]);\n var fileTypes = React.useMemo(function () {\n if (isArray__default[\"default\"](type)) {\n return type.map(function (t) {\n return ['image', 'video', 'audio'].indexOf(t) !== -1 ? \"\".concat(t, \"/*\") : null;\n }).filter(function (t) {\n return t !== null;\n });\n }\n\n return ['image', 'video', 'audio'].indexOf(type) !== -1 ? [\"\".concat(type, \"/*\")] : null;\n }, [type]);\n var uppy = contexts.useUppy({\n onComplete: onUpppyComplete,\n sources: sources,\n allowedFileTypes: fileTypes !== null && fileTypes.length > 0 ? fileTypes : null\n });\n React.useEffect(function () {\n if (uppy !== null && !opened) {\n uppy.reset();\n }\n }, [uppy, opened]);\n return uppy !== null ? /*#__PURE__*/React__default[\"default\"].createElement(react.DashboardModal, {\n uppy: uppy,\n open: opened,\n closeAfterFinish: true,\n onRequestClose: onRequestClose,\n plugins: sources\n }) : null;\n};\n\nUploadModal.propTypes = propTypes$o;\nUploadModal.defaultProps = defaultProps$o;\n\nvar styles$h = {\"container\":\"micromag-core-panels-container\"};\n\nvar propTypes$n = {\n panels: core.PropTypes.panels,\n setPanelsContainer: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$n = {\n panels: [],\n setPanelsContainer: null,\n className: null\n};\n\nvar PanelsContainer = function PanelsContainer(_ref) {\n var panels = _ref.panels,\n setPanelsContainer = _ref.setPanelsContainer,\n className = _ref.className;\n var containerRef = React.useRef(null);\n React.useEffect(function () {\n setPanelsContainer(containerRef.current);\n }, []);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$h.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$h.panels, _defineProperty__default[\"default\"]({}, styles$h.hasPanels, panels.length > 0)]),\n ref: containerRef\n }));\n};\n\nPanelsContainer.propTypes = propTypes$n;\nPanelsContainer.defaultProps = defaultProps$n;\nvar Panels = contexts.withPanels(PanelsContainer);\n\n/* eslint-disable react/no-array-index-key, react/jsx-props-no-spreading */\nvar propTypes$m = {\n id: PropTypes__default[\"default\"].string,\n data: PropTypes__default[\"default\"].object,\n // eslint-disable-line react/forbid-prop-types\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$m = {\n id: null,\n data: null,\n children: null\n};\n\nvar PanelPortal = function PanelPortal(_ref) {\n var id = _ref.id,\n data = _ref.data,\n children = _ref.children;\n\n var _usePanels = contexts.usePanels(),\n _usePanels$panels = _usePanels.panels,\n panels = _usePanels$panels === void 0 ? null : _usePanels$panels,\n container = _usePanels.container,\n _usePanels$register = _usePanels.register,\n register = _usePanels$register === void 0 ? null : _usePanels$register,\n _usePanels$unregister = _usePanels.unregister,\n unregister = _usePanels$unregister === void 0 ? null : _usePanels$unregister;\n\n if (panels === null) {\n return children;\n }\n\n return /*#__PURE__*/React__default[\"default\"].createElement(ElementPortal, {\n id: id,\n data: data,\n container: container,\n register: register,\n unregister: unregister\n }, children);\n};\n\nPanelPortal.propTypes = propTypes$m;\nPanelPortal.defaultProps = defaultProps$m;\n\nvar styles$g = {\"container\":\"micromag-core-panels-panel-container\"};\n\n/* eslint-disable react/no-array-index-key, react/jsx-props-no-spreading */\nvar propTypes$l = {\n id: PropTypes__default[\"default\"].string,\n title: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$l = {\n id: null,\n title: null,\n children: null\n};\n\nvar Panel = function Panel(_ref) {\n var id = _ref.id,\n children = _ref.children,\n title = _ref.title;\n var finalId = React.useMemo(function () {\n return id || utils.getDisplayName(children.type);\n }, [id, children.type]);\n var data = React.useMemo(function () {\n return {\n title: title\n };\n }, [title]);\n return /*#__PURE__*/React__default[\"default\"].createElement(PanelPortal, {\n id: finalId,\n data: data\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$g.container\n }, children));\n};\n\nPanel.propTypes = propTypes$l;\nPanel.defaultProps = defaultProps$l;\n\nvar styles$f = {\"container\":\"micromag-core-partials-collapsable-panel-container\",\"top\":\"micromag-core-partials-collapsable-panel-top\",\"button\":\"micromag-core-partials-collapsable-panel-button\",\"label\":\"micromag-core-partials-collapsable-panel-label\",\"content\":\"micromag-core-partials-collapsable-panel-content\",\"isOpened\":\"micromag-core-partials-collapsable-panel-isOpened\"};\n\nvar propTypes$k = {\n title: PropTypes__default[\"default\"].node,\n children: PropTypes__default[\"default\"].node,\n className: PropTypes__default[\"default\"].string,\n topClassName: PropTypes__default[\"default\"].string,\n contentClassName: PropTypes__default[\"default\"].string,\n openedClassName: PropTypes__default[\"default\"].string,\n buttonClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$k = {\n title: null,\n children: null,\n className: null,\n topClassName: null,\n contentClassName: null,\n openedClassName: null,\n buttonClassName: null\n};\n\nvar CollapsablePanel = function CollapsablePanel(_ref) {\n var _ref2;\n\n var title = _ref.title,\n children = _ref.children,\n className = _ref.className,\n topClassName = _ref.topClassName,\n contentClassName = _ref.contentClassName,\n openedClassName = _ref.openedClassName,\n buttonClassName = _ref.buttonClassName;\n\n var _useState = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n opened = _useState2[0],\n setOpened = _useState2[1];\n\n var onClick = React.useCallback(function () {\n return setOpened(!opened);\n }, [opened, setOpened]);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$f.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, styles$f.isOpened, opened), _defineProperty__default[\"default\"](_ref2, openedClassName, opened && openedClassName !== null), _defineProperty__default[\"default\"](_ref2, className, className !== null), _ref2)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$f.top, _defineProperty__default[\"default\"]({}, topClassName, topClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Button$1, {\n withoutStyle: true,\n className: classNames__default[\"default\"]([styles$f.button, _defineProperty__default[\"default\"]({}, buttonClassName, buttonClassName !== null)]),\n icon: /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: opened ? freeSolidSvgIcons.faAngleUp : freeSolidSvgIcons.faAngleDown,\n className: styles$f.icon\n }),\n iconPosition: \"right\",\n labelClassName: styles$f.label,\n onClick: onClick\n }, title)), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$f.content, _defineProperty__default[\"default\"]({}, contentClassName, contentClassName !== null)])\n }, children));\n};\n\nCollapsablePanel.propTypes = propTypes$k;\nCollapsablePanel.defaultProps = defaultProps$k;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes$j = {\n date: PropTypes__default[\"default\"].string,\n withTime: PropTypes__default[\"default\"].bool,\n timeSeparator: PropTypes__default[\"default\"].node\n};\nvar defaultProps$j = {\n date: null,\n withTime: false,\n timeSeparator: ', '\n};\n\nvar Date$1 = function Date(_ref) {\n var date = _ref.date,\n withTime = _ref.withTime,\n timeSeparator = _ref.timeSeparator;\n var dateObject = React.useMemo(function () {\n return dayjs__default[\"default\"](date).toDate();\n }, [date]);\n return /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedDate, {\n value: dateObject,\n year: \"numeric\",\n month: \"long\",\n day: \"2-digit\"\n }), withTime ? timeSeparator : null, withTime ? /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedTime, {\n value: dateObject\n }) : null);\n};\n\nDate$1.propTypes = propTypes$j;\nDate$1.defaultProps = defaultProps$j;\n\n/* eslint-disable react/no-danger */\nvar propTypes$i = {\n throttleDelay: PropTypes__default[\"default\"].number,\n threshold: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].number),\n onEnter: PropTypes__default[\"default\"].func,\n onLeave: PropTypes__default[\"default\"].func,\n onChange: PropTypes__default[\"default\"].func,\n disabled: PropTypes__default[\"default\"].bool,\n children: PropTypes__default[\"default\"].node,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$i = {\n throttleDelay: null,\n threshold: undefined,\n onEnter: null,\n onLeave: null,\n onChange: null,\n disabled: false,\n children: null,\n className: null\n};\n\nvar Detector = function Detector(_ref) {\n var throttleDelay = _ref.throttleDelay,\n threshold = _ref.threshold,\n onEnter = _ref.onEnter,\n onLeave = _ref.onLeave,\n onChange = _ref.onChange,\n disabled = _ref.disabled,\n children = _ref.children,\n className = _ref.className;\n\n var _useIntersectionObser = hooks.useIntersectionObserver({\n threshold: threshold\n }),\n ref = _useIntersectionObser.ref,\n isIntersecting = _useIntersectionObser.entry.isIntersecting;\n\n var enteredRef = React.useRef(false);\n var triggerChange = React.useMemo(function () {\n var callback = function callback(intersecting) {\n var entered = enteredRef.current;\n\n if (onEnter !== null && intersecting && !entered) {\n onEnter();\n }\n\n if (onLeave !== null && !intersecting && entered) {\n onLeave();\n }\n\n if (onChange !== null) {\n onChange(intersecting);\n }\n\n if (intersecting && !entered) {\n enteredRef.current = true;\n } else if (!intersecting && entered) {\n enteredRef.current = false;\n }\n };\n\n return throttleDelay !== null ? throttle__default[\"default\"](callback, throttleDelay, {\n trailing: true,\n leading: true\n }) : callback;\n }, [throttleDelay, onEnter, onLeave, onChange]);\n React.useEffect(function () {\n if (disabled) {\n return function () {};\n }\n\n triggerChange(isIntersecting);\n return function () {\n if (throttleDelay !== null) {\n triggerChange.cancel();\n }\n };\n }, [throttleDelay, isIntersecting, disabled, triggerChange]);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: className,\n ref: ref\n }, children);\n};\n\nDetector.propTypes = propTypes$i;\nDetector.defaultProps = defaultProps$i;\n\nvar styles$e = {\"container\":\"micromag-core-partials-placeholder-block-container\",\"box\":\"micromag-core-partials-placeholder-block-box\",\"outline\":\"micromag-core-partials-placeholder-block-outline\"};\n\nvar propTypes$h = {\n width: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n height: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n outline: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n boxClassName: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$h = {\n width: '100%',\n height: '3em',\n outline: false,\n className: null,\n boxClassName: null,\n children: null\n};\n\nvar PlaceholderBlock = function PlaceholderBlock(_ref) {\n var _ref2;\n\n var width = _ref.width,\n height = _ref.height,\n outline = _ref.outline,\n className = _ref.className,\n boxClassName = _ref.boxClassName,\n children = _ref.children;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$e.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, className, className !== null), _defineProperty__default[\"default\"](_ref2, styles$e.outline, outline), _ref2)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$e.box, _defineProperty__default[\"default\"]({}, boxClassName, boxClassName !== null)]),\n style: {\n width: width,\n height: height\n }\n }, children));\n};\n\nPlaceholderBlock.propTypes = propTypes$h;\nPlaceholderBlock.defaultProps = defaultProps$h;\n\n/* eslint-disable react/jsx-props-no-spreading */\n\nvar propTypes$g = {\n name: PropTypes__default[\"default\"].string.isRequired,\n components: PropTypes__default[\"default\"].object.isRequired,\n // eslint-disable-line\n props: PropTypes__default[\"default\"].object,\n // eslint-disable-line\n isPlaceholder: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n placeholderProps: PropTypes__default[\"default\"].object // eslint-disable-line\n\n};\nvar defaultProps$g = {\n props: {},\n isPlaceholder: false,\n className: null,\n placeholderProps: null\n};\n\nvar ElementComponent = function ElementComponent(_ref) {\n var name = _ref.name,\n components = _ref.components,\n props = _ref.props,\n isPlaceholder = _ref.isPlaceholder,\n className = _ref.className,\n placeholderProps = _ref.placeholderProps;\n\n if (!name) {\n return 'Bad component name';\n }\n\n if (isPlaceholder) {\n // TODO: figure out what this did\n // const PlaceholderComponent = Placeholders[pascalCase(name)];\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, placeholderProps);\n }\n\n var RealComponent = components[utils.pascalCase(name)];\n\n if (!RealComponent) {\n return 'Bad component';\n }\n\n return /*#__PURE__*/React__default[\"default\"].createElement(RealComponent, Object.assign({}, props, {\n className: className\n }));\n};\n\nElementComponent.propTypes = propTypes$g;\nElementComponent.defaultProps = defaultProps$g;\n\nvar styles$d = {\"container\":\"micromag-core-partials-empty-container\",\"middle\":\"micromag-core-partials-empty-middle\",\"withoutBorder\":\"micromag-core-partials-empty-withoutBorder\",\"invertColor\":\"micromag-core-partials-empty-invertColor\"};\n\nvar propTypes$f = {\n children: PropTypes__default[\"default\"].node,\n withoutBorder: PropTypes__default[\"default\"].bool,\n light: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$f = {\n children: null,\n withoutBorder: false,\n light: false,\n className: null\n};\n\nvar Empty = function Empty(_ref) {\n var _ref2;\n\n var children = _ref.children,\n withoutBorder = _ref.withoutBorder,\n light = _ref.light,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$d.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, styles$d.withoutBorder, withoutBorder), _defineProperty__default[\"default\"](_ref2, styles$d.light, light), _defineProperty__default[\"default\"](_ref2, className, className), _ref2)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$d.middle\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, children)));\n};\n\nEmpty.propTypes = propTypes$f;\nEmpty.defaultProps = defaultProps$f;\n\nvar propTypes$e = {\n fonts: core.PropTypes.fonts,\n formats: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string,\n format: PropTypes__default[\"default\"].string\n })]))\n};\nvar defaultProps$e = {\n fonts: [],\n formats: ['eot', 'woff2', 'woff', {\n name: 'otf',\n format: 'opentype'\n }, {\n name: 'ttf',\n format: 'truetype'\n }, 'svg']\n};\n\nvar FontFaces = function FontFaces(_ref) {\n var fonts = _ref.fonts,\n formats = _ref.formats;\n var fontFaces = (fonts || []).filter(function (it) {\n return isObject__default[\"default\"](it) && it.type === 'custom' && (it.media || null) !== null;\n }).map(function (_ref2) {\n var _ref2$name = _ref2.name,\n name = _ref2$name === void 0 ? null : _ref2$name,\n _ref2$media = _ref2.media,\n media = _ref2$media === void 0 ? null : _ref2$media;\n\n var _ref3 = media || {},\n _ref3$files = _ref3.files,\n files = _ref3$files === void 0 ? {} : _ref3$files;\n\n var urls = formats.reduce(function (currentUrls, format) {\n var finalFormat = isObject__default[\"default\"](format) ? format.format : format;\n var formatExtension = isObject__default[\"default\"](format) ? format.name : format;\n var file = files[\"webfonts.\".concat(formatExtension)] || files[formatExtension] || null;\n return file !== null ? [].concat(_toConsumableArray__default[\"default\"](currentUrls), [\"url(\\\"\".concat(file.url, \"?\\\") format(\\\"\").concat(finalFormat, \"\\\")\")]) : currentUrls;\n }, []);\n return urls.length > 0 && name !== null ? \"\\n @font-face {\\n font-family: \\\"\".concat(name, \"\\\";\\n src: \").concat(urls.join(','), \";\\n }\\n \") : null;\n }).filter(function (it) {\n return it !== null;\n });\n return fontFaces.length > 0 ? /*#__PURE__*/React__default[\"default\"].createElement(\"style\", {\n type: \"text/css\"\n }, fontFaces.join('\\n')) : null;\n};\n\nFontFaces.propTypes = propTypes$e;\nFontFaces.defaultProps = defaultProps$e;\n\nvar styles$c = {};\n\nvar propTypes$d = {\n thumbnail: PropTypes__default[\"default\"].node,\n thumbnailAlign: PropTypes__default[\"default\"].oneOf(['top', 'center', 'bottom']),\n children: PropTypes__default[\"default\"].node,\n title: core.PropTypes.label,\n className: PropTypes__default[\"default\"].string,\n thumbnailClassName: PropTypes__default[\"default\"].string,\n bodyClassName: PropTypes__default[\"default\"].string,\n titleClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$d = {\n thumbnail: null,\n thumbnailAlign: 'top',\n children: null,\n title: null,\n className: null,\n thumbnailClassName: null,\n bodyClassName: null,\n titleClassName: null\n};\n\nvar Media = function Media(_ref) {\n var thumbnail = _ref.thumbnail,\n thumbnailAlign = _ref.thumbnailAlign,\n children = _ref.children,\n title = _ref.title,\n className = _ref.className,\n thumbnailClassName = _ref.thumbnailClassName,\n bodyClassName = _ref.bodyClassName,\n titleClassName = _ref.titleClassName;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['media', styles$c.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n }, typeof thumbnail === 'string' ? /*#__PURE__*/React__default[\"default\"].createElement(\"img\", {\n src: thumbnail,\n alt: title,\n className: classNames__default[\"default\"](['mr-3', styles$c.thumbnail, _defineProperty__default[\"default\"]({\n 'align-self-start': thumbnailAlign === 'top',\n 'align-self-center': thumbnailAlign === 'center',\n 'align-self-end': thumbnailAlign === 'bottom'\n }, thumbnailClassName, thumbnailClassName !== null)])\n }) : thumbnail, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['media-body', styles$c.body, _defineProperty__default[\"default\"]({}, bodyClassName, bodyClassName !== null)])\n }, title !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"h5\", {\n className: classNames__default[\"default\"](['mt-0', styles$c.title, _defineProperty__default[\"default\"]({}, titleClassName, titleClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, title)) : null, children));\n};\n\nMedia.propTypes = propTypes$d;\nMedia.defaultProps = defaultProps$d;\n\n/**\n * Core\n */\n\nPropTypes__default[\"default\"].shape({\n listen: PropTypes__default[\"default\"].func.isRequired,\n push: PropTypes__default[\"default\"].func.isRequired\n});\nPropTypes__default[\"default\"].shape({\n pathname: PropTypes__default[\"default\"].string,\n search: PropTypes__default[\"default\"].string\n});\nPropTypes__default[\"default\"].shape({\n locale: PropTypes__default[\"default\"].string.isRequired,\n formatMessage: PropTypes__default[\"default\"].func.isRequired\n});\nvar defaultMessageContent = PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].number,\n value: PropTypes__default[\"default\"].string\n});\nvar defaultMessage = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].arrayOf(defaultMessageContent)]);\nvar message = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n defaultMessage: defaultMessage.isRequired,\n description: PropTypes__default[\"default\"].string\n});\nvar text = PropTypes__default[\"default\"].oneOfType([message, PropTypes__default[\"default\"].string]);\nvar label = PropTypes__default[\"default\"].oneOfType([message, PropTypes__default[\"default\"].node]);\nPropTypes__default[\"default\"].oneOf([401, 403, 404, 500]);\nPropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].shape({\n current: PropTypes__default[\"default\"].any // eslint-disable-line react/forbid-prop-types\n\n}), PropTypes__default[\"default\"].func]);\nvar target = PropTypes__default[\"default\"].oneOf(['_blank', '_self', '_parent']);\nvar interaction = PropTypes__default[\"default\"].oneOf(['tap', 'swipe']);\nPropTypes__default[\"default\"].arrayOf(interaction);\nPropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].array]));\n/**\n * Site\n */\n\nPropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].number,\n firstname: PropTypes__default[\"default\"].string,\n lastname: PropTypes__default[\"default\"].string,\n email: PropTypes__default[\"default\"].string,\n gender: PropTypes__default[\"default\"].string,\n birthdate: PropTypes__default[\"default\"].string\n});\nvar menuItem = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n label: label,\n url: PropTypes__default[\"default\"].string,\n external: PropTypes__default[\"default\"].bool,\n active: PropTypes__default[\"default\"].bool\n});\nPropTypes__default[\"default\"].arrayOf(menuItem);\nvar breadcrumb = PropTypes__default[\"default\"].shape({\n label: label,\n url: PropTypes__default[\"default\"].string\n});\nPropTypes__default[\"default\"].arrayOf(breadcrumb);\nvar device = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nPropTypes__default[\"default\"].arrayOf(device);\nvar modal = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nPropTypes__default[\"default\"].arrayOf(modal);\nvar panel = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nPropTypes__default[\"default\"].arrayOf(panel);\nvar button = PropTypes__default[\"default\"].shape({\n label: label,\n onClick: PropTypes__default[\"default\"].func\n});\nPropTypes__default[\"default\"].arrayOf(button);\nvar bootstrapThemeStrings = ['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark'];\nPropTypes__default[\"default\"].oneOf(bootstrapThemeStrings);\nPropTypes__default[\"default\"].oneOf([].concat(bootstrapThemeStrings, ['outline-primary', 'outline-secondary', 'outline-success', 'outline-danger', 'outline-warning', 'outline-info', 'outline-light', 'outline-dark', 'outline-link', null]));\nPropTypes__default[\"default\"].oneOf(['lg', 'sm', null]);\nPropTypes__default[\"default\"].oneOf(['lg', 'sm', null]);\nPropTypes__default[\"default\"].oneOf(['left', 'right']);\nvar component = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].object, PropTypes__default[\"default\"].func]);\nPropTypes__default[\"default\"].objectOf(component);\n/**\n * Forms\n */\n\nvar errors = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string)]);\nPropTypes__default[\"default\"].objectOf(errors);\nvar selectOption = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n value: PropTypes__default[\"default\"].any,\n // eslint-disable-line\n label: label\n})]);\nPropTypes__default[\"default\"].arrayOf(selectOption);\nvar formField = PropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string,\n component: component\n});\nPropTypes__default[\"default\"].arrayOf(formField);\n/**\n * Medias\n */\n\nvar mediaMetadataShape = {\n filename: PropTypes__default[\"default\"].string,\n size: PropTypes__default[\"default\"].number,\n mime: PropTypes__default[\"default\"].string\n};\nvar mediaFile = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n handle: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string,\n mime: PropTypes__default[\"default\"].string,\n url: PropTypes__default[\"default\"].string\n});\nvar mediaShape = {\n id: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string.isRequired,\n url: PropTypes__default[\"default\"].string,\n // .isRequired,\n thumbnail_url: PropTypes__default[\"default\"].string,\n name: PropTypes__default[\"default\"].string,\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, mediaMetadataShape)),\n files: PropTypes__default[\"default\"].objectOf(mediaFile)\n};\nvar media = PropTypes__default[\"default\"].shape(mediaShape);\nPropTypes__default[\"default\"].arrayOf(media);\nPropTypes__default[\"default\"].oneOf(['image', 'video', 'audio', 'closed-captions', 'font']);\nvar imageMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['image', 'video']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n }))\n}));\nPropTypes__default[\"default\"].arrayOf(imageMedia);\nvar fontMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['font']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, mediaMetadataShape))\n}));\nPropTypes__default[\"default\"].arrayOf(fontMedia);\nvar videoMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['video']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n duration: PropTypes__default[\"default\"].number\n }))\n}));\nPropTypes__default[\"default\"].arrayOf(videoMedia);\nvar audioMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['audio']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n duration: PropTypes__default[\"default\"].number\n }))\n}));\nPropTypes__default[\"default\"].arrayOf(audioMedia);\nvar closedCaptionsMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['closed-captions'])\n}));\n/**\n * Style\n */\n\nvar font = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].oneOf(['system', 'google', 'custom']),\n name: PropTypes__default[\"default\"].string,\n media: fontMedia\n})]);\nPropTypes__default[\"default\"].arrayOf(font);\nvar textAlign = PropTypes__default[\"default\"].oneOf(['left', 'right', 'center']);\nvar color = PropTypes__default[\"default\"].shape({\n color: PropTypes__default[\"default\"].string,\n alpha: PropTypes__default[\"default\"].number\n});\nvar textStyle = PropTypes__default[\"default\"].shape({\n fontFamily: font,\n fontSize: PropTypes__default[\"default\"].number,\n fontStyle: PropTypes__default[\"default\"].shape({\n bold: PropTypes__default[\"default\"].bool,\n italic: PropTypes__default[\"default\"].bool,\n underline: PropTypes__default[\"default\"].bool,\n upperCase: PropTypes__default[\"default\"].bool\n }),\n align: textAlign,\n color: color,\n letterSpacing: PropTypes__default[\"default\"].number,\n lineHeight: PropTypes__default[\"default\"].number\n});\nvar borderTypes = PropTypes__default[\"default\"].oneOf(['dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset', 'hidden']);\nPropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n style: borderTypes,\n radius: PropTypes__default[\"default\"].number,\n color: color\n});\nPropTypes__default[\"default\"].shape({\n backgroundColor: color,\n borderRadius: PropTypes__default[\"default\"].number,\n borderWidth: PropTypes__default[\"default\"].number,\n borderColor: color,\n borderStyle: borderTypes\n});\nPropTypes__default[\"default\"].shape({\n top: PropTypes__default[\"default\"].number,\n bottom: PropTypes__default[\"default\"].number\n});\nPropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape({\n rows: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].number)]),\n columns: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].number)])\n}));\nvar objectFitSize = PropTypes__default[\"default\"].oneOf(['cover', 'contain', null]);\nPropTypes__default[\"default\"].shape({\n fit: objectFitSize,\n horizontalPosition: PropTypes__default[\"default\"].oneOf(['left', 'center', 'right']),\n verticalPosition: PropTypes__default[\"default\"].oneOf(['top', 'center', 'bottom'])\n});\n/**\n * Elements\n */\n\nvar textElement = PropTypes__default[\"default\"].shape({\n body: PropTypes__default[\"default\"].string,\n textStyle: textStyle\n});\nvar headingElement = textElement;\nPropTypes__default[\"default\"].shape({\n label: PropTypes__default[\"default\"].string,\n textStyle: textStyle\n});\nvar imageElement = PropTypes__default[\"default\"].shape({\n media: imageMedia\n});\nPropTypes__default[\"default\"].arrayOf(imageElement);\nPropTypes__default[\"default\"].shape({\n media: videoMedia,\n autoPlay: PropTypes__default[\"default\"].bool,\n loop: PropTypes__default[\"default\"].bool,\n closedCaptions: closedCaptionsMedia,\n withSeekBar: PropTypes__default[\"default\"].bool,\n withPlayPause: PropTypes__default[\"default\"].bool\n});\nPropTypes__default[\"default\"].shape({\n media: audioMedia,\n autoPlay: PropTypes__default[\"default\"].bool,\n loop: PropTypes__default[\"default\"].bool,\n closedCaptions: closedCaptionsMedia,\n withPlayPause: PropTypes__default[\"default\"].bool\n});\nPropTypes__default[\"default\"].shape({\n media: closedCaptionsMedia\n});\nvar backgroundElement = PropTypes__default[\"default\"].shape({\n color: color,\n image: imageMedia,\n video: videoMedia\n});\nvar imageElementWithCaption = PropTypes__default[\"default\"].shape({\n image: imageMedia,\n caption: textElement\n});\nPropTypes__default[\"default\"].arrayOf(imageElementWithCaption);\nvar stackDirection = PropTypes__default[\"default\"].oneOf(['horizontal', 'vertical']);\nvar stackAlign = PropTypes__default[\"default\"].oneOf(['start', 'center', 'end']);\nvar stackSpacing = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].oneOf(['between', 'evenly', 'around'])]);\nPropTypes__default[\"default\"].shape({\n direction: stackDirection,\n align: stackAlign,\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n spacing: stackSpacing,\n reverse: PropTypes__default[\"default\"].bool\n});\nPropTypes__default[\"default\"].shape({\n layout: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n spacing: PropTypes__default[\"default\"].number\n});\nvar geoPosition = PropTypes__default[\"default\"].shape({\n lat: PropTypes__default[\"default\"].number,\n lng: PropTypes__default[\"default\"].number\n});\nvar markerShape = {\n id: PropTypes__default[\"default\"].number,\n geoPosition: geoPosition,\n title: headingElement,\n subtitle: headingElement,\n description: textElement\n};\nvar marker = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, markerShape));\nPropTypes__default[\"default\"].arrayOf(marker);\nvar markerWithImage = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, markerShape), {}, {\n image: imageMedia\n}));\nPropTypes__default[\"default\"].arrayOf(markerWithImage);\nvar answerShape = {\n id: PropTypes__default[\"default\"].string,\n label: textElement\n};\nvar answer = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, answerShape));\nvar quizAnswer = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, answerShape), {}, {\n good: PropTypes__default[\"default\"].bool\n}));\nPropTypes__default[\"default\"].arrayOf(answer);\nPropTypes__default[\"default\"].arrayOf(quizAnswer);\nvar callToActionTypes = PropTypes__default[\"default\"].oneOf(['swipe-up', 'button']);\nPropTypes__default[\"default\"].shape({\n active: PropTypes__default[\"default\"].bool,\n type: callToActionTypes,\n url: PropTypes__default[\"default\"].string,\n label: textElement\n});\nvar speaker = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n name: PropTypes__default[\"default\"].string,\n avatar: imageMedia,\n side: PropTypes__default[\"default\"].oneOf(['left', 'right']),\n color: color\n});\nvar speakers = PropTypes__default[\"default\"].arrayOf(speaker);\nvar conversationMessage = PropTypes__default[\"default\"].shape({\n speaker: PropTypes__default[\"default\"].string,\n message: PropTypes__default[\"default\"].string,\n image: imageMedia\n});\nvar conversationMessages = PropTypes__default[\"default\"].arrayOf(conversationMessage);\nPropTypes__default[\"default\"].shape({\n speakers: speakers,\n textStyle: textStyle,\n messages: conversationMessages\n});\n/**\n * Definitions\n */\n\nvar fieldShape = {\n name: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string.isRequired,\n label: text\n};\nvar field = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, fieldShape), {}, {\n isSection: PropTypes__default[\"default\"].bool,\n fields: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape(fieldShape))\n}));\nvar fields = PropTypes__default[\"default\"].arrayOf(field);\nvar screenDefinition = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired,\n type: PropTypes__default[\"default\"].oneOf(['screen']).isRequired,\n title: text.isRequired,\n layouts: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n fields: fields\n});\nPropTypes__default[\"default\"].arrayOf(screenDefinition);\nvar fieldDefinition = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired,\n type: PropTypes__default[\"default\"].oneOf(['field']).isRequired,\n title: text.isRequired,\n fields: fields\n});\nPropTypes__default[\"default\"].arrayOf(fieldDefinition);\n/**\n * Components\n */\n\nvar storyComponentShape = {\n type: PropTypes__default[\"default\"].string.isRequired\n};\nvar storyComponent = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, storyComponentShape));\nPropTypes__default[\"default\"].arrayOf(storyComponent);\nvar screenComponent = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, storyComponentShape));\nvar screenComponents = PropTypes__default[\"default\"].arrayOf(screenComponent);\n\n/**\n * Theme\n */\n\nvar theme = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n textStyles: PropTypes__default[\"default\"].objectOf(textStyle),\n // renamed to textstyles\n background: backgroundElement,\n colors: PropTypes__default[\"default\"].objectOf(color),\n components: screenComponents\n});\nPropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({\n logo: imageMedia\n}, theme));\n/**\n * Branding\n */\n// export const branding = PropTypes.shape({\n// logo: imageMedia,\n// primaryColor: color,\n// secondaryColor: color,\n// backgroundColor: color,\n// textStyle,\n// });\n\n/**\n * Metadata\n */\n\nvar metadata = PropTypes__default[\"default\"].shape({\n description: PropTypes__default[\"default\"].string,\n shareUrl: PropTypes__default[\"default\"].string,\n shareImage: imageMedia,\n favIcon: imageMedia\n});\n/**\n * Story\n */\n\nPropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n theme: theme,\n components: screenComponents,\n metadata: metadata\n});\n/**\n * Render\n */\n\nvar deviceScreen = PropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string.isRequired,\n mediaQuery: PropTypes__default[\"default\"].string\n});\nPropTypes__default[\"default\"].arrayOf(deviceScreen);\nPropTypes__default[\"default\"].shape({\n screen: PropTypes__default[\"default\"].string,\n screens: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n});\nPropTypes__default[\"default\"].oneOf(['view', 'placeholder', 'edit', 'preview', 'static', 'capture']);\n/**\n * Screens\n */\n\nPropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n});\nPropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n url: PropTypes__default[\"default\"].string,\n target: target,\n iframe: PropTypes__default[\"default\"].string,\n image: imageMedia\n});\nPropTypes__default[\"default\"].shape({\n src: PropTypes__default[\"default\"].string,\n track: PropTypes__default[\"default\"].string,\n trackLng: PropTypes__default[\"default\"].number,\n controls: PropTypes__default[\"default\"].bool\n});\nvar slide = PropTypes__default[\"default\"].shape({\n image: imageMedia,\n text: PropTypes__default[\"default\"].string\n});\nPropTypes__default[\"default\"].arrayOf(slide); // export const imageStyle = PropTypes.shape({\n// alt: PropTypes.string,\n// fit: PropTypes.object,\n// });\n\nPropTypes__default[\"default\"].shape({});\n/**\n * Transitions\n */\n\nvar transitionName = PropTypes__default[\"default\"].oneOf(['fade', 'scale', 'slide']);\nvar transitionParams = {\n duration: PropTypes__default[\"default\"].number,\n easing: PropTypes__default[\"default\"].oneOf(['ease', 'ease-in', 'ease-out', 'ease-in-out', 'linear'])\n};\nvar transition = PropTypes__default[\"default\"].oneOfType([transitionName.isRequired, PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({\n name: transitionName.isRequired\n}, transitionParams))]);\nPropTypes__default[\"default\"].shape({\n \"in\": transition,\n out: transition\n});\n/**\n * Search\n */\n\nvar searchFilter = PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].string,\n value: PropTypes__default[\"default\"].oneOf([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number])\n});\nPropTypes__default[\"default\"].arrayOf(searchFilter);\n/**\n * Payments\n */\n\nvar paymentItem = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]),\n date: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string,\n invoice_link: PropTypes__default[\"default\"].string,\n amount: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number])\n});\nPropTypes__default[\"default\"].arrayOf(paymentItem);\n/**\n * Page Metadada\n */\n\nvar pageMetadata = PropTypes__default[\"default\"].shape({\n canonical: PropTypes__default[\"default\"].string,\n description: PropTypes__default[\"default\"].string,\n keywords: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].array]),\n image: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string\n }),\n favicon: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string\n }),\n rssUrl: PropTypes__default[\"default\"].string,\n atomUrl: PropTypes__default[\"default\"].string,\n microformats: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape({}))\n});\n\n/* eslint-disable react/no-array-index-key */\nvar propTypes$c = {\n title: PropTypes__default[\"default\"].string,\n url: PropTypes__default[\"default\"].string,\n metadata: pageMetadata,\n fullTitle: PropTypes__default[\"default\"].string,\n suffix: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$c = {\n title: null,\n url: null,\n metadata: null,\n fullTitle: null,\n suffix: 'Micromag',\n children: null\n};\n\nvar Meta = function Meta(_ref) {\n var title = _ref.title,\n url = _ref.url,\n metadata = _ref.metadata,\n fullTitle = _ref.fullTitle,\n suffix = _ref.suffix,\n children = _ref.children;\n\n var _ref2 = metadata || {},\n _ref2$canonical = _ref2.canonical,\n canonical = _ref2$canonical === void 0 ? null : _ref2$canonical,\n _ref2$description = _ref2.description,\n description = _ref2$description === void 0 ? null : _ref2$description,\n _ref2$keywords = _ref2.keywords,\n keywords = _ref2$keywords === void 0 ? null : _ref2$keywords,\n _ref2$image = _ref2.image,\n image = _ref2$image === void 0 ? null : _ref2$image,\n _ref2$favicon = _ref2.favicon,\n favicon = _ref2$favicon === void 0 ? null : _ref2$favicon,\n _ref2$rssUrl = _ref2.rssUrl,\n rssUrl = _ref2$rssUrl === void 0 ? null : _ref2$rssUrl,\n _ref2$atomUrl = _ref2.atomUrl,\n atomUrl = _ref2$atomUrl === void 0 ? null : _ref2$atomUrl,\n _ref2$microformats = _ref2.microformats,\n microformats = _ref2$microformats === void 0 ? [] : _ref2$microformats,\n _ref2$language = _ref2.language,\n language = _ref2$language === void 0 ? null : _ref2$language;\n\n var realTitle = title !== null ? \"\".concat(title, \" | \").concat(suffix) : fullTitle;\n\n var _ref3 = image || {},\n _ref3$url = _ref3.url,\n imageUrl = _ref3$url === void 0 ? null : _ref3$url,\n _ref3$metadata = _ref3.metadata,\n imageMetadata = _ref3$metadata === void 0 ? {} : _ref3$metadata;\n\n var _ref4 = imageMetadata || {},\n _ref4$width = _ref4.width,\n imageWidth = _ref4$width === void 0 ? null : _ref4$width,\n _ref4$height = _ref4.height,\n imageHeight = _ref4$height === void 0 ? null : _ref4$height;\n\n var _ref5 = favicon || {},\n _ref5$url = _ref5.url,\n faviconUrl = _ref5$url === void 0 ? null : _ref5$url;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(reactHelmet.Helmet, null, /*#__PURE__*/React__default[\"default\"].createElement(\"title\", null, realTitle !== null && realTitle.length > 0 ? realTitle : 'Micromag'), description !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"description\",\n content: description\n }) : null, language !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"language\",\n content: language\n }) : null, keywords !== null && isString__default[\"default\"](keywords) ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"keywords\",\n content: keywords\n }) : null, keywords !== null && isArray__default[\"default\"](keywords) ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"keywords\",\n content: keywords.join(',')\n }) : null, canonical !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"link\", {\n rel: \"canonical\",\n href: canonical\n }) : null, faviconUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"link\", {\n rel: \"icon\",\n type: \"image/png\",\n href: faviconUrl\n }) : null, rssUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"link\", {\n rel: \"alternate\",\n type: \"application/rss+xml\",\n href: rssUrl\n }) : null, atomUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"link\", {\n rel: \"alternate\",\n type: \"application/atom+xml\",\n href: atomUrl\n }) : null, imageUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:image\",\n content: imageUrl\n }) : null, imageUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:image:url\",\n content: imageUrl\n }) : null, imageWidth !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:image:width\",\n content: imageWidth\n }) : null, imageHeight !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:image:height\",\n content: imageHeight\n }) : null, /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:title\",\n content: realTitle\n }), description !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:description\",\n content: description\n }) : null, url !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n property: \"og:url\",\n content: url\n }) : null, /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"twitter:card\",\n content: imageUrl !== null ? 'summary_large_image' : 'summary'\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"twitter:title\",\n content: realTitle\n }), description !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"twitter:description\",\n content: description\n }) : null, imageUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"meta\", {\n name: \"twitter:image\",\n content: imageUrl\n }) : null, (microformats || []).map(function (it) {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"script\", {\n type: \"application/ld+json\",\n id: \"\".concat(it[\"@type\"], \"-\").concat(it.identifier),\n key: \"microformat-\".concat(it[\"@type\"], \"-\").concat(it.identifier)\n }, JSON.stringify(it));\n }), children);\n};\n\nMeta.propTypes = propTypes$c;\nMeta.defaultProps = defaultProps$c;\n\nvar styles$b = {\"container\":\"micromag-core-partials-slideshow-container\",\"item\":\"micromag-core-partials-slideshow-item\",\"items\":\"micromag-core-partials-slideshow-items\",\"prev\":\"micromag-core-partials-slideshow-prev\",\"current\":\"micromag-core-partials-slideshow-current\",\"next\":\"micromag-core-partials-slideshow-next\"};\n\nvar propTypes$b = {\n items: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].node),\n auto: PropTypes__default[\"default\"].bool,\n delay: PropTypes__default[\"default\"].number,\n width: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]),\n height: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]),\n className: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$b = {\n items: [],\n auto: true,\n delay: 5000,\n width: null,\n height: null,\n className: null,\n children: null\n};\n\nvar Slideshow = function Slideshow(_ref) {\n var items = _ref.items,\n auto = _ref.auto,\n delay = _ref.delay,\n width = _ref.width,\n height = _ref.height,\n className = _ref.className,\n children = _ref.children;\n\n var _useState = React.useState(0),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n index = _useState2[0],\n setIndex = _useState2[1];\n\n React.useEffect(function () {\n var id = null;\n\n if (auto) {\n id = setTimeout(function () {\n if (index < items.length - 1) {\n setIndex(function (i) {\n return i + 1;\n });\n } else {\n setIndex(0);\n }\n }, delay);\n }\n\n return function () {\n clearTimeout(id);\n };\n }, [index, items, auto, delay]);\n var style = {\n width: width,\n height: height\n };\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$b.container, _defineProperty__default[\"default\"]({}, className, className)]),\n style: style\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$b.items\n }, items.map(function (it, i) {\n var _ref3;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n key: \"slide-\".concat(i + 1),\n className: classNames__default[\"default\"]([styles$b.item, (_ref3 = {}, _defineProperty__default[\"default\"](_ref3, styles$b.prev, i < index), _defineProperty__default[\"default\"](_ref3, styles$b.current, i === index), _defineProperty__default[\"default\"](_ref3, styles$b.next, i > index), _ref3)])\n }, it);\n })), children);\n};\n\nSlideshow.propTypes = propTypes$b;\nSlideshow.defaultProps = defaultProps$b;\n\nvar styles$a = {};\n\n/* eslint-disable react/prop-types */\nvar AdFrame = function AdFrame(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faAd,\n className: styles$a.icon\n }));\n};\n\n/* eslint-disable react/prop-types */\nvar AdImage = function AdImage(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faImage,\n className: styles$a.icon\n }));\n};\n\n/* eslint-disable react/destructuring-assignment, react/prop-types */\nvar Audio = function Audio(_ref) {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '2em' : _ref$height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faMusic,\n className: styles$a.icon\n }));\n};\n\nvar styles$9 = {\"container\":\"micromag-core-partials-placeholder-text-container\",\"line\":\"micromag-core-partials-placeholder-text-line\"};\n\nvar propTypes$a = {\n lines: PropTypes__default[\"default\"].number,\n lineMargin: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n width: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n height: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n fontSize: PropTypes__default[\"default\"].number,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$a = {\n lines: 1,\n lineMargin: 1,\n width: '100%',\n height: null,\n fontSize: 16,\n className: null\n};\n\nvar PlaceholderText = function PlaceholderText(_ref) {\n var lines = _ref.lines,\n lineMargin = _ref.lineMargin,\n width = _ref.width,\n height = _ref.height,\n fontSize = _ref.fontSize,\n className = _ref.className;\n var lineHeight = height !== null && isNumber__default[\"default\"](height) ? \"\".concat(Math.round(height * fontSize), \"px\") : height;\n var oddWidth = isNumber__default[\"default\"](width) ? width * 0.9 : '90%';\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$9.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, _toConsumableArray__default[\"default\"](Array(lines)).map(function (e, index) {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n key: \"line-\".concat(index),\n className: styles$9.line,\n style: {\n width: index % 2 === 0 ? width : oddWidth,\n height: lineHeight,\n marginTop: lineMargin,\n marginBottom: lineMargin\n }\n });\n }));\n};\n\nPlaceholderText.propTypes = propTypes$a;\nPlaceholderText.defaultProps = defaultProps$a;\n\n/* eslint-disable react/destructuring-assignment, react/prop-types */\nvar Button = function Button(_ref) {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '75%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '0.4em' : _ref$height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n outline: true,\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, {\n line: 1,\n height: \"0.1em\"\n }));\n};\n\n/* eslint-disable react/prop-types */\nvar Image = function Image(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faImage,\n className: styles$a.icon\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar Line = function Line(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.shortText]),\n height: 0.2,\n lines: 1\n }));\n};\n\nvar styles$8 = {\"container\":\"micromag-core-placeholders-map-container\",\"icon\":\"micromag-core-placeholders-map-icon\"};\n\nvar Map = function Map(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, Object.assign({}, props, {\n width: \"100%\",\n height: \"100%\",\n className: classNames__default[\"default\"]([styles$8.container, _defineProperty__default[\"default\"]({}, props.className, props.className !== null)])\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: props.withImages ? freeSolidSvgIcons.faImage : freeSolidSvgIcons.faMapMarkerAlt,\n className: styles$8.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: props.withImages ? freeSolidSvgIcons.faImage : freeSolidSvgIcons.faMapMarkerAlt,\n className: styles$8.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: props.withImages ? freeSolidSvgIcons.faImage : freeSolidSvgIcons.faMapMarkerAlt,\n className: styles$8.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: props.withImages ? freeSolidSvgIcons.faImage : freeSolidSvgIcons.faMapMarkerAlt,\n className: styles$8.icon\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar MapPath = function MapPath(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, Object.assign({}, props, {\n width: \"100%\",\n height: \"70%\",\n className: classNames__default[\"default\"]([props.className, styles$a.mapPath])\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faMapMarkedAlt,\n size: \"lg\",\n className: styles$a.icon\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar Quote = function Quote(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.subtitle]),\n height: 0.5,\n lines: 6\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar ShortText = function ShortText(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.shortText]),\n height: 0.2,\n lines: 2\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar Subtitle = function Subtitle(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.subtitle]),\n height: 0.3,\n lines: 1\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\n\nvar TextPlaceholder = function TextPlaceholder(props) {\n var _props$height = props.height,\n height = _props$height === void 0 ? 0.2 : _props$height,\n _props$lines = props.lines,\n lines = _props$lines === void 0 ? 4 : _props$lines,\n _props$lineMargin = props.lineMargin,\n lineMargin = _props$lineMargin === void 0 ? 2 : _props$lineMargin;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n height: height,\n lines: lines,\n lineMargin: lineMargin,\n className: classNames__default[\"default\"]([props.className, styles$a.text])\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar Timeline = function Timeline(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.timeline])\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading, react/destructuring-assignment, react/prop-types */\nvar Title = function Title(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, Object.assign({}, props, {\n className: classNames__default[\"default\"]([props.className, styles$a.title]),\n height: 0.5,\n lines: 2,\n lineMargin: 4\n }));\n};\n\n/* eslint-disable react/prop-types */\nvar Video = function Video(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faVideo,\n className: styles$a.icon\n }));\n};\n\nvar styles$7 = {\"container\":\"micromag-core-placeholders-video-360-container\",\"box\":\"micromag-core-placeholders-video-360-box\",\"icon\":\"micromag-core-placeholders-video-360-icon\",\"label\":\"micromag-core-placeholders-video-360-label\"};\n\nvar Video360 = function Video360(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: classNames__default[\"default\"]([styles$7.container, _defineProperty__default[\"default\"]({}, className, className !== null)]),\n boxClassName: styles$7.box\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faVideo,\n className: styles$7.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$7.label\n }, \"360\"));\n};\n\n/* eslint-disable react/prop-types */\nvar VideoLoop = function VideoLoop(_ref) {\n var width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n width: width,\n height: height,\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faPlay,\n className: styles$a.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faRedo,\n className: styles$a.icon\n }));\n};\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes$9 = {\n screen: core.PropTypes.storyComponent.isRequired,\n renderContext: core.PropTypes.renderContext,\n active: PropTypes__default[\"default\"].bool,\n current: PropTypes__default[\"default\"].bool,\n component: PropTypes__default[\"default\"].node,\n components: core.PropTypes.components,\n className: PropTypes__default[\"default\"].string,\n onPrevious: PropTypes__default[\"default\"].func,\n onNext: PropTypes__default[\"default\"].func,\n onEnableInteraction: PropTypes__default[\"default\"].func,\n onDisableInteraction: PropTypes__default[\"default\"].func,\n getMediaRef: PropTypes__default[\"default\"].func\n};\nvar defaultProps$9 = {\n active: false,\n renderContext: null,\n current: false,\n component: null,\n components: null,\n className: null,\n onPrevious: null,\n onNext: null,\n onEnableInteraction: null,\n onDisableInteraction: null,\n getMediaRef: null\n};\n\nvar Screen = function Screen(_ref) {\n var screen = _ref.screen,\n renderContext = _ref.renderContext,\n active = _ref.active,\n current = _ref.current,\n components = _ref.components,\n component = _ref.component,\n className = _ref.className,\n onPrevious = _ref.onPrevious,\n onNext = _ref.onNext,\n onEnableInteraction = _ref.onEnableInteraction,\n onDisableInteraction = _ref.onDisableInteraction,\n getMediaRef = _ref.getMediaRef;\n var type = screen.type;\n var CustomScreenComponent = components !== null ? utils.getComponentFromName(type, components) || null : null;\n var ContextScreenComponent = contexts.useScreenComponent(type);\n var ScreenComponent = CustomScreenComponent || ContextScreenComponent;\n return /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenProvider, {\n data: screen,\n renderContext: renderContext\n }, ScreenComponent !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: className\n }, /*#__PURE__*/React__default[\"default\"].createElement(ScreenComponent, Object.assign({}, screen, {\n active: active,\n current: current,\n onPrevious: onPrevious,\n onNext: onNext,\n onEnableInteraction: onEnableInteraction,\n onDisableInteraction: onDisableInteraction,\n getMediaRef: getMediaRef\n }))) : /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: className\n }, component));\n};\n\nScreen.propTypes = propTypes$9;\nScreen.defaultProps = defaultProps$9;\nvar Screen$1 = /*#__PURE__*/React__default[\"default\"].memo(Screen);\n\nvar styles$6 = {\"container\":\"micromag-core-screens-screen-placeholder-container\"};\n\nvar propTypes$8 = {\n screen: core.PropTypes.component.isRequired,\n layout: PropTypes__default[\"default\"].string,\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$8 = {\n layout: undefined,\n width: null,\n height: null,\n className: null\n};\n\nvar ScreenPlaceholder = function ScreenPlaceholder(_ref) {\n var screen = _ref.screen,\n layout = _ref.layout,\n width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n var screenSize = React.useMemo(function () {\n return {\n screen: 'mobile',\n screens: ['mobile'],\n width: width,\n height: height\n };\n }, [width, height]);\n return /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenSizeProvider, {\n size: screenSize\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenProvider, {\n data: screen,\n renderContext: \"placeholder\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(Screen$1, {\n screen: screen,\n layout: layout,\n className: classNames__default[\"default\"]([styles$6.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n })));\n};\n\nScreenPlaceholder.propTypes = propTypes$8;\nScreenPlaceholder.defaultProps = defaultProps$8;\nvar Placeholder = /*#__PURE__*/React__default[\"default\"].memo(ScreenPlaceholder);\n\nvar styles$5 = {\"container\":\"micromag-core-screens-preview-container\"};\n\nvar propTypes$7 = {\n screen: core.PropTypes.component.isRequired,\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$7 = {\n width: null,\n height: null,\n className: null\n};\n\nvar ScreenPreview = function ScreenPreview(_ref) {\n var screen = _ref.screen,\n width = _ref.width,\n height = _ref.height,\n className = _ref.className;\n var screenSize = React.useMemo(function () {\n return {\n screen: 'mobile',\n screens: ['mobile'],\n width: width,\n height: height\n };\n }, [width, height]);\n return /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenSizeProvider, {\n size: screenSize\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenProvider, {\n data: screen,\n renderContext: \"preview\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(Screen$1, {\n screen: screen,\n renderContext: \"preview\",\n className: classNames__default[\"default\"]([styles$5.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n })));\n};\n\nScreenPreview.propTypes = propTypes$7;\nScreenPreview.defaultProps = defaultProps$7;\nvar Preview = /*#__PURE__*/React__default[\"default\"].memo(ScreenPreview);\n\nvar styles$4 = {\"container\":\"micromag-core-placeholders-conversation-container\",\"icon\":\"micromag-core-placeholders-conversation-icon\",\"message\":\"micromag-core-placeholders-conversation-message\",\"placeholderMessage0\":\"micromag-core-placeholders-conversation-placeholderMessage0\",\"placeholderMessage1\":\"micromag-core-placeholders-conversation-placeholderMessage1\",\"placeholderMessage2\":\"micromag-core-placeholders-conversation-placeholderMessage2\",\"placeholderMessage3\":\"micromag-core-placeholders-conversation-placeholderMessage3\"};\n\nvar Conversation = function Conversation() {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$4.container\n }, _toConsumableArray__default[\"default\"](Array(4)).map(function (e, idx) {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n key: \"message-\".concat(idx + 1),\n className: classNames__default[\"default\"]([styles$4.message, styles$4[\"placeholderMessage\".concat(idx)]])\n });\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faCommentDots,\n className: styles$4.icon\n }));\n};\n\n/* eslint-disable react/prop-types */\nvar InputText = function InputText(_ref) {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '75%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '0.5em' : _ref$height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n outline: true,\n width: width,\n height: height,\n className: className\n });\n};\n\nvar styles$3 = {\"container\":\"micromag-core-placeholders-quiz-answer-container\",\"block\":\"micromag-core-placeholders-quiz-answer-block\",\"answer\":\"micromag-core-placeholders-quiz-answer-answer\",\"answerIcon\":\"micromag-core-placeholders-quiz-answer-answerIcon\",\"good\":\"micromag-core-placeholders-quiz-answer-good\"};\n\nvar Answer$1 = function Answer(_ref) {\n var _ref2;\n\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '75%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '0.3em' : _ref$height,\n className = _ref.className,\n _ref$good = _ref.good,\n good = _ref$good === void 0 ? true : _ref$good;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$3.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, className, className !== null), _defineProperty__default[\"default\"](_ref2, styles$3.good, good), _ref2)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$3.answer\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n className: styles$3.answerIcon,\n icon: good ? freeSolidSvgIcons.faCheck : freeSolidSvgIcons.faTimes\n })), /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n outline: true,\n width: width,\n height: height,\n className: styles$3.block\n }, /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, {\n line: 1,\n height: \"0.2em\"\n })));\n};\n\nvar styles$2 = {\"container\":\"micromag-core-placeholders-survey-answer-container\",\"block\":\"micromag-core-placeholders-survey-answer-block\",\"percent\":\"micromag-core-placeholders-survey-answer-percent\",\"percentIcon\":\"micromag-core-placeholders-survey-answer-percentIcon\"};\n\nvar Answer = function Answer(_ref) {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '75%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '0.3em' : _ref$height,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$2.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderBlock, {\n outline: true,\n width: width,\n height: height,\n className: styles$2.block\n }, /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderText, {\n line: 1,\n height: \"0.2em\"\n })), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$2.percent\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n className: styles$2.percentIcon,\n icon: freeSolidSvgIcons.faPercent\n })));\n};\n\nvar Placeholders = /*#__PURE__*/Object.freeze({\n __proto__: null,\n AdFrame: AdFrame,\n AdImage: AdImage,\n Audio: Audio,\n Button: Button,\n Conversation: Conversation,\n Image: Image,\n InputText: InputText,\n Line: Line,\n Map: Map,\n MapPath: MapPath,\n QuizAnswer: Answer$1,\n Quote: Quote,\n ShortText: ShortText,\n Subtitle: Subtitle,\n SurveyAnswer: Answer,\n Text: TextPlaceholder,\n Timeline: Timeline,\n Title: Title,\n Video: Video,\n Video360: Video360,\n VideoLoop: VideoLoop\n});\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes$6 = {\n children: PropTypes__default[\"default\"].node,\n placeholder: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].node]),\n preview: PropTypes__default[\"default\"].node,\n empty: PropTypes__default[\"default\"].node,\n emptyLabel: core.PropTypes.label,\n isEmpty: PropTypes__default[\"default\"].bool,\n placeholderProps: PropTypes__default[\"default\"].object,\n // eslint-disable-line\n emptyClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$6 = {\n children: null,\n placeholder: null,\n preview: null,\n empty: null,\n emptyLabel: null,\n isEmpty: false,\n placeholderProps: null,\n emptyClassName: null\n};\n\nvar ScreenElement = function ScreenElement(_ref) {\n var children = _ref.children,\n placeholder = _ref.placeholder,\n empty = _ref.empty,\n emptyLabel = _ref.emptyLabel,\n preview = _ref.preview,\n isEmpty = _ref.isEmpty,\n placeholderProps = _ref.placeholderProps,\n emptyClassName = _ref.emptyClassName;\n\n var _useScreenRenderConte = contexts.useScreenRenderContext(),\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit,\n isPreview = _useScreenRenderConte.isPreview;\n\n if (isPlaceholder) {\n var PlaceholderComponent = isString__default[\"default\"](placeholder) ? utils.getComponentFromName(placeholder, Placeholders) : null;\n return PlaceholderComponent !== null ? /*#__PURE__*/React__default[\"default\"].createElement(PlaceholderComponent, placeholderProps) : placeholder;\n }\n\n if (isEdit && isEmpty) {\n return empty !== null ? empty : /*#__PURE__*/React__default[\"default\"].createElement(Empty, {\n className: emptyClassName\n }, emptyLabel);\n }\n\n if (isPreview && preview !== null) {\n return preview;\n }\n\n return children;\n};\n\nScreenElement.propTypes = propTypes$6;\nScreenElement.defaultProps = defaultProps$6;\n\nvar styles$1 = {\"container\":\"micromag-core-screens-container\",\"screen\":\"micromag-core-screens-screen\",\"visible\":\"micromag-core-screens-visible\"};\n\nvar propTypes$5 = {\n screens: core.PropTypes.storyComponents.isRequired,\n screen: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$5 = {\n screen: null,\n className: null\n};\n\nvar Screens = function Screens(_ref) {\n var screens = _ref.screens,\n screenId = _ref.screen,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$1.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, screens.map(function (screen) {\n var id = screen.id;\n return /*#__PURE__*/React__default[\"default\"].createElement(Screen$1, {\n key: \"screen-\".concat(id),\n screen: screen,\n className: classNames__default[\"default\"]([styles$1.screen, _defineProperty__default[\"default\"]({}, styles$1.visible, screenId === id)])\n });\n }));\n};\n\nScreens.propTypes = propTypes$5;\nScreens.defaultProps = defaultProps$5;\n\nvar styles = {\"container\":\"micromag-core-transitions-transition-container\",\"fullscreen\":\"micromag-core-transitions-transition-fullscreen\"};\n\nvar propTypes$4 = {\n fullscreen: PropTypes__default[\"default\"].bool,\n from: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].any),\n to: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].any),\n playing: PropTypes__default[\"default\"].bool,\n direction: PropTypes__default[\"default\"].oneOf(['in', 'out']),\n delay: PropTypes__default[\"default\"].number,\n duration: PropTypes__default[\"default\"].number,\n easing: PropTypes__default[\"default\"].func,\n children: PropTypes__default[\"default\"].node,\n className: PropTypes__default[\"default\"].string,\n onStart: PropTypes__default[\"default\"].func,\n onComplete: PropTypes__default[\"default\"].func\n};\nvar defaultProps$4 = {\n fullscreen: false,\n from: null,\n to: null,\n playing: false,\n direction: null,\n delay: 0,\n duration: undefined,\n easing: undefined,\n children: null,\n className: null,\n onStart: null,\n onComplete: null\n};\n\nfunction Transition(_ref) {\n var _ref2;\n\n var fullscreen = _ref.fullscreen,\n from = _ref.from,\n to = _ref.to,\n playing = _ref.playing,\n direction = _ref.direction,\n delay = _ref.delay,\n duration = _ref.duration,\n easing = _ref.easing,\n children = _ref.children,\n className = _ref.className,\n onStart = _ref.onStart,\n onComplete = _ref.onComplete;\n\n var _useSpring = core$1.useSpring(function () {\n return {};\n }),\n _useSpring2 = _slicedToArray__default[\"default\"](_useSpring, 2),\n springProps = _useSpring2[0],\n setSpringProps = _useSpring2[1];\n\n React.useEffect(function () {\n var immediate = !playing && direction === 'in' || playing && direction === 'out';\n var finalPlaying = immediate || playing;\n var reset = playing && !immediate;\n var finalDuration = duration !== null ? duration : undefined;\n var props = {\n from: from,\n to: finalPlaying ? to : from,\n reset: reset,\n onStart: onStart,\n onRest: onComplete,\n config: {\n duration: immediate ? 0 : finalDuration\n }\n };\n var withDelay = delay > 0 && playing && direction !== 'out';\n var timeout = null;\n\n if (withDelay) {\n setSpringProps.start({\n to: from,\n immediate: true\n });\n timeout = setTimeout(function () {\n setSpringProps.start(props);\n }, delay);\n } else {\n setSpringProps.start(props);\n }\n\n return function () {\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n };\n }, [playing, direction, delay, duration, easing, from, to, setSpringProps, onStart, onComplete]);\n return /*#__PURE__*/React__default[\"default\"].createElement(web.animated.div, {\n style: _objectSpread__default[\"default\"]({}, springProps),\n className: classNames__default[\"default\"]([styles.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, className, className !== null), _defineProperty__default[\"default\"](_ref2, styles.fullscreen, fullscreen), _ref2)])\n }, children);\n}\n\nTransition.propTypes = propTypes$4;\nTransition.defaultProps = defaultProps$4;\n\n/* eslint-disable react/jsx-props-no-spreading */\n\nfunction Fade(props) {\n var from = React.useMemo(function () {\n return {\n opacity: 0\n };\n }, []);\n var to = React.useMemo(function () {\n return {\n opacity: 1\n };\n }, []);\n return /*#__PURE__*/React__default[\"default\"].createElement(Transition, Object.assign({}, props, {\n from: from,\n to: to\n }));\n}\n\n/* eslint-disable react/jsx-props-no-spreading */\n\nfunction Scale(props) {\n var from = React.useMemo(function () {\n return {\n transform: 'scale(0)'\n };\n }, []);\n var to = React.useMemo(function () {\n return {\n transform: 'scale(1)'\n };\n }, []);\n return /*#__PURE__*/React__default[\"default\"].createElement(Transition, Object.assign({}, props, {\n from: from,\n to: to\n }));\n}\n\nvar TransitionComponents = {\n Fade: Fade,\n Scale: Scale\n};\n\nvar propTypes$3 = {\n fullscreen: PropTypes__default[\"default\"].bool,\n playing: PropTypes__default[\"default\"].bool,\n delay: PropTypes__default[\"default\"].number,\n transitions: core.PropTypes.transitions,\n disabled: PropTypes__default[\"default\"].bool,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$3 = {\n fullscreen: false,\n playing: false,\n delay: 0,\n transitions: null,\n disabled: false,\n children: null\n};\n\nfunction Transitions(_ref) {\n var fullscreen = _ref.fullscreen,\n playing = _ref.playing,\n delay = _ref.delay,\n transitions = _ref.transitions,\n disabled = _ref.disabled,\n children = _ref.children;\n\n var _useScreenSize = contexts.useScreenSize(),\n _useScreenSize$landsc = _useScreenSize.landscape,\n landscape = _useScreenSize$landsc === void 0 ? false : _useScreenSize$landsc;\n\n var finalPlaying = playing || landscape;\n var finalTransitions = {\n \"in\": null,\n out: null\n };\n var defaultTransitions = {\n \"in\": 'fade',\n out: 'fade'\n };\n var transitionsObject = transitions !== null ? transitions : defaultTransitions;\n Object.keys(transitionsObject).forEach(function (transitionKey) {\n var currentTransition = transitionsObject[transitionKey];\n finalTransitions[transitionKey] = typeof currentTransition === 'string' ? {\n name: currentTransition\n } : currentTransition;\n });\n var _finalTransitions$in = finalTransitions[\"in\"],\n transitionIn = _finalTransitions$in === void 0 ? null : _finalTransitions$in,\n _finalTransitions$out = finalTransitions.out,\n transitionOut = _finalTransitions$out === void 0 ? null : _finalTransitions$out;\n var finalTransitionIn = transitionIn !== null ? transitionIn : transitionOut;\n var finalTransitionOut = transitionOut !== null ? transitionOut : transitionIn;\n\n var _ref2 = finalTransitionIn || {},\n _ref2$name = _ref2.name,\n transitionInName = _ref2$name === void 0 ? null : _ref2$name;\n\n var _ref3 = finalTransitionOut || {},\n _ref3$name = _ref3.name,\n transitionOutName = _ref3$name === void 0 ? null : _ref3$name;\n\n var sameTransitionInOut = transitionInName === transitionOutName;\n var TransitionIn = finalTransitionIn !== null ? utils.getComponentFromName(transitionInName, TransitionComponents, null) : null;\n var TransitionOut = finalTransitionOut !== null && !sameTransitionInOut ? utils.getComponentFromName(transitionOutName, TransitionComponents, null) : null;\n var transitionInProps = finalTransitionIn !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, finalTransitionIn), {}, {\n name: undefined,\n delay: delay\n }) : null;\n var transitionOutProps = finalTransitionOut !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, finalTransitionOut), {}, {\n name: undefined,\n delay: delay\n }) : null;\n var renderTransitionOut = TransitionOut !== null && !disabled ? /*#__PURE__*/React__default[\"default\"].createElement(TransitionOut, Object.assign({\n fullscreen: fullscreen,\n playing: finalPlaying,\n direction: \"out\"\n }, transitionOutProps), children) : children;\n return TransitionIn !== null && !disabled ? /*#__PURE__*/React__default[\"default\"].createElement(TransitionIn, Object.assign({\n fullscreen: fullscreen,\n playing: finalPlaying,\n direction: !sameTransitionInOut ? 'in' : null\n }, transitionInProps), renderTransitionOut) : renderTransitionOut;\n}\n\nTransitions.propTypes = propTypes$3;\nTransitions.defaultProps = defaultProps$3;\n\nvar propTypes$2 = {\n transitions: core.PropTypes.transitions,\n stagger: PropTypes__default[\"default\"].number,\n playing: PropTypes__default[\"default\"].bool,\n disabled: PropTypes__default[\"default\"].bool,\n delay: PropTypes__default[\"default\"].number,\n fullscreen: PropTypes__default[\"default\"].bool,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$2 = {\n transitions: null,\n stagger: 0,\n playing: false,\n disabled: false,\n delay: 0,\n fullscreen: false,\n children: null\n};\n\nvar TransitionsStagger = function TransitionsStagger(_ref) {\n var transitions = _ref.transitions,\n stagger = _ref.stagger,\n playing = _ref.playing,\n disabled = _ref.disabled,\n delay = _ref.delay,\n fullscreen = _ref.fullscreen,\n children = _ref.children;\n var validIndex = 0;\n var elements = React__default[\"default\"].Children.map(children, function (child) {\n if (!child) {\n return null;\n }\n\n var _child$type = child.type,\n type = _child$type === void 0 ? null : _child$type;\n\n var _ref2 = type || {},\n _ref2$withoutTransiti = _ref2.withoutTransitionsWrapper,\n withoutTransitionsWrapper = _ref2$withoutTransiti === void 0 ? false : _ref2$withoutTransiti;\n\n if (disabled || withoutTransitionsWrapper) {\n return child;\n }\n\n var el = /*#__PURE__*/React__default[\"default\"].createElement(Transitions, {\n transitions: transitions,\n delay: delay + validIndex * stagger,\n playing: playing,\n fullscreen: fullscreen\n }, child);\n validIndex += 1;\n return el;\n });\n return elements;\n};\n\nTransitionsStagger.propTypes = propTypes$2;\nTransitionsStagger.defaultProps = defaultProps$2;\n\nvar propTypes$1 = {\n selector: PropTypes__default[\"default\"].string,\n highlightSelector: PropTypes__default[\"default\"].string,\n style: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]))\n};\nvar defaultProps$1 = {\n selector: null,\n highlightSelector: 'mark',\n style: null\n};\n\nvar HighlightStyle = function HighlightStyle(_ref) {\n var selector = _ref.selector,\n highlightSelector = _ref.highlightSelector,\n style = _ref.style;\n return style !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"style\", {\n type: \"text/css\"\n }, \"\".concat([selector, highlightSelector].filter(function (it) {\n return it !== null;\n }).join(' '), \"{\").concat(utils.convertStyleToString(style), \"}\")) : null;\n};\n\nHighlightStyle.propTypes = propTypes$1;\nHighlightStyle.defaultProps = defaultProps$1;\n\nvar propTypes = {\n selector: PropTypes__default[\"default\"].string,\n linkSelector: PropTypes__default[\"default\"].string,\n style: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]))\n};\nvar defaultProps = {\n selector: null,\n linkSelector: 'a',\n style: null\n};\n\nvar LinkStyle = function LinkStyle(_ref) {\n var selector = _ref.selector,\n linkSelector = _ref.linkSelector,\n style = _ref.style;\n return style !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"style\", {\n type: \"text/css\"\n }, \"\".concat([selector, linkSelector].filter(function (it) {\n return it !== null;\n }).join(' '), \"{\").concat(utils.convertStyleToString(style), \"}\")) : null;\n};\n\nLinkStyle.propTypes = propTypes;\nLinkStyle.defaultProps = defaultProps;\n\nexports.BackButton = BackButton;\nexports.Breadcrumb = Breadcrumb;\nexports.Button = Button$1;\nexports.Buttons = Buttons;\nexports.Card = Card;\nexports.CollapsablePanel = CollapsablePanel;\nexports.Date = Date$1;\nexports.Detector = Detector;\nexports.DropdownMenu = Dropdown;\nexports.Element = ElementComponent;\nexports.Empty = Empty;\nexports.FieldForm = FieldForm;\nexports.FontFaces = FontFaces;\nexports.Form = Form;\nexports.FormPanel = FormPanel;\nexports.HighlightStyle = HighlightStyle;\nexports.Label = Label;\nexports.Link = Link;\nexports.LinkStyle = LinkStyle;\nexports.Media = Media;\nexports.Menu = Menu;\nexports.Meta = Meta;\nexports.Modal = Modal;\nexports.ModalDialog = ModalDialog;\nexports.ModalPortal = ModalPortal;\nexports.Modals = Modals;\nexports.Navbar = Navbar;\nexports.Pagination = PaginationMenu;\nexports.Panel = Panel;\nexports.PanelPortal = PanelPortal;\nexports.Panels = Panels;\nexports.PlaceholderAdFrame = AdFrame;\nexports.PlaceholderAdImage = AdImage;\nexports.PlaceholderAudio = Audio;\nexports.PlaceholderButton = Button;\nexports.PlaceholderImage = Image;\nexports.PlaceholderLine = Line;\nexports.PlaceholderMap = Map;\nexports.PlaceholderMapPath = MapPath;\nexports.PlaceholderQuote = Quote;\nexports.PlaceholderShortText = ShortText;\nexports.PlaceholderSubtitle = Subtitle;\nexports.PlaceholderText = TextPlaceholder;\nexports.PlaceholderTimeline = Timeline;\nexports.PlaceholderTitle = Title;\nexports.PlaceholderVideo = Video;\nexports.PlaceholderVideo360 = Video360;\nexports.PlaceholderVideoLoop = VideoLoop;\nexports.Screen = Screen$1;\nexports.ScreenElement = ScreenElement;\nexports.ScreenPlaceholder = Placeholder;\nexports.ScreenPreview = Preview;\nexports.Screens = Screens;\nexports.Slideshow = Slideshow;\nexports.Spinner = Spinner;\nexports.Tabs = TabsMenu;\nexports.Transitions = Transitions;\nexports.TransitionsStagger = TransitionsStagger;\nexports.UploadModal = UploadModal;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar React = require('react');\nvar PropTypes = require('prop-types');\nvar isString = require('lodash/isString');\nvar core = require('@micromag/core');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar uniqBy = require('lodash/uniqBy');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nvar isObject = require('lodash/isObject');\nvar fetch = require('@folklore/fetch');\nvar services = require('@folklore/services');\nvar utils = require('@micromag/core/utils');\nvar reactRouter = require('react-router');\nvar reactIntl = require('react-intl');\nvar tracking = require('@folklore/tracking');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar uuid = require('uuid');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nfunction _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = Object.create(null);\n if (e) {\n Object.keys(e).forEach(function (k) {\n if (k !== 'default') {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n }\n n[\"default\"] = e;\n return Object.freeze(n);\n}\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\nvar PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\n\nvar MODALS_NAMESPACE = 'modals';\nvar FIELDS_NAMESPACE = 'fields';\nvar FORMS_NAMESPACE = 'forms';\nvar SCREENS_NAMESPACE = 'screens';\nvar ELEMENTS_NAMESPACE = 'elements';\nvar ComponentsContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\n/**\n * Hooks\n */\n\nvar useComponentsManager = function useComponentsManager() {\n var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var manager = React.useContext(ComponentsContext);\n var finalManager = React.useMemo(function () {\n return namespace !== null ? new core.ComponentsManager(manager.getComponents(namespace)) : manager;\n }, [manager, namespace]);\n return finalManager;\n};\nvar useComponents = function useComponents() {\n var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var defaultComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var manager = useComponentsManager();\n return manager.getComponents(namespace) || defaultComponents;\n};\nvar useComponent = function useComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var namespace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!isString__default[\"default\"](name)) {\n return name || defaultComponent;\n }\n\n var manager = useComponentsManager(namespace);\n return React.useMemo(function () {\n return manager.getComponent(name) || defaultComponent;\n }, [manager, name, defaultComponent]);\n};\n/**\n * Fields hooks\n */\n\nvar useFieldsComponentsManager = function useFieldsComponentsManager() {\n return useComponentsManager(FIELDS_NAMESPACE);\n};\nvar useFieldsComponents = function useFieldsComponents() {\n var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return useComponents(FIELDS_NAMESPACE, defaultComponents);\n};\nvar useFieldComponent = function useFieldComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return useComponent(name, defaultComponent, FIELDS_NAMESPACE);\n};\n/**\n * Screens hooks\n */\n\nvar useScreensComponentsManager = function useScreensComponentsManager() {\n return useComponentsManager(SCREENS_NAMESPACE);\n};\nvar useScreensComponents = function useScreensComponents() {\n var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return useComponents(SCREENS_NAMESPACE, defaultComponents);\n};\nvar useScreenComponent = function useScreenComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return useComponent(name, defaultComponent, SCREENS_NAMESPACE);\n};\n/**\n * Forms hooks\n */\n\nvar useFormsComponentsManager = function useFormsComponentsManager() {\n return useComponentsManager(FORMS_NAMESPACE);\n};\nvar useFormsComponents = function useFormsComponents() {\n var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return useComponents(FORMS_NAMESPACE, defaultComponents);\n};\nvar useFormComponent = function useFormComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return useComponent(name, defaultComponent, FORMS_NAMESPACE);\n};\n/**\n * Modals hooks\n */\n\nvar useModalsComponentsManager = function useModalsComponentsManager() {\n return useComponentsManager(MODALS_NAMESPACE);\n};\nvar useModalsComponents = function useModalsComponents() {\n var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return useComponents(MODALS_NAMESPACE, defaultComponents);\n};\nvar useModalComponent = function useModalComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return useComponent(name, defaultComponent, MODALS_NAMESPACE);\n};\n/**\n * Elements hooks\n */\n\nvar useElementsComponentsManager = function useElementsComponentsManager() {\n return useComponentsManager(ELEMENTS_NAMESPACE);\n};\nvar useElementsComponents = function useElementsComponents() {\n var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return useComponents(ELEMENTS_NAMESPACE, defaultComponents);\n};\nvar useElementComponent = function useElementComponent(name) {\n var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return useComponent(name, defaultComponent, ELEMENTS_NAMESPACE);\n};\n/**\n * Provider\n */\n\nvar propTypes$i = {\n children: PropTypes__default[\"default\"].node.isRequired,\n namespace: PropTypes__default[\"default\"].string,\n manager: PropTypes__default[\"default\"].instanceOf(core.ComponentsManager),\n components: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].object, PropTypes__default[\"default\"].func]))\n};\nvar defaultProps$i = {\n namespace: null,\n components: {},\n manager: null\n};\nvar ComponentsProvider = function ComponentsProvider(_ref) {\n var components = _ref.components,\n manager = _ref.manager,\n namespace = _ref.namespace,\n children = _ref.children;\n var previousManager = useComponentsManager() || null;\n var finalManager = React.useMemo(function () {\n return new core.ComponentsManager(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, previousManager !== null ? previousManager.getComponents() : null), manager !== null ? manager.getComponents() : null), new core.ComponentsManager(components).addNamespace(namespace).getComponents()));\n }, [previousManager, manager, components, namespace]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ComponentsContext.Provider, {\n value: finalManager\n }, children);\n};\nComponentsProvider.propTypes = propTypes$i;\nComponentsProvider.defaultProps = defaultProps$i;\n\nvar FieldsContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useFieldsManager = function useFieldsManager() {\n return React.useContext(FieldsContext);\n};\nvar useFieldDefinition = function useFieldDefinition(id) {\n var manager = useFieldsManager();\n return manager.getDefinition(id);\n};\nvar propTypes$h = {\n fields: core.PropTypes.fieldDefinitions,\n manager: PropTypes__default[\"default\"].instanceOf(core.FieldsManager),\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$h = {\n fields: null,\n manager: null\n};\nvar FieldsProvider = function FieldsProvider(_ref) {\n var fields = _ref.fields,\n manager = _ref.manager,\n children = _ref.children;\n var previousManager = useFieldsManager() || null;\n var finalManager = React.useMemo(function () {\n var newFields = uniqBy__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](fields || []), _toConsumableArray__default[\"default\"](manager !== null ? manager.getDefinitions() : []), _toConsumableArray__default[\"default\"](previousManager !== null ? previousManager.getDefinitions() : [])), function (_ref2) {\n var id = _ref2.id;\n return id;\n }).reverse();\n return new core.FieldsManager(newFields);\n }, [previousManager, manager, fields]);\n var components = React.useMemo(function () {\n var newComponents = finalManager.getComponents();\n return Object.keys(newComponents).reduce(function (map, id) {\n var component = newComponents[id];\n return isString__default[\"default\"](component) ? map : _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, map), {}, _defineProperty__default[\"default\"]({}, id, component));\n }, {});\n }, [finalManager]);\n return /*#__PURE__*/React__default[\"default\"].createElement(FieldsContext.Provider, {\n value: finalManager\n }, /*#__PURE__*/React__default[\"default\"].createElement(ComponentsProvider, {\n namespace: FIELDS_NAMESPACE,\n components: components\n }, children));\n};\nFieldsProvider.propTypes = propTypes$h;\nFieldsProvider.defaultProps = defaultProps$h;\n\nvar ScreensContext = /*#__PURE__*/React__default[\"default\"].createContext(new core.ScreensManager());\nvar useScreensManager = function useScreensManager() {\n return React.useContext(ScreensContext);\n};\nvar propTypes$g = {\n screens: core.PropTypes.screenDefinitions,\n manager: PropTypes__default[\"default\"].instanceOf(core.ScreensManager),\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$g = {\n screens: null,\n manager: null\n};\nvar ScreensProvider = function ScreensProvider(_ref) {\n var screens = _ref.screens,\n manager = _ref.manager,\n children = _ref.children;\n var previousManager = useScreensManager();\n var finalManager = React.useMemo(function () {\n var newManager = manager !== null ? manager : new core.ScreensManager(screens);\n\n if ((previousManager || null) !== null) {\n return previousManager.merge(newManager);\n }\n\n return newManager;\n }, [manager, screens, previousManager]);\n var initialComponents = React.useMemo(function () {\n return finalManager.getComponents();\n }, [finalManager]);\n\n var _useState = React.useState(initialComponents),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n components = _useState2[0],\n setComponents = _useState2[1];\n\n React.useEffect(function () {\n var onChange = function onChange() {\n return setComponents(finalManager.getComponents());\n };\n\n finalManager.on('change', onChange);\n return function () {\n finalManager.off('change', onChange);\n };\n }, [finalManager, setComponents]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ScreensContext.Provider, {\n value: finalManager\n }, /*#__PURE__*/React__default[\"default\"].createElement(ComponentsProvider, {\n namespace: SCREENS_NAMESPACE,\n components: components\n }, children));\n};\nScreensProvider.propTypes = propTypes$g;\nScreensProvider.defaultProps = defaultProps$g;\n\nvar StoryContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useStoryContext = function useStoryContext() {\n return React.useContext(StoryContext);\n};\nvar useStory = function useStory() {\n var story = useStoryContext();\n return story;\n};\nvar propTypes$f = {\n story: PropTypes__default[\"default\"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$f = {\n story: null\n};\nvar StoryProvider = function StoryProvider(_ref) {\n var story = _ref.story,\n children = _ref.children;\n return /*#__PURE__*/React__default[\"default\"].createElement(StoryContext.Provider, {\n value: story\n }, children);\n};\nStoryProvider.propTypes = propTypes$f;\nStoryProvider.defaultProps = defaultProps$f;\n\nvar EditorContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useEditor = function useEditor() {\n return React.useContext(EditorContext);\n};\nvar useGetColors = function useGetColors() {\n var _ref = useEditor() || {},\n _ref$getColors = _ref.getColors,\n getColors = _ref$getColors === void 0 ? function () {\n return [];\n } : _ref$getColors;\n\n return getColors;\n};\nvar propTypes$e = {\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$e = {};\nvar EditorProvider = function EditorProvider(_ref2) {\n var children = _ref2.children;\n var story = useStory();\n var screensManager = useScreensManager();\n var fieldsManager = useFieldsManager();\n var parser = React.useMemo(function () {\n return new core.ColorsParser({\n screensManager: screensManager,\n fieldsManager: fieldsManager\n });\n }, [screensManager, fieldsManager]);\n var parse = React.useCallback(function (currentStory) {\n return parser.parse(currentStory);\n }, [parser]);\n var getColors = React.useCallback(function () {\n return parse(story);\n }, [parse, story]);\n return /*#__PURE__*/React__default[\"default\"].createElement(EditorContext.Provider, {\n value: {\n getColors: getColors\n }\n }, children);\n};\nEditorProvider.propTypes = propTypes$e;\nEditorProvider.defaultProps = defaultProps$e;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar FieldContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useFieldContext = function useFieldContext() {\n return React.useContext(FieldContext);\n};\nvar propTypes$d = {\n context: PropTypes__default[\"default\"].any,\n // eslint-disable-line react/forbid-prop-types\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$d = {\n context: null\n};\nvar FieldContextProvider = function FieldContextProvider(_ref) {\n var context = _ref.context,\n children = _ref.children;\n return /*#__PURE__*/React__default[\"default\"].createElement(FieldContext.Provider, {\n value: context\n }, children);\n};\nFieldContextProvider.propTypes = propTypes$d;\nFieldContextProvider.defaultProps = defaultProps$d;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar GoogleKeysContext = /*#__PURE__*/React__default[\"default\"].createContext({\n apiKey: null\n});\nvar useGoogleKeys = function useGoogleKeys() {\n return React.useContext(GoogleKeysContext);\n};\nvar propTypes$c = {\n children: PropTypes__default[\"default\"].node.isRequired,\n apiKey: PropTypes__default[\"default\"].string // .isRequired,\n\n};\nvar defaultProps$c = {\n apiKey: null\n};\nvar GoogleKeysProvider = function GoogleKeysProvider(_ref) {\n var children = _ref.children,\n apiKey = _ref.apiKey;\n\n var _useGoogleKeys = useGoogleKeys(),\n previousApiKey = _useGoogleKeys.apiKey;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(GoogleKeysContext.Provider, {\n value: {\n apiKey: apiKey || previousApiKey\n }\n }, children);\n};\nGoogleKeysProvider.propTypes = propTypes$c;\nGoogleKeysProvider.defaultProps = defaultProps$c;\n\nvar FontsContext = /*#__PURE__*/React__default[\"default\"].createContext({\n systemFonts: null,\n googleFonts: null,\n customFonts: null\n});\nvar useGoogleFonts = function useGoogleFonts() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$setFonts = _ref.setFonts,\n setFonts = _ref$setFonts === void 0 ? null : _ref$setFonts;\n\n var _useGoogleKeys = useGoogleKeys(),\n apiKey = _useGoogleKeys.apiKey;\n\n var _useState = React.useState(null),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n googleFonts = _useState2[0],\n setGoogleFonts = _useState2[1];\n\n React.useEffect(function () {\n var canceled = false;\n\n if (apiKey !== null && !disabled) {\n fetch.getJSON(\"https://www.googleapis.com/webfonts/v1/webfonts?key=\".concat(apiKey, \"&sort=popularity\")).then(function (_ref2) {\n var _ref2$items = _ref2.items,\n items = _ref2$items === void 0 ? [] : _ref2$items;\n\n if (!canceled) {\n var newFonts = items.map(function (it) {\n return {\n type: 'google',\n name: it.family,\n variants: it.variants\n };\n });\n\n if (setFonts !== null) {\n setFonts(newFonts);\n } else {\n setGoogleFonts(newFonts);\n }\n }\n });\n }\n\n return function () {\n canceled = true;\n };\n }, [apiKey, disabled, setFonts, setGoogleFonts]);\n return googleFonts;\n};\nvar useFonts = function useFonts() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$withoutGoogleFo = _ref3.withoutGoogleFonts,\n withoutGoogleFonts = _ref3$withoutGoogleFo === void 0 ? false : _ref3$withoutGoogleFo;\n\n var _useContext = React.useContext(FontsContext),\n _useContext$setGoogle = _useContext.setGoogleFonts,\n setGoogleFonts = _useContext$setGoogle === void 0 ? null : _useContext$setGoogle,\n _useContext$systemFon = _useContext.systemFonts,\n systemFonts = _useContext$systemFon === void 0 ? null : _useContext$systemFon,\n _useContext$googleFon = _useContext.googleFonts,\n googleFonts = _useContext$googleFon === void 0 ? null : _useContext$googleFon,\n _useContext$customFon = _useContext.customFonts,\n customFonts = _useContext$customFon === void 0 ? null : _useContext$customFon;\n\n useGoogleFonts({\n disabled: withoutGoogleFonts || googleFonts !== null && googleFonts.length > 0,\n setFonts: setGoogleFonts\n });\n var fonts = React.useMemo(function () {\n return {\n systemFonts: systemFonts,\n googleFonts: googleFonts,\n customFonts: customFonts\n };\n }, [systemFonts, googleFonts, customFonts]);\n return fonts;\n};\nvar propTypes$b = {\n children: PropTypes__default[\"default\"].node.isRequired,\n systemFonts: core.PropTypes.fonts,\n customFonts: core.PropTypes.fonts\n};\nvar defaultProps$b = {\n systemFonts: ['Arial', 'Courier', 'Georgia', 'Times New Roman', 'Verdana'],\n customFonts: null\n};\nvar FontsProvider = function FontsProvider(_ref4) {\n var systemFonts = _ref4.systemFonts,\n customFonts = _ref4.customFonts,\n children = _ref4.children;\n\n var _useFonts = useFonts(),\n _useFonts$systemFonts = _useFonts.systemFonts,\n previousSystemFonts = _useFonts$systemFonts === void 0 ? null : _useFonts$systemFonts,\n _useFonts$googleFonts = _useFonts.googleFonts,\n previousGoogleFonts = _useFonts$googleFonts === void 0 ? null : _useFonts$googleFonts,\n previousCustomFonts = _useFonts.customFonts;\n\n var _useState3 = React.useState(null),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n googleFonts = _useState4[0],\n setGoogleFonts = _useState4[1];\n\n var fonts = React.useMemo(function () {\n return {\n systemFonts: uniqBy__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](previousSystemFonts || []), _toConsumableArray__default[\"default\"](systemFonts || [])), function (font) {\n return isObject__default[\"default\"](font) ? font.name : font;\n }),\n googleFonts: uniqBy__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](previousGoogleFonts || []), _toConsumableArray__default[\"default\"](googleFonts || [])), function (font) {\n return isObject__default[\"default\"](font) ? font.name : font;\n }),\n customFonts: uniqBy__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](previousCustomFonts || []), _toConsumableArray__default[\"default\"](customFonts || [])), function (font) {\n return isObject__default[\"default\"](font) ? font.name : font;\n }),\n setGoogleFonts: setGoogleFonts\n };\n }, [previousSystemFonts, previousGoogleFonts, previousCustomFonts, customFonts, systemFonts, googleFonts, setGoogleFonts]);\n return /*#__PURE__*/React__default[\"default\"].createElement(FontsContext.Provider, {\n value: fonts\n }, children);\n};\nFontsProvider.propTypes = propTypes$b;\nFontsProvider.defaultProps = defaultProps$b;\n\nvar GoogleApiClientContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useGoogleApiClient = function useGoogleApiClient() {\n return React.useContext(GoogleApiClientContext);\n};\nvar withGoogleApiClient = function withGoogleApiClient(WrappedComponent) {\n var getDisplayName = function getDisplayName(_ref) {\n var _ref$displayName = _ref.displayName,\n displayName = _ref$displayName === void 0 ? null : _ref$displayName,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? null : _ref$name;\n return displayName || name || 'Component';\n };\n\n var WithGoogleApiClientComponent = function WithGoogleApiClientComponent(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(GoogleApiClientContext.Consumer, null, function (client) {\n return /*#__PURE__*/React__default[\"default\"].createElement(WrappedComponent, Object.assign({\n googleApiClient: client\n }, props));\n });\n };\n\n WithGoogleApiClientComponent.displayName = \"WithGoogleApiClient(\".concat(getDisplayName(WrappedComponent), \")\");\n return WithGoogleApiClientComponent;\n};\nvar propTypes$a = {\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$a = {};\nvar GoogleApiClientProvider = function GoogleApiClientProvider(_ref2) {\n var children = _ref2.children;\n\n var _useGoogleKeys = useGoogleKeys(),\n apiKey = _useGoogleKeys.apiKey;\n\n var _useState = React.useState(null),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n client = _useState2[0],\n setClient = _useState2[1];\n\n React.useEffect(function () {\n services.loadGoogleApi().then(function (gapi) {\n return gapi.client.init({\n apiKey: apiKey\n }).then(function () {\n return gapi;\n });\n }).then(function (gapi) {\n return setClient(gapi);\n });\n }, [apiKey, setClient]);\n return /*#__PURE__*/React__default[\"default\"].createElement(GoogleApiClientContext.Provider, {\n value: client\n }, children);\n};\nGoogleApiClientProvider.propTypes = propTypes$a;\nGoogleApiClientProvider.defaultProps = defaultProps$a;\n\nvar GoogleMapsClientContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useGoogleMapsClient = function useGoogleMapsClient() {\n return React.useContext(GoogleMapsClientContext);\n};\nvar withGoogleMapsClient = function withGoogleMapsClient(WrappedComponent) {\n var getDisplayName = function getDisplayName(_ref) {\n var _ref$displayName = _ref.displayName,\n displayName = _ref$displayName === void 0 ? null : _ref$displayName,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? null : _ref$name;\n return displayName || name || 'Component';\n };\n\n var WithGoogleMapsClientComponent = function WithGoogleMapsClientComponent(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(GoogleMapsClientContext.Consumer, null, function (client) {\n return /*#__PURE__*/React__default[\"default\"].createElement(WrappedComponent, Object.assign({\n googleApiClient: client\n }, props));\n });\n };\n\n WithGoogleMapsClientComponent.displayName = \"WithGoogleMapsClient(\".concat(getDisplayName(WrappedComponent), \")\");\n return WithGoogleMapsClientComponent;\n};\nvar propTypes$9 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n locale: PropTypes__default[\"default\"].string,\n libraries: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string)\n};\nvar defaultProps$9 = {\n locale: 'fr',\n libraries: null\n};\nvar GoogleMapsClientProvider = function GoogleMapsClientProvider(_ref2) {\n var children = _ref2.children,\n locale = _ref2.locale,\n libraries = _ref2.libraries;\n\n var _useGoogleKeys = useGoogleKeys(),\n apiKey = _useGoogleKeys.apiKey;\n\n var exisitingClient = useGoogleMapsClient();\n\n var _useState = React.useState(exisitingClient),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n client = _useState2[0],\n setClient = _useState2[1];\n\n React.useEffect(function () {\n if (exisitingClient === null) {\n services.loadGoogleMaps({\n apiKey: apiKey,\n locale: locale,\n libraries: libraries\n }).then(function (newClient) {\n setClient(newClient);\n });\n }\n }, [apiKey, locale, libraries, setClient, exisitingClient]);\n return /*#__PURE__*/React__default[\"default\"].createElement(GoogleMapsClientContext.Provider, {\n value: client\n }, children);\n};\nGoogleMapsClientProvider.propTypes = propTypes$9;\nGoogleMapsClientProvider.defaultProps = defaultProps$9;\n\nvar ModalsContext = /*#__PURE__*/React__default[\"default\"].createContext({\n container: null\n});\nvar useModals = function useModals() {\n return React.useContext(ModalsContext) || {};\n};\nvar withModals = function withModals(WrappedComponent) {\n var WithModalsComponent = function WithModalsComponent(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(ModalsContext.Consumer, null, function (_ref) {\n var modals = _ref.modals,\n container = _ref.container,\n setContainer = _ref.setContainer,\n register = _ref.register,\n unregister = _ref.unregister;\n return /*#__PURE__*/React__default[\"default\"].createElement(WrappedComponent, Object.assign({\n modalsContainer: container,\n setModalsContainer: setContainer,\n modals: modals,\n registerModal: register,\n unregisterModal: unregister\n }, props));\n });\n };\n\n WithModalsComponent.displayName = \"WithModals(\".concat(utils.getDisplayName(WrappedComponent), \")\");\n return WithModalsComponent;\n};\nvar propTypes$8 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n container: PropTypes__default[\"default\"].object // eslint-disable-line\n\n};\nvar defaultProps$8 = {\n container: null\n};\nvar ModalsProvider = function ModalsProvider(_ref2) {\n var children = _ref2.children,\n initialContainer = _ref2.container;\n\n var _useState = React.useState(initialContainer),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n container = _useState2[0],\n setContainer = _useState2[1];\n\n var _useState3 = React.useState([]),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n modals = _useState4[0],\n setModals = _useState4[1];\n\n var modalsRef = React.useRef(modals);\n var register = React.useCallback(function (id) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var currentModals = modalsRef.current;\n var newModals = [].concat(_toConsumableArray__default[\"default\"](currentModals), [_objectSpread__default[\"default\"]({\n id: id\n }, data)]);\n setModals(newModals);\n modalsRef.current = newModals;\n }, [modals, setModals]);\n var unregister = React.useCallback(function (id) {\n var currentModals = modalsRef.current;\n var foundIndex = currentModals.findIndex(function (_ref3) {\n var modalId = _ref3.id;\n return modalId === id;\n });\n\n if (foundIndex !== -1) {\n var newModals = currentModals.filter(function (_ref4) {\n var modalId = _ref4.id;\n return modalId !== id;\n });\n setModals(newModals);\n modalsRef.current = newModals;\n }\n }, [modals, setModals]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ModalsContext.Provider, {\n value: {\n modals: modals,\n container: container,\n setContainer: setContainer,\n register: register,\n unregister: unregister\n }\n }, children);\n};\nModalsProvider.propTypes = propTypes$8;\nModalsProvider.defaultProps = defaultProps$8;\n\nvar PanelsContext = /*#__PURE__*/React__default[\"default\"].createContext({\n container: null\n});\nvar usePanels = function usePanels() {\n return React.useContext(PanelsContext) || {};\n};\nvar withPanels = function withPanels(WrappedComponent) {\n var WithPanelsComponent = function WithPanelsComponent(props) {\n return /*#__PURE__*/React__default[\"default\"].createElement(PanelsContext.Consumer, null, function (_ref) {\n var panels = _ref.panels,\n setContainer = _ref.setContainer,\n container = _ref.container,\n register = _ref.register,\n unregister = _ref.unregister;\n return /*#__PURE__*/React__default[\"default\"].createElement(WrappedComponent, Object.assign({\n panelsContainer: container,\n setPanelsContainer: setContainer,\n panels: panels,\n registerPanel: register,\n unregisterPanel: unregister\n }, props));\n });\n };\n\n WithPanelsComponent.displayName = \"WithPanels(\".concat(utils.getDisplayName(WrappedComponent), \")\");\n return WithPanelsComponent;\n};\nvar propTypes$7 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n container: PropTypes__default[\"default\"].object // eslint-disable-line\n\n};\nvar defaultProps$7 = {\n container: null\n};\nvar PanelsProvider = function PanelsProvider(_ref2) {\n var children = _ref2.children,\n initialContainer = _ref2.container;\n\n var _useState = React.useState(initialContainer),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n container = _useState2[0],\n setContainer = _useState2[1];\n\n var _useState3 = React.useState([]),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n panels = _useState4[0],\n setPanels = _useState4[1];\n\n var panelsRef = React.useRef(panels);\n var register = React.useCallback(function (id) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var currentPanels = panelsRef.current;\n var newPanels = [].concat(_toConsumableArray__default[\"default\"](currentPanels), [_objectSpread__default[\"default\"]({\n id: id\n }, data)]);\n setPanels(newPanels);\n panelsRef.current = newPanels;\n }, [panels, setPanels]);\n var unregister = React.useCallback(function (id) {\n var currentPanels = panelsRef.current;\n var foundIndex = currentPanels.findIndex(function (_ref3) {\n var modalId = _ref3.id;\n return modalId === id;\n });\n\n if (foundIndex !== -1) {\n var newPanels = currentPanels.filter(function (_ref4) {\n var modalId = _ref4.id;\n return modalId !== id;\n });\n setPanels(newPanels);\n panelsRef.current = newPanels;\n }\n }, [panels, setPanels]);\n return /*#__PURE__*/React__default[\"default\"].createElement(PanelsContext.Provider, {\n value: {\n panels: panels,\n setContainer: setContainer,\n container: container,\n register: register,\n unregister: unregister\n }\n }, children);\n};\nPanelsProvider.propTypes = propTypes$7;\nPanelsProvider.defaultProps = defaultProps$7;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar RoutesContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useRoutes = function useRoutes() {\n var _useContext = React.useContext(RoutesContext),\n routes = _useContext.routes;\n\n return routes;\n};\nvar useUrlGenerator = function useUrlGenerator() {\n var _useContext2 = React.useContext(RoutesContext),\n routes = _useContext2.routes,\n basePath = _useContext2.basePath;\n\n var urlGenerator = React.useCallback(function (key, data) {\n var url = reactRouter.generatePath(routes[key], data);\n return basePath !== null ? \"\".concat(basePath.replace(/\\/$/, ''), \"/\").concat(url.replace(/^\\//, '')) : url;\n }, [reactRouter.generatePath, routes, basePath]);\n return urlGenerator;\n};\nvar useRoutePush = function useRoutePush() {\n var url = useUrlGenerator();\n var history = reactRouter.useHistory();\n var push = React.useCallback(function (route, data) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (isString__default[\"default\"](route)) {\n history.push.apply(history, [url(route, data)].concat(args));\n } else {\n var _ref = route || {},\n _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? null : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? null : _ref$search;\n\n history.push.apply(history, [{\n pathname: url(pathname, data),\n search: search\n }].concat(args));\n }\n }, [history, url]);\n return push;\n};\nvar useRouteBack = function useRouteBack() {\n var url = useUrlGenerator();\n var history = reactRouter.useHistory();\n var back = React.useCallback(function () {\n return history.goBack();\n }, [history, url]);\n return back;\n};\nvar propTypes$6 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n routes: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].string),\n // .isRequired,\n basePath: PropTypes__default[\"default\"].string\n};\nvar defaultProps$6 = {\n routes: null,\n basePath: null\n};\nvar RoutesProvider = function RoutesProvider(_ref2) {\n var routes = _ref2.routes,\n basePath = _ref2.basePath,\n children = _ref2.children;\n return /*#__PURE__*/React__default[\"default\"].createElement(RoutesContext.Provider, {\n value: {\n routes: routes,\n basePath: basePath\n }\n }, children);\n};\nRoutesProvider.propTypes = propTypes$6;\nRoutesProvider.defaultProps = defaultProps$6;\n\nvar ScreenContext = /*#__PURE__*/React__default[\"default\"].createContext({\n data: null,\n definition: null,\n renderContext: null\n});\nvar useScreen = function useScreen() {\n return React.useContext(ScreenContext);\n};\nvar useScreenDefinition = function useScreenDefinition() {\n var intl = reactIntl.useIntl();\n\n var _ref = useScreen() || {},\n definition = _ref.definition;\n\n var _ref2 = definition || {},\n fields = _ref2.fields;\n\n var finalFields = React.useMemo(function () {\n return [].concat(_toConsumableArray__default[\"default\"](fields), [utils.getScreenExtraField(intl)]);\n }, [fields]);\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, definition), {}, {\n fields: finalFields\n });\n};\nvar useScreenData = function useScreenData() {\n var _ref3 = useScreen() || {},\n data = _ref3.data;\n\n return data;\n};\nvar useScreenRenderContext = function useScreenRenderContext() {\n var _ref4 = useScreen() || {},\n _ref4$renderContext = _ref4.renderContext,\n renderContext = _ref4$renderContext === void 0 ? 'view' : _ref4$renderContext;\n\n var isPlaceholder = renderContext === 'placeholder';\n var isPreview = renderContext === 'preview';\n var isEdit = renderContext === 'edit';\n var isView = renderContext === 'view';\n var isStatic = renderContext === 'static';\n var isCapture = renderContext === 'capture';\n return {\n renderContext: renderContext,\n isPlaceholder: isPlaceholder,\n isPreview: isPreview,\n isEdit: isEdit,\n isView: isView || isStatic || isCapture,\n isStatic: isStatic,\n isCapture: isCapture\n };\n};\nvar propTypes$5 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n data: core.PropTypes.screen,\n definition: core.PropTypes.screenDefinition,\n renderContext: core.PropTypes.renderContext\n};\nvar defaultProps$5 = {\n data: null,\n definition: null,\n renderContext: null\n};\nvar ScreenProvider = function ScreenProvider(_ref5) {\n var data = _ref5.data,\n definition = _ref5.definition,\n renderContext = _ref5.renderContext,\n children = _ref5.children;\n\n var _ref6 = useScreen() || {},\n _ref6$data = _ref6.data,\n previousData = _ref6$data === void 0 ? null : _ref6$data,\n _ref6$definition = _ref6.definition,\n previousDefinition = _ref6$definition === void 0 ? null : _ref6$definition,\n _ref6$renderContext = _ref6.renderContext,\n previousContext = _ref6$renderContext === void 0 ? null : _ref6$renderContext;\n\n var finalData = data || previousData || null;\n\n var _ref7 = finalData || {},\n _ref7$type = _ref7.type,\n type = _ref7$type === void 0 ? null : _ref7$type;\n\n var screensManager = useScreensManager();\n var contextDefinition = screensManager !== null ? screensManager.getDefinition(type) : null;\n var finalDefinition = definition || contextDefinition || previousDefinition;\n var finalRenderContext = renderContext || previousContext || 'view';\n var value = React.useMemo(function () {\n return {\n data: finalData,\n definition: finalDefinition,\n renderContext: finalRenderContext\n };\n }, [finalData, finalDefinition, finalRenderContext]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ScreenContext.Provider, {\n value: value\n }, children);\n};\nScreenProvider.propTypes = propTypes$5;\nScreenProvider.defaultProps = defaultProps$5;\n\nvar ScreenSizeContext = /*#__PURE__*/React__default[\"default\"].createContext({\n screen: null,\n screens: [],\n width: 0,\n height: 0,\n landscape: false\n});\nvar useScreenSize = function useScreenSize() {\n return React.useContext(ScreenSizeContext);\n};\nvar propTypes$4 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n size: core.PropTypes.screenSize\n};\nvar defaultProps$4 = {\n size: {}\n}; // Note: this is done to avoid excessive renders on the screens that use the context\n\nvar ScreenSizeProvider = function ScreenSizeProvider(_ref) {\n var size = _ref.size,\n children = _ref.children;\n\n var _useState = React.useState(size),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n currentSize = _useState2[0],\n setSize = _useState2[1];\n\n var prevWidth = currentSize.width,\n prevHeight = currentSize.height;\n var nextWidth = size.width,\n nextHeight = size.height;\n React.useEffect(function () {\n if (prevWidth !== nextWidth || prevHeight !== nextHeight) {\n setSize(size);\n }\n }, [setSize, nextWidth, nextHeight, prevWidth, prevHeight, size]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ScreenSizeContext.Provider, {\n value: currentSize\n }, children);\n};\nScreenSizeProvider.propTypes = propTypes$4;\nScreenSizeProvider.defaultProps = defaultProps$4;\n\nvar useTracking = function useTracking() {\n return React.useContext(tracking.TrackingContext);\n};\nvar propTypes$3 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n variables: core.PropTypes.trackingVariables\n};\nvar defaultProps$3 = {\n variables: null\n};\nvar TrackingProvider = function TrackingProvider(_ref) {\n var variables = _ref.variables,\n children = _ref.children;\n var contextTracking = useTracking() || null;\n var tracking$1 = React.useMemo(function () {\n return new core.Tracking({\n variables: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, contextTracking !== null ? contextTracking.getVariables() : null), variables)\n });\n }, [contextTracking, variables]);\n return /*#__PURE__*/React__default[\"default\"].createElement(tracking.TrackingContainer, {\n tracking: tracking$1\n }, children);\n};\nTrackingProvider.propTypes = propTypes$3;\nTrackingProvider.defaultProps = defaultProps$3;\n\n/**\n * Locale loader\n */\n\nvar packageCache = null;\n\nvar useUppyCore = function useUppyCore() {\n // transport\n var _useState = React.useState({\n \"package\": packageCache\n }),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n loadedPackage = _useState2[0][\"package\"],\n setLoadedPackage = _useState2[1];\n\n React.useEffect(function () {\n var canceled = false;\n\n if (loadedPackage !== null) {\n return function () {\n canceled = true;\n };\n }\n\n Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/core')); }).then(function (_ref) {\n var Uppy = _ref.Uppy;\n packageCache = Uppy;\n\n if (!canceled) {\n setLoadedPackage({\n \"package\": Uppy\n });\n }\n });\n return function () {\n canceled = true;\n };\n }, [loadedPackage, setLoadedPackage]);\n return loadedPackage;\n};\n\n/**\n * Locale loader\n */\n\nvar packagesCache$2 = {};\nvar defaultPackagesMap$2 = {\n fr: function fr() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/locales/lib/fr_FR')); });\n },\n en: function en() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/locales/lib/en_US')); });\n }\n};\n\nvar useUppyLocale = function useUppyLocale(locale) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$packagesMap = _ref.packagesMap,\n packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap$2 : _ref$packagesMap;\n\n var _useState = React.useState({\n \"package\": packagesCache$2[locale] || null\n }),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n loadedPackage = _useState2[0][\"package\"],\n setLoadedPackage = _useState2[1];\n\n var packageLoader = packagesMap[locale] || null;\n React.useEffect(function () {\n var canceled = false;\n\n if (loadedPackage !== null || packageLoader === null) {\n return function () {\n canceled = true;\n };\n }\n\n packageLoader().then(function (_ref2) {\n var dep = _ref2[\"default\"];\n\n // packagesCache[locale] = dep;\n if (!canceled) {\n setLoadedPackage({\n \"package\": dep\n });\n }\n });\n return function () {\n canceled = true;\n };\n }, [packageLoader, loadedPackage, setLoadedPackage]);\n return loadedPackage;\n};\n\nvar _excluded$2 = [\"default\"];\n/**\n * Locale loader\n */\n\nvar packagesCache$1 = {};\nvar defaultPackagesMap$1 = {\n transloadit: null,\n // Disabled for compatibility reasons\n tus: function tus() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/tus')); });\n },\n xhr: function xhr() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/xhr-upload')); });\n }\n};\n\nvar useUppyTransport = function useUppyTransport(transport) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$packagesMap = _ref.packagesMap,\n packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap$1 : _ref$packagesMap;\n\n // transport\n var _useState = React.useState({\n \"package\": packagesCache$1[transport] || null\n }),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n loadedPackage = _useState2[0][\"package\"],\n setLoadedPackage = _useState2[1];\n\n var packageLoader = packagesMap[transport] || null;\n React.useEffect(function () {\n var canceled = false;\n\n if (loadedPackage !== null || packageLoader === null) {\n return function () {\n canceled = true;\n };\n }\n\n packageLoader().then(function (_ref2) {\n var pack = _ref2[\"default\"],\n others = _objectWithoutProperties__default[\"default\"](_ref2, _excluded$2);\n\n var dep = Object.keys(others).reduce(function (map, key) {\n map[key] = others[key]; // eslint-disable-line no-param-reassign\n\n return map;\n }, pack);\n packagesCache$1[transport] = dep;\n\n if (!canceled) {\n setLoadedPackage({\n \"package\": dep\n });\n }\n });\n return function () {\n canceled = true;\n };\n }, [packageLoader, loadedPackage, setLoadedPackage]);\n return loadedPackage;\n};\n\nvar _excluded$1 = [\"default\"];\n/**\n * Locale loader\n */\n\nvar packagesCache = {};\nvar defaultPackagesMap = {\n webcam: function webcam() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/webcam')); });\n },\n facebook: function facebook() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/facebook')); });\n },\n instagram: function instagram() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/instagram')); });\n },\n dropbox: function dropbox() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/dropbox')); });\n },\n 'google-drive': function googleDrive() {\n return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@uppy/google-drive')); });\n }\n};\n\nvar useUppySources = function useUppySources(sources) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$packagesMap = _ref.packagesMap,\n packagesMap = _ref$packagesMap === void 0 ? defaultPackagesMap : _ref$packagesMap;\n\n // transport\n var _useState = React.useState({\n packages: sources.reduce(function (map, source) {\n var sourcePackage = packagesCache[source] || null;\n\n if (sourcePackage === null) {\n return map;\n }\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, map), {}, _defineProperty__default[\"default\"]({}, source, sourcePackage));\n }, null)\n }),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n loadedPackages = _useState2[0].packages,\n setLoadedPackages = _useState2[1];\n\n var sourcesToLoad = React.useMemo(function () {\n if (loadedPackages === null) {\n return sources;\n }\n\n var sourcesLoaded = Object.keys(loadedPackages);\n return sources.filter(function (source) {\n return sourcesLoaded.indexOf(source) === -1;\n });\n }, [sources, loadedPackages]);\n React.useEffect(function () {\n var canceled = false;\n\n if (sourcesToLoad.length === 0) {\n return function () {\n canceled = true;\n };\n }\n\n Promise.all(sourcesToLoad.map(function (source) {\n return packagesMap[source] || null;\n }).filter(function (it) {\n return it !== null;\n }).map(function (promise) {\n return promise();\n })).then(function (packagesLoaded) {\n var newLoadedPackages = sourcesToLoad.reduce(function (map, source, index) {\n var _packagesLoaded$index = packagesLoaded[index],\n pack = _packagesLoaded$index[\"default\"],\n others = _objectWithoutProperties__default[\"default\"](_packagesLoaded$index, _excluded$1);\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, map), {}, _defineProperty__default[\"default\"]({}, source, Object.keys(others).reduce(function (otherMap, key) {\n otherMap[key] = others[key]; // eslint-disable-line no-param-reassign\n\n return otherMap;\n }, pack)));\n }, {});\n packagesCache = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, packagesCache), newLoadedPackages);\n\n if (!canceled) {\n setLoadedPackages({\n packages: newLoadedPackages\n });\n }\n });\n return function () {\n canceled = true;\n };\n }, [sourcesToLoad, packagesMap, loadedPackages, setLoadedPackages]);\n return sourcesToLoad.length === 0 ? loadedPackages : null;\n};\n\nvar convertToMedia = function convertToMedia(it) {\n // console.log('upload', it);\n var type = it.data.type.split('/')[0];\n var thumbnail = it.transloadit[\"\".concat(type, \"_thumbnail\")] || null;\n var original = it.transloadit[\"\".concat(type, \"_original\")] || null;\n return {\n handle: it.id,\n type: type,\n name: it.meta.name,\n mime: it.data.type,\n size: it.data.size,\n url: original !== null ? original.ssl_url || original.url : null,\n thumbnail_url: thumbnail !== null ? thumbnail.ssl_url || thumbnail.url : null,\n metadata: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, original !== null ? original.meta || null : null), it.meta.user ? {\n user: it.meta.user\n } || null : null), {}, {\n filename: it.meta.filename,\n transloadit: it.transloadit.results || null\n })\n };\n};\n\nvar getTransloaditMediasFromResponse = function getTransloaditMediasFromResponse(response) {\n return response.successful.map(function (it) {\n var transloadit = response.transloadit.find(function (subIt) {\n return subIt.assembly_id === it.transloadit.assembly;\n }) || null;\n var results = transloadit !== null ? transloadit.results || null : null;\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, it), {}, {\n transloadit: results !== null ? Object.keys(results).reduce(function (map, resultKey) {\n var result = results[resultKey].find(function (itResult) {\n return itResult.name === it.name;\n });\n return result !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, map), {}, _defineProperty__default[\"default\"]({}, resultKey, result)) : map;\n }, null) : null\n });\n }).filter(function (it) {\n return it.transloadit !== null;\n }).map(function (it) {\n return convertToMedia(it);\n });\n};\n\nvar _excluded = [\"sources\"],\n _excluded2 = [\"key\", \"templateId\", \"waitForEncoding\"];\nvar UppyContext = /*#__PURE__*/React__default[\"default\"].createContext(null);\nvar useUppy = function useUppy() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$onComplete = _ref.onComplete,\n onComplete = _ref$onComplete === void 0 ? null : _ref$onComplete,\n _ref$onFail = _ref.onFail,\n onFail = _ref$onFail === void 0 ? null : _ref$onFail,\n _ref$getFileName = _ref.getFileName,\n getFileName = _ref$getFileName === void 0 ? function (_ref2) {\n var _ref2$extension = _ref2.extension,\n extension = _ref2$extension === void 0 ? null : _ref2$extension;\n return \"\".concat(uuid.v1()).concat(extension !== null ? \".\".concat(extension) : '');\n } : _ref$getFileName,\n _ref$meta = _ref.meta,\n meta = _ref$meta === void 0 ? null : _ref$meta,\n _ref$maxNumberOfFiles = _ref.maxNumberOfFiles,\n maxNumberOfFiles = _ref$maxNumberOfFiles === void 0 ? 30 : _ref$maxNumberOfFiles,\n _ref$allowedFileTypes = _ref.allowedFileTypes,\n allowedFileTypes = _ref$allowedFileTypes === void 0 ? null : _ref$allowedFileTypes,\n _ref$autoProceed = _ref.autoProceed,\n autoProceed = _ref$autoProceed === void 0 ? false : _ref$autoProceed;\n\n var _ref3 = React.useContext(UppyContext) || null,\n buildUppy = _ref3.buildUppy,\n transport = _ref3.transport;\n\n var uppy = React.useMemo(function () {\n return buildUppy !== null ? buildUppy({\n meta: meta,\n restrictions: {\n maxNumberOfFiles: maxNumberOfFiles,\n allowedFileTypes: allowedFileTypes\n },\n autoProceed: autoProceed\n }) : null;\n }, [buildUppy, meta, maxNumberOfFiles, allowedFileTypes, autoProceed]);\n React.useEffect(function () {\n if (uppy === null) {\n return function () {};\n }\n\n var onUppyComplete = function onUppyComplete(response) {\n var _response$successful = response.successful,\n successful = _response$successful === void 0 ? [] : _response$successful,\n _response$failed = response.failed,\n failed = _response$failed === void 0 ? null : _response$failed;\n var finalSuccessful = transport === 'transloadit' ? getTransloaditMediasFromResponse(response) : successful;\n\n if (onComplete !== null) {\n onComplete(finalSuccessful);\n }\n\n if (onFail !== null) {\n onFail(failed);\n }\n };\n\n uppy.on('complete', onUppyComplete);\n return function () {\n uppy.off('complete', onUppyComplete);\n };\n }, [uppy, transport, onComplete]);\n React.useEffect(function () {\n if (uppy === null) {\n return function () {};\n }\n\n var onUpload = function onUpload(_ref4) {\n var _ref4$fileIDs = _ref4.fileIDs,\n ids = _ref4$fileIDs === void 0 ? [] : _ref4$fileIDs;\n ids.forEach(function (id) {\n var file = uppy.getFile(id);\n var newName = getFileName(file);\n\n if (newName !== null) {\n uppy.setFileMeta(id, {\n name: newName\n });\n }\n });\n };\n\n uppy.on('upload', onUpload);\n return function () {\n uppy.off('upload', onUpload);\n };\n }, [uppy]);\n React.useEffect(function () {\n return function () {\n if (uppy !== null) {\n uppy.close();\n }\n };\n }, [uppy]);\n return uppy;\n};\nvar propTypes$2 = {\n children: PropTypes__default[\"default\"].node.isRequired,\n transport: PropTypes__default[\"default\"].oneOf(['xhr', 'transloadit', 'tus']),\n locale: PropTypes__default[\"default\"].string,\n sources: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].oneOf(['webcam', 'facebook', 'instagram', 'dropbox', 'google-drive'])),\n transloadit: PropTypes__default[\"default\"].shape({\n key: PropTypes__default[\"default\"].string.isRequired,\n templateId: PropTypes__default[\"default\"].string,\n waitForEncoding: PropTypes__default[\"default\"].bool\n }),\n companion: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string.isRequired,\n allowedHosts: PropTypes__default[\"default\"].string.isRequired\n }),\n tus: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n endpoint: PropTypes__default[\"default\"].string.isRequired\n })]),\n xhr: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n endpoint: PropTypes__default[\"default\"].string.isRequired\n })])\n};\nvar defaultProps$2 = {\n transport: null,\n locale: null,\n sources: null,\n transloadit: null,\n companion: null,\n tus: null,\n xhr: null\n};\nvar UppyProvider = function UppyProvider(_ref5) {\n var children = _ref5.children,\n providedTransport = _ref5.transport,\n providedLocale = _ref5.locale,\n providedSources = _ref5.sources,\n providedTransloadit = _ref5.transloadit,\n providedCompanion = _ref5.companion,\n providedTus = _ref5.tus,\n providedXhr = _ref5.xhr;\n\n var _useIntl = reactIntl.useIntl(),\n intlLocale = _useIntl.locale;\n\n var _ref6 = React.useContext(UppyContext) || {},\n _ref6$transport = _ref6.transport,\n contextTransport = _ref6$transport === void 0 ? null : _ref6$transport,\n _ref6$locale = _ref6.locale,\n contextLocale = _ref6$locale === void 0 ? null : _ref6$locale,\n _ref6$sources = _ref6.sources,\n contextSources = _ref6$sources === void 0 ? null : _ref6$sources,\n _ref6$transloadit = _ref6.transloadit,\n contextTransloadit = _ref6$transloadit === void 0 ? null : _ref6$transloadit,\n _ref6$companion = _ref6.companion,\n contextCompanion = _ref6$companion === void 0 ? null : _ref6$companion,\n _ref6$tus = _ref6.tus,\n contextTus = _ref6$tus === void 0 ? null : _ref6$tus,\n _ref6$xhr = _ref6.xhr,\n contextXhr = _ref6$xhr === void 0 ? null : _ref6$xhr;\n\n var transport = providedTransport || contextTransport || 'xhr';\n var locale = providedLocale || contextLocale || intlLocale;\n var sources = providedSources || contextSources || ['webcam', 'facebook', 'instagram', 'dropbox', 'google-drive'];\n var transloadit = providedTransloadit || contextTransloadit;\n var companion = providedCompanion || contextCompanion;\n var tus = providedTus || contextTus;\n var xhr = providedXhr || contextXhr;\n var Uppy = useUppyCore();\n var uppyTransport = useUppyTransport(transport);\n var uppySources = useUppySources(sources);\n var uppyLocale = useUppyLocale(locale || intlLocale);\n var buildUppy = React.useMemo(function () {\n if (Uppy === null || uppyLocale === null || uppyTransport === null || uppySources === null) {\n return null;\n }\n\n return function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref7 = opts || {},\n _ref7$sources = _ref7.sources,\n customSources = _ref7$sources === void 0 ? sources : _ref7$sources,\n uppyOpts = _objectWithoutProperties__default[\"default\"](_ref7, _excluded);\n\n var newUppy = new Uppy(_objectSpread__default[\"default\"]({\n locale: uppyLocale\n }, uppyOpts));\n\n if (transport === 'transloadit') {\n var key = transloadit.key,\n templateId = transloadit.templateId,\n _transloadit$waitForE = transloadit.waitForEncoding,\n waitForEncoding = _transloadit$waitForE === void 0 ? true : _transloadit$waitForE,\n transloaditOpts = _objectWithoutProperties__default[\"default\"](transloadit, _excluded2);\n\n newUppy.use(uppyTransport, {\n params: _objectSpread__default[\"default\"]({\n auth: {\n key: key\n },\n template_id: templateId\n }, transloaditOpts),\n waitForEncoding: waitForEncoding\n });\n } else if (transport === 'tus') {\n newUppy.use(uppyTransport, _objectSpread__default[\"default\"]({\n endpoint: '/tus',\n resume: true,\n retryDelays: [0, 1000, 3000, 5000]\n }, tus));\n } else if (transport === 'xhr') {\n newUppy.use(uppyTransport, _objectSpread__default[\"default\"]({\n endpoint: isString__default[\"default\"](xhr) ? xhr : '/upload'\n }, isObject__default[\"default\"](xhr) ? xhr : null));\n }\n\n if (transport === 'transloadit' || companion !== null) {\n return customSources.reduce(function (currentUppy, sourceId) {\n var source = uppySources[sourceId] || null;\n\n if (source === null) {\n return currentUppy;\n }\n\n var _ref8 = companion || {\n url: uppyTransport.COMPANION || null,\n allowedHosts: uppyTransport.COMPANION_PATTERN || null\n },\n companionUrl = _ref8.url,\n companionAllowedHosts = _ref8.allowedHosts;\n\n return newUppy.use(source, {\n id: sourceId,\n companionUrl: companionUrl,\n companionAllowedHosts: companionAllowedHosts\n });\n }, newUppy);\n }\n\n return newUppy;\n };\n }, [Uppy, uppyLocale, uppyTransport, uppySources, transport, sources, transloadit, companion, tus, xhr]);\n return /*#__PURE__*/React__default[\"default\"].createElement(UppyContext.Provider, {\n value: {\n transport: transport,\n locale: locale,\n sources: sources,\n transloadit: transloadit,\n companion: companion,\n tus: tus,\n xhr: xhr,\n Uppy: Uppy,\n uppyTransport: uppyTransport,\n uppySources: uppySources,\n uppyLocale: uppyLocale,\n buildUppy: buildUppy\n }\n }, children);\n};\nUppyProvider.propTypes = propTypes$2;\nUppyProvider.defaultProps = defaultProps$2;\n\nvar defaultValue$1 = {\n userInteracted: false\n};\nvar UserInteractionContext = /*#__PURE__*/React__default[\"default\"].createContext(defaultValue$1);\nvar useUserInteracted = function useUserInteracted() {\n return React.useContext(UserInteractionContext).userInteracted;\n};\nvar propTypes$1 = {\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$1 = {};\nvar UserInteractionProvider = function UserInteractionProvider(_ref) {\n var children = _ref.children;\n\n var _useState = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n userInteracted = _useState2[0],\n setUserInteracted = _useState2[1];\n\n React.useEffect(function () {\n if (userInteracted) {\n return function () {};\n }\n\n var setted = false;\n\n var set = function set() {\n if (!setted) {\n setUserInteracted(true);\n setted = true;\n }\n };\n\n document.addEventListener('mouseup', set);\n document.addEventListener('touchend', set);\n document.addEventListener('pointerup', set);\n return function () {\n document.removeEventListener('mouseup', set);\n document.removeEventListener('touchend', set);\n document.removeEventListener('pointerup', set);\n };\n }, [userInteracted, setUserInteracted]);\n return /*#__PURE__*/React__default[\"default\"].createElement(UserInteractionContext.Provider, {\n value: {\n userInteracted: userInteracted,\n setUserInteracted: setUserInteracted\n }\n }, children);\n};\nUserInteractionProvider.propTypes = propTypes$1;\nUserInteractionProvider.defaultProps = defaultProps$1;\n\nvar defaultValue = {\n menuVisible: false,\n menuSize: 0\n};\nvar ViewerContext = /*#__PURE__*/React__default[\"default\"].createContext(defaultValue);\nvar useViewer = function useViewer() {\n return React.useContext(ViewerContext);\n};\nvar propTypes = {\n children: PropTypes__default[\"default\"].node.isRequired,\n menuVisible: PropTypes__default[\"default\"].bool,\n menuSize: PropTypes__default[\"default\"].number\n};\n\nvar defaultProps = _objectSpread__default[\"default\"]({}, defaultValue);\n\nvar ViewerProvider = function ViewerProvider(_ref) {\n var children = _ref.children,\n menuVisible = _ref.menuVisible,\n menuSize = _ref.menuSize;\n var value = React.useMemo(function () {\n return {\n menuVisible: menuVisible,\n menuSize: menuSize\n };\n }, [menuVisible, menuSize]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ViewerContext.Provider, {\n value: value\n }, children);\n};\nViewerProvider.propTypes = propTypes;\nViewerProvider.defaultProps = defaultProps;\n\nObject.defineProperty(exports, 'TrackingContext', {\n enumerable: true,\n get: function () { return tracking.TrackingContext; }\n});\nexports.ComponentsContext = ComponentsContext;\nexports.ComponentsProvider = ComponentsProvider;\nexports.ELEMENTS_NAMESPACE = ELEMENTS_NAMESPACE;\nexports.EditorContext = EditorContext;\nexports.EditorProvider = EditorProvider;\nexports.FIELDS_NAMESPACE = FIELDS_NAMESPACE;\nexports.FORMS_NAMESPACE = FORMS_NAMESPACE;\nexports.FieldContext = FieldContext;\nexports.FieldContextProvider = FieldContextProvider;\nexports.FieldsContext = FieldsContext;\nexports.FieldsProvider = FieldsProvider;\nexports.FontsContext = FontsContext;\nexports.FontsProvider = FontsProvider;\nexports.GoogleApiClientContext = GoogleApiClientContext;\nexports.GoogleApiClientProvider = GoogleApiClientProvider;\nexports.GoogleKeysContext = GoogleKeysContext;\nexports.GoogleKeysProvider = GoogleKeysProvider;\nexports.GoogleMapsClientContext = GoogleMapsClientContext;\nexports.GoogleMapsClientProvider = GoogleMapsClientProvider;\nexports.MODALS_NAMESPACE = MODALS_NAMESPACE;\nexports.ModalsContext = ModalsContext;\nexports.ModalsProvider = ModalsProvider;\nexports.PanelsContext = PanelsContext;\nexports.PanelsProvider = PanelsProvider;\nexports.RoutesContext = RoutesContext;\nexports.RoutesProvider = RoutesProvider;\nexports.SCREENS_NAMESPACE = SCREENS_NAMESPACE;\nexports.ScreenContext = ScreenContext;\nexports.ScreenProvider = ScreenProvider;\nexports.ScreenSizeContext = ScreenSizeContext;\nexports.ScreenSizeProvider = ScreenSizeProvider;\nexports.ScreensContext = ScreensContext;\nexports.ScreensProvider = ScreensProvider;\nexports.StoryContext = StoryContext;\nexports.StoryProvider = StoryProvider;\nexports.TrackingProvider = TrackingProvider;\nexports.UppyContext = UppyContext;\nexports.UppyProvider = UppyProvider;\nexports.UserInteractionContext = UserInteractionContext;\nexports.UserInteractionProvider = UserInteractionProvider;\nexports.ViewerContext = ViewerContext;\nexports.ViewerProvider = ViewerProvider;\nexports.useComponent = useComponent;\nexports.useComponents = useComponents;\nexports.useComponentsManager = useComponentsManager;\nexports.useEditor = useEditor;\nexports.useElementComponent = useElementComponent;\nexports.useElementsComponents = useElementsComponents;\nexports.useElementsComponentsManager = useElementsComponentsManager;\nexports.useFieldComponent = useFieldComponent;\nexports.useFieldContext = useFieldContext;\nexports.useFieldDefinition = useFieldDefinition;\nexports.useFieldsComponents = useFieldsComponents;\nexports.useFieldsComponentsManager = useFieldsComponentsManager;\nexports.useFieldsManager = useFieldsManager;\nexports.useFonts = useFonts;\nexports.useFormComponent = useFormComponent;\nexports.useFormsComponents = useFormsComponents;\nexports.useFormsComponentsManager = useFormsComponentsManager;\nexports.useGetColors = useGetColors;\nexports.useGoogleApiClient = useGoogleApiClient;\nexports.useGoogleFonts = useGoogleFonts;\nexports.useGoogleKeys = useGoogleKeys;\nexports.useGoogleMapsClient = useGoogleMapsClient;\nexports.useModalComponent = useModalComponent;\nexports.useModals = useModals;\nexports.useModalsComponents = useModalsComponents;\nexports.useModalsComponentsManager = useModalsComponentsManager;\nexports.usePanels = usePanels;\nexports.useRouteBack = useRouteBack;\nexports.useRoutePush = useRoutePush;\nexports.useRoutes = useRoutes;\nexports.useScreen = useScreen;\nexports.useScreenComponent = useScreenComponent;\nexports.useScreenData = useScreenData;\nexports.useScreenDefinition = useScreenDefinition;\nexports.useScreenRenderContext = useScreenRenderContext;\nexports.useScreenSize = useScreenSize;\nexports.useScreensComponents = useScreensComponents;\nexports.useScreensComponentsManager = useScreensComponentsManager;\nexports.useScreensManager = useScreensManager;\nexports.useStory = useStory;\nexports.useStoryContext = useStoryContext;\nexports.useTracking = useTracking;\nexports.useUppy = useUppy;\nexports.useUrlGenerator = useUrlGenerator;\nexports.useUserInteracted = useUserInteracted;\nexports.useViewer = useViewer;\nexports.withGoogleApiClient = withGoogleApiClient;\nexports.withGoogleMapsClient = withGoogleMapsClient;\nexports.withModals = withModals;\nexports.withPanels = withPanels;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar react = require('react');\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar reactIntl = require('react-intl');\nvar isString = require('lodash/isString');\nvar dayjs = require('dayjs');\nvar core = require('@micromag/core');\nvar utils = require('@micromag/core/utils');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar forms = require('@folklore/forms');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar classNames = require('classnames');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nvar screenfull = require('screenfull');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar isObject = require('lodash/isObject');\nvar contexts = require('@micromag/core/contexts');\nvar cssMediaquery = require('css-mediaquery');\nvar core$1 = require('@react-spring/core');\nvar clamp = require('lodash/clamp');\nvar reactUseGesture = require('react-use-gesture');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nfunction _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = Object.create(null);\n if (e) {\n Object.keys(e).forEach(function (k) {\n if (k !== 'default') {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n }\n n[\"default\"] = e;\n return Object.freeze(n);\n}\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar screenfull__default = /*#__PURE__*/_interopDefaultLegacy(screenfull);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);\nvar clamp__default = /*#__PURE__*/_interopDefaultLegacy(clamp);\n\nvar useAnimationFrame = function useAnimationFrame(onFrame) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled;\n\n var requestRef = react.useRef(null);\n var startTimeRef = react.useRef(null);\n\n var callback = function callback(time) {\n if (!startTimeRef.current) {\n startTimeRef.current = time;\n }\n\n var progress = time - startTimeRef.current;\n onFrame(progress);\n requestRef.current = requestAnimationFrame(callback);\n };\n\n react.useEffect(function () {\n if (!disabled) {\n requestRef.current = requestAnimationFrame(callback);\n }\n\n return function () {\n if (requestRef.current !== null) {\n cancelAnimationFrame(requestRef.current);\n }\n };\n }, [disabled]);\n};\n\nvar useFormattedDate = function useFormattedDate() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$format = _ref.format,\n format = _ref$format === void 0 ? null : _ref$format,\n _ref$showToday = _ref.showToday,\n showToday = _ref$showToday === void 0 ? true : _ref$showToday;\n\n var intl = reactIntl.useIntl();\n var today = dayjs__default[\"default\"]();\n return react.useCallback(function (date) {\n var dateToFormat = isString__default[\"default\"](date) ? dayjs__default[\"default\"](date) : date;\n\n if (showToday && dateToFormat.format('YYYY-MM-DD') === today.format('YYYY-MM-DD')) {\n return intl.formatMessage({\n \"id\": \"v4Qtl9\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Today\"\n }]\n });\n }\n\n return intl.formatDate(dayjs__default[\"default\"](date).toDate(), _objectSpread__default[\"default\"]({\n year: 'numeric',\n month: 'long',\n day: '2-digit'\n }, format));\n }, [today, showToday, format]);\n};\nvar useFormattedTime = function useFormattedTime() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$format = _ref2.format,\n format = _ref2$format === void 0 ? null : _ref2$format,\n _ref2$showNow = _ref2.showNow,\n showNow = _ref2$showNow === void 0 ? true : _ref2$showNow,\n _ref2$timeGap = _ref2.timeGap,\n timeGap = _ref2$timeGap === void 0 ? 2 : _ref2$timeGap;\n\n var intl = reactIntl.useIntl();\n var now = dayjs__default[\"default\"]();\n return react.useCallback(function (date) {\n var dateToFormat = isString__default[\"default\"](date) ? dayjs__default[\"default\"](date) : date;\n\n if (showNow && dateToFormat.format('YYYY-MM-DD') === now.format('YYYY-MM-DD') && dateToFormat.hour() === now.hour() && dateToFormat.minute() > now.minute() - timeGap && dateToFormat.minute() < now.minute() + timeGap) {\n return intl.formatMessage({\n \"id\": \"3na7F8\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Now\"\n }]\n });\n }\n\n return intl.formatTime(dateToFormat.toDate(), _objectSpread__default[\"default\"]({\n hour: 'numeric',\n minute: 'numeric'\n }, format));\n }, [now, showNow, timeGap, format]);\n};\n\nvar eventsManager$1 = typeof document !== 'undefined' ? new core.EventsManager(document) : null;\nvar useDocumentEvent = utils.createUseEvent(eventsManager$1);\n\nvar _excluded$1 = [\"fields\", \"injectInFields\"],\n _excluded2 = [\"fields\"];\n\nvar useForm = function useForm() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$fields = _ref.fields,\n providedFields = _ref$fields === void 0 ? [] : _ref$fields,\n _ref$injectInFields = _ref.injectInFields,\n injectInFields = _ref$injectInFields === void 0 ? false : _ref$injectInFields,\n opts = _objectWithoutProperties__default[\"default\"](_ref, _excluded$1);\n\n var fieldsNames = react.useMemo(function () {\n return providedFields.length > 0 ? providedFields.map(function (_ref2) {\n var name = _ref2.name;\n return name;\n }) : [];\n }, [providedFields]);\n\n var _useBaseForm = forms.useForm(_objectSpread__default[\"default\"]({\n fields: fieldsNames\n }, opts)),\n fields = _useBaseForm.fields,\n form = _objectWithoutProperties__default[\"default\"](_useBaseForm, _excluded2);\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, form), {}, {\n fields: injectInFields ? providedFields.map(function (it) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, it), fields[it.name] || null);\n }) : providedFields\n });\n};\n\nvar useFormTransition = function useFormTransition() {\n var paths = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var styles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var lastPageRef = react.useRef(paths || []);\n var direction = react.useMemo(function () {\n var currentPartsCount = paths.length;\n\n if (lastPageRef.current) {\n var previousPartsCount = lastPageRef.current.length;\n lastPageRef.current = paths || [];\n return currentPartsCount > previousPartsCount ? 'right' : 'left';\n }\n\n return null;\n }, [paths]);\n var name = react.useMemo(function () {\n var _classNames, _classNames2, _classNames3;\n\n return {\n enter: classNames__default[\"default\"]((_classNames = {}, _defineProperty__default[\"default\"](_classNames, styles.enterRight, direction === 'right'), _defineProperty__default[\"default\"](_classNames, styles.enterLeft, direction === 'left'), _defineProperty__default[\"default\"](_classNames, styles.enterTop, direction === 'top'), _defineProperty__default[\"default\"](_classNames, styles.enterBottom, direction === 'bottom'), _classNames)) || 'none',\n enterActive: classNames__default[\"default\"]((_classNames2 = {}, _defineProperty__default[\"default\"](_classNames2, styles.enterActiveHorizontal, direction === 'left' || direction === 'right'), _defineProperty__default[\"default\"](_classNames2, styles.enterActiveVertical, direction === 'top' || direction === 'bottom'), _classNames2)) || 'none',\n leave: styles.leave || 'none',\n leaveActive: classNames__default[\"default\"]((_classNames3 = {}, _defineProperty__default[\"default\"](_classNames3, styles.leaveActiveRight, direction === 'right'), _defineProperty__default[\"default\"](_classNames3, styles.leaveActiveLeft, direction === 'left'), _defineProperty__default[\"default\"](_classNames3, styles.leaveActiveTop, direction === 'top'), _defineProperty__default[\"default\"](_classNames3, styles.leaveActiveBottom, direction === 'bottom'), _classNames3)) || 'none'\n };\n }, [direction]);\n return {\n direction: direction,\n name: name,\n timeout: direction === 'left' || direction === 'right' ? 300 : 10\n };\n};\n\nvar useFullscreen = function useFullscreen(element) {\n var enabled = screenfull__default[\"default\"].isEnabled;\n\n var _useState = react.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n active = _useState2[0],\n setActive = _useState2[1];\n\n var fullscreen = react.useCallback(function () {\n if (screenfull__default[\"default\"].isEnabled) {\n if (typeof element !== 'undefined' && element !== null) {\n screenfull__default[\"default\"].request(element);\n } else {\n screenfull__default[\"default\"].request();\n }\n }\n }, [element]);\n var unFullscreen = react.useCallback(function () {\n if (screenfull__default[\"default\"].isEnabled) {\n screenfull__default[\"default\"].exit();\n }\n }, []);\n var toggle = react.useCallback(function () {\n if (!active) {\n fullscreen();\n } else {\n unFullscreen();\n }\n }, [active, fullscreen, unFullscreen]);\n react.useEffect(function () {\n var onChange = function onChange() {\n setActive(screenfull__default[\"default\"].isFullscreen);\n };\n\n if (screenfull__default[\"default\"].isEnabled) {\n screenfull__default[\"default\"].on('change', onChange);\n }\n\n return function () {\n if (screenfull__default[\"default\"].isEnabled) {\n screenfull__default[\"default\"].off('change', onChange);\n }\n };\n }, []);\n return {\n toggle: toggle,\n fullscreen: fullscreen,\n unFullscreen: unFullscreen,\n active: active,\n enabled: enabled\n };\n};\n\nvar buildThresholdArray = function buildThresholdArray() {\n return [0, 1.0];\n};\n\nvar observersCache = new Map();\n\nvar getOptionsKey = function getOptionsKey(_ref) {\n var _ref$root = _ref.root,\n root = _ref$root === void 0 ? null : _ref$root,\n rootMargin = _ref.rootMargin,\n _ref$threshold = _ref.threshold,\n threshold = _ref$threshold === void 0 ? null : _ref$threshold;\n return \"root_\".concat(root, \"_rootMargin_\").concat(rootMargin || null, \"_threshold_\").concat(threshold);\n};\n\nvar createObserver = function createObserver(Observer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var subscribers = [];\n\n var addSubscriber = function addSubscriber(element, callback) {\n var currentSubscriber = subscribers.find(function (it) {\n return it.element === element;\n }) || null;\n\n if (currentSubscriber !== null) {\n return subscribers.map(function (it) {\n return it.element === element && it.callbacks.indexOf(callback) === -1 ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, it), {}, {\n callbacks: [].concat(_toConsumableArray__default[\"default\"](it.callbacks), [callback])\n }) : it;\n }).filter(function (it) {\n return it.callbacks.length > 0;\n });\n }\n\n return [].concat(_toConsumableArray__default[\"default\"](subscribers), [{\n element: element,\n callbacks: [callback]\n }]);\n };\n\n var removeSubscriber = function removeSubscriber(element, callback) {\n return subscribers.map(function (it) {\n return it.element === element ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, it), {}, {\n callbacks: it.callbacks.filter(function (subCallback) {\n return subCallback !== callback;\n })\n }) : it;\n }).filter(function (it) {\n return it.callbacks.length > 0;\n });\n };\n\n var onUpdate = function onUpdate(entries) {\n entries.forEach(function (entry) {\n subscribers.forEach(function (_ref2) {\n var element = _ref2.element,\n callbacks = _ref2.callbacks;\n\n if (element === entry.target) {\n callbacks.forEach(function (callback) {\n callback(entry);\n });\n }\n });\n });\n };\n\n var observer = new Observer(onUpdate, options);\n\n var unsubscribe = function unsubscribe(element) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n subscribers = removeSubscriber(element, callback);\n\n if (typeof observer.unobserve === 'undefined') {\n observer.disconnect();\n subscribers.forEach(function (subscriber) {\n observer.observe(subscriber.element);\n });\n return;\n }\n\n var currentSubscriber = subscribers.find(function (it) {\n return it.element === element;\n }) || null;\n\n if (currentSubscriber === null) {\n observer.unobserve(element);\n }\n };\n\n var subscribe = function subscribe(element, callback) {\n var currentSubscriber = subscribers.find(function (it) {\n return it.element === element;\n }) || null;\n subscribers = addSubscriber(element, callback);\n\n if (currentSubscriber === null) {\n observer.observe(element);\n }\n };\n\n return {\n subscribe: subscribe,\n unsubscribe: unsubscribe,\n observer: observer\n };\n};\n\nvar getObserver = function getObserver(Observer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var observerKey = getOptionsKey(options);\n\n if (!observersCache.has(Observer)) {\n observersCache.set(Observer, {});\n }\n\n var observers = observersCache.get(Observer);\n\n if (typeof observers[observerKey] === 'undefined') {\n observers[observerKey] = createObserver(Observer, options);\n observersCache.set(Observer, observers);\n }\n\n return observers[observerKey];\n};\nvar useObserver = function useObserver(Observer) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var initialEntry = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _opts$root = opts.root,\n root = _opts$root === void 0 ? null : _opts$root,\n _opts$rootMargin = opts.rootMargin,\n rootMargin = _opts$rootMargin === void 0 ? null : _opts$rootMargin,\n _opts$threshold = opts.threshold,\n threshold = _opts$threshold === void 0 ? null : _opts$threshold,\n _opts$disabled = opts.disabled,\n disabled = _opts$disabled === void 0 ? false : _opts$disabled;\n\n var _useState = react.useState(initialEntry),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n entry = _useState2[0],\n setEntry = _useState2[1];\n\n var nodeRef = react.useRef(null);\n var currentElement = react.useRef(null);\n var elementChanged = nodeRef.current !== currentElement.current;\n react.useEffect(function () {\n var nodeElement = nodeRef.current;\n\n var callback = function callback(newEntry) {\n return setEntry(newEntry);\n };\n\n var unsubscribe = null;\n\n if (nodeElement !== null) {\n var newOpts = {};\n\n if (root !== null) {\n newOpts.root = root;\n }\n\n if (rootMargin !== null) {\n newOpts.rootMargin = rootMargin;\n }\n\n if (threshold !== null) {\n newOpts.threshold = threshold;\n }\n\n var _getObserver = getObserver(Observer, newOpts),\n subscribe = _getObserver.subscribe,\n localUnsubscribe = _getObserver.unsubscribe;\n\n unsubscribe = localUnsubscribe;\n subscribe(nodeElement, callback);\n }\n\n currentElement.current = nodeElement;\n return function () {\n if (unsubscribe !== null) {\n unsubscribe(nodeElement, callback);\n }\n };\n }, [Observer, elementChanged, disabled, root, rootMargin, threshold]);\n return {\n ref: nodeRef,\n entry: entry\n };\n};\n/**\n * Intersection Observer\n */\n\nvar thresholdArray = buildThresholdArray();\nvar intersectionObserverInitialEntry = {\n target: null,\n time: null,\n isVisible: false,\n isIntersecting: false,\n intersectionRatio: 0,\n intersectionRect: null,\n boundingClientRect: null,\n rootBounds: null\n};\nvar useIntersectionObserver = function useIntersectionObserver() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$root = _ref3.root,\n root = _ref3$root === void 0 ? null : _ref3$root,\n _ref3$rootMargin = _ref3.rootMargin,\n rootMargin = _ref3$rootMargin === void 0 ? '0px' : _ref3$rootMargin,\n _ref3$threshold = _ref3.threshold,\n threshold = _ref3$threshold === void 0 ? thresholdArray : _ref3$threshold,\n _ref3$disabled = _ref3.disabled,\n disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;\n\n return useObserver(typeof window !== 'undefined' ? IntersectionObserver : null, {\n root: root,\n rootMargin: rootMargin,\n threshold: threshold,\n disabled: disabled\n }, intersectionObserverInitialEntry);\n};\n/**\n * Resize Observer\n */\n\nvar resizeObserverInitialEntry = {\n target: null,\n contentRect: null,\n contentBoxSize: null,\n borderBoxSize: null\n};\nvar useResizeObserver = function useResizeObserver() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$disabled = _ref4.disabled,\n disabled = _ref4$disabled === void 0 ? false : _ref4$disabled;\n\n return useObserver(typeof window !== 'undefined' ? ResizeObserver : null, {\n disabled: disabled\n }, resizeObserverInitialEntry);\n};\n\nvar useIsVisible = function useIsVisible() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n rootMargin = _ref.rootMargin,\n _ref$threshold = _ref.threshold,\n threshold = _ref$threshold === void 0 ? 1 : _ref$threshold,\n _ref$persist = _ref.persist,\n persist = _ref$persist === void 0 ? false : _ref$persist;\n\n var _useIntersectionObser = useIntersectionObserver({\n rootMargin: rootMargin,\n threshold: threshold\n }),\n ref = _useIntersectionObser.ref,\n isIntersecting = _useIntersectionObser.entry.isIntersecting;\n\n var wasIntersecting = react.useRef(isIntersecting);\n\n if (isIntersecting && !wasIntersecting.current) {\n wasIntersecting.current = isIntersecting;\n }\n\n var isVisible = !persist && isIntersecting || persist && wasIntersecting.current;\n return {\n ref: ref,\n visible: isVisible\n };\n};\n\nvar fontsMap = {\n loading: [],\n active: []\n};\n\nvar isFontLoading = function isFontLoading(name) {\n return fontsMap.loading.indexOf(name) !== -1;\n};\n\nvar isFontActive = function isFontActive(name) {\n return fontsMap.active.indexOf(name) !== -1;\n};\n\nvar addFontLoading = function addFontLoading(name) {\n fontsMap.active = fontsMap.active.filter(function (it) {\n return it !== name;\n });\n fontsMap.loading = [].concat(_toConsumableArray__default[\"default\"](fontsMap.loading), [name]);\n};\n\nvar removeFontLoading = function removeFontLoading(name) {\n fontsMap.loading = fontsMap.loading.filter(function (it) {\n return it !== name;\n });\n};\n\nvar addFontActive = function addFontActive(name) {\n fontsMap.loading = fontsMap.loading.filter(function (it) {\n return it !== name;\n });\n fontsMap.active = [].concat(_toConsumableArray__default[\"default\"](fontsMap.active), [name]);\n};\n\nvar useLoadedFonts = function useLoadedFonts(fonts) {\n var _useState = react.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n loaded = _useState2[0],\n setLoaded = _useState2[1];\n\n react.useEffect(function () {\n var config = fonts.reduce(function (newConfig, font) {\n var _ref = isObject__default[\"default\"](font) ? font : {\n type: 'system',\n name: font\n },\n type = _ref.type,\n name = _ref.name;\n\n if ((type === 'google' || type === 'custom') && !isFontLoading(name) && !isFontActive(name)) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newConfig), {}, _defineProperty__default[\"default\"]({}, type, {\n families: [].concat(_toConsumableArray__default[\"default\"](newConfig !== null ? (newConfig[type] || {}).families || [] : []), [name])\n }));\n }\n\n return newConfig;\n }, null);\n var hasConfig = config !== null;\n\n if (hasConfig && typeof window !== 'undefined') {\n Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('webfontloader')); }).then(function (_ref2) {\n var WebFont = _ref2[\"default\"];\n return WebFont.load(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, config), {}, {\n timeout: 3000,\n active: function active() {\n return setLoaded(true);\n },\n fontloading: function fontloading(name) {\n return addFontLoading(name);\n },\n fontactive: function fontactive(name) {\n return addFontActive(name);\n },\n fontinactive: function fontinactive(name) {\n return removeFontLoading(name);\n }\n }));\n });\n } else {\n setLoaded(true);\n }\n }, [fonts, setLoaded]);\n return {\n loaded: loaded\n };\n};\n\nvar isTouchEvent = function isTouchEvent(event) {\n return 'touches' in event;\n};\n\nvar preventDefault = function preventDefault(event) {\n if (!isTouchEvent(event)) return false;\n\n if (event.touches.length < 2 && event.preventDefault) {\n event.preventDefault();\n }\n\n return false;\n};\n\nvar preventClickDefault = function preventClickDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n }\n\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n};\n\nvar useLongPress = function useLongPress() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$onLongPress = _ref.onLongPress,\n onLongPress = _ref$onLongPress === void 0 ? null : _ref$onLongPress,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === void 0 ? null : _ref$onClick,\n _ref$shouldPreventDef = _ref.shouldPreventDefault,\n shouldPreventDefault = _ref$shouldPreventDef === void 0 ? true : _ref$shouldPreventDef,\n _ref$delay = _ref.delay,\n delay = _ref$delay === void 0 ? 350 : _ref$delay;\n\n var _useState = react.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n longPressTriggered = _useState2[0],\n setLongPressTriggered = _useState2[1];\n\n var timeout = react.useRef(null);\n var target = react.useRef(null);\n var start = react.useCallback(function (event) {\n if (event.target !== null) {\n target.current = event.target;\n }\n\n timeout.current = setTimeout(function () {\n if (shouldPreventDefault && target.current !== null) {\n target.current.addEventListener('touchend', preventDefault, {\n passive: false\n });\n target.current.addEventListener('click', preventClickDefault, {\n passive: false\n });\n }\n\n if (onLongPress !== null) {\n onLongPress(event);\n }\n\n setLongPressTriggered(true);\n timeout.current = null;\n }, delay);\n }, [onLongPress, delay, shouldPreventDefault]);\n var clear = react.useCallback(function (event) {\n var shouldTriggerClick = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (timeout.current !== null) {\n clearTimeout(timeout.current);\n } else if (shouldPreventDefault && target.current !== null) {\n preventDefault(event);\n target.current.removeEventListener('touchend', preventDefault);\n setTimeout(function () {\n target.current.removeEventListener('click', preventClickDefault);\n }, 10);\n }\n\n if (shouldTriggerClick && !longPressTriggered && onClick !== null) {\n onClick();\n }\n\n setLongPressTriggered(false);\n }, [shouldPreventDefault, onClick, longPressTriggered]);\n return {\n onMouseDown: function onMouseDown(e) {\n return start(e);\n },\n onTouchStart: function onTouchStart(e) {\n return start(e);\n },\n onMouseUp: function onMouseUp(e) {\n return clear(e);\n },\n onMouseLeave: function onMouseLeave(e) {\n return clear(e, false);\n },\n onTouchEnd: function onTouchEnd(e) {\n return clear(e);\n }\n };\n};\n\nvar progressSteps = [0.1, 0.25, 0.5, 0.75, 0.9];\n\nvar useMediaApi = function useMediaApi() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$url = _ref.url,\n url = _ref$url === void 0 ? null : _ref$url,\n _ref$initialMuted = _ref.initialMuted,\n initialMuted = _ref$initialMuted === void 0 ? false : _ref$initialMuted,\n _ref$onTimeUpdate = _ref.onTimeUpdate,\n onTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate,\n _ref$onProgressStep = _ref.onProgressStep,\n onProgressStep = _ref$onProgressStep === void 0 ? null : _ref$onProgressStep,\n _ref$onDurationChange = _ref.onDurationChanged,\n onDurationChanged = _ref$onDurationChange === void 0 ? null : _ref$onDurationChange,\n _ref$onVolumeChanged = _ref.onVolumeChanged,\n onVolumeChanged = _ref$onVolumeChanged === void 0 ? null : _ref$onVolumeChanged,\n _ref$onPlay = _ref.onPlay,\n onPlay = _ref$onPlay === void 0 ? null : _ref$onPlay,\n _ref$onPause = _ref.onPause,\n onPause = _ref$onPause === void 0 ? null : _ref$onPause,\n _ref$onEnded = _ref.onEnded,\n onEnded = _ref$onEnded === void 0 ? null : _ref$onEnded,\n _ref$onSeeked = _ref.onSeeked,\n onSeeked = _ref$onSeeked === void 0 ? null : _ref$onSeeked,\n _ref$onLoadStart = _ref.onLoadStart,\n onLoadStart = _ref$onLoadStart === void 0 ? null : _ref$onLoadStart,\n _ref$onCanPlayThough = _ref.onCanPlayThough,\n onCanPlayThough = _ref$onCanPlayThough === void 0 ? null : _ref$onCanPlayThough,\n _ref$onCanPlay = _ref.onCanPlay,\n onCanPlay = _ref$onCanPlay === void 0 ? null : _ref$onCanPlay,\n _ref$onLoadedData = _ref.onLoadedData,\n onLoadedData = _ref$onLoadedData === void 0 ? null : _ref$onLoadedData,\n _ref$onLoadedMetadata = _ref.onLoadedMetadata,\n onLoadedMetadata = _ref$onLoadedMetadata === void 0 ? null : _ref$onLoadedMetadata;\n\n var ref = react.useRef(null);\n\n var _useState = react.useState(initialMuted),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n muted = _useState2[0],\n setMuted = _useState2[1];\n\n var _useState3 = react.useState(null),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n currentTime = _useState4[0],\n setCurrentTime = _useState4[1];\n\n var _useState5 = react.useState(null),\n _useState6 = _slicedToArray__default[\"default\"](_useState5, 2),\n duration = _useState6[0],\n setDuration = _useState6[1];\n\n var _useState7 = react.useState(false),\n _useState8 = _slicedToArray__default[\"default\"](_useState7, 2),\n playing = _useState8[0],\n setPlaying = _useState8[1];\n\n var _useState9 = react.useState(false),\n _useState10 = _slicedToArray__default[\"default\"](_useState9, 2),\n ready = _useState10[0],\n setReady = _useState10[1];\n\n var _useState11 = react.useState(false),\n _useState12 = _slicedToArray__default[\"default\"](_useState11, 2),\n dataReady = _useState12[0],\n setDataReady = _useState12[1];\n\n var _useState13 = react.useState(true),\n _useState14 = _slicedToArray__default[\"default\"](_useState13, 2),\n initialPlay = _useState14[0],\n setInitialPlay = _useState14[1];\n\n var progressStepsReached = react.useRef({});\n var paused = !playing; // Exposed methods\n\n var play = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.play();\n }\n }, []);\n var pause = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.pause();\n }\n }, []);\n var togglePlay = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n if (playing) {\n media.pause();\n } else {\n media.play();\n }\n }\n }, [playing]);\n var stop = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.pause();\n media.currentTime = 0;\n }\n }, []);\n var seek = react.useCallback(function (time) {\n var media = ref.current;\n\n if (media !== null) {\n media.currentTime = time;\n }\n }, []);\n var mute = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.muted = true;\n }\n }, []);\n var unMute = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.muted = false;\n }\n }, []);\n var toggleMute = react.useCallback(function () {\n var media = ref.current;\n\n if (media !== null) {\n media.muted = !muted;\n }\n }, [muted]); // Media events callbacks\n\n var onCustomPlay = react.useCallback(function () {\n if (onPlay !== null) {\n onPlay({\n initial: initialPlay\n });\n }\n\n if (initialPlay) {\n setInitialPlay(false);\n }\n\n setPlaying(true);\n }, [initialPlay, setPlaying, onPlay]);\n var onCustomPause = react.useCallback(function () {\n var media = ref.current;\n setPlaying(false);\n\n if (onPause !== null) {\n onPause({\n midway: media.currentTime > 0 && media.currentTime < media.duration\n });\n }\n }, [setPlaying, onPause]);\n var onCustomEnded = react.useCallback(function () {\n var media = ref.current;\n media.currentTime = 0;\n\n if (onEnded !== null) {\n onEnded();\n }\n\n setInitialPlay(true);\n }, [setInitialPlay, onEnded]);\n var onCustomTimeUpdate = react.useCallback(function () {\n var media = ref.current;\n setCurrentTime(media.currentTime);\n\n if (onTimeUpdate !== null) {\n onTimeUpdate(media.currentTime);\n }\n\n var progress = media.currentTime / media.duration;\n var currentSteps = progressStepsReached.current;\n var stepsToTrack = progressSteps.filter(function (step) {\n return progress > step && typeof currentSteps[step] === 'undefined';\n });\n stepsToTrack.forEach(function (step) {\n if (onProgressStep !== null) {\n onProgressStep(step);\n }\n\n currentSteps[step] = true;\n });\n }, [setCurrentTime, onTimeUpdate, onProgressStep]);\n var onCustomDurationChange = react.useCallback(function () {\n var media = ref.current;\n setDuration(media.duration);\n\n if (onDurationChanged !== null) {\n onDurationChanged(media.duration);\n }\n }, [setDuration, onDurationChanged]);\n var onCustomSeeked = react.useCallback(function () {\n var media = ref.current;\n\n if (onSeeked !== null) {\n onSeeked(media.currentTime);\n }\n }, [onSeeked]);\n var onCustomVolumeChange = react.useCallback(function () {\n var media = ref.current;\n setMuted(media.muted);\n\n if (onVolumeChanged !== null) {\n onVolumeChanged(media.muted, media.volume);\n }\n }, [setMuted, onVolumeChanged]);\n var onCustomLoadStart = react.useCallback(function () {\n if (onLoadStart !== null) {\n onLoadStart();\n }\n }, [setReady, onLoadStart]);\n var onCustomCanPlayThrough = react.useCallback(function () {\n setReady(true);\n\n if (onCanPlayThough !== null) {\n onCanPlayThough();\n }\n }, [setReady, onCanPlayThough]);\n var onCustomCanPlay = react.useCallback(function () {\n setReady(true);\n\n if (onCanPlay !== null) {\n onCanPlay();\n }\n }, [setReady, onCanPlay]);\n var onCustomLoadedMetadata = react.useCallback(function () {\n setReady(true);\n\n if (onLoadedMetadata !== null) {\n onLoadedMetadata();\n }\n }, [setReady, onLoadedMetadata]);\n var onCustomLoadedData = react.useCallback(function () {\n setDataReady(true);\n\n if (onLoadedData !== null) {\n onLoadedData();\n }\n }, [setDataReady, onLoadedData]);\n react.useEffect(function () {\n var _ref$current = ref.current,\n media = _ref$current === void 0 ? null : _ref$current;\n\n if (media !== null) {\n media.addEventListener('timeupdate', onCustomTimeUpdate);\n media.addEventListener('durationchange', onCustomDurationChange);\n media.addEventListener('volumechange', onCustomVolumeChange);\n media.addEventListener('play', onCustomPlay);\n media.addEventListener('pause', onCustomPause);\n media.addEventListener('ended', onCustomEnded);\n media.addEventListener('seeked', onCustomSeeked);\n media.addEventListener('loadstart', onCustomLoadStart);\n media.addEventListener('canplaythrough', onCustomCanPlayThrough);\n media.addEventListener('canplay', onCustomCanPlay);\n media.addEventListener('loadedmetadata', onCustomLoadedMetadata);\n media.addEventListener('loadeddata', onCustomLoadedData);\n }\n\n if (media !== null && media.readyState > 1) {\n setDataReady(true);\n } else {\n setDataReady(false);\n }\n\n if (media !== null && media.readyState > 3) {\n setReady(true);\n } else {\n setReady(false);\n }\n\n return function () {\n if (media !== null) {\n media.removeEventListener('timeupdate', onCustomTimeUpdate);\n media.removeEventListener('durationchange', onCustomDurationChange);\n media.removeEventListener('volumechange', onCustomVolumeChange);\n media.removeEventListener('play', onCustomPlay);\n media.removeEventListener('pause', onCustomPause);\n media.removeEventListener('ended', onCustomEnded);\n media.removeEventListener('seeked', onCustomSeeked);\n media.removeEventListener('loadstart', onCustomLoadStart);\n media.removeEventListener('canplaythrough', onCustomCanPlayThrough);\n media.removeEventListener('canplay', onCustomCanPlay);\n media.removeEventListener('loadedmetadata', onCustomLoadedMetadata);\n }\n };\n }, [url]);\n return {\n ref: ref,\n play: play,\n pause: pause,\n togglePlay: togglePlay,\n stop: stop,\n seek: seek,\n mute: mute,\n unMute: unMute,\n toggleMute: toggleMute,\n muted: muted,\n currentTime: currentTime,\n duration: duration,\n playing: playing,\n paused: paused,\n ready: ready,\n dataReady: dataReady\n };\n};\n\nvar useMediasParser = function useMediasParser() {\n var screensManager = contexts.useScreensManager();\n var fieldsManager = contexts.useFieldsManager(); // Convert medias object to path\n\n var parser = react.useMemo(function () {\n return new core.MediasParser({\n screensManager: screensManager,\n fieldsManager: fieldsManager\n });\n }, [screensManager, fieldsManager]);\n var toPath = react.useCallback(function (story) {\n return parser.toPath(story);\n }, [parser]);\n var fromPath = react.useCallback(function (story) {\n return parser.fromPath(story);\n }, [parser]);\n return {\n toPath: toPath,\n fromPath: fromPath,\n parser: parser\n };\n};\n\nvar useParsedStory = function useParsedStory(story) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$withTheme = _ref.withTheme,\n withTheme = _ref$withTheme === void 0 ? true : _ref$withTheme,\n _ref$withMedias = _ref.withMedias,\n withMedias = _ref$withMedias === void 0 ? true : _ref$withMedias,\n _ref$withFonts = _ref.withFonts,\n withFonts = _ref$withFonts === void 0 ? true : _ref$withFonts;\n\n var screensManager = contexts.useScreensManager();\n var fieldsManager = contexts.useFieldsManager();\n var parser = react.useMemo(function () {\n return new core.StoryParser({\n screensManager: screensManager,\n fieldsManager: fieldsManager\n });\n }, [screensManager, fieldsManager]);\n var newStory = react.useMemo(function () {\n if (disabled) {\n return story;\n }\n\n return parser.parse(story, {\n withMedias: withMedias,\n withTheme: withTheme,\n withFonts: withFonts\n });\n }, [parser, disabled, withMedias, withTheme, withFonts, story]);\n return newStory;\n};\n\nvar _excluded = [\"width\", \"height\"];\n\nvar useScreenSize = function useScreenSize(_ref) {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? null : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? null : _ref$height,\n _ref$landscape = _ref.landscape,\n landscape = _ref$landscape === void 0 ? false : _ref$landscape,\n _ref$menuOverScreen = _ref.menuOverScreen,\n menuOverScreen = _ref$menuOverScreen === void 0 ? false : _ref$menuOverScreen,\n _ref$screens = _ref.screens,\n screens = _ref$screens === void 0 ? [] : _ref$screens,\n _ref$mediaType = _ref.mediaType,\n mediaType = _ref$mediaType === void 0 ? 'screen' : _ref$mediaType,\n _ref$media = _ref.media,\n providedMedia = _ref$media === void 0 ? null : _ref$media;\n // Get media\n var media = react.useMemo(function () {\n return providedMedia !== null ? providedMedia : {\n type: mediaType,\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\")\n };\n }, [providedMedia, mediaType, width, height]); // Get matching screens\n\n var matchingScreens = react.useMemo(function () {\n return _toConsumableArray__default[\"default\"](screens).reverse().filter(function (_ref2) {\n var _ref2$mediaQuery = _ref2.mediaQuery,\n mediaQuery = _ref2$mediaQuery === void 0 ? null : _ref2$mediaQuery;\n return mediaQuery === null || cssMediaquery.match(mediaQuery, media);\n });\n }, [screens, media]);\n return {\n screen: matchingScreens.length > 0 ? matchingScreens[0].name : null,\n screens: _toConsumableArray__default[\"default\"](matchingScreens).reverse().map(function (_ref3) {\n var name = _ref3.name;\n return name;\n }),\n width: width,\n height: height,\n landscape: landscape,\n menuOverScreen: menuOverScreen\n };\n};\n\nvar useScreenSizeFromElement = function useScreenSizeFromElement() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$width = _ref4.width,\n width = _ref4$width === void 0 ? null : _ref4$width,\n _ref4$height = _ref4.height,\n height = _ref4$height === void 0 ? null : _ref4$height,\n opts = _objectWithoutProperties__default[\"default\"](_ref4, _excluded);\n\n var _useResizeObserver = useResizeObserver(),\n ref = _useResizeObserver.ref,\n contentRect = _useResizeObserver.entry.contentRect;\n\n var _ref5 = contentRect || {},\n _ref5$width = _ref5.width,\n calculatedWidth = _ref5$width === void 0 ? 0 : _ref5$width,\n _ref5$height = _ref5.height,\n calculatedHeight = _ref5$height === void 0 ? 0 : _ref5$height;\n\n var fullWidth = width !== null ? width : calculatedWidth;\n var fullHeight = height !== null ? height : calculatedHeight;\n var landscape = fullHeight > 0 && fullWidth > fullHeight;\n\n var _ref6 = opts || {},\n _ref6$withoutMaxSize = _ref6.withoutMaxSize,\n withoutMaxSize = _ref6$withoutMaxSize === void 0 ? false : _ref6$withoutMaxSize,\n _ref6$desktopHeightTh = _ref6.desktopHeightThreshold,\n desktopHeightThreshold = _ref6$desktopHeightTh === void 0 ? 600 : _ref6$desktopHeightTh,\n _ref6$desktopHeightRa = _ref6.desktopHeightRatio,\n desktopHeightRatio = _ref6$desktopHeightRa === void 0 ? 3 / 4 : _ref6$desktopHeightRa,\n _ref6$screenRatio = _ref6.screenRatio,\n screenRatio = _ref6$screenRatio === void 0 ? 2 / 3 : _ref6$screenRatio;\n\n var landscapeWithMaxSize = landscape && !withoutMaxSize;\n var finalWidth = fullWidth;\n var finalHeight = fullHeight;\n var menuOverScreen = !landscape;\n\n if (landscapeWithMaxSize) {\n if (fullHeight < desktopHeightThreshold) {\n menuOverScreen = true;\n } else {\n finalHeight = Math.round(fullHeight * desktopHeightRatio);\n }\n\n finalWidth = Math.round(finalHeight * screenRatio);\n }\n\n if (finalWidth % 2 === 1) {\n finalWidth -= 1;\n }\n\n if (finalHeight % 2 === 1) {\n finalHeight -= 1;\n }\n\n var screenSize = useScreenSize(_objectSpread__default[\"default\"]({\n width: finalWidth,\n height: finalHeight,\n landscape: landscape,\n menuOverScreen: menuOverScreen\n }, opts));\n return {\n ref: ref,\n screenSize: screenSize\n };\n};\n\nvar getWindowSize = function getWindowSize() {\n return {\n width: typeof window !== 'undefined' ? window.innerWidth : null,\n height: typeof window !== 'undefined' ? window.innerHæeight : null\n };\n};\n\nvar useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {\n var _useState = react.useState(getWindowSize()),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n windowSize = _useState2[0],\n setWindowSize = _useState2[1];\n\n react.useEffect(function () {\n var onResize = function onResize() {\n return setWindowSize(getWindowSize());\n };\n\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', onResize);\n }\n\n return function () {\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', onResize);\n }\n };\n }, [setWindowSize]);\n return useScreenSize(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, opts), windowSize));\n};\n\nvar useSwipe = function useSwipe() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? null : _ref$width,\n _ref$items = _ref.items,\n items = _ref$items === void 0 ? [] : _ref$items,\n _ref$withSpring = _ref.withSpring,\n withSpring = _ref$withSpring === void 0 ? true : _ref$withSpring,\n _ref$swipeWidthThresh = _ref.swipeWidthThreshold,\n swipeWidthThreshold = _ref$swipeWidthThresh === void 0 ? 3 : _ref$swipeWidthThresh,\n _ref$animateScale = _ref.animateScale,\n animateScale = _ref$animateScale === void 0 ? false : _ref$animateScale,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled,\n _ref$lockAxis = _ref.lockAxis,\n lockAxis = _ref$lockAxis === void 0 ? false : _ref$lockAxis,\n _ref$onSwipeStart = _ref.onSwipeStart,\n onSwipeStart = _ref$onSwipeStart === void 0 ? null : _ref$onSwipeStart,\n _ref$onSwipeEnd = _ref.onSwipeEnd,\n onSwipeEnd = _ref$onSwipeEnd === void 0 ? null : _ref$onSwipeEnd,\n _ref$onSwipeCancel = _ref.onSwipeCancel,\n onSwipeCancel = _ref$onSwipeCancel === void 0 ? null : _ref$onSwipeCancel,\n _ref$onTap = _ref.onTap,\n onTap = _ref$onTap === void 0 ? null : _ref$onTap;\n\n var swipingIndex = react.useRef(null);\n var index = react.useRef(0);\n var lockedAxis = react.useRef(null);\n var hasWidth = width !== null;\n var windowWidth = typeof window !== 'undefined' && !hasWidth ? window.innerWidth : null;\n var currentWidth = hasWidth ? width : windowWidth;\n var count = items.length;\n var getItem = react.useCallback(function () {\n var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var idx = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var scale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n return {\n x: x,\n zIndex: idx,\n scale: scale\n };\n });\n var getItems = react.useCallback(function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$down = _ref2.down,\n down = _ref2$down === void 0 ? false : _ref2$down,\n _ref2$mx = _ref2.mx,\n mx = _ref2$mx === void 0 ? 0 : _ref2$mx;\n\n return items.map(function (item, i) {\n var x = disabled ? 0 : (i - index.current) * currentWidth + (down ? mx : 0);\n var scale = !animateScale || disabled || !down ? 1 : 1 - Math.abs(mx) / currentWidth / 2;\n return getItem(x, i, scale);\n });\n }, [disabled, items, index, currentWidth, animateScale]); // Initial items state\n\n var _useSprings = core$1.useSprings(items.length, function (i) {\n return {\n x: disabled ? 0 : i * currentWidth,\n y: 0,\n zIndex: i,\n config: _objectSpread__default[\"default\"]({}, !withSpring ? {\n duration: 1\n } : null)\n };\n }),\n _useSprings2 = _slicedToArray__default[\"default\"](_useSprings, 2),\n itemsWithProps = _useSprings2[0],\n set = _useSprings2[1];\n\n var bind = reactUseGesture.useDrag(function (_ref3) {\n var down = _ref3.down,\n _ref3$movement = _slicedToArray__default[\"default\"](_ref3.movement, 2),\n mx = _ref3$movement[0],\n my = _ref3$movement[1],\n _ref3$direction = _slicedToArray__default[\"default\"](_ref3.direction, 1),\n xDir = _ref3$direction[0],\n cancel = _ref3.cancel,\n tap = _ref3.tap;\n\n if (disabled) {\n cancel();\n return;\n }\n\n if (!down && swipingIndex.current === index.current) {\n lockedAxis.current = null;\n\n if (onSwipeCancel !== null) {\n onSwipeCancel(index.current);\n }\n } // Block first and last moves\n\n /*\n if (down && index.current === items.length - 1 && xDir < 0) {\n cancel();\n return;\n }\n if (down && index.current === 0 && xDir > 0) {\n cancel();\n return;\n }\n */\n\n\n var movementX = !lockAxis || lockedAxis.current === 'x' ? mx : 0;\n var movementY = !lockAxis || lockedAxis.current === 'y' ? my : 0;\n\n if (down) {\n // Snap to next slide\n if (Math.abs(movementX) > currentWidth / swipeWidthThreshold) {\n index.current = clamp__default[\"default\"](index.current + (xDir > 0 ? -1 : 1), 0, count - 1);\n lockedAxis.current = null;\n cancel();\n\n if (onSwipeEnd !== null) {\n onSwipeEnd(index.current);\n }\n\n return;\n }\n }\n\n set(getItems({\n down: down,\n mx: movementX,\n my: movementY\n })); // saving current swiping index in a ref in order to have a section called only once when swipe just started or a tap was detected\n\n if (swipingIndex.current !== index.current) {\n if (down && !tap) {\n if (onSwipeStart !== null) {\n onSwipeStart(index.current);\n }\n }\n\n if (!down && tap) {\n if (onTap !== null) {\n onTap();\n }\n }\n } // lock swiping on axis from initial 3 pixels distance (Y axis requires to swipe down)\n\n\n if (lockAxis && down && lockedAxis.current === null) {\n var distanceX = Math.abs(mx);\n var distanceY = Math.abs(my);\n\n if (distanceX !== distanceY && (distanceY > 2 || distanceX > 2)) {\n lockedAxis.current = distanceY > distanceX ? 'y' : 'x';\n }\n }\n\n swipingIndex.current = down && !tap ? index.current : null;\n }, {\n filterTaps: true\n });\n var reset = react.useCallback(function () {\n set(getItems());\n }, [disabled, items, index, currentWidth]);\n var setIndex = react.useCallback(function (idx) {\n index.current = idx;\n reset();\n }, [reset]); // Reset on resize or others\n\n react.useEffect(function () {\n set(getItems());\n }, [items, width, set, disabled]);\n return {\n items: itemsWithProps,\n bind: bind,\n index: index.current,\n setIndex: setIndex\n };\n};\n\nvar useThemeParser = function useThemeParser() {\n var screensManager = contexts.useScreensManager();\n var parser = react.useMemo(function () {\n return new core.ThemeParser({\n screensManager: screensManager\n });\n }, [screensManager]);\n var parse = react.useCallback(function (story) {\n return parser.parse(story);\n }, [parser]);\n return parse;\n};\n\nvar getScreenOptions = function getScreenOptions(screenContext, opts) {\n var _ref = screenContext || {},\n _ref$data = _ref.data,\n ctxData = _ref$data === void 0 ? null : _ref$data;\n\n var _ref2 = ctxData || {},\n _ref2$id = _ref2.id,\n ctxScreenId = _ref2$id === void 0 ? null : _ref2$id,\n ctxScreenType = _ref2.type;\n\n var _ref3 = opts || {},\n _ref3$screenId = _ref3.screenId,\n optsScreenId = _ref3$screenId === void 0 ? null : _ref3$screenId,\n _ref3$screenType = _ref3.screenType,\n optsScreenType = _ref3$screenType === void 0 ? null : _ref3$screenType;\n\n var screenId = ctxScreenId !== null ? ctxScreenId : optsScreenId;\n var screenType = ctxScreenType !== null ? ctxScreenType : optsScreenType;\n return {\n screenId: screenId,\n screenType: screenType\n };\n};\n\nvar hasTracking = function hasTracking(tracking) {\n return typeof tracking !== 'undefined';\n};\n\nvar useTrackScreenView = function useTrackScreenView() {\n var tracking = contexts.useTracking();\n\n if (!hasTracking(tracking)) {\n return function () {};\n }\n\n return react.useCallback(function () {\n var screen = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (screen !== null && index !== null) {\n tracking.trackScreenView(screen, index);\n }\n }, []);\n};\nvar useTrackScreenEvent = function useTrackScreenEvent() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var tracking = contexts.useTracking();\n\n if (!hasTracking(tracking)) {\n return function () {};\n }\n\n var screenContext = contexts.useScreen();\n\n if (screenContext.renderContext !== 'view') {\n return function () {};\n }\n\n return react.useCallback(function () {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var opts = arguments.length > 2 ? arguments[2] : undefined;\n\n if (type !== null && action !== null) {\n tracking.trackEvent(\"screen_\".concat(type), action, label, _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, opts), getScreenOptions(screenContext, opts)));\n }\n }, [screenContext]);\n};\nvar useTrackScreenMedia = function useTrackScreenMedia() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var tracking = contexts.useTracking();\n\n if (!hasTracking(tracking)) {\n return function () {};\n }\n\n var screenContext = contexts.useScreen();\n\n if (screenContext.renderContext !== 'view') {\n return function () {};\n }\n\n return react.useCallback(function () {\n var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var opts = arguments.length > 2 ? arguments[2] : undefined;\n\n if (type !== null && media !== null && action !== null) {\n tracking.trackMedia(\"screen_\".concat(type), media, action, _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, opts), getScreenOptions(screenContext, opts)));\n }\n }, [screenContext]);\n};\nvar useTrackEvent = function useTrackEvent() {\n var tracking = contexts.useTracking();\n\n if (!hasTracking(tracking)) {\n return function () {};\n }\n\n return react.useCallback(function () {\n var category = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var label = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var opts = arguments.length > 3 ? arguments[3] : undefined;\n\n if (category !== null && action !== null) {\n tracking.trackEvent(category, action, label, opts);\n }\n }, []);\n};\nvar useTrackMedia = function useTrackMedia() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var tracking = contexts.useTracking();\n\n if (!hasTracking(tracking)) {\n return function () {};\n }\n\n return react.useCallback(function () {\n var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var opts = arguments.length > 2 ? arguments[2] : undefined;\n\n if (type !== null && media !== null && action !== null) {\n tracking.trackMedia(type, media, action, opts);\n }\n }, []);\n};\n\nvar eventsManager = typeof window !== 'undefined' ? new core.EventsManager(window) : null;\nvar useWindowEvent = utils.createUseEvent(eventsManager);\n\nexports.getObserver = getObserver;\nexports.useAnimationFrame = useAnimationFrame;\nexports.useDocumentEvent = useDocumentEvent;\nexports.useForm = useForm;\nexports.useFormTransition = useFormTransition;\nexports.useFormattedDate = useFormattedDate;\nexports.useFormattedTime = useFormattedTime;\nexports.useFullscreen = useFullscreen;\nexports.useIntersectionObserver = useIntersectionObserver;\nexports.useIsVisible = useIsVisible;\nexports.useLoadedFonts = useLoadedFonts;\nexports.useLongPress = useLongPress;\nexports.useMediaApi = useMediaApi;\nexports.useMediasParser = useMediasParser;\nexports.useObserver = useObserver;\nexports.useParsedStory = useParsedStory;\nexports.useResizeObserver = useResizeObserver;\nexports.useScreenSizeFromElement = useScreenSizeFromElement;\nexports.useScreenSizeFromWindow = useScreenSizeFromWindow;\nexports.useSwipe = useSwipe;\nexports.useThemeParser = useThemeParser;\nexports.useTrackEvent = useTrackEvent;\nexports.useTrackMedia = useTrackMedia;\nexports.useTrackScreenEvent = useTrackScreenEvent;\nexports.useTrackScreenMedia = useTrackScreenMedia;\nexports.useTrackScreenView = useTrackScreenView;\nexports.useWindowEvent = useWindowEvent;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar PropTypes$1 = require('prop-types');\nvar snakeCase = require('snake-case');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar isArray = require('lodash/isArray');\nvar isObject = require('lodash/isObject');\nvar uniqWith = require('lodash/uniqWith');\nvar sortBy = require('lodash/sortBy');\nvar _inherits = require('@babel/runtime/helpers/inherits');\nvar _createSuper = require('@babel/runtime/helpers/createSuper');\nvar EventEmitter = require('wolfy87-eventemitter');\nrequire('lodash/isNumber');\nrequire('param-case');\nrequire('react');\nvar isString = require('lodash/isString');\nrequire('tinycolor2');\nvar changeCase = require('change-case');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nrequire('slugify');\nvar uniqBy = require('lodash/uniqBy');\nvar _typeof = require('@babel/runtime/helpers/typeof');\nvar uniq = require('lodash/uniq');\nvar tracking = require('@folklore/tracking');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes$1);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);\nvar isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);\nvar uniqWith__default = /*#__PURE__*/_interopDefaultLegacy(uniqWith);\nvar sortBy__default = /*#__PURE__*/_interopDefaultLegacy(sortBy);\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\nvar _createSuper__default = /*#__PURE__*/_interopDefaultLegacy(_createSuper);\nvar EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\nvar uniq__default = /*#__PURE__*/_interopDefaultLegacy(uniq);\n\n/**\n * Core\n */\n\nvar history = PropTypes__default[\"default\"].shape({\n listen: PropTypes__default[\"default\"].func.isRequired,\n push: PropTypes__default[\"default\"].func.isRequired\n});\nvar location = PropTypes__default[\"default\"].shape({\n pathname: PropTypes__default[\"default\"].string,\n search: PropTypes__default[\"default\"].string\n});\nvar intl = PropTypes__default[\"default\"].shape({\n locale: PropTypes__default[\"default\"].string.isRequired,\n formatMessage: PropTypes__default[\"default\"].func.isRequired\n});\nvar defaultMessageContent = PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].number,\n value: PropTypes__default[\"default\"].string\n});\nvar defaultMessage = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].arrayOf(defaultMessageContent)]);\nvar message = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n defaultMessage: defaultMessage.isRequired,\n description: PropTypes__default[\"default\"].string\n});\nvar text = PropTypes__default[\"default\"].oneOfType([message, PropTypes__default[\"default\"].string]);\nvar label = PropTypes__default[\"default\"].oneOfType([message, PropTypes__default[\"default\"].node]);\nvar statusCode = PropTypes__default[\"default\"].oneOf([401, 403, 404, 500]);\nvar ref = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].shape({\n current: PropTypes__default[\"default\"].any // eslint-disable-line react/forbid-prop-types\n\n}), PropTypes__default[\"default\"].func]);\nvar target = PropTypes__default[\"default\"].oneOf(['_blank', '_self', '_parent']);\nvar interaction = PropTypes__default[\"default\"].oneOf(['tap', 'swipe']);\nvar interactions = PropTypes__default[\"default\"].arrayOf(interaction);\nvar trackingVariables = PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].array]));\n/**\n * Site\n */\n\nvar user = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].number,\n firstname: PropTypes__default[\"default\"].string,\n lastname: PropTypes__default[\"default\"].string,\n email: PropTypes__default[\"default\"].string,\n gender: PropTypes__default[\"default\"].string,\n birthdate: PropTypes__default[\"default\"].string\n});\nvar menuItem = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].string]),\n label: label,\n url: PropTypes__default[\"default\"].string,\n external: PropTypes__default[\"default\"].bool,\n active: PropTypes__default[\"default\"].bool\n});\nvar menuItems = PropTypes__default[\"default\"].arrayOf(menuItem);\nvar breadcrumb = PropTypes__default[\"default\"].shape({\n label: label,\n url: PropTypes__default[\"default\"].string\n});\nvar breadcrumbs = PropTypes__default[\"default\"].arrayOf(breadcrumb);\nvar device = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nvar devices = PropTypes__default[\"default\"].arrayOf(device);\nvar modal = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nvar modals = PropTypes__default[\"default\"].arrayOf(modal);\nvar panel = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired\n});\nvar panels = PropTypes__default[\"default\"].arrayOf(panel);\nvar button = PropTypes__default[\"default\"].shape({\n label: label,\n onClick: PropTypes__default[\"default\"].func\n});\nvar buttons = PropTypes__default[\"default\"].arrayOf(button);\nvar bootstrapThemeStrings = ['primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark'];\nvar bootstrapThemes = PropTypes__default[\"default\"].oneOf(bootstrapThemeStrings);\nvar buttonTheme = PropTypes__default[\"default\"].oneOf([].concat(bootstrapThemeStrings, ['outline-primary', 'outline-secondary', 'outline-success', 'outline-danger', 'outline-warning', 'outline-info', 'outline-light', 'outline-dark', 'outline-link', null]));\nvar buttonSize = PropTypes__default[\"default\"].oneOf(['lg', 'sm', null]);\nvar formControlSize = PropTypes__default[\"default\"].oneOf(['lg', 'sm', null]);\nvar dropdownAlign = PropTypes__default[\"default\"].oneOf(['left', 'right']);\nvar componentNames = function componentNames(Components) {\n return PropTypes__default[\"default\"].oneOf(Object.keys(Components).map(function (it) {\n return snakeCase.snakeCase(it);\n }));\n};\nvar component = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].object, PropTypes__default[\"default\"].func]);\nvar components = PropTypes__default[\"default\"].objectOf(component);\n/**\n * Forms\n */\n\nvar errors = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string)]);\nvar formErrors = PropTypes__default[\"default\"].objectOf(errors);\nvar selectOption = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n value: PropTypes__default[\"default\"].any,\n // eslint-disable-line\n label: label\n})]);\nvar selectOptions = PropTypes__default[\"default\"].arrayOf(selectOption);\nvar formField = PropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string,\n component: component\n});\nvar formFields = PropTypes__default[\"default\"].arrayOf(formField);\n/**\n * Medias\n */\n\nvar mediaMetadataShape = {\n filename: PropTypes__default[\"default\"].string,\n size: PropTypes__default[\"default\"].number,\n mime: PropTypes__default[\"default\"].string\n};\nvar mediaFile = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n handle: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string,\n mime: PropTypes__default[\"default\"].string,\n url: PropTypes__default[\"default\"].string\n});\nvar mediaShape = {\n id: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string.isRequired,\n url: PropTypes__default[\"default\"].string,\n // .isRequired,\n thumbnail_url: PropTypes__default[\"default\"].string,\n name: PropTypes__default[\"default\"].string,\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, mediaMetadataShape)),\n files: PropTypes__default[\"default\"].objectOf(mediaFile)\n};\nvar media = PropTypes__default[\"default\"].shape(mediaShape);\nvar medias = PropTypes__default[\"default\"].arrayOf(media);\nvar mediaTypes = PropTypes__default[\"default\"].oneOf(['image', 'video', 'audio', 'closed-captions', 'font']);\nvar imageMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['image', 'video']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n }))\n}));\nvar imageMedias = PropTypes__default[\"default\"].arrayOf(imageMedia);\nvar fontMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['font']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, mediaMetadataShape))\n}));\nvar fontMedias = PropTypes__default[\"default\"].arrayOf(fontMedia);\nvar videoMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['video']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n duration: PropTypes__default[\"default\"].number\n }))\n}));\nvar videoMedias = PropTypes__default[\"default\"].arrayOf(videoMedia);\nvar audioMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['audio']),\n metadata: PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaMetadataShape), {}, {\n duration: PropTypes__default[\"default\"].number\n }))\n}));\nvar audioMedias = PropTypes__default[\"default\"].arrayOf(audioMedia);\nvar closedCaptionsMedia = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, mediaShape), {}, {\n type: PropTypes__default[\"default\"].oneOf(['closed-captions'])\n}));\n/**\n * Style\n */\n\nvar font = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].oneOf(['system', 'google', 'custom']),\n name: PropTypes__default[\"default\"].string,\n media: fontMedia\n})]);\nvar fonts = PropTypes__default[\"default\"].arrayOf(font);\nvar textAlign = PropTypes__default[\"default\"].oneOf(['left', 'right', 'center']);\nvar color = PropTypes__default[\"default\"].shape({\n color: PropTypes__default[\"default\"].string,\n alpha: PropTypes__default[\"default\"].number\n});\nvar textStyle = PropTypes__default[\"default\"].shape({\n fontFamily: font,\n fontSize: PropTypes__default[\"default\"].number,\n fontStyle: PropTypes__default[\"default\"].shape({\n bold: PropTypes__default[\"default\"].bool,\n italic: PropTypes__default[\"default\"].bool,\n underline: PropTypes__default[\"default\"].bool,\n upperCase: PropTypes__default[\"default\"].bool\n }),\n align: textAlign,\n color: color,\n letterSpacing: PropTypes__default[\"default\"].number,\n lineHeight: PropTypes__default[\"default\"].number\n});\nvar borderTypes = PropTypes__default[\"default\"].oneOf(['dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset', 'hidden']);\nvar borderStyle = PropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n style: borderTypes,\n radius: PropTypes__default[\"default\"].number,\n color: color\n});\nvar buttonStyle = PropTypes__default[\"default\"].shape({\n backgroundColor: color,\n borderRadius: PropTypes__default[\"default\"].number,\n borderWidth: PropTypes__default[\"default\"].number,\n borderColor: color,\n borderStyle: borderTypes\n});\nvar margin = PropTypes__default[\"default\"].shape({\n top: PropTypes__default[\"default\"].number,\n bottom: PropTypes__default[\"default\"].number\n});\nvar gridLayout = PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape({\n rows: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].number)]),\n columns: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].number)])\n}));\nvar objectFitSize = PropTypes__default[\"default\"].oneOf(['cover', 'contain', null]);\nvar objectFit = PropTypes__default[\"default\"].shape({\n fit: objectFitSize,\n horizontalPosition: PropTypes__default[\"default\"].oneOf(['left', 'center', 'right']),\n verticalPosition: PropTypes__default[\"default\"].oneOf(['top', 'center', 'bottom'])\n});\n/**\n * Elements\n */\n\nvar textElement = PropTypes__default[\"default\"].shape({\n body: PropTypes__default[\"default\"].string,\n textStyle: textStyle\n});\nvar headingElement = textElement;\nvar inputElement = PropTypes__default[\"default\"].shape({\n label: PropTypes__default[\"default\"].string,\n textStyle: textStyle\n});\nvar imageElement = PropTypes__default[\"default\"].shape({\n media: imageMedia\n});\nvar imageElements = PropTypes__default[\"default\"].arrayOf(imageElement);\nvar videoElement = PropTypes__default[\"default\"].shape({\n media: videoMedia,\n autoPlay: PropTypes__default[\"default\"].bool,\n loop: PropTypes__default[\"default\"].bool,\n closedCaptions: closedCaptionsMedia,\n withSeekBar: PropTypes__default[\"default\"].bool,\n withPlayPause: PropTypes__default[\"default\"].bool\n});\nvar audioElement = PropTypes__default[\"default\"].shape({\n media: audioMedia,\n autoPlay: PropTypes__default[\"default\"].bool,\n loop: PropTypes__default[\"default\"].bool,\n closedCaptions: closedCaptionsMedia,\n withPlayPause: PropTypes__default[\"default\"].bool\n});\nvar closedCaptionsElement = PropTypes__default[\"default\"].shape({\n media: closedCaptionsMedia\n});\nvar backgroundElement = PropTypes__default[\"default\"].shape({\n color: color,\n image: imageMedia,\n video: videoMedia\n});\nvar imageElementWithCaption = PropTypes__default[\"default\"].shape({\n image: imageMedia,\n caption: textElement\n});\nvar imageElementsWithCaption = PropTypes__default[\"default\"].arrayOf(imageElementWithCaption);\nvar stackDirection = PropTypes__default[\"default\"].oneOf(['horizontal', 'vertical']);\nvar stackAlign = PropTypes__default[\"default\"].oneOf(['start', 'center', 'end']);\nvar stackSpacing = PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].number, PropTypes__default[\"default\"].oneOf(['between', 'evenly', 'around'])]);\nvar stackElement = PropTypes__default[\"default\"].shape({\n direction: stackDirection,\n align: stackAlign,\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n spacing: stackSpacing,\n reverse: PropTypes__default[\"default\"].bool\n});\nvar gridElement = PropTypes__default[\"default\"].shape({\n layout: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n spacing: PropTypes__default[\"default\"].number\n});\nvar geoPosition = PropTypes__default[\"default\"].shape({\n lat: PropTypes__default[\"default\"].number,\n lng: PropTypes__default[\"default\"].number\n});\nvar markerShape = {\n id: PropTypes__default[\"default\"].number,\n geoPosition: geoPosition,\n title: headingElement,\n subtitle: headingElement,\n description: textElement\n};\nvar marker = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, markerShape));\nvar markers = PropTypes__default[\"default\"].arrayOf(marker);\nvar markerWithImage = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, markerShape), {}, {\n image: imageMedia\n}));\nvar markersWithImage = PropTypes__default[\"default\"].arrayOf(markerWithImage);\nvar answerShape = {\n id: PropTypes__default[\"default\"].string,\n label: textElement\n};\nvar answer = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, answerShape));\nvar quizAnswer = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, answerShape), {}, {\n good: PropTypes__default[\"default\"].bool\n}));\nvar answers = PropTypes__default[\"default\"].arrayOf(answer);\nvar quizAnswers = PropTypes__default[\"default\"].arrayOf(quizAnswer);\nvar callToActionTypes = PropTypes__default[\"default\"].oneOf(['swipe-up', 'button']);\nvar callToAction = PropTypes__default[\"default\"].shape({\n active: PropTypes__default[\"default\"].bool,\n type: callToActionTypes,\n url: PropTypes__default[\"default\"].string,\n label: textElement\n});\nvar speaker = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n name: PropTypes__default[\"default\"].string,\n avatar: imageMedia,\n side: PropTypes__default[\"default\"].oneOf(['left', 'right']),\n color: color\n});\nvar speakers = PropTypes__default[\"default\"].arrayOf(speaker);\nvar conversationMessage = PropTypes__default[\"default\"].shape({\n speaker: PropTypes__default[\"default\"].string,\n message: PropTypes__default[\"default\"].string,\n image: imageMedia\n});\nvar conversationMessages = PropTypes__default[\"default\"].arrayOf(conversationMessage);\nvar conversation = PropTypes__default[\"default\"].shape({\n speakers: speakers,\n textStyle: textStyle,\n messages: conversationMessages\n});\n/**\n * Definitions\n */\n\nvar fieldShape = {\n name: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string.isRequired,\n label: text\n};\nvar field = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, fieldShape), {}, {\n isSection: PropTypes__default[\"default\"].bool,\n fields: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape(fieldShape))\n}));\nvar fields = PropTypes__default[\"default\"].arrayOf(field);\nvar screenDefinition = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired,\n type: PropTypes__default[\"default\"].oneOf(['screen']).isRequired,\n title: text.isRequired,\n layouts: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n fields: fields\n});\nvar screenDefinitions = PropTypes__default[\"default\"].arrayOf(screenDefinition);\nvar fieldDefinition = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string.isRequired,\n type: PropTypes__default[\"default\"].oneOf(['field']).isRequired,\n title: text.isRequired,\n fields: fields\n});\nvar fieldDefinitions = PropTypes__default[\"default\"].arrayOf(fieldDefinition);\n/**\n * Components\n */\n\nvar storyComponentShape = {\n type: PropTypes__default[\"default\"].string.isRequired\n};\nvar storyComponent = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, storyComponentShape));\nvar storyComponents = PropTypes__default[\"default\"].arrayOf(storyComponent);\nvar screenComponent = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({}, storyComponentShape));\nvar screenComponents = PropTypes__default[\"default\"].arrayOf(screenComponent);\nvar screen = screenComponent; // @NOTE should be removed\n\n/**\n * Theme\n */\n\nvar theme = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n textStyles: PropTypes__default[\"default\"].objectOf(textStyle),\n // renamed to textstyles\n background: backgroundElement,\n colors: PropTypes__default[\"default\"].objectOf(color),\n components: screenComponents\n});\nvar viewerTheme = PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({\n logo: imageMedia\n}, theme));\n/**\n * Branding\n */\n// export const branding = PropTypes.shape({\n// logo: imageMedia,\n// primaryColor: color,\n// secondaryColor: color,\n// backgroundColor: color,\n// textStyle,\n// });\n\n/**\n * Metadata\n */\n\nvar metadata = PropTypes__default[\"default\"].shape({\n description: PropTypes__default[\"default\"].string,\n shareUrl: PropTypes__default[\"default\"].string,\n shareImage: imageMedia,\n favIcon: imageMedia\n});\n/**\n * Story\n */\n\nvar story = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].string,\n theme: theme,\n components: screenComponents,\n metadata: metadata\n});\n/**\n * Render\n */\n\nvar deviceScreen = PropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string.isRequired,\n mediaQuery: PropTypes__default[\"default\"].string\n});\nvar deviceScreens = PropTypes__default[\"default\"].arrayOf(deviceScreen);\nvar screenSize = PropTypes__default[\"default\"].shape({\n screen: PropTypes__default[\"default\"].string,\n screens: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n});\nvar renderContext = PropTypes__default[\"default\"].oneOf(['view', 'placeholder', 'edit', 'preview', 'static', 'capture']);\n/**\n * Screens\n */\n\nvar adFormats = PropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number\n});\nvar adFormat = PropTypes__default[\"default\"].shape({\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n url: PropTypes__default[\"default\"].string,\n target: target,\n iframe: PropTypes__default[\"default\"].string,\n image: imageMedia\n});\nvar audioComponent = PropTypes__default[\"default\"].shape({\n src: PropTypes__default[\"default\"].string,\n track: PropTypes__default[\"default\"].string,\n trackLng: PropTypes__default[\"default\"].number,\n controls: PropTypes__default[\"default\"].bool\n});\nvar slide = PropTypes__default[\"default\"].shape({\n image: imageMedia,\n text: PropTypes__default[\"default\"].string\n});\nvar slides = PropTypes__default[\"default\"].arrayOf(slide); // export const imageStyle = PropTypes.shape({\n// alt: PropTypes.string,\n// fit: PropTypes.object,\n// });\n\nvar containerStyle = PropTypes__default[\"default\"].shape({});\n/**\n * Transitions\n */\n\nvar transitionName = PropTypes__default[\"default\"].oneOf(['fade', 'scale', 'slide']);\nvar transitionParams = {\n duration: PropTypes__default[\"default\"].number,\n easing: PropTypes__default[\"default\"].oneOf(['ease', 'ease-in', 'ease-out', 'ease-in-out', 'linear'])\n};\nvar transition = PropTypes__default[\"default\"].oneOfType([transitionName.isRequired, PropTypes__default[\"default\"].shape(_objectSpread__default[\"default\"]({\n name: transitionName.isRequired\n}, transitionParams))]);\nvar transitions = PropTypes__default[\"default\"].shape({\n \"in\": transition,\n out: transition\n});\n/**\n * Search\n */\n\nvar searchFilter = PropTypes__default[\"default\"].shape({\n type: PropTypes__default[\"default\"].string,\n value: PropTypes__default[\"default\"].oneOf([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number])\n});\nvar searchFilters = PropTypes__default[\"default\"].arrayOf(searchFilter);\n/**\n * Payments\n */\n\nvar paymentItem = PropTypes__default[\"default\"].shape({\n id: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number]),\n date: PropTypes__default[\"default\"].string,\n type: PropTypes__default[\"default\"].string,\n invoice_link: PropTypes__default[\"default\"].string,\n amount: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].number])\n});\nvar paymentItems = PropTypes__default[\"default\"].arrayOf(paymentItem);\n/**\n * Page Metadada\n */\n\nvar pageMetadata = PropTypes__default[\"default\"].shape({\n canonical: PropTypes__default[\"default\"].string,\n description: PropTypes__default[\"default\"].string,\n keywords: PropTypes__default[\"default\"].oneOfType([PropTypes__default[\"default\"].string, PropTypes__default[\"default\"].array]),\n image: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string\n }),\n favicon: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string\n }),\n rssUrl: PropTypes__default[\"default\"].string,\n atomUrl: PropTypes__default[\"default\"].string,\n microformats: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].shape({}))\n});\n\nvar PropTypes = /*#__PURE__*/Object.freeze({\n __proto__: null,\n history: history,\n location: location,\n intl: intl,\n defaultMessageContent: defaultMessageContent,\n defaultMessage: defaultMessage,\n message: message,\n text: text,\n label: label,\n statusCode: statusCode,\n ref: ref,\n target: target,\n interaction: interaction,\n interactions: interactions,\n trackingVariables: trackingVariables,\n user: user,\n menuItem: menuItem,\n menuItems: menuItems,\n breadcrumb: breadcrumb,\n breadcrumbs: breadcrumbs,\n device: device,\n devices: devices,\n modal: modal,\n modals: modals,\n panel: panel,\n panels: panels,\n button: button,\n buttons: buttons,\n bootstrapThemes: bootstrapThemes,\n buttonTheme: buttonTheme,\n buttonSize: buttonSize,\n formControlSize: formControlSize,\n dropdownAlign: dropdownAlign,\n componentNames: componentNames,\n component: component,\n components: components,\n errors: errors,\n formErrors: formErrors,\n selectOption: selectOption,\n selectOptions: selectOptions,\n formField: formField,\n formFields: formFields,\n mediaFile: mediaFile,\n media: media,\n medias: medias,\n mediaTypes: mediaTypes,\n imageMedia: imageMedia,\n imageMedias: imageMedias,\n fontMedia: fontMedia,\n fontMedias: fontMedias,\n videoMedia: videoMedia,\n videoMedias: videoMedias,\n audioMedia: audioMedia,\n audioMedias: audioMedias,\n closedCaptionsMedia: closedCaptionsMedia,\n font: font,\n fonts: fonts,\n textAlign: textAlign,\n color: color,\n textStyle: textStyle,\n borderTypes: borderTypes,\n borderStyle: borderStyle,\n buttonStyle: buttonStyle,\n margin: margin,\n gridLayout: gridLayout,\n objectFitSize: objectFitSize,\n objectFit: objectFit,\n textElement: textElement,\n headingElement: headingElement,\n inputElement: inputElement,\n imageElement: imageElement,\n imageElements: imageElements,\n videoElement: videoElement,\n audioElement: audioElement,\n closedCaptionsElement: closedCaptionsElement,\n backgroundElement: backgroundElement,\n imageElementWithCaption: imageElementWithCaption,\n imageElementsWithCaption: imageElementsWithCaption,\n stackDirection: stackDirection,\n stackAlign: stackAlign,\n stackSpacing: stackSpacing,\n stackElement: stackElement,\n gridElement: gridElement,\n geoPosition: geoPosition,\n marker: marker,\n markers: markers,\n markerWithImage: markerWithImage,\n markersWithImage: markersWithImage,\n answerShape: answerShape,\n answer: answer,\n quizAnswer: quizAnswer,\n answers: answers,\n quizAnswers: quizAnswers,\n callToActionTypes: callToActionTypes,\n callToAction: callToAction,\n speaker: speaker,\n speakers: speakers,\n conversationMessage: conversationMessage,\n conversationMessages: conversationMessages,\n conversation: conversation,\n field: field,\n fields: fields,\n screenDefinition: screenDefinition,\n screenDefinitions: screenDefinitions,\n fieldDefinition: fieldDefinition,\n fieldDefinitions: fieldDefinitions,\n storyComponent: storyComponent,\n storyComponents: storyComponents,\n screenComponent: screenComponent,\n screenComponents: screenComponents,\n screen: screen,\n theme: theme,\n viewerTheme: viewerTheme,\n metadata: metadata,\n story: story,\n deviceScreen: deviceScreen,\n deviceScreens: deviceScreens,\n screenSize: screenSize,\n renderContext: renderContext,\n adFormats: adFormats,\n adFormat: adFormat,\n audioComponent: audioComponent,\n slide: slide,\n slides: slides,\n containerStyle: containerStyle,\n transitionName: transitionName,\n transition: transition,\n transitions: transitions,\n searchFilter: searchFilter,\n searchFilters: searchFilters,\n paymentItem: paymentItem,\n paymentItems: paymentItems,\n pageMetadata: pageMetadata\n});\n\nvar sortedColors = function sortedColors(colors) {\n return sortBy__default[\"default\"](colors, ['color', 'alpha']);\n};\n\nvar uniqueColors = function uniqueColors(colors) {\n return uniqWith__default[\"default\"](colors, function (colorA, colorB) {\n return colorA.alpha === colorB.alpha && colorA.color === colorB.color;\n });\n};\n\nvar ColorsParser = /*#__PURE__*/function () {\n function ColorsParser(_ref) {\n var fieldsManager = _ref.fieldsManager,\n screensManager = _ref.screensManager;\n\n _classCallCheck__default[\"default\"](this, ColorsParser);\n\n this.fieldsManager = fieldsManager;\n this.screensManager = screensManager;\n } // Convert medias object to path\n\n\n _createClass__default[\"default\"](ColorsParser, [{\n key: \"parse\",\n value: function parse(story) {\n var _this = this;\n\n if (story === null) {\n return story;\n }\n\n var _ref2 = story || {},\n _ref2$theme = _ref2.theme,\n theme = _ref2$theme === void 0 ? null : _ref2$theme,\n _ref2$components = _ref2.components,\n components = _ref2$components === void 0 ? [] : _ref2$components;\n\n var _components$reduce = components.reduce(function (_ref3, screen) {\n var _ref3$colors = _ref3.colors,\n currentColors = _ref3$colors === void 0 ? null : _ref3$colors;\n var type = screen.type;\n\n var _ref4 = _this.screensManager.getDefinition(type) || {},\n _ref4$fields = _ref4.fields,\n fields = _ref4$fields === void 0 ? [] : _ref4$fields;\n\n var fieldsPattern = _this.getColorFieldPatterns(fields);\n\n var _ColorsParser$getColo = ColorsParser.getColorsFromPath(screen, fieldsPattern),\n newColors = _ColorsParser$getColo.colors;\n\n return {\n colors: [].concat(_toConsumableArray__default[\"default\"](currentColors), _toConsumableArray__default[\"default\"](newColors))\n };\n }, {\n colors: []\n }),\n colors = _components$reduce.colors;\n\n if (theme !== null) {\n var themeColors = this.parse(theme);\n return colors !== null || themeColors !== null ? uniqueColors([].concat(_toConsumableArray__default[\"default\"](sortedColors(themeColors || [])), _toConsumableArray__default[\"default\"](sortedColors(colors || [])))) : [];\n }\n\n return colors !== null ? sortedColors(uniqueColors(colors || [])) : [];\n }\n }, {\n key: \"getColorFieldPatterns\",\n value: function getColorFieldPatterns(fields) {\n var _this2 = this;\n\n var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return fields.reduce(function (patterns, field) {\n var _field$name = field.name,\n name = _field$name === void 0 ? null : _field$name,\n _field$type = field.type,\n type = _field$type === void 0 ? null : _field$type;\n var path = [namePrefix, name].filter(function (it) {\n return it !== null;\n }).join('\\\\.');\n\n var fieldDefinition = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field); // also check settings fields\n\n\n var _fieldDefinition$fiel = fieldDefinition.fields,\n subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,\n _fieldDefinition$item = fieldDefinition.itemsField,\n itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,\n _fieldDefinition$sett = fieldDefinition.settings,\n settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;\n return [].concat(_toConsumableArray__default[\"default\"](patterns), _toConsumableArray__default[\"default\"](ColorsParser.fieldIsColor(fieldDefinition) ? [new RegExp(\"^\".concat(path, \"$\"))] : []), _toConsumableArray__default[\"default\"](_this2.getColorFieldPatterns(subFields, path)), _toConsumableArray__default[\"default\"](_this2.getColorFieldPatterns(settings, path)), _toConsumableArray__default[\"default\"](itemsField !== null ? _this2.getColorFieldPatterns([itemsField], \"\".concat(path, \"\\\\.[0-9]+\")) : []));\n }, []);\n }\n }], [{\n key: \"fieldIsColor\",\n value: function fieldIsColor(_ref5) {\n var _ref5$id = _ref5.id,\n id = _ref5$id === void 0 ? null : _ref5$id;\n return id === 'color';\n }\n }, {\n key: \"getColorsFromPath\",\n value: function getColorsFromPath(data, patterns) {\n var colors = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var keyPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var dataIsArray = isArray__default[\"default\"](data);\n var keys = dataIsArray ? _toConsumableArray__default[\"default\"](data.keys()) : Object.keys(data);\n return keys.reduce(function (_ref6, key) {\n var currentData = _ref6.data,\n _ref6$colors = _ref6.colors,\n currentColors = _ref6$colors === void 0 ? null : _ref6$colors;\n var path = [keyPrefix, key].filter(function (it) {\n return it !== null;\n }).join('.');\n var patternMatch = patterns.reduce(function (found, pattern) {\n return found || pattern.test(path);\n }, false);\n var value = data[key];\n var color = null;\n var newValue = null;\n var subColors = null;\n\n if (patternMatch && isObject__default[\"default\"](value)) {\n if (value.color && value.color.length === 4) {\n var innerColor = value.color.split('').map(function (hex, i) {\n return i > 0 ? hex + hex : hex;\n }).join('').toUpperCase();\n color = {\n alpha: value.alpha || 1,\n color: innerColor\n };\n } else if (value.color) {\n color = {\n alpha: value.alpha,\n color: value.color.toUpperCase()\n };\n }\n } else if (isObject__default[\"default\"](value) || isArray__default[\"default\"](value)) {\n var subReturn = ColorsParser.getColorsFromPath(value, patterns, colors, path);\n newValue = subReturn.data;\n subColors = subReturn.colors;\n } else {\n newValue = value;\n }\n\n return {\n data: dataIsArray ? [].concat(_toConsumableArray__default[\"default\"](currentData || []), [newValue]) : _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentData), {}, _defineProperty__default[\"default\"]({}, key, newValue)),\n colors: color !== null ? [].concat(_toConsumableArray__default[\"default\"](currentColors || []), _toConsumableArray__default[\"default\"](subColors || []), [color]) : [].concat(_toConsumableArray__default[\"default\"](currentColors || []), _toConsumableArray__default[\"default\"](subColors || []))\n };\n }, {\n data: null,\n colors: colors\n });\n }\n }]);\n\n return ColorsParser;\n}();\n\nvar getComponentFromName = function getComponentFromName() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var components = arguments.length > 1 ? arguments[1] : undefined;\n var defaultComponent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (components === null || name === null) {\n return defaultComponent;\n }\n\n var pascalName = changeCase.pascalCase(name);\n return components[pascalName] || components[name] || defaultComponent;\n};\n\nvar ComponentsManager = /*#__PURE__*/function (_EventEmitter) {\n _inherits__default[\"default\"](ComponentsManager, _EventEmitter);\n\n var _super = _createSuper__default[\"default\"](ComponentsManager);\n\n function ComponentsManager() {\n var _this;\n\n var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default[\"default\"](this, ComponentsManager);\n\n _this = _super.call(this);\n _this.components = components;\n return _this;\n }\n\n _createClass__default[\"default\"](ComponentsManager, [{\n key: \"addComponent\",\n value: function addComponent(name, component) {\n var namespace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n return this.addComponents(_defineProperty__default[\"default\"]({}, name, component), namespace);\n }\n }, {\n key: \"addComponents\",\n value: function addComponents(components) {\n var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var newComponents = namespace !== null ? Object.keys(components).reduce(function (componentsMaps, name) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, componentsMaps), {}, _defineProperty__default[\"default\"]({}, \"\".concat(namespace, \".\").concat(name), components[name]));\n }, {}) : components;\n this.components = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, this.components), newComponents);\n this.emit('change');\n return this;\n }\n }, {\n key: \"merge\",\n value: function merge(manager) {\n var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return this.addComponents(manager.getComponents(), namespace);\n }\n }, {\n key: \"addNamespace\",\n value: function addNamespace(namespace) {\n var _this2 = this;\n\n if (namespace === null) {\n return this;\n }\n\n this.components = Object.keys(this.components).reduce(function (componentsMap, name) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, componentsMap), {}, _defineProperty__default[\"default\"]({}, \"\".concat(namespace, \".\").concat(name), _this2.components[name]));\n }, {});\n return this;\n }\n }, {\n key: \"getComponent\",\n value: function getComponent(name) {\n var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var components = this.getComponents(namespace);\n return getComponentFromName(name, components);\n }\n }, {\n key: \"getComponents\",\n value: function getComponents() {\n var _this3 = this;\n\n var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n return namespace !== null ? Object.keys(this.components || {}).reduce(function (componentsMap, name) {\n var pattern = new RegExp(\"^\".concat(namespace, \"\\\\.(.*)$\"));\n var matches = pattern.exec(name);\n return matches !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, componentsMap), {}, _defineProperty__default[\"default\"]({}, matches[1], _this3.components[name])) : componentsMap;\n }, null) : this.components;\n }\n }, {\n key: \"hasComponent\",\n value: function hasComponent(name) {\n var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return this.components !== null && typeof this.components[namespace !== null ? \"\".concat(namespace, \".\").concat(name) : name] !== 'undefined';\n }\n }]);\n\n return ComponentsManager;\n}(EventEmitter__default[\"default\"]);\n\nvar DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {\n _inherits__default[\"default\"](DefinitionsManager, _EventEmitter);\n\n var _super = _createSuper__default[\"default\"](DefinitionsManager);\n\n function DefinitionsManager() {\n var _this;\n\n var definitions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n _classCallCheck__default[\"default\"](this, DefinitionsManager);\n\n _this = _super.call(this);\n _this.definitions = definitions || [];\n return _this;\n }\n\n _createClass__default[\"default\"](DefinitionsManager, [{\n key: \"addDefinition\",\n value: function addDefinition(definition) {\n this.addDefinitions(isArray__default[\"default\"](definition) ? definition : [definition]);\n return this;\n }\n }, {\n key: \"addDefinitions\",\n value: function addDefinitions(definitions) {\n this.definitions = uniqBy__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](definitions), _toConsumableArray__default[\"default\"](this.definitions)), function (it) {\n return it.id;\n });\n this.emit('change');\n return this;\n }\n }, {\n key: \"merge\",\n value: function merge(manager) {\n return this.addDefinitions(manager.getDefinitions());\n }\n }, {\n key: \"getDefinition\",\n value: function getDefinition(id) {\n if (id === null) {\n return null;\n }\n\n return this.definitions.find(function (it) {\n return it.id === id;\n }) || null;\n }\n }, {\n key: \"getDefinitions\",\n value: function getDefinitions() {\n return this.definitions;\n }\n }, {\n key: \"hasDefinition\",\n value: function hasDefinition(id) {\n return this.getDefinition(id) !== null;\n }\n }, {\n key: \"getComponent\",\n value: function getComponent(id) {\n var _ref = this.getDefinition(id) || {},\n _ref$component = _ref.component,\n component = _ref$component === void 0 ? null : _ref$component;\n\n return component;\n }\n }, {\n key: \"getComponents\",\n value: function getComponents() {\n return this.definitions.reduce(function (allComponents, _ref2) {\n var id = _ref2.id,\n _ref2$component = _ref2.component,\n component = _ref2$component === void 0 ? null : _ref2$component;\n return component !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, allComponents), {}, _defineProperty__default[\"default\"]({}, id, component)) : allComponents;\n }, {});\n }\n }]);\n\n return DefinitionsManager;\n}(EventEmitter__default[\"default\"]);\n\nvar EventsManager = /*#__PURE__*/function (_EventEmitter) {\n _inherits__default[\"default\"](EventsManager, _EventEmitter);\n\n var _super = _createSuper__default[\"default\"](EventsManager);\n\n function EventsManager(element) {\n var _this;\n\n _classCallCheck__default[\"default\"](this, EventsManager);\n\n _this = _super.call(this);\n _this.element = element;\n _this.events = {};\n _this.listeners = {};\n return _this;\n }\n\n _createClass__default[\"default\"](EventsManager, [{\n key: \"subscribe\",\n value: function subscribe(event, callback) {\n this.on(event, callback);\n this.events = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, this.events), {}, _defineProperty__default[\"default\"]({}, event, [].concat(_toConsumableArray__default[\"default\"](this.events[event] || []), [callback])));\n\n if (this.events[event].length === 1) {\n this.addEventListener(event);\n }\n }\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe(event, callback) {\n var _this2 = this;\n\n this.off(event, callback);\n this.events = Object.keys(this.events).reduce(function (newEvents, eventName) {\n if (eventName !== event) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newEvents), {}, _defineProperty__default[\"default\"]({}, eventName, _this2.events[eventName]));\n }\n\n var newListeners = _this2.events[eventName].filter(function (listener) {\n return listener !== callback;\n });\n\n return newListeners.length > 0 ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newEvents), {}, _defineProperty__default[\"default\"]({}, eventName, newListeners)) : newEvents;\n }, {});\n\n if (typeof this.events[event] === 'undefined') {\n this.removeEventListener(event);\n }\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(event) {\n var _this3 = this;\n\n if (typeof this.listeners[event] === 'undefined') {\n this.listeners[event] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _this3.emit.apply(_this3, [event].concat(args));\n };\n }\n\n this.element.addEventListener(event, this.listeners[event]);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(event) {\n this.element.removeEventListener(event, this.listeners[event]);\n }\n }]);\n\n return EventsManager;\n}(EventEmitter__default[\"default\"]);\n\nvar FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {\n _inherits__default[\"default\"](FieldsManager, _DefinitionsManager);\n\n var _super = _createSuper__default[\"default\"](FieldsManager);\n\n function FieldsManager() {\n _classCallCheck__default[\"default\"](this, FieldsManager);\n\n return _super.apply(this, arguments);\n }\n\n return _createClass__default[\"default\"](FieldsManager);\n}(DefinitionsManager);\n\nvar _excluded$2 = [\"medias\"];\n\nvar MediasParser = /*#__PURE__*/function () {\n function MediasParser(_ref) {\n var fieldsManager = _ref.fieldsManager,\n screensManager = _ref.screensManager;\n\n _classCallCheck__default[\"default\"](this, MediasParser);\n\n this.fieldsManager = fieldsManager;\n this.screensManager = screensManager;\n this.fieldsPatternCache = {};\n }\n\n _createClass__default[\"default\"](MediasParser, [{\n key: \"getFieldsPatternByScreen\",\n value: function getFieldsPatternByScreen(type) {\n if (typeof this.fieldsPatternCache[type] === 'undefined') {\n var _ref2 = this.screensManager.getDefinition(type) || {},\n _ref2$fields = _ref2.fields,\n fields = _ref2$fields === void 0 ? [] : _ref2$fields;\n\n this.fieldsPatternCache[type] = this.getMediaFieldsPattern(fields);\n }\n\n return this.fieldsPatternCache[type];\n } // Convert medias object to path\n\n }, {\n key: \"toPath\",\n value: function toPath(story) {\n var _this = this;\n\n if (story === null) {\n return story;\n }\n\n var _ref3 = story || {},\n _ref3$theme = _ref3.theme,\n theme = _ref3$theme === void 0 ? null : _ref3$theme,\n _ref3$components = _ref3.components,\n components = _ref3$components === void 0 ? [] : _ref3$components;\n\n var _components$reduce = components.reduce(function (_ref4, screen) {\n var previousComponents = _ref4.components,\n currentMedias = _ref4.medias;\n var type = screen.type;\n\n var fieldsPattern = _this.getFieldsPatternByScreen(type);\n\n var _MediasParser$replace = MediasParser.replaceMediasWithPaths(screen, fieldsPattern),\n newScreen = _MediasParser$replace.data,\n newMedias = _MediasParser$replace.medias;\n\n return {\n components: [].concat(_toConsumableArray__default[\"default\"](previousComponents), [newScreen]),\n medias: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentMedias), newMedias)\n };\n }, {\n components: [],\n medias: null\n }),\n newComponents = _components$reduce.components,\n medias = _components$reduce.medias;\n\n if (theme !== null) {\n var _this$toPath = this.toPath(theme),\n themeMedias = _this$toPath.medias,\n newTheme = _objectWithoutProperties__default[\"default\"](_this$toPath, _excluded$2);\n\n return medias !== null || themeMedias !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n theme: newTheme,\n components: newComponents,\n medias: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, themeMedias), medias)\n }) : story;\n }\n\n return medias !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n components: newComponents,\n medias: medias\n }) : story;\n } // Convert path to medias object\n\n }, {\n key: \"fromPath\",\n value: function fromPath(story) {\n var defaultMedias = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (story === null) {\n return story;\n }\n\n var _ref5 = story || {},\n _ref5$theme = _ref5.theme,\n theme = _ref5$theme === void 0 ? null : _ref5$theme,\n _ref5$components = _ref5.components,\n components = _ref5$components === void 0 ? [] : _ref5$components,\n _ref5$medias = _ref5.medias,\n medias = _ref5$medias === void 0 ? defaultMedias : _ref5$medias;\n\n if (medias === null && theme === null) {\n return story;\n } // Replace path with medias objects\n // const newComponents =\n // medias !== null\n // ? components.map((screen) => {\n // const { type } = screen;\n // const fieldsPattern = this.getFieldsPatternByScreen(type);\n // return MediasParser.replacePathsWithMedias(screen, medias, fieldsPattern);\n // })\n // : components;\n // Faster parsing with data only\n\n\n var componentsPattern = MediasParser.getMediaPatternsFromData(components);\n var newComponents = medias !== null && componentsPattern.length > 0 ? MediasParser.replacePathsWithMedias(components, medias, componentsPattern) : components; // Replace path with medias object in theme\n\n if (theme !== null) {\n var newTheme = this.fromPath(theme, medias);\n return newTheme !== theme || newComponents !== components ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n theme: newTheme,\n components: newComponents\n }) : story;\n }\n\n return newComponents !== components ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n components: newComponents\n }) : story;\n }\n }, {\n key: \"getMediaFieldsPattern\",\n value: function getMediaFieldsPattern(fields) {\n var _this2 = this;\n\n var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return fields.reduce(function (patterns, field) {\n var _field$name = field.name,\n name = _field$name === void 0 ? null : _field$name,\n _field$type = field.type,\n type = _field$type === void 0 ? null : _field$type;\n var path = [namePrefix, name].filter(function (it) {\n return it !== null;\n }).join('\\\\.');\n\n var fieldDefinition = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field); // also check settings fields\n\n\n var _fieldDefinition$fiel = fieldDefinition.fields,\n subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,\n _fieldDefinition$item = fieldDefinition.itemsField,\n itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,\n _fieldDefinition$sett = fieldDefinition.settings,\n settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;\n return [].concat(_toConsumableArray__default[\"default\"](patterns), _toConsumableArray__default[\"default\"](MediasParser.fieldIsMedia(fieldDefinition) ? [new RegExp(\"^\".concat(path, \"$\"))] : []), _toConsumableArray__default[\"default\"](MediasParser.fieldIsFontFamily(fieldDefinition) ? [new RegExp(\"^\".concat(path, \"\\\\.media$\"))] : []), _toConsumableArray__default[\"default\"](_this2.getMediaFieldsPattern(subFields, path)), _toConsumableArray__default[\"default\"](_this2.getMediaFieldsPattern(settings, path)), _toConsumableArray__default[\"default\"](itemsField !== null ? _this2.getMediaFieldsPattern([itemsField], \"\".concat(path, \"\\\\.[0-9]+\")) : []));\n }, []);\n }\n }], [{\n key: \"fieldIsMedia\",\n value: function fieldIsMedia(_ref6) {\n var _ref6$media = _ref6.media,\n media = _ref6$media === void 0 ? false : _ref6$media;\n return media;\n }\n }, {\n key: \"fieldIsFontFamily\",\n value: function fieldIsFontFamily(_ref7) {\n var _ref7$id = _ref7.id,\n id = _ref7$id === void 0 ? null : _ref7$id;\n return id === 'font-family';\n }\n }, {\n key: \"replacePathsWithMedias\",\n value: function replacePathsWithMedias(data, medias, patterns) {\n var keyPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var dataIsArray = isArray__default[\"default\"](data);\n return MediasParser.keys(data).reduce(function (newData, key) {\n var path = [keyPrefix, key].filter(function (it) {\n return it !== null;\n }).join('.');\n var patternMatch = patterns.reduce(function (found, pattern) {\n return found || pattern.test(path);\n }, false);\n var value = data[key];\n var newValue;\n\n if (patternMatch) {\n newValue = isObject__default[\"default\"](value) ? value : medias[value] || null;\n } else {\n newValue = isObject__default[\"default\"](value) || isArray__default[\"default\"](value) ? MediasParser.replacePathsWithMedias(value, medias, patterns, path) : value;\n }\n\n return dataIsArray ? [].concat(_toConsumableArray__default[\"default\"](newData), [newValue]) : _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newData), {}, _defineProperty__default[\"default\"]({}, key, newValue));\n }, dataIsArray ? [] : {});\n }\n }, {\n key: \"getMediaPath\",\n value: function getMediaPath(_ref8) {\n var _ref8$id = _ref8.id,\n id = _ref8$id === void 0 ? null : _ref8$id;\n return id !== null ? \"media://\".concat(id) : null;\n }\n }, {\n key: \"replaceMediasWithPaths\",\n value: function replaceMediasWithPaths(data, patterns) {\n var medias = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var keyPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var dataIsArray = isArray__default[\"default\"](data);\n return MediasParser.keys(data).reduce(function (_ref9, key) {\n var currentData = _ref9.data,\n currentMedias = _ref9.medias;\n var path = [keyPrefix, key].filter(function (it) {\n return it !== null;\n }).join('.');\n var patternMatch = patterns.reduce(function (found, pattern) {\n return found || pattern.test(path);\n }, false);\n var value = data[key];\n var newValue;\n var media = null;\n var subMedias = null;\n\n if (patternMatch && isObject__default[\"default\"](value)) {\n var mediaPath = MediasParser.getMediaPath(value);\n newValue = mediaPath !== null ? mediaPath : value;\n media = mediaPath !== null ? value : null;\n } else if (isObject__default[\"default\"](value) || isArray__default[\"default\"](value)) {\n var subReturn = MediasParser.replaceMediasWithPaths(value, patterns, medias, path);\n newValue = subReturn.data;\n subMedias = subReturn.medias;\n } else {\n newValue = value;\n }\n\n return {\n data: dataIsArray ? [].concat(_toConsumableArray__default[\"default\"](currentData || []), [newValue]) : _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentData), {}, _defineProperty__default[\"default\"]({}, key, newValue)),\n medias: media !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentMedias), subMedias), {}, _defineProperty__default[\"default\"]({}, newValue, media)) : _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentMedias), subMedias)\n };\n }, {\n data: null,\n medias: medias\n });\n }\n }, {\n key: \"getMediaPatternsFromData\",\n value: function getMediaPatternsFromData(obj) {\n var dotObj = MediasParser.dot(obj);\n return Object.keys(dotObj).filter(function (key) {\n return isString__default[\"default\"](dotObj[key]) && dotObj[key].match(/^media:\\/\\/([^/]+)$/) !== null;\n }).map(function (it) {\n return new RegExp(\"^\".concat(it, \"$\"));\n });\n }\n }, {\n key: \"dot\",\n value: function dot(obj) {\n return MediasParser.keys(obj).reduce(function (acc, key) {\n if (_typeof__default[\"default\"](obj[key]) !== 'object' || !obj[key]) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, acc), {}, _defineProperty__default[\"default\"]({}, key, obj[key]));\n }\n\n var flattenedChild = MediasParser.dot(obj[key]);\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, acc), MediasParser.keys(flattenedChild).reduce(function (childAcc, childKey) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, childAcc), {}, _defineProperty__default[\"default\"]({}, \"\".concat(key, \".\").concat(childKey), flattenedChild[childKey]));\n }, {}));\n }, {});\n }\n }, {\n key: \"keys\",\n value: function keys(obj) {\n return isArray__default[\"default\"](obj) ? _toConsumableArray__default[\"default\"](obj.keys()) : Object.keys(obj);\n }\n }]);\n\n return MediasParser;\n}();\n\nvar ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {\n _inherits__default[\"default\"](ScreensManager, _DefinitionsManager);\n\n var _super = _createSuper__default[\"default\"](ScreensManager);\n\n function ScreensManager() {\n _classCallCheck__default[\"default\"](this, ScreensManager);\n\n return _super.apply(this, arguments);\n }\n\n _createClass__default[\"default\"](ScreensManager, [{\n key: \"getFields\",\n value: function getFields(id) {\n var _ref = this.getDefinition(id) || {},\n _ref$fields = _ref.fields,\n fields = _ref$fields === void 0 ? null : _ref$fields;\n\n return fields;\n }\n }, {\n key: \"getLayouts\",\n value: function getLayouts(id) {\n var _ref2 = this.getDefinition(id) || {},\n _ref2$layouts = _ref2.layouts,\n layouts = _ref2$layouts === void 0 ? null : _ref2$layouts;\n\n return layouts;\n }\n }]);\n\n return ScreensManager;\n}(DefinitionsManager);\n\nvar ThemeParser = /*#__PURE__*/function () {\n function ThemeParser(_ref) {\n var screensManager = _ref.screensManager;\n\n _classCallCheck__default[\"default\"](this, ThemeParser);\n\n this.screensManager = screensManager;\n this.definitionCache = {};\n }\n\n _createClass__default[\"default\"](ThemeParser, [{\n key: \"getDefinitionByScreen\",\n value: function getDefinitionByScreen(type, themeComponents) {\n if (typeof this.definitionCache[type] === 'undefined') {\n var definition = this.screensManager.getDefinition(type) || {};\n var themeScreen = themeComponents.find(function (it) {\n return it.type === type;\n }) || null;\n this.definitionCache[type] = {\n definition: definition,\n themeScreen: themeScreen\n };\n }\n\n return this.definitionCache[type];\n }\n }, {\n key: \"parse\",\n value: function parse(story) {\n var _this = this;\n\n if (story === null) {\n return story;\n }\n\n var _ref2 = story || {},\n _ref2$theme = _ref2.theme,\n theme = _ref2$theme === void 0 ? null : _ref2$theme,\n _ref2$components = _ref2.components,\n components = _ref2$components === void 0 ? null : _ref2$components;\n\n if (theme === null || components === null) {\n return story;\n }\n\n var _theme$components = theme.components,\n themeComponents = _theme$components === void 0 ? [] : _theme$components,\n _theme$background = theme.background,\n themeBackground = _theme$background === void 0 ? null : _theme$background,\n _theme$colors = theme.colors,\n themeColors = _theme$colors === void 0 ? {} : _theme$colors,\n _theme$textStyles = theme.textStyles,\n themeTextStyles = _theme$textStyles === void 0 ? null : _theme$textStyles;\n var newComponents = components.reduce(function (currentComponents, screen, index) {\n var type = screen.type;\n\n var _this$getDefinitionBy = _this.getDefinitionByScreen(type, themeComponents),\n definition = _this$getDefinitionBy.definition,\n themeScreen = _this$getDefinitionBy.themeScreen;\n\n var newScreen = _this.parseScreen(definition, screen, themeScreen, themeBackground, themeColors, themeTextStyles); // Only switch screen if it has changed\n\n\n return newScreen !== screen || themeScreen !== null ? [].concat(_toConsumableArray__default[\"default\"](currentComponents.slice(0, index)), [_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, themeScreen), newScreen)], _toConsumableArray__default[\"default\"](currentComponents.slice(index + 1))) : currentComponents;\n }, components);\n return newComponents !== components ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n components: newComponents\n }) : story;\n }\n }, {\n key: \"parseScreen\",\n value: function parseScreen(definition, value, themeValue, themeBackground, themeColors, themeTextSyle) {\n var _this2 = this;\n\n var _definition$fields = definition.fields,\n fields = _definition$fields === void 0 ? [] : _definition$fields;\n var newThemeValue = themeValue === null && themeBackground !== null ? {} : themeValue;\n\n if (themeBackground !== null && typeof newThemeValue.background !== 'undefined') {\n newThemeValue.background = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, themeBackground), newThemeValue.background);\n } else if (themeBackground !== null) {\n newThemeValue.background = themeBackground;\n }\n\n var newScreenValue = Object.keys(value).reduce(function (currentValue, key) {\n var fieldDefinition = fields.find(function (it) {\n return it.name === key;\n }) || {};\n var fieldValue = value[key];\n var fieldThemeValue = newThemeValue !== null ? newThemeValue[key] || null : null;\n\n var newFieldValue = _this2.parseField(key, fieldDefinition, fieldValue, fieldThemeValue, themeColors, themeTextSyle); // Only switch field if it has changed\n\n\n return newFieldValue !== fieldValue ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentValue), {}, _defineProperty__default[\"default\"]({}, key, newFieldValue)) : currentValue;\n }, value);\n return newThemeValue !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newThemeValue), newScreenValue) : newScreenValue;\n } // eslint-disable-next-line class-methods-use-this\n\n }, {\n key: \"parseField\",\n value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles) {\n var _definition$theme = definition.theme,\n fieldTheme = _definition$theme === void 0 ? {} : _definition$theme; // @TODO very sloow\n\n if (isArray__default[\"default\"](value)) {\n var newFieldValue = value.map(function (innerField) {\n return innerField !== null ? Object.keys(innerField).reduce(function (newInnerField, innerFieldName) {\n var _ref3 = fieldTheme[innerFieldName] || {},\n _ref3$textStyle = _ref3.textStyle,\n innerFieldTextStyle = _ref3$textStyle === void 0 ? null : _ref3$textStyle,\n _ref3$color = _ref3.color,\n innerFieldColor = _ref3$color === void 0 ? null : _ref3$color; // Early return\n\n\n if (!isObject__default[\"default\"](innerField[innerFieldName])) {\n return newInnerField;\n } // Color\n\n\n var colorValue = innerFieldColor !== null ? {\n color: innerFieldColor !== null && themeColors !== null ? themeColors[innerFieldColor] || null : null\n } : null; // Text style\n\n var textStyleValue = innerFieldTextStyle !== null ? {\n textStyle: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, innerFieldTextStyle !== null && themeTextStyles !== null ? themeTextStyles[innerFieldTextStyle] || null : null), innerField[innerFieldName].textStyle || null)\n } : null;\n\n if (colorValue === null && textStyleValue === null) {\n return newInnerField;\n }\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, newInnerField), {}, _defineProperty__default[\"default\"]({}, innerFieldName, _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, colorValue), innerField[innerFieldName]), textStyleValue)));\n }, innerField) : innerField;\n });\n return newFieldValue;\n }\n\n if (isObject__default[\"default\"](value) && !isArray__default[\"default\"](value)) {\n var _ref4 = fieldTheme || {},\n _ref4$textStyle = _ref4.textStyle,\n fieldTextStyleName = _ref4$textStyle === void 0 ? null : _ref4$textStyle,\n _ref4$color = _ref4.color,\n fieldColorName = _ref4$color === void 0 ? null : _ref4$color; // Color\n\n\n var fieldColor = fieldColorName !== null && themeColors !== null ? themeColors[fieldColorName] || null : null;\n var colorValue = fieldColor !== null ? {\n color: fieldColor\n } : null; // Text style\n\n var fieldTextStyle = fieldTextStyleName !== null && themeTextStyles !== null ? themeTextStyles[fieldTextStyleName] || null : null;\n var fieldThemeComponentTextStyle = themeValue !== null ? themeValue.textStyle || null : null;\n var textStyleValue = fieldTextStyle !== null || fieldThemeComponentTextStyle !== null ? {\n textStyle: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, fieldTextStyle), fieldThemeComponentTextStyle), value.textStyle || null)\n } : null; // Only change value if something is overrided\n\n return colorValue !== null || themeValue !== null || textStyleValue !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, colorValue), themeValue), value), textStyleValue) : value;\n }\n\n return value;\n }\n }]);\n\n return ThemeParser;\n}();\n\nvar _excluded$1 = [\"fonts\"];\n\nvar FontsParser = /*#__PURE__*/function () {\n function FontsParser(_ref) {\n var fieldsManager = _ref.fieldsManager,\n screensManager = _ref.screensManager;\n\n _classCallCheck__default[\"default\"](this, FontsParser);\n\n this.fieldsManager = fieldsManager;\n this.screensManager = screensManager;\n this.fieldsPatternCache = {};\n }\n\n _createClass__default[\"default\"](FontsParser, [{\n key: \"getFieldsPatternByScreen\",\n value: function getFieldsPatternByScreen(type) {\n if (typeof this.fieldsPatternCache[type] === 'undefined') {\n var _ref2 = this.screensManager.getDefinition(type) || {},\n _ref2$fields = _ref2.fields,\n fields = _ref2$fields === void 0 ? [] : _ref2$fields;\n\n this.fieldsPatternCache[type] = this.getFieldsPattern(fields);\n }\n\n return this.fieldsPatternCache[type];\n } // Extract fonts\n\n }, {\n key: \"parse\",\n value: function parse(story) {\n var _this = this;\n\n if (story === null) {\n return story;\n } // Extract fonts from screen\n\n\n var _ref3 = story || {},\n _ref3$theme = _ref3.theme,\n theme = _ref3$theme === void 0 ? null : _ref3$theme,\n _ref3$components = _ref3.components,\n components = _ref3$components === void 0 ? [] : _ref3$components;\n\n var fonts = uniq__default[\"default\"](components.reduce(function (currentFonts, screen) {\n var type = screen.type;\n\n var fieldsPattern = _this.getFieldsPatternByScreen(type);\n\n var newFonts = FontsParser.extractFontsWithPaths(screen, fieldsPattern);\n return newFonts.length > 0 ? [].concat(_toConsumableArray__default[\"default\"](currentFonts), _toConsumableArray__default[\"default\"](newFonts)) : currentFonts;\n }, []), 'name'); // Extract fonts from theme\n\n if (theme !== null) {\n var _this$parse = this.parse(theme),\n _this$parse$fonts = _this$parse.fonts,\n themeFonts = _this$parse$fonts === void 0 ? [] : _this$parse$fonts,\n newTheme = _objectWithoutProperties__default[\"default\"](_this$parse, _excluded$1);\n\n return fonts.length > 0 || themeFonts.length > 0 ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n theme: newTheme,\n fonts: uniq__default[\"default\"]([].concat(_toConsumableArray__default[\"default\"](themeFonts), _toConsumableArray__default[\"default\"](fonts)), 'name')\n }) : story;\n }\n\n return fonts.length > 0 ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n fonts: fonts\n }) : story;\n }\n }, {\n key: \"getFieldsPattern\",\n value: function getFieldsPattern(fields) {\n var _this2 = this;\n\n var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return fields.reduce(function (patterns, field) {\n var _field$name = field.name,\n name = _field$name === void 0 ? null : _field$name,\n _field$type = field.type,\n type = _field$type === void 0 ? null : _field$type;\n var path = [namePrefix, name].filter(function (it) {\n return it !== null;\n }).join('\\\\.');\n\n var fieldDefinition = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field); // also check settings fields\n\n\n var _fieldDefinition$fiel = fieldDefinition.fields,\n subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,\n _fieldDefinition$item = fieldDefinition.itemsField,\n itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,\n _fieldDefinition$sett = fieldDefinition.settings,\n settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;\n return [].concat(_toConsumableArray__default[\"default\"](patterns), _toConsumableArray__default[\"default\"](FontsParser.fieldIsFontFamily(fieldDefinition) ? [new RegExp(\"^\".concat(path, \"$\"))] : []), _toConsumableArray__default[\"default\"](_this2.getFieldsPattern(subFields, path)), _toConsumableArray__default[\"default\"](_this2.getFieldsPattern(settings, path)), _toConsumableArray__default[\"default\"](itemsField !== null ? _this2.getFieldsPattern([itemsField], \"\".concat(path, \"\\\\.[0-9]+\")) : []));\n }, []);\n }\n }], [{\n key: \"fieldIsFontFamily\",\n value: function fieldIsFontFamily(_ref4) {\n var _ref4$id = _ref4.id,\n id = _ref4$id === void 0 ? null : _ref4$id;\n return id === 'font-family';\n }\n }, {\n key: \"valueIsFont\",\n value: function valueIsFont(_ref5) {\n var _ref5$type = _ref5.type,\n type = _ref5$type === void 0 ? null : _ref5$type;\n return type === 'custom' || type === 'google';\n }\n }, {\n key: \"extractFontsWithPaths\",\n value: function extractFontsWithPaths(data, patterns) {\n var keyPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var dataIsArray = isArray__default[\"default\"](data);\n var keys = dataIsArray ? _toConsumableArray__default[\"default\"](data.keys()) : Object.keys(data);\n return keys.reduce(function (currentFonts, key) {\n var path = [keyPrefix, key].filter(function (it) {\n return it !== null;\n }).join('.');\n var patternMatch = patterns.reduce(function (found, pattern) {\n return found || pattern.test(path);\n }, false);\n var value = data[key];\n var font = null;\n var subFonts = null;\n\n if (patternMatch && isObject__default[\"default\"](value) && FontsParser.valueIsFont(value)) {\n font = value;\n } else if (isObject__default[\"default\"](value) || isArray__default[\"default\"](value)) {\n subFonts = FontsParser.extractFontsWithPaths(value, patterns, path);\n }\n\n return subFonts !== null || font !== null ? [].concat(_toConsumableArray__default[\"default\"](currentFonts), _toConsumableArray__default[\"default\"](subFonts || []), _toConsumableArray__default[\"default\"](font !== null ? [font] : [])) : currentFonts;\n }, []);\n }\n }]);\n\n return FontsParser;\n}();\n\nvar StoryParser = /*#__PURE__*/function () {\n function StoryParser(_ref) {\n var screensManager = _ref.screensManager,\n fieldsManager = _ref.fieldsManager;\n\n _classCallCheck__default[\"default\"](this, StoryParser);\n\n this.themeParser = new ThemeParser({\n screensManager: screensManager\n });\n this.mediasParser = new MediasParser({\n screensManager: screensManager,\n fieldsManager: fieldsManager\n });\n this.fontsParser = new FontsParser({\n screensManager: screensManager,\n fieldsManager: fieldsManager\n });\n }\n\n _createClass__default[\"default\"](StoryParser, [{\n key: \"parse\",\n value: function parse(story) {\n var _this = this;\n\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$withTheme = _ref2.withTheme,\n withTheme = _ref2$withTheme === void 0 ? true : _ref2$withTheme,\n _ref2$withMedias = _ref2.withMedias,\n withMedias = _ref2$withMedias === void 0 ? true : _ref2$withMedias,\n _ref2$withFonts = _ref2.withFonts,\n withFonts = _ref2$withFonts === void 0 ? true : _ref2$withFonts;\n\n if (story === null) {\n return story;\n }\n\n var parsers = [[withMedias, function (newStory) {\n return _this.mediasParser.fromPath(newStory);\n }], [withTheme, function (newStory) {\n return _this.themeParser.parse(newStory);\n }], [withFonts, function (newStory) {\n return _this.fontsParser.parse(newStory);\n }]];\n return parsers.reduce(function (parsedStory, _ref3) {\n var _ref4 = _slicedToArray__default[\"default\"](_ref3, 2),\n enabled = _ref4[0],\n parse = _ref4[1];\n\n return enabled ? parse(parsedStory) : parsedStory;\n }, story);\n }\n }]);\n\n return StoryParser;\n}();\n\nvar _excluded = [\"value\"],\n _excluded2 = [\"value\", \"currentTime\"];\n\nvar Tracking = /*#__PURE__*/function (_BaseTracking) {\n _inherits__default[\"default\"](Tracking, _BaseTracking);\n\n var _super = _createSuper__default[\"default\"](Tracking);\n\n function Tracking() {\n var _this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default[\"default\"](this, Tracking);\n\n _this = _super.call(this, opts);\n var _this$options$variabl = _this.options.variables,\n variables = _this$options$variabl === void 0 ? null : _this$options$variabl;\n _this.variables = null;\n _this.screensViewed = [];\n\n if (variables !== null) {\n _this.setVariables(variables);\n }\n\n return _this;\n }\n\n _createClass__default[\"default\"](Tracking, [{\n key: \"setVariables\",\n value: function setVariables(variables) {\n this.variables = variables;\n\n if (variables !== null) {\n this.push(variables);\n }\n }\n }, {\n key: \"getVariables\",\n value: function getVariables() {\n return this.variables;\n }\n }, {\n key: \"trackScreenView\",\n value: function trackScreenView(screen, screenIndex) {\n var _ref = this.variables || {},\n _ref$screensCount = _ref.screensCount,\n screensCount = _ref$screensCount === void 0 ? null : _ref$screensCount;\n\n var _ref2 = screen || {},\n _ref2$id = _ref2.id,\n screenId = _ref2$id === void 0 ? null : _ref2$id,\n _ref2$type = _ref2.type,\n screenType = _ref2$type === void 0 ? null : _ref2$type,\n _ref2$metadata = _ref2.metadata,\n metadata = _ref2$metadata === void 0 ? {} : _ref2$metadata;\n\n var _ref3 = metadata || {},\n screenTitle = _ref3.title;\n\n if (this.screensViewed.indexOf(screenId || index) !== -1) {\n this.screensViewed = [].concat(_toConsumableArray__default[\"default\"](this.screensViewed), [screenId || index]);\n }\n\n var data = {\n event: 'screenView',\n screenId: screenId,\n screenType: screenType,\n screenIndex: screenIndex,\n screenTitle: screenTitle,\n screenProgress: screensCount !== null && screenIndex !== null ? (screenIndex + 1) / screensCount : null,\n screensViewed: this.screensViewed,\n screensViewedProgress: screensCount !== null ? this.screensViewed.length / screensCount : null\n };\n this.push(data);\n }\n }, {\n key: \"trackEvent\",\n value: function trackEvent(category, action, label) {\n var _ref4 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},\n _ref4$value = _ref4.value,\n value = _ref4$value === void 0 ? null : _ref4$value,\n opts = _objectWithoutProperties__default[\"default\"](_ref4, _excluded);\n\n var data = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, opts), {}, {\n event: 'eventInteraction',\n eventCategory: category,\n eventAction: action,\n eventLabel: label,\n eventValue: value\n });\n\n this.push(data);\n }\n }, {\n key: \"trackMedia\",\n value: function trackMedia(type, media, action) {\n var _ref5 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},\n _ref5$value = _ref5.value,\n value = _ref5$value === void 0 ? null : _ref5$value,\n _ref5$currentTime = _ref5.currentTime,\n optsCurrentTime = _ref5$currentTime === void 0 ? null : _ref5$currentTime,\n opts = _objectWithoutProperties__default[\"default\"](_ref5, _excluded2);\n\n var _ref6 = media || {},\n _ref6$id = _ref6.id,\n mediaId = _ref6$id === void 0 ? null : _ref6$id,\n _ref6$name = _ref6.name,\n name = _ref6$name === void 0 ? null : _ref6$name,\n _ref6$duration = _ref6.duration,\n rootDuration = _ref6$duration === void 0 ? null : _ref6$duration,\n _ref6$currentTime = _ref6.currentTime,\n currentTime = _ref6$currentTime === void 0 ? optsCurrentTime : _ref6$currentTime,\n _ref6$metadata = _ref6.metadata,\n metadata = _ref6$metadata === void 0 ? {} : _ref6$metadata;\n\n var _ref7 = metadata || {},\n _ref7$duration = _ref7.duration,\n duration = _ref7$duration === void 0 ? rootDuration : _ref7$duration;\n\n var label = name;\n\n var data = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, opts), {}, {\n event: 'eventInteraction',\n eventCategory: type,\n eventAction: action,\n eventLabel: label,\n eventValue: value,\n mediaId: mediaId,\n mediaCurrentTime: currentTime !== null ? Math.round(currentTime) : null,\n mediaProgress: currentTime !== null && duration !== null && duration > 0 ? Math.round(currentTime / duration * 100) : null\n });\n\n this.push(data);\n }\n }]);\n\n return Tracking;\n}(tracking.Tracking);\n\nexports.ColorsParser = ColorsParser;\nexports.ComponentsManager = ComponentsManager;\nexports.DefinitionsManager = DefinitionsManager;\nexports.EventsManager = EventsManager;\nexports.FieldsManager = FieldsManager;\nexports.FontsParser = FontsParser;\nexports.MediasParser = MediasParser;\nexports.PropTypes = PropTypes;\nexports.ScreensManager = ScreensManager;\nexports.StoryParser = StoryParser;\nexports.ThemeParser = ThemeParser;\nexports.Tracking = Tracking;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar isNumber = require('lodash/isNumber');\nvar paramCase = require('param-case');\nvar isObject = require('lodash/isObject');\nvar react = require('react');\nvar isString = require('lodash/isString');\nvar tinycolor = require('tinycolor2');\nvar changeCase = require('change-case');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar isArray = require('lodash/isArray');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nvar slugify = require('slugify');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);\nvar isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar tinycolor__default = /*#__PURE__*/_interopDefaultLegacy(tinycolor);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar slugify__default = /*#__PURE__*/_interopDefaultLegacy(slugify);\n\nvar convertStyleToString = function convertStyleToString(style) {\n return style !== null ? Object.keys(style).map(function (key) {\n return \"\".concat(paramCase.paramCase(key), \":\").concat(isNumber__default[\"default\"](style[key]) ? \"\".concat(style[key], \"px\") : style[key], \";\");\n }).join('\\n') : '';\n};\n\nvar createNullableOnChange = function createNullableOnChange() {\n var onChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n return function (newValue) {\n var nullableValue = newValue;\n\n if (isObject__default[\"default\"](newValue)) {\n var allNull = Object.keys(newValue).reduce(function (acc, key) {\n return acc && newValue[key] === null;\n }, true);\n\n if (allNull) {\n nullableValue = null;\n }\n }\n\n if (onChange !== null) {\n onChange(nullableValue);\n }\n };\n};\n\nvar createUseEvent = function createUseEvent(eventsManager) {\n return function (event, callback) {\n var enabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n react.useEffect(function () {\n if (enabled && eventsManager !== null) {\n eventsManager.subscribe(event, callback);\n }\n\n return function () {\n if (enabled && eventsManager !== null) {\n eventsManager.unsubscribe(event, callback);\n }\n };\n }, [eventsManager, event, callback, enabled]);\n };\n};\n\nvar getColorAsString = function getColorAsString() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var overideAlpha = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (value === null) {\n return null;\n }\n\n var _ref = isString__default[\"default\"](value) ? {\n color: value\n } : value,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? null : _ref$color,\n _ref$alpha = _ref.alpha,\n alpha = _ref$alpha === void 0 ? null : _ref$alpha;\n\n return alpha !== null || overideAlpha !== null ? tinycolor__default[\"default\"](color).setAlpha(overideAlpha !== null ? overideAlpha : alpha).toRgbString() : color;\n};\n\nvar getComponentFromName = function getComponentFromName() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var components = arguments.length > 1 ? arguments[1] : undefined;\n var defaultComponent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (components === null || name === null) {\n return defaultComponent;\n }\n\n var pascalName = changeCase.pascalCase(name);\n return components[pascalName] || components[name] || defaultComponent;\n};\n\nvar deviceScreens = [{\n name: 'mobile'\n}, {\n name: 'small',\n mediaQuery: 'only screen and (min-width: 500px)'\n}, {\n name: 'medium',\n mediaQuery: 'only screen and (min-width: 790px)'\n}, {\n name: 'large',\n mediaQuery: 'only screen and (min-width: 1000px)'\n}, {\n name: 'very-large',\n mediaQuery: 'only screen and (min-width: 1600px)'\n}]; // eslint-disable-next-line import/prefer-default-export\n\nvar getDeviceScreens = function getDeviceScreens() {\n return deviceScreens;\n};\n\nvar getDisplayName = function getDisplayName(_ref) {\n var _ref$displayName = _ref.displayName,\n displayName = _ref$displayName === void 0 ? null : _ref$displayName,\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? null : _ref$name;\n return displayName || name || 'Component';\n};\n\nvar getFieldByName = function getFieldByName(fields, name) {\n return fields.reduce(function (foundField, it) {\n if (foundField !== null) {\n return foundField;\n }\n\n var _it$name = it.name,\n fieldName = _it$name === void 0 ? null : _it$name,\n _it$fields = it.fields,\n subFields = _it$fields === void 0 ? [] : _it$fields;\n\n if (name !== null && fieldName === name) {\n return it;\n }\n\n return getFieldByName(subFields, name);\n }, null);\n};\n\nvar getFieldFromPath = function getFieldFromPath(path, fields, fieldManager) {\n return (isArray__default[\"default\"](path) ? path : [path]).reduce(function (foundField, key) {\n if (foundField === null) {\n return null;\n }\n\n var _foundField$type = foundField.type,\n type = _foundField$type === void 0 ? null : _foundField$type,\n _foundField$fields = foundField.fields,\n fieldFields = _foundField$fields === void 0 ? null : _foundField$fields,\n _foundField$field = foundField.field,\n field = _foundField$field === void 0 ? null : _foundField$field;\n var finalType = field !== null ? field.type || type : type;\n\n var _ref = finalType !== null ? fieldManager.getDefinition(finalType) : foundField,\n _ref$fields = _ref.fields,\n subFields = _ref$fields === void 0 ? null : _ref$fields,\n _ref$settings = _ref.settings,\n settings = _ref$settings === void 0 ? null : _ref$settings,\n _ref$itemsField = _ref.itemsField,\n itemsField = _ref$itemsField === void 0 ? null : _ref$itemsField;\n\n if (itemsField !== null && key.match(/^[0-9]+$/)) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, itemsField), {}, {\n name: path.join('/'),\n listItems: true\n });\n }\n\n return getFieldByName([].concat(_toConsumableArray__default[\"default\"](fieldFields || []), _toConsumableArray__default[\"default\"](subFields || []), _toConsumableArray__default[\"default\"](settings || [])), key);\n }, {\n fields: fields\n });\n};\n\nvar getFileName = function getFileName() {\n var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (url === null || typeof url.match === 'undefined') {\n return null;\n }\n\n return url.match(/([^/]+)(\\?.*)?$/)[1] || url;\n};\n\nvar getFontFamily = function getFontFamily(value) {\n if (value == null) {\n return null;\n }\n\n var _ref = isObject__default[\"default\"](value) ? value : {\n name: value\n },\n name = _ref.name,\n _ref$fallback = _ref.fallback,\n fallback = _ref$fallback === void 0 ? null : _ref$fallback;\n\n return [name, fallback].filter(function (it) {\n return it !== null;\n }).map(function (it) {\n return \"\\\"\".concat(it, \"\\\"\");\n }).join(', ');\n};\n\nvar getGridLayoutName = function getGridLayoutName(layout) {\n return layout.map(function (it) {\n return \"\".concat(it.rows, \"_\").concat(it.columns.join('_'));\n }).join('|');\n};\n\nvar getRemainder = function getRemainder(number) {\n var remainder = number - Math.floor(number);\n return remainder.toFixed(4);\n};\n\nvar largestRemainderRound = function largestRemainderRound(numbers, desiredTotal) {\n if (!isArray__default[\"default\"](numbers) || numbers.length < 1) return numbers;\n var result = numbers.map(function (number, index) {\n return {\n floor: Math.floor(number) || 0,\n remainder: getRemainder(number),\n index: index\n };\n }).sort(function (a, b) {\n return b.remainder - a.remainder;\n });\n var lowerSum = result.reduce(function (sum, current) {\n return sum + current.floor;\n }, 0);\n var delta = desiredTotal - lowerSum;\n\n for (var i = 0; i < delta; i += 1) {\n if (result[i]) {\n result[i].floor += 1;\n }\n }\n\n return result.sort(function (a, b) {\n return a.index - b.index;\n }).map(function (res) {\n return res.floor;\n });\n};\n\nvar _excluded = [\"image\", \"video\", \"media\"];\n\nvar getLayersFromBackground = function getLayersFromBackground() {\n var background = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (background === null) {\n return [];\n }\n\n return (isArray__default[\"default\"](background) ? background : [background]).reduce(function (layers, _ref) {\n var _ref$image = _ref.image,\n image = _ref$image === void 0 ? null : _ref$image,\n _ref$video = _ref.video,\n video = _ref$video === void 0 ? null : _ref$video,\n _ref$media = _ref.media,\n media = _ref$media === void 0 ? null : _ref$media,\n data = _objectWithoutProperties__default[\"default\"](_ref, _excluded);\n\n if (image !== null && video !== null) {\n return [].concat(_toConsumableArray__default[\"default\"](layers), [_objectSpread__default[\"default\"]({\n media: image\n }, data), _objectSpread__default[\"default\"]({\n media: video\n }, data)]);\n }\n\n return [].concat(_toConsumableArray__default[\"default\"](layers), [_objectSpread__default[\"default\"]({\n media: media || image || video\n }, data)]);\n }, []);\n};\n\nvar getMediaFilesAsArray = function getMediaFilesAsArray(files) {\n return files !== null && isArray__default[\"default\"](files) ? files : Object.keys(files || {}).reduce(function (newFiles, key) {\n return [].concat(_toConsumableArray__default[\"default\"](newFiles), [_objectSpread__default[\"default\"]({\n handle: key\n }, files[key])]);\n }, []);\n};\n\n// eslint-disable-next-line import/prefer-default-export\nvar getOptimalImageUrl = function getOptimalImageUrl() {\n var media = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var containerWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var containerHeight = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var maxDiff = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 800;\n\n var _ref = media || {},\n _ref$sizes = _ref.sizes,\n sizes = _ref$sizes === void 0 ? null : _ref$sizes,\n _ref$url = _ref.url,\n defaultUrl = _ref$url === void 0 ? null : _ref$url,\n _ref$metadata = _ref.metadata;\n\n _ref$metadata = _ref$metadata === void 0 ? {} : _ref$metadata;\n var imgWidth = _ref$metadata.width,\n imgHeight = _ref$metadata.height;\n\n if (sizes === null || containerWidth === null && containerHeight === null) {\n return defaultUrl;\n }\n\n var finalSizes = _objectSpread__default[\"default\"]({\n original: {\n url: defaultUrl,\n width: imgWidth,\n height: imgHeight\n }\n }, sizes);\n\n var _Object$keys$reduce = Object.keys(finalSizes).reduce(function (acc, key) {\n var currentDiff = acc.diff,\n currentIsLarger = acc.isLarger,\n currentSize = acc.size;\n var _finalSizes$key = finalSizes[key],\n url = _finalSizes$key.url,\n _finalSizes$key$width = _finalSizes$key.width,\n width = _finalSizes$key$width === void 0 ? null : _finalSizes$key$width,\n _finalSizes$key$heigh = _finalSizes$key.height,\n height = _finalSizes$key$heigh === void 0 ? null : _finalSizes$key$heigh;\n var diffWidth = width !== null && containerWidth !== null ? width - containerWidth : null;\n var diffHeight = height !== null && containerHeight !== null ? height - containerHeight : null;\n var isLarger = (diffWidth === null || diffWidth >= 0) && (diffHeight === null || diffHeight >= 0);\n var diff = [diffWidth, diffHeight].reduce(function (total, value) {\n return value !== null ? (total || 0) + Math.abs(value) : total;\n }, null);\n\n if (diff === null) {\n diff = Infinity;\n }\n\n var size = (width || 0) + (height || 0);\n var sizeIsLarger = size > currentSize;\n\n if ( // Difference is lower and image is larger\n diff < currentDiff && isLarger || // Difference is lower and current is not larger or diff is greater than max\n diff < currentDiff && (!currentIsLarger && sizeIsLarger || currentDiff > maxDiff) || // Image is larger and diff is smaller than max\n diff <= maxDiff && !currentIsLarger && isLarger || // Image is larger than previous\n diff <= maxDiff && !currentIsLarger && !isLarger && sizeIsLarger) {\n return {\n key: key,\n url: url,\n diff: diff,\n isLarger: isLarger\n };\n }\n\n return acc;\n }, {\n key: null,\n url: defaultUrl,\n diff: Infinity,\n isLarger: false,\n size: 0\n }),\n finalUrl = _Object$keys$reduce.url;\n\n return finalUrl;\n};\n\nvar getSecondsFromTime = function getSecondsFromTime(time) {\n var t = time.split(':');\n\n try {\n var s = t[2].split(',');\n\n if (s.length === 1) {\n s = t[2].split('.');\n }\n\n return parseFloat(t[0], 10) * 3600 + parseFloat(t[1], 10) * 60 + parseFloat(s[0], 10) + parseFloat(s[1], 10) / 1000;\n } catch (e) {\n return 0;\n }\n};\n\nvar getScreenExtraField = function getScreenExtraField(intl) {\n return {\n name: 'parameters',\n type: 'parameters',\n label: intl.formatMessage({\n \"id\": \"8A8cuq\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Parameters\"\n }]\n })\n };\n};\n\nvar getStyleFromColor = function getStyleFromColor() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var property = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'backgroundColor';\n var overideAlpha = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var color = getColorAsString(value, overideAlpha);\n return color !== null ? _defineProperty__default[\"default\"]({}, property, color) : null;\n};\n\nvar getStyleFromBorder = function getStyleFromBorder(value) {\n if (value == null) {\n return null;\n }\n\n var _value$width = value.width,\n width = _value$width === void 0 ? null : _value$width,\n _value$style = value.style,\n borderStyle = _value$style === void 0 ? null : _value$style,\n _value$color = value.color,\n color = _value$color === void 0 ? null : _value$color;\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, width !== null ? {\n borderWidth: width\n } : null), borderStyle !== null ? {\n borderStyle: borderStyle\n } : null), getStyleFromColor(color, 'borderColor'));\n};\n\nvar getStyleFromButton = function getStyleFromButton(value) {\n if (value === null) {\n return null;\n }\n\n var _value$backgroundColo = value.backgroundColor,\n backgroundColor = _value$backgroundColo === void 0 ? null : _value$backgroundColo,\n _value$borderRadius = value.borderRadius,\n borderRadius = _value$borderRadius === void 0 ? null : _value$borderRadius,\n _value$borderWidth = value.borderWidth,\n borderWidth = _value$borderWidth === void 0 ? null : _value$borderWidth,\n _value$borderStyle = value.borderStyle,\n borderStyle = _value$borderStyle === void 0 ? null : _value$borderStyle,\n _value$borderColor = value.borderColor,\n borderColor = _value$borderColor === void 0 ? null : _value$borderColor;\n var border = {\n width: borderWidth,\n style: borderStyle,\n color: borderColor\n };\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, getStyleFromColor(backgroundColor, 'backgroundColor')), borderRadius !== null ? {\n borderRadius: borderRadius\n } : null), getStyleFromBorder(border));\n};\n\nvar getStyleFromContainer = function getStyleFromContainer(value) {\n if (value == null) {\n return null;\n }\n\n var _value$size = value.size,\n size = _value$size === void 0 ? {} : _value$size,\n _value$backgroundColo = value.backgroundColor,\n backgroundColor = _value$backgroundColo === void 0 ? null : _value$backgroundColo;\n var _size$width = size.width,\n width = _size$width === void 0 ? null : _size$width,\n _size$height = size.height,\n height = _size$height === void 0 ? null : _size$height;\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, width ? {\n width: \"\".concat(width, \"%\")\n } : null), height ? {\n height: \"\".concat(height, \"%\")\n } : null), getStyleFromColor(backgroundColor, 'backgroundColor'));\n};\n\nvar getStyleFromHighlight = function getStyleFromHighlight(value) {\n if (value == null) {\n return null;\n }\n\n var _value$textColor = value.textColor,\n textColor = _value$textColor === void 0 ? null : _value$textColor,\n _value$color = value.color,\n color = _value$color === void 0 ? null : _value$color;\n var colorString = color !== null ? getColorAsString(color) : null;\n var boxShadow = colorString !== null ? \"0.05em 0px 0px \".concat(colorString, \", -0.05em 0px 0px \").concat(colorString) : null;\n return color !== null || textColor !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, color !== null ? getStyleFromColor(color, 'backgroundColor') : null), textColor !== null ? getStyleFromColor(textColor, 'color') : null), color !== null ? {\n boxShadow: boxShadow,\n mozBoxShadow: boxShadow,\n msBoxShadow: boxShadow,\n webkitBoxShadow: boxShadow\n } : null) : null;\n};\n\nvar getStyleFromImage = function getStyleFromImage(value) {\n if (value == null) {\n return null;\n }\n\n var _value$fit = value.fit,\n fit = _value$fit === void 0 ? {} : _value$fit,\n _value$backgroundColo = value.backgroundColor,\n backgroundColor = _value$backgroundColo === void 0 ? null : _value$backgroundColo;\n var _fit$size = fit.size,\n size = _fit$size === void 0 ? null : _fit$size,\n _fit$position = fit.position,\n position = _fit$position === void 0 ? {} : _fit$position;\n var _position$axisAlign = position.axisAlign,\n axisAlign = _position$axisAlign === void 0 ? null : _position$axisAlign,\n _position$crossAlign = position.crossAlign,\n crossAlign = _position$crossAlign === void 0 ? null : _position$crossAlign;\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, size !== null ? {\n objectFit: size\n } : null), axisAlign !== null && crossAlign !== null ? {\n objectPosition: \"\".concat(axisAlign, \" \").concat(crossAlign)\n } : null), getStyleFromColor(backgroundColor, 'backgroundColor'));\n};\n\nvar getStyleFromLink = function getStyleFromLink(value) {\n if (value == null) {\n return null;\n }\n\n var _value$color = value.color,\n color = _value$color === void 0 ? null : _value$color,\n fontStyle = value.fontStyle;\n\n var _ref = fontStyle || {},\n _ref$italic = _ref.italic,\n italic = _ref$italic === void 0 ? false : _ref$italic,\n _ref$bold = _ref.bold,\n bold = _ref$bold === void 0 ? false : _ref$bold,\n _ref$underline = _ref.underline,\n underline = _ref$underline === void 0 ? false : _ref$underline;\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, color !== null ? getStyleFromColor(color, 'color') : null), italic ? {\n fontStyle: 'italic'\n } : null), bold ? {\n fontWeight: 'bold'\n } : null), underline ? {\n textDecoration: 'underline'\n } : null);\n};\n\nvar getStyleFromText = function getStyleFromText(value) {\n if (value == null) {\n return null;\n }\n\n var _value$fontFamily = value.fontFamily,\n fontFamily = _value$fontFamily === void 0 ? null : _value$fontFamily,\n _value$fontSize = value.fontSize,\n fontSize = _value$fontSize === void 0 ? null : _value$fontSize,\n _value$fontStyle = value.fontStyle,\n fontStyle = _value$fontStyle === void 0 ? null : _value$fontStyle,\n _value$lineHeight = value.lineHeight,\n lineHeight = _value$lineHeight === void 0 ? null : _value$lineHeight,\n _value$letterSpacing = value.letterSpacing,\n letterSpacing = _value$letterSpacing === void 0 ? null : _value$letterSpacing,\n _value$align = value.align,\n textAlign = _value$align === void 0 ? null : _value$align,\n _value$color = value.color,\n color = _value$color === void 0 ? null : _value$color;\n\n var _ref = fontStyle || {},\n _ref$italic = _ref.italic,\n italic = _ref$italic === void 0 ? false : _ref$italic,\n _ref$bold = _ref.bold,\n bold = _ref$bold === void 0 ? false : _ref$bold,\n _ref$underline = _ref.underline,\n underline = _ref$underline === void 0 ? false : _ref$underline,\n textTransform = _ref.transform,\n _ref$outline = _ref.outline,\n outline = _ref$outline === void 0 ? false : _ref$outline;\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n fontFamily: getFontFamily(fontFamily)\n }, fontSize !== null ? {\n fontSize: fontSize\n } : null), italic ? {\n fontStyle: 'italic'\n } : null), bold ? {\n fontWeight: 'bold'\n } : null), underline ? {\n textDecoration: 'underline'\n } : null), textTransform !== null ? {\n textTransform: textTransform\n } : null), textAlign !== null ? {\n textAlign: textAlign\n } : null), lineHeight !== null ? {\n lineHeight: lineHeight\n } : null), letterSpacing !== null ? {\n letterSpacing: letterSpacing\n } : null), getStyleFromColor(color, 'color')), outline ? {\n WebkitTextStroke: \"2px \".concat(getColorAsString(color, 'color')),\n color: 'transparent'\n } : null);\n};\n\nvar getStyleFromMargin = function getStyleFromMargin(value) {\n if (value == null) {\n return null;\n }\n\n var _value$top = value.top,\n marginTop = _value$top === void 0 ? null : _value$top,\n _value$bottom = value.bottom,\n marginBottom = _value$bottom === void 0 ? null : _value$bottom;\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, marginTop !== null ? {\n marginTop: marginTop\n } : null), marginBottom !== null ? {\n marginBottom: marginBottom\n } : null);\n};\n\nvar getLayoutParts = function getLayoutParts() {\n var layout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var _ref = layout !== null && layout.indexOf('-') !== false ? layout.split('-') : [layout, null, null],\n _ref2 = _slicedToArray__default[\"default\"](_ref, 3),\n horizontal = _ref2[0],\n vertical = _ref2[1],\n suffix = _ref2[2];\n\n return {\n horizontal: horizontal,\n vertical: vertical,\n suffix: suffix\n };\n};\n\nvar isMessage = function isMessage(message) {\n return isObject__default[\"default\"](message) && typeof message.defaultMessage !== 'undefined';\n};\n\nvar isIos = function isIos() {\n return ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) || // iPad on iOS 13 detection\n navigator.userAgent.includes('Mac') && 'ontouchend' in document;\n};\n\nvar isImageFilled = function isImageFilled(image) {\n var _ref = image || {},\n _ref$media = _ref.media,\n media = _ref$media === void 0 ? null : _ref$media;\n\n return media !== null;\n};\n\nvar isTextFilled$1 = function isTextFilled(text) {\n var _ref = text || {},\n _ref$label = _ref.label,\n label = _ref$label === void 0 ? null : _ref$label;\n\n var _ref2 = label || {},\n _ref2$length = _ref2.length,\n length = _ref2$length === void 0 ? 0 : _ref2$length;\n\n return typeof length === 'number' && length > 0;\n};\n\nvar isTextFilled = function isTextFilled(text) {\n var _ref = text || {},\n _ref$body = _ref.body,\n body = _ref$body === void 0 ? null : _ref$body;\n\n var _ref2 = body || {},\n _ref2$length = _ref2.length,\n length = _ref2$length === void 0 ? 0 : _ref2$length;\n\n return typeof length === 'number' && length > 0;\n};\n\nvar isValidUrl = function isValidUrl(string) {\n var url;\n\n try {\n url = new URL(string);\n } catch (_) {\n return false;\n }\n\n return url.protocol === 'http:' || url.protocol === 'https:';\n};\n\nvar createSchemaId = function createSchemaId(id) {\n return \"https://schemas.micromag.ca/0.1/\".concat(id, \".json\");\n};\n\nvar schemaId = function schemaId(str) {\n return createSchemaId(str.join('/'));\n};\n\nvar setValue = function setValue(value, keyParts, fieldValue) {\n var key = keyParts.shift();\n var isArray = key.match(/^[0-9]+$/) !== null;\n\n if (value !== null || fieldValue !== null) {\n if (isArray) {\n var index = parseInt(key, 10);\n var newArrayValue = fieldValue !== null ? [].concat(_toConsumableArray__default[\"default\"](value.slice(0, index)), [keyParts.length > 0 ? setValue(value !== null ? value[index] || null : null, keyParts, fieldValue) : fieldValue], _toConsumableArray__default[\"default\"](value.slice(index + 1))) : [].concat(_toConsumableArray__default[\"default\"](value.slice(0, index)), _toConsumableArray__default[\"default\"](value.slice(index + 1)));\n return newArrayValue.length > 0 ? newArrayValue : null;\n }\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, value), {}, _defineProperty__default[\"default\"]({}, key, keyParts.length > 0 ? setValue(value !== null ? value[key] || null : null, keyParts, fieldValue) : fieldValue));\n }\n\n return null;\n};\n\nvar slug = function slug(str) {\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var toSlug;\n\n if (separator === '-') {\n toSlug = changeCase.paramCase(str);\n } else {\n toSlug = changeCase.snakeCase(str);\n }\n\n return slugify__default[\"default\"](toSlug, {\n lower: true\n });\n};\n\nvar unique = function unique(arrArg) {\n return arrArg !== null ? arrArg.filter(function (elem, pos, arr) {\n return arr.indexOf(elem) === pos;\n }) : [];\n};\n\nvar validateFields = function validateFields(fields, value) {\n return fields.reduce(function (acc, field) {\n if (acc === true) {\n if (field.type === 'fields' && field.fields) {\n return validateFields(field.fields, value);\n }\n\n var val = value && value[field.name] ? value[field.name] : false;\n return !(field.required && !val);\n }\n\n return acc;\n }, true);\n};\n\nObject.defineProperty(exports, 'pascalCase', {\n enumerable: true,\n get: function () { return changeCase.pascalCase; }\n});\nObject.defineProperty(exports, 'snakeCase', {\n enumerable: true,\n get: function () { return changeCase.snakeCase; }\n});\nexports.convertStyleToString = convertStyleToString;\nexports.createNullableOnChange = createNullableOnChange;\nexports.createUseEvent = createUseEvent;\nexports.getColorAsString = getColorAsString;\nexports.getComponentFromName = getComponentFromName;\nexports.getDeviceScreens = getDeviceScreens;\nexports.getDisplayName = getDisplayName;\nexports.getFieldByName = getFieldByName;\nexports.getFieldFromPath = getFieldFromPath;\nexports.getFileName = getFileName;\nexports.getFontFamilyFromFont = getFontFamily;\nexports.getGridLayoutName = getGridLayoutName;\nexports.getLargestRemainderRound = largestRemainderRound;\nexports.getLayersFromBackground = getLayersFromBackground;\nexports.getLayoutParts = getLayoutParts;\nexports.getMediaFilesAsArray = getMediaFilesAsArray;\nexports.getOptimalImageUrl = getOptimalImageUrl;\nexports.getScreenExtraField = getScreenExtraField;\nexports.getSecondsFromTime = getSecondsFromTime;\nexports.getStyleFromBorder = getStyleFromBorder;\nexports.getStyleFromButton = getStyleFromButton;\nexports.getStyleFromColor = getStyleFromColor;\nexports.getStyleFromContainer = getStyleFromContainer;\nexports.getStyleFromHighlight = getStyleFromHighlight;\nexports.getStyleFromImage = getStyleFromImage;\nexports.getStyleFromLink = getStyleFromLink;\nexports.getStyleFromMargin = getStyleFromMargin;\nexports.getStyleFromText = getStyleFromText;\nexports.isImageFilled = isImageFilled;\nexports.isIos = isIos;\nexports.isLabelFilled = isTextFilled$1;\nexports.isMessage = isMessage;\nexports.isTextFilled = isTextFilled;\nexports.isValidUrl = isValidUrl;\nexports.schemaId = schemaId;\nexports.setFieldValue = setValue;\nexports.slug = slug;\nexports.unique = unique;\nexports.validateFields = validateFields;\n","'use strict';\n\nvar core = require('@micromag/core');\nvar reactIntl = require('react-intl');\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar uuid = require('uuid');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\n\nvar audio = {\n id: 'audio',\n component: 'audio',\n media: true\n};\n\nvar audioElement = {\n id: 'audio-element',\n fields: [{\n name: 'media',\n type: 'audio'\n }],\n settings: [{\n name: 'autoPlay',\n type: 'toggle',\n label: reactIntl.defineMessage({\n \"id\": \"pJgYyE\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"AutoPlay\"\n }]\n })\n }, {\n name: 'loop',\n type: 'toggle',\n label: reactIntl.defineMessage({\n \"id\": \"F2SD/0\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Loop\"\n }]\n })\n }, {\n name: 'withPlayPause',\n type: 'toggle',\n label: reactIntl.defineMessage({\n \"id\": \"8EI08h\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"With play/pause button\"\n }]\n })\n }, {\n name: 'closedCaptions',\n type: 'closed-captions',\n label: reactIntl.defineMessage({\n \"id\": \"4H2n5r\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Closed captions\"\n }]\n })\n }]\n};\n\nvar answer = {\n id: 'answer',\n component: 'field-with-form',\n labelPath: 'label.body',\n fields: [{\n name: 'label',\n type: 'text-element',\n label: reactIntl.defineMessage({\n \"id\": \"OJi+eg\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Label\"\n }]\n })\n }, {\n name: 'buttonStyle',\n type: 'button-style',\n className: 'mt-4'\n }, {\n name: 'resultStyle',\n type: 'graph-bar-style',\n isList: true,\n label: reactIntl.defineMessage({\n \"id\": \"6Q4tcn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Result style\"\n }]\n })\n }]\n};\n\nvar answers = {\n id: 'answers',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n \"id\": \"A+a0kL\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"No answer...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n \"id\": \"lGh/NP\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Add an answer\"\n }]\n }),\n itemsField: {\n type: 'answer',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"Xdsq3k\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Answer\"\n }]\n })\n }\n};\n\nvar background = {\n id: 'background',\n isList: true,\n fields: [{\n name: 'color',\n type: 'color',\n label: reactIntl.defineMessage({\n \"id\": \"aarOkd\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n }),\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"JDPMlG\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background color\"\n }]\n })\n }, {\n name: 'image',\n type: 'image',\n label: reactIntl.defineMessage({\n \"id\": \"xT/onn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }),\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"ySApyR\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background image\"\n }]\n })\n }, {\n name: 'video',\n type: 'video',\n label: reactIntl.defineMessage({\n \"id\": \"vERejo\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Video\"\n }]\n }),\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"/MeuM1\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background video\"\n }]\n })\n }],\n settings: [{\n type: 'fields',\n isList: true,\n fields: [{\n name: 'fit',\n type: 'fit',\n label: reactIntl.defineMessage({\n \"id\": \"amEvH1\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Fit\"\n }]\n })\n }, {\n name: 'repeat',\n type: 'toggle',\n label: reactIntl.defineMessage({\n \"id\": \"WlNxMj\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Repeat\"\n }]\n })\n }]\n }]\n};\n\nvar borderRadius = {\n id: 'border-radius',\n component: 'border-radius'\n};\n\nvar borderStyle = {\n id: 'border-style',\n component: 'border-style'\n};\n\nvar borderWidth = {\n id: 'border-width',\n component: 'border-width'\n};\n\nvar buttonStyle = {\n id: 'button-style',\n fields: [{\n type: 'fields',\n label: reactIntl.defineMessage({\n \"id\": \"JnCf7K\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Button style\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'backgroundColor',\n label: reactIntl.defineMessage({\n \"id\": \"vzW/wd\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Background color\"\n }]\n }),\n type: 'color'\n }, {\n name: 'borderRadius',\n type: 'number',\n isHorizontal: true,\n dataList: [0, 2, 4, 6, 8, 10],\n label: reactIntl.defineMessage({\n \"id\": \"7j/LQ6\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Rounded corners\"\n }]\n })\n }]\n }, {\n type: 'fields',\n label: reactIntl.defineMessage({\n \"id\": \"vA+9dU\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Border\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'borderWidth',\n type: 'number',\n isHorizontal: true,\n dataList: [0, 1, 2, 3, 4, 5],\n label: reactIntl.defineMessage({\n \"id\": \"4HlSsf\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Size\"\n }]\n })\n }, {\n name: 'borderColor',\n type: 'color',\n label: reactIntl.defineMessage({\n \"id\": \"+VD/9p\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n })\n }, {\n name: 'borderStyle',\n type: 'border-style',\n isHorizontal: true\n }]\n }]\n};\n\nvar buttonElement = {\n id: 'button-element',\n component: 'text-element',\n inline: true,\n settings: [{\n name: 'textStyle',\n type: 'text-style'\n }, {\n name: 'buttonStyle',\n type: 'button-style',\n className: 'mt-4'\n }]\n};\n\nvar callToAction = {\n id: 'call-to-action',\n isList: true,\n component: 'call-to-action',\n fields: [{\n name: 'active',\n type: 'toggle',\n isHorizontal: true,\n label: reactIntl.defineMessage({\n \"id\": \"52tY6n\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Call to Action\"\n }]\n })\n }, {\n name: 'type',\n type: 'radios',\n options: [{\n value: 'swipe-up',\n label: reactIntl.defineMessage({\n \"id\": \"jvvJbk\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Swipe up\"\n }]\n })\n }, {\n value: 'button',\n label: reactIntl.defineMessage({\n \"id\": \"fxfV+l\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n })\n }],\n firstOptionAsDefault: true,\n isHorizontal: true,\n label: reactIntl.defineMessage({\n \"id\": \"ZvKOEb\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Type\"\n }]\n })\n }, {\n name: 'url',\n type: 'url',\n // isHorizontal: true,\n label: reactIntl.defineMessage({\n \"id\": \"TXkHah\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Link\"\n }]\n })\n }, {\n name: 'label',\n type: 'text-element',\n textOnly: true,\n label: reactIntl.defineMessage({\n \"id\": \"D/N9gA\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Label\"\n }]\n })\n }]\n};\n\nvar checkboxes = {\n id: 'checkboxes',\n component: 'checkboxes'\n};\n\nvar closedCaptions = {\n id: 'closed-captions',\n component: 'closed-captions'\n};\n\nvar color = {\n id: 'color',\n component: 'color'\n};\n\nvar conversation = {\n id: 'conversation',\n component: 'conversation',\n fields: [{\n name: 'speakers',\n type: 'speakers',\n label: reactIntl.defineMessage({\n \"id\": \"JC9Qlf\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Speakers\"\n }]\n })\n }, {\n name: 'messages',\n type: 'messages',\n label: reactIntl.defineMessage({\n \"id\": \"f68O+0\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Messages\"\n }]\n })\n }],\n settings: [{\n name: 'messageStyle',\n type: 'text-style',\n label: reactIntl.defineMessage({\n \"id\": \"k81FRn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Message style\"\n }]\n })\n }, {\n name: 'speakerStyle',\n type: 'text-style',\n className: 'mt-4',\n label: reactIntl.defineMessage({\n \"id\": \"9PfjeE\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Speaker style\"\n }]\n })\n }]\n};\n\nvar email = {\n id: 'email',\n component: 'text',\n type: 'email'\n};\n\nvar entries = {\n id: 'entries',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n \"id\": \"iHV3W3\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"No entry...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n \"id\": \"l/Y6or\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Add an entry\"\n }]\n }),\n itemsField: {\n type: 'entry',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"wsNfYo\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Entry\"\n }]\n })\n }\n};\n\nvar entriesWithImage = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, entries), {}, {\n id: 'entries-with-image',\n itemsField: {\n type: 'entry-with-image',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"wsNfYo\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Entry\"\n }]\n })\n }\n});\n\nvar entriesWithVisual = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, entries), {}, {\n id: 'entries-with-visual',\n itemsField: {\n type: 'entry-with-visual',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"wsNfYo\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Entry\"\n }]\n })\n }\n});\n\nvar entry = {\n id: 'entry',\n component: 'field-with-form',\n labelPath: 'title.body',\n fields: [{\n name: 'title',\n type: 'heading-element',\n label: reactIntl.defineMessage({\n \"id\": \"+AEVbJ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n label: reactIntl.defineMessage({\n \"id\": \"ZCe0r4\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }]\n};\n\nvar entryWithImage = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, entry), {}, {\n id: 'entry-with-image',\n fields: [].concat(_toConsumableArray__default[\"default\"](entry.fields), [{\n name: 'image',\n type: 'image',\n label: reactIntl.defineMessage({\n \"id\": \"xT/onn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }])\n});\n\nvar entryWithVisual = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, entry), {}, {\n id: 'entry-with-visual',\n fields: [].concat(_toConsumableArray__default[\"default\"](entry.fields), [{\n name: 'image',\n type: 'visual',\n label: reactIntl.defineMessage({\n \"id\": \"xT/onn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }])\n});\n\nvar fieldWithForm = {\n id: 'field-with-form',\n component: 'field-with-form'\n};\n\nvar fields$1 = {\n id: 'fields',\n component: 'fields'\n};\n\nvar fit = {\n id: 'fit',\n component: 'fit'\n};\n\nvar font = {\n id: 'font',\n component: 'font',\n media: true\n};\n\nvar fonts = {\n id: 'fonts',\n component: 'fonts',\n itemsField: {\n type: 'font'\n }\n};\n\nvar fontFamily = {\n id: 'font-family',\n component: 'font-family'\n};\n\nvar fontSize = {\n id: 'font-size',\n component: 'font-size'\n};\n\nvar geoPosition = {\n id: 'geo-position',\n component: 'geo-position'\n};\n\nvar graphBarStyle = {\n id: 'graph-bar-style',\n isList: true,\n fields: [{\n name: 'barColor',\n type: 'color',\n label: reactIntl.defineMessage({\n \"id\": \"qjL/eA\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Bar\"\n }]\n })\n }, {\n name: 'textColor',\n type: 'color',\n label: reactIntl.defineMessage({\n \"id\": \"ZMS1Wv\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text\"\n }]\n })\n }]\n};\n\nvar textElement = {\n id: 'text-element',\n component: 'text-element',\n settings: [{\n name: 'textStyle',\n type: 'text-style'\n }]\n};\n\nvar headingElement = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, textElement), {}, {\n id: 'heading-element',\n size: 'lg',\n inline: true\n});\n\nvar imageWithCaption = {\n id: 'image-with-caption',\n component: 'field-with-form',\n labelPath: 'caption.body',\n thumbnailPath: 'media.thumbnail_url',\n fields: [{\n name: 'media',\n type: 'image',\n label: reactIntl.defineMessage({\n \"id\": \"xT/onn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'caption',\n type: 'text-element',\n label: reactIntl.defineMessage({\n \"id\": \"p85qJD\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Caption\"\n }]\n })\n }]\n};\n\nvar image = {\n id: 'image',\n component: 'image',\n media: true\n};\n\nvar imagesWithCaption = {\n id: 'images-with-caption',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n \"id\": \"dFMzBu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"No image...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n \"id\": \"QSmRdP\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Add an image\"\n }]\n }),\n itemsField: {\n type: 'image-with-caption',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"S3gGiD\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }\n};\n\nvar images = {\n id: 'images',\n component: 'images',\n itemsField: {\n type: 'image',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"/UoxuB\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }\n};\n\nvar inputElement = {\n id: 'input-element',\n component: 'input-element',\n settings: [{\n name: 'textStyle',\n type: 'text-style'\n }, {\n name: 'buttonStyle',\n type: 'button-style',\n className: 'mt-4'\n }]\n};\n\nvar items = {\n id: 'items',\n component: 'items'\n};\n\nvar itemTextStyle = {\n id: 'item-text-style',\n component: 'field-with-form',\n fields: [{\n name: 'style',\n type: 'text-style'\n }]\n};\n\nvar letterSpacing = {\n id: 'letter-spacing',\n component: 'number-with-icon',\n icon: {\n icon: [48, 48, [], 'f067', 'M12 14h5l-7-7-7 7h5v20h-5l7 7 7-7h-5v-20zm8-4v4h24v-4h-24zm0 28h24v-4h-24v4zm0-12h24v-4h-24v4z'],\n iconName: 'letter-spacing',\n prefix: 'fas'\n },\n iconRotation: -90,\n dataList: [-2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2],\n \"float\": true\n};\n\nvar lineHeight = {\n id: 'line-height',\n component: 'number-with-icon',\n icon: {\n icon: [48, 48, [], 'f067', 'M12 14h5l-7-7-7 7h5v20h-5l7 7 7-7h-5v-20zm8-4v4h24v-4h-24zm0 28h24v-4h-24v4zm0-12h24v-4h-24v4z'],\n iconName: 'line-height',\n prefix: 'fas'\n },\n dataList: [1, 1.1, 1.2, 1.3, 1.4, 1.5, 2],\n \"float\": true\n};\n\nvar marker = {\n id: 'marker',\n component: 'field-with-form',\n labelPath: 'title.body',\n fields: [{\n name: 'title',\n type: 'heading-element',\n label: reactIntl.defineMessage({\n \"id\": \"+AEVbJ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n label: reactIntl.defineMessage({\n \"id\": \"ZCe0r4\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'geoPosition',\n type: 'geo-position',\n label: reactIntl.defineMessage({\n \"id\": \"u3ok54\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Position\"\n }]\n })\n }]\n};\n\nvar markerWithImage = {\n id: 'marker-with-image',\n component: 'field-with-form',\n labelPath: 'title.body',\n fields: [{\n name: 'title',\n type: 'heading-element',\n label: reactIntl.defineMessage({\n \"id\": \"+AEVbJ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n label: reactIntl.defineMessage({\n \"id\": \"ZCe0r4\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'image',\n type: 'image',\n label: reactIntl.defineMessage({\n \"id\": \"xT/onn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'geoPosition',\n type: 'geo-position',\n label: reactIntl.defineMessage({\n \"id\": \"u3ok54\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Position\"\n }]\n })\n }]\n};\n\nvar markers = {\n id: 'markers',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n \"id\": \"rdFCsN\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"No marker...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n \"id\": \"8oczXQ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Add a marker\"\n }]\n }),\n itemsField: {\n type: 'marker',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"t7FVa4\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Marker\"\n }]\n })\n }\n};\n\nvar markersWithImage = {\n id: 'markers-with-image',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n \"id\": \"rdFCsN\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"No marker...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n \"id\": \"8oczXQ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Add a marker\"\n }]\n }),\n itemsField: {\n type: 'marker-with-image',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"4cCMV4\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Marker\"\n }]\n })\n }\n};\n\nvar mapZoom = {\n id: 'map-zoom',\n component: 'number',\n min: 0,\n max: 20\n};\n\nvar message = {\n id: 'message',\n component: 'message',\n labelPath: 'message',\n thumbnailPath: 'avatar.thumbnail_url',\n fields: [{\n name: 'speaker',\n type: 'select',\n label: reactIntl.defineMessage({\n \"id\": \"muPX/j\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Speaker\"\n }]\n })\n }, {\n name: 'message',\n type: 'text',\n label: reactIntl.defineMessage({\n \"id\": \"4R/bdr\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Message\"\n }]\n })\n }, {\n name: 'image',\n type: 'image',\n label: reactIntl.defineMessage({\n \"id\": \"xT/onn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }]\n};\n\nvar messages = {\n id: 'messages',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n \"id\": \"HTd98/\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"No message...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n \"id\": \"xCj1gI\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Add a message\"\n }]\n }),\n itemsField: {\n type: 'message',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"7cGi3J\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Message\"\n }]\n })\n }\n};\n\nvar metadata = {\n id: 'metadata',\n component: 'field-with-form',\n noValueLabel: reactIntl.defineMessage({\n \"id\": \"K1BxIr\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Edit metadata...\"\n }]\n }),\n fields: [{\n name: 'title',\n type: 'text',\n label: reactIntl.defineMessage({\n \"id\": \"+AEVbJ\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text',\n label: reactIntl.defineMessage({\n \"id\": \"ZCe0r4\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }]\n};\n\nvar number = {\n id: 'number',\n component: 'number'\n};\n\nvar password = {\n id: 'password',\n component: 'text',\n type: 'password'\n};\n\nvar parameters = {\n id: 'parameters',\n isList: true,\n fields: [{\n name: 'metadata',\n type: 'metadata',\n label: reactIntl.defineMessage({\n \"id\": \"nc8LF0\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Metadata\"\n }]\n })\n }]\n};\n\nvar quizAnswer = {\n id: 'quiz-answer',\n component: 'field-with-form',\n labelPath: 'label.body',\n fields: [{\n name: 'label',\n type: 'text-element',\n textOnly: true,\n label: reactIntl.defineMessage({\n \"id\": \"OJi+eg\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Label\"\n }]\n })\n }, {\n name: 'good',\n type: 'toggle',\n label: reactIntl.defineMessage({\n \"id\": \"3NghmM\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Good answer\"\n }]\n })\n }, {\n name: 'buttonStyle',\n type: 'button-style',\n className: 'mt-4'\n }]\n};\n\nvar quizAnswers = {\n id: 'quiz-answers',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n \"id\": \"A+a0kL\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"No answer...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n \"id\": \"lGh/NP\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Add an answer\"\n }]\n }),\n itemsField: {\n type: 'quiz-answer',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"Bv/pu7\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Answer\"\n }]\n })\n }\n};\n\nvar radios = {\n id: 'radios',\n component: 'radios'\n};\n\nvar screenLayout = {\n id: 'screen-layout',\n component: 'screen-layout'\n};\n\nvar select = {\n id: 'select',\n component: 'select-advanced'\n};\n\nvar speaker = {\n id: 'speaker',\n component: 'field-with-form',\n labelPath: 'name',\n thumbnailPath: 'avatar.thumbnail_url',\n fields: [{\n name: 'name',\n type: 'text',\n label: reactIntl.defineMessage({\n \"id\": \"UUv8FR\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Name\"\n }]\n })\n }, {\n name: 'avatar',\n type: 'image',\n label: reactIntl.defineMessage({\n \"id\": \"hqOIl4\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Avatar\"\n }]\n })\n }, {\n name: 'side',\n type: 'radios',\n options: [{\n value: 'left',\n label: reactIntl.defineMessage({\n \"id\": \"O2JVA+\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Left\"\n }]\n })\n }, {\n value: 'right',\n label: reactIntl.defineMessage({\n \"id\": \"ptJkUl\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Right\"\n }]\n })\n }],\n label: reactIntl.defineMessage({\n \"id\": \"6ak5YN\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Side\"\n }]\n })\n }, {\n name: 'color',\n type: 'color',\n label: reactIntl.defineMessage({\n \"id\": \"aarOkd\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n })\n }]\n};\n\nvar speakers = {\n id: 'speakers',\n component: 'items',\n getDefaultValue: function getDefaultValue() {\n return {\n id: uuid.v1(),\n side: 'left'\n };\n },\n noItemLabel: reactIntl.defineMessage({\n \"id\": \"+nhSvj\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"No speaker...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n \"id\": \"opcGwP\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Add a speaker\"\n }]\n }),\n itemsField: {\n type: 'speaker',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"9Nk11Y\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Speaker\"\n }]\n })\n }\n};\n\nvar textStyle = {\n id: 'text-style',\n fields: [{\n type: 'fields',\n label: reactIntl.defineMessage({\n \"id\": \"Wr9olU\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Typography\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'fontFamily',\n type: 'font-family',\n label: reactIntl.defineMessage({\n \"id\": \"ET527E\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Font family\"\n }]\n })\n }, {\n name: 'color',\n type: 'color',\n label: reactIntl.defineMessage({\n \"id\": \"aarOkd\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n })\n }, {\n name: 'fontSize',\n type: 'font-size',\n label: reactIntl.defineMessage({\n \"id\": \"tYGev7\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Font size\"\n }]\n })\n }, {\n component: 'font-style-with-align',\n fontStyleName: 'fontStyle',\n alignName: 'align'\n }]\n }, {\n type: 'fields',\n name: 'highlight',\n label: reactIntl.defineMessage({\n \"id\": \"HWpflq\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Highlight\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'color',\n type: 'color',\n label: reactIntl.defineMessage({\n \"id\": \"aarOkd\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n })\n }, {\n name: 'textColor',\n type: 'color',\n label: reactIntl.defineMessage({\n \"id\": \"DU1qdc\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Text color\"\n }]\n })\n }]\n }, {\n type: 'fields',\n name: 'link',\n label: reactIntl.defineMessage({\n \"id\": \"ICXTfR\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Links\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'color',\n type: 'color',\n label: reactIntl.defineMessage({\n \"id\": \"aarOkd\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Color\"\n }]\n })\n }, {\n name: 'fontStyle',\n component: 'font-style',\n isHorizontal: true,\n label: reactIntl.defineMessage({\n \"id\": \"6MxaVf\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Style\"\n }]\n })\n }]\n }, {\n type: 'fields',\n label: reactIntl.defineMessage({\n \"id\": \"y7xsPe\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Advanced settings\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'lineHeight',\n type: 'line-height',\n label: reactIntl.defineMessage({\n \"id\": \"31zuCS\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Line height\"\n }]\n })\n }, {\n name: 'letterSpacing',\n type: 'letter-spacing',\n label: reactIntl.defineMessage({\n \"id\": \"Z5jrDS\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Letter spacing\"\n }]\n })\n }, {\n component: 'font-style-transform',\n name: 'fontStyle',\n transformName: 'transform',\n label: reactIntl.defineMessage({\n \"id\": \"GMCLhn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Case\"\n }]\n })\n }]\n }]\n};\n\nvar text = {\n id: 'text',\n component: 'text'\n};\n\nvar toggle = {\n id: 'toggle',\n component: 'toggle'\n};\n\nvar tokens = {\n id: 'tokens',\n component: 'tokens'\n};\n\nvar url = {\n id: 'url',\n component: 'url'\n};\n\nvar video = {\n id: 'video',\n component: 'video',\n media: true\n};\n\nvar videoElement = {\n id: 'video-element',\n fields: [{\n name: 'media',\n type: 'video'\n }],\n settings: [{\n name: 'autoPlay',\n type: 'toggle',\n label: reactIntl.defineMessage({\n \"id\": \"pJgYyE\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"AutoPlay\"\n }]\n })\n }, {\n name: 'loop',\n type: 'toggle',\n label: reactIntl.defineMessage({\n \"id\": \"F2SD/0\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Loop\"\n }]\n })\n }, {\n name: 'withPlayPause',\n type: 'toggle',\n label: reactIntl.defineMessage({\n \"id\": \"8EI08h\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"With play/pause button\"\n }]\n })\n }, {\n name: 'withSeekBar',\n type: 'toggle',\n label: reactIntl.defineMessage({\n \"id\": \"T0pi1u\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"With seek bar\"\n }]\n })\n }, {\n name: 'closedCaptions',\n type: 'closed-captions',\n label: reactIntl.defineMessage({\n \"id\": \"4H2n5r\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Closed captions\"\n }]\n })\n }]\n};\n\nvar visual = {\n id: 'visual',\n component: 'visual',\n media: true\n};\n\nvar visualWithCaption = {\n id: 'visual-with-caption',\n component: 'field-with-form',\n labelPath: 'caption.body',\n thumbnailPath: 'media.thumbnail_url',\n fields: [{\n name: 'media',\n type: 'visual',\n label: reactIntl.defineMessage({\n \"id\": \"xT/onn\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }, {\n name: 'caption',\n type: 'text-element',\n label: reactIntl.defineMessage({\n \"id\": \"p85qJD\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Caption\"\n }]\n })\n }]\n};\n\nvar visualsWithCaption = {\n id: 'visuals-with-caption',\n component: 'items',\n noItemLabel: reactIntl.defineMessage({\n \"id\": \"dFMzBu\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"No image...\"\n }]\n }),\n addItemLabel: reactIntl.defineMessage({\n \"id\": \"QSmRdP\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Add an image\"\n }]\n }),\n itemsField: {\n type: 'visual-with-caption',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"S3gGiD\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }\n};\n\nvar visuals = {\n id: 'visuals',\n component: 'visuals',\n itemsField: {\n type: 'visual',\n breadcrumbLabel: reactIntl.defineMessage({\n \"id\": \"/UoxuB\",\n \"defaultMessage\": [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n })\n }\n};\n\nvar fields = /*#__PURE__*/Object.freeze({\n __proto__: null,\n audio: audio,\n audioElement: audioElement,\n answer: answer,\n answers: answers,\n background: background,\n borderRadius: borderRadius,\n borderStyle: borderStyle,\n borderWidth: borderWidth,\n buttonStyle: buttonStyle,\n buttonElement: buttonElement,\n callToAction: callToAction,\n checkboxes: checkboxes,\n closedCaptions: closedCaptions,\n color: color,\n conversation: conversation,\n email: email,\n entriesWithImage: entriesWithImage,\n entriesWithVisual: entriesWithVisual,\n entries: entries,\n entryWithImage: entryWithImage,\n entryWithVisual: entryWithVisual,\n entry: entry,\n fieldWithForm: fieldWithForm,\n fields: fields$1,\n fit: fit,\n font: font,\n fonts: fonts,\n fontFamily: fontFamily,\n fontSize: fontSize,\n geoPosition: geoPosition,\n graphBarStyle: graphBarStyle,\n headingElement: headingElement,\n imageWithCaption: imageWithCaption,\n image: image,\n imagesWithCaption: imagesWithCaption,\n images: images,\n inputElement: inputElement,\n items: items,\n itemTextStyle: itemTextStyle,\n letterSpacing: letterSpacing,\n lineHeight: lineHeight,\n marker: marker,\n markerWithImage: markerWithImage,\n markers: markers,\n markersWithImage: markersWithImage,\n mapZoom: mapZoom,\n message: message,\n messages: messages,\n metadata: metadata,\n number: number,\n password: password,\n parameters: parameters,\n quizAnswer: quizAnswer,\n quizAnswers: quizAnswers,\n radios: radios,\n screenLayout: screenLayout,\n select: select,\n speaker: speaker,\n speakers: speakers,\n textElement: textElement,\n textStyle: textStyle,\n text: text,\n toggle: toggle,\n tokens: tokens,\n url: url,\n video: video,\n videoElement: videoElement,\n visual: visual,\n visualWithCaption: visualWithCaption,\n visualsWithCaption: visualsWithCaption,\n visuals: visuals\n});\n\nvar allFields = Object.keys(fields).map(function (name) {\n return fields[name];\n});\nvar manager$1 = new core.FieldsManager(allFields);\n\nvar manager = new core.FieldsManager();\nmanager.merge(manager$1);\n\nmodule.exports = manager;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar React = require('react');\nvar PropTypes = require('prop-types');\nvar reactIntl = require('react-intl');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\nvar PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);\n\nvar IntlManager = /*#__PURE__*/function () {\n function IntlManager() {\n _classCallCheck__default[\"default\"](this, IntlManager);\n\n this.locales = [];\n }\n\n _createClass__default[\"default\"](IntlManager, [{\n key: \"addLocale\",\n value: function addLocale(locale, messages) {\n var replace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var currentLocale = this.getLocale(locale);\n this.locales = [].concat(_toConsumableArray__default[\"default\"](currentLocale !== null ? this.locales.filter(function (it) {\n return it.locale !== locale;\n }) : this.locales), [{\n locale: locale,\n messages: currentLocale !== null && !replace ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentLocale.messages), messages) : messages\n }]);\n }\n }, {\n key: \"getLocale\",\n value: function getLocale(locale) {\n return this.locales.find(function (it) {\n return it.locale === locale;\n }) || null;\n }\n }, {\n key: \"hasLocale\",\n value: function hasLocale(locale) {\n return this.getLocale(locale) !== null;\n }\n }, {\n key: \"getMessages\",\n value: function getMessages(locale) {\n var localeObj = this.locales.find(function (it) {\n return it.locale === locale;\n }) || null;\n\n if (localeObj === null) {\n return null;\n }\n\n return localeObj.messages;\n }\n }]);\n\n return IntlManager;\n}();\n\nvar intlManager = new IntlManager();\n\nvar defaultLocales = ['en', 'fr'];\nvar LocalesContext = /*#__PURE__*/React__default[\"default\"].createContext(defaultLocales);\nvar useLocales = function useLocales() {\n return React.useContext(LocalesContext);\n};\nvar useOtherLocales = function useOtherLocales() {\n var locales = useLocales();\n\n var _useContext = React.useContext(reactIntl.IntlContext),\n locale = _useContext.locale;\n\n var otherLocales = React.useMemo(function () {\n return locales.filter(function (it) {\n return it !== locale;\n });\n }, [locales, locale]);\n return otherLocales;\n};\nvar propTypes = {\n intlManager: PropTypes__default[\"default\"].instanceOf(IntlManager),\n locale: PropTypes__default[\"default\"].string,\n locales: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n extraMessages: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].string),\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps = {\n intlManager: intlManager,\n locale: null,\n locales: null,\n extraMessages: null,\n children: null\n};\nvar IntlProvider = function IntlProvider(_ref) {\n var intlManager = _ref.intlManager,\n locale = _ref.locale,\n locales = _ref.locales,\n children = _ref.children,\n extraMessages = _ref.extraMessages;\n var previousLocales = useLocales();\n\n var _ref2 = React.useContext(reactIntl.IntlContext) || {},\n _ref2$locale = _ref2.locale,\n previousLocale = _ref2$locale === void 0 ? null : _ref2$locale,\n _ref2$messages = _ref2.messages,\n previousMessages = _ref2$messages === void 0 ? null : _ref2$messages;\n\n var messages = React.useMemo(function () {\n var currentMessages = intlManager.getMessages(locale);\n\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, currentMessages), extraMessages), previousLocale === locale ? previousMessages : null);\n }, [locale, previousLocale, previousMessages, extraMessages]);\n return /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.IntlProvider, {\n locale: locale,\n messages: messages\n }, /*#__PURE__*/React__default[\"default\"].createElement(LocalesContext.Provider, {\n value: locales || previousLocales\n }, children));\n};\nIntlProvider.propTypes = propTypes;\nIntlProvider.defaultProps = defaultProps;\n\nexports.IntlManager = IntlManager;\nexports.IntlProvider = IntlProvider;\nexports.LocalesContext = LocalesContext;\nexports[\"default\"] = intlManager;\nexports.useLocales = useLocales;\nexports.useOtherLocales = useOtherLocales;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar utils = require('@micromag/transforms/utils');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar isString = require('lodash/isString');\nvar isInteger = require('lodash/isInteger');\nvar isNumber = require('lodash/isNumber');\nvar isEmpty = require('lodash/isEmpty');\nvar hash = require('object-hash');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar isInteger__default = /*#__PURE__*/_interopDefaultLegacy(isInteger);\nvar isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);\nvar isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);\nvar hash__default = /*#__PURE__*/_interopDefaultLegacy(hash);\n\nvar getArticleComponents = function getArticleComponents(story) {\n var _ref = story || {},\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? null : _ref$title,\n _ref$metadata = _ref.metadata,\n metadata = _ref$metadata === void 0 ? {} : _ref$metadata,\n _ref$components = _ref.components,\n components = _ref$components === void 0 ? [] : _ref$components;\n\n var _ref2 = metadata || {},\n _ref2$description = _ref2.description,\n description = _ref2$description === void 0 ? 'Ma description' : _ref2$description;\n\n var heading1 = title ? {\n role: 'heading1',\n text: title,\n format: 'html'\n } : null;\n var heading2 = description ? {\n role: 'heading2',\n text: description,\n format: 'html'\n } : null;\n var titleScreen = components.reduce(function (comp, next, i) {\n if (comp === null && i < 3) {\n if (next.type.indexOf('title') !== false) {\n return next;\n }\n }\n\n return comp;\n }, null);\n var imageComponent = null;\n\n if (titleScreen !== null) {\n var _ref3 = titleScreen || {},\n _ref3$image = _ref3.image,\n image = _ref3$image === void 0 ? null : _ref3$image,\n _ref3$background = _ref3.background,\n background = _ref3$background === void 0 ? null : _ref3$background;\n\n if (image !== null) {\n imageComponent = {\n role: 'image',\n URL: image.url\n };\n } else if (background !== null && background.image !== null) {\n imageComponent = {\n role: 'image',\n URL: background.image.url\n };\n }\n }\n\n var headerComponents = [imageComponent, heading1, heading2].filter(function (it) {\n return it !== null;\n });\n return {\n components: headerComponents.length > 0 ? [{\n role: 'header',\n components: headerComponents,\n layout: 'header'\n }] : []\n };\n};\n\nvar name$f = \"Format\\\\TextStyle\";\nvar description$f = \"The object for defining the text style (font family, size, color, and so on) that you can apply to ranges of text.\";\nvar version$f = \"1.7+\";\nvar from_class$f = null;\nvar typed$f = null;\nvar url$f = \"https://developer.apple.com/documentation/apple_news/textstyle\";\nvar properties$f = [{\n name: \"backgroundColor\",\n type: \"Color\",\n required: false,\n description: \"The background color for text lines. The value defaults to transparent.\",\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalTextStyle\",\n required: false,\n description: \"An array of text style properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"fontFamily\",\n type: \"string\",\n required: false,\n description: \"The font family to use for text rendering, for example Gill Sans. Using a combination of fontFamily, fontWeight, fontWidth and fontStyle you can define the appearance of the text. News automatically selects the appropriate font variant from the available variants in that family.\",\n typed: false\n}, {\n name: \"fontName\",\n type: \"string\",\n required: false,\n description: \"The fontName to refer to an explicit font variant’s PostScript name, such as GillSans-Bold. Alternatively, you can use a combination of fontFamily, fontWeight, fontWidth and/or fontStyle to have News automatically select the appropriate variant depending on the text formatting used.\",\n typed: false\n}, {\n name: \"fontSize\",\n type: \"integer\",\n required: false,\n description: \"The size of the font, in points. By default, the font size will be inherited from a parent component or a default style. As a best practice, try not to go below 16 points for body text. The fontSize may be automatically resized for different device sizes or for iOS devices with Larger Accessibility Sizes enabled.\",\n typed: false\n}, {\n name: \"fontStyle\",\n type: \"enum:string\",\n required: false,\n description: \"The font style to apply for the selected font.\",\n enum_values: [\"normal\", \"italic\", \"oblique\"],\n typed: false\n}, {\n name: \"fontWeight\",\n type: \"enum:integer|string\",\n required: false,\n description: \"The font weight to apply for font selection. In addition to explicit weights (named or numerical), lighter and bolder are available, to set text in a lighter or bolder font as compared to its surrounding text.\",\n enum_values: [100, 200, 300, 400, 500, 600, 700, 800, 900, \"thin\", \"extra-light\", \"extralight\", \"ultra-light\", \"light\", \"regular\", \"normal\", \"book\", \"roman\", \"medium\", \"semi-bold\", \"semibold\", \"demi-bold\", \"demibold\", \"bold\", \"extra-bold\", \"extrabold\", \"ultra-bold\", \"ultrabold\", \"black\", \"heavy\", \"lighter\", \"bolder\"],\n typed: false\n}, {\n name: \"fontWidth\",\n type: \"enum:string\",\n required: false,\n description: \"The font width for font selection (known in CSS as font-stretch). Defines the width characteristics of a font variant between normal, condensed and expanded. Some font families have separate families assigned for different widths (for example, Avenir Next and Avenir Next Condensed), so make sure that the fontFamily you select supports the specified fontWidth.\",\n enum_values: [\"ultra-condensed\", \"extra-condensed\", \"condensed\", \"semi-condensed\", \"normal\", \"semi-expanded\", \"expanded\", \"extra-expanded\", \"ultra-expanded\"],\n typed: false\n}, {\n name: \"orderedListItems\",\n type: \"Format\\\\ListItemStyle\",\n required: false,\n description: \"An object for use with text components with HTML markup. You can create text styles containing an orderedListItems definition to configure how list items inside <ol> tags should be displayed.\",\n typed: false\n}, {\n name: \"strikethrough\",\n type: [\"Format\\\\TextDecoration\", \"boolean\"],\n required: false,\n description: \"The text strikethrough. Set strikethrough to true to use the text color inherited from the textColor property as the strikethrough color, or provide a text decoration definition with a different color. By default strikethrough is omitted (false).\",\n typed: false\n}, {\n name: \"stroke\",\n type: \"Format\\\\TextStrokeStyle\",\n required: false,\n description: \"The stroke style for the text outline. By default, stroke will be omitted.\",\n typed: false\n}, {\n name: \"textColor\",\n type: \"Color\",\n required: false,\n description: \"The text color.\",\n typed: false\n}, {\n name: \"textShadow\",\n type: \"Format\\\\Shadow\",\n required: false,\n description: \"The text shadow for this style.\",\n typed: false\n}, {\n name: \"textTransform\",\n type: \"enum:string\",\n required: false,\n description: \"The transform to apply to the text.\",\n enum_values: [\"uppercase\", \"lowercase\", \"capitalize\", \"none\"],\n typed: false\n}, {\n name: \"tracking\",\n type: \"number\",\n required: false,\n description: \"The amount of tracking (spacing between characters) in text, as a percentage of the fontSize. The actual spacing between letters is determined by combining information from the font and font size.\",\n \"default\": 0,\n typed: false\n}, {\n name: \"underline\",\n type: [\"Format\\\\TextDecoration\", \"boolean\"],\n required: false,\n description: \"The text underlining. This style can be used for links. Set underline to true to use the text color as the underline color, or provide a text decoration with a different color. By default underline is omitted (false).\",\n typed: false\n}, {\n name: \"unorderedListItems\",\n type: \"Format\\\\ListItemStyle\",\n required: false,\n description: \"An object for use with text components with HTML markup. You can create text styles containing an unorderedListItems definition to configure how list items inside <ul> tags should be displayed.\",\n typed: false\n}, {\n name: \"verticalAlignment\",\n type: \"enum:string\",\n required: false,\n description: \"The vertical alignment of the text. You can use this property for superscripts and subscripts.\",\n enum_values: [\"superscript\", \"subscript\", \"baseline\"],\n typed: false\n}];\nvar TextStyleDefinition = {\n name: name$f,\n description: description$f,\n version: version$f,\n from_class: from_class$f,\n \"extends\": null,\n typed: typed$f,\n url: url$f,\n properties: properties$f\n};\n\nvar TextStyle = function TextStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$fontFamily = _ref.fontFamily,\n fontFamily = _ref$fontFamily === void 0 ? null : _ref$fontFamily,\n _ref$fontSize = _ref.fontSize,\n fontSize = _ref$fontSize === void 0 ? null : _ref$fontSize,\n _ref$lineHeight = _ref.lineHeight,\n lineHeight = _ref$lineHeight === void 0 ? null : _ref$lineHeight,\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? null : _ref$color;\n\n var content = {\n fontFamily: fontFamily,\n fontSize: fontSize,\n lineHeight: lineHeight ? Math.floor(fontSize * lineHeight) : null,\n textColor: color && color.color ? color.color : null\n };\n return utils.validate(content, TextStyleDefinition);\n};\n\nvar getArticleTextStyles = function getArticleTextStyles() {\n // const { theme = {} } = story || {};\n // const { textStyle = {} } = theme || {};\n // const { heading1 = {}, text = {} } = textStyle || {};\n // const titleStyles = TextStyle(heading1);\n // const textStyles = TextStyle(text);\n var fontSize = 18;\n var lineHeight = 1.35;\n var titleStyles = TextStyle({\n fontFamily: 'Futura',\n // stylelint-disable-line\n fontSize: fontSize * 2,\n fontWeight: 'bold',\n lineHeight: lineHeight\n });\n var textStyles = TextStyle({\n fontFamily: 'Palatino',\n // stylelint-disable-line\n fontSize: fontSize,\n lineHeight: lineHeight\n });\n return {\n componentTextStyles: {\n \"default\": _objectSpread__default[\"default\"]({\n textColor: '#000',\n linkStyle: {\n textColor: '#F0F',\n underline: true\n }\n }, textStyles !== null ? textStyles : {}),\n 'default-heading1': _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, titleStyles !== null ? titleStyles : {}), {}, {\n fontSize: fontSize * 2,\n lineHeight: 36,\n fontWeight: 'regular',\n fontWidth: 'expanded',\n textTransform: 'uppercase'\n }),\n 'default-heading2': _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, titleStyles !== null ? titleStyles : {}), {}, {\n fontSize: 26,\n fontWeight: 'regular',\n fontWidth: 'expanded',\n textTransform: 'uppercase'\n }),\n 'default-title': _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, titleStyles !== null ? titleStyles : {}), {}, {\n fontSize: 26,\n fontWeight: 'regular',\n fontWidth: 'expanded',\n textTransform: 'uppercase'\n }),\n 'default-body': _objectSpread__default[\"default\"]({}, textStyles !== null ? textStyles : {}),\n 'default-text': _objectSpread__default[\"default\"]({}, textStyles !== null ? textStyles : {}),\n 'default-quote': _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, textStyles !== null ? textStyles : {}), {}, {\n fontSize: 26\n }),\n 'style-author': _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, textStyles !== null ? textStyles : {}), {}, {\n fontStyle: 'italic'\n })\n }\n };\n};\n\nvar name$e = \"Format\\\\Layout\";\nvar description$e = \"The object for defining columns, gutters, and margins for your article’s designed width.\";\nvar version$e = \"1.7+\";\nvar from_class$e = null;\nvar typed$e = null;\nvar url$e = \"https://developer.apple.com/documentation/apple_news/layout\";\nvar properties$e = [{\n name: \"columns\",\n type: \"integer\",\n required: true,\n description: \"The number of columns this article was designed for. You must have at least one column.\",\n minimum: 1,\n typed: false\n}, {\n name: \"width\",\n type: \"integer\",\n required: true,\n description: \"The width (in points) this article was designed for. This property is used to calculate down-scaling scenarios for smaller devices.\",\n minimum: 1,\n typed: false\n}, {\n name: \"gutter\",\n type: \"integer\",\n required: false,\n description: \"The gutter size for the article (in points). The gutter provides spacing between columns. This property should always be an even number; odd numbers are rounded up to the next even number. If this property is omitted, a default gutter size of 20 is applied. If the gutter is negative, the number will be set to 0.\",\n \"default\": 20,\n minimum: 0,\n typed: false\n}, {\n name: \"margin\",\n type: \"integer\",\n required: false,\n description: \"The outer (left and right) margins of the article, in points. If this property is omitted, a default article margin of 60 is applied. If the margin is negative, the number is set to 0. If the margin is greater than or equal to the width/2, the article delivery fails.\",\n \"default\": 60,\n minimum: 0,\n typed: false\n}];\nvar LayoutDefinition = {\n name: name$e,\n description: description$e,\n version: version$e,\n from_class: from_class$e,\n \"extends\": null,\n typed: typed$e,\n url: url$e,\n properties: properties$e\n};\n\nvar Layout = function Layout() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$columns = _ref.columns,\n columns = _ref$columns === void 0 ? 8 : _ref$columns,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? 768 : _ref$width,\n _ref$margin = _ref.margin,\n margin = _ref$margin === void 0 ? 60 : _ref$margin,\n _ref$gutter = _ref.gutter,\n gutter = _ref$gutter === void 0 ? 20 : _ref$gutter;\n\n var content = {\n columns: columns,\n width: width,\n margin: margin,\n gutter: gutter\n };\n return utils.validate(content, LayoutDefinition);\n};\n\nvar name$d = \"Format\\\\ComponentLayout\";\nvar description$d = \"The object for defining the positioning for a specific component within the article’s column system.\";\nvar version$d = \"1.7+\";\nvar from_class$d = null;\nvar typed$d = null;\nvar url$d = \"https://developer.apple.com/documentation/apple_news/componentlayout\";\nvar properties$d = [{\n name: \"columnSpan\",\n type: \"integer\",\n required: false,\n description: \"A number that indicates how many columns the component spans, based on the number of columns in the document.\",\n minimum: 1,\n typed: false\n}, {\n name: \"columnStart\",\n type: \"integer\",\n required: false,\n description: \"A number that indicates which column the component‘s start position is in, based on the number of columns in the document or parent container.\",\n minimum: 0,\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponentLayout\",\n required: false,\n description: \"An array of component layout properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"contentInset\",\n type: [\"Format\\\\ContentInset\", \"boolean\"],\n required: false,\n description: \"A value that defines a content inset for the component. If applied, the inset is equivalent to half the document gutter. For example, if the article's layout sets the document gutter to 40pt, the content inset is 20 points.\",\n typed: false\n}, {\n name: \"horizontalContentAlignment\",\n type: \"enum:string\",\n required: false,\n description: \"A string value that sets the alignment of the content within the component. This property applies only when the width of the content is less than the width of the component.\",\n \"default\": \"center\",\n enum_values: [\"left\", \"center\", \"right\"],\n typed: false\n}, {\n name: \"ignoreDocumentGutter\",\n type: \"enum:boolean|string\",\n required: false,\n description: \"A value that indicates whether the gutters (if any) to the left and right of the component should be ignored. The gutter size is defined in the Layout object at the root level of the document.\",\n enum_values: [\"none\", \"left\", \"right\", \"both\", true, false],\n typed: false\n}, {\n name: \"ignoreDocumentMargin\",\n type: \"enum:boolean|string\",\n required: false,\n description: \"A value that indicates whether a document’s margins should be respected or ignored by the parent container. Ignoring document margins will position the component at the edge of the display. This property affects the layout only if the component is in the first or last column.\",\n enum_values: [\"none\", \"left\", \"right\", \"both\", true, false],\n typed: false\n}, {\n name: \"margin\",\n type: [\"Format\\\\Margin\", \"integer\"],\n required: false,\n description: \"A value that sets the margins for the top and bottom of the component, as a single integer that gets applied to the top and bottom margins, or as an object containing separate properties for top and bottom.\",\n typed: false\n}, {\n name: \"maximumContentWidth\",\n type: [\"SupportedUnits\", \"integer\"],\n required: false,\n description: \"A value that sets the maximum width of the content within the component. Specify this value as an integer in points or using one of the available units of measure for components. See Specifying Measurements for Components.\",\n typed: false\n}, {\n name: \"minimumHeight\",\n type: [\"SupportedUnits\", \"integer\"],\n required: false,\n description: \"A value that sets the minimum height of the component. A component is taller than its defined minimumHeight when the contents require the component to be taller. The minimum height can be defined as an integer in points or using one of the available units of measure for components. See Specifying Measurements for Components.\",\n typed: false\n}, {\n name: \"minimumWidth\",\n type: [\"SupportedUnits\", \"integer\"],\n required: false,\n description: \"A value that defines the minimum width of the layout when used within a Container with HorizontalStackDisplay as the specified contentDisplay type. The minimum width can be defined as an integer in points or using one of the available units of measure for components. See Specifying Measurements for Components.\",\n typed: false\n}, {\n name: \"maximumWidth\",\n type: [\"SupportedUnits\", \"integer\"],\n required: false,\n description: \"A value that defines the maximum width of the layout when used within a Container with HorizontalStackDisplay as the specified contentDisplay type. The maximum width can be defined as an integer in points or using one of the available units of measure for components. See Specifying Measurements for Components.\",\n typed: false\n}, {\n name: \"padding\",\n type: [\"Format\\\\Padding\", \"SupportedUnits\", \"integer\"],\n required: false,\n description: \"A value that defines the padding between the content of the component and the edges of the component. Padding can be defined as an integer in points or using one of the available units of measure for components. See Specifying Measurements for Components.\",\n typed: false\n}];\nvar ComponentLayoutDefinition = {\n name: name$d,\n description: description$d,\n version: version$d,\n from_class: from_class$d,\n \"extends\": null,\n typed: typed$d,\n url: url$d,\n properties: properties$d\n};\n\nvar ComponentLayout = function ComponentLayout() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$columnStart = _ref.columnStart,\n columnStart = _ref$columnStart === void 0 ? 0 : _ref$columnStart,\n _ref$columnSpan = _ref.columnSpan,\n columnSpan = _ref$columnSpan === void 0 ? 12 : _ref$columnSpan,\n _ref$marginTop = _ref.marginTop,\n marginTop = _ref$marginTop === void 0 ? 0 : _ref$marginTop,\n _ref$marginBottom = _ref.marginBottom,\n marginBottom = _ref$marginBottom === void 0 ? 20 : _ref$marginBottom;\n\n var content = {\n columnStart: columnStart,\n columnSpan: columnSpan,\n margin: {\n top: marginTop,\n bottom: marginBottom\n }\n };\n return utils.validate(content, ComponentLayoutDefinition);\n};\n\nvar getArticleLayouts = function getArticleLayouts() {\n // const { theme = {} } = newStory || {};\n // const { textStyle = {} } = theme || {};\n // const { heading1 = {}, text = {} } = textStyle || {};\n // const titleStyles = TextStyle(heading1);\n var layoutStyles = Layout();\n var componentLayoutStyles = ComponentLayout();\n var defaultMargin = 20;\n return {\n layout: _objectSpread__default[\"default\"]({}, layoutStyles !== null ? layoutStyles : {}),\n componentLayouts: {\n \"default\": _objectSpread__default[\"default\"]({}, componentLayoutStyles !== null ? componentLayoutStyles : {}),\n container: {\n margin: {\n bottom: 40\n }\n },\n header: {\n ignoreDocumentMargin: true,\n ignoreDocumentGutter: true,\n margin: {\n bottom: 40\n }\n },\n title: {\n margin: {\n bottom: 10\n }\n },\n heading1: {\n margin: {\n bottom: 10\n }\n },\n heading2: {\n margin: {\n bottom: 10\n }\n },\n text: {\n margin: {\n bottom: defaultMargin\n }\n },\n photo: {\n margin: {\n bottom: defaultMargin\n }\n },\n image: {\n margin: {\n bottom: defaultMargin\n }\n },\n gallery: {\n margin: {\n bottom: defaultMargin\n }\n },\n mosaic: {\n margin: {\n bottom: defaultMargin\n }\n },\n audio: {\n margin: {\n bottom: defaultMargin\n }\n },\n video: {\n margin: {\n bottom: defaultMargin\n }\n },\n map: {\n margin: {\n bottom: defaultMargin\n }\n },\n quote: {\n columnStart: 1,\n columnSpan: 5,\n contentInset: {\n left: false\n },\n margin: {\n right: 20,\n bottom: defaultMargin\n }\n }\n }\n };\n};\n\nvar name$c = \"Format\\\\DocumentStyle\";\nvar description$c = \"The object for setting the background color for your article.\";\nvar version$c = \"1.7+\";\nvar from_class$c = null;\nvar typed$c = null;\nvar url$c = \"https://developer.apple.com/documentation/apple_news/documentstyle\";\nvar properties$c = [{\n name: \"backgroundColor\",\n type: \"Color\",\n required: false,\n description: \"The article’s background color. The value defaults to white.\",\n typed: false\n}];\nvar DocumentStyleDefinition = {\n name: name$c,\n description: description$c,\n version: version$c,\n from_class: from_class$c,\n \"extends\": null,\n typed: typed$c,\n url: url$c,\n properties: properties$c\n};\n\nvar DocumentStyle = function DocumentStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? null : _ref$backgroundColor;\n\n var content = {\n backgroundColor: backgroundColor\n };\n return utils.validate(content, DocumentStyleDefinition);\n};\n\nvar getArticleDocumentStyle = function getArticleDocumentStyle() {\n var documentStyle = DocumentStyle({\n backgroundColor: '#FFF'\n });\n return {\n documentStyle: documentStyle\n };\n};\n\nvar name$b = \"Format\\\\ArticleDocument\";\nvar description$b = \"The root object of an Apple News article, containing required properties, metadata, content, layout, and styles.\";\nvar version$b = \"1.7+\";\nvar from_class$b = null;\nvar typed$b = null;\nvar url$b = \"https://developer.apple.com/documentation/apple_news/articledocument\";\nvar properties$b = [{\n name: \"components\",\n type: \"array:Format\\\\Component\",\n required: true,\n description: \"An array of components that form the content of this article. Components have different roles and types, such as Photo and Music.\",\n typed: true\n}, {\n name: \"componentTextStyles\",\n type: \"Format\\\\ComponentTextStyles\",\n required: true,\n description: \"The component text styles that can be referred to by components in this document. Each article.json file must have, at minimum, a default component text style named default. Defaults by component role can also be set. See Defining and Using Text Styles.\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: true,\n description: \"An unique, publisher-provided identifier for this article. This identifier must remain constant; it cannot change when the article is updated.\",\n typed: false\n}, {\n name: \"language\",\n type: \"string\",\n required: true,\n description: \"A code that indicates the language of the article. Use the IANA.org language subtag registry to find the appropriate code; e.g., en for English, or the more specific en_UK for English (U.K.) or en_US for English (U.S.).\",\n typed: false\n}, {\n name: \"layout\",\n type: \"Format\\\\Layout\",\n required: true,\n description: \"The article’s column system. Apple News Format layouts make it possible to recreate print design on iPhone, iPad, iPod touch and Mac. Layout information is also used to calculate relative positioning and size for these devices. See Planning the Layout for Your Article.\",\n typed: false\n}, {\n name: \"title\",\n type: \"string\",\n required: true,\n description: \"The article title or headline. Should be plain text; formatted text (HTML or Markdown) is not supported.\",\n typed: false\n}, {\n name: \"version\",\n type: \"string\",\n required: true,\n description: \"The version of Apple News Format used in the JSON document.\",\n typed: false\n}, {\n name: \"advertisingSettings\",\n type: \"Format\\\\AdvertisingSettings\",\n required: false,\n description: \"An advertisement to be inserted at a position that is both possible and optimal. You can specify what bannerType you want to have automatically inserted.\",\n typed: false\n}, {\n name: \"autoplacement\",\n type: \"Format\\\\AutoPlacement\",\n required: false,\n description: \"The metadata, appearance, and placement of advertising and related content components within Apple News Format articles.\",\n typed: false\n}, {\n name: \"componentLayouts\",\n type: \"Format\\\\ComponentLayouts\",\n required: false,\n description: \"The article-level ComponentLayout objects that can be referred to by their key within the ComponentLayouts object. See Positioning the Content in Your Article.\",\n typed: false\n}, {\n name: \"componentStyles\",\n type: \"Format\\\\ComponentStyles\",\n required: false,\n description: \"The component styles that can be referred to by components within this document. See Enhancing Your Articles with Styles.\",\n typed: false\n}, {\n name: \"documentStyle\",\n type: \"Format\\\\DocumentStyle\",\n required: false,\n description: \"An object containing the background color of the article.\",\n typed: false\n}, {\n name: \"metadata\",\n type: \"Format\\\\Metadata\",\n required: false,\n description: \"The article's metadata, such as publication date, ad campaign data, and other information that is not part of the core article content.\",\n typed: false\n}, {\n name: \"subtitle\",\n type: \"string\",\n required: false,\n description: \"The article subtitle. Should be plain text; formatted text (HTML or Markdown) is not supported.\",\n typed: false\n}, {\n name: \"textStyles\",\n type: \"Format\\\\TextStyles\",\n required: false,\n description: \"The TextStyle objects available to use inline for text in Text components. See Using HTML with Apple News Format, Using Markdown with Apple News Format, and InlineTextStyle.\",\n typed: false\n}];\nvar ArticleDefinition = {\n name: name$b,\n description: description$b,\n version: version$b,\n from_class: from_class$b,\n \"extends\": null,\n typed: typed$b,\n url: url$b,\n properties: properties$b\n};\n\nvar validate = function validate() {\n var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var definition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var validated = content ? Object.keys(content).reduce(function (values, name) {\n var value = content[name] || null; // Find the reference\n\n if (definition && definition.properties) {\n var property = definition.properties.find(function (prop) {\n return prop.name === name;\n }) || null;\n\n if (property !== null) {\n var isValid = true;\n\n switch (property.type) {\n case 'string':\n isValid = isString__default[\"default\"](value);\n break;\n\n case 'integer':\n isValid = isInteger__default[\"default\"](value);\n break;\n\n case 'float':\n isValid = isNumber__default[\"default\"](value);\n break;\n\n default:\n isValid = value !== null;\n break;\n } // Skip the whole thing it cause it aint gonna work\n\n\n if (!isValid && property.required) {\n console.log('VALIDATION ERROR: SKIPPED BECAUSE REQUIRED', content, name); // eslint-disable-line\n\n return null;\n }\n\n if (values !== null && isValid) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, values), {}, _defineProperty__default[\"default\"]({}, name, value));\n }\n\n console.log('VALIDATION ERROR: VALID TYPE', name, content); // eslint-disable-line\n }\n }\n\n return values;\n }, {}) : {};\n return !isEmpty__default[\"default\"](validated) ? validated : null;\n};\n\nvar Article = function Article(story, settings) {\n // console.log('ARTICLE', story); // eslint-disable-line\n var _story$title = story.title,\n title = _story$title === void 0 ? 'Article' : _story$title;\n\n var _ref = settings || {},\n _ref$identifier = _ref.identifier,\n identifier = _ref$identifier === void 0 ? 'testArticle' : _ref$identifier;\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n title: title,\n version: \"\".concat(1, \".0\").toString(),\n // Note: for some reason only 1.0 works\n identifier: identifier,\n language: 'fr',\n layout: {},\n documentStyle: {},\n components: [],\n componentStyles: {},\n componentTextStyles: {},\n componentLayouts: {}\n }, getArticleDocumentStyle()), getArticleTextStyles()), getArticleLayouts()), getArticleComponents(story)); // console.log('KONTENT', content);\n\n\n return validate(content, ArticleDefinition);\n};\n\nvar name$a = \"Format\\\\Audio\";\nvar description$a = \"The component for adding a playable audio clip.\";\nvar version$a = \"1.7+\";\nvar from_class$a = null;\nvar typed$a = null;\nvar url$a = \"https://developer.apple.com/documentation/apple_news/audio\";\nvar properties$a = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always audio for this component.\",\n value: \"audio\",\n read_only: true,\n typed: false\n}, {\n name: \"URL\",\n type: \"uri\",\n required: true,\n description: \"The URL of an audio file (http or https only). This component supports all AVPlayer audio formats, including the following:\",\n typed: false\n}, {\n name: \"accessibilityCaption\",\n type: \"string\",\n required: false,\n description: \"A caption that describes the content of the audio file. The text is used for VoiceOver for iOS and VoiceOver for macOS. If accessibilityCaption is not provided, the caption value is used for VoiceOver for iOS and VoiceOver for macOS.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"caption\",\n type: \"string\",\n required: false,\n description: \"A caption that describes the content of the audio file. This text is also used by VoiceOver for iOS and VoiceOver for macOS if accessibilityCaption is not provided, or it can be shown when the audio cannot be played.\",\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"explicitContent\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that indicates the audio may contain explicit content.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"imageURL\",\n type: \"string\",\n required: false,\n description: \"The URL of an image file that represents the audio file, such as a cover image.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar AudioDefinition = {\n name: name$a,\n description: description$a,\n version: version$a,\n from_class: from_class$a,\n \"extends\": \"Format\\\\Component\",\n typed: typed$a,\n url: url$a,\n properties: properties$a\n};\n\nvar MediaElement = function MediaElement(story, media) {\n var role = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'audio';\n var definition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var _story$componentLayou = story.componentLayouts,\n componentLayouts = _story$componentLayou === void 0 ? {} : _story$componentLayou;\n\n var _ref = media || {},\n url = _ref.url;\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n role: role\n }, componentLayouts[role] ? {\n layout: role\n } : {}), {}, {\n URL: url\n });\n\n var component = utils.validate(content, definition);\n return {\n story: story,\n component: role === 'audio' ? component : component // Figure out HLS for videos\n\n };\n};\n\nvar Audio = function Audio(story, audio) {\n return MediaElement(story, audio, 'audio', AudioDefinition);\n};\n\nvar name$9 = \"Format\\\\Text\";\nvar description$9 = \"Properties shared by all text component types.\";\nvar version$9 = \"1.7+\";\nvar from_class$9 = null;\nvar typed$9 = null;\nvar url$9 = \"https://developer.apple.com/documentation/apple_news/text\";\nvar properties$9 = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"The role of a text component depends on the type of content it contains. For example, a PullQuote should have a role of pullquote, and for text in the article body, the role should be body. See Component.\",\n typed: false\n}, {\n name: \"text\",\n type: \"string\",\n required: true,\n description: \"The text to display in the article, including any formatting tags depending on the format property.\",\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\Addition\",\n required: false,\n description: \"An array of all the additions that should be applied to ranges of the component's text.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalText\",\n required: false,\n description: \"An array of text component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"format\",\n type: \"enum:string\",\n required: false,\n description: \"The formatting or markup method applied to the text.\",\n \"default\": \"none\",\n enum_values: [\"markdown\", \"html\", \"none\"],\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"inlineTextStyles\",\n type: \"array:Format\\\\InlineTextStyle\",\n required: false,\n description: \"An array of InlineTextStyle objects you can use to apply different text styles to ranges of text. For each InlineTextStyle, you should supply a rangeStart, rangeLength, and either a text style or the identifier of a text style that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"textStyle\",\n type: [\"Format\\\\ComponentTextStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentTextStyle object that contains styling information, or a string reference to a ComponentTextStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar TextDefinition = {\n name: name$9,\n description: description$9,\n version: version$9,\n from_class: from_class$9,\n \"extends\": \"Format\\\\Component\",\n typed: typed$9,\n url: url$9,\n properties: properties$9\n};\n\nvar TextElement = function TextElement(story, text) {\n var role = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'text';\n var definition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var props = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n var _story$componentLayou = story.componentLayouts,\n componentLayouts = _story$componentLayou === void 0 ? {} : _story$componentLayou;\n\n var _ref = text || {},\n _ref$body = _ref.body,\n body = _ref$body === void 0 ? null : _ref$body,\n _ref$textStyle = _ref.textStyle,\n textStyle = _ref$textStyle === void 0 ? null : _ref$textStyle;\n\n var style = textStyle ? TextStyle(textStyle) : null;\n var styleName = style !== null ? hash__default[\"default\"](style) : null;\n var hasStyle = style !== null && styleName !== null;\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n role: role\n }, componentLayouts[role] ? {\n layout: role\n } : {}), {}, {\n text: body,\n format: 'html'\n }, props);\n\n var component = definition ? utils.validate(content, definition) : null;\n return {\n story: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story), {}, {\n componentStyles: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, story.componentStyles || {}), component !== null && hasStyle ? _defineProperty__default[\"default\"]({}, styleName, style) : {})\n }),\n component: component\n };\n};\n\nvar Author = function Author(story, text) {\n return TextElement(story, text, 'text', TextDefinition, {\n textStyle: 'style-author'\n });\n};\n\nvar name$8 = \"Format\\\\Container\";\nvar description$8 = \"Properties shared by all container types.\";\nvar version$8 = \"1.7+\";\nvar from_class$8 = null;\nvar typed$8 = null;\nvar url$8 = \"https://developer.apple.com/documentation/apple_news/container\";\nvar properties$8 = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always container for this component.\",\n value: \"container\",\n read_only: true,\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\ComponentLink\",\n required: false,\n description: \"An array of ComponentLink objects. This can be used to create a ComponentLink, allowing a link to anywhere in News. Adding a link to a container component makes the entire component interactable. Any links used in its child components are not interactable.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"components\",\n type: \"array:Format\\\\Component\",\n required: false,\n description: \"An array of components to display as child components. Child components are positioned and rendered relative to their parent component.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalContainer\",\n required: false,\n description: \"An array of container properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"contentDisplay\",\n type: [\"Format\\\\CollectionDisplay\", \"Format\\\\HorizontalStackDisplay\"],\n required: false,\n description: \"The object that defines the way child components should be positioned within this container component. A HorizontalStackDisplay for example, allows for displaying child components side-by-side.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar ContainerDefinition = {\n name: name$8,\n description: description$8,\n version: version$8,\n from_class: from_class$8,\n \"extends\": \"Format\\\\Component\",\n typed: typed$8,\n url: url$8,\n properties: properties$8\n};\n\nvar Container = function Container(story, components) {\n var content = {\n role: 'container',\n components: components\n };\n var component = utils.validate(content, ContainerDefinition);\n return {\n story: story,\n component: components && components.length > 0 ? component : null\n };\n};\n\nvar name$7 = \"Format\\\\Gallery\";\nvar description$7 = \"The component for displaying a sequence of images in a specific order as a horizontal strip.\";\nvar version$7 = \"1.7+\";\nvar from_class$7 = null;\nvar typed$7 = null;\nvar url$7 = \"https://developer.apple.com/documentation/apple_news/gallery\";\nvar properties$7 = [{\n name: \"items\",\n type: \"array:Format\\\\GalleryItem\",\n required: true,\n description: \"An array of the images that appear in the gallery. The order used in the array is the order of the images in the gallery. Gallery items can be JPEG (with .jpg or .jpeg extension), PNG, or GIF images.\",\n typed: false\n}, {\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always gallery for this component.\",\n value: \"gallery\",\n read_only: true,\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar GalleryDefinition = {\n name: name$7,\n description: description$7,\n version: version$7,\n from_class: from_class$7,\n \"extends\": \"Format\\\\Component\",\n typed: typed$7,\n url: url$7,\n properties: properties$7\n};\n\nvar GalleryElement = function GalleryElement(story, gallery) {\n var role = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'gallery';\n var definition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var _story$componentLayou = story.componentLayouts,\n componentLayouts = _story$componentLayou === void 0 ? {} : _story$componentLayou;\n\n var _ref = gallery || {},\n _ref$images = _ref.images,\n images = _ref$images === void 0 ? [] : _ref$images;\n\n var galleryImages = images !== null ? images.map(function (image) {\n if (image == null) {\n return null;\n }\n\n var _ref2 = image || {},\n _ref2$media = _ref2.media,\n media = _ref2$media === void 0 ? null : _ref2$media,\n _ref2$url = _ref2.url,\n url = _ref2$url === void 0 ? null : _ref2$url,\n _ref2$caption = _ref2.caption,\n caption = _ref2$caption === void 0 ? null : _ref2$caption;\n\n var mediaUrl = media !== null && media.url ? media.url : null;\n var imageUrl = url !== null ? url : null;\n var hasUrl = imageUrl || mediaUrl;\n var imageCaption = caption !== null && caption.body ? utils.stripTags(caption.body) : null;\n return hasUrl ? _objectSpread__default[\"default\"]({\n URL: imageUrl || mediaUrl\n }, imageCaption !== null ? {\n caption: imageCaption\n } : {}) : null;\n }).filter(function (i) {\n return i !== null;\n }) : [];\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n role: role\n }, componentLayouts[role] ? {\n layout: role\n } : {}), {}, {\n items: galleryImages\n });\n\n var component = utils.validate(content, definition);\n return {\n story: story,\n component: component\n };\n};\n\nvar Gallery = function Gallery(story, gallery) {\n return GalleryElement(story, gallery, 'gallery', GalleryDefinition);\n};\n\nvar name$6 = \"Format\\\\Heading\";\nvar description$6 = \"The text component for adding a heading.\";\nvar version$6 = \"1.7+\";\nvar from_class$6 = null;\nvar typed$6 = null;\nvar url$6 = \"https://developer.apple.com/documentation/apple_news/heading\";\nvar properties$6 = [{\n name: \"role\",\n type: \"enum:string\",\n required: true,\n description: \"Always one of these roles for this component: heading, heading1, heading2, heading3, heading4, heading5, or heading6.\",\n enum_values: [\"heading\", \"heading1\", \"heading2\", \"heading3\", \"heading4\", \"heading5\", \"heading6\"],\n value: \"heading\",\n typed: false\n}, {\n name: \"text\",\n type: \"string\",\n required: true,\n description: \"The text to display in the article, including any formatting tags depending on the format property.\",\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\Addition\",\n required: false,\n description: \"An array of all the additions that should be applied to ranges of the component's text.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalText\",\n required: false,\n description: \"An array of text components that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"format\",\n type: \"enum:string\",\n required: false,\n description: \"The formatting or markup method applied to the text.\",\n \"default\": \"none\",\n enum_values: [\"markdown\", \"html\", \"none\"],\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"inlineTextStyles\",\n type: \"array:Format\\\\InlineTextStyle\",\n required: false,\n description: \"An array of InlineTextStyle objects that you can use to apply different text styles to ranges of text. For each InlineTextStyle, you should supply a rangeStart, a rangeLength, and either a TextStyle object or the identifier of a TextStyle that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"textStyle\",\n type: [\"Format\\\\ComponentTextStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentTextStyle object that contains styling information, or a string reference to a ComponentTextStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar HeadingDefinition = {\n name: name$6,\n description: description$6,\n version: version$6,\n from_class: from_class$6,\n \"extends\": \"Format\\\\Text\",\n typed: typed$6,\n url: url$6,\n properties: properties$6\n};\n\nvar Heading1 = function Heading1(story, heading) {\n return TextElement(story, heading, 'heading1', HeadingDefinition);\n};\n\nvar Heading2 = function Heading2(story, heading) {\n return TextElement(story, heading, 'heading2', HeadingDefinition);\n};\n\nvar name$5 = \"Format\\\\Image\";\nvar description$5 = \"The component for displaying JPEG, PNG, or GIF images.\";\nvar version$5 = \"1.7+\";\nvar from_class$5 = null;\nvar typed$5 = null;\nvar url$5 = \"https://developer.apple.com/documentation/apple_news/image\";\nvar properties$5 = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always image for this component.\",\n value: \"image\",\n read_only: true,\n typed: false\n}, {\n name: \"URL\",\n type: \"uri\",\n required: true,\n description: \"The URL of an image file.\",\n typed: false\n}, {\n name: \"accessibilityCaption\",\n type: \"string\",\n required: false,\n description: \"A caption that describes the image. The text is used for VoiceOver for iOS and VoiceOver for macOS. If accessibilityCaption is not provided, the caption value is used for VoiceOver for iOS and VoiceOver for macOS.\",\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\ComponentLink\",\n required: false,\n description: \"An array of ComponentLink objects. This can be used to create a ComponentLink, allowing a link to anywhere in News.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"caption\",\n type: [\"Format\\\\CaptionDescriptor\", \"string\"],\n required: false,\n description: \"A caption that describes the image. The text is seen when the image is in full screen. This text is also used by VoiceOver for iOS and VoiceOver for macOS, if accessibilityCaption text is not provided. The caption text does not appear in the main article view. To display a caption in the main article view, use the Caption component.\",\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"explicitContent\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that indicates the image may contain explicit content.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar ImageDefinition = {\n name: name$5,\n description: description$5,\n version: version$5,\n from_class: from_class$5,\n \"extends\": \"Format\\\\Component\",\n typed: typed$5,\n url: url$5,\n properties: properties$5\n};\n\nvar ImageElement = function ImageElement(story, image) {\n var role = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'image';\n var definition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var _story$componentLayou = story.componentLayouts,\n componentLayouts = _story$componentLayou === void 0 ? {} : _story$componentLayou;\n\n var _ref = image || {},\n url = _ref.url;\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n role: role\n }, componentLayouts[role] ? {\n layout: role\n } : {}), {}, {\n URL: url\n });\n\n var component = utils.validate(content, definition);\n return {\n story: story,\n component: component\n };\n};\n\nvar Image = function Image(story, image) {\n return ImageElement(story, image, 'image', ImageDefinition);\n};\n\nvar name$4 = \"Format\\\\Map\";\nvar description$4 = \"The component for adding a map.\";\nvar version$4 = \"1.7+\";\nvar from_class$4 = null;\nvar typed$4 = null;\nvar url$4 = \"https://developer.apple.com/documentation/apple_news/map\";\nvar properties$4 = [{\n name: \"latitude\",\n type: \"number\",\n required: true,\n description: \"The latitude of the map’s center. Provide both a latitude and longitude, or an array of items.\",\n typed: false\n}, {\n name: \"longitude\",\n type: \"number\",\n required: true,\n description: \"The longitude of the map’s center. Provide both a latitude and longitude, or an array of items.\",\n typed: false\n}, {\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always map for this component.\",\n value: \"map\",\n read_only: true,\n typed: false\n}, {\n name: \"accessibilityCaption\",\n type: \"string\",\n required: false,\n description: \"The caption that describes what is visible on the map. The text is used for VoiceOver for iOS and VoiceOver for macOS. The value in this property should describe the contents of the map for non-sighted users. If accessibilityCaption is not provided the caption value is used for VoiceOver for iOS and VoiceOver for macOS.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"caption\",\n type: \"string\",\n required: false,\n description: \"A string that describes what is displayed on the map. The caption is displayed in the full screen version of the map. This text is also used by VoiceOver for iOS and VoiceOver for macOS, if accessibilityCaption text is not provided.\",\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"items\",\n type: \"array:Format\\\\MapItem\",\n required: false,\n description: \"An array of MapItems. If latitude and longitude are not set, at least one item containing latitude and longitude should be added to the items array.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"mapType\",\n type: \"enum:string\",\n required: false,\n description: \"A string that defines the type of map to display by default.\",\n \"default\": \"standard\",\n enum_values: [\"standard\", \"hybrid\", \"satellite\"],\n typed: false\n}, {\n name: \"span\",\n type: \"Format\\\\MapSpan\",\n required: false,\n description: \"An object for defining the visible area of a map, relative to its center. A span is defined in deltas for latitude and longitude.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar MapDefinition = {\n name: name$4,\n description: description$4,\n version: version$4,\n from_class: from_class$4,\n \"extends\": \"Format\\\\Component\",\n typed: typed$4,\n url: url$4,\n properties: properties$4\n};\n\nvar MapElement = function MapElement(story, map) {\n var role = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'map';\n var definition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var _story$componentLayou = story.componentLayouts,\n componentLayouts = _story$componentLayou === void 0 ? {} : _story$componentLayou;\n\n var _ref = map || {},\n _ref$latitude = _ref.latitude,\n latitude = _ref$latitude === void 0 ? null : _ref$latitude,\n _ref$longitude = _ref.longitude,\n longitude = _ref$longitude === void 0 ? null : _ref$longitude;\n\n var content = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({\n role: role\n }, componentLayouts[role] ? {\n layout: role\n } : {}), {}, {\n latitude: latitude,\n longitude: longitude\n });\n\n var component = utils.validate(content, definition);\n return {\n story: story,\n component: component\n };\n};\n\nvar Map = function Map(story, map) {\n return MapElement(story, map, 'map', MapDefinition);\n};\n\nvar name$3 = \"Format\\\\Mosaic\";\nvar description$3 = \"The component for displaying a set of images as tiles in no particular order.\";\nvar version$3 = \"1.7+\";\nvar from_class$3 = null;\nvar typed$3 = null;\nvar url$3 = \"https://developer.apple.com/documentation/apple_news/mosaic\";\nvar properties$3 = [{\n name: \"items\",\n type: \"array:Format\\\\GalleryItem\",\n required: true,\n description: \"An array of the images that will appear in the mosaic. The order used in the array may affect layout and positioning in the mosaic, depending on the device or width. Gallery items can be JPEG (with .jpg or .jpeg extension), PNG, or GIF images. If the GIF is animated, the animation plays only in full screen.\",\n typed: false\n}, {\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always mosaic for this component.\",\n value: \"mosaic\",\n read_only: true,\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar MosaicDefinition = {\n name: name$3,\n description: description$3,\n version: version$3,\n from_class: from_class$3,\n \"extends\": \"Format\\\\Component\",\n typed: typed$3,\n url: url$3,\n properties: properties$3\n};\n\nvar Mosaic = function Mosaic(story, mosaic) {\n return GalleryElement(story, mosaic, 'mosaic', MosaicDefinition);\n};\n\nvar name$2 = \"Format\\\\Quote\";\nvar description$2 = \"The component for including a quote.\";\nvar version$2 = \"1.7+\";\nvar from_class$2 = null;\nvar typed$2 = null;\nvar url$2 = \"https://developer.apple.com/documentation/apple_news/quote\";\nvar properties$2 = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always quote for this component.\",\n value: \"quote\",\n read_only: true,\n typed: false\n}, {\n name: \"text\",\n type: \"string\",\n required: true,\n description: \"The text to display in the article, including any formatting tags depending on the format property.\",\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\Addition\",\n required: false,\n description: \"An array of all the additions that should be applied to ranges of the component's text.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalText\",\n required: false,\n description: \"An array of text components that can be applied conditionally and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"format\",\n type: \"enum:string\",\n required: false,\n description: \"The formatting or markup method applied to the text.\",\n \"default\": \"none\",\n enum_values: [\"markdown\", \"html\", \"none\"],\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"inlineTextStyles\",\n type: \"array:Format\\\\InlineTextStyle\",\n required: false,\n description: \"An array of InlineTextStyle objects that you can use to apply different text styles to ranges of text. For each InlineTextStyle, you should supply a rangeStart, rangeLength, and either a TextStyle object or the identifier of a TextStyle that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"textStyle\",\n type: [\"Format\\\\ComponentTextStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentTextStyle object that contains styling information, or a string reference to a ComponentTextStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar QuoteDefinition = {\n name: name$2,\n description: description$2,\n version: version$2,\n from_class: from_class$2,\n \"extends\": \"Format\\\\Text\",\n typed: typed$2,\n url: url$2,\n properties: properties$2\n};\n\nvar Quote = function Quote(story, quote) {\n return TextElement(story, quote, 'quote', QuoteDefinition);\n};\n\nvar name$1 = \"Format\\\\Title\";\nvar description$1 = \"The component for adding an article title.\";\nvar version$1 = \"1.7+\";\nvar from_class$1 = null;\nvar typed$1 = null;\nvar url$1 = \"https://developer.apple.com/documentation/apple_news/title\";\nvar properties$1 = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always title for this component.\",\n value: \"title\",\n read_only: true,\n typed: false\n}, {\n name: \"text\",\n type: \"string\",\n required: true,\n description: \"The text to display in the article, including any formatting tags depending on the format property.\",\n typed: false\n}, {\n name: \"additions\",\n type: \"array:Format\\\\Addition\",\n required: false,\n description: \"An array of all the additions that should be applied to ranges of the component's text.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalText\",\n required: false,\n description: \"An array of text components that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"format\",\n type: \"enum:string\",\n required: false,\n description: \"The formatting or markup method applied to the text.\",\n \"default\": \"none\",\n enum_values: [\"markdown\", \"html\", \"none\"],\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"inlineTextStyles\",\n type: \"array:Format\\\\InlineTextStyle\",\n required: false,\n description: \"An array of InlineTextStyle objects that you can use to apply different text styles to ranges of text. For each InlineTextStyle, you should supply a rangeStart, a rangeLength, and either a TextStyle object or the identifier of a TextStyle that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"textStyle\",\n type: [\"Format\\\\ComponentTextStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentTextStyle object that contains styling information, or a string reference to a ComponentTextStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar TitleDefinition = {\n name: name$1,\n description: description$1,\n version: version$1,\n from_class: from_class$1,\n \"extends\": \"Format\\\\Text\",\n typed: typed$1,\n url: url$1,\n properties: properties$1\n};\n\nvar Subtitle = function Subtitle(story, subtitle) {\n return TextElement(story, subtitle, 'title', TitleDefinition);\n};\n\nvar Text = function Text(story, text) {\n return TextElement(story, text, 'text', TextDefinition);\n};\n\nvar Title = function Title(story, title) {\n return TextElement(story, title, 'title', TitleDefinition);\n};\n\nvar name = \"Format\\\\Video\";\nvar description = \"The component for adding a video.\";\nvar version = \"1.7+\";\nvar from_class = null;\nvar typed = null;\nvar url = \"https://developer.apple.com/documentation/apple_news/video\";\nvar properties = [{\n name: \"role\",\n type: \"string\",\n required: true,\n description: \"Always video for this component.\",\n value: \"video\",\n read_only: true,\n typed: false\n}, {\n name: \"URL\",\n type: \"uri\",\n required: true,\n description: \"The URL of a video file that can be played using AVPlayer. HTTP Live Streaming (HLS) is highly recommended (.M3U8). For more information on HLS, refer to the iOS developer documentation on HTTP Live Streaming, especially the following sections of the HTTP Live Streaming Overview:\",\n typed: false\n}, {\n name: \"accessibilityCaption\",\n type: \"string\",\n required: false,\n description: \"A caption that describes the content of the video. The text is used for VoiceOver for iOS and VoiceOver for macOS. If accessibilityCaption is not provided, the caption value is used for VoiceOver for iOS and VoiceOver for macOS.\",\n typed: false\n}, {\n name: \"anchor\",\n type: \"Format\\\\Anchor\",\n required: false,\n description: \"An object that defines vertical alignment with another component.\",\n typed: false\n}, {\n name: \"animation\",\n type: \"Format\\\\ComponentAnimation\",\n required: false,\n description: \"An object that defines an animation to be applied to the component.\",\n typed: true\n}, {\n name: \"aspectRatio\",\n type: \"number\",\n required: false,\n description: \"The aspect ratio of the video: width divided by height. The aspect ratio determines the height of the video player.\",\n \"default\": 1.777,\n typed: false\n}, {\n name: \"behavior\",\n type: \"Format\\\\Behavior\",\n required: false,\n description: \"An object that defines behavior for a component, like Parallax or Springy.\",\n typed: true\n}, {\n name: \"caption\",\n type: \"string\",\n required: false,\n description: \"A caption that describes the content of the video file. This text is also used by VoiceOver for iOS and VoiceOver for macOS if accessibilityCaption is not provided, or it can be shown when the video cannot be played.\",\n typed: false\n}, {\n name: \"conditional\",\n type: \"array:Format\\\\ConditionalComponent\",\n required: false,\n description: \"An array of component properties that can be applied conditionally, and the conditions that cause them to be applied.\",\n typed: false\n}, {\n name: \"explicitContent\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that indicates that the video or its still image may contain explicit content.\",\n typed: false\n}, {\n name: \"hidden\",\n type: \"boolean\",\n required: false,\n description: \"A Boolean value that determines whether the component is hidden.\",\n \"default\": \"false\",\n typed: false\n}, {\n name: \"identifier\",\n type: \"string\",\n required: false,\n description: \"An optional unique identifier for this component. If used, this identifier must be unique across the entire document. You will need an identifier for your component if you want to anchor other components to it.\",\n typed: false\n}, {\n name: \"layout\",\n type: [\"Format\\\\ComponentLayout\", \"string\"],\n required: false,\n description: \"An inline ComponentLayout object that contains layout information, or a string reference to a ComponentLayout object that is defined at the top level of the document.\",\n typed: false\n}, {\n name: \"stillURL\",\n type: \"uri\",\n required: false,\n description: \"The URL of an image file that should be shown when the video has not yet been played.\",\n typed: false\n}, {\n name: \"style\",\n type: [\"Format\\\\ComponentStyle\", \"string\"],\n required: false,\n description: \"An inline ComponentStyle object that defines the appearance of this component, or a string reference to a ComponentStyle object that is defined at the top level of the document.\",\n typed: false\n}];\nvar VideoDefinition = {\n name: name,\n description: description,\n version: version,\n from_class: from_class,\n \"extends\": \"Format\\\\Component\",\n typed: typed,\n url: url,\n properties: properties\n};\n\nvar Video = function Video(story, video) {\n return MediaElement(story, video, 'video', VideoDefinition);\n};\n\nexports.Article = Article;\nexports.Audio = Audio;\nexports.Author = Author;\nexports.Container = Container;\nexports.Gallery = Gallery;\nexports.Heading1 = Heading1;\nexports.Heading2 = Heading2;\nexports.Image = Image;\nexports.Map = Map;\nexports.Mosaic = Mosaic;\nexports.Quote = Quote;\nexports.Subtitle = Subtitle;\nexports.Text = Text;\nexports.TextStyle = TextStyle;\nexports.Title = Title;\nexports.Video = Video;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar isString = require('lodash/isString');\nvar isInteger = require('lodash/isInteger');\nvar isNumber = require('lodash/isNumber');\nvar isEmpty = require('lodash/isEmpty');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);\nvar isInteger__default = /*#__PURE__*/_interopDefaultLegacy(isInteger);\nvar isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);\nvar isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);\n\nvar validate = function validate() {\n var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var definition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var validated = content ? Object.keys(content).reduce(function (values, name) {\n var value = content[name] || null; // Find the reference\n\n if (definition && definition.properties) {\n var property = definition.properties.find(function (prop) {\n return prop.name === name;\n }) || null;\n\n if (property !== null) {\n var isValid = true;\n\n switch (property.type) {\n case 'string':\n isValid = isString__default[\"default\"](value);\n break;\n\n case 'integer':\n isValid = isInteger__default[\"default\"](value);\n break;\n\n case 'float':\n isValid = isNumber__default[\"default\"](value);\n break;\n\n default:\n isValid = value !== null;\n break;\n } // Skip the whole thing it cause it aint gonna work\n\n\n if (!isValid && property.required) {\n console.log('VALIDATION ERROR: SKIPPED BECAUSE REQUIRED', content, name); // eslint-disable-line\n\n return null;\n }\n\n if (values !== null && isValid) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, values), {}, _defineProperty__default[\"default\"]({}, name, value));\n }\n\n console.log('VALIDATION ERROR: VALID TYPE', name, content); // eslint-disable-line\n }\n }\n\n return values;\n }, {}) : {};\n return !isEmpty__default[\"default\"](validated) ? validated : null;\n};\n\nvar stripTags = function stripTags(str) {\n if (!str) {\n return null;\n }\n\n return str.replace(/(<([^>]+)>)/gi, '');\n};\n\nexports.stripTags = stripTags;\nexports.validate = validate;\n"],"names":["styles$1","propTypes$1","currentTime","duration","playing","sampleWidth","sampleMargin","minSampleHeight","backgroundColor","progressColor","audioLevels","className","onSeek","onResume","onReady","AudioWave","_ref","canvasBackgroundRef","useRef","canvasProgressRef","_useResizeObserver","useResizeObserver","elRef","ref","_ref2","entry","contentRect","_ref2$width","width","elWidth","elHeight","height","_useSpring","useSpring","x","config","_useSpring2","springProps","setSpringProps","useEffect","progress","start","reset","immediate","from","to","length","current","sampleOuterWidth","samplesCount","Math","floor","levelsBySamples","amplitudes","Array","keys","reduce","newAmplitudes","index","levelStartIndex","levelEndIndex","newValues","i","round","push","concat","total","value","minAmplitude","min","apply","delta","max","normalizedAmplitudes","map","n","canvasBg","canvasProgress","scale","window","devicePixelRatio","ctxBG","getContext","ctxProgress","clearRect","fillStyle","offsetLeft","forEach","amplitude","amplitudeI","sampleHeight","sampleX","sampleY","fillRect","seekFromX","useCallback","elX","getBoundingClientRect","left","bind","useGesture","onDrag","_ref3","xy","elapsedTime","active","drag","axis","filterTaps","Object","assign","animated","style","clipPath","propTypes","defaultProps","_excluded","media","PropTypes","apiRef","initialMuted","autoPlay","loop","waveFake","waveProps","reduceBufferFactor","onPlay","onPause","onEnded","onSeeked","onTimeUpdate","onProgressStep","onDurationChanged","onVolumeChanged","Audio","_ref2$url","url","_ref2$metadata","metadata","_ref3$waveform","waveform","userInteracted","useUserInteracted","finalInitialMuted","_useMediaApi","useMediaApi","api","mediaRef","seek","audioReady","ready","play","pause","muted","unMute","_useState","useState","_useState2","setAudioLevels","_useState3","_useState4","blobUrl","setBlobUrl","canceled","AudioContext","webkitAudioContext","it","random","fetch","mode","then","response","Error","arrayBuffer","URL","createObjectURL","Blob","decodeAudioData","buffer","numberOfChannels","leftChannelData","getChannelData","newArray","level","levelIndex","abs","e","key","src","crossOrigin","preload","Audio$1","props","timeOffset","ClosedCaptions","lines","setLines","lineIndex","setLineIndex","startOffset","split","startSeconds","getSecondsFromTime","text","srt","parsed","console","error","getLineIndexFromTime","t","currentLineIndex","findIndex","line","end","nextLineIndex","dangerouslySetInnerHTML","__html","focusable","SeekBar","intl","useIntl","onSeekClick","currentTargetRect","currentTarget","seekProgress","pageX","transform","type","onClick","title","formatMessage","tabIndex","onTogglePlay","onToggleMute","withSeekBar","withPlayPause","MediaControls","FontAwesomeIcon","icon","faPause","faPlay","faVolumeUp","playsInline","withoutCors","supportedMimes","Video","_ref6","mediaUrl","_ref2$files","files","_ref3$description","description","_ref3$mime","mime","mediaMime","filesArray","useMemo","getMediaFilesAsArray","sourceFiles","supportVideo","document","createElement","finalSupportedMimes","filter","canPlayType","file","_file$mime","id","indexOf","_ref4","find","_ref5","handle","_ref4$type","originalType","_ref4$mime","originalMime","isImageWithoutSourceFile","dataReady","withSize","container","paused","alt","video","_ref7","sourceUrl","sourceMime","Video$1","fit","horizontalAlign","verticalAlign","repeat","color","children","loadingMode","Background","_ref2$type","mediaType","mediaMetadata","mediaThumbnailUrl","thumbnail_url","_ref3$width","mediaWidth","_ref3$height","mediaHeight","isVideo","isImage","_useIntersectionObser","useIntersectionObserver","disabled","rootMargin","intersectingRef","isIntersecting","shouldLoadRef","shouldLoad","log","containerStyle","getStyleFromColor","finalUrl","getOptimalImageUrl","backgroundImage","backgroundRepeat","backgroundPosition","join","backgroundSize","videoContainerStyle","_getSizeWithinBounds","cover","_getSizeWithinBounds$","videoWidth","_getSizeWithinBounds$2","videoHeight","top","objectFit","videoContainer","content","background","BackgroundLayers","hasSize","layers","getLayersFromBackground","maxZIndex","_ref3$horizontalAlign","undefined","_ref3$verticalAlign","layer","bottom","right","zIndex","Container","StackContext","direction","propTypes$4","StackProvider","Provider","propTypes$3","size","minSize","maxSize","Spacer","useContext","minWidth","maxWidth","minHeight","maxHeight","withoutTransitionsWrapper","propTypes$2","align","spacing","reverse","Stack","flexDirection","alignItems","justifyContent","space","lastIndex","allChildren","child","HStack","VStack","distribution","fullscreen","Layout","finalStyle","body","textStyle","linksStyle","margin","lineClamp","showEmpty","emptyClassName","inline","Text","_ref2$link","link","linkStyle","_ref2$highlight","highlight","highlightStyle","finalLinkStyle","getStyleFromLink","finalHighlightStyle","getStyleFromHighlight","getStyleFromText","WebkitLineClamp","getStyleFromMargin","needsId","v1","tagProps","Tag","selector","animationDisabled","callToAction","dragAmount","CallToAction","_ref2$active","_ref2$label","label","swipeUpEnabled","validUrl","isValidUrl","buttonRef","_ref3$textStyle","_ref3$textStyle$fontS","fontSize","_ref3$textStyle$color","arrowStyle","selfTargetLinkRef","leaving","setLeaving","event","preventDefault","onDragEnd","movement","isIos","click","onPageHide","addEventListener","removeEventListener","href","external","withoutStyle","refButton","faChevronUp","CallToAction$1","layout","audio","transitions","getMediaRef","AudioScreen","trackScreenMedia","useTrackScreenMedia","_useScreenSize","useScreenSize","menuOverScreen","_useScreenRenderConte","useScreenRenderContext","isPlaceholder","isPreview","isView","isEdit","isStatic","isCapture","menuSize","useViewer","hasCallToAction","setReady","backgroundPlaying","transitionPlaying","transitionDisabled","hasAudio","_ref2$media","audioMedia","_ref2$autoPlay","_ref2$closedCaptions","closedCaptions","_ref2$withPlayPause","_ref3$url","hasAudioUrl","finalAudio","hasClosedCaptions","onAudioReady","togglePlay","toggleMute","_ref4$mediaRef","apiMediaRef","setCurrentTime","_useState5","_useState6","setDuration","_useState7","_useState8","setPlaying","_useState9","_useState10","setMuted","isIOS","time","step","dur","initial","midway","isMuted","longPressBind","useLongPress","onLongPress","elements","placeholder","emptyLabel","defaultMessage","empty","isEmpty","bottomContent","mediaControls","marginTop","el","padding","paddingTop","AudioScreen$1","transforms","freeze","__proto__","appleNews","newStory","_Audio","titleStory","story","titleComponent","component","_Container","containerStory","containerComponent","components","definition","group","defineMessage","order","layouts","fields","name","theme","defaultValue","Base","opts","arguments","this","options","routes","baseUrl","path","query","queryString","stringify","arrayFormat","getJSON","getFullUrl","credentials","headers","getCSRFHeaders","data","postJSON","_method","requestPost","_route","params","generatePath","replace","ContributionsApi","_Base","_super","call","store","update","page","count","finalQuery","requestGet","route","screen","MediasApi","tags","authors","show","requestPut","requestDelete","QuizApi","results","screenId","Api","_this","medias","contributions","quiz","ApiContext","useApi","ApiProvider","initialApi","previousApi","useData","loadData","_ref$initialData","initialData","_ref$autoload","autoload","loading","setLoading","setError","setData","load","promise","newData","newError","cancel","loader","_excluded$4","useQuizCreate","_ref$onSuccess","onSuccess","creating","setCreating","create","screen_id","apiBaseUrl","DataProvider","buttonStyle","Button","getStyleFromButton","Heading","HeadingComponent","onScrolledBottom","onScrolledNotBottom","contain","scrollContainerRef","Scroll","withArrow","setWithArrow","scrollableRef","scrollableHeight","_useResizeObserver2","scrolleeRef","scrolleeHeight","scrolledBottomOnce","scrolledNotBottomOnce","reachedBottom","useScroll","scrollY","newWithArrow","nowReachedBottom","enabled","maxScrollAmount","scrollTop","withScroll","containOverscroll","scrollable","scrollee","arrowContainer","arrow","faArrowDown","Scroll$1","labelOutside","labelClassName","labelOutsideStyle","multiline","onChange","onFocus","onBlur","required","TextInput","labelStyle","elementStyle","containerProps","elementProps","element","message","submit","nameStyle","messageStyle","transitionStagger","resizeTransitionDuration","ContributionScreen","trackScreenEvent","useTrackScreenEvent","scrollingDisabled","hasTitle","isTextFilled","hasNameLabel","isLabelFilled","hasMessageLabel","hasSubmit","contributionsRef","formRef","interactiveContainerHeight","setInteractiveContainerHeight","userName","setUserName","userMessage","setUserMessage","submitState","setSubmitState","onContributionSubmitted","_useContributionCreat","useContributionCreate","submitContribution","_useContributions","_ref$opts","defaultContributions","get","request","useContributions","onNameChange","onMessageChange","nameFilled","onNameBlur","messageFilled","onMessageBlur","scrolledBottom","setScrolledBottom","swipeUpLinkActive","callToActionRef","_ref2$height","callToActionHeight","onSubmit","offsetHeight","timeout","setTimeout","clearTimeout","items","placeholderProps","emptyTitle","allContributions","interactiveContainer","transitionDuration","form","formContent","emptyInputName","delay","inputName","emptyInputMessage","inputMessage","emptySubmit","buttonSubmit","formLoading","loadingIcon","faSpinner","contributionsContainer","contributionsContent","contribution","contributionIndex","nameInnerStyle","messageInnerStyle","contributionName","contributionMessage","submitting","submitted","showContributions","imageStyle","imageClassName","onLoaded","finalContainerStyle","finalImageStyle","mediaRatio","realSize","setRealSize","_ref4$realWidth","realWidth","_ref4$realHeight","realHeight","onImageLoaded","_e$target","target","_e$target$naturalWidt","naturalWidth","_e$target$naturalHeig","naturalHeight","finalMediaWidth","finalMediaHeight","mediaHasSize","imageTop","imageLeft","imageWidth","imageHeight","imageObjectFit","imageObjectPosition","_ref5$fit","_ref5$horizontalPosit","horizontalPosition","_ref5$verticalPositio","verticalPosition","resizedImageWidth","resizedImageHeight","position","objectPosition","_finalWidth","_finalHeight","_finalImageStyle","_finalImageStyle$widt","finalWidth","_finalImageStyle$heig","finalHeight","img","onLoad","videoLoop","videoInitialMuted","videoClassName","Visual","_ref2$thumbnail_url","thumbnailUrl","isGIF","elProps","imageElProps","tmpProps","_ref4$fit","_ref5$metadata","_ref6$width","_ref6$height","resizedVideoWidth","resizedVideoHeight","previousMessage","nextMessage","nextMessageState","currentSpeaker","conversationTiming","typingTiming","withAnimation","isPlaying","speakerStyle","ConversationMessage","messageBody","_ref2$image","image","_ref3$avatar","avatar","_ref3$avatar$url","avatarUrl","speakerName","_ref3$side","side","currentSpeakerId","isPrevSpeakerTheSame","speaker","isNextSpeakerTheSame","messageState","setMessageState","pauseBeforeTyping","typingDuration","betweenStyle","messageContainer","loadingContainer","dot","loadingSpeakerName","normalRight","nextTheSame","inBetweenRight","normalLeft","inBetweenLeft","last","speakerDetails","avatarContainer","imageContainer","timing","conversation","ConversationScreen","_ref8","timingMode","_ref2$speakers","speakers","_ref2$messages","messages","conversationState","setConversationState","chatBottomRef","contentRef","scrollHeight","scrollRef","scrollTo","behavior","animationFinished","conversationStateChange","state","newConversationState","filteredMessages","m","timings","_ref4$timing","_ref4$message","messageI","finalTime","hesitationTimings","_ref5$hesitation","hesitation","messagesUniqueId","viewCTA","s","shouldPlay","pauseTiming","ConversationScreen$1","vertical","axisClassName","crossClassName","Grid","itemIndex","finalLayout","rows","columns","crossTotal","_ref2$rows","_ref2$columns","crossIndex","crossSize","axisItems","finalAxisItems","axisTotal","axisItem","axisIndex","axisSize","item","layoutProps","images","withCaptions","captionMaxLines","GalleryScreen","finalSpacing","grid","_grid$layout","gridLayout","_grid$vertical","gridSpaces","acc","imagesLoaded","setImagesLoaded","imagesCount","imagesEl","imagesSizes","setImagesSizes","contentWidth","contentHeight","imageEl","offsetWidth","_ref4$height","itemI","imageSize","finalImage","_ref5$caption","caption","hasImage","isImageFilled","hasCaption","gridItem","emptyImage","emptyCaption","captionText","paddingBottom","GalleryScreen$1","_Mosaic","GalleryFeedScreen","isReversed","editImages","finalImages","firstImageRef","firstImageRefWidth","_ref3$caption","imageElement","captionElement","marginBottom","stagger","GalleryFeedScreen$1","_Gallery","imageFit","defaultImageFit","legend","withTitle","withText","withLegend","ImageScreen","finalImageFit","hasText","hasLegend","isTitleTop","isCard","isCardReverse","isFullscreen","imageCntRef","cardImageMargin","imageMargin","placeholderImage","emptyText","emptyLegend","splice","ImageScreen$1","_Image","imageStory","imageComponent","_Heading","_Text","textStory","textComponent","values","isHorizontal","styles$2","elementType","stylers","visibility","featureType","eventsMapping","getCenter","onCenterChanged","onBoundsChanged","getBounds","onTilesLoaded","center","lat","lng","zoom","maxZoom","bounds","draggable","events","fitBounds","zoomControl","mapTypeControl","scaleControl","streetViewControl","rotateControl","fullscreenControl","Map$1","_useGoogleMap","_ref$maxZoom","_ref$center","_ref$withoutStyle","_ref$fitBounds","_ref$bounds","_ref$draggable","client","useGoogleMapsClient","containerRef","mapRef","resizeRef","_ref3$lat","_ref3$lng","panTo","setZoom","updateBounds","newBounds","equals","getZoom","panToBounds","setOptions","scrollWheel","disableDoubleClickZoom","gestureHandling","maps","Map","styles","eventName","addListener","useGoogleMap","eventMapping","onDoubleClick","isRequired","iconSize","Marker","_ref$position","_ref$icon","_ref$iconSize","markerRef","marker","setPosition","updateIcon","newIcon","iconUrl","setIcon","scaledSize","Size","clearInstanceListeners","setMap","useGoogleMapMarker","markers","onClickMap","onClickMarker","_ref2$geoPosition","geoPosition","extend","LatLng","LatLngBounds","loaded","setLoaded","_ref5$active","_ref5$geoPosition","_ref5$image","_ref5$title","defaultCenter","button","openedMarkerSpacerHeight","withMarkerImages","onEnableInteraction","onDisableInteraction","MapScreen","_ref13","locale","_useGoogleKeys$apiKey","useGoogleKeys","apiKey","selectedMarkerIndex","setSelectedMarkerIndex","hasSelectedMarker","lastRenderedMarker","markerOverlayContentStyle","opened","setOpened","onMapReady","finalMarkers","markerI","closeMarker","lastMarker","markerIndex","onButtonClick","onCloseClick","onMapDragEnd","coords","toJSON","toFixed","selectedMarker","markerOverContentInnerRef","_ref4$width","markerOverContentInnerWidth","markerImagesLoaded","setMarkerImagesLoaded","allMarkersImagesLoaded","finalReady","imgs","_ref6$url","Image","onload","withImages","staticUrl","_ref7$lat","_ref7$lng","_ref8$geoPosition","_ref9","_ref9$lat","_ref9$lng","_ref10$image","_ref11$url","_ref12","_ref12$title","markerTitle","_ref12$subtitle","subtitle","markerSubtitle","_ref12$description","markerDescription","_ref12$image","markerImage","hasMarkerTitle","hasMarkerSubtitle","hasMarkerDescription","hasMarkerImage","hasDescription","hasButton","markerOverlayContainer","markerOverlayScrollable","markerOverlaySafe","markerOverlay","markerOverlayContent","swipeIndicator","markerOverlayContentInner","splash","emptyDescription","emptyButton","splashButton","closeButton","alpha","_ref3$geoPosition","latitude","longitude","_ref4$lat","_ref4$lng","_Map","question","answers","result","buttonsStyle","goodAnswerColor","badAnswerColor","showResultsDelay","resultsTransitionDuration","QuizScreen","hasQuestion","hasResult","showInstantAnswer","goodAnswerIndex","answer","good","userAnswerIndex","setUserAnswerIndex","showResults","setShowResults","answerTransitionComplete","setAnswerTransitionComplete","answered","_ref2$good","hasUserAnsweredRight","isSplitted","submitQuiz","onAnswerClick","answerI","answerIndex","answerRef","answerHeight","_useResizeObserver3","rightAnswerRef","rightAnswerHeight","_useResizeObserver4","resultRef","resultHeight","rightAnswerTop","setRightAnswerTop","offsetTop","_ref7$good","isGood","_ref7$label","_ref8$body","choice","userAnswer","_ref9$good","rightAnswer","_ref9$label","_ref9$buttonStyle","answerButtonStyle","_ref10$textStyle","hasAnswer","itemContent","emptyAnswer","resultIcon","faIcon","faCheck","faTimes","optionLabel","resultContent","emptyResult","resultText","isList","noValueLabel","field","Quote","quote","author","QuoteScreen","hasQuote","hasAuthor","isTopLayout","isMiddleLayout","quoteWithMargin","emptyQuote","withMargin","emptyAuthor","QuoteScreen$1","_Quote","quoteStory","quoteComponent","_Author","authorStory","authorComponent","fieldType","numbersStyle","ascending","RankingScreen","finalItems","itemsCount","_ref2$title","_ref2$description","titleElement","descriptionElement","rankText","rank","scroll","_ref$items","_ref$ascending","allItems","_Text2","descriptionStory","descriptionComponent","reducedStory","_ref2$components","reducedComponents","_Container2","bigContainerStory","bigContainerComponent","slides","SlideshowScreen","_ref3$visual","visual","SlideshowScreen$1","resultsStyle","barColor","textColor","withPercentLabels","resultTransitionDuration","SurveyScreen","_ref14","_useQuiz","useQuiz","_useQuiz$quiz","quizAnswers","quizAnswersComputed","points","_ref2$count","parseInt","computed","answersTotal","ans","_ref3$label","_ref4$body","_ref5$count","qa","countWithUser","percent","quizAnswersPct","evenlySplit","getLargestRemainderRound","emptyQuestion","buttonsRefs","labelsRefs","buttonMaxWidth","setButtonMaxWidth","finalTransitionDuration","currentMaxWidth","totalWidth","clientWidth","_ref6$barColor","resultsBarColor","_ref6$textColor","resultsTextColor","_ref7$buttonStyle","_ref7$resultStyle","resultStyle","_ref8$barColor","answerResultBarColor","answerResultTextColor","_ref9$body","_ref10$percent","_ref11$textStyle","_ref12$color","labelColor","hasAnswerLabel","placeholderAnswer","itemInner","itemLabel","itemText","resultContainer","transitionDelay","resultLabel","TextScreen","titleWithMargin","TextScreen$1","bulletColor","lineColor","bulletShape","bulletFilled","illustrated","Timeline","curr","transitionsPlaying","firstLineRef","firstContentRef","setImageWidth","timelineElements","_ref3$title","_ref3$image","elementsTypes","titleIndex","imageIndex","typesCount","typeI","elementContent","hasElement","firstItem","lastItem","lastType","topLineHidden","bottomLineHidden","timeline","hidden","bullet","lastContent","_ref7$height","withoutLines","withSubtitle","withDescription","descriptionEmptyLabel","TitleScreen","hasSubtitle","layoutParts","subtitleWithMargin","TitleScreen$1","credits","TitleSubtitleCreditsScreen","_Heading2","subtitleStory","subtitleComponent","creditsStory","creditsComponent","VideoScreen","_ref2$mediaRef","hasVideo","_ref5$autoPlay","_ref5$media","videoMedia","_ref5$closedCaptions","_ref5$withSeekBar","_ref5$withPlayPause","finalVideo","_ref6$metadata","videoMetadata","videoUrl","_ref6$thumbnail_url","hasVideoUrl","_ref7$width","resizedVideoLeft","resizedVideoTop","onVideoReady","emptyContainer","VideoScreen$1","_Video","packageCache","onPrevious","onNext","Video360Screen","THREE","loadedPackage","setLoadedPackage","Scene","PerspectiveCamera","SphereBufferGeometry","VideoTexture","MeshBasicMaterial","Mesh","WebGLRenderer","MathUtils","useThree","landscape","videoContainerRef","hasThumbnail","_useState11","_useState12","posterReady","setPosterReady","withVideoSphere","onPosterLoaded","canvasRef","camera","scene","renderer","lon","phi","theta","distance","pointerDown","pointerDownX","pointerDownY","pointerLon","pointerLat","render3D","degToRad","sin","cos","y","z","lookAt","render","_canvasRef$current","canvasWidth","canvasHeight","geometry","_ref8$mediaRef","_ref9$current","mesh","add","canvas","setPixelRatio","setSize","useAnimationFrame","aspect","updateProjectionMatrix","togglePlayTimeout","onPointerDown","clientX","clientY","pixelsMoved","lastPointerClient","pixelsMovedTracked","onPointerMove","_ref10","_ref10$clientX","_ref10$clientY","downDeltaX","downDeltaY","_ref11","_ref11$x","lastX","_ref11$y","lastY","deltaX","deltaY","onPointerUp","distX","distY","_videoContainer$getBo","_videoContainer$getBo2","containerX","containerWidth","canvasButton","showVideo","Video360Screen$1","manager$1","ScreensManager","addDefinition","manager","merge","ScreensProvider","home","styles$5","styles$4","propTypes$8","MenuIcon","squareSize","xmlns","viewBox","square","squareI","fill","propTypes$7","withShadow","onClickItem","colors","primary","secondary","closeable","onClose","ViewerMenuDots","_ref2$primary","_ref2$secondary","menu","menuIcon","menuButton","styles$3","propTypes$6","onShare","onCancel","ShareModal","onShareButtonClick","shareButtonProps","onShareWindowClose","shareIconProps","onDocumentClick","contains","useDocumentEvent","buttons","FacebookShareButton","beforeOnClick","Promise","resolve","FacebookIcon","TwitterShareButton","TwitterIcon","EmailShareButton","subject","EmailIcon","propTypes$5","buttonClassName","ShareButton","storyShareModalOpened","setStoryShareModalOpened","onShareIconClick","onStoryShared","onStoryShareCanceled","viewerTheme","screenWidth","shareUrl","thumbsPerLine","toggleFullscreen","fullscreenActive","fullscreenEnabled","ViewerMenuPreview","screenSizeRatio","screenRatioHeight","hasItems","thumbSize","setThumbSize","firstScreenContainerRef","_firstScreenContainer","_ref2$colors","_ref2$background","_ref2$textStyles","textStyles","_ref2$logo","logo","brandLogo","brandTextStyle","_ref4$primary","brandPrimaryColor","_ref4$secondary","brandSecondaryColor","_ref5$color","brandBackgroundColor","brandImageUrl","borderPrimaryColorStyle","colorSecondaryColorStyle","backgroundColorStyle","_ref7$url","brandLogoUrl","brandImageStyle","titleStyle","dragBind","useDrag","dy","tap","eventOptions","capture","faShare","faCompress","faExpand","screenAriaLabel","onKeyUp","renderContext","ViewerScreen","basePath","deviceScreens","onScreenChange","tapNextScreenWidthPercent","neighborScreensActive","storyIsParsed","landscapeScreenMargin","withMetadata","withoutMenu","withoutFullscreen","onInteraction","onEnd","onViewModeChange","currentScreenMedia","screensMedias","screenSizeOptions","withoutMaxSize","desktopHeightRatio","screenRatio","getDeviceScreens","Viewer","_ref15","parsedStory","useParsedStory","_parsedStory$componen","screens","_parsedStory$title","_parsedStory$metadata","_parsedStory$fonts","fonts","_ref4$fontFamily","fontFamily","themeFont","finalFonts","font","useLoadedFonts","origin","location","withoutScreensTransforms","trackScreenView","useTrackScreenView","trackEvent","useTrackEvent","_useScreenSizeFromEle","useScreenSizeFromElement","screenSize","_ref5$width","_ref5$height","screenHeight","_ref5$landscape","_ref5$menuOverScreen","menuDotsContainerRef","menuDotsContainerHeight","menuPreviewContainerRef","menuPreviewContainerHeight","screensMediasRef","screenIndex","String","changeIndex","trackingEnabled","currentScreen","_ref8$type","screenType","currentScreenRef","onScreenPrevious","focus","onScreenNext","screensCount","screensInteractionEnabled","setScreensInteractionEnabled","currentScreenInteractionEnabled","menuVisible","onInteractionPrivate","onScreenClick","tappedCurrent","checkClickable","maxDistance","_ref9$tagName","tagName","_ref9$parentNode","parentNode","interactionEnabled","nextIndex","_e$currentTarget$getB2","contentX","tapX","menuOpened","previewMenuOpen","setPreviewMenuOpen","clamp","menuY","setMenuSpring","menuPreviewStyle","menuDragBind","my","first","isMenuOpened","yProgress","menuNowOpened","setPreviewMenu","openPreviewMenu","closePreviewMenu","onClickDotsMenuItem","clickedOnDot","goToScreen","trackAction","trackLabel","onClickPreviewMenuItem","onClickPreviewMenuClose","onClickShare","onContextMenu","overscrollStyle","_useFullscreen","useFullscreen","toggle","onKey","foundMatch","match","matches","toLowerCase","parameters","_ref13$title","screenTitle","_ref13$description","screenDescription","finalTitle","finalMetadata","_ref14$menuTheme","menuTheme","ScreenSizeProvider","ViewerProvider","Helmet","screenName","scr","viewerScreen","screenTransform","ViewerRoutes","otherProps","useRoutes","useRoutePush","finalOnScreenChange","Switch","Route","exact","memoryRouter","withoutRouter","googleApiKey","trackingVariables","locales","translations","ViewerContainer","Router","MemoryRouter","BrowserRouter","finalTrackingVariables","_story$id","_story$slug","slug","_story$title","_story$components","storyId","storySlug","storyTitle","_ref3$language","language","finalLocale","extraMessages","GoogleKeysProvider","GoogleMapsClientProvider","FieldsProvider","UserInteractionProvider","TrackingProvider","variables","basename","RoutesProvider","initialStory","MICROMAG_STORY","initialProps","MICROMAG_VIEWER_PROPS","rootElementId","MICROMAG_ROOT_ELEMENT_ID","defaultRootElement","MICROMAG_ROOT_ELEMENT","getElementById","renderStoryFnc","MICROMAG_RENDER_STORY_FNC","renderStory","root","React","__webpack_public_path__","MICROMAG_PUBLIC_PATH","_defineProperty","_objectWithoutProperties","classNames","reactRouterDom","core","reactIntl","utils","reactFontawesome","freeSolidSvgIcons","_toConsumableArray","_slicedToArray","hooks","contexts","_objectSpread","ReactDOM","isArray","react","dayjs","throttle","isObject","reactHelmet","isString","isNumber","core$1","web","_interopDefaultLegacy","_defineProperty__default","_objectWithoutProperties__default","React__default","PropTypes__default","classNames__default","_toConsumableArray__default","_slicedToArray__default","_objectSpread__default","get__default","ReactDOM__default","isArray__default","dayjs__default","throttle__default","isObject__default","isString__default","isNumber__default","propTypes$J","isHtml","bool","object","Label","Message","FormattedMessage","isMessage","styles$s","_excluded$8","propTypes$I","string","buttonTheme","buttonSize","direct","node","iconPosition","oneOf","disableOnLoading","small","big","withoutTheme","outline","asLink","iconClassName","func","oneOfType","shape","any","Button$1","finalLabel","hasChildren","hasIcon","hasInlineIcon","hasIconColumns","Fragment","withStyle","buttonClassNames","btn","withIcon","withIconColumns","isSmall","isBig","isLink","isDisabled","isLoading","linkClassNames","linkDisabled","Link","styles$r","_excluded$7","propTypes$H","renderButton","onClickButton","Buttons","role","_button$className","customClassName","_button$onClick","_onClick","_button$theme","buttonProps","fixedProps","_excluded$6","propTypes$G","BackButton","faAngleLeft","_excluded$5","_excluded2","propTypes$F","formComponents","gotoFieldForm","closeFieldForm","fieldContext","FieldForm","fieldsManager","useFieldsManager","getFieldFromPath","fieldProps","getDefinition","_ref3$component","fieldComponent","settings","definitionProps","FieldComponent","useFieldComponent","fieldValue","onFieldChange","newFieldValue","newValue","setFieldValue","closeForm","formProps","FormComponent","getComponentFromName","FieldContextProvider","context","isForm","styles$q","propTypes$E","action","method","formFields","initialValue","postForm","submitButtonLabel","submitButtonLoadingLabel","actionsAlign","withoutActions","withoutComplete","withoutBackButton","onComplete","onResponse","onMessage","onCancelHref","onOpenFieldForm","onCloseFieldForm","fieldsClassName","actionsClassName","cancelClassName","defaultProps$E","Form","initialFields","complete","setComplete","onCompleteForm","_useForm","useForm","status","setValue","errors","generalError","FieldsComponent","canSave","validateFields","fieldPaths","setFieldPaths","formName","fieldKey","newFields","pop","fieldParams","panel","actions","styles$p","propTypes$D","rel","_excluded$3","propTypes$C","header","imageAlt","imageOverlay","beforeBody","afterBody","links","arrayOf","linksInSameBody","footer","headerClassName","titleClassName","subtitleClassName","bodyClassName","footerClassName","onClickBody","onClickFooter","Card","linksElements","_ref2$className","linkClassName","linkProps","bodyInner","cardInner","cardClassName","propTypes$B","Spinner","x1","y1","x2","y2","stopColor","stopOpacity","offset","fillRule","d","stroke","strokeWidth","attributeName","repeatCount","cx","cy","r","styles$o","_excluded$2","propTypes$A","FormPanel","propTypes$z","menuItems","bootstrapThemes","separator","withoutBar","noWrap","Breadcrumb","_ref2$onClick","_excluded$1","propTypes$y","visible","dropdownAlign","itemClassName","onClickOutside","Dropdown","refContainer","_it$type","_it$className","_it$label","_it$children","itemChildren","_it$onClick","customOnClick","_it$active","itemProps","ItemComponent","finalOnClickItem","propTypes$x","itemTagName","linkAsItem","hasSubMenuClassName","subMenuClassName","subMenuItemClassName","subMenuLinkClassName","hasDropdownClassName","dropdownClassName","dropdownItemClassName","dropdownLinkClassName","Menu","dropdownsVisible","setDropdownsVisible","ListComponent","_classNames","_classNames2","_classNames3","_classNames4","_classNames5","_classNames6","_classNames7","_classNames8","_it$linkClassName","customLinkClassName","_it$href","_it$external","_it$items","subItems","_it$dropdown","dropdown","slice","closeDropdown","propTypes$w","brand","brandLink","breadcrumbs","compact","withoutCollapse","brandClassName","breadCrumbsClassName","Navbar","setMenuVisible","onClickMenu","styles$m","defineMessages","previous","next","propTypes$v","number","withPreviousNext","paginationClassName","onClickPage","PaginationMenu","getUrl","currentPage","pages","pageNumber","styles$l","propTypes$u","renderItemButton","TabsMenu","propTypes$t","modals","setModalsContainer","ModalsContainer","withModals","propTypes$s","register","unregister","ElementPortal","finalId","Date","getTime","createPortal","propTypes$r","ModalPortal","_useModals","useModals","_useModals$register","_useModals$unregister","styles$j","propTypes$q","Modal","getDisplayName","inner","styles$i","propTypes$p","onClickClose","ModalDialog","propTypes$o","mediaTypes","array","sources","onUploaded","onRequestClose","UploadModal","onUpppyComplete","fileTypes","uppy","useUppy","allowedFileTypes","DashboardModal","open","closeAfterFinish","plugins","styles$h","propTypes$n","panels","setPanelsContainer","PanelsContainer","hasPanels","withPanels","propTypes$m","PanelPortal","_usePanels","usePanels","_usePanels$panels","_usePanels$register","_usePanels$unregister","propTypes$l","Panel","styles$f","propTypes$k","topClassName","contentClassName","openedClassName","CollapsablePanel","isOpened","faAngleUp","faAngleDown","propTypes$j","date","withTime","timeSeparator","Date$1","dateObject","toDate","FormattedDate","year","month","day","FormattedTime","propTypes$i","throttleDelay","threshold","onEnter","onLeave","Detector","enteredRef","triggerChange","callback","intersecting","entered","trailing","leading","propTypes$h","boxClassName","PlaceholderBlock","propTypes$g","ElementComponent","RealComponent","pascalCase","styles$d","propTypes$f","withoutBorder","light","Empty","middle","propTypes$e","formats","format","FontFaces","fontFaces","_ref2$name","_ref3$files","urls","currentUrls","finalFormat","formatExtension","styles$c","propTypes$d","thumbnail","thumbnailAlign","thumbnailClassName","Media","listen","pathname","search","defaultMessageContent","interaction","objectOf","firstname","lastname","email","gender","birthdate","menuItem","breadcrumb","device","modal","bootstrapThemeStrings","selectOption","formField","mediaMetadataShape","filename","mediaFile","mediaShape","imageMedia","fontMedia","closedCaptionsMedia","textAlign","fontStyle","bold","italic","underline","upperCase","letterSpacing","lineHeight","borderTypes","radius","borderRadius","borderWidth","borderColor","borderStyle","objectFitSize","textElement","headingElement","backgroundElement","imageElementWithCaption","stackDirection","stackAlign","stackSpacing","markerShape","markerWithImage","answerShape","quizAnswer","callToActionTypes","conversationMessage","conversationMessages","fieldShape","isSection","screenDefinition","fieldDefinition","storyComponentShape","storyComponent","screenComponent","screenComponents","shareImage","favIcon","deviceScreen","mediaQuery","iframe","track","trackLng","controls","slide","transitionName","transitionParams","easing","transition","out","searchFilter","paymentItem","invoice_link","amount","pageMetadata","canonical","keywords","favicon","rssUrl","atomUrl","microformats","propTypes$c","fullTitle","suffix","Meta","_ref2$canonical","_ref2$keywords","_ref2$favicon","_ref2$rssUrl","_ref2$atomUrl","_ref2$microformats","_ref2$language","realTitle","imageUrl","_ref3$metadata","_ref5$url","faviconUrl","property","identifier","JSON","propTypes$b","auto","Slideshow","setIndex","styles$a","propTypes$a","lineMargin","PlaceholderText","oddWidth","styles$8","faImage","faMapMarkerAlt","faVideo","Video360","propTypes$9","Screen","CustomScreenComponent","ContextScreenComponent","useScreenComponent","ScreenComponent","ScreenProvider","Screen$1","memo","ScreenPlaceholder","ScreenPreview","Preview","Placeholders","AdFrame","faAd","AdImage","_ref$width","_ref$height","faMusic","Conversation","idx","faCommentDots","InputText","Line","shortText","MapPath","mapPath","faMapMarkedAlt","QuizAnswer","_ref$good","ShortText","Subtitle","SurveyAnswer","faPercent","_props$height","_props$lines","_props$lineMargin","Title","VideoLoop","faRedo","preview","ScreenElement","PlaceholderComponent","storyComponents","Screens","onStart","Transition","onRest","div","TransitionComponents","Fade","opacity","Scale","Transitions","_useScreenSize$landsc","finalPlaying","finalTransitions","transitionsObject","transitionKey","currentTransition","_finalTransitions$in","transitionIn","_finalTransitions$out","transitionOut","finalTransitionIn","finalTransitionOut","transitionInName","_ref3$name","transitionOutName","sameTransitionInOut","TransitionIn","TransitionOut","transitionInProps","transitionOutProps","renderTransitionOut","TransitionsStagger","validIndex","Children","_child$type","_ref2$withoutTransiti","highlightSelector","HighlightStyle","convertStyleToString","linkSelector","LinkStyle","exports","defineProperty","uniqBy","services","reactRouter","tracking","uuid","_interopNamespace","__esModule","k","getOwnPropertyDescriptor","enumerable","uniqBy__default","MODALS_NAMESPACE","FIELDS_NAMESPACE","FORMS_NAMESPACE","SCREENS_NAMESPACE","ELEMENTS_NAMESPACE","ComponentsContext","createContext","useComponentsManager","namespace","finalManager","ComponentsManager","getComponents","useComponents","defaultComponents","useComponent","defaultComponent","getComponent","instanceOf","ComponentsProvider","previousManager","addNamespace","FieldsContext","fieldDefinitions","FieldsManager","getDefinitions","newComponents","ScreensContext","useScreensManager","screenDefinitions","newManager","initialComponents","setComponents","on","off","StoryContext","useStoryContext","useStory","StoryProvider","EditorContext","useEditor","EditorProvider","screensManager","parser","ColorsParser","parse","currentStory","getColors","FieldContext","GoogleKeysContext","previousApiKey","FontsContext","systemFonts","googleFonts","customFonts","useGoogleFonts","_ref$disabled","_ref$setFonts","setFonts","_useGoogleKeys","setGoogleFonts","_ref2$items","newFonts","family","variants","useFonts","_ref3$withoutGoogleFo","withoutGoogleFonts","_useContext","_useContext$setGoogle","_useContext$systemFon","_useContext$googleFon","_useContext$customFon","FontsProvider","_useFonts","_useFonts$systemFonts","previousSystemFonts","_useFonts$googleFonts","previousGoogleFonts","previousCustomFonts","GoogleApiClientContext","GoogleApiClientProvider","setClient","loadGoogleApi","gapi","init","GoogleMapsClientContext","libraries","exisitingClient","loadGoogleMaps","newClient","ModalsContext","ModalsProvider","initialContainer","setContainer","setModals","modalsRef","currentModals","newModals","PanelsContext","PanelsProvider","setPanels","panelsRef","currentPanels","newPanels","RoutesContext","useUrlGenerator","_useContext2","ScreenContext","useScreen","_ref6$data","previousData","_ref6$definition","previousDefinition","_ref6$renderContext","previousContext","finalData","_ref7$type","contextDefinition","finalDefinition","finalRenderContext","ScreenSizeContext","currentSize","prevWidth","prevHeight","nextWidth","nextHeight","useTracking","TrackingContext","contextTracking","tracking$1","Tracking","getVariables","TrackingContainer","packagesCache$2","defaultPackagesMap$2","fr","en","packagesCache$1","defaultPackagesMap$1","transloadit","tus","xhr","packagesCache","defaultPackagesMap","webcam","facebook","instagram","dropbox","getTransloaditMediasFromResponse","successful","subIt","assembly_id","assembly","resultKey","itResult","original","meta","ssl_url","user","convertToMedia","UppyContext","transport","templateId","waitForEncoding","companion","allowedHosts","endpoint","UppyProvider","providedTransport","providedLocale","providedSources","providedTransloadit","providedCompanion","providedTus","providedXhr","intlLocale","_ref6$transport","contextTransport","_ref6$locale","contextLocale","_ref6$sources","contextSources","_ref6$transloadit","contextTransloadit","_ref6$companion","contextCompanion","_ref6$tus","contextTus","_ref6$xhr","Uppy","uppyTransport","_ref$packagesMap","packagesMap","packageLoader","pack","others","dep","useUppyTransport","uppySources","packages","source","sourcePackage","loadedPackages","setLoadedPackages","sourcesToLoad","sourcesLoaded","all","packagesLoaded","newLoadedPackages","_packagesLoaded$index","otherMap","useUppySources","uppyLocale","useUppyLocale","buildUppy","_ref7$sources","customSources","uppyOpts","newUppy","_transloadit$waitForE","transloaditOpts","use","auth","template_id","resume","retryDelays","currentUppy","sourceId","COMPANION","COMPANION_PATTERN","companionUrl","companionAllowedHosts","defaultValue$1","UserInteractionContext","setUserInteracted","setted","set","ViewerContext","useElementComponent","useElementsComponents","useElementsComponentsManager","useFieldContext","useFieldDefinition","useFieldsComponents","useFieldsComponentsManager","useFormComponent","useFormsComponents","useFormsComponentsManager","useGetColors","_ref$getColors","useGoogleApiClient","useModalComponent","useModalsComponents","useModalsComponentsManager","useRouteBack","history","useHistory","goBack","_len","args","_key","_ref$pathname","_ref$search","useScreenData","useScreenDefinition","finalFields","getScreenExtraField","_ref4$renderContext","useScreensComponents","useScreensComponentsManager","_ref$onComplete","_ref$onFail","onFail","_ref$getFileName","getFileName","_ref2$extension","extension","_ref$meta","_ref$maxNumberOfFiles","maxNumberOfFiles","_ref$allowedFileTypes","_ref$autoProceed","autoProceed","restrictions","onUppyComplete","_response$successful","_response$failed","failed","finalSuccessful","onUpload","_ref4$fileIDs","fileIDs","getFile","newName","setFileMeta","close","withGoogleApiClient","WrappedComponent","_ref$displayName","displayName","_ref$name","WithGoogleApiClientComponent","Consumer","googleApiClient","withGoogleMapsClient","WithGoogleMapsClientComponent","WithModalsComponent","modalsContainer","registerModal","unregisterModal","WithPanelsComponent","panelsContainer","registerPanel","unregisterPanel","forms","screenfull","cssMediaquery","reactUseGesture","screenfull__default","clamp__default","eventsManager$1","EventsManager","createUseEvent","observersCache","getOptionsKey","_ref$root","_ref$threshold","createObserver","Observer","subscribers","addSubscriber","callbacks","removeSubscriber","subCallback","onUpdate","entries","observer","unsubscribe","unobserve","disconnect","subscriber","observe","currentSubscriber","subscribe","getObserver","observerKey","has","observers","useObserver","initialEntry","_opts$root","_opts$rootMargin","_opts$threshold","_opts$disabled","setEntry","nodeRef","currentElement","elementChanged","nodeElement","newEntry","newOpts","_getObserver","localUnsubscribe","thresholdArray","intersectionObserverInitialEntry","isVisible","intersectionRatio","intersectionRect","boundingClientRect","rootBounds","_ref3$root","_ref3$rootMargin","_ref3$threshold","_ref3$disabled","IntersectionObserver","resizeObserverInitialEntry","contentBoxSize","borderBoxSize","_ref4$disabled","ResizeObserver","fontsMap","isTouchEvent","touches","preventClickDefault","stopPropagation","progressSteps","_ref$landscape","_ref$menuOverScreen","_ref$screens","_ref$mediaType","_ref$media","providedMedia","matchingScreens","_ref2$mediaQuery","getWindowSize","innerWidth","getScreenOptions","screenContext","_ref$data","_ref2$id","ctxScreenId","ctxScreenType","_ref3$screenId","optsScreenId","_ref3$screenType","hasTracking","eventsManager","useWindowEvent","onFrame","requestRef","startTimeRef","requestAnimationFrame","cancelAnimationFrame","_ref$fields","providedFields","_ref$injectInFields","injectInFields","fieldsNames","_useBaseForm","useFormTransition","paths","lastPageRef","currentPartsCount","previousPartsCount","enter","enterRight","enterLeft","enterTop","enterBottom","enterActive","enterActiveHorizontal","enterActiveVertical","leave","leaveActive","leaveActiveRight","leaveActiveLeft","leaveActiveTop","leaveActiveBottom","useFormattedDate","_ref$format","_ref$showToday","showToday","today","dateToFormat","formatDate","useFormattedTime","_ref2$format","_ref2$showNow","showNow","_ref2$timeGap","timeGap","now","hour","minute","formatTime","isEnabled","setActive","unFullscreen","exit","useIsVisible","_ref$persist","persist","wasIntersecting","newConfig","isFontLoading","isFontActive","families","fontloading","addFontLoading","fontactive","addFontActive","fontinactive","removeFontLoading","_ref$onLongPress","_ref$onClick","_ref$shouldPreventDef","shouldPreventDefault","_ref$delay","longPressTriggered","setLongPressTriggered","passive","clear","shouldTriggerClick","onMouseDown","onTouchStart","onMouseUp","onMouseLeave","onTouchEnd","_ref$url","_ref$initialMuted","_ref$onTimeUpdate","_ref$onProgressStep","_ref$onDurationChange","_ref$onVolumeChanged","_ref$onPlay","_ref$onPause","_ref$onEnded","_ref$onSeeked","_ref$onLoadStart","onLoadStart","_ref$onCanPlayThough","onCanPlayThough","_ref$onCanPlay","onCanPlay","_ref$onLoadedData","onLoadedData","_ref$onLoadedMetadata","onLoadedMetadata","setDataReady","_useState13","_useState14","initialPlay","setInitialPlay","progressStepsReached","stop","mute","onCustomPlay","onCustomPause","onCustomEnded","onCustomTimeUpdate","currentSteps","onCustomDurationChange","onCustomSeeked","onCustomVolumeChange","volume","onCustomLoadStart","onCustomCanPlayThrough","onCustomCanPlay","onCustomLoadedMetadata","onCustomLoadedData","_ref$current","readyState","useMediasParser","MediasParser","toPath","fromPath","_ref$withTheme","withTheme","_ref$withMedias","withMedias","_ref$withFonts","withFonts","StoryParser","calculatedWidth","calculatedHeight","fullWidth","fullHeight","_ref6$withoutMaxSize","_ref6$desktopHeightTh","desktopHeightThreshold","_ref6$desktopHeightRa","_ref6$screenRatio","landscapeWithMaxSize","useScreenSizeFromWindow","windowSize","setWindowSize","onResize","useSwipe","_ref$withSpring","withSpring","_ref$swipeWidthThresh","swipeWidthThreshold","_ref$animateScale","animateScale","_ref$lockAxis","lockAxis","_ref$onSwipeStart","onSwipeStart","_ref$onSwipeEnd","onSwipeEnd","_ref$onSwipeCancel","onSwipeCancel","_ref$onTap","onTap","swipingIndex","lockedAxis","hasWidth","windowWidth","currentWidth","getItem","getItems","_ref2$down","down","_ref2$mx","mx","_useSprings","useSprings","_useSprings2","itemsWithProps","_ref3$movement","xDir","movementX","movementY","distanceX","distanceY","useThemeParser","ThemeParser","category","useTrackMedia","trackMedia","PropTypes$1","snakeCase","_classCallCheck","_createClass","uniqWith","sortBy","_inherits","_createSuper","EventEmitter","changeCase","_typeof","uniq","_classCallCheck__default","_createClass__default","uniqWith__default","sortBy__default","_inherits__default","_createSuper__default","EventEmitter__default","_typeof__default","uniq__default","statusCode","interactions","devices","formControlSize","formErrors","selectOptions","imageMedias","fontMedias","videoMedias","audioMedias","inputElement","imageElements","videoElement","audioElement","closedCaptionsElement","imageElementsWithCaption","stackElement","gridElement","markersWithImage","adFormats","adFormat","audioComponent","searchFilters","paymentItems","componentNames","Components","sortedColors","uniqueColors","colorA","colorB","_ref2$theme","_components$reduce","_ref3$colors","currentColors","_ref4$fields","fieldsPattern","getColorFieldPatterns","newColors","getColorsFromPath","themeColors","_this2","namePrefix","patterns","_field$name","_field$type","_fieldDefinition$fiel","subFields","_fieldDefinition$item","itemsField","_fieldDefinition$sett","fieldIsColor","RegExp","_ref5$id","keyPrefix","dataIsArray","currentData","_ref6$colors","patternMatch","found","pattern","test","subColors","innerColor","hex","toUpperCase","subReturn","pascalName","_EventEmitter","addComponents","componentsMaps","emit","componentsMap","_this3","exec","DefinitionsManager","definitions","addDefinitions","_ref$component","allComponents","_ref2$component","listeners","newEvents","newListeners","listener","_DefinitionsManager","fieldsPatternCache","_ref2$fields","getMediaFieldsPattern","_ref3$theme","_ref3$components","previousComponents","currentMedias","getFieldsPatternByScreen","_MediasParser$replace","replaceMediasWithPaths","newScreen","newMedias","_this$toPath","themeMedias","newTheme","defaultMedias","_ref5$theme","_ref5$components","_ref5$medias","componentsPattern","getMediaPatternsFromData","replacePathsWithMedias","fieldIsMedia","fieldIsFontFamily","_ref6$media","_ref7$id","_ref8$id","subMedias","mediaPath","getMediaPath","obj","dotObj","flattenedChild","childAcc","childKey","_ref2$layouts","definitionCache","themeComponents","themeScreen","_theme$components","_theme$background","themeBackground","_theme$colors","_theme$textStyles","themeTextStyles","currentComponents","_this$getDefinitionBy","getDefinitionByScreen","parseScreen","themeValue","themeTextSyle","_definition$fields","newThemeValue","newScreenValue","currentValue","fieldThemeValue","parseField","_definition$theme","fieldTheme","innerField","newInnerField","innerFieldName","innerFieldTextStyle","_ref3$color","innerFieldColor","colorValue","textStyleValue","_ref4$textStyle","fieldTextStyleName","_ref4$color","fieldColorName","fieldColor","fieldTextStyle","fieldThemeComponentTextStyle","FontsParser","getFieldsPattern","currentFonts","extractFontsWithPaths","_this$parse","_this$parse$fonts","themeFonts","_ref4$id","_ref5$type","subFonts","valueIsFont","themeParser","mediasParser","fontsParser","_ref2$withTheme","_ref2$withMedias","_ref2$withFonts","parsers","_BaseTracking","_this$options$variabl","screensViewed","setVariables","_ref$screensCount","screenProgress","screensViewedProgress","_ref4$value","eventCategory","eventAction","eventLabel","eventValue","_ref5$value","_ref5$currentTime","optsCurrentTime","_ref6$id","mediaId","_ref6$name","_ref6$duration","rootDuration","_ref6$currentTime","_ref7$duration","mediaCurrentTime","mediaProgress","paramCase","tinycolor","slugify","tinycolor__default","slugify__default","getColorAsString","overideAlpha","_ref$color","_ref$alpha","setAlpha","toRgbString","getFieldByName","foundField","_it$name","fieldName","_it$fields","getFontFamily","_ref$fallback","fallback","getRemainder","getStyleFromBorder","_value$width","_value$style","_value$color","createNullableOnChange","nullableValue","fieldManager","_foundField$type","_foundField$fields","fieldFields","_foundField$field","finalType","_ref$settings","_ref$itemsField","listItems","getFontFamilyFromFont","getGridLayoutName","numbers","desiredTotal","remainder","sort","a","b","sum","res","_ref$image","_ref$video","getLayoutParts","horizontal","newFiles","containerHeight","maxDiff","_ref$sizes","sizes","defaultUrl","_ref$metadata","imgWidth","imgHeight","finalSizes","_Object$keys$reduce","currentDiff","diff","currentIsLarger","isLarger","_finalSizes$key","_finalSizes$key$width","_finalSizes$key$heigh","diffWidth","diffHeight","Infinity","sizeIsLarger","parseFloat","_value$backgroundColo","_value$borderRadius","_value$borderWidth","_value$borderStyle","_value$borderColor","border","getStyleFromContainer","_value$size","_size$width","_size$height","_value$textColor","colorString","boxShadow","mozBoxShadow","msBoxShadow","webkitBoxShadow","getStyleFromImage","_value$fit","_fit$size","_fit$position","_position$axisAlign","axisAlign","_position$crossAlign","crossAlign","_ref$italic","_ref$bold","_ref$underline","fontWeight","textDecoration","_value$top","_value$bottom","_value$fontFamily","_value$fontSize","_value$fontStyle","_value$lineHeight","_value$letterSpacing","_value$align","textTransform","_ref$outline","WebkitTextStroke","includes","navigator","platform","userAgent","_ref$label","_ref2$length","_ref$body","_","protocol","schemaId","str","keyParts","shift","newArrayValue","toSlug","lower","unique","arrArg","elem","pos","arr","val","labelPath","noItemLabel","addItemLabel","breadcrumbLabel","dataList","firstOptionAsDefault","textOnly","entriesWithImage","entriesWithVisual","entryWithImage","entryWithVisual","graphBarStyle","imageWithCaption","thumbnailPath","imagesWithCaption","getDefaultValue","fontStyleName","alignName","transformName","visualWithCaption","visualsWithCaption","visuals","buttonElement","checkboxes","fieldWithForm","itemTextStyle","iconName","prefix","iconRotation","mapZoom","password","radios","screenLayout","select","tokens","allFields","module","IntlManager","currentLocale","getLocale","localeObj","intlManager","defaultLocales","LocalesContext","IntlProvider","previousLocales","IntlContext","_ref2$locale","previousLocale","previousMessages","currentMessages","getMessages","hash","hash__default","TextStyleDefinition","version","from_class","typed","properties","enum_values","TextStyle","_ref$fontFamily","_ref$fontSize","_ref$lineHeight","validate","AudioDefinition","read_only","MediaElement","_story$componentLayou","componentLayouts","TextDefinition","TextElement","_ref$textStyle","styleName","hasStyle","componentStyles","ContainerDefinition","GalleryDefinition","GalleryElement","gallery","_ref$images","galleryImages","_ref2$caption","hasUrl","imageCaption","stripTags","HeadingDefinition","ImageDefinition","MapDefinition","MosaicDefinition","QuoteDefinition","VideoDefinition","heading","ImageElement","_ref$latitude","_ref$longitude","MapElement","mosaic","isInteger","isInteger__default","isEmpty__default","validated","prop","isValid"],"sourceRoot":""}