{"version":3,"file":"static/js/5a72503b791a3731ec89.bundle.js","mappings":"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","sources":["webpack://msdyn365.commerce.online/./lib/accordion-item/module-registration.js?6301","webpack://msdyn365.commerce.online/./src/data-actions/accordion-state-data-action.ts?eaf1","webpack://msdyn365.commerce.online/./src/modules/accordion-item/accordion-item.tsx?36f7","webpack://msdyn365.commerce.online/./src/modules/accordion-item/accordion-item.view.tsx?a302","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-item'] = {\n c: () => require('@msdyn365-commerce-modules/accordion/dist/lib/modules/accordion-item/accordion-item'),\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-item',\n p: 'accordion',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/accordion/dist/lib/modules/accordion-item'\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-item|accordion-item'] = {\n c: () => require('@msdyn365-commerce-modules/accordion/dist/lib/modules/accordion-item/accordion-item.view.js'),\n cn: '@msdyn365-commerce-modules-accordion-accordion-item'\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 { 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","module.exports = React;","module.exports = ReactDOM;"],"names":["binding","modules","dataActions","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","id","registerSanitizedActionPath","window","__bindings__","viewDictionary","cn","createAccordionStateInput","result","GenericInput","getGenericActionDataAction","createObservableDataAction","action","getGenericAction","input","AccordionItem","React","constructor","props","super","moduleClassName","handleHeadingChange","event","this","config","accordionItemTitle","target","value","_onToggle","bind","telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","shouldComponentUpdate","nextProps","data","render","slots","renderView","accordionExpandedStateResult","accordionExpandedState","expanded","undefined","isAllExpanded","isExpandedOnInitialLoad","AccordionItemContainer","moduleProps","className","classnames","AccordionItemContent","drawer","tag","ControlledDrawer","toggleButtonText","collapseProps","isOpen","onToggle","onTextChange","requestContext","accordionSlots","state","interactionStyle","accordionState","actionContext","update","observer","_renderAccordionItemContent","items","length","map","item","index","key","Module","Node","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","resources","contentAction","etext","TelemetryConstant","ExpandAll","attributeExpandAll","getTelemetryAttributes","CollapseAll","attributeCollapseAll","showToggleAll","disabled","expandAllText","onClick","ref","toggleAllSeparator","collapseAllText","error","setState","setTimeout","current","focus","module","exports","ReactDOM"],"sourceRoot":""}