{"version":3,"file":"chunks/2c7a18bfc78984.js","mappings":"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","sources":["webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/LegacyAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/index.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/index.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@emotion/is-prop-valid/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack:///./node_modules/@emotion/styled/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack:///./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/utils/constants.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/messages/features-highlight-messages.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/card-details.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/card.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/card-container.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/media-container.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/pagination-container.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/features-highlight-container.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/features-highlight-wpl.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/utils/util-functions.tsx","webpack:///./resources/js/react/cms-components/features-highlight-wpl/FeaturesHighlightContainer.tsx"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func\n};\n\nconst noop = () => []; // eslint-disable-next-line @repo/internal/react/no-class-components\n\n\nclass AnalyticsContext extends Component {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsContext: this.getAnalyticsContext\n }));\n\n _defineProperty(this, \"getAnalyticsContext\", () => {\n const {\n data\n } = this.props;\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return [...getAtlaskitAnalyticsContext(), data];\n });\n\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n return getAtlaskitAnalyticsEventHandlers();\n });\n\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\n }\n\n render() {\n const {\n children\n } = this.props;\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: this.contextValue\n }, children);\n }\n\n}\n\n_defineProperty(AnalyticsContext, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsContext, \"childContextTypes\", ContextTypes);\n\nexport default AnalyticsContext;","import LegacyAnalyticsContext from './LegacyAnalyticsContext';\nimport ModernAnalyticsContext from './ModernAnalyticsContext';\nlet ExportedAnalyticsContext;\n\nif (typeof process !== 'undefined' && process.env['ANALYTICS_NEXT_MODERN_CONTEXT']) {\n ExportedAnalyticsContext = ModernAnalyticsContext;\n} else {\n ExportedAnalyticsContext = LegacyAnalyticsContext;\n}\n\nexport default ExportedAnalyticsContext;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func\n};\n\nconst noop = () => []; // eslint-disable-next-line @repo/internal/react/no-class-components\n\n\nclass AnalyticsListener extends Component {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext\n }));\n\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n channel,\n onEvent\n } = this.props;\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n\n const handler = (event, eventChannel) => {\n if (channel === '*' || channel === eventChannel) {\n onEvent(event, eventChannel);\n }\n };\n\n return [handler, ...getAtlaskitAnalyticsEventHandlers()];\n });\n\n _defineProperty(this, \"getAtlaskitAnalyticsContext\", () => {\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return getAtlaskitAnalyticsContext();\n });\n\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\n }\n\n render() {\n const {\n children\n } = this.props;\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: this.contextValue\n }, children);\n }\n\n}\n\n_defineProperty(AnalyticsListener, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsListener, \"childContextTypes\", ContextTypes);\n\nexport default AnalyticsListener;","import LegacyAnalyticsListener from './LegacyAnalyticsListener';\nimport ModernAnalyticsListener from './ModernAnalyticsListener';\nlet ExportedAnalyticsListener;\n\nif (typeof process !== 'undefined' && process.env['ANALYTICS_NEXT_MODERN_CONTEXT']) {\n ExportedAnalyticsListener = ModernAnalyticsListener;\n} else {\n ExportedAnalyticsListener = LegacyAnalyticsListener;\n}\n\nexport default ExportedAnalyticsListener;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = { ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n\n this.payload = props.payload;\n }\n\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n\n if (typeof updater === 'object') {\n this.payload = { ...this.payload,\n ...updater\n };\n }\n\n return this;\n }\n\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n\n return null;\n }\n\n const context = [...this.context];\n const handlers = [...this.handlers];\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n\n return;\n }\n\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n\n return this;\n }\n\n return super.update(updater);\n }\n\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","import {\n B50,\n N900,\n B500,\n P500,\n N0,\n N20,\n Y200,\n R200,\n G200,\n T200,\n B200,\n P100,\n N500,\n N70,\n Y500\n} from '@atlaskit/theme/colors';\nimport { BG_COLOR_PROPERTIES } from '../models/colors-props';\n\nexport const GRAY3 = '#505F79';\nexport const NUM_OF_CARDS = 3;\nexport const MIN_CYCLE_TIME = 7000;\n\nexport const DEFAULT_BG_COLOR = 'b50';\n\n// Intersection options\nexport const INTERSECTION_OPTIONS = { threshold: 0.35 };\n\nexport enum LAYOUT_TYPE {\n CARDS_LEFT = 'cards_left',\n CARDS_RIGHT = 'cards_right'\n}\n\nexport enum MEDIA_TYPE {\n VIDEO = 'video',\n IMAGE = 'image'\n}\n\nexport enum SWIPE_DIRECTION {\n LEFT = 'left',\n RIGHT = 'right'\n}\n\n/* ---------------------BG COLOR CODINGS---------------------------*/\n\nexport const BG_COLOR_CODING_MAP: {\n [key: string]: BG_COLOR_PROPERTIES;\n} = {\n b50: {\n colorCode: B50,\n typeColor: N900,\n cardActiveColor: N0,\n cardHoverColor: `${N0}50`,\n categoryTypeColor: GRAY3,\n paginationColorActive: N500,\n paginationColorInactive: N0\n },\n n0: {\n colorCode: N0,\n typeColor: N900,\n cardActiveColor: N20,\n cardHoverColor: `${N20}50`,\n categoryTypeColor: GRAY3,\n paginationColorActive: N500,\n paginationColorInactive: N70\n },\n n900: {\n colorCode: N900,\n typeColor: N0,\n cardActiveColor: `${N0}10`,\n cardHoverColor: `${N0}20`,\n categoryTypeColor: N0,\n paginationColorActive: Y500,\n paginationColorInactive: N0\n },\n p500: {\n colorCode: P500,\n typeColor: N0,\n cardActiveColor: `${N0}10`,\n cardHoverColor: `${N0}20`,\n categoryTypeColor: N0,\n paginationColorActive: Y500,\n paginationColorInactive: N0\n },\n b500: {\n colorCode: B500,\n typeColor: N0,\n cardActiveColor: `${N0}10`,\n cardHoverColor: `${N0}20`,\n categoryTypeColor: N0,\n paginationColorActive: Y500,\n paginationColorInactive: N0\n }\n};\n\n/* ---------------------BAR COLOR CODINGS---------------------------*/\nexport const BAR_COLOR_CODING_MAP: Map = new Map<\n string,\n string\n>();\n\nBAR_COLOR_CODING_MAP.set('y200', Y200);\nBAR_COLOR_CODING_MAP.set('r200', R200);\nBAR_COLOR_CODING_MAP.set('g200', G200);\nBAR_COLOR_CODING_MAP.set('t200', T200);\nBAR_COLOR_CODING_MAP.set('b200', B200);\nBAR_COLOR_CODING_MAP.set('p100', P100);\n\n/* ---------------- Analytics event data -----------------------*/\nexport const defaultAnalyticsData = {\n eventComponent: 'featuresHighlightComponent',\n eventContainer: 'featuresHighlightContainer'\n};\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'FeaturesHighlightWpl.';\n\nexport const messages = defineMessages({\n heading: {\n id: `${ID_PREFIX}heading`,\n defaultMessage: `The is a default heading`\n },\n cardLabel1: {\n id: `${ID_PREFIX}label1`,\n defaultMessage: `Card Label 1`\n },\n cardLabel2: {\n id: `${ID_PREFIX}label2`,\n defaultMessage: `Card Label 2`\n },\n cardLabel3: {\n id: `${ID_PREFIX}label3`,\n defaultMessage: `Card Label 3`\n },\n cardCategory1: {\n id: `${ID_PREFIX}categoryLabel1`,\n defaultMessage: `Card Category 1`\n },\n cardCategory2: {\n id: `${ID_PREFIX}categoryLabel2`,\n defaultMessage: `Card Category 2`\n },\n cardCategory3: {\n id: `${ID_PREFIX}categoryLabel3`,\n defaultMessage: `Card Category 3`\n },\n cardTitle1: {\n id: `${ID_PREFIX}cardTitle1`,\n defaultMessage: `Card Title 1`\n },\n cardTitle2: {\n id: `${ID_PREFIX}cardTitle2`,\n defaultMessage: `Card Title 2`\n },\n cardTitle3: {\n id: `${ID_PREFIX}cardTitle3`,\n defaultMessage: `Card Title 3`\n },\n cardDescription1: {\n id: `${ID_PREFIX}cardDescription1`,\n defaultMessage: `Feature 01 description lorem ipsum dolor amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.`\n },\n cardDescription2: {\n id: `${ID_PREFIX}cardDescription2`,\n defaultMessage: `Feature 02 description lorem ipsum dolor amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.`\n },\n cardDescription3: {\n id: `${ID_PREFIX}cardDescription3`,\n defaultMessage: `Feature 03 description lorem ipsum dolor amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.`\n },\n altTextImage1: {\n id: `${ID_PREFIX}altTextImage1`,\n defaultMessage: `This is default alternative text for Image 1`\n },\n altTextImage2: {\n id: `${ID_PREFIX}altTextImage2`,\n defaultMessage: `This is default alternative text for Image 2`\n },\n altTextImage3: {\n id: `${ID_PREFIX}altTextImage3`,\n defaultMessage: `This is default alternative text for Image 3`\n },\n embeddedVideosError: {\n id: `${ID_PREFIX}embeddedVideosError`,\n defaultMessage: `Sorry, your browser doesn't support embedded videos.`\n }\n});\n","import styled from '@emotion/styled';\nimport * as React from '@emotion/react';\nimport { CardDetailsProps } from '../models/card-props';\nimport { FormattedHTMLMessage } from 'react-intl';\nimport { messages } from '../messages';\n\nexport function CardDetailsContainer({\n isCategoryLabel,\n categoryTypeColor,\n cardId\n}: CardDetailsProps) {\n return (\n \n \n {isCategoryLabel && (\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport const HiddenElement = styled.div`\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n`;\n\nexport const CardDetailsRoot = styled.div`\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n`;\n\nexport const CardFieldsContainer = styled.div`\n padding: 16px;\n display: flex;\n flex-direction: column;\n justify-content: inherit;\n`;\n\nexport const CategoryNameField = styled.div<{ categoryTypeColor?: string }>`\n width: 100%;\n line-height: 18px;\n font-size: 12px;\n font-weight: 400;\n font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n margin-bottom: 16px;\n text-transform: uppercase;\n color: ${(props) => props.categoryTypeColor};\n`;\n\nexport const TitleField = styled.div`\n width: 100%;\n font-weight: 500;\n line-height: 24px;\n letter-spacing: 0.3px;\n margin-bottom: 8px;\n font-size: 20px;\n display: block;\n\n @media only screen and (max-width: 1023px) {\n font-size: 16px;\n line-height: 20px;\n }\n`;\n\nexport const DescriptionField = styled.div`\n width: 100%;\n height: fit-content;\n line-height: 24px;\n font-size: 16px;\n font-weight: 400;\n`;\n","import styled from '@emotion/styled';\nimport * as React from '@emotion/react';\nimport { NUM_OF_CARDS, BAR_COLOR_CODING_MAP } from '../utils/constants';\nimport { BG_COLOR_PROPERTIES } from '../models/colors-props';\nimport {\n CardClickHandlerType,\n KeyPressHandlerType\n} from '../models/interaction-handler-props';\nimport { CardProps, ColorBarProps } from '../models/card-props';\nimport { CardDetailsContainer } from './card-details';\n\nexport const renderCards = (\n cardClickHandler: CardClickHandlerType,\n keyPressHandler: KeyPressHandlerType,\n isColorBar: boolean,\n isCategoryLabel: boolean,\n colorCoding: BG_COLOR_PROPERTIES,\n barColor?: string\n) => {\n const cardList = [];\n for (let cardId = 1; cardId <= NUM_OF_CARDS; cardId++) {\n cardList.push(\n cardClickHandler(cardId, e)}\n onKeyDown={(e) => keyPressHandler(cardId, e)}\n aria-labelledby={`label` + cardId}\n aria-describedby={`title` + cardId + ` description` + cardId}\n >\n {isColorBar && (\n \n )}\n \n \n );\n }\n return cardList;\n};\n\nexport const Card = styled.div`\n display: flex;\n flex-basis: auto;\n min-width: inherit;\n cursor: pointer;\n flex-direction: row;\n\n @media only screen and (max-width: 1023px) {\n margin-right: 16px;\n margin-left: 16px;\n flex-direction: column;\n }\n\n @media only screen and (max-width: 767px) {\n min-width: 100%;\n flex-shrink: 0;\n margin-right: 0px;\n margin-left: 0px;\n display: inline-flex;\n }\n`;\n\nexport const ColorBar = styled.div`\n width: 8px;\n background-color: ${(props) =>\n props.barColor &&\n BAR_COLOR_CODING_MAP.has(props.barColor) &&\n BAR_COLOR_CODING_MAP.get(props.barColor)};\n\n @media only screen and (max-width: 1023px) {\n width: 100%;\n min-height: 8px;\n max-height: 8px;\n }\n`;\n","import styled from '@emotion/styled';\nimport * as React from '@emotion/react';\nimport {\n CardContainerProps,\n CardContainerRootProps\n} from '../models/card-props';\nimport { renderCards } from './card';\n\nexport function CardContainer({\n selectedMedia,\n cardClickHandler,\n keyPressHandler,\n componentOrder,\n colorCoding,\n isColorBar,\n barColor,\n isCategoryLabel\n}: CardContainerProps) {\n return (\n \n {renderCards(\n cardClickHandler,\n keyPressHandler,\n isColorBar,\n isCategoryLabel,\n colorCoding,\n barColor\n )}\n \n );\n}\n\nexport const CardContainerRoot = styled.div`\n display: flex;\n justify-content: flex-start;\n flex-basis: calc(99.9999% / 12 * 4 - 16px);\n max-width: calc(99.9999% / 12 * 4 - 16px);\n flex-direction: column;\n order: ${(props) => props.componentOrder};\n margin-right: 16px;\n gap: 8px;\n\n .card {\n &:hover {\n background-color: ${(props) => props.colorCoding.cardHoverColor};\n\n .bar {\n opacity: 1;\n }\n }\n\n .bar {\n opacity: 0;\n }\n }\n\n .card.card${(props) => props.selectedMedia} {\n background-color: ${(props) => props.colorCoding.cardActiveColor};\n\n &:hover {\n background-color: ${(props) => props.colorCoding.cardActiveColor};\n }\n\n .bar {\n opacity: 1;\n }\n }\n\n @media only screen and (max-width: 1023px) {\n flex-basis: 100%;\n max-width: 100%;\n flex-direction: row;\n margin-bottom: 16px;\n order: 1;\n flex-wrap: nowrap;\n margin-right: 0;\n margin-left: 0;\n justify-content: center;\n gap: 32px;\n\n .card {\n width: calc(33.3333%);\n margin: 0;\n }\n }\n\n @media only screen and (max-width: 767px) {\n justify-content: flex-start;\n transition: transform 0.3s;\n transform: ${(props) => `translateX(-${(props.selectedMedia - 1) * 100}%)`};\n gap: 0;\n\n .card {\n width: 100%;\n }\n }\n`;\n","import * as React from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n createRef,\n MutableRefObject,\n RefObject,\n useEffect,\n useRef,\n useState\n} from 'react';\nimport { messages } from '../messages';\nimport {\n MediaContainerProps,\n MediaContainerRootProps,\n MediaWrapperProps\n} from '../models/media-props';\nimport {\n INTERSECTION_OPTIONS,\n MEDIA_TYPE,\n NUM_OF_CARDS\n} from '../utils/constants';\n\nexport function MediaContainer({\n selectedMedia,\n componentOrder,\n mediaType,\n mediaSourceLinks,\n intl,\n inViewChange,\n videoEnded\n}: MediaContainerProps) {\n const [isInView, setIsInView] = useState(false);\n const containerRef: MutableRefObject = useRef(null);\n\n const handleIntersect = (entries: any[]) => {\n const entry = entries[0] || {};\n const { isIntersecting } = entry;\n setIsInView(!!isIntersecting);\n inViewChange(!!isIntersecting);\n };\n\n useEffect(() => {\n if (!containerRef.current) {\n return;\n }\n\n const observer = new IntersectionObserver(\n handleIntersect,\n INTERSECTION_OPTIONS\n );\n observer.observe(containerRef.current);\n }, [containerRef]);\n\n return (\n \n \n {renderMedia(\n mediaType,\n mediaSourceLinks,\n intl,\n selectedMedia,\n videoEnded,\n isInView\n )}\n \n \n );\n}\n\nconst renderMedia = (\n mediaType: MEDIA_TYPE,\n mediaSourceLinks: string[],\n intl: ReactIntl.InjectedIntl,\n selectedMedia: number,\n videoEnded: () => void,\n isInView: boolean\n) => {\n const videoRefMap = new Map>();\n if (mediaType === MEDIA_TYPE.VIDEO) {\n // Auto start video when it is selected card\n useEffect(() => {\n for (const [videoId, video] of videoRefMap.entries()) {\n if (!video?.current || !video.current.play) {\n continue;\n }\n // play from start when video is selected and in view\n if (videoId === selectedMedia && isInView) {\n video.current.currentTime = 0;\n video.current.play();\n } else {\n video.current.pause();\n }\n }\n }, [selectedMedia, isInView]);\n }\n\n const mediaList = [];\n for (let cardId = 1; cardId <= NUM_OF_CARDS; cardId++) {\n const props = selectedMedia === cardId ? { tabIndex: 1 } : { tabIndex: -1 };\n\n let mediaContent;\n if (mediaType === MEDIA_TYPE.VIDEO) {\n const ref = createRef();\n\n mediaContent = (\n videoEnded()}\n playsInline={true}\n >\n \n {intl.formatMessage(messages.embeddedVideosError)}\n \n );\n\n videoRefMap.set(cardId, ref);\n } else if (mediaType === MEDIA_TYPE.IMAGE) {\n mediaContent = (\n \n );\n }\n\n mediaList.push(\n \n {mediaContent}\n \n );\n }\n return mediaList;\n};\n\nexport const MediaWrapper = styled.div`\n display: flex;\n justify-content: flex-start;\n flex-wrap: nowrap;\n overflow: hidden;\n flex-direction: row;\n\n .media img {\n object-fit: contain;\n object-position: top;\n margin-bottom: 0;\n }\n\n @media only screen and (min-width: 768px) {\n .media {\n order: 2;\n }\n\n .media.media${(props) => props.selectedMedia} {\n order: 1;\n }\n }\n\n @media only screen and (max-width: 767px) {\n min-height: 216px;\n margin-right: 0px;\n margin-left: 0px;\n transition: transform 0.3s;\n transform: ${(props) => `translateX(-${(props.selectedMedia - 1) * 100}%)`};\n overflow: visible;\n }\n`;\n\nexport const MediaContainerRoot = styled.div`\n display: flex;\n justify-content: flex-start;\n align-content: start;\n flex-wrap: nowrap;\n flex-direction: row;\n overflow: visible;\n flex-basis: calc(99.9999% / 12 * 8);\n max-width: calc(99.9999% / 12 * 8);\n order: ${(props) => props.componentOrder};\n margin-left: 16px;\n margin-bottom: auto;\n\n @media only screen and (max-width: 1023px) {\n flex-basis: 100%;\n max-width: 100%;\n margin-left: 0;\n margin-right: 0;\n order: 2;\n }\n`;\n\nexport const Media = styled.div`\n flex-basis: inherit;\n min-width: 100%;\n display: inline-flex;\n`;\n","import styled from '@emotion/styled';\nimport * as React from '@emotion/react';\nimport { NUM_OF_CARDS } from '../utils/constants';\nimport { PaginationContainerProps } from '../models/card-props';\nimport { BG_COLOR_PROPERTIES } from '../models/colors-props';\n\nexport function PaginationContainer({\n selectedMedia,\n colorCoding\n}: PaginationContainerProps) {\n return (\n \n {renderCardDots(colorCoding)}\n \n );\n}\n\nconst renderCardDots = (colorCoding: BG_COLOR_PROPERTIES) => {\n const cardDotList = [];\n for (let cardId = 1; cardId <= NUM_OF_CARDS; cardId++) {\n cardDotList.push(\n \n );\n }\n return cardDotList;\n};\n\nexport const PaginationContainerRoot = styled.div<{\n selectedMedia: number;\n colorCoding: BG_COLOR_PROPERTIES;\n}>`\n flex-basis: inherit;\n height: 12px;\n min-width: 100%;\n margin-top: 32px;\n margin-bottom: 32px;\n display: none;\n align-items: center;\n justify-content: center;\n\n @media only screen and (max-width: 767px) {\n display: flex;\n\n .cardDot {\n background-color: ${(props) => props.colorCoding.paginationColorInactive};\n }\n\n .cardDot.cardDot${(props) => props.selectedMedia} {\n background-color: ${(props) => props.colorCoding.paginationColorActive};\n }\n }\n`;\n\nexport const CardDots = styled.div<{ colorCoding: BG_COLOR_PROPERTIES }>`\n margin-left: 6px;\n margin-right: 6px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n`;\n","import styled from '@emotion/styled';\nimport React, {\n useState,\n MouseEvent,\n TouchEvent,\n KeyboardEvent,\n MutableRefObject,\n useEffect\n} from 'react';\nimport { CardContainer } from './card-container';\nimport { MediaContainer } from './media-container';\nimport { PaginationContainer } from './pagination-container';\nimport {\n FeaturesHighlightContainerProps,\n HighlightRootProps\n} from '../models/features-highlight-props';\nimport {\n LAYOUT_TYPE,\n SWIPE_DIRECTION,\n defaultAnalyticsData,\n NUM_OF_CARDS,\n MEDIA_TYPE,\n MIN_CYCLE_TIME\n} from '../utils/constants';\nimport { messages } from '../messages';\nimport { FormattedHTMLMessage } from 'react-intl';\nimport { useAnalyticsEvents } from '@atlaskit/analytics-next';\n\nexport function FeaturesHighlightContainer({\n layoutType,\n colorCoding,\n isColorBar,\n barColor,\n isCategoryLabel,\n mediaType,\n mediaSourceLinks,\n intl\n}: FeaturesHighlightContainerProps) {\n const [selectedMedia, setSelectedMedia] = useState(1);\n const [isDragging, setIsDragging] = useState(false);\n const [dragAmount, setDragAmount] = useState(0);\n const [startX, setStartX] = useState(0);\n const [nextAfter, setNextAfter] = useState(0);\n const timeoutRef: MutableRefObject = React.useRef(null);\n const selectedRef: MutableRefObject = React.useRef(selectedMedia);\n\n const isTouchDevice =\n 'ontouchstart' in window ||\n navigator.maxTouchPoints > 0 ||\n navigator.msMaxTouchPoints > 0;\n\n const { createAnalyticsEvent } = useAnalyticsEvents();\n let cardClickAnalyticsData = {\n ...defaultAnalyticsData,\n action: 'clicked',\n eventType: 'UI',\n actionSubject: 'card'\n };\n\n const cardClickHandler = (\n clickedElement: number,\n mouseClick?: MouseEvent\n ) => {\n mouseClick && mouseClick.preventDefault();\n changeActiveElement(clickedElement);\n };\n\n const keyPressHandler = (\n clickedElement: number,\n keyPress?: KeyboardEvent\n ) => {\n if (keyPress?.key == ' ' || keyPress?.key == 'Enter') {\n changeActiveElement(clickedElement);\n }\n };\n\n const changeActiveElement = (clickedElement: number) => {\n if (clickedElement === selectedMedia) {\n return;\n }\n\n if (clickedElement < 1 || clickedElement > NUM_OF_CARDS) {\n return;\n }\n\n setSelectedMedia(clickedElement);\n\n createAnalyticsEvent({\n ...cardClickAnalyticsData,\n cardNumber: clickedElement\n }).fire();\n };\n\n const startDrag = (touchEvent?: TouchEvent, mouseEvent?: MouseEvent) => {\n if (isTouchDevice && touchEvent) {\n setIsDragging(true);\n setStartX(touchEvent.touches[0].clientX);\n } else if (mouseEvent && window.innerWidth < 767) {\n setIsDragging(true);\n setStartX(mouseEvent.clientX);\n }\n };\n\n const Drag = (touchEvent?: TouchEvent, mouseEvent?: MouseEvent) => {\n if (isDragging) {\n if (isTouchDevice && touchEvent) {\n setDragAmount(touchEvent.touches[0].clientX - startX);\n } else if (mouseEvent && window.innerWidth < 767) {\n setDragAmount(mouseEvent.clientX - startX);\n }\n }\n };\n\n const stopDrag = () => {\n if (isDragging) {\n setIsDragging(false);\n // Setting 100 as the amount of distance that needs to be covered in order to trigger a swipe\n if (Math.abs(dragAmount) > 100) {\n if (dragAmount < 0) {\n swipeCards(SWIPE_DIRECTION.LEFT);\n } else {\n swipeCards(SWIPE_DIRECTION.RIGHT);\n }\n }\n }\n };\n\n const swipeCards = (direction: SWIPE_DIRECTION) => {\n let nextSelected = selectedRef.current;\n if (\n direction === SWIPE_DIRECTION.LEFT &&\n selectedMedia < mediaSourceLinks.length\n ) {\n nextSelected += 1;\n } else if (direction === SWIPE_DIRECTION.RIGHT && selectedMedia > 1) {\n nextSelected -= 1;\n }\n setSelectedMedia(nextSelected);\n\n createAnalyticsEvent({\n ...cardClickAnalyticsData,\n isTouchDevice: isTouchDevice,\n cardNumber: nextSelected\n }).fire();\n };\n\n const nextHighlight = () => {\n const nextId = selectedRef.current + 1;\n setSelectedMedia(nextId > NUM_OF_CARDS ? 1 : nextId);\n };\n\n const videoEnded = () => {\n if (Date.now() >= nextAfter) {\n nextHighlight();\n return;\n }\n\n // Time remains before minimum wait, delay till then\n timeoutRef.current = setTimeout(() => {\n nextHighlight();\n }, nextAfter - Date.now());\n };\n\n const changeInView = (isInView: boolean) => {\n if (!isInView) {\n // Clear timeout\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n } else {\n startTimeout();\n }\n };\n\n const startTimeout = () => {\n if (mediaType === MEDIA_TYPE.IMAGE) {\n timeoutRef.current = setTimeout(() => {\n nextHighlight();\n }, MIN_CYCLE_TIME);\n } else {\n setNextAfter(Date.now() + MIN_CYCLE_TIME);\n }\n };\n\n useEffect(() => {\n // Storing in the ref is required for the setTimeout that is started for images when called from changeInView\n selectedRef.current = selectedMedia;\n\n // Clear timeout\n if (timeoutRef.current !== null) {\n clearTimeout(timeoutRef.current);\n }\n\n startTimeout();\n }, [selectedMedia]);\n\n return (\n \n \n \n \n startDrag(e)}\n onMouseDown={(e) => startDrag(undefined, e)}\n onTouchMove={(e) => Drag(e)}\n onMouseMove={(e) => Drag(undefined, e)}\n onTouchEnd={() => stopDrag()}\n onMouseUp={() => stopDrag()}\n >\n \n changeInView(isInView)}\n videoEnded={() => videoEnded()}\n />\n \n \n \n );\n}\n\nexport const FeaturesHighlightRoot = styled.div`\n display: flex;\n flex-wrap: wrap;\n flex-basis: 100%;\n max-width: 100%;\n position: relative;\n flex-direction: row;\n min-width: 992px;\n justify-content: center;\n color: ${(props) => props?.typeColor};\n padding-bottom: 64px;\n\n @media only screen and (max-width: 1023px) {\n min-width: 736px;\n margin-left: 0px;\n margin-right: 0px;\n }\n\n @media only screen and (max-width: 767px) {\n min-width: 288px;\n padding-bottom: 0;\n }\n`;\n\nexport const CoreContentContainer = styled.div`\n display: flex;\n max-width: inherit;\n flex-direction: row;\n align-content: center;\n height: fit-content;\n\n @media only screen and (max-width: 1023px) {\n flex-direction: column;\n justify-content: center;\n }\n\n @media only screen and (max-width: 767px) {\n overflow: hidden;\n justify-content: flex-start;\n display: block;\n }\n`;\n\nexport const HeadingContainer = styled.h2`\n text-align: center;\n flex-basis: calc(99.9999% / 12 * 8 - 16px);\n max-width: calc(99.9999% / 12 * 8 - 16px);\n position: inherit;\n font-size: 36px;\n font-weight: 500;\n line-height: 44px;\n font-style: normal;\n margin-top: 64px;\n margin-bottom: 32px;\n\n @media only screen and (max-width: 1023px) {\n margin-top: 32px;\n }\n\n @media only screen and (max-width: 767px) {\n font-size: 24px;\n line-height: 32px;\n flex-basis: 100%;\n max-width: 100%;\n }\n`;\n","import styled from '@emotion/styled';\nimport * as React from '@emotion/react';\nimport { FeaturesHighlightContainer } from './components/features-highlight-container';\nimport { FeaturesHighlightProps } from './models/features-highlight-props';\nimport { getColorCodings } from './utils/util-functions';\nimport { messages } from './messages';\nimport { AnalyticsContext } from '@atlaskit/analytics-next';\nimport { InjectedIntlProps, injectIntl } from 'react-intl';\nimport { defaultAnalyticsData } from './utils/constants';\n\nfunction FeaturesHighlightWpl({\n layoutType,\n selectedBgColor,\n isColorBar,\n barColor,\n mediaType,\n mediaSourceLinks,\n isCategoryLabel,\n intl\n}: FeaturesHighlightProps & InjectedIntlProps) {\n const colorCodings = getColorCodings(selectedBgColor);\n\n return (\n \n \n \n \n \n );\n}\n\nconst Root = styled.div<{ bgColorCode?: string }>`\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n background-color: ${(props) => props.bgColorCode};\n`;\n\nFeaturesHighlightWpl.messages = messages;\nexport default injectIntl(FeaturesHighlightWpl);\n","import { BG_COLOR_CODING_MAP, DEFAULT_BG_COLOR } from './constants';\n\n// Selecting the color coding for the component based on the selected bg color\nexport const getColorCodings = (selectedColor: string) => {\n return (\n BG_COLOR_CODING_MAP[selectedColor] ?? BG_COLOR_CODING_MAP[DEFAULT_BG_COLOR]\n );\n};\n","import { AnalyticsListener } from \"@atlaskit/analytics-next\";\nimport FeaturesHighlightWpl from \"@atlassiansox/bxpkit-features-highlight-wpl\";\nimport { LAYOUT_TYPE, MEDIA_TYPE } from \"@atlassiansox/bxpkit-features-highlight-wpl/lib/commonjs/src/utils/constants\";\nimport React from \"react\";\nimport { IntlProvider } from \"react-intl\";\nimport { trackEvent } from '../../../common/analytics';\n\nconst getLayoutTypeEnum = (layoutType: string) => {\n return layoutType == \"cards_right\" ? LAYOUT_TYPE.CARDS_RIGHT : LAYOUT_TYPE.CARDS_LEFT;\n}\n\nconst getMediaTypeEnum = (mediaType: string) => {\n return mediaType == \"video\" ? MEDIA_TYPE.VIDEO : MEDIA_TYPE.IMAGE;\n}\n\nfunction sendAnalytics({ payload, context }) {\n const analyticsDataList = [...context, payload];\n const analyticsEvent = analyticsDataList.reduce((mergedAnalyticsEvent, currentAnalyicsEvent) => {\n return {...mergedAnalyticsEvent, ...currentAnalyicsEvent};\n }, {})\n trackEvent(analyticsEvent.eventName, analyticsEvent);\n}\n\ntype FeaturesHighlightContainerType = {\n readonly layoutType: string,\n readonly selectedBgColor: string,\n readonly isColorBar: boolean,\n readonly isCategoryLabel: boolean,\n readonly barColor: string,\n readonly mediaType: string,\n readonly image1Src: string,\n readonly image2Src: string,\n readonly image3Src: string,\n readonly video1Src: string,\n readonly video2Src: string,\n readonly video3Src: string,\n readonly labels : { [key: string]: string }\n}\n\nexport default function FeaturesHighlightContainer (\n {\n layoutType,\n selectedBgColor, \n isColorBar,\n isCategoryLabel,\n barColor,\n mediaType,\n image1Src,\n image2Src,\n image3Src,\n video1Src,\n video2Src,\n video3Src, \n labels}: FeaturesHighlightContainerType\n ) {\n \n let mediaTypeEnum = getMediaTypeEnum(mediaType);\n let mediaSourceLinks = [];\n if (mediaTypeEnum == MEDIA_TYPE.VIDEO) {\n mediaSourceLinks = [video1Src, video2Src, video3Src];\n } else {\n mediaSourceLinks = [image1Src, image2Src, image3Src];\n }\n return (\n \n \n \n \n \n );\n};"],"names":["ContextTypes","getAtlaskitAnalyticsContext","getAtlaskitAnalyticsEventHandlers","noop","AnalyticsContext","Component","constructor","props","super","this","getAnalyticsContext","data","context","contextValue","getAnalyticsEventHandlers","render","children","value","ExportedAnalyticsContext","AnalyticsListener","channel","onEvent","event","eventChannel","ExportedAnalyticsListener","AnalyticsEvent","payload","update","updater","UIAnalyticsEvent","hasFired","handlers","JSON","parse","stringify","forEach","handler","useAnalyticsContext","useContext","useAnalyticsEvents","analyticsContext","createAnalyticsEvent","memoize","fn","cache","Object","create","arg","undefined","reactPropsRegex","isPropValid","prop","test","charCodeAt","registerStyles","serialized","isStringTag","className","key","name","registered","styles","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","tag","composeShouldForwardProps","options","isReal","shouldForwardProp","optionsShouldForwardProp","__emotion_forwardProp","propName","Insertion","_ref","inserted","current","insert","sheet","next","insertStyles","newStyled","createStyled","identifierName","targetClassName","__emotion_real","baseTag","__emotion_base","label","target","defaultShouldForwardProp","shouldUseAs","args","arguments","__emotion_styles","slice","push","raw","apply","len","length","i","Styled","w","ref","registeredStyles","classNames","rawClassName","FinalTag","as","classInterpolations","mergedProps","theme","T","split","concat","finalShouldForwardProp","newProps","_key","displayName","defaultProps","defineProperty","withComponent","nextTag","nextOptions","bind","tagName","SWIPE_DIRECTION","MEDIA_TYPE","LAYOUT_TYPE","B50","N900","N0","N500","N20","N70","Y500","P500","B500","Map","Y200","R200","G200","T200","B200","P100","GRAY3","NUM_OF_CARDS","MIN_CYCLE_TIME","INTERSECTION_OPTIONS","threshold","BG_COLOR_CODING_MAP","b50","colorCode","typeColor","cardActiveColor","cardHoverColor","categoryTypeColor","paginationColorActive","paginationColorInactive","n0","n900","p500","b500","BAR_COLOR_CODING_MAP","set","defaultAnalyticsData","eventComponent","eventContainer","ID_PREFIX","messages","heading","id","defaultMessage","cardLabel1","cardLabel2","cardLabel3","cardCategory1","cardCategory2","cardCategory3","cardTitle1","cardTitle2","cardTitle3","cardDescription1","cardDescription2","cardDescription3","altTextImage1","altTextImage2","altTextImage3","embeddedVideosError","CardDetailsContainer","isCategoryLabel","cardId","CardDetailsRoot","CardFieldsContainer","CategoryNameField","HiddenElement","TitleField","DescriptionField","renderCards","cardClickHandler","keyPressHandler","isColorBar","colorCoding","barColor","cardList","Card","role","tabIndex","onClick","e","onKeyDown","ColorBar","has","get","CardContainer","selectedMedia","componentOrder","CardContainerRoot","MediaContainer","mediaType","mediaSourceLinks","intl","inViewChange","videoEnded","isInView","setIsInView","useState","containerRef","useRef","handleIntersect","entries","entry","isIntersecting","useEffect","IntersectionObserver","observe","MediaContainerRoot","MediaWrapper","renderMedia","videoRefMap","VIDEO","videoId","video","play","currentTime","pause","mediaList","mediaContent","createRef","width","height","preload","muted","onEnded","playsInline","src","formatMessage","IMAGE","alt","Media","PaginationContainer","PaginationContainerRoot","renderCardDots","cardDotList","CardDots","FeaturesHighlightContainer","layoutType","setSelectedMedia","isDragging","setIsDragging","dragAmount","setDragAmount","startX","setStartX","nextAfter","setNextAfter","timeoutRef","selectedRef","isTouchDevice","window","navigator","maxTouchPoints","msMaxTouchPoints","cardClickAnalyticsData","action","eventType","actionSubject","changeActiveElement","clickedElement","cardNumber","fire","startDrag","touchEvent","mouseEvent","touches","clientX","innerWidth","Drag","stopDrag","Math","abs","swipeCards","LEFT","RIGHT","direction","nextSelected","nextHighlight","nextId","startTimeout","setTimeout","Date","now","clearTimeout","FeaturesHighlightRoot","HeadingContainer","CoreContentContainer","onTouchStart","onMouseDown","onTouchMove","onMouseMove","onTouchEnd","onMouseUp","mouseClick","preventDefault","keyPress","CARDS_LEFT","CARDS_RIGHT","changeInView","FeaturesHighlightWpl","selectedBgColor","colorCodings","Root","bgColorCode","getLayoutTypeEnum","getMediaTypeEnum","sendAnalytics","analyticsEvent","reduce","mergedAnalyticsEvent","currentAnalyicsEvent","_objectSpread","trackEvent","eventName","_ref2","image1Src","image2Src","image3Src","video1Src","video2Src","video3Src","labels","mediaTypeEnum","React","IntlProvider","locale","document","documentElement","lang"],"sourceRoot":""}