{"version":3,"file":"static/js/7766556b4a7dae3181f4.bundle.js","mappings":"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","sources":["webpack://bju-press/./src/actions/get-accordion-state.ts?6d43","webpack://bju-press/./src/modules/accordion/accordion.props.autogenerated.ts?2c62","webpack://bju-press/./src/modules/accordion/accordion.tsx?3906","webpack://bju-press/./src/modules/accordion/accordion.view.tsx?5720","webpack://bju-press/./lib/accordion/module-registration.js?a7cb","webpack://bju-press/./src/modules/accordion/accordion.view.tsx?8c7b","webpack://bju-press/external var \"React\"?0d3b","webpack://bju-press/external var \"ReactDOM\"?853b"],"sourcesContent":["import { createObservableDataAction, IAction, IActionContext, IActionInput, CacheType, ICreateActionContext } from '@msdyn365-commerce/core';\r\n\r\nexport interface AccordionStates {\r\n [key: string]: {\r\n isAllExpanded?: boolean;\r\n children?: {\r\n [key: string]: boolean;\r\n }\r\n };\r\n}\r\n\r\n//==========================================================\r\n// AccordionState Input Action\r\n//==========================================================\r\nexport class AccordionStateInput implements IActionInput {\r\n public result: AccordionStates;\r\n\r\n //------------------------------------------------------\r\n // Constructor\r\n //------------------------------------------------------\r\n constructor(result: AccordionStates) {\r\n this.result = result;\r\n }\r\n\r\n //------------------------------------------------------\r\n // Caching\r\n //------------------------------------------------------\r\n public getCacheKey = () => 'Accordion';\r\n public getCacheObjectType = () => 'AccordionState';\r\n public dataCacheType = (): CacheType => 'none';\r\n}\r\n//==========================================================\r\n\r\nexport function createAccordionStateInput(result: AccordionStates): AccordionStateInput {\r\n return new AccordionStateInput(result);\r\n}\r\n\r\nconst createAccordionStateInputInternal = (): AccordionStateInput => {\r\n return createAccordionStateInput({});\r\n};\r\n\r\nasync function getAccordionStateAction(input: AccordionStateInput, ctx: IActionContext): Promise {\r\n return input.result;\r\n}\r\n\r\nexport const getAccordionStateDataAction = createObservableDataAction({\r\n id: 'get-accordion-state',\r\n action: >getAccordionStateAction,\r\n input: <(args: ICreateActionContext) => AccordionStateInput>createAccordionStateInputInternal\r\n});\r\n\r\nexport default getAccordionStateDataAction;\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * IAccordion moduleDefinition Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nexport const enum interactionStyle {\r\n Independent = 'Independent',\r\n ExpandOneItemOnly = 'ExpandOneItemOnly'\r\n}\r\n\r\nexport interface IAccordionConfig {\r\n heading?: IHeadingData;\r\n showToggleAll?: boolean;\r\n interactionStyle?: interactionStyle;\r\n className?: string;\r\n clientRender?: boolean;\r\n}\r\n\r\nexport interface IAccordionResources {\r\n collapseAllText: string;\r\n expandAllText: string;\r\n toggleAllSeparator: string;\r\n}\r\n\r\nexport const enum HeadingTag {\r\n h1 = 'h1',\r\n h2 = 'h2',\r\n h3 = 'h3',\r\n h4 = 'h4',\r\n h5 = 'h5',\r\n h6 = 'h6'\r\n}\r\n\r\nexport interface IHeadingData {\r\n text: string;\r\n tag?: HeadingTag;\r\n}\r\n\r\nexport interface IAccordionProps extends Msdyn365.IModule {\r\n resources: IAccordionResources;\r\n config: IAccordionConfig;\r\n slots: {\r\n accordionItems: React.ReactNode[];\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\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport {\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject,\r\n IModuleProps,\r\n INodeProps,\r\n IPayLoad,\r\n ITelemetryContent,\r\n NodeTag,\r\n TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { IAccordionData } from './accordion.data';\r\nimport { IAccordionProps } from './accordion.props.autogenerated';\r\n\r\nimport { createAccordionStateInput, AccordionStates } from '../../actions/get-accordion-state';\r\n\r\n\r\n/**\r\n *\r\n * Accordion component.\r\n * @extends {React.PureComponent>}\r\n */\r\n\r\nexport interface ICallToActionProps {\r\n link: INodeProps[];\r\n}\r\n\r\nexport interface IAccordionViewProps extends IAccordionProps<{}> {\r\n heading?: React.ReactNode;\r\n AccordionContainer: IModuleProps;\r\n HeaderSection: INodeProps;\r\n HeadingWrapper: INodeProps;\r\n accordianButtonsContainer: INodeProps;\r\n accordionButtons: React.ReactNode;\r\n accordionItemContainer: INodeProps;\r\n accordionItems: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * Accordion component.\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass Accordion extends React.PureComponent> {\r\n private readonly telemetryContent?: ITelemetryContent;\r\n\r\n private readonly payLoad: IPayLoad;\r\n\r\n private readonly expandAllButtonRef: React.RefObject = React.createRef();\r\n\r\n private readonly collapseAllButtonRef: React.RefObject = React.createRef();\r\n\r\n constructor(props: IAccordionProps) {\r\n super(props);\r\n this._onExpandAll = this._onExpandAll.bind(this);\r\n this._onCollapseAll = this._onCollapseAll.bind(this);\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { context, data, slots } = this.props;\r\n const { heading, className } = this.props.config;\r\n const headingComponent = heading && heading.text && (\r\n \r\n );\r\n\r\n const accordionId = this.props.id;\r\n const accordionStateResult = data.accordionState?.result || {};\r\n\r\n const accordionViewProps = {\r\n ...this.props,\r\n AccordionContainer: {\r\n moduleProps: this.props,\r\n className: classnames('ms-accordion', className)\r\n },\r\n HeaderSection: { className: 'ms-accordion-header-section' },\r\n HeadingWrapper: { className: 'ms-accordion-header-section-container' },\r\n heading: headingComponent,\r\n config: this.props && this.props.config,\r\n accordianButtonsContainer: {\r\n tag: 'div' as NodeTag,\r\n className: 'ms-accordion-header-section-toggle-button-container'\r\n },\r\n accordionButtons: this._renderAccordionButton(context, accordionStateResult, accordionId),\r\n accordionItemContainer: {\r\n tag: 'div' as NodeTag,\r\n className: 'ms-accordion-item-section'\r\n },\r\n accordionItems:\r\n slots &&\r\n slots.accordionItems &&\r\n slots.accordionItems.length > 0 &&\r\n slots.accordionItems.map((item: React.ReactNode, index: number) => this._getAccordionItem(item, index))\r\n };\r\n return this.props.renderView(accordionViewProps) as React.ReactElement;\r\n }\r\n\r\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\r\n\r\n private _renderAccordionButton(context: Msdyn365.ICoreContext, accordionStateResult: AccordionStates, accordionId: string): React.ReactNode | null {\r\n const { config, resources } = this.props;\r\n const { heading } = config;\r\n this.payLoad.contentAction.etext = TelemetryConstant.ExpandAll;\r\n const attributeExpandAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\r\n this.payLoad.contentAction.etext = TelemetryConstant.CollapseAll;\r\n const attributeCollapseAll = getTelemetryAttributes(this.telemetryContent!, this.payLoad);\r\n if (!config.showToggleAll) {\r\n this.props.context.telemetry.error('Accordion button content is empty, module wont render');\r\n return null;\r\n }\r\n return (\r\n <>\r\n this._onExpandAll(context, accordionStateResult, accordionId)}\r\n ref={this.expandAllButtonRef}\r\n {...attributeExpandAll}\r\n >\r\n {resources.expandAllText}\r\n \r\n  \r\n {resources.toggleAllSeparator}\r\n  \r\n this._onCollapseAll(context, accordionStateResult, accordionId)}\r\n ref={this.collapseAllButtonRef}\r\n {...attributeCollapseAll}\r\n >\r\n {resources.collapseAllText}\r\n \r\n \r\n );\r\n }\r\n\r\n private _onExpandAll = (context: Msdyn365.ICoreContext, accordionStateResult: AccordionStates, accordionId: string): void => {\r\n updateAccordionStates(context, accordionStateResult, accordionId, true);\r\n resetAccordionStates(context, accordionStateResult, accordionId, true);\r\n };\r\n\r\n private _onCollapseAll = (context: Msdyn365.ICoreContext, accordionStateResult: AccordionStates, accordionId: string): void => {\r\n updateAccordionStates(context, accordionStateResult, accordionId, false);\r\n resetAccordionStates(context, accordionStateResult, accordionId, false);\r\n };\r\n\r\n private _getAccordionItem(item: React.ReactNode, index: number): React.ReactNode {\r\n return (\r\n \r\n {React.cloneElement(item as React.ReactElement, { interactionStyle: this.props.config.interactionStyle })}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport const updateAccordionStates = (context: Msdyn365.ICoreContext, result: AccordionStates, accordionId: string, isAllExpanded: boolean): void => {\r\n result[accordionId] ? result[accordionId].isAllExpanded = isAllExpanded : result[accordionId] = { isAllExpanded };\r\n context.actionContext.update(createAccordionStateInput(result), result);\r\n};\r\n\r\nexport const resetAccordionStates = (context: Msdyn365.ICoreContext, result: AccordionStates, accordionId: string, isAllExpanded: boolean): void => {\r\n const accordionChildren = result[accordionId]?.children;\r\n if (accordionChildren) {\r\n Object.keys(accordionChildren).forEach(child => {\r\n updateAccordionState(context, result, accordionId, child, isAllExpanded);\r\n });\r\n }\r\n};\r\n\r\nexport const updateAccordionState = (context: Msdyn365.ICoreContext, result: AccordionStates, accordionId: string, accordionItemId: string, isExpanded: boolean): void => {\r\n result[accordionId] ? (result[accordionId].children\r\n ? result[accordionId].children![accordionItemId] = isExpanded\r\n : result[accordionId].children = { [accordionItemId]: isExpanded }\r\n ) : (result[accordionId] = { children: { [accordionItemId]: isExpanded } });\r\n context.actionContext.update(createAccordionStateInput(result), result);\r\n};\r\n\r\nexport default Accordion;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAccordionViewProps } from './accordion';\r\nimport { interactionStyle } from './accordion.props.autogenerated';\r\n\r\nconst accordionView: React.FC = props => {\r\n const { config, heading, AccordionContainer, accordionItems } = props;\r\n if (!props.heading && !props.accordionButtons && !props.accordionItems) {\r\n props.context.telemetry.error('Accordion content is empty, module wont render');\r\n return null;\r\n }\r\n return (\r\n \r\n \r\n {heading}\r\n {props.accordionButtons && config.interactionStyle === interactionStyle.Independent && {props.accordionButtons}}\r\n \r\n {accordionItems}\r\n \r\n );\r\n};\r\n\r\nexport default accordionView;\r\n","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('partner/modules/accordion/accordion.tsx'),\n $type: 'moduleDefinition',\n da: [{name:'accordionState', path:'actions/get-accordion-state', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'accordion',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/accordion'\n });\n \n\n {\n const sanitizedActionPath = 'actions/get-accordion-state';\n let dataAction = require('partner/actions/get-accordion-state');\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['__local__|__local__|modules|accordion|accordion'] = {\n c: () => require('partner/modules/accordion/accordion.view.tsx'),\n cn: '__local__-__local__-accordion'\n };\nviewDictionary['@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 { 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":["AccordionStateInput","constructor","result","getCacheKey","getCacheObjectType","dataCacheType","this","createAccordionStateInput","getAccordionStateDataAction","createObservableDataAction","id","action","async","input","ctx","createAccordionStateInputInternal","interactionStyle","HeadingTag","Accordion","React","props","super","expandAllButtonRef","collapseAllButtonRef","handleHeadingChange","event","config","heading","text","target","value","_onExpandAll","context","accordionStateResult","accordionId","updateAccordionStates","resetAccordionStates","_onCollapseAll","bind","telemetryContent","getTelemetryObject","request","telemetryPageName","friendlyName","telemetry","payLoad","getPayloadObject","render","_data$accordionState","data","slots","className","headingComponent","Msdyn365","tag","editProps","onEdit","requestContext","accordionState","accordionViewProps","_objectSpread","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","expandAllText","onClick","ref","toggleAllSeparator","collapseAllText","error","key","__decorate","observer","isAllExpanded","actionContext","update","_result$accordionId","accordionChildren","children","keys","forEach","child","updateAccordionState","accordionItemId","isExpanded","Module","Node","Independent","binding","modules","dataActions","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","window","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}