{"version":3,"file":"src_exported_product-brief_ProductBrief_tsx.9cd01e9616f4bc986dd1.bundle.js","mappings":"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","sources":["webpack://elc-service-prodcat/./node_modules/@estee/elc-service/src/decorators/context/addTranslation.tsx","webpack://elc-service-prodcat/./src/internal/views/product-quickview/ProductQuickView.tsx","webpack://elc-service-prodcat/./src/exported/product-brief/ProductBrief.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ArrayMinOne } from '@estee/elc-universal-utils';\nimport { getRootMethods, ITranslations, requestTranslations } from './utils';\nimport {\n Context,\n ContextValueType,\n IProps as UpdateContextProvideProps,\n UpdateContextProvider\n} from './Context';\nimport { ContextMerger } from './ContextMerger';\n\ntype TranslationsType = { translations: ITranslations };\n\ninterface IProps extends UpdateContextProvideProps {\n translationFields: ArrayMinOne;\n}\n\nclass GetTranslation extends UpdateContextProvider {\n static displayName = 'GetTranslation';\n\n constructor(props: IProps) {\n super(props);\n\n const translations = getRootMethods().getTranslations(props.translationFields);\n if (translations) {\n this.hasValue = true;\n this.updateContextProvider({ translations });\n }\n }\n\n public async componentDidMount() {\n const { translationFields } = this.props;\n\n if (!this.hasValue) {\n const translationsResponse = await requestTranslations(translationFields);\n\n if (translationsResponse) {\n this.hasValue = true;\n getRootMethods().addTranslations(translationsResponse);\n\n this.updateContextProvider({ translations: translationsResponse });\n }\n }\n }\n}\n\ntype IAddTranslationProps = { translations?: ITranslations };\n\nexport function addTranslation(translationFields: ArrayMinOne) {\n getRootMethods().registerTranslationFields(translationFields);\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (WrappedComponent: any): any => (props: IAddTranslationProps) => (\n \n {({ updateProvider, translations }: ContextValueType) => (\n \n \n \n )}\n \n );\n}\n\ntype IConsumerProps = { translations?: ITranslations };\n\nexport function translationConsumer(translationFields: ArrayMinOne) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (WrappedComponent: any): any =>\n class extends React.Component {\n static displayName = 'translationConsumer';\n\n public render() {\n const translationsFromProps = this.props.translations;\n\n return (\n \n {({\n translations: translationsFromContext\n }: ContextValueType) => (\n (\n \n )}\n />\n )}\n \n );\n }\n };\n}\n","import * as React from 'react';\nimport { observer } from 'mobx-react';\nimport { ResponsiveModal } from '@estee/elc-responsive-modal';\nimport styled from 'styled-components';\nimport { RemoveIcon } from '@estee/elc-icons';\nimport { ITranslationsCollection, translate, configConsumer } from '@estee/elc-service';\nimport { CartLimitReachedModal } from '../cart-limit-modal/CartLimitReachedModal';\nimport { classes } from '../../utils/Classes';\nimport { ProductQuickViewController } from '../../controllers/ProductQuickViewController';\nimport { diContainer } from '~setup/diContainer';\nimport serviceNames from '~setup/ProductService';\nimport { Product } from '../../domain/entities/Product';\nimport { Sku } from '../../domain/entities/Sku';\nimport { IProductQuickviewConfig } from '../../interfaces/IProductQuickview';\nimport { OrderRender } from '@estee/elc-layouts';\nimport { getViewRegistry } from '../..//utils/orderableUtils/getViewRegistry';\nimport { IBaseFeatureData } from '../../interfaces/IOrderableComponents';\nimport classnames from 'classnames';\nimport { ComponentTypes } from '~constants/ComponentTypes';\n\nexport interface IProductQuickView {\n config?: IProductQuickviewConfig;\n translations?: ITranslationsCollection;\n onShadeSelect(name: string): void;\n onSizeSelect(name: string): void;\n onProductQuickViewClose(): void;\n product: Product;\n selectedSku: Sku;\n}\n\nconst Wrapper = styled.div`\n margin-top: 25px;\n display: inline-block;\n width: 100%;\n`;\n\nconst ProductQuickViewWrapper = styled(ResponsiveModal)`\n padding: 0;\n width: 96%;\n`;\n\nconst ProductQuickViewCloseButton = styled.button`\n cursor: pointer;\n float: right;\n border: none;\n outline: none;\n margin: 10px;\n [dir='rtl'] & {\n float: left;\n }\n`;\n\n@configConsumer([\n 'itemMaxQuantity',\n 'hideSizeWhenSingular',\n 'sizePicker',\n 'installments',\n 'freeShippingAndReturn',\n 'shortDescription',\n 'loyaltyLearnMore',\n 'sitewideOnsaleMessage',\n 'imageCarouselSettings',\n 'showSubDisplayName',\n 'componentElementsOrderConfig',\n 'shadeSwatches',\n 'showIncludeTaxLabel'\n])\n@translate([\n 'autoReplenishLabel',\n 'subscribeLabel',\n 'subscribeCopyLabel',\n 'selectFrequencyLabel',\n 'notifyWhenAvailable',\n 'taxIncluded',\n 'shipsBy',\n 'preorderNotAvailableMessage',\n 'discountedPricePerUnitMessage',\n 'discountPercentLabel',\n 'onSaleTodayLabel',\n 'closeLabel',\n 'quickViewButtonLabel'\n])\n@observer\nexport class ProductQuickView extends React.Component {\n public static displayName: string;\n private viewController: ProductQuickViewController;\n\n constructor(props: IProductQuickView) {\n super(props);\n\n this.viewController = diContainer.get(serviceNames.productQuickViewController);\n this.viewController.initialize(props.config || {});\n this.viewController.setProduct(props.product);\n this.viewController.setSelectedSkuId(props.selectedSku.skuId);\n }\n\n private closeProductQuickView = () => {\n this.props.onProductQuickViewClose();\n };\n\n private handleShadeSelect = (name: string) => {\n this.props.onShadeSelect(name);\n this.viewController.selectShade(name);\n };\n\n private handleSizeSelect = (name: string) => {\n this.props.onSizeSelect(name);\n this.viewController.selectSize(name);\n };\n\n public render() {\n const translations = this.props.translations as ITranslationsCollection;\n const { closeLabel, quickViewButtonLabel } = translations;\n const { productQuickview: productQuickviewConfig } =\n (this.props.config && this.props.config.componentElementsOrderConfig) || {};\n\n if (!productQuickviewConfig) {\n return null;\n }\n\n const { displayName } = this.viewController.data.product;\n\n const productQuickViewWrapperClassNames: string = classes('product-quick-view-wrapper');\n const productQuickViewCloseButtonClassNames: string = classes(\n 'product-quick-view-close-button'\n );\n const productQuickViewCloseButtonIconClassNames: string = classes(\n 'product-quick-view-close-button-icon'\n );\n const productQuickViewContainerWrapperClassNames: string = classes(\n 'product-quick-view-container-wrapper'\n );\n const productQuickViewContentClassNames: string = classes('product-quick-view-content');\n const productQuickViewContentOrderableClassNames: string = classes(\n 'product-quick-view-content-orderable'\n );\n\n const productQuickViewClassNames = classnames(\n productQuickViewContentClassNames,\n productQuickViewContentOrderableClassNames\n );\n\n const featureConfig: IBaseFeatureData = {\n ...this.viewController.data,\n translations: this.props.translations as ITranslationsCollection,\n setAutoReplenishOption: this.viewController.setAutoReplenishOption,\n getCustomSizeMedia: this.viewController.getCustomSizeMedia,\n navigateToProduct: this.viewController.navigateToProduct,\n handleShadeSelect: this.handleShadeSelect,\n handleSizeSelect: this.handleSizeSelect,\n emitSocialShareIconTriggered: this.viewController.emitSocialShareIconTriggered,\n selectShade: this.viewController.selectShade,\n handleLiveChatCTAClick: this.viewController.handleLiveChatCTAClick,\n handleFavoriteClick: this.viewController.handleFavoriteClick,\n productUpdateQuantity: this.viewController.productUpdateQuantity,\n closeModalAction: this.closeProductQuickView,\n clickAction: this.viewController.navigateToProduct,\n href: this.viewController.data.selectedProductUrl,\n componentType: ComponentTypes.PRODUCT_QUICKSHOP\n };\n\n return (\n \n \n \n \n \n\n
\n {Object.keys(productQuickviewConfig).map((sectionName: string) => (\n
\n (featureConfig)}\n />\n
\n ))}\n
\n \n \n
\n );\n }\n}\n","import * as React from 'react';\nimport { observer } from 'mobx-react';\nimport {\n ITranslationsCollection,\n configConsumer,\n addConfig,\n addContext,\n addTranslation,\n translationConsumer\n} from '@estee/elc-service';\nimport { OrderRender } from '@estee/elc-layouts';\nimport { root } from '@estee/elc-universal-utils';\nimport { classes } from '~utils/Classes';\nimport styled from 'styled-components';\nimport { getViewRegistry } from '~utils/orderableUtils/getViewRegistry';\nimport { IBaseFeatureData, IOrderConfigCollection } from '~interfaces/IOrderableComponents';\nimport { ProductBriefViewController } from '~controllers/ProductBriefViewController';\nimport { action, observable } from 'mobx';\nimport { CheckVisibility } from '@estee/elc-check-visibility';\nimport { productBriefTranslations } from '~utils/orderableUtils/translations';\nimport { productBriefconfigs } from '~utils/orderableUtils/configs';\nimport { ProductQuickView } from '../../internal/views/product-quickview/ProductQuickView';\nimport {\n IProductBriefConfig,\n IProductBrief,\n IProductBriefViewControllerData\n} from '~interfaces/IProductBrief';\nimport { diContainer } from '~setup/diContainer';\nimport serviceNames from '~setup/ProductService';\nimport { ComponentTypes } from '~constants/ComponentTypes';\nimport { mergeConfigs } from '~utils/ConfigUtils';\nimport { PRODUCT_BRIEF } from '~constants/DataTestIdAttributes';\n\ninterface IWrapperProps {\n maxHeight: number;\n}\n\nconst ProductBriefWrapper = styled.div``;\nconst InitialWrapper = styled.div`\n height: ${(props) => (props.maxHeight ? `${props.maxHeight}px` : '100%')};\n`;\n\ntype IProductBriefData = IProductBriefViewControllerData;\n\nexport interface IProductBriefFeature extends IBaseFeatureData, IProductBriefData {}\n\n@addContext()\n@addConfig(\n ['prodcatConfig', 'features', 'itemMaxQuantity', 'productBenefitTypes', 'showBestShadeMessage'],\n mergeConfigs\n)\n@configConsumer(productBriefconfigs)\n@addTranslation(productBriefTranslations)\n@translationConsumer(productBriefTranslations)\n@observer\nclass ProductBrief extends React.Component {\n @observable private isItemInView: boolean = false;\n public static displayName: string;\n private productBriefOrder: IOrderConfigCollection;\n @observable private viewController: ProductBriefViewController;\n private productBriefRef: React.RefObject;\n\n constructor(props: IProductBrief) {\n super(props);\n const { config: briefConfig } = this.props;\n const { componentElementsOrderConfig } = briefConfig as IProductBriefConfig;\n const productBriefOrderConfig =\n componentElementsOrderConfig && componentElementsOrderConfig.productBrief;\n this.productBriefOrder = productBriefOrderConfig || {};\n this.viewController = diContainer.get(serviceNames.productBriefViewController);\n this.viewController.initialize(briefConfig);\n this.productBriefRef = React.createRef();\n }\n\n @action\n private onVisible = () => {\n this.isItemInView = true;\n };\n\n public async componentDidMount() {\n if (!this.viewController.isLoaded) {\n await this.viewController.initialize(this.props.config);\n }\n }\n\n private renderQuickView() {\n const quickViewProps = {\n product: this.viewController.product,\n onShadeSelect: this.viewController.handleShadeSelect,\n onSizeSelect: this.viewController.handleSizeSelect,\n onProductQuickViewClose: this.viewController.closeProductQuickView,\n selectedSku: this.viewController.selectedSku\n };\n\n return ;\n }\n\n private renderBrief() {\n if (!this.viewController.isLoaded) {\n return null;\n }\n const productBriefClassNames = classes('product-brief', this.props.className);\n const {\n product: { productId }\n } = this.viewController;\n const { lazyLoadImageDesktop, lazyLoadImageMobile } = this.props.config;\n\n const clickableProps = this.props.config.enableClickableBrief\n ? {\n clickAction: this.viewController.navigateToProduct,\n href: this.viewController.data.selectedProductUrl\n }\n : {};\n\n const featureConfig: IBaseFeatureData = {\n ...this.viewController.data,\n translations: this.props.translations as ITranslationsCollection,\n setAutoReplenishOption: this.viewController.setAutoReplenishOption,\n getCustomSizeMedia: this.viewController.getCustomSizeMedia,\n navigateToProduct: this.viewController.navigateToProduct,\n onQuickViewButtonClick: this.viewController.onQuickViewButtonClick,\n handleShadeSelect: this.viewController.handleShadeSelect,\n handleSizeSelect: this.viewController.handleSizeSelect,\n emitSocialShareIconTriggered: this.viewController.emitSocialShareIconTriggered,\n selectShade: this.viewController.selectShade,\n handleLiveChatCTAClick: this.viewController.handleLiveChatCTAClick,\n handleFavoriteClick: this.viewController.handleFavoriteClick,\n toggleDescription: this.viewController.toggleDescription,\n productUpdateQuantity: this.viewController.productUpdateQuantity,\n ...clickableProps,\n lazyLoadImageDesktop,\n lazyLoadImageMobile,\n componentType: ComponentTypes.PRODUCT_BRIEF\n };\n const { isProductQuickViewOpen, selectedSku } = this.viewController.data;\n\n const skuBaseId = selectedSku.perlgem.SKU_BASE_ID || selectedSku.skuId;\n const productCode = selectedSku.skuId;\n const mediumImg = selectedSku?.media?.medium[0]?.src;\n\n return (\n <>\n \n {Object.keys(this.productBriefOrder).map((sectionName: string) => (\n
\n (featureConfig)}\n />\n
\n ))}\n \n {isProductQuickViewOpen && this.renderQuickView()}\n \n );\n }\n\n private renderBriefWrapper() {\n const { maxHeight = 0 } = this.props.config;\n const briefWrapperClassNames = classes('product-brief-wrapper');\n\n return (\n \n \n \n );\n }\n\n public render() {\n const { lazyLoadGridItem } = this.props.config as IProductBriefConfig;\n\n return lazyLoadGridItem && !this.isItemInView && !root.__ssr\n ? this.renderBriefWrapper()\n : this.renderBrief();\n }\n}\n\nProductBrief.displayName = 'ProductBrief';\n\nexport default ProductBrief;\n"],"names":["GetTranslation","constructor","props","super","translations","getTranslations","translationFields","this","hasValue","updateContextProvider","componentDidMount","translationsResponse","addTranslations","addTranslation","registerTranslationFields","WrappedComponent","updateProvider","contextHasValue","Boolean","translationConsumer","render","translationsFromProps","translationsFromContext","object","keys","requestedTranslations","displayName","Wrapper","ProductQuickViewWrapper","ResponsiveModal","ProductQuickViewCloseButton","ProductQuickView","closeProductQuickView","onProductQuickViewClose","handleShadeSelect","name","onShadeSelect","viewController","selectShade","handleSizeSelect","onSizeSelect","selectSize","diContainer","initialize","config","setProduct","product","setSelectedSkuId","selectedSku","skuId","closeLabel","quickViewButtonLabel","productQuickview","productQuickviewConfig","componentElementsOrderConfig","data","productQuickViewWrapperClassNames","productQuickViewCloseButtonClassNames","productQuickViewCloseButtonIconClassNames","productQuickViewContainerWrapperClassNames","productQuickViewContentClassNames","productQuickViewContentOrderableClassNames","productQuickViewClassNames","featureConfig","setAutoReplenishOption","getCustomSizeMedia","navigateToProduct","emitSocialShareIconTriggered","handleLiveChatCTAClick","handleFavoriteClick","productUpdateQuantity","closeModalAction","clickAction","href","selectedProductUrl","componentType","ComponentTypes","className","isOpen","title","deactivateModal","onMaskClick","underlayClickExits","value","onClick","RemoveIcon","Object","map","sectionName","key","OrderRender","orderConfig","serviceName","viewRegistry","getViewRegistry","CartLimitReachedModal","ProductBriefWrapper","InitialWrapper","maxHeight","ProductBrief","isItemInView","onVisible","briefConfig","productBriefOrderConfig","productBrief","productBriefOrder","productBriefRef","isLoaded","renderQuickView","quickViewProps","renderBrief","productBriefClassNames","productId","lazyLoadImageDesktop","lazyLoadImageMobile","clickableProps","enableClickableBrief","onQuickViewButtonClick","toggleDescription","isProductQuickViewOpen","skuBaseId","perlgem","SKU_BASE_ID","productCode","mediumImg","media","medium","src","ref","renderBriefWrapper","briefWrapperClassNames","CheckVisibility","lazyLoadGridItem","addContext","addConfig"],"sourceRoot":""}