{"version":3,"file":"src_exported_olapic_OlapicWidget_tsx.29a9ca237caa318b1b8c.bundle.js","mappings":"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","sources":["webpack://elc-service-product-ugc/./node_modules/@estee/elc-base-theme/src/Emphasis.ts","webpack://elc-service-product-ugc/./node_modules/@estee/elc-base-theme/src/Colors.ts","webpack://elc-service-product-ugc/./node_modules/@estee/elc-icons/src/views/SpinnerIcon.tsx","webpack://elc-service-product-ugc/./node_modules/@estee/elc-spinner/src/theme/default-theme.ts","webpack://elc-service-product-ugc/./node_modules/@estee/elc-spinner/src/views/Spinner.tsx","webpack://elc-service-product-ugc/./src/internal/views/common/SpinnerContainer.tsx","webpack://elc-service-product-ugc/./node_modules/@estee/elc-service/src/decorators/TranslateDecorator.tsx","webpack://elc-service-product-ugc/./node_modules/@estee/elc-base-theme/src/Fonts.ts","webpack://elc-service-product-ugc/./node_modules/@estee/elc-base-theme/src/Breakpoints.ts","webpack://elc-service-product-ugc/./node_modules/@estee/elc-typography/src/theme/default-theme.ts","webpack://elc-service-product-ugc/./node_modules/@estee/elc-typography/src/views/Typography.tsx","webpack://elc-service-product-ugc/./src/internal/views/olapic-title/OlapicTitle.tsx","webpack://elc-service-product-ugc/./src/internal/views/olapic-title/OlapicSubtitle.tsx","webpack://elc-service-product-ugc/./src/internal/views/olapic-title/OlapicTitleWrapper.tsx","webpack://elc-service-product-ugc/./src/internal/utils/Classes.ts","webpack://elc-service-product-ugc/./src/exported/olapic/OlapicWidget.tsx","webpack://elc-service-product-ugc/./src/internal/constants/DataTestIdAttributes.ts","webpack://elc-service-product-ugc/./node_modules/@estee/elc-service/src/decorators/ConfigDecorator.tsx","webpack://elc-service-product-ugc/./node_modules/classnames/index.js"],"sourcesContent":["export interface IEmphasisProps {\n [key: string]: number | string;\n}\n\nexport interface IEmphasis {\n [key: string]: IEmphasisProps;\n}\n\nexport const Emphasis: IEmphasis = {\n high: { value: 0.88, className: '' }, // No className because it has emphasis High by default\n medium: { value: 0.64, className: 'elc-medium-emphasis' },\n light: { value: 0.12, className: 'elc-light-emphasis' },\n pale: { value: 0.02, className: 'elc-pale-emphasis' },\n disabled: { value: 0.4, className: 'elc-disabled-emphasis' }\n};\n","import { Emphasis } from './Emphasis';\n\nexport interface IColors {\n black: string;\n white: string;\n whiteDove: string;\n primary900: string;\n primary800: string;\n primary700: string;\n primary600: string;\n primary500: string;\n primary400: string;\n primary300: string;\n primary200: string;\n primary100: string;\n primary50: string;\n danger: string;\n info: string;\n success: string;\n warning: string;\n unvisitedLink: string;\n visitedLink: string;\n blackHighEmphasis: string;\n blackMediumEmphasis: string;\n blackLightEmphasis: string;\n blackDisabledEmphasis: string;\n whiteHighEmphasis: string;\n whiteMediumEmphasis: string;\n whiteDisabledEmphasis: string;\n redLightEmphasis: string;\n\n [key: string]: string;\n}\n\nexport const Colors: IColors = {\n black: '#000000',\n white: '#FFFFFF',\n whiteDove: '#FBFBFB',\n primary900: '#212121',\n primary800: '#424242',\n primary700: '#616161',\n primary600: '#757575',\n primary500: '#9E9E9E',\n primary400: '#BDBDBD',\n primary300: '#E0E0E0',\n primary200: '#EEEEEE',\n primary100: '#F5F5F5',\n primary50: '#FAFAFA',\n danger: '#B00020',\n info: '#54A6D7',\n success: '#70B000',\n warning: '#EE9F57',\n unvisitedLink: '#0000EE',\n visitedLink: '#551A8B',\n blackHighEmphasis: `rgba(0, 0, 0, ${Emphasis.high.value})`,\n blackMediumEmphasis: `rgba(0, 0, 0, ${Emphasis.medium.value})`,\n blackLightEmphasis: `rgba(0, 0, 0, ${Emphasis.light.value})`,\n blackDisabledEmphasis: `rgba(0, 0, 0, ${Emphasis.disabled.value})`,\n blackPaleEmphasis: `rgba(0, 0, 0, ${Emphasis.pale.value})`,\n whiteHighEmphasis: `rgba(255, 255, 255, ${Emphasis.high.value})`,\n whiteMediumEmphasis: `rgba(255, 255, 255, ${Emphasis.medium.value})`,\n whiteDisabledEmphasis: `rgba(255, 255, 255, ${Emphasis.disabled.value})`,\n redLightEmphasis: `rgba(176, 0, 32, ${Emphasis.pale.value})`,\n successEmphasis: `rgba(112, 176, 0, ${Emphasis.pale.value})`,\n warningEmphasis: `rgba(238, 159, 87, ${Emphasis.pale.value})`\n};\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { Colors } from '@estee/elc-base-theme';\n\nexport interface ISpinnerIconProps {\n className?: string;\n color?: string;\n}\n\nconst Svg = styled.svg`\n animation: rotate 2s linear infinite;\n transform-origin: center center;\n width: 36px;\n height: 36px;\n\n @keyframes rotate {\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n\nconst Circle = styled.circle`\n stroke-dasharray: 150, 200;\n stroke-dashoffset: -10;\n animation: dash 1.5s ease-in-out infinite;\n stroke-linecap: round;\n\n @keyframes dash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124;\n }\n }\n`;\n\nconst SpinnerIcon = (props: ISpinnerIconProps) => {\n return (\n \n \n \n );\n};\n\nexport { SpinnerIcon };\n","import { Colors } from '@estee/elc-base-theme';\n\nexport const spinnerContainerTheme = `\n background-color: ${Colors.whiteMediumEmphasis};\n`;\n","import * as classnames from 'classnames';\nimport * as React from 'react';\nimport styled from 'styled-components';\nimport { SpinnerIcon } from '@estee/elc-icons';\nimport { spinnerContainerTheme } from '../theme/default-theme';\n\nexport interface ISpinner {\n className?: string;\n children?: React.ReactNode;\n isLoading?: boolean;\n}\nexport interface ISpinnerState {\n isLoading: boolean;\n}\n\nconst SpinnerContainer = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n ${spinnerContainerTheme};\n`;\n\nconst Container = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\nexport class SpinnerComponent extends React.Component {\n constructor(props: ISpinner) {\n super(props);\n }\n public render() {\n const spinnerClassName = classnames('elc-spinner', 'js-spinner', this.props.className);\n const spinnerContainerClassName = classnames(\n 'elc-spinner-container',\n 'js-spinner-container',\n this.props.className\n );\n const spinnerIconContainerClassName = classnames(\n 'elc-spinner-icon-container',\n 'js-spinner-icon-container'\n );\n\n return (\n \n {this.props.isLoading && (\n \n \n \n )}\n {this.props.children}\n \n );\n }\n}\n","import * as React from 'react';\nimport { Spinner } from '@estee/elc-spinner';\nimport styled from 'styled-components';\nimport { observer } from 'mobx-react';\n\nconst Container = styled.div`\n width: 200px;\n height: 200px;\n margin: 0 auto;\n`;\n\nexport const SpinnerContainer = observer((props: { isLoading: boolean }) => (\n \n \n \n));\n","import * as React from 'react';\nimport { root } from '@estee/elc-universal-utils';\n\nexport interface IState {\n translations: object;\n}\n\nexport interface ITranslationUrl {\n url: string;\n title: string;\n options: { absolute: boolean; new_window: boolean };\n}\n\nexport interface IProps {\n translations: { [k: string]: string };\n}\n\nexport interface ITranslationsCollection {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport interface ITranslationsCollections {\n [key: string]: ITranslationsCollection;\n}\n\nexport function translate(translationFields: string[]) {\n if (root.registerTranslationFieldsToPreload) {\n root.registerTranslationFieldsToPreload(translationFields);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (WrappedComponent: any): any => {\n return class extends React.Component {\n static displayName = 'translate';\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(props: any) {\n super(props);\n\n const translationsFromCache = root.getPreloadedTranslations\n ? root.getPreloadedTranslations(translationFields)\n : null;\n\n const translations: ITranslationsCollection = props.translations\n ? props.translations\n : translationsFromCache;\n\n this.state = {\n translations\n };\n }\n\n public async componentDidMount() {\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const componentRenderer = root.ComponentRenderer as any;\n // App could not be using component renderer\n const preloader = componentRenderer ? componentRenderer.preloader : null;\n\n if (!this.state.translations) {\n let translations = null;\n\n if (preloader && preloader.preload) {\n await preloader.preload();\n translations = preloader.getPreloadedTranslations(translationFields);\n } else {\n const { GlobalServiceBus, ServiceBusTopics, addTranslations } = root;\n\n translations = await GlobalServiceBus.query(\n ServiceBusTopics.queries.GET_TRANSLATIONS,\n translationFields\n );\n\n if (addTranslations) {\n addTranslations(translations);\n }\n }\n if (translations) {\n this.setState({\n translations\n });\n }\n }\n }\n\n public render() {\n if (!this.state.translations) {\n return null;\n }\n\n return ;\n }\n };\n };\n}\n\nexport function mockTranslate(translationFields: string[]) {\n const translations: ITranslationsCollection = {};\n\n translationFields.forEach(field => {\n translations[field] = field;\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (WrappedComponent: any): any => {\n return class extends React.Component {\n public render() {\n return ;\n }\n };\n };\n}\n","export const Fonts = {\n roboto: 'Roboto Regular',\n robotoLight: 'Roboto Light',\n robotoMedium: 'Roboto Medium'\n};\n","export interface IBreakpoints {\n [key: string]: number;\n}\n\nexport const layoutPageContentWidth: number = 1260;\n\nexport const Breakpoints: IBreakpoints = {\n desktop: 768,\n largeScreen: 1024,\n extraLargeScreen: 1200\n};\n\nexport const breakpoint = (brp: string) => (\n code: TemplateStringsArray,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...placeholders: any[]\n) => {\n // interleave the code with the placeholders\n let result = placeholders.reduce((acc, holder, idx) => `${acc}${code[idx]}${holder}`, '');\n\n // add the code literal\n result = `${result}${code[code.length - 1]}`;\n\n return `@media(min-width: ${Breakpoints[brp]}px) {${result}}`;\n};\n","import { Colors, Fonts, breakpoint, Emphasis } from '@estee/elc-base-theme';\n\nexport const DarkClassName = 'elc-dark-theme';\n\nconst commonCss = `\n margin: 0;\n color: rgba(0, 0, 0, ${Emphasis.high.value});\n\n &.${Emphasis.medium.className} {\n color: rgba(0, 0, 0, ${Emphasis.medium.value});\n }\n\n &.${Emphasis.disabled.className} {\n color: rgba(0, 0, 0, ${Emphasis.disabled.value});\n }\n\n &.${DarkClassName} {\n color: ${Colors.white};\n\n &.${Emphasis.medium.className} {\n color: rgba(255, 255, 255, ${Emphasis.medium.value});\n }\n\n &.${Emphasis.disabled.className} {\n color: rgba(255, 255, 255, ${Emphasis.disabled.value});\n }\n }\n`;\n\nexport const heading1Theme = () => `\n font-family: ${Fonts.robotoLight};\n font-size: 28px;\n font-weight: 300;\n letter-spacing: -0.23px;\n line-height: 36px;\n ${commonCss}\n\n ${breakpoint('desktop')`\n font-size: 48px;\n letter-spacing: -0.4px;\n line-height: 60px;\n `}\n\n`;\n\nexport const heading2Theme = () => `\n font-family: ${Fonts.robotoMedium};\n font-size: 24px;\n font-weight: 500;\n line-height: 32px;\n ${commonCss}\n \n ${breakpoint('desktop')`\n font-family: ${Fonts.roboto};\n font-size: 36px;\n font-weight: normal;\n `}\n`;\n\nexport const heading3Theme = () => `\n font-family: ${Fonts.roboto};\n font-size: 20px;\n font-weight: normal;\n letter-spacing: 0.15px;\n line-height: 24px;\n ${commonCss}\n\n ${breakpoint('desktop')`\n font-size: 28px;\n letter-spacing: 0.21px;\n line-height: 32px;\n `}\n`;\n\nexport const heading4Theme = () => `\n font-family: ${Fonts.roboto};\n font-size: 18px;\n font-weight: normal;\n letter-spacing: 0.16px;\n line-height: 24px;\n ${commonCss}\n\n ${breakpoint('desktop')`\n font-size: 24px;\n letter-spacing: 0.21px;\n line-height: 32px;\n `}\n`;\n\nexport const heading5Theme = () => `\n font-family: ${Fonts.roboto};\n font-size: 16px;\n letter-spacing: 0.17px;\n line-height: 20px;\n ${commonCss}\n\n ${breakpoint('desktop')`\n font-size: 20px;\n letter-spacing: 0.21px;\n line-height: 24px;\n `}\n`;\n\nexport const heading6Theme = () => `\n font-family: ${Fonts.robotoMedium};\n font-size: 14px;\n font-weight: 500;\n letter-spacing: 0.18px;\n line-height: 20px;\n ${commonCss}\n\n ${breakpoint('desktop')`\n font-size: 18px;\n letter-spacing: 0.23px;\n line-height: 24px;\n `}\n`;\n\nexport const body1Theme = () => `\n font-family: ${Fonts.roboto};\n font-size: 16px;\n letter-spacing: 0.5px;\n line-height: 28px;\n ${commonCss}\n`;\n\nexport const body2Theme = () => `\n font-family: ${Fonts.roboto};\n font-size: 14px;\n letter-spacing: 0.25px;\n line-height: 20px;\n ${commonCss}\n`;\n\nexport const subtitle1Theme = () => `\n font-family: ${Fonts.robotoMedium};\n font-size: 16px;\n font-weight: 500;\n letter-spacing: 0.15px;\n line-height: 16px;\n ${commonCss}\n\n ${breakpoint('desktop')`\n line-height: 20px;\n `}\n`;\n\nexport const subtitle2Theme = () => `\n font-family: ${Fonts.robotoMedium};\n font-size: 14px;\n font-weight: 500;\n letter-spacing: 0.1px;\n line-height: 16px;\n ${commonCss}\n`;\n\nexport const subtitle3Theme = () => `\n font-family: ${Fonts.robotoLight};\n font-size: 14px;\n letter-spacing: 0.1px;\n line-height: 16px;\n font-weight: 500;\n ${commonCss}\n`;\n\nexport const captionTheme = () => `\n font-family: ${Fonts.roboto};\n font-size: 12px;\n letter-spacing: 0.4px;\n line-height: 16px;\n ${commonCss}\n`;\n\nexport const overlineTheme = () => `\n font-family: ${Fonts.robotoMedium};\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 1.67px;\n line-height: 16px;\n ${commonCss}\n`;\n","import styled from 'styled-components';\nimport {\n heading1Theme,\n heading2Theme,\n heading3Theme,\n heading4Theme,\n heading5Theme,\n heading6Theme,\n body1Theme,\n body2Theme,\n subtitle1Theme,\n subtitle2Theme,\n subtitle3Theme,\n captionTheme,\n overlineTheme,\n DarkClassName\n} from '../theme/default-theme';\nimport { Emphasis, IEmphasisProps } from '@estee/elc-base-theme';\n\ninterface ITextProps {\n emphasis?: IEmphasisProps;\n darkTheme?: boolean;\n}\n\nconst classes = (cls: string, props: ITextProps) =>\n `${cls} ${props.emphasis ? props.emphasis.className : Emphasis.high.className} ${\n props.darkTheme ? DarkClassName : ''\n }`.trim();\n\nexport const Heading1 = styled.h1.attrs(props => ({\n className: classes('elc-heading--1', props)\n}))`\n ${heading1Theme};\n`;\n\nexport const Heading2 = styled.h2.attrs(props => ({\n className: classes('elc-heading--2', props)\n}))`\n ${heading2Theme};\n`;\n\nexport const Heading3 = styled.h3.attrs(props => ({\n className: classes('elc-heading--3', props)\n}))`\n ${heading3Theme};\n`;\n\nexport const Heading4 = styled.h4.attrs(props => ({\n className: classes('elc-heading--4', props)\n}))`\n ${heading4Theme};\n`;\n\nexport const Heading5 = styled.h5.attrs(props => ({\n className: classes('elc-heading--5', props)\n}))`\n ${heading5Theme};\n`;\n\nexport const Heading6 = styled.h6.attrs(props => ({\n className: classes('elc-heading--6', props)\n}))`\n ${heading6Theme};\n`;\n\nexport const Body1 = styled.p.attrs(props => ({\n className: classes('elc-body--1', props)\n}))`\n ${body1Theme};\n`;\n\nexport const Body2 = styled.p.attrs(props => ({\n className: classes('elc-body--2', props)\n}))`\n ${body2Theme};\n`;\n\nexport const Subtitle1 = styled.p.attrs(props => ({\n className: classes('elc-subtitle--1', props)\n}))`\n ${subtitle1Theme};\n`;\n\nexport const Subtitle2 = styled.p.attrs(props => ({\n className: classes('elc-subtitle--2', props)\n}))`\n ${subtitle2Theme};\n`;\n\nexport const Subtitle3 = styled.p.attrs(props => ({\n className: classes('elc-subtitle--3', props)\n}))`\n ${subtitle3Theme};\n`;\n\nexport const Caption = styled.p.attrs(props => ({\n className: classes('elc-caption', props)\n}))`\n ${captionTheme};\n`;\n\nexport const Overline = styled.p.attrs(props => ({\n className: classes('elc-overline', props)\n}))`\n ${overlineTheme};\n`;\n","import * as React from 'react';\nimport { translate } from '@estee/elc-service';\nimport { observer } from 'mobx-react';\nimport { Heading2 } from '@estee/elc-typography';\n\nexport interface IOlapicTitle {\n olapicNodeBlockTitle: string;\n translations: {\n olapicWidgetTitle: string;\n };\n}\n\nexport const OlapicTitle = translate(['olapicWidgetTitle'])(\n observer((props: IOlapicTitle) => {\n const { translations, olapicNodeBlockTitle } = props;\n const olapicTitle = olapicNodeBlockTitle || translations.olapicWidgetTitle;\n\n if (!olapicTitle) {\n return null;\n }\n\n return {olapicTitle};\n })\n);\n","import * as React from 'react';\nimport { translate } from '@estee/elc-service';\nimport { observer } from 'mobx-react';\nimport { Heading3 } from '@estee/elc-typography';\n\nexport interface IOlapicSubtitle {\n olapicNodeBlockSubtitle: string;\n translations: {\n olapicWidgetSubtitle: string;\n };\n}\n\nexport const OlapicSubtitle = translate(['olapicWidgetSubtitle'])(\n observer((props: IOlapicSubtitle) => {\n const { olapicNodeBlockSubtitle, translations } = props;\n const olapicSubtitle = olapicNodeBlockSubtitle || translations.olapicWidgetSubtitle;\n\n if (!olapicSubtitle) {\n return null;\n }\n\n return {olapicSubtitle};\n })\n);\n","import * as React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { OlapicTitle } from './OlapicTitle';\r\nimport { OlapicSubtitle } from './OlapicSubtitle';\r\n\r\nexport interface IOlapicTitleWrapper {\r\n olapicNodeBlockTitle: string;\r\n olapicNodeBlockSubtitle: string;\r\n isOlapicTitleDisabled: boolean;\r\n isOlapicSubtitleDisabled: boolean;\r\n}\r\n\r\nexport const OlapicTitleWrapper = observer((props: IOlapicTitleWrapper) => {\r\n const {\r\n olapicNodeBlockTitle,\r\n olapicNodeBlockSubtitle,\r\n isOlapicTitleDisabled,\r\n isOlapicSubtitleDisabled\r\n } = props;\r\n\r\n if (isOlapicTitleDisabled && isOlapicSubtitleDisabled) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {!isOlapicTitleDisabled && }\r\n {!isOlapicSubtitleDisabled && (\r\n \r\n )}\r\n
\r\n );\r\n});\r\n","import * as classnames from 'classnames';\n\nexport const classes = (component: string, ...classNames: (string | undefined)[]) =>\n classnames(`elc-${component}`, classNames);\n","import * as React from 'react';\nimport { observer } from 'mobx-react';\nimport { config } from '@estee/elc-service';\nimport { OlapicWidgetViewController } from '~controllers/OlapicWidgetViewController';\nimport { SpinnerContainer } from '~views/common/SpinnerContainer';\nimport { OlapicTitleWrapper } from '~views/olapic-title/OlapicTitleWrapper';\nimport { OLAPIC_WIDGET } from '~constants/DataTestIdAttributes';\nimport { classes } from '~utils/Classes';\n\nexport interface IOlapicWidgetConfig {\n olapicWidgetId: string;\n olapicWidgetSrc: string;\n olapicInstanceKey: string;\n olapicApiKey: string;\n olapicLanguage: string;\n olapicConfigInstanceKey: string;\n olapicConfigApiKey: string;\n olapicConfigTitle: string;\n olapicConfigSubtitle: string;\n olapicConfigTags: string;\n olapicConfigLanguage: string;\n hideOlapicTitle: boolean;\n hideOlapicSubtitle: boolean;\n productId: string;\n}\n\nexport interface IOlapicWidget {\n config: IOlapicWidgetConfig;\n viewController: OlapicWidgetViewController;\n}\n\nconst OLAPIC_CLASSNAME = 'olapic-v1';\nconst OLAPIC_CONTENT_CLASSNAME = `${OLAPIC_CLASSNAME}__content`;\n\n@config([\n 'olapicWidgetId',\n 'olapicWidgetSrc',\n 'olapicInstanceKey',\n 'olapicApiKey',\n 'olapicLanguage'\n])\n@observer\nclass OlapicWidget extends React.Component {\n private olapicWidgetViewController: OlapicWidgetViewController;\n\n constructor(props: IOlapicWidget) {\n super(props);\n this.olapicWidgetViewController = props.viewController;\n this.olapicWidgetViewController.initialize(props);\n }\n\n public componentDidMount() {\n this.olapicWidgetViewController.showElementOnViewportIntersection();\n }\n\n public render() {\n const { isLoading } = this.olapicWidgetViewController.data;\n const {\n olapicConfigTitle,\n olapicConfigSubtitle,\n olapicConfigApiKey,\n hideOlapicTitle,\n hideOlapicSubtitle,\n olapicApiKey\n } = this.props.config;\n const isOlapicEnabled = !!(olapicConfigApiKey || olapicApiKey);\n\n if (!isOlapicEnabled) {\n return null;\n }\n\n return (\n
\n \n
\n {isLoading && }\n
\n
\n );\n }\n}\n\n// tslint:disable-next-line:no-default-export\nexport default OlapicWidget;\n","export const OLAPIC_WIDGET = 'olapic_widget';\n","import * as React from 'react';\nimport { root } from '@estee/elc-universal-utils';\n\nexport interface IState {\n config: object | null;\n}\nexport interface IProps {\n config: object;\n mergeConfigs(stateConfig: object, propsConfig: object): object;\n}\n\nexport function config(\n configs: string[],\n mergeConfigs = (stateConfig: object, propsConfig: object) => ({\n ...stateConfig,\n ...propsConfig\n })\n) {\n if (root.registerConfigFieldsToPreload) {\n root.registerConfigFieldsToPreload(configs);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (WrappedComponent: any): any => {\n return class extends React.Component {\n static displayName = 'config';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(props: any) {\n super(props);\n\n const configsFromCache = root.getPreloadedConfigs\n ? root.getPreloadedConfigs(configs)\n : null;\n\n this.state = {\n config: configsFromCache\n };\n }\n\n private isSSR() {\n return !!root.__ssr;\n }\n\n private hasConfigsRequested() {\n return configs && configs.length > 0;\n }\n\n public async componentDidMount() {\n // Only request configs if they're not already available\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const componentRenderer = root.ComponentRenderer as any;\n // App could not be using component renderer\n const preloader = componentRenderer ? componentRenderer.preloader : null;\n\n if (this.hasConfigsRequested() && !this.isSSR() && !this.state.config) {\n let configResponse = null;\n\n if (preloader && preloader.preload) {\n await preloader.preload();\n configResponse = preloader.getPreloadedConfigs(configs);\n } else {\n const { GlobalServiceBus, ServiceBusTopics, addConfigs } = root;\n\n configResponse = await GlobalServiceBus.query(\n ServiceBusTopics.queries.GET_CONFIG,\n configs\n );\n\n if (addConfigs) {\n addConfigs(configResponse);\n }\n }\n this.setState({\n config: configResponse\n });\n }\n }\n\n public render() {\n const newConfig = mergeConfigs(this.state.config || {}, this.props.config);\n if (this.hasConfigsRequested() && !this.state.config) {\n return null;\n }\n\n return ;\n }\n };\n };\n}\n\nexport function mockConfig(\n configs: string[],\n mergeConfigs = (stateConfig: object, propsConfig: object) => ({\n ...stateConfig,\n ...propsConfig\n })\n) {\n const baseConfigs = configs.reduce(\n (allConfigs: object, currentConfig: string) => ({\n ...allConfigs,\n [currentConfig]: currentConfig\n }),\n {}\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (WrappedComponent: any): any => {\n return class extends React.Component {\n public render() {\n const { config: mockedConfigs, ...otherProps } = this.props;\n\n const combinedConfig = {\n ...baseConfigs,\n ...mockedConfigs\n };\n\n return ;\n }\n };\n };\n}\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"names":["Emphasis","value","className","Colors","Svg","Circle","SpinnerIcon","props","viewBox","cx","cy","r","fill","stroke","color","spinnerContainerTheme","SpinnerContainer","Container","SpinnerComponent","constructor","super","render","spinnerClassName","classnames","this","spinnerContainerClassName","spinnerIconContainerClassName","isLoading","children","observer","translate","translationFields","WrappedComponent","translationsFromCache","translations","state","componentDidMount","componentRenderer","preloader","preload","getPreloadedTranslations","GlobalServiceBus","ServiceBusTopics","addTranslations","query","queries","GET_TRANSLATIONS","setState","displayName","Fonts","Breakpoints","desktop","largeScreen","extraLargeScreen","breakpoint","brp","code","placeholders","result","reduce","acc","holder","idx","length","DarkClassName","commonCss","classes","cls","emphasis","darkTheme","trim","Heading2","Heading3","OlapicTitle","olapicNodeBlockTitle","olapicTitle","olapicWidgetTitle","OlapicSubtitle","olapicNodeBlockSubtitle","olapicSubtitle","olapicWidgetSubtitle","OlapicTitleWrapper","isOlapicTitleDisabled","isOlapicSubtitleDisabled","component","classNames","OLAPIC_CLASSNAME","olapicWidgetViewController","viewController","initialize","showElementOnViewportIntersection","data","olapicConfigTitle","olapicConfigSubtitle","olapicConfigApiKey","hideOlapicTitle","hideOlapicSubtitle","olapicApiKey","config","configs","mergeConfigs","stateConfig","propsConfig","configsFromCache","isSSR","hasConfigsRequested","configResponse","getPreloadedConfigs","addConfigs","GET_CONFIG","newConfig","hasOwn","hasOwnProperty","i","arguments","arg","argType","push","Array","isArray","inner","apply","key","call","join","module","exports","default"],"sourceRoot":""}