{"version":3,"file":"static/js/16.61c5ecfc094793cd0ca9.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/citta-anchor/citta-anchor.tsx?89f0","webpack://Citta2.0/./src/modules/citta-anchor/citta-anchor.view.tsx?b8ff","webpack://Citta2.0/./src/modules/citta-competition-form/citta-competition-form.tsx?b536","webpack://Citta2.0/./src/modules/citta-competition-form/citta-competition-form.view.tsx?95bb","webpack://Citta2.0/./src/themes/citta/views/media-gallery.view.tsx?99ca","webpack://Citta2.0/./src/themes/citta/views/reviews-list.view.tsx?dfc8","webpack://Citta2.0/./src/themes/citta/views/sign-up.view.tsx?be7a","webpack://Citta2.0/./src/modules/cookie-compliance/components/accept-button.tsx?8e73","webpack://Citta2.0/./src/modules/cookie-compliance/components/links.tsx?97b8","webpack://Citta2.0/./src/modules/cookie-compliance/cookie-compliance.tsx?02ac","webpack://Citta2.0/./src/modules/cookie-compliance/cookie-compliance.view.tsx?a33f","webpack://Citta2.0/./src/modules/iframe/iframe.tsx?65fe","webpack://Citta2.0/./src/modules/iframe/iframe.view.tsx?a7d6","webpack://Citta2.0/./src/modules/spacer/spacer.tsx?7565","webpack://Citta2.0/./src/modules/spacer/spacer.view.tsx?1f15"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ICittaAnchorConfig, ICittaAnchorProps } from './citta-anchor.props.autogenerated';\r\n\r\nexport interface ICittaAnchorViewProps extends ICittaAnchorProps {\r\n Anchor: INodeProps;\r\n}\r\n\r\n/**\r\n *\r\n * CittaAnchor component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaAnchor extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n\r\n const anchorId = config && config.anchorName && config.anchorName.replace(/\\s/g, '');\r\n\r\n const viewProps: ICittaAnchorViewProps = {\r\n ...(this.props as ICittaAnchorProps),\r\n\r\n Anchor: {\r\n id: anchorId,\r\n className: ''\r\n }\r\n };\r\n return this.props.renderView(viewProps);\r\n }\r\n}\r\n\r\nexport default CittaAnchor;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICittaAnchorViewProps } from './citta-anchor';\r\n\r\nexport default (props: ICittaAnchorViewProps) => {\r\n const { Anchor } = props;\r\n return (\r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\nimport { ICittaCompetitionFormData } from './citta-competition-form.data';\r\nimport { ICittaCompetitionFormProps } from './citta-competition-form.props.autogenerated';\r\n\r\ninterface ICittaCompetitionFormFormState {\r\n firstName: string;\r\n lastName: string;\r\n emailAddress: string;\r\n country: string;\r\n additionalText: string;\r\n termsAndContitionsChecked: boolean;\r\n privacyPolicyChecked: boolean;\r\n eAValError: boolean;\r\n eAError: boolean;\r\n fNError: boolean;\r\n lNError: boolean;\r\n tsCsError: boolean;\r\n rCCError: boolean;\r\n reqError: boolean;\r\n responseReceived: boolean;\r\n responseError: boolean;\r\n responseSuccess: boolean;\r\n showResponseSuccess: boolean;\r\n reCaptchaChecked: boolean;\r\n charactersLeft?: number;\r\n firstNameErrorClass: string;\r\n lastNameErrorClass: string;\r\n emailErrorClass: string;\r\n tsCsErrorClass: string;\r\n}\r\n\r\nexport interface ICittaCompetitionFormForm {\r\n FormWrapper: INodeProps;\r\n FormContainer: INodeProps;\r\n firstAndLastNameInput: React.ReactNode;\r\n emailInput: React.ReactNode;\r\n countryInput: React.ReactNode;\r\n additionalTextInput: React.ReactNode;\r\n checkboxTermsAndConditions: React.ReactNode;\r\n checkboxPrivacyPolicy: React.ReactNode;\r\n reCaptcha: React.ReactNode;\r\n subscribeButtton: React.ReactNode;\r\n subscribeThanks: React.ReactNode;\r\n}\r\n\r\n\r\nexport interface ICittaCompetitionFormViewProps extends ICittaCompetitionFormProps {\r\n SubscribeWrapper: IModuleProps;\r\n subscribeResponse: React.ReactNode;\r\n subscribeForm: ICittaCompetitionFormForm;\r\n responseSuccess: boolean;\r\n showResponseSuccess: boolean;\r\n formErrors: React.ReactNode;\r\n formErrorsNodeProps: INodeProps;\r\n successResponse: React.ReactNode;\r\n showSuccessResponse: boolean;\r\n successResponseNodeProps: INodeProps;\r\n}\r\n\r\n/**\r\n *\r\n * CittaCompetitionForm component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaCompetitionForm extends React.PureComponent, ICittaCompetitionFormFormState> {\r\n private _FirstNameInputRef: React.RefObject;\r\n private _LastNameInputRef: React.RefObject;\r\n private _EmailAddressInputRef: React.RefObject;\r\n private _AdditionalTextInputRef: React.RefObject;\r\n private _TermsAndContitionsRef: React.RefObject;\r\n private _PrivacyPolicyRef: React.RefObject;\r\n private _recaptchaRef: React.RefObject;\r\n\r\n private firstNameValue: boolean = false;\r\n private lastNameValue: boolean = false;\r\n private emailAddressValue: boolean = false;\r\n private formInputValues: boolean = false;\r\n private responseMessage: string | undefined;\r\n private moduleClassName: string = 'newsletterSubWrap';\r\n private recaptchaErrorMessage: string | undefined;\r\n\r\n constructor(props: ICittaCompetitionFormProps) {\r\n super(props);\r\n this._FirstNameInputRef = React.createRef();\r\n this._LastNameInputRef = React.createRef();\r\n this._EmailAddressInputRef = React.createRef();\r\n this._AdditionalTextInputRef = React.createRef();\r\n this._TermsAndContitionsRef = React.createRef();\r\n this._PrivacyPolicyRef = React.createRef();\r\n this._recaptchaRef = React.createRef();\r\n this._handleSubmit = this._handleSubmit.bind(this);\r\n\r\n this.state = {\r\n firstName: '',\r\n lastName: '',\r\n emailAddress: '',\r\n country: 'NZ',\r\n additionalText: '',\r\n termsAndContitionsChecked: false,\r\n privacyPolicyChecked: false,\r\n eAValError: false,\r\n fNError: false,\r\n lNError: false,\r\n eAError: false,\r\n tsCsError: false,\r\n rCCError: false,\r\n reqError: false,\r\n responseReceived: false,\r\n responseError: false,\r\n reCaptchaChecked: false,\r\n responseSuccess: false,\r\n showResponseSuccess: false,\r\n charactersLeft: Number(this.props.resources.messageCharactersLimit) || 140,\r\n firstNameErrorClass: 'hide',\r\n lastNameErrorClass: 'hide',\r\n emailErrorClass: 'hide',\r\n tsCsErrorClass: 'hide'\r\n };\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const viewProps: ICittaCompetitionFormViewProps = {\r\n ...(this.props as ICittaCompetitionFormProps),\r\n SubscribeWrapper: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName, this.props.config.className)\r\n },\r\n subscribeResponse: this._getSubmitResponse(),\r\n subscribeForm: this._renderForm(),\r\n responseSuccess: this.state.responseSuccess,\r\n showResponseSuccess: this.state.showResponseSuccess,\r\n formErrors: this._renderErrors(),\r\n formErrorsNodeProps: {\r\n className: 'competition-form-errors'\r\n },\r\n successResponse: this._renderSuccessResponse(),\r\n showSuccessResponse: this.state.responseSuccess,\r\n successResponseNodeProps: {\r\n className: 'competition-form-success'\r\n }\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _getSubmitResponse(): React.ReactNode {\r\n return (\r\n this.state.responseReceived && this.responseMessage !== '' || undefined\r\n ? (\r\n
\r\n

{this.responseMessage}

\r\n
\r\n )\r\n : null\r\n );\r\n }\r\n \r\n private _renderSuccessResponse(): React.ReactNode {\r\n return (\r\n this.state.responseSuccess\r\n ? (\r\n
\r\n

{this.props.config.successTextResponse}

\r\n
\r\n )\r\n : null\r\n );\r\n }\r\n \r\n \r\n private onRecaptchaChange = (value: string | null) => {\r\n if (value) {\r\n this.setState({ reCaptchaChecked: true, rCCError: false });\r\n } else {\r\n this.setState({ reCaptchaChecked: false });\r\n }\r\n }\r\n\r\n private _renderForm(): ICittaCompetitionFormForm {\r\n return {\r\n FormWrapper: {\r\n className: 'competition-form',\r\n },\r\n FormContainer: {\r\n className: 'competition-form-div',\r\n },\r\n firstAndLastNameInput: this._renderFirstAndLastNameInput(),\r\n emailInput: this._renderEmailInput(),\r\n countryInput: this._renderCountryInput(),\r\n additionalTextInput: this._renderAdditionalTextInput(),\r\n checkboxTermsAndConditions: this._renderCheckboxTermsAndConditions(),\r\n checkboxPrivacyPolicy: this._renderCheckboxPrivacyPolicy(),\r\n reCaptcha: this._renderReCaptcha(),\r\n subscribeButtton: this._renderSubmitButton(),\r\n subscribeThanks: this._renderSubmitThanks()\r\n };\r\n }\r\n\r\n private _renderFirstAndLastNameInput(): React.ReactNode {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n private _renderAdditionalTextInput(): React.ReactNode {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {`${this.state.charactersLeft} ${this.props.resources.messageCharactersLimitLeftText}`}\r\n
\r\n
\r\n );\r\n }\r\n private _onEditMessage = (event: React.KeyboardEvent): void => {\r\n const charactersLeft: number = this.state.charactersLeft || 0;\r\n const key: string = event.key.length > 1 ? '' : event.key;\r\n const textArea: HTMLTextAreaElement | null = this._AdditionalTextInputRef && this._AdditionalTextInputRef.current && this._AdditionalTextInputRef.current;\r\n const message = this._AdditionalTextInputRef && this._AdditionalTextInputRef.current && this._AdditionalTextInputRef.current.value || '';\r\n let messageEnterd: string = message || key;\r\n const charactersLimit = this.props.config.additionalTextCharactersLimit || 140;\r\n\r\n if (charactersLeft === 0 && event.which !== 8) {\r\n event.preventDefault();\r\n }\r\n if (charactersLeft <= 0) {\r\n messageEnterd = messageEnterd.substring(0, charactersLimit);\r\n textArea!.value = messageEnterd;\r\n }\r\n if (key.length === 1 || event.which === 8 || event.which === 46) {\r\n this.setState({\r\n additionalText: messageEnterd,\r\n charactersLeft: (charactersLimit - messageEnterd.length) >= 0 ? charactersLimit - messageEnterd.length : 0\r\n });\r\n }\r\n }\r\n \r\n private _renderEmailInput(): React.ReactNode {\r\n return (\r\n
\r\n {this.state.eAError || this.state.eAValError ? this._renderAlert('email-address-input') : ''}\r\n \r\n
\r\n );\r\n }\r\n\r\n private _renderCountryInput() : React.ReactNode {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n \r\n }\r\n\r\n private _renderAlert(className: string): JSX.Element {\r\n return <>;\r\n }\r\n\r\n private _renderCheckboxTermsAndConditions(): React.ReactNode {\r\n return (\r\n
\r\n {this.state.tsCsError ? this._renderAlert('checkbox-privacy-policy') : ''}\r\n
\r\n \r\n \r\n

{this.props.config.termsAndConditionsText}Terms and Conditions

\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n private _renderCheckboxPrivacyPolicy(): React.ReactNode {\r\n return (\r\n
\r\n {this.state.tsCsError ? this._renderAlert('checkbox-privacy-policy') : ''}\r\n
\r\n \r\n \r\n

{this.props.config.privacyPolicyText}Privacy Policy

\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n\r\n private _renderReCaptcha(): React.ReactNode {\r\n return (\r\n
\r\n {\r\n this.props.config.reCaptchaOption ?
\r\n {this.state.rCCError ? this._renderRecaptchaAlert('recaptcha-error') : ''}\r\n \r\n
: null\r\n }\r\n
\r\n );\r\n }\r\n \r\n private _renderRecaptchaAlert(className: string): JSX.Element {\r\n\r\n if (this.props.config.reCaptchaOption) {\r\n if (!this.state.reCaptchaChecked) {\r\n this.recaptchaErrorMessage = this.props.resources.recaptchaErrorMessage;\r\n }\r\n }\r\n\r\n const rCCError = this.state.rCCError;\r\n return (\r\n <>\r\n {rCCError && (\r\n \r\n {\r\n this.recaptchaErrorMessage &&\r\n <>\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private _renderSubmitButton(): React.ReactNode {\r\n return (\r\n
\r\n {this.props.config.submitButtonLabel}\r\n \r\n
\r\n );\r\n }\r\n\r\n private _renderSubmitThanks(): React.ReactNode {\r\n return (\r\n
\r\n
\r\n Thanks!\r\n
\r\n
\r\n );\r\n }\r\n\r\n private _showErrors = (): void => {\r\n this.setState({\r\n emailErrorClass: this._checkEmailError() ? 'show' : 'hide',\r\n firstNameErrorClass: (this._FirstNameInputRef.current && this._FirstNameInputRef.current.value.length === 0) ? 'show' : 'hide',\r\n lastNameErrorClass: (this._LastNameInputRef.current && this._LastNameInputRef.current.value.length === 0) ? 'show' : 'hide',\r\n tsCsErrorClass: (this._TermsAndContitionsRef.current && !this._TermsAndContitionsRef.current.checked) ? 'show' : 'hide'\r\n });\r\n }\r\n\r\n private _checkEmailError = (): boolean => {\r\n const email: string = this._EmailAddressInputRef.current && this._EmailAddressInputRef.current.value || '';\r\n if (email.length === 0) {\r\n return true;\r\n } else {\r\n return !this._isEmailValid(email);\r\n }\r\n }\r\n\r\n private _renderErrors = (): JSX.Element => {\r\n const {resources} = this.props;\r\n return (\r\n <>\r\n
\r\n {resources.firstNameError}\r\n
\r\n
\r\n {resources.lastNameError}\r\n
\r\n
\r\n {resources.emailError}\r\n
\r\n
\r\n {resources.tsCsError}\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n private _handleChange = (name: string) => (e: React.ChangeEvent | React.ChangeEvent) => {\r\n const value = e.target.value;\r\n switch (name) {\r\n case 'firstName': {\r\n this.setState({ firstName: value, fNError: false, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'lastName': {\r\n this.setState({ lastName: value, lNError: false, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'emailAddress': {\r\n this.setState({ emailAddress: value, eAError: false, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'country': {\r\n this.setState({ country: value, eAError: false, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'additionalText': {\r\n this.setState({ additionalText: value, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'termsAndConditions': {\r\n const isChecked = this._TermsAndContitionsRef.current && this._TermsAndContitionsRef.current.checked ? this._TermsAndContitionsRef.current.checked : false;\r\n const recaptchaWrapper = document.querySelector('.recaptcha');\r\n recaptchaWrapper && recaptchaWrapper.classList.toggle('newsletter-recapture-visable', !isChecked);\r\n this.setState({ termsAndContitionsChecked: isChecked, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n case 'privacyPolicy': {\r\n const isChecked = this._PrivacyPolicyRef.current && this._PrivacyPolicyRef.current.checked ? this._PrivacyPolicyRef.current.checked : false;\r\n this.setState({ privacyPolicyChecked: isChecked, reqError: false, eAValError: false, tsCsError: false });\r\n break;\r\n }\r\n default: {\r\n console.log('No input box changes');\r\n this.setState({ reqError: false, eAValError: false, tsCsError: false });\r\n }\r\n }\r\n }\r\n\r\n private _isEmailValid = (email: string): boolean => {\r\n const regex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return regex.test(email);\r\n };\r\n\r\n private async _handleSubmit(e: React.MouseEvent | React.KeyboardEvent | React.FormEvent): Promise {\r\n this._showErrors();\r\n \r\n this.firstNameValue = (this._FirstNameInputRef && this._FirstNameInputRef.current && this._FirstNameInputRef.current.value) ? true : false;\r\n this.lastNameValue = (this._LastNameInputRef && this._LastNameInputRef.current && this._LastNameInputRef.current.value) ? true : false;\r\n this.emailAddressValue = (this._EmailAddressInputRef && this._EmailAddressInputRef.current && this._EmailAddressInputRef.current.value) ? true : false; \r\n\r\n const fN = (this._FirstNameInputRef && this._FirstNameInputRef.current && this._FirstNameInputRef.current.value) ? this._FirstNameInputRef.current.value : '';\r\n const lN = (this._LastNameInputRef && this._LastNameInputRef.current && this._LastNameInputRef.current.value) ? this._LastNameInputRef.current.value : '';\r\n const aT = (this._AdditionalTextInputRef && this._AdditionalTextInputRef.current && this._AdditionalTextInputRef.current.value) ? this._AdditionalTextInputRef.current.value : '';\r\n const eA = (this._EmailAddressInputRef && this._EmailAddressInputRef.current && this._EmailAddressInputRef.current.value) ? this._EmailAddressInputRef.current.value : '';\r\n const cT = this.state.country;\r\n\r\n const eAVal = this._EmailAddressInputRef.current!.value;\r\n const oI = this._PrivacyPolicyRef.current!.checked;\r\n\r\n if (!this.firstNameValue) {\r\n this.setState({\r\n fNError: true,\r\n reqError: true\r\n });\r\n } else if (!this.lastNameValue) {\r\n this.setState({\r\n lNError: true,\r\n reqError: true\r\n });\r\n } else if (!this.emailAddressValue) {\r\n this.setState({\r\n eAError: true,\r\n reqError: true\r\n });\r\n } else if (!this._isEmailValid(eAVal)) {\r\n this.setState({\r\n eAValError: true\r\n });\r\n } else if (this.props.config.reCaptchaOption && !this.state.reCaptchaChecked) {\r\n this.setState({\r\n rCCError: true\r\n });\r\n } else if (!this._TermsAndContitionsRef.current!.checked) {\r\n this.setState({\r\n termsAndContitionsChecked: false,\r\n tsCsError: true\r\n });\r\n } else {\r\n this.formInputValues = (this.emailAddressValue) ? true : false;\r\n if (this.formInputValues && this.state.termsAndContitionsChecked && !this.state.eAValError) {\r\n try {\r\n await this._postEntry(fN, lN, eA, aT, oI, cT || 'NZ');\r\n\r\n this._clearValues();\r\n this._recaptchaRef.current?.reset();\r\n \r\n } catch (e) {\r\n console.log(e, 'Please fill in the form!');\r\n }\r\n }\r\n }\r\n }\r\n\r\n private async _postEntry(firstName: string, lastName: string, email: string, additionalText: string, optIn: boolean, country: string): Promise {\r\n const urlSearchParams = new URLSearchParams(window.location.search);\r\n const params = urlSearchParams.get('store');\r\n // NB in test the post body will need to look like this: { content: { emailAddress: email } }\r\n /* tslint:disable */\r\n\r\n let emarsysGroupId = this.props.config.emarsysGroupId, \r\n emarsysCompetitionGroupId = this.props.config.emarsysCompetitionGroupId,\r\n emarsysGroupIdAdditionalText = this.props.config.emarsysGroupIdAdditionalText,\r\n emarsysStoreNameGroupId = this.props.config.emarsysStoreNameGroupId;\r\n\r\n if (country === 'AU') {\r\n emarsysGroupId = this.props.config.emarsysGroupIdAU; \r\n emarsysCompetitionGroupId = this.props.config.emarsysCompetitionGroupIdAU;\r\n emarsysGroupIdAdditionalText = this.props.config.emarsysGroupIdAdditionalTextAU;\r\n emarsysStoreNameGroupId = this.props.config.emarsysStoreNameGroupIdAU;\r\n }\r\n\r\n const response = await MsDyn365.commerceApiRequest(\r\n this.props.context.request,\r\n 'PostContactEvent',\r\n 'post',\r\n {\r\n firstName: firstName,\r\n lastName: lastName,\r\n additionalText: additionalText,\r\n emailAddress: email,\r\n country: country,\r\n emarsysGroupId: emarsysGroupId,\r\n emarsysCompetitionGroupId: emarsysCompetitionGroupId,\r\n emarsysGroupIdAdditionalText: emarsysGroupIdAdditionalText,\r\n storeName: params || '',\r\n emarsysStoreNameGroupId: emarsysStoreNameGroupId,\r\n optIn: optIn\r\n }\r\n \r\n ) as any;\r\n \r\n this.responseMessage = response?.data.Message;\r\n\r\n if (response?.data.Result !== 'Error') {\r\n this.setState({\r\n responseReceived: true,\r\n responseError: response?.data.Result === 'Error',\r\n responseSuccess: response?.data.Result !== 'Error',\r\n showResponseSuccess: true,\r\n emailAddress: '',\r\n firstName: '',\r\n lastName: '',\r\n additionalText: '',\r\n termsAndContitionsChecked: false,\r\n reqError: false,\r\n eAValError: false,\r\n rCCError: false\r\n });\r\n\r\n // if (params) {\r\n // setTimeout(() => { \r\n // window.location.reload();\r\n // }, 6000);\r\n // } else {\r\n // const baseUrl = window.location.origin;\r\n // if (baseUrl.length) {\r\n // window.location.assign(`${baseUrl}${this.props.config.successUrl}`);\r\n // }\r\n // }\r\n } else {\r\n this.setState({\r\n responseReceived: true,\r\n responseError: response?.data.Result === 'Error',\r\n responseSuccess: response?.data.Result !== 'Error',\r\n emailAddress: '',\r\n termsAndContitionsChecked: false,\r\n reqError: false,\r\n eAValError: false,\r\n rCCError: false\r\n });\r\n }\r\n\r\n // if (response?.data.Result !== 'Error') {\r\n // // const baseUrl = window.location.origin;\r\n // // if (baseUrl.length) {\r\n // // // window.location.assign(`${baseUrl}${this.props.config.successUrl}`);\r\n // // }\r\n // } else {\r\n // this.setState({\r\n // responseReceived: true,\r\n // responseError: response?.data.Result === 'Error',\r\n // responseSuccess: response?.data.Result !== 'Error',\r\n // emailAddress: '',\r\n // termsAndContitionsChecked: false,\r\n // reqError: false,\r\n // eAValError: false,\r\n // rCCError: false\r\n // });\r\n // }\r\n /* tslint:enable */\r\n }\r\n\r\n private _clearValues(): void {\r\n if (this._TermsAndContitionsRef.current) {\r\n this._TermsAndContitionsRef.current.checked = false;\r\n const recaptchaWrapper = document.querySelector('.recaptcha');\r\n recaptchaWrapper && recaptchaWrapper.classList.toggle('newsletter-recapture-visable', true);\r\n }\r\n if (this._PrivacyPolicyRef.current) {\r\n this._PrivacyPolicyRef.current.checked = false;\r\n }\r\n if (this._EmailAddressInputRef.current) {\r\n this._EmailAddressInputRef.current!.value = '';\r\n }\r\n if (this._FirstNameInputRef.current) {\r\n this._FirstNameInputRef.current!.value = '';\r\n }\r\n if (this._LastNameInputRef.current) {\r\n this._LastNameInputRef.current!.value = '';\r\n }\r\n if (this._AdditionalTextInputRef.current) {\r\n this._AdditionalTextInputRef.current!.value = '';\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default CittaCompetitionForm;\r\n\r\n\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICittaCompetitionFormViewProps } from './citta-competition-form';\r\n\r\n/**\r\n *\r\n * ICittaProductSkuView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class ICittaCompetitionFormView extends React.PureComponent {\r\n\r\n public render(): JSX.Element | null {\r\n const { SubscribeWrapper, subscribeResponse, subscribeForm, responseSuccess, showResponseSuccess, formErrors, formErrorsNodeProps, successResponseNodeProps, showSuccessResponse, successResponse } = this.props;\r\n const { \r\n FormWrapper,\r\n FormContainer,\r\n firstAndLastNameInput,\r\n emailInput,\r\n countryInput,\r\n additionalTextInput,\r\n checkboxTermsAndConditions,\r\n checkboxPrivacyPolicy,\r\n subscribeButtton,\r\n reCaptcha,\r\n subscribeThanks\r\n } = subscribeForm;\r\n return (\r\n \r\n {subscribeResponse}\r\n {showSuccessResponse ?\r\n \r\n {successResponse}\r\n \r\n : \r\n \r\n {firstAndLastNameInput}\r\n {emailInput}\r\n {additionalTextInput}\r\n {countryInput}\r\n {checkboxTermsAndConditions}\r\n {checkboxPrivacyPolicy}\r\n {reCaptcha}\r\n {responseSuccess && showResponseSuccess ? subscribeThanks : subscribeButtton}\r\n \r\n \r\n {formErrors}\r\n \r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\nexport default ICittaCompetitionFormView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IImageData, IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport { IMediaGalleryThumbnailItemViewProps,\r\n IMediaGalleryThumbnailsViewProps,\r\n IMediaGalleryViewProps\r\n} from '@msdyn365-commerce-modules/media-gallery';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, KeyCodes, Module, Node, NodeTag } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport React from 'react';\r\n\r\n/**\r\n * Render the thumbnail item images.\r\n * @param thumbnail - The carousel thumbnail line props.\r\n * @returns Return HTML having thumnailcontainer props with image.\r\n */\r\nconst renderThumbnailItem = (thumbnail: IMediaGalleryThumbnailItemViewProps): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery.tsx file\r\n const { ThumbnailItemContainerProps, Picture } = thumbnail;\r\n\r\n return (\r\n \r\n {Picture}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Gets the thumbnail item to display media gallery images.\r\n * @param image - The media gallery images.\r\n * @param imageSettings - Image settings for the image gallery items.\r\n * @param imageId - Image id.\r\n * @param modifiedActiveIndex - Modified Index of the images when selection changes.\r\n * @param props - The Media gallery view props from business layer.\r\n * @returns Return thumbnail view props which will be used to render images.\r\n */\r\nconst GetThumbnailItemComponent = (\r\n image: IImageData,\r\n imageSettings: IImageSettings,\r\n imageId: number,\r\n modifiedActiveIndex: number,\r\n props: IMediaGalleryViewProps\r\n): IMediaGalleryThumbnailItemViewProps => {\r\n\r\n /**\r\n * OnClick method of media gallery item.\r\n * */\r\n const onClick = () => {\r\n // @ts-ignore\r\n props.callbackToggle?.();\r\n // @ts-ignore\r\n props.callbackThumbnailClick?.(imageId);\r\n props.state.activeIndex = imageId;\r\n };\r\n\r\n const classes = classnames(\r\n 'ms-media-gallery__thumbnail-item',\r\n modifiedActiveIndex === imageId ? 'ms-media-gallery__thumbnail-item-active' : ''\r\n );\r\n\r\n /**\r\n * Keydown event of media gallery item.\r\n * @param event - React.KeyboardEvent.\r\n * */\r\n const handleKeyDown = (event: React.KeyboardEvent) => {\r\n if (event.keyCode === KeyCodes.Enter) {\r\n event.preventDefault();\r\n onClick();\r\n }\r\n };\r\n\r\n return {\r\n ThumbnailItemContainerProps: {\r\n tag: 'li' as NodeTag,\r\n className: classes,\r\n role: 'presentation',\r\n key: imageId\r\n },\r\n Picture: (\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n )\r\n };\r\n};\r\n\r\n/**\r\n * Gets the empty thumbnail item to display media gallery images.\r\n * @param imageSettings - Image settings for the image gallery items.\r\n * @param props - The Media gallery view props from business layer.\r\n * @returns Return thumbnail view props which will be used to render empty images.\r\n */\r\nconst GetEmptyThumbnailItemComponent = (imageSettings: IImageSettings, props: IMediaGalleryViewProps): IMediaGalleryThumbnailItemViewProps => {\r\n return {\r\n ThumbnailItemContainerProps: {\r\n tag: 'li' as NodeTag,\r\n className: 'ms-media-gallery__thumbnail-item',\r\n role: 'tab',\r\n tabIndex: 0,\r\n key: 0,\r\n 'aria-label': '',\r\n 'aria-selected': true\r\n },\r\n Picture: (\r\n \r\n )\r\n };\r\n};\r\n\r\n/**\r\n * Update media gallery items method.\r\n * @param items - The media gallery thumbnail item view props.\r\n * @returns The IImageData array.\r\n */\r\nconst getMediaGalleryItems = (items?: IMediaGalleryThumbnailItemViewProps[]): IImageData[] | undefined => {\r\n return items?.map(item => {\r\n return {\r\n altText: item.Picture.props.altText,\r\n src: item.Picture.props.src\r\n };\r\n });\r\n};\r\n\r\nconst defaultThumbnailImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=295&h=295&q=80&m=6&f=jpg', w: 295, h: 295 },\r\n xl: { q: 'w=295&h=295&q=80&m=6&f=jpg', w: 295, h: 295 }\r\n },\r\n lazyload: true,\r\n cropFocalRegion: true\r\n};\r\n\r\n/**\r\n * Render the Media gallery thumbnails to represent images in grid view.\r\n * @param thumbnails - The thumbnail view props.\r\n * @param props - The media gallery view props.\r\n * @returns - The single slide carousel component to render as media gallery image.\r\n */\r\nconst renderThumbnails = (\r\n thumbnails: IMediaGalleryThumbnailsViewProps,\r\n props: IMediaGalleryViewProps\r\n): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery.tsx file\r\n const { ThumbnailsContainerProps, SingleSlideCarouselComponentProps } = thumbnails;\r\n const { state, Thumbnails } = props;\r\n const mediaGalleryItems = getMediaGalleryItems(Thumbnails.items);\r\n\r\n const items: IMediaGalleryThumbnailItemViewProps[] | undefined =\r\n // eslint-disable-next-line multiline-ternary -- need multiline for easy code reading\r\n state.lastUpdate && !ArrayExtensions.hasElements(mediaGalleryItems) ? [GetEmptyThumbnailItemComponent(defaultThumbnailImageSettings, props)] :\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery\r\n mediaGalleryItems?.map((item: IImageData, id: number) => GetThumbnailItemComponent(item,\r\n defaultThumbnailImageSettings, id, state.activeIndex, props));\r\n\r\n return (\r\n \r\n \r\n {items?.map(renderThumbnailItem)}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render the Media gallery items using viewprops.\r\n * @param props - The media gallery view props.\r\n * @returns The media gallery module wrapping up images node.\r\n */\r\nconst mediaGalleryView: React.FC = props => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from media-gallery.tsx file\r\n const { CarouselProps, Thumbnails, MediaGallery, Modal } = props;\r\n return (\r\n \r\n \r\n {Modal}\r\n {renderThumbnails(Thumbnails, props)}\r\n \r\n );\r\n};\r\n\r\nexport default mediaGalleryView;\r\n","// @ts-nockeck\r\nimport { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { IReportReviewModalViewProps, IReviewCardViewProps, IReviewsListState, IReviewsListViewProps } from '@msdyn365-commerce-modules/ratings-reviews/src/modules/reviews-list';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst ReviewsListview: React.FC = props => {\r\n const {\r\n averageRating,\r\n filterByDropdown,\r\n moduleProps,\r\n noReviewsMessage,\r\n noReviewsWithFilterMessage,\r\n pageControls,\r\n refineReviewsProps,\r\n reportReviewModal,\r\n reviewsListProps,\r\n reviewCards,\r\n reviewCount,\r\n reviewModal,\r\n sortByDropdown,\r\n state,\r\n userReview\r\n } = props;\r\n\r\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\r\n return {noReviewsMessage};\r\n }\r\n\r\n return (\r\n \r\n {averageRating}\r\n {reviewCount}\r\n \r\n {sortByDropdown}\r\n {filterByDropdown}\r\n \r\n \r\n {userReview && buildReviewCard(userReview)}\r\n {reviewCards.map(review => {\r\n return buildReviewCard(review);\r\n })}\r\n \r\n { reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\r\n {pageControls}\r\n {createReviewModal(reviewModal)}\r\n {createReportModal(reportReviewModal, state)}\r\n \r\n );\r\n};\r\n\r\nconst buildReviewCard = (props: IReviewCardViewProps) => {\r\n return (\r\n \r\n \r\n {props.rating}\r\n {props.name}\r\n {props.date}\r\n \r\n \r\n \r\n {props.reviewTitle}\r\n {props.reviewText}\r\n \r\n \r\n {props.responseName}\r\n {props.responseDate}\r\n {props.responseText}\r\n \r\n \r\n {props.ratingHelpfulLabel}\r\n {props.like}\r\n {props.dislike}\r\n {props.edit}\r\n {props.report}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst createReviewModal = (props: IReviewModalViewProps): JSX.Element => {\r\n return (\r\n \r\n {props.modalHeader}\r\n \r\n \r\n \r\n {props.rating}\r\n {props.ratingLabel}\r\n \r\n \r\n {props.titleLabel}\r\n {props.titleInput}\r\n \r\n \r\n {props.textLabel}\r\n {props.textInput}\r\n \r\n {props.privacyPolicyUrl}\r\n {props.error}\r\n \r\n \r\n \r\n {props.submitButton}\r\n {props.cancelButton}\r\n \r\n \r\n );\r\n};\r\n\r\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\r\n return (\r\n \r\n \r\n {state.reported ? props.headerSubmitted : props.header}\r\n \r\n \r\n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\r\n \r\n \r\n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReviewsListview;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {IModuleProps, INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ISignUpProps } from '../definition-extensions/sign-up.ext.props.autogenerated';\r\n\r\nexport interface ISignUpInputProps {\r\n signUpLocalAccount:ISignUpLocalAccount;\r\n}\r\n/*\r\n* Added ISignUpViewState, ISignUpViewProps, ISignUpEmailVerification, ISignUpLocalAccount, ISignUpLoading, ISignUpItem\r\n* keys overwritten error is coming if refer to the modules type because of the known issue in the new version of Typescript\r\n*/\r\nexport interface ISignUpViewState {\r\n isShowLoading: boolean;\r\n}\r\nexport interface ISignUpEmailVerification {\r\n isRequired: boolean;\r\n email: ISignUpItem;\r\n buttonWrapper: INodeProps;\r\n buttons: React.ReactNode[];\r\n successMessage: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n}\r\nexport interface ISignUpViewProps {\r\n className: string;\r\n viewState: ISignUpViewState;\r\n loading: ISignUpLoading;\r\n signUp: IModuleProps;\r\n defaultAADConainer: INodeProps;\r\n aadConainer: INodeProps;\r\n heading: React.ReactNode;\r\n signUpLocalAccount: ISignUpLocalAccount;\r\n}\r\nexport interface ISignUpLocalAccount {\r\n localAccount: INodeProps;\r\n items: ISignUpItem[];\r\n emailVerification: ISignUpEmailVerification;\r\n buttons: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n disclaimer: React.ReactNode;\r\n}\r\nexport interface ISignUpLoading {\r\n modal: INodeProps;\r\n modalBody: INodeProps;\r\n icon: React.ReactNode;\r\n message: React.ReactNode;\r\n}\r\nexport interface ISignUpItem {\r\n wrapper: INodeProps;\r\n key: string;\r\n label: React.ReactNode;\r\n errorMessage: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\nconst SignUpItem: React.FC = ({\r\n wrapper,\r\n label,\r\n errorMessage,\r\n input\r\n}) => {\r\n\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst SignUpEmailVerification: React.FC = ({\r\n email,\r\n buttonWrapper,\r\n buttons,\r\n successMessage,\r\n errorMessage,\r\n}) => {\r\n return (\r\n <>\r\n \r\n {successMessage && successMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((message: React.ReactNode) => {\r\n return (\r\n <>\r\n {message}\r\n \r\n );\r\n })}\r\n \r\n {buttons && buttons.map((button: React.ReactNode) => {\r\n return (\r\n <>\r\n {button}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = ({\r\n signUpLocalAccount\r\n}) => {\r\n const{\r\n localAccount,\r\n items,\r\n emailVerification,\r\n buttons,\r\n errorMessage,\r\n disclaimer\r\n } = signUpLocalAccount;\r\n return (\r\n \r\n {items && items.map((item: ISignUpItem) => {\r\n if (item.key === 'email' && emailVerification.isRequired) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n );\r\n })}\r\n {errorMessage && errorMessage.map((error: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {error}\r\n \r\n );\r\n })}\r\n {buttons && buttons.map((button: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {button}\r\n \r\n );\r\n })}\r\n {disclaimer}\r\n \r\n );\r\n};\r\n\r\nconst SignUpLoading: React.FC = ({\r\n modal,\r\n modalBody,\r\n icon,\r\n message,\r\n}) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignUpView: React.FC> = props => {\r\n\r\n const {\r\n signUp,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n heading,\r\n signUpLocalAccount,\r\n } = props;\r\n const signUpInput:ISignUpInputProps = {\r\n signUpLocalAccount\r\n };\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(signUpInput)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignUpView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, IPayLoad, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ICookieComplianceAcceptButton {\n acceptCookiesButtonText?: string;\n acceptCookiesButtonAriaLabel?: string;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onClose(): void;\n}\n\nexport const CookieComplianceAcceptButton: React.FC = ({\n acceptCookiesButtonText,\n acceptCookiesButtonAriaLabel,\n telemetryContent,\n onClose\n}) => {\n const payLoad: IPayLoad = getPayloadObject('click', telemetryContent!, 'accept cookies');\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n {acceptCookiesButtonText}\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IActionLinksData } from '../cookie-compliance.props.autogenerated';\n\nexport interface ICookieComplianceLinks {\n links: IActionLinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class CookieComplianceLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n \n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n \n );\n }\n\n private readonly _mapEditableLinks = (linkdata: IActionLinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\n\nexport default CookieComplianceLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IAlertProps, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { CookieComplianceAcceptButton, CookieComplianceLinks } from './components';\nimport { ICookieComplianceConfig, ICookieComplianceProps } from './cookie-compliance.props.autogenerated';\n\n/**\n * Alert state interface.\n */\nexport interface IAlertState {\n visible: boolean;\n}\n\n/**\n * Cookie compliance view props interface.\n */\nexport interface ICookieComplianceViewProps extends ICookieComplianceProps<{}> {\n CookieComplianceBanner: IModuleProps;\n AlertProps: IAlertProps;\n Content: INodeProps;\n text?: React.ReactNode;\n links?: React.ReactNode;\n acceptButton?: React.ReactNode;\n className: string;\n onDismiss(): void;\n}\n\n/**\n *\n * CookieCompliance component.\n * @extends {React.PureComponent>}\n */\nclass CookieCompliance extends React.PureComponent, IAlertState> {\n private readonly cookieRef: React.RefObject;\n\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public constructor(props: ICookieComplianceProps) {\n super(props);\n this.state = { visible: false };\n this.cookieRef = React.createRef();\n this._onDismiss = this._onDismiss.bind(this);\n }\n\n public componentDidMount(): void {\n const { context } = this.props;\n\n if (context && context.request && context.request.cookies && !context.request.cookies.isConsentGiven()) {\n this.setState({ visible: true });\n }\n }\n\n public render(): JSX.Element | null {\n const { config, context, resources, telemetry } = this.props;\n const { acceptCookiesButtonText, acceptCookiesAriaLabel } = resources;\n const { visible } = this.state;\n\n const isConsentGiven = context && context.request && context.request.cookies && context.request.cookies.isConsentGiven();\n let moduleConfig: ICookieComplianceConfig;\n\n try {\n moduleConfig = config;\n } catch (error) {\n telemetry.error(`Something went wrong while rendering the alert module ------${error}`);\n return
{error}
;\n }\n\n if (isConsentGiven && !visible) {\n this.props.context.telemetry.error('Cookie Compliance content is empty, module wont render.');\n return null;\n }\n\n if (!MsDyn365.msdyn365Commerce.isBrowser) {\n return <>;\n }\n\n const viewProps = {\n ...this.props,\n onDismiss: this._onDismiss,\n CookieComplianceBanner: {\n moduleProps: this.props,\n className: classnames('ms-cookie-compliance', moduleConfig.className),\n ref: this.cookieRef\n },\n AlertProps: {\n className: 'ms-cookie-compliance__container',\n color: 'white',\n fade: false\n },\n Content: {\n className: 'ms-cookie-compliance__content'\n },\n text: moduleConfig.content && (\n \n ),\n links: ArrayExtensions.hasElements(moduleConfig.actionLinks) && (\n \n ),\n acceptButton: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles Link content change event.\n * @param linkIndex - Index of link in linkarray.\n * @returns Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: MsDyn365.ContentEditableEvent): void => {\n if (this.props.config.actionLinks?.[linkIndex]) {\n this.props.config.actionLinks[linkIndex].linkText = event.target.value;\n }\n };\n\n /**\n * Handles content change event.\n * @param event - Event.\n */\n public handleContentChange = (event: MsDyn365.ContentEditableEvent): void => {\n this.props.config.content = event.target.value;\n };\n\n private _onDismiss(): void {\n const { context } = this.props;\n\n if (context && context.request && context.request.cookies) {\n context.request.cookies.setConsentCookie();\n location.reload();\n }\n this.setState({ visible: false });\n }\n}\n\nexport default CookieCompliance;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Alert, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICookieComplianceViewProps } from './cookie-compliance';\n\nconst CookieComplianceView: React.FC = props => {\n const { CookieComplianceBanner, AlertProps, Content, acceptButton, text, links } = props;\n\n return (\n \n \n \n {text}\n {links}\n \n {acceptButton}\n \n \n );\n};\nexport default CookieComplianceView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Heading, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IHeadingData, IIframeConfig, IIframeProps } from './iframe.props.autogenerated';\n\nexport interface IIframeViewProps extends IIframeProps {\n Heading: React.ReactNode;\n IframeContainer: IModuleProps;\n IFrame: React.ReactNode;\n alert?: React.ReactNode;\n cookieConsentAccepted?: boolean;\n}\n\n/**\n *\n * Iframe component.\n * @extends {React.PureComponent}\n */\nclass Iframe extends React.PureComponent> {\n private readonly iframeRef: React.RefObject;\n\n constructor(props: IIframeProps) {\n super(props);\n this.iframeRef = React.createRef();\n }\n\n public render(): JSX.Element | null {\n const { config, resources } = this.props;\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!(config && config.target && config.target.destinationUrl)) {\n return null;\n }\n\n let srcURL;\n try {\n srcURL = new URL(config.target.destinationUrl);\n } catch (error) {\n this.props.telemetry.exception(error);\n return null;\n }\n\n if (srcURL && srcURL.protocol && srcURL.protocol.toLocaleLowerCase() !== 'https:') {\n return null;\n }\n const iframeClassName = classnames('ms-iframe', config.className);\n\n let viewProps: IIframeViewProps = {\n ...(this.props as IIframeProps),\n Heading: this._createHeading(config.heading!),\n IframeContainer: {\n moduleProps: this.props,\n className: iframeClassName\n },\n IFrame: this._createIframe()\n };\n\n if (!isConsentGiven) {\n viewProps = {\n ...viewProps,\n alert: this._renderAlert(resources.cookieConsentRequiredMessage)\n };\n } else {\n viewProps = {\n ...viewProps,\n cookieConsentAccepted: true\n };\n }\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return ;\n }\n\n private _renderAlert(message: string): React.ReactNode | null {\n return (\n

\n {message}\n

\n );\n }\n\n private _createIframe(): React.ReactNode | null {\n const { config } = this.props;\n const targetURL = config.target.destinationUrl;\n\n return (\n \n );\n }\n}\n\nexport default Iframe;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IIframeViewProps } from './iframe';\n\n/**\n *\n * IFrameView component.\n * @extends {React.PureComponent}\n */\nexport class IFrameView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { Heading, IframeContainer, IFrame, alert, cookieConsentAccepted } = this.props;\n\n return (\n \n {alert}\n {cookieConsentAccepted && cookieConsentAccepted ? (\n <>\n {Heading}\n {IFrame}\n \n ) : null}\n \n );\n }\n}\nexport default IFrameView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISpacerProps } from './spacer.props.autogenerated';\n\nexport interface ISpacerViewProps extends ISpacerProps<{}> {\n className?: string;\n}\n\n/**\n *\n * SpacerModule component.\n * @extends {React.PureComponent}\n */\nclass Spacer extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { className } = this.props.config;\n const spacerClass = this.props.config.spacerHeight ? `ms-${this.props.config.spacerHeight}` : 'ms-spacer';\n const viewProps = {\n // Context for telemetry and raw data for C1 to do customization\n // Including computed data, state data and methods\n ...this.props,\n className: (className && classnames(spacerClass, className)) || spacerClass\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n}\n\nexport default Spacer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nimport { ISpacerViewProps } from './spacer';\n\nconst SpacerView: React.FC = props => (\n
\n);\n\nexport default SpacerView;\n"],"names":["CittaAnchor","React","render","config","this","props","anchorId","anchorName","replace","viewProps","_objectSpread","Anchor","id","className","renderView","Node","Object","assign","CittaCompetitionForm","constructor","super","firstNameValue","lastNameValue","emailAddressValue","formInputValues","moduleClassName","onRecaptchaChange","value","setState","reCaptchaChecked","rCCError","_onEditMessage","event","charactersLeft","state","key","length","textArea","_AdditionalTextInputRef","current","messageEnterd","charactersLimit","additionalTextCharactersLimit","which","preventDefault","substring","additionalText","_showErrors","emailErrorClass","_checkEmailError","firstNameErrorClass","_FirstNameInputRef","lastNameErrorClass","_LastNameInputRef","tsCsErrorClass","_TermsAndContitionsRef","checked","email","_EmailAddressInputRef","_isEmailValid","_renderErrors","resources","firstNameError","lastNameError","emailError","tsCsError","_handleChange","name","e","target","firstName","fNError","reqError","eAValError","lastName","lNError","emailAddress","eAError","country","isChecked","recaptchaWrapper","document","querySelector","classList","toggle","termsAndContitionsChecked","_PrivacyPolicyRef","privacyPolicyChecked","console","log","test","_recaptchaRef","_handleSubmit","bind","responseReceived","responseError","responseSuccess","showResponseSuccess","Number","messageCharactersLimit","SubscribeWrapper","moduleProps","classnames","subscribeResponse","_getSubmitResponse","subscribeForm","_renderForm","formErrors","formErrorsNodeProps","successResponse","_renderSuccessResponse","showSuccessResponse","successResponseNodeProps","responseMessage","successTextResponse","FormWrapper","FormContainer","firstAndLastNameInput","_renderFirstAndLastNameInput","emailInput","_renderEmailInput","countryInput","_renderCountryInput","additionalTextInput","_renderAdditionalTextInput","checkboxTermsAndConditions","_renderCheckboxTermsAndConditions","checkboxPrivacyPolicy","_renderCheckboxPrivacyPolicy","reCaptcha","_renderReCaptcha","subscribeButtton","_renderSubmitButton","subscribeThanks","_renderSubmitThanks","ref","type","onChange","placeholder","firstNamePlaceholderText","required","lastNamePlaceholderText","onKeyUp","additionalTextPlaceholderText","rows","messageCharactersLimitLeftText","_renderAlert","emailInputPlaceholder","termsAndConditionsText","href","termsAndConditionsLink","privacyPolicyText","privacyPolicyLink","reCaptchaOption","_renderRecaptchaAlert","ReCAPTCHA","sitekey","reCaptchaSiteKey","recaptchaErrorMessage","role","Button","title","submitButtonLabel","color","onClick","async","fN","lN","aT","eA","cT","eAVal","oI","_this$_recaptchaRef$c","_postEntry","_clearValues","reset","optIn","params","URLSearchParams","window","location","search","get","emarsysGroupId","emarsysCompetitionGroupId","emarsysGroupIdAdditionalText","emarsysStoreNameGroupId","emarsysGroupIdAU","emarsysCompetitionGroupIdAU","emarsysGroupIdAdditionalTextAU","emarsysStoreNameGroupIdAU","response","MsDyn365","context","request","storeName","data","Message","Result","ICittaCompetitionFormView","Module","renderThumbnailItem","thumbnail","ThumbnailItemContainerProps","Picture","GetThumbnailItemComponent","image","imageSettings","imageId","modifiedActiveIndex","_props$config$thumbna","tag","altText","onKeyDown","_props$callbackToggle","_props$callbackThumbn","keyCode","KeyCodes","Enter","callbackToggle","call","callbackThumbnailClick","activeIndex","Image","requestContext","actionContext","gridSettings","thumbnailImageSettings","loadFailureBehavior","GetEmptyThumbnailItemComponent","_props$config$thumbna2","tabIndex","src","defaultThumbnailImageSettings","viewports","xs","q","w","h","xl","lazyload","cropFocalRegion","CarouselProps","Thumbnails","MediaGallery","Modal","renderThumbnails","thumbnails","ThumbnailsContainerProps","SingleSlideCarouselComponentProps","mediaGalleryItems","items","map","item","getMediaGalleryItems","lastUpdate","ArrayExtensions","hasElements","buildReviewCard","cardProps","headerProps","rating","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","modal","modalHeader","modalBody","form","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","error","modalFooter","submitButton","cancelButton","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","isFilterApplied","review","SignUpItem","_ref","wrapper","label","errorMessage","input","SignUpEmailVerification","_ref2","buttonWrapper","buttons","successMessage","message","button","SignUpLoading","_ref4","icon","signUp","viewState","loading","defaultAADConainer","aadConainer","heading","signUpLocalAccount","signUpInput","isShowLoading","_ref3","localAccount","emailVerification","disclaimer","isRequired","index","LocalAccount","CookieComplianceAcceptButton","acceptCookiesButtonText","acceptCookiesButtonAriaLabel","telemetryContent","onClose","payLoad","getPayloadObject","attributes","getTelemetryAttributes","CookieComplianceLinks","_mapEditableLinks","linkdata","editableLinks","forEach","link","linkText","contentAction","etext","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","additionalProperties","onTelemetryClick","push","links","Msdyn365","editProps","onTextChange","CookieCompliance","getTelemetryObject","telemetryPageName","friendlyName","telemetry","handleLinkTextChange","linkIndex","_this$props$config$ac","actionLinks","handleContentChange","content","visible","cookieRef","_onDismiss","componentDidMount","cookies","isConsentGiven","acceptCookiesAriaLabel","moduleConfig","isBrowser","onDismiss","CookieComplianceBanner","AlertProps","fade","Content","text","onEdit","acceptButton","setConsentCookie","reload","Alert","Iframe","iframeRef","srcURL","URL","exception","protocol","toLocaleLowerCase","iframeClassName","Heading","_createHeading","IframeContainer","IFrame","_createIframe","cookieConsentAccepted","alert","cookieConsentRequiredMessage","targetURL","height","iframeAriaLabel","IFrameView","Spacer","spacerClass","spacerHeight","renderModuleAttributes"],"sourceRoot":""}