{"version":3,"file":"static/js/e8c6be94f93a8af4064c.bundle.js","mappings":"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","sources":["webpack://Dobbies.Commerce/./src/modules/dobbies-cookie-compliance/components/accept-button.tsx?7cb3","webpack://Dobbies.Commerce/./src/modules/dobbies-cookie-compliance/components/links.tsx?52fd","webpack://Dobbies.Commerce/./src/modules/dobbies-cookie-compliance/dobbies-cookie-compliance.tsx?e5f5","webpack://Dobbies.Commerce/./src/modules/dobbies-cookie-compliance/dobbies-cookie-compliance.view.tsx?2590","webpack://Dobbies.Commerce/./lib/dobbies-cookie-compliance/module-registration.js?20a3","webpack://Dobbies.Commerce/external var \"React\"?0d3b","webpack://Dobbies.Commerce/external var \"ReactDOM\"?853b"],"sourcesContent":["/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { getPayloadObject, getTelemetryAttributes, IPayLoad, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ICookieComplianceAcceptButton {\r\n acceptCookiesButtonText?: string;\r\n acceptCookiesButtonAriaLabel?: string;\r\n\r\n /**\r\n * The telemetry content\r\n */\r\n telemetryContent?: ITelemetryContent;\r\n onClose(): void;\r\n}\r\n\r\nexport const CookieComplianceAcceptButton: React.FC = ({\r\n acceptCookiesButtonText,\r\n acceptCookiesButtonAriaLabel,\r\n telemetryContent,\r\n onClose\r\n}) => {\r\n const payLoad: IPayLoad = getPayloadObject('click', telemetryContent!, 'accept cookies');\r\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n return (\r\n \r\n {acceptCookiesButtonText}\r\n \r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IActionLinksData } from '../dobbies-cookie-compliance.props.autogenerated';\r\n\r\nexport interface ICookieComplianceLinks {\r\n links: IActionLinksData[];\r\n requestContext: Msdyn365.IRequestContext;\r\n telemetryContent: ITelemetryContent;\r\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\r\n}\r\n\r\n/**\r\n *\r\n * ContentCardLinks component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class CookieComplianceLinks extends React.PureComponent {\r\n public render(): JSX.Element {\r\n const editableLinks = this._mapEditableLinks(this.props.links);\r\n return (\r\n \r\n {editableLinks && editableLinks.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n\r\n private readonly _mapEditableLinks = (linkdata: IActionLinksData[]): Msdyn365.ILinksData[] | null => {\r\n if (!linkdata || linkdata.length === 0) {\r\n return null;\r\n }\r\n const editableLinks: Msdyn365.ILinksData[] = [];\r\n linkdata.forEach((link, index) => {\r\n // Construct telemetry attribute to render\r\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\r\n const linkText = link.linkText ? link.linkText : '';\r\n payLoad.contentAction.etext = linkText;\r\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\r\n const editableLink: Msdyn365.ILinksData = {\r\n ariaLabel: link.ariaLabel,\r\n className: 'link',\r\n linkText: link.linkText,\r\n linkUrl: link.linkUrl.destinationUrl,\r\n openInNewTab: link.openInNewTab,\r\n role: 'link',\r\n additionalProperties: attributes,\r\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\r\n };\r\n editableLinks.push(editableLink);\r\n });\r\n\r\n return editableLinks;\r\n };\r\n}\r\n\r\nexport default CookieComplianceLinks;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\n/* eslint-disable security/detect-object-injection */\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getTelemetryObject, IAlertProps, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { CookieComplianceAcceptButton, CookieComplianceLinks } from './components';\r\nimport { IDobbiesCookieComplianceConfig, IDobbiesCookieComplianceProps } from './dobbies-cookie-compliance.props.autogenerated';\r\n\r\n/**\r\n * Alert state interface.\r\n */\r\n\r\nexport interface ICheckboxState {\r\n name: CheckboxType;\r\n value: boolean;\r\n}\r\n\r\nexport interface IAlertState {\r\n visible: boolean;\r\n checkboxesChecked: ICheckboxState[];\r\n}\r\n\r\nexport enum CheckboxType {\r\n Functional = 'Functional',\r\n Analytics = 'Analytics',\r\n Unclassified = 'Unclassified'\r\n}\r\n\r\n/**\r\n * Cookie compliance view props interface.\r\n */\r\nexport interface ICookieComplianceViewProps extends IDobbiesCookieComplianceProps<{}> {\r\n CookieComplianceBanner: IModuleProps;\r\n AlertProps: IAlertProps;\r\n Content: INodeProps;\r\n text?: React.ReactNode;\r\n checkboxes?: React.ReactNode;\r\n links?: React.ReactNode;\r\n acceptButton?: React.ReactNode;\r\n className: string;\r\n onDismiss(): void;\r\n}\r\n\r\n/**\r\n *\r\n * CookieCompliance component.\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CookieCompliance extends React.PureComponent, IAlertState> {\r\n private readonly cookieRef: React.RefObject;\r\n\r\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n\r\n public constructor(props: IDobbiesCookieComplianceProps) {\r\n super(props);\r\n this.state = {\r\n visible: false,\r\n checkboxesChecked: [\r\n {\r\n name: CheckboxType.Functional,\r\n value: true\r\n },\r\n {\r\n name: CheckboxType.Analytics,\r\n value: true\r\n },\r\n {\r\n name: CheckboxType.Unclassified,\r\n value: true\r\n }\r\n ]\r\n };\r\n this.cookieRef = React.createRef();\r\n this._onDismiss = this._onDismiss.bind(this);\r\n }\r\n\r\n public componentDidMount(): void {\r\n const { context } = this.props;\r\n\r\n const cookieConsent = context.request.cookies.get('cookieConsent');\r\n const recentlyViewed = context.request.cookies.get('recently-viewed');\r\n\r\n if (context.request.cookies.isConsentGiven() && !cookieConsent?.value && !recentlyViewed?.value) {\r\n context.request.cookies.deleteConsentCookie();\r\n this.setState({ visible: true });\r\n }\r\n\r\n if (context && context.request && context.request.cookies && !context.request.cookies.isConsentGiven()) {\r\n this.setState({ visible: true });\r\n }\r\n }\r\n\r\n public handleCheckboxClicked(index: number) {\r\n const newCheckboxesChecked = [...this.state.checkboxesChecked];\r\n newCheckboxesChecked[index].value = !newCheckboxesChecked[index].value;\r\n this.setState({ checkboxesChecked: newCheckboxesChecked });\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { config, context, resources, telemetry } = this.props;\r\n const { acceptCookiesButtonText, acceptCookiesAriaLabel } = resources;\r\n const { visible } = this.state;\r\n\r\n const isConsentGiven = context && context.request && context.request.cookies && context.request.cookies.isConsentGiven();\r\n let moduleConfig: IDobbiesCookieComplianceConfig;\r\n\r\n try {\r\n moduleConfig = config;\r\n } catch (error) {\r\n telemetry.error(`Something went wrong while rendering the alert module ------${error}`);\r\n // @ts-ignore\r\n return
{error}
;\r\n }\r\n\r\n if (isConsentGiven && !visible) {\r\n this.props.context.telemetry.error('Cookie Compliance content is empty, module wont render.');\r\n return null;\r\n }\r\n\r\n if (!MsDyn365.msdyn365Commerce.isBrowser) {\r\n return <>;\r\n }\r\n\r\n const viewProps = {\r\n ...this.props,\r\n onDismiss: this._onDismiss,\r\n CookieComplianceBanner: {\r\n moduleProps: this.props,\r\n className: classnames('ms-cookie-compliance', moduleConfig.className),\r\n ref: this.cookieRef\r\n },\r\n AlertProps: {\r\n className: 'ms-cookie-compliance__container',\r\n color: 'white',\r\n fade: false\r\n },\r\n Content: {\r\n className: 'ms-cookie-compliance__content'\r\n },\r\n text: moduleConfig.content && (\r\n \r\n ),\r\n checkboxes: (\r\n
\r\n
\r\n alert(this.props.config.functionalAlertText)}\r\n />{' '}\r\n \r\n
\r\n\r\n
\r\n this.handleCheckboxClicked(1)}\r\n />{' '}\r\n \r\n
\r\n\r\n
\r\n this.handleCheckboxClicked(2)}\r\n />{' '}\r\n \r\n
\r\n
\r\n ),\r\n links: ArrayExtensions.hasElements(moduleConfig.actionLinks) && (\r\n \r\n ),\r\n acceptButton: (\r\n \r\n )\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handles Link content change event.\r\n * @param linkIndex - Index of link in linkarray.\r\n * @returns Void.\r\n */\r\n public handleLinkTextChange = (linkIndex: number) => (event: MsDyn365.ContentEditableEvent): void => {\r\n if (this.props.config.actionLinks?.[linkIndex]) {\r\n this.props.config.actionLinks[linkIndex].linkText = event.target.value;\r\n }\r\n };\r\n\r\n /**\r\n * Handles content change event.\r\n * @param event - Event.\r\n */\r\n public handleContentChange = (event: MsDyn365.ContentEditableEvent): void => {\r\n this.props.config.content = event.target.value;\r\n };\r\n\r\n private _onDismiss(): void {\r\n const { context } = this.props;\r\n\r\n if (context && context.request && context.request.cookies) {\r\n context.request.cookies.setConsentCookie();\r\n\r\n const cookieConsent = this.state.checkboxesChecked;\r\n context.request.cookies.set('cookieConsent', cookieConsent, {\r\n expires: new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 365)\r\n });\r\n context.request.cookies.set('recently-viewed', [], { expires: new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 365) });\r\n location.reload();\r\n }\r\n this.setState({ visible: false });\r\n }\r\n}\r\n\r\nexport default CookieCompliance;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Alert, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ICookieComplianceViewProps } from './dobbies-cookie-compliance';\r\n\r\nconst CookieComplianceView: React.FC = props => {\r\n const { CookieComplianceBanner, AlertProps, Content, acceptButton, text, links, checkboxes } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n {text}\r\n
\r\n {links}\r\n
\r\n\r\n {checkboxes}\r\n
\r\n {acceptButton}\r\n
\r\n
\r\n );\r\n};\r\nexport default CookieComplianceView;\r\n","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['dobbies-cookie-compliance'] = {\n c: () => require('partner/modules/dobbies-cookie-compliance/dobbies-cookie-compliance.tsx'),\n $type: 'contentModule',\n da: [],\n \n iNM: false,\n ns: '__local__',\n n: 'dobbies-cookie-compliance',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/dobbies-cookie-compliance'\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['__local__|__local__|modules|dobbies-cookie-compliance|dobbies-cookie-compliance'] = {\n c: () => require('partner/modules/dobbies-cookie-compliance/dobbies-cookie-compliance.view.tsx'),\n cn: '__local__-__local__-dobbies-cookie-compliance'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["CookieComplianceAcceptButton","_ref","acceptCookiesButtonText","acceptCookiesButtonAriaLabel","telemetryContent","onClose","payLoad","getPayloadObject","attributes","getTelemetryAttributes","React","Object","assign","type","className","onClick","CookieComplianceLinks","constructor","_mapEditableLinks","linkdata","length","editableLinks","forEach","link","index","this","props","linkText","contentAction","etext","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","onTelemetryClick","push","render","links","Msdyn365","editProps","onTextChange","requestContext","CheckboxType","CookieCompliance","super","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","handleLinkTextChange","linkIndex","event","_this$props$config$ac","config","actionLinks","target","value","handleContentChange","content","state","visible","checkboxesChecked","name","Functional","Analytics","Unclassified","cookieRef","_onDismiss","bind","componentDidMount","cookieConsent","cookies","get","recentlyViewed","isConsentGiven","deleteConsentCookie","setState","handleCheckboxClicked","newCheckboxesChecked","resources","acceptCookiesAriaLabel","moduleConfig","error","MsDyn365","isBrowser","viewProps","_objectSpread","onDismiss","CookieComplianceBanner","moduleProps","classnames","ref","AlertProps","color","fade","Content","text","onEdit","checkboxes","id","checked","alert","functionalAlertText","htmlFor","onChange","ArrayExtensions","hasElements","acceptButton","renderView","setConsentCookie","set","expires","Date","getTime","location","reload","Module","Alert","Node","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}