{"version":3,"file":"static/js/6df73632f8f1e9b277de.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./lib/accordion/module-registration.js?a7cb","webpack://Msdyn365.Commerce.Online/./src/data-actions/accordion-state-data-action.ts?eaf1","webpack://Msdyn365.Commerce.Online/./src/modules/accordion/accordion.tsx?78b1","webpack://Msdyn365.Commerce.Online/./src/modules/accordion/accordion.view.tsx?8c7b","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['accordion'] = {\n c: () => require('@msdyn365-commerce-modules/accordion/dist/lib/modules/accordion/accordion'),\n $type: 'moduleDefinition',\n da: [{name:'accordionExpandedState', path:'@msdyn365-commerce-modules/accordion/dist/lib/data-actions/accordion-state-data-action', runOn: 0}],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'accordion',\n p: 'accordion',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/accordion/dist/lib/modules/accordion'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/accordion/dist/lib/data-actions/accordion-state-data-action';\n let dataAction = require('@msdyn365-commerce-modules/accordion/dist/lib/data-actions/accordion-state-data-action');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\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|accordion|modules|accordion|accordion'] = {\n c: () => require('@msdyn365-commerce-modules/accordion/dist/lib/modules/accordion/accordion.view.js'),\n cn: '@msdyn365-commerce-modules-accordion-accordion'\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 { createObservableDataAction, IAction, IActionInput } from '@msdyn365-commerce/core';\nimport { GenericInput, getGenericAction } from '@msdyn365-commerce-modules/retail-actions';\n\nimport { IAccordionExpandedState } from './accordion-state';\n\nexport function createAccordionStateInput(result: IAccordionExpandedState): GenericInput {\n return new GenericInput('accordionExpandedState', result, 'IAccordionExpandedState');\n}\n\nconst createAccordionStateInputInternal = (): IActionInput => {\n return createAccordionStateInput({});\n};\n\nexport const getGenericActionDataAction = createObservableDataAction({\n action: >getGenericAction,\n input: createAccordionStateInputInternal\n});\n\nexport default getGenericActionDataAction;\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","module.exports = React;","module.exports = ReactDOM;"],"names":["binding","modules","dataActions","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","id","window","__bindings__","_objectSpread","viewDictionary","cn","createAccordionStateInput","result","GenericInput","getGenericActionDataAction","createObservableDataAction","action","getGenericAction","input","createAccordionStateInputInternal","Accordion","React","constructor","props","super","expandAllButtonRef","collapseAllButtonRef","handleHeadingChange","event","this","config","heading","text","target","value","_onExpandAll","bind","_onCollapseAll","telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","payLoad","getPayloadObject","state","isDisabled","render","slots","className","headingComponent","Msdyn365","tag","editProps","onEdit","requestContext","accordionViewProps","AccordionContainer","moduleProps","classnames","HeaderSection","HeadingWrapper","accordianButtonsContainer","accordionButtons","_renderAccordionButton","accordionItemContainer","accordionItems","length","map","item","index","_getAccordionItem","renderView","resources","contentAction","etext","TelemetryConstant","ExpandAll","attributeExpandAll","getTelemetryAttributes","CollapseAll","attributeCollapseAll","showToggleAll","Object","assign","disabled","expandAllText","onClick","ref","toggleAllSeparator","collapseAllText","error","accordionState","isAllExpanded","actionContext","update","setState","setTimeout","_this$collapseAllButt","current","focus","_this$expandAllButton","key","interactionStyle","__decorate","observer","Module","Node","module","exports","ReactDOM"],"sourceRoot":""}