{"version":3,"file":"static/js/1fdcaf715b9202d0ea1f.bundle.js","mappings":"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","sources":["webpack://@msdyn365-commerce-partners/fabrikam/./src/themes/britax-romers/views/accordion.view.tsx?cfe2","webpack://@msdyn365-commerce-partners/fabrikam/./lib/accordion/module-registration.js?a7cb","webpack://@msdyn365-commerce-partners/fabrikam/./src/data-actions/accordion-state-data-action.ts?eaf1","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/accordion-item/accordion-item.tsx?36f7","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/accordion/accordion.tsx?78b1","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/accordion/accordion.view.tsx?8c7b","webpack://@msdyn365-commerce-partners/fabrikam/external var \"React\"?0d3b","webpack://@msdyn365-commerce-partners/fabrikam/external var \"ReactDOM\"?853b"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Module, Node } from \"@msdyn365-commerce-modules/utilities\";\r\nimport * as React from \"react\";\r\nimport { IAccordionViewProps } from \"@msdyn365-commerce-modules/accordion/src/modules/accordion/./accordion\";\r\n\r\nconst accordionView: React.FC = (props) => {\r\n const { heading, AccordionContainer, accordionItems } = props;\r\n\r\n if (!props.heading && !props.accordionButtons && !props.accordionItems) {\r\n props.context.telemetry.error(\r\n \"Accordion content is empty, module wont render\"\r\n );\r\n return null;\r\n }\r\n if (props.context.request.user.isAuthenticated) {\r\n return (\r\n \r\n \r\n {heading}\r\n {props.accordionButtons && (\r\n \r\n {props.accordionButtons}\r\n \r\n )}\r\n \r\n {accordionItems}\r\n \r\n );\r\n }\r\n return null;\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('@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['__local__|__local__|themes|britax-romers|views|accordion'] = {\n c: () => require('partner/themes/britax-romers/views/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 { 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 * 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":["props","heading","AccordionContainer","accordionItems","accordionButtons","context","request","user","isAuthenticated","React","Module","Object","assign","Node","HeaderSection","HeadingWrapper","accordianButtonsContainer","accordionItemContainer","telemetry","error","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","AccordionItem","constructor","super","moduleClassName","handleHeadingChange","event","this","config","accordionItemTitle","target","value","_onToggle","bind","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","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","__decorate","observer","Accordion","expandAllButtonRef","collapseAllButtonRef","text","_onExpandAll","_onCollapseAll","payLoad","getPayloadObject","isDisabled","headingComponent","Msdyn365","editProps","onEdit","accordionViewProps","_renderAccordionButton","length","map","item","index","_getAccordionItem","resources","contentAction","etext","TelemetryConstant","ExpandAll","attributeExpandAll","getTelemetryAttributes","CollapseAll","attributeCollapseAll","showToggleAll","disabled","expandAllText","onClick","ref","toggleAllSeparator","collapseAllText","setState","setTimeout","_this$collapseAllButt","current","focus","_this$expandAllButton","key","module","exports","ReactDOM"],"sourceRoot":""}