{"version":3,"file":"static/js/b3ea4c861f02146c132d.bundle.js","mappings":"sMAyBA,MAAMA,EAAa,wBACbC,EAAOC,IAAsBC,EAAAA,EAAAA,GAAUH,EAAYE,GAUzD,MAAME,UAA4BC,EAAAA,cAAlCC,c,oBA0BqB,KAAAC,cAAiBC,IAAmD,MACjF,OACIH,EAAAA,cAAAA,MAAAA,CAAKI,UAAWR,EAAI,YACH,QAAZ,EAAAO,EAAOE,aAAK,aAAZ,EAAcC,OAAQC,KAAKC,mBAAmBL,GAC9CA,EAAOG,MAAQN,EAAAA,cAACS,EAAAA,GAAiB,CAACH,KAAMH,EAAOG,KAAMF,UAAWR,EAAI,YAOhE,KAAAY,mBAAsBL,IACnC,MAAM,KAAEO,EAAI,MAAEL,GAAUF,EAExB,OAAIO,MAAAA,GAAAA,EAAMC,QAAQC,eAEVZ,EAAAA,cAAAA,IAAAA,CAAGa,KAAMH,EAAKC,QAAQC,eAAc,aAAcF,EAAKI,WAClDP,KAAKQ,aAAaV,IAIpBE,KAAKQ,aAAaV,IAMhB,KAAAU,aAAgBV,GAEzBL,EAAAA,cAACgB,EAAAA,QAAO,CACJZ,UAAWR,EAAI,SACfqB,WAAYZ,EAAMa,IAClBZ,KAAMD,EAAMC,OAOP,KAAAa,iBAAoBC,GAE7BpB,EAAAA,cAAAA,MAAAA,CAAKI,UAAWR,EAAI,UACfwB,EAAMC,KAAI,CAACC,EAAuBC,IAC/BvB,EAAAA,cAACA,EAAAA,SAAc,CAACwB,IAAKD,GAChBD,MASJ,KAAAG,aAAgBC,GAEzB1B,EAAAA,cAAAA,MAAAA,CAAKI,UAAWR,EAAI,UACf8B,EAAML,KAAI,CAACX,EAAiBa,KAAa,aACtCvB,EAAAA,cAAAA,IAAAA,CACIwB,IAAKD,EACLnB,UAAqB,IAAVmB,EAAc,mBAAqB,qBAC9CV,KAAkB,QAAd,EAAEH,EAAKC,eAAO,aAAZ,EAAcC,eACpBP,MAAOK,EAAKiB,SAAQ,aACRjB,EAAKI,UACjBc,OAAQlB,EAAKmB,aAAe,cAAWC,EACvCC,IAAI,aACJC,KAAK,UAEJtB,EAAKiB,cAtFnBM,SAAM,QACT,MAAM,OAAE9B,EAAM,MAAE+B,GAAU3B,KAAK4B,MACzBC,IAAaF,MAAAA,GAAmB,QAAd,EAALA,EAAOG,oBAAY,QAAnB,EAAqBC,QAClCC,IAAyB,QAAb,EAACpC,EAAOuB,aAAK,QAAZ,EAAcY,QAEjC,OACItC,EAAAA,cAAAA,MAAAA,CAAKI,UAAWoC,GAAAA,CAAW7C,EAAYQ,EAAOC,YACzCD,GAAUI,KAAKL,cAAcC,GAC7BiC,GAAY7B,KAAKY,iBAAiBe,EAAMG,cACxCE,GAAYhC,KAAKkB,aAAatB,EAAOuB,SAqFtD,W,0BCnIM,SAAU5B,EAAU2C,EAAmB5C,GAA2C,IAAxB6C,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAAA,UAAAA,GAAoB,KAChF,OAAO7C,EAAW,GAAG4C,IAAYC,IAAY7C,SAAaiC,E,inBCP9D,MAAMa,EAAU,CAAEC,QAAS,GAAIC,YAAa,IAEvCF,EAAQC,QAAQ,yBAA2B,CACxCE,EAAG,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,QAAO,OACpBY,OAAOC,aAAab,SAAW,IAC/BD,EAAQC,SAGXY,OAAOC,aAAaZ,YAAW,OAC5BW,OAAOC,aAAaZ,aAAe,IACnCF,EAAQE,c,mBC5BnBa,EAAOC,QAAU3D,O,oBCAjB0D,EAAOC,QAAUC,W","sources":["webpack://goodwill-loyalty/./src/modules/container-with-header/container-with-header.tsx?a74d","webpack://goodwill-loyalty/./src/utilities/class-name-helper.ts?dd10","webpack://goodwill-loyalty/./lib/container-with-header/module-registration.js?aed5","webpack://goodwill-loyalty/external var \"React\"?0d3b","webpack://goodwill-loyalty/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 { IContainerWithHeaderData } from './container-with-header.data';\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 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","className","title","text","this","_renderLinkedTitle","RichTextComponent","link","linkUrl","destinationUrl","href","ariaLabel","_renderTitle","Heading","headingTag","tag","_renderSlotItems","items","map","slot","index","key","_renderLinks","links","linkText","target","openInNewTab","undefined","rel","role","render","slots","props","hasSlots","contentBlock","length","hasLinks","classnames","baseClass","separator","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","module","exports","ReactDOM"],"sourceRoot":""}