{"version":3,"sources":["webpack://elc-service-ratings-reviews/./node_modules/@estee/elc-base-theme/src/Emphasis.ts","webpack://elc-service-ratings-reviews/./node_modules/@estee/elc-base-theme/src/Colors.ts","webpack://elc-service-ratings-reviews/./node_modules/@estee/elc-base-theme/src/Fonts.ts","webpack://elc-service-ratings-reviews/./node_modules/@estee/elc-buttons/src/theme/default-theme.ts","webpack://elc-service-ratings-reviews/./node_modules/@estee/elc-buttons/src/views/Button.tsx","webpack://elc-service-ratings-reviews/./node_modules/@estee/elc-service/src/decorators/TranslateDecorator.tsx","webpack://elc-service-ratings-reviews/./src/internal/utils/Classes.ts","webpack://elc-service-ratings-reviews/./node_modules/classnames/index.js"],"names":[],"mappings":"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","file":"elc-service-ratings-reviews-common.0a6364f2e29e8c4d05d9.bundle.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","export const Fonts = {\n roboto: 'Roboto Regular',\n robotoLight: 'Roboto Light',\n robotoMedium: 'Roboto Medium'\n};\n","import { Colors, Fonts } from '@estee/elc-base-theme';\n\nexport const typographyButtonsTheme = `\n border-radius: 4px;\n font-family: ${Fonts.roboto};\n font-weight: 500px;\n text-transform: uppercase;\n\n &:disabled {\n cursor: not-allowed;\n }\n`;\n\nexport const buttonTheme = `\n background-color: ${Colors.primary900};\n color: ${Colors.white};\n ${typographyButtonsTheme};\n\n &:hover {\n background-color: ${Colors.primary800};\n }\n\n &:active {\n background-color: ${Colors.primary700};\n }\n\n &:disabled {\n background-color: ${Colors.primary300};\n color: ${Colors.primary600};\n }\n \n`;\n\nexport const buttonTextTheme = `\n background-color: ${Colors.white};\n color: ${Colors.primary900};\n text-decoration: underline;\n ${typographyButtonsTheme};\n\n &:hover {\n background-color: ${Colors.primary100};\n }\n\n &:active {\n background-color: ${Colors.primary200};\n }\n\n &:disabled {\n background-color: ${Colors.primary300};\n color: ${Colors.primary600};\n }\n`;\n\nexport const buttonOutlinedTheme = ` \n border-color: ${Colors.primary900};\n background-color: ${Colors.white};\n color: ${Colors.primary900};\n ${typographyButtonsTheme};\n\n &:hover {\n background-color: ${Colors.primary100};\n }\n\n &:active {\n background-color: ${Colors.primary200};\n }\n\n &:disabled {\n border-color: ${Colors.primary400};\n background-color: ${Colors.white};\n color: ${Colors.primary400};\n }\n`;\n\nexport const stickyButtonContainerTheme = `\n background-color: ${Colors.white};\n box-shadow: 0 -3px 3px ${Colors.primary400};\n`;\n\nexport const stickyButtonTheme = buttonTheme;\n","import * as React from 'react';\nimport * as classnames from 'classnames';\nimport { SpinnerIcon } from '@estee/elc-icons';\nimport styled from 'styled-components';\nimport { buttonOutlinedTheme, buttonTextTheme, buttonTheme } from '../theme/default-theme';\n\nexport type ButtonSize =\n /**\n * Small\n */\n | 'sm'\n /**\n * Large\n */\n | 'lg'\n /**\n * Custom sizes\n */\n | string;\n\nexport interface IButtonDisplayProps extends React.ButtonHTMLAttributes {\n /**\n * If set to true then the component will span the width of the container\n */\n block?: boolean;\n /**\n * Based on button size a class name will be appended to the class list\n */\n size?: ButtonSize;\n /**\n * @inheritDoc\n */\n className?: string;\n}\n\nexport type IButton = React.ComponentType<\n React.ButtonHTMLAttributes & IButtonDisplayProps\n>;\n\nconst buttonSizeClass = (sz: string | undefined) => {\n return sz ? `elc-button--${sz}` : '';\n};\n\nconst getButtonClassNames = (props: IButtonDisplayProps) => {\n return classnames(['elc-button', 'js-button', buttonSizeClass(props.size), props.className]);\n};\n\nconst Btn = styled.button`\n border: none;\n cursor: pointer;\n letter-spacing: 1.25px;\n font-size: 14px;\n padding: 10px 20px;\n\n &:disabled {\n cursor: not-allowed;\n }\n\n ${(props: IButtonDisplayProps) =>\n props.block\n ? `\n display: block;\n width: 100%;\n `\n : ''};\n ${buttonTheme};\n &.${buttonSizeClass('sm')} {\n padding: 4px 8px;\n font-size: 12px;\n }\n /* stylelint-disable */\n &.${buttonSizeClass('lg')} {\n padding: 16px 32px;\n }\n /* stylelint-enable */\n`;\n\nexport const Button: React.SFC = props => {\n const className = getButtonClassNames(props);\n\n return (\n \n {props.children}\n \n );\n};\n\nexport const StyledTextButton = (props: IButtonDisplayProps) => {\n const StyledButton = styled(Btn)`\n ${buttonTextTheme};\n `;\n const className = getButtonClassNames(props);\n\n return ;\n};\n\nexport const TextButton: React.SFC = props => {\n const { className, ...restOfProps } = props;\n const textButtonClassNames = `${className} elc-button--text`;\n\n return (\n \n {props.children}\n \n );\n};\n\nexport const StyledOutlinedButton = (props: IButtonDisplayProps) => {\n const StyledButton = styled(Btn)`\n border-style: solid;\n border-width: 1px;\n ${buttonOutlinedTheme};\n `;\n const className = getButtonClassNames(props);\n\n return ;\n};\n\nexport const OutlinedButton: React.SFC = props => {\n const { className, ...restOfProps } = props;\n const outlinedButtonClassNames = `${className} elc-button--outlined`;\n\n return (\n \n {props.children}\n \n );\n};\n\nexport const LoadingButton: IButton = styled(Button).attrs({\n className: 'elc-button-spinner'\n})`\n position: relative;\n overflow: hidden;\n`;\nLoadingButton.displayName = 'LoadingButton';\n\nconst SpinnerContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n`;\n\nexport interface IButtonProps\n extends React.ButtonHTMLAttributes,\n IButtonDisplayProps {\n isLoading?: boolean;\n}\n\nconst LoadableButton: React.SFC = props => (\n \n {props.isLoading && (\n \n \n \n )}\n {props.children}\n \n);\n\nexport { LoadableButton };\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 classnames from 'classnames';\n\n// tslint:disable-next-line:export-name\nexport const classes = (component: string, ...classNames: (string | undefined)[]) =>\n classnames(`elc-${component}`, `js-${component}`, classNames);\n","/*!\n Copyright (c) 2018 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)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\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"],"sourceRoot":""}