{"version":3,"file":"src_exported_loyalty-landing-page_LoyaltyLandingPage_tsx.9bb23b509027915846ab.bundle.js","mappings":"s6BAaO,MAAMA,EAA8BC,IAb3C,gBAcI,MAAM,gBAAEC,GAAoBD,EAE5B,MAAO,CACH,CAAC,oBAAmB,EAAAE,EAAA,IAChB,KACA,eAAAD,OAAA,EAAAA,EAAkB,yBAAlB,IAAqCE,QAEzC,CAAC,eAAc,EAAAD,EAAA,IACX,IACA,eAAAD,OAAA,EAAAA,EAAkB,oBAAlB,IAAgCE,QAEpC,CAAC,eAAc,EAAAD,EAAA,IACX,KACA,eAAAD,OAAA,EAAAA,EAAkB,oBAAlB,IAAgCE,QAEpC,CAAC,cAAa,EAAAD,EAAA,IACV,KACA,eAAAD,OAAA,EAAAA,EAAkB,mBAAlB,IAA+BE,QAEnC,CAAC,iBAAgB,EAAAD,EAAA,IACb,KACA,eAAAD,OAAA,EAAAA,EAAiBG,iBAAjB,IAA6BD,QAEjC,CAAC,oBAAmB,EAAAD,EAAA,IAChB,KACA,eAAAD,OAAA,EAAAA,EAAkB,yBAAlB,IAAqCE,QAE5C,E,iOCvBE,MAAME,EAA0B,uBAC1BC,EAAkC,0BACzCC,GAA0B,OAAQ,uBAAwB,kBAE1DC,EAA4B,OAAU;;8BAEdC,EAAA;2BACHA,EAAA;;;;;;;;2BAQA,EAAGC,iBAAkBA;;;oCAGZC,EAAA;+BACL,EAAGC,iBAAkBA;;;;;;;EAS9CC,EAAgB,IAAOC,EAAA,EAAQ;;;;EAM/BC,GAAiB,IAAAC,WAAS,IAC5B,gBAAC,OAAI,eAAcV,GACf,gBAACO,EAAA,CAAcI,WAAS,OAMhC,IAAMC,EAAN,cAAiC,YAAjC,kCAGI,KAAOC,kBAAoB,KAAY,O,EAAA,K,EAAA,K,EAAA,kBAC7BC,KAAKC,MAAMC,eAAeC,QACpC,E,yMAAA,EAEOC,SACH,MAAM,eAAEF,GAAmBF,KAAKC,OAC1B,UAAEJ,EAAS,QAAEQ,EAAO,QAAEC,GAAYJ,EAAeK,KAEjD3B,EAAqC,CACvCC,gBAAiByB,EACjBE,WAAYN,GAGhB,OAAIL,EACO,gBAACF,EAAA,MAIR,gBAACc,EAAA,EAAU,KACP,gBAAC,KAAyB,CAACC,yBAA0B,MAAAJ,OAAA,EAAAA,EAASK,oBAC1D,gBAACvB,EAAA,CACGE,YAAae,EAAQf,YACrBE,YAAaa,EAAQb,YACrBoB,UAAWzB,EACX,eAAcF,GAEd,gBAAC4B,EAAA,GACGC,YAAaR,EACbS,YAAW,IACXC,aAAcrC,EAA2BC,KAE7C,gBAAC,OAAIgC,UAAU,mBAKnC,GAvCEd,E,iIAAN,EADA,YACMA,GA0CNA,EAAmBmB,YAAc,qBAEjC,S","sources":["webpack://pincer-loyalty/./src/internal/views/landing-page/registry.ts","webpack://pincer-loyalty/./src/exported/loyalty-landing-page/LoyaltyLandingPage.tsx"],"sourcesContent":["import * as features from './features';\nimport * as dashboardFeatures from '~views/dashboard/features';\nimport { landingPageSections as lp } from './sections';\nimport { dashboardSections as ds } from '~views/dashboard/sections';\nimport { loadOnDemand } from '~utils/loadOnDemand';\nimport { ILoyaltyLandingPage } from '~exported/loyalty-landing-page/ILoyaltyLandingPage';\n\nexport interface ILandingPageFeature {\n controller: ILoyaltyLandingPage['viewController'];\n componentConfig?: ILoyaltyLandingPage['config']['loyaltyLandingPageConfig'];\n children?: JSX.Element | JSX.Element[];\n}\n\nexport const getLandingPageViewRegistry = (featureConfig: ILandingPageFeature) => {\n const { componentConfig } = featureConfig;\n\n return {\n [ds.loyaltyConfig]: loadOnDemand(\n dashboardFeatures.LoyaltyPointsDetail,\n componentConfig?.[ds.loyaltyConfig]?.params\n ),\n [lp.birthday]: loadOnDemand(\n features.Birthday,\n componentConfig?.[lp.birthday]?.params\n ),\n [ds.benefits]: loadOnDemand(\n dashboardFeatures.Benefits,\n componentConfig?.[ds.benefits]?.params\n ),\n [ds.rewards]: loadOnDemand(\n dashboardFeatures.Rewards,\n componentConfig?.[ds.rewards]?.params\n ),\n [ds.earnPoints]: loadOnDemand(\n dashboardFeatures.LoyaltyEarnPoints,\n componentConfig?.earnPoints?.params\n ),\n [ds.pointsHistory]: loadOnDemand(\n dashboardFeatures.PointsHistoryDetail,\n componentConfig?.[ds.pointsHistory]?.params\n )\n };\n};\n","import * as React from 'react';\n\nimport { observer } from 'mobx-react';\nimport styled from 'styled-components';\n\nimport { serviceName } from '~setup/packageInfo';\nimport { Breakpoints, ContentSpacing } from '@estee/elc-base-theme';\nimport { ILoyaltyLayouts } from '~views/components/interfaces';\nimport { OrderRender } from '@estee/elc-layouts';\n\nimport { classes } from '~utils/Classes';\nimport { ILoyaltyLandingPage } from '~exported/loyalty-landing-page/ILoyaltyLandingPage';\nimport { getLandingPageViewRegistry, ILandingPageFeature } from '~views/landing-page/registry';\n\nimport { Spinner } from '@estee/elc-spinner';\nimport WithStyles from 'src/internal/hooks/WithStyles';\nimport { OfferNotificationProvider, OfferNotificationsConfig } from '~internal/utils/OfferNotificationContext';\n\nexport const TEST_ID_LOYALTY_LANDING = 'loyalty-landing-page';\nexport const TEST_ID_LOYALTY_LANDING_SPINNER = 'loyalty-landing-spinner';\nconst loyaltyLandingPageClass = classes('loyalty-landing-page', 'brand-specific');\n\nconst LoyaltyLandingPageWrapper = styled.div`\n --desktop-max-width: 1920px;\n --container-column-gap: ${ContentSpacing.space16};\n --container-row-gap: ${ContentSpacing.space40};\n\n .fullbleed {\n grid-column: 1/-1;\n }\n\n display: grid;\n grid-auto-flow: dense;\n grid-template-areas: ${({ smallLayout }) => smallLayout};\n column-gap: 0;\n\n @media screen and (min-width: ${Breakpoints.desktop}px) {\n grid-template-areas: ${({ largeLayout }) => largeLayout};\n column-gap: var(--container-column-gap);\n grid-template-columns:\n calc(50% - (var(--desktop-max-width) / 2))\n repeat(6, 1fr)\n calc(50% - (var(--desktop-max-width) / 2));\n }\n`;\n\nconst StyledSpinner = styled(Spinner)`\n margin: auto;\n position: absolute;\n top: 80px;\n`;\n\nconst LoyaltySpinner = observer(() => (\n
\n \n
\n));\n\n// eslint-disable-next-line @estee/elc-best-practice/uses-observer\n@observer\nclass LoyaltyLandingPage extends React.Component {\n public static displayName: string;\n\n public componentDidMount = async () => {\n await this.props.viewController.loaded();\n };\n\n public render() {\n const { viewController } = this.props;\n const { isLoading, layouts, configs } = viewController.data;\n\n const featureConfig: ILandingPageFeature = {\n componentConfig: configs,\n controller: viewController\n };\n\n if (isLoading) {\n return ;\n }\n\n return (\n \n \n \n \n
\n \n
\n
\n );\n }\n}\n\nLoyaltyLandingPage.displayName = 'LoyaltyLandingPage';\n\nexport default LoyaltyLandingPage;\n"],"names":["getLandingPageViewRegistry","featureConfig","componentConfig","loadOnDemand","params","earnPoints","TEST_ID_LOYALTY_LANDING","TEST_ID_LOYALTY_LANDING_SPINNER","loyaltyLandingPageClass","LoyaltyLandingPageWrapper","ContentSpacing","smallLayout","Breakpoints","largeLayout","StyledSpinner","Spinner","LoyaltySpinner","observer","isLoading","LoyaltyLandingPage","componentDidMount","this","props","viewController","loaded","render","layouts","configs","data","controller","WithStyles","offerNotificationsConfig","offerNotifications","className","OrderRender","orderConfig","serviceName","viewRegistry","displayName"],"sourceRoot":""}