{"version":3,"file":"static/js/16a137cc50a0c8da25a4.bundle.js","mappings":"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","sources":["webpack://jansen-adventureworks/./lib/country-picker/module-registration.js?64c6","webpack://jansen-adventureworks/./src/modules/country-picker/country-picker.tsx?4fcb","webpack://jansen-adventureworks/./src/modules/country-picker/country-picker.view.tsx?0036","webpack://jansen-adventureworks/external var \"React\"?0d3b","webpack://jansen-adventureworks/external var \"ReactDOM\"?853b"],"sourcesContent":["const binding = { modules: {}, dataActions: {} };\n\n    (binding.modules['country-picker'] = {\n        c: () => require('@msdyn365-commerce-modules/country-picker/dist/lib/modules/country-picker/country-picker'),\n        $type: 'contentModule',\n        da: [],\n        \n        iNM: true,\n        ns: '@msdyn365-commerce-modules',\n        n: 'country-picker',\n        p: 'country-picker',\n        \n        pdp: '',\n        \n        \n        md: 'node_modules/@msdyn365-commerce-modules/country-picker/dist/lib/modules/country-picker'\n    });\n        \n\n        \n    window.__bindings__ = window.__bindings__ || {};\n    window.__bindings__.modules = {\n        ...window.__bindings__.modules || {},\n        ...binding.modules\n    };\n    \n        window.__bindings__.dataActions = {\n        ...window.__bindings__.dataActions || {},\n        ...binding.dataActions\n    };\n                        export const viewDictionary = {};\n                        viewDictionary['@msdyn365-commerce-modules|country-picker|modules|country-picker|country-picker'] = {\n                c: () => require('@msdyn365-commerce-modules/country-picker/dist/lib/modules/country-picker/country-picker.view.js'),\n                cn: '@msdyn365-commerce-modules-country-picker-country-picker'\n            };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n                        ...window.__bindings__.viewDictionary || {},\n                        ...viewDictionary\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 { ICookieSetOptions, IImageDimension, ILocaleItems } from '@msdyn365-commerce/core-internal';\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n    Button,\n    getPayloadObject,\n    getTelemetryAttributes,\n    getTelemetryObject,\n    IModuleProps,\n    INodeProps,\n    ITelemetryContent,\n    Modal,\n    ModalBody,\n    ModalFooter,\n    ModalHeader,\n    onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICountryPickerData } from './country-picker.data';\nimport { IActionLinkData, ICountryPickerProps } from './country-picker.props.autogenerated';\n\n/**\n * CountryPicker view props interface.\n */\nexport interface ICountryPickerViewProps extends ICountryPickerProps<ICountryPickerData> {\n    modalContainer: IModuleProps;\n    modalHeaderContainer: INodeProps;\n    modalFooterContainer: INodeProps;\n    modalBodyContainer: INodeProps;\n    heading?: React.ReactNode;\n    subheading?: React.ReactNode;\n    link?: React.ReactNode;\n    countryList?: React.ReactNode[];\n    isModalOpen?: boolean;\n    state?: ICountryPickerState;\n    stayOnCurrentSiteButton?: React.ReactNode;\n}\n\n/**\n * ICountryPickerState: Interface for Country picker State.\n */\nexport interface ICountryPickerState {\n    isModalOpen: boolean;\n}\n\n/**\n *\n * CountryPicker component.\n * @extends {React.PureComponent<ICountryPickerProps<ICountryPickerData>>}\n */\nexport class CountryPicker extends React.PureComponent<ICountryPickerProps<ICountryPickerData>, ICountryPickerState> {\n    private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n        this.props.context.request.telemetryPageName!,\n        this.props.friendlyName,\n        this.props.telemetry\n    );\n\n    private readonly _preferredSiteStorageKey: string = '_msdyn365___site_';\n\n    private readonly _cookieExpirationTime = 5_184_000;\n\n    public constructor(props: ICountryPickerProps<ICountryPickerData>) {\n        super(props);\n        let isCookieValueSet: boolean = false;\n        if (props.context.request.cookies.get(this._preferredSiteStorageKey).value) {\n            isCookieValueSet = true;\n        }\n        this.state = {\n            isModalOpen: !isCookieValueSet && this.props.context.request.marketSettings !== undefined\n        };\n    }\n\n    public render(): JSX.Element | null {\n        const { heading, subheading, countryList, actionLink } = this.props.config;\n\n        const isConsentGiven = this.props.context.request.cookies.isConsentGiven();\n\n        if (!isConsentGiven) {\n            return null;\n        }\n\n        const countryPickerHeading = heading && (\n            <MsDyn365.Text\n                className='ms-country-picker__heading'\n                tag={heading.tag ?? 'h1'}\n                text={heading.text}\n                editProps={{ onEdit: this.handleTextChange, requestContext: this.props.context.request }}\n            />\n        );\n\n        const countryPickerSubHeading = subheading && (\n            <MsDyn365.RichTextComponent\n                text={subheading}\n                className='ms-country-picker__subheading'\n                editProps={{ onEdit: this.handleParagraphChange, requestContext: this.props.context.request }}\n            />\n        );\n\n        const countryPickerActionLink = actionLink && this.createLink(actionLink);\n        const currentSiteButton = (\n            <Button className='ms-country-picker__current-site' onClick={this._handleStayOnSiteButtonClick} tabIndex={1}>\n                {this.props.resources.stayOnCurrentSiteButtonText}\n            </Button>\n        );\n\n        const viewprops: ICountryPickerViewProps = {\n            ...this.props,\n            state: this.state,\n            isModalOpen: this.state.isModalOpen,\n            modalContainer: {\n                moduleProps: this.props,\n                tag: Modal,\n                className: 'ms-country-picker__dialog',\n                isOpen: true,\n                'aria-label': 'country-picker',\n                toggle: this.closeModal,\n                modalTransition: { timeout: 0 },\n                shouldUpdateFocusToFirstElement: true\n            },\n            modalHeaderContainer: {\n                tag: ModalHeader,\n                className: 'ms-country-picker__modal-header',\n                toggle: this.closeModal,\n                closeButtonTabIndex: 1\n            },\n            modalFooterContainer: {\n                tag: ModalFooter,\n                className: 'ms-countryPicker__modal-footer'\n            },\n            modalBodyContainer: {\n                tag: ModalBody,\n                className: 'ms-counrtyPicker__modal-body'\n            },\n            heading: countryPickerHeading,\n            subheading: countryPickerSubHeading,\n            link: countryPickerActionLink,\n            countryList: countryList && this.renderCountryList(),\n            stayOnCurrentSiteButton: currentSiteButton\n        };\n\n        return this.props.renderView(viewprops);\n    }\n\n    /**\n     * Initiate close modal.\n     */\n    public readonly closeModal = (): void => {\n        this.setState({\n            isModalOpen: false\n        });\n    };\n\n    public handleParagraphChange(event: MsDyn365.ContentEditableEvent): void {\n        this.props.config.subheading = event.target.value;\n    }\n\n    public handleTextChange(event: MsDyn365.ContentEditableEvent): void {\n        this.props.config.heading!.text = event.target.value;\n    }\n\n    public handleLinkTextChange(event: MsDyn365.ContentEditableEvent): void {\n        if (this.props.config.actionLink?.linkText) {\n            this.props.config.actionLink.linkText = event.target.value;\n        }\n    }\n\n    public createLink(link?: IActionLinkData): React.ReactNode | null {\n        if (!StringExtensions.isNullOrEmpty(link?.linkUrl.destinationUrl)) {\n            const linkText = link?.linkText ?? '';\n            const payLoad = getPayloadObject('click', this._telemetryContent, '', '');\n            const attributes = getTelemetryAttributes(this._telemetryContent, payLoad);\n            const editableLink: MsDyn365.ILinksData = {\n                ariaLabel: link?.ariaLabel,\n                className: 'ms-countryPicker__link',\n                linkText,\n                linkUrl: link?.linkUrl.destinationUrl,\n                openInNewTab: link?.openInNewTab,\n                role: 'link',\n                additionalProperties: attributes!,\n                onClick: onTelemetryClick(this._telemetryContent, payLoad, linkText)\n            };\n            return (\n                <MsDyn365.Link\n                    link={editableLink}\n                    editProps={{ onTextChange: this.handleLinkTextChange, requestContext: this.props.context.request }}\n                />\n            );\n        }\n        return null;\n    }\n\n    public renderCountryList(): React.ReactNode[] | undefined {\n        const marketSettings = this.props.context.request.marketSettings;\n        if (!marketSettings) {\n            return undefined;\n        }\n        const localeItems = marketSettings.localeItems;\n        const countryLinks = localeItems.map((value: ILocaleItems) => {\n            return this.renderCountry(value);\n        });\n\n        return countryLinks;\n    }\n\n    public renderCountry(localeItem: ILocaleItems): React.ReactNode | null {\n        const countryList = this.props.config.countryList;\n        let baseUrl = localeItem.localeBaseUrl;\n        baseUrl = this._appendProtocolToUrl(baseUrl);\n        const matchedCountryItem = countryList?.find(item => item.url === baseUrl);\n        if (!matchedCountryItem) {\n            return null;\n        }\n        const imageSize: IImageDimension = { q: 'w=48&h=48&m=6', w: 0, h: 0 };\n        const defaultImageSettings: MsDyn365.IImageSettings = {\n            viewports: {\n                xs: imageSize,\n                lg: imageSize,\n                xl: imageSize\n            },\n            lazyload: true\n        };\n        const image = matchedCountryItem.image;\n        const imageProps = {\n            gridSettings: this.props.context.request.gridSettings!,\n            imageSettings: image?.imageSettings ?? defaultImageSettings\n        };\n        return (\n            <a\n                key={matchedCountryItem.displayString}\n                className='ms-country-picker__country__item__link'\n                tabIndex={1}\n                href={matchedCountryItem.url}\n                aria-label={matchedCountryItem.displayString}\n                onClick={this._handleClick(this._preferredSiteStorageKey, matchedCountryItem.url)}\n            >\n                {image && (\n                    <MsDyn365.Image\n                        requestContext={this.props.context.request}\n                        className='ms-country-picker__country__item__img'\n                        key={matchedCountryItem.displayString}\n                        src={image.src ?? ''}\n                        gridSettings={imageProps.gridSettings}\n                        imageSettings={imageProps.imageSettings}\n                        altText={image.altText}\n                        loadFailureBehavior='hide'\n                        shouldSkipToMainImage\n                    />\n                )}\n                <div className='ms-country-picker__country__item__display'>\n                    <span className='ms-country-picker__country__item__displayString'>{matchedCountryItem.displayString}</span>\n                    <span className='ms-country-picker__country__item__displaySubString'>{matchedCountryItem.displaySubString}</span>\n                </div>\n            </a>\n        );\n    }\n\n    /**\n     * Writes the current site base url to cookie and closes the country picker modal dialog.\n     */\n    private readonly _handleStayOnSiteButtonClick = (): void => {\n        const currentBaseUrl = this.props.context.request.marketSettings?.currentBaseUrl;\n        if (currentBaseUrl) {\n            const urlToStore = this._appendProtocolToUrl(currentBaseUrl);\n            this._writeToCookie(this._preferredSiteStorageKey, urlToStore);\n        }\n        this.closeModal();\n    };\n\n    /**\n     * Handles click event of country selection.\n     * @param storageKey - Cookie storage key.\n     * @param storageValue - Preffered site url.\n     * @returns - This method just writes the cookie to the browser.\n     */\n    private readonly _handleClick = (storageKey?: string, storageValue?: string) => () => {\n        this._writeToCookie(storageKey, storageValue);\n    };\n\n    /**\n     * Handles click event of country selection.\n     * @param storageKey - Cookie storage key.\n     * @param storageValue - Preffered site url.\n     */\n    private readonly _writeToCookie = (storageKey?: string, storageValue?: string): void => {\n        if (!storageKey || !storageValue) {\n            return;\n        }\n        const cookieOptions: ICookieSetOptions = { secure: true, sameSite: 'none' };\n        cookieOptions.maxAge = this._cookieExpirationTime;\n        this.props.context.request.cookies.set(storageKey, storageValue, cookieOptions);\n    };\n\n    /**\n     * Appends protocol to an url.\n     * @param baseUrl - Url to be formatted.\n     * @returns - URL after appending protocol.\n     */\n    private readonly _appendProtocolToUrl = (baseUrl: string): string => {\n        return !baseUrl.includes('https://') ? `https://${baseUrl}` : baseUrl;\n    };\n}\n\nexport default CountryPicker;\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 { ICountryPickerViewProps } from './index';\n\n/**\n * Functional component which renders country picker module.\n * @param props - Configuration for the country picker component.\n * @returns React.FC<ICountryPickerViewProps> - Functional component of the country picker module.\n */\nexport const countryPickerView: React.FC<ICountryPickerViewProps> = (props: ICountryPickerViewProps) => {\n    const {\n        isModalOpen,\n        modalContainer,\n        modalHeaderContainer,\n        modalBodyContainer,\n        heading,\n        modalFooterContainer,\n        subheading,\n        link,\n        countryList,\n        stayOnCurrentSiteButton\n    } = props;\n    return isModalOpen && countryList ? (\n        <Module {...modalContainer}>\n            <Node {...modalHeaderContainer}>\n                {heading}\n                {subheading}\n            </Node>\n            <Node {...modalBodyContainer}>\n                {countryList.map(country => (\n                    <>{country}</>\n                ))}\n            </Node>\n            <Node {...modalFooterContainer}>\n                {stayOnCurrentSiteButton}\n                {link}\n            </Node>\n        </Module>\n    ) : null;\n};\n\nexport default countryPickerView;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","_objectSpread","viewDictionary","cn","CountryPicker","React","constructor","props","super","_telemetryContent","getTelemetryObject","this","context","request","telemetryPageName","friendlyName","telemetry","_preferredSiteStorageKey","_cookieExpirationTime","closeModal","setState","isModalOpen","_handleStayOnSiteButtonClick","_this$props$context$r","currentBaseUrl","marketSettings","urlToStore","_appendProtocolToUrl","_writeToCookie","_handleClick","storageKey","storageValue","cookieOptions","secure","sameSite","maxAge","cookies","set","baseUrl","includes","isCookieValueSet","get","value","state","undefined","render","_heading$tag","heading","subheading","countryList","actionLink","config","isConsentGiven","countryPickerHeading","MsDyn365","className","tag","text","editProps","onEdit","handleTextChange","requestContext","countryPickerSubHeading","handleParagraphChange","countryPickerActionLink","createLink","currentSiteButton","Button","onClick","tabIndex","resources","stayOnCurrentSiteButtonText","viewprops","modalContainer","moduleProps","Modal","isOpen","toggle","modalTransition","timeout","shouldUpdateFocusToFirstElement","modalHeaderContainer","ModalHeader","closeButtonTabIndex","modalFooterContainer","ModalFooter","modalBodyContainer","ModalBody","link","renderCountryList","stayOnCurrentSiteButton","renderView","event","target","handleLinkTextChange","_this$props$config$ac","linkText","StringExtensions","isNullOrEmpty","linkUrl","destinationUrl","_link$linkText","payLoad","getPayloadObject","attributes","getTelemetryAttributes","editableLink","ariaLabel","openInNewTab","role","additionalProperties","onTelemetryClick","onTextChange","localeItems","map","renderCountry","localeItem","_image$imageSettings","_image$src","localeBaseUrl","matchedCountryItem","find","item","url","imageSize","q","w","h","defaultImageSettings","viewports","xs","lg","xl","lazyload","image","imageProps","gridSettings","imageSettings","key","displayString","href","src","altText","loadFailureBehavior","shouldSkipToMainImage","displaySubString","countryPickerView","Module","Object","assign","Node","country","module","exports","ReactDOM"],"sourceRoot":""}