{"version":3,"file":"static/js/ecb904c8df683320aadb.bundle.js","mappings":"yLAwBA,MAAMA,EAAa,wBACbC,EAAOC,IAAsBC,EAAAA,EAAAA,GAAUH,EAAYE,GAUzD,MAAME,UAA4BC,EAAAA,cAAlCC,c,oBAoCqB,KAAAC,cAAiBC,IAAmD,IAAAC,EACjF,OACIJ,EAAAA,cAAA,OAAKK,UAAWT,EAAI,YACH,QAAZQ,EAAAD,EAAOG,aAAK,IAAAF,OAAA,EAAZA,EAAcG,OAAQC,KAAKC,mBAAmBN,GAC9CA,EAAOI,MAAQP,EAAAA,cAACU,EAAAA,GAAiB,CAACH,KAAMJ,EAAOI,KAAMF,UAAWT,EAAI,YAOhE,KAAAa,mBAAsBN,IACnC,MAAM,KAAEQ,EAAI,MAAEL,GAAUH,EAExB,OAAIQ,MAAAA,GAAAA,EAAMC,QAAQC,eAEVb,EAAAA,cAAA,KAAGK,UAAWT,EAAI,QAASkB,KAAMH,EAAKC,QAAQC,eAAc,aAAcF,EAAKI,WAC1EP,KAAKQ,aAAaV,IAIpBE,KAAKQ,aAAaV,IAMhB,KAAAU,aAAgBV,GAEzBN,EAAAA,cAACiB,EAAAA,QAAO,CACJZ,UAAWT,EAAI,SACfsB,WAAYZ,EAAMa,IAClBZ,KAAMD,EAAMC,OAOP,KAAAa,iBAAoBC,GAE7BrB,EAAAA,cAAA,OAAKK,UAAWT,EAAI,UACfyB,EAAMC,KAAI,CAACC,EAAuBC,IAC/BxB,EAAAA,cAACA,EAAAA,SAAc,CAACyB,IAAKD,GAChBD,MASJ,KAAAG,aAAgBC,GAEzB3B,EAAAA,cAAA,OAAKK,UAAWT,EAAI,UACf+B,EAAML,KAAI,CAACX,EAAiBa,KAAa,IAAAI,EAAA,OACtC5B,EAAAA,cAAA,KACIyB,IAAKD,EACLnB,UAAqB,IAAVmB,EAAc,mBAAqB,qBAC9CV,KAAkB,QAAdc,EAAEjB,EAAKC,eAAO,IAAAgB,OAAA,EAAZA,EAAcf,eACpBP,MAAOK,EAAKkB,SAAQ,aACRlB,EAAKI,UACjBe,OAAQnB,EAAKoB,aAAe,cAAWC,EACvCC,IAAI,aACJC,KAAK,UAEJvB,EAAKkB,cAhGnBM,SAAM,IAAAC,EAAAC,EACT,MAAM,OAAElC,EAAM,MAAEmC,GAAU9B,KAAK+B,MACzBC,IAAaF,MAAAA,GAAmB,QAAdF,EAALE,EAAOG,oBAAY,IAAAL,IAAnBA,EAAqBM,QAClCC,IAAyB,QAAbN,EAAClC,EAAOwB,aAAK,IAAAU,IAAZA,EAAcK,QAE3BE,EAAiC,GAUvC,OARIzC,EAAO0C,kBACPD,EAAMC,gBAAkB,QAAQ1C,EAAO0C,gBAAgBC,SAGvD3C,EAAO4C,kBACPH,EAAMG,gBAAkB5C,EAAO4C,iBAI/B/C,EAAAA,cAAA,OAAKK,UAAW2C,GAAAA,CAAWrD,EAAYQ,EAAOE,WAAYuC,MAAOA,GAC5DzC,GAAUK,KAAKN,cAAcC,GAC7BqC,GAAYhC,KAAKY,iBAAiBkB,EAAMG,cACxCE,GAAYnC,KAAKkB,aAAavB,EAAOwB,SAqFtD,W,0BC5IM,SAAU7B,EAAUmD,EAAmBpD,GAA2C,IAAxBqD,EAAAC,UAAAT,OAAA,QAAAV,IAAAmB,UAAA,GAAAA,UAAA,GAAoB,KAChF,OAAOtD,EAAW,GAAGoD,IAAYC,IAAYrD,SAAamC,E,inBCP9D,MAAMoB,EAAU,CAAEC,QAAS,GAAIC,YAAa,IAEvCF,EAAQC,QAAQ,yBAA2B,CACxCE,EAAGA,IAAMC,EAAQ,MACjBC,MAAO,kBACPC,GAAI,GAEJC,KAAK,EACLC,GAAI,YACJC,EAAG,wBACHC,EAAG,YAEHC,IAAK,GAGLC,GAAI,qCAKRC,OAAOC,aAAeD,OAAOC,cAAgB,GAC7CD,OAAOC,aAAab,QAAOc,EAAAA,EAAA,GACpBF,OAAOC,aAAab,SAAW,IAC/BD,EAAQC,SAGXY,OAAOC,aAAaZ,YAAWa,EAAAA,EAAA,GAC5BF,OAAOC,aAAaZ,aAAe,IACnCF,EAAQE,c,mBC5BnBc,EAAOC,QAAUrE,O,oBCAjBoE,EAAOC,QAAUC,W","sources":["webpack://bju-press/./src/modules/container-with-header/container-with-header.tsx?a74d","webpack://bju-press/./src/utilities/class-name-helper.ts?dd10","webpack://bju-press/./lib/container-with-header/module-registration.js?aed5","webpack://bju-press/external var \"React\"?0d3b","webpack://bju-press/external var \"ReactDOM\"?853b"],"sourcesContent":["//==============================================================================\r\n// Container with Header\r\n//\r\n// Container module with optionally linked header title and header text\r\n//==============================================================================\r\nimport * as React from 'react';\r\nimport classnames from 'classnames';\r\n\r\nimport { clsHelper } from '../../utilities/class-name-helper';\r\n\r\nimport { RichTextComponent } from '@msdyn365-commerce/core';\r\nimport { Heading } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport {\r\n IContainerWithHeaderConfig,\r\n IContainerWithHeaderProps,\r\n ILinkData,\r\n ILinksData,\r\n ITitleData\r\n} from './container-with-header.props.autogenerated';\r\n\r\n//==============================================================================\r\n// CLASS NAME UTILITY\r\n//==============================================================================\r\nconst BASE_CLASS = 'container-with-header';\r\nconst cls = (fragment?: string) => clsHelper(BASE_CLASS, fragment);\r\n\r\n//==============================================================================\r\n// CLASS DEFINITION\r\n//==============================================================================\r\n/**\r\n * ContainerWithHeader component\r\n * @extends {React.PureComponent>}\r\n */\r\n//==============================================================================\r\nclass ContainerWithHeader extends React.PureComponent> {\r\n //==========================================================================\r\n // PUBLIC METHODS\r\n //==========================================================================\r\n //------------------------------------------------------\r\n // Render function\r\n //------------------------------------------------------\r\n public render(): JSX.Element {\r\n const { config, slots } = this.props;\r\n const hasSlots = !!slots?.contentBlock?.length;\r\n const hasLinks = !!config.links?.length;\r\n\r\n const style: {[key: string]: string} = {};\r\n\r\n if (config.backgroundImage) {\r\n style.backgroundImage = `url('${config.backgroundImage.src}')`;\r\n }\r\n\r\n if (config.backgroundColor) {\r\n style.backgroundColor = config.backgroundColor;\r\n }\r\n\r\n return (\r\n
\r\n {config && this._renderHeader(config)}\r\n {hasSlots && this._renderSlotItems(slots.contentBlock)}\r\n {hasLinks && this._renderLinks(config.links!)}\r\n
\r\n );\r\n }\r\n\r\n //==========================================================================\r\n // PRIVATE METHODS\r\n //==========================================================================\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private readonly _renderHeader = (config: IContainerWithHeaderConfig): JSX.Element => {\r\n return (\r\n
\r\n {config.title?.text && this._renderLinkedTitle(config)}\r\n {config.text && }\r\n
\r\n );\r\n };\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private readonly _renderLinkedTitle = (config: IContainerWithHeaderConfig): JSX.Element => {\r\n const { link, title } = config;\r\n\r\n if (link?.linkUrl.destinationUrl) {\r\n return (\r\n \r\n {this._renderTitle(title!)}\r\n \r\n );\r\n } else {\r\n return this._renderTitle(title!);\r\n }\r\n };\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private readonly _renderTitle = (title: ITitleData): JSX.Element => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private readonly _renderSlotItems = (items: React.ReactNode[]): JSX.Element => {\r\n return (\r\n
\r\n {items.map((slot: React.ReactNode, index: number) => (\r\n \r\n {slot}\r\n \r\n ))}\r\n
\r\n );\r\n };\r\n\r\n //------------------------------------------------------\r\n //------------------------------------------------------\r\n private readonly _renderLinks = (links: ILinksData[]): JSX.Element => {\r\n return (\r\n
\r\n {links.map((link: ILinkData, index: number) => (\r\n \r\n {link.linkText}\r\n \r\n ))}\r\n
\r\n );\r\n };\r\n}\r\n\r\nexport default ContainerWithHeader;\r\n","//==============================================================================\r\n// Class Name Helper\r\n//\r\n// Tool to standardize CSS class naming in module components and elements\r\n//==============================================================================\r\n\r\nexport function clsHelper(baseClass: string, fragment?: string, separator: string = '__'): string | undefined {\r\n return fragment ? `${baseClass}${separator}${fragment}` : undefined;\r\n}\r\n","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['container-with-header'] = {\n c: () => require('partner/modules/container-with-header/container-with-header.tsx'),\n $type: 'containerModule',\n da: [],\n \n iNM: false,\n ns: '__local__',\n n: 'container-with-header',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/container-with-header'\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 };","module.exports = React;","module.exports = ReactDOM;"],"names":["BASE_CLASS","cls","fragment","clsHelper","ContainerWithHeader","React","constructor","_renderHeader","config","_config$title","className","title","text","this","_renderLinkedTitle","RichTextComponent","link","linkUrl","destinationUrl","href","ariaLabel","_renderTitle","Heading","headingTag","tag","_renderSlotItems","items","map","slot","index","key","_renderLinks","links","_link$linkUrl","linkText","target","openInNewTab","undefined","rel","role","render","_slots$contentBlock","_config$links","slots","props","hasSlots","contentBlock","length","hasLinks","style","backgroundImage","src","backgroundColor","classnames","baseClass","separator","arguments","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","_objectSpread","module","exports","ReactDOM"],"sourceRoot":""}