@micromag/viewer-build 0.3.58 → 0.3.63
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.
- package/build/asset-manifest.json +6 -6
- package/build/index.html +1 -1
- package/build/static/css/main.25a45015.css +5 -0
- package/build/static/css/main.25a45015.css.map +1 -0
- package/build/static/css/main.ca9c9d5d.css +5 -0
- package/build/static/css/main.ca9c9d5d.css.map +1 -0
- package/build/static/css/main.ecc3ee2e.css +5 -0
- package/build/static/css/main.ecc3ee2e.css.map +1 -0
- package/build/static/css/main.fa36e4aa.css +5 -0
- package/build/static/css/main.fa36e4aa.css.map +1 -0
- package/build/static/js/main.2ac47d5a.js +2 -0
- package/build/static/js/main.2ac47d5a.js.map +1 -0
- package/build/static/js/main.45f1eed9.js +2 -0
- package/build/static/js/main.45f1eed9.js.map +1 -0
- package/build/static/js/main.89389d69.js +2 -0
- package/build/static/js/main.89389d69.js.map +1 -0
- package/build/static/js/main.df8cc19f.js +2 -0
- package/build/static/js/main.df8cc19f.js.map +1 -0
- package/build/static/js/main.f7dade00.js +2 -0
- package/build/static/js/main.f7dade00.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/js/main.2ac47d5a.js","mappings":"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","sources":["index.js","public-path.js","../../../elements/scroll/es/index.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","../../../elements/audio/es/index.js","../../../elements/video/es/index.js","../../../elements/background/es/index.js","../../../elements/button/es/index.js","../../../elements/text/es/index.js","../../../elements/webview/es/index.js","../../../elements/call-to-action/es/index.js","../../../elements/closed-captions/es/index.js","../../../elements/container/es/index.js","../../../elements/stack/es/index.js","../../../elements/layout/es/index.js","../../../elements/media-controls/es/index.js","../../../screens/audio/es/index.js","../../data/es/index.js","../../../elements/heading/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/survey/es/index.js","../../../screens/text/es/index.js","../../../screens/timeline/es/index.js","../../../screens/title/es/index.js","../../../elements/link/es/index.js","../../../elements/urbania-author/es/index.js","../../../screens/urbania-article/es/index.js","../../../screens/urbania-horoscope/es/index.js","../../../screens/urbania-recommendation/es/index.js","../../../screens/urbania-trivia/es/index.js","../../../screens/video/es/index.js","../../../screens/video-360/es/index.js","../../screens/es/index.js","../../transforms/lib/apple-news.js","../../transforms/lib/utils.js","../../viewer/lib/index.js"],"sourcesContent":["/* 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';\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","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport { faArrowDown } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useScroll } from '@use-gesture/react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useRef, useEffect } from 'react';\nimport { useResizeObserver } from '@micromag/core/hooks';\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\nfunction 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","'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 contexts = require('@micromag/core/contexts');\nvar hooks = require('@micromag/core/hooks');\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 size = require('@folklore/size');\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$K = {\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$K = {\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$K;\nLabel.defaultProps = defaultProps$K;\n\nvar styles$v = {\"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$a = [\"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$J = {\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$J = {\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$a);\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$v.icon, _defineProperty__default[\"default\"]({}, iconClassName, iconClassName !== null)])\n }, icon), text !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$v.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$v.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$v.center, _defineProperty__default[\"default\"]({}, labelClassName, labelClassName !== null)])\n }, text), /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$v.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$v.container, (_ref8 = {}, _defineProperty__default[\"default\"](_ref8, styles$v.withoutStyle, withoutStyle), _defineProperty__default[\"default\"](_ref8, styles$v.withIcon, hasIcon), _defineProperty__default[\"default\"](_ref8, styles$v.withIconColumns, hasIconColumns), _defineProperty__default[\"default\"](_ref8, styles$v.withText, text !== null), _defineProperty__default[\"default\"](_ref8, styles$v.withShadow, withShadow), _defineProperty__default[\"default\"](_ref8, styles$v.isSmall, small), _defineProperty__default[\"default\"](_ref8, styles$v.isBig, big), _defineProperty__default[\"default\"](_ref8, styles$v.isLink, href !== null), _defineProperty__default[\"default\"](_ref8, styles$v.asLink, asLink), _defineProperty__default[\"default\"](_ref8, styles$v.isDisabled, disabled), _defineProperty__default[\"default\"](_ref8, styles$v.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$v.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$J;\nButton$1.defaultProps = defaultProps$J;\n\nvar styles$u = {};\n\nvar _excluded$9 = [\"className\", \"onClick\", \"theme\"];\nvar propTypes$I = {\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$I = {\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$u.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$9);\n\n var fixedProps = {\n key: \"button-\".concat(index),\n className: classNames__default[\"default\"]([styles$u.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$I;\nButtons.defaultProps = defaultProps$I;\n\nvar _excluded$8 = [\"className\"];\nvar propTypes$H = {\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$H = {\n className: null\n};\n\nvar BackButton = function BackButton(_ref) {\n var className = _ref.className,\n props = _objectWithoutProperties__default[\"default\"](_ref, _excluded$8);\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$H;\nBackButton.defaultProps = defaultProps$H;\n\nvar styles$t = {\"actions\":\"micromag-core-forms-form-actions\",\"left\":\"micromag-core-forms-form-left\",\"right\":\"micromag-core-forms-form-right\"};\n\nvar _excluded$7 = [\"type\"],\n _excluded2 = [\"component\", \"id\", \"settings\"];\nvar propTypes$G = {\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$G = {\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$7);\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 FormComponent = utils.getComponentFromName(form, formComponents);\n var fieldValue = get__default[\"default\"](value, name, null);\n\n var onFieldChange = function onFieldChange(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 };\n\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 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$G;\nFieldForm.defaultProps = defaultProps$G;\n\nvar propTypes$F = {\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$F = {\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;\n var fieldName = fieldParams !== null ? fieldParams.replace(/\\//g, '.') : 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$t.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 !== null && fields.length > 0 && fieldParams !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['w-100', styles$t.panel]),\n key: \"field\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(FieldForm, {\n name: fieldName,\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$t.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$t.actions, (_ref4 = {}, _defineProperty__default[\"default\"](_ref4, styles$t[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\"](['me-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$t.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$F;\nForm.defaultProps = defaultProps$F;\n\nvar styles$s = {\"withoutStyle\":\"micromag-core-partials-link-withoutStyle\"};\n\nvar _excluded$6 = [\"href\", \"external\", \"children\", \"target\", \"rel\", \"className\", \"withoutStyle\"];\nvar propTypes$E = {\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$E = {\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$6);\n\n return external ? /*#__PURE__*/React__default[\"default\"].createElement(\"a\", Object.assign({\n className: classNames__default[\"default\"]([className, _defineProperty__default[\"default\"]({}, styles$s.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$s.withoutStyle, withoutStyle)]),\n to: href\n }, props), /*#__PURE__*/React__default[\"default\"].createElement(Label, null, children));\n};\n\nLink.propTypes = propTypes$E;\nLink.defaultProps = defaultProps$E;\n\nvar _excluded$5 = [\"label\", \"className\"];\nvar propTypes$D = {\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$D = {\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$5);\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 ? 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 && linksElements !== null && !linksInSameBody ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: \"card-body\"\n }, linksElements) : null, footer !== 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-start', 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$D;\nCard.defaultProps = defaultProps$D;\n\nvar propTypes$C = {\n animated: PropTypes__default[\"default\"].bool,\n color: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$C = {\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$C;\nSpinner.defaultProps = defaultProps$C;\n\nvar styles$r = {};\n\nvar _excluded$4 = [\"description\", \"loading\", \"children\", \"className\"];\nvar propTypes$B = {\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$B = {\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$4);\n\n return /*#__PURE__*/React__default[\"default\"].createElement(Card, Object.assign({\n className: classNames__default[\"default\"]([styles$r.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n }, props), description, loading ? /*#__PURE__*/React__default[\"default\"].createElement(Spinner, null) : children);\n};\n\nFormPanel.propTypes = propTypes$B;\nFormPanel.defaultProps = defaultProps$B;\n\nvar styles$q = {\"container\":\"micromag-core-menus-breadcrumb-container\",\"arrow\":\"micromag-core-menus-breadcrumb-arrow\"};\n\nvar propTypes$A = {\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$A = {\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$q.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$q.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\"](['font-weight-bold', 'text-decoration-none', _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\"](['font-weight-bold', 'text-decoration-none', _defineProperty__default[\"default\"]({}, \"text-\".concat(theme), theme !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, label)) : null);\n })));\n};\n\nBreadcrumb.propTypes = propTypes$A;\nBreadcrumb.defaultProps = defaultProps$A;\n\nvar _excluded$3 = [\"type\", \"className\", \"label\", \"children\", \"onClick\", \"active\"];\nvar propTypes$z = {\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$z = {\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\n var _useState = React.useState(visible),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n enabled = _useState2[0],\n setEnabled = _useState2[1];\n\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, enabled); // Delay the outside click detection\n\n React.useEffect(function () {\n var id = setTimeout(function () {\n setEnabled(visible);\n }, 100);\n return function () {\n clearTimeout(id);\n };\n }, [visible, setEnabled]);\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 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$3);\n\n var ItemComponent = 'div';\n\n if (type === 'link') {\n ItemComponent = Link;\n } else if (type === 'button') {\n ItemComponent = 'button';\n } else if (type === 'header') {\n ItemComponent = 'h6';\n } else if (type === 'divider') {\n ItemComponent = 'hr';\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(\"div\", null, /*#__PURE__*/React__default[\"default\"].createElement(ItemComponent, Object.assign({\n key: \"item-\".concat(index, \"-\").concat(label),\n className: classNames__default[\"default\"]([(_ref3 = {\n 'dropdown-item': type === 'link' || type === 'button',\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$z;\nDropdown.defaultProps = defaultProps$z;\n\nvar _excluded$2 = [\"id\", \"className\", \"linkClassName\", \"href\", \"label\", \"external\", \"items\", \"dropdown\", \"active\", \"onClick\"];\nvar propTypes$y = {\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$y = {\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$2);\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$y;\nMenu.defaultProps = defaultProps$y;\n\nvar styles$p = {\"collapse\":\"micromag-core-menus-navbar-collapse\"};\n\nvar propTypes$x = {\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 withoutCollapseToggle: 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 collapseClassName: PropTypes__default[\"default\"].string\n};\nvar defaultProps$x = {\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 withoutCollapseToggle: false,\n children: null,\n className: null,\n brandClassName: null,\n breadCrumbsClassName: null,\n collapseClassName: null\n};\n\nvar Navbar = function Navbar(_ref) {\n var _ref2, _ref6;\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 withoutCollapseToggle = _ref.withoutCollapseToggle,\n children = _ref.children,\n className = _ref.className,\n brandClassName = _ref.brandClassName,\n breadCrumbsClassName = _ref.breadCrumbsClassName,\n collapseClassName = _ref.collapseClassName;\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, 'navbar-expand', 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 }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['container-fluid', {\n 'px-0': compact\n }])\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 && !withoutCollapseToggle ? /*#__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', styles$p.collapse, (_ref6 = {}, _defineProperty__default[\"default\"](_ref6, collapseClassName, collapseClassName !== null), _defineProperty__default[\"default\"](_ref6, \"show\", menuVisible), _ref6)])\n }, children) : children));\n};\n\nNavbar.propTypes = propTypes$x;\nNavbar.defaultProps = defaultProps$x;\n\nvar styles$o = {};\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$w = {\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$w = {\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$o.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$w;\nPaginationMenu.defaultProps = defaultProps$w;\n\nvar styles$n = {\"container\":\"micromag-core-menus-tabs-container\"};\n\nvar propTypes$v = {\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$v = {\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$n.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$n.buttons,\n buttonClassName: classNames__default[\"default\"]([styles$n.button, _defineProperty__default[\"default\"]({}, buttonClassName, buttonClassName !== null)])\n }));\n};\n\nTabsMenu.propTypes = propTypes$v;\nTabsMenu.defaultProps = defaultProps$v;\n\nvar styles$m = {\"container\":\"micromag-core-modals-container\",\"modals\":\"micromag-core-modals-modals\",\"hasModals\":\"micromag-core-modals-hasModals\"};\n\nvar propTypes$u = {\n modals: core.PropTypes.modals.isRequired,\n setModalsContainer: PropTypes__default[\"default\"].func.isRequired,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$u = {\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$m.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$m.modals, _defineProperty__default[\"default\"]({}, styles$m.hasModals, modals.length > 0)]),\n ref: containerRef\n }));\n};\n\nModalsContainer.propTypes = propTypes$u;\nModalsContainer.defaultProps = defaultProps$u;\nvar Modals = contexts.withModals(ModalsContainer);\n\n/* eslint-disable react/no-array-index-key, react/jsx-props-no-spreading */\nvar propTypes$t = {\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$t = {\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$t;\nElementPortal.defaultProps = defaultProps$t;\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 children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$s = {\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$s;\nModalPortal.defaultProps = defaultProps$s;\n\nvar styles$l = {\"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$r = {\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$r = {\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$l.container, _defineProperty__default[\"default\"]({}, styles$l[position], position !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$l.inner\n }, children)));\n};\n\nModal.propTypes = propTypes$r;\nModal.defaultProps = defaultProps$r;\n\nvar styles$k = {\"container\":\"micromag-core-modals-dialog-container\"};\n\nvar propTypes$q = {\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$q = {\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$k.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$k.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: \"btn-close\",\n \"aria-label\": \"Close\",\n onClick: onClickClose\n })), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['modal-body', styles$k.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$k.footer])\n }, footer, buttons !== null ? /*#__PURE__*/React__default[\"default\"].createElement(Buttons, {\n buttons: buttons,\n className: styles$k.buttons\n }) : null) : null));\n};\n\nModalDialog.propTypes = propTypes$q;\nModalDialog.defaultProps = defaultProps$q;\n\nvar propTypes$p = {\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$p = {\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$p;\nUploadModal.defaultProps = defaultProps$p;\n\nvar styles$j = {\"container\":\"micromag-core-panels-container\"};\n\nvar propTypes$o = {\n panels: core.PropTypes.panels,\n setPanelsContainer: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$o = {\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$j.container, _defineProperty__default[\"default\"]({}, className, className)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$j.panels, _defineProperty__default[\"default\"]({}, styles$j.hasPanels, panels.length > 0)]),\n ref: containerRef\n }));\n};\n\nPanelsContainer.propTypes = propTypes$o;\nPanelsContainer.defaultProps = defaultProps$o;\nvar Panels = contexts.withPanels(PanelsContainer);\n\n/* eslint-disable react/no-array-index-key, react/jsx-props-no-spreading */\nvar propTypes$n = {\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$n = {\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$n;\nPanelPortal.defaultProps = defaultProps$n;\n\nvar styles$i = {\"container\":\"micromag-core-panels-panel-container\"};\n\n/* eslint-disable react/no-array-index-key, react/jsx-props-no-spreading */\nvar propTypes$m = {\n id: PropTypes__default[\"default\"].string,\n title: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node\n};\nvar defaultProps$m = {\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$i.container\n }, children));\n};\n\nPanel.propTypes = propTypes$m;\nPanel.defaultProps = defaultProps$m;\n\nvar styles$h = {\"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$l = {\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$l = {\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$h.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, styles$h.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$h.top, _defineProperty__default[\"default\"]({}, topClassName, topClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Button$1, {\n withoutStyle: true,\n className: classNames__default[\"default\"]([styles$h.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$h.icon\n }),\n iconPosition: \"right\",\n labelClassName: styles$h.label,\n onClick: onClick\n }, title)), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$h.content, _defineProperty__default[\"default\"]({}, contentClassName, contentClassName !== null)])\n }, children));\n};\n\nCollapsablePanel.propTypes = propTypes$l;\nCollapsablePanel.defaultProps = defaultProps$l;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes$k = {\n date: PropTypes__default[\"default\"].string,\n withTime: PropTypes__default[\"default\"].bool,\n timeSeparator: PropTypes__default[\"default\"].node\n};\nvar defaultProps$k = {\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$k;\nDate$1.defaultProps = defaultProps$k;\n\n/* eslint-disable react/no-danger */\nvar propTypes$j = {\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$j = {\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$j;\nDetector.defaultProps = defaultProps$j;\n\nvar styles$g = {\"container\":\"micromag-core-partials-placeholder-block-container\",\"box\":\"micromag-core-partials-placeholder-block-box\",\"outline\":\"micromag-core-partials-placeholder-block-outline\"};\n\nvar propTypes$i = {\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$i = {\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$g.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, className, className !== null), _defineProperty__default[\"default\"](_ref2, styles$g.outline, outline), _ref2)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$g.box, _defineProperty__default[\"default\"]({}, boxClassName, boxClassName !== null)]),\n style: {\n width: width,\n height: height\n }\n }, children));\n};\n\nPlaceholderBlock.propTypes = propTypes$i;\nPlaceholderBlock.defaultProps = defaultProps$i;\n\n/* eslint-disable react/jsx-props-no-spreading */\n\nvar propTypes$h = {\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$h = {\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$h;\nElementComponent.defaultProps = defaultProps$h;\n\nvar styles$f = {\"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$g = {\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$g = {\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$f.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, styles$f.withoutBorder, withoutBorder), _defineProperty__default[\"default\"](_ref2, styles$f.light, light), _defineProperty__default[\"default\"](_ref2, className, className), _ref2)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$f.middle\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, children)));\n};\n\nEmpty.propTypes = propTypes$g;\nEmpty.defaultProps = defaultProps$g;\n\nvar propTypes$f = {\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$f = {\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$f;\nFontFaces.defaultProps = defaultProps$f;\n\nvar styles$e = {};\n\nvar propTypes$e = {\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$e = {\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\"](['card', styles$e.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\"](['me-3', styles$e.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, title !== null || children !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"](['card-body', styles$e.body, _defineProperty__default[\"default\"]({}, bodyClassName, bodyClassName !== null)])\n }, title !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"h5\", {\n className: classNames__default[\"default\"](['mt-0', 'text-truncate', styles$e.title, _defineProperty__default[\"default\"]({}, titleClassName, titleClassName !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(Label, null, title)) : null, children) : null);\n};\n\nMedia.propTypes = propTypes$e;\nMedia.defaultProps = defaultProps$e;\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]));\nPropTypes__default[\"default\"].shape({\n currentTime: PropTypes__default[\"default\"].number,\n duration: PropTypes__default[\"default\"].number\n});\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(['start', 'end']);\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});\nvar boxStyle = 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});\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});\nvar visualElement = PropTypes__default[\"default\"].shape({\n media: imageMedia\n});\nPropTypes__default[\"default\"].arrayOf(visualElement);\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 buttonStyle: boxStyle\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 landscape: PropTypes__default[\"default\"].bool\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});\nPropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string,\n avatar: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string\n })\n});\n\n/* eslint-disable react/no-array-index-key */\nvar propTypes$d = {\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$d = {\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$d;\nMeta.defaultProps = defaultProps$d;\n\nvar styles$d = {\"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$c = {\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$c = {\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$d.container, _defineProperty__default[\"default\"]({}, className, className)]),\n style: style\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$d.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$d.item, (_ref3 = {}, _defineProperty__default[\"default\"](_ref3, styles$d.prev, i < index), _defineProperty__default[\"default\"](_ref3, styles$d.current, i === index), _defineProperty__default[\"default\"](_ref3, styles$d.next, i > index), _ref3)])\n }, it);\n })), children);\n};\n\nSlideshow.propTypes = propTypes$c;\nSlideshow.defaultProps = defaultProps$c;\n\nvar styles$c = {\"icon\":\"micromag-core-placeholders-icon\"};\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$c.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$c.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$c.icon\n }));\n};\n\nvar styles$b = {\"container\":\"micromag-core-partials-placeholder-text-container\",\"line\":\"micromag-core-partials-placeholder-text-line\"};\n\nvar propTypes$b = {\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$b = {\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$b.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$b.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$b;\nPlaceholderText.defaultProps = defaultProps$b;\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$c.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$c.shortText]),\n height: 0.2,\n lines: 1\n }));\n};\n\nvar styles$a = {\"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$a.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$a.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: props.withImages ? freeSolidSvgIcons.faImage : freeSolidSvgIcons.faMapMarkerAlt,\n className: styles$a.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: props.withImages ? freeSolidSvgIcons.faImage : freeSolidSvgIcons.faMapMarkerAlt,\n className: styles$a.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: props.withImages ? freeSolidSvgIcons.faImage : freeSolidSvgIcons.faMapMarkerAlt,\n className: styles$a.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$c.mapPath])\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faMapMarkedAlt,\n size: \"lg\",\n className: styles$c.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$c.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$c.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$c.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$c.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$c.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$c.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$c.icon\n }));\n};\n\nvar styles$9 = {\"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$9.container, _defineProperty__default[\"default\"]({}, className, className !== null)]),\n boxClassName: styles$9.box\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faVideo,\n className: styles$9.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$9.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$c.icon\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faRedo,\n className: styles$c.icon\n }));\n};\n\nvar styles$8 = {\"container\":\"micromag-core-screens-screen-sizer-container\",\"frame\":\"micromag-core-screens-screen-sizer-frame\",\"screen\":\"micromag-core-screens-screen-sizer-screen\"};\n\nvar propTypes$a = {\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n fit: PropTypes__default[\"default\"].oneOf([null, 'cover', 'contain']),\n screenWidth: PropTypes__default[\"default\"].number,\n screenHeight: PropTypes__default[\"default\"].number,\n className: PropTypes__default[\"default\"].string,\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$a = {\n width: null,\n height: null,\n fit: null,\n screenWidth: 320,\n screenHeight: 480,\n className: null\n};\n\nvar ScreenSizer = function ScreenSizer(_ref) {\n var width = _ref.width,\n height = _ref.height,\n fit = _ref.fit,\n screenWidth = _ref.screenWidth,\n screenHeight = _ref.screenHeight,\n className = _ref.className,\n children = _ref.children;\n var hasSize = width !== null || height !== null;\n\n var _useResizeObserver = hooks.useResizeObserver(),\n refContainer = _useResizeObserver.ref,\n contentRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = contentRect || {},\n _ref2$width = _ref2.width,\n calculatedWidth = _ref2$width === void 0 ? 0 : _ref2$width,\n _ref2$height = _ref2.height,\n calculatedHeight = _ref2$height === void 0 ? 0 : _ref2$height;\n\n var _useMemo = React.useMemo(function () {\n var containerWidth = width || calculatedWidth || null;\n var containerHeight = height || calculatedHeight || null;\n\n if (containerWidth === null && containerHeight === null) {\n return {};\n }\n\n var screenRatio = screenWidth / screenHeight;\n var finalContainerWidth = hasSize ? width || containerHeight * screenRatio : containerWidth;\n var finalContainerHeight = hasSize ? height || containerWidth / screenRatio : containerWidth / screenRatio;\n\n if (fit === null) {\n var _screenScale = finalContainerWidth / screenWidth;\n\n return {\n width: finalContainerWidth,\n height: finalContainerHeight,\n transform: \"scale(\".concat(_screenScale, \")\")\n };\n }\n\n var _getSizeWithinBounds = size.getSizeWithinBounds(screenWidth, screenHeight, finalContainerWidth, finalContainerHeight, {\n cover: fit === 'cover'\n }),\n screenScaledWidth = _getSizeWithinBounds.width,\n screenScaledHeight = _getSizeWithinBounds.height,\n screenScale = _getSizeWithinBounds.scale;\n\n var x = (finalContainerWidth - screenScaledWidth) / 2;\n var y = (finalContainerHeight - screenScaledHeight) / 2;\n return {\n width: finalContainerWidth,\n height: finalContainerHeight,\n transform: \"scale(\".concat(screenScale, \") translate(\").concat(x, \"px, \").concat(y, \"px)\")\n };\n }, [screenWidth, screenHeight, width, height, fit, calculatedWidth, calculatedHeight, hasSize]),\n _useMemo$width = _useMemo.width,\n frameWidth = _useMemo$width === void 0 ? null : _useMemo$width,\n _useMemo$height = _useMemo.height,\n frameHeight = _useMemo$height === void 0 ? null : _useMemo$height,\n _useMemo$transform = _useMemo.transform,\n screenTransform = _useMemo$transform === void 0 ? null : _useMemo$transform;\n\n var screenSize = React.useMemo(function () {\n return {\n screen: 'mobile',\n screens: ['mobile'],\n width: screenWidth,\n height: screenHeight\n };\n }, [screenWidth, screenHeight]);\n var hasFrameSize = frameWidth !== null && frameHeight !== null;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n styles: classNames__default[\"default\"]([styles$8.container, _defineProperty__default[\"default\"]({}, className, className !== null)]),\n ref: !hasSize ? refContainer : null\n }, hasFrameSize ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$8.frame,\n style: {\n width: frameWidth,\n height: frameHeight\n }\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$8.screen,\n style: {\n width: screenWidth,\n height: screenHeight,\n transform: screenTransform\n }\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenSizeProvider, {\n size: screenSize\n }, /*#__PURE__*/React__default[\"default\"].cloneElement(children, {\n width: screenWidth,\n height: screenHeight\n })))) : null);\n};\n\nScreenSizer.propTypes = propTypes$a;\nScreenSizer.defaultProps = defaultProps$a;\n\nvar styles$7 = {\"container\":\"micromag-core-screens-screen-container\"};\n\nvar propTypes$9 = {\n screen: core.PropTypes.storyComponent.isRequired,\n renderContext: core.PropTypes.renderContext,\n screenState: PropTypes__default[\"default\"].string,\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 screenState: 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 screenState = _ref.screenState,\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\n var _ref2 = screen || {},\n _ref2$type = _ref2.type,\n type = _ref2$type === void 0 ? null : _ref2$type;\n\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 screenState: screenState\n }, ScreenComponent !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$7.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\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 = {\"screen\":\"micromag-core-screens-screen-placeholder-screen\"};\n\nvar _excluded$1 = [\"screen\", \"layout\", \"screenWidth\", \"screenHeight\", \"screenState\", \"withSize\", \"className\"];\nvar propTypes$8 = {\n screen: core.PropTypes.component.isRequired,\n layout: PropTypes__default[\"default\"].string,\n screenWidth: PropTypes__default[\"default\"].number,\n screenHeight: PropTypes__default[\"default\"].number,\n screenState: PropTypes__default[\"default\"].string,\n withSize: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$8 = {\n layout: undefined,\n screenState: null,\n screenWidth: 100,\n screenHeight: 150,\n withSize: false,\n className: null\n};\n\nvar ScreenPlaceholder = function ScreenPlaceholder(_ref) {\n var screen = _ref.screen,\n layout = _ref.layout,\n screenWidth = _ref.screenWidth,\n screenHeight = _ref.screenHeight,\n screenState = _ref.screenState,\n withSize = _ref.withSize,\n className = _ref.className,\n props = _objectWithoutProperties__default[\"default\"](_ref, _excluded$1);\n\n var screenElement = /*#__PURE__*/React__default[\"default\"].createElement(Screen$1, Object.assign({\n screen: screen,\n renderContext: \"placeholder\",\n screenState: screenState,\n layout: layout,\n className: classNames__default[\"default\"]([styles$6.screen, _defineProperty__default[\"default\"]({}, className, !withSize)])\n }, props));\n return withSize ? /*#__PURE__*/React__default[\"default\"].createElement(ScreenSizer, {\n className: className,\n screenWidth: screenWidth,\n screenHeight: screenHeight\n }, screenElement) : screenElement;\n};\n\nScreenPlaceholder.propTypes = propTypes$8;\nScreenPlaceholder.defaultProps = defaultProps$8;\nvar Placeholder = /*#__PURE__*/React__default[\"default\"].memo(ScreenPlaceholder);\n\nvar styles$5 = {\"stack\":\"micromag-core-screens-preview-stack\",\"stackScreen\":\"micromag-core-screens-preview-stackScreen\",\"stackItem\":\"micromag-core-screens-preview-stackItem\",\"screen\":\"micromag-core-screens-preview-screen\"};\n\nvar _excluded = [\"screen\", \"screenState\", \"width\", \"height\", \"screenWidth\", \"screenHeight\", \"className\", \"withSize\"];\nvar propTypes$7 = {\n screen: core.PropTypes.component.isRequired,\n screenState: PropTypes__default[\"default\"].string,\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n screenWidth: PropTypes__default[\"default\"].number,\n screenHeight: PropTypes__default[\"default\"].number,\n className: PropTypes__default[\"default\"].string,\n withSize: PropTypes__default[\"default\"].bool\n};\nvar defaultProps$7 = {\n screenState: null,\n width: undefined,\n height: undefined,\n screenWidth: undefined,\n screenHeight: undefined,\n className: null,\n withSize: false\n};\n\nvar ScreenPreview = function ScreenPreview(_ref) {\n var screen = _ref.screen,\n screenState = _ref.screenState,\n width = _ref.width,\n height = _ref.height,\n screenWidth = _ref.screenWidth,\n screenHeight = _ref.screenHeight,\n className = _ref.className,\n withSize = _ref.withSize,\n props = _objectWithoutProperties__default[\"default\"](_ref, _excluded);\n\n var screenElement = /*#__PURE__*/React__default[\"default\"].createElement(Screen$1, Object.assign({\n screen: screen,\n renderContext: \"preview\",\n screenState: screenState,\n width: !withSize ? width : undefined,\n height: !withSize ? height : undefined,\n className: classNames__default[\"default\"]([styles$5.screen, _defineProperty__default[\"default\"]({}, className, !withSize)])\n }, props));\n var screenWithSize = withSize ? /*#__PURE__*/React__default[\"default\"].createElement(ScreenSizer, {\n className: className,\n screenWidth: screenWidth,\n screenHeight: screenHeight,\n width: width,\n height: height\n }, screenElement) : screenElement;\n return screenWithSize;\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.ScreenSizer = ScreenSizer;\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 isString = require('lodash/isString');\nvar PropTypes = require('prop-types');\nvar React = require('react');\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 fetch = require('@folklore/fetch');\nvar isObject = require('lodash/isObject');\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');\nvar EventEmitter = require('wolfy87-eventemitter');\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 PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\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);\nvar EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter);\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 namespaces: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n filterNamespaces: PropTypes__default[\"default\"].bool,\n manager: PropTypes__default[\"default\"].instanceOf(core.ScreensManager),\n children: PropTypes__default[\"default\"].node.isRequired\n};\nvar defaultProps$g = {\n screens: null,\n namespaces: null,\n filterNamespaces: false,\n manager: null\n};\nvar ScreensProvider = function ScreensProvider(_ref) {\n var screens = _ref.screens,\n namespaces = _ref.namespaces,\n filterNamespaces = _ref.filterNamespaces,\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 newManager = previousManager.merge(newManager);\n }\n\n if (filterNamespaces) {\n newManager = previousManager.filter(function (_ref2) {\n var _ref2$namespaces = _ref2.namespaces,\n screenGroups = _ref2$namespaces === void 0 ? null : _ref2$namespaces;\n return screenGroups === null || namespaces !== null && screenGroups.reduce(function (acc, id) {\n return acc || namespaces.indexOf(id) !== -1;\n }, false);\n });\n }\n\n return newManager;\n }, [manager, screens, namespaces, filterNamespaces, 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]); // eslint-disable-next-line react/jsx-no-constructed-context-values\n\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 var value = React.useMemo(function () {\n return {\n apiKey: apiKey || previousApiKey\n };\n }, [apiKey, previousApiKey]);\n return /*#__PURE__*/React__default[\"default\"].createElement(GoogleKeysContext.Provider, {\n value: value\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 var value = React.useMemo(function () {\n return {\n modals: modals,\n container: container,\n setContainer: setContainer,\n register: register,\n unregister: unregister\n };\n }, [modals, container, setContainer, register, unregister]);\n return /*#__PURE__*/React__default[\"default\"].createElement(ModalsContext.Provider, {\n value: value\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 var value = React.useMemo(function () {\n return {\n panels: panels,\n setContainer: setContainer,\n container: container,\n register: register,\n unregister: unregister\n };\n }, [panels, setContainer, container, register, unregister]);\n return /*#__PURE__*/React__default[\"default\"].createElement(PanelsContext.Provider, {\n value: value\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 var value = React.useMemo(function () {\n return {\n routes: routes,\n basePath: basePath\n };\n }, []);\n return /*#__PURE__*/React__default[\"default\"].createElement(RoutesContext.Provider, {\n value: value\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 useScreenState = function useScreenState() {\n var _ref5 = useScreen() || {},\n screenState = _ref5.screenState;\n\n return screenState;\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 screenState: PropTypes__default[\"default\"].string\n};\nvar defaultProps$5 = {\n data: null,\n definition: null,\n renderContext: null,\n screenState: null\n};\nvar ScreenProvider = function ScreenProvider(_ref6) {\n var data = _ref6.data,\n definition = _ref6.definition,\n renderContext = _ref6.renderContext,\n screenState = _ref6.screenState,\n children = _ref6.children;\n\n var _ref7 = useScreen() || {},\n _ref7$data = _ref7.data,\n previousData = _ref7$data === void 0 ? null : _ref7$data,\n _ref7$definition = _ref7.definition,\n previousDefinition = _ref7$definition === void 0 ? null : _ref7$definition,\n _ref7$renderContext = _ref7.renderContext,\n previousContext = _ref7$renderContext === void 0 ? null : _ref7$renderContext,\n _ref7$screenState = _ref7.screenState,\n previousScreenState = _ref7$screenState === void 0 ? null : _ref7$screenState;\n\n var finalData = data || previousData || null;\n\n var _ref8 = finalData || {},\n _ref8$type = _ref8.type,\n type = _ref8$type === void 0 ? null : _ref8$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 finalScreenState = screenState || previousScreenState || null;\n var value = React.useMemo(function () {\n return {\n data: finalData,\n definition: finalDefinition,\n renderContext: finalRenderContext,\n screenState: finalScreenState\n };\n }, [finalData, finalDefinition, finalRenderContext, finalScreenState]);\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 _useState2$0$package = _useState2[0][\"package\"],\n loadedPackage = _useState2$0$package === void 0 ? null : _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 _useState2$0$package = _useState2[0][\"package\"],\n loadedPackage = _useState2$0$package === void 0 ? null : _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 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$1 : _ref$packagesMap;\n\n // transport\n var _useState = React.useState({\n packages: sources.reduce(function (map, source) {\n var sourcePackage = packagesCache$1[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 _useState2$0$packages = _useState2[0].packages,\n loadedPackages = _useState2$0$packages === void 0 ? [] : _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$2);\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$1 = _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, packagesCache$1), 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 _excluded$1 = [\"default\"];\n/**\n * Locale loader\n */\n\nvar packagesCache = {};\nvar defaultPackagesMap = {\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 : _ref$packagesMap;\n\n // transport\n var _useState = React.useState({\n \"package\": packagesCache[transport] || null\n }),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n _useState2$0$package = _useState2[0][\"package\"],\n loadedPackage = _useState2$0$package === void 0 ? null : _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$1);\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[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 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 var value = React.useMemo(function () {\n return {\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 }, [transport, locale, sources, transloadit, companion, tus, xhr, Uppy, uppyTransport, uppySources, uppyLocale, buildUppy]);\n return /*#__PURE__*/React__default[\"default\"].createElement(UppyContext.Provider, {\n value: value\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 var value = React.useMemo(function () {\n return {\n userInteracted: userInteracted,\n setUserInteracted: setUserInteracted\n };\n }, [userInteracted, setUserInteracted]);\n return /*#__PURE__*/React__default[\"default\"].createElement(UserInteractionContext.Provider, {\n value: value\n }, children);\n};\nUserInteractionProvider.propTypes = propTypes$1;\nUserInteractionProvider.defaultProps = defaultProps$1;\n\nvar defaultValue = {\n events: new EventEmitter__default[\"default\"](),\n menuVisible: false,\n menuSize: 0,\n disableInteraction: null,\n enableInteraction: null\n};\nvar ViewerContext = /*#__PURE__*/React__default[\"default\"].createContext(defaultValue);\nvar useViewer = function useViewer() {\n return React.useContext(ViewerContext);\n};\nvar useViewerNavigation = function useViewerNavigation() {\n var _useViewer = useViewer(),\n gotoNextScreen = _useViewer.gotoNextScreen,\n gotoPreviousScreen = _useViewer.gotoPreviousScreen;\n\n return {\n gotoNextScreen: gotoNextScreen,\n gotoPreviousScreen: gotoPreviousScreen\n };\n};\nvar useViewerEvents = function useViewerEvents() {\n var _useViewer2 = useViewer(),\n events = _useViewer2.events;\n\n return events;\n};\nvar useViewerInteraction = function useViewerInteraction() {\n var _useViewer3 = useViewer(),\n disableInteraction = _useViewer3.disableInteraction,\n enableInteraction = _useViewer3.enableInteraction;\n\n return {\n disableInteraction: disableInteraction,\n enableInteraction: enableInteraction\n };\n};\nvar propTypes = {\n children: PropTypes__default[\"default\"].node.isRequired,\n events: PropTypes__default[\"default\"].instanceOf(EventEmitter__default[\"default\"]),\n menuVisible: PropTypes__default[\"default\"].bool,\n menuSize: PropTypes__default[\"default\"].number,\n gotoNextScreen: PropTypes__default[\"default\"].func.isRequired,\n gotoPreviousScreen: PropTypes__default[\"default\"].func.isRequired,\n disableInteraction: PropTypes__default[\"default\"].func,\n enableInteraction: PropTypes__default[\"default\"].func\n};\n\nvar defaultProps = _objectSpread__default[\"default\"]({}, defaultValue);\n\nvar ViewerProvider = function ViewerProvider(_ref) {\n var children = _ref.children,\n events = _ref.events,\n menuVisible = _ref.menuVisible,\n menuSize = _ref.menuSize,\n gotoNextScreen = _ref.gotoNextScreen,\n gotoPreviousScreen = _ref.gotoPreviousScreen,\n disableInteraction = _ref.disableInteraction,\n enableInteraction = _ref.enableInteraction;\n var value = React.useMemo(function () {\n return {\n events: events,\n menuVisible: menuVisible,\n menuSize: menuSize,\n gotoNextScreen: gotoNextScreen,\n gotoPreviousScreen: gotoPreviousScreen,\n disableInteraction: disableInteraction,\n enableInteraction: enableInteraction\n };\n }, [events, menuVisible, menuSize, gotoNextScreen, gotoPreviousScreen, disableInteraction, enableInteraction]);\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.useScreenState = useScreenState;\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.useViewerEvents = useViewerEvents;\nexports.useViewerInteraction = useViewerInteraction;\nexports.useViewerNavigation = useViewerNavigation;\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 react$1 = require('@use-gesture/react');\nvar clamp = require('lodash/clamp');\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 || [] : []), [type === 'google' ? \"\".concat(name, \":400,700\") : 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 (e) {\n var eventMedia = e.currentTarget;\n setPlaying(false);\n\n if (onPause !== null) {\n onPause({\n midway: eventMedia.currentTime > 0 && eventMedia.currentTime < eventMedia.duration\n });\n }\n }, [setPlaying, onPause]);\n var onCustomEnded = react.useCallback(function (e) {\n var eventMedia = e.currentTarget;\n eventMedia.currentTime = 0;\n\n if (onEnded !== null) {\n onEnded();\n }\n\n setInitialPlay(true);\n }, [setInitialPlay, onEnded]);\n var onCustomTimeUpdate = react.useCallback(function (e) {\n var eventMedia = e.currentTarget;\n setCurrentTime(eventMedia.currentTime);\n\n if (onTimeUpdate !== null) {\n onTimeUpdate(eventMedia.currentTime);\n }\n\n var progress = eventMedia.currentTime / eventMedia.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 (e) {\n var eventMedia = e.currentTarget;\n setDuration(eventMedia.duration);\n\n if (onDurationChanged !== null) {\n onDurationChanged(eventMedia.duration);\n }\n }, [setDuration, onDurationChanged]);\n var onCustomSeeked = react.useCallback(function (e) {\n var eventMedia = e.currentTarget;\n\n if (onSeeked !== null) {\n onSeeked(eventMedia.currentTime);\n }\n }, [onSeeked]);\n var onCustomVolumeChange = react.useCallback(function (e) {\n var eventMedia = e.currentTarget;\n setMuted(eventMedia.muted);\n\n if (onVolumeChanged !== null) {\n onVolumeChanged(eventMedia.muted, eventMedia.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 var screenSize = react.useMemo(function () {\n var media = providedMedia !== null ? providedMedia : {\n type: mediaType,\n width: \"\".concat(width, \"px\"),\n height: \"\".concat(height, \"px\")\n };\n\n var matchingScreens = _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\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 }, [screens, providedMedia, mediaType, width, height, landscape, menuOverScreen]);\n return screenSize;\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\n var _ref6 = opts || {},\n _ref6$screenWidth = _ref6.screenWidth,\n screenWidth = _ref6$screenWidth === void 0 ? 320 : _ref6$screenWidth,\n _ref6$screenHeight = _ref6.screenHeight,\n screenHeight = _ref6$screenHeight === void 0 ? 480 : _ref6$screenHeight,\n _ref6$withoutMaxSize = _ref6.withoutMaxSize,\n withoutMaxSize = _ref6$withoutMaxSize === void 0 ? false : _ref6$withoutMaxSize,\n _ref6$landscapeMinHei = _ref6.landscapeMinHeight,\n landscapeMinHeight = _ref6$landscapeMinHei === void 0 ? 600 : _ref6$landscapeMinHei,\n _ref6$menuAlwaysOverS = _ref6.menuAlwaysOverScreen,\n menuAlwaysOverScreen = _ref6$menuAlwaysOverS === void 0 ? true : _ref6$menuAlwaysOverS,\n _ref6$landscapeMinRat = _ref6.landscapeMinRatio,\n landscapeMinRatio = _ref6$landscapeMinRat === void 0 ? 2 / 3 : _ref6$landscapeMinRat,\n _ref6$withoutScale = _ref6.withoutScale,\n withoutScale = _ref6$withoutScale === void 0 ? false : _ref6$withoutScale;\n\n var screenRatio = screenWidth / screenHeight;\n var elementRatio = fullWidth / fullHeight;\n var landscape = fullHeight > 0 && elementRatio > (landscapeMinRatio || screenRatio);\n var landscapeWithMaxSize = landscape && !withoutMaxSize;\n var finalWidth = fullWidth;\n var finalHeight = fullHeight;\n var menuOverScreen = !landscape;\n\n if (landscapeWithMaxSize) {\n if (fullHeight < landscapeMinHeight || menuAlwaysOverScreen) {\n menuOverScreen = true;\n } else {\n finalHeight = fullHeight - 100;\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 scale = finalWidth / screenWidth;\n var screenSize = useScreenSize(_objectSpread__default[\"default\"]({\n width: withoutScale ? finalWidth : screenWidth,\n height: withoutScale ? finalHeight : finalHeight / scale,\n landscape: landscape,\n menuOverScreen: menuOverScreen\n }, opts));\n return {\n ref: ref,\n screenSize: screenSize,\n scale: !withoutScale ? scale : null\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 = react$1.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]));\nvar progress = PropTypes__default[\"default\"].shape({\n currentTime: PropTypes__default[\"default\"].number,\n duration: PropTypes__default[\"default\"].number\n});\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(['start', 'end']);\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 boxStyle = 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 visualElement = PropTypes__default[\"default\"].shape({\n media: imageMedia\n});\nvar visualElements = PropTypes__default[\"default\"].arrayOf(visualElement);\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 buttonStyle: boxStyle\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 landscape: PropTypes__default[\"default\"].bool\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});\nvar authorElement = PropTypes__default[\"default\"].shape({\n name: PropTypes__default[\"default\"].string,\n avatar: PropTypes__default[\"default\"].shape({\n url: PropTypes__default[\"default\"].string\n })\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 progress: progress,\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 boxStyle: boxStyle,\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 visualElement: visualElement,\n visualElements: visualElements,\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 authorElement: authorElement\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: keys.length === 0 ? 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: \"filter\",\n value: function filter(_filter) {\n // this.definitions = this.definitions.filter(filter);\n // return this;\n return new DefinitionsManager(this.definitions.filter(_filter));\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 _createClass__default[\"default\"](FieldsManager, [{\n key: \"filter\",\n value: function filter(_filter) {\n return new FieldsManager(this.definitions.filter(_filter)); // this.definitions = this.definitions.filter(filter);\n // return this;\n }\n }]);\n\n return 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 var dataKeys = MediasParser.keys(data);\n return dataKeys.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: dataKeys.length === 0 ? 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 key: \"filter\",\n value: function filter(_filter) {\n return new ScreensManager(this.definitions.filter(_filter)); // this.definitions = this.definitions.filter(filter);\n // return this;\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 || screenIndex) !== -1) {\n this.screensViewed = [].concat(_toConsumableArray__default[\"default\"](this.screensViewed), [screenId || screenIndex]);\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 _foundField$itemsFiel = foundField.itemsField,\n itemsField = _foundField$itemsFiel === void 0 ? null : _foundField$itemsFiel;\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 defItemsField = _ref$itemsField === void 0 ? null : _ref$itemsField;\n\n var finalItemsField = itemsField || defItemsField;\n\n if (finalItemsField !== null && key.match(/^[0-9]+$/)) {\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, finalItemsField), {}, {\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 getStyleFromBox = function getStyleFromBox(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 padding = value.padding,\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\"](_objectSpread__default[\"default\"]({}, getStyleFromColor(backgroundColor, 'backgroundColor')), borderRadius !== null ? {\n borderRadius: borderRadius\n } : null), getStyleFromBorder(border)), {}, {\n padding: padding\n });\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\nvar getContrastingColor = function getContrastingColor(backgroundColor) {\n var _ref = backgroundColor || {},\n _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'white' : _ref$color;\n\n if (tinycolor__default[\"default\"].equals(color, tinycolor__default[\"default\"]('white'))) {\n return 'lightblue';\n }\n\n if (tinycolor__default[\"default\"].equals(color, tinycolor__default[\"default\"]('black'))) {\n return 'white';\n }\n\n return tinycolor__default[\"default\"](color).spin(30).toString();\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.getContrastingColor = getContrastingColor;\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.getStyleFromBox = getStyleFromBox;\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 type: 'fields',\n isList: true,\n fields: [{\n type: 'box-style-form',\n name: 'buttonStyle',\n label: reactIntl.defineMessage({\n id: \"nno1Pq\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button style\"\n }]\n })\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};\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: \"XJ2Xc+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Answer\"\n }]\n })\n }\n};\n\nvar authorElement = {\n id: 'author-element',\n component: 'field-with-form',\n labelPath: 'name.body',\n fields: [{\n name: 'name',\n type: 'text-element',\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: \"xT/onn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\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: \"KuzZbb\",\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: \"vxEtY1\",\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: \"dCG1T1\",\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 def$1 = {\n id: 'box-style',\n fields: [{\n type: 'fields',\n isList: true,\n label: reactIntl.defineMessage({\n id: \"f5Yipd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Box\"\n }]\n }),\n fields: [{\n name: 'backgroundColor',\n label: reactIntl.defineMessage({\n id: \"JDPMlG\",\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: \"xKG76H\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Rounded corners\"\n }]\n })\n }, {\n name: 'padding',\n type: 'number',\n isHorizontal: true,\n dataList: [5, 10, 20, 30, 40],\n label: reactIntl.defineMessage({\n id: \"qhjeuO\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Padding\"\n }]\n })\n }]\n }, {\n type: 'fields',\n label: reactIntl.defineMessage({\n id: \"862eE3\",\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: \"g2CRt5\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Size\"\n }]\n })\n }, {\n name: 'borderColor',\n type: 'color',\n label: reactIntl.defineMessage({\n id: \"aarOkd\",\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 fields$3 = def$1.fields;\nvar boxStyleForm = {\n id: 'box-style-form',\n component: 'box-style-form',\n fields: fields$3\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: 'box-style',\n className: 'mt-4'\n }]\n};\n\nvar def = {\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: \"eBFxNl\",\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: \"OSl7A6\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Swipe up\"\n }]\n })\n }, {\n value: 'button',\n label: reactIntl.defineMessage({\n id: \"i6bmbD\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n })\n }],\n firstOptionAsDefault: true,\n isHorizontal: true,\n label: reactIntl.defineMessage({\n id: \"iipV5Q\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Type\"\n }]\n })\n }, {\n name: 'inWebView',\n type: 'toggle',\n isHorizontal: true,\n label: reactIntl.defineMessage({\n id: \"qmIJjc\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Pop-up window\"\n }]\n })\n }, {\n name: 'url',\n type: 'url',\n // isHorizontal: true,\n label: reactIntl.defineMessage({\n id: \"mXeSkg\",\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: \"OJi+eg\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Label\"\n }]\n })\n }, {\n name: 'buttonStyle',\n type: 'box-style-form',\n label: reactIntl.defineMessage({\n id: \"i6bmbD\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n })\n }]\n};\n\nvar fields$2 = def.fields;\nvar callToActionForm = {\n id: 'call-to-action-form',\n component: 'call-to-action-form',\n fields: fields$2\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: \"X97njD\",\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: \"X97njD\",\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: \"X97njD\",\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: \"uwcXzb\",\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: \"uwcXzb\",\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: 'box-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: \"qroLmS\",\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: \"qroLmS\",\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: \"0GzLBc\",\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 type: 'fields',\n isList: true,\n fields: [{\n type: 'box-style-form',\n name: 'buttonStyle',\n label: reactIntl.defineMessage({\n id: \"nno1Pq\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button style\"\n }]\n })\n }]\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: \"XJ2Xc+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Answer\"\n }]\n })\n }\n};\n\nvar quizPointsAnswer = {\n id: 'quiz-points-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: 'points',\n type: 'number',\n isHorizontal: true,\n label: reactIntl.defineMessage({\n id: \"jWAJW4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Points\"\n }]\n })\n }, {\n type: 'fields',\n isList: true,\n fields: [{\n type: 'box-style-form',\n name: 'buttonStyle',\n label: reactIntl.defineMessage({\n id: \"nno1Pq\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button style\"\n }]\n })\n }]\n } // {\n // name: 'buttonStyle',\n // type: 'box-style',\n // className: 'mt-4'\n // },\n ]\n};\n\nvar quizPointsAnswers = {\n id: 'quiz-points-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-points-answer',\n breadcrumbLabel: reactIntl.defineMessage({\n id: \"XJ2Xc+\",\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 slider = {\n id: 'slider',\n component: 'slider'\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: \"rzdds2\",\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: 'withTime',\n type: 'toggle',\n label: reactIntl.defineMessage({\n id: \"u/LEHI\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"With time\"\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: \"uwcXzb\",\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: \"uwcXzb\",\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 authorElement: authorElement,\n background: background,\n borderRadius: borderRadius,\n borderStyle: borderStyle,\n borderWidth: borderWidth,\n boxStyle: def$1,\n boxStyleForm: boxStyleForm,\n buttonElement: buttonElement,\n callToAction: def,\n callToActionForm: callToActionForm,\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 quizPointsAnswer: quizPointsAnswer,\n quizPOintsAnswers: quizPointsAnswers,\n radios: radios,\n screenLayout: screenLayout,\n select: select,\n slider: slider,\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","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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useMemo, useEffect, useCallback, useState } from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { useUserInteracted } from '@micromag/core/contexts';\nimport { useResizeObserver, useMediaApi } from '@micromag/core/hooks';\nimport { useSpring } from '@react-spring/core';\nimport { animated } from '@react-spring/web';\nimport { useGesture } from '@use-gesture/react';\nimport 'whatwg-fetch';\nimport { getContrastingColor } from '@micromag/core/utils';\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$1.color,\n progressColor: PropTypes$1.color,\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: null,\n audioLevels: null,\n className: null,\n onSeek: null,\n onResume: null,\n onReady: null\n};\n\nfunction 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 var mainColor = useMemo(function () {\n var _ref2 = backgroundColor || {},\n _ref2$color = _ref2.color,\n color = _ref2$color === void 0 ? 'white' : _ref2$color;\n\n return color;\n }, [backgroundColor]);\n var alternateColor = useMemo(function () {\n return getContrastingColor(backgroundColor, progressColor);\n }, [progressColor, backgroundColor]);\n\n var _useResizeObserver = useResizeObserver(),\n elRef = _useResizeObserver.ref,\n elContentRect = _useResizeObserver.entry.contentRect;\n\n var _ref3 = elContentRect || {},\n _ref3$width = _ref3.width,\n elWidth = _ref3$width === void 0 ? null : _ref3$width,\n elHeight = _ref3.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 = mainColor;\n ctxProgress.fillStyle = alternateColor;\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, mainColor, alternateColor, 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(_ref4) {\n var _ref4$xy = _slicedToArray(_ref4.xy, 1),\n x = _ref4$xy[0],\n elapsedTime = _ref4.elapsedTime,\n active = _ref4.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 showWave: PropTypes.bool,\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 showWave: false,\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 showWave = _ref.showWave,\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 }), showWave ? /*#__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 })) : null);\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 _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport classNames from 'classnames';\nimport 'lodash';\nimport PropTypes$1 from 'prop-types';\nimport React, { useMemo, useEffect, useRef } from 'react';\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.oneOf(['auto', 'metadata', 'none', null]),\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 _ref7;\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\n if (finalSupportedMimes.length === 0) {\n return null;\n }\n\n var sourceFilesMap = 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 }).reduce(function (filesMap, file) {\n var _file$mime2 = file.mime,\n mime = _file$mime2 === void 0 ? \"video/\".concat(file.id === 'h264' ? 'mp4' : file.id) : _file$mime2;\n var currentMimeFile = filesMap[mime] || null;\n\n var _ref4 = currentMimeFile || {},\n _ref4$id = _ref4.id,\n currentMimeId = _ref4$id === void 0 ? null : _ref4$id;\n\n return currentMimeFile === null || currentMimeId !== 'original' ? _objectSpread(_objectSpread({}, filesMap), {}, _defineProperty({}, mime, file)) : filesMap;\n }, {});\n return Object.keys(sourceFilesMap).map(function (mime) {\n return sourceFilesMap[mime];\n });\n }, [filesArray, supportedMimes]); // @NOTE: Media is an animated image and doesn't have source files in video formats\n\n var _ref5 = filesArray.find(function (_ref6) {\n var handle = _ref6.handle;\n return handle === 'original';\n }) || {},\n _ref5$type = _ref5.type,\n originalType = _ref5$type === void 0 ? null : _ref5$type,\n _ref5$mime = _ref5.mime,\n originalMime = _ref5$mime === void 0 ? mediaMime : _ref5$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: !isImageWithoutSourceFile ? mediaUrl : null,\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]); // Ensure load if preload value change over time\n\n var firstPreloadRef = useRef(preload);\n var hasLoadedRef = useRef(preload !== 'none' && preload !== 'metadata');\n useEffect(function () {\n var _ref$current = ref.current,\n videoElement = _ref$current === void 0 ? null : _ref$current;\n var canLoad = preload !== 'none' && preload !== 'metadata';\n var preloadHasChanged = firstPreloadRef.current !== preload;\n\n if (canLoad && preloadHasChanged && !hasLoadedRef.current && videoElement !== null && typeof videoElement.load !== 'undefined') {\n hasLoadedRef.current = true;\n videoElement.load();\n }\n }, [preload]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref7 = {}, _defineProperty(_ref7, className, className !== null), _defineProperty(_ref7, styles.paused, !playing), _defineProperty(_ref7, styles.withSize, withSize), _ref7)]),\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 (_ref8) {\n var sourceUrl = _ref8.url,\n sourceMime = _ref8.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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useMemo } from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { getStyleFromColor, getOptimalImageUrl, getLayersFromBackground } from '@micromag/core/utils';\nimport { getSizeWithinBounds } from '@folklore/size';\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 shouldLoad: PropTypes.bool\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 shouldLoad: true\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 shouldLoad = _ref.shouldLoad;\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 newShouldLoad = shouldLoad || loadingMode !== 'lazy';\n var wasLoadedRef = useRef(newShouldLoad);\n\n if (newShouldLoad && !wasLoadedRef.current) {\n wasLoadedRef.current = newShouldLoad;\n }\n\n var finalShouldLoad = wasLoadedRef.current; // 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 && finalShouldLoad ? \"url(\\\"\".concat(finalUrl, \"\\\")\") : null;\n containerStyle.backgroundRepeat = repeat && !isVideo ? 'repeat' : 'no-repeat';\n containerStyle.backgroundPosition = [horizontalAlign, verticalAlign].join(' ');\n\n if (fit !== null) {\n containerStyle.backgroundSize = fit;\n } else if (!repeat || isVideo) {\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: finalShouldLoad ? 'auto' : 'metadata'\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content\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 layerClassName: PropTypes.string,\n backgroundClassName: PropTypes.string,\n loadingMode: PropTypes.string,\n shouldLoad: PropTypes.bool\n};\nvar defaultProps = {\n width: null,\n height: null,\n background: [],\n playing: false,\n children: null,\n className: null,\n layerClassName: null,\n backgroundClassName: null,\n loadingMode: 'lazy',\n shouldLoad: true\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 layerClassName = _ref.layerClassName,\n backgroundClassName = _ref.backgroundClassName,\n loadingMode = _ref.loadingMode,\n shouldLoad = _ref.shouldLoad;\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'), _defineProperty(_ref4, layerClassName, layerClassName !== null), _ref4)]),\n style: {\n zIndex: maxZIndex - index\n }\n }, /*#__PURE__*/React.createElement(Background, Object.assign({\n width: width,\n height: height,\n className: classNames([styles.background, _defineProperty({}, backgroundClassName, backgroundClassName !== null)]),\n playing: playing,\n horizontalAlign: horizontalAlign,\n verticalAlign: verticalAlign,\n loadingMode: loadingMode,\n shouldLoad: shouldLoad\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 _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport React from 'react';\nimport { PropTypes } from '@micromag/core';\nimport { Button as Button$1 } from '@micromag/core/components';\nimport { getStyleFromText, getStyleFromBox } 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\",\"border\":\"micromag-element-button-border\"};\n\nvar _excluded = [\"textStyle\", \"buttonStyle\", \"type\", \"disabled\", \"focusable\", \"separateBorder\", \"onClick\", \"children\", \"className\", \"refButton\"],\n _excluded2 = [\"borderRadius\", \"borderWidth\", \"borderColor\", \"borderStyle\"];\nvar propTypes = {\n textStyle: PropTypes.textStyle,\n buttonStyle: PropTypes.boxStyle,\n type: PropTypes$1.oneOf(['button', 'submit']),\n disabled: PropTypes$1.bool,\n focusable: PropTypes$1.bool,\n separateBorder: 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 separateBorder: 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 separateBorder = _ref.separateBorder,\n onClick = _ref.onClick,\n children = _ref.children,\n className = _ref.className,\n refButton = _ref.refButton,\n buttonProps = _objectWithoutProperties(_ref, _excluded);\n\n var finalStyles = null;\n var borderStyles = null;\n\n if (textStyle !== null) {\n finalStyles = _objectSpread(_objectSpread({}, finalStyles), getStyleFromText(textStyle));\n }\n\n if (buttonStyle !== null) {\n finalStyles = _objectSpread(_objectSpread({}, finalStyles), getStyleFromBox(buttonStyle));\n }\n\n if (separateBorder) {\n var _ref2 = finalStyles || {},\n _ref2$borderRadius = _ref2.borderRadius,\n borderRadius = _ref2$borderRadius === void 0 ? null : _ref2$borderRadius,\n _ref2$borderWidth = _ref2.borderWidth,\n borderWidth = _ref2$borderWidth === void 0 ? null : _ref2$borderWidth,\n _ref2$borderColor = _ref2.borderColor,\n borderColor = _ref2$borderColor === void 0 ? null : _ref2$borderColor,\n _ref2$borderStyle = _ref2.borderStyle,\n borderStyle = _ref2$borderStyle === void 0 ? null : _ref2$borderStyle,\n otherStyles = _objectWithoutProperties(_ref2, _excluded2);\n\n finalStyles = _objectSpread(_objectSpread({}, otherStyles), {}, {\n borderRadius: borderRadius\n });\n borderStyles = {\n borderRadius: borderRadius,\n borderWidth: borderWidth,\n borderColor: borderColor,\n borderStyle: borderStyle // width: `calc(100% - ${borderWidth || 0}px)`,\n\n };\n }\n\n console.log('yo');\n var button = /*#__PURE__*/React.createElement(Button$1, Object.assign({\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n disabled: disabled,\n style: finalStyles,\n onClick: onClick,\n refButton: refButton,\n type: type,\n focusable: focusable\n }, buttonProps), children);\n return borderStyles !== null ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.border,\n style: borderStyles\n }, button) : button;\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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { v1 } from 'uuid';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { LinkStyle, HighlightStyle } from '@micromag/core/components';\nimport { getStyleFromLink, getStyleFromHighlight, getStyleFromText, getStyleFromMargin } from '@micromag/core/utils';\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 { faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Button from '@micromag/element-button';\n\nvar styles = {\"container\":\"micromag-element-webview-container\",\"iframe\":\"micromag-element-webview-iframe\",\"top\":\"micromag-element-webview-top\",\"close\":\"micromag-element-webview-close\",\"icon\":\"micromag-element-webview-icon\"};\n\nvar propTypes = {\n iframeRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.any // eslint-disable-line\n\n })]),\n src: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n closeable: PropTypes.bool,\n onClose: PropTypes.func,\n hidden: PropTypes.bool,\n className: PropTypes.string\n};\nvar defaultProps = {\n iframeRef: null,\n src: null,\n width: null,\n height: null,\n closeable: false,\n onClose: null,\n hidden: false,\n className: null\n};\n\nfunction WebView(_ref) {\n var _ref2;\n\n var iframeRef = _ref.iframeRef,\n src = _ref.src,\n width = _ref.width,\n height = _ref.height,\n closeable = _ref.closeable,\n onClose = _ref.onClose,\n hidden = _ref.hidden,\n className = _ref.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref2 = {}, _defineProperty(_ref2, styles.closeable, closeable), _defineProperty(_ref2, className, className !== null), _ref2)]),\n style: {\n width: width,\n height: height\n }\n }, closeable ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.top\n }, /*#__PURE__*/React.createElement(Button, {\n className: styles.close,\n onClick: onClose\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles.icon,\n icon: faTimes,\n size: \"lg\"\n }))) : null, !hidden ? /*#__PURE__*/React.createElement(\"iframe\", {\n className: styles.iframe,\n ref: iframeRef,\n title: \"Popup\",\n src: src\n }) : null);\n}\n\nWebView.propTypes = propTypes;\nWebView.defaultProps = defaultProps;\n\nexport { WebView 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 { useGesture } from '@use-gesture/react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useMemo, useRef, useEffect, useCallback } from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { isValidUrl, getStyleFromColor, isIos } from '@micromag/core/utils';\nimport Button from '@micromag/element-button';\nimport Text from '@micromag/element-text';\nimport WebView from '@micromag/element-webview';\n\nvar propTypes$1 = {\n color: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps$1 = {\n color: 'currentColor',\n className: null\n};\n\nvar Arrow = function Arrow(_ref) {\n var color = _ref.color,\n className = _ref.className;\n return /*#__PURE__*/React.createElement(\"svg\", {\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0\",\n y: \"0px\",\n width: \"48.53px\",\n height: \"12.38px\",\n viewBox: \"0 0 48.53 12.38\",\n className: className,\n xmlSpace: \"preserve\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1, 0, 0, 1, 0, 0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"b\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"3px\",\n strokeLinejoin: \"round\",\n strokeLinecap: \"round\",\n d: \"M1.5,10.88L24.26,1.5l22.77,9.38\"\n })));\n};\n\nArrow.propTypes = propTypes$1;\nArrow.defaultProps = defaultProps$1;\n\nvar styles = {\"container\":\"micromag-element-call-to-action-container\",\"arrow\":\"micromag-element-call-to-action-arrow\",\"upAndDown\":\"micromag-element-call-to-action-upAndDown\",\"icon\":\"micromag-element-call-to-action-icon\",\"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\",\"inWebView\":\"micromag-element-call-to-action-inWebView\",\"withMargin\":\"micromag-element-call-to-action-withMargin\",\"webView\":\"micromag-element-call-to-action-webView\",\"visible\":\"micromag-element-call-to-action-visible\"};\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 icon: PropTypes.node,\n arrow: PropTypes.node,\n screenSize: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number\n }),\n dragAmount: PropTypes.number,\n className: PropTypes.string,\n buttonClassName: PropTypes.string,\n buttonBorderClassName: PropTypes.string,\n labelClassName: PropTypes.string,\n arrowClassName: PropTypes.string,\n focusable: PropTypes.bool\n};\nvar defaultProps = {\n elRef: null,\n disabled: false,\n animationDisabled: false,\n callToAction: null,\n icon: null,\n arrow: null,\n screenSize: null,\n dragAmount: 50,\n className: null,\n buttonClassName: null,\n buttonBorderClassName: null,\n labelClassName: null,\n arrowClassName: null,\n focusable: true\n};\n\nfunction CallToAction(_ref) {\n var _ref8;\n\n var elRef = _ref.elRef,\n disabled = _ref.disabled,\n animationDisabled = _ref.animationDisabled,\n callToAction = _ref.callToAction,\n icon = _ref.icon,\n arrow = _ref.arrow,\n screenSize = _ref.screenSize,\n dragAmount = _ref.dragAmount,\n className = _ref.className,\n buttonClassName = _ref.buttonClassName,\n buttonBorderClassName = _ref.buttonBorderClassName,\n labelClassName = _ref.labelClassName,\n arrowClassName = _ref.arrowClassName,\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 _ref2$buttonStyle = _ref2.buttonStyle,\n buttonStyle = _ref2$buttonStyle === void 0 ? null : _ref2$buttonStyle,\n _ref2$inWebView = _ref2.inWebView,\n inWebView = _ref2$inWebView === void 0 ? false : _ref2$inWebView;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showWebView = _useState2[0],\n setShowWebView = _useState2[1];\n\n var _useState3 = useState(true),\n _useState4 = _slicedToArray(_useState3, 2),\n disableWebView = _useState4[0],\n setDisabledWebView = _useState4[1];\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]);\n console.log(buttonStyle); // MobileSafari blocks popup no matter what\n\n var selfTargetLinkRef = useRef(null);\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n leaving = _useState6[0],\n setLeaving = _useState6[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 (inWebView) {\n setShowWebView(true);\n setDisabledWebView(false);\n } else if (isIos()) {\n selfTargetLinkRef.current.click();\n setLeaving(true);\n } else if (buttonRef.current) {\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 useEffect(function () {\n var id = null;\n\n if (inWebView) {\n if (showWebView) {\n setDisabledWebView(false);\n } else {\n id = setTimeout(function () {\n setDisabledWebView(true);\n }, 300);\n }\n }\n\n return function () {\n clearTimeout(id);\n };\n }, [showWebView, setDisabledWebView]);\n var onOpenWebView = useCallback(function () {\n setShowWebView(true);\n setDisabledWebView(false);\n }, [setShowWebView, setDisabledWebView]);\n var onCloseWebView = useCallback(function () {\n setShowWebView(false);\n }, [setShowWebView]);\n var ArrowElement = arrow !== null ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.arrow, _defineProperty({}, arrowClassName, arrowClassName !== null)])\n }, arrow) : /*#__PURE__*/React.createElement(Arrow, {\n className: classNames([styles.arrow, _defineProperty({}, arrowClassName, arrowClassName !== null)]),\n style: arrowStyle\n });\n return active ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref8 = {}, _defineProperty(_ref8, className, className !== null), _defineProperty(_ref8, styles.disabled, disabled), _defineProperty(_ref8, styles.animationDisabled, animationDisabled), _defineProperty(_ref8, styles.invalidUrl, !validUrl), _defineProperty(_ref8, styles.inWebView, inWebView), _ref8)]),\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 }), swipeUpEnabled ? ArrowElement : null, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.buttonBorder, _defineProperty({}, buttonBorderClassName, buttonBorderClassName !== null)])\n }, /*#__PURE__*/React.createElement(Button, Object.assign({\n className: classNames([styles.button, _defineProperty({}, buttonClassName, buttonClassName !== null)]),\n refButton: buttonRef,\n focusable: focusable,\n buttonStyle: _objectSpread({\n marginBottom: 10\n }, buttonStyle)\n }, swipeUpEnabled && !disabled ? bind() : null, inWebView ? {\n onClick: onOpenWebView\n } : {\n href: url,\n external: true\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: classNames([styles.label, _defineProperty({}, labelClassName, labelClassName !== null)])\n }, icon !== null ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.icon\n }, icon) : null, /*#__PURE__*/React.createElement(Text, Object.assign({}, label, {\n inline: true\n })))))), inWebView ? /*#__PURE__*/React.createElement(WebView, Object.assign({\n className: classNames([styles.webView, _defineProperty({}, styles.visible, showWebView)]),\n src: url,\n disabled: !showWebView,\n closeable: true,\n hidden: disableWebView,\n onClose: onCloseWebView\n }, screenSize)) : null) : 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 _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 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 { faPause, faPlay, faVolumeUp } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classNames from 'classnames';\nimport isString from 'lodash/isString';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useCallback, useMemo } from 'react';\nimport { useIntl } from 'react-intl';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { getContrastingColor } from '@micromag/core/utils';\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\",\"inner\":\"micromag-element-media-controls-seek-bar-inner\",\"time\":\"micromag-element-media-controls-seek-bar-time\",\"progressBar\":\"micromag-element-media-controls-seek-bar-progressBar\",\"withTime\":\"micromag-element-media-controls-seek-bar-withTime\"};\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 withTime: PropTypes.bool,\n onSeek: PropTypes.func,\n focusable: PropTypes.bool,\n className: PropTypes.string\n};\nvar defaultProps$1 = {\n currentTime: null,\n duration: null,\n playing: false,\n backgroundColor: 'white',\n progressColor: 'lightblue',\n withTime: false,\n onSeek: null,\n focusable: true,\n className: null\n};\n\nvar SeekBar = function SeekBar(_ref) {\n var _ref2;\n\n var currentTime = _ref.currentTime,\n duration = _ref.duration,\n playing = _ref.playing,\n backgroundColor = _ref.backgroundColor,\n progressColor = _ref.progressColor,\n withTime = _ref.withTime,\n onSeek = _ref.onSeek,\n focusable = _ref.focusable,\n className = _ref.className;\n var intl = useIntl();\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 var maxTime = useMemo(function () {\n return currentTime > 3600 || duration > 3600 ? 11 : 14;\n }, [currentTime, duration]);\n var formattedCurrrentTime = useMemo(function () {\n if (withTime) {\n var date = new Date(null);\n date.setSeconds(currentTime); // specify value for SECONDS here\n\n return date.toISOString().substring(maxTime, 19);\n }\n\n return null;\n }, [currentTime, maxTime, withTime]);\n var formattedDuration = useMemo(function () {\n if (withTime) {\n var date = new Date(null);\n date.setSeconds(duration); // specify value for SECONDS here\n\n return date.toISOString().substring(maxTime, 19);\n }\n\n return null;\n }, [duration, maxTime, withTime]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$1.container, (_ref2 = {}, _defineProperty(_ref2, styles$1.withTime, withTime), _defineProperty(_ref2, className, className !== null), _ref2)])\n }, withTime ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.time\n }, formattedCurrrentTime) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.inner\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.progressBar,\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 })), withTime ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles$1.time\n }, formattedDuration) : null);\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 withTime: PropTypes.bool,\n color: PropTypes$1.color,\n progressColor: PropTypes$1.color,\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 withTime: false,\n color: null,\n progressColor: null,\n className: null,\n focusable: true\n};\n\nvar MediaControls = function MediaControls(_ref) {\n var _ref3;\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 withTime = _ref.withTime,\n color = _ref.color,\n progressColor = _ref.progressColor,\n className = _ref.className,\n focusable = _ref.focusable;\n var intl = useIntl();\n var fullColor = isString(color) ? {\n color: color,\n alpha: 1\n } : color;\n\n var _ref2 = fullColor || {},\n _ref2$color = _ref2.color,\n finalColor = _ref2$color === void 0 ? 'white' : _ref2$color;\n\n var fullProgressColor = isString(color) ? {\n progressColor: progressColor,\n alpha: 1\n } : color;\n var alternateColor = useMemo(function () {\n return fullProgressColor || getContrastingColor(fullColor);\n }, [fullProgressColor, fullColor]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref3 = {}, _defineProperty(_ref3, className, className !== null), _defineProperty(_ref3, styles.playing, playing), _defineProperty(_ref3, styles.muted, muted), _defineProperty(_ref3, styles.withPlayPause, withPlayPause), _defineProperty(_ref3, styles.withSeekBar, withSeekBar), _ref3)]),\n style: {\n color: finalColor\n }\n }, /*#__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 }))), 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 withTime: withTime,\n backgroundColor: finalColor,\n progressColor: alternateColor\n }) : null);\n};\n\nMediaControls.propTypes = propTypes;\nMediaControls.defaultProps = defaultProps;\n\nexport { SeekBar, MediaControls 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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback, useRef, useEffect, useMemo } from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useScreenRenderContext, useViewer } from '@micromag/core/contexts';\nimport { useTrackScreenMedia, useLongPress } from '@micromag/core/hooks';\nimport { isIos } from '@micromag/core/utils';\nimport Audio from '@micromag/element-audio';\nimport Background from '@micromag/element-background';\nimport CallToAction from '@micromag/element-call-to-action';\nimport ClosedCaptions from '@micromag/element-closed-captions';\nimport Container from '@micromag/element-container';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport MediaControls from '@micromag/element-media-controls';\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 active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n getMediaRef: PropTypes.func,\n showWave: PropTypes.bool,\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 active: true,\n transitions: null,\n getMediaRef: null,\n showWave: false,\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 active = _ref.active,\n transitions = _ref.transitions,\n getMediaRef = _ref.getMediaRef,\n showWave = _ref.showWave,\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 backgroundShouldLoad = current || active || !isView;\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 _ref2$color = _ref2.color,\n color = _ref2$color === void 0 ? null : _ref2$color,\n _ref2$progressColor = _ref2.progressColor,\n progressColor = _ref2$progressColor === void 0 ? null : _ref2$progressColor;\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 seek = _ref4.seek,\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 onSeek = useCallback(function (e) {\n seek(e);\n play();\n }, [seek, play]);\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 var longPressBind = useLongPress({\n onLongPress: togglePlay\n });\n var cta = !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: -spacing / 2\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView,\n screenSize: {\n width: width,\n height: height\n }\n })) : null;\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 backgroundColor: color,\n progressColor: progressColor\n } : {\n backgroundColor: color,\n progressColor: progressColor\n },\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 showWave: showWave\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 withSeekBar: !showWave,\n duration: duration,\n currentTime: currentTime,\n onSeek: onSeek\n }) : null, cta) : 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 shouldLoad: backgroundShouldLoad\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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { v1 } from 'uuid';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { LinkStyle, HighlightStyle } from '@micromag/core/components';\nimport { getStyleFromLink, getStyleFromHighlight, getStyleFromText, getStyleFromMargin } from '@micromag/core/utils';\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 headingRef: PropTypes.shape({})\n};\nvar defaultProps = {\n size: 1,\n body: null,\n textStyle: null,\n linksStyle: null,\n margin: null,\n className: null,\n headingRef: 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 headingRef = _ref.headingRef;\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 ref: headingRef\n }));\n};\n\nHeading.propTypes = propTypes;\nHeading.defaultProps = defaultProps; // eslint-disable-next-line react/jsx-props-no-spreading\n\nvar Heading$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Heading, Object.assign({\n headingRef: ref\n }, props));\n});\n\nexport { Heading$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, getStyleFromBox } 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.boxStyle,\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), getStyleFromBox(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 { faSpinner } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useState, useCallback, useEffect } from 'react';\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, 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 CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Scroll from '@micromag/element-scroll';\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 active: 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 active: 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 active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\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 shouldLoad: backgroundShouldLoad\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 screenSize: {\n width: width,\n height: height\n }\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: \"ZiWlL6\",\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 { getSizeWithinBounds } from '@folklore/size';\nimport { PropTypes } from '@micromag/core';\nimport { getOptimalImageUrl } from '@micromag/core/utils';\nimport classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport React, { useState, useCallback } from 'react';\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;\n var _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({\n width: mediaWidth,\n height: mediaHeight\n }),\n _useState2 = _slicedToArray(_useState, 2),\n _useState2$ = _useState2[0],\n _useState2$$width = _useState2$.width,\n realWidth = _useState2$$width === void 0 ? 0 : _useState2$$width,\n _useState2$$height = _useState2$.height,\n realHeight = _useState2$$height === void 0 ? 0 : _useState2$$height,\n setRealSize = _useState2[1];\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\n if (naturalWidth !== realWidth || naturalHeight !== realHeight) {\n setRealSize({\n width: naturalWidth || 0,\n height: naturalHeight || 0\n });\n }\n\n if (onLoaded !== null) {\n onLoaded(e);\n }\n }, [onLoaded]);\n var withFit = objectFit !== null;\n var mediaHasSize = realWidth > 0 && realHeight > 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 _ref4 = objectFit || {},\n _ref4$fit = _ref4.fit,\n fit = _ref4$fit === void 0 ? null : _ref4$fit,\n _ref4$horizontalPosit = _ref4.horizontalPosition,\n horizontalPosition = _ref4$horizontalPosit === void 0 ? 'center' : _ref4$horizontalPosit,\n _ref4$verticalPositio = _ref4.verticalPosition,\n verticalPosition = _ref4$verticalPositio === void 0 ? 'center' : _ref4$verticalPositio;\n\n if (mediaHasSize) {\n var _getSizeWithinBounds = getSizeWithinBounds(realWidth, realHeight, 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 = realWidth > 0 ? mediaWidth : null;\n _finalHeight = realHeight > 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 return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: finalContainerStyle\n }, finalUrl !== null ? /*#__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};\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 { getSizeWithinBounds } from '@folklore/size';\nimport classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport React, { useMemo } from 'react';\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 classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport React, { useState, useEffect, useRef, useCallback, useMemo } from 'react';\nimport { v1 } from 'uuid';\nimport { PropTypes } 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 { getStyleFromColor, 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 Heading from '@micromag/element-heading';\nimport Layout from '@micromag/element-layout';\nimport Scroll from '@micromag/element-scroll';\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 active: 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 active: 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 active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\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 shouldLoad: backgroundShouldLoad\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 screenSize: {\n width: width,\n height: height\n }\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 classNames from 'classnames';\nimport isPlainObject from 'lodash/isPlainObject';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback, useRef, useEffect } from 'react';\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 { isImageFilled, 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 Grid from '@micromag/element-grid';\nimport Text from '@micromag/element-text';\nimport Visual from '@micromag/element-visual';\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 active: 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 active: 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 active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\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 shouldLoad: backgroundShouldLoad\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 screenSize: {\n width: width,\n height: height\n }\n })) : null)));\n};\n\nGalleryScreen.propTypes = propTypes;\nGalleryScreen.defaultProps = defaultProps;\nvar GalleryScreen$1 = /*#__PURE__*/React.memo(GalleryScreen);\n\nfunction 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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback } from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { isImageFilled, 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 Layout from '@micromag/element-layout';\nimport Scroll from '@micromag/element-scroll';\nimport Text from '@micromag/element-text';\nimport Visual from '@micromag/element-visual';\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 active: 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 active: 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 active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\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 shouldLoad: backgroundShouldLoad\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 screenSize: {\n width: width,\n height: height\n }\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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo, useState, useCallback } from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, Transitions } 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 Heading from '@micromag/element-heading';\nimport Layout from '@micromag/element-layout';\nimport Text from '@micromag/element-text';\nimport Visual from '@micromag/element-visual';\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 active: 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 active: 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 active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\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 screenSize: {\n width: width,\n height: height\n }\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 shouldLoad: backgroundShouldLoad\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 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 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 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 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 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: 16,\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 var correctMarkers = (markers || []).filter(function (it) {\n return it !== null && (it.geoPosition || null) !== null;\n });\n\n if (client === null || correctMarkers === null || correctMarkers.length === 0) {\n return null;\n }\n\n var markersBounds = correctMarkers.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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useRef, useCallback, useMemo, useEffect } from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { PlaceholderMap, Transitions, Button, ScreenElement } from '@micromag/core/components';\nimport { useGoogleKeys, useScreenSize, useScreenRenderContext, useScreenState } from '@micromag/core/contexts';\nimport { useTrackScreenEvent, useResizeObserver } from '@micromag/core/hooks';\nimport { getStyleFromColor, isTextFilled } from '@micromag/core/utils';\nimport { Background } from '@micromag/element-background';\nimport ButtonElement from '@micromag/element-button';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport ImageElement from '@micromag/element-image';\nimport Map from '@micromag/element-map';\nimport Scroll from '@micromag/element-scroll';\nimport Text from '@micromag/element-text';\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 center: PropTypes$1.geoPosition,\n zoom: PropTypes.number,\n fitBounds: PropTypes.bool,\n background: PropTypes$1.backgroundElement,\n current: PropTypes.bool,\n active: 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 center: defaultCenter,\n zoom: defaultZoom,\n fitBounds: true,\n title: null,\n description: null,\n button: null,\n openedMarkerSpacerHeight: 0.75,\n withMarkerImages: false,\n background: null,\n current: true,\n active: true,\n transitions: null,\n onEnableInteraction: null,\n onDisableInteraction: null,\n type: null,\n className: null\n};\n\nfunction MapScreen(_ref) {\n var _ref16;\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 zoom = _ref.zoom,\n center = _ref.center,\n fitBounds = _ref.fitBounds,\n background = _ref.background,\n current = _ref.current,\n active = _ref.active,\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 screenState = useScreenState();\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 var backgroundShouldLoad = current || active || !isView;\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 (newCenter) {\n var coords = newCenter.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]); // Switch state\n\n useEffect(function () {\n if (!isEdit && !isPreview) {\n return;\n }\n\n var _ref7 = screenState !== null ? screenState.split('.') : [],\n _ref8 = _slicedToArray(_ref7, 2),\n _ref8$ = _ref8[0],\n stateId = _ref8$ === void 0 ? null : _ref8$,\n _ref8$2 = _ref8[1],\n markerIndex = _ref8$2 === void 0 ? null : _ref8$2;\n\n if (stateId === 'intro') {\n setOpened(false);\n setSelectedMarkerIndex(null);\n } else if (stateId === 'map') {\n setOpened(true);\n setSelectedMarkerIndex(null);\n } else if (stateId === 'markers') {\n setOpened(true);\n setSelectedMarkerIndex(parseInt(markerIndex, 10));\n }\n }, [screenState, isEdit, setOpened]);\n var staticUrl;\n\n if (width > 0 && height > 0 && apiKey !== null) {\n var correctMarkers = markers !== null ? markers.filter(function (it) {\n return it !== null;\n }).filter(function (_ref9) {\n var _ref9$geoPosition = _ref9.geoPosition,\n geoPosition = _ref9$geoPosition === void 0 ? null : _ref9$geoPosition;\n return geoPosition !== null;\n }) : null;\n staticUrl = \"https://maps.googleapis.com/maps/api/staticmap?size=\".concat(Math.round(width), \"x\").concat(Math.round(height));\n\n if (center !== null && (correctMarkers === null || correctMarkers.length === 0)) {\n var _ref10 = center || {},\n _ref10$lat = _ref10.lat,\n lat = _ref10$lat === void 0 ? null : _ref10$lat,\n _ref10$lng = _ref10.lng,\n lng = _ref10$lng === void 0 ? null : _ref10$lng;\n\n staticUrl += \"¢er=\".concat(lat, \",\").concat(lng);\n }\n\n if (zoom !== null) {\n staticUrl += \"&zoom=\".concat(zoom);\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 (correctMarkers !== null) {\n staticUrl += correctMarkers.map(function (marker) {\n var _ref11 = marker || {},\n _ref11$geoPosition = _ref11.geoPosition,\n geoPosition = _ref11$geoPosition === void 0 ? null : _ref11$geoPosition;\n\n var _ref12 = geoPosition || {},\n _ref12$lat = _ref12.lat,\n lat = _ref12$lat === void 0 ? null : _ref12$lat,\n _ref12$lng = _ref12.lng,\n lng = _ref12$lng === void 0 ? null : _ref12$lng;\n\n var _ref13 = marker || {},\n _ref13$image = _ref13.image,\n image = _ref13$image === void 0 ? null : _ref13$image;\n\n var _ref14 = image || {},\n _ref14$url = _ref14.url,\n url = _ref14$url === void 0 ? null : _ref14$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\n var renderedMarker = hasSelectedMarker ? finalMarkers[selectedMarkerIndex] : lastRenderedMarker.current;\n\n var _ref15 = renderedMarker || {},\n _ref15$title = _ref15.title,\n markerTitle = _ref15$title === void 0 ? null : _ref15$title,\n _ref15$subtitle = _ref15.subtitle,\n markerSubtitle = _ref15$subtitle === void 0 ? null : _ref15$subtitle,\n _ref15$description = _ref15.description,\n markerDescription = _ref15$description === void 0 ? null : _ref15$description,\n _ref15$image = _ref15.image,\n markerImage = _ref15$image === void 0 ? null : _ref15$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 return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref16 = {}, _defineProperty(_ref16, className, className !== null), _defineProperty(_ref16, styles[\"\".concat(layout, \"Layout\")], layout !== null), _defineProperty(_ref16, styles.opened, opened || isPreview && screenState !== 'intro'), _defineProperty(_ref16, styles.hasSelectedMarker, hasSelectedMarker), _ref16)]),\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 shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, isPlaceholder ? /*#__PURE__*/React.createElement(PlaceholderMap, {\n className: styles.placeholder,\n withImages: withMarkerImages\n }) : /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n fullscreen: true,\n disabled: transitionDisabled\n }, isPreview ? /*#__PURE__*/React.createElement(ImageElement, {\n media: staticUrl !== null ? {\n url: staticUrl,\n metadata: {\n width: Math.min(640, width),\n height: Math.min(640, height)\n }\n } : null,\n width: width,\n height: height,\n objectFit: {\n fit: 'cover'\n }\n }) : /*#__PURE__*/React.createElement(Map, {\n key: \"map\",\n center: center,\n zoom: zoom,\n draggable: draggable,\n markers: finalMarkers,\n fitBounds: fitBounds,\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 }, hasButton ? /*#__PURE__*/React.createElement(Text, Object.assign({}, button, {\n className: styles.button\n })) : /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"sXfFFw\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Enter\"\n }]\n })))), !isStatic && !isCapture && !isPreview && !isEdit ? /*#__PURE__*/React.createElement(Button, {\n key: \"close-button\",\n className: styles.closeButton,\n onClick: onCloseClick,\n focusable: current && isView\n }, \"\\xD7\") : null)));\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: \"Z27IP6\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Map\"\n }]\n }),\n order: 6\n },\n title: defineMessage({\n id: \"dPYwJG\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Map\"\n }]\n }),\n component: MapScreen,\n layouts: ['normal'],\n transforms: transforms,\n states: [{\n id: 'intro',\n label: defineMessage({\n id: \"BgrRxZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Intro\"\n }]\n }),\n fields: [{\n name: 'title',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n id: \"+AEVbJ\",\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: \"ZCe0r4\",\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: \"i6bmbD\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n })\n }]\n }, {\n id: 'map',\n label: defineMessage({\n id: \"eYHEYe\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Map\"\n }]\n }),\n fields: [{\n name: 'draggable',\n type: 'toggle',\n defaultValue: true,\n label: defineMessage({\n id: \"A7ncT3\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Draggable\"\n }]\n })\n }, {\n name: 'fitBounds',\n type: 'toggle',\n defaultValue: true,\n label: defineMessage({\n id: \"NVUpOG\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Map fit markers\"\n }]\n })\n }, {\n name: 'zoom',\n type: 'slider',\n defaultValue: 9,\n min: 0,\n max: 16,\n label: defineMessage({\n id: \"vRzzo6\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Zoom\"\n }]\n })\n }, {\n name: 'center',\n type: 'geo-position',\n label: defineMessage({\n id: \"W5qWPj\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Center\"\n }]\n })\n }]\n }, {\n id: 'markers',\n label: defineMessage({\n id: \"+LvOvJ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Markers\"\n }]\n }),\n repeatable: true,\n fieldName: 'markers',\n fields: [{\n name: 'title',\n type: 'heading-element',\n label: defineMessage({\n id: \"+AEVbJ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n label: defineMessage({\n id: \"ZCe0r4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'geoPosition',\n type: 'geo-position',\n label: defineMessage({\n id: \"u3ok54\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Position\"\n }]\n })\n }]\n }],\n fields: [{\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"cDj1mZ\",\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: \"Z27IP6\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Map\"\n }]\n }),\n order: 6\n },\n title: defineMessage({\n id: \"ro6yHS\",\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: \"+AEVbJ\",\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: \"ZCe0r4\",\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: \"i6bmbD\",\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: \"A7ncT3\",\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: \"CW3KAC\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Markers with image\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"cDj1mZ\",\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 _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport React, { useMemo, useState, useEffect, useCallback, useRef } from 'react';\nimport { PropTypes } from '@micromag/core';\nimport { useScreenRenderContext, useScreenSize, useViewer, useScreenState } from '@micromag/core/contexts';\nimport { useResizeObserver, useTrackScreenEvent } from '@micromag/core/hooks';\nimport { useQuizCreate } from '@micromag/data';\nimport Background from '@micromag/element-background';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport { ScreenElement, Transitions } from '@micromag/core/components';\nimport { isTextFilled, getStyleFromBox, getStyleFromColor } from '@micromag/core/utils';\nimport Heading from '@micromag/element-heading';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Text from '@micromag/element-text';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';\nimport { faCheck, faTimes } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport Button from '@micromag/element-button';\nimport { TransitionGroup, CSSTransition } from 'react-transition-group';\n\nvar styles$4 = {\"emptyAnswer\":\"micromag-screen-quiz-answers-emptyAnswer\",\"button\":\"micromag-screen-quiz-answers-button\",\"container\":\"micromag-screen-quiz-answers-container\",\"items\":\"micromag-screen-quiz-answers-items\",\"item\":\"micromag-screen-quiz-answers-item\",\"rightAnswer\":\"micromag-screen-quiz-answers-rightAnswer\",\"answered\":\"micromag-screen-quiz-answers-answered\",\"userAnswer\":\"micromag-screen-quiz-answers-userAnswer\",\"willCollapse\":\"micromag-screen-quiz-answers-willCollapse\",\"didCollapsed\":\"micromag-screen-quiz-answers-didCollapsed\",\"withoutGoodAnswer\":\"micromag-screen-quiz-answers-withoutGoodAnswer\",\"isPlaceholder\":\"micromag-screen-quiz-answers-isPlaceholder\",\"withGoodAnswer\":\"micromag-screen-quiz-answers-withGoodAnswer\",\"resultIcon\":\"micromag-screen-quiz-answers-resultIcon\",\"itemContent\":\"micromag-screen-quiz-answers-itemContent\"};\n\nvar propTypes$5 = {\n items: PropTypes.quizAnswers.isRequired,\n answeredIndex: PropTypes$1.number,\n answersCollapseDelay: PropTypes$1.number,\n buttonsStyle: PropTypes.boxStyle,\n goodAnswerColor: PropTypes.color,\n badAnswerColor: PropTypes.color,\n withoutGoodAnswer: PropTypes$1.bool,\n focusable: PropTypes$1.bool,\n collapsed: PropTypes$1.bool,\n transitions: PropTypes.transitions,\n transitionPlaying: PropTypes$1.bool,\n transitionStagger: PropTypes$1.number,\n transitionDisabled: PropTypes$1.bool,\n onClick: PropTypes$1.func,\n onCollapse: PropTypes$1.func,\n onCollapsed: PropTypes$1.func,\n onTransitionEnd: PropTypes$1.func,\n className: PropTypes$1.string\n};\nvar defaultProps$5 = {\n answeredIndex: null,\n answersCollapseDelay: 2000,\n buttonsStyle: null,\n goodAnswerColor: null,\n badAnswerColor: null,\n withoutGoodAnswer: false,\n focusable: false,\n collapsed: false,\n transitions: null,\n transitionPlaying: false,\n transitionStagger: 100,\n transitionDisabled: false,\n onClick: null,\n onCollapse: null,\n onCollapsed: null,\n onTransitionEnd: null,\n className: null\n};\n\nvar Answers = function Answers(_ref) {\n var _ref5;\n\n var items = _ref.items,\n answeredIndex = _ref.answeredIndex,\n answersCollapseDelay = _ref.answersCollapseDelay,\n buttonsStyle = _ref.buttonsStyle,\n goodAnswerColor = _ref.goodAnswerColor,\n badAnswerColor = _ref.badAnswerColor,\n withoutGoodAnswer = _ref.withoutGoodAnswer,\n focusable = _ref.focusable,\n initialCollapsed = _ref.collapsed,\n transitions = _ref.transitions,\n transitionPlaying = _ref.transitionPlaying,\n transitionStagger = _ref.transitionStagger,\n transitionDisabled = _ref.transitionDisabled,\n _onClick = _ref.onClick,\n onCollapse = _ref.onCollapse,\n onCollapsed = _ref.onCollapsed,\n onTransitionEnd = _ref.onTransitionEnd,\n className = _ref.className;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isView = _useScreenRenderConte.isView,\n isPreview = _useScreenRenderConte.isPreview,\n isPlaceholder = _useScreenRenderConte.isPlaceholder,\n isEdit = _useScreenRenderConte.isEdit;\n\n var answered = answeredIndex !== null;\n\n var _ref2 = answeredIndex !== null ? items[answeredIndex] : {},\n _ref2$good = _ref2.good,\n hasAnsweredRight = _ref2$good === void 0 ? false : _ref2$good; // 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\n var _useResizeObserver = useResizeObserver(),\n answerRef = _useResizeObserver.ref,\n answerContentRect = _useResizeObserver.entry.contentRect;\n\n var _ref3 = answerContentRect || {},\n answerHeight = _ref3.height;\n\n var _useResizeObserver2 = useResizeObserver(),\n rightAnswerRef = _useResizeObserver2.ref,\n rightAnswerContentRect = _useResizeObserver2.entry.contentRect;\n\n var _ref4 = rightAnswerContentRect || {},\n rightAnswerHeight = _ref4.height;\n\n var rightAnswerTop = useMemo(function () {\n return rightAnswerRef.current !== null ? rightAnswerRef.current.offsetTop : 0;\n }, [rightAnswerHeight]);\n var shouldCollapse = !withoutGoodAnswer;\n\n var _useState = useState(answeredIndex !== null),\n _useState2 = _slicedToArray(_useState, 2),\n answersCollapsed = _useState2[0],\n setAnswersCollapsed = _useState2[1];\n\n var _useState3 = useState(initialCollapsed || answeredIndex !== null),\n _useState4 = _slicedToArray(_useState3, 2),\n answersDidCollapsed = _useState4[0],\n setAnswersDidCollapsed = _useState4[1];\n\n useEffect(function () {\n var timeout = null;\n\n if (answeredIndex !== null && shouldCollapse) {\n timeout = setTimeout(function () {\n setAnswersCollapsed(true);\n\n if (onCollapse !== null) {\n onCollapse();\n }\n }, hasAnsweredRight ? 500 : answersCollapseDelay);\n }\n\n return function () {\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n };\n }, [answeredIndex, withoutGoodAnswer, setAnswersCollapsed, onCollapse, answersCollapseDelay, hasAnsweredRight]);\n var onAnswerTransitionEnd = useCallback(function () {\n if (onTransitionEnd !== null) {\n onTransitionEnd();\n }\n\n if (shouldCollapse && answersCollapsed && !answersDidCollapsed) {\n setAnswersDidCollapsed(true);\n\n if (onCollapsed !== null) {\n onCollapsed();\n }\n }\n }, [shouldCollapse, answersCollapsed, answersDidCollapsed, setAnswersCollapsed, onCollapsed, onTransitionEnd]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$4.container, (_ref5 = {}, _defineProperty(_ref5, styles$4.answered, answered), _defineProperty(_ref5, styles$4.withoutGoodAnswer, withoutGoodAnswer), _defineProperty(_ref5, styles$4.withGoodAnswer, !withoutGoodAnswer), _defineProperty(_ref5, styles$4.willCollapse, shouldCollapse && answersCollapsed), _defineProperty(_ref5, styles$4.didCollapsed, shouldCollapse && answersDidCollapsed), _defineProperty(_ref5, styles$4.isPlaceholder, isPlaceholder), _defineProperty(_ref5, className, className !== null), _ref5)]),\n ref: answerRef,\n style: answered && !answersDidCollapsed && (isView || isEdit) && shouldCollapse ? {\n height: answersCollapsed ? rightAnswerHeight : answerHeight\n } : null\n }, items !== null || isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles$4.items\n }, (isPlaceholder || isEdit && items.length === 0 ? _toConsumableArray(new Array(2)) : items).map(function (answer, answerI) {\n var _ref7;\n\n var userAnswer = answerI === answeredIndex;\n\n var _ref6 = answer || {},\n _ref6$good = _ref6.good,\n rightAnswer = _ref6$good === void 0 ? false : _ref6$good,\n _ref6$label = _ref6.label,\n label = _ref6$label === void 0 ? null : _ref6$label,\n _ref6$buttonStyle = _ref6.buttonStyle,\n answerButtonStyle = _ref6$buttonStyle === void 0 ? null : _ref6$buttonStyle;\n\n var hasAnswer = isTextFilled(label);\n\n if (answersDidCollapsed && !rightAnswer) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"answer-\".concat(answerI),\n ref: rightAnswer ? rightAnswerRef : null,\n className: classNames([styles$4.item, (_ref7 = {}, _defineProperty(_ref7, styles$4.rightAnswer, rightAnswer && !withoutGoodAnswer), _defineProperty(_ref7, styles$4.userAnswer, userAnswer), _ref7)]),\n style: answersCollapsed && rightAnswer && !answersDidCollapsed && shouldCollapse ? {\n transform: \"translateY(\".concat(-rightAnswerTop, \"px)\")\n } : null,\n onTransitionEnd: rightAnswer || withoutGoodAnswer && userAnswer ? onAnswerTransitionEnd : null\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles$4.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$4.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$4.button,\n onClick: function onClick() {\n return _onClick(answer, answerI);\n },\n disabled: isPreview || answered,\n focusable: focusable,\n buttonStyle: _objectSpread(_objectSpread({}, getStyleFromBox(buttonsStyle)), getStyleFromBox(answerButtonStyle))\n }, !withoutGoodAnswer && rightAnswer ? /*#__PURE__*/React.createElement(\"span\", {\n className: styles$4.resultIcon,\n style: getStyleFromColor(goodAnswerColor, 'backgroundColor')\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles$4.faIcon,\n icon: faCheck\n })) : null, !withoutGoodAnswer && answered && !hasAnsweredRight && userAnswer ? /*#__PURE__*/React.createElement(\"span\", {\n className: styles$4.resultIcon,\n style: getStyleFromColor(badAnswerColor, 'backgroundColor')\n }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {\n className: styles$4.faIcon,\n icon: faTimes\n })) : null, /*#__PURE__*/React.createElement(Text, Object.assign({}, label, {\n className: styles$4.optionLabel\n })))) : null)));\n })) : null);\n};\n\nAnswers.propTypes = propTypes$5;\nAnswers.defaultProps = defaultProps$5;\n\nvar styles$3 = {\"container\":\"micromag-screen-quiz-question-container\",\"emptyQuestion\":\"micromag-screen-quiz-question-emptyQuestion\",\"emptyResult\":\"micromag-screen-quiz-question-emptyResult\",\"question\":\"micromag-screen-quiz-question-question\",\"index\":\"micromag-screen-quiz-question-index\",\"result\":\"micromag-screen-quiz-question-result\",\"resultContent\":\"micromag-screen-quiz-question-resultContent\",\"resultVisible\":\"micromag-screen-quiz-question-resultVisible\",\"isPlaceholder\":\"micromag-screen-quiz-question-isPlaceholder\"};\n\nvar propTypes$4 = {\n question: PropTypes.textElement,\n answers: PropTypes.quizAnswers,\n result: PropTypes$1.shape({\n image: PropTypes.imageElement,\n text: PropTypes.textElement\n }),\n index: PropTypes$1.number,\n totalCount: PropTypes$1.number,\n answeredIndex: PropTypes$1.number,\n buttonsStyle: PropTypes.boxStyle,\n goodAnswerColor: PropTypes.color,\n badAnswerColor: PropTypes.color,\n focusable: PropTypes$1.bool,\n layout: PropTypes$1.string,\n callToActionHeight: PropTypes$1.number,\n showInstantAnswer: PropTypes$1.bool,\n withResult: PropTypes$1.bool,\n withoutGoodAnswer: PropTypes$1.bool,\n withoutIndex: PropTypes$1.bool,\n transitions: PropTypes.transitions,\n transitionPlaying: PropTypes$1.bool,\n transitionStagger: PropTypes$1.number,\n transitionDisabled: PropTypes$1.bool,\n onAnswerClick: PropTypes$1.func,\n onAnswerTransitionEnd: PropTypes$1.func,\n className: PropTypes$1.string,\n style: PropTypes$1.objectOf(PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.number]))\n};\nvar defaultProps$4 = {\n question: null,\n answers: null,\n result: null,\n index: null,\n totalCount: null,\n answeredIndex: null,\n buttonsStyle: null,\n goodAnswerColor: null,\n badAnswerColor: null,\n focusable: false,\n layout: null,\n callToActionHeight: null,\n showInstantAnswer: false,\n withResult: false,\n withoutGoodAnswer: false,\n withoutIndex: false,\n transitions: null,\n transitionPlaying: false,\n transitionStagger: 100,\n transitionDisabled: false,\n onAnswerClick: null,\n onAnswerTransitionEnd: null,\n className: null,\n style: null\n};\n\nvar Question = function Question(_ref) {\n var _ref3;\n\n var question = _ref.question,\n answers = _ref.answers,\n result = _ref.result,\n index = _ref.index,\n totalCount = _ref.totalCount,\n answeredIndex = _ref.answeredIndex,\n buttonsStyle = _ref.buttonsStyle,\n goodAnswerColor = _ref.goodAnswerColor,\n badAnswerColor = _ref.badAnswerColor,\n focusable = _ref.focusable,\n showInstantAnswer = _ref.showInstantAnswer,\n withResult = _ref.withResult,\n withoutGoodAnswer = _ref.withoutGoodAnswer,\n withoutIndex = _ref.withoutIndex,\n layout = _ref.layout,\n callToActionHeight = _ref.callToActionHeight,\n transitions = _ref.transitions,\n transitionPlaying = _ref.transitionPlaying,\n transitionStagger = _ref.transitionStagger,\n transitionDisabled = _ref.transitionDisabled,\n onAnswerClick = _ref.onAnswerClick,\n onAnswerTransitionEnd = _ref.onAnswerTransitionEnd,\n className = _ref.className,\n style = _ref.style;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isPlaceholder = _useScreenRenderConte.isPlaceholder;\n\n var isSplitted = layout === 'split';\n var verticalAlign = isSplitted ? null : layout;\n var hasQuestion = isTextFilled(question);\n var hasResult = isTextFilled(result);\n\n var _useState = useState(showInstantAnswer),\n _useState2 = _slicedToArray(_useState, 2),\n resultVisible = _useState2[0],\n setResultVisible = _useState2[1];\n\n var answered = answeredIndex !== null;\n\n var _useResizeObserver = useResizeObserver(),\n resultRef = _useResizeObserver.ref,\n resultContentRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = resultContentRect || {};\n _ref2.height; // eslint-disable-line\n\n\n var onAnswersCollapse = useCallback(function () {\n setResultVisible(true);\n }, [setResultVisible]);\n var hasIndex = index !== null && totalCount !== null;\n return /*#__PURE__*/React.createElement(Layout, {\n className: classNames([styles$3.container, (_ref3 = {}, _defineProperty(_ref3, styles$3.isPlaceholder, isPlaceholder), _defineProperty(_ref3, styles$3.resultVisible, resultVisible), _defineProperty(_ref3, className, className !== null), _ref3)]),\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: style\n }, [!withoutIndex && hasIndex ? /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"stats\",\n placeholder: /*#__PURE__*/React.createElement(\"div\", {\n className: styles$3.index\n }, \"1 / 10\")\n }, totalCount > 1 ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles$3.index\n }, index + 1, \" / \", totalCount)) : null) : null, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"question\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"FOmgqv\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Question\"\n }]\n }),\n emptyClassName: styles$3.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$3.question\n }))) : null), isSplitted ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer\"\n }) : null, /*#__PURE__*/React.createElement(Answers, {\n key: \"answers\",\n items: answers || [],\n answeredIndex: answeredIndex,\n goodAnswerColor: goodAnswerColor,\n badAnswerColor: badAnswerColor,\n withoutGoodAnswer: withoutGoodAnswer,\n buttonsStyle: buttonsStyle,\n focusable: focusable,\n transitions: transitions,\n transitionStagger: transitionStagger,\n transitionPlaying: transitionPlaying,\n transitionDisabled: transitionDisabled,\n onClick: onAnswerClick,\n onCollapse: onAnswersCollapse,\n onTransitionEnd: onAnswerTransitionEnd\n }), withResult ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles$3.result,\n key: \"results\",\n ref: resultRef\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles$3.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$3.emptyResult\n }, hasResult && answers !== 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$3.resultText\n })), callToActionHeight !== null ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: callToActionHeight\n }\n }) : null) : null))) : null]);\n};\n\nQuestion.propTypes = propTypes$4;\nQuestion.defaultProps = defaultProps$4;\n\nvar styles$2 = {\"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\",\"layout\":\"micromag-screen-quiz-layout\",\"callToAction\":\"micromag-screen-quiz-callToAction\",\"transition\":\"micromag-screen-quiz-transition\",\"intro\":\"micromag-screen-quiz-intro\",\"question\":\"micromag-screen-quiz-question\",\"results\":\"micromag-screen-quiz-results\",\"enter\":\"micromag-screen-quiz-enter\",\"left\":\"micromag-screen-quiz-left\",\"enterActive\":\"micromag-screen-quiz-enterActive\",\"exit\":\"micromag-screen-quiz-exit\",\"exitActive\":\"micromag-screen-quiz-exitActive\",\"background\":\"micromag-screen-quiz-background\"};\n\nvar propTypes$3 = {\n id: PropTypes$1.string,\n layout: PropTypes$1.oneOf(['top', 'middle', 'bottom', 'split']),\n question: PropTypes.textElement,\n answers: PropTypes.quizAnswers,\n result: PropTypes$1.shape({\n image: PropTypes.imageElement,\n text: PropTypes.textElement\n }),\n buttonsStyle: PropTypes.boxStyle,\n goodAnswerColor: PropTypes.color,\n badAnswerColor: PropTypes.color,\n spacing: PropTypes$1.number,\n background: PropTypes.backgroundElement,\n callToAction: PropTypes.callToAction,\n current: PropTypes$1.bool,\n active: PropTypes$1.bool,\n transitions: PropTypes.transitions,\n transitionStagger: PropTypes$1.number,\n type: PropTypes$1.string,\n className: PropTypes$1.string\n};\nvar defaultProps$3 = {\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 background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 100,\n type: null,\n className: null\n};\n\nvar QuizScreen = function QuizScreen(_ref) {\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 background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\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 transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView; // 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;\n\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 _useQuizCreate = useQuizCreate({\n screenId: screenId\n }),\n submitQuiz = _useQuizCreate.create;\n\n var onAnswerClick = useCallback(function (answer, answerI) {\n if (userAnswerIndex !== null) {\n return;\n }\n\n setUserAnswerIndex(answerI);\n trackScreenEvent('click_answer', \"\".concat(userAnswerIndex + 1, \": \").concat(answer.label.body), {\n answer: answer,\n answerIndex: answerI\n });\n }, [userAnswerIndex, setUserAnswerIndex, trackScreenEvent, answers]);\n useEffect(function () {\n if (!current && isEdit && userAnswerIndex !== null) {\n setUserAnswerIndex(null);\n }\n }, [isEdit, current, userAnswerIndex, setUserAnswerIndex]);\n useEffect(function () {\n if (userAnswerIndex !== null) {\n var _ref3 = userAnswerIndex !== null && answers ? answers[userAnswerIndex] : {},\n _ref3$good = _ref3.good,\n isGood = _ref3$good === void 0 ? false : _ref3$good,\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 ? '' : _ref4$body;\n\n submitQuiz({\n choice: body || userAnswerIndex,\n value: isGood ? 1 : 0\n });\n }\n }, [userAnswerIndex, answers, submitQuiz]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$2.container, _defineProperty({}, className, className !== null)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(Question, {\n question: question,\n answers: answers,\n result: result,\n answeredIndex: userAnswerIndex,\n buttonsStyle: buttonsStyle,\n goodAnswerColor: goodAnswerColor,\n badAnswerColor: badAnswerColor,\n focusable: current && isView,\n showInstantAnswer: showInstantAnswer,\n withResult: true,\n layout: layout,\n callToActionHeight: callToActionHeight,\n transitions: transitions,\n transitionPlaying: transitionPlaying,\n transitionStagger: transitionStagger,\n transitionDisabled: transitionDisabled,\n onAnswerClick: onAnswerClick,\n className: styles$2.question,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles$2.callToAction,\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView,\n screenSize: {\n width: width,\n height: height\n }\n }) : null));\n};\n\nQuizScreen.propTypes = propTypes$3;\nQuizScreen.defaultProps = defaultProps$3;\n\nvar styles$1 = {\"container\":\"micromag-screen-quiz-results-container\",\"emptyDescription\":\"micromag-screen-quiz-results-emptyDescription\",\"emptyTitle\":\"micromag-screen-quiz-results-emptyTitle\",\"title\":\"micromag-screen-quiz-results-title\",\"isPlaceholder\":\"micromag-screen-quiz-results-isPlaceholder\"};\n\nvar propTypes$2 = {\n title: PropTypes.textElement,\n description: PropTypes.textElement,\n layout: PropTypes$1.string,\n transitions: PropTypes.transitions,\n transitionPlaying: PropTypes$1.bool,\n transitionStagger: PropTypes$1.number,\n transitionDisabled: PropTypes$1.bool,\n className: PropTypes$1.string,\n style: PropTypes$1.objectOf(PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.number]))\n};\nvar defaultProps$2 = {\n title: null,\n description: null,\n layout: null,\n transitions: null,\n transitionPlaying: false,\n transitionStagger: 100,\n transitionDisabled: false,\n className: null,\n style: null\n};\n\nvar Results = function Results(_ref) {\n var layout = _ref.layout,\n title = _ref.title,\n description = _ref.description,\n transitions = _ref.transitions,\n transitionPlaying = _ref.transitionPlaying,\n transitionStagger = _ref.transitionStagger,\n transitionDisabled = _ref.transitionDisabled,\n className = _ref.className,\n style = _ref.style;\n var isSplitted = layout === 'split';\n var verticalAlign = isSplitted ? null : layout;\n var hasTitle = isTextFilled(title);\n var hasDescription = isTextFilled(description);\n return /*#__PURE__*/React.createElement(Layout, {\n className: classNames([styles$1.container, _defineProperty({}, className, className !== null)]),\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: style\n }, [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"BSTWf8\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles$1.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$1.title\n }))) : null), isSplitted ? /*#__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: \"hoDz0O\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n emptyClassName: styles$1.emptyDescription,\n isEmpty: !hasDescription\n }, hasTitle ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled,\n delay: transitionStagger\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, description, {\n className: styles$1.description\n }))) : null)]);\n};\n\nResults.propTypes = propTypes$2;\nResults.defaultProps = defaultProps$2;\n\nvar styles = {\"container\":\"micromag-screen-quiz-title-container\",\"emptyDescription\":\"micromag-screen-quiz-title-emptyDescription\",\"emptyTitle\":\"micromag-screen-quiz-title-emptyTitle\",\"description\":\"micromag-screen-quiz-title-description\",\"title\":\"micromag-screen-quiz-title-title\",\"isPlaceholder\":\"micromag-screen-quiz-title-isPlaceholder\"};\n\nvar propTypes$1 = {\n title: PropTypes.textElement,\n description: PropTypes.textElement,\n button: PropTypes.textElement,\n layout: PropTypes$1.string,\n focusable: PropTypes$1.bool,\n transitions: PropTypes.transitions,\n transitionPlaying: PropTypes$1.bool,\n transitionStagger: PropTypes$1.number,\n transitionDisabled: PropTypes$1.bool,\n className: PropTypes$1.string,\n style: PropTypes$1.objectOf(PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.number])),\n onClickButton: PropTypes$1.func\n};\nvar defaultProps$1 = {\n title: null,\n description: null,\n layout: null,\n button: null,\n focusable: false,\n transitions: null,\n transitionPlaying: false,\n transitionStagger: 100,\n transitionDisabled: false,\n className: null,\n style: null,\n onClickButton: null\n};\n\nvar Title = function Title(_ref) {\n var layout = _ref.layout,\n title = _ref.title,\n description = _ref.description,\n button = _ref.button,\n focusable = _ref.focusable,\n transitions = _ref.transitions,\n transitionPlaying = _ref.transitionPlaying,\n transitionStagger = _ref.transitionStagger,\n transitionDisabled = _ref.transitionDisabled,\n className = _ref.className,\n style = _ref.style,\n onClickButton = _ref.onClickButton;\n\n var _useScreenRenderConte = useScreenRenderContext(),\n isPreview = _useScreenRenderConte.isPreview,\n isEdit = _useScreenRenderConte.isEdit;\n\n var isSplitted = layout === 'split';\n var verticalAlign = isSplitted ? null : layout;\n var hasTitle = isTextFilled(title);\n var hasDescription = isTextFilled(description);\n var hasButton = isTextFilled(button);\n return /*#__PURE__*/React.createElement(Layout, {\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n fullscreen: true,\n verticalAlign: verticalAlign,\n style: style\n }, [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: \"title\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"BSTWf8\",\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), /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"description\",\n placeholder: \"text\",\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"hoDz0O\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n emptyClassName: styles.emptyDescription,\n isEmpty: !hasDescription\n }, hasDescription ? /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled,\n delay: transitionStagger\n }, /*#__PURE__*/React.createElement(Text, Object.assign({}, description, {\n className: styles.description\n }))) : null), isSplitted ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer\"\n }) : null, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"button\",\n placeholder: \"button\"\n }, /*#__PURE__*/React.createElement(Transitions, {\n transitions: transitions,\n playing: transitionPlaying,\n disabled: transitionDisabled,\n delay: transitionStagger * 2\n }, /*#__PURE__*/React.createElement(Button, {\n disabled: isPreview || isEdit,\n focusable: focusable,\n buttonStyle: button !== null ? button.buttonStyle : null,\n className: styles.button,\n onClick: onClickButton\n }, hasButton ? /*#__PURE__*/React.createElement(Text, Object.assign({}, button, {\n className: styles.label\n })) : /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"D7LIZQ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Start\"\n }]\n }))))]);\n};\n\nTitle.propTypes = propTypes$1;\nTitle.defaultProps = defaultProps$1;\n\nvar propTypes = {\n id: PropTypes$1.string,\n layout: PropTypes$1.oneOf(['top', 'middle', 'bottom', 'split']),\n introLayout: PropTypes$1.oneOf(['top', 'middle', 'bottom', 'split']),\n title: PropTypes.textElement,\n description: PropTypes.textElement,\n questions: PropTypes$1.arrayOf(PropTypes$1.shape({\n text: PropTypes.textElement,\n answers: PropTypes.quizAnswers\n })),\n results: PropTypes$1.arrayOf(PropTypes$1.shape({\n title: PropTypes.textElement,\n description: PropTypes.textElement\n })),\n buttonsStyle: PropTypes.boxStyle,\n goodAnswerColor: PropTypes.color,\n badAnswerColor: PropTypes.color,\n spacing: PropTypes$1.number,\n background: PropTypes.backgroundElement,\n introButton: PropTypes.textElement,\n introBackground: PropTypes.backgroundElement,\n callToAction: PropTypes.callToAction,\n current: PropTypes$1.bool,\n active: PropTypes$1.bool,\n transitions: PropTypes.transitions,\n transitionStagger: PropTypes$1.number,\n type: PropTypes$1.string,\n className: PropTypes$1.string\n};\nvar defaultProps = {\n id: null,\n layout: 'middle',\n introLayout: null,\n title: null,\n description: null,\n questions: null,\n results: null,\n buttonsStyle: null,\n goodAnswerColor: null,\n badAnswerColor: null,\n spacing: 20,\n background: null,\n introButton: null,\n introBackground: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 100,\n type: null,\n className: null\n};\n\nvar QuizMultipleScreen = function QuizMultipleScreen(_ref) {\n var _ref12;\n\n var id = _ref.id,\n layout = _ref.layout,\n introLayout = _ref.introLayout,\n title = _ref.title,\n description = _ref.description,\n questions = _ref.questions,\n results = _ref.results,\n buttonsStyle = _ref.buttonsStyle,\n goodAnswerColor = _ref.goodAnswerColor,\n badAnswerColor = _ref.badAnswerColor,\n spacing = _ref.spacing,\n background = _ref.background,\n introBackground = _ref.introBackground,\n introButton = _ref.introButton,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\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 screenState = useScreenState();\n\n var _ref2 = screenState !== null ? screenState.split('.') : [],\n _ref3 = _slicedToArray(_ref2, 2),\n _ref3$ = _ref3[0],\n stateId = _ref3$ === void 0 ? null : _ref3$,\n _ref3$2 = _ref3[1],\n stateIndex = _ref3$2 === void 0 ? 0 : _ref3$2;\n\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView; // 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 _ref4 = callToActionRect || {},\n _ref4$height = _ref4.height,\n callToActionHeight = _ref4$height === void 0 ? 0 : _ref4$height;\n\n var showInstantAnswer = isStatic || isCapture;\n var hasIntro = title !== null || description !== null || isEdit || stateId === 'intro';\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n userAnswers = _useState2[0],\n setUserAnswers = _useState2[1];\n\n var initialQuestionIndex = 'intro';\n\n if (stateId !== null) {\n initialQuestionIndex = stateId === 'questions' ? parseInt(stateIndex, 10) : stateId;\n } else if (isPlaceholder || !hasIntro) {\n initialQuestionIndex = 0;\n }\n\n var _useState3 = useState(initialQuestionIndex),\n _useState4 = _slicedToArray(_useState3, 2),\n questionIndex = _useState4[0],\n setQuestionIndex = _useState4[1];\n\n useEffect(function () {\n if (isPreview && hasIntro && questionIndex !== 'intro') {\n setQuestionIndex('intro');\n }\n }, [isPreview, hasIntro, questionIndex, setQuestionIndex]);\n var onAnswerClick = useCallback(function (answer, answerIndex) {\n setUserAnswers(_objectSpread(_objectSpread({}, userAnswers), {}, _defineProperty({}, questionIndex, answerIndex)));\n trackScreenEvent('click_answer', \"Question #\".concat(questionIndex + 1, \" \").concat(answerIndex + 1, \": \").concat(answer.label.body), {\n question: questions[questionIndex],\n questionIndex: questionIndex,\n answer: answer,\n answerIndex: answerIndex\n });\n }, [userAnswers, setUserAnswers, trackScreenEvent, questions, questionIndex]);\n var onAnswerTransitionEnd = useCallback(function () {\n var nextIndex = questionIndex + 1;\n var questionsCount = questions.length;\n\n if (nextIndex < questionsCount) {\n setQuestionIndex(nextIndex);\n } else if (nextIndex === questionsCount) {\n setQuestionIndex('results');\n }\n }, [questions, questionIndex, setQuestionIndex]);\n var onClickIntroButton = useCallback(function () {\n setQuestionIndex(0);\n }, [setQuestionIndex]);\n useEffect(function () {\n if (!current && isEdit && userAnswers !== null) {\n setUserAnswers(null);\n }\n }, [isEdit, current, userAnswers, setUserAnswers]);\n var hasQuestions = questions !== null && questions.length > 0;\n var currentQuestion = hasQuestions ? questions[questionIndex] || {} : {};\n var _currentQuestion$text = currentQuestion.text,\n text = _currentQuestion$text === void 0 ? null : _currentQuestion$text,\n _currentQuestion$answ = currentQuestion.answers,\n answers = _currentQuestion$answ === void 0 ? [] : _currentQuestion$answ,\n _currentQuestion$back = currentQuestion.background,\n questionBackground = _currentQuestion$back === void 0 ? null : _currentQuestion$back,\n _currentQuestion$layo = currentQuestion.layout,\n questionLayout = _currentQuestion$layo === void 0 ? null : _currentQuestion$layo;\n var currentAnsweredIndex = userAnswers !== null && typeof userAnswers[questionIndex] !== 'undefined' ? userAnswers[questionIndex] : null;\n var currentPoints = useMemo(function () {\n return userAnswers !== null ? Object.keys(userAnswers).reduce(function (totalPoints, answerQuestionIndex) {\n var _ref5 = questions !== null ? questions[answerQuestionIndex] || {} : {},\n _ref5$answers = _ref5.answers,\n questionAnswers = _ref5$answers === void 0 ? [] : _ref5$answers;\n\n var answerIndex = userAnswers[answerQuestionIndex];\n\n var _ref6 = questionAnswers[answerIndex] || {},\n _ref6$points = _ref6.points,\n points = _ref6$points === void 0 ? 0 : _ref6$points;\n\n return points + totalPoints;\n }, 0) : 0;\n }, [userAnswers, questions]);\n var isIntro = hasIntro && questionIndex === 'intro';\n var isResults = questionIndex === 'results';\n var isQuestion = !isIntro && !isResults;\n var currentResult = useMemo(function () {\n if (!isResults) {\n return null;\n }\n\n if (stateId === 'results') {\n return (results || [])[parseInt(stateIndex, 10)] || null;\n }\n\n return (results || []).sort(function (_ref7, _ref8) {\n var _ref7$points = _ref7.points,\n pointsA = _ref7$points === void 0 ? 0 : _ref7$points;\n var _ref8$points = _ref8.points,\n pointsB = _ref8$points === void 0 ? 0 : _ref8$points;\n\n if (pointsA === pointsB) {\n return 0;\n }\n\n return pointsA > pointsB ? 1 : -1;\n }).reduce(function (lastResult, result) {\n var _ref9 = lastResult || {},\n _ref9$points = _ref9.points,\n lastPoints = _ref9$points === void 0 ? 0 : _ref9$points;\n\n var _ref10 = result || {},\n _ref10$points = _ref10.points,\n points = _ref10$points === void 0 ? 0 : _ref10$points;\n\n return currentPoints >= lastPoints && currentPoints <= points ? result : lastResult;\n }, null);\n }, [isResults, results, currentPoints, stateId, stateIndex]);\n\n var _ref11 = currentResult || {},\n _ref11$background = _ref11.background,\n resultBackground = _ref11$background === void 0 ? null : _ref11$background,\n _ref11$layout = _ref11.layout,\n resultLayout = _ref11$layout === void 0 ? null : _ref11$layout;\n\n var _useQuizCreate = useQuizCreate({\n screenId: screenId\n }),\n submitQuiz = _useQuizCreate.create;\n\n useEffect(function () {\n if (!isResults || isEdit) {\n return;\n }\n\n submitQuiz({\n choice: userAnswers,\n value: currentPoints\n });\n }, [isResults, userAnswers, submitQuiz]); // Switch state\n\n useEffect(function () {\n if (!isEdit && !isPreview) {\n return;\n }\n\n if (stateId === 'questions') {\n setQuestionIndex(parseInt(stateIndex, 10));\n } else if (stateId === 'results') {\n setQuestionIndex('results');\n } else if (stateId === 'intro') {\n setQuestionIndex('intro');\n }\n }, [stateId, stateIndex, isEdit, setQuestionIndex]);\n var finalBackground = background;\n var backgroundKey = 'background';\n\n if (isIntro && introBackground !== null) {\n finalBackground = introBackground;\n backgroundKey = 'results';\n } else if (isResults && resultBackground !== null) {\n finalBackground = resultBackground;\n backgroundKey = 'results';\n } else if (isQuestion && questionBackground !== null) {\n finalBackground = questionBackground;\n backgroundKey = \"question_\".concat(questionIndex);\n } // Transition direction\n\n\n var lastQuestionIndexRef = useRef(questionIndex);\n var direction = useMemo(function () {\n if (questionIndex === lastQuestionIndexRef.current) {\n return null;\n }\n\n var lastQuestionIndex = lastQuestionIndexRef.current;\n lastQuestionIndexRef.current = questionIndex;\n\n if (questionIndex === 'intro' || lastQuestionIndex === 'results' || lastQuestionIndex > questionIndex) {\n return 'left';\n }\n\n lastQuestionIndexRef.current = questionIndex;\n return 'right';\n }, [questionIndex]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles$2.container, (_ref12 = {}, _defineProperty(_ref12, styles$2[direction], direction !== null), _defineProperty(_ref12, className, className !== null), _ref12)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(TransitionGroup, null, /*#__PURE__*/React.createElement(CSSTransition, {\n key: backgroundKey,\n classNames: styles$2,\n timeout: 1000\n }, /*#__PURE__*/React.createElement(Background, {\n background: finalBackground,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad,\n className: styles$2.background\n }))) : null, /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(TransitionGroup, null, [isIntro ? /*#__PURE__*/React.createElement(CSSTransition, {\n key: \"intro\",\n classNames: styles$2,\n timeout: 1000\n }, /*#__PURE__*/React.createElement(Title, {\n title: title,\n description: description,\n layout: introLayout || layout,\n button: introButton,\n focusable: current && isView,\n transitions: transitions,\n transitionPlaying: transitionPlaying,\n transitionStagger: transitionStagger,\n transitionDisabled: transitionDisabled,\n className: styles$2.intro,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null,\n onClickButton: onClickIntroButton\n })) : null, isQuestion ? /*#__PURE__*/React.createElement(CSSTransition, {\n key: \"question-\".concat(questionIndex),\n classNames: styles$2,\n timeout: 1000\n }, /*#__PURE__*/React.createElement(Question, {\n index: questionIndex,\n totalCount: (questions || []).length,\n question: text,\n answers: answers,\n answeredIndex: currentAnsweredIndex,\n buttonsStyle: buttonsStyle,\n goodAnswerColor: goodAnswerColor,\n badAnswerColor: badAnswerColor,\n focusable: current && isView,\n showInstantAnswer: showInstantAnswer,\n layout: questionLayout || layout,\n withoutGoodAnswer: true,\n callToActionHeight: callToActionHeight,\n transitions: transitions,\n transitionPlaying: transitionPlaying,\n transitionStagger: transitionStagger,\n transitionDisabled: transitionDisabled,\n onAnswerClick: onAnswerClick,\n onAnswerTransitionEnd: onAnswerTransitionEnd,\n className: styles$2.question,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n })) : null, isResults ? /*#__PURE__*/React.createElement(CSSTransition, {\n key: \"results\",\n classNames: styles$2,\n timeout: 2000\n }, /*#__PURE__*/React.createElement(Results, Object.assign({}, currentResult, {\n layout: resultLayout || layout,\n transitions: transitions,\n transitionPlaying: transitionPlaying,\n transitionStagger: transitionStagger,\n transitionDisabled: transitionDisabled,\n className: styles$2.results,\n style: !isPlaceholder ? {\n padding: spacing,\n paddingTop: (menuOverScreen && !isPreview ? menuSize : 0) + spacing\n } : null\n }))) : null]), !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(CallToAction, {\n ref: callToActionRef,\n className: styles$2.callToAction,\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView,\n screenSize: {\n width: width,\n height: height\n }\n }) : null));\n};\n\nQuizMultipleScreen.propTypes = propTypes;\nQuizMultipleScreen.defaultProps = defaultProps;\n\nvar definition = [{\n id: 'quiz',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"ZiWlL6\",\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: 'box-style-form',\n label: defineMessage({\n id: \"l5uLMd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Buttons\"\n }]\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 id: 'quiz-multiple',\n type: 'screen',\n group: {\n label: defineMessage({\n id: \"ZiWlL6\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Questions\"\n }]\n }),\n order: 7\n },\n title: defineMessage({\n id: \"ACkeH6\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Quiz with multiple questions\"\n }]\n }),\n component: QuizMultipleScreen,\n layouts: ['top', 'middle', 'bottom', 'split'],\n states: [{\n id: 'intro',\n label: defineMessage({\n id: \"BgrRxZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Intro\"\n }]\n }),\n fields: [{\n name: 'introLayout',\n type: 'screen-layout',\n defaultValue: 'middle',\n screenState: 'intro',\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: \"+AEVbJ\",\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: \"ZCe0r4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'introButton',\n type: 'button-element',\n theme: {\n textStyle: 'button'\n },\n label: defineMessage({\n id: \"i6bmbD\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button\"\n }]\n })\n }, {\n name: 'introBackground',\n type: 'background',\n label: defineMessage({\n id: \"cDj1mZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }]\n }, {\n id: 'questions',\n label: defineMessage({\n id: \"VMd1oG\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Questions\"\n }]\n }),\n repeatable: true,\n fieldName: 'questions',\n fields: [{\n name: 'text',\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-points-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: 'background',\n type: 'background',\n label: defineMessage({\n id: \"cDj1mZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }]\n }, {\n id: 'results',\n label: defineMessage({\n id: \"uiTxd7\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Results\"\n }]\n }),\n repeatable: true,\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n screenState: 'results',\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: \"+AEVbJ\",\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: \"ZCe0r4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'points',\n type: 'number',\n isHorizontal: true,\n label: defineMessage({\n id: \"jWAJW4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Points\"\n }]\n })\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"cDj1mZ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Background\"\n }]\n })\n }]\n }],\n fields: [{\n name: 'layout',\n type: 'screen-layout',\n defaultValue: 'top',\n label: defineMessage({\n id: \"OPxJx/\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Layout\"\n }]\n })\n }, {\n type: 'fields',\n label: defineMessage({\n id: \"LOknw0\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Styles\"\n }]\n }),\n isList: true,\n fields: [{\n name: 'buttonsStyle',\n type: 'box-style-form',\n label: defineMessage({\n id: \"l5uLMd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Buttons\"\n }]\n })\n }]\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"cDj1mZ\",\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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\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 Layout, { Spacer } from '@micromag/element-layout';\nimport Quote from '@micromag/element-quote';\nimport Text from '@micromag/element-text';\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 active: 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 active: 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 active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\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 screenSize: {\n width: width,\n height: height\n }\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 shouldLoad: backgroundShouldLoad\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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback } from 'react';\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 CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Layout from '@micromag/element-layout';\nimport Scroll from '@micromag/element-scroll';\nimport Text from '@micromag/element-text';\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 active: 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 active: 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 active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\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 shouldLoad: backgroundShouldLoad\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 screenSize: {\n width: width,\n height: height\n }\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 _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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useMemo, useCallback, useEffect, useRef } from 'react';\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, getStyleFromBox, 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';\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.boxStyle,\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 withoutResults: PropTypes.bool,\n current: PropTypes.bool,\n active: 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 withoutResults: false,\n current: true,\n active: 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 withoutResults = _ref.withoutResults,\n current = _ref.current,\n active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\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 && !withoutResults ? 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({}, getStyleFromBox(buttonsStyle)), getStyleFromBox(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: !withoutResults ? \"\".concat(percent, \"%\") : null\n }, getStyleFromColor(answered ? answerResultBarColor || resultsBarColor || labelColor : null, 'backgroundColor'))\n }, withPercentLabels && !withoutResults ? /*#__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 screenSize: {\n width: width,\n height: height\n }\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 shouldLoad: backgroundShouldLoad\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: \"ZiWlL6\",\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 name: 'withoutResult',\n type: 'toggle',\n defaultValue: false,\n label: defineMessage({\n id: \"W3aj7x\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Without results\"\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: 'box-style-form',\n label: defineMessage({\n id: \"l5uLMd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Buttons\"\n }]\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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\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 Heading from '@micromag/element-heading';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Text from '@micromag/element-text';\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 active: 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 active: 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 active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\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 screenSize: {\n width: width,\n height: height\n }\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 shouldLoad: backgroundShouldLoad\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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback, useRef, useEffect } from 'react';\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 CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Layout from '@micromag/element-layout';\nimport Scroll from '@micromag/element-scroll';\nimport Text from '@micromag/element-text';\nimport Visual from '@micromag/element-visual';\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 active: 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 active: 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 active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\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 '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 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\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 shouldLoad: backgroundShouldLoad\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 screenSize: {\n width: width,\n height: height\n }\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 classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, TransitionsStagger } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { isTextFilled, getStyleFromBox } 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 Heading from '@micromag/element-heading';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Text from '@micromag/element-text';\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\",\"box\":\"micromag-screen-title-box\",\"isPlaceholder\":\"micromag-screen-title-isPlaceholder\",\"layout\":\"micromag-screen-title-layout\"};\n\nvar propTypes$2 = {\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 boxStyle: PropTypes$1.boxStyle,\n withSubtitle: PropTypes.bool,\n withDescription: PropTypes.bool,\n withBox: 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 active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps$2 = {\n layout: 'top',\n title: null,\n subtitle: null,\n description: null,\n boxStyle: null,\n withSubtitle: false,\n withDescription: false,\n withBox: 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 active: 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 boxStyle = _ref.boxStyle,\n withSubtitle = _ref.withSubtitle,\n withDescription = _ref.withDescription,\n withBox = _ref.withBox,\n spacing = _ref.spacing,\n descriptionEmptyLabel = _ref.descriptionEmptyLabel,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n var titleElement = /*#__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);\n var subtitleElement = 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) : null;\n var descriptionElement = 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) : 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 shouldLoad: backgroundShouldLoad\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 }, !isPlaceholder && hasCallToAction && isMiddleLayout ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-top\"\n }) : null, withBox && !isSplitted ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.box,\n style: isEdit || isPlaceholder || hasTitle || hasSubtitle || hasDescription ? getStyleFromBox(boxStyle) : null\n }, /*#__PURE__*/React.createElement(TransitionsStagger, {\n transitions: transitions,\n stagger: transitionStagger,\n disabled: transitionDisabled,\n playing: transitionPlaying,\n focusable: current && isView\n }, [titleElement, subtitleElement, descriptionElement])) : null, withBox && isSplitted ? /*#__PURE__*/React.createElement(TransitionsStagger, {\n transitions: transitions,\n stagger: transitionStagger,\n disabled: transitionDisabled,\n playing: transitionPlaying,\n focusable: current && isView\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.box,\n key: \"top\",\n style: isEdit || isPlaceholder || hasTitle || withDescription && verticalAlign === 'top' && hasSubtitle ? getStyleFromBox(boxStyle) : null\n }, titleElement, withDescription && verticalAlign === 'top' ? subtitleElement : null), /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer1\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.box,\n key: \"bottom\",\n style: isEdit || isPlaceholder || hasDescription || (!withDescription || verticalAlign === 'bottom') && hasSubtitle ? getStyleFromBox(boxStyle) : null\n }, !withDescription || verticalAlign === 'bottom' ? subtitleElement : null, descriptionElement)) : null, !withBox ? /*#__PURE__*/React.createElement(TransitionsStagger, {\n transitions: transitions,\n stagger: transitionStagger,\n disabled: transitionDisabled,\n playing: transitionPlaying,\n focusable: current && isView\n }, titleElement, isSplitted && (!withDescription || verticalAlign === 'bottom') && /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer1\"\n }), subtitleElement, isSplitted && withDescription && verticalAlign === 'top' && /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer2\"\n }), descriptionElement) : 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 screenSize: {\n width: width,\n height: height\n }\n })) : null)));\n};\n\nTitleScreen.propTypes = propTypes$2;\nTitleScreen.defaultProps = defaultProps$2;\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$1 = {\n credits: PropTypes$1.textElement\n};\nvar defaultProps$1 = {\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$1;\nTitleSubtitleCreditsScreen.defaultProps = defaultProps$1;\n\n/* eslint-disable react/jsx-props-no-spreading */\nvar propTypes = {};\nvar defaultProps = {};\n\nvar TitleWithBoxScreen = function TitleWithBoxScreen(props) {\n return /*#__PURE__*/React.createElement(TitleScreen$1, Object.assign({}, props, {\n withSubtitle: true,\n withDescription: true,\n withBox: true\n }));\n};\n\nTitleWithBoxScreen.propTypes = propTypes;\nTitleWithBoxScreen.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 id: 'title-with-box',\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: \"9a5s+m\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title with box\"\n }]\n }),\n component: TitleWithBoxScreen,\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: 'description',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"ZCe0r4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n type: 'fields',\n isList: true,\n label: defineMessage({\n id: \"LOknw0\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Styles\"\n }]\n }),\n fields: [{\n name: 'boxStyle',\n type: 'box-style-form',\n label: defineMessage({\n id: \"f5Yipd\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Box\"\n }]\n })\n }]\n }, {\n name: 'background',\n type: 'background',\n label: defineMessage({\n id: \"cDj1mZ\",\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 _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 { getStyleFromMargin } from '@micromag/core/utils';\n\nvar styles = {\"container\":\"micromag-element-link-container\"};\n\nvar propTypes = {\n url: PropTypes.string,\n target: PropTypes.string,\n rel: PropTypes.string,\n external: PropTypes.bool,\n margin: PropTypes$1.margin,\n className: PropTypes.string,\n children: PropTypes.node,\n focusable: PropTypes.bool\n};\nvar defaultProps = {\n url: null,\n target: null,\n rel: null,\n external: true,\n margin: null,\n className: null,\n children: null,\n focusable: true\n};\n\nvar Link = function Link(_ref) {\n var url = _ref.url,\n linkTarget = _ref.target,\n linkRel = _ref.rel,\n external = _ref.external,\n margin = _ref.margin,\n className = _ref.className,\n children = _ref.children,\n focusable = _ref.focusable;\n var finalStyle = null;\n\n if (margin !== null) {\n finalStyle = _objectSpread(_objectSpread({}, finalStyle), getStyleFromMargin(margin));\n }\n\n var id = useMemo(function () {\n return finalStyle !== null ? \"link-component-\".concat(v1()) : null;\n }, [finalStyle !== null]);\n\n var _ref2 = external ? {\n target: '_blank',\n rel: 'noopener noreferer'\n } : {\n target: linkTarget,\n rel: linkRel\n },\n target = _ref2.target,\n rel = _ref2.rel;\n\n return url ? /*#__PURE__*/React.createElement(\"a\", {\n id: id,\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: finalStyle,\n href: url,\n target: target,\n rel: rel,\n tabIndex: focusable ? '0' : '-1'\n }, children) : /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: classNames([styles.container, _defineProperty({}, className, className !== null)]),\n style: finalStyle\n }, children);\n};\n\nLink.propTypes = propTypes;\nLink.defaultProps = defaultProps;\n\nexport { Link as default };\n","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { PropTypes } from '@micromag/core';\nimport Link from '@micromag/element-link';\nimport Text from '@micromag/element-text';\nimport { getOptimalImageUrl } from '@micromag/core/utils';\n\nvar styles$1 = {\"container\":\"micromag-element-urbania-author-avatar-container\",\"shape\":\"micromag-element-urbania-author-avatar-shape\",\"shapeCircle\":\"micromag-element-urbania-author-avatar-shapeCircle\"};\n\nvar propTypes$1 = {\n image: PropTypes.imageElement,\n width: PropTypes$1.number,\n height: PropTypes$1.number,\n isTag: PropTypes$1.bool,\n shape: PropTypes$1.oneOf([null, 'tag', 'circle']),\n className: PropTypes$1.string\n};\nvar defaultProps$1 = {\n image: null,\n width: 100,\n height: 100,\n isTag: false,\n shape: 'Circle',\n className: null\n};\n\nvar Avatar = function Avatar(_ref) {\n var _ref2;\n\n var image = _ref.image,\n width = _ref.width,\n height = _ref.height,\n shape = _ref.shape,\n isTag = _ref.isTag,\n className = _ref.className;\n var imageAtSize = getOptimalImageUrl(image, width, height);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames([styles$1.container, (_ref2 = {}, _defineProperty(_ref2, styles$1[\"shape\".concat(shape)], shape !== null), _defineProperty(_ref2, styles$1.isTag, isTag), _defineProperty(_ref2, className, className !== null), _ref2)])\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: styles$1.shape,\n style: {\n backgroundImage: \"url(\\\"\".concat(imageAtSize, \"\\\")\")\n }\n }));\n};\n\nAvatar.propTypes = propTypes$1;\nAvatar.defaultProps = defaultProps$1;\n\nvar styles = {\"container\":\"micromag-element-urbania-author-container\",\"avatar\":\"micromag-element-urbania-author-avatar\",\"conjunction\":\"micromag-element-urbania-author-conjunction\",\"name\":\"micromag-element-urbania-author-name\",\"by\":\"micromag-element-urbania-author-by\",\"isSmall\":\"micromag-element-urbania-author-isSmall\"};\n\nvar propTypes = {\n author: PropTypes$1.shape({\n slug: PropTypes$1.string,\n name: PropTypes.textElement,\n avatar: PropTypes.imageElement,\n url: PropTypes$1.string\n }),\n withAvatar: PropTypes$1.bool,\n withConjunction: PropTypes$1.bool,\n withoutLink: PropTypes$1.bool,\n isSmall: PropTypes$1.bool,\n linkUnderlineColor: PropTypes$1.string,\n className: PropTypes$1.string\n};\nvar defaultProps = {\n author: null,\n withAvatar: true,\n withConjunction: false,\n withoutLink: false,\n isSmall: false,\n linkUnderlineColor: null,\n className: null\n};\n\nvar UrbaniaAuthor = function UrbaniaAuthor(_ref) {\n var _ref3;\n\n var author = _ref.author,\n withAvatar = _ref.withAvatar,\n withConjunction = _ref.withConjunction,\n withoutLink = _ref.withoutLink,\n isSmall = _ref.isSmall,\n linkUnderlineColor = _ref.linkUnderlineColor,\n className = _ref.className;\n\n var _ref2 = author || {},\n _ref2$name = _ref2.name,\n name = _ref2$name === void 0 ? null : _ref2$name,\n _ref2$avatar = _ref2.avatar,\n avatar = _ref2$avatar === void 0 ? null : _ref2$avatar,\n _ref2$url = _ref2.url,\n url = _ref2$url === void 0 ? null : _ref2$url;\n\n var prefix = /*#__PURE__*/React.createElement(\"span\", {\n className: styles.by\n }, /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"jEK6B8\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"By\"\n }]\n }));\n\n if (withConjunction) {\n prefix = /*#__PURE__*/React.createElement(\"span\", {\n className: styles.conjunction\n }, /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"0UxdOa\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"and\"\n }]\n }));\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref3 = {}, _defineProperty(_ref3, styles.isSmall, isSmall), _defineProperty(_ref3, className, className !== null), _ref3)])\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: styles.prefix\n }, prefix), withAvatar && avatar !== null ? /*#__PURE__*/React.createElement(Avatar, {\n className: styles.avatar,\n image: avatar\n }) : null, url !== null && !withoutLink ? /*#__PURE__*/React.createElement(Link, {\n url: url,\n external: true,\n className: styles.name,\n style: {\n backgroundImage: linkUnderlineColor !== null ? \"linear-gradient(0deg, \".concat(linkUnderlineColor, \" 0, \").concat(linkUnderlineColor, \")\") : null\n }\n }, /*#__PURE__*/React.createElement(Text, name)) : /*#__PURE__*/React.createElement(\"div\", {\n className: styles.name\n }, /*#__PURE__*/React.createElement(Text, name)));\n};\n\nUrbaniaAuthor.propTypes = propTypes;\nUrbaniaAuthor.defaultProps = defaultProps;\n\nexport { UrbaniaAuthor as default };\n","import { FormattedMessage, defineMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo, useState, useEffect } from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, PlaceholderSubtitle, Empty, PlaceholderTitle, Transitions, PlaceholderImage } from '@micromag/core/components';\nimport { useScreenSize, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useResizeObserver } from '@micromag/core/hooks';\nimport Background from '@micromag/element-background';\nimport CallToAction from '@micromag/element-call-to-action';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport UrbaniaAuthor from '@micromag/element-urbania-author';\nimport Visual from '@micromag/element-visual';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport { getJSON } from '@folklore/fetch';\n\nvar propTypes$3 = {\n color: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps$3 = {\n color: 'currentColor',\n className: null\n};\n\nvar Arrow = function Arrow(_ref) {\n var color = _ref.color,\n className = _ref.className;\n return /*#__PURE__*/React.createElement(\"svg\", {\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0\",\n y: \"0px\",\n width: \"48.53px\",\n height: \"12.38px\",\n viewBox: \"0 0 48.53 12.38\",\n className: className,\n xmlSpace: \"preserve\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1, 0, 0, 1, 0, 0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"b\",\n fill: \"none\",\n stroke: color,\n strokeWidth: \"3px\",\n strokeLinejoin: \"round\",\n strokeLinecap: \"round\",\n d: \"M1.5,10.88L24.26,1.5l22.77,9.38\"\n })));\n};\n\nArrow.propTypes = propTypes$3;\nArrow.defaultProps = defaultProps$3;\n\nvar propTypes$2 = {\n color: PropTypes.string,\n className: PropTypes.string\n};\nvar defaultProps$2 = {\n color: '#222',\n className: null\n};\n\nvar WatchIcon = function WatchIcon(_ref) {\n var color = _ref.color,\n className = _ref.className;\n return /*#__PURE__*/React.createElement(\"svg\", {\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0\",\n y: \"0px\",\n width: \"17.76px\",\n height: \"17.76px\",\n viewBox: \"0 0 17.76 17.76\",\n className: className,\n xmlSpace: \"preserve\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: color,\n d: \"M8.34,0h1.08s.06,.02,.1,.02c.89,.07,1.77,.26,2.6,.59,1.9,.74,3.48,2.11,4.48,3.88,.5,.88,.85,1.84,1.02,2.84,.06,.34,.1,.69,.14,1.04v1.05s-.02,.1-.03,.15c-.2,2.62-1.55,5.01-3.69,6.53-1.17,.85-2.54,1.39-3.98,1.57l-.64,.09h-1.08s-.1-.02-.15-.03c-.94-.07-1.87-.3-2.74-.66C2.55,15.85,.51,13.18,.08,10.06c-.03-.21-.06-.43-.08-.64v-1.08c0-.06,.02-.11,.03-.17C.21,5.84,1.32,3.67,3.1,2.15,4.4,1.02,6,.3,7.71,.08l.63-.08Zm7.94,8.71c-.09-4.09-3.48-7.32-7.57-7.23-4.09,.09-7.32,3.48-7.23,7.57,.09,4.09,3.48,7.32,7.57,7.23,.04,0,.07,0,.11,0,4.04-.16,7.2-3.53,7.12-7.56h0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: color,\n d: \"M7.42,8.89v-2.61c-.02-.2,.09-.4,.28-.48,.15-.06,.32-.04,.44,.06,.39,.28,.78,.56,1.17,.85,.82,.59,1.63,1.19,2.45,1.78,.22,.11,.3,.38,.19,.59-.04,.08-.11,.15-.19,.19-.6,.45-1.21,.89-1.82,1.33-.59,.43-1.18,.86-1.78,1.29-.16,.17-.43,.17-.6,0-.02-.02-.03-.03-.04-.05-.07-.11-.1-.24-.1-.37,0-.86,0-1.72,0-2.58h0Z\"\n })));\n};\n\nWatchIcon.propTypes = propTypes$2;\nWatchIcon.defaultProps = defaultProps$2;\n\nvar styles = {\"container\":\"micromag-screen-urbania-article-container\",\"empty\":\"micromag-screen-urbania-article-empty\",\"isVideo\":\"micromag-screen-urbania-article-isVideo\",\"video\":\"micromag-screen-urbania-article-video\",\"disabled\":\"micromag-screen-urbania-article-disabled\",\"hidden\":\"micromag-screen-urbania-article-hidden\",\"placeholder\":\"micromag-screen-urbania-article-placeholder\",\"content\":\"micromag-screen-urbania-article-content\",\"emptyContainer\":\"micromag-screen-urbania-article-emptyContainer\",\"small\":\"micromag-screen-urbania-article-small\",\"inner\":\"micromag-screen-urbania-article-inner\",\"authors\":\"micromag-screen-urbania-article-authors\",\"overTitle\":\"micromag-screen-urbania-article-overTitle\",\"title\":\"micromag-screen-urbania-article-title\",\"sponsors\":\"micromag-screen-urbania-article-sponsors\",\"sponsor\":\"micromag-screen-urbania-article-sponsor\",\"quatre95\":\"micromag-screen-urbania-article-quatre95\",\"author\":\"micromag-screen-urbania-article-author\",\"urbania\":\"micromag-screen-urbania-article-urbania\",\"dehors\":\"micromag-screen-urbania-article-dehors\",\"callToAction\":\"micromag-screen-urbania-article-callToAction\",\"button\":\"micromag-screen-urbania-article-button\",\"label\":\"micromag-screen-urbania-article-label\",\"arrow\":\"micromag-screen-urbania-article-arrow\",\"mediaControls\":\"micromag-screen-urbania-article-mediaControls\",\"videoContainer\":\"micromag-screen-urbania-article-videoContainer\",\"bottomContent\":\"micromag-screen-urbania-article-bottomContent\",\"bottom\":\"micromag-screen-urbania-article-bottom\",\"visible\":\"micromag-screen-urbania-article-visible\",\"withGradient\":\"micromag-screen-urbania-article-withGradient\",\"isPlaceholder\":\"micromag-screen-urbania-article-isPlaceholder\",\"visual\":\"micromag-screen-urbania-article-visual\"};\n\nvar propTypes$1 = {\n type: PropTypes.oneOf(['article', 'video']),\n video: PropTypes$1.videoElement,\n image: PropTypes$1.visualElement,\n title: PropTypes$1.headingElement,\n overTitle: PropTypes$1.headingElement,\n authors: PropTypes.arrayOf(PropTypes.shape({})),\n author: PropTypes$1.authorElement,\n sponsor: PropTypes.arrayOf(PropTypes.shape({})),\n sponsorPrefix: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n site: PropTypes.string,\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 className: PropTypes.string\n};\nvar defaultProps$1 = {\n type: null,\n video: null,\n image: null,\n title: null,\n overTitle: null,\n authors: null,\n author: null,\n sponsor: null,\n sponsorPrefix: null,\n site: null,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n spacing: 20,\n className: null\n};\n\nvar UrbaniaArticle = function UrbaniaArticle(_ref) {\n var _ref10;\n\n var type = _ref.type,\n video = _ref.video,\n image = _ref.image,\n title = _ref.title,\n overTitle = _ref.overTitle,\n authors = _ref.authors,\n author = _ref.author,\n sponsor = _ref.sponsor,\n sponsorPrefix = _ref.sponsorPrefix,\n site = _ref.site,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n spacing = _ref.spacing,\n className = _ref.className;\n\n var _useScreenSize = useScreenSize(),\n width = _useScreenSize.width,\n height = _useScreenSize.height;\n\n var _useResizeObserver = useResizeObserver(),\n contentRef = _useResizeObserver.ref,\n contentRect = _useResizeObserver.entry.contentRect;\n\n var _ref2 = contentRect || {},\n contentHeight = _ref2.height,\n contentTop = _ref2.top;\n\n var _useMemo = useMemo(function () {\n var defaultHeight = width * 0.8; // Think about this\n\n // Think about this\n var difference = height - contentHeight - contentTop;\n\n if (difference > defaultHeight) {\n return {\n imageHeight: difference\n };\n }\n\n return {\n imageHeight: difference\n };\n }, [contentTop, contentHeight, width, height]),\n _useMemo$minContentHe = _useMemo.minContentHeight,\n minContentHeight = _useMemo$minContentHe === void 0 ? null : _useMemo$minContentHe,\n imageHeight = _useMemo.imageHeight;\n\n var _ref3 = video || {};\n _ref3.media;\n // console.log('cv', type, currentVideo, video);\n\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 isVideo = type === 'video';\n\n var _ref4 = overTitle || {},\n _ref4$body = _ref4.body,\n overTitleText = _ref4$body === void 0 ? null : _ref4$body;\n\n var hasOverTitle = overTitleText !== null;\n\n var _ref5 = overTitle || {},\n _ref5$body = _ref5.body,\n titleText = _ref5$body === void 0 ? null : _ref5$body;\n\n var hasTitle = titleText !== null;\n\n var _ref6 = sponsor || {},\n _ref6$body = _ref6.body,\n sponsorText = _ref6$body === void 0 ? null : _ref6$body;\n\n var hasSponsor = sponsorText !== null;\n var hasAuthors = (authors || []).length > 0 || author !== null;\n\n var _ref7 = author || {},\n authorFullName = _ref7.name,\n authorAvatar = _ref7.avatar;\n\n var _ref8 = authorFullName || {},\n authorName = _ref8.body;\n\n console.log('author', author);\n\n var _ref9 = image || {},\n _ref9$url = _ref9.url,\n url = _ref9$url === void 0 ? null : _ref9$url;\n\n var hasImage = url !== null;\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var transitionPlaying = current;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n var items = [/*#__PURE__*/React.createElement(ScreenElement, {\n key: \"overTitle\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderSubtitle, {\n className: styles.placeholder\n }),\n empty: /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.emptyContainer, styles.small])\n }, /*#__PURE__*/React.createElement(Empty, {\n className: styles.empty\n }, /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"pRzSQ7\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Overtitle\"\n }]\n }))),\n isEmpty: !hasOverTitle\n }, hasOverTitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: classNames([styles.overTitle])\n }, overTitle)) : null), /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderTitle, {\n className: styles.placeholder\n }),\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: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }))),\n isEmpty: !hasOverTitle\n }, hasTitle ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: classNames([styles.title])\n }, title)) : null), !isVideo ? /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"authors\",\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: \"6jX5Tb\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Authors\"\n }]\n }))),\n isEmpty: !hasAuthors\n }, hasAuthors ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.authors])\n }, authorName !== null ? /*#__PURE__*/React.createElement(UrbaniaAuthor, {\n name: authorName,\n avatar: authorAvatar\n }) : (authors || []).map(function (auth) {\n return /*#__PURE__*/React.createElement(UrbaniaAuthor, {\n author: auth\n });\n })) : null) : null, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"sponsors\",\n empty: /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.emptyContainer, styles.small])\n }, /*#__PURE__*/React.createElement(Empty, {\n className: styles.empty\n }, /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"zGIcdn\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Sponsors\"\n }]\n }))),\n isEmpty: !hasSponsor\n }, hasSponsor ? /*#__PURE__*/React.createElement(\"div\", {\n className: styles.sponsors\n }, sponsorPrefix !== null ? /*#__PURE__*/React.createElement(\"span\", {\n className: styles.sponsor\n }, sponsorPrefix) : null, \"\\xA0\", /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: styles.sponsor,\n size: \"6\"\n }, sponsor))) : null)].filter(function (it) {\n return it !== null;\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref10 = {}, _defineProperty(_ref10, className, className !== null), _defineProperty(_ref10, styles.isVideo, isVideo), _defineProperty(_ref10, styles.isPlaceholder, isPlaceholder), _ref10)]),\n \"data-screen-ready\": isStatic || isCapture\n }, /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }), /*#__PURE__*/React.createElement(Container, {\n className: styles.inner,\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.content, _defineProperty({}, styles[\"\".concat(site)], site !== null)]),\n style: {\n paddingTop: spacing,\n minHeight: minContentHeight\n },\n ref: contentRef\n }, items), /*#__PURE__*/React.createElement(\"div\", {\n className: styles.visual\n }, /*#__PURE__*/React.createElement(Transitions, {\n playing: transitionPlaying,\n transitions: transitions,\n disabled: transitionDisabled\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"image\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderImage, {\n className: styles.placeholder\n }),\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: \"ebsPd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\n }]\n }))),\n isEmpty: !hasImage\n }, hasImage && !isVideo ? /*#__PURE__*/React.createElement(Visual, {\n className: styles.image,\n media: image,\n width: width,\n height: imageHeight,\n objectFit: {\n fit: 'cover'\n }\n }) : null, hasImage && isVideo ? /*#__PURE__*/React.createElement(Visual, {\n className: styles.video,\n media: image,\n width: width,\n height: height,\n objectFit: {\n fit: 'cover'\n }\n }) : null, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n className: styles.callToAction,\n buttonClassName: styles.button,\n labelClassName: styles.label,\n arrowClassName: styles.arrow,\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView,\n screenSize: {\n width: width,\n height: height\n },\n arrow: /*#__PURE__*/React.createElement(Arrow, null),\n icon: type === 'video' ? /*#__PURE__*/React.createElement(WatchIcon, null) : null\n })) : null)))));\n};\n\nUrbaniaArticle.propTypes = propTypes$1;\nUrbaniaArticle.defaultProps = defaultProps$1;\nvar UrbaniaArticle$1 = /*#__PURE__*/React.memo(UrbaniaArticle);\n\nvar definition = {\n id: 'urbania-article',\n type: 'screen',\n namespaces: ['urbania'],\n group: {\n label: defineMessage({\n id: \"oPjl8f\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Urbania\"\n }]\n }),\n order: 10\n },\n title: defineMessage({\n id: \"Oqks/j\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Urbania article screen\"\n }]\n }),\n component: UrbaniaArticle$1,\n fields: [{\n name: 'url',\n type: 'url',\n label: defineMessage({\n id: \"2pO2Cj\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Url\"\n }]\n })\n }, {\n name: 'overTitle',\n type: 'heading-element',\n theme: {\n textStyle: 'heading2'\n },\n defaultValue: {\n body: 'En vedette'\n },\n label: defineMessage({\n id: \"z2I2bJ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Overtitle\"\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: 'author',\n type: 'author-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: 'sponsor',\n type: 'heading-element',\n label: defineMessage({\n id: \"7YE/VU\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Sponsor\"\n }]\n })\n }, {\n name: 'image',\n type: 'visual',\n label: defineMessage({\n id: \"k+coTi\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Image\"\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: 'gotoNextScreenOnEnd',\n type: 'toggle',\n defaultValue: false,\n label: defineMessage({\n id: \"n8zmLY\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Go to next screen on end\"\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\nvar _excluded = [\"url\", \"article\"];\nvar propTypes = {\n url: PropTypes.string,\n article: PropTypes.shape({})\n};\nvar defaultProps = {\n url: null,\n article: null\n};\n\nvar UrbaniaLoader = function UrbaniaLoader(_ref) {\n var url = _ref.url,\n initialArticle = _ref.article,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _useState = useState(initialArticle),\n _useState2 = _slicedToArray(_useState, 2),\n article = _useState2[0],\n setArticle = _useState2[1];\n\n console.log('url', url);\n useEffect(function () {\n if (url !== null) {\n // TODO: fix cors on urbania.ca\n getJSON(\"\".concat(url, \".json\"), {\n mode: 'cors'\n }).then(function (art) {\n setArticle(art);\n });\n }\n }, [url, setArticle]);\n var values = useMemo(function () {\n console.log('article', article);\n\n var _ref2 = props || {},\n _ref2$title = _ref2.title,\n title = _ref2$title === void 0 ? {} : _ref2$title,\n _ref2$overTitle = _ref2.overTitle,\n overTitle = _ref2$overTitle === void 0 ? {} : _ref2$overTitle,\n _ref2$sponsor = _ref2.sponsor,\n sponsor = _ref2$sponsor === void 0 ? {} : _ref2$sponsor,\n _ref2$image = _ref2.image,\n image = _ref2$image === void 0 ? {} : _ref2$image,\n _ref2$video = _ref2.video,\n video = _ref2$video === void 0 ? {} : _ref2$video,\n _ref2$callToAction = _ref2.callToAction,\n callToAction = _ref2$callToAction === void 0 ? null : _ref2$callToAction;\n\n var _ref3 = title || {},\n _ref3$body = _ref3.body,\n titleBody = _ref3$body === void 0 ? null : _ref3$body;\n\n var _ref4 = overTitle || {},\n _ref4$body = _ref4.body,\n overTitleBody = _ref4$body === void 0 ? null : _ref4$body;\n\n var _ref5 = sponsor || {},\n _ref5$body = _ref5.body,\n sponsorBody = _ref5$body === void 0 ? null : _ref5$body;\n\n var _ref6 = image || {},\n _ref6$url = _ref6.url,\n imageUrl = _ref6$url === void 0 ? null : _ref6$url;\n\n var _ref7 = video || {},\n _ref7$media = _ref7.media,\n videoMedia = _ref7$media === void 0 ? null : _ref7$media; // Straight from article\n\n\n var _ref8 = article || {},\n _ref8$type = _ref8.type,\n type = _ref8$type === void 0 ? null : _ref8$type,\n _ref8$title = _ref8.title,\n articleTitle = _ref8$title === void 0 ? null : _ref8$title,\n _ref8$image = _ref8.image,\n articleImage = _ref8$image === void 0 ? null : _ref8$image,\n _ref8$metadata = _ref8.metadata,\n metadata = _ref8$metadata === void 0 ? {} : _ref8$metadata;\n\n var _ref9 = metadata || {},\n _ref9$authors = _ref9.authors,\n authors = _ref9$authors === void 0 ? [] : _ref9$authors,\n _ref9$sponsors = _ref9.sponsors,\n sponsors = _ref9$sponsors === void 0 ? [] : _ref9$sponsors,\n _ref9$site = _ref9.site,\n site = _ref9$site === void 0 ? null : _ref9$site,\n _ref9$canonical = _ref9.canonical,\n canonical = _ref9$canonical === void 0 ? null : _ref9$canonical;\n\n var _ref10 = articleImage || {},\n _ref10$sizes = _ref10.sizes,\n sizes = _ref10$sizes === void 0 ? {} : _ref10$sizes;\n\n var _ref11 = sizes || {},\n medium = _ref11.medium,\n large = _ref11.large; // Sponsors\n\n\n var sponsorPrefix = sponsorBody === null ? /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"+TPjd4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Presented by\"\n }]\n }) : null;\n var defaultSponsor = (sponsors || []).length > 0 ? (sponsors || []).map(function (_ref12) {\n var _ref12$name = _ref12.name,\n name = _ref12$name === void 0 ? null : _ref12$name;\n return name;\n }).filter(function (name) {\n return name !== null;\n }).join(', ').trim() : null;\n return {\n type: type,\n title: titleBody !== null ? title : _objectSpread(_objectSpread({}, title), {}, {\n body: articleTitle\n }),\n overTitle: overTitleBody !== null ? overTitle : _objectSpread(_objectSpread({}, overTitle), {}, {\n body: 'En vedette'\n }),\n authors: authors,\n sponsor: _objectSpread(_objectSpread({}, sponsor), {}, {\n body: defaultSponsor || sponsorBody\n }),\n sponsorPrefix: sponsorPrefix,\n site: site,\n image: imageUrl !== null ? image : _objectSpread(_objectSpread({\n type: 'image'\n }, articleImage), {}, {\n sizes: {\n medium: medium,\n large: large\n }\n }),\n video: _objectSpread({}, video),\n callToAction: _objectSpread({\n active: true,\n type: 'swipe-up',\n url: videoMedia !== null ? videoMedia.url : canonical,\n label: type === 'video' ? {\n body: 'Regarder'\n } : {\n body: 'Lire'\n },\n icon: type === 'video' ? {\n id: 'play'\n } : null,\n inWebView: true\n }, callToAction)\n };\n }, [article, props]);\n console.log('values', values);\n return /*#__PURE__*/React.createElement(UrbaniaArticle$1, Object.assign({}, props, values));\n};\n\nUrbaniaLoader.propTypes = propTypes;\nUrbaniaLoader.defaultProps = defaultProps;\nvar UrbaniaLoader$1 = /*#__PURE__*/React.memo(UrbaniaLoader);\n\nexport { UrbaniaLoader$1 as UrbaniaArticle, UrbaniaArticle$1 as UrbaniaBaseArticle, definition as default };\n","import { defineMessage, FormattedMessage } from 'react-intl';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _slicedToArray from '@babel/runtime/helpers/slicedToArray';\nimport _objectSpread from '@babel/runtime/helpers/objectSpread2';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useCallback } from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, PlaceholderTitle, PlaceholderText, TransitionsStagger } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent } 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 Heading from '@micromag/element-heading';\nimport Layout from '@micromag/element-layout';\nimport Scroll from '@micromag/element-scroll';\nimport Text from '@micromag/element-text';\n\nvar img = \"data:image/png;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgPD+X4ABAGSO36agQ9DaAAAAAElFTkSuQmCC\";\n\nvar signsImages = {\n aries: img\n};\n\nvar signs = [{\n id: 'aries',\n label: defineMessage({\n id: \"/PJA/1\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Aries\"\n }]\n })\n}, {\n id: 'taurus',\n label: defineMessage({\n id: \"XKcyqx\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Taurus\"\n }]\n })\n}, {\n id: 'gemini',\n label: defineMessage({\n id: \"4g35M0\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Gemini\"\n }]\n })\n}, {\n id: 'cancer',\n label: defineMessage({\n id: \"0acGK7\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Cancer\"\n }]\n })\n}, {\n id: 'leo',\n label: defineMessage({\n id: \"EEUc6n\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Leo\"\n }]\n })\n}, {\n id: 'virgo',\n label: defineMessage({\n id: \"6bd963\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Virgo\"\n }]\n })\n}, {\n id: 'libra',\n label: defineMessage({\n id: \"M/FGRs\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Libra\"\n }]\n })\n}, {\n id: 'scorpio',\n label: defineMessage({\n id: \"YyPYHk\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Scorpio\"\n }]\n })\n}, {\n id: 'sagittarius',\n label: defineMessage({\n id: \"7mMPO4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Sagittarius\"\n }]\n })\n}, {\n id: 'capricorn',\n label: defineMessage({\n id: \"NumcrW\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Capricorn\"\n }]\n })\n}, {\n id: 'aquarius',\n label: defineMessage({\n id: \"fBii8l\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Aquarius\"\n }]\n })\n}, {\n id: 'pieces',\n label: defineMessage({\n id: \"dxAumJ\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Pisces\"\n }]\n })\n}];\n\nvar styles = {\"container\":\"micromag-screen-urbania-horoscope-container\",\"disabled\":\"micromag-screen-urbania-horoscope-disabled\",\"hidden\":\"micromag-screen-urbania-horoscope-hidden\",\"placeholder\":\"micromag-screen-urbania-horoscope-placeholder\",\"content\":\"micromag-screen-urbania-horoscope-content\",\"emptyText\":\"micromag-screen-urbania-horoscope-emptyText\",\"emptyTitle\":\"micromag-screen-urbania-horoscope-emptyTitle\",\"textCard\":\"micromag-screen-urbania-horoscope-textCard\",\"isPlaceholder\":\"micromag-screen-urbania-horoscope-isPlaceholder\",\"category\":\"micromag-screen-urbania-horoscope-category\",\"categoryPlaceholder\":\"micromag-screen-urbania-horoscope-categoryPlaceholder\",\"title\":\"micromag-screen-urbania-horoscope-title\",\"sponsorPlaceholder\":\"micromag-screen-urbania-horoscope-sponsorPlaceholder\",\"description\":\"micromag-screen-urbania-horoscope-description\",\"descriptionPlaceholder\":\"micromag-screen-urbania-horoscope-descriptionPlaceholder\",\"layout\":\"micromag-screen-urbania-horoscope-layout\"};\n\nvar propTypes = {\n defaultSigns: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string\n })),\n signs: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n word: PropTypes$1.headingElement,\n description: PropTypes$1.textElement\n })),\n category: PropTypes$1.headingElement,\n title: PropTypes$1.headingElement,\n description: PropTypes$1.textElement,\n author: PropTypes$1.authorElement,\n spacing: PropTypes.number,\n background: PropTypes$1.backgroundElement,\n callToAction: PropTypes$1.callToAction,\n current: PropTypes.bool,\n active: PropTypes.bool,\n transitions: PropTypes$1.transitions,\n transitionStagger: PropTypes.number,\n className: PropTypes.string\n};\nvar defaultProps = {\n defaultSigns: signs,\n signs: null,\n category: null,\n title: null,\n description: null,\n author: null,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n transitionStagger: 100,\n className: null\n};\n\nvar Horoscope = function Horoscope(_ref) {\n var _ref3, _ref4;\n\n var defaultSigns = _ref.defaultSigns,\n signsValue = _ref.signs,\n category = _ref.category,\n title = _ref.title,\n description = _ref.description,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n className = _ref.className;\n var signs = defaultSigns.map(function (sign, index) {\n return _objectSpread(_objectSpread(_objectSpread({}, sign), signsValue !== null && signsValue[index] ? signsValue[index] || null : null), {}, {\n image: signsImages[sign.id] ? signsImages[sign.id] : null\n });\n });\n console.log(signs);\n var trackScreenEvent = useTrackScreenEvent();\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 hasCategory = isTextFilled(category);\n var hasTitle = isTextFilled(title);\n var hasDescription = isTextFilled(description);\n var onlyCategory = hasCategory && !hasTitle && !hasDescription;\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 backgroundShouldLoad = current || active || !isView;\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 onScrolledBottom = useCallback(function (_ref2) {\n var initial = _ref2.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]); // Create elements\n\n var items = [\n /*#__PURE__*/\n // !isPlaceholder ? <Spacer key=\"spacer-cta-top\" /> : null,\n React.createElement(ScreenElement, {\n key: \"title\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderTitle, {\n className: styles.categoryPlaceholder\n }),\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"2ZOPe+\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Title\"\n }]\n }),\n emptyClassName: styles.emptyText,\n isEmpty: !hasTitle\n }, /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: classNames([styles.title, (_ref3 = {}, _defineProperty(_ref3, className, className !== null), _defineProperty(_ref3, styles.noBottomBorder, onlyCategory), _ref3)])\n }, title))), /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"description\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderText, {\n className: styles.descriptionPlaceholder\n }),\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"EQdIAR\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n emptyClassName: styles.emptyText,\n isEmpty: !hasDescription\n }, hasDescription ? /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.description\n }, description)) : null), // !isPlaceholder ? <Spacer key=\"spacer-cta-bottom\" /> : null,\n !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: '10px'\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n disabled: !scrolledBottom,\n animationDisabled: isPreview,\n focusable: current && isView,\n screenSize: {\n width: width,\n height: height\n }\n })) : null].filter(function (el) {\n return el !== 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\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\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 verticalAlign: \"middle\"\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)))));\n};\n\nHoroscope.propTypes = propTypes;\nHoroscope.defaultProps = defaultProps;\nvar Horoscope$1 = /*#__PURE__*/React.memo(Horoscope);\n\nvar definition = [{\n id: 'urbania-horoscope',\n type: 'screen',\n namespaces: ['urbania'],\n group: {\n label: defineMessage({\n id: \"oPjl8f\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Urbania\"\n }]\n }),\n order: 10\n },\n title: defineMessage({\n id: \"8bYfFG\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Urbania horoscope screen\"\n }]\n }),\n component: Horoscope$1,\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: \"Y7bs1v\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }, {\n name: 'author',\n type: 'author-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: 'signs',\n component: 'items',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"J6cnbt\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Signs\"\n }]\n }),\n defaultValue: signs,\n withoutSort: true,\n withoutAddItem: true,\n withoutDeleteItem: true,\n itemsField: {\n type: 'field-with-form',\n breadcrumbLabel: defineMessage({\n id: \"12wlTR\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Sign\"\n }]\n }),\n labelPath: 'id',\n fields: [{\n name: 'word',\n type: 'heading-element',\n label: defineMessage({\n id: \"fLdjGi\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Word of the week\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n label: defineMessage({\n id: \"ZCe0r4\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n })\n }]\n }\n }, {\n name: 'button',\n type: 'button-element',\n theme: {\n textStyle: 'button'\n },\n label: defineMessage({\n id: \"i6bmbD\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Button\"\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 { Horoscope$1 as Horoscope, 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 classNames from 'classnames';\nimport PropTypes$1 from 'prop-types';\nimport React, { useState, useCallback, useMemo } from 'react';\nimport { PropTypes } from '@micromag/core';\nimport { ScreenElement, PlaceholderTitle, PlaceholderText, TransitionsStagger } from '@micromag/core/components';\nimport { useScreenSize, useViewer, useScreenRenderContext } from '@micromag/core/contexts';\nimport { useTrackScreenEvent } 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 Heading from '@micromag/element-heading';\nimport Layout, { Spacer } from '@micromag/element-layout';\nimport Scroll from '@micromag/element-scroll';\nimport Text from '@micromag/element-text';\n\nvar styles = {\"container\":\"micromag-screen-urbania-recommendation-container\",\"disabled\":\"micromag-screen-urbania-recommendation-disabled\",\"hidden\":\"micromag-screen-urbania-recommendation-hidden\",\"placeholder\":\"micromag-screen-urbania-recommendation-placeholder\",\"content\":\"micromag-screen-urbania-recommendation-content\",\"emptyText\":\"micromag-screen-urbania-recommendation-emptyText\",\"emptyTitle\":\"micromag-screen-urbania-recommendation-emptyTitle\",\"textCard\":\"micromag-screen-urbania-recommendation-textCard\",\"isPlaceholder\":\"micromag-screen-urbania-recommendation-isPlaceholder\",\"category\":\"micromag-screen-urbania-recommendation-category\",\"noBottomBorder\":\"micromag-screen-urbania-recommendation-noBottomBorder\",\"categoryPlaceholder\":\"micromag-screen-urbania-recommendation-categoryPlaceholder\",\"dateTitleRow\":\"micromag-screen-urbania-recommendation-dateTitleRow\",\"bottomBorder\":\"micromag-screen-urbania-recommendation-bottomBorder\",\"dateContainer\":\"micromag-screen-urbania-recommendation-dateContainer\",\"rightBorder\":\"micromag-screen-urbania-recommendation-rightBorder\",\"date\":\"micromag-screen-urbania-recommendation-date\",\"centerDate\":\"micromag-screen-urbania-recommendation-centerDate\",\"titleContainer\":\"micromag-screen-urbania-recommendation-titleContainer\",\"leftBorder\":\"micromag-screen-urbania-recommendation-leftBorder\",\"title\":\"micromag-screen-urbania-recommendation-title\",\"sponsor\":\"micromag-screen-urbania-recommendation-sponsor\",\"sponsorPlaceholder\":\"micromag-screen-urbania-recommendation-sponsorPlaceholder\",\"description\":\"micromag-screen-urbania-recommendation-description\",\"descriptionPlaceholder\":\"micromag-screen-urbania-recommendation-descriptionPlaceholder\",\"background\":\"micromag-screen-urbania-recommendation-background\",\"roll\":\"micromag-screen-urbania-recommendation-roll\",\"layout\":\"micromag-screen-urbania-recommendation-layout\"};\n\nvar propTypes = {\n category: PropTypes.headingElement,\n date: PropTypes.textElement,\n title: PropTypes.headingElement,\n sponsor: PropTypes.textElement,\n description: PropTypes.textElement,\n spacing: PropTypes$1.number,\n background: PropTypes.backgroundElement,\n callToAction: PropTypes.callToAction,\n current: PropTypes$1.bool,\n active: PropTypes$1.bool,\n animateBackground: PropTypes$1.bool,\n transitions: PropTypes.transitions,\n transitionStagger: PropTypes$1.number,\n className: PropTypes$1.string\n};\nvar defaultProps = {\n category: null,\n date: null,\n title: null,\n sponsor: null,\n description: null,\n spacing: 20,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n animateBackground: false,\n transitions: null,\n transitionStagger: 100,\n className: null\n};\n\nvar Recommendation = function Recommendation(_ref) {\n var _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10;\n\n var category = _ref.category,\n date = _ref.date,\n title = _ref.title,\n sponsor = _ref.sponsor,\n description = _ref.description,\n spacing = _ref.spacing,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n animateBackground = _ref.animateBackground,\n transitions = _ref.transitions,\n transitionStagger = _ref.transitionStagger,\n className = _ref.className;\n var trackScreenEvent = useTrackScreenEvent();\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 hasCategory = isTextFilled(category);\n var hasDate = isTextFilled(date);\n var hasTitle = isTextFilled(title);\n var hasSponsor = isTextFilled(sponsor);\n var hasDescription = isTextFilled(description);\n var onlyCategory = hasCategory && !hasDate && !hasTitle && !hasSponsor && !hasDescription;\n var hasTextCard = hasCategory || hasDate || hasTitle || hasSponsor || hasDescription;\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 backgroundShouldLoad = current || active || !isView;\n var finalAnimateBackground = animateBackground && !isPlaceholder && !isStatic && !isPreview;\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 onScrolledBottom = useCallback(function (_ref2) {\n var initial = _ref2.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 var finalBackground = useMemo(function () {\n return _objectSpread({\n fit: 'contain',\n horizontalAlign: 'left',\n verticalAlign: '-20%',\n repeat: true\n }, background);\n }, [background]); // Create elements\n\n var items = [!isPlaceholder ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-top\"\n }) : null, hasTextCard || isPlaceholder ? /*#__PURE__*/React.createElement(Container, {\n className: classNames([styles.textCard, (_ref3 = {}, _defineProperty(_ref3, className, className !== null), _defineProperty(_ref3, styles.isPlaceholder, isPlaceholder), _ref3)])\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"category\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderTitle, {\n className: styles.categoryPlaceholder\n }),\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"I5+AHN\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Category\"\n }]\n }),\n emptyClassName: styles.emptyText,\n isEmpty: !hasCategory\n }, hasCategory ? /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: classNames([styles.category, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles.noBottomBorder, onlyCategory), _ref4)])\n }, category)) : null), hasDate || hasTitle || isPlaceholder ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.dateTitleRow, (_ref5 = {}, _defineProperty(_ref5, className, className !== null), _defineProperty(_ref5, styles.bottomBorder, hasSponsor || !hasSponsor && hasDescription), _defineProperty(_ref5, styles.isPlaceholder, isPlaceholder), _ref5)])\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"date\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderText, {\n className: styles.datePlaceholder\n }),\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"/MsgWe\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Date\"\n }]\n }),\n emptyClassName: styles.emptyText,\n isEmpty: !hasDate\n }, hasDate ? /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.dateContainer, (_ref6 = {}, _defineProperty(_ref6, className, className !== null), _defineProperty(_ref6, styles.rightBorder, hasTitle), _ref6)])\n }, /*#__PURE__*/React.createElement(Text, Object.assign({\n className: classNames([styles.date, (_ref7 = {}, _defineProperty(_ref7, className, className !== null), _defineProperty(_ref7, styles.centerDate, !hasTitle), _ref7)])\n }, date))) : 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(\"div\", {\n className: classNames([styles.titleContainer, (_ref8 = {}, _defineProperty(_ref8, className, className !== null), _defineProperty(_ref8, styles.leftBorder, hasDate), _ref8)])\n }, /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: styles.title\n }, title))) : null)) : null, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"sponsor\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderText, {\n className: styles.sponsorPlaceholder\n }),\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"Bv1Q38\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Sponsor\"\n }]\n }),\n emptyClassName: styles.emptyText,\n isEmpty: !hasSponsor\n }, hasSponsor ? /*#__PURE__*/React.createElement(Text, Object.assign({\n className: classNames([styles.sponsor, (_ref9 = {}, _defineProperty(_ref9, className, className !== null), _defineProperty(_ref9, styles.bottomBorder, hasDescription), _ref9)])\n }, sponsor)) : null), /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"description\",\n placeholder: /*#__PURE__*/React.createElement(PlaceholderText, {\n className: styles.descriptionPlaceholder\n }),\n emptyLabel: /*#__PURE__*/React.createElement(FormattedMessage, {\n id: \"EQdIAR\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\n }]\n }),\n emptyClassName: styles.emptyText,\n isEmpty: !hasDescription\n }, hasDescription ? /*#__PURE__*/React.createElement(Text, Object.assign({\n className: styles.description\n }, description)) : null)) : null, !isPlaceholder ? /*#__PURE__*/React.createElement(Spacer, {\n key: \"spacer-cta-bottom\"\n }) : null, !isPlaceholder && hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: -spacing,\n marginTop: '10px'\n },\n key: \"call-to-action\"\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n disabled: !scrolledBottom,\n animationDisabled: isPreview,\n focusable: current && isView,\n screenSize: {\n width: width,\n height: height\n }\n })) : null].filter(function (el) {\n return el !== null;\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.container, (_ref10 = {}, _defineProperty(_ref10, className, className !== null), _defineProperty(_ref10, styles.isPlaceholder, isPlaceholder), _ref10)]),\n \"data-screen-ready\": true\n }, !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: finalBackground,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad,\n backgroundClassName: finalAnimateBackground ? styles.background : null\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 verticalAlign: \"middle\"\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)))));\n};\n\nRecommendation.propTypes = propTypes;\nRecommendation.defaultProps = defaultProps;\nvar Recommendation$1 = /*#__PURE__*/React.memo(Recommendation);\n\nvar definition = [{\n id: 'urbania-recommendation',\n type: 'screen',\n namespaces: ['urbania'],\n group: {\n label: defineMessage({\n id: \"oPjl8f\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Urbania\"\n }]\n }),\n order: 10\n },\n title: defineMessage({\n id: \"18XpuL\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Urbania recommendation screen\"\n }]\n }),\n component: Recommendation$1,\n fields: [{\n name: 'category',\n type: 'heading-element',\n theme: {\n textStyle: 'heading1'\n },\n label: defineMessage({\n id: \"4grcMU\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Category\"\n }]\n })\n }, {\n name: 'date',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"yEG9zh\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Date\"\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: 'sponsor',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"WY14Zu\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Sponsor\"\n }]\n })\n }, {\n name: 'description',\n type: 'text-element',\n theme: {\n textStyle: 'text'\n },\n label: defineMessage({\n id: \"Y7bs1v\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Description\"\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 { Recommendation$1 as Recommendation, 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 { getSizeWithinBounds } from '@folklore/size';\nimport classNames from 'classnames';\nimport isArray from 'lodash/isArray';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, PlaceholderTitle, Empty, PlaceholderVideo, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useScreenRenderContext, useViewerNavigation } from '@micromag/core/contexts';\nimport { useTrackScreenMedia, useLongPress, useResizeObserver } from '@micromag/core/hooks';\nimport Background from '@micromag/element-background';\nimport CallToAction from '@micromag/element-call-to-action';\nimport ClosedCaptions from '@micromag/element-closed-captions';\nimport Container from '@micromag/element-container';\nimport Heading from '@micromag/element-heading';\nimport Image from '@micromag/element-image';\nimport MediaControls from '@micromag/element-media-controls';\nimport Video from '@micromag/element-video';\n\nvar img$1 = \"data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8'%3f%3e%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1083.95 1920'%3e %3cg id='a'/%3e %3cg id='b'%3e %3cg id='c'%3e %3cpath d='M1083.95%2c0h-103.4l-438.55%2c959.95L1083.95%2c109.31V0Zm0%2c295L542.02%2c959.96l541.93-498.87v-166.08Zm0%2c274.99l-541.92%2c389.98%2c541.92-279.64v-110.34Zm0%2c190.53l-541.92%2c199.46%2c541.92-110.89v-88.57Zm0%2c158.17l-541.92%2c41.31%2c541.92%2c41.31v-82.61Zm0%2c152.21l-541.92-110.89%2c541.92%2c199.46v-88.58Zm0%2c168.77l-541.92-279.64%2c541.92%2c389.98v-110.34Zm0%2c219.25l-541.93-498.87%2c541.93%2c664.95v-166.08Zm0%2c351.77L542%2c960.05l438.55%2c959.95h103.4v-109.31ZM854.8%2c0h-138.91l-173.9%2c959.94L854.8%2c0Zm0%2c1920l-312.81-959.94%2c173.9%2c959.94h138.91ZM606.75%2c0h-129.56l64.78%2c959.94L606.75%2c0Zm0%2c1920l-64.78-959.94-64.78%2c959.94h129.56Zm-64.79-960.06L368.06%2c0H229.15l312.81%2c959.94Zm0%2c.12L229.15%2c1920h138.91l173.9-959.94Zm-.01-.11L103.4%2c0H0V109.31L541.94%2c959.95Zm0%2c.11L0%2c1810.69v109.31H103.4l438.55-959.95Zm-.01-.1L0%2c295.01v166.08l541.93%2c498.87Zm0%2c.09L0%2c1458.91v166.08L541.93%2c960.04Zm-.01-.07L0%2c570v110.34l541.92%2c279.63Zm0%2c.02L0%2c760.52v88.57l541.92%2c110.89Zm0%2c.02L0%2c918.69v82.61l541.92-41.31Zm0%2c.02L0%2c1070.9v88.57l541.92-199.46Zm0%2c.02L0%2c1239.66v110.34l541.92-389.97Z' fill='hsla(0%2c0%25%2c100%25%2c.6)'/%3e %3c/g%3e %3c/g%3e%3c/svg%3e\";\n\nvar img = \"data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8'%3f%3e%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1083.95 1920'%3e %3cg id='a'/%3e %3cg id='b'%3e %3cg id='c'%3e %3cpath d='M1083.95%2c0h-103.4l-438.55%2c959.95L1083.95%2c109.31V0Zm0%2c295L542.02%2c959.96l541.93-498.87v-166.08Zm0%2c274.99l-541.92%2c389.98%2c541.92-279.64v-110.34Zm0%2c190.53l-541.92%2c199.46%2c541.92-110.89v-88.57Zm0%2c158.17l-541.92%2c41.31%2c541.92%2c41.31v-82.61Zm0%2c152.21l-541.92-110.89%2c541.92%2c199.46v-88.58Zm0%2c168.77l-541.92-279.64%2c541.92%2c389.98v-110.34Zm0%2c219.25l-541.93-498.87%2c541.93%2c664.95v-166.08Zm0%2c351.77L542%2c960.05l438.55%2c959.95h103.4v-109.31ZM854.8%2c0h-138.91l-173.9%2c959.94L854.8%2c0Zm0%2c1920l-312.81-959.94%2c173.9%2c959.94h138.91ZM606.75%2c0h-129.56l64.78%2c959.94L606.75%2c0Zm0%2c1920l-64.78-959.94-64.78%2c959.94h129.56Zm-64.79-960.06L368.06%2c0H229.15l312.81%2c959.94Zm0%2c.12L229.15%2c1920h138.91l173.9-959.94Zm-.01-.11L103.4%2c0H0V109.31L541.94%2c959.95Zm0%2c.11L0%2c1810.69v109.31H103.4l438.55-959.95Zm-.01-.1L0%2c295.01v166.08l541.93%2c498.87Zm0%2c.09L0%2c1458.91v166.08L541.93%2c960.04Zm-.01-.07L0%2c570v110.34l541.92%2c279.63Zm0%2c.02L0%2c760.52v88.57l541.92%2c110.89Zm0%2c.02L0%2c918.69v82.61l541.92-41.31Zm0%2c.02L0%2c1070.9v88.57l541.92-199.46Zm0%2c.02L0%2c1239.66v110.34l541.92-389.97Z' fill='%2312bbd7'/%3e %3c/g%3e %3c/g%3e%3c/svg%3e\";\n\nvar styles = {\"container\":\"micromag-screen-urbania-trivia-container\",\"content\":\"micromag-screen-urbania-trivia-content\",\"empty\":\"micromag-screen-urbania-trivia-empty\",\"emptyContainer\":\"micromag-screen-urbania-trivia-emptyContainer\",\"fullscreen\":\"micromag-screen-urbania-trivia-fullscreen\",\"image\":\"micromag-screen-urbania-trivia-image\",\"placeholder\":\"micromag-screen-urbania-trivia-placeholder\",\"disabled\":\"micromag-screen-urbania-trivia-disabled\",\"hidden\":\"micromag-screen-urbania-trivia-hidden\",\"itemsContainer\":\"micromag-screen-urbania-trivia-itemsContainer\",\"videoContainer\":\"micromag-screen-urbania-trivia-videoContainer\",\"video\":\"micromag-screen-urbania-trivia-video\",\"isCustomBackground\":\"micromag-screen-urbania-trivia-isCustomBackground\",\"isAnimated\":\"micromag-screen-urbania-trivia-isAnimated\",\"spin\":\"micromag-screen-urbania-trivia-spin\",\"heading\":\"micromag-screen-urbania-trivia-heading\",\"hideHeading\":\"micromag-screen-urbania-trivia-hideHeading\",\"callToAction\":\"micromag-screen-urbania-trivia-callToAction\",\"bottom\":\"micromag-screen-urbania-trivia-bottom\",\"visible\":\"micromag-screen-urbania-trivia-visible\",\"withGradient\":\"micromag-screen-urbania-trivia-withGradient\",\"mediaControls\":\"micromag-screen-urbania-trivia-mediaControls\",\"videoPlaceholder\":\"micromag-screen-urbania-trivia-videoPlaceholder\",\"bottomContent\":\"micromag-screen-urbania-trivia-bottomContent\"};\n\nvar defaultBackground = {\n image: {\n type: 'image',\n url: img,\n width: 1083,\n height: 1919\n },\n color: '#00cbff'\n};\nvar placeholderBackground = {\n image: {\n type: 'image',\n url: img$1,\n width: 1083,\n height: 1919\n },\n color: null\n};\nvar propTypes = {\n layout: PropTypes.oneOf(['middle', 'full']),\n title: PropTypes$1.headingElement,\n video: PropTypes$1.videoElement,\n gotoNextScreenOnEnd: PropTypes.bool,\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 padding: PropTypes.number,\n getMediaRef: PropTypes.func,\n className: PropTypes.string\n};\nvar defaultProps = {\n layout: 'full',\n title: null,\n video: null,\n gotoNextScreenOnEnd: false,\n background: null,\n callToAction: null,\n current: true,\n active: true,\n transitions: null,\n spacing: 20,\n padding: 20,\n getMediaRef: null,\n className: null\n};\n\nvar UrbaniaTrivia = function UrbaniaTrivia(_ref) {\n var _ref11, _ref12, _ref14, _ref15;\n\n var layout = _ref.layout,\n title = _ref.title,\n video = _ref.video,\n gotoNextScreenOnEnd = _ref.gotoNextScreenOnEnd,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\n transitions = _ref.transitions,\n spacing = _ref.spacing,\n padding = _ref.padding,\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 _useViewerNavigation = useViewerNavigation(),\n gotoNextScreen = _useViewerNavigation.gotoNextScreen;\n\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var videoShouldLoad = current || active || !isView;\n var shouldGotoNextScreenOnEnd = gotoNextScreenOnEnd && isView && current;\n\n var _ref2 = title || {},\n _ref2$body = _ref2.body,\n body = _ref2$body === void 0 ? '' : _ref2$body; // get resized video style props\n\n\n var _ref3 = video || {},\n _ref3$autoPlay = _ref3.autoPlay,\n autoPlay = _ref3$autoPlay === void 0 ? true : _ref3$autoPlay,\n _ref3$media = _ref3.media,\n videoMedia = _ref3$media === void 0 ? null : _ref3$media,\n _ref3$closedCaptions = _ref3.closedCaptions,\n closedCaptions = _ref3$closedCaptions === void 0 ? null : _ref3$closedCaptions,\n _ref3$withSeekBar = _ref3.withSeekBar,\n withSeekBar = _ref3$withSeekBar === void 0 ? false : _ref3$withSeekBar,\n _ref3$withPlayPause = _ref3.withPlayPause,\n withPlayPause = _ref3$withPlayPause === void 0 ? false : _ref3$withPlayPause,\n _ref3$withTime = _ref3.withTime,\n withTime = _ref3$withTime === void 0 ? false : _ref3$withTime;\n\n var apiRef = useRef();\n\n var _ref4 = apiRef.current || {},\n togglePlay = _ref4.togglePlay,\n toggleMute = _ref4.toggleMute,\n seek = _ref4.seek,\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 var mouseMoveRef = useRef(null);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showMediaControls = _useState2[0],\n setShowMediaControls = _useState2[1]; // Get api state updates from callback\n\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 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 (_ref5) {\n var initial = _ref5.initial;\n setPlaying(true);\n trackScreenMedia(video, initial ? 'play' : 'resume');\n }, [trackScreenMedia, video]);\n var onPause = useCallback(function (_ref6) {\n var midway = _ref6.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 onSeek = useCallback(function (e) {\n seek(e);\n play();\n }, [seek, play]);\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 var onEnded = useCallback(function () {\n if (shouldGotoNextScreenOnEnd) {\n gotoNextScreen();\n }\n }, [shouldGotoNextScreenOnEnd, seek, gotoNextScreen]);\n useEffect(function () {\n if (!current && playing) {\n pause();\n }\n }, [playing, current]);\n var onMouseMove = useCallback(function (e) {\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1800;\n setShowMediaControls(true);\n\n if (mouseMoveRef.current !== null) {\n clearTimeout(mouseMoveRef.current);\n }\n\n mouseMoveRef.current = setTimeout(function () {\n setShowMediaControls(false);\n mouseMoveRef.current = null;\n }, time);\n }, [setShowMediaControls]);\n var onLongPress = useCallback(function () {\n if (!playing) {\n play();\n } else if (withPlayPause) {\n onMouseMove(null, 3000);\n } else {\n pause();\n }\n }, [play, playing, pause, onMouseMove, withPlayPause, setShowMediaControls]);\n var longPressBind = useLongPress({\n onLongPress: onLongPress,\n onClick: onMouseMove\n });\n var fullscreen = layout === 'full';\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n\n var _ref7 = background || {},\n _ref7$image = _ref7.image,\n backgroundImage = _ref7$image === void 0 ? null : _ref7$image,\n _ref7$video = _ref7.video,\n backgroundVideo = _ref7$video === void 0 ? null : _ref7$video;\n\n var isCustomBackground = background === null || backgroundImage === null && backgroundVideo === null;\n var hasVideo = video !== null;\n\n var _useState11 = useState(hasVideo),\n _useState12 = _slicedToArray(_useState11, 2),\n ready = _useState12[0],\n setReady = _useState12[1];\n\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\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 _ref8 = videoMedia || {},\n _ref8$metadata = _ref8.metadata,\n videoMetadata = _ref8$metadata === void 0 ? null : _ref8$metadata,\n _ref8$url = _ref8.url,\n videoUrl = _ref8$url === void 0 ? null : _ref8$url,\n _ref8$thumbnail_url = _ref8.thumbnail_url,\n thumbnailUrl = _ref8$thumbnail_url === void 0 ? null : _ref8$thumbnail_url;\n\n var hasVideoUrl = videoUrl !== null;\n\n var _ref9 = videoMetadata || {},\n _ref9$width = _ref9.width,\n videoWidth = _ref9$width === void 0 ? 0 : _ref9$width,\n _ref9$height = _ref9.height,\n videoHeight = _ref9$height === void 0 ? 0 : _ref9$height;\n\n var _useResizeObserver = useResizeObserver(),\n titleRef = _useResizeObserver.ref,\n _useResizeObserver$en = _useResizeObserver.entry.contentRect,\n contentRect = _useResizeObserver$en === void 0 ? null : _useResizeObserver$en;\n\n var _ref10 = contentRect || {},\n _ref10$height = _ref10.height,\n titleHeight = _ref10$height === void 0 ? 0 : _ref10$height;\n\n var videoMaxHeight = height - titleHeight - (padding ? padding * 2 : 40);\n\n var _getSizeWithinBounds = getSizeWithinBounds(videoWidth, videoHeight, width, videoMaxHeight, {\n cover: fullscreen\n }),\n resizedVideoWidth = _getSizeWithinBounds.width,\n resizedVideoHeight = _getSizeWithinBounds.height;\n\n var resizedVideoLeft = -(resizedVideoWidth - width) / 2; // const resizedVideoTop = -(resizedVideoHeight - videoMaxHeight) / 2;\n\n var finalBackground = useMemo(function () {\n if (isArray(background) && background.length > 0) {\n return background;\n }\n\n if (background !== null) {\n return _objectSpread(_objectSpread({}, defaultBackground), background);\n }\n\n return defaultBackground;\n }, [background]);\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]);\n var onVideoReady = useCallback(function () {\n setReady(true);\n }, [setReady]);\n var visibleControls = !autoPlay && !playing || muted || showMediaControls;\n var items = [/*#__PURE__*/React.createElement(Container, {\n className: styles.itemsContainer\n }, /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"heading\",\n className: styles.headingScreenElement,\n placeholder: /*#__PURE__*/React.createElement(PlaceholderTitle, 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: \"oAtOlP\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Heading\"\n }]\n }))),\n isEmpty: body.length === 0\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: titleRef\n }, /*#__PURE__*/React.createElement(Heading, Object.assign({\n className: classNames([styles.heading, (_ref11 = {}, _defineProperty(_ref11, className, className !== null), _defineProperty(_ref11, styles.hideHeading, body.length === 0), _ref11)]),\n body: body\n }, title)))), /*#__PURE__*/React.createElement(ScreenElement, {\n key: \"video\",\n className: styles.videoScreenElement,\n placeholder: /*#__PURE__*/React.createElement(PlaceholderVideo, Object.assign({\n className: styles.videoPlaceholder,\n height: \"300px\"\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: Math.min(width, resizedVideoWidth),\n height: resizedVideoHeight,\n left: resizedVideoLeft > 0 ? resizedVideoLeft : null,\n maxHeight: videoMaxHeight\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 width: resizedVideoWidth,\n height: resizedVideoHeight,\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 onEnded: onEnded,\n onVolumeChanged: onVolumeChanged,\n focusable: current && isView,\n preload: videoShouldLoad ? 'auto' : 'metadata'\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, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.bottom, (_ref12 = {}, _defineProperty(_ref12, styles.visible, visibleControls), _defineProperty(_ref12, styles.withGradient, withSeekBar || withPlayPause || muted), _ref12)])\n }, hasVideoUrl ? /*#__PURE__*/React.createElement(MediaControls, {\n className: classNames([styles.mediaControls, _defineProperty({}, styles.visible, visibleControls)]),\n withSeekBar: withSeekBar,\n withPlayPause: withPlayPause,\n withTime: withTime,\n playing: playing,\n muted: muted,\n currentTime: currentTime,\n duration: duration,\n onTogglePlay: togglePlay,\n onToggleMute: onToggleMute,\n onSeek: onSeek,\n focusable: current && isView\n }) : null, hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: -spacing / 2\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n className: styles.callToAction,\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView,\n screenSize: {\n width: width,\n height: height\n }\n })) : null))) : null) : null))];\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classNames([styles.container, (_ref14 = {}, _defineProperty(_ref14, className, className !== null), _defineProperty(_ref14, styles.fullscreen, fullscreen), _ref14)]),\n \"data-screen-ready\": isStatic || isCapture || ready\n }, longPressBind, {\n onMouseMove: onMouseMove\n }), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: finalBackground,\n className: classNames([styles.background, (_ref15 = {}, _defineProperty(_ref15, className, className !== null), _defineProperty(_ref15, styles.isCustomBackground, isCustomBackground), _defineProperty(_ref15, styles.isAnimated, !isStatic && !isPreview && isCustomBackground), _ref15)]),\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\n }) : /*#__PURE__*/React.createElement(Background, {\n background: placeholderBackground,\n className: styles.background,\n width: width,\n height: height,\n styles: {\n backgroundColor: 'red'\n }\n }), /*#__PURE__*/React.createElement(Container, {\n width: width,\n height: height\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles.content\n }, items)));\n};\n\nUrbaniaTrivia.propTypes = propTypes;\nUrbaniaTrivia.defaultProps = defaultProps;\nvar UrbaniaTriviaScreen = /*#__PURE__*/React.memo(UrbaniaTrivia);\n\nvar definition = {\n id: 'urbania-trivia',\n type: 'screen',\n namespaces: ['urbania'],\n group: {\n label: defineMessage({\n id: \"oPjl8f\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Urbania\"\n }]\n }),\n order: 10\n },\n title: defineMessage({\n id: \"eA6lME\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Urbania trivia screen\"\n }]\n }),\n component: UrbaniaTriviaScreen,\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: '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: 'gotoNextScreenOnEnd',\n type: 'toggle',\n defaultValue: false,\n label: defineMessage({\n id: \"n8zmLY\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Go to next screen on end\"\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};\n\nexport { UrbaniaTriviaScreen as UrbaniaTrivia, 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 { getSizeWithinBounds } from '@folklore/size';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport { PropTypes as PropTypes$1 } from '@micromag/core';\nimport { ScreenElement, PlaceholderVideo, Empty, Transitions } from '@micromag/core/components';\nimport { useScreenSize, useScreenRenderContext, useViewerNavigation } from '@micromag/core/contexts';\nimport { useTrackScreenMedia, useLongPress } from '@micromag/core/hooks';\nimport Background from '@micromag/element-background';\nimport CallToAction from '@micromag/element-call-to-action';\nimport ClosedCaptions from '@micromag/element-closed-captions';\nimport Container from '@micromag/element-container';\nimport Image from '@micromag/element-image';\nimport MediaControls from '@micromag/element-media-controls';\nimport Video from '@micromag/element-video';\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\",\"callToAction\":\"micromag-screen-video-callToAction\",\"bottom\":\"micromag-screen-video-bottom\",\"visible\":\"micromag-screen-video-visible\",\"withGradient\":\"micromag-screen-video-withGradient\",\"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 gotoNextScreenOnEnd: PropTypes.bool,\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 gotoNextScreenOnEnd: false,\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, _ref10;\n\n var layout = _ref.layout,\n video = _ref.video,\n gotoNextScreenOnEnd = _ref.gotoNextScreenOnEnd,\n background = _ref.background,\n callToAction = _ref.callToAction,\n current = _ref.current,\n active = _ref.active,\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 _useViewerNavigation = useViewerNavigation(),\n gotoNextScreen = _useViewerNavigation.gotoNextScreen;\n\n var backgroundPlaying = current && (isView || isEdit);\n var backgroundShouldLoad = current || active || !isView;\n var videoShouldLoad = current || active || !isView;\n var shouldGotoNextScreenOnEnd = gotoNextScreenOnEnd && isView && current; // get resized video style props\n\n var _ref2 = video || {},\n _ref2$autoPlay = _ref2.autoPlay,\n autoPlay = _ref2$autoPlay === void 0 ? true : _ref2$autoPlay,\n _ref2$media = _ref2.media,\n videoMedia = _ref2$media === void 0 ? null : _ref2$media,\n _ref2$closedCaptions = _ref2.closedCaptions,\n closedCaptions = _ref2$closedCaptions === void 0 ? null : _ref2$closedCaptions,\n _ref2$withSeekBar = _ref2.withSeekBar,\n withSeekBar = _ref2$withSeekBar === void 0 ? false : _ref2$withSeekBar,\n _ref2$withPlayPause = _ref2.withPlayPause,\n withPlayPause = _ref2$withPlayPause === void 0 ? false : _ref2$withPlayPause,\n _ref2$withTime = _ref2.withTime,\n withTime = _ref2$withTime === void 0 ? false : _ref2$withTime;\n\n var apiRef = useRef();\n\n var _ref3 = apiRef.current || {},\n togglePlay = _ref3.togglePlay,\n toggleMute = _ref3.toggleMute,\n seek = _ref3.seek,\n play = _ref3.play,\n pause = _ref3.pause,\n _ref3$mediaRef = _ref3.mediaRef,\n apiMediaRef = _ref3$mediaRef === void 0 ? null : _ref3$mediaRef;\n\n useEffect(function () {\n if (apiMediaRef !== null && getMediaRef !== null) {\n getMediaRef(apiMediaRef.current);\n }\n }, [apiMediaRef, getMediaRef]);\n var mouseMoveRef = useRef(null);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showMediaControls = _useState2[0],\n setShowMediaControls = _useState2[1]; // Get api state updates from callback\n\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 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 (_ref4) {\n var initial = _ref4.initial;\n setPlaying(true);\n trackScreenMedia(video, initial ? 'play' : 'resume');\n }, [trackScreenMedia, video]);\n var onPause = useCallback(function (_ref5) {\n var midway = _ref5.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 onSeek = useCallback(function (e) {\n seek(e);\n play();\n }, [seek, play]);\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 var onEnded = useCallback(function () {\n if (shouldGotoNextScreenOnEnd) {\n gotoNextScreen();\n }\n }, [shouldGotoNextScreenOnEnd, seek, gotoNextScreen]);\n useEffect(function () {\n if (!current && playing) {\n pause();\n }\n }, [playing, current]);\n var onMouseMove = useCallback(function (e) {\n var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1800;\n setShowMediaControls(true);\n\n if (mouseMoveRef.current !== null) {\n clearTimeout(mouseMoveRef.current);\n }\n\n mouseMoveRef.current = setTimeout(function () {\n setShowMediaControls(false);\n mouseMoveRef.current = null;\n }, time);\n }, [setShowMediaControls]);\n var onLongPress = useCallback(function () {\n if (!playing) {\n play();\n } else if (withPlayPause) {\n onMouseMove(null, 3000);\n } else {\n pause();\n }\n }, [play, playing, pause, onMouseMove, withPlayPause, setShowMediaControls]);\n var longPressBind = useLongPress({\n onLongPress: onLongPress,\n onClick: onMouseMove\n });\n var fullscreen = layout === 'full';\n var hasCallToAction = callToAction !== null && callToAction.active === true;\n var hasVideo = video !== null;\n\n var _useState11 = useState(hasVideo),\n _useState12 = _slicedToArray(_useState11, 2),\n ready = _useState12[0],\n setReady = _useState12[1]; // useState(!hasVideo);\n\n\n var transitionPlaying = current && ready;\n var transitionDisabled = isStatic || isCapture || isPlaceholder || isPreview || isEdit;\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 visibleControls = !autoPlay && !playing || muted || showMediaControls;\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 onEnded: onEnded,\n onVolumeChanged: onVolumeChanged,\n focusable: current && isView,\n preload: videoShouldLoad ? 'auto' : 'metadata' // 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, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames([styles.bottom, (_ref8 = {}, _defineProperty(_ref8, styles.visible, visibleControls), _defineProperty(_ref8, styles.withGradient, withSeekBar || withPlayPause || muted), _ref8)])\n }, hasVideoUrl ? /*#__PURE__*/React.createElement(MediaControls, {\n className: classNames([styles.mediaControls, _defineProperty({}, styles.visible, visibleControls)]),\n withSeekBar: withSeekBar,\n withPlayPause: withPlayPause,\n withTime: withTime,\n playing: playing,\n muted: muted,\n currentTime: currentTime,\n duration: duration,\n onTogglePlay: togglePlay,\n onToggleMute: onToggleMute,\n onSeek: onSeek,\n focusable: current && isView\n }) : null, hasCallToAction ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: -spacing / 2\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n className: styles.callToAction,\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView,\n screenSize: {\n width: width,\n height: height\n }\n })) : null))) : null];\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classNames([styles.container, (_ref10 = {}, _defineProperty(_ref10, className, className !== null), _defineProperty(_ref10, styles.fullscreen, fullscreen), _ref10)]),\n \"data-screen-ready\": isStatic || isCapture\n /* && posterReady */\n || ready\n }, longPressBind, {\n onMouseMove: onMouseMove\n }), !isPlaceholder ? /*#__PURE__*/React.createElement(Background, {\n background: background,\n width: width,\n height: height,\n playing: backgroundPlaying,\n shouldLoad: backgroundShouldLoad\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: 'gotoNextScreenOnEnd',\n type: 'toggle',\n defaultValue: false,\n label: defineMessage({\n id: \"n8zmLY\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Go to next screen on end\"\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 // type: 'fields',\n // isList: true,\n // label: defineMessage({\n // defaultMessage: 'Addons',\n // description: 'Addons field label',\n // }),\n // fields: [\n // {\n // name: 'callToAction',\n // type: 'call-to-action-form',\n // label: defineMessage({\n // defaultMessage: 'Call to action',\n // description: 'Cta field label',\n // }),\n // isHorizontal: true,\n // // isList: true,\n // // isFlushList: true,\n // // defaultValue: null,\n // // theme: {\n // // label: {\n // // textStyle: 'heading2',\n // // },\n // // },\n // },\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 { getSizeWithinBounds } from '@folklore/size';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState, useEffect, useRef, useCallback } from 'react';\nimport 'whatwg-fetch';\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 CallToAction from '@micromag/element-call-to-action';\nimport ClosedCaptions from '@micromag/element-closed-captions';\nimport Container from '@micromag/element-container';\nimport Image from '@micromag/element-image';\nimport MediaControls from '@micromag/element-media-controls';\nimport Video from '@micromag/element-video';\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-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\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 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 active = _ref.active,\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 backgroundShouldLoad = current || active || !isView;\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 / 2\n }\n }, /*#__PURE__*/React.createElement(CallToAction, {\n callToAction: callToAction,\n animationDisabled: isPreview,\n focusable: current && isView,\n screenSize: {\n width: width,\n height: height\n }\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 shouldLoad: backgroundShouldLoad\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 survey from '@micromag/screen-survey';\nimport text from '@micromag/screen-text';\nimport timeline from '@micromag/screen-timeline';\nimport title from '@micromag/screen-title';\nimport urbaniaArticle from '@micromag/screen-urbania-article';\nimport urbaniaHoroscope from '@micromag/screen-urbania-horoscope';\nimport urbaniaRecommendation from '@micromag/screen-urbania-recommendation';\nimport urbaniaTrivia from '@micromag/screen-urbania-trivia';\nimport video from '@micromag/screen-video';\nimport video360 from '@micromag/screen-video-360';\nimport _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';\nimport PropTypes from 'prop-types';\nimport React from 'react';\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); // manager.addDefinition(slideshow);\n\nmanager$1.addDefinition(urbaniaArticle);\nmanager$1.addDefinition(urbaniaTrivia);\nmanager$1.addDefinition(urbaniaRecommendation);\nmanager$1.addDefinition(urbaniaHoroscope);\n\nvar manager = new ScreensManager();\nmanager.merge(manager$1);\n\nvar _excluded = [\"children\"];\nvar propTypes = {\n children: PropTypes.node.isRequired\n};\nvar defaultProps = {};\n\nvar ScreensProvider = function ScreensProvider(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(ScreensProvider$1, Object.assign({}, props, {\n manager: manager\n }), children);\n};\n\nScreensProvider.propTypes = propTypes;\nScreensProvider.defaultProps = defaultProps;\n\nexport { ScreensProvider, manager as default };\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","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\nvar _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');\nvar PropTypes = require('prop-types');\nvar React = require('react');\nvar reactRouter = require('react-router');\nvar reactRouterDom = require('react-router-dom');\nvar core$1 = require('@micromag/core');\nvar contexts = require('@micromag/core/contexts');\nvar fieldsManager = require('@micromag/fields/manager');\nvar intl = require('@micromag/intl');\nvar screens = require('@micromag/screens');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _slicedToArray = require('@babel/runtime/helpers/slicedToArray');\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar classNames = require('classnames');\nvar reactHelmet = require('react-helmet');\nvar reactIntl = require('react-intl');\nvar EventEmitter = require('wolfy87-eventemitter');\nvar components = require('@micromag/core/components');\nvar hooks = require('@micromag/core/hooks');\nvar utils = require('@micromag/core/utils');\nvar core = require('@react-spring/core');\nvar web = require('@react-spring/web');\nvar react = require('@use-gesture/react');\nvar freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');\nvar reactFontawesome = require('@fortawesome/react-fontawesome');\nvar Scroll = require('@micromag/element-scroll');\nvar reactShare = require('react-share');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\nvar _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);\nvar PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\nvar fieldsManager__default = /*#__PURE__*/_interopDefaultLegacy(fieldsManager);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);\nvar EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter);\nvar Scroll__default = /*#__PURE__*/_interopDefaultLegacy(Scroll);\n\nvar home = \"/\";\nvar screen = \"/:screen\";\nvar defaultRoutes = {\n home: home,\n screen: screen\n};\n\nvar routes = PropTypes__default[\"default\"].shape({\n home: PropTypes__default[\"default\"].string.isRequired,\n screen: PropTypes__default[\"default\"].string.isRequired\n});\n\nfunction useKeyboardShortcuts() {\n var shortcuts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\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 React.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 if (typeof shortcuts[lowercaseKey] !== 'undefined') {\n shortcuts[lowercaseKey]();\n }\n };\n\n if (!disabled) {\n window.addEventListener('keydown', onKey);\n }\n\n return function () {\n if (!disabled) {\n window.removeEventListener('keydown', onKey);\n }\n };\n }, [disabled, shortcuts]);\n}\n\nfunction checkClickable(el) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var distance = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n\n var _ref = options || {},\n _ref$maxDistance = _ref.maxDistance,\n maxDistance = _ref$maxDistance === void 0 ? 5 : _ref$maxDistance,\n _ref$tags = _ref.tags,\n tags = _ref$tags === void 0 ? ['BUTTON', 'A', 'INPUT', 'TEXTAREA'] : _ref$tags;\n\n var _ref2 = el || {},\n _ref2$tagName = _ref2.tagName,\n tagName = _ref2$tagName === void 0 ? null : _ref2$tagName,\n _ref2$parentNode = _ref2.parentNode,\n parentNode = _ref2$parentNode === void 0 ? null : _ref2$parentNode;\n\n if (tagName === 'BODY') {\n return false;\n }\n\n if (tags.map(function (it) {\n return it.toLowerCase();\n }).indexOf(tagName.toLowerCase()) > -1) {\n return true;\n }\n\n if (distance < maxDistance) {\n return checkClickable(parentNode, options, distance + 1);\n }\n\n return false;\n}\n\nfunction useScreenInteraction() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n screens = _ref.screens,\n screenIndex = _ref.screenIndex,\n screenWidth = _ref.screenWidth,\n _ref$isView = _ref.isView,\n isView = _ref$isView === void 0 ? false : _ref$isView,\n _ref$clickOnSiblings = _ref.clickOnSiblings,\n clickOnSiblings = _ref$clickOnSiblings === void 0 ? false : _ref$clickOnSiblings,\n _ref$nextScreenWidthP = _ref.nextScreenWidthPercent,\n nextScreenWidthPercent = _ref$nextScreenWidthP === void 0 ? 0.5 : _ref$nextScreenWidthP,\n _ref$eventsManager = _ref.eventsManager,\n eventsManager = _ref$eventsManager === void 0 ? null : _ref$eventsManager,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === void 0 ? null : _ref$onClick,\n _ref$onEnd = _ref.onEnd,\n onEnd = _ref$onEnd === void 0 ? null : _ref$onEnd,\n _ref$onChangeScreen = _ref.onChangeScreen,\n onChangeScreen = _ref$onChangeScreen === void 0 ? null : _ref$onChangeScreen;\n\n var _useState = React.useState(screens.reduce(function (map, _ref2) {\n var id = _ref2.id;\n return _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, map), {}, _defineProperty__default[\"default\"]({}, id, true));\n }, {})),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n screensInteractionEnabled = _useState2[0],\n setScreensInteractionEnabled = _useState2[1];\n\n var _ref3 = screens[screenIndex] || {},\n _ref3$id = _ref3.id,\n screenId = _ref3$id === void 0 ? screenIndex : _ref3$id;\n\n var _screensInteractionEn = screensInteractionEnabled[screenId],\n currentScreenInteractionEnabled = _screensInteractionEn === void 0 ? true : _screensInteractionEn;\n var updateInteraction = React.useCallback(function (newValue) {\n var _screensInteractionEn2 = screensInteractionEnabled[screenId],\n currentValue = _screensInteractionEn2 === void 0 ? true : _screensInteractionEn2;\n\n if (currentValue !== newValue) {\n setScreensInteractionEnabled(screens.reduce(function (map, _ref4) {\n var id = _ref4.id;\n return screenId === id ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, map), {}, _defineProperty__default[\"default\"]({}, id, newValue)) : _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, map), {}, _defineProperty__default[\"default\"]({}, id, typeof screensInteractionEnabled[id] === 'undefined' || screensInteractionEnabled[id] === true));\n }, {}));\n }\n }, [screens, screenId, screensInteractionEnabled, setScreensInteractionEnabled]);\n var enableInteraction = React.useCallback(function () {\n return updateInteraction(true);\n }, [updateInteraction]);\n var disableInteraction = React.useCallback(function () {\n return updateInteraction(false);\n }, [updateInteraction]);\n var onScreenClick = React.useCallback(function (e, index) {\n if (onClick !== null) {\n onClick(e, index);\n }\n\n var screensCount = screens.length;\n var tappedCurrent = screenIndex === index;\n\n if (eventsManager !== null) {\n eventsManager.emit('tap', e, index);\n }\n\n if (!isView && tappedCurrent || checkClickable(e.target) || tappedCurrent && !currentScreenInteractionEnabled) {\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 console.log(e.clientX, contentX, screenWidth);\n var hasTappedLeft = tappedCurrent ? tapX - contentX < screenWidth * (1 - nextScreenWidthPercent) : screenIndex > index;\n\n if (hasTappedLeft) {\n nextIndex = clickOnSiblings ? index : Math.max(0, screenIndex - 1);\n\n if (eventsManager !== null) {\n eventsManager.emit('tap_previous', nextIndex);\n }\n } else {\n nextIndex = clickOnSiblings ? index : Math.min(screensCount - 1, screenIndex + 1);\n var isLastScreen = screenIndex === screensCount - 1;\n\n if (isLastScreen && onEnd !== null) {\n onEnd();\n\n if (eventsManager !== null) {\n eventsManager.emit('tap_end');\n }\n } else if (eventsManager) {\n eventsManager.emit('tap_next', nextIndex);\n }\n }\n\n if (eventsManager !== null) {\n eventsManager.emit('change_screen', nextIndex);\n }\n\n onChangeScreen(nextIndex);\n }, [screenWidth, screens, screenIndex, eventsManager, onClick, onEnd, onChangeScreen, screenIndex, screensInteractionEnabled, currentScreenInteractionEnabled, nextScreenWidthPercent, isView, clickOnSiblings]);\n return {\n onClick: onScreenClick,\n currentScreenInteractionEnabled: currentScreenInteractionEnabled,\n enableInteraction: enableInteraction,\n disableInteraction: disableInteraction\n };\n}\n\nvar styles$8 = {\"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\",\"handTap\":\"micromag-viewer-handTap\",\"landscape\":\"micromag-viewer-landscape\",\"visible\":\"micromag-viewer-visible\",\"withSiblings\":\"micromag-viewer-withSiblings\",\"hideMenu\":\"micromag-viewer-hideMenu\",\"ready\":\"micromag-viewer-ready\",\"hasInteracted\":\"micromag-viewer-hasInteracted\"};\n\nvar styles$7 = {\"container\":\"micromag-viewer-menus-menu-dots-container\",\"closeButton\":\"micromag-viewer-menus-menu-dots-closeButton\",\"menuButton\":\"micromag-viewer-menus-menu-dots-menuButton\",\"item\":\"micromag-viewer-menus-menu-dots-item\",\"items\":\"micromag-viewer-menus-menu-dots-items\",\"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$6 = {\"container\":\"micromag-viewer-menus-menu-dot-container\",\"button\":\"micromag-viewer-menus-menu-dot-button\",\"dot\":\"micromag-viewer-menus-menu-dot-dot\",\"subDot\":\"micromag-viewer-menus-menu-dot-subDot\",\"dots\":\"micromag-viewer-menus-menu-dot-dots\",\"vertical\":\"micromag-viewer-menus-menu-dot-vertical\"};\n\nvar propTypes$c = {\n current: PropTypes__default[\"default\"].bool,\n active: PropTypes__default[\"default\"].bool,\n colors: PropTypes__default[\"default\"].shape({\n primary: PropTypes__default[\"default\"].string,\n secondary: PropTypes__default[\"default\"].string\n }),\n count: PropTypes__default[\"default\"].number,\n subIndex: PropTypes__default[\"default\"].number,\n vertical: PropTypes__default[\"default\"].bool,\n onClick: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$c = {\n current: false,\n active: false,\n colors: null,\n count: 1,\n subIndex: 0,\n vertical: false,\n onClick: null,\n className: null\n};\n\nvar ViewerMenuDot = function ViewerMenuDot(_ref) {\n var _ref3;\n\n var current = _ref.current,\n active = _ref.active,\n colors = _ref.colors,\n count = _ref.count,\n subIndex = _ref.subIndex,\n vertical = _ref.vertical,\n onClick = _ref.onClick,\n className = _ref.className;\n var currentTime = 0;\n var duration = 1;\n var playing = true;\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; // TODO: if approved animate progress\n\n\n var _useSpring = core.useSpring(function () {\n return {\n x: 0,\n config: {\n duration: 0\n }\n };\n }),\n _useSpring2 = _slicedToArray__default[\"default\"](_useSpring, 2);\n _useSpring2[0];\n var setSpringProps = _useSpring2[1];\n\n React.useEffect(function () {\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: 1 \n },\n config: {\n duration: (duration - currentTime) * 1000\n }\n });\n }, [playing, duration, currentTime, setSpringProps]);\n var inner = current && count > 1 ? /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: styles$6.dots\n }, _toConsumableArray__default[\"default\"](Array(count).keys()).map(function (i) {\n return /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: classNames__default[\"default\"]([styles$6.dot, styles$6.subDot]),\n style: {\n width: \"\".concat(parseFloat(1 / count * 100).toFixed(2), \"%\"),\n backgroundColor: active && i <= subIndex ? primary : secondary\n }\n });\n })) : /*#__PURE__*/React__default[\"default\"].createElement(\"span\", {\n className: styles$6.dot,\n style: {\n backgroundColor: active ? primary : secondary\n }\n });\n return /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: classNames__default[\"default\"]([styles$6.container, (_ref3 = {}, _defineProperty__default[\"default\"](_ref3, styles$6.active, current), _defineProperty__default[\"default\"](_ref3, styles$6.vertical, vertical), _defineProperty__default[\"default\"](_ref3, className, className !== null), _ref3)]),\n \"aria-hidden\": \"true\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: styles$6.button,\n onClick: onClick,\n tabIndex: \"-1\"\n }, inner));\n};\n\nViewerMenuDot.propTypes = propTypes$c;\nViewerMenuDot.defaultProps = defaultProps$c;\n\nvar styles$5 = {};\n\nvar propTypes$b = {\n size: PropTypes__default[\"default\"].number,\n spacing: PropTypes__default[\"default\"].number,\n color: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$b = {\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__default[\"default\"].createElement(\"svg\", {\n className: classNames__default[\"default\"]([styles$5.container, _defineProperty__default[\"default\"]({}, 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__default[\"default\"](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__default[\"default\"].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$b;\nMenuIcon.defaultProps = defaultProps$b;\n\nvar propTypes$a = {\n direction: PropTypes__default[\"default\"].oneOf(['horizontal', 'vertical']),\n withShadow: PropTypes__default[\"default\"].bool,\n items: core$1.PropTypes.menuItems,\n onClickItem: PropTypes__default[\"default\"].func,\n onClickMenu: PropTypes__default[\"default\"].func,\n colors: PropTypes__default[\"default\"].shape({\n primary: PropTypes__default[\"default\"].string,\n secondary: PropTypes__default[\"default\"].string\n }),\n closeable: PropTypes__default[\"default\"].bool,\n withItemClick: PropTypes__default[\"default\"].bool,\n withoutScreensMenu: PropTypes__default[\"default\"].bool,\n onClose: PropTypes__default[\"default\"].func,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$a = {\n direction: 'horizontal',\n withShadow: false,\n items: [],\n onClickItem: null,\n onClickMenu: null,\n colors: null,\n closeable: false,\n withItemClick: false,\n withoutScreensMenu: false,\n onClose: null,\n className: null\n};\n\nvar ViewerMenuDots = function ViewerMenuDots(_ref) {\n var _ref4;\n\n var direction = _ref.direction,\n withShadow = _ref.withShadow,\n items = _ref.items,\n onClickItem = _ref.onClickItem,\n onClickMenu = _ref.onClickMenu,\n colors = _ref.colors,\n closeable = _ref.closeable,\n withItemClick = _ref.withItemClick,\n withoutScreensMenu = _ref.withoutScreensMenu,\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\n var intl = reactIntl.useIntl();\n var currentIndex = items.findIndex(function (_ref3) {\n var _ref3$current = _ref3.current,\n current = _ref3$current === void 0 ? false : _ref3$current;\n return current;\n });\n return /*#__PURE__*/React__default[\"default\"].createElement(\"nav\", {\n className: classNames__default[\"default\"]([styles$7.container, (_ref4 = {}, _defineProperty__default[\"default\"](_ref4, className, className !== null), _defineProperty__default[\"default\"](_ref4, styles$7.vertical, direction === 'vertical'), _defineProperty__default[\"default\"](_ref4, styles$7.withShadow, withShadow), _ref4)]),\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: currentIndex + 1,\n total: items.length\n })\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"ul\", {\n className: styles$7.items\n }, items.map(function (item, index) {\n var _ref5 = item || {},\n _ref5$current = _ref5.current,\n current = _ref5$current === void 0 ? false : _ref5$current,\n _ref5$count = _ref5.count,\n count = _ref5$count === void 0 ? 1 : _ref5$count,\n _ref5$subIndex = _ref5.subIndex,\n subIndex = _ref5$subIndex === void 0 ? 0 : _ref5$subIndex;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(ViewerMenuDot, {\n key: \"item-\".concat(index + 1),\n current: current,\n active: index <= currentIndex,\n colors: colors,\n count: count,\n subIndex: subIndex,\n onClick: function onClick() {\n if ((withItemClick || withoutScreensMenu) && onClickItem !== null) {\n onClickItem(item);\n } else if (!withItemClick && onClickMenu !== null) {\n onClickMenu();\n }\n },\n vertical: direction === 'vertical'\n });\n }), !withoutScreensMenu ? /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: styles$7.menu\n }, /*#__PURE__*/React__default[\"default\"].createElement(MenuIcon, {\n className: styles$7.menuIcon,\n color: primary\n }), /*#__PURE__*/React__default[\"default\"].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$7.menuButton,\n onClick: onClickMenu\n })) : null, closeable ? /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: styles$7.closeButton,\n style: {\n color: primary\n }\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: styles$7.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__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n icon: freeSolidSvgIcons.faTimes\n }))) : null));\n};\n\nViewerMenuDots.propTypes = propTypes$a;\nViewerMenuDots.defaultProps = defaultProps$a;\n\nvar styles$4 = {\"container\":\"micromag-viewer-menus-menu-preview-container\",\"screenButton\":\"micromag-viewer-menus-menu-preview-screenButton\",\"activeScreenBorder\":\"micromag-viewer-menus-menu-preview-activeScreenBorder\",\"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\",\"itemContent\":\"micromag-viewer-menus-menu-preview-itemContent\",\"screenContainer\":\"micromag-viewer-menus-menu-preview-screenContainer\",\"screenContent\":\"micromag-viewer-menus-menu-preview-screenContent\"};\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$9 = {\n url: PropTypes__default[\"default\"].string,\n title: PropTypes__default[\"default\"].string,\n opened: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string,\n onShare: PropTypes__default[\"default\"].func,\n onCancel: PropTypes__default[\"default\"].func\n};\nvar defaultProps$9 = {\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 = React.useRef(null);\n var onShareButtonClick = React.useCallback(function (type) {\n if (onShare !== null) {\n onShare(type);\n }\n }, [onShare]);\n var shareButtonProps = React.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 = React.useMemo(function () {\n return {\n size: 32,\n round: true\n };\n }, []);\n var onDocumentClick = React.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 hooks.useDocumentEvent('click', onDocumentClick, opened);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$3.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, className, className), _defineProperty__default[\"default\"](_ref2, styles$3.opened, opened), _ref2)]),\n ref: containerRef,\n \"aria-hidden\": opened ? null : '-1'\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$3.content\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$3.buttons\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactShare.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__default[\"default\"].createElement(reactShare.FacebookIcon, shareIconProps)), /*#__PURE__*/React__default[\"default\"].createElement(reactShare.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__default[\"default\"].createElement(reactShare.TwitterIcon, shareIconProps)), /*#__PURE__*/React__default[\"default\"].createElement(reactShare.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__default[\"default\"].createElement(reactShare.EmailIcon, shareIconProps)))));\n};\n\nShareModal.propTypes = propTypes$9;\nShareModal.defaultProps = defaultProps$9;\n\nvar styles$2 = {\"container\":\"micromag-viewer-partials-share-button-container\",\"shareModal\":\"micromag-viewer-partials-share-button-shareModal\"};\n\nvar propTypes$8 = {\n title: PropTypes__default[\"default\"].string,\n url: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string,\n buttonClassName: PropTypes__default[\"default\"].string,\n onShare: PropTypes__default[\"default\"].func,\n children: PropTypes__default[\"default\"].node,\n focusable: PropTypes__default[\"default\"].bool\n};\nvar defaultProps$8 = {\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 = reactIntl.useIntl();\n\n var _useState = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n storyShareModalOpened = _useState2[0],\n setStoryShareModalOpened = _useState2[1];\n\n var onShareIconClick = React.useCallback(function () {\n setStoryShareModalOpened(function (opened) {\n return !opened;\n });\n }, [setStoryShareModalOpened]);\n var onStoryShared = React.useCallback(function (type) {\n setStoryShareModalOpened(false);\n\n if (onShare !== null) {\n onShare(type);\n }\n }, [setStoryShareModalOpened, onShare]);\n var onStoryShareCanceled = React.useCallback(function () {\n setStoryShareModalOpened(false);\n }, [setStoryShareModalOpened]);\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(components.Button, {\n className: classNames__default[\"default\"]([_defineProperty__default[\"default\"]({}, 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__default[\"default\"].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$8;\nShareButton.defaultProps = defaultProps$8;\n\nvar propTypes$7 = {\n viewerTheme: core$1.PropTypes.viewerTheme,\n screenSize: core$1.PropTypes.screenSize,\n menuWidth: PropTypes__default[\"default\"].number,\n title: PropTypes__default[\"default\"].string,\n shareUrl: PropTypes__default[\"default\"].string,\n items: core$1.PropTypes.menuItems,\n focusable: PropTypes__default[\"default\"].bool,\n onClickItem: PropTypes__default[\"default\"].func,\n onClose: PropTypes__default[\"default\"].func,\n onShare: PropTypes__default[\"default\"].func,\n maxThumbsWidth: PropTypes__default[\"default\"].number,\n toggleFullscreen: PropTypes__default[\"default\"].func,\n fullscreenActive: PropTypes__default[\"default\"].bool,\n fullscreenEnabled: PropTypes__default[\"default\"].bool,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$7 = {\n viewerTheme: null,\n screenSize: null,\n menuWidth: null,\n title: null,\n shareUrl: null,\n items: [],\n focusable: true,\n onClickItem: null,\n onClose: null,\n onShare: null,\n maxThumbsWidth: 140,\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 screenSize = _ref.screenSize,\n menuWidth = _ref.menuWidth,\n title = _ref.title,\n shareUrl = _ref.shareUrl,\n items = _ref.items,\n focusable = _ref.focusable,\n onClickItem = _ref.onClickItem,\n onClose = _ref.onClose,\n onShare = _ref.onShare,\n maxThumbsWidth = _ref.maxThumbsWidth,\n toggleFullscreen = _ref.toggleFullscreen,\n fullscreenActive = _ref.fullscreenActive,\n fullscreenEnabled = _ref.fullscreenEnabled,\n className = _ref.className;\n var intl = reactIntl.useIntl();\n\n var _ref2 = screenSize || {},\n screenWidth = _ref2.width,\n screenHeight = _ref2.height;\n\n var _useResizeObserver = hooks.useResizeObserver(),\n firstScreenContainerRef = _useResizeObserver.ref,\n firstScreenContentRect = _useResizeObserver.entry.contentRect;\n\n var _useResizeObserver2 = hooks.useResizeObserver(),\n containerRef = _useResizeObserver2.ref,\n containerRect = _useResizeObserver2.entry.contentRect;\n\n var _ref3 = firstScreenContentRect || {},\n _ref3$width = _ref3.width,\n thumbWidth = _ref3$width === void 0 ? 0 : _ref3$width;\n\n var _ref4 = containerRect || {},\n _ref4$width = _ref4.width,\n contentWidth = _ref4$width === void 0 ? 0 : _ref4$width;\n\n var thumbsPerLine = Math.max(Math.floor(contentWidth / maxThumbsWidth), 3); // Viewer theme\n\n var _ref5 = viewerTheme || {},\n _ref5$colors = _ref5.colors,\n colors = _ref5$colors === void 0 ? null : _ref5$colors,\n _ref5$background = _ref5.background,\n background = _ref5$background === void 0 ? null : _ref5$background,\n _ref5$textStyles = _ref5.textStyles,\n textStyles = _ref5$textStyles === void 0 ? null : _ref5$textStyles,\n _ref5$logo = _ref5.logo,\n brandLogo = _ref5$logo === void 0 ? null : _ref5$logo;\n\n var _ref6 = textStyles || {},\n _ref6$title = _ref6.title,\n brandTextStyle = _ref6$title === void 0 ? null : _ref6$title;\n\n var _ref7 = colors || {},\n _ref7$primary = _ref7.primary,\n brandPrimaryColor = _ref7$primary === void 0 ? null : _ref7$primary,\n _ref7$secondary = _ref7.secondary,\n brandSecondaryColor = _ref7$secondary === void 0 ? null : _ref7$secondary;\n\n var _ref8 = background || {},\n _ref8$color = _ref8.color,\n brandBackgroundColor = _ref8$color === void 0 ? null : _ref8$color,\n _ref8$image = _ref8.image,\n image = _ref8$image === void 0 ? null : _ref8$image;\n\n var _ref9 = image || {},\n _ref9$url = _ref9.url,\n brandImageUrl = _ref9$url === void 0 ? null : _ref9$url;\n\n var borderPrimaryColorStyle = utils.getStyleFromColor(brandPrimaryColor, 'borderColor');\n var colorSecondaryColorStyle = utils.getStyleFromColor(brandSecondaryColor, 'color');\n var backgroundColorStyle = utils.getStyleFromColor(brandBackgroundColor, 'backgroundColor');\n\n var _ref10 = brandLogo || {},\n _ref10$url = _ref10.url,\n brandLogoUrl = _ref10$url === void 0 ? null : _ref10$url;\n\n var brandImageStyle = brandImageUrl !== null ? {\n backgroundImage: \"url(\".concat(brandImageUrl, \")\")\n } : null;\n var titleStyle = brandTextStyle !== null ? utils.getStyleFromText(brandTextStyle) : null;\n\n var _useState = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n scrolledBottom = _useState2[0],\n setScrolledBottom = _useState2[1];\n\n var dragBind = react.useDrag(function (_ref11) {\n var _ref11$direction = _slicedToArray__default[\"default\"](_ref11.direction, 2),\n dy = _ref11$direction[1],\n last = _ref11.last,\n tap = _ref11.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 = React.useCallback(function () {\n setScrolledBottom(true);\n }, [setScrolledBottom]);\n var onScrolledNotBottom = React.useCallback(function () {\n setScrolledBottom(false);\n }, [setScrolledBottom]);\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", Object.assign({\n className: classNames__default[\"default\"]([styles$4.container, _defineProperty__default[\"default\"]({}, className, className !== null)]),\n style: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, backgroundColorStyle), brandImageStyle), {}, {\n width: menuWidth\n }),\n \"aria-hidden\": focusable ? null : 'true'\n }, dragBind()), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$4.header\n }, brandLogoUrl !== null ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$4.organisation,\n style: {\n backgroundImage: \"url(\".concat(brandLogoUrl, \")\")\n }\n }) : null, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$4.title,\n style: titleStyle\n }, title), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$4.buttons,\n style: colorSecondaryColorStyle\n }, /*#__PURE__*/React__default[\"default\"].createElement(ShareButton, {\n className: styles$4.shareButton,\n buttonClassName: styles$4.button,\n onShare: onShare,\n url: shareUrl,\n title: title,\n focusable: focusable\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n className: styles$4.icon,\n icon: freeSolidSvgIcons.faShare\n })), fullscreenEnabled ? /*#__PURE__*/React__default[\"default\"].createElement(components.Button, {\n className: styles$4.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__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n className: styles$4.icon,\n icon: fullscreenActive ? freeSolidSvgIcons.faCompress : freeSolidSvgIcons.faExpand\n })) : null, /*#__PURE__*/React__default[\"default\"].createElement(components.Button, {\n className: styles$4.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__default[\"default\"].createElement(reactFontawesome.FontAwesomeIcon, {\n className: styles$4.icon,\n icon: freeSolidSvgIcons.faTimes\n })))), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$4.content,\n ref: containerRef\n }, /*#__PURE__*/React__default[\"default\"].createElement(Scroll__default[\"default\"], {\n className: styles$4.scroll,\n onScrolledBottom: onScrolledBottom,\n onScrolledNotBottom: onScrolledNotBottom\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"nav\", {\n className: styles$4.nav\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"ul\", {\n className: styles$4.items\n }, items.map(function (item, index) {\n var _item$current = item.current,\n current = _item$current === void 0 ? false : _item$current,\n screen = item.screen;\n item.count;\n var screenAriaLabel = \"\".concat(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 })).concat(current ? \" \".concat(intl.formatMessage({\n id: \"vmrJ8U\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"(current screen)\"\n }]\n })) : '');\n return /*#__PURE__*/React__default[\"default\"].createElement(\"li\", {\n className: classNames__default[\"default\"]([styles$4.item, _defineProperty__default[\"default\"]({}, styles$4.active, current)]),\n key: \"item-\".concat(index),\n style: {\n width: \"\".concat(100 / thumbsPerLine, \"%\")\n }\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$4.itemContent\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$4.screenContainer,\n ref: index === 0 ? firstScreenContainerRef : null\n }, screenWidth > 0 && screenHeight > 0 ? /*#__PURE__*/React__default[\"default\"].createElement(components.ScreenPreview, {\n screenWidth: screenWidth,\n screenHeight: screenHeight,\n width: thumbWidth,\n screen: screen,\n focusable: false,\n withSize: true // withStack\n // stackCount={count}\n\n }) : null, current ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$4.activeScreenBorder,\n style: borderPrimaryColorStyle\n }) : null)), /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: styles$4.screenButton,\n onClick: function onClick() {\n if (onClickItem !== null) {\n onClickItem(item);\n }\n },\n \"aria-label\": screenAriaLabel,\n onKeyUp: function onKeyUp(e) {\n if (e.key === 'Enter' && onClickItem !== null) {\n onClickItem(item);\n }\n },\n tabIndex: focusable ? '0' : '-1'\n }));\n }))))));\n};\n\nViewerMenuPreview.propTypes = propTypes$7;\nViewerMenuPreview.defaultProps = defaultProps$7;\n\nvar propTypes$6 = {\n story: core$1.PropTypes.story.isRequired,\n currentScreenIndex: PropTypes__default[\"default\"].number,\n opened: PropTypes__default[\"default\"].bool,\n toggleFullscreen: PropTypes__default[\"default\"].func,\n fullscreenActive: PropTypes__default[\"default\"].bool,\n fullscreenEnabled: PropTypes__default[\"default\"].bool,\n closeable: PropTypes__default[\"default\"].bool,\n withShadow: PropTypes__default[\"default\"].bool,\n trackingEnabled: PropTypes__default[\"default\"].bool,\n shareBasePath: PropTypes__default[\"default\"].string,\n theme: core$1.PropTypes.viewerTheme,\n screenSize: core$1.PropTypes.screenSize,\n menuWidth: PropTypes__default[\"default\"].number,\n withDotItemClick: PropTypes__default[\"default\"].bool,\n withoutScreensMenu: PropTypes__default[\"default\"].bool,\n onRequestOpen: PropTypes__default[\"default\"].func,\n onRequestClose: PropTypes__default[\"default\"].func,\n onClickItem: PropTypes__default[\"default\"].func,\n onClickMenu: PropTypes__default[\"default\"].func,\n onClickCloseViewer: PropTypes__default[\"default\"].func,\n refDots: PropTypes__default[\"default\"].shape({\n current: PropTypes__default[\"default\"].any // eslint-disable-line\n\n })\n};\nvar defaultProps$6 = {\n currentScreenIndex: 0,\n opened: false,\n toggleFullscreen: null,\n fullscreenActive: false,\n fullscreenEnabled: false,\n closeable: false,\n withShadow: false,\n trackingEnabled: false,\n shareBasePath: null,\n theme: null,\n screenSize: null,\n menuWidth: null,\n withDotItemClick: false,\n withoutScreensMenu: false,\n onRequestOpen: null,\n onRequestClose: null,\n onClickItem: null,\n onClickMenu: null,\n onClickCloseViewer: null,\n refDots: null\n};\n\nvar ViewerMenu = function ViewerMenu(_ref) {\n var story = _ref.story,\n currentScreenIndex = _ref.currentScreenIndex,\n opened = _ref.opened,\n toggleFullscreen = _ref.toggleFullscreen,\n fullscreenActive = _ref.fullscreenActive,\n fullscreenEnabled = _ref.fullscreenEnabled,\n closeable = _ref.closeable,\n withShadow = _ref.withShadow,\n shareBasePath = _ref.shareBasePath,\n trackingEnabled = _ref.trackingEnabled,\n viewerTheme = _ref.theme,\n screenSize = _ref.screenSize,\n menuWidth = _ref.menuWidth,\n withDotItemClick = _ref.withDotItemClick,\n withoutScreensMenu = _ref.withoutScreensMenu,\n onRequestOpen = _ref.onRequestOpen,\n onRequestClose = _ref.onRequestClose,\n customOnClickItem = _ref.onClickItem,\n customOnClickMenu = _ref.onClickMenu,\n onClickCloseViewer = _ref.onClickCloseViewer,\n refDots = _ref.refDots;\n var _story$components = story.components,\n screens = _story$components === void 0 ? [] : _story$components,\n _story$title = story.title,\n title = _story$title === void 0 ? null : _story$title;\n var currentScreen = screens !== null ? screens[currentScreenIndex] || null : null;\n\n var _ref2 = currentScreen || {},\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\n var items = React.useMemo(function () {\n return screens.map(function (it) {\n var children = screens.filter(function (s) {\n return s.parentId === it.id;\n });\n var currentChild = children.find(function (c) {\n return c.id === screenId;\n }) || null;\n var subIndex = children.findIndex(function (c) {\n return c.id === screenId;\n }) + 1;\n return {\n screen: it,\n screenId: it.id,\n current: screenId === it.id || currentChild !== null,\n visible: ((it === null || it === void 0 ? void 0 : it.parentId) || null) === null,\n count: children.length + 1 || 1,\n subIndex: subIndex || 0\n };\n }).filter(function (_ref3) {\n var _ref3$visible = _ref3.visible,\n visible = _ref3$visible === void 0 ? true : _ref3$visible;\n return visible;\n });\n }, [screens, screenId]);\n var trackEvent = hooks.useTrackEvent();\n var trackScreenEvent = React.useCallback(function (cat, action, label) {\n if (trackingEnabled) {\n trackEvent(cat, action, label, {\n screenId: screenId,\n screenIndex: currentScreenIndex,\n screenType: screenType\n });\n }\n }, [trackEvent, screenId, currentScreenIndex, screenType]);\n var shareUrl = React.useMemo(function () {\n var origin = typeof window !== 'undefined' ? window.location.origin.replace(/\\/+$/, '') : '';\n var path = shareBasePath !== null ? \"\".concat(origin).concat(shareBasePath) : origin;\n return path;\n }, [shareBasePath]);\n\n var _useSpring = core.useSpring(function () {\n return {\n y: 0,\n config: _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, core.config.stiff), {}, {\n clamp: true\n })\n };\n }),\n _useSpring2 = _slicedToArray__default[\"default\"](_useSpring, 2),\n menuY = _useSpring2[0].y,\n setMenuSpring = _useSpring2[1];\n\n var refOpened = React.useRef(opened);\n\n if (refOpened.current !== opened) {\n refOpened.current = opened;\n }\n\n React.useEffect(function () {\n setMenuSpring.start({\n y: opened ? 1 : 0\n });\n }, [opened]);\n\n var _useResizeObserver = hooks.useResizeObserver(),\n menuPreviewContainerRef = _useResizeObserver.ref,\n menuPreviewContainerRect = _useResizeObserver.entry.contentRect;\n\n var _ref4 = menuPreviewContainerRect || {},\n _ref4$height = _ref4.height,\n menuPreviewContainerHeight = _ref4$height === void 0 ? 0 : _ref4$height;\n\n var menuPreviewStyle = {\n transform: menuY.to(function (y) {\n return \"translateY(\".concat(y * menuPreviewContainerHeight, \"px)\");\n })\n };\n var menuDragBind = react.useDrag(function (_ref5) {\n var _ref5$movement = _slicedToArray__default[\"default\"](_ref5.movement, 2),\n my = _ref5$movement[1],\n first = _ref5.first,\n last = _ref5.last,\n _ref5$direction = _slicedToArray__default[\"default\"](_ref5.direction, 2),\n dy = _ref5$direction[1],\n cancel = _ref5.cancel,\n canceled = _ref5.canceled,\n tap = _ref5.tap;\n\n if (canceled || tap) {\n return;\n }\n\n var isMenuOpened = refOpened.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 refOpened.current = menuNowOpened;\n setMenuSpring.start({\n y: menuNowOpened ? 1 : 0\n });\n\n if (menuNowOpened && onRequestOpen !== null) {\n onRequestOpen();\n } else if (!menuNowOpened && onRequestClose !== null) {\n onRequestClose();\n }\n } else {\n setMenuSpring.start({\n y: yProgress\n });\n }\n }, {\n axis: 'y',\n filterTaps: true\n }); // handle preview menu item click\n\n var onClickMenu = React.useCallback(function (index) {\n if (customOnClickMenu !== null) {\n customOnClickMenu(index);\n }\n\n trackScreenEvent('viewer_menu', 'click_open', 'Menu icon');\n }, [customOnClickMenu, trackScreenEvent]);\n var onClickItem = React.useCallback(function (item) {\n if (customOnClickItem !== null) {\n customOnClickItem(item);\n }\n\n var index = items.findIndex(function (_ref6) {\n var id = _ref6.id;\n return id === screenId;\n });\n trackScreenEvent('viewer_menu', 'click_screen_change', \"Screen \".concat(index + 1));\n }, [customOnClickItem, items, screenId, trackScreenEvent]);\n var onClickClose = React.useCallback(function () {\n if (onRequestClose !== null) {\n onRequestClose();\n }\n\n trackScreenEvent('viewer_menu', 'click_close', 'Close icon');\n }, [onRequestClose, trackScreenEvent]); // Handle preview menu share click\n\n var onClickShare = React.useCallback(function (type) {\n return trackScreenEvent('viewer_menu', 'click_share', type);\n }, [trackScreenEvent]);\n\n var _ref7 = viewerTheme || {},\n _ref7$menuTheme = _ref7.menuTheme,\n menuTheme = _ref7$menuTheme === void 0 ? null : _ref7$menuTheme;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, null, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", Object.assign({\n className: styles$8.menuDotsContainer,\n ref: refDots,\n style: {\n width: menuWidth\n }\n }, menuDragBind()), /*#__PURE__*/React__default[\"default\"].createElement(ViewerMenuDots, Object.assign({}, menuTheme, {\n direction: \"horizontal\",\n withShadow: withShadow,\n items: items,\n onClickItem: onClickItem,\n onClickMenu: onClickMenu,\n closeable: closeable,\n withItemClick: withDotItemClick,\n withoutScreensMenu: withoutScreensMenu,\n onClose: onClickCloseViewer,\n className: styles$8.menuDots\n }))), /*#__PURE__*/React__default[\"default\"].createElement(web.animated.div, {\n className: styles$8.menuPreviewContainer,\n style: menuPreviewStyle,\n ref: menuPreviewContainerRef\n }, /*#__PURE__*/React__default[\"default\"].createElement(ViewerMenuPreview, {\n viewerTheme: viewerTheme,\n title: title,\n shareUrl: shareUrl,\n className: styles$8.menuPreview,\n screenSize: screenSize,\n menuWidth: menuWidth,\n focusable: opened,\n items: items,\n onClickItem: onClickItem,\n onClose: onClickClose,\n onShare: onClickShare,\n toggleFullscreen: toggleFullscreen,\n fullscreenActive: fullscreenActive,\n fullscreenEnabled: fullscreenEnabled\n })));\n};\n\nViewerMenu.propTypes = propTypes$6;\nViewerMenu.defaultProps = defaultProps$6;\n\nvar styles$1 = {\"container\":\"micromag-viewer-screen-container\",\"current\":\"micromag-viewer-screen-current\"};\n\nvar propTypes$5 = {\n screen: core$1.PropTypes.screenComponent,\n renderContext: core$1.PropTypes.renderContext,\n screenState: PropTypes__default[\"default\"].string,\n current: PropTypes__default[\"default\"].bool,\n active: PropTypes__default[\"default\"].bool,\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$5 = {\n screen: null,\n renderContext: null,\n screenState: 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 screenState = _ref.screenState,\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__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$1.container, (_ref2 = {}, _defineProperty__default[\"default\"](_ref2, styles$1.active, active), _defineProperty__default[\"default\"](_ref2, styles$1.current, current), _ref2)]),\n \"aria-hidden\": current ? null : 'true'\n }, /*#__PURE__*/React__default[\"default\"].createElement(components.Screen, {\n screen: screen,\n renderContext: renderContext,\n screenState: screenState,\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$5;\nViewerScreen.defaultProps = defaultProps$5;\n\nvar styles = {\"container\":\"micromag-viewer-partials-hand-tap-container\",\"circle\":\"micromag-viewer-partials-hand-tap-circle\",\"pulse\":\"micromag-viewer-partials-hand-tap-pulse\",\"hand\":\"micromag-viewer-partials-hand-tap-hand\",\"panY\":\"micromag-viewer-partials-hand-tap-panY\"};\n\nvar propTypes$4 = {\n color: PropTypes__default[\"default\"].string,\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$4 = {\n color: 'currentColor',\n className: null\n};\n\nvar HandIcon = function HandIcon(_ref) {\n var color = _ref.color,\n className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"svg\", {\n className: className,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 367.24 482.87\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"path\", {\n d: \"M488.84,255.91a44.68,44.68,0,0,0-19.15,4.3A44.77,44.77,0,0,0,406,226.49a44.75,44.75,0,0,0-62.67-32.66V105.4a44.81,44.81,0,1,0-89.61,0V265.17l-1.15-2.7a44.78,44.78,0,1,0-82.84,34.06l64.87,157.76.34.73a156.29,156.29,0,0,0,141.42,88.44c86.7,0,157.24-70.53,157.24-157.26V300.7a44.82,44.82,0,0,0-44.78-44.79ZM507.46,386.2c0,72.3-58.78,131.1-131.07,131.1a130.29,130.29,0,0,1-117.73-73.36L193.93,286.61a18.64,18.64,0,1,1,34.53-14.07L279.91,394V105.4a18.64,18.64,0,1,1,37.28,0v196a13.08,13.08,0,0,0,26.16,0V234.56a18.64,18.64,0,0,1,37.27,0v89.95a13.07,13.07,0,1,0,26.13,0V266.86a18.64,18.64,0,1,1,37.28,0v80.71h0s0,.08,0,.11a13.08,13.08,0,0,0,26.15,0v-47a18.63,18.63,0,1,1,37.26,0v85.5Z\",\n transform: \"translate(-166.38 -60.59)\",\n fill: color,\n fillRule: \"evenodd\"\n }));\n};\n\nHandIcon.propTypes = propTypes$4;\nHandIcon.defaultProps = defaultProps$4;\n\nvar propTypes$3 = {\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$3 = {\n className: null\n};\n\nvar HandTap = function HandTap(_ref) {\n var className = _ref.className;\n return /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles.container, _defineProperty__default[\"default\"]({}, className, className !== null)])\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles.inner\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles.circle\n }), /*#__PURE__*/React__default[\"default\"].createElement(HandIcon, {\n className: styles.hand\n })));\n};\n\nHandTap.propTypes = propTypes$3;\nHandTap.defaultProps = defaultProps$3;\n\nvar propTypes$2 = {\n story: core$1.PropTypes.story,\n // .isRequired,\n basePath: PropTypes__default[\"default\"].string,\n theme: core$1.PropTypes.viewerTheme,\n width: PropTypes__default[\"default\"].number,\n height: PropTypes__default[\"default\"].number,\n screen: PropTypes__default[\"default\"].string,\n screenState: PropTypes__default[\"default\"].string,\n deviceScreens: core$1.PropTypes.deviceScreens,\n renderContext: core$1.PropTypes.renderContext,\n onScreenChange: PropTypes__default[\"default\"].func,\n tapNextScreenWidthPercent: PropTypes__default[\"default\"].number,\n neighborScreensActive: PropTypes__default[\"default\"].number,\n storyIsParsed: PropTypes__default[\"default\"].bool,\n landscapeScreenMargin: PropTypes__default[\"default\"].number,\n withMetadata: PropTypes__default[\"default\"].bool,\n withoutMenu: PropTypes__default[\"default\"].bool,\n withoutScreensMenu: PropTypes__default[\"default\"].bool,\n withoutMenuShadow: PropTypes__default[\"default\"].bool,\n withoutFullscreen: PropTypes__default[\"default\"].bool,\n withLandscapeSiblingsScreens: PropTypes__default[\"default\"].bool,\n withNavigationHint: PropTypes__default[\"default\"].bool,\n closeable: PropTypes__default[\"default\"].bool,\n onClose: PropTypes__default[\"default\"].func,\n onInteraction: PropTypes__default[\"default\"].func,\n onEnd: PropTypes__default[\"default\"].func,\n onViewModeChange: PropTypes__default[\"default\"].func,\n currentScreenMedia: core$1.PropTypes.ref,\n menuIsScreenWidth: PropTypes__default[\"default\"].bool,\n screensMedias: core$1.PropTypes.ref,\n screenSizeOptions: PropTypes__default[\"default\"].shape({\n withoutMaxSize: PropTypes__default[\"default\"].bool,\n desktopHeightRatio: PropTypes__default[\"default\"].number,\n screenRatio: PropTypes__default[\"default\"].number\n }),\n className: PropTypes__default[\"default\"].string\n};\nvar defaultProps$2 = {\n story: null,\n theme: null,\n basePath: null,\n width: null,\n height: null,\n screen: null,\n screenState: null,\n deviceScreens: utils.getDeviceScreens(),\n renderContext: 'view',\n onScreenChange: null,\n tapNextScreenWidthPercent: 0.8,\n neighborScreensActive: 2,\n storyIsParsed: false,\n landscapeScreenMargin: 20,\n withMetadata: false,\n withoutMenu: false,\n withoutScreensMenu: false,\n withoutMenuShadow: false,\n withoutFullscreen: false,\n withLandscapeSiblingsScreens: false,\n withNavigationHint: false,\n menuIsScreenWidth: 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 _ref12;\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 screenState = _ref.screenState,\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 withoutScreensMenu = _ref.withoutScreensMenu,\n withoutMenuShadow = _ref.withoutMenuShadow;\n _ref.withoutFullscreen;\n var withLandscapeSiblingsScreens = _ref.withLandscapeSiblingsScreens,\n withNavigationHint = _ref.withNavigationHint,\n menuIsScreenWidth = _ref.menuIsScreenWidth,\n closeable = _ref.closeable,\n onCloseViewer = _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 = reactIntl.useIntl();\n var parsedStory = hooks.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;\n var eventsManager = React.useMemo(function () {\n return new EventEmitter__default[\"default\"]();\n }, [parsedStory]); // 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 = React.useMemo(function () {\n return [].concat(_toConsumableArray__default[\"default\"](fonts || []), [themeFont]).filter(function (font) {\n return font !== null;\n });\n }, [fonts]);\n\n var _useLoadedFonts = hooks.useLoadedFonts(finalFonts);\n _useLoadedFonts.loaded; // eslint-disable-line\n\n\n var isView = renderContext === 'view';\n var isStatic = renderContext === 'static';\n var isCapture = renderContext === 'capture';\n var withoutScreensTransforms = isStatic || isCapture;\n var trackScreenView = hooks.useTrackScreenView();\n var contentRef = React.useRef(null); // Get screen size\n\n var _useScreenSizeFromEle = hooks.useScreenSizeFromElement(_objectSpread__default[\"default\"]({\n width: width,\n height: height,\n screens: deviceScreens\n }, screenSizeOptions)),\n containerRef = _useScreenSizeFromEle.ref,\n screenSize = _useScreenSizeFromEle.screenSize,\n screenScale = _useScreenSizeFromEle.scale;\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 screenContainerWidth = screenScale !== null ? screenWidth * screenScale : screenWidth;\n var screenContainerHeight = screenScale !== null ? screenHeight * screenScale : screenHeight;\n var hasSize = screenWidth > 0 && screenHeight > 0;\n var ready = hasSize; // && fontsLoaded;\n\n React.useEffect(function () {\n if (ready && onViewModeChange !== null) {\n onViewModeChange({\n landscape: landscape\n });\n }\n }, [ready, landscape, onViewModeChange]);\n var screensMediasRef = React.useRef([]); // Screen index\n\n var screenIndex = React.useMemo(function () {\n return Math.max(0, screens.findIndex(function (it) {\n return \"\".concat(it.id) === \"\".concat(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 = React.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 currentScreen = screens[screenIndex] || null;\n React.useEffect(function () {\n if (trackingEnabled && currentScreen !== null) {\n trackScreenView(currentScreen, screenIndex);\n }\n }, [currentScreen, trackScreenView, trackingEnabled]); // Handle interaction enable\n\n var currentScreenRef = React.useRef(null);\n var gotoPreviousScreen = React.useCallback(function () {\n changeIndex(Math.max(0, screenIndex - 1));\n currentScreenRef.current.focus();\n }, [changeIndex]);\n var gotoNextScreen = React.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 = React.useState(false),\n _useState2 = _slicedToArray__default[\"default\"](_useState, 2),\n hasInteracted = _useState2[0],\n setHasInteracted = _useState2[1];\n\n var onInteractionPrivate = React.useCallback(function () {\n if (onInteraction !== null) {\n onInteraction();\n }\n\n if (!hasInteracted) {\n setHasInteracted(true);\n }\n }, [onInteraction, hasInteracted, setHasInteracted]);\n\n var _useScreenInteraction = useScreenInteraction({\n screens: screens,\n screenIndex: screenIndex,\n screenWidth: screenContainerWidth,\n isView: isView,\n clickOnSiblings: landscape && withLandscapeSiblingsScreens,\n nextScreenWidthPercent: tapNextScreenWidthPercent,\n eventsManager: eventsManager,\n onClick: onInteractionPrivate,\n onEnd: onEnd,\n onChangeScreen: changeIndex\n }),\n onScreenClick = _useScreenInteraction.onClick,\n currentScreenInteractionEnabled = _useScreenInteraction.currentScreenInteractionEnabled,\n enableInteraction = _useScreenInteraction.enableInteraction,\n disableInteraction = _useScreenInteraction.disableInteraction; // swipe menu open\n\n\n var menuVisible = screensCount === 0 || currentScreenInteractionEnabled;\n\n var _useState3 = React.useState(false),\n _useState4 = _slicedToArray__default[\"default\"](_useState3, 2),\n menuOpened = _useState4[0],\n setMenuOpened = _useState4[1];\n\n var onMenuRequestOpen = React.useCallback(function () {\n return setMenuOpened(true);\n }, [setMenuOpened]);\n var onMenuRequestClose = React.useCallback(function () {\n return setMenuOpened(false);\n }, [setMenuOpened]);\n var onClickMenu = React.useCallback(function () {\n onInteractionPrivate();\n setMenuOpened(true);\n }, [changeIndex, onInteractionPrivate, setMenuOpened]);\n var onClickMenuItem = React.useCallback(function (_ref6) {\n var itemScreenId = _ref6.screenId;\n onInteractionPrivate();\n var index = screens.findIndex(function (_ref7) {\n var id = _ref7.id;\n return id === itemScreenId;\n });\n changeIndex(index);\n\n if (menuOpened) {\n setMenuOpened(false);\n }\n }, [onInteractionPrivate, changeIndex, menuOpened, setMenuOpened]);\n var onContextMenu = React.useCallback(function (e) {\n if (!landscape) {\n e.preventDefault();\n return false;\n }\n\n return true;\n }, [landscape]);\n var overscrollStyle = /*#__PURE__*/React__default[\"default\"].createElement(\"style\", {\n type: \"text/css\"\n }, \"body { overscroll-behavior: contain; }\"); // Fullscreen\n\n var _useFullscreen = hooks.useFullscreen(containerRef.current || null),\n toggleFullscreen = _useFullscreen.toggle,\n fullscreenActive = _useFullscreen.active,\n fullscreenEnabled = _useFullscreen.enabled; // Keyboard Events\n\n\n var keyboardShortcuts = React.useMemo(function () {\n return {\n f: function f() {\n return toggleFullscreen();\n },\n m: function m() {\n return setMenuOpened(!menuOpened);\n },\n escape: function escape() {\n return setMenuOpened(false);\n },\n arrowleft: function arrowleft() {\n return gotoPreviousScreen();\n },\n arrowright: function arrowright() {\n return gotoNextScreen();\n },\n ' ': function _() {\n return gotoNextScreen();\n }\n };\n }, [menuOpened, setMenuOpened, gotoPreviousScreen, gotoNextScreen]);\n useKeyboardShortcuts(keyboardShortcuts, {\n disabled: renderContext !== 'view'\n });\n\n var _ref8 = currentScreen || {},\n screenParameters = _ref8.parameters;\n\n var _ref9 = screenParameters || {},\n screenMetadata = _ref9.metadata;\n\n var _ref10 = screenMetadata || {},\n _ref10$title = _ref10.title,\n screenTitle = _ref10$title === void 0 ? null : _ref10$title,\n _ref10$description = _ref10.description,\n screenDescription = _ref10$description === void 0 ? null : _ref10$description;\n\n var finalTitle = screenTitle !== null ? screenTitle : title;\n var finalMetadata = React.useMemo(function () {\n return screenDescription !== null ? _objectSpread__default[\"default\"](_objectSpread__default[\"default\"]({}, metadata), {}, {\n description: screenDescription\n }) : metadata;\n }, [metadata]);\n\n var _useResizeObserver = hooks.useResizeObserver(),\n menuDotsContainerRef = _useResizeObserver.ref,\n menuDotsContainerRect = _useResizeObserver.entry.contentRect;\n\n var _ref11 = menuDotsContainerRect || {},\n _ref11$height = _ref11.height,\n menuDotsContainerHeight = _ref11$height === void 0 ? 0 : _ref11$height;\n\n return /*#__PURE__*/React__default[\"default\"].createElement(contexts.ScreenSizeProvider, {\n size: screenSize\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.ViewerProvider, {\n events: eventsManager,\n menuVisible: menuVisible,\n menuSize: menuDotsContainerHeight,\n gotoPreviousScreen: gotoPreviousScreen,\n gotoNextScreen: gotoNextScreen,\n disableInteraction: disableInteraction,\n enableInteraction: enableInteraction\n }, withMetadata ? /*#__PURE__*/React__default[\"default\"].createElement(components.Meta, {\n title: finalTitle,\n metadata: finalMetadata\n }, overscrollStyle) : /*#__PURE__*/React__default[\"default\"].createElement(reactHelmet.Helmet, null, overscrollStyle), /*#__PURE__*/React__default[\"default\"].createElement(components.FontFaces, {\n fonts: finalFonts\n }), /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: classNames__default[\"default\"]([styles$8.container, screenSize.screens.map(function (screenName) {\n return \"story-screen-\".concat(screenName);\n }), (_ref12 = {}, _defineProperty__default[\"default\"](_ref12, styles$8.landscape, landscape), _defineProperty__default[\"default\"](_ref12, styles$8.blings, withLandscapeSiblingsScreens), _defineProperty__default[\"default\"](_ref12, styles$8.hideMenu, !menuVisible), _defineProperty__default[\"default\"](_ref12, styles$8.ready, ready || withoutScreensTransforms), _defineProperty__default[\"default\"](_ref12, styles$8.hasInteracted, hasInteracted), _defineProperty__default[\"default\"](_ref12, className, className), _ref12)]),\n ref: containerRef,\n onContextMenu: onContextMenu\n }, !withoutMenu ? /*#__PURE__*/React__default[\"default\"].createElement(ViewerMenu, {\n story: parsedStory,\n currentScreenIndex: screenIndex,\n opened: menuOpened,\n withShadow: menuOverScreen && !withoutMenuShadow,\n toggleFullscreen: toggleFullscreen,\n fullscreenActive: fullscreenActive,\n fullscreenEnabled: fullscreenEnabled,\n closeable: closeable,\n shareBasePath: basePath,\n screenSize: screenSize,\n menuWidth: menuIsScreenWidth ? screenContainerWidth : null,\n trackingEnabled: trackingEnabled,\n onClickItem: onClickMenuItem,\n onClickMenu: onClickMenu,\n onClickCloseViewer: onCloseViewer,\n onRequestOpen: onMenuRequestOpen,\n onRequestClose: onMenuRequestClose,\n withDotItemClick: screenContainerWidth > 400,\n withoutScreensMenu: withoutScreensMenu,\n refDots: menuDotsContainerRef\n }) : null, ready || withoutScreensTransforms ? /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n ref: contentRef,\n className: styles$8.content\n }, screens.map(function (scr, i) {\n var _ref13;\n\n var current = i === screenIndex;\n var active = i > screenIndex - neighborScreensActive && i < screenIndex + neighborScreensActive;\n var viewerScreen = /*#__PURE__*/React__default[\"default\"].createElement(ViewerScreen, {\n screen: scr,\n screenState: current ? screenState : null,\n renderContext: renderContext,\n index: i,\n current: current,\n active: active,\n onPrevious: gotoPreviousScreen,\n onNext: gotoNextScreen,\n onEnableInteraction: enableInteraction,\n onDisableInteraction: disableInteraction,\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 = null;\n\n if (landscape) {\n screenTransform = withLandscapeSiblingsScreens ? \"translateX(calc(\".concat((screenContainerWidth + landscapeScreenMargin) * (i - screenIndex), \"px - 50%)) scale(\").concat(current ? 1 : 0.9, \")\") : null;\n } else {\n screenTransform = \"translateX(\".concat(current ? 0 : '100%', \")\");\n }\n\n return /*#__PURE__*/React__default[\"default\"].createElement(React__default[\"default\"].Fragment, {\n key: key\n }, current && screenIndex > 0 ? /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: \"sr-only\",\n onClick: gotoPreviousScreen,\n tabIndex: \"-1\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.FormattedMessage, {\n id: \"zYH/31\",\n defaultMessage: [{\n \"type\": 0,\n \"value\": \"Go to previous screen\"\n }]\n })) : null, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n ref: current ? currentScreenRef : null,\n style: {\n // width: landscape ? screenWidth : null,\n // height: landscape ? screenHeight : null,\n width: screenContainerWidth,\n height: screenContainerHeight,\n transform: !withoutScreensTransforms ? screenTransform : null\n },\n className: classNames__default[\"default\"]([styles$8.screen, (_ref13 = {}, _defineProperty__default[\"default\"](_ref13, styles$8.current, current), _defineProperty__default[\"default\"](_ref13, styles$8.visible, current || withLandscapeSiblingsScreens), _ref13)]),\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 return onScreenClick(e, i);\n }\n }, /*#__PURE__*/React__default[\"default\"].createElement(\"div\", {\n className: styles$8.scaler,\n style: {\n width: screenWidth,\n height: screenHeight,\n transform: screenScale !== null ? \"scale(\".concat(screenScale, \")\") : null,\n transformOrigin: screenScale !== null ? '0 0' : null\n }\n }, viewerScreen), withNavigationHint && !withLandscapeSiblingsScreens && current && screenIndex === 0 ? /*#__PURE__*/React__default[\"default\"].createElement(HandTap, {\n className: styles$8.handTap\n }) : null), current && screenIndex < screens.length ? /*#__PURE__*/React__default[\"default\"].createElement(\"button\", {\n type: \"button\",\n className: \"sr-only\",\n onClick: gotoNextScreen,\n tabIndex: \"-1\"\n }, /*#__PURE__*/React__default[\"default\"].createElement(reactIntl.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__default[\"default\"].func,\n onScreenChange: PropTypes__default[\"default\"].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__default[\"default\"](_ref, _excluded$1);\n\n var routes = contexts.useRoutes();\n var push = contexts.useRoutePush();\n var finalOnScreenChange = React.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__default[\"default\"].createElement(reactRouter.Switch, null, /*#__PURE__*/React__default[\"default\"].createElement(reactRouter.Route, {\n path: routes.home,\n exact: true,\n render: function render() {\n return /*#__PURE__*/React__default[\"default\"].createElement(Viewer, Object.assign({}, otherProps, {\n onScreenChange: finalOnScreenChange\n }));\n }\n }), /*#__PURE__*/React__default[\"default\"].createElement(reactRouter.Route, {\n path: routes.screen,\n render: function render(_ref2) {\n var screen = _ref2.match.params.screen;\n return /*#__PURE__*/React__default[\"default\"].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 _excluded = [\"story\", \"screenComponents\", \"memoryRouter\", \"basePath\", \"routes\", \"withoutRouter\", \"googleApiKey\", \"trackingVariables\", \"locale\", \"locales\", \"translations\"];\nvar propTypes = {\n story: core$1.PropTypes.story,\n screen: PropTypes__default[\"default\"].string,\n screenComponents: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].elementType),\n memoryRouter: PropTypes__default[\"default\"].bool,\n basePath: PropTypes__default[\"default\"].string,\n routes: routes,\n withoutRouter: PropTypes__default[\"default\"].bool,\n googleApiKey: PropTypes__default[\"default\"].string,\n trackingVariables: core$1.PropTypes.trackingVariables,\n locale: PropTypes__default[\"default\"].string,\n locales: PropTypes__default[\"default\"].arrayOf(PropTypes__default[\"default\"].string),\n translations: PropTypes__default[\"default\"].objectOf(PropTypes__default[\"default\"].string),\n children: PropTypes__default[\"default\"].func\n};\nvar defaultProps = {\n story: null,\n screen: null,\n screenComponents: 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 screenComponents = _ref.screenComponents,\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__default[\"default\"](_ref, _excluded);\n\n var Router = memoryRouter ? reactRouter.MemoryRouter : reactRouterDom.BrowserRouter;\n var finalTrackingVariables = React.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__default[\"default\"]({\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__default[\"default\"].createElement(intl.IntlProvider, {\n locale: finalLocale,\n locales: locales,\n extraMessages: translations\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.GoogleKeysProvider, {\n apiKey: googleApiKey\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.GoogleMapsClientProvider, {\n locale: finalLocale\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.FieldsProvider, {\n manager: fieldsManager__default[\"default\"]\n }, /*#__PURE__*/React__default[\"default\"].createElement(screens.ScreensProvider, null, /*#__PURE__*/React__default[\"default\"].createElement(contexts.ComponentsProvider, {\n namespace: contexts.SCREENS_NAMESPACE,\n components: screenComponents || {}\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.UserInteractionProvider, null, /*#__PURE__*/React__default[\"default\"].createElement(contexts.TrackingProvider, {\n variables: finalTrackingVariables\n }, withoutRouter ? /*#__PURE__*/React__default[\"default\"].createElement(Viewer, Object.assign({\n story: story,\n basePath: basePath\n }, otherProps)) : /*#__PURE__*/React__default[\"default\"].createElement(ViewerRoutes, Object.assign({\n story: story,\n basePath: basePath\n }, otherProps))))))))));\n return withoutRouter ? content : /*#__PURE__*/React__default[\"default\"].createElement(Router, {\n basename: !memoryRouter ? basePath : null\n }, /*#__PURE__*/React__default[\"default\"].createElement(contexts.RoutesProvider, {\n routes: routes\n }, content));\n};\n\nViewerContainer.propTypes = propTypes;\nViewerContainer.defaultProps = defaultProps;\n\nexports.Viewer = Viewer;\nexports[\"default\"] = ViewerContainer;\n"],"names":["initialStory","window","MICROMAG_STORY","initialProps","MICROMAG_VIEWER_PROPS","rootElementId","MICROMAG_ROOT_ELEMENT_ID","defaultRootElement","MICROMAG_ROOT_ELEMENT","document","getElementById","renderStoryFnc","MICROMAG_RENDER_STORY_FNC","renderStory","story","props","root","render","React","Viewer","__webpack_public_path__","MICROMAG_PUBLIC_PATH","styles","propTypes","width","height","disabled","verticalAlign","className","children","onScrolledBottom","onScrolledNotBottom","contain","scrollContainerRef","Scroll","_ref","_ref5","finalStyle","_useState","useState","_useState2","withArrow","setWithArrow","_useResizeObserver","useResizeObserver","scrollableRef","ref","scrollableHeight","entry","contentRect","current","_useResizeObserver2","scrolleeRef","scrolleeHeight","scrolledBottomOnce","useRef","scrolledNotBottomOnce","reachedBottom","bind","useScroll","_ref4","scrollY","xy","newWithArrow","nowReachedBottom","initial","enabled","useEffect","Math","round","maxScrollAmount","scrollTop","container","withScroll","containOverscroll","style","Object","assign","scrollable","scrollee","arrowContainer","FontAwesomeIcon","arrow","icon","faArrowDown","defaultProps","Scroll$1","defineProperty","exports","value","_defineProperty","_objectWithoutProperties","PropTypes","classNames","reactRouterDom","core","reactIntl","utils","reactFontawesome","freeSolidSvgIcons","_toConsumableArray","_slicedToArray","contexts","hooks","_objectSpread","get","ReactDOM","isArray","react","dayjs","throttle","isObject","reactHelmet","isString","isNumber","size","core$1","web","_interopDefaultLegacy","e","_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$K","label","isRequired","isHtml","bool","values","object","Label","Message","FormattedMessage","isMessage","createElement","styles$v","_excluded$a","propTypes$J","type","string","theme","buttonTheme","buttonSize","href","external","direct","target","focusable","active","node","iconPosition","oneOf","loading","disableOnLoading","small","big","withShadow","withoutStyle","withoutTheme","outline","asLink","iconClassName","labelClassName","onClick","func","refButton","oneOfType","shape","any","Button$1","_ref7","_ref8","finalLabel","text","hasChildren","hasIcon","hasInlineIcon","hasIconColumns","content","Fragment","left","center","right","withStyle","buttonClassNames","btn","concat","withIcon","withIconColumns","withText","isSmall","isBig","isLink","isDisabled","isLoading","linkClassNames","linkDisabled","tabIndex","Link","to","styles$u","_excluded$9","propTypes$I","buttons","renderButton","onClickButton","buttonClassName","Buttons","role","map","button","index","_button$className","customClassName","_button$onClick","_onClick","_button$theme","buttonProps","fixedProps","key","undefined","_excluded$8","propTypes$H","BackButton","faAngleLeft","styles$t","_excluded$7","_excluded2","propTypes$G","name","component","form","formComponents","components","fields","onChange","gotoFieldForm","closeFieldForm","fieldContext","FieldForm","fieldsManager","useFieldsManager","field","getFieldFromPath","split","_ref2","_ref2$type","fieldProps","_ref3","getDefinition","_ref3$component","fieldComponent","id","settings","definitionProps","FieldComponent","useFieldComponent","FormComponent","getComponentFromName","fieldValue","closeForm","useCallback","formProps","newFieldValue","newValue","setFieldValue","FieldContextProvider","context","isForm","propTypes$F","action","method","formFields","initialValue","postForm","submitButtonLabel","submitButtonLoadingLabel","actionsAlign","withoutActions","withoutComplete","withoutBackButton","onComplete","onResponse","onMessage","onCancel","onCancelHref","onOpenFieldForm","onCloseFieldForm","fieldsClassName","actionsClassName","cancelClassName","defaultProps$F","defaultMessage","Form","initialFields","complete","setComplete","setTimeout","clearTimeout","onCompleteForm","data","_useForm","useForm","onSubmit","status","setValue","errors","response","generalError","FieldsComponent","message","canSave","validateFields","_useState3","_useState4","fieldPaths","setFieldPaths","formName","arguments","length","fieldKey","newFields","pop","fieldParams","fieldName","replace","panel","actions","styles$s","_excluded$6","propTypes$E","rel","_excluded$5","propTypes$D","header","image","imageAlt","imageOverlay","beforeBody","title","subtitle","afterBody","links","arrayOf","linksInSameBody","footer","imageClassName","headerClassName","titleClassName","subtitleClassName","bodyClassName","footerClassName","onClickBody","onClickFooter","Card","_ref10","linksElements","_ref2$className","linkClassName","linkProps","bodyInner","cardInner","src","alt","cardClassName","propTypes$C","animated","color","Spinner","viewBox","xmlns","x1","y1","x2","y2","stopColor","stopOpacity","offset","fill","fillRule","transform","d","stroke","strokeWidth","attributeName","from","dur","repeatCount","cx","cy","r","styles$r","_excluded$4","propTypes$B","description","FormPanel","propTypes$A","items","menuItems","bootstrapThemes","separator","withoutBar","noWrap","Breadcrumb","url","_ref2$active","_ref2$onClick","_excluded$3","propTypes$z","visible","align","dropdownAlign","itemClassName","onClickItem","onClickOutside","Dropdown","refContainer","setEnabled","onDocumentClick","contains","currentTarget","useDocumentEvent","it","_it$type","_it$className","_it$label","_it$children","itemChildren","_it$onClick","customOnClick","_it$active","itemProps","ItemComponent","finalOnClickItem","_excluded$2","propTypes$y","tagName","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","preventDefault","slice","closeDropdown","propTypes$x","brand","brandLink","breadcrumbs","compact","withoutCollapse","withoutCollapseToggle","brandClassName","breadCrumbsClassName","collapseClassName","Navbar","_ref6","menuVisible","setMenuVisible","onClickMenu","styles$o","messages","defineMessages","previous","next","propTypes$w","page","number","total","withPreviousNext","paginationClassName","onClickPage","PaginationMenu","getUrl","currentPage","indexOf","pages","Array","keys","pageNumber","styles$n","propTypes$v","renderItemButton","TabsMenu","propTypes$u","modals","setModalsContainer","ModalsContainer","containerRef","Modals","withModals","propTypes$t","register","unregister","ElementPortal","finalId","useMemo","Date","getTime","createPortal","propTypes$s","ModalPortal","_useModals","useModals","_useModals$register","_useModals$unregister","styles$l","propTypes$r","position","Modal","getDisplayName","inner","styles$k","propTypes$q","onClickClose","ModalDialog","body","propTypes$p","mediaTypes","array","opened","sources","onUploaded","onRequestClose","UploadModal","onUpppyComplete","fileTypes","t","filter","uppy","useUppy","allowedFileTypes","reset","DashboardModal","open","closeAfterFinish","plugins","styles$j","propTypes$o","panels","setPanelsContainer","PanelsContainer","hasPanels","Panels","withPanels","propTypes$n","PanelPortal","_usePanels","usePanels","_usePanels$panels","_usePanels$register","_usePanels$unregister","propTypes$m","Panel","styles$h","propTypes$l","topClassName","contentClassName","openedClassName","CollapsablePanel","setOpened","isOpened","top","faAngleUp","faAngleDown","propTypes$k","date","withTime","timeSeparator","Date$1","dateObject","toDate","FormattedDate","year","month","day","FormattedTime","propTypes$j","throttleDelay","threshold","onEnter","onLeave","Detector","_useIntersectionObser","useIntersectionObserver","isIntersecting","enteredRef","triggerChange","callback","intersecting","entered","trailing","leading","cancel","propTypes$i","boxClassName","PlaceholderBlock","propTypes$h","isPlaceholder","placeholderProps","ElementComponent","RealComponent","pascalCase","styles$f","propTypes$g","withoutBorder","light","Empty","middle","propTypes$f","fonts","formats","format","FontFaces","fontFaces","media","_ref2$name","_ref2$media","_ref3$files","files","urls","reduce","currentUrls","finalFormat","formatExtension","file","join","styles$e","propTypes$e","thumbnail","thumbnailAlign","thumbnailClassName","Media","listen","push","pathname","search","locale","formatMessage","defaultMessageContent","interaction","objectOf","currentTime","duration","firstname","lastname","email","gender","birthdate","menuItem","breadcrumb","device","modal","bootstrapThemeStrings","selectOption","formField","mediaMetadataShape","filename","mime","mediaFile","handle","mediaShape","thumbnail_url","metadata","imageMedia","fontMedia","videoMedia","audioMedia","closedCaptionsMedia","font","textAlign","alpha","textStyle","fontFamily","fontSize","fontStyle","bold","italic","underline","upperCase","letterSpacing","lineHeight","borderTypes","radius","boxStyle","backgroundColor","borderRadius","borderWidth","borderColor","borderStyle","bottom","rows","columns","objectFitSize","fit","horizontalPosition","verticalPosition","textElement","headingElement","imageElement","autoPlay","loop","closedCaptions","withSeekBar","withPlayPause","visualElement","backgroundElement","video","imageElementWithCaption","caption","stackDirection","stackAlign","stackSpacing","direction","spacing","reverse","layout","geoPosition","lat","lng","markerShape","marker","markerWithImage","answerShape","answer","quizAnswer","good","callToActionTypes","buttonStyle","speaker","avatar","side","speakers","conversationMessage","conversationMessages","fieldShape","isSection","screenDefinition","layouts","fieldDefinition","storyComponentShape","storyComponent","screenComponent","screenComponents","textStyles","background","colors","logo","shareUrl","shareImage","favIcon","deviceScreen","mediaQuery","screen","screens","landscape","iframe","track","trackLng","controls","slide","transitionName","transitionParams","easing","transition","out","searchFilter","paymentItem","invoice_link","amount","pageMetadata","canonical","keywords","favicon","rssUrl","atomUrl","microformats","propTypes$d","fullTitle","suffix","Meta","_ref2$canonical","_ref2$description","_ref2$keywords","_ref2$image","_ref2$favicon","_ref2$rssUrl","_ref2$atomUrl","_ref2$microformats","_ref2$language","language","realTitle","_ref3$url","imageUrl","_ref3$metadata","_ref4$width","imageWidth","_ref4$height","imageHeight","_ref5$url","faviconUrl","Helmet","property","identifier","JSON","stringify","propTypes$c","auto","delay","Slideshow","setIndex","i","styles$c","AdFrame","faAd","AdImage","faImage","Audio","_ref$width","_ref$height","faMusic","propTypes$b","lines","lineMargin","PlaceholderText","oddWidth","marginTop","marginBottom","Button","line","Image","Line","shortText","styles$a","Map","withImages","faMapMarkerAlt","MapPath","mapPath","faMapMarkedAlt","Quote","ShortText","Subtitle","TextPlaceholder","_props$height","_props$lines","_props$lineMargin","Timeline","timeline","Title","Video","faVideo","Video360","VideoLoop","faPlay","faRedo","propTypes$a","screenWidth","screenHeight","ScreenSizer","hasSize","_ref2$width","calculatedWidth","_ref2$height","calculatedHeight","_useMemo","containerWidth","containerHeight","screenRatio","finalContainerWidth","finalContainerHeight","_getSizeWithinBounds","getSizeWithinBounds","cover","screenScaledWidth","screenScaledHeight","screenScale","scale","x","y","_useMemo$width","frameWidth","_useMemo$height","frameHeight","_useMemo$transform","screenTransform","screenSize","hasFrameSize","ScreenSizeProvider","cloneElement","propTypes$9","renderContext","screenState","onPrevious","onNext","onEnableInteraction","onDisableInteraction","getMediaRef","Screen","CustomScreenComponent","ContextScreenComponent","useScreenComponent","ScreenComponent","ScreenProvider","Screen$1","memo","_excluded$1","propTypes$8","withSize","ScreenPlaceholder","screenElement","Placeholder","_excluded","propTypes$7","ScreenPreview","Preview","styles$4","Placeholders","freeze","__proto__","Conversation","idx","faCommentDots","InputText","QuizAnswer","_ref$good","faCheck","faTimes","SurveyAnswer","faPercent","Text","propTypes$6","placeholder","preview","empty","emptyLabel","isEmpty","emptyClassName","ScreenElement","_useScreenRenderConte","useScreenRenderContext","isEdit","isPreview","PlaceholderComponent","propTypes$5","storyComponents","Screens","screenId","propTypes$4","fullscreen","playing","onStart","Transition","_useSpring","useSpring","_useSpring2","springProps","setSpringProps","immediate","onRest","config","timeout","start","div","TransitionComponents","Fade","opacity","Scale","propTypes$3","transitions","Transitions","_useScreenSize$landsc","useScreenSize","finalPlaying","finalTransitions","transitionsObject","forEach","transitionKey","currentTransition","_finalTransitions$in","transitionIn","_finalTransitions$out","transitionOut","finalTransitionIn","finalTransitionOut","transitionInName","_ref3$name","transitionOutName","sameTransitionInOut","TransitionIn","TransitionOut","transitionInProps","transitionOutProps","renderTransitionOut","propTypes$2","stagger","TransitionsStagger","validIndex","Children","child","_child$type","_ref2$withoutTransiti","withoutTransitionsWrapper","el","propTypes$1","selector","highlightSelector","HighlightStyle","convertStyleToString","linkSelector","LinkStyle","DropdownMenu","Element","Pagination","PlaceholderAdFrame","PlaceholderAdImage","PlaceholderAudio","PlaceholderButton","PlaceholderImage","PlaceholderLine","PlaceholderMap","PlaceholderMapPath","PlaceholderQuote","PlaceholderShortText","PlaceholderSubtitle","PlaceholderTimeline","PlaceholderTitle","PlaceholderVideo","PlaceholderVideo360","PlaceholderVideoLoop","Tabs","uniqBy","fetch","services","reactRouter","tracking","uuid","EventEmitter","_interopNamespace","__esModule","n","create","k","getOwnPropertyDescriptor","enumerable","uniqBy__default","EventEmitter__default","MODALS_NAMESPACE","FIELDS_NAMESPACE","FORMS_NAMESPACE","SCREENS_NAMESPACE","ELEMENTS_NAMESPACE","ComponentsContext","createContext","useComponentsManager","namespace","manager","useContext","finalManager","ComponentsManager","getComponents","useComponents","defaultComponents","useComponent","defaultComponent","getComponent","instanceOf","ComponentsProvider","previousManager","addNamespace","Provider","FieldsContext","fieldDefinitions","FieldsManager","FieldsProvider","getDefinitions","newComponents","ScreensContext","ScreensManager","useScreensManager","screenDefinitions","namespaces","filterNamespaces","ScreensProvider","newManager","merge","_ref2$namespaces","screenGroups","acc","initialComponents","setComponents","on","off","StoryContext","useStoryContext","useStory","StoryProvider","EditorContext","useEditor","EditorProvider","screensManager","parser","ColorsParser","parse","currentStory","getColors","FieldContext","GoogleKeysContext","apiKey","useGoogleKeys","GoogleKeysProvider","previousApiKey","FontsContext","systemFonts","googleFonts","customFonts","useGoogleFonts","_ref$disabled","_ref$setFonts","setFonts","_useGoogleKeys","setGoogleFonts","canceled","getJSON","then","_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","client","setClient","loadGoogleApi","gapi","init","GoogleMapsClientContext","useGoogleMapsClient","libraries","GoogleMapsClientProvider","exisitingClient","loadGoogleMaps","newClient","ModalsContext","ModalsProvider","initialContainer","setContainer","setModals","modalsRef","currentModals","newModals","findIndex","PanelsContext","PanelsProvider","setPanels","panelsRef","currentPanels","newPanels","RoutesContext","useUrlGenerator","_useContext2","routes","basePath","generatePath","RoutesProvider","ScreenContext","definition","useScreen","_ref7$data","previousData","_ref7$definition","previousDefinition","_ref7$renderContext","previousContext","_ref7$screenState","previousScreenState","finalData","_ref8$type","contextDefinition","finalDefinition","finalRenderContext","finalScreenState","ScreenSizeContext","currentSize","setSize","prevWidth","prevHeight","nextWidth","nextHeight","useTracking","TrackingContext","variables","trackingVariables","TrackingProvider","contextTracking","tracking$1","Tracking","getVariables","TrackingContainer","packageCache","packagesCache$2","defaultPackagesMap$2","fr","Promise","resolve","en","packagesCache$1","defaultPackagesMap$1","webcam","facebook","instagram","dropbox","packagesCache","defaultPackagesMap","transloadit","tus","xhr","getTransloaditMediasFromResponse","successful","find","subIt","assembly_id","assembly","results","resultKey","result","itResult","original","meta","ssl_url","user","convertToMedia","UppyContext","transport","templateId","waitForEncoding","companion","allowedHosts","endpoint","UppyProvider","_useState2$0$package","loadedPackage","setLoadedPackage","providedTransport","providedLocale","providedSources","providedTransloadit","providedCompanion","providedTus","providedXhr","intlLocale","useIntl","_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","_useState2$0$packages","loadedPackages","setLoadedPackages","sourcesToLoad","sourcesLoaded","all","promise","packagesLoaded","newLoadedPackages","_packagesLoaded$index","otherMap","useUppySources","uppyLocale","useUppyLocale","buildUppy","opts","_ref7$sources","customSources","uppyOpts","newUppy","_transloadit$waitForE","transloaditOpts","use","params","auth","template_id","resume","retryDelays","currentUppy","sourceId","COMPANION","COMPANION_PATTERN","companionUrl","companionAllowedHosts","defaultValue$1","userInteracted","UserInteractionContext","UserInteractionProvider","setUserInteracted","setted","set","addEventListener","removeEventListener","defaultValue","events","menuSize","disableInteraction","enableInteraction","ViewerContext","useViewer","gotoNextScreen","gotoPreviousScreen","ViewerProvider","useElementComponent","useElementsComponents","useElementsComponentsManager","useFieldContext","useFieldDefinition","useFieldsComponents","useFieldsComponentsManager","useFormComponent","useFormsComponents","useFormsComponentsManager","useGetColors","_ref$getColors","useGoogleApiClient","useModalComponent","useModalsComponents","useModalsComponentsManager","useRouteBack","history","useHistory","goBack","useRoutePush","route","_len","args","_key","apply","_ref$pathname","_ref$search","useRoutes","useScreenData","useScreenDefinition","intl","finalFields","getScreenExtraField","_ref4$renderContext","isStatic","isCapture","isView","useScreenState","useScreensComponents","useScreensComponentsManager","_ref$onComplete","_ref$onFail","onFail","_ref$getFileName","getFileName","_ref2$extension","extension","v1","_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","useUserInteracted","useViewerEvents","useViewerInteraction","_useViewer3","useViewerNavigation","_useViewer","withGoogleApiClient","WrappedComponent","_ref$displayName","displayName","_ref$name","WithGoogleApiClientComponent","Consumer","googleApiClient","withGoogleMapsClient","WithGoogleMapsClientComponent","WithModalsComponent","modalsContainer","registerModal","unregisterModal","WithPanelsComponent","panelsContainer","registerPanel","unregisterPanel","forms","screenfull","cssMediaquery","react$1","clamp","screenfull__default","clamp__default","eventsManager$1","EventsManager","createUseEvent","observersCache","getOptionsKey","_ref$root","rootMargin","_ref$threshold","createObserver","Observer","options","subscribers","addSubscriber","element","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","time","isVisible","intersectionRatio","intersectionRect","boundingClientRect","rootBounds","_ref3$root","_ref3$rootMargin","_ref3$threshold","_ref3$disabled","IntersectionObserver","resizeObserverInitialEntry","contentBoxSize","borderBoxSize","_ref4$disabled","ResizeObserver","fontsMap","event","isTouchEvent","touches","preventClickDefault","stopPropagation","progressSteps","_ref$landscape","_ref$menuOverScreen","menuOverScreen","_ref$screens","_ref$mediaType","mediaType","_ref$media","providedMedia","matchingScreens","_ref2$mediaQuery","match","getWindowSize","innerWidth","getScreenOptions","screenContext","_ref$data","_ref2$id","ctxScreenId","ctxScreenType","_ref3$screenId","optsScreenId","_ref3$screenType","screenType","hasTracking","eventsManager","useWindowEvent","useAnimationFrame","onFrame","requestRef","startTimeRef","progress","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","useFullscreen","isEnabled","setActive","request","unFullscreen","exit","toggle","isFullscreen","useIsVisible","_ref$persist","persist","wasIntersecting","useLoadedFonts","loaded","setLoaded","newConfig","isFontLoading","isFontActive","families","load","fontloading","addFontLoading","fontactive","addFontActive","fontinactive","removeFontLoading","useLongPress","_ref$onLongPress","onLongPress","_ref$onClick","_ref$shouldPreventDef","shouldPreventDefault","_ref$delay","longPressTriggered","setLongPressTriggered","passive","clear","shouldTriggerClick","onMouseDown","onTouchStart","onMouseUp","onMouseLeave","onTouchEnd","useMediaApi","_ref$url","_ref$initialMuted","initialMuted","_ref$onTimeUpdate","onTimeUpdate","_ref$onProgressStep","onProgressStep","_ref$onDurationChange","onDurationChanged","_ref$onVolumeChanged","onVolumeChanged","_ref$onPlay","onPlay","_ref$onPause","onPause","_ref$onEnded","onEnded","_ref$onSeeked","onSeeked","_ref$onLoadStart","onLoadStart","_ref$onCanPlayThough","onCanPlayThough","_ref$onCanPlay","onCanPlay","_ref$onLoadedData","onLoadedData","_ref$onLoadedMetadata","onLoadedMetadata","muted","setMuted","setCurrentTime","_useState5","_useState6","setDuration","_useState7","_useState8","setPlaying","_useState9","_useState10","ready","setReady","_useState11","_useState12","dataReady","setDataReady","_useState13","_useState14","initialPlay","setInitialPlay","progressStepsReached","paused","play","pause","togglePlay","stop","seek","mute","unMute","toggleMute","onCustomPlay","onCustomPause","eventMedia","midway","onCustomEnded","onCustomTimeUpdate","currentSteps","step","onCustomDurationChange","onCustomSeeked","onCustomVolumeChange","volume","onCustomLoadStart","onCustomCanPlayThrough","onCustomCanPlay","onCustomLoadedMetadata","onCustomLoadedData","_ref$current","readyState","useMediasParser","MediasParser","toPath","fromPath","useParsedStory","_ref$withTheme","withTheme","_ref$withMedias","withMedias","_ref$withFonts","withFonts","StoryParser","newStory","useScreenSizeFromElement","_ref5$width","_ref5$height","fullWidth","fullHeight","_ref6$screenWidth","_ref6$screenHeight","_ref6$withoutMaxSize","withoutMaxSize","_ref6$landscapeMinHei","landscapeMinHeight","_ref6$menuAlwaysOverS","menuAlwaysOverScreen","_ref6$landscapeMinRat","landscapeMinRatio","_ref6$withoutScale","withoutScale","elementRatio","landscapeWithMaxSize","finalWidth","finalHeight","useScreenSizeFromWindow","windowSize","setWindowSize","onResize","useSwipe","_ref$items","_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","count","getItem","zIndex","getItems","_ref2$down","down","_ref2$mx","mx","item","abs","_useSprings","useSprings","_useSprings2","itemsWithProps","useDrag","_ref3$movement","movement","my","xDir","tap","movementX","movementY","distanceX","distanceY","filterTaps","useThemeParser","ThemeParser","useTrackEvent","category","trackEvent","useTrackMedia","trackMedia","useTrackScreenEvent","useTrackScreenMedia","useTrackScreenView","trackScreenView","PropTypes$1","snakeCase","_classCallCheck","_createClass","uniqWith","sortBy","_inherits","_createSuper","changeCase","_typeof","uniq","_classCallCheck__default","_createClass__default","uniqWith__default","sortBy__default","_inherits__default","_createSuper__default","_typeof__default","uniq__default","location","statusCode","interactions","devices","formControlSize","formErrors","selectOptions","medias","imageMedias","fontMedias","videoMedias","audioMedias","margin","gridLayout","objectFit","inputElement","imageElements","videoElement","visualElements","audioElement","closedCaptionsElement","imageElementsWithCaption","stackElement","gridElement","markers","markersWithImage","answers","quizAnswers","callToAction","conversation","viewerTheme","deviceScreens","adFormats","adFormat","audioComponent","slides","containerStyle","searchFilters","paymentItems","authorElement","componentNames","Components","sortedColors","uniqueColors","colorA","colorB","this","_this","_ref2$theme","_ref2$components","_components$reduce","_ref3$colors","currentColors","_ref4$fields","fieldsPattern","getColorFieldPatterns","newColors","getColorsFromPath","themeColors","_this2","namePrefix","patterns","_field$name","_field$type","path","_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","_super","call","addComponents","componentsMaps","emit","componentsMap","_this3","matches","exec","DefinitionsManager","definitions","addDefinitions","_filter","_ref$component","allComponents","_ref2$component","listeners","newEvents","eventName","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","newData","_ref8$id","dataKeys","_ref9","subMedias","mediaPath","getMediaPath","obj","dotObj","dot","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","_ref3$textStyle","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","parsedStory","_BaseTracking","_this$options$variabl","screensViewed","setVariables","screenIndex","_ref$screensCount","screensCount","_ref2$metadata","screenTitle","screenProgress","screensViewedProgress","_ref4$value","eventCategory","eventAction","eventLabel","eventValue","_ref5$value","_ref5$currentTime","optsCurrentTime","_ref6$id","mediaId","_ref6$name","_ref6$duration","rootDuration","_ref6$currentTime","_ref6$metadata","_ref7$duration","mediaCurrentTime","mediaProgress","paramCase","tinycolor","slugify","tinycolor__default","slugify__default","getColorAsString","overideAlpha","_ref$color","_ref$alpha","setAlpha","toRgbString","getFieldByName","foundField","_it$name","_it$fields","getFontFamily","_ref$fallback","fallback","getRemainder","floor","toFixed","getStyleFromColor","getStyleFromBorder","_value$width","_value$style","_value$color","createNullableOnChange","nullableValue","getContrastingColor","equals","spin","toString","getDeviceScreens","fieldManager","_foundField$type","_foundField$fields","fieldFields","_foundField$field","_foundField$itemsFiel","finalType","_ref$settings","_ref$itemsField","finalItemsField","listItems","getFontFamilyFromFont","getGridLayoutName","getLargestRemainderRound","numbers","desiredTotal","remainder","sort","a","b","delta","sum","res","getLayersFromBackground","layers","_ref$image","_ref$video","getLayoutParts","horizontal","vertical","getMediaFilesAsArray","newFiles","getOptimalImageUrl","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","finalUrl","getSecondsFromTime","s","parseFloat","getStyleFromBox","_value$backgroundColo","_value$borderRadius","padding","_value$borderWidth","_value$borderStyle","_value$borderColor","border","getStyleFromContainer","_value$size","_size$width","_size$height","getStyleFromHighlight","_value$textColor","textColor","colorString","boxShadow","mozBoxShadow","msBoxShadow","webkitBoxShadow","getStyleFromImage","_value$fit","_fit$size","_fit$position","_position$axisAlign","axisAlign","_position$crossAlign","crossAlign","objectPosition","getStyleFromLink","_ref$italic","_ref$bold","_ref$underline","fontWeight","textDecoration","getStyleFromMargin","_value$top","_value$bottom","getStyleFromText","_value$fontFamily","_value$fontSize","_value$fontStyle","_value$lineHeight","_value$letterSpacing","_value$align","textTransform","_ref$outline","WebkitTextStroke","isImageFilled","isIos","includes","navigator","platform","userAgent","isLabelFilled","_ref$label","_ref2$length","isTextFilled","_ref$body","isValidUrl","URL","_","protocol","schemaId","str","keyParts","shift","parseInt","newArrayValue","slug","toSlug","lower","unique","arrArg","elem","pos","arr","val","required","defineMessage","labelPath","isList","noItemLabel","addItemLabel","breadcrumbLabel","def$1","isHorizontal","dataList","boxStyleForm","def","firstOptionAsDefault","textOnly","callToActionForm","entriesWithImage","entriesWithVisual","entryWithImage","entryWithVisual","graphBarStyle","inline","imageWithCaption","thumbnailPath","imagesWithCaption","images","noValueLabel","parameters","quizPointsAnswer","quizPointsAnswers","getDefaultValue","fontStyleName","alignName","transformName","visualWithCaption","visualsWithCaption","visuals","audio","buttonElement","checkboxes","fieldWithForm","itemTextStyle","iconName","prefix","iconRotation","mapZoom","min","max","password","quizPOintsAnswers","radios","screenLayout","select","slider","tokens","visual","allFields","manager$1","module","IntlManager","locales","currentLocale","getLocale","localeObj","intlManager","defaultLocales","LocalesContext","useLocales","extraMessages","IntlProvider","previousLocales","IntlContext","_ref2$locale","previousLocale","_ref2$messages","previousMessages","currentMessages","getMessages","useOtherLocales","styles$1","sampleWidth","sampleMargin","minSampleHeight","progressColor","audioLevels","onSeek","onResume","onReady","AudioWave","canvasBackgroundRef","canvasProgressRef","mainColor","_ref2$color","alternateColor","elRef","_ref3$width","elWidth","elHeight","sampleOuterWidth","samplesCount","levelsBySamples","amplitudes","newAmplitudes","levelStartIndex","levelEndIndex","newValues","minAmplitude","normalizedAmplitudes","canvasBg","canvasProgress","devicePixelRatio","ctxBG","getContext","ctxProgress","clearRect","fillStyle","offsetLeft","amplitude","amplitudeI","sampleHeight","sampleX","sampleY","fillRect","seekFromX","elX","getBoundingClientRect","useGesture","onDrag","elapsedTime","drag","axis","clipPath","apiRef","waveFake","waveProps","showWave","reduceBufferFactor","_ref2$url","_ref3$waveform","waveform","finalInitialMuted","_useMediaApi","api","mediaRef","audioReady","setAudioLevels","blobUrl","setBlobUrl","AudioContext","webkitAudioContext","random","mode","Error","arrayBuffer","createObjectURL","Blob","decodeAudioData","buffer","numberOfChannels","leftChannelData","getChannelData","newArray","level","levelIndex","crossOrigin","preload","Audio$1","playsInline","withoutCors","supportedMimes","mediaUrl","_ref2$files","_ref3$description","_ref3$mime","mediaMime","filesArray","sourceFiles","supportVideo","finalSupportedMimes","canPlayType","sourceFilesMap","_file$mime","filesMap","_file$mime2","currentMimeFile","originalType","_ref5$mime","originalMime","isImageWithoutSourceFile","firstPreloadRef","hasLoadedRef","canLoad","preloadHasChanged","sourceUrl","sourceMime","Video$1","horizontalAlign","repeat","loadingMode","shouldLoad","Background","mediaMetadata","mediaThumbnailUrl","mediaWidth","_ref3$height","mediaHeight","isVideo","isImage","newShouldLoad","wasLoadedRef","finalShouldLoad","backgroundImage","backgroundRepeat","backgroundPosition","backgroundSize","videoContainerStyle","_getSizeWithinBounds$","videoWidth","_getSizeWithinBounds$2","videoHeight","videoContainer","layerClassName","backgroundClassName","BackgroundLayers","maxZIndex","_ref3$horizontalAlign","_ref3$verticalAlign","layer","separateBorder","finalStyles","borderStyles","_ref2$borderRadius","_ref2$borderWidth","_ref2$borderColor","_ref2$borderStyle","otherStyles","console","log","linksStyle","lineClamp","showEmpty","_ref2$link","link","linkStyle","_ref2$highlight","highlight","highlightStyle","finalLinkStyle","finalHighlightStyle","WebkitLineClamp","needsId","tagProps","dangerouslySetInnerHTML","__html","Tag","iframeRef","closeable","onClose","hidden","WebView","Arrow","version","xmlnsXlink","xmlSpace","strokeLinejoin","strokeLinecap","animationDisabled","dragAmount","buttonBorderClassName","arrowClassName","CallToAction","_ref2$label","_ref2$buttonStyle","_ref2$inWebView","inWebView","showWebView","setShowWebView","disableWebView","setDisabledWebView","swipeUpEnabled","validUrl","buttonRef","_ref3$textStyle$fontS","_ref3$textStyle$color","arrowStyle","selfTargetLinkRef","leaving","setLeaving","onDragEnd","click","onPageHide","onOpenWebView","onCloseWebView","ArrowElement","invalidUrl","leavingFrame","selfTargetLink","buttonBorder","webView","CallToAction$1","timeOffset","ClosedCaptions","setLines","lineIndex","setLineIndex","startOffset","startSeconds","srt","parsed","error","getLineIndexFromTime","currentLineIndex","end","nextLineIndex","Container","StackContext","StackProvider","minSize","maxSize","Spacer","minWidth","maxWidth","minHeight","maxHeight","Stack","flexDirection","alignItems","justifyContent","space","lastIndex","allChildren","HStack","VStack","distribution","Layout","SeekBar","onSeekClick","currentTargetRect","seekProgress","pageX","maxTime","formattedCurrrentTime","setSeconds","toISOString","substring","formattedDuration","onTogglePlay","onToggleMute","MediaControls","fullColor","finalColor","fullProgressColor","toggles","playPauseButton","faPause","muteButton","faVolumeUp","seekBar","AudioScreen","trackScreenMedia","_useScreenSize","hasCallToAction","backgroundPlaying","backgroundShouldLoad","transitionPlaying","transitionDisabled","hasAudio","_ref2$autoPlay","_ref2$closedCaptions","_ref2$withPlayPause","_ref2$progressColor","hasAudioUrl","finalAudio","hasClosedCaptions","onAudioReady","_ref4$mediaRef","apiMediaRef","isIOS","isMuted","longPressBind","cta","elements","bottomContent","mediaControls","paddingTop","AudioScreen$1","transforms","appleNews","_Audio","titleStory","titleComponent","_Container","containerStory","containerComponent","group","order","Base","baseUrl","query","queryString","arrayFormat","getFullUrl","credentials","headers","getCSRFHeaders","postJSON","_method","requestPost","_route","ContributionsApi","_Base","store","update","finalQuery","requestGet","MediasApi","tags","authors","show","requestPut","requestDelete","QuizApi","Api","contributions","quiz","ApiContext","useApi","ApiProvider","initialApi","previousApi","useData","loadData","_ref$initialData","initialData","_ref$autoload","autoload","setLoading","setError","setData","newError","loader","useQuizCreate","_ref$onSuccess","onSuccess","creating","setCreating","screen_id","apiBaseUrl","DataProvider","headingRef","Heading","HeadingComponent","Heading$1","labelOutside","labelOutsideStyle","multiline","onFocus","onBlur","TextInput","labelStyle","elementStyle","containerProps","elementProps","submit","nameStyle","messageStyle","transitionStagger","resizeTransitionDuration","ContributionScreen","trackScreenEvent","scrollingDisabled","hasTitle","hasNameLabel","hasMessageLabel","hasSubmit","contributionsRef","formRef","interactiveContainerHeight","setInteractiveContainerHeight","userName","setUserName","userMessage","setUserMessage","submitState","setSubmitState","onContributionSubmitted","_useContributionCreat","useContributionCreate","submitContribution","_useContributions","_ref$opts","defaultContributions","useContributions","onNameChange","onMessageChange","nameFilled","onNameBlur","messageFilled","onMessageBlur","scrolledBottom","setScrolledBottom","swipeUpLinkActive","callToActionRef","callToActionHeight","offsetHeight","emptyTitle","allContributions","interactiveContainer","transitionDuration","formContent","emptyInputName","inputName","emptyInputMessage","inputMessage","emptySubmit","buttonSubmit","formLoading","loadingIcon","faSpinner","contributionsContainer","contributionsContent","contribution","contributionIndex","nameInnerStyle","messageInnerStyle","contributionName","contributionMessage","submitting","submitted","showContributions","imageStyle","onLoaded","finalContainerStyle","finalImageStyle","mediaRatio","_useState2$","_useState2$$width","realWidth","_useState2$$height","realHeight","setRealSize","onImageLoaded","_e$target","_e$target$naturalWidt","naturalWidth","_e$target$naturalHeig","naturalHeight","mediaHasSize","imageTop","imageLeft","imageObjectFit","imageObjectPosition","_ref4$fit","_ref4$horizontalPosit","_ref4$verticalPositio","resizedImageWidth","resizedImageHeight","_finalWidth","_finalHeight","_finalImageStyle","_finalImageStyle$widt","_finalImageStyle$heig","onLoad","videoLoop","videoInitialMuted","videoClassName","Visual","_ref2$thumbnail_url","thumbnailUrl","isGIF","elProps","imageElProps","tmpProps","_ref5$metadata","_ref6$width","_ref6$height","resizedVideoWidth","resizedVideoHeight","previousMessage","nextMessage","nextMessageState","currentSpeaker","conversationTiming","typingTiming","withAnimation","isPlaying","speakerStyle","ConversationMessage","messageBody","_ref3$avatar","_ref3$avatar$url","avatarUrl","speakerName","_ref3$side","currentSpeakerId","isPrevSpeakerTheSame","isNextSpeakerTheSame","messageState","setMessageState","pauseBeforeTyping","typingDuration","betweenStyle","messageContainer","loadingContainer","loadingSpeakerName","normalRight","nextTheSame","inBetweenRight","normalLeft","inBetweenLeft","last","speakerDetails","avatarContainer","imageContainer","timing","ConversationScreen","timingMode","_ref2$speakers","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","shouldPlay","pauseTiming","ConversationScreen$1","axisClassName","crossClassName","Grid","itemIndex","finalLayout","crossTotal","_ref2$rows","_ref2$columns","crossIndex","crossSize","axisItems","finalAxisItems","axisTotal","axisItem","axisIndex","axisSize","layoutProps","withCaptions","captionMaxLines","GalleryScreen","finalSpacing","grid","_grid$layout","_grid$vertical","gridSpaces","imagesLoaded","setImagesLoaded","imagesCount","imagesEl","imagesSizes","setImagesSizes","contentWidth","contentHeight","imageEl","offsetWidth","itemI","imageSize","finalImage","_ref5$caption","hasImage","hasCaption","gridItem","emptyImage","emptyCaption","captionText","paddingBottom","GalleryScreen$1","_Mosaic","GalleryFeedScreen","isReversed","editImages","finalImages","firstImageRef","firstImageRefWidth","_ref3$caption","captionElement","GalleryFeedScreen$1","_Gallery","imageFit","defaultImageFit","legend","withTitle","withLegend","ImageScreen","finalImageFit","hasText","hasLegend","isTitleTop","isCard","isCardReverse","imageCntRef","cardImageMargin","imageMargin","placeholderImage","emptyText","emptyLegend","splice","ImageScreen$1","_Image","imageStory","imageComponent","_Heading","_Text","textStory","textComponent","styles$2","elementType","stylers","visibility","featureType","eventsMapping","getCenter","onCenterChanged","onBoundsChanged","getBounds","onTilesLoaded","zoom","maxZoom","bounds","draggable","fitBounds","zoomControl","mapTypeControl","scaleControl","streetViewControl","rotateControl","fullscreenControl","Map$1","_useGoogleMap","_ref$maxZoom","_ref$center","_ref$withoutStyle","_ref$fitBounds","_ref$bounds","_ref$draggable","mapRef","resizeRef","_ref3$lat","_ref3$lng","panTo","setZoom","updateBounds","newBounds","getZoom","panToBounds","setOptions","scrollWheel","disableDoubleClickZoom","gestureHandling","maps","addListener","useGoogleMap","eventMapping","onDoubleClick","iconSize","Marker","_ref$position","_ref$icon","_ref$iconSize","markerRef","setPosition","updateIcon","newIcon","iconUrl","setIcon","scaledSize","Size","clearInstanceListeners","setMap","useGoogleMapMarker","onClickMap","onClickMarker","correctMarkers","_ref2$geoPosition","extend","LatLng","LatLngBounds","_ref5$active","_ref5$geoPosition","_ref5$image","_ref5$title","openedMarkerSpacerHeight","withMarkerImages","MapScreen","_ref16","staticUrl","_useGoogleKeys$apiKey","selectedMarkerIndex","setSelectedMarkerIndex","hasSelectedMarker","lastRenderedMarker","markerOverlayContentStyle","onMapReady","finalMarkers","markerI","closeMarker","lastMarker","markerIndex","onButtonClick","onCloseClick","onMapDragEnd","newCenter","coords","toJSON","selectedMarker","markerOverContentInnerRef","markerOverContentInnerWidth","markerImagesLoaded","setMarkerImagesLoaded","allMarkersImagesLoaded","finalReady","imgs","_ref6$url","img","onload","_ref8$","stateId","_ref8$2","_ref9$geoPosition","_ref10$lat","_ref10$lng","_ref11$geoPosition","_ref12","_ref12$lat","_ref12$lng","_ref13$image","_ref14$url","_ref15","_ref15$title","markerTitle","_ref15$subtitle","markerSubtitle","_ref15$description","markerDescription","_ref15$image","markerImage","hasMarkerTitle","hasMarkerSubtitle","hasMarkerDescription","hasMarkerImage","hasDescription","hasButton","markerOverlayContainer","markerOverlayScrollable","markerOverlaySafe","markerOverlay","markerOverlayContent","swipeIndicator","markerOverlayContentInner","splash","emptyDescription","emptyButton","splashButton","closeButton","_ref3$geoPosition","latitude","longitude","_ref4$lat","_ref4$lng","_Map","states","repeatable","answeredIndex","answersCollapseDelay","buttonsStyle","goodAnswerColor","badAnswerColor","withoutGoodAnswer","collapsed","onCollapse","onCollapsed","onTransitionEnd","Answers","initialCollapsed","answered","_ref2$good","hasAnsweredRight","answerRef","answerHeight","rightAnswerRef","rightAnswerHeight","rightAnswerTop","offsetTop","shouldCollapse","answersCollapsed","setAnswersCollapsed","answersDidCollapsed","setAnswersDidCollapsed","onAnswerTransitionEnd","withGoodAnswer","willCollapse","didCollapsed","answerI","userAnswer","_ref6$good","rightAnswer","_ref6$label","_ref6$buttonStyle","answerButtonStyle","hasAnswer","itemContent","emptyAnswer","resultIcon","faIcon","optionLabel","styles$3","question","totalCount","showInstantAnswer","withResult","withoutIndex","onAnswerClick","Question","isSplitted","hasQuestion","hasResult","resultVisible","setResultVisible","resultRef","onAnswersCollapse","hasIndex","emptyQuestion","resultContent","emptyResult","resultText","QuizScreen","goodAnswerIndex","userAnswerIndex","setUserAnswerIndex","submitQuiz","answerIndex","_ref3$good","isGood","_ref3$label","_ref4$body","choice","Results","introLayout","questions","introButton","introBackground","QuizMultipleScreen","_ref3$","_ref3$2","stateIndex","hasIntro","userAnswers","setUserAnswers","initialQuestionIndex","questionIndex","setQuestionIndex","nextIndex","questionsCount","onClickIntroButton","currentQuestion","_currentQuestion$text","_currentQuestion$answ","_currentQuestion$back","questionBackground","_currentQuestion$layo","questionLayout","currentAnsweredIndex","currentPoints","totalPoints","answerQuestionIndex","_ref5$answers","_ref6$points","points","isIntro","isResults","isQuestion","currentResult","_ref7$points","pointsA","_ref8$points","pointsB","lastResult","_ref9$points","lastPoints","_ref10$points","_ref11","_ref11$background","resultBackground","_ref11$layout","resultLayout","finalBackground","backgroundKey","lastQuestionIndexRef","lastQuestionIndex","TransitionGroup","CSSTransition","intro","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","titleElement","descriptionElement","rankText","rank","scroll","_ref$ascending","allItems","_Text2","descriptionStory","descriptionComponent","reducedStory","reducedComponents","_Container2","bigContainerStory","bigContainerComponent","resultsStyle","barColor","withPercentLabels","withoutResults","resultTransitionDuration","SurveyScreen","_ref14","_useQuiz","useQuiz","_useQuiz$quiz","quizAnswersComputed","_ref2$count","computed","answersTotal","ans","_ref5$count","qa","countWithUser","percent","quizAnswersPct","evenlySplit","buttonsRefs","labelsRefs","buttonMaxWidth","setButtonMaxWidth","finalTransitionDuration","currentMaxWidth","totalWidth","clientWidth","_ref6$barColor","resultsBarColor","_ref6$textColor","resultsTextColor","_ref7$label","_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","curr","transitionsPlaying","firstLineRef","firstContentRef","setImageWidth","timelineElements","_ref3$title","_ref3$image","elementsTypes","titleIndex","imageIndex","typesCount","typeI","elementContent","hasElement","firstItem","lastItem","lastType","topLineHidden","bottomLineHidden","bullet","lastContent","_ref7$height","withoutLines","withSubtitle","withDescription","withBox","descriptionEmptyLabel","TitleScreen","hasSubtitle","layoutParts","subtitleWithMargin","subtitleElement","TitleScreen$1","credits","TitleSubtitleCreditsScreen","TitleWithBoxScreen","_Heading2","subtitleStory","subtitleComponent","creditsStory","creditsComponent","linkTarget","linkRel","isTag","Avatar","imageAtSize","withAvatar","withConjunction","withoutLink","linkUnderlineColor","UrbaniaAuthor","_ref2$avatar","by","conjunction","WatchIcon","overTitle","sponsor","sponsorPrefix","site","UrbaniaArticle","contentTop","_useMemo$minContentHe","minContentHeight","hasOverTitle","_ref5$body","_ref6$body","hasSponsor","hasAuthors","authorFullName","authorAvatar","authorName","_ref9$url","emptyContainer","sponsors","UrbaniaArticle$1","article","UrbaniaLoader","initialArticle","setArticle","art","_ref2$overTitle","_ref2$sponsor","_ref2$video","_ref2$callToAction","_ref3$body","titleBody","overTitleBody","sponsorBody","_ref7$media","_ref8$title","articleTitle","_ref8$image","articleImage","_ref8$metadata","_ref9$authors","_ref9$sponsors","_ref9$site","_ref9$canonical","_ref10$sizes","medium","large","defaultSponsor","_ref12$name","trim","signsImages","aries","signs","defaultSigns","word","Horoscope","signsValue","sign","hasCategory","onlyCategory","categoryPlaceholder","noBottomBorder","descriptionPlaceholder","Horoscope$1","withoutSort","withoutAddItem","withoutDeleteItem","animateBackground","Recommendation","hasDate","hasTextCard","finalAnimateBackground","textCard","dateTitleRow","bottomBorder","datePlaceholder","dateContainer","rightBorder","centerDate","titleContainer","leftBorder","sponsorPlaceholder","Recommendation$1","defaultBackground","placeholderBackground","gotoNextScreenOnEnd","UrbaniaTrivia","videoShouldLoad","shouldGotoNextScreenOnEnd","_ref2$body","_ref3$autoPlay","_ref3$media","_ref3$closedCaptions","_ref3$withSeekBar","_ref3$withPlayPause","_ref3$withTime","mouseMoveRef","showMediaControls","setShowMediaControls","onMouseMove","_ref7$image","_ref7$video","isCustomBackground","hasVideo","finalVideo","videoMetadata","_ref8$url","videoUrl","_ref8$thumbnail_url","hasVideoUrl","_ref9$width","_ref9$height","titleRef","_useResizeObserver$en","_ref10$height","videoMaxHeight","resizedVideoLeft","onVideoReady","visibleControls","itemsContainer","headingScreenElement","heading","hideHeading","videoScreenElement","videoPlaceholder","withGradient","isAnimated","UrbaniaTriviaScreen","VideoScreen","_ref2$withSeekBar","_ref2$withTime","_ref3$mediaRef","_ref6$thumbnail_url","_ref7$width","resizedVideoTop","VideoScreen$1","_Video","Video360Screen","THREE","Scene","PerspectiveCamera","SphereBufferGeometry","VideoTexture","MeshBasicMaterial","Mesh","WebGLRenderer","MathUtils","useThree","videoContainerRef","_ref5$media","_ref5$closedCaptions","_ref5$withSeekBar","_ref5$withPlayPause","_ref5$autoPlay","hasThumbnail","posterReady","setPosterReady","withVideoSphere","onPosterLoaded","canvasRef","camera","scene","renderer","lon","phi","theta","distance","pointerDown","pointerDownX","pointerDownY","pointerLon","pointerLat","render3D","degToRad","sin","cos","z","lookAt","_canvasRef$current","canvasWidth","canvasHeight","geometry","_ref8$mediaRef","_ref9$current","mesh","add","canvas","setPixelRatio","aspect","updateProjectionMatrix","togglePlayTimeout","onPointerDown","clientX","clientY","pixelsMoved","lastPointerClient","pixelsMovedTracked","onPointerMove","_ref10$clientX","_ref10$clientY","downDeltaX","downDeltaY","_ref11$x","lastX","_ref11$y","lastY","deltaX","deltaY","onPointerUp","distX","distY","_videoContainer$getBo","_videoContainer$getBo2","containerX","canvasButton","showVideo","Video360Screen$1","addDefinition","hash","hash__default","TextStyleDefinition","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","ImageElement","_ref$latitude","_ref$longitude","MapElement","mosaic","isInteger","isInteger__default","isEmpty__default","validated","prop","isValid","reactShare","fieldsManager__default","Scroll__default","home","checkClickable","_ref$maxDistance","maxDistance","_ref$tags","_ref2$tagName","_ref2$parentNode","parentNode","toLowerCase","styles$8","styles$7","styles$6","primary","secondary","subIndex","ViewerMenuDot","_ref2$primary","_ref2$secondary","dots","subDot","styles$5","MenuIcon","squareSize","square","squareI","withItemClick","withoutScreensMenu","ViewerMenuDots","currentIndex","_ref3$current","_ref5$current","_ref5$subIndex","onShare","ShareModal","onShareButtonClick","shareButtonProps","onShareWindowClose","shareIconProps","FacebookShareButton","beforeOnClick","FacebookIcon","TwitterShareButton","TwitterIcon","EmailShareButton","subject","EmailIcon","ShareButton","storyShareModalOpened","setStoryShareModalOpened","onShareIconClick","onStoryShared","onStoryShareCanceled","menuWidth","maxThumbsWidth","toggleFullscreen","fullscreenActive","fullscreenEnabled","ViewerMenuPreview","firstScreenContainerRef","firstScreenContentRect","containerRect","thumbWidth","thumbsPerLine","_ref5$colors","_ref5$background","_ref5$textStyles","_ref5$logo","brandLogo","_ref6$title","brandTextStyle","_ref7$primary","brandPrimaryColor","_ref7$secondary","brandSecondaryColor","_ref8$color","brandBackgroundColor","brandImageUrl","borderPrimaryColorStyle","colorSecondaryColorStyle","backgroundColorStyle","_ref10$url","brandLogoUrl","brandImageStyle","titleStyle","dragBind","dy","eventOptions","capture","faShare","faCompress","faExpand","_item$current","screenAriaLabel","onKeyUp","currentScreenIndex","trackingEnabled","shareBasePath","withDotItemClick","onRequestOpen","onClickCloseViewer","refDots","ViewerMenu","customOnClickItem","customOnClickMenu","_story$components","_story$title","parentId","currentChild","c","_ref3$visible","cat","origin","stiff","menuY","setMenuSpring","refOpened","menuPreviewContainerRef","menuPreviewContainerHeight","menuPreviewStyle","menuDragBind","first","isMenuOpened","yProgress","menuNowOpened","onClickShare","_ref7$menuTheme","menuTheme","menuDotsContainer","menuDots","menuPreviewContainer","menuPreview","ViewerScreen","HandIcon","HandTap","circle","hand","onScreenChange","tapNextScreenWidthPercent","neighborScreensActive","storyIsParsed","landscapeScreenMargin","withMetadata","withoutMenu","withoutMenuShadow","withoutFullscreen","withLandscapeSiblingsScreens","withNavigationHint","onInteraction","onEnd","onViewModeChange","currentScreenMedia","menuIsScreenWidth","screensMedias","screenSizeOptions","desktopHeightRatio","defaultProps$2","onCloseViewer","_parsedStory$componen","_parsedStory$title","_parsedStory$metadata","_parsedStory$fonts","_ref4$fontFamily","themeFont","finalFonts","withoutScreensTransforms","_useScreenSizeFromEle","_ref5$landscape","_ref5$menuOverScreen","screenContainerWidth","screenContainerHeight","screensMediasRef","changeIndex","currentScreen","currentScreenRef","focus","hasInteracted","setHasInteracted","onInteractionPrivate","_useScreenInteraction","_ref$isView","_ref$clickOnSiblings","clickOnSiblings","_ref$nextScreenWidthP","nextScreenWidthPercent","_ref$eventsManager","_ref$onEnd","_ref$onChangeScreen","onChangeScreen","screensInteractionEnabled","setScreensInteractionEnabled","_ref3$id","_screensInteractionEn","currentScreenInteractionEnabled","updateInteraction","_screensInteractionEn2","onScreenClick","tappedCurrent","_e$currentTarget$getB2","contentX","tapX","useScreenInteraction","menuOpened","setMenuOpened","onMenuRequestOpen","onMenuRequestClose","onClickMenuItem","itemScreenId","onContextMenu","overscrollStyle","_useFullscreen","shortcuts","onKey","foundMatch","lowercaseKey","useKeyboardShortcuts","f","escape","arrowleft","arrowright","_ref10$title","_ref10$description","screenDescription","finalTitle","finalMetadata","menuDotsContainerRef","_ref11$height","menuDotsContainerHeight","screenName","blings","hideMenu","scr","_ref13","viewerScreen","scaler","transformOrigin","handTap","ViewerRoutes","otherProps","finalOnScreenChange","Switch","Route","exact","memoryRouter","withoutRouter","googleApiKey","translations","ViewerContainer","Router","MemoryRouter","BrowserRouter","finalTrackingVariables","_story$id","_story$slug","storyId","storySlug","storyTitle","_ref3$language","finalLocale","basename"],"sourceRoot":""}
|