{"version":3,"file":"static/js/24.75d17557130bd7744e3b.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/citta-emarsys-form/citta-emarsys-form.tsx?9af8","webpack://Citta2.0/./src/modules/citta-emarsys-form/citta-emarsys-form.view.tsx?edb9","webpack://Citta2.0/./src/themes/citta/views/video-player.view.tsx?eef1","webpack://Citta2.0/./src/modules/accordion-item/accordion-item.tsx?36f7","webpack://Citta2.0/./src/modules/accordion-item/accordion-item.view.tsx?a302","webpack://Citta2.0/./src/modules/accordion/accordion.tsx?78b1","webpack://Citta2.0/./src/modules/accordion/accordion.view.tsx?8c7b","webpack://Citta2.0/./src/modules/interactive-feature-collection/interactive-feature-collection.tsx?96a6","webpack://Citta2.0/./src/modules/interactive-feature-collection/interactive-feature-collection.view.tsx?db52"],"sourcesContent":["/*!\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 { ICittaEmarsysFormData } from './citta-emarsys-form.data';\r\nimport { ICittaEmarsysFormProps } from './citta-emarsys-form.props.autogenerated';\r\n\r\ninterface ICittaEmarsysFormFormState {\r\n firstName: string;\r\n lastName: string;\r\n emailAddress: string;\r\n buisnessName: string;\r\n industryPosition: string;\r\n privacyPolicyChecked: boolean;\r\n eAValError: boolean;\r\n eAError: boolean;\r\n fNError: boolean;\r\n lNError: boolean;\r\n privacyError: 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 privacyErrorClass: string;\r\n}\r\n\r\nexport interface ICittaEmarsysFormForm {\r\n FormWrapper: INodeProps;\r\n FormContainer: INodeProps;\r\n firstAndLastNameInput: React.ReactNode;\r\n emailInput: React.ReactNode;\r\n buisnessInput: React.ReactNode;\r\n industryInput: 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 ICittaEmarsysFormViewProps extends ICittaEmarsysFormProps {\r\n SubscribeWrapper: IModuleProps;\r\n subscribeResponse: React.ReactNode;\r\n subscribeForm: ICittaEmarsysFormForm;\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 * CittaEmarsysForm component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaEmarsysForm extends React.PureComponent, ICittaEmarsysFormFormState> {\r\n private _FirstNameInputRef: React.RefObject;\r\n private _LastNameInputRef: React.RefObject;\r\n private _EmailAddressInputRef: React.RefObject;\r\n private _IndustryPositionInputRef: React.RefObject\r\n private _BuisnessNameInputRef: 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: ICittaEmarsysFormProps) {\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._BuisnessNameInputRef = React.createRef();\r\n this._IndustryPositionInputRef = 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 buisnessName: '',\r\n industryPosition: '',\r\n privacyPolicyChecked: false,\r\n eAValError: false,\r\n fNError: false,\r\n lNError: false,\r\n eAError: false,\r\n privacyError: 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 privacyErrorClass: 'hide'\r\n };\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const viewProps: ICittaEmarsysFormViewProps = {\r\n ...(this.props as ICittaEmarsysFormProps),\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: 'emarsys-form-errors'\r\n },\r\n successResponse: this._renderSuccessResponse(),\r\n showSuccessResponse: this.state.responseSuccess,\r\n successResponseNodeProps: {\r\n className: 'emarsys-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(): ICittaEmarsysFormForm {\r\n return {\r\n FormWrapper: {\r\n className: 'emarsys-form',\r\n },\r\n FormContainer: {\r\n className: 'emarsys-form-div',\r\n },\r\n firstAndLastNameInput: this._renderFirstAndLastNameInput(),\r\n emailInput: this._renderEmailInput(),\r\n buisnessInput: this._renderBuisnessNameInput(),\r\n industryInput: this._renderIndustryPositionInput(),\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 _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 _renderBuisnessNameInput(): React.ReactNode {\r\n return (\r\n
\r\n {this.state.eAError || this.state.eAValError ? this._renderAlert('buisness-name-input') : ''}\r\n \r\n
\r\n );\r\n }\r\n private _renderIndustryPositionInput(): React.ReactNode {\r\n return (\r\n
\r\n {this.state.eAError || this.state.eAValError ? this._renderAlert('industry-position-input') : ''}\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 _renderCheckboxPrivacyPolicy(): React.ReactNode {\r\n return (\r\n
\r\n {this.state.privacyError ? 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 privacyErrorClass: (this._PrivacyPolicyRef.current && !this._PrivacyPolicyRef.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.privacyError}\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, privacyError: false });\r\n break;\r\n }\r\n case 'lastName': {\r\n this.setState({ lastName: value, lNError: false, reqError: false, eAValError: false, privacyError: false });\r\n break;\r\n }\r\n case 'emailAddress': {\r\n this.setState({ emailAddress: value, eAError: false, reqError: false, eAValError: false, privacyError: false });\r\n break;\r\n }\r\n case 'buisnessName': {\r\n this.setState({ buisnessName: value, eAError: false, reqError: false, eAValError: false, privacyError: false });\r\n break;\r\n }\r\n case 'industryPosition': {\r\n this.setState({ industryPosition: value, reqError: false, eAValError: false, privacyError: 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 const recaptchaWrapper = document.querySelector('.recaptcha');\r\n recaptchaWrapper && recaptchaWrapper.classList.toggle('newsletter-recapture-visable', !isChecked);\r\n this.setState({ privacyPolicyChecked: isChecked, reqError: false, eAValError: false, privacyError: 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, privacyError: 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 eA = (this._EmailAddressInputRef && this._EmailAddressInputRef.current && this._EmailAddressInputRef.current.value) ? this._EmailAddressInputRef.current.value : '';\r\n\r\n const bN = this.state.buisnessName;\r\n const iP = this.state.industryPosition;\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._PrivacyPolicyRef.current!.checked) {\r\n this.setState({\r\n privacyPolicyChecked: false,\r\n privacyError: true\r\n });\r\n } else {\r\n this.formInputValues = (this.emailAddressValue) ? true : false;\r\n if (this.formInputValues && this.state.privacyPolicyChecked && !this.state.eAValError) {\r\n try {\r\n await this._postEntry(fN, lN, eA, bN, oI, iP);\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, businessName: string, optIn: boolean, industryPosition: string): Promise {\r\n let emarsysFieldId = this.props.config.emarsysGroupId, \r\n industryPositionFieldId = this.props.config.emarsysEmarsysGroupId;\r\n\r\n const response = await MsDyn365.commerceApiRequest(\r\n this.props.context.request,\r\n 'PostEmarsysContactEvent',\r\n 'post',\r\n {\r\n firstName,\r\n lastName,\r\n businessName,\r\n emailAddress: email,\r\n industryPosition,\r\n emarsysFieldId,\r\n industryPositionFieldId,\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 industryPosition: '',\r\n buisnessName: '',\r\n privacyPolicyChecked: false,\r\n reqError: false,\r\n eAValError: false,\r\n rCCError: false\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 privacyPolicyChecked: false,\r\n reqError: false,\r\n eAValError: false,\r\n rCCError: false\r\n });\r\n }\r\n }\r\n\r\n private _clearValues(): void {\r\n if (this._PrivacyPolicyRef.current) {\r\n this._PrivacyPolicyRef.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._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._BuisnessNameInputRef) {\r\n this._BuisnessNameInputRef.current!.value = '';\r\n }\r\n if (this._IndustryPositionInputRef) {\r\n this._IndustryPositionInputRef.current!.value = '';\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default CittaEmarsysForm;\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 { ICittaEmarsysFormViewProps } from './citta-emarsys-form';\r\n\r\n/**\r\n *\r\n * ICittaProductSkuView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class ICittaEmarsysFormView 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 industryInput,\r\n buisnessInput,\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 {buisnessInput}\r\n {emailInput}\r\n {industryInput}\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 ICittaEmarsysFormView;\r\n","/*---------------------------------------------------------------------------------------------\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 { Button } from '@msdyn365-commerce-modules/utilities';\r\nimport { IVideoPlayerViewProps } from '@msdyn365-commerce-modules/video-player/src/modules/video-player/video-player';\r\n// import { IPlayerResources } from '@msdyn365-commerce/components/dist/types/videoplayer/components/data/player-resources';\r\nimport { Image } from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { IVideoPlayerProps } from '../definition-extensions/video-player.ext.props.autogenerated';\r\n\r\ninterface IVideoPlayerState {\r\n isMobile: boolean;\r\n }\r\n\r\n/**\r\n *\r\n * VideoPlayer component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class VideoPlayerView extends React.PureComponent, IVideoPlayerState> {\r\n constructor(props: IVideoPlayerViewProps) {\r\n //@ts-ignore\r\n super(props);\r\n this.state = {isMobile: false};\r\n }\r\n\r\n public componentDidMount(): void {\r\n this._updateIsMobile();\r\n window.addEventListener('resize', this._updateIsMobile);\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n window.removeEventListener('resize', this._updateIsMobile);\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n return (\r\n \r\n
\r\n {this.state.isMobile ? this._renderMobile() : this._renderDesktop()}\r\n {this._renderVideoPlayerOverlay()}\r\n
\r\n \r\n );\r\n }\r\n\r\n private _renderDesktop = (): React.ReactNode | null => {\r\n const playerResources: any = {\r\n playAriaLabel: this.props.config.playLabel ? this.props.config.playLabel : '',\r\n pauseAriaLabel: this.props.config.pauseLabel ? this.props.config.pauseLabel : '',\r\n muteAriaLabel: this.props.config.muteLabel ? this.props.config.muteLabel : '',\r\n unMuteAriaLabel: this.props.config.unMuteLabel ? this.props.config.unMuteLabel: '',\r\n fullScreenAriaLabel: this.props.config.fullScreenLabel ? this.props.config.fullScreenLabel : '',\r\n exitFullScreenAriaLabel: this.props.config.exitFullScreenLabel ? this.props.config.exitFullScreenLabel : '',\r\n playingAriaLabel: this.props.config.playingLabel ? this.props.config.playingLabel : '',\r\n pausedAriaLabel: this.props.config.pausedLabel ? this.props.config.pausedLabel : '',\r\n ...this.props.resources\r\n };\r\n if (this.props.player) {\r\n return React.cloneElement(this.props.player as React.ReactElement, {playerResources});\r\n }\r\n return null;\r\n };\r\n\r\n private _renderMobile = (): React.ReactNode | null => {\r\n const imageSettingsDefault = {\r\n disableLazyLoad: true,\r\n viewports: {\r\n xs: { q: `q=80&w=770&h=500&m=6`, w: 770, h: 500 }\r\n }\r\n };\r\n const image = this.props.config.mobileImage;\r\n\r\n if (image) {\r\n return (\r\n
\r\n {image && }\r\n
\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n private _renderVideoPlayerOverlay = (): React.ReactNode | null => {\r\n const { buttonText, buttonLink, headerText, horizontalPosition } = this.props.config;\r\n if (buttonText || headerText) {\r\n return (\r\n
\r\n { headerText &&
{headerText}
}\r\n { buttonText && {buttonText}\r\n }\r\n
\r\n );\r\n }\r\n return null;\r\n };\r\n\r\n private _updateIsMobile = () => {\r\n this.setState({\r\n isMobile: window.innerWidth < 768\r\n });\r\n }\r\n}\r\n\r\nexport default VideoPlayerView;","/*!\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 { ControlledDrawer, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { IDrawerState } from '@msdyn365-commerce-modules/utilities/dist/types/drawer/Drawer';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput, interactionStyle } from '../..';\nimport { IAccordionItemData } from './accordion-item.data';\nimport { IAccordionItemProps } from './accordion-item.props.autogenerated';\n\nexport interface IAccordionItemViewProps {\n AccordionItemContainer: IModuleProps;\n drawer: INodeProps;\n accordionSlots: INodeProps;\n AccordionItemContent: INodeProps;\n className: string;\n}\n\nexport interface IAccordionItemExtentedProps extends IAccordionItemProps {\n interactionStyle?: interactionStyle;\n}\n\n/**\n *\n * AccordionItem component.\n * @extends {React.Component}\n */\n@observer\nclass AccordionItem extends React.Component {\n private readonly moduleClassName: string = 'ms-accordion-item';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccordionItemProps) {\n super(props);\n this._onToggle = this._onToggle.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public shouldComponentUpdate(nextProps: IAccordionItemProps): boolean {\n if (this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { slots, renderView, config, data } = this.props;\n const accordionExpandedStateResult = data && data.accordionExpandedState && data.accordionExpandedState.result;\n const expanded =\n accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded === undefined\n ? data && config.isExpandedOnInitialLoad\n : accordionExpandedStateResult && accordionExpandedStateResult.isAllExpanded;\n const viewProps = {\n ...this.props,\n AccordionItemContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n AccordionItemContent: {\n className: 'ms-accordion-item-content'\n },\n drawer: {\n tag: ControlledDrawer,\n className: `${this.moduleClassName}__drawer`,\n toggleButtonText: (config.accordionItemTitle && config.accordionItemTitle) || '',\n collapseProps: { isOpen: expanded },\n onToggle: this._onToggle,\n onTextChange: this.handleHeadingChange,\n requestContext: this.props.context.request,\n telemetryContent: this.telemetryContent\n },\n accordionSlots: slots\n };\n return renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.accordionItemTitle = event.target.value);\n\n private _onToggle(state: IDrawerState): void {\n if (!state.isOpen && this.props.interactionStyle === interactionStyle.ExpandOneItemOnly) {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n }\n }\n}\nexport default AccordionItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionItemViewProps } from './accordion-item';\n\nconst AccordionItemView: React.FC = props => {\n const { drawer, accordionSlots, AccordionItemContainer, AccordionItemContent } = props;\n return (\n \n \n \n {accordionSlots &&\n accordionSlots.accordionItemContent &&\n accordionSlots.accordionItemContent.length &&\n _renderAccordionItemContent(accordionSlots.accordionItemContent)}\n \n \n \n );\n};\n\nconst _renderAccordionItemContent = (items: React.ReactNode[]): JSX.Element | null => {\n return (\n <>\n {items && items.length > 0\n ? items.map((item: React.ReactNode, index: number) => {\n return {item};\n })\n : null}\n \n );\n};\nexport default AccordionItemView;\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 {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n NodeTag,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createAccordionStateInput } from '../..';\nimport { IAccordionData } from './accordion.data';\nimport { IAccordionProps } from './accordion.props.autogenerated';\n\n/**\n *\n * Accordion component.\n * @extends {React.PureComponent>}\n */\n\nexport interface ICallToActionProps {\n link: INodeProps[];\n}\n\n/**\n * Added interface for state management.\n */\nexport interface IAccordianState {\n isDisabled: boolean;\n}\n\nexport interface IAccordionViewProps extends IAccordionProps<{}> {\n heading?: React.ReactNode;\n AccordionContainer: IModuleProps;\n HeaderSection: INodeProps;\n HeadingWrapper: INodeProps;\n accordianButtonsContainer: INodeProps;\n accordionButtons: React.ReactNode;\n accordionItemContainer: INodeProps;\n accordionItems: React.ReactNode;\n}\n\n/**\n *\n * Accordion component.\n * @extends {React.Component>}\n */\n@observer\nclass Accordion extends React.PureComponent, IAccordianState> {\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly expandAllButtonRef: React.RefObject = React.createRef();\n\n private readonly collapseAllButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAccordionProps) {\n super(props);\n this._onExpandAll = this._onExpandAll.bind(this);\n this._onCollapseAll = this._onCollapseAll.bind(this);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n this.state = { isDisabled: false };\n }\n\n public render(): JSX.Element {\n const { slots } = this.props;\n const { heading, className } = this.props.config;\n const headingComponent = heading && heading.text && (\n \n );\n\n const accordionViewProps = {\n ...this.props,\n AccordionContainer: {\n moduleProps: this.props,\n className: classnames('ms-accordion', className)\n },\n HeaderSection: { className: 'ms-accordion-header-section' },\n HeadingWrapper: { className: 'ms-accordion-header-section-container' },\n heading: headingComponent,\n config: this.props && this.props.config,\n accordianButtonsContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-header-section-toggle-button-container'\n },\n accordionButtons: this._renderAccordionButton(),\n accordionItemContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-accordion-item-section'\n },\n accordionItems:\n slots &&\n slots.accordionItems &&\n slots.accordionItems.length > 0 &&\n slots.accordionItems.map((item: React.ReactNode, index: number) => this._getAccordionItem(item, index))\n };\n return this.props.renderView(accordionViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n private _renderAccordionButton(): React.ReactNode | null {\n const { config, resources } = this.props;\n const { heading } = config;\n this.payLoad.contentAction.etext = TelemetryConstant.ExpandAll;\n const attributeExpandAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n this.payLoad.contentAction.etext = TelemetryConstant.CollapseAll;\n const attributeCollapseAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\n if (!config.showToggleAll) {\n this.props.context.telemetry.error('Accordion button content is empty, module wont render');\n return null;\n }\n return (\n <>\n \n {resources.expandAllText}\n \n  \n {resources.toggleAllSeparator}\n  \n \n {resources.collapseAllText}\n \n \n );\n }\n\n private _onExpandAll(): void {\n const accordionState = { isAllExpanded: true };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (accordionState.isAllExpanded) {\n this.setState({\n isDisabled: true\n });\n setTimeout(() => {\n this.collapseAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _onCollapseAll(): void {\n const accordionState = { isAllExpanded: false };\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\n if (!accordionState.isAllExpanded) {\n this.setState({\n isDisabled: false\n });\n setTimeout(() => {\n this.expandAllButtonRef.current?.focus();\n }, 50);\n }\n }\n\n private _getAccordionItem(item: React.ReactNode, index: number): React.ReactNode {\n return (\n \n {React.cloneElement(item as React.ReactElement, { interactionStyle: this.props.config.interactionStyle })}\n \n );\n }\n}\n\nexport default Accordion;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccordionViewProps } from './accordion';\n\nconst accordionView: React.FC = props => {\n const { heading, AccordionContainer, accordionItems } = props;\n if (!props.heading && !props.accordionButtons && !props.accordionItems) {\n props.context.telemetry.error('Accordion content is empty, module wont render');\n return null;\n }\n return (\n \n \n {heading}\n {props.accordionButtons && {props.accordionButtons}}\n \n {accordionItems}\n \n );\n};\n\nexport default accordionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n getTelemetryObject,\n IComponentNodeProps,\n IModuleProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureCollectionProps } from './interactive-feature-collection.props.autogenerated';\n\n/**\n * Interactive Feature Collection view props.\n */\nexport interface IInteractiveFeatureCollectionViewProps extends IInteractiveFeatureCollectionProps<{}> {\n title: React.ReactNode;\n interactiveFeatureCollectionHeading: INodeProps;\n interactiveFeatureCollectionContainer: IModuleProps;\n interactiveFeatureCollectionDesktopContainer: INodeProps;\n interactiveFeatureCollectionDesktopItems: React.ReactNode[];\n interactiveFeatureCollectionMobileContainer: INodeProps;\n interactiveFeatureCollectionMobileItems: React.ReactNode[];\n singleSlideCarouselComponentProps: INodeProps;\n singleSlideCarouselItemContainer: INodeProps;\n}\n\n/**\n *\n * InteractiveFeatureCollection component.\n * @extends {React.PureComponent>}\n */\nexport class InteractiveFeatureCollection extends React.PureComponent> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n private static _getFeatureItem(item: React.ReactNode, index: number, itemsCounter: number): React.ReactNode {\n const keyIndex = `interactive-feature-mosaic-item__${index}`;\n return (\n \n {React.cloneElement(item as React.ReactElement, { indexItem: index, itemCounter: itemsCounter, isMosaic: true })}\n \n );\n }\n\n public constructor(props: IInteractiveFeatureCollectionProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const interactiveItems = this.props.slots && this.props.slots.interactiveFeatureItems;\n const itemsFeatureCounter = interactiveItems && interactiveItems.length;\n const singleSlideCarouselComponentProps: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n const initItemsFeatureCounter = 0;\n const createHeading = title && (\n \n );\n const viewProps = {\n ...this.props,\n title: createHeading,\n interactiveFeatureCollectionHeading: {\n className: 'ms-interactive-feature-collection__heading'\n },\n interactiveFeatureCollectionContainer: {\n moduleProps: this.props,\n className: classnames('ms-interactive-feature-collection', className)\n },\n interactiveFeatureCollectionDesktopContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-desktop'\n },\n interactiveFeatureCollectionMobileContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mobile'\n },\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel',\n role: 'listitem'\n },\n interactiveFeatureCollectionMobileItems: this.props.slots.interactiveFeatureItems,\n interactiveFeatureCollectionDesktopItems:\n itemsFeatureCounter > initItemsFeatureCounter &&\n interactiveItems.map((item: React.ReactNode, index: number) =>\n InteractiveFeatureCollection._getFeatureItem(item, index, itemsFeatureCounter)\n )\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.title!.text = event.target.value);\n}\n\nexport default InteractiveFeatureCollection;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { IInteractiveFeatureCollectionViewProps } from './interactive-feature-collection';\n\n/**\n * Feature Collection View.\n * @param props - Feature Collection view props.\n * @returns Feature Collection View.\n */\nexport const interactiveFeatureCollectionView: React.FC = props => {\n const {\n title,\n interactiveFeatureCollectionHeading,\n interactiveFeatureCollectionContainer,\n interactiveFeatureCollectionDesktopContainer,\n interactiveFeatureCollectionDesktopItems,\n interactiveFeatureCollectionMobileItems,\n interactiveFeatureCollectionMobileContainer,\n singleSlideCarouselComponentProps,\n singleSlideCarouselItemContainer\n } = props;\n return (\n \n {title}\n {interactiveFeatureCollectionDesktopItems}\n \n \n {interactiveFeatureCollectionMobileItems &&\n interactiveFeatureCollectionMobileItems.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `interactive-feature-carousel-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n \n );\n};\n\nexport default interactiveFeatureCollectionView;\n"],"names":["CittaEmarsysForm","React","constructor","props","super","firstNameValue","lastNameValue","emailAddressValue","formInputValues","moduleClassName","onRecaptchaChange","value","this","setState","reCaptchaChecked","rCCError","_showErrors","emailErrorClass","_checkEmailError","firstNameErrorClass","_FirstNameInputRef","current","length","lastNameErrorClass","_LastNameInputRef","privacyErrorClass","_PrivacyPolicyRef","checked","email","_EmailAddressInputRef","_isEmailValid","_renderErrors","resources","className","state","firstNameError","lastNameError","emailError","privacyError","_handleChange","name","e","target","firstName","fNError","reqError","eAValError","lastName","lNError","emailAddress","eAError","buisnessName","industryPosition","isChecked","recaptchaWrapper","document","querySelector","classList","toggle","privacyPolicyChecked","console","log","test","_BuisnessNameInputRef","_IndustryPositionInputRef","_recaptchaRef","_handleSubmit","bind","responseReceived","responseError","responseSuccess","showResponseSuccess","charactersLeft","Number","messageCharactersLimit","render","viewProps","_objectSpread","SubscribeWrapper","moduleProps","classnames","config","subscribeResponse","_getSubmitResponse","subscribeForm","_renderForm","formErrors","formErrorsNodeProps","successResponse","_renderSuccessResponse","showSuccessResponse","successResponseNodeProps","renderView","responseMessage","successTextResponse","FormWrapper","FormContainer","firstAndLastNameInput","_renderFirstAndLastNameInput","emailInput","_renderEmailInput","buisnessInput","_renderBuisnessNameInput","industryInput","_renderIndustryPositionInput","checkboxPrivacyPolicy","_renderCheckboxPrivacyPolicy","reCaptcha","_renderReCaptcha","subscribeButtton","_renderSubmitButton","subscribeThanks","_renderSubmitThanks","ref","type","onChange","placeholder","firstNamePlaceholderText","required","lastNamePlaceholderText","_renderAlert","emailInputPlaceholder","businessNamePlaceholder","industryPositionPlaceholder","id","privacyPolicyText","href","privacyPolicyLink","reCaptchaOption","_renderRecaptchaAlert","ReCAPTCHA","sitekey","reCaptchaSiteKey","recaptchaErrorMessage","role","Button","title","submitButtonLabel","color","onClick","async","fN","lN","eA","bN","iP","eAVal","oI","_this$_recaptchaRef$c","_postEntry","_clearValues","reset","businessName","optIn","emarsysFieldId","emarsysGroupId","industryPositionFieldId","emarsysEmarsysGroupId","response","MsDyn365","context","request","data","Message","Result","ICittaEmarsysFormView","Module","Object","assign","Node","VideoPlayerView","_renderDesktop","playerResources","playAriaLabel","playLabel","pauseAriaLabel","pauseLabel","muteAriaLabel","muteLabel","unMuteAriaLabel","unMuteLabel","fullScreenAriaLabel","fullScreenLabel","exitFullScreenAriaLabel","exitFullScreenLabel","playingAriaLabel","playingLabel","pausedAriaLabel","pausedLabel","player","_renderMobile","imageSettingsDefault","disableLazyLoad","viewports","xs","q","w","h","image","mobileImage","_image$imageSettings","Image","src","altText","gridSettings","imageSettings","loadFailureBehavior","_renderVideoPlayerOverlay","buttonText","buttonLink","headerText","horizontalPosition","isMobile","_updateIsMobile","window","innerWidth","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","renderModuleAttributes","AccordionItem","handleHeadingChange","event","accordionItemTitle","_onToggle","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","telemetry","shouldComponentUpdate","nextProps","slots","accordionExpandedStateResult","accordionExpandedState","result","expanded","undefined","isAllExpanded","isExpandedOnInitialLoad","AccordionItemContainer","AccordionItemContent","drawer","tag","ControlledDrawer","toggleButtonText","collapseProps","isOpen","onToggle","onTextChange","requestContext","accordionSlots","interactionStyle","accordionState","actionContext","update","createAccordionStateInput","__decorate","observer","_renderAccordionItemContent","items","map","item","index","key","accordionItemContent","Accordion","expandAllButtonRef","collapseAllButtonRef","heading","text","_onExpandAll","_onCollapseAll","payLoad","getPayloadObject","isDisabled","headingComponent","Msdyn365","editProps","onEdit","accordionViewProps","AccordionContainer","HeaderSection","HeadingWrapper","accordianButtonsContainer","accordionButtons","_renderAccordionButton","accordionItemContainer","accordionItems","_getAccordionItem","contentAction","etext","TelemetryConstant","ExpandAll","attributeExpandAll","getTelemetryAttributes","CollapseAll","attributeCollapseAll","showToggleAll","disabled","expandAllText","toggleAllSeparator","collapseAllText","error","setTimeout","_this$collapseAllButt","focus","_this$expandAllButton","InteractiveFeatureCollection","_telemetryContent","handleTextChange","static","itemsCounter","keyIndex","indexItem","itemCounter","isMosaic","_this$props$config$cl","_title$tag","interactiveItems","interactiveFeatureItems","itemsFeatureCounter","singleSlideCarouselComponentProps","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","createHeading","interactiveFeatureCollectionHeading","interactiveFeatureCollectionContainer","interactiveFeatureCollectionDesktopContainer","interactiveFeatureCollectionMobileContainer","singleSlideCarouselItemContainer","interactiveFeatureCollectionMobileItems","interactiveFeatureCollectionDesktopItems","_getFeatureItem","interactiveFeatureCollectionView","tileItem"],"sourceRoot":""}