{"version":3,"file":"static/js/13.ba2640164c7e8ba8a4e6.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/citta-journal-posts/citta-journal-posts.tsx?e969","webpack://Citta2.0/./src/modules/citta-journal-posts/citta-journal-posts.view.tsx?9b29","webpack://Citta2.0/./src/modules/citta-subscribe-newsletter-form/citta-subscribe-newsletter-form.tsx?429d","webpack://Citta2.0/./src/modules/citta-subscribe-newsletter-form/citta-subscribe-newsletter-form.view.tsx?6e69","webpack://Citta2.0/./src/themes/citta/views/ratings-histogram.view.tsx?9899","webpack://Citta2.0/./src/modules/msdyn365-pva-chat-connector/msdyn365-pva-chat-connector.tsx?797a","webpack://Citta2.0/./src/modules/msdyn365-pva-chat-connector/msdyn365-pva-chat-connector.view.tsx?cb2f","webpack://Citta2.0/./src/modules/checkout-google-pay/checkout-google-pay.view.tsx?b92f","webpack://Citta2.0/./src/modules/back-top-footer/back-top-footer.tsx?f47e","webpack://Citta2.0/./src/modules/image-list/image-list.tsx?5602","webpack://Citta2.0/./src/modules/image-list/image-list.view.tsx?2bed"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport MsDyn365 from '@msdyn365-commerce/core';\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport * as React from 'react';\r\nimport classnames from 'classnames';\r\n\r\nimport { ICittaJournalPostsData } from './citta-journal-posts.data';\r\nimport { ICittaJournalPostsProps } from './citta-journal-posts.props.autogenerated';\r\nimport {IGetJournalPostData } from '../../data-actions/journal/get-journal-posts';\r\n\r\nenum Market {\r\n NZ = 'NZL',\r\n AU = 'AUS',\r\n US = 'USA'\r\n}\r\n\r\nexport interface ICittaJournalPostsViewProps extends ICittaJournalPostsProps {\r\n JournalsWrapper: IModuleProps;\r\n journals: React.ReactNode;\r\n loadMore: React.ReactNode;\r\n search: React.ReactNode;\r\n categories: React.ReactNode;\r\n}\r\n\r\n// const Categories = {\r\n// behindtheproduct: 'Città Behind the product',\r\n// styling: 'Stying'\r\n// }\r\n\r\nexport interface ICittaJournalPostsState {\r\n allJournals: any;\r\n displayedJournals: any;\r\n displayCount: number;\r\n searchTerm: string;\r\n categoryFilter: string;\r\n}\r\n\r\n/**\r\n *\r\n * CittaJournalPosts component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaJournalPosts extends React.PureComponent, ICittaJournalPostsState> {\r\n private moduleClassName: string = 'journal-posts-wrapper';\r\n\r\n constructor(props: any) {\r\n super(props);\r\n const { audience } = props.config;\r\n const journals = props.data && props.data.journals && props.data.journals.result;\r\n let journalsFilteredByAudience = journals.posts && journals.posts.filter((post: any) => post.audience.indexOf(audience) != -1);\r\n\r\n this.state = {\r\n allJournals: journalsFilteredByAudience || [],\r\n displayedJournals: (journalsFilteredByAudience || []).slice(0, 6),\r\n displayCount: 6,\r\n searchTerm: '',\r\n categoryFilter: ''\r\n }\r\n this._loadMore = this._loadMore.bind(this);\r\n this._renderSearch = this._renderSearch.bind(this);\r\n this._renderCategoryFilter = this._renderCategoryFilter.bind(this);\r\n this._onType = this._onType.bind(this);\r\n this._getPostUrl = this._getPostUrl.bind(this);\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (MsDyn365.isBrowser && typeof window !== 'undefined') {\r\n const { categories } = this.props.config;\r\n const url: string = decodeURI(window.location.search);\r\n const urlParams = new URLSearchParams(url);\r\n const journalcategory = urlParams.has('journalcategory') ? urlParams.get('journalcategory') : '';\r\n const category = categories?.find((c: String) => c.toLocaleLowerCase() === journalcategory?.toLocaleLowerCase());\r\n category && this._setCategoryFilter(category)\r\n }\r\n\r\n let container = document.querySelector(\".journal-posts-wrapper-categories ul\");\r\n if (container) {\r\n const middle = container.querySelector(\"li.active\") || container.children[Math.floor((container.children.length) / 2)];\r\n // @ts-ignore\r\n container.scrollLeft = middle.offsetLeft + middle.offsetWidth / 2 - container.offsetWidth / 2;\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const {displayedJournals, allJournals} = this.state;\r\n\r\n if (!allJournals || !allJournals.length) {\r\n //TODO: create a better page in here for no posts found or something\r\n return
No journals found at the moment
\r\n }\r\n\r\n const viewProps: ICittaJournalPostsViewProps = {\r\n ...(this.props as ICittaJournalPostsProps ),\r\n JournalsWrapper: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName)\r\n },\r\n journals: this._renderPosts(displayedJournals),\r\n loadMore: this._renderLoadMore(),\r\n search: this._renderSearch(),\r\n categories: this._renderCategoryFilter(),\r\n };\r\n\r\n return this.props.renderView(viewProps);\r\n }\r\n\r\n private _formatDate(date: string): string {\r\n const d = date.split('-');\r\n return `${parseInt(d[2], 10)}.${parseInt(d[1], 10)}.${d[0]}`\r\n }\r\n\r\n private _renderLoadMore = () => {\r\n const {displayedJournals, allJournals } = this.state;\r\n if (displayedJournals.length >= allJournals.length) {\r\n return null;\r\n }\r\n return (\r\n
\r\n Load More\r\n
\r\n )\r\n }\r\n\r\n private _onType = (e: React.ChangeEvent) => {\r\n const { categoryFilter } = this.state;\r\n\r\n const newDisplayCount = 10;\r\n\r\n const list = this._getFilteredJournals(e.target.value.toLowerCase(), categoryFilter)\r\n \r\n this.setState({\r\n displayCount: newDisplayCount,\r\n displayedJournals: list.slice(0, newDisplayCount),\r\n searchTerm: e.target.value,\r\n })\r\n }\r\n\r\n private _getFilteredJournals = (searchTerm: string, categoryFilter: string) => {\r\n const { allJournals } = this.state;\r\n\r\n let list = allJournals.filter((journal: IGetJournalPostData) => {\r\n if (categoryFilter && journal.category !== categoryFilter) {\r\n return null;\r\n }\r\n return journal.title.toLowerCase().indexOf(searchTerm) !== -1 || \r\n journal.subTitle.toLowerCase().indexOf(searchTerm) !== -1 \r\n })\r\n\r\n return list\r\n }\r\n\r\n private _setCategoryFilter = (type: string) => {\r\n const { searchTerm } = this.state;\r\n\r\n const newDisplayCount = 6;\r\n\r\n let list = this._getFilteredJournals(searchTerm, type);\r\n this.setState({\r\n categoryFilter: type,\r\n displayCount: newDisplayCount,\r\n displayedJournals: list.slice(0, newDisplayCount)\r\n })\r\n }\r\n\r\n private _renderCategoryFilter = () => {\r\n const { categories } = this.props.config;\r\n const { categoryFilter } = this.state;\r\n\r\n return (\r\n
\r\n
    \r\n
  • this._setCategoryFilter('')}>All
  • \r\n {categories?.map(category => {\r\n return
  • this._setCategoryFilter(category)}>{category}
  • \r\n })}\r\n
\r\n
\r\n )\r\n }\r\n\r\n private _renderSearch = () => {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n private _loadMore(): void {\r\n const { displayCount, searchTerm, categoryFilter } = this.state;\r\n\r\n const newDisplayCount = displayCount + 3;\r\n let list = this._getFilteredJournals(searchTerm, categoryFilter);\r\n this.setState({\r\n displayCount: newDisplayCount,\r\n displayedJournals: list.slice(0, newDisplayCount)\r\n })\r\n }\r\n\r\n private getMarket = (url: string = ''): string => {\r\n let indexOfCountry = 3;\r\n if (url.indexOf('test.') > 0 || url.indexOf('cittab.') > 0) {\r\n indexOfCountry = 4;\r\n }\r\n let market = (url && url.length > 0) \r\n ? (url.indexOf('//') > -1 \r\n ? ((url.split('/')[indexOfCountry] === undefined || (url.split('/')[indexOfCountry].length > 2 && url.split('/')[indexOfCountry].toLowerCase() !== 'international' && url.split('/')[indexOfCountry].toLowerCase() !== 'us') || url.split('/')[indexOfCountry] === '') \r\n ? Market.NZ \r\n : url.split('/')[indexOfCountry].toUpperCase()) \r\n : Market.NZ) \r\n : '';\r\n\r\n return market;\r\n };\r\n\r\n private _getPostUrl = (postUrl: string) => {\r\n const url = this.props.context.request.url && this.props.context.request.url.requestUrl && this.props.context.request.url.requestUrl.href;\r\n\r\n if (postUrl.indexOf('https://') !== -1) {\r\n return postUrl;\r\n }\r\n\r\n const market = this.getMarket(url);\r\n\r\n if (market === 'AU') {\r\n return `\\/au${postUrl}`\r\n } else if (market.toLowerCase() === 'international' || market.toLowerCase() === 'us') { \r\n return `/${market.toLowerCase()}${postUrl}`\r\n }\r\n \r\n return postUrl;\r\n }\r\n\r\n private _renderPosts = (posts: IGetJournalPostData[]) => {\r\n if (!posts.length) {\r\n return
We can't find any journals to match that
\r\n }\r\n\r\n return posts.map((post: IGetJournalPostData) => {\r\n return (\r\n \r\n );\r\n })\r\n };\r\n}\r\n\r\nexport default CittaJournalPosts;\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 } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport * as React from 'react';\r\nimport { ICittaJournalPostsViewProps } from './citta-journal-posts';\r\n\r\nexport default (props: ICittaJournalPostsViewProps) => {\r\n\r\n return (\r\n \r\n {props.categories}\r\n {props.search}\r\n \r\n
\r\n {props.journals}\r\n
\r\n {props.loadMore}\r\n
\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 { getRichTextHtml } from '@msdyn365-commerce/core';\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 { ICittaSubscribeNewsletterFormData } from './citta-subscribe-newsletter-form.data';\r\nimport { ICittaSubscribeNewsletterFormProps } from './citta-subscribe-newsletter-form.props.autogenerated';\r\n\r\ninterface ICittaSubscribeNewsletterFormState {\r\n firstName: string;\r\n lastName: string;\r\n emailAddress: string;\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 charactersLeft?: number;\r\n firstNameErrorClass: string;\r\n lastNameErrorClass: string;\r\n emailErrorClass: string;\r\n privacyPolicyErrorClass: string;\r\n reCaptchaChecked: boolean;\r\n}\r\n\r\nexport interface ICittaSubscribeNewsletterForm {\r\n FormWrapper: INodeProps;\r\n FormContainer: INodeProps;\r\n firstAndLastNameInput: React.ReactNode;\r\n emailInput: React.ReactNode;\r\n checkboxPrivacyPolicy: React.ReactNode;\r\n subscribeButtton: React.ReactNode;\r\n subscribeThanks: React.ReactNode;\r\n tsAndCsText: React.ReactNode;\r\n reCaptcha: React.ReactNode;\r\n}\r\n\r\n\r\nexport interface ICittaSubscribeNewsletterFormViewProps extends ICittaSubscribeNewsletterFormProps {\r\n SubscribeWrapper: IModuleProps;\r\n subscribeResponse: React.ReactNode;\r\n subscribeForm: ICittaSubscribeNewsletterForm;\r\n responseSuccess: 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 * CittaInStoreGiveawayForm component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaSubscribeNewsletterForm extends React.PureComponent, ICittaSubscribeNewsletterFormState> {\r\n private _FirstNameInputRef: React.RefObject;\r\n private _LastNameInputRef: React.RefObject;\r\n private _EmailAddressInputRef: React.RefObject;\r\n private _PrivacyPolicyRef: React.RefObject;\r\n\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\r\n // private phoneNumberValue: 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: ICittaSubscribeNewsletterFormProps) {\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._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 privacyPolicyChecked: false,\r\n fNError: false,\r\n lNError: false,\r\n eAValError: 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 responseSuccess: false,\r\n firstNameErrorClass: 'hide',\r\n lastNameErrorClass: 'hide',\r\n emailErrorClass: 'hide',\r\n privacyPolicyErrorClass: 'hide',\r\n reCaptchaChecked: false\r\n };\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const viewProps: ICittaSubscribeNewsletterFormViewProps = {\r\n ...(this.props as ICittaSubscribeNewsletterFormProps),\r\n SubscribeWrapper: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName)\r\n },\r\n subscribeResponse: this._getSubmitResponse(),\r\n subscribeForm: this._renderForm(),\r\n responseSuccess: this.state.responseSuccess,\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 private _renderForm(): ICittaSubscribeNewsletterForm {\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 checkboxPrivacyPolicy: this._renderCheckboxPrivacyPolicy(),\r\n subscribeButtton: this._renderSubmitButton(),\r\n subscribeThanks: this._renderSubmitThanks(),\r\n tsAndCsText: this._renderTsCsText(),\r\n reCaptcha: this._renderReCaptcha()\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 _renderReCaptcha(): React.ReactNode {\r\n //recaptcha newsletter-recapture-visable\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 this._submit()}\r\n />\r\n
: null\r\n }\r\n
\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 _renderTsCsText(): React.ReactNode {\r\n return (\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 \r\n
\r\n );\r\n }\r\n\r\n private _renderCheckboxPrivacyPolicy(): React.ReactNode {\r\n return (\r\n
\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 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 for Entering!\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 privacyPolicyErrorClass: this._PrivacyPolicyRef.current!.checked ? 'hide' : 'show'\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.ppError}\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 });\r\n break;\r\n }\r\n case 'lastName': {\r\n this.setState({ lastName: value, lNError: false, reqError: false, eAValError: false });\r\n break;\r\n }\r\n case 'emailAddress': {\r\n this.setState({ emailAddress: value, eAError: false, reqError: false, eAValError: 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 });\r\n break;\r\n }\r\n default: {\r\n console.log('No input box changes');\r\n this.setState({ reqError: false, eAValError: 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 await this._recaptchaRef.current?.execute()\r\n }\r\n\r\n private async _submit(): 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 const eAVal = this._EmailAddressInputRef.current!.value;\r\n const recaptchaValue = this._recaptchaRef.current?.getValue();\r\n if (!this.firstNameValue) {\r\n this.setState({\r\n fNError: true,\r\n reqError: true\r\n });\r\n this._recaptchaRef.current?.reset();\r\n } else if (!this.lastNameValue) {\r\n this.setState({\r\n lNError: true,\r\n reqError: true\r\n });\r\n this._recaptchaRef.current?.reset();\r\n } else if (!this.emailAddressValue) {\r\n this.setState({\r\n eAError: true,\r\n reqError: true\r\n });\r\n this._recaptchaRef.current?.reset();\r\n } else if (!this._isEmailValid(eAVal)) {\r\n this.setState({\r\n eAValError: true\r\n });\r\n this._recaptchaRef.current?.reset();\r\n } else if (!this._PrivacyPolicyRef.current!.checked) {\r\n this.setState({\r\n privacyPolicyChecked: false,\r\n tsCsError: true\r\n });\r\n this._recaptchaRef.current?.reset();\r\n }\r\n else if (!recaptchaValue) {\r\n this.setState({\r\n rCCError: true\r\n });\r\n this._recaptchaRef.current?.reset();\r\n } else {\r\n this.formInputValues = (this.emailAddressValue) ? true : false;\r\n if (this.formInputValues && !this.state.eAValError) {\r\n try {\r\n await this._postEntry(fN, lN, eA);\r\n\r\n this._clearValues();\r\n setTimeout(() => {\r\n window.location.reload();\r\n }, 6000);\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): Promise {\r\n // NB in test the post body will need to look like this: { content: { emailAddress: email } }\r\n /* tslint:disable */\r\n let emarsysCompetitionGroupId = this.props.config.emarsysCompetitionGroupId;\r\n let emarsysGroupName = this.props.config.emarsysGroupOptInName;\r\n\r\n // NB in test the post body will need to look like this: { content: { emailAddress: email } }\r\n\r\n /* tslint:disable */\r\n const response = await MsDyn365.commerceApiRequest(\r\n this.props.context.request,\r\n 'PostContact',\r\n 'post',\r\n {\r\n firstName: firstName,\r\n lastName: lastName,\r\n emailAddress: email,\r\n country: this.props.config.country,\r\n emarsysGroup: this.props.config.emarsysGroupId,\r\n emarsysCompetitionGroupId: emarsysCompetitionGroupId,\r\n emarsysGroupName: emarsysGroupName,\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\r\n if (MsDyn365.msdyn365Commerce.isBrowser && this.props.config.urlToOpenOnSuccess) {\r\n // @ts-ignore\r\n // window.location = this.props.config.urlToOpenOnSuccess;\r\n window.open(this.props.config.urlToOpenOnSuccess, '_blank');\r\n }\r\n\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 firstName: '',\r\n lastName: '',\r\n reqError: false,\r\n eAValError: false,\r\n rCCError: false\r\n });\r\n /* tslint:enable */\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 firstName: '',\r\n lastName: '',\r\n reqError: false,\r\n eAValError: false,\r\n rCCError: false\r\n });\r\n \r\n }\r\n\r\n }\r\n\r\n private _clearValues(): void {\r\n this._recaptchaRef.current?.reset();\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._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 }\r\n\r\n}\r\n\r\nexport default CittaSubscribeNewsletterForm;\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 { ICittaSubscribeNewsletterFormViewProps } from './citta-subscribe-newsletter-form';\r\n\r\n/**\r\n *\r\n * ICittaProductSkuView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class ICittaSubscribeNewsletterFormView extends React.PureComponent {\r\n\r\n public render(): JSX.Element | null {\r\n const {\r\n SubscribeWrapper,\r\n subscribeResponse,\r\n subscribeForm,\r\n responseSuccess,\r\n formErrors,\r\n formErrorsNodeProps,\r\n successResponseNodeProps,\r\n showSuccessResponse,\r\n successResponse\r\n } = this.props;\r\n\r\n const {\r\n FormWrapper,\r\n FormContainer,\r\n firstAndLastNameInput,\r\n emailInput,\r\n checkboxPrivacyPolicy,\r\n subscribeButtton,\r\n reCaptcha,\r\n subscribeThanks\r\n } = subscribeForm;\r\n\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 {checkboxPrivacyPolicy}\r\n {reCaptcha}\r\n {responseSuccess ? 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 ICittaSubscribeNewsletterFormView;\r\n","// @ts-nockeck\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 { IHistogramItemViewProps, IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst RatingsHistogramView: React.FC = props => {\r\n const { heading, histogramItems, histogramProps, moduleProps } = props;\r\n return (\r\n \r\n {heading}\r\n \r\n {histogramItems.map(item => {\r\n return histogramItem(item);\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nconst histogramItem = (props: IHistogramItemViewProps) => {\r\n return (\r\n \r\n {props.starLabel}\r\n {props.bar}\r\n {props.percentage}\r\n \r\n );\r\n};\r\n\r\nexport default RatingsHistogramView;","/*!\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';\nimport { isOboRequest } from '@msdyn365-commerce/core-internal';\nimport { IMsdyn365PvaChatConnectorData } from './msdyn365-pva-chat-connector.data';\nimport { IMsdyn365PvaChatConnectorConfig, IMsdyn365PvaChatConnectorProps } from './msdyn365-pva-chat-connector.props.autogenerated';\n\nexport interface IPvaChatConnectorViewProps extends IMsdyn365PvaChatConnectorProps {\n config: IMsdyn365PvaChatConnectorConfig;\n}\n\n/**\n * PvaChatConnector component\n * @extends {React.PureComponent>}\n */\nclass PvaChatConnector extends React.PureComponent> {\n // Loads CDN version of Botframework-Webchat library\n public componentDidMount(): void {\n if (isOboRequest(this.props.context.request)) {\n return;\n }\n\n const url = this.props.config.botFrameworkCDNURL || this.props.context.app.config.pvaChatConnectorBotFrameworkCDNURL;\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n script.crossOrigin = 'anonymous';\n document.body.appendChild(script);\n }\n\n public render(): JSX.Element | null {\n if (isOboRequest(this.props.context.request)) {\n return null;\n }\n\n return this.props.renderView(this.props);\n }\n}\n\nexport default PvaChatConnector;\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';\nimport { Chat, IPvaChatConnectorViewProps } from './index';\n\nexport default (props: IPvaChatConnectorViewProps) => {\n // Only for CDN loading check, won't be needed with npm package of Botframework-WebChat\n const [loaded, setLoaded] = React.useState(false);\n const p = {\n ...props\n };\n\n // Just to verify that CDN Chat Widget js lib is loaded\n // Remove this block if moving to npm package of Botframework-WebChat\n const interval = setInterval(() => {\n const t = typeof window;\n if (t !== 'undefined' && window.WebChat) {\n setLoaded(true);\n clearInterval(interval);\n }\n }, 100);\n\n return
{loaded && }
;\n};\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';\nimport { ICheckoutGooglePayViewProps } from './checkout-google-pay';\n\nconst CheckoutGooglePayView: React.FC = props => {\n const { alert, checkoutGooglePay, checkoutButton } = props;\n return (\n \n {alert}\n
ref?.appendChild(checkoutButton || document.createElement('div'))}>
\n
\n );\n};\n\nexport default CheckoutGooglePayView;\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 { BackToTop, getTelemetryObject, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBackTopFooterProps } from './back-top-footer.props.autogenerated';\n\n/**\n *\n * BackTopFooter component.\n * @extends {React.PureComponent>}\n */\nclass BackTopFooter extends React.PureComponent> {\n private readonly editProps: Msdyn365.ITextEditProps = {\n requestContext: this.props.context.request,\n onEdit: (event: Msdyn365.ContentEditableEvent) => (this.props.config.backtoTopText = event.target.value)\n };\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IBackTopFooterProps<{}>) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n if (!this.props.config.destination) {\n this.props.telemetry.error('BackToTop.destination has not been provided, module wont render.');\n return null;\n }\n\n return (\n \n );\n }\n}\n\nexport default BackTopFooter;\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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IImageListConfig, IImageListProps, IImagesData } from './image-list.props.autogenerated';\n\n/**\n * The interface for IImageListViewProps.\n */\nexport interface IImageListViewProps extends IImageListProps {\n imageList: IModuleProps;\n imageListHeading?: React.ReactNode;\n imageListContainer: INodeProps;\n imageListItem: INodeProps;\n imageListItemAnchorTag: INodeProps;\n imageListItems: IImageListItem[] | undefined;\n}\n\n/**\n * The interface for IImageListItem.\n */\nexport interface IImageListItem {\n image: JSX.Element | undefined;\n text: JSX.Element | undefined;\n link: string | undefined;\n linkAltText: string | undefined;\n linkAriaLabel: string | undefined;\n linkOpenInNewTab?: boolean;\n}\n\n/**\n *\n * ImageList component.\n * @extends {React.PureComponent>}\n */\nclass ImageList extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { heading } = this.props.config;\n const imageListTitle = heading && ;\n const viewProps: IImageListViewProps = {\n ...this.props,\n imageList: {\n moduleProps: this.props,\n className: classnames('ms-image-list', this.props.config.className),\n tag: 'div'\n },\n imageListHeading: imageListTitle,\n imageListContainer: {\n className: 'ms-image-list__list',\n role: 'list',\n tag: 'ul'\n },\n imageListItem: {\n className: 'ms-image-list__list-item',\n role: 'listitem',\n tag: 'li'\n },\n imageListItemAnchorTag: {\n tag: 'a',\n className: 'ms-image-list__link',\n role: 'link'\n },\n imageListItems: this._renderImageListItems()\n };\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle paragraph change.\n * @param index - Index of image item in array of image items.\n * @returns Void.\n */\n public handleParagraphChange = (index: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.images![index]) {\n this.props.config.images![index].paragraph = event.target.value;\n }\n };\n\n /**\n * Render list of images.\n * @returns List of images with text and redirection link.\n */\n private readonly _renderImageListItems = (): IImageListItem[] | undefined => {\n const imageList: IImagesData[] | undefined = this.props.config.images;\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n lg: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n xl: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 }\n },\n lazyload: false,\n disableLazyLoad: true\n };\n return imageList?.map((item, index) => {\n const { image, link, paragraph } = item;\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: (image?.imageSettings ?? defaultImageSettings) as Msdyn365.IImageSettings | undefined\n };\n\n const imageLink: string | undefined = link?.linkUrl.destinationUrl;\n const imageLinkText: string | undefined = link?.linkText ?? link?.ariaLabel;\n const imageLinkAriaLabel: string | undefined = link?.ariaLabel;\n const imageLinkOpenInNewTab = link?.openInNewTab;\n\n // If image is null, we want to render the placeholder SVG - by passing image data with empty src\n const imageImage = (\n \n );\n\n const imageText = paragraph && (\n \n );\n const imageListItem: IImageListItem = {\n image: imageImage,\n text: imageText,\n link: imageLink,\n linkAltText: imageLinkText,\n linkAriaLabel: imageLinkAriaLabel,\n linkOpenInNewTab: imageLinkOpenInNewTab\n };\n return imageListItem;\n });\n };\n}\n\nexport default ImageList;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IImageListViewProps } from './image-list';\n\n/**\n * Render the thumbnail item images.\n * @param props - The image list view props.\n * @returns Return HTML having IImageListViewProps props with image List.\n */\nexport const imageListView = (props: IImageListViewProps): JSX.Element => {\n const { imageList, imageListContainer, imageListHeading, imageListItem, imageListItems, imageListItemAnchorTag } = props;\n return (\n \n {imageListHeading}\n \n {imageListItems?.map(item => {\n let indexKey: string;\n\n if (item.image) {\n const image = (item.image as unknown) as Msdyn365.Image;\n indexKey = image.props.src as string;\n } else {\n const text = (item.text as unknown) as Msdyn365.RichTextComponent;\n indexKey = text.props.text as string;\n }\n return (\n \n {item.image && (\n \n {item.image}\n \n )}\n {item.text}\n \n );\n })}\n \n \n );\n};\n\nexport default imageListView;\n"],"names":["Market","CittaJournalPosts","React","constructor","props","super","moduleClassName","_renderLoadMore","displayedJournals","allJournals","this","state","length","className","onClick","_loadMore","_onType","e","categoryFilter","list","_getFilteredJournals","target","value","toLowerCase","setState","displayCount","slice","searchTerm","filter","journal","category","title","indexOf","subTitle","_setCategoryFilter","type","_renderCategoryFilter","categories","config","map","_renderSearch","onChange","placeholder","getMarket","url","arguments","undefined","indexOfCountry","market","split","NZ","toUpperCase","_getPostUrl","postUrl","context","request","requestUrl","href","_renderPosts","posts","post","imageUrl","src","alt","_formatDate","date","audience","journals","data","result","journalsFilteredByAudience","bind","componentDidMount","MsDyn365","isBrowser","window","decodeURI","location","search","urlParams","URLSearchParams","journalcategory","has","get","find","c","toLocaleLowerCase","container","document","querySelector","middle","children","Math","floor","scrollLeft","offsetLeft","offsetWidth","render","viewProps","_objectSpread","JournalsWrapper","moduleProps","classnames","loadMore","renderView","d","parseInt","newDisplayCount","Module","Object","assign","CittaSubscribeNewsletterForm","firstNameValue","lastNameValue","emailAddressValue","formInputValues","_showErrors","emailErrorClass","_checkEmailError","firstNameErrorClass","_FirstNameInputRef","current","lastNameErrorClass","_LastNameInputRef","privacyPolicyErrorClass","_PrivacyPolicyRef","checked","email","_EmailAddressInputRef","_isEmailValid","_renderErrors","resources","firstNameError","lastNameError","emailError","ppError","_handleChange","name","firstName","fNError","reqError","eAValError","lastName","lNError","emailAddress","eAError","isChecked","privacyPolicyChecked","console","log","test","_recaptchaRef","_handleSubmit","tsCsError","rCCError","responseReceived","responseError","responseSuccess","reCaptchaChecked","SubscribeWrapper","subscribeResponse","_getSubmitResponse","subscribeForm","_renderForm","formErrors","formErrorsNodeProps","successResponse","_renderSuccessResponse","showSuccessResponse","successResponseNodeProps","responseMessage","successTextResponse","FormWrapper","FormContainer","firstAndLastNameInput","_renderFirstAndLastNameInput","emailInput","_renderEmailInput","checkboxPrivacyPolicy","_renderCheckboxPrivacyPolicy","subscribeButtton","_renderSubmitButton","subscribeThanks","_renderSubmitThanks","tsAndCsText","_renderTsCsText","reCaptcha","_renderReCaptcha","_renderRecaptchaAlert","reCaptchaOption","recaptchaErrorMessage","role","ReCAPTCHA","ref","sitekey","reCaptchaSiteKey","size","_submit","firstNamePlaceholderText","required","lastNamePlaceholderText","dangerouslySetInnerHTML","getRichTextHtml","privacyPolicyText","emailInputPlaceholder","id","privacyPolicyLink","Button","submitButtonLabel","color","async","_this$_recaptchaRef$c","execute","_this$_recaptchaRef$c2","fN","lN","eA","eAVal","recaptchaValue","getValue","_this$_recaptchaRef$c3","_postEntry","_clearValues","setTimeout","reload","_this$_recaptchaRef$c8","reset","_this$_recaptchaRef$c7","_this$_recaptchaRef$c6","_this$_recaptchaRef$c5","_this$_recaptchaRef$c4","emarsysCompetitionGroupId","emarsysGroupName","emarsysGroupOptInName","response","country","emarsysGroup","emarsysGroupId","Message","Result","urlToOpenOnSuccess","open","_this$_recaptchaRef$c9","ICittaSubscribeNewsletterFormView","Node","histogramItem","buttonProps","starLabel","bar","percentage","heading","histogramItems","histogramProps","item","PvaChatConnector","isOboRequest","botFrameworkCDNURL","app","pvaChatConnectorBotFrameworkCDNURL","script","createElement","crossOrigin","body","appendChild","loaded","setLoaded","p","interval","setInterval","WebChat","clearInterval","Chat","alert","checkoutGooglePay","checkoutButton","BackTopFooter","editProps","requestContext","onEdit","event","backtoTopText","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","telemetry","destination","BackToTop","ariaLabel","text","error","ImageList","handleParagraphChange","index","images","paragraph","_renderImageListItems","imageList","defaultImageSettings","viewports","xs","q","w","h","lg","xl","lazyload","disableLazyLoad","_image$imageSettings","_link$linkText","image","link","imageProps","gridSettings","imageSettings","imageLink","linkUrl","destinationUrl","imageLinkText","linkText","imageLinkAriaLabel","imageLinkOpenInNewTab","openInNewTab","Msdyn365","loadFailureBehavior","linkAltText","linkAriaLabel","linkOpenInNewTab","_heading$tag","imageListTitle","tag","imageListHeading","imageListContainer","imageListItem","imageListItemAnchorTag","imageListItems","imageListView","indexKey","key","altText"],"sourceRoot":""}