{"version":3,"file":"vendors-node_modules_estee_elc-base-theme_src_ContentSpacing_ts-node_modules_estee_elc-servic-0cebfb.d4bc1d3ff6a49bf94fe7.bundle.js","mappings":"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","sources":["webpack://elc-service-prodcat/./node_modules/@estee/elc-base-theme/src/Breakpoints.ts","webpack://elc-service-prodcat/./node_modules/@estee/elc-base-theme/src/Colors.ts","webpack://elc-service-prodcat/./node_modules/@estee/elc-base-theme/src/ContentSpacing.ts","webpack://elc-service-prodcat/./node_modules/@estee/elc-base-theme/src/Emphasis.ts","webpack://elc-service-prodcat/./node_modules/@estee/elc-base-theme/src/Fonts.ts","webpack://elc-service-prodcat/./node_modules/@estee/elc-service/src/decorators/TranslateDecorator.tsx","webpack://elc-service-prodcat/./node_modules/@estee/elc-service/src/decorators/context/Context.tsx","webpack://elc-service-prodcat/./node_modules/@estee/elc-service/src/decorators/context/ContextMerger.tsx","webpack://elc-service-prodcat/./node_modules/@estee/elc-service/src/decorators/context/addConfig.tsx","webpack://elc-service-prodcat/./node_modules/@estee/elc-service/src/decorators/context/utils.tsx","webpack://elc-service-prodcat/./node_modules/@estee/elc-typography/src/theme/default-theme.ts","webpack://elc-service-prodcat/./node_modules/@estee/elc-typography/src/views/Typography.tsx"],"sourcesContent":["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 { 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","export const ContentSpacing = {\n space2: '2px',\n space4: '4px',\n space6: '6px',\n space8: '8px',\n space10: '10px',\n space12: '12px',\n space16: '16px',\n space20: '20px',\n space24: '24px',\n space28: '28px',\n space32: '32px',\n space36: '36px',\n space40: '40px',\n space44: '44px',\n space48: '48px',\n space60: '60px',\n space80: '80px',\n space100: '100px'\n};\n","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","export const Fonts = {\n roboto: 'Roboto Regular',\n robotoLight: 'Roboto Light',\n robotoMedium: 'Roboto Medium'\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","import * as React from 'react';\n\nexport type UpdateProviderType = (arg: Partial) => void;\nexport type ContextValueType = T & {\n updateProvider: UpdateProviderType;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyObject = { [key: string]: any };\nexport const Context = React.createContext({} as ContextValueType);\n\ntype UpdateContextProviderMethod = (value: T) => void;\n\nexport interface IProps {\n children: React.ReactChild;\n updateContextProvider: UpdateProviderType;\n contextHasValue: boolean;\n}\n\nabstract class UpdateContextProvider> extends React.Component {\n protected hasValue: boolean = false;\n\n updateContextProvider: UpdateContextProviderMethod = value => {\n if (!this.props.updateContextProvider) {\n throw new Error('Need to place a valid context Provider on top of this consumer');\n }\n if (value) {\n this.props.updateContextProvider(value);\n }\n };\n\n render() {\n if (!this.props.contextHasValue) {\n return null;\n }\n\n return this.props.children;\n }\n}\n\nexport { UpdateContextProvider };\n","import * as React from 'react';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyObject = { [key: string]: any };\ninterface IProps {\n object: AnyObject;\n keys: string[];\n render(arg: object): JSX.Element;\n mergeObject?(argA: AnyObject): AnyObject;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst identity = (arg: any) => arg;\n\nexport class ContextMerger extends React.Component {\n static displayName = 'ContextMerger';\n\n static getKeysFromObject(keys: string[], object: AnyObject) {\n return keys.reduce((acc, field) => {\n if (object.hasOwnProperty(field)) {\n return {\n ...acc,\n [field]: object[field]\n };\n }\n\n return acc;\n }, {} as object);\n }\n\n public render() {\n const { mergeObject = identity, keys, object } = this.props;\n\n const objectWithRequestedKeys = ContextMerger.getKeysFromObject(keys, object);\n const value = mergeObject(objectWithRequestedKeys);\n\n return this.props.render(value);\n }\n}\n","import * as React from 'react';\nimport { ArrayMinOne } from '@estee/elc-universal-utils';\nimport { getRootMethods, IConfig, requestConfigs, shallowMerge, MergeMethod } from './utils';\nimport {\n Context,\n ContextValueType,\n IProps as UpdateContextProvideProps,\n UpdateContextProvider\n} from './Context';\nimport { ContextMerger } from './ContextMerger';\n\ntype ConfigType = { config: IConfig };\n\ninterface IGetConfigProps extends UpdateContextProvideProps {\n configFields: ArrayMinOne;\n mergeConfigs: MergeMethod;\n configFromProps?: IConfig;\n}\n\nfunction areObjectEqual(objA: object = {}, objB: object = {}) {\n return JSON.stringify(objA) === JSON.stringify(objB);\n}\n\nclass GetConfig extends UpdateContextProvider {\n static displayName = 'GetConfig';\n\n constructor(props: IGetConfigProps) {\n super(props);\n\n this.setConfig();\n }\n\n private setConfig() {\n const { configFields, configFromProps, mergeConfigs } = this.props;\n\n const globalConfig = getRootMethods().getConfigs(configFields);\n\n if (globalConfig) {\n this.hasValue = true;\n const config = mergeConfigs(globalConfig, configFromProps || {});\n\n this.updateContextProvider(config && { config });\n }\n }\n\n public componentDidUpdate(prevProps: IGetConfigProps) {\n const { configFromProps } = this.props;\n if (!areObjectEqual(configFromProps, prevProps.configFromProps)) {\n this.setConfig();\n }\n }\n\n public async componentDidMount() {\n const { configFields, configFromProps, mergeConfigs } = this.props;\n\n if (!this.hasValue) {\n const configResponse = await requestConfigs(configFields);\n\n if (configResponse) {\n const config = mergeConfigs(configResponse, configFromProps || {});\n getRootMethods().addConfigs(configResponse);\n\n this.updateContextProvider({ config });\n }\n }\n }\n}\n\ninterface IOnlyLocalConfigType extends UpdateContextProvideProps {\n configFromProps?: IConfig;\n}\n\nclass OnlyLocalConfig extends UpdateContextProvider {\n constructor(props: IOnlyLocalConfigType) {\n super(props);\n this.hasValue = true;\n this.updateContextProvider({ config: props.configFromProps });\n }\n\n public componentDidUpdate(prevProps: IGetConfigProps) {\n const { configFromProps } = this.props;\n\n if (!areObjectEqual(configFromProps, prevProps.configFromProps)) {\n this.updateContextProvider(configFromProps && { config: configFromProps });\n }\n }\n}\n\ntype IAddConfigProps = { config?: IConfig };\nexport function addConfig(\n configFields: ArrayMinOne | null,\n mergeConfigs = shallowMerge as MergeMethod\n) {\n getRootMethods().registerConfigFields(configFields || []);\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (WrappedComponent: any): any => (props: IAddConfigProps) => (\n \n {({ updateProvider, config: configFromContext }: ContextValueType) => {\n if (configFields) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n );\n }}\n \n );\n}\n\nexport function configConsumer(configFields: ArrayMinOne, mergeConfigs = shallowMerge) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (WrappedComponent: any): any =>\n class ConfigConsumer extends React.Component<{ config?: IConfig }> {\n static displayName = 'configConsumer';\n\n mergeConfig = (contextConfig: IConfig) => {\n return mergeConfigs(contextConfig, this.props.config || {});\n };\n\n public render() {\n return (\n \n {({ config: configFromContext }: ContextValueType<{ config: IConfig }>) => (\n (\n \n )}\n />\n )}\n \n );\n }\n };\n}\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { root, ArrayMinOne } from '@estee/elc-universal-utils';\n\ntype TranslationsValuesTypes = string | { [key: string]: ITranslations };\nexport interface ITranslations {\n [key: string]: TranslationsValuesTypes;\n}\n\nexport interface IConfig {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport interface IComponentRenderer {\n preloader: {\n preload(): Promise;\n getPreloadedTranslations(fields?: string[]): ITranslations | null;\n getPreloadedConfigs(fields?: string[]): IConfig | null;\n };\n}\n\nasync function preloadComponentRenderer() {\n const compRenderer = (root.ComponentRenderer as unknown) as IComponentRenderer;\n // App could not be using component renderer\n const preloader = compRenderer ? compRenderer.preloader : null;\n\n if (preloader && preloader.preload) {\n await preloader.preload();\n }\n\n return preloader;\n}\n\nexport async function requestTranslations(fields: ArrayMinOne) {\n const preloader = await preloadComponentRenderer();\n\n if (preloader) {\n return preloader.getPreloadedTranslations(fields);\n }\n const { GlobalServiceBus, ServiceBusTopics } = root;\n const res = await GlobalServiceBus.query(ServiceBusTopics.queries.GET_TRANSLATIONS, fields);\n\n return res;\n}\n\nexport async function requestConfigs(fields: ArrayMinOne) {\n const preloader = await preloadComponentRenderer();\n\n if (preloader) {\n return preloader.getPreloadedConfigs(fields);\n }\n const { GlobalServiceBus, ServiceBusTopics } = root;\n const res = await GlobalServiceBus.query(ServiceBusTopics.queries.GET_CONFIG, fields);\n\n return res;\n}\n\nexport function getRootMethods() {\n const {\n addConfigs = (_: string[]) => {},\n getPreloadedConfigs = (_: string[]) => null,\n registerConfigFieldsToPreload = (_: string[]) => {},\n addTranslations = (_: string[]) => {},\n getPreloadedTranslations = (_: string[]) => null,\n registerTranslationFieldsToPreload = (_: string[]) => {}\n } = root;\n\n return {\n addConfigs,\n getConfigs: getPreloadedConfigs,\n registerConfigFields: registerConfigFieldsToPreload,\n addTranslations,\n getTranslations: getPreloadedTranslations,\n registerTranslationFields: registerTranslationFieldsToPreload\n };\n}\n\nexport type MergeMethod = (s: T, p: P) => T extends P ? T : P;\n\nexport const shallowMerge: MergeMethod = (stateConfig, propsConfig) => {\n return {\n ...stateConfig,\n ...propsConfig\n };\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\nexport interface ITextProps {\n emphasis?: IEmphasisProps;\n darkTheme?: boolean;\n htmlFor?: string;\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"],"names":["Breakpoints","desktop","largeScreen","extraLargeScreen","breakpoint","brp","code","placeholders","result","reduce","acc","holder","idx","length","Colors","black","white","whiteDove","primary900","primary800","primary700","primary600","primary500","primary400","primary300","primary200","primary100","primary50","danger","info","success","warning","unvisitedLink","visitedLink","blackHighEmphasis","blackMediumEmphasis","blackLightEmphasis","blackDisabledEmphasis","blackPaleEmphasis","whiteHighEmphasis","whiteMediumEmphasis","whiteDisabledEmphasis","redLightEmphasis","successEmphasis","warningEmphasis","ContentSpacing","space2","space4","space6","space8","space10","space12","space16","space20","space24","space28","space32","space36","space40","space44","space48","space60","space80","space100","Emphasis","high","value","className","medium","light","pale","disabled","Fonts","roboto","robotoLight","robotoMedium","translate","translationFields","WrappedComponent","constructor","props","super","translationsFromCache","translations","this","state","componentDidMount","componentRenderer","preloader","preload","getPreloadedTranslations","GlobalServiceBus","ServiceBusTopics","addTranslations","query","queries","GET_TRANSLATIONS","setState","render","displayName","Context","UpdateContextProvider","hasValue","updateContextProvider","Error","contextHasValue","children","identity","arg","getKeysFromObject","keys","object","field","hasOwnProperty","mergeObject","ContextMerger","areObjectEqual","objA","objB","JSON","stringify","GetConfig","setConfig","configFields","configFromProps","mergeConfigs","globalConfig","getConfigs","config","componentDidUpdate","prevProps","configResponse","addConfigs","OnlyLocalConfig","addConfig","registerConfigFields","updateProvider","configFromContext","Boolean","configConsumer","mergeConfig","contextConfig","requestedConfig","preloadComponentRenderer","compRenderer","requestTranslations","fields","requestConfigs","getPreloadedConfigs","GET_CONFIG","getRootMethods","_","registerConfigFieldsToPreload","registerTranslationFieldsToPreload","getTranslations","registerTranslationFields","shallowMerge","stateConfig","propsConfig","DarkClassName","commonCss","heading1Theme","F","heading2Theme","heading3Theme","heading4Theme","heading5Theme","heading6Theme","body1Theme","body2Theme","subtitle1Theme","subtitle2Theme","subtitle3Theme","captionTheme","overlineTheme","classes","cls","emphasis","darkTheme","trim","Heading2","Heading3","Heading4","Heading5","Heading6","Body1","Body2","Subtitle1","Subtitle2","Subtitle3","Caption"],"sourceRoot":""}