{"version":3,"sources":["webpack:///./node_modules/@irishlifedigitalhub/ds.organisms.investment-calculator/node_modules/@irishlifedigitalhub/ds.molecules.input/index.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/string-trim.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/chart.js/dist/chunks/helpers.segment.mjs","webpack:///./node_modules/lodash/isEmpty.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.molecules.alert/dist/index.js","webpack:///./node_modules/xstate/es/index.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.table/dist/tablerowsdesktop.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/number-parse-int.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.parse-int.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.table/dist/rendertablerows.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.molecules.accordion/dist/accordion.js","webpack:///./node_modules/@babel/runtime/helpers/esm/get.js","webpack:///./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.table/dist/mobileheader.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.array.flat-map.js","webpack:///./node_modules/@irishlifedigitalhub/ds.molecules.breadcrumb/index.js","webpack:///./node_modules/@irishlifedigitalhub/ds.organisms.jumbotron/node_modules/@irishlifedigitalhub/ds.atoms.button/index.js","webpack:///./node_modules/@irishlifedigitalhub/ds.molecules.jumbotron-contact/index.js","webpack:///./node_modules/@irishlifedigitalhub/ds.organisms.jumbotron/index.js","webpack:///./src/common/components/organisms/AdvisorBlockV4/formatButtons.ts","webpack:///./src/common/components/molecules/BulletWithIcon/BulletWithIcon.tsx","webpack:///./src/common/components/organisms/AdvisorBlockV4/AdvisorBlockV4.tsx","webpack:///./src/common/components/organisms/templateSections/AccordionSection/AccordionSection.tsx","webpack:///./src/common/components/organisms/AccordionInfoPanel/AccordionInfoPanel.tsx","webpack:///./src/common/components/organisms/Calculator/utils/machine.tsx","webpack:///./src/common/components/organisms/templateSections/AccordionInfoPanelPage/AccordionInfoPanelPage.tsx","webpack:///./src/common/components/molecules/Banner/Banner.tsx","webpack:///./src/common/components/organisms/templateSections/BannerCta/BannerCta.tsx","webpack:///./src/common/components/organisms/templateSections/BasicTable/BasicTable.tsx","webpack:///./src/common/components/organisms/templateSections/BodyOfText/BodyOfText.tsx","webpack:///./node_modules/@material-ui/icons/esm/AddBox.js","webpack:///./src/common/components/organisms/templateSections/BulletsWithImage/Bullet.tsx","webpack:///./src/common/components/organisms/templateSections/BulletsWithImage/Bullets.tsx","webpack:///./src/common/components/organisms/templateSections/BulletsWithImage/BulletsWithImage.tsx","webpack:///./src/common/components/organisms/Calculator/utils/progressIndicatorSteps.ts","webpack:///./src/common/components/organisms/Calculator/config/analytics.ts","webpack:///./src/common/components/organisms/Calculator/config/APIrequests.ts","webpack:///./src/common/components/organisms/Calculator/config/pensions.ts","webpack:///./src/common/components/organisms/Calculator/config/investment.ts","webpack:///./src/common/components/organisms/Calculator/config/incomeProtection.ts","webpack:///./src/common/components/organisms/Calculator/config/termLife.ts","webpack:///./src/common/components/organisms/Calculator/config/mortgageProtection.ts","webpack:///./src/common/components/organisms/Calculator/config/onePlan.ts","webpack:///./src/common/components/organisms/Calculator/config/index.ts","webpack:///./src/common/components/organisms/Calculator/utils/context.tsx","webpack:///./src/common/components/organisms/Calculator/components/footerNotes/FooterCommon.tsx","webpack:///./src/common/components/organisms/Calculator/components/footerNotes/pensionsFooterNotes.tsx","webpack:///./src/common/components/organisms/Calculator/components/footerNotes/footerNotesMapper.tsx","webpack:///./src/common/components/organisms/Calculator/components/footerNotes/IncomeProtectionFooterNotes.tsx","webpack:///./src/common/components/organisms/Calculator/components/Heading.tsx","webpack:///./src/common/components/organisms/Calculator/components/ProgressIndicator.tsx","webpack:///./src/common/components/organisms/Calculator/utils/viewSelector.ts","webpack:///./src/common/components/organisms/Calculator/components/views/RestrictionScreen.tsx","webpack:///./src/common/components/organisms/Calculator/components/views/ErrorScreen.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/config.ts","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/components/AssumptionsCard.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/common/BenefitsCard.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/components/NextStepsCard.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/Loading.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/components/PensionCalculatorOutput/components/AdjustmentControls.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/components/PensionCalculatorOutput/utils/usePensionCalculator.ts","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/components/PensionCalculatorOutput/components/IncomeProjectionText.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/components/PensionCalculatorOutput/components/MonthlyIncomeDisplay.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/legend.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/components/PensionCalculatorOutput/utils/pattern.ts","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/components/PensionCalculatorOutput/components/LegendDisplay.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/components/PensionCalculatorOutput/components/RetirementBarChart.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/components/PensionCalculatorOutput/utils/getNextContribution.ts","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/components/PensionCalculatorOutput/PensionCalculatorOutput.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/common/WarningAlerts.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/InvestmentCalculatorQuote/components/InvestmentCalculatorOutput/components/Result.tsx","webpack:///./node_modules/react-chartjs-2/dist/index.js","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/InvestmentCalculatorQuote/components/InvestmentCalculatorOutput/utils/get-investment-value.ts","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/InvestmentCalculatorQuote/components/InvestmentCalculatorOutput/utils/get-data-points.ts","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/InvestmentCalculatorQuote/components/InvestmentCalculatorOutput/components/Chart.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/InvestmentCalculatorQuote/components/InvestmentCalculatorOutput/components/Results.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/InvestmentCalculatorQuote/components/InvestmentCalculatorOutput/InvestmentCalculatorOutput.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/InvestmentCalculatorQuote/components/InvestmentCalculatorOutput/utils/getCalculatorReturns.ts","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/InvestmentCalculatorQuote/config.ts","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/InvestmentCalculatorQuote/components/Warnings.tsx","webpack:///./src/common/components/organisms/Calculator/utils/modifySteps.ts","webpack:///./src/common/components/organisms/Calculator/components/steps/CalculatorStepBinaryChoice.tsx","webpack:///./src/common/components/organisms/Calculator/styles/getStyles.ts","webpack:///./src/common/components/organisms/Calculator/components/inputs/utils.ts","webpack:///./src/common/components/organisms/Calculator/components/inputs/PhoneNumberInput.tsx","webpack:///./src/common/components/organisms/Calculator/components/inputs/EmailInput.tsx","webpack:///./src/common/components/organisms/Calculator/components/inputs/CurrencyInput.tsx","webpack:///./src/common/components/organisms/Calculator/components/inputs/DefaultInput.tsx","webpack:///./src/common/components/organisms/Calculator/components/inputs/DatePicker.tsx","webpack:///./src/common/components/organisms/Calculator/components/steps/HelperText.tsx","webpack:///./src/common/components/organisms/Calculator/components/steps/CalculatorStepInput.tsx","webpack:///./src/common/components/organisms/Calculator/components/steps/CalculatorStepMultipleChoice.tsx","webpack:///./src/common/components/organisms/Calculator/components/steps/CalculatorStepText.tsx","webpack:///./src/common/components/organisms/Calculator/components/steps/CalculatorStepDropdown.tsx","webpack:///./src/common/components/organisms/Calculator/components/steps/CalculatorStepAdjustmentControls.tsx","webpack:///./src/common/components/organisms/Calculator/components/steps/utils/stepsUtils.ts","webpack:///./src/common/components/organisms/Calculator/components/steps/CalculatorStep.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/InvestmentCalculatorQuote/components/AdjustmentForm.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/IncomeProtectionQuote/components/IncomeProtectionCalculatorOutput/utils/useIncomeProtectionCalculator.ts","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/IncomeProtectionQuote/components/IncomeProtectionCalculatorOutput/components/charts.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/IncomeProtectionQuote/config.ts","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/IncomeProtectionQuote/components/IncomeProtectionCalculatorOutput/components/AssumptionsCard.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/IncomeProtectionQuote/components/IncomeProtectionCalculatorOutput/components/YourDetailsCard.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/common/GetStarted.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/common/AddCircle.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/common/MoreInfo.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/IncomeProtectionQuote/components/IncomeProtectionCalculatorOutput/IncomeProtectionCalculatorOutput.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/IncomeProtectionQuote/components/ValidityCard.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/common/QuoteBreakdown.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/common/AdjustmentForm.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/common/CalculatorQuoteDisplay.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/TermLifeQuote/TermLifeCalculatorOutput/TermLifeCalculatorOutput.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/common/ValidityCard.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/common/HaveAQuestion.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/MortgageProtectionQuote/MortgageProtectionOutput/MortgageProtectionOutput.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/OnePlanProtectionQuote/OnePlanProtectionOutput/utils/helperFunctions.ts","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/OnePlanProtectionQuote/OnePlanProtectionOutput/components/CoverRequirements.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/OnePlanProtectionQuote/OnePlanProtectionOutput/components/QuoteCardheaders.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/OnePlanProtectionQuote/OnePlanProtectionOutput/components/QuoteCard.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/OnePlanProtectionQuote/OnePlanProtectionOutput/OnePlanProtectionOutput.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/QuoteComponentMapper.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/PensionCalculatorQuote/PensionCalculatorQuote.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/InvestmentCalculatorQuote/InvestmentCalculatorQuote.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/IncomeProtectionQuote/IncomeProtectionQuote.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/TermLifeQuote/TermLifeQuote.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/MortgageProtectionQuote/MortgageProtectionQuote.tsx","webpack:///./src/common/components/organisms/Calculator/components/quoteComponents/OnePlanProtectionQuote/OnePlanProtectionQuote.tsx","webpack:///./src/common/components/organisms/Calculator/components/steps/CalculatorStepCommon.tsx","webpack:///./src/common/components/organisms/Calculator/components/views/ViewSelector.tsx","webpack:///./src/common/components/organisms/Calculator/components/container/container-right.tsx","webpack:///./src/common/components/organisms/Calculator/components/container/container.tsx","webpack:///./src/common/components/organisms/Calculator/Calculator.tsx","webpack:///./src/common/components/organisms/templateSections/Calculator/Calculator.tsx","webpack:///./src/common/components/molecules/StepperWithArrows/ChevronLeftIcon.svg","webpack:///./src/common/components/molecules/StepperWithArrows/Stepper.tsx","webpack:///./src/common/components/molecules/StepperWithArrows/ChevronRightIcon.svg","webpack:///./src/common/components/organisms/Campaign3DSlideshow/Campaign3DSlideshow.tsx","webpack:///./src/common/components/organisms/templateSections/Campaign3DSlideshowPage/Campaign3DSlideshowPage.tsx","webpack:///./src/common/components/organisms/templateSections/CardGrid/CardGrid.tsx","webpack:///./src/common/components/organisms/templateSections/Cards/Cards.tsx","webpack:///./src/common/components/organisms/templateSections/CardsCarousel/CardsCarousel.tsx","webpack:///./src/common/components/organisms/CenteredText/CenteredText.tsx","webpack:///./src/common/components/organisms/templateSections/CenteredTextPage/CenteredTextPage.tsx","webpack:///./src/common/components/organisms/CountingCardsWithPagination/Card.tsx","webpack:///./src/common/components/molecules/Pagination/Pagination.tsx","webpack:///./src/common/components/organisms/CountingCardsWithPagination/CountingCardsWithPagination.tsx","webpack:///./src/common/components/organisms/templateSections/CountingCardsWithPaginationPage/CountingCardsWithPaginationPage.tsx","webpack:///./src/common/components/organisms/templateSections/Cta/Cta.tsx","webpack:///./src/common/components/organisms/DocumentDownloadPanel/DocumentDownloadPanel.tsx","webpack:///./src/common/components/organisms/templateSections/DocumentDownloadPage/DocumentDownloadPage.tsx","webpack:///./src/common/components/organisms/CampaignFeature/CampaignFeature.tsx","webpack:///./src/common/components/organisms/templateSections/Featured/Featured.tsx","webpack:///./src/common/components/organisms/templateSections/Iframe/Iframe.tsx","webpack:///./src/common/components/organisms/ImageWithParagraph/ImageWithParagraph.tsx","webpack:///./src/common/components/organisms/templateSections/ImageWithParagraphPage/ImageWithParagraphPage.tsx","webpack:///./src/common/components/organisms/templateSections/InvestmentCalculator/InvestmentCalculatorSection.tsx","webpack:///./src/common/components/organisms/MediaCard/MediaCard.tsx","webpack:///./src/common/components/organisms/templateSections/MediaCardPage/MediaCardPage.tsx","webpack:///./node_modules/@irishlifedigitalhub/ds.organisms.grid/index.js","webpack:///./src/common/components/atoms/UniversalLink/UniversalLink.tsx","webpack:///./src/common/components/organisms/templateSections/MenuCardGrid/MenuCardGrid.tsx","webpack:///./src/common/components/molecules/MetamoCard/MetamoCard.tsx","webpack:///./src/common/components/organisms/templateSections/Metamo/Metamo.tsx","webpack:///./src/common/components/organisms/MiniFooter/MiniFooter.tsx","webpack:///./src/common/components/organisms/templateSections/MiniFooterPage/MiniFooterPage.tsx","webpack:///./src/common/components/organisms/MultiCampaignFeature/MultiCampaignFeature.tsx","webpack:///./src/common/components/organisms/templateSections/MultiCampaignFeaturePage/MultiCampaignFeaturePage.tsx","webpack:///./src/common/components/organisms/MultiCardGalleryWithStepper/MultiCardGalleryWithStepper.tsx","webpack:///./src/common/components/organisms/templateSections/MultiCardGalleryWithStepperPage/MultiCardGalleryWithStepperPage.tsx","webpack:///./src/common/components/organisms/MultiFeatureList/MultiFeatureList.tsx","webpack:///./src/common/components/organisms/templateSections/MultiFeatureListPage/MultiFeatureListPage.tsx","webpack:///./src/common/components/molecules/PaginatedCards/PaginatedCards.tsx","webpack:///./src/common/components/organisms/MultiPaginatedCards/MultiPaginatedCards.tsx","webpack:///./src/common/components/organisms/templateSections/MultiPaginatedCardsPage/MultiPaginatedCardsPage.tsx","webpack:///./src/common/components/organisms/templateSections/Notices/Notices.tsx","webpack:///./node_modules/@irishlifedigitalhub/ds.atoms.pillar-icon/index.js","webpack:///./src/common/components/organisms/Pillars/PillarCard.tsx","webpack:///./src/common/components/organisms/Pillars/Pillars.tsx","webpack:///./src/common/components/organisms/templateSections/Pillars/Pillars.tsx","webpack:///./src/common/components/molecules/ProductListCard/ProductListingCTA.tsx","webpack:///./src/common/components/molecules/ProductListCard/ProductListCard.tsx","webpack:///./src/common/components/organisms/ProductRowLists/ProductRowLists.tsx","webpack:///./src/common/components/organisms/templateSections/ProductListing/ProductListing.tsx","webpack:///./src/common/components/organisms/ProofPoints/ProofPoints.tsx","webpack:///./src/common/components/organisms/templateSections/ProofPointsSection/ProofPointsSection.tsx","webpack:///./src/common/components/molecules/CustomPoplink/CustomPoplink.tsx","webpack:///./src/common/components/organisms/ResourcesWithLinks/ResourcesWithLinks.tsx","webpack:///./src/common/components/organisms/templateSections/ResourcesWithLinksPage/ResourcesWithLinksPage.tsx","webpack:///./src/common/components/organisms/templateSections/ShardCard/ShardCard.tsx","webpack:///./src/common/components/organisms/KnowledgeBase/SupportCenter.tsx","webpack:///./src/common/components/organisms/templateSections/Table/Table.tsx","webpack:///./src/common/components/design-system/atoms/select/index.tsx","webpack:///./src/common/components/design-system/molecules/selectDropdown/index.tsx","webpack:///./src/common/components/organisms/TeamGridFilter/TeamGridFilter.tsx","webpack:///./src/common/components/organisms/templateSections/TeamGridFilterPage/TeamGridFilterPage.tsx","webpack:///./node_modules/@irishlifedigitalhub/ds.organisms.testimonial-section/node_modules/@irishlifedigitalhub/ds.atoms.button/index.js","webpack:///./node_modules/@irishlifedigitalhub/ds.organisms.testimonial-section/index.js","webpack:///./src/common/components/organisms/templateSections/Testimonials/Testimonials.tsx","webpack:///./src/common/components/organisms/templateSections/TextWithImage/TextWithImage.tsx","webpack:///./src/common/components/organisms/templateSections/Timeline/Timeline.tsx","webpack:///./src/common/components/organisms/TrapeziumBanner/TrapeziumBanner.tsx","webpack:///./src/common/components/organisms/templateSections/TrapeziumBannerPage/TrapeziumBannerPage.tsx","webpack:///./src/common/components/organisms/templateSections/VideoWithText/VideoWithText.tsx","webpack:///./src/common/components/organisms/templateSections/Warnings/Warnings.tsx","webpack:///./src/common/components/templates/Generic/templateSectionMapper.tsx","webpack:///./src/common/components/organisms/templateSections/CollegeCostsCalculator/CollegeCostsCalculator.tsx","webpack:///./src/common/components/organisms/templateSections/Resources/Resources.tsx","webpack:///./src/common/components/organisms/templateSections/SupportCenter/SupportCenter.tsx","webpack:///./src/common/components/organisms/templateSections/TextWithTitle/TextWithTitle.tsx","webpack:///./src/common/components/organisms/AppointeddWidget/AppointeddWidget.tsx","webpack:///./src/common/components/templates/Generic/Generic.tsx","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack:///./node_modules/react-animated-number/build/AnimatedNumber.js","webpack:///./src/common/components/atoms/Video/Video.tsx","webpack:///./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","webpack:///./src/common/components/organisms/ProductList/ProductList.tsx","webpack:///./node_modules/@irishlifedigitalhub/ds.atoms.avatar/index.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.molecules.alert/dist/alert.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.molecules.accordion/dist/index.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.table/dist/index.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.table/dist/table.js","webpack:///./node_modules/react-animated-number/build/index.js","webpack:///./node_modules/@irishlifedigitalhub/ds.organisms.jumbotron/node_modules/@irishlifedigitalhub/ds.theme/index.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.table/node_modules/@irishlife/ilgroupdesignsystem.atoms.button/dist/index.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.table/node_modules/@irishlife/ilgroupdesignsystem.atoms.button/dist/button.js","webpack:///./node_modules/@irishlife/ilgroupdesignsystem.table/dist/tablemobile.js","webpack:///./node_modules/@irishlifedigitalhub/ds.molecules.menu-card/index.js","webpack:///./src/common/components/organisms/FeatureList/Feature.tsx","webpack:///./src/common/components/organisms/FeatureList/Features.tsx","webpack:///./src/common/components/organisms/FeatureList/FeatureListLeft.tsx","webpack:///./src/common/components/organisms/FeatureList/FeatureListRight.tsx","webpack:///./src/common/components/organisms/FeatureList/FeatureListTop.tsx","webpack:///./src/common/components/organisms/FeatureList/FeatureList.tsx"],"names":["Input","forwardRef","props","ref","isInvalid","helperText","label","isValid","isDisabled","id","leftIcon","noX","rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","__rest","createElement","color","htmlFor","assign","fontSize","sx","requireObjectCoercible","whitespace","ltrim","RegExp","rtrim","createMethod","TYPE","$this","string","String","replace","module","exports","start","end","trim","originalModule","webpackPolyfill","create","children","defineProperty","enumerable","get","l","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","from","test","_unsupportedIterableToArray","F","done","value","_e","f","TypeError","err","normalCompletion","didErr","step","next","_e2","return","arr","len","arr2","noop","uid","isNullOrUndef","type","isObject","isNumberFinite","Number","isFinite","finiteOrDefault","defaultValue","valueOrDefault","toPercentage","dimension","endsWith","parseFloat","toDimension","callback","fn","args","thisArg","apply","each","loopable","reverse","keys","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","index","clone$1","source","map","target","klen","k","isValidKey","key","_merger","options","tval","sval","merge","sources","merger","mergeIf","_mergerIf","keyResolvers","v","x","y","resolveObjectKey","obj","_step2","parts","split","tmp","_iterator2","part","push","_splitKey","_step","_iterator","_getKeyResolver","_capitalize","str","charAt","toUpperCase","defined","isFunction","setsEqual","a","b","size","_step3","_iterator3","item","has","_isClickEvent","PI","Math","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","niceNum","range","roundedRange","round","almostEquals","niceRange","pow","floor","fraction","_factorize","result","sqrt","sort","pop","isNumber","isNaN","epsilon","abs","almostWhole","rounded","_setMinAndMaxByKey","array","property","min","max","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","angle","atan2","distance","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_int16Range","_isBetween","arguments","undefined","_lookup","table","cmp","mid","hi","lo","_lookupByKey","last","_rlookupByKey","_filterBetween","values","arrayEvents","listenArrayEvents","listener","_chartjs","listeners","configurable","forEach","method","base","_len","_key","res","this","object","unlistenArrayEvents","stub","splice","_arrayUnique","items","set","Set","add","requestAnimFrame","window","requestAnimationFrame","throttled","updateFn","updateArgs","ticking","_len2","_key2","debounce","delay","timeout","_len3","_key3","clearTimeout","setTimeout","_toLeftRightCenter","align","_alignStartEnd","_textX","left","right","rtl","_getStartAndCountOfVisiblePoints","meta","points","animationsDisabled","pointCount","count","_sorted","iScale","_parsed","axis","_iScale$getUserBounds","getUserBounds","minDefined","maxDefined","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","atEdge","elasticIn","sin","elasticOut","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","m","d","easeInOutBounce","lim","h","p2b","n2b","b2n","n2p","map$1","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","c","hex","h1","h2","eq","_hexString","r","g","isShort","alpha","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","w","rgb","rgb2hsl","hueValue","calln","hsl2rgb","hue","hueParse","exec","p1","p2","hwb2rgb","hsv2rgb","names","Z","Y","X","W","V","U","T","S","R","Q","P","O","N","M","L","K","G","H","I","J","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","nameParse","j","ok","nk","unpacked","tkeys","parseInt","unpack","transparent","toLowerCase","RGB_RE","to","modHSL","ratio","clone","proto","fromObject","input","functionParse","rgbParse","Color","ret","_rgb","_valid","concat","_hslString","weight","w2","c1","c2","w1","rgb1","rgb2","_interpolate","val","deg","_rotate","index_esm","isPatternOrGradient","getHoverColor","saturate","darken","hexString","overrides","descriptors","getScope$1","node","_set","root","scope","defaults","Defaults","_descriptors","animation","backgroundColor","borderColor","datasets","devicePixelRatio","context","chart","platform","getDevicePixelRatio","elements","events","font","family","style","lineHeight","hover","hoverBackgroundColor","ctx","hoverBorderColor","hoverColor","indexAxis","interaction","mode","intersect","includeInvisible","maintainAspectRatio","onHover","onClick","parsing","plugins","responsive","scale","scales","showLine","drawActiveElementsOnTop","describe","targetScope","targetName","_Object$definePropert","scopeObject","targetScopeObject","privateName","defineProperties","writable","local","_scriptable","startsWith","_indexable","_fallback","_measureText","data","gc","longest","textWidth","measureText","width","_longestText","arrayOfThings","cache","garbageCollect","save","jlen","thing","nestedThing","restore","gcLen","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","canvas","getContext","resetTransform","clearRect","height","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","rotation","radius","rad","translate","rotate","drawImage","beginPath","ellipse","arc","closePath","moveTo","lineTo","SQRT1_2","rect","fill","borderWidth","stroke","_isPointInArea","point","area","margin","top","bottom","clipArea","clip","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","text","line","opts","lines","strokeWidth","strokeColor","setRenderOpts","strokeStyle","lineWidth","strokeText","maxWidth","fillText","decorateText","translation","fillStyle","textAlign","textBaseline","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","LINE_HEIGHT","FONT_STYLE","toLineHeight","matches","match","_readValueToProps","_step4","objProps","read","prop","_iterator4","toTRBL","toTRBLCorners","toPadding","toFont","fallback","console","warn","toFontString","resolve","inputs","info","cacheable","_addGrace","minmax","grace","beginAtZero","change","keepZero","createContext","parentContext","_createResolver","scopes","_cache","prefixes","rootScopes","getTarget","_resolve","toStringTag","Proxy","deleteProperty","_keys","_cached","_resolveWithPrefixes","getOwnPropertyDescriptor","Reflect","_scopes","getPrototypeOf","getKeysFromAllScopes","includes","ownKeys","storage","_storage","_attachContext","proxy","subProxy","descriptorDefaults","_cacheable","_proxy","_context","_subProxy","_stack","setContext","override","receiver","isScriptable","Error","join","delete","needsSubResolver","createSubResolver","_resolveScriptable","isIndexable","filter","_step5","_iterator5","resolver","_resolveArray","_resolveWithContext","allKeys","scriptable","indexable","_proxy$_scriptable","_proxy$_indexable","_proxy$_allKeys","_allKeys","readKey","prefix","resolveFallback","getScope","parent","addScopes","parentScopes","parentFallback","_step6","_iterator6","_rootScopes","allScopes","addScopesFromKey","_getTarget","subGetTarget","_step7","_iterator7","_step8","_iterator8","_step9","_iterator9","_step10","_iterator10","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_this$_parsing$key","_parsing","parsed","parse","EPSILON","getPoint","skip","getValueAxis","monotoneAdjust","deltaK","mK","alphaK","betaK","tauK","squaredMagnitude","pointCurrent","pointsLen","pointAfter","monotoneCompute","delta","pointBefore","valueAxis","iPixel","vPixel","capControlPoint","pt","_updateBezierControlPoints","loop","controlPoints","firstPoint","middlePoint","afterPoint","current","d01","d12","s01","s12","fa","fb","spanGaps","cubicInterpolationMode","slopeDelta","splineCurveMonotone","prev","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","document","_getParentNode","domNode","parentNode","host","parseMaxStyle","styleValue","parentProperty","valueInPixels","getComputedStyle","element","positions","getPositionedStyle","styles","suffix","pos","getRelativePosition","evt","borderBox","boxSizing","paddings","borders","_getCanvasPosition","touches","offsetX","offsetY","box","shadowRoot","useOffsetPos","getBoundingClientRect","clientX","clientY","getCanvasPosition","round1","getMaximumSize","bbWidth","bbHeight","aspectRatio","margins","maxHeight","containerSize","container","containerStyle","containerBorder","containerPadding","clientWidth","clientHeight","getContainerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","addEventListener","removeEventListener","readUsedSize","el","getPropertyValue","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","Map","formatNumber","num","locale","cacheKey","JSON","stringify","formatter","Intl","NumberFormat","getNumberFormat","format","getRtlAdapter","rectX","_x","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_x2","_itemWidth","overrideTextDirection","direction","original","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalize","normalizeSegment","_ref","_boundSegment","segment","bounds","prevValue","startBound","endBound","_propertyFn2","_getSegment","_propertyFn","getSegment","inside","subStart","shouldStart","shouldStop","_boundSegments","segments","sub","_computeSegments","segmentOptions","_loop","_findStartAndEnd","findStartAndEnd","splitByStyles","cur","stop","solidSegments","_fullLoop","chartContext","_chart","baseStyle","readStyle","_datasetIndex","prevStyle","addStyle","st","dir","_step11","_iterator11","styleChanged","p0","p0DataIndex","p1DataIndex","doSplitByStyles","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","baseKeys","getTag","isArguments","isArrayLike","isBuffer","isPrototype","isTypedArray","tag","Alert","alert_1","actions","raise","send","sendParent","sendUpdate","log","cancel","after","respond","forwardTo","escalate","choose","pure","_slicedToArray","__importDefault","mod","__esModule","TableRowsDesktop","react_1","react_2","ilgroupdesignsystem_atoms_text_1","ilgroupdesignsystem_icons_1","rendertablerows_1","RenderTableRowHeaders","rowGroupItem","showIcon","handleToggle","default","Box","px","py","Text","variant","rowGroupTitle","as","Collapsible","columns","column","rowgroup","isSmallScreen","initialState","isExpanded","_react_1$default$useS","useState","_react_1$default$useS2","showIndex","setShowIndex","tempState","itemIndex","ChevronUpIcon","ChevronDownIcon","Fragment","Table","alignItems","padding","Tbody","RenderedTableRows","Collapse","in","animateOpacity","global","whitespaces","$parseInt","FORCED","radix","$","parseIntImplementation","forced","columnIndex","rows","row","rowIndex","Tr","rowTitle","Td","cellValues","cellValue","CheckIcon","MinusIcon","columnTitle","__createBinding","k2","desc","__setModuleDefault","__importStar","Accordion","Icons","AccordionItem","header","_props$icon","icon","iconElement","useMemo","Image","display","src","boxSize","pr","objectFit","IconComponent","AccordionButton","_hover","bg","flex","AccordionIcon","AccordionPanel","pb","img","mr","ml","mb","mt","defaultIndex","allowToggle","allowMultiple","MobileHeader","handleHeaderClick","columnClass","HStack","flexDirection","gap","position","background","borderRadius","order","flexGrow","isSelected","whiteSpace","flattenIntoArray","toObject","toLength","aFunction","arraySpeciesCreate","flatMap","callbackfn","sourceLen","displayName","viewBox","path","Button","_a","contactTitle","contactText","contactIcon","flexWrap","marginTop","marginBottom","marginRight","alt","href","Jumbotron","_props$variant","_props$leftContentMax","leftContentMaxWidth","buttonText","secondaryButtonText","_props$buttonProps","buttonProps","_props$secondaryButto","secondaryButtonProps","title","subtitle","paragraph","renderBreadcrumb","contactOnClick","hasPrimaryCta","hasSecondaryCta","hasCta","hasContact","secondaryCtaVariant","md","overflowY","spacing","maxW","zIndex","pl","lg","rightIcon","minH","overflow","ComponentImage","BackgroundSvg","transform","bgImage","backgroundPosition","backgroundRepeat","backgroundSize","formatIconPosition","iconPosition","BulletWithIcon","bullet","titleProps","textProps","iconProps","mainDivProps","RichText","html","StyledRichText","styled","StyledRichTextMobile","StyledAccordion","AccordionSection","titleStyle","getAccordionSectionData","accordion_section__title","accordion_section__text","accordion_section__items","random","heading","children_test","AccordionInfoPanel","Wrapper","templateColumns","alignContent","justifyItems","fontWeight","textTransform","paragraphTitle","description","getProps","breakoutStyles","marginLeft","Banner","callToAction","desktop","useDesktop","isPhoneNumber","url","data-testid","BasicButton","analyticsId","analyticsEventName","getBannerCtaData","card_cta_0396ba7__cta_analytics_id","card_cta_0396ba7__cta_label","card_cta_0396ba7__cta_url","minHeight","justifyContent","borderBottom","borderBottomColor","phoneRegex","mailRegex","tableIndex","getBodyOfTextData","content","body_of_text__body","createSvgIcon","Bullet","AddBox","Bullets","bullets","theme","useTheme","Spacer","component","rowGap","columnGap","getBulletsWithImageData","imagePlacement","image_placement","stepperSteps","Investment","Pensions","IncomeProtection","TermLife","MortgageProtection","OnePlanWithPartner","OnePlan","quoteScreenAnalytics","analyticsName","fireAnalyticsEvent","properties","event","clickToCall","clickURL","clickID","clickText","analyticsService","onInteracted","isInteracted","interacted","onCompleted","onButtonClicked","calc_type","transformedQuestions","stepName","handleOtherAnalytics","formValues","screenNo","employmentStatus","currentPension","APIrequestOnePlan","URL","params","paramsStandard","paramsEssential","paramsComprehensive","Promise","all","Axios","standard","essential","comprehensive","error","standardQuoteData","qs","replaceAll","essentialQuoteData","comprehensiveQuoteData","APIrequest","paramaters","request","quoteData","statePension","toFixed","pensionAPI","API_URL","onSubmit","age","income","contributionValue","currentPensionValue","retirementAge","totalContribution","contribution1","jobContribution","contribution2","calculateTotalContribution","salary","pensionValue","APItype5","then","response","annualPensionValue","statePensionValue","userContributedPensionProjection","annualPension","isStatePension","projection","barChart","userContributedPensionProjectionChartVal","statePensionValueChartVal","pensionsTool","setScreen","stepsTransformation","steps","firstSteps","currentPensionTransformation","secondSteps","employmentStatusTransformation","employeeJobContributionTransformation","transformedSteps","pensionThroughWork","codename","investmentTool","API","incomeProtectionTool","getApiConstants","getOccupationClass","occupation","occupationClass","occupations","find","quickQuoteId","productId","currentDate","Date","incomeAmount","amountToProtect","calculateIncomeAmount","coverTypeCd","jointLife","indexation","frequencyCd","dateOfBirth1Day","getDate","dateOfBirth1Month","getMonth","dateOfBirth1Year","getFullYear","dateOfBirth","sexCd1","smokerCd1","isSmoker","incomeIncreaseRate","BillPayOccupationClass","incomeAmt","deferredWeeks","endAge","termLifeTool","lifeCoverAmt","coverNeeded","conversion","firstName","lastName","phone","email","term","maxAge","age1","mortgageProtectionTool","twoPeopleTransformation","coverFor","dateOfBirth2Day","dateOfBirth2Month","dateOfBirth2Year","age2","smokerCd2","isSmoker2","onePlanProtectionTool","childNumTransformation","jointTransformation","thirdSteps","mortgageOrRentTransformation","fourthSteps","additionalCoverTransformation","fifthSteps","SICTransformation","AdditionalLifeCoverTransformation","isAdditionalLifeCover","isAdditionalLifeCover2","isSpecifiedIllnessCover","isSpecifiedIllnessCover2","otherCoverRentNeither","isOtherCover","otherCoverRentNeither2","isOtherCover2","codeName","childNum","mortgageOrRent","onePlanParamsStandard","getApiParamsOnePlan","onePlanParamsEssential","onePlanParamsComprehensive","apiConstants","config","CalculatorMachine","createMachine","initialQuestions","isRestarted","createCrmLead","user","calculatorType","schema","initial","states","on","Calculate","OnFormUpdate","internal","Interacted","payload","Back","Pristine","Initialise","invoke","onDone","cond","onError","restartCalculatorOnError","onNeedHelpClicked","updateQuoteData","setInitialQuestions","updateFormValues","restartCalculator","updateTransformedQuestions","updateCounter","createCRMLead","services","getQuoteDetails","CalculatorMachineContext","calculatorService","CalculatorMachineProvider","useInterpret","Provider","useCalculatorMachine","globalServices","useContext","useActor","state","FooterContactNotes","textDecoration","FooterCommonNotes","PensionFooterNotes","footerNotesMapper","Heading","isDesktop","justify","wrap","ProgressIndicator","calcType","setCalcType","currentStep","useEffect","checkOccupationClass","RestrictionScreen","ErrorScreen","checkIfOccupationRestriction","quoteCardData","taxRelief","assumptions","AssumptionsCard","BenefitsCard","benefits","benefit","NextStepsCard","paddingRight","Loading","AdjustmentControls","onDecrease","onIncrease","onReset","pointerEvents","isAttached","disabled","aria-label","minW","duration","formatValue","numeral","pensionCalculatorState","atom","userContribution","usePensionCalculator","useRecoilState","calcState","setCalcState","debouncedUpdate","useCallback","changeUserContribution","setContribution","contribution","oldState","setRetirementAge","replacementPercentage","IncomeProjectionText","MonthlyIncomeDisplay","paddingBottom","paddingTop","Legend","Grid","xs","bgRepeat","pattern","encodeURIComponent","LegendDisplay","RetirementBarChart","isRefetching","total","ResponsiveContainer","BarChart","layout","patternUnits","patternTransform","XAxis","hide","YAxis","dataKey","Bar","transition","stackId","getNextContribution","increase","stepSize","ceil","PensionCalculatorOutput","WarningAlerts","Result","note","highlighted","enumerableOnly","symbols","sym","_objectSpread","getOwnPropertyDescriptors","reforwardRef","setLabels","currentData","nextLabels","labels","setDatasets","nextDatasets","datasetIdKey","addedDatasets","nextDataset","currentDataset","dataset","cloneData","nextData","ChartComponent","param","_param$height","_param$width","_param$redraw","redraw","_param$plugins","fallbackContent","updateMode","canvasRef","chartRef","renderChart","destroyChart","destroy","nextOptions","setOptions","update","role","Chart","createTypedChart","registerables","register","Line","getInvestmentValue","principal","regular","rate","getDataPoints","dataPoints","currentYear","year","ChartJS","CategoryScale","LinearScale","PointElement","LineElement","Title","Tooltip","Filler","grid","ticks","autoSkipPadding","maxRotation","legend","boxWidth","LineChart","cashDataPoints","investmentDataPoints","dataPoint","INVESTMENT_RATE","Results","results","returnOnCash","returnOnInvestment","my","InvestmentCalculatorOutput","lumpSum","initialAmount","monthlyAmount","noOfYears","calculatorReturns","getCalculatorReturns","Warnings","modifySteps","calculatorSteps","cardCaption","cardcaptionnew","card_caption","buttonCaption","button_caption","tooltipicon","getCalcalutorSteps","fieldName","calculatordata__field_name","helpertext","new_helper_text","inputtype","input_type","isOptional","optional","calculatorstepheader__title","multiple_choice_options","placeholder","stepsize","defaultvalue","errorMessage","error_message","minvalue","maxvalue","CalculatorStepBinaryChoice","control","render","onChange","defaultSelected","isSecondary","isBinary","getStyles","border","_placeholder","boxShadow","outline","paddingLeft","opacity","cursor","amountPercentageToProtect","isPhoneValid","phoneNumber","isValidPhoneNumber","PhoneNumberInput","setIsTouched","rules","required","minLength","message","validate","onBlur","initialValueFormat","defaultCountry","EmailInput","CurrencyInput","thousandSeparator","onValueChange","DefaultInput","onWheel","DatePicker","HelperText","errors","isTouched","dynamicHelperText","CalculatorStepInput","childProps","CalculatorStepMultipleChoice","option","option_label","CalculatorStepText","useStyles","makeStyles","createStyles","disableUnderline","borderStyle","CalculatorStepDropdown","classes","Autocomplete","className","newValue","renderInput","TextField","autoComplete","InputProps","getOptionLabel","CalculatorStepAdjustmentControls","trigger","CalculatorStep","handleOnChange","updateData","AdjustmentForm","useForm","shouldUnregister","handleSubmit","watch","formState","questions","updatedValues","calculatorStep","incomeProtectionCalculatorState","premium","coveredIncome","stateCover","useIncomeProtectionCalculatorCalculator","prem","setYearlyIncome","setAmountToProtect","getStarted","bodyText","secondaryCTALabel","secondaryCTALink","link","linkLabel","moreInfoProps","modalContent","buttonLabel","imgAltText","Charts","amountNotCovered","heightOfNotCovered","heightOfCovered","heightOfStateCovered","toLocaleString","YourDetailsCard","GetStarted","getAnalyticsParams","AddCircleIcon","createIcon","clipRule","strokeLinecap","strokeLinejoin","MoreInfo","useDisclosure","isOpen","onOpen","onClose","finalRef","React","useRef","AddCircle","finalFocusRef","colorScheme","IncomeProtectionCalculatorOutput","orientation","ValidityCard","QuoteBreakdown","costOfQuote","premInclLevy","fee","levy","peopleCovered","CalculatorQuoteDisplay","adjustmentFormProps","TermLifeCalculatorOutput","quoteDisplayProps","validity","HaveAQuestionCard","MortgageProtectionOutput","findIfApplicable","FormValues","cover1","cover2","ifBillCoverApplicable","isAddtionalProtectionBillCover","isAddtionalProtectionBillCover2","addValues","val2","getOnePlanColumns","funeralCover","covers","getOnePlanCovers","billCoverAmount","billCoverAmountMax","income2","income1","billCoverAmountTotal","mortgagePayment","getBillCoverAmount","isMarried","getModelContent","price","isApplicable","decreasingLifeCover1","StandardPlan","decreasingLifeCover2","yourCover","partnerCover","billCover1","billCover2","specifiedIllness1","specifiedIllness2","EssentialPlan","ComprehensivePlan","lifeCoverPrem1","lifeCoverPrem2","billPayPrem1","billPayPrem2","sicCoverPrem1","sicCoverPrem2","RiskCard","coverRequirements","CoverRequirement","QuoteCardHeaders","QuoteCard","coverDetails","moreInfo","borderTop","coverDetail","OnePlanProtectionOutput","activeStyles","setColumn","initialColumnState","setcolumnClass","columnState","QuoteComponentMapper","CalculatorStepCommon","isDirty","isFetching","formValuestoCheck","question","isFormComplete","every","isSubmit","navigate","isEmpty","_disabled","isLoading","loadingText","_loading","ViewSelector","QuoteComponent","ContainerRight","image","backgroundImage","Container","FooterNotes","tool_label","imagetext","tool_caption","colSpan","Calculator","Stepper","defaultStep","leftIndicator","rightIndicator","vertically","setIndex","number","Campaign3DSlideshow","cards","sliderImages","card","imageSrc","images","setImages","slide","tempArray","unshift","shiftArrayToLast","mx","perspective","transformStyle","css","srcSet","sizes","subtitle2","untitled_linked_items","subtitle_2","description_b57cf5a","file","button_c9ad60e__text","button_c9ad60e__url","card_cta_0396ba7__cta_variant","fullWidthWrapperStyles","getCardGridData","cardgrid__heading","products","cardgrid__products","product","cardgrid__text","cardgrid__title","getCardsData","threecards__heading","threecards__title","threecards__subtitle","threecards__cards","ctaLabel","threecards__cta_label","ctaUrl","threecards__cta_url","noWrap","threecards__wrap_cards","alignTextLeft","threecards__align_text_left","getCardsCarouselData","cardscarousel__label","list","blogpostselector__blog_posts","getArticleData","CenteredText","isMobile","useMediaQuery","bgColor","wordWrap","getCareersCenteredTextData","centered_text","untitled_multiple_choice","Card","counter","Pagination","itemsPerPage","showControls","callBack","currentPage","setCurrentPage","totalPages","startIndex","endIndex","visibleItems","progressBarValue","progressValue","Infinity","CountingCardsWithPagination","setVisibleItems","calculateCounter","fontStyle","paginationData","mini_cards","getCtaData","call_to_action__analytics_id","call_to_action__label","call_to_action__iconlocation","call_to_action__icon","call_to_action__text","call_to_action__url","call_to_action__variant","DocumentDownloadPanel","sm","colStart","colEnd","fileSize","Link","open","downloadPath","documents","CampaignFeature","dpr","useDpr","Hidden","CardCta","getFeaturedData","call_to_action__title","getIframeData","iframe__src","iframe__title","iframe__width","iframe__height","mobileHeight","iframe__mobile_height","scrolling","iframe__scrolling","iframe__heading","iframe__text","ImageWithParagraph","button_c9ad60e__analytics_id","endIcon","card_cta_0396ba7__cta_icon","getCtaConfig","bookingUrl","bookingAnalyticsId","booking_cta_analytics_id","calculateAnalyticsId","calculate_cta_analytics_id","MediaCard","_useMediaQuery","spacingY","spacingX","UniversalLink","getMenuCardGridProps","getMenuCards","menucard","menuCards","menuCard","getMenuCardsProps","menu_card__cta","menu_card__icon","largeTitle","menu_card__maintitle","linkComponent","menu_card__image","menu_card__subtitle","menu_card__title","selectedCard","MetamoCard","branchName","getPreScreen","isAdvisorView","selectedBranch","metamoVariant","sourceBranchName","getBranchList","metamo_branch_list","branch_name","branchId","branch_id","MiniFooter","loginLink","login_link","MultiCampaignFeature","imageLeft","image_left","MultiCardGalleryWithStepper","selectedCardIndex","setSelectedCardIndex","cardStyle","currentCard","career_card_with_pagination","MultiFeatureList","caption","paginationItems","FeatureList","textwithimages","featureTitle","featurelist__bullets_title","featureSubtitle","featurelist__bullets_subtitle","features","featurelist__features","featurelist__image","featurelist__subtitle","featurelist__title","featurelist__variant","cta","featurelist__cta","secondaryTitle","secondary_title","featurelist__cta_analyticsid","featurelist__cta_label","featurelist__cta_icon","featurelist__cta_url","featurelist__cta_variant","noSpacer","PaginatedCards","idx","MultiPaginatedCards","subTitle","secondSubtitle","secondTitle","cardTitle","secondtitle","secondsubtitle","getNotices","notices","notice","noticeVariant","dict","health","inforce","rgba","lapsed","surrendered","life","pensions","investments","smartinvest","financialplan","wellbeing","fontSizes","xsm","xxsm","msm","PillarIcon","_props$size","_props$isDisabled","_props$planStatus","planStatus","pillarIcon","HealthIcon","LifeIcon","PensionsIcon","InvestmentsIcon","FinancialPlan","WellbeingIcon","proposal","ProposalIcon","filled","Circle","_props$variant2","_props$size2","_props$isDisabled2","_props$planStatus2","showCount","Count","fillOpacity","vectorEffect","fillRule","contentPropsMap","PillarCard","primaryCta","secondaryCta","pillarName","isMobileExtraSmall","borderTopWidth","_focus","shadow","hide_cta","Pillars","pillars","subtitle___color","title___color","gridTemplateColumns","pillar","getPillarProps","life_insurance_text","life_insurance_ctas","cta__label","cta__url","cta__analytics_id","hide_primary_ctas","health_insurance_text","health_insurance_ctas","pensions_text","pensions_ctas","investments_text","investments_ctas","ProductListingCTA","ishighlighted","TagManager","dataLayer","iconSizeList","ProductListCard","iconSize","ProductRowLists","productRowLists","templateRows","productRowList","productListing","getProductRowListingProps","product_lists","ProofPoints","isDark","palette","VIBRANT_700","lightStyles","BRAND_900","darkStyles","getProofPointsData","proof_points__heading","proof_points__variant","proof_points__items","CustomPoplink","handleClick","ResourcesWithLinks","poplink","imageUrl","getSharedCardProps","sharedCard","templatesection___shardcard__title","body","templatesection___shardcard__text","handleCallBack","templatesection___shardcard__cta","callbackLabel","callbackVariant","callbackSize","templatesection___shardcard__image","imageBottom","SupportCenter","getTableData","getTableColumns","table_columns","getTableRowGroup","table_rows","rowGroup","rowValues","row_title","rowgroup_title","is_collapsible","is_expanded","column_cell_values","column_boolean_values","column_text_values","column_title","columnSubtitle","column_subtitle","columnCTALabel","columnCTAVariant","formControl","selectEmpty","empty","NEUTRAL_300","dropdownStyle","WHITE","menuItem","VIBRANT_100_SECONDARY","NEUTRAL_900","iconDisabled","inputStyles","BRAND_100","fontFamily","BRAND_200","withStyles","INPUT_BASE","DefaultInputWhite","PlaceholderInput","PlaceholderInputWhite","SimpleSelect","isWhiteBackground","showOptional","selectedValue","setValue","FormControl","labelId","displayEmpty","MenuProps","paper","EXPAND_MORE","inputProps","MenuItem","darkBackground","letterSpacing","NEUTRAL_700","Dropdown","isDarkBackground","TeamGridFilter","showFilters","pagination","members_card_style","cardStore","setCardStore","filterValues","setFilterValues","companyFilterOptions","setCompanyFilterOptions","idIterator","unique","company","companyName","applyFilters","inputName","filtered","department","prevValues","borderLeft","jobTitle","buttonUrl","_focusVisible","buttonIcon","preventDefault","team_members","full_name","job_title","show_filters","button_c9ad60e__icon","openingTagRegex","closingTagRegex","_props$type","quote","_props$name","avatarSrc","button","location","nameString","defaultTitle","defaultRole","xmlns","Testimonials","getTestimonialProps","testimonial","testimonials","commonProps","testimonialcustomer__location","getTextWithImageData","featurelist__cta_icon_position","getTimelineData","timeline__steps","TrapeziumBanner","clipPath","getVideoWithTextData","video__height","video__width","video__url","video__video","video__title","video__heading","video__text","getWarningsData","alerts","alerts__alerts","alert","TemplateSectionComponent","templatesection___accordionsection","templatesection___banner_cta","templatesection___bodyoftext","templatesection___bulletswithimage","FeatureListImage","templatesection___card_grid","ProductList","generic","templatesection___cards","Benefits","templatesection___cardscarousel","LatestNews","templatesection___collegecostscalculator","digitalAdviceUrl","COLLEGE_COSTS_CALCULATOR_DIGITAL_ADVICE_URL","graphQLEndpoint","COLLEGE_COSTS_CALCULATOR_GRAPHQL_ENDPOINT","templatesection___cta","JumbotronCallToAction","templatesection___featured","templatesection___iframe","attributes","expanded","setExpanded","handleIframeMessage","collapsed","templatesection___investmentcalculatorsection","ctaConfig","onBook","getElementById","scrollIntoView","behavior","onCalculate","templatesection___metamo","branchList","isadvisorview","setSelectedBranch","showAdvisorbooking","setShowAdvisorbooking","AdvisorBooking","preScreen","slim","templatesection___notices","displayTitle","displaytitle","Notice","templatesection___productlisting","templatesection___proofpoints","templatesection___resources","getResourcesData","templatesection___supportcenter","templatesection___table","templatesection___testimonials","templatesection___textwithimage","templatesection___textwithtitle","templatesection___timeline","TimelineSteps","templatesection___videowithtext","Video","templatesection___warnings","Alerts","templatesection___centeredtext","processedProps","templatesection___resourceswithlinks","templatesection___minifooter","templatesection___multicampaignfeature","templatesection___imagewithparagraph","templatesection___multicardgallerywithstepper","templatesection___countingcardswithpagination","templatesection___documentdownloadpanel","templatesection___trapeziumbanner","templatesection___shardcard_c08e77b","templatesection___campaign3dslideshow","templatesection___mediacard","templatesection___multifeaturelist","templatesection___accordioninfopanel","templatesection___teamgridfilter","templatesection___multipaginatedcards","calculator","templatesection___menucardgrid","templatesection___pillars","templatesection___basic_table","tables","footer_text","templatesection___appointeddwidget","script1","appendChild","script2","lang","template_section___book_an_appointment_v4","BookAnAppointmentV4","template_section___advisor_block_v4","jumbotronLabel","call_to_action__jumbotron_label","labelMobile","call_to_action__label_mobile","titleMobile","call_to_action__title_mobile","jumbotronUrl","call_to_action__jumbotron_url","customcampaignId","custom_campaignid_to_booking_appointment_form","secondaryCallToAction","call_to_action2__icon_location","call_to_action2__analytics_id","call_to_action2__label","call_to_action2__icon","call_to_action2__url","call_to_action2__variant","getSecondaryCallToActionData","left_subtitle","html_tag","left_title","left_body_text","left_regulatory_information","right_subtitle","bullet_points","advisor_image","advisor_message","advisor_name","advisor_role","Generic","jumbotron","sections","newLayout","navigation","customNavigationMenu","Layout","ifJumbotron","getTemplateJumbotron","getSections","breadcrumbs","shouldNotBeWrapped","templatesection_common__extra_space_above_and_bottom","templatesection_common__spacer","templatesection_common__background_color","bgColors","Component","aboveAndBottomBackground","defaultColor","getBackgroundColor","condition","ExtraSpaceBox","getSectionId","white","common","lightBlue","deepBlue","addToUnscopables","_extends","_createClass","descriptor","Constructor","protoProps","staticProps","_react","_react2","_interopRequireDefault","_propTypes2","_raf2","AnimatedNumber","_Component","instance","_classCallCheck","_this","self","ReferenceError","_possibleConstructorReturn","__proto__","currentValue","initialValue","subClass","superClass","setPrototypeOf","_inherits","prepareTween","nextProps","tweenHandle","endTween","_this2","timestamp","tweenValue","setState","currentTime","ensureSixtyFps","_props","startTime","fromValue","bind","_props2","frameStyle","stepPrecision","_state","adjustedValue","currStyle","filterKnownProps","sanitized","propNames","validProps","propTypes","any","func","defaultProps","videoTitle","videoHeading","videoResponsive","controls","data-src","data-cookiescript","data-cookiecategory","data-alt-img","allow","_taggedTemplateLiteral","strings","raw","freeze","singleColumn","filteredProducts","setfilteredProducts","setCount","LeftIntro","slicedPosts","commonjsGlobal","globalThis","check","global$b","Function","objectGetOwnPropertyDescriptor","fails$9","functionBindNative","NATIVE_BIND$1","call$5","functionCall","objectPropertyIsEnumerable","$propertyIsEnumerable","getOwnPropertyDescriptor$1","NASHORN_BUG","version","createPropertyDescriptor$2","bitmap","NATIVE_BIND","FunctionPrototype$1","call$4","uncurryThisWithBind","functionUncurryThis","uncurryThis$9","toString$1","stringSlice$1","fails$6","classof","$Object$2","indexedObject","isNullOrUndefined$2","isNullOrUndefined$1","$TypeError$5","requireObjectCoercible$2","IndexedObject$1","requireObjectCoercible$1","toIndexedObject$3","documentAll$2","documentAll_1","IS_HTMLDDA","documentAll$1","isCallable$a","argument","isCallable$9","documentAll","isObject$5","global$a","isCallable$8","getBuiltIn$2","namespace","objectIsPrototypeOf","isPrototypeOf","global$9","userAgent","navigator","process","Deno","versions","v8","V8_VERSION","fails$5","$String$3","symbolConstructorDetection","symbol","sham","useSymbolAsUid","getBuiltIn$1","isCallable$7","$Object$1","isSymbol$2","$Symbol","$String$2","isCallable$6","tryToString","$TypeError$4","aCallable","isNullOrUndefined","call$3","isCallable$5","isObject$4","$TypeError$3","shared$3","global$7","defineProperty$2","defineGlobalProperty$3","defineGlobalProperty$2","sharedStore","store$2","copyright","license","$Object","toObject$2","toObject$1","hasOwnProperty_1","hasOwn","uncurryThis$5","postfix","uid$2","global$5","shared$2","hasOwn$6","uid$1","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","Symbol$1","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","call$2","isObject$3","isSymbol$1","getMethod","ordinaryToPrimitive","pref","valueOf","$TypeError$2","TO_PRIMITIVE","wellKnownSymbol","toPrimitive","exoticToPrim","isSymbol","toPropertyKey$2","isObject$2","document$1","EXISTS$1","ie8DomDefine","DESCRIPTORS$6","call$1","propertyIsEnumerableModule$1","createPropertyDescriptor$1","toIndexedObject$2","toPropertyKey$1","hasOwn$5","IE8_DOM_DEFINE$1","$getOwnPropertyDescriptor$1","objectDefineProperty","v8PrototypeDefineBug","isObject$1","$String$1","$TypeError$1","anObject$2","DESCRIPTORS$4","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject$1","toPropertyKey","$TypeError","$defineProperty","$getOwnPropertyDescriptor","Attributes","definePropertyModule$2","createPropertyDescriptor","createNonEnumerableProperty$2","makeBuiltIn$2","DESCRIPTORS$2","hasOwn$4","FunctionPrototype","getDescriptor","EXISTS","functionName","PROPER","CONFIGURABLE","isCallable$4","store$1","functionToString","inspectSource","inspectSource$1","isCallable$3","WeakMap$1","WeakMap","weakMapBasicDetection","shared$1","hiddenKeys$3","NATIVE_WEAK_MAP","global$2","createNonEnumerableProperty$1","hasOwn$3","shared","sharedKey","hiddenKeys$2","TypeError$1","store","metadata","facade","STATE","internalState","enforce","getterFor","uncurryThis$3","fails$2","isCallable$2","hasOwn$2","DESCRIPTORS$1","CONFIGURABLE_FUNCTION_NAME","enforceInternalState","getInternalState","$String","defineProperty$1","stringSlice","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn$1","getter","setter","arity","isCallable$1","definePropertyModule$1","makeBuiltIn","defineGlobalProperty$1","objectGetOwnPropertyNames","trunc","toIntegerOrInfinity$2","toIntegerOrInfinity$1","min$1","toIntegerOrInfinity","toIndexedObject$1","toAbsoluteIndex","integer","lengthOfArrayLike","IS_INCLUDES","fromIndex","arrayIncludes","hasOwn$1","toIndexedObject","hiddenKeys$1","objectKeysInternal","enumBugKeys$2","internalObjectKeys$1","hiddenKeys","getOwnPropertyNames","objectGetOwnPropertySymbols","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule$1","anObject","concat$1","ownKeys$1","getOwnPropertyDescriptorModule","definePropertyModule","fails$1","isCallable","replacement","isForced$1","feature","detection","POLYFILL","NATIVE","isForced_1","global$1","createNonEnumerableProperty","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","defineGlobalProperty","copyConstructorProperties","exceptions","isForced","internalObjectKeys","enumBugKeys","objectKeys$1","DESCRIPTORS","uncurryThis","fails","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","IndexedObject","$assign","chr","argumentsLength","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","defaultImage","light","Avatar","responsiveSize","styleMap","success","warning","_props$status","status","accordion_1","ComparisonTable","table_1","ilgroupdesignsystem_atoms_button_1","router_1","tablerowsdesktop_1","media_query_1","tablemobile_1","ilgroupdesignsystem_molecules_alert_1","_b","returnValue","totalRows","checkTableStructure","ComparisonTableMobile","Thead","Th","_AnimatedNumber","_AnimatedNumber2","_active","_ref2","_ref3","variants","primary","vibrant","outlineOffset","outlineWidth","outlineStyle","outlineColor","secondary","ghost","inverse","choice","choiceBlue","unstyled","Form","linkStyles","dark","_ref4","_pressed","_ref5","textStyles","footer","proseTheme","h3","h4","transitionProperty","transitionDuration","transitionTimingFunction","hr","_dark","blockquote","paddingStart","borderStartWidth","borderStartColor","pre","code","figure","figcaption","ul","listStyleType","ol","li","thead","borderBottomWidth","th","td","verticalAlign","tbody","tr","tfoot","borderTopColor","_c","themeOverride","h5","h6","strong","span","fonts","mono","colors","brand","50","100","200","300","400","500","600","700","800","900","monochrome","accent","neutral","highlight","skyblue","havelockblue","general","shadows","components","field","errorBorderColor","overridenProseTheme","Prose","button_1","mobileheader_1","getDefaultExportFromCjs","reactIs","reactIs_production_min","for","k$1","q","z","u","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","propIsEnumerable","test1","test2","fromCharCode","test3","letter","shouldUseNative","checkPropTypes$1","typeSpecs","componentName","getStack","resetWarningCache","emptyFunction","emptyFunctionWithReset","shim","propName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","bool","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","factoryWithThrowingShims","invariant_1","argIndex","framesToPop","lib","implementation","gud","warning_1","_gud2","createEventEmitter","handlers","handler","off","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_temp","emitter","getChildContext","componentWillReceiveProps","oldValue","objectIs","childContextTypes","Consumer","_Component2","_temp2","getValue","onUpdate","observedBits","componentDidMount","componentWillUnmount","contextTypes","_implementation2","componentWillMount","getDerivedStateFromProps","prevState","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","__suppressDeprecationWarning","transitioning","resolveTransition","search","substr","_to$split","toPathname","toQuery","basePathname","toSegments","segmentize","baseSegments","addQuery","pathname","allSegments","insertParams","_path$split","pathBase","_path$split$","query","constructedPath","paramRe","_params$location","_params$location$sear","searchSplit","isDynamic","isSplat","rankRoute","route","score","reduce","isRootSegment","SEGMENT_POINTS","rankRoutes","routes","uri","reservedNames","_extends$1","getLocation","_source$location","hash","origin","protocol","hostname","port","canUseDOM","encodeURI","decodeURI","history","globalHistory","initialPath","searchIndex","initialLocation","stack","pushState","_","_uri$split","_uri$split$","replaceState","_uri$split2","_uri$split2$","go","newIndex","createMemorySource","_onTransitionComplete","listen","popstateListener","action","_ref$replace","now","_objectWithoutProperties","createNamedContext","Ctx","LocationContext","Location","LocationProvider","_React$Component","refs","unlisten","_props$history","componentDidCatch","isRedirect","_navigate","componentDidUpdate","unmounted","BaseContext","baseuri","basepath","Router","baseContext","locationContext","RouterImpl","_React$PureComponent","_navigate2","_props$component","domProps","default_","uriPathname","uriSegments","isRootUri","ranked","missed","routeSegments","routeSegment","uriSegment","decodeURIComponent","dynamicMatch","pick","Children","toArray","child","createRoute","cloneElement","FocusWrapper","FocusHandler","wrapperProps","PureComponent","FocusContext","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_React$Component2","_this4","shouldFocus","focus","myURIChanged","navigatedUpToMe","contains","activeElement","_this5","_props2$component","Comp","tabIndex","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","snapshot","polyfill","innerRef","_ref6","_props$getProps","anchorProps","encodedHref","isCurrent","isPartiallyCurrent","shouldNavigate","shouldReplace","_location$state","restState","obj1","obj2","obj1Keys","RedirectRequest","RedirectImpl","_React$Component3","_props3","_props3$replace","noThrow","resolvedTo","_props4","redirectTo","Redirect","_ref7","stripSlashes","elementPath","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","MenuCard","iconPlus","_props$linkComponent","imgHeight","Feature","noBullets","show_bullets","Features","spacerVariant","FeatureListLeft","featureListStyles","FeatureListRight","FeatureListTop","bulletsTitle"],"mappings":"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","file":"32ca024df3a3de53994c008afbf845ec70959f00-63a7c28e810906e04000.js","sourcesContent":["import 'core-js/modules/es.object.assign.js';\nimport { FormControl, InputGroup, InputLeftElement, Input as Input$1, InputRightElement, FormHelperText } from '@chakra-ui/react';\nimport { FormLabel } from '@irishlifedigitalhub/ds.atoms.form-label';\nimport { CheckIcon, CloseIcon } from '@irishlifedigitalhub/ds.icons';\nimport React from 'react';\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\nfunction __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nvar Input = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var isInvalid = props.isInvalid,\n helperText = props.helperText,\n label = props.label,\n isValid = props.isValid,\n isDisabled = props.isDisabled,\n id = props.id,\n leftIcon = props.leftIcon,\n noX = props.noX,\n rest = __rest(props, [\"isInvalid\", \"helperText\", \"label\", \"isValid\", \"isDisabled\", \"id\", \"leftIcon\", \"noX\"]);\n\n return /*#__PURE__*/React.createElement(FormControl, {\n \"data-testid\": 'Input',\n isDisabled: isDisabled\n }, label && /*#__PURE__*/React.createElement(FormLabel, {\n color: 'monochrome.800',\n htmlFor: id\n }, label), /*#__PURE__*/React.createElement(InputGroup, null, leftIcon && /*#__PURE__*/React.createElement(InputLeftElement, null, leftIcon), /*#__PURE__*/React.createElement(Input$1, Object.assign({\n id: id,\n ref: ref\n }, rest, {\n isInvalid: isInvalid\n })), isValid && /*#__PURE__*/React.createElement(InputRightElement, null, /*#__PURE__*/React.createElement(CheckIcon, {\n color: 'success'\n })), isInvalid && /*#__PURE__*/React.createElement(InputRightElement, null, !noX && /*#__PURE__*/React.createElement(CloseIcon, {\n color: 'error'\n }))), helperText && /*#__PURE__*/React.createElement(FormHelperText, {\n fontSize: '16px',\n sx: {\n color: isInvalid && 'error'\n }\n }, helperText));\n});\nexport { Input };","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import _defineProperty from \"/home/vsts/work/1/s/packages/website/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"/home/vsts/work/1/s/packages/website/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/home/vsts/work/1/s/packages/website/node_modules/@babel/runtime/helpers/esm/createClass\";\nimport _toConsumableArray from \"/home/vsts/work/1/s/packages/website/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction noop() {}\n\nvar uid = function () {\n var id = 0;\n return function () {\n return id++;\n };\n}();\n\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\n\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n\n var type = Object.prototype.toString.call(value);\n\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n\n return false;\n}\n\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\n\nvar isNumberFinite = function isNumberFinite(value) {\n return (typeof value === 'number' || value instanceof Number) && isFinite(+value);\n};\n\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\n\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\n\nvar toPercentage = function toPercentage(value, dimension) {\n return typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 : value / dimension;\n};\n\nvar toDimension = function toDimension(value, dimension) {\n return typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 * dimension : +value;\n};\n\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\n\nfunction each(loopable, fn, thisArg, reverse) {\n var i, len, keys;\n\n if (isArray(loopable)) {\n len = loopable.length;\n\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\n\nfunction _elementsEqual(a0, a1) {\n var i, ilen, v0, v1;\n\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n\n if (isObject(source)) {\n var target = Object.create(null);\n var keys = Object.keys(source);\n var klen = keys.length;\n var k = 0;\n\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n\n return target;\n }\n\n return source;\n}\n\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\n\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n\n var tval = target[key];\n var sval = source[key];\n\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\n\nfunction merge(target, source, options) {\n var sources = isArray(source) ? source : [source];\n var ilen = sources.length;\n\n if (!isObject(target)) {\n return target;\n }\n\n options = options || {};\n var merger = options.merger || _merger;\n\n for (var i = 0; i < ilen; ++i) {\n source = sources[i];\n\n if (!isObject(source)) {\n continue;\n }\n\n var keys = Object.keys(source);\n\n for (var k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n\n return target;\n}\n\nfunction mergeIf(target, source) {\n return merge(target, source, {\n merger: _mergerIf\n });\n}\n\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n\n var tval = target[key];\n var sval = source[key];\n\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\n\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous + '\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\n\nvar keyResolvers = {\n '': function _(v) {\n return v;\n },\n x: function x(o) {\n return o.x;\n },\n y: function y(o) {\n return o.y;\n }\n};\n\nfunction resolveObjectKey(obj, key) {\n var resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n\n return resolver(obj);\n}\n\nfunction _getKeyResolver(key) {\n var keys = _splitKey(key);\n\n return function (obj) {\n var _iterator = _createForOfIteratorHelper(keys),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var k = _step.value;\n\n if (k === '') {\n break;\n }\n\n obj = obj && obj[k];\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return obj;\n };\n}\n\nfunction _splitKey(key) {\n var parts = key.split('.');\n var keys = [];\n var tmp = '';\n\n var _iterator2 = _createForOfIteratorHelper(parts),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var part = _step2.value;\n tmp += part;\n\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return keys;\n}\n\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\nvar defined = function defined(value) {\n return typeof value !== 'undefined';\n};\n\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n\nvar setsEqual = function setsEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n\n var _iterator3 = _createForOfIteratorHelper(a),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var item = _step3.value;\n\n if (!b.has(item)) {\n return false;\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return true;\n};\n\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nvar PI = Math.PI;\nvar TAU = 2 * PI;\nvar PITAU = TAU + PI;\nvar INFINITY = Number.POSITIVE_INFINITY;\nvar RAD_PER_DEG = PI / 180;\nvar HALF_PI = PI / 2;\nvar QUARTER_PI = PI / 4;\nvar TWO_THIRDS_PI = PI * 2 / 3;\nvar log10 = Math.log10;\nvar sign = Math.sign;\n\nfunction niceNum(range) {\n var roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n var niceRange = Math.pow(10, Math.floor(log10(range)));\n var fraction = range / niceRange;\n var niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\n\nfunction _factorize(value) {\n var result = [];\n var sqrt = Math.sqrt(value);\n var i;\n\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n\n result.sort(function (a, b) {\n return a - b;\n }).pop();\n return result;\n}\n\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\n\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\n\nfunction almostWhole(x, epsilon) {\n var rounded = Math.round(x);\n return rounded - epsilon <= x && rounded + epsilon >= x;\n}\n\nfunction _setMinAndMaxByKey(array, target, property) {\n var i, ilen, value;\n\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\n\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\n\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\n\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n\n var e = 1;\n var p = 0;\n\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n\n return p;\n}\n\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n var distanceFromXCenter = anglePoint.x - centrePoint.x;\n var distanceFromYCenter = anglePoint.y - centrePoint.y;\n var radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n var angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n\n if (angle < -0.5 * PI) {\n angle += TAU;\n }\n\n return {\n angle: angle,\n distance: radialDistanceFromCenter\n };\n}\n\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\n\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\n\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\n\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n var a = _normalizeAngle(angle);\n\n var s = _normalizeAngle(start);\n\n var e = _normalizeAngle(end);\n\n var angleToStart = _normalizeAngle(s - a);\n\n var angleToEnd = _normalizeAngle(e - a);\n\n var startToAngle = _normalizeAngle(a - s);\n\n var endToAngle = _normalizeAngle(a - e);\n\n return a === s || a === e || sameAngleIsFullCircle && s === e || angleToStart > angleToEnd && startToAngle < endToAngle;\n}\n\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\n\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\n\nfunction _isBetween(value, start, end) {\n var epsilon = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1e-6;\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || function (index) {\n return table[index] < value;\n };\n\n var hi = table.length - 1;\n var lo = 0;\n var mid;\n\n while (hi - lo > 1) {\n mid = lo + hi >> 1;\n\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n\n return {\n lo: lo,\n hi: hi\n };\n}\n\nvar _lookupByKey = function _lookupByKey(table, key, value, last) {\n return _lookup(table, value, last ? function (index) {\n return table[index][key] <= value;\n } : function (index) {\n return table[index][key] < value;\n });\n};\n\nvar _rlookupByKey = function _rlookupByKey(table, key, value) {\n return _lookup(table, value, function (index) {\n return table[index][key] >= value;\n });\n};\n\nfunction _filterBetween(values, min, max) {\n var start = 0;\n var end = values.length;\n\n while (start < end && values[start] < min) {\n start++;\n }\n\n while (end > start && values[end - 1] > max) {\n end--;\n }\n\n return start > 0 || end < values.length ? values.slice(start, end) : values;\n}\n\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\n\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n\n return;\n }\n\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach(function (key) {\n var method = '_onData' + _capitalize(key);\n\n var base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value: function value() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var res = base.apply(this, args);\n\n array._chartjs.listeners.forEach(function (object) {\n if (typeof object[method] === 'function') {\n object[method].apply(object, args);\n }\n });\n\n return res;\n }\n });\n });\n}\n\nfunction unlistenArrayEvents(array, listener) {\n var stub = array._chartjs;\n\n if (!stub) {\n return;\n }\n\n var listeners = stub.listeners;\n var index = listeners.indexOf(listener);\n\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n\n if (listeners.length > 0) {\n return;\n }\n\n arrayEvents.forEach(function (key) {\n delete array[key];\n });\n delete array._chartjs;\n}\n\nfunction _arrayUnique(items) {\n var set = new Set();\n var i, ilen;\n\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n\n if (set.size === ilen) {\n return items;\n }\n\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\n\nvar requestAnimFrame = function () {\n if (typeof window === 'undefined') {\n return function (callback) {\n return callback();\n };\n }\n\n return window.requestAnimationFrame;\n}();\n\nfunction throttled(fn, thisArg, updateFn) {\n var updateArgs = updateFn || function (args) {\n return Array.prototype.slice.call(args);\n };\n\n var ticking = false;\n var args = [];\n return function () {\n for (var _len2 = arguments.length, rest = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n rest[_key2] = arguments[_key2];\n }\n\n args = updateArgs(rest);\n\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, function () {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\n\nfunction debounce(fn, delay) {\n var timeout;\n return function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n\n return delay;\n };\n}\n\nvar _toLeftRightCenter = function _toLeftRightCenter(align) {\n return align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\n};\n\nvar _alignStartEnd = function _alignStartEnd(align, start, end) {\n return align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\n};\n\nvar _textX = function _textX(align, left, right, rtl) {\n var check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n var pointCount = points.length;\n var start = 0;\n var count = pointCount;\n\n if (meta._sorted) {\n var iScale = meta.iScale,\n _parsed = meta._parsed;\n var axis = iScale.axis;\n\n var _iScale$getUserBounds = iScale.getUserBounds(),\n min = _iScale$getUserBounds.min,\n max = _iScale$getUserBounds.max,\n minDefined = _iScale$getUserBounds.minDefined,\n maxDefined = _iScale$getUserBounds.maxDefined;\n\n if (minDefined) {\n start = _limitValue(Math.min(_lookupByKey(_parsed, iScale.axis, min).lo, animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), 0, pointCount - 1);\n }\n\n if (maxDefined) {\n count = _limitValue(Math.max(_lookupByKey(_parsed, iScale.axis, max, true).hi + 1, animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1), start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n\n return {\n start: start,\n count: count\n };\n}\n\nfunction _scaleRangesChanged(meta) {\n var xScale = meta.xScale,\n yScale = meta.yScale,\n _scaleRanges = meta._scaleRanges;\n var newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n\n var changed = _scaleRanges.xmin !== xScale.min || _scaleRanges.xmax !== xScale.max || _scaleRanges.ymin !== yScale.min || _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nvar atEdge = function atEdge(t) {\n return t === 0 || t === 1;\n};\n\nvar elasticIn = function elasticIn(t, s, p) {\n return -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\n};\n\nvar elasticOut = function elasticOut(t, s, p) {\n return Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\n};\n\nvar effects = {\n linear: function linear(t) {\n return t;\n },\n easeInQuad: function easeInQuad(t) {\n return t * t;\n },\n easeOutQuad: function easeOutQuad(t) {\n return -t * (t - 2);\n },\n easeInOutQuad: function easeInOutQuad(t) {\n return (t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1);\n },\n easeInCubic: function easeInCubic(t) {\n return t * t * t;\n },\n easeOutCubic: function easeOutCubic(t) {\n return (t -= 1) * t * t + 1;\n },\n easeInOutCubic: function easeInOutCubic(t) {\n return (t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2);\n },\n easeInQuart: function easeInQuart(t) {\n return t * t * t * t;\n },\n easeOutQuart: function easeOutQuart(t) {\n return -((t -= 1) * t * t * t - 1);\n },\n easeInOutQuart: function easeInOutQuart(t) {\n return (t /= 0.5) < 1 ? 0.5 * t * t * t * t : -0.5 * ((t -= 2) * t * t * t - 2);\n },\n easeInQuint: function easeInQuint(t) {\n return t * t * t * t * t;\n },\n easeOutQuint: function easeOutQuint(t) {\n return (t -= 1) * t * t * t * t + 1;\n },\n easeInOutQuint: function easeInOutQuint(t) {\n return (t /= 0.5) < 1 ? 0.5 * t * t * t * t * t : 0.5 * ((t -= 2) * t * t * t * t + 2);\n },\n easeInSine: function easeInSine(t) {\n return -Math.cos(t * HALF_PI) + 1;\n },\n easeOutSine: function easeOutSine(t) {\n return Math.sin(t * HALF_PI);\n },\n easeInOutSine: function easeInOutSine(t) {\n return -0.5 * (Math.cos(PI * t) - 1);\n },\n easeInExpo: function easeInExpo(t) {\n return t === 0 ? 0 : Math.pow(2, 10 * (t - 1));\n },\n easeOutExpo: function easeOutExpo(t) {\n return t === 1 ? 1 : -Math.pow(2, -10 * t) + 1;\n },\n easeInOutExpo: function easeInOutExpo(t) {\n return atEdge(t) ? t : t < 0.5 ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2);\n },\n easeInCirc: function easeInCirc(t) {\n return t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1);\n },\n easeOutCirc: function easeOutCirc(t) {\n return Math.sqrt(1 - (t -= 1) * t);\n },\n easeInOutCirc: function easeInOutCirc(t) {\n return (t /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n },\n easeInElastic: function easeInElastic(t) {\n return atEdge(t) ? t : elasticIn(t, 0.075, 0.3);\n },\n easeOutElastic: function easeOutElastic(t) {\n return atEdge(t) ? t : elasticOut(t, 0.075, 0.3);\n },\n easeInOutElastic: function easeInOutElastic(t) {\n var s = 0.1125;\n var p = 0.45;\n return atEdge(t) ? t : t < 0.5 ? 0.5 * elasticIn(t * 2, s, p) : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack: function easeInBack(t) {\n var s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack: function easeOutBack(t) {\n var s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack: function easeInOutBack(t) {\n var s = 1.70158;\n\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= 1.525) + 1) * t - s));\n }\n\n return 0.5 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2);\n },\n easeInBounce: function easeInBounce(t) {\n return 1 - effects.easeOutBounce(1 - t);\n },\n easeOutBounce: function easeOutBounce(t) {\n var m = 7.5625;\n var d = 2.75;\n\n if (t < 1 / d) {\n return m * t * t;\n }\n\n if (t < 2 / d) {\n return m * (t -= 1.5 / d) * t + 0.75;\n }\n\n if (t < 2.5 / d) {\n return m * (t -= 2.25 / d) * t + 0.9375;\n }\n\n return m * (t -= 2.625 / d) * t + 0.984375;\n },\n easeInOutBounce: function easeInOutBounce(t) {\n return t < 0.5 ? effects.easeInBounce(t * 2) * 0.5 : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\n }\n};\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\n\nfunction round(v) {\n return v + 0.5 | 0;\n}\n\nvar lim = function lim(v, l, h) {\n return Math.max(Math.min(v, h), l);\n};\n\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\n\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\n\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\n\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\n\nvar map$1 = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15,\n a: 10,\n b: 11,\n c: 12,\n d: 13,\n e: 14,\n f: 15\n};\n\nvar hex = _toConsumableArray('0123456789ABCDEF');\n\nvar h1 = function h1(b) {\n return hex[b & 0xF];\n};\n\nvar h2 = function h2(b) {\n return hex[(b & 0xF0) >> 4] + hex[b & 0xF];\n};\n\nvar eq = function eq(b) {\n return (b & 0xF0) >> 4 === (b & 0xF);\n};\n\nvar isShort = function isShort(v) {\n return eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\n};\n\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? map$1[str[7]] << 4 | map$1[str[8]] : 255\n };\n }\n }\n\n return ret;\n}\n\nvar alpha = function alpha(a, f) {\n return a < 255 ? f(a) : '';\n};\n\nfunction _hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f) : undefined;\n}\n\nvar HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\n\nfunction hsl2rgbn(h, s, l) {\n var a = s * Math.min(l, 1 - l);\n\n var f = function f(n) {\n var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12;\n return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n };\n\n return [f(0), f(8), f(4)];\n}\n\nfunction hsv2rgbn(h, s, v) {\n var f = function f(n) {\n var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 60) % 6;\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n };\n\n return [f(5), f(3), f(1)];\n}\n\nfunction hwb2rgbn(h, w, b) {\n var rgb = hsl2rgbn(h, 1, 0.5);\n var i;\n\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n\n return rgb;\n}\n\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return (g - b) / d + (g < b ? 6 : 0);\n }\n\n if (g === max) {\n return (b - r) / d + 2;\n }\n\n return (r - g) / d + 4;\n}\n\nfunction rgb2hsl(v) {\n var range = 255;\n var r = v.r / range;\n var g = v.g / range;\n var b = v.b / range;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var l = (max + min) / 2;\n var h, s, d;\n\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n\n return [h | 0, s || 0, l];\n}\n\nfunction calln(f, a, b, c) {\n return (Array.isArray(a) ? f(a[0], a[1], a[2]) : f(a, b, c)).map(n2b);\n}\n\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\n\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\n\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\n\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\n\nfunction hueParse(str) {\n var m = HUE_RE.exec(str);\n var a = 255;\n var v;\n\n if (!m) {\n return;\n }\n\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n\n var h = hue(+m[2]);\n var p1 = +m[3] / 100;\n var p2 = +m[4] / 100;\n\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\n\nfunction _rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\n\nfunction _hslString(v) {\n if (!v) {\n return;\n }\n\n var a = rgb2hsl(v);\n var h = a[0];\n var s = n2p(a[1]);\n var l = n2p(a[2]);\n return v.a < 255 ? \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(b2n(v.a), \")\") : \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\");\n}\n\nvar map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nvar names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\n\nfunction unpack() {\n var unpacked = {};\n var keys = Object.keys(names$1);\n var tkeys = Object.keys(map);\n var i, j, k, ok, nk;\n\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n\n return unpacked;\n}\n\nvar names;\n\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n\n var a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\n\nvar RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\n\nfunction rgbParse(str) {\n var m = RGB_RE.exec(str);\n var a = 255;\n var r, g, b;\n\n if (!m) {\n return;\n }\n\n if (m[7] !== r) {\n var v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\n\nfunction _rgbString(v) {\n return v && (v.a < 255 ? \"rgba(\".concat(v.r, \", \").concat(v.g, \", \").concat(v.b, \", \").concat(b2n(v.a), \")\") : \"rgb(\".concat(v.r, \", \").concat(v.g, \", \").concat(v.b, \")\"));\n}\n\nvar to = function to(v) {\n return v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\n};\n\nvar from = function from(v) {\n return v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\n};\n\nfunction _interpolate(rgb1, rgb2, t) {\n var r = from(b2n(rgb1.r));\n var g = from(b2n(rgb1.g));\n var b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\n\nfunction modHSL(v, i, ratio) {\n if (v) {\n var tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\n\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\n\nfunction fromObject(input) {\n var v = {\n r: 0,\n g: 0,\n b: 0,\n a: 255\n };\n\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {\n r: input[0],\n g: input[1],\n b: input[2],\n a: 255\n };\n\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {\n r: 0,\n g: 0,\n b: 0,\n a: 1\n });\n v.a = n2b(v.a);\n }\n\n return v;\n}\n\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n\n return hueParse(str);\n}\n\nvar Color = /*#__PURE__*/function () {\n function Color(input) {\n _classCallCheck(this, Color);\n\n if (input instanceof Color) {\n return input;\n }\n\n var type = typeof input;\n var v;\n\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n\n this._rgb = v;\n this._valid = !!v;\n }\n\n _createClass(Color, [{\n key: \"rgbString\",\n value: function rgbString() {\n return this._valid ? _rgbString(this._rgb) : undefined;\n }\n }, {\n key: \"hexString\",\n value: function hexString() {\n return this._valid ? _hexString(this._rgb) : undefined;\n }\n }, {\n key: \"hslString\",\n value: function hslString() {\n return this._valid ? _hslString(this._rgb) : undefined;\n }\n }, {\n key: \"mix\",\n value: function mix(color, weight) {\n if (color) {\n var c1 = this.rgb;\n var c2 = color.rgb;\n var w2;\n var p = weight === w2 ? 0.5 : weight;\n var w = 2 * p - 1;\n var a = c1.a - c2.a;\n var w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n\n return this;\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(color, t) {\n if (color) {\n this._rgb = _interpolate(this._rgb, color._rgb, t);\n }\n\n return this;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Color(this.rgb);\n }\n }, {\n key: \"alpha\",\n value: function alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n }, {\n key: \"clearer\",\n value: function clearer(ratio) {\n var rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n }, {\n key: \"greyscale\",\n value: function greyscale() {\n var rgb = this._rgb;\n var val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n }, {\n key: \"opaquer\",\n value: function opaquer(ratio) {\n var rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n }, {\n key: \"negate\",\n value: function negate() {\n var v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n }, {\n key: \"lighten\",\n value: function lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n }, {\n key: \"darken\",\n value: function darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n }, {\n key: \"saturate\",\n value: function saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n }, {\n key: \"desaturate\",\n value: function desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n }, {\n key: \"rotate\",\n value: function rotate(deg) {\n _rotate(this._rgb, deg);\n\n return this;\n }\n }, {\n key: \"valid\",\n get: function get() {\n return this._valid;\n }\n }, {\n key: \"rgb\",\n get: function get() {\n var v = clone(this._rgb);\n\n if (v) {\n v.a = b2n(v.a);\n }\n\n return v;\n },\n set: function set(obj) {\n this._rgb = fromObject(obj);\n }\n }]);\n\n return Color;\n}();\n\nfunction index_esm(input) {\n return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n var type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n\n return false;\n}\n\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\n\nfunction getHoverColor(value) {\n return isPatternOrGradient(value) ? value : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nvar overrides = Object.create(null);\nvar descriptors = Object.create(null);\n\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n\n var keys = key.split('.');\n\n for (var i = 0, n = keys.length; i < n; ++i) {\n var k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n\n return node;\n}\n\nfunction _set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n\n return merge(getScope$1(root, ''), scope);\n}\n\nvar Defaults = /*#__PURE__*/function () {\n function Defaults(_descriptors) {\n _classCallCheck(this, Defaults);\n\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n\n this.devicePixelRatio = function (context) {\n return context.chart.platform.getDevicePixelRatio();\n };\n\n this.elements = {};\n this.events = ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n\n this.hoverBackgroundColor = function (ctx, options) {\n return getHoverColor(options.backgroundColor);\n };\n\n this.hoverBorderColor = function (ctx, options) {\n return getHoverColor(options.borderColor);\n };\n\n this.hoverColor = function (ctx, options) {\n return getHoverColor(options.color);\n };\n\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n\n _createClass(Defaults, [{\n key: \"set\",\n value: function set(scope, values) {\n return _set(this, scope, values);\n }\n }, {\n key: \"get\",\n value: function get(scope) {\n return getScope$1(this, scope);\n }\n }, {\n key: \"describe\",\n value: function describe(scope, values) {\n return _set(descriptors, scope, values);\n }\n }, {\n key: \"override\",\n value: function override(scope, values) {\n return _set(overrides, scope, values);\n }\n }, {\n key: \"route\",\n value: function route(scope, name, targetScope, targetName) {\n var _Object$definePropert;\n\n var scopeObject = getScope$1(this, scope);\n var targetScopeObject = getScope$1(this, targetScope);\n var privateName = '_' + name;\n Object.defineProperties(scopeObject, (_Object$definePropert = {}, _defineProperty(_Object$definePropert, privateName, {\n value: scopeObject[name],\n writable: true\n }), _defineProperty(_Object$definePropert, name, {\n enumerable: true,\n get: function get() {\n var local = this[privateName];\n var target = targetScopeObject[targetName];\n\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n\n return valueOrDefault(local, target);\n },\n set: function set(value) {\n this[privateName] = value;\n }\n }), _Object$definePropert));\n }\n }]);\n\n return Defaults;\n}();\n\nvar defaults = new Defaults({\n _scriptable: function _scriptable(name) {\n return !name.startsWith('on');\n },\n _indexable: function _indexable(name) {\n return name !== 'events';\n },\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n\n return (font.style ? font.style + ' ' : '') + (font.weight ? font.weight + ' ' : '') + font.size + 'px ' + font.family;\n}\n\nfunction _measureText(ctx, data, gc, longest, string) {\n var textWidth = data[string];\n\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n\n if (textWidth > longest) {\n longest = textWidth;\n }\n\n return longest;\n}\n\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n var data = cache.data = cache.data || {};\n var gc = cache.garbageCollect = cache.garbageCollect || [];\n\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n\n ctx.save();\n ctx.font = font;\n var longest = 0;\n var ilen = arrayOfThings.length;\n var i, j, jlen, thing, nestedThing;\n\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n\n ctx.restore();\n var gcLen = gc.length / 2;\n\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n\n gc.splice(0, gcLen);\n }\n\n return longest;\n}\n\nfunction _alignPixel(chart, pixel, width) {\n var devicePixelRatio = chart.currentDevicePixelRatio;\n var halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\n\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\n\nfunction drawPoint(ctx, options, x, y) {\n drawPointLegend(ctx, options, x, y, null);\n}\n\nfunction drawPointLegend(ctx, options, x, y, w) {\n var type, xOffset, yOffset, size, cornerRadius, width;\n var style = options.pointStyle;\n var rotation = options.rotation;\n var radius = options.radius;\n var rad = (rotation || 0) * RAD_PER_DEG;\n\n if (style && typeof style === 'object') {\n type = style.toString();\n\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n\n ctx.beginPath();\n\n switch (style) {\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n\n ctx.closePath();\n break;\n\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n\n rad += QUARTER_PI;\n\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n\n case 'crossRot':\n rad += QUARTER_PI;\n\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n\n ctx.fill();\n\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\n\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || point && point.x > area.left - margin && point.x < area.right + margin && point.y > area.top - margin && point.y < area.bottom + margin;\n}\n\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\n\nfunction unclipArea(ctx) {\n ctx.restore();\n}\n\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n\n if (mode === 'middle') {\n var midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n\n ctx.lineTo(target.x, target.y);\n}\n\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n\n ctx.bezierCurveTo(flip ? previous.cp1x : previous.cp2x, flip ? previous.cp1y : previous.cp2y, flip ? target.cp2x : target.cp1x, flip ? target.cp2y : target.cp1y, target.x, target.y);\n}\n\nfunction renderText(ctx, text, x, y, font) {\n var opts = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var lines = isArray(text) ? text : [text];\n var stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n var i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n\n ctx.restore();\n}\n\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\n\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n var metrics = ctx.measureText(line);\n var left = x - metrics.actualBoundingBoxLeft;\n var right = x + metrics.actualBoundingBoxRight;\n var top = y - metrics.actualBoundingBoxAscent;\n var bottom = y + metrics.actualBoundingBoxDescent;\n var yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\n\nfunction addRoundedRectPath(ctx, rect) {\n var x = rect.x,\n y = rect.y,\n w = rect.w,\n h = rect.h,\n radius = rect.radius;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nvar LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nvar FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\n\nfunction toLineHeight(value, size) {\n var matches = ('' + value).match(LINE_HEIGHT);\n\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n\n value = +matches[2];\n\n switch (matches[3]) {\n case 'px':\n return value;\n\n case '%':\n value /= 100;\n break;\n }\n\n return size * value;\n}\n\nvar numberOrZero = function numberOrZero(v) {\n return +v || 0;\n};\n\nfunction _readValueToProps(value, props) {\n var ret = {};\n var objProps = isObject(props);\n var keys = objProps ? Object.keys(props) : props;\n var read = isObject(value) ? objProps ? function (prop) {\n return valueOrDefault(value[prop], value[props[prop]]);\n } : function (prop) {\n return value[prop];\n } : function () {\n return value;\n };\n\n var _iterator4 = _createForOfIteratorHelper(keys),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var prop = _step4.value;\n ret[prop] = numberOrZero(read(prop));\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n return ret;\n}\n\nfunction toTRBL(value) {\n return _readValueToProps(value, {\n top: 'y',\n right: 'x',\n bottom: 'y',\n left: 'x'\n });\n}\n\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\n\nfunction toPadding(value) {\n var obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\n\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n var size = valueOrDefault(options.size, fallback.size);\n\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n\n var style = valueOrDefault(options.style, fallback.style);\n\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n\n var font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size: size,\n style: style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\n\nfunction resolve(inputs, context, index, info) {\n var cacheable = true;\n var i, ilen, value;\n\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n\n if (value === undefined) {\n continue;\n }\n\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n\n return value;\n }\n }\n}\n\nfunction _addGrace(minmax, grace, beginAtZero) {\n var min = minmax.min,\n max = minmax.max;\n var change = toDimension(grace, (max - min) / 2);\n\n var keepZero = function keepZero(value, add) {\n return beginAtZero && value === 0 ? 0 : value + add;\n };\n\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\n\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _createResolver(scopes) {\n var _cache;\n\n var prefixes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [''];\n var rootScopes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : scopes;\n var fallback = arguments.length > 3 ? arguments[3] : undefined;\n var getTarget = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function () {\n return scopes[0];\n };\n\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n\n var cache = (_cache = {}, _defineProperty(_cache, Symbol.toStringTag, 'Object'), _defineProperty(_cache, \"_cacheable\", true), _defineProperty(_cache, \"_scopes\", scopes), _defineProperty(_cache, \"_rootScopes\", rootScopes), _defineProperty(_cache, \"_fallback\", fallback), _defineProperty(_cache, \"_getTarget\", getTarget), _defineProperty(_cache, \"override\", function override(scope) {\n return _createResolver([scope].concat(_toConsumableArray(scopes)), prefixes, rootScopes, fallback);\n }), _cache);\n return new Proxy(cache, {\n deleteProperty: function deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get: function get(target, prop) {\n return _cached(target, prop, function () {\n return _resolveWithPrefixes(prop, prefixes, scopes, target);\n });\n },\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf: function getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has: function has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys: function ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set: function set(target, prop, value) {\n var storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\n\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n var cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: function setContext(ctx) {\n return _attachContext(proxy, ctx, subProxy, descriptorDefaults);\n },\n override: function override(scope) {\n return _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults);\n }\n };\n return new Proxy(cache, {\n deleteProperty: function deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get: function get(target, prop, receiver) {\n return _cached(target, prop, function () {\n return _resolveWithContext(target, prop, receiver);\n });\n },\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys ? Reflect.has(proxy, prop) ? {\n enumerable: true,\n configurable: true\n } : undefined : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf: function getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has: function has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys: function ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set: function set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\n\nfunction _descriptors(proxy) {\n var defaults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n scriptable: true,\n indexable: true\n };\n\n var _proxy$_scriptable = proxy._scriptable,\n _scriptable = _proxy$_scriptable === void 0 ? defaults.scriptable : _proxy$_scriptable,\n _proxy$_indexable = proxy._indexable,\n _indexable = _proxy$_indexable === void 0 ? defaults.indexable : _proxy$_indexable,\n _proxy$_allKeys = proxy._allKeys,\n _allKeys = _proxy$_allKeys === void 0 ? defaults.allKeys : _proxy$_allKeys;\n\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : function () {\n return _scriptable;\n },\n isIndexable: isFunction(_indexable) ? _indexable : function () {\n return _indexable;\n }\n };\n}\n\nvar readKey = function readKey(prefix, name) {\n return prefix ? prefix + _capitalize(name) : name;\n};\n\nvar needsSubResolver = function needsSubResolver(prop, value) {\n return isObject(value) && prop !== 'adapters' && (Object.getPrototypeOf(value) === null || value.constructor === Object);\n};\n\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n\n var value = resolve();\n target[prop] = value;\n return value;\n}\n\nfunction _resolveWithContext(target, prop, receiver) {\n var _proxy = target._proxy,\n _context = target._context,\n _subProxy = target._subProxy,\n descriptors = target._descriptors;\n var value = _proxy[prop];\n\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n\n return value;\n}\n\nfunction _resolveScriptable(prop, value, target, receiver) {\n var _proxy = target._proxy,\n _context = target._context,\n _subProxy = target._subProxy,\n _stack = target._stack;\n\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n\n _stack.add(prop);\n\n value = value(_context, _subProxy || receiver);\n\n _stack.delete(prop);\n\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n\n return value;\n}\n\nfunction _resolveArray(prop, value, target, isIndexable) {\n var _proxy = target._proxy,\n _context = target._context,\n _subProxy = target._subProxy,\n descriptors = target._descriptors;\n\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n var arr = value;\n\n var scopes = _proxy._scopes.filter(function (s) {\n return s !== arr;\n });\n\n value = [];\n\n var _iterator5 = _createForOfIteratorHelper(arr),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var item = _step5.value;\n var resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n\n return value;\n}\n\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\n\nvar getScope = function getScope(key, parent) {\n return key === true ? parent : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\n};\n\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n var _iterator6 = _createForOfIteratorHelper(parentScopes),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var parent = _step6.value;\n var scope = getScope(key, parent);\n\n if (scope) {\n set.add(scope);\n var fallback = resolveFallback(scope._fallback, key, value);\n\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n return false;\n}\n\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n var rootScopes = resolver._rootScopes;\n var fallback = resolveFallback(resolver._fallback, prop, value);\n var allScopes = [].concat(_toConsumableArray(parentScopes), _toConsumableArray(rootScopes));\n var set = new Set();\n set.add(value);\n var key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n\n if (key === null) {\n return false;\n }\n\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n\n if (key === null) {\n return false;\n }\n }\n\n return _createResolver(Array.from(set), [''], rootScopes, fallback, function () {\n return subGetTarget(resolver, prop, value);\n });\n}\n\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n\n return key;\n}\n\nfunction subGetTarget(resolver, prop, value) {\n var parent = resolver._getTarget();\n\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n\n var target = parent[prop];\n\n if (isArray(target) && isObject(value)) {\n return value;\n }\n\n return target;\n}\n\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n var value;\n\n var _iterator7 = _createForOfIteratorHelper(prefixes),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var prefix = _step7.value;\n value = _resolve(readKey(prefix, prop), scopes);\n\n if (defined(value)) {\n return needsSubResolver(prop, value) ? createSubResolver(scopes, proxy, prop, value) : value;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n}\n\nfunction _resolve(key, scopes) {\n var _iterator8 = _createForOfIteratorHelper(scopes),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var scope = _step8.value;\n\n if (!scope) {\n continue;\n }\n\n var value = scope[key];\n\n if (defined(value)) {\n return value;\n }\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n}\n\nfunction getKeysFromAllScopes(target) {\n var keys = target._keys;\n\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n\n return keys;\n}\n\nfunction resolveKeysFromAllScopes(scopes) {\n var set = new Set();\n\n var _iterator9 = _createForOfIteratorHelper(scopes),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var scope = _step9.value;\n\n var _iterator10 = _createForOfIteratorHelper(Object.keys(scope).filter(function (k) {\n return !k.startsWith('_');\n })),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var key = _step10.value;\n set.add(key);\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n\n return Array.from(set);\n}\n\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n var iScale = meta.iScale;\n var _this$_parsing$key = this._parsing.key,\n key = _this$_parsing$key === void 0 ? 'r' : _this$_parsing$key;\n var parsed = new Array(count);\n var i, ilen, index, item;\n\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n\n return parsed;\n}\n\nvar EPSILON = Number.EPSILON || 1e-14;\n\nvar getPoint = function getPoint(points, i) {\n return i < points.length && !points[i].skip && points[i];\n};\n\nvar getValueAxis = function getValueAxis(indexAxis) {\n return indexAxis === 'x' ? 'y' : 'x';\n};\n\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n var previous = firstPoint.skip ? middlePoint : firstPoint;\n var current = middlePoint;\n var next = afterPoint.skip ? middlePoint : afterPoint;\n var d01 = distanceBetweenPoints(current, previous);\n var d12 = distanceBetweenPoints(next, current);\n var s01 = d01 / (d01 + d12);\n var s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n var fa = t * s01;\n var fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\n\nfunction monotoneAdjust(points, deltaK, mK) {\n var pointsLen = points.length;\n var alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n var pointAfter = getPoint(points, 0);\n\n for (var i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n\n if (squaredMagnitude <= 9) {\n continue;\n }\n\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\n\nfunction monotoneCompute(points, mK) {\n var indexAxis = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'x';\n var valueAxis = getValueAxis(indexAxis);\n var pointsLen = points.length;\n var delta, pointBefore, pointCurrent;\n var pointAfter = getPoint(points, 0);\n\n for (var i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n\n if (!pointCurrent) {\n continue;\n }\n\n var iPixel = pointCurrent[indexAxis];\n var vPixel = pointCurrent[valueAxis];\n\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[\"cp1\".concat(indexAxis)] = iPixel - delta;\n pointCurrent[\"cp1\".concat(valueAxis)] = vPixel - delta * mK[i];\n }\n\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[\"cp2\".concat(indexAxis)] = iPixel + delta;\n pointCurrent[\"cp2\".concat(valueAxis)] = vPixel + delta * mK[i];\n }\n }\n}\n\nfunction splineCurveMonotone(points) {\n var indexAxis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'x';\n var valueAxis = getValueAxis(indexAxis);\n var pointsLen = points.length;\n var deltaK = Array(pointsLen).fill(0);\n var mK = Array(pointsLen);\n var i, pointBefore, pointCurrent;\n var pointAfter = getPoint(points, 0);\n\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n\n if (!pointCurrent) {\n continue;\n }\n\n if (pointAfter) {\n var slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n\n mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\n\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\n\nfunction capBezierPoints(points, area) {\n var i, ilen, point, inArea, inAreaPrev;\n\n var inAreaNext = _isPointInArea(points[0], area);\n\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n\n if (!inArea) {\n continue;\n }\n\n point = points[i];\n\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\n\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n var i, ilen, point, controlPoints;\n\n if (options.spanGaps) {\n points = points.filter(function (pt) {\n return !pt.skip;\n });\n }\n\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n var prev = loop ? points[points.length - 1] : points[0];\n\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension);\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n\nfunction _getParentNode(domNode) {\n var parent = domNode.parentNode;\n\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n\n return parent;\n}\n\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n var valueInPixels;\n\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n\n return valueInPixels;\n}\n\nvar getComputedStyle = function getComputedStyle(element) {\n return window.getComputedStyle(element, null);\n};\n\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\n\nvar positions = ['top', 'right', 'bottom', 'left'];\n\nfunction getPositionedStyle(styles, style, suffix) {\n var result = {};\n suffix = suffix ? '-' + suffix : '';\n\n for (var i = 0; i < 4; i++) {\n var pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\n\nvar useOffsetPos = function useOffsetPos(x, y, target) {\n return (x > 0 || y > 0) && (!target || !target.shadowRoot);\n};\n\nfunction getCanvasPosition(e, canvas) {\n var touches = e.touches;\n var source = touches && touches.length ? touches[0] : e;\n var offsetX = source.offsetX,\n offsetY = source.offsetY;\n var box = false;\n var x, y;\n\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n var rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n\n return {\n x: x,\n y: y,\n box: box\n };\n}\n\nfunction getRelativePosition(evt, chart) {\n if ('native' in evt) {\n return evt;\n }\n\n var canvas = chart.canvas,\n currentDevicePixelRatio = chart.currentDevicePixelRatio;\n var style = getComputedStyle(canvas);\n var borderBox = style.boxSizing === 'border-box';\n var paddings = getPositionedStyle(style, 'padding');\n var borders = getPositionedStyle(style, 'border', 'width');\n\n var _getCanvasPosition = getCanvasPosition(evt, canvas),\n x = _getCanvasPosition.x,\n y = _getCanvasPosition.y,\n box = _getCanvasPosition.box;\n\n var xOffset = paddings.left + (box && borders.left);\n var yOffset = paddings.top + (box && borders.top);\n var width = chart.width,\n height = chart.height;\n\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\n\nfunction getContainerSize(canvas, width, height) {\n var maxWidth, maxHeight;\n\n if (width === undefined || height === undefined) {\n var container = _getParentNode(canvas);\n\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n var rect = container.getBoundingClientRect();\n var containerStyle = getComputedStyle(container);\n var containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n var containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n\n return {\n width: width,\n height: height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\n\nvar round1 = function round1(v) {\n return Math.round(v * 10) / 10;\n};\n\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n var style = getComputedStyle(canvas);\n var margins = getPositionedStyle(style, 'margin');\n var maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n var maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n var containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n var width = containerSize.width,\n height = containerSize.height;\n\n if (style.boxSizing === 'content-box') {\n var borders = getPositionedStyle(style, 'border', 'width');\n var paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n\n if (width && !height) {\n height = round1(width / 2);\n }\n\n return {\n width: width,\n height: height\n };\n}\n\nfunction retinaScale(chart, forceRatio, forceStyle) {\n var pixelRatio = forceRatio || 1;\n var deviceHeight = Math.floor(chart.height * pixelRatio);\n var deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n var canvas = chart.canvas;\n\n if (canvas.style && (forceStyle || !canvas.style.height && !canvas.style.width)) {\n canvas.style.height = \"\".concat(chart.height, \"px\");\n canvas.style.width = \"\".concat(chart.width, \"px\");\n }\n\n if (chart.currentDevicePixelRatio !== pixelRatio || canvas.height !== deviceHeight || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n\n return false;\n}\n\nvar supportsEventListenerOptions = function () {\n var passiveSupported = false;\n\n try {\n var options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n\n return passiveSupported;\n}();\n\nfunction readUsedSize(element, property) {\n var value = getStyle(element, property);\n var matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\n\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y : mode === 'after' ? t < 1 ? p1.y : p2.y : t > 0 ? p2.y : p1.y\n };\n}\n\nfunction _bezierInterpolation(p1, p2, t, mode) {\n var cp1 = {\n x: p1.cp2x,\n y: p1.cp2y\n };\n var cp2 = {\n x: p2.cp1x,\n y: p2.cp1y\n };\n\n var a = _pointInLine(p1, cp1, t);\n\n var b = _pointInLine(cp1, cp2, t);\n\n var c = _pointInLine(cp2, p2, t);\n\n var d = _pointInLine(a, b, t);\n\n var e = _pointInLine(b, c, t);\n\n return _pointInLine(d, e, t);\n}\n\nvar intlCache = new Map();\n\nfunction getNumberFormat(locale, options) {\n options = options || {};\n var cacheKey = locale + JSON.stringify(options);\n var formatter = intlCache.get(cacheKey);\n\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n\n return formatter;\n}\n\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nvar getRightToLeftAdapter = function getRightToLeftAdapter(rectX, width) {\n return {\n x: function x(_x) {\n return rectX + rectX + width - _x;\n },\n setWidth: function setWidth(w) {\n width = w;\n },\n textAlign: function textAlign(align) {\n if (align === 'center') {\n return align;\n }\n\n return align === 'right' ? 'left' : 'right';\n },\n xPlus: function xPlus(x, value) {\n return x - value;\n },\n leftForLtr: function leftForLtr(x, itemWidth) {\n return x - itemWidth;\n }\n };\n};\n\nvar getLeftToRightAdapter = function getLeftToRightAdapter() {\n return {\n x: function x(_x2) {\n return _x2;\n },\n setWidth: function setWidth(w) {},\n textAlign: function textAlign(align) {\n return align;\n },\n xPlus: function xPlus(x, value) {\n return x + value;\n },\n leftForLtr: function leftForLtr(x, _itemWidth) {\n return x;\n }\n };\n};\n\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\n\nfunction overrideTextDirection(ctx, direction) {\n var style, original;\n\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [style.getPropertyValue('direction'), style.getPropertyPriority('direction')];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\n\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle\n };\n }\n\n return {\n between: _isBetween,\n compare: function compare(a, b) {\n return a - b;\n },\n normalize: function normalize(x) {\n return x;\n }\n };\n}\n\nfunction normalizeSegment(_ref) {\n var start = _ref.start,\n end = _ref.end,\n count = _ref.count,\n loop = _ref.loop,\n style = _ref.style;\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style: style\n };\n}\n\nfunction getSegment(segment, points, bounds) {\n var property = bounds.property,\n startBound = bounds.start,\n endBound = bounds.end;\n\n var _propertyFn = propertyFn(property),\n between = _propertyFn.between,\n normalize = _propertyFn.normalize;\n\n var count = points.length;\n var start = segment.start,\n end = segment.end,\n loop = segment.loop;\n var i, ilen;\n\n if (loop) {\n start += count;\n end += count;\n\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n\n start--;\n end--;\n }\n\n start %= count;\n end %= count;\n }\n\n if (end < start) {\n end += count;\n }\n\n return {\n start: start,\n end: end,\n loop: loop,\n style: segment.style\n };\n}\n\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n\n var property = bounds.property,\n startBound = bounds.start,\n endBound = bounds.end;\n var count = points.length;\n\n var _propertyFn2 = propertyFn(property),\n compare = _propertyFn2.compare,\n between = _propertyFn2.between,\n normalize = _propertyFn2.normalize;\n\n var _getSegment = getSegment(segment, points, bounds),\n start = _getSegment.start,\n end = _getSegment.end,\n loop = _getSegment.loop,\n style = _getSegment.style;\n\n var result = [];\n var inside = false;\n var subStart = null;\n var value, point, prevValue;\n\n var startIsBefore = function startIsBefore() {\n return between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n };\n\n var endIsBefore = function endIsBefore() {\n return compare(endBound, value) === 0 || between(endBound, prevValue, value);\n };\n\n var shouldStart = function shouldStart() {\n return inside || startIsBefore();\n };\n\n var shouldStop = function shouldStop() {\n return !inside || endIsBefore();\n };\n\n for (var i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n\n if (point.skip) {\n continue;\n }\n\n value = normalize(point[property]);\n\n if (value === prevValue) {\n continue;\n }\n\n inside = between(value, startBound, endBound);\n\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({\n start: subStart,\n end: i,\n loop: loop,\n count: count,\n style: style\n }));\n subStart = null;\n }\n\n prev = i;\n prevValue = value;\n }\n\n if (subStart !== null) {\n result.push(normalizeSegment({\n start: subStart,\n end: end,\n loop: loop,\n count: count,\n style: style\n }));\n }\n\n return result;\n}\n\nfunction _boundSegments(line, bounds) {\n var result = [];\n var segments = line.segments;\n\n for (var i = 0; i < segments.length; i++) {\n var sub = _boundSegment(segments[i], line.points, bounds);\n\n if (sub.length) {\n result.push.apply(result, _toConsumableArray(sub));\n }\n }\n\n return result;\n}\n\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n var start = 0;\n var end = count - 1;\n\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n\n while (start < count && points[start].skip) {\n start++;\n }\n\n start %= count;\n\n if (loop) {\n end += start;\n }\n\n while (end > start && points[end % count].skip) {\n end--;\n }\n\n end %= count;\n return {\n start: start,\n end: end\n };\n}\n\nfunction solidSegments(points, start, max, loop) {\n var count = points.length;\n var result = [];\n var last = start;\n var prev = points[start];\n var end;\n\n for (end = start + 1; end <= max; ++end) {\n var cur = points[end % count];\n\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({\n start: start % count,\n end: (end - 1) % count,\n loop: loop\n });\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n\n if (prev.skip) {\n start = end;\n }\n }\n\n prev = cur;\n }\n\n if (last !== null) {\n result.push({\n start: start % count,\n end: last % count,\n loop: loop\n });\n }\n\n return result;\n}\n\nfunction _computeSegments(line, segmentOptions) {\n var points = line.points;\n var spanGaps = line.options.spanGaps;\n var count = points.length;\n\n if (!count) {\n return [];\n }\n\n var loop = !!line._loop;\n\n var _findStartAndEnd = findStartAndEnd(points, count, loop, spanGaps),\n start = _findStartAndEnd.start,\n end = _findStartAndEnd.end;\n\n if (spanGaps === true) {\n return splitByStyles(line, [{\n start: start,\n end: end,\n loop: loop\n }], points, segmentOptions);\n }\n\n var max = end < start ? end + count : end;\n var completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\n\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\n\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n var chartContext = line._chart.getContext();\n\n var baseStyle = readStyle(line.options);\n var datasetIndex = line._datasetIndex,\n spanGaps = line.options.spanGaps;\n var count = points.length;\n var result = [];\n var prevStyle = baseStyle;\n var start = segments[0].start;\n var i = start;\n\n function addStyle(s, e, l, st) {\n var dir = spanGaps ? -1 : 1;\n\n if (s === e) {\n return;\n }\n\n s += count;\n\n while (points[s % count].skip) {\n s -= dir;\n }\n\n while (points[e % count].skip) {\n e += dir;\n }\n\n if (s % count !== e % count) {\n result.push({\n start: s % count,\n end: e % count,\n loop: l,\n style: st\n });\n prevStyle = st;\n start = e % count;\n }\n }\n\n var _iterator11 = _createForOfIteratorHelper(segments),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var segment = _step11.value;\n start = spanGaps ? start : segment.start;\n var prev = points[start % count];\n var style = void 0;\n\n for (i = start + 1; i <= segment.end; i++) {\n var pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex: datasetIndex\n })));\n\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n\n prev = pt;\n prevStyle = style;\n }\n\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n\n return result;\n}\n\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\n\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z };","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Alert = void 0;\n\nvar alert_1 = require(\"./alert\");\n\nObject.defineProperty(exports, \"Alert\", {\n enumerable: true,\n get: function get() {\n return alert_1.Alert;\n }\n});","export { matchesState } from './utils.js';\nexport { mapState } from './mapState.js';\nexport { ActionTypes, SpecialTargets } from './types.js';\nimport { raise, send, sendParent, sendUpdate, log, cancel, start, stop, assign, after, done, respond, forwardTo, escalate, choose, pure } from './actions.js';\nexport { assign, doneInvoke, forwardTo, send, sendParent, sendUpdate } from './actions.js';\nexport { State } from './State.js';\nexport { StateNode } from './StateNode.js';\nexport { Machine, createMachine } from './Machine.js';\nexport { Interpreter, InterpreterStatus, interpret, spawn } from './interpreter.js';\nexport { matchState } from './match.js';\nexport { createSchema } from './schema.js';\nvar actions = {\n raise: raise,\n send: send,\n sendParent: sendParent,\n sendUpdate: sendUpdate,\n log: log,\n cancel: cancel,\n start: start,\n stop: stop,\n assign: assign,\n after: after,\n done: done,\n respond: respond,\n forwardTo: forwardTo,\n escalate: escalate,\n choose: choose,\n pure: pure\n};\nexport { actions };","\"use strict\";\n\nvar _slicedToArray = require(\"/home/vsts/work/1/s/packages/website/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TableRowsDesktop = void 0;\n\nvar react_1 = __importDefault(require(\"react\"));\n\nvar react_2 = require(\"@chakra-ui/react\");\n\nvar ilgroupdesignsystem_atoms_text_1 = require(\"@irishlife/ilgroupdesignsystem.atoms.text\");\n\nvar ilgroupdesignsystem_icons_1 = require(\"@irishlife/ilgroupdesignsystem.icons\");\n\nvar rendertablerows_1 = require(\"./rendertablerows\");\n\nfunction TableRowsDesktop(props) {\n var columns = props.columns,\n column = props.column,\n rowgroup = props.rowgroup,\n isSmallScreen = props.isSmallScreen;\n var initialState = rowgroup === null || rowgroup === void 0 ? void 0 : rowgroup.map(function (item) {\n return {\n isExpanded: item.isExpanded\n };\n });\n\n var _react_1$default$useS = react_1.default.useState(initialState),\n _react_1$default$useS2 = _slicedToArray(_react_1$default$useS, 2),\n showIndex = _react_1$default$useS2[0],\n setShowIndex = _react_1$default$useS2[1];\n\n var handleToggle = function handleToggle(index) {\n var tempState = showIndex.map(function (item, itemIndex) {\n return itemIndex === index ? Object.assign(Object.assign({}, item), {\n isExpanded: !item.isExpanded\n }) : Object.assign({}, item);\n });\n setShowIndex(tempState);\n };\n\n if (!isSmallScreen) {\n return rowgroup === null || rowgroup === void 0 ? void 0 : rowgroup.map(function (rowGroupItem, index) {\n var showIcon = showIndex[index].isExpanded ? react_1.default.createElement(ilgroupdesignsystem_icons_1.ChevronUpIcon, null) : react_1.default.createElement(ilgroupdesignsystem_icons_1.ChevronDownIcon, null);\n return react_1.default.createElement(react_1.default.Fragment, {\n key: rowGroupItem.rowGroupTitle\n }, react_1.default.createElement(RenderTableRowHeaders, {\n rowGroupItem: rowGroupItem,\n showIcon: showIcon,\n handleToggle: handleToggle,\n index: index\n }), !rowGroupItem.Collapsible && react_1.default.createElement(react_2.Table, null, react_1.default.createElement(react_2.Tbody, null, react_1.default.createElement(rendertablerows_1.RenderedTableRows, {\n isSmallScreen: isSmallScreen,\n index: index,\n rowgroup: rowgroup,\n rowGroupItem: rowGroupItem,\n columns: columns\n }))), rowGroupItem.Collapsible && react_1.default.createElement(react_2.Collapse, {\n in: showIndex[index].isExpanded,\n animateOpacity: true\n }, react_1.default.createElement(react_2.Table, null, react_1.default.createElement(react_2.Tbody, null, react_1.default.createElement(rendertablerows_1.RenderedTableRows, {\n isSmallScreen: isSmallScreen,\n index: index,\n rowgroup: rowgroup,\n rowGroupItem: rowGroupItem,\n columns: columns\n })))));\n });\n }\n\n return rowgroup === null || rowgroup === void 0 ? void 0 : rowgroup.map(function (rowGroupItem, index) {\n var showIcon = showIndex[index].isExpanded ? react_1.default.createElement(ilgroupdesignsystem_icons_1.ChevronUpIcon, null) : react_1.default.createElement(ilgroupdesignsystem_icons_1.ChevronDownIcon, null);\n return react_1.default.createElement(react_1.default.Fragment, {\n key: rowGroupItem.rowGroupTitle\n }, react_1.default.createElement(RenderTableRowHeaders, {\n rowGroupItem: rowGroupItem,\n showIcon: showIcon,\n handleToggle: handleToggle,\n index: index\n }), react_1.default.createElement(react_2.Table, {\n sx: {\n alignItems: 'flex-start',\n padding: '0px'\n }\n }, react_1.default.createElement(react_2.Tbody, null, !rowGroupItem.Collapsible && react_1.default.createElement(rendertablerows_1.RenderedTableRows, {\n isSmallScreen: isSmallScreen,\n index: index,\n rowGroupItem: rowGroupItem,\n columns: column\n }), rowGroupItem.Collapsible && react_1.default.createElement(react_2.Collapse, {\n in: showIndex[index].isExpanded,\n animateOpacity: true\n }, react_1.default.createElement(rendertablerows_1.RenderedTableRows, {\n isSmallScreen: isSmallScreen,\n rowgroup: rowgroup,\n index: index,\n rowGroupItem: rowGroupItem,\n columns: column\n })))));\n });\n}\n\nexports.TableRowsDesktop = TableRowsDesktop;\n\nfunction RenderTableRowHeaders(props) {\n var rowGroupItem = props.rowGroupItem,\n showIcon = props.showIcon,\n handleToggle = props.handleToggle,\n index = props.index;\n return react_1.default.createElement(react_2.Box, {\n sx: {\n backgroundColor: 'brand.200',\n px: 6,\n py: 5,\n textAlign: 'start'\n },\n onClick: function onClick() {\n return handleToggle(index);\n }\n }, react_1.default.createElement(ilgroupdesignsystem_atoms_text_1.Text, {\n variant: \"caption-xl\"\n }, rowGroupItem.rowGroupTitle, react_1.default.createElement(react_2.Box, {\n as: \"span\",\n sx: {\n px: 2,\n width: 2,\n height: 2\n }\n }, rowGroupItem.Collapsible && showIcon)));\n}","var global = require('../internals/global');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseInt = global.parseInt;\nvar hex = /^[+-]?0[Xx]/;\nvar FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;\n\n// `parseInt` method\n// https://tc39.github.io/ecma262/#sec-parseint-string-radix\nmodule.exports = FORCED ? function parseInt(string, radix) {\n var S = trim(String(string));\n return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));\n} : $parseInt;\n","var $ = require('../internals/export');\nvar parseIntImplementation = require('../internals/number-parse-int');\n\n// `parseInt` method\n// https://tc39.github.io/ecma262/#sec-parseint-string-radix\n$({ global: true, forced: parseInt != parseIntImplementation }, {\n parseInt: parseIntImplementation\n});\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RenderedTableRows = void 0;\n\nvar react_1 = __importDefault(require(\"react\"));\n\nvar react_2 = require(\"@chakra-ui/react\");\n\nvar ilgroupdesignsystem_icons_1 = require(\"@irishlife/ilgroupdesignsystem.icons\");\n\nfunction RenderedTableRows(props) {\n var rowGroupItem = props.rowGroupItem,\n columns = props.columns,\n rowgroup = props.rowgroup,\n index = props.index,\n isSmallScreen = props.isSmallScreen;\n var columnIndex = 0;\n return rowGroupItem === null || rowGroupItem === void 0 ? void 0 : rowGroupItem.rows.map(function (row, rowIndex) {\n if (index < 1) {\n columnIndex = rowIndex;\n } else {\n columnIndex = rowgroup[index - 1].rows.length + rowIndex;\n }\n\n if (isSmallScreen) {\n return react_1.default.createElement(react_2.Tr, {\n key: row.rowTitle,\n sx: {\n backgroundColor: '#FFFFFF'\n }\n }, react_1.default.createElement(react_2.Td, {\n sx: {\n width: '275px'\n }\n }, \" \", row.rowTitle), react_1.default.createElement(react_2.Td, null, react_1.default.createElement(react_2.Box, {\n textAlign: 'center'\n }, columns.cellValues[columnIndex].cellValue === 'Yes' && react_1.default.createElement(ilgroupdesignsystem_icons_1.CheckIcon, {\n color: \"vibrant.700\"\n }), columns.cellValues[columnIndex].cellValue === 'No' && react_1.default.createElement(ilgroupdesignsystem_icons_1.MinusIcon, {\n color: \"monochrome.500\"\n }), columns.cellValues[columnIndex].cellValue != 'No' && columns.cellValues[columnIndex].cellValue != 'Yes' && react_1.default.createElement(react_1.default.Fragment, null, columns.cellValues[columnIndex].cellValue))));\n }\n\n return react_1.default.createElement(react_2.Tr, {\n key: row.rowTitle,\n sx: {\n backgroundColor: '#FFFFFF'\n }\n }, react_1.default.createElement(react_2.Td, {\n sx: {\n width: '306px'\n }\n }, \" \", row.rowTitle), columns.map(function (column) {\n return react_1.default.createElement(react_2.Td, {\n key: column.columnTitle\n }, react_1.default.createElement(react_2.Box, {\n textAlign: 'center'\n }, column.cellValues[columnIndex].cellValue === 'Yes' && react_1.default.createElement(ilgroupdesignsystem_icons_1.CheckIcon, {\n color: \"vibrant.700\"\n }), column.cellValues[columnIndex].cellValue === 'No' && react_1.default.createElement(ilgroupdesignsystem_icons_1.MinusIcon, {\n color: \"monochrome.500\"\n }), column.cellValues[columnIndex].cellValue != 'No' && column.cellValues[columnIndex].cellValue != 'Yes' && react_1.default.createElement(react_1.default.Fragment, null, column.cellValues[columnIndex].cellValue)));\n }));\n });\n}\n\nexports.RenderedTableRows = RenderedTableRows;","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n };\n }\n\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Accordion = void 0;\n\nvar react_1 = __importDefault(require(\"react\"));\n\nvar react_2 = require(\"@chakra-ui/react\");\n\nvar ilgroupdesignsystem_atoms_text_1 = require(\"@irishlife/ilgroupdesignsystem.atoms.text\");\n\nvar Icons = __importStar(require(\"@irishlife/ilgroupdesignsystem.icons\"));\n\nfunction Accordion(props) {\n var defaultIndex = props.defaultIndex,\n items = props.items;\n return react_1.default.createElement(react_2.Accordion, {\n \"data-testid\": \"Accordion\",\n defaultIndex: defaultIndex,\n allowToggle: true,\n allowMultiple: true\n }, items === null || items === void 0 ? void 0 : items.map(function (item) {\n return react_1.default.createElement(AccordionItem, Object.assign({\n key: item.id\n }, item));\n }));\n}\n\nexports.Accordion = Accordion;\n\nfunction AccordionItem(props) {\n var header = props.header,\n children = props.children,\n _props$icon = props.icon,\n icon = _props$icon === void 0 ? '' : _props$icon;\n var iconElement = react_1.default.useMemo(function () {\n if (!icon) return null;\n if (icon.includes('http')) return react_1.default.createElement(react_2.Image, {\n display: 'inline',\n src: icon,\n boxSize: '32px',\n pr: 1,\n objectFit: \"contain\"\n }); // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n\n var IconComponent = Icons[icon];\n return react_1.default.createElement(IconComponent, {\n display: 'inline',\n fontSize: '32px',\n pr: 1,\n color: \"accent.600\"\n });\n }, [icon]);\n return react_1.default.createElement(react_2.AccordionItem, {\n borderColor: \"brand.300\"\n }, react_1.default.createElement(\"h2\", null, react_1.default.createElement(react_2.AccordionButton, {\n height: \"87px\",\n _hover: {\n bg: 'brand.50'\n }\n }, react_1.default.createElement(react_2.Box, {\n flex: \"1\",\n textAlign: \"left\"\n }, react_1.default.createElement(ilgroupdesignsystem_atoms_text_1.Text, {\n variant: \"subtitle-md\",\n color: \"brand.600\"\n }, react_1.default.createElement(react_2.Box, {\n display: 'flex',\n alignItems: \"center\"\n }, iconElement, header))), react_1.default.createElement(react_2.AccordionIcon, {\n color: \"black\"\n }))), react_1.default.createElement(react_2.AccordionPanel, {\n pb: 4\n }, react_1.default.createElement(ilgroupdesignsystem_atoms_text_1.Text, {\n as: \"html\",\n sx: {\n img: {\n height: '424px',\n width: '294px',\n display: 'block',\n mr: 'auto',\n ml: 'auto',\n mb: '44px',\n mt: '45px'\n }\n }\n }, children)));\n}","import superPropBase from \"./superPropBase\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MobileHeader = void 0;\n\nvar react_1 = require(\"@chakra-ui/react\");\n\nvar react_2 = __importDefault(require(\"react\"));\n\nvar ilgroupdesignsystem_atoms_text_1 = require(\"@irishlife/ilgroupdesignsystem.atoms.text\");\n\nfunction MobileHeader(props) {\n var columns = props.columns,\n handleHeaderClick = props.handleHeaderClick,\n columnClass = props.columnClass;\n return react_2.default.createElement(react_1.HStack, {\n sx: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n padding: '0px',\n gap: '12px',\n position: 'absolute',\n width: '343px',\n height: '72px',\n left: 'calc(50% - 343px/2)',\n top: '31px'\n }\n }, columns.map(function (column, index) {\n return react_2.default.createElement(react_1.Box, {\n as: \"button\",\n key: column.columnTitle,\n sx: Object.assign({\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n textAlign: 'center',\n padding: '12px 6px',\n gap: '6px',\n width: '102px',\n height: '72px',\n background: '#FFFFFF',\n borderRadius: '12px',\n flex: 'none',\n order: '1',\n flexGrow: '0'\n }, columnClass[index].isSelected),\n onClick: function onClick() {\n return handleHeaderClick(column, index);\n }\n }, react_2.default.createElement(ilgroupdesignsystem_atoms_text_1.Text, {\n sx: {\n color: 'brand.700',\n whiteSpace: 'pre-line'\n },\n variant: \"body-md\"\n }, column.columnTitle));\n }));\n}\n\nexports.MobileHeader = MobileHeader;","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar aFunction = require('../internals/a-function');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://github.com/tc39/proposal-flatMap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A;\n aFunction(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","import { createIcon, Breadcrumb as Breadcrumb$1, BreadcrumbItem, BreadcrumbLink } from '@chakra-ui/react';\nimport React from 'react';\nvar RightIcon = createIcon({\n displayName: 'RightIcon',\n viewBox: '0 0 24 24',\n path: /*#__PURE__*/React.createElement(\"path\", {\n d: 'm14.606 11.256-3.25-3.385c-.308-.322-.835-.094-.835.36v6.771c0 .455.527.682.835.361l3.25-3.385a.525.525 0 0 0 0-.722Z',\n fill: '#C1C7E1'\n })\n});\n\nfunction Breadcrumb(props) {\n var items = props.items,\n onItemClick = props.onItemClick;\n var handleClick = React.useCallback(function (value) {\n if (onItemClick) onItemClick(value);\n }, [onItemClick]);\n return /*#__PURE__*/React.createElement(Breadcrumb$1, {\n \"data-testid\": 'Breadcrumb',\n fontSize: '14px',\n color: 'brand.600',\n fontWeight: 'medium',\n lineHeight: '16px',\n separator: /*#__PURE__*/React.createElement(RightIcon, {\n fontSize: 24,\n key: 'RightIcon'\n })\n }, items === null || items === void 0 ? void 0 : items.map(function (_ref) {\n var id = _ref.id,\n label = _ref.label,\n value = _ref.value,\n isActive = _ref.isActive;\n return /*#__PURE__*/React.createElement(BreadcrumbItem, {\n key: value || id\n }, /*#__PURE__*/React.createElement(BreadcrumbLink, {\n role: 'link',\n isCurrentPage: isActive,\n onClick: function onClick() {\n return handleClick(value);\n },\n tabIndex: 0,\n color: isActive ? 'monochrome.700' : 'brand.600',\n _focus: {\n color: 'brand.900'\n }\n }, label));\n }));\n}\n\nexport { Breadcrumb };","import 'core-js/modules/es.object.assign.js';\nimport { Button as Button$1 } from '@chakra-ui/react';\nimport React from 'react';\nvar Button = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Button$1, Object.assign({\n \"data-testid\": 'Button',\n ref: ref\n }, props));\n});\nexport { Button };","import { Box } from '@chakra-ui/react';\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text';\nimport React from 'react';\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\nfunction __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nvar JumbotronContact = function JumbotronContact(_a) {\n var props = __rest(_a, []);\n\n var contactTitle = props.contactTitle,\n contactText = props.contactText,\n contactIcon = props.contactIcon,\n onClick = props.onClick;\n return /*#__PURE__*/React.createElement(Box, {\n display: 'flex',\n flexWrap: 'wrap',\n marginTop: [4, 6],\n marginBottom: [4, 6],\n width: '75%'\n }, /*#__PURE__*/React.createElement(Box, null, contactIcon && /*#__PURE__*/React.createElement(\"img\", {\n style: {\n width: '28px',\n height: '28px',\n maxWidth: '56px',\n marginRight: '1rem'\n },\n alt: 'icon',\n src: contactIcon\n })), /*#__PURE__*/React.createElement(Box, {\n flexGrow: 3\n }, typeof contactTitle === 'string' && /*#__PURE__*/React.createElement(\"a\", {\n href: \"tel:\".concat(contactTitle),\n onClick: onClick\n }, /*#__PURE__*/React.createElement(Text, {\n variant: 'title-sm',\n color: 'brand.500'\n }, contactTitle))), /*#__PURE__*/React.createElement(Box, {\n flexGrow: 1,\n maxWidth: '20em',\n mt: [4, 2]\n }, typeof contactText === 'string' && /*#__PURE__*/React.createElement(Text, {\n variant: 'body-md'\n }, contactText)));\n};\n\nexport { JumbotronContact };","import 'core-js/modules/es.object.assign.js';\nimport { createIcon, useBreakpointValue, Stack, HStack, Box, Image } from '@chakra-ui/react';\nimport { Button } from '@irishlifedigitalhub/ds.atoms.button';\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text';\nimport { ArrowRightCircleIcon, ArrowRightIcon } from '@irishlifedigitalhub/ds.icons';\nimport { JumbotronContact } from '@irishlifedigitalhub/ds.molecules.jumbotron-contact';\nimport React from 'react';\n\nfunction Jumbotron(props) {\n var _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'hero' : _props$variant,\n _props$leftContentMax = props.leftContentMaxWidth,\n leftContentMaxWidth = _props$leftContentMax === void 0 ? 'xl' : _props$leftContentMax,\n buttonText = props.buttonText,\n secondaryButtonText = props.secondaryButtonText,\n _props$buttonProps = props.buttonProps,\n buttonProps = _props$buttonProps === void 0 ? {} : _props$buttonProps,\n _props$secondaryButto = props.secondaryButtonProps,\n secondaryButtonProps = _props$secondaryButto === void 0 ? {} : _props$secondaryButto,\n src = props.src,\n title = props.title,\n subtitle = props.subtitle,\n paragraph = props.paragraph,\n renderBreadcrumb = props.renderBreadcrumb,\n contactTitle = props.contactTitle,\n contactText = props.contactText,\n contactIcon = props.contactIcon,\n contactOnClick = props.contactOnClick;\n var hasPrimaryCta = !!buttonText;\n var hasSecondaryCta = !!secondaryButtonText;\n var hasCta = hasPrimaryCta || hasSecondaryCta;\n var hasContact = !!contactTitle;\n var bg = variant === 'hero' ? '#F7F8FB' : ['#F7F8FB', '#F7F8FB', 'white'];\n var secondaryCtaVariant = useBreakpointValue({\n base: 'secondary',\n md: 'ghost'\n });\n return /*#__PURE__*/React.createElement(Stack, {\n \"data-testid\": 'Jumbotron',\n width: 'full',\n overflowY: 'hidden',\n direction: ['column-reverse', 'column-reverse', 'row'],\n spacing: 0,\n position: 'relative',\n bg: bg\n }, /*#__PURE__*/React.createElement(HStack, {\n maxW: ['full', 'full', src ? '50%' : 'full'],\n w: 'full',\n pt: 8,\n pb: [12, 12, 8],\n position: 'relative',\n zIndex: 10\n }, /*#__PURE__*/React.createElement(Box, {\n maxW: ['full', 'full', leftContentMaxWidth],\n w: 'full',\n ml: 'auto'\n }, /*#__PURE__*/React.createElement(Stack, {\n pl: 4,\n pr: [4, 4, 4, 0],\n maxW: ['full', 'full', '744px'],\n width: 'full',\n spacing: [3, 3, 6]\n }, renderBreadcrumb && /*#__PURE__*/React.createElement(Box, {\n pb: 2\n }, renderBreadcrumb), title && /*#__PURE__*/React.createElement(Text, {\n variant: ['title-xl', 'title-xl', 'title-2xl']\n }, title), subtitle && /*#__PURE__*/React.createElement(Text, {\n variant: ['title-sm', 'title-sm', 'title-md']\n }, subtitle), hasContact && /*#__PURE__*/React.createElement(JumbotronContact, {\n contactIcon: contactIcon,\n contactTitle: contactTitle,\n contactText: contactText,\n onClick: contactOnClick\n }), paragraph && /*#__PURE__*/React.createElement(Text, {\n color: 'monochrome.800',\n variant: 'subtitle-md'\n }, paragraph), hasCta && /*#__PURE__*/React.createElement(Box, {\n pt: [6, 6, 2]\n }, /*#__PURE__*/React.createElement(Stack, {\n align: {\n base: 'flex-start'\n },\n direction: {\n base: 'column',\n lg: 'row'\n }\n }, hasPrimaryCta && /*#__PURE__*/React.createElement(Button, Object.assign({\n size: 'lg',\n rightIcon: /*#__PURE__*/React.createElement(ArrowRightCircleIcon, {\n fontSize: 28\n })\n }, buttonProps), buttonText), hasSecondaryCta && /*#__PURE__*/React.createElement(Box, {\n sx: {\n pl: {\n base: 0,\n lg: '24px'\n },\n pt: {\n base: '24px',\n lg: 0\n }\n }\n }, /*#__PURE__*/React.createElement(Button, Object.assign({\n variant: secondaryCtaVariant,\n size: 'lg',\n rightIcon: /*#__PURE__*/React.createElement(ArrowRightIcon, null)\n }, secondaryButtonProps), secondaryButtonText))))))), src && /*#__PURE__*/React.createElement(Box, {\n w: 'full',\n minH: ['292px', '292px', '512px'],\n \"data-testid\": 'image-container',\n overflow: 'hidden'\n }, /*#__PURE__*/React.createElement(ComponentImage, {\n src: src,\n variant: variant\n })), variant === 'campaign' && /*#__PURE__*/React.createElement(BackgroundSvg, {\n display: ['none', 'none', 'block'],\n width: '900px',\n height: '770px',\n position: 'absolute',\n right: 0,\n bottom: -32\n }));\n}\n\nfunction ComponentImage(props) {\n var src = props.src,\n variant = props.variant;\n\n if (variant === 'campaign') {\n return /*#__PURE__*/React.createElement(Box, {\n pt: [0, 0, 16],\n position: 'relative',\n zIndex: 10,\n h: 'full'\n }, /*#__PURE__*/React.createElement(Image, {\n src: src,\n height: 'full',\n objectFit: 'cover',\n width: 'full'\n }));\n }\n\n if (variant === 'hero') {\n return /*#__PURE__*/React.createElement(Box, {\n height: 'full',\n overflow: 'hidden',\n position: ['static', 'static', 'relative'],\n transform: ['skew(0deg)', 'skew(0deg)', 'skew(-7deg)'],\n ml: [0, 0, '50px'],\n width: 'full'\n }, /*#__PURE__*/React.createElement(Box, {\n transform: ['skew(0deg)', 'skew(0deg)', 'skew(7deg)'],\n top: 0,\n right: [0, 0, '50px'],\n position: ['static', 'static', 'absolute'],\n width: 'full',\n height: ['292px', '292px', 'full'],\n bgImage: \"url(\\\"\".concat(src, \"?auto=format\\\")\"),\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover'\n }));\n }\n\n return null;\n}\n\nvar BackgroundSvg = createIcon({\n displayName: 'BackgroundSvg',\n viewBox: '0 0 900 770',\n path: /*#__PURE__*/React.createElement(\"path\", {\n d: 'M577 0h323v770H0L577 0Z',\n fill: '#F7F8FB'\n })\n});\nexport { Jumbotron };","const formatIconPosition = (iconPosition?: string) => {\n if(iconPosition === 'start') return 'leftIcon';\n if(iconPosition === 'end') return 'rightIcon';\n return ''\n}\n\nexport const getCallToActionData = (data: any) => {\n let iconPosition = formatIconPosition(data?.call_to_action__iconlocation);\n \n return {\n analyticsId: data?.call_to_action__analytics_id,\n label: data?.call_to_action__label,\n jumbotronLabel: data?.call_to_action__jumbotron_label,\n labelMobile: data?.call_to_action__label_mobile,\n [iconPosition]:\n data?.call_to_action__icon,\n text: data?.call_to_action__text,\n title: data?.call_to_action__title,\n titleMobile: data?.call_to_action__title_mobile,\n url: data?.call_to_action__url,\n jumbotronUrl: data?.call_to_action__jumbotron_url,\n variant: data?.call_to_action__variant,\n }\n}\n\nexport const getSecondaryCallToActionData = (data: any) => {\n let iconPosition = formatIconPosition(data?.call_to_action2__icon_location);\n return {\n analyticsId: data?.call_to_action2__analytics_id,\n label: data?.call_to_action2__label,\n [iconPosition]:\n data?.call_to_action2__icon,\n url: data?.call_to_action2__url,\n variant: data?.call_to_action2__variant,\n }\n}","import React from 'react';\nimport { IBulletWithIcon } from './BulletWithIcon.interface';\nimport { Box, Image } from '@chakra-ui/react';\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text';\nimport { RichText } from '../RichText';\n\nconst BulletWithIcon = ({\n bullet,\n titleProps,\n textProps,\n iconProps,\n mainDivProps,\n}: IBulletWithIcon) => {\n return (\n \n \n {bullet.icon && (\n \n )}\n \n \n {bullet.title && {bullet.title}}\n {bullet.text && }\n \n \n );\n};\n\nexport { BulletWithIcon };\n","import { Box, Image } from '@chakra-ui/react';\nimport React from 'react';\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text';\nimport { Button } from '@irishlifedigitalhub/ds.atoms.button';\nimport {\n getCallToActionData,\n getSecondaryCallToActionData,\n} from './formatButtons';\nimport { BulletWithIcon } from 'common/components/molecules/BulletWithIcon';\nimport { RichText } from 'common/components/molecules/RichText';\nimport styled from 'styled-components';\nimport { useDesktop } from 'common/hooks/useDesktop';\nimport { fireAnalyticsEvent } from 'common/utils/fireAnalyticsEvent';\nimport { navigate } from '@reach/router';\nimport { IAdvisorBlockV4 } from './AdvisorBlockV4.interface';\n\nconst StyledRichText = styled(RichText)`\n font-weight: 400;\n font-size: 18px;\n line-height: 28px;\n letter-spacing: 0%;\n color: #4e4670;\n`;\n\nconst StyledRichTextMobile = styled(RichText)`\n font-weight: 500;\n font-size: 16px;\n line-height: 24px;\n letter-spacing: 0%;\n color: #4e4670;\n`;\n\nconst AdvisorBlockV4: React.FC = (props: IAdvisorBlockV4) => {\n const isDesktop = useDesktop();\n const callToAction = getCallToActionData(props);\n const customcampaignId = props.custom_campaignid_to_booking_appointment_form\n ? `?campaignIdAdvisorBlock=${props.custom_campaignid_to_booking_appointment_form}`\n : '';\n const secondaryCallToAction = getSecondaryCallToActionData(props);\n\n return (\n \n \n \n {props.left_subtitle && props.left_subtitle.length > 0 && (\n \n {props.left_subtitle[0].text}\n \n )}\n\n \n {props.left_title && props.left_title.length > 0 && (\n \n {props.left_title[0].text}\n \n )}\n {props.left_body_text && (\n <>\n {isDesktop && (\n \n )}\n\n {!isDesktop && (\n \n )}\n \n )}\n \n \n\n \n {callToAction?.url && (\n }\n rightIcon={\"\"}\n onClick={(e) => {\n e.preventDefault();\n fireAnalyticsEvent({\n name: 'primaryCtaAdvisorBlockV4',\n properties: {\n clickText: callToAction.label,\n clickURL: callToAction.url,\n clickID: callToAction.analyticsId,\n },\n });\n navigate(`${callToAction.url}${customcampaignId}`);\n }}\n >\n {callToAction.label}\n \n )}\n {secondaryCallToAction?.url && (\n }\n rightIcon={\"\"}\n onClick={(e) => {\n e.preventDefault();\n fireAnalyticsEvent({\n name: 'secondaryCtaAdvisorBlockV4',\n properties: {\n clickText: secondaryCallToAction.label,\n clickURL: secondaryCallToAction.url,\n clickID: secondaryCallToAction.analyticsId,\n },\n });\n navigate(secondaryCallToAction.url);\n }}\n >\n {secondaryCallToAction.label}\n \n )}\n \n {props.left_regulatory_information && isDesktop && (\n \n {props.left_regulatory_information}\n \n )}\n \n \n {props.right_subtitle && props.right_subtitle.length > 0 && (\n \n {props.right_subtitle[0].text}\n \n )}\n {props.bullet_points &&\n props.bullet_points.length > 0 &&\n props.bullet_points.map((bullet) => (\n \n ))}\n {props.advisor_image &&\n props.advisor_message &&\n props.advisor_name &&\n props.advisor_role && (\n \n \n {props.advisor_message}\n \n \n \n \n \n {props.advisor_name}\n \n \n {props.advisor_role}\n \n \n \n \n )}\n \n {props.left_regulatory_information && !isDesktop && (\n \n {props.left_regulatory_information}\n \n )}\n \n );\n};\n\nexport { AdvisorBlockV4 };\n","import React from 'react'\nimport {\n Accordion,\n AccordionProps,\n} from '@irishlife/ilgroupdesignsystem.molecules.accordion'\nimport { Text, TextProps } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport styled from 'styled-components'\nimport { Box } from '@chakra-ui/react'\n\ninterface AccordionSectionProps extends AccordionProps {\n title?: string\n text?: string\n titleStyle?: TextProps['variant']\n}\n\nconst StyledAccordion = styled(Box)`\n & ul {\n list-style-position: inside;\n }\n`\n\nexport const AccordionSection: React.FC = (props) => {\n const { titleStyle } = props\n const data = getAccordionSectionData(props)\n return (\n <>\n \n {data.title}\n \n \n {data.text}\n \n \n \n \n \n )\n}\n\nexport const getAccordionSectionData = (data: any): AccordionSectionProps => {\n return {\n title: data.accordion_section__title,\n text: data.accordion_section__text,\n items: data.accordion_section__items.map((item: any) => {\n return {\n id: getRandomInt(100),\n header: item.heading,\n icon: item.icon,\n children: item.children_test,\n }\n }),\n }\n}\n\nfunction getRandomInt(max: number) {\n return Math.floor(Math.random() * max)\n}\n","import { AccordionProps } from '@irishlife/ilgroupdesignsystem.molecules.accordion'\nimport { Wrapper } from 'common/components/molecules/Wrapper'\nimport React from 'react'\nimport { AccordionSection } from 'common/components/organisms/templateSections/AccordionSection/AccordionSection'\nimport { Box, Grid } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\n\ninterface AccordionInfoPanelProps extends AccordionProps {\n description: string\n subtitle: string\n paragraphTitle: string\n}\n\nexport const AccordionInfoPanel: React.FC = (\n props\n) => {\n const data = props\n\n return (\n \n \n \n \n {data.paragraphTitle}\n \n \n {data.subtitle}\n \n {data.description && (\n \n {data.description}\n \n )}\n \n \n \n \n \n \n \n )\n}\n","import { assign, createMachine, actions } from 'xstate'\nimport {\n PensionFormType,\n InitialQuestionType,\n InvestmentFormType,\n IncomeProtectionFormType,\n TermLifeFormType,\n MortgageProtectionFormType,\n OnePlanFormType,\n} from './interfaces'\n\nconst { choose } = actions\n\nexport const CalculatorMachine =\n /** @xstate-layout N4IgpgJg5mDOIC5QGECGAbAxgV3agLgPYBOAsqpgBYCWAdmAHQCixxJAxGlrgWAAQBBKKjoBtAAwBdRKAAOhWNXzVCtGSAAeiAIwBmAGz6GATlPGATAHYAHAFZtty-usAaEAE9EtgCy2G+3Vtda2DrS0DjfQBfKLcuHDwiMgoaegZ4nnwwdgB5WgAxEgBbAFVZCF4JaSQQeUVlVXUtBG9rcX9I6299c28bc3EnN08EIO0GXWNbENt9Yz054xi4jASCEnIqOkYMxOyASVos4gosiCr1OqUVNRrm23NzCd1LX29W3oHbYcRvQIZ3lZxNpDNZHgFdMsQLt1sktmkYVl2ABxMD4PgARWwhCyFxqVwat1AzRsugY4l02gGVIGlN0PwQhiMwSCs2senE4misWhq0yGxS23SfL27AAcmBIHwABJgdCyPFyBTXRp3LziJ7iKbmYzWNraYy+cwM3STAHWSLmRxzP5hKGIgXwnYi3jisAadEAZSyCqkl2VhKaXgc-n0tlsFhB1kMswZvTJQX0fwM5gNk0hPIdcNSjCxOP4nswxEltBRaMEEAAVthYGdMdjcX78QGbkGEOZdO1xN09ZTgRrZvSPDpXgCxuI9Qa+t3uStuIlHTmGHmsnxC8WwKWAEIUADWitqLdVxMQHa7PZC2n7VoCDOm7UsVp781MlMs9pdSU2S5XBaLJc4T9+CEERaAPAlWzVdtO3JC8+yvG8hxGAJxkeHxHwtcM2m8D951hb8hQABWIaha22dhDmuDBSMgcCjyJTRTxgmdeyvBDBwZeZrAYbQbH0LkuMfHDM0-RchVRfBlFoKB63zPgABE0REdBYHYCBVEYOgADdCF3RgYHwX9FPwZTYDo+pIJPBBSXJSlqUeCk9AZSwnAYAZ3P44xLCvWxcLWL9BTSCSpJk38FKU6gVPYMBWBIBhZESAAzYoGAMoyIpU8yVQY5o9AMckHAjA0pm7cNnJCAqDSCYxdGpXi-P5bMhQAJTARK0XhUKG34YzTLUjSGG03T9LRdKTMisymyVCzj0Y6Dz2cS9rw44cEHZBhbE5Tkgm23sMznfyxLSVr2vwTrZNXXqJui2LiHipKUrS7qrsyqbDxmnLEBsxz7NpJzVpBJ5E0mLbe28DUYh5WhCAgOB1CzAj6H9D62wAWn0Bl0fJLacdx1MGoXJq0hYNhiGR7K2wcP4GAtcRZgw-RtG0O9uh4wJautTsKXfES8ICp1hT5sBycDKDWQYfobG7LpOT+Bkw24toBkZ2ZDECbQCfwwLc26td-03EXLLm7xjVWmw-AsaMHm7cwk0MTX+aXYjSKk4XmxRqC7H8WZUyw8NvG0C1OIDgE6aZ4JA6Z8MHaOxhgroLq5Je+B3YpqDTCeXpTGcAdTBCZzpg2pnDQNbRum8LyY6JxgTo61JE8ujKU+mtOrL+Yw3LDAIgksH3A4xgHglsgIXNMMvvKWSGgA */\n createMachine(\n {\n context: {\n initialQuestions: {} as InitialQuestionType[],\n transformedQuestions: {} as InitialQuestionType[],\n formValues: {} as\n | PensionFormType\n | InvestmentFormType\n | IncomeProtectionFormType\n | TermLifeFormType\n | MortgageProtectionFormType\n | OnePlanFormType,\n isRestarted: false,\n screenNo: 0,\n calc_type: '',\n interacted: false,\n actions: {\n onSubmit: async (args: any) => { },\n analyticsService: {\n onInteracted: (\n name: string,\n event?: string,\n isInteracted?: string\n ) => { },\n onCompleted: (name: string, event: string) => { },\n onButtonClicked: (\n name: string,\n step: number,\n event: string,\n context: any\n ) => { },\n handleOtherAnalytics: (\n analyticsName: string,\n formValues: any,\n screenNo: number\n ) => { },\n },\n createCrmLead: async (\n args: any,\n calc_type: string,\n data: any\n ) => { },\n },\n quoteData: {} as any,\n user: null,\n calculatorType: '',\n analyticsName: '',\n },\n schema: {},\n id: 'CalculatorMachine',\n initial: 'Pristine',\n states: {\n Error: {\n on: {\n 'Calculate Again': {\n target: 'Calculate',\n actions: ['restartCalculatorOnError'],\n },\n },\n },\n Calculate: {\n on: {\n OnFormUpdate: {\n target: 'Calculate',\n internal: true,\n actions: ['updateFormValues'],\n },\n Interacted: {\n target: 'Calculate',\n internal: true,\n actions: ['onInteracted'],\n },\n\n 'Get Quote': {\n target: 'Getting Quote Details',\n actions: [\n 'updateFormValues',\n assign({\n user: (context, event: any) =>\n event.payload.user,\n calculatorType: (context, event: any) =>\n event.payload.calc_type,\n analyticsName: (context, event: any) =>\n event.payload.name,\n }),\n ],\n },\n 'Need Help': {\n target: 'Calculate',\n internal: true,\n actions: ['onNeedHelpClicked'],\n },\n\n 'Next Step': {\n target: 'Calculate',\n internal: true,\n actions: [\n 'updateCounter',\n 'updateTransformedQuestions',\n ],\n },\n },\n },\n\n 'Quote Screen': {\n on: {\n 'Get Adjusted Quote': {\n target: 'Refetching Quote Details',\n actions: ['updateFormValues'],\n },\n Back: 'Calculate',\n 'Calculate Again': {\n target: 'Calculate',\n actions: ['restartCalculator'],\n },\n 'ERROR OCCURED': {\n target: 'Error',\n },\n },\n },\n\n Pristine: {\n on: {\n Initialise: {\n target: 'Calculate',\n actions: ['setInitialQuestions'],\n },\n },\n },\n\n 'Getting Quote Details': {\n invoke: {\n src: 'getQuoteDetails',\n id: 'getQuoteDetails',\n onDone: {\n target: 'Quote Screen',\n actions: [\n 'updateQuoteData',\n choose([\n {\n cond: (context: any) =>\n !context.isRestarted,\n actions: ['createCRMLead', 'fireAnalyticsEvent'],\n },\n {\n cond: (context) => context.isRestarted,\n actions: () => { }, // Do nothing if isRestarted is true\n },\n ]),\n ],\n },\n onError: {\n target: 'Error',\n },\n },\n // entry: choose([\n // {\n // cond: (context: any) => !context.isRestarted,\n // actions: ['createCRMLead'],\n // },\n // {\n // actions: () => {}, // Do nothing if isRestarted is true\n // },\n // ]),\n },\n\n 'Refetching Quote Details': {\n invoke: {\n src: 'getQuoteDetails',\n id: 'getQuoteDetails',\n onDone: {\n target: 'Quote Screen',\n actions: ['updateQuoteData'],\n },\n onError: {\n target: 'Error',\n },\n },\n },\n },\n },\n {\n actions: {\n restartCalculatorOnError: assign((context, event: any) => {\n return {\n screenNo: 0,\n }\n }),\n\n onNeedHelpClicked: assign((context, event: any) => {\n context.actions?.analyticsService?.onButtonClicked?.(\n event?.payload?.name,\n context.screenNo,\n event?.payload?.event,\n context\n )\n return {}\n }),\n onInteracted: assign((context, event: any) => {\n if (!context.interacted) {\n context.actions?.analyticsService?.onInteracted?.(\n event?.payload?.name,\n event?.payload?.event,\n event?.payload?.isInteracted\n )\n return {\n interacted: true,\n }\n }\n return {}\n }),\n updateQuoteData: assign({\n quoteData: (context, event: any) => {\n return event?.data\n },\n }),\n setInitialQuestions: assign({\n initialQuestions: (context, event: any) => {\n return event?.payload?.props.steps\n },\n calc_type: (context, event: any) => {\n return event?.payload?.props?.calc_type\n },\n actions: (context, event: any) => {\n return event?.payload?.actions\n },\n }),\n updateFormValues: assign({\n formValues: (context, event: any) => {\n return event?.payload?.user\n },\n }),\n restartCalculator: assign((context, event: any) => {\n return {\n screenNo: 0,\n isRestarted: true,\n }\n }),\n updateTransformedQuestions: assign((context, event: any) => {\n return {\n transformedQuestions:\n event?.payload?.transformedQuestions,\n }\n }),\n updateCounter: assign((context, event: any) => {\n context.actions?.analyticsService?.onButtonClicked?.(\n event?.payload?.name,\n context.screenNo,\n event?.payload?.event,\n context\n )\n context.actions?.analyticsService?.handleOtherAnalytics?.(\n event?.payload?.name,\n event?.payload?.user,\n context.screenNo\n )\n return { screenNo: context.screenNo + 1 }\n }),\n createCRMLead: (context, event: any) => {\n context.actions?.createCrmLead(\n context.user,\n context.calculatorType,\n event.data\n )\n },\n fireAnalyticsEvent: (context, event: any) => {\n context.actions?.analyticsService?.onCompleted?.(\n context.analyticsName,\n 'completed'\n )\n }\n },\n services: {\n getQuoteDetails: async (context, event: any) => {\n return await context.actions.onSubmit(event?.payload?.user)\n },\n },\n }\n )\n","import React, { FC } from 'react'\nimport { AccordionInfoPanel } from 'common/components/organisms/AccordionInfoPanel/AccordionInfoPanel'\n\nexport const AccordionInfoPanelWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { AccordionInfoPanelWrapper as AccordionInfoPanel }\n\nexport const getProps = (data: any) => {\n return {\n paragraphTitle: data.title,\n description: data.description,\n subtitle: data.subtitle,\n ...data,\n }\n}\n","import { Box } from '@chakra-ui/react'\nimport { BasicButton } from 'common/components/atoms/BasicButton'\nimport { Text } from 'common/components/molecules/Text'\nimport { CtaProps } from 'common/components/organisms/templateSections/Cta'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport React from 'react'\n\nexport interface BannerProps {\n title: string\n subtitle?: string\n text?: string\n callToAction: CtaProps\n}\n\nconst breakoutStyles = {\n backgroundColor: '#5261ac',\n marginRight: '-50vw',\n width: '100vw',\n marginLeft: '-50vw',\n left: '50%',\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n right: '50%',\n alignItems: 'center',\n zIndex: '2',\n}\n\nexport const Banner: React.FC = ({\n title,\n subtitle,\n text,\n callToAction,\n}) => {\n const desktop = useDesktop()\n const phoneNumberRegex = /^tel:/\n const isPhoneNumber = callToAction.url\n ? phoneNumberRegex.test(callToAction.url)\n : false\n\n return (\n \n \n {subtitle && (\n \n )}\n {text && (\n \n )}\n {isPhoneNumber ? (\n \n \n \n ) : (\n // Otherwise, render the regular button\n \n )}\n \n )\n}\n","import { Banner, BannerProps } from 'common/components/molecules/Banner'\nimport React from 'react'\n\nexport interface BannerCtaProps extends BannerProps {}\n\nexport const BannerCta: React.FC = props => {\n return \n}\n\nconst getBannerCtaData = (data: any): BannerProps => {\n return {\n title: data.title,\n subtitle: data.subtitle,\n text: data.text,\n callToAction: {\n analyticsId: data?.card_cta_0396ba7__cta_analytics_id,\n label: data?.card_cta_0396ba7__cta_label,\n url: data?.card_cta_0396ba7__cta_url || ''\n }\n }\n}\n","import React from \"react\";\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { Box } from '@chakra-ui/react'\nimport { RichText } from \"common/components/molecules/RichText\";\n\ninterface ITable {\n icon?: string;\n title: string;\n rows: IRow[];\n}\n\ninterface IRow {\n icon?: string;\n text: string;\n}\n\nexport interface IBasicTable {\n title?: string;\n subtitle?: string;\n tables?: ITable[];\n footer_text?: string;\n}\n\nconst BasicTable: React.FC = (props: IBasicTable) => {\n \n return \n \n {(props.title || props.subtitle) &&\n \n\n {props.title &&\n \n { props.title }\n \n }\n\n {props.subtitle &&\n \n { props.subtitle }\n \n }\n \n }\n\n {props.tables && props.tables.length > 0 &&\n \n { props.tables.map((table, index) => ( )) }\n \n }\n\n {props.footer_text &&\n \n { props.footer_text }\n \n }\n ;\n}\n\nconst Table = (table: ITable & {tableIndex: number}) => {\n\n const normalizePhoneAndMailHyperlink = (text: string) => {\n const phoneUrl = '\n {/* Header */}\n \n \n {table.icon &&\n \"Icon\"\n }\n \n \n \n { table.title }\n \n \n \n {/* Header */}\n\n {/* Content */}\n {table.rows && table.rows.length > 0 && table.rows.map((row, index) => (\n \n \n {row.icon &&\n \"Icon\"\n }\n \n \n \n \n \n ))\n }\n {/* Content */}\n \n}\n\nexport { BasicTable };","import { Grid } from '@material-ui/core'\nimport { Text } from 'common/components/molecules/Text'\nimport React from 'react'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface BodyOfTextProps {\n content: string\n}\n\nexport const BodyOfText: React.FC = props => {\n const { content } = getBodyOfTextData(props)\n return (\n \n \n \n \n \n )\n}\n\nexport const getBodyOfTextData = (data: any): BodyOfTextProps => {\n return {\n content: data.body_of_text__body\n }\n}\n","import React from 'react';\nimport createSvgIcon from './utils/createSvgIcon';\nexport default createSvgIcon(React.createElement(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2z\"\n}), 'AddBox');","import { Box } from '@material-ui/core'\nimport { AddBox } from '@material-ui/icons'\nimport { Text } from 'common/components/molecules/Text'\nimport React from 'react'\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface BulletProps {\n icon?: string\n text: string\n title: string\n}\n\nexport const Bullet: React.FC = ({ title }) => {\n return (\n \n \n \n \n )\n}\n","import { Box, useTheme } from '@material-ui/core'\nimport { Spacer } from 'common/components/molecules/Spacer'\nimport { Text } from 'common/components/molecules/Text'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport React from 'react'\nimport { Bullet, BulletProps } from './Bullet'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface BulletsProps {\n bullets: BulletProps[]\n title: string\n subtitle?: string\n}\n\nexport const Bullets: React.FC = ({\n bullets = [],\n title,\n subtitle\n}) => {\n const desktop = useDesktop()\n const theme = useTheme()\n\n return (\n <>\n \n \n \n \n \n {bullets.map(bullet => (\n \n ))}\n \n \n \n )\n}\n","import { Grid, GridSize } from '@material-ui/core'\nimport { FeatureListImage } from 'common/components/organisms/FeatureList/FeatureListImage'\nimport React from 'react'\nimport { Bullets, BulletsProps } from './Bullets'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface BulletsWithImageProps extends BulletsProps {\n imagePlacement: 'left' | 'right'\n}\n\nexport const BulletsWithImage: React.FC = props => {\n const data = getBulletsWithImageData(props)\n const layout = data.imagePlacement === 'left' ? [5, 6] : [6, 5]\n const left =\n data.imagePlacement === 'left' ? (\n \n ) : (\n \n )\n const right =\n data.imagePlacement === 'left' ? (\n \n ) : (\n \n )\n return (\n \n \n {left}\n \n \n \n {right}\n \n \n )\n}\n\nexport const getBulletsWithImageData = (data: any): BulletsWithImageProps => {\n return {\n ...data,\n imagePlacement: data.image_placement\n }\n}\n","import { ProgressBarStepperStepsType } from './interfaces'\n\nexport const stepperSteps: ProgressBarStepperStepsType = {\n Investment: [\n {\n title: 'Starting amount',\n },\n {\n title: 'About you',\n },\n {\n title: 'Calculation',\n },\n ],\n Pensions: [\n {\n title: 'Status',\n },\n {\n title: 'Calculate',\n },\n {\n title: 'About you',\n },\n {\n title: 'Pension',\n },\n ],\n IncomeProtection: [\n {\n title: 'Start',\n },\n {\n title: 'Status',\n },\n {\n title: 'About you',\n },\n {\n title: 'Quote',\n },\n ],\n TermLife: [\n {\n title: 'Cover',\n },\n {\n title: 'About you',\n },\n {\n title: 'Your Quote',\n },\n ],\n MortgageProtection: [\n {\n title: 'Cover',\n },\n {\n title: 'Applicants',\n },\n {\n title: 'About you',\n },\n {\n title: 'Your Quote',\n },\n ],\n OnePlanWithPartner: [\n {\n title: 'You',\n },\n {\n title: 'Cover',\n },\n {\n title: 'Partner',\n },\n {\n title: 'Details',\n },\n {\n title: 'Quote',\n },\n ],\n OnePlan: [\n {\n title: 'You',\n },\n {\n title: 'Cover',\n },\n {\n title: 'Details',\n },\n {\n title: 'Quote',\n },\n ],\n}\n","import { fireAnalyticsEvent } from 'common/utils/fireAnalyticsEvent'\nimport { stepperSteps } from '../utils/progressIndicatorSteps'\nimport { ProgressBarStepperStepsType } from '../utils/interfaces'\n\nexport const onInteracted = (\n name: string,\n event: string,\n isInteracted: string\n) => {\n fireAnalyticsEvent({\n name: name,\n properties: {\n step: event,\n event: name,\n interacted: isInteracted,\n },\n })\n}\n\nexport const onButtonClicked = (\n name: string,\n step: number,\n event: string,\n context: any\n) => {\n let calc_type: keyof ProgressBarStepperStepsType = context.calc_type\n if (calc_type === 'OnePlan' && context.transformedQuestions.length === 4) {\n calc_type = 'OnePlanWithPartner'\n }\n const stepName = stepperSteps[calc_type][step].title\n fireAnalyticsEvent({\n name: name,\n properties: {\n step: stepName.toString() + '_details_' + event,\n event: name,\n },\n })\n}\n\nexport const onCompleted = (name: string, event: string) => {\n fireAnalyticsEvent({\n name: name,\n properties: {\n event: name,\n step: event,\n },\n })\n}\n\nexport const handleOtherAnalytics = (\n analyticsName: string,\n formValues: any,\n screenNo: number\n) => {\n const calculatorType = analyticsName.split('_')[0]\n if (calculatorType === 'Pensions' && screenNo === 0) {\n fireAnalyticsEvent({\n name: analyticsName,\n properties: {\n event: analyticsName,\n step: 'employment status',\n value: formValues.employmentStatus,\n },\n })\n fireAnalyticsEvent({\n name: analyticsName,\n properties: {\n event: analyticsName,\n step: 'current pension',\n value: formValues.currentPension ?? 'N',\n },\n })\n }\n}\n\nexport const quoteScreenAnalytics = (\n analyticsName: string,\n callToAction: {\n text: string\n url: string,\n analyticsId: string\n },\n isPhoneNumber = false\n) => {\n if (isPhoneNumber) {\n fireAnalyticsEvent({\n name: analyticsName,\n properties: {\n event: analyticsName,\n clickToCall: callToAction.text,\n clickURL: callToAction.url || '',\n clickID: callToAction.analyticsId || ''\n }\n })\n } else {\n fireAnalyticsEvent({\n name: analyticsName,\n properties: {\n event: analyticsName,\n clickText: callToAction.text,\n clickURL: callToAction.url || '',\n clickID: callToAction.analyticsId || ''\n }\n })\n }\n}\n\nexport const analyticsService = {\n onInteracted: onInteracted,\n onCompleted: onCompleted,\n onButtonClicked: onButtonClicked,\n handleOtherAnalytics: handleOtherAnalytics,\n}\n","import Axios from 'axios'\nimport qs from 'qs'\n\nexport const APIrequestOnePlan = async (URL: string, params: any) => {\n const { paramsStandard, paramsEssential, paramsComprehensive } = params\n const [standard, essential, comprehensive] = await Promise.all([\n Axios.get(`${URL}?${paramsStandard}`),\n Axios.get(`${URL}?${paramsEssential}`),\n Axios.get(`${URL}?${paramsComprehensive}`),\n ])\n\n let standardQuoteData\n let essentialQuoteData\n let comprehensiveQuoteData\n let data\n if (\n standard.data === 'Error' ||\n essential.data === 'Error' ||\n comprehensive.data === 'Error'\n ) {\n data = { error: true }\n } else {\n standardQuoteData = qs.parse(\n standard.data\n .replace('var result = ', '')\n .replace(';', '')\n .replaceAll(\"'\", '')\n )\n essentialQuoteData = qs.parse(\n essential.data\n .replace('var result = ', '')\n .replace(';', '')\n .replaceAll(\"'\", '')\n )\n comprehensiveQuoteData = qs.parse(\n comprehensive.data\n .replace('var result = ', '')\n .replace(';', '')\n .replaceAll(\"'\", '')\n )\n data = {\n standardQuoteData,\n essentialQuoteData,\n comprehensiveQuoteData,\n error: false,\n }\n }\n return data\n}\nexport const APIrequest = async (URL: string, paramaters: string) => {\n const request = await Axios.get(`${URL}?${paramaters}`)\n\n let quoteData\n let data\n if (request.data === 'Error') {\n data = { error: true }\n } else {\n quoteData = qs.parse(\n request.data\n .replace('var result = ', '')\n .replace(';', '')\n .replaceAll(\"'\", '')\n )\n data = {\n quoteData,\n error: false,\n }\n }\n return data\n}\n","import { API_URL } from 'core'\nimport { APIrequest } from './APIrequests'\nconst statePension = (14470 / 12).toFixed(2)\nconst pensionAPI: string = `${API_URL}/myonlineservices/servlet/submitPensionQuote`\n\nexport const user = {\n startPensionAge: 30,\n income: 30000,\n salaryContribution: 500,\n employerContribution: 230,\n currentPensionValue: 0,\n statePension: 500,\n yearlyPaymentTargetValue: 20000,\n retirementAge: 66,\n}\nexport interface API {\n type5year: string\n}\nexport const getQuote = (\n annualPensionValue: any,\n statePensionValue: number\n) => {\n const userContributedPensionProjection = Number(annualPensionValue)\n\n const quote: Quote = {\n projection: userContributedPensionProjection + statePensionValue,\n barChart: [\n {\n userContributedPensionProjection,\n statePensionValue,\n userContributedPensionProjectionChartVal:\n Number(\n (\n userContributedPensionProjection /\n (userContributedPensionProjection +\n statePensionValue)\n ).toFixed(2)\n ) * 100,\n statePensionValueChartVal:\n Number(\n (\n statePensionValue /\n (userContributedPensionProjection +\n statePensionValue)\n ).toFixed(2)\n ) * 100,\n },\n ],\n }\n return quote\n}\nexport interface Quote {\n projection: number\n barChart: [\n {\n statePensionValue: number\n userContributedPensionProjection: number\n userContributedPensionProjectionChartVal: number\n statePensionValueChartVal: number\n }\n ]\n}\nexport const setScreen = (data: any) => {\n if (data.currentPension && data.currentPension === 'Y') {\n return 1\n }\n if (!data.currentPension || data.currentPension === 'N') {\n return 2\n }\n}\nconst APItype5 = (\n age: number,\n income: number,\n contributionValue: number,\n currentPension: number,\n retirementAge: number\n) => {\n return (\n 'type=5&age=' +\n age +\n '&income=' +\n income +\n '&ret=' +\n retirementAge +\n '&ap=' +\n contributionValue +\n '&sp=' +\n (currentPension >= 0 ? currentPension : 0)\n )\n}\nconst getAPIparamaters = (\n age: number,\n income: number,\n contributionValue: number,\n currentPensionValue: number,\n retirementAge: number\n) => {\n return APItype5(\n age,\n income,\n contributionValue,\n currentPensionValue,\n retirementAge\n )\n}\n\nexport const calculateTotalContribution = (data: any) => {\n if (data.contribution1) {\n if (data.jobContribution) {\n return Number(data.contribution1) + Number(data.jobContribution)\n } else {\n return Number(data.contribution1)\n }\n } else if (data.jobContribution) {\n return Number(data.contribution2) + Number(data.jobContribution)\n } else {\n return Number(data.contribution2)\n }\n}\n\nexport const onSubmit = (data: any): Promise => {\n const totalContribution = calculateTotalContribution(data)\n return APIrequest(\n pensionAPI,\n getAPIparamaters(\n Number(data.age),\n Number(data.salary),\n totalContribution, // contribution = contributionValue, jobContribution = employerContribution\n Number(data.pensionValue), // currentPensionValue\n data.retirementAge\n )\n ).then((response: any) => {\n if (response.quoteData !== undefined) {\n const monthResponse = getQuote(\n Number(\n (Number(response.quoteData.annualPension) / 12).toFixed(2)\n ),\n // statePension,\n data.isStatePension === 'Y' ? Number(statePension) : 0\n )\n return monthResponse\n }\n })\n}\n\nexport const pensionsTool = {\n setScreen: (data: any) => setScreen(data),\n onSubmit: (data: any) => onSubmit(data),\n stepsTransformation: (steps: any, data: any) => {\n const firstSteps = currentPensionTransformation(steps, data)\n const secondSteps = employmentStatusTransformation(firstSteps, data)\n const thirdSteps = employeeJobContributionTransformation(\n secondSteps,\n data\n )\n return thirdSteps\n },\n}\n\nexport const employeeJobContributionTransformation = (\n steps: any,\n data: any\n) => {\n let transformedSteps = steps\n if (!data.pensionThroughWork || data.pensionThroughWork === 'N') {\n transformedSteps = steps.map((item: any) => ({\n ...item,\n steps: item.steps.filter(\n (step: any) =>\n step.codename !== 'jobcontribution_pensiongeneric'\n ),\n }))\n }\n return transformedSteps\n}\n\nexport const currentPensionTransformation = (steps: any, data: any) => {\n let transformedSteps = steps\n if (!data.currentPension || data.currentPension === 'N') {\n transformedSteps = steps.map((item: any) => ({\n ...item,\n steps: item.steps.filter(\n (step: any) =>\n step.codename !==\n 'pension_with_irishlife___pensionsgeneric' &&\n step.codename !== 'pension_value___pension' &&\n step.codename !== 'contribution2___pension' &&\n step.codename !== 'pensionthroughwork___pension' &&\n step.codename !== 'jobcontribution_pensiongeneric' &&\n step.codename !== 'age___pensiongeneric' &&\n step.codename !== 'salary___pensiongeneric'\n ),\n }))\n }\n if (data.currentPension && data.currentPension === 'Y') {\n transformedSteps = steps.map((item: any) => ({\n ...item,\n steps: item.steps.filter(\n (step: any) =>\n step.codename !== 'contribution1__pension' &&\n step.codename !== 'age___pensiongeneric__copy_' &&\n step.codename !== 'salary___pensiongeneric__copy_'\n ),\n }))\n }\n transformedSteps = transformedSteps.filter(\n (item: any) => item.steps.length > 0\n )\n return transformedSteps\n}\n\nexport const employmentStatusTransformation = (steps: any, data: any) => {\n let transformedSteps = steps\n if (!data.employmentStatus || data.employmentStatus !== 'Employed') {\n transformedSteps = steps.map((item: any) => ({\n ...item,\n steps: item.steps.filter(\n (step: any) => step.codename !== 'pensionthroughwork___pension'\n ),\n }))\n }\n return transformedSteps\n}\n","export const investmentTool = {\n onSubmit: (data: any) => onSubmit(data),\n stepsTransformation: (steps: any, data?: any) => {\n return steps\n },\n}\n\nconst onSubmit = (data: any) => {\n console.log('data on Submit')\n}\n","import { APIrequest } from './APIrequests'\nimport { API_URL } from 'core'\nimport qs from 'qs'\nimport { occupations } from 'common/components/design-system/organisms/CalculatorCms/steps/CalculatorStepDropdown/occupations'\n// const API_URL = 'https://apps.irishlife.ie'\nconst API: string = `${API_URL}/myonlineservices/servlet/LifeCoverQuote`\nconst stateCover = 12732\nexport const incomeProtectionTool = {\n onSubmit: (data: any) => onSubmit(data),\n stepsTransformation: (steps: any, data?: any) => {\n return steps\n },\n}\n\nexport const onSubmit = (data: any): Promise => {\n return APIrequest(API, getApiConstants('incomeProtection', 102, data)).then(\n (response: any) => {\n if (response !== undefined) {\n return response\n }\n }\n )\n}\nconst calculateIncomeAmount = (data: any) => {\n return (\n (Number(data.income) * Number(data.amountToProtect)) / 100 - stateCover\n )\n}\nexport const getOccupationClass = (occupation: string) => {\n const occupationClass = occupations.find(\n (item) => item.value === occupation\n )\n return occupationClass ? occupationClass : undefined\n}\n// export const getDateOfBith = (dateOfBirth: string) => {\n// const date = new Date(dateOfBirth)\n// return {\n// day: date.getDate(),\n// month: date.getMonth() + 1,\n// year: date.getFullYear(),\n// }\n// }\nexport const getApiConstants: any = (\n quickQuoteId: string,\n productId: number,\n data: any\n) => {\n const currentDate = new Date();\n const incomeAmount = calculateIncomeAmount(data)\n const occupationClass = getOccupationClass(data.occupation)\n return qs.stringify({\n quickQuoteId: quickQuoteId,\n productId: productId,\n coverTypeCd: 'L',\n jointLife: 'False',\n indexation: 'False',\n frequencyCd: 'M',\n dateOfBirth1Day: currentDate.getDate(),\n dateOfBirth1Month: currentDate.getMonth() + 1, // Months are 0-indexed,\n dateOfBirth1Year: currentDate.getFullYear() - +data.dateOfBirth,\n sexCd1: 'M',\n smokerCd1: data.isSmoker === 'Y' ? 'Y' : 'N',\n incomeIncreaseRate: 5,\n occupationClass: occupationClass?.BillPayOccupationClass,\n incomeAmt: incomeAmount,\n deferredWeeks: 26,\n endAge: data.retirementAge,\n })\n}\n","import { APIrequest } from './APIrequests'\nimport qs from 'qs'\nimport { API_URL } from 'core'\n\n// const API_URL = 'https://apps.irishlife.ie'\nconst API: string = `${API_URL}/myonlineservices/servlet/LifeCoverQuote`\nexport const termLifeTool = {\n onSubmit: (data: any) => onSubmit(data),\n stepsTransformation: (steps: any, data?: any) => {\n return steps\n },\n}\n\nexport const onSubmit = (data: any): Promise => {\n return APIrequest(API, getApiConstants('lifeTermSum', 19, data)).then(\n (response: any) => {\n if (response !== undefined) {\n return response\n }\n }\n )\n}\n\nexport const getApiConstants: any = (\n quickQuoteId: string,\n productId: number,\n data: any\n) => {\n return qs.stringify({\n quickQuoteId: quickQuoteId,\n productId: productId,\n lifeCoverAmt: data.coverNeeded,\n conversion: 'FALSE',\n coverTypeCd: 'L',\n indexation: 'FALSE',\n frequencyCd: 'M',\n dateOfBirth1Day: 18,\n dateOfBirth1Month: 9,\n dateOfBirth1Year: new Date().getFullYear() - +data.age, ///need to logic here\n firstName: data.firstName,\n lastName: data.lastName,\n phone: data.phone,\n email: data.email,\n term: +data.maxAge - +data.age,\n age1: data.age,\n smokerCd1: data.isSmoker === 'Y' ? 'Y' : 'N',\n })\n}\n","import { APIrequest } from './APIrequests'\nimport qs from 'qs'\nimport { API_URL } from 'core'\n\n// const API_URL = 'https://apps.irishlife.ie'\nconst API: string = `${API_URL}/myonlineservices/servlet/LifeCoverQuote`\n\nexport const mortgageProtectionTool = {\n onSubmit: (data: any) => onSubmit(data),\n stepsTransformation: (steps: any, data: any) => {\n const firstSteps = twoPeopleTransformation(steps, data)\n\n return firstSteps\n },\n}\n\nexport const twoPeopleTransformation = (steps: any, data: any) => {\n let transformedSteps = steps\n if (data.coverFor === '1') {\n transformedSteps = steps.map((item: any) => ({\n ...item,\n steps: item.steps.filter(\n (step: any) =>\n step.codename !== 'age2___mp_calc' &&\n step.codename !== 'smoker2___mp_calc'\n ),\n }))\n }\n return transformedSteps\n}\n\nexport const onSubmit = (data: any): Promise => {\n return APIrequest(API, getApiConstants('lifeMortgage', 38, data)).then(\n (response: any) => {\n if (response !== undefined) {\n return response\n }\n }\n )\n}\n\nexport const getApiConstants: any = (\n quickQuoteId: string,\n productId: number,\n data: any\n) => {\n return qs.stringify({\n quickQuoteId: quickQuoteId,\n productId: productId,\n coverTypeCd: 'L',\n indexation: 'FALSE',\n frequencyCd: 'M',\n conversion: 'FALSE',\n dateOfBirth1Day: 14,\n dateOfBirth1Month: 10,\n dateOfBirth2Day: 14,\n dateOfBirth2Month: 10,\n dateOfBirth1Year: new Date().getFullYear() - +data.age1, ///need to logic here\n dateOfBirth2Year: new Date().getFullYear() - +data.age2,\n firstName: data.firstName,\n lastName: data.lastName,\n phone: data.phone,\n email: data.email,\n lifeCoverAmt: data.coverNeeded,\n term: data.term,\n jointLife: data.coverFor === '2' ? 'TRUE' : 'FALSE',\n age1: data.age1,\n age2: data.age2 ?? undefined,\n smokerCd1: data.isSmoker === 'Y' ? 'Y' : 'N',\n smokerCd2: data.isSmoker2\n ? data.isSmoker2 === 'Y'\n ? 'Y'\n : 'N'\n : undefined,\n })\n}\n","import { APIrequestOnePlan } from './APIrequests'\nimport qs from 'qs'\nimport { API_URL } from 'core'\nimport { getApiParamsOnePlan } from './../utils/onePlanConfig'\nimport { occupations } from 'common/components/design-system/organisms/CalculatorCms/steps/CalculatorStepDropdown/occupations'\n// const API_URL = 'https://apps.irishlife.ie'\nconst API: string = `${API_URL}/myonlineservices/servlet/LifeCoverQuote`\n\nexport const onePlanProtectionTool = {\n onSubmit: (data: any) => onSubmit(data),\n stepsTransformation: (steps: any, data: any) => {\n const firstSteps = childNumTransformation(steps, data)\n const secondSteps = jointTransformation(firstSteps, data)\n const thirdSteps = mortgageOrRentTransformation(secondSteps, data)\n const fourthSteps = additionalCoverTransformation(thirdSteps, data)\n const fifthSteps = SICTransformation(fourthSteps, data)\n const sixthSteps = AdditionalLifeCoverTransformation(fifthSteps, data)\n return sixthSteps\n },\n}\nexport const AdditionalLifeCoverTransformation = (steps: any, data: any) => {\n let transformedSteps = steps\n if (!data.isAdditionalLifeCover || data.isAdditionalLifeCover === 'N') {\n transformedSteps = steps.map((item: any) => ({\n ...item,\n steps: item.steps.filter((step: any) => {\n return step.codename !== 'lifecoveramount___oneplan'\n }),\n }))\n }\n //partner\n if (!data.isAdditionalLifeCover2 || data.isAdditionalLifeCover2 === 'N') {\n transformedSteps = transformedSteps.map((item: any) => ({\n ...item,\n steps: item.steps.filter((step: any) => {\n return step.codename !== 'partnerlifecoveramount___oneplan'\n }),\n }))\n }\n return transformedSteps\n}\nexport const SICTransformation = (steps: any, data: any) => {\n let transformedSteps = steps\n if (!data.isSpecifiedIllnessCover || data.isSpecifiedIllnessCover === 'N') {\n transformedSteps = steps.map((item: any) => ({\n ...item,\n steps: item.steps.filter((step: any) => {\n return step.codename !== 'specifiedillnesscoveramount___oneplan'\n }),\n }))\n }\n //partner\n if (\n !data.isSpecifiedIllnessCover2 ||\n data.isSpecifiedIllnessCover2 === 'N'\n ) {\n transformedSteps = transformedSteps.map((item: any) => ({\n ...item,\n steps: item.steps.filter((step: any) => {\n return (\n step.codename !==\n 'partnerspecifiedillnesscoveramount___oneplan'\n )\n }),\n }))\n }\n return transformedSteps\n}\nexport const additionalCoverTransformation = (steps: any, data: any) => {\n let transformedSteps = steps\n if (\n (!data.otherCoverRentNeither && !data.isOtherCover) ||\n (data.isOtherCover && data.isOtherCover === 'N') ||\n (data.otherCoverRentNeither && data.otherCoverRentNeither === 'N')\n ) {\n transformedSteps = steps.map((item: any) => ({\n ...item,\n steps: item.steps.filter((step: any) => {\n return (\n step.codename !== 'lifecoveramount___oneplan' &&\n step.codename !== 'incomeprotectionorbillcover___oneplan' &&\n step.codename !== 'specifiedillnesscover___oneplan' &&\n step.codename !== 'specifiedillnesscoveramount___oneplan' &&\n step.codename !== 'additionallifecover___oneplan'\n )\n }),\n }))\n }\n //partner\n if (\n (!data.otherCoverRentNeither2 && !data.isOtherCover2) ||\n (data.isOtherCover2 && data.isOtherCover2 === 'N') ||\n (data.otherCoverRentNeither2 && data.otherCoverRentNeither2 === 'N')\n ) {\n transformedSteps = transformedSteps.map((item: any) => ({\n ...item,\n steps: item.steps.filter((step: any) => {\n return (\n step.codename !== 'partnerlifecoveramount___oneplan' &&\n step.codename !==\n 'partnerincomeprotectionorbillcover___oneplan' &&\n step.codename !==\n 'partnerspecifiedillnesscover___oneplan' &&\n step.codename !==\n 'partnerspecifiedillnesscoveramount___oneplan' &&\n step.codename !== 'partneradditionallifecover___oneplan'\n )\n }),\n }))\n }\n return transformedSteps\n}\nexport const jointTransformation = (steps: any, data: any) => {\n let transformedSteps = steps\n if (data.jointLife === 'N') {\n transformedSteps = steps.filter((step: any) => {\n return step.codeName !== 'step_parnter_details___oneplan'\n })\n }\n return transformedSteps\n}\nexport const childNumTransformation = (steps: any, data: any) => {\n let transformedSteps = steps\n if (data.childNum === 0) {\n transformedSteps = steps.map((item: any) => ({\n ...item,\n steps: item.steps.filter((step: any) => {\n return step.codename !== 'youngestchildage___one_plan'\n }),\n }))\n }\n return transformedSteps\n}\n\nexport const mortgageOrRentTransformation = (steps: any, data: any) => {\n let transformedSteps = steps\n if (data.mortgageOrRent === 'Mortgage') {\n transformedSteps = steps.map((item: any) => ({\n ...item,\n steps: item.steps.filter((step: any) => {\n return (\n step.codename !== 'rentamount___oneplan' &&\n step.codename !== 'addcoverrentneither___oneplan' &&\n step.codename !== 'partneraddcoverrentneither___oneplan'\n )\n }),\n }))\n }\n if (data.mortgageOrRent === 'Rent' || data.mortgageOrRent === 'Neither') {\n transformedSteps = steps.map((item: any) => ({\n ...item,\n steps: item.steps.filter((step: any) => {\n return (\n step.codename !== 'mortgagepayment___oneplan' &&\n step.codename !== 'repaymentterm___oneplan' &&\n step.codename !== 'mortgagecoverondeath___one_plan' &&\n step.codename !== 'mortgagecoveronillness___oneplan' &&\n step.codename !== 'othercover___oneplan' &&\n step.codename !==\n 'partnermortgagecoverondeath___one_plan' &&\n step.codename !==\n 'partnermortgagecoveronillness___oneplan' &&\n step.codename !== 'partnerothercover___oneplan'\n )\n }),\n }))\n if (data.mortgageOrRent === 'Neither') {\n transformedSteps = transformedSteps.map((item: any) => ({\n ...item,\n steps: item.steps.filter((step: any) => {\n return step.codename !== 'rentamount___oneplan'\n }),\n }))\n }\n }\n return transformedSteps\n}\n\nexport const onSubmit = (data: any): Promise => {\n const onePlanParamsStandard = getApiParamsOnePlan(\n data,\n 'standard',\n occupations\n )\n const onePlanParamsEssential = getApiParamsOnePlan(\n data,\n 'essential',\n occupations\n )\n const onePlanParamsComprehensive = getApiParamsOnePlan(\n data,\n 'comprehensive',\n occupations\n )\n let apiConstants = getApiConstants('lifeOnePlan', 104)\n const paramsStandard = qs.stringify({\n ...apiConstants,\n ...onePlanParamsStandard,\n })\n const paramsEssential = qs.stringify({\n ...apiConstants,\n ...onePlanParamsEssential,\n })\n const paramsComprehensive = qs.stringify({\n ...apiConstants,\n ...onePlanParamsComprehensive,\n })\n\n const params = { paramsStandard, paramsEssential, paramsComprehensive }\n return APIrequestOnePlan(API, params).then((response: any) => {\n if (response !== undefined) {\n return response\n }\n })\n}\nexport const getApiConstants: any = (\n quickQuoteId: string,\n productId: number\n) => {\n return {\n quickQuoteId: quickQuoteId,\n productId: productId,\n coverTypeCd: 'L',\n indexation: 'FALSE',\n frequencyCd: 'M',\n conversion: 'FALSE',\n dateOfBirth1Day: new Date().getDate(),\n dateOfBirth1Month: new Date().getMonth() + 1,\n dateOfBirth2Day: new Date().getDate(),\n dateOfBirth2Month: new Date().getMonth() + 1,\n }\n}\n","import { pensionsTool } from './pensions'\nimport { investmentTool } from './investment'\nimport { incomeProtectionTool } from './incomeProtection'\nimport { termLifeTool } from './termLife'\nimport { mortgageProtectionTool } from './mortgageProtection'\nimport { onePlanProtectionTool } from './onePlan'\nexport const config: { [key: string]: any } = {\n Pensions: pensionsTool,\n Investment: investmentTool,\n IncomeProtection: incomeProtectionTool,\n TermLife: termLifeTool,\n MortgageProtection: mortgageProtectionTool,\n OnePlan: onePlanProtectionTool,\n}\n","import { useActor, useInterpret } from '@xstate/react'\nimport React, { createContext, useContext } from 'react'\nimport { InterpreterFrom } from 'xstate'\nimport { CalculatorMachine } from './machine'\n\nexport const CalculatorMachineContext = createContext({\n calculatorService: {} as InterpreterFrom,\n})\n\nexport const CalculatorMachineProvider = (props: any) => {\n const calculatorService = useInterpret(CalculatorMachine)\n return (\n \n {props.children}\n \n )\n}\n\nexport const useCalculatorMachine = () => {\n const globalServices = useContext(CalculatorMachineContext)\n const [state, send] = useActor(globalServices.calculatorService)\n return { state, send }\n}\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport React from 'react'\nexport const FooterContactNotes: React.FC = () => {\n return (\n \n \n For help getting a quote please call:{' '}\n \n {' '}\n +353(0)1 704 1104\n \n \n \n )\n}\n\nexport const FooterCommonNotes: React.FC = () => {\n return (\n <>\n
  • \n \n Your personal details will only be used to deal with your\n request. See the{' '}\n \n ILFS privacy notice\n {' '}\n for your rights and how your information is used. See also\n the Irish Life Financial Service Terms of Business{' '}\n \n here\n \n .\n \n
  • \n
  • \n \n Before you complete your quote, please note that we may\n contact you to discuss your quote and answer any questions\n you may have.\n \n
  • \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport React from 'react'\nimport { FooterCommonNotes, FooterContactNotes } from './FooterCommon'\nexport const PensionFooterNotes: React.FC = () => {\n return (\n <>\n \n
      \n \n
    \n
    \n \n \n )\n}\n","import { PensionFooterNotes } from './pensionsFooterNotes'\nimport { IncomeProtectionFooterNotes } from './IncomeProtectionFooterNotes'\nexport const FooterNotesMapper = () => {}\n\nexport type TemplateSectionType = 'Pensions' | 'mortgage-protection'\n\nexport const footerNotesMapper: { [key: string]: any } = {\n Pensions: PensionFooterNotes,\n Investment: PensionFooterNotes,\n IncomeProtection: IncomeProtectionFooterNotes,\n TermLife: PensionFooterNotes,\n MortgageProtection: PensionFooterNotes,\n OnePlan: PensionFooterNotes,\n}\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport React from 'react'\nimport { FooterCommonNotes, FooterContactNotes } from './FooterCommon'\nexport const IncomeProtectionFooterNotes: React.FC = () => {\n return (\n <>\n \n
      \n \n
    • \n \n {`*In general, the most cover you can have at any one\n time (including that provided under other income\n protection plans and continuing income from your job\n or pension) is: €250,000 a year; or 75% of your\n total yearly earnings; less any state benefits for\n disability (except benefits for children) and other\n forms of income you may have. Provides you with a\n replacement income if you cannot work as a result of\n an illness or injury after a certain period of time.\n It does not cover you if you become unemployed.`}\n \n
    • \n
    \n
    \n\n \n \n )\n}\n","import { Box, Flex, Image } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport React from 'react'\nimport { useCalculatorMachine } from '../utils/context'\n\nexport interface HeadingProps {\n title: string\n subtitle: string\n description: string\n icon: string\n}\n\nexport const Heading: React.FC = ({\n title,\n subtitle,\n description,\n icon,\n}) => {\n const isDesktop = useDesktop()\n const { state } = useCalculatorMachine()\n return (\n <>\n \n \n \n \n {title}\n \n \n {subtitle}\n \n \n \n {state.context.screenNo === 0 && description ? (\n \n {description}\n \n ) : (\n \n )}\n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { HotStepper } from '@irishlifedigitalhub/ds.molecules.hot-stepper'\nimport React, { useState, useEffect } from 'react'\nimport { useCalculatorMachine } from '../utils/context'\nimport { ProgressBarStepperStepsType } from '../utils/interfaces'\nimport { stepperSteps } from '../utils/progressIndicatorSteps'\n\nexport interface ProgressIndicatorProps {\n calculatorType: keyof ProgressBarStepperStepsType\n}\n\nexport const ProgressIndicator: React.FC = ({\n calculatorType,\n}) => {\n const [calcType, setCalcType] = useState(calculatorType)\n const { state } = useCalculatorMachine()\n let currentStep = 1\n useEffect(() => {\n if (\n calculatorType === 'OnePlan' &&\n state.context.transformedQuestions.length === 4\n ) {\n setCalcType('OnePlanWithPartner')\n }\n }, [calculatorType, state.context.transformedQuestions.length])\n\n switch (true) {\n case (state.context.quoteData as any)?.projection > 0 ||\n state.matches('Quote Screen') ||\n state.matches('Refetching Quote Details'):\n currentStep = stepperSteps[calcType].length\n break\n default:\n currentStep = state.context.screenNo + 1\n }\n return (\n \n \n \n )\n}\n\nexport default ProgressIndicator\n","import { getOccupationClass } from \"../config/incomeProtection\"\nimport { IncomeProtectionFormType } from \"./interfaces\"\n\nexport const checkIfOccupationRestriction = (state: any) => {\n if (state.context.calc_type === 'IncomeProtection') {\n return checkOccupationClass((state.context.formValues as IncomeProtectionFormType).occupation)\n }\n}\n\nconst checkOccupationClass = (occupation: string) => {\n const occupationClass = getOccupationClass(occupation)\n return occupationClass && occupationClass.BillPayOccupationClass === 'D'\n}","import { Box, Flex } from '@chakra-ui/react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { InfoIcon, TickIcon } from '@irishlife/ilgroupdesignsystem.icons'\nimport React from 'react'\nimport { fireAnalyticsEvent } from 'common/utils/fireAnalyticsEvent'\nimport { ChevronRightIcon } from '@irishlife/ilgroupdesignsystem.icons'\n\nexport const RestrictionScreen: React.FC = () => {\n return (\n \n \n \n \n Sorry, we were unable to complete your quote\n \n \n\n \n \n Based on your occupation, you might not qualify for income protection. You might still qualify for other forms of protection, therefore it would be best that you speak with one of our financial advisors.\n \n \n \n \n You can still continue\n An advisor can assess your situation and see if you qualify for income protection.\n\n \n \n \n \n \n You may qualify for other protection\n An advisor can see if you qualify for alternative protection such as bill cover.\n\n \n \n \n\n fireAnalyticsEvent({\n name: 'IncomeProtection',\n properties: {\n event: 'IncomeProtection',\n clickText: 'Book an appointment',\n clickURL: '/book-an-appointment-page?campaignIdAdvisorBlock=income_protection_calc_quotescreen',\n clickID: 'primary_cta_click'\n }\n })}>\n }\n width={'100%'}\n variant='primary'\n size='md'\n >\n Book an appointment\n \n\n \n\n \n )\n}\n","import { Box, Flex } from '@chakra-ui/react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { FraudIcon } from '@irishlife/ilgroupdesignsystem.icons'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { CalculatorMachineEvent } from '../../utils/interfaces'\nimport React from 'react'\nimport { checkIfOccupationRestriction } from '../../utils/viewSelector'\nimport { RestrictionScreen } from './RestrictionScreen'\nexport const ErrorScreen: React.FC = () => {\n const { state, send } = useCalculatorMachine()\n const isRestrictionScreen = checkIfOccupationRestriction(state)\n const restartQuote = () => {\n send({\n type: 'Calculate Again',\n payload: {\n screenNo: 0,\n },\n } as CalculatorMachineEvent)\n }\n if (isRestrictionScreen) {\n return < RestrictionScreen />\n }\n return (\n \n \n \n \n Sorry, we were unable to complete your quote\n \n \n\n \n \n We’ve encountered a technical issue. Please return to the\n first step and try again.\n \n\n \n Alternatively,\n \n \n {' '}\n call (0)1 704 1104\n \n {' '}\n to speak with an Irish Life Financial Services Advisor or\n contact us via Webchat.\n \n \n \n \n Restart quote\n \n \n \n \n )\n}","export const quoteCardData = {\n taxRelief: {\n id: 2,\n props: {\n label: `Tax Relief`,\n data: [\n ` Tax relief is not guaranteed. Rates are current as of January 2024.`,\n `To claim tax relief you can apply to your inspector of taxes to adjust your tax credits. Contributions deducted from salary will receive immediate tax relief. To be eligible to claim income tax relief, your income must be taxable either Schedule E or Schedule D (Case l or ll).`,\n ` If you are self-employed, you must include your pension contributions in your self-assessment tax returns in order to obtain income tax relief. Any employer contributions will receive tax relief in the year the contribution is made.`,\n `Pension income in retirement is subject to income tax at your highest rate on withdrawal, Universal Social Charge, PRSI (if applicable) and any other charges or levies (“tax”) applicable at this time.`,\n ],\n },\n },\n assumptions: {\n id: 1,\n props: {\n label: `Assumptions`,\n data: [\n `Pensions projection based on a retirement age of 66`,\n `Regular contributions go up by 3% each year over the term of your plan. Contributions are invested in a standard PRSA product, which has a fund management charge of 1.00% per annum and a contribution charge of up to 5% of each contribution.`,\n `The projected values assume an investment return before retirement of 4.86% per annum. This rate is for illustrative purposes only and is not guaranteed. Actual investment growth will depend on the performance of the underlying investments and may be more or less than illustrated.`,\n `An inflation rate of 2% per annum is used to express future values in today's terms.`,\n `The estimated annuities quoted are payable monthly in advance. The guaranteed period is 5 years, so in the event of early death during these five years, the income will continue to be paid for the balance of this period.`,\n `Annuity payments increase by 2% per annum.`,\n `The annuity rate at your retirement date will depend on long-term interest rates and life expectancy assumptions at that time and is likely to be different from the annuity rate used in the illustration. Different annuity options can be chosen at retirement.`,\n `Under the Finance Act 2012, the age at which people qualify for the state pension is 66 years of age.`,\n `The state pension (Contributory) for a single person is €14,470 per annum as of January 2024.`,\n ],\n },\n },\n}\n","import { Box } from '@chakra-ui/react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport React from 'react'\nimport { quoteCardData } from '../config'\n\nexport interface AssumptionsCardProps {}\n\nexport const AssumptionsCard: React.FC = () => {\n return (\n <>\n \n \n \n {quoteCardData.assumptions.props.label}\n \n
      \n {quoteCardData.assumptions.props.data.map((item) => (\n
    • \n {item}\n
    • \n ))}\n
    \n
    \n
    \n \n )\n}\n","import { Box, Stack } from '@chakra-ui/react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { TickIcon } from '@irishlife/ilgroupdesignsystem.icons'\nimport React from 'react'\nexport interface BenefitsCardProps {\n benefits: string[]\n title: string\n}\n\nexport const BenefitsCard: React.FC = ({\n benefits,\n title,\n}) => {\n return (\n \n \n \n \n {title}\n \n {benefits.map((benefit, index) => (\n \n \n {benefit}\n \n ))}\n \n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport React from 'react'\n\nexport interface NextStepsCardProps {}\n\nexport const NextStepsCard: React.FC = () => {\n const { send } = useCalculatorMachine()\n const restartQuote = () => {\n send({\n type: 'Calculate Again',\n })\n }\n return (\n <>\n \n \n \n Next Steps\n \n \n Speak to a Irish Life Financial Services advisor about\n your pension options.\n \n \n \n \n \n \n \n Restart Calculator\n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { Spinner } from '@irishlifedigitalhub/ds.atoms.spinner'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport React from 'react'\n\nexport interface LoadingProps {\n value: string\n}\n\nexport const Loading: React.FC = ({ value }) => {\n const isDesktop = useDesktop()\n return (\n \n \n \n {`Calculating your ${value}`}\n \n This may take a few seconds\n
    \n )\n}\n\nexport default Loading\n","import { Box, Button, ButtonGroup, IconButton } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { MinusIcon, PlusIcon } from '@irishlife/ilgroupdesignsystem.icons'\nimport numeral from 'numeral'\nimport React from 'react'\nimport AnimatedNumber from 'react-animated-number'\n\nexport interface AdjustmentControlsProps {\n isDisabled?: boolean\n label: string\n value: number\n onDecrease: () => void\n onIncrease: () => void\n onReset?: () => void\n min?: number\n max?: number\n}\n\nexport const AdjustmentControls: React.FC = ({\n isDisabled,\n label,\n value,\n onDecrease,\n onIncrease,\n onReset,\n min,\n max,\n}) => {\n return (\n \n {label}\n \n }\n onClick={onDecrease}\n >\n -\n \n onReset?.()}\n >\n \n numeral(value).format('0')\n }\n value={value}\n />\n \n = max : false}\n aria-label='Increase'\n icon={}\n onClick={onIncrease}\n >\n +\n \n \n \n )\n}\n","import { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { debounce } from 'lodash'\nimport { useCallback, useEffect } from 'react'\nimport { atom, useRecoilState } from 'recoil'\nimport {\n CalculatorMachineEvent,\n PensionFormType,\n} from 'common/components/organisms/Calculator/utils/interfaces'\n\nexport const pensionCalculatorState = atom({\n key: 'pensionCalculatorState',\n default: {\n userContribution: 0,\n retirementAge: 0,\n projection: 0,\n statePension: 0,\n salary: 0,\n },\n})\n\nexport function usePensionCalculator() {\n const [calcState, setCalcState] = useRecoilState(pensionCalculatorState)\n const { state, send } = useCalculatorMachine()\n\n useEffect(() => {\n if (state.context?.formValues) {\n const userContribution = Number(\n (state.context.formValues as PensionFormType).contribution1 ||\n (state.context.formValues as PensionFormType)\n .contribution2 ||\n 0\n )\n\n setCalcState({\n userContribution,\n retirementAge: (state.context.formValues as PensionFormType).retirementAge || 66,\n projection:\n (state.context.quoteData as any)?.barChart[0]\n .userContributedPensionProjection || 0,\n statePension:\n (state.context.quoteData as any)?.barChart[0]\n .statePensionValue || 0,\n salary: Number(\n (state.context.formValues as PensionFormType).salary\n ),\n })\n }\n }, [state.context, setCalcState])\n\n const debouncedUpdate = useCallback(\n debounce((userContribution, retirementAge) => {\n let user = {}\n if ((state.context.formValues as PensionFormType)?.contribution2) {\n user = {\n ...state?.context?.formValues,\n contribution2: userContribution,\n retirementAge: retirementAge,\n isStatePension:\n retirementAge >= 66 &&\n (state.context.formValues as PensionFormType)\n ?.isStatePension === 'Y'\n ? 'Y'\n : 'N',\n }\n } else {\n user = {\n ...state?.context?.formValues,\n contribution1: userContribution,\n retirementAge: retirementAge,\n isStatePension:\n retirementAge >= 66 &&\n (state.context.formValues as PensionFormType)\n ?.isStatePension === 'Y'\n ? 'Y'\n : 'N',\n }\n }\n send({\n type: 'Get Adjusted Quote',\n payload: { user },\n } as CalculatorMachineEvent)\n }, 1500),\n []\n )\n\n const changeUserContribution = useCallback(\n (userContribution, retirementAge) => {\n debouncedUpdate(userContribution, retirementAge)\n },\n [debouncedUpdate]\n )\n\n const setContribution = useCallback(\n (contribution) => {\n setCalcState((oldState) => ({\n ...oldState,\n userContribution: contribution,\n }))\n changeUserContribution(contribution, calcState.retirementAge)\n },\n [setCalcState, calcState.retirementAge, changeUserContribution]\n )\n\n const setRetirementAge = useCallback(\n (age) => {\n setCalcState((oldState) => ({ ...oldState, retirementAge: age }))\n changeUserContribution(calcState.userContribution, age)\n },\n [setCalcState, calcState.userContribution, changeUserContribution]\n )\n\n return {\n state: calcState,\n actions: {\n setContribution,\n setRetirementAge,\n },\n }\n}\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport numeral from 'numeral'\nimport React from 'react'\nimport { usePensionCalculator } from '../utils/usePensionCalculator'\n\nexport interface IncomeProjectionTextProps {}\n\nconst replacementPercentage = (projection: number, salary: number) =>\n Number(((projection / (Number(salary) / 12)) * 100).toFixed(0))\n\nexport const IncomeProjectionText: React.FC = () => {\n const {\n state: { projection, retirementAge, salary, statePension },\n } = usePensionCalculator()\n return (\n <>\n \n Based on a number of assumptions this will give you a retirement\n income of €{numeral(projection + statePension).format('0,000')}{' '}\n per month from your {retirementAge}th birthday. This will\n replace{' '}\n {replacementPercentage(projection + statePension, salary)}% of\n your current yearly salary.{' '}\n \n \n \n Warning: These figures are estimates only. They are not a\n reliable guide to future performance of your investment.\n \n \n \n )\n}\n","import { Flex } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport numeral from 'numeral'\nimport React from 'react'\nimport { usePensionCalculator } from '../utils/usePensionCalculator'\n\nexport interface MonthlyIncomeDisplayProps {}\n\nexport const MonthlyIncomeDisplay: React.FC = () => {\n const {\n state: { projection, retirementAge, statePension },\n } = usePensionCalculator()\n\n return (\n \n \n €{numeral(projection + statePension).format('0,000')}\n \n \n {`from your ${retirementAge}th birthday`}\n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { Grid } from '@material-ui/core'\nimport React from 'react'\n\nexport interface LegendProps {\n label: string\n value: string\n color?: string\n fill?: string\n}\n\nexport const Legend: React.FC = ({\n label,\n color,\n value,\n fill,\n}) => {\n return (\n \n \n \n \n \n \n {value}\n \n {label} \n \n \n \n \n )\n}\n","const svg = ``\nconst encodedSvg = encodeURIComponent(svg)\nexport const pattern = `url(\"data:image/svg+xml;utf8,${encodedSvg}\")`\n","import { Grid } from '@material-ui/core'\nimport numeral from 'numeral'\nimport React from 'react'\nimport { Legend } from '../../../legend'\nimport { pattern } from '../utils/pattern'\n\nexport interface LegendDisplayProps {\n projection: number\n statePension: number\n}\n\nexport const LegendDisplay: React.FC = ({\n projection,\n statePension,\n}) => {\n return (\n <>\n \n \n \n \n \n )\n}\n","import { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport React from 'react'\nimport { Bar, BarChart, ResponsiveContainer, XAxis, YAxis } from 'recharts'\nimport { usePensionCalculator } from '../utils/usePensionCalculator'\nimport { LegendDisplay } from './LegendDisplay'\n\nexport interface RetirementBarChartProps {}\n\nexport const RetirementBarChart: React.FC = () => {\n const { state } = useCalculatorMachine()\n const isRefetching = state.matches('Refetching Quote Details')\n\n const {\n state: { projection, statePension },\n } = usePensionCalculator()\n\n const total = projection + statePension\n const data = [\n { projection: projection / total, statePension: statePension / total },\n ]\n\n if (isRefetching) {\n return null\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n )\n}\n","export const getStepSize = (contribution: number) => {\n if (contribution < 500) {\n return 50 // Step size for contributions between €201 and €500\n } else if (contribution < 1000) {\n return 100 // Step size for contributions between €501 and €1000\n } else if (contribution < 2500) {\n return 250 // Step size for contributions between €1001 and €2500\n } else if (contribution < 5000) {\n return 500 // Step size for contributions between €2501 and €5000\n } else if (contribution < 10000) {\n return 1000 // Step size for contributions between €5001 and €10000\n } else {\n return 2000 // Step size for contributions above €10000\n }\n}\n\nexport const getNextContribution = (\n current: number,\n increase: boolean\n): number => {\n // Determine the step size based on the current contribution\n const stepSize = getStepSize(current)\n\n if (increase) {\n // Calculate next higher threshold by rounding up to the nearest step size\n return Math.ceil((current + 1) / stepSize) * stepSize\n } else {\n // Calculate next lower threshold by rounding down to the nearest step size\n return Math.floor((current - 1) / stepSize) * stepSize\n }\n}\n","import { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport React from 'react'\nimport Loading from '../../../Loading'\nimport { AdjustmentControls } from './components/AdjustmentControls'\nimport { IncomeProjectionText } from './components/IncomeProjectionText'\nimport { MonthlyIncomeDisplay } from './components/MonthlyIncomeDisplay'\nimport { RetirementBarChart } from './components/RetirementBarChart'\nimport { getNextContribution } from './utils/getNextContribution'\nimport { usePensionCalculator } from './utils/usePensionCalculator'\n\nexport interface PensionCalculatorOutputProps {}\n\nexport const PensionCalculatorOutput: React.FC =\n () => {\n const { state } = useCalculatorMachine()\n const isRefetching = state.matches('Refetching Quote Details')\n\n const {\n state: { userContribution, retirementAge },\n actions: { setContribution, setRetirementAge },\n } = usePensionCalculator()\n\n return (\n <>\n \n \n Monthly retirement income\n \n {isRefetching ? (\n \n ) : (\n <>\n \n \n \n )}\n \n setContribution(\n getNextContribution(userContribution, false)\n )\n }\n onIncrease={() =>\n setContribution(\n getNextContribution(userContribution, true)\n )\n }\n />\n setRetirementAge(retirementAge - 1)}\n onIncrease={() => setRetirementAge(retirementAge + 1)}\n />\n \n \n \n )\n }\n","import { Box } from '@chakra-ui/react'\nimport { Alert } from '@irishlifedigitalhub/ds.molecules.alert'\nimport React from 'react'\n\nexport interface WarningAlertsProps {}\n\nexport const WarningAlerts: React.FC = () => {\n return (\n <>\n \n \n \n Warning: The value of your investment may go down as\n well as up.\n \n \n \n \n Warning: If you invest in this product you may lose some\n or all of the money you invest.\n \n \n \n \n Warning: If you invest in this product you will not have\n any access to your money until age 60 and/or you retire.\n \n \n \n \n )\n}\n","import React from 'react'\nimport { Stack } from '@chakra-ui/react'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport AnimatedNumber from 'react-animated-number'\nimport numeral from 'numeral'\n\nexport interface ResultProps {\n subtitle: string\n heading: string\n value: number\n note: string\n highlighted?: boolean\n}\nexport const Result: React.FC = ({\n heading,\n value,\n note,\n highlighted,\n subtitle,\n}) => {\n return (\n <>\n \n \n {heading}\n \n \n €\n numeral(n).format('0,0')}\n />\n \n {subtitle} \n \n {note}\n \n \n \n )\n}\n","import _objectWithoutProperties from \"/home/vsts/work/1/s/packages/website/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"/home/vsts/work/1/s/packages/website/node_modules/@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport React, { forwardRef, useRef, useEffect } from 'react';\nimport { Chart as Chart$1, LineController, BarController, RadarController, DoughnutController, PolarAreaController, BubbleController, PieController, ScatterController } from 'chart.js';\nvar defaultDatasetIdKey = 'label';\n\nfunction reforwardRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\nfunction setOptions(chart, nextOptions) {\n Object.assign(chart.options, nextOptions);\n}\n\nfunction setLabels(currentData, nextLabels) {\n currentData.labels = nextLabels;\n}\n\nfunction setDatasets(currentData, nextDatasets) {\n var datasetIdKey = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : defaultDatasetIdKey;\n var addedDatasets = [];\n currentData.datasets = nextDatasets.map(function (nextDataset) {\n // given the new set, find it's current match\n var currentDataset = currentData.datasets.find(function (dataset) {\n return dataset[datasetIdKey] === nextDataset[datasetIdKey];\n }); // There is no original to update, so simply add new one\n\n if (!currentDataset || !nextDataset.data || addedDatasets.includes(currentDataset)) {\n return _objectSpread({}, nextDataset);\n }\n\n addedDatasets.push(currentDataset);\n Object.assign(currentDataset, nextDataset);\n return currentDataset;\n });\n}\n\nfunction cloneData(data) {\n var datasetIdKey = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : defaultDatasetIdKey;\n var nextData = {\n labels: [],\n datasets: []\n };\n setLabels(nextData, data.labels);\n setDatasets(nextData, data.datasets, datasetIdKey);\n return nextData;\n}\n/**\n * Get dataset from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\n\n\nfunction getDatasetAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event.nativeEvent, 'dataset', {\n intersect: true\n }, false);\n}\n/**\n * Get single dataset element from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\n\n\nfunction getElementAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event.nativeEvent, 'nearest', {\n intersect: true\n }, false);\n}\n/**\n * Get all dataset elements from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\n\n\nfunction getElementsAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event.nativeEvent, 'index', {\n intersect: true\n }, false);\n}\n\nfunction ChartComponent(param, ref) {\n var _param$height = param.height,\n height = _param$height === void 0 ? 150 : _param$height,\n _param$width = param.width,\n width = _param$width === void 0 ? 300 : _param$width,\n _param$redraw = param.redraw,\n redraw = _param$redraw === void 0 ? false : _param$redraw,\n datasetIdKey = param.datasetIdKey,\n type = param.type,\n data = param.data,\n options = param.options,\n _param$plugins = param.plugins,\n plugins = _param$plugins === void 0 ? [] : _param$plugins,\n fallbackContent = param.fallbackContent,\n updateMode = param.updateMode,\n props = _objectWithoutProperties(param, [\"height\", \"width\", \"redraw\", \"datasetIdKey\", \"type\", \"data\", \"options\", \"plugins\", \"fallbackContent\", \"updateMode\"]);\n\n var canvasRef = useRef(null);\n var chartRef = useRef();\n\n var renderChart = function renderChart() {\n if (!canvasRef.current) return;\n chartRef.current = new Chart$1(canvasRef.current, {\n type: type,\n data: cloneData(data, datasetIdKey),\n options: options && _objectSpread({}, options),\n plugins: plugins\n });\n reforwardRef(ref, chartRef.current);\n };\n\n var destroyChart = function destroyChart() {\n reforwardRef(ref, null);\n\n if (chartRef.current) {\n chartRef.current.destroy();\n chartRef.current = null;\n }\n };\n\n useEffect(function () {\n if (!redraw && chartRef.current && options) {\n setOptions(chartRef.current, options);\n }\n }, [redraw, options]);\n useEffect(function () {\n if (!redraw && chartRef.current) {\n setLabels(chartRef.current.config.data, data.labels);\n }\n }, [redraw, data.labels]);\n useEffect(function () {\n if (!redraw && chartRef.current && data.datasets) {\n setDatasets(chartRef.current.config.data, data.datasets, datasetIdKey);\n }\n }, [redraw, data.datasets]);\n useEffect(function () {\n if (!chartRef.current) return;\n\n if (redraw) {\n destroyChart();\n setTimeout(renderChart);\n } else {\n chartRef.current.update(updateMode);\n }\n }, [redraw, options, data.labels, data.datasets, updateMode]);\n useEffect(function () {\n if (!chartRef.current) return;\n destroyChart();\n setTimeout(renderChart);\n }, [type]);\n useEffect(function () {\n renderChart();\n return function () {\n return destroyChart();\n };\n }, []);\n return /*#__PURE__*/React.createElement(\"canvas\", Object.assign({\n ref: canvasRef,\n role: \"img\",\n height: height,\n width: width\n }, props), fallbackContent);\n}\n\nvar Chart = /*#__PURE__*/forwardRef(ChartComponent);\n\nfunction createTypedChart(type, registerables) {\n Chart$1.register(registerables);\n return /*#__PURE__*/forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Chart, Object.assign({}, props, {\n ref: ref,\n type: type\n }));\n });\n}\n\nvar Line = /* #__PURE__ */createTypedChart('line', LineController);\nvar Bar = /* #__PURE__ */createTypedChart('bar', BarController);\nvar Radar = /* #__PURE__ */createTypedChart('radar', RadarController);\nvar Doughnut = /* #__PURE__ */createTypedChart('doughnut', DoughnutController);\nvar PolarArea = /* #__PURE__ */createTypedChart('polarArea', PolarAreaController);\nvar Bubble = /* #__PURE__ */createTypedChart('bubble', BubbleController);\nvar Pie = /* #__PURE__ */createTypedChart('pie', PieController);\nvar Scatter = /* #__PURE__ */createTypedChart('scatter', ScatterController);\nexport { Bar, Bubble, Chart, Doughnut, Line, Pie, PolarArea, Radar, Scatter, getDatasetAtEvent, getElementAtEvent, getElementsAtEvent };","/*\n\nThe formula for calculating the future value of a compound investment with additional regular payments is:\n\nFV = PV * (1 + r/n)^(nt) + PMT * (((1 + r/n)^(nt) - 1) / (r/n))\n\nwhere:\n\nFV is the future value of the investment\nPV is the present value or initial principal of the investment\nr is the annual interest rate\nn is the number of compounding periods per year\nt is the number of years the investment is held\nPMT is the amount of the additional regular payments\nThis formula assumes that the additional regular payments are made at the end of each compounding period, and that the interest rate remains constant over the life of the investment.\n\nFor example, if you have an initial investment of $1000, an annual interest rate of 2.5%, and you make additional regular payments of $100 at the end of each year for a total of 5 years, the future value of the investment would be:\n\nFV = 1000 * (1 + 0.05/1)^(15) + 100 * (((1 + 0.05/1)^(15) - 1) / (0.05/1))\n= 1000 * (1.05)^5 + 100 * ((1.05^5 - 1) / 0.05)\n= $1828.85\n\nThis means that the investment will be worth $1628.89 at the end of the 5 years, including the additional regular payments and the compound interest earned.\n*/\n\nexport const getInvestmentValue = (\n principal: number,\n regular: number,\n rate: number,\n term: number,\n n: number = 1\n): number => {\n return (\n principal * (1 + rate / n) ** (n * term) +\n regular * 12 * ((((1 + rate) / n) ** (n * term) - 1) / (rate / n))\n )\n}\n","import { getInvestmentValue } from './get-investment-value'\n\nexport const getDataPoints = (\n principal: number,\n regular: number,\n rate: number,\n term: number\n) => {\n const dataPoints = []\n const currentYear = new Date().getFullYear()\n for (let i = 1; i <= term; i++) {\n dataPoints.push({\n year: String(currentYear + i),\n value: getInvestmentValue(principal, regular, rate, i),\n })\n }\n return dataPoints\n}\n","import {\n CategoryScale,\n Chart as ChartJS,\n Filler,\n Legend,\n LinearScale,\n LineElement,\n PointElement,\n Title,\n Tooltip,\n} from 'chart.js'\nimport numeral from 'numeral'\nimport React from 'react'\nimport { ChartProps, Line } from 'react-chartjs-2'\nimport { INVESTMENT_RATE } from '../utils/getCalculatorReturns'\n\nChartJS.register(\n CategoryScale,\n LinearScale,\n PointElement,\n LineElement,\n Title,\n Tooltip,\n Legend,\n Filler\n)\n\nconst options: ChartProps<'line'>['options'] = {\n events: [],\n responsive: true,\n scales: {\n x: {\n display: true,\n grid: { display: false },\n ticks: {\n autoSkipPadding: 10,\n maxRotation: 0,\n color: '#8983A0',\n font: {\n family: 'Assistant',\n size: 14,\n weight: 'bold',\n },\n stepSize: 10,\n },\n },\n y: {\n grace: 1000,\n display: true,\n grid: {\n display: false,\n },\n ticks: {\n autoSkipPadding: 25,\n color: '#8983A0',\n font: {\n family: 'Assistant',\n weight: 'bold',\n size: 14,\n },\n callback: (value) => {\n return `€${numeral(value).format('0,0A')}`\n },\n },\n },\n },\n elements: {\n point: {\n radius: 3,\n },\n },\n plugins: {\n legend: {\n display: true,\n position: 'bottom',\n\n labels: {\n boxWidth: 2,\n color: '#8983A0',\n font: {\n family: 'Assistant',\n size: 14,\n weight: 'bold',\n },\n },\n },\n title: {\n display: false,\n text: 'Chart.js Line Chart',\n },\n },\n}\n\nexport interface LineChartProps {\n cashDataPoints: { year: string; value: number }[]\n investmentDataPoints: { year: string; value: number }[]\n}\n\nexport const LineChart: React.FC = ({\n cashDataPoints,\n investmentDataPoints,\n}) => {\n const yearNames = cashDataPoints.map((dataPoint) => dataPoint.year)\n const data = {\n labels: yearNames,\n datasets: [\n {\n label: 'CONTRIBUTIONS',\n data: cashDataPoints.map((dataPoint) => dataPoint.value),\n fill: true,\n backgroundColor: '#fff',\n borderColor: '#EE870E',\n },\n {\n label: `${INVESTMENT_RATE}% GROWTH`,\n data: investmentDataPoints.map((dataPoint) => dataPoint.value),\n borderColor: '#5261AC',\n backgroundColor: 'rgba(82, 97, 172, 0.3)',\n fill: true,\n },\n ],\n }\n return \n}\n","import React from 'react'\nimport { Box, Divider, Stack, AbsoluteCenter } from '@chakra-ui/react'\nimport { Result } from './Result'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { LineChart } from './Chart'\nimport { INVESTMENT_RATE } from '../utils/getCalculatorReturns'\nexport interface ResultsProps {\n results: any\n term: number\n}\nexport const Results: React.FC = ({ results, term }) => {\n return (\n \n \n \n \n \n \n \n VS\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n","import { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport React from 'react'\nimport { Results } from './components/Results'\nimport { getCalculatorReturns } from './utils/getCalculatorReturns'\nimport { InvestmentFormType } from 'common/components/organisms/Calculator/utils/interfaces'\n\nexport interface InvestmentCalculatorOutputProps {}\n\nexport const InvestmentCalculatorOutput: React.FC =\n () => {\n const { state } = useCalculatorMachine()\n const calcState = {\n lumpSum: (state.context.formValues as InvestmentFormType)\n .initialAmount,\n regular: (state.context.formValues as InvestmentFormType)\n .monthlyAmount,\n term: (state.context.formValues as InvestmentFormType).noOfYears,\n }\n const calculatorReturns = getCalculatorReturns(calcState)\n return (\n <>\n {/* \n \n \n See your potential growth below\n \n */}\n \n \n )\n }\n","import { getDataPoints } from './get-data-points'\nimport { getInvestmentValue } from './get-investment-value'\n\nexport const INVESTMENT_RATE = 3.55\n\nconst CASH_RATE = 0.0000001\nexport const getCalculatorReturns = (state: any) => {\n const investmentRate = INVESTMENT_RATE / 100\n const returnOnCash = getInvestmentValue(\n state.lumpSum,\n state.regular,\n CASH_RATE,\n state.term\n )\n const returnOnInvestment = getInvestmentValue(\n state.lumpSum,\n state.regular,\n investmentRate,\n state.term\n )\n const cashDataPoints = getDataPoints(\n state.lumpSum,\n state.regular,\n CASH_RATE,\n state.term\n )\n const investmentDataPoints = getDataPoints(\n state.lumpSum,\n state.regular,\n investmentRate,\n state.term\n )\n return {\n returnOnCash,\n returnOnInvestment,\n cashDataPoints,\n investmentDataPoints,\n }\n}\n","import { INVESTMENT_RATE } from './components/InvestmentCalculatorOutput/utils/getCalculatorReturns'\nexport const assumptions = [\n `This is not an investment quotation. This calculation uses a compound interest formula based on a ${INVESTMENT_RATE}% growth rate annually over the number of years of your choosing. It only displays a scenario where the amount is not at risk.`,\n `The above calculator does not take into account any fees or charges.`,\n `If you invest in an insurance based investment product, the amount you invest is subject to/will incur a 1% government life insurance levy.`,\n `Investing in life insurance based savings and investment products are subject to exit tax of 41% on any growth they make.`,\n `These assumptions and figures quoted are for illustrative purposes only.`,\n `Calculations made using this calculator do not account for inflation. Inflation may reduce the real returns on your investment over time.`,\n]\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport React from 'react'\nimport { assumptions } from '../config'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { INVESTMENT_RATE } from './InvestmentCalculatorOutput/utils/getCalculatorReturns'\n\nexport interface WarningsProps {}\n\nexport const Warnings: React.FC = () => {\n return (\n <>\n \n \n \n Two easy ways to start\n \n \n While this calculator shows you how much{' '}\n {INVESTMENT_RATE}% interest might look, We offer\n financial advice or you can get started investing online\n using our app Smart Invest.\n \n \n \n \n Book an appointment\n \n \n\n \n \n \n \n \n \n \n \n \n Assumptions and other key information:\n \n
      \n {assumptions.map((item) => (\n
    • \n {item}\n
    • \n ))}\n
    \n
    \n
    \n \n )\n}\n","export const modifySteps: (calculatorSteps: any[]) => {\n cardCaption: string\n buttonCaption: string\n icon: string\n steps: any[]\n info: any\n}[] = (calculatorSteps: any[]) => {\n return calculatorSteps?.map((step: any) => {\n return {\n codeName: step?.codename,\n cardCaption: step?.cardcaptionnew\n ? step?.cardcaptionnew\n : step?.card_caption,\n info: step?.info,\n buttonCaption: step?.button_caption,\n icon: step?.tooltipicon,\n steps: getCalcalutorSteps(step?.steps),\n }\n })\n}\nconst getCalcalutorSteps = (steps: any[]) =>\n steps.map((step) => ({\n codename: step?.codename,\n fieldName: step?.calculatordata__field_name ?? '',\n helpertext: step?.new_helper_text,\n inputtype: step?.input_type,\n isOptional: step?.optional,\n label: step?.label ?? step?.calculatorstepheader__title,\n options: step?.options ?? step?.multiple_choice_options,\n placeholder: step?.placeholder,\n type: step?.type,\n stepSize: step?.stepsize,\n defaultValue: step?.defaultvalue,\n errorMessage: step?.error_message ?? '',\n min: step?.minvalue,\n max: step?.maxvalue,\n }))\n","import { Box } from '@chakra-ui/react'\nimport { Controller } from 'react-hook-form'\nimport React from 'react'\nimport { Choice } from '@irishlifedigitalhub/ds.molecules.choice'\nexport interface CalculatorStepBinaryChoiceProps {\n fieldName: string\n name?: string\n label?: string\n options?: any[]\n control?: any\n}\nexport const CalculatorStepBinaryChoice: React.FC =\n ({ name, label, options, fieldName, control }) => {\n return (\n (\n \n {\n if (value === 'Y') {\n onChange('Y')\n } else if (value === 'N') {\n onChange('N')\n } else {\n onChange(value)\n }\n }}\n options={[\n {\n id: 'option-1',\n label: options?.[0]?.label,\n value: options?.[0]?.value,\n },\n {\n id: 'option-2',\n label: options?.[1]?.label,\n value: options?.[1]?.value,\n },\n ]}\n spacing={3}\n />\n \n )}\n />\n )\n }\n","export const getStyles = ({ isInvalid = false }) => ({\n input: {\n height: 12,\n width: 'full',\n fontSize: 'md',\n bg: 'brand.50',\n rounded: 'md',\n border: 'solid',\n pl: 2,\n pr: 4,\n color: 'var(--chakra-colors-black)',\n _placeholder: {\n color: 'monochrome.400',\n },\n borderColor: isInvalid ? 'error' : 'brand.400',\n borderWidth: isInvalid ? '2px' : '1px',\n '&:focus': {\n borderColor: 'brand.400',\n borderWidth: '2px',\n zIndex: 1,\n boxShadow: '0px 0px 0px 1px #3182ce !important',\n },\n '&:focus-visible': {\n outline: 'none',\n },\n },\n '#email': {\n borderColor: isInvalid ? 'error' : 'brand.400',\n borderWidth: isInvalid ? '2px' : '1px',\n },\n '#currency': {\n paddingLeft: '15px',\n },\n '#termlife-input': {\n paddingLeft: '30px',\n },\n '.PhoneInput': {\n display: 'flex',\n alignItems: 'center',\n height: 12,\n bg: 'brand.200',\n rounded: 'md',\n pl: 3,\n width: 'full',\n },\n '.PhoneInputCountry': {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n width: 7,\n },\n '.PhoneInputCountrySelect': {\n position: 'absolute',\n top: '0',\n left: '0',\n height: 'full',\n width: 'full',\n zIndex: '1',\n border: '0',\n opacity: '0',\n cursor: 'pointer',\n },\n '.PhoneInputCountryIcon': {\n rounded: 'sm',\n overflow: 'hidden',\n },\n '.PhoneInputCountryIconImg': {\n height: 4,\n },\n '.PhoneInputCountryIcon--border': {},\n})\n","import { isValidPhoneNumber } from 'react-phone-number-input/max'\n\nexport const isValid = (value: string, fieldName?: string, calcType?: string, formValues?: any) => {\n if (calcType === 'IncomeProtection' && fieldName === 'dateOfBirth') {\n console.log('value in isValid', value)\n return (+value <= 54)\n }\n if (calcType === 'IncomeProtection' && fieldName === 'amountToProtect') {\n const amountPercentageToProtect =\n (+formValues?.income * +formValues?.amountToProtect) / 100\n return (amountPercentageToProtect <= 250000 && amountPercentageToProtect >= 750)\n }\n return true\n}\nexport const isValidEmail = (email: string) => {\n // eslint-disable-next-line no-useless-escape\n return /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n email\n )\n}\nexport const isPhoneValid = (phoneNumber: string) => {\n return isValidPhoneNumber(phoneNumber)\n ? undefined\n : 'Please enter a valid mobile number. We will only contact you about your calculation.'\n}","import React from 'react'\nimport { Box, FormLabel } from '@chakra-ui/react'\nimport PhoneInputWithCountry from 'react-phone-number-input'\nimport { Controller } from 'react-hook-form'\nimport { getStyles } from '../../styles/getStyles'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { CalculatorInputType } from 'common/components/organisms/Calculator/utils/interfaces'\nimport { isPhoneValid } from './utils'\nexport const PhoneNumberInput: React.FC = ({\n placeholder,\n fieldName,\n control,\n label,\n errorMessage,\n setIsTouched,\n isInvalid,\n}) => {\n return (\n <>\n {/* @ts-ignore */}\n (\n \n \n \n {label}\n \n \n setIsTouched && setIsTouched(true)}\n />\n \n )}\n />\n \n )\n}\n\n","import React from 'react'\nimport { Box } from '@chakra-ui/react'\nimport { Controller } from 'react-hook-form'\nimport { getStyles } from '../../styles/getStyles'\nimport { Input } from '@irishlife/ilgroupdesignsystem.molecules.input'\nimport { CalculatorInputType } from 'common/components/organisms/Calculator/utils/interfaces'\nimport { isValidEmail } from './utils'\nexport const EmailInput: React.FC = ({\n register,\n placeholder,\n label,\n fieldName,\n control,\n errorMessage,\n setIsTouched,\n isInvalid,\n defaultValue = '',\n}) => {\n return (\n <>\n \n isValidEmail(value) ? undefined : errorMessage,\n }}\n render={({ onChange, onBlur, value }) => (\n \n setIsTouched && setIsTouched(true)}\n />\n \n )}\n />\n \n )\n}\n\n","import React from 'react'\nimport { Box, FormLabel } from '@chakra-ui/react'\nimport { Controller } from 'react-hook-form'\nimport { getStyles } from '../../styles/getStyles'\nimport NumberFormat from 'react-number-format'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { CalculatorInputType } from 'common/components/organisms/Calculator/utils/interfaces'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { isValid } from './utils'\nexport const CurrencyInput: React.FC = ({\n label,\n fieldName,\n control,\n errorMessage,\n setIsTouched,\n isInvalid,\n defaultValue = '',\n}) => {\n const { state } = useCalculatorMachine()\n const calcType = state.context.calc_type\n return (\n <>\n \n isValid(value, fieldName, calcType) ? undefined : errorMessage,\n }}\n render={({ onChange, onBlur, value }) => (\n \n \n \n {label}\n \n \n \n \n €\n \n onChange(value)}\n name={fieldName}\n onBlur={() =>\n setIsTouched && setIsTouched(true)\n }\n />\n \n \n )}\n />\n \n )\n}\n","import React from 'react'\nimport { Box } from '@chakra-ui/react'\nimport { Controller } from 'react-hook-form'\nimport { getStyles } from '../../styles/getStyles'\nimport { Input } from '@irishlife/ilgroupdesignsystem.molecules.input'\nimport { CalculatorInputType } from 'common/components/organisms/Calculator/utils/interfaces'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { isValid } from './utils'\nexport const DefaultInput: React.FC = ({\n register,\n placeholder,\n label,\n fieldName,\n inputtype,\n control,\n errorMessage,\n setIsTouched,\n isInvalid,\n defaultValue = '',\n}) => {\n const { state } = useCalculatorMachine()\n const calcType = state.context.calc_type\n return (\n <>\n \n isValid(value, fieldName, calcType) ? undefined : errorMessage,\n }}\n render={({ onChange, onBlur, value }) => (\n \n {\n if (inputtype === 'number' || inputtype === 'age' ) {\n const target = e.target as HTMLInputElement\n target.type = 'text'\n setTimeout(() => {\n target.type = 'number'\n }, 0)\n }\n }}\n type={inputtype === 'number' || inputtype === 'age' ? 'number' : 'text'}\n key={fieldName}\n label={label}\n defaultValue={defaultValue}\n name={fieldName}\n ref={register}\n placeholder={placeholder}\n onBlur={() => setIsTouched && setIsTouched(true)}\n />\n \n )}\n />\n \n )\n}\n\n","import React from 'react'\nimport { Box } from '@chakra-ui/react'\nimport { Controller } from 'react-hook-form'\nimport { getStyles } from '../../styles/getStyles'\nimport { CalculatorInputType } from 'common/components/organisms/Calculator/utils/interfaces'\nimport { Datepicker } from '@irishlifedigitalhub/ds.molecules.datepicker'\n\nexport const DatePicker: React.FC = ({\n label,\n fieldName,\n control,\n errorMessage,\n isInvalid,\n}) => {\n return (\n (\n \n \n \n )}\n />\n )\n}\n","import React from 'react'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { RichText } from 'common/components/molecules/RichText'\nimport numeral from 'numeral'\n\nexport interface HelperTextProps {\n fieldName?: string\n helperText?: string\n formValues?: any\n errors?: any\n isTouched?: boolean\n}\nexport const HelperText: React.FC = ({\n fieldName,\n helperText,\n formValues,\n errors,\n isTouched = false,\n}) => {\n let dynamicHelperText = ''\n let amountPercentageToProtect = 0\n const { state } = useCalculatorMachine()\n if (\n state.context.calc_type === 'IncomeProtection' &&\n fieldName === 'amountToProtect'\n ) {\n amountPercentageToProtect =\n (+formValues?.income * +formValues?.amountToProtect) / 100\n dynamicHelperText = `${formValues?.amountToProtect}% = €${numeral(amountPercentageToProtect).format('0,000')}`\n }\n return (\n <>\n {state.context.calc_type === 'IncomeProtection' && fieldName === 'amountToProtect' && amountPercentageToProtect > 0 && (amountPercentageToProtect < 750 || amountPercentageToProtect > 250000) && (\n

    \n {errors?.['amountToProtect']?.message}\n

    \n )}\n {isTouched && errors[fieldName ?? ''] && (\n

    \n {errors?.[fieldName ?? '']?.message}\n

    \n )}\n {helperText && (!errors?.[fieldName ?? ''] || !isTouched) && (\n \n )}\n {dynamicHelperText &&\n !helperText &&\n amountPercentageToProtect > 0 && (\n \n )}\n \n )\n}","import React, { useState } from 'react'\nimport { PhoneNumberInput } from '../inputs/PhoneNumberInput'\nimport { EmailInput } from '../inputs/EmailInput'\nimport { CurrencyInput } from '../inputs/CurrencyInput'\nimport { DefaultInput } from '../inputs/DefaultInput'\nimport { DatePicker } from '../inputs/DatePicker'\nimport { CalculatorInputType } from 'common/components/organisms/Calculator/utils/interfaces'\nimport { HelperText } from './HelperText'\nexport interface CalculatorStepInputProps {\n register?: () => {}\n placeholder?: string\n label?: string\n fieldName?: string\n inputtype?: string\n control?: any\n errors?: any\n helperText?: string\n errorMessage?: string\n defaultValue?: string\n formValues?: any\n}\n\nexport const CalculatorStepInput: React.FC = ({\n register,\n placeholder,\n label,\n fieldName,\n inputtype,\n control,\n errors,\n helperText,\n errorMessage,\n defaultValue,\n}) => {\n const [isTouched, setIsTouched] = useState(false)\n const isInvalid = !!errors[fieldName ?? ''] && isTouched\n const childProps: CalculatorInputType = {\n register,\n placeholder,\n label,\n fieldName,\n inputtype,\n control,\n helperText,\n errorMessage,\n setIsTouched,\n isInvalid,\n defaultValue,\n }\n if (inputtype === 'phone') {\n return (\n <>\n \n \n \n )\n }\n if (inputtype === 'email') {\n return (\n <>\n \n \n \n )\n }\n if (inputtype === 'currency') {\n return (\n <>\n \n \n \n )\n }\n if (inputtype === 'date') {\n return (\n <>\n \n \n \n )\n }\n return (\n <>\n \n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { Choice } from '@irishlifedigitalhub/ds.molecules.choice'\nimport React from 'react'\nimport { Controller } from 'react-hook-form'\n\nexport interface CalculatorStepMultipleChoiceProps {\n fieldName: string\n name?: string\n label?: string\n options?: any[]\n control?: any\n}\nexport type ChoiceValue = string | number | boolean | Date | undefined\n\nexport const CalculatorStepMultipleChoice: React.FC =\n ({ name, label, options, fieldName, control }) => {\n return (\n (\n \n {\n if (value) {\n onChange(value)\n } else {\n onChange('')\n }\n }}\n options={options?.map(\n (option: any, index: number) => {\n return {\n id: `option-${index}`,\n label: option?.option_label,\n value: option?.option_label,\n }\n }\n )}\n size='md'\n spacing={3}\n />\n \n )}\n />\n )\n }\n","import React from 'react'\nexport interface CalculatorStepTextProps {\n props: any\n}\nexport const CalculatorStepText: React.FC = ({\n props,\n}) => {\n return
    CalculatorStepTextProps
    \n}\n","import { Box, FormLabel } from '@chakra-ui/react'\nimport { Controller } from 'react-hook-form'\nimport React from 'react'\nimport { occupations } from 'common/components/design-system/organisms/CalculatorCms/steps/CalculatorStepDropdown/occupations'\nimport Autocomplete from '@material-ui/lab/Autocomplete'\nimport { createStyles, Theme, makeStyles } from '@material-ui/core/styles'\nimport TextField from '@material-ui/core/TextField'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\n\nexport interface CalculatorStepDropdownProps {\n fieldName: string\n name?: string\n label?: string\n options?: any[]\n control?: any\n}\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n },\n input: {\n backgroundColor: 'var(--chakra-colors-brand-50)',\n '&:hover': {\n backgroundColor: '#F1F3FD',\n },\n '&$focused': {\n backgroundColor: '#F1F3FD',\n },\n disableUnderline: true,\n paddingLeft: '18px',\n borderStyle: 'solid',\n borderWidth: '1px', // Add this line\n borderRadius: 'var(--chakra-radii-md)',\n borderColor: 'var(--chakra-colors-brand-400)',\n height: 'var(--chakra-sizes-12)',\n paddingTop: '7px',\n },\n parent: {\n width: 'var(--chakra-sizes-full)',\n // maxWidth: '100%',\n },\n margin: {\n margin: theme.spacing(1),\n },\n })\n)\nexport const CalculatorStepDropdown: React.FC = ({\n name,\n label,\n options,\n fieldName,\n control,\n}) => {\n const classes = useStyles()\n return (\n (\n \n \n \n {label}\n \n \n {\n onChange(newValue?.value || '')\n }}\n renderInput={(params) => (\n \n )}\n getOptionLabel={(option) => option.label}\n />\n \n )}\n />\n )\n}\n","import { Box, Button, ButtonGroup, IconButton } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { MinusIcon, PlusIcon } from '@irishlife/ilgroupdesignsystem.icons'\nimport React, {useEffect} from 'react'\nimport AnimatedNumber from 'react-animated-number'\nimport { Controller } from 'react-hook-form'\nimport { formatValue } from './utils/stepsUtils'\nimport { HelperText } from './HelperText'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { isValid } from './../inputs/utils'\nexport interface CalculatorStepAdjustmentControls {\n isDisabled?: boolean\n label: string\n value?: number\n onDecrease: () => void\n onIncrease: () => void\n onReset?: () => void\n min?: number\n max?: number\n control?: any\n fieldName?: string\n errorMessage?: string\n defaultValue?: number\n stepSize: number\n inputtype: string\n helperText?: string\n formValues?: any\n errors?:any\n trigger?: any\n}\n\nexport const CalculatorStepAdjustmentControls: React.FC =\n ({\n control,\n isDisabled,\n fieldName,\n errorMessage,\n label,\n value,\n onDecrease,\n onIncrease,\n onReset,\n min,\n max,\n errors,\n trigger,\n stepSize,\n defaultValue,\n inputtype,\n helperText,\n formValues,\n }) => {\n const { state } = useCalculatorMachine()\n const calcType = state.context.calc_type\n useEffect(() => {\n trigger(fieldName);\n }, [trigger, formValues, value, fieldName]);\n return (\n <>\n \n isValid(value, fieldName, calcType, formValues) ? undefined : errorMessage,\n }}\n render={({ onChange, onBlur, value }) => (\n \n {label}\n \n }\n onClick={() => {\n onChange(value - stepSize)\n }}\n >\n -\n \n onReset?.()}\n >\n \n formatValue(value, inputtype)\n }\n value={value}\n />\n \n = max : false}\n aria-label='Increase'\n icon={}\n onClick={() => {\n onChange(value + stepSize)\n }}\n >\n +\n \n \n \n )}\n />\n \n \n )\n }\n","import numeral from 'numeral'\n\nexport const formatValue = (value: number, type: string) => {\n switch (type) {\n case 'percentage':\n return `${numeral(value).format('0')}%`\n case 'currency':\n return `€ ${numeral(value).format('0,0')}`\n default:\n return `${numeral(value).format('0')}`\n }\n}\n\nexport const getOccupationsList = (occupations: any) => {\n return occupations.filter((item: any) => {\n return item.BillPayOccupationClass !== 'D'\n })\n}\n\n\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { RichText } from 'common/components/molecules/RichText'\nimport _ from 'lodash'\nimport React from 'react'\nimport { CalculatorStepBinaryChoice } from './CalculatorStepBinaryChoice'\nimport { CalculatorStepInput } from './CalculatorStepInput'\nimport { CalculatorStepMultipleChoice } from './CalculatorStepMultipleChoice'\nimport { CalculatorStepText } from './CalculatorStepText'\nimport { CalculatorStepDropdown } from './CalculatorStepDropdown'\nimport { CalculatorStepAdjustmentControls } from './CalculatorStepAdjustmentControls'\nexport interface CalculatorStepProps {\n props: any\n fieldName: string\n register?: () => {}\n handleOnChange?: (name: string, event: any) => void\n control?: any\n error?: any\n defaultValue?: string\n formValues?: any\n trigger?: any\n}\nexport const CalculatorStep: React.FC = ({\n props,\n register,\n handleOnChange,\n control,\n errors,\n trigger,\n formValues,\n defaultValue = '',\n}) => {\n switch (props.type) {\n case 'calculatorstepbinarychoice':\n return (\n \n \n {props.helpertext && (\n \n )}\n \n )\n case 'calculatorstepmultiplechoice':\n return (\n \n \n {props.helpertext && (\n \n )}\n \n )\n case 'calculatorstepinput':\n return (\n \n \n \n )\n case 'calculatorstepdropdown':\n return (\n \n \n {/* {props.helpertext && (\n \n )} */}\n \n )\n case 'calculatorstepadjustmentcontrols':\n return (\n \n \n \n )\n case 'calculatorsteptext':\n default:\n return (\n \n \n {props.helpertext && (\n {props.helpertext}\n )}\n \n )\n }\n}\n","import { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { modifySteps } from 'common/components/organisms/Calculator/utils/modifySteps'\nimport { config } from 'common/components/organisms/Calculator/config/index'\nimport {\n CalculatorStep,\n CalculatorStepProps,\n} from 'common/components/organisms/Calculator/components/steps/CalculatorStep'\nimport { useForm } from 'react-hook-form'\nimport {\n CalculatorMachineEvent,\n InvestmentFormType,\n PensionFormType,\n} from 'common/components/organisms/Calculator/utils/interfaces'\n\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport React from 'react'\n\nexport interface AdjustmentFormProps {}\n\nexport const AdjustmentForm: React.FC = () => {\n const { send, state } = useCalculatorMachine()\n const calculatorSteps = modifySteps(state.context.initialQuestions)\n const { stepsTransformation } = config[state.context.calc_type]\n let transformedSteps = stepsTransformation(calculatorSteps)\n const {\n register,\n handleSubmit,\n control,\n watch,\n formState: { errors },\n } = useForm({\n shouldUnregister: false,\n mode: 'onSubmit',\n })\n const questions = transformedSteps?.[0].steps\n const formValues = watch()\n const onSubmit = (updatedValues: any) => {\n let user = {}\n if (state.context.formValues) {\n user = {\n ...state?.context?.formValues,\n initialAmount:\n updatedValues.initialAmount ||\n (state.context.formValues as InvestmentFormType)\n .initialAmount,\n monthlyAmount:\n updatedValues.monthlyAmount ||\n (state.context.formValues as InvestmentFormType)\n .monthlyAmount,\n noOfYears:\n updatedValues.noOfYears ||\n (state.context.formValues as InvestmentFormType).noOfYears,\n }\n }\n send({\n type: 'Get Adjusted Quote',\n payload: { user },\n } as CalculatorMachineEvent)\n }\n return (\n <>\n {\n onSubmit(formValues)\n })}\n >\n {questions.map((calculatorStep: CalculatorStepProps) => {\n const defaultValue =\n (state.context.formValues as PensionFormType | InvestmentFormType)[\n calculatorStep.fieldName as keyof (\n | PensionFormType\n | InvestmentFormType\n )\n ]\n return (\n \n )\n })}\n\n \n \n \n )\n}\n","import { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { debounce } from 'lodash'\nimport { useCallback, useEffect } from 'react'\nimport { atom, useRecoilState } from 'recoil'\nimport {\n CalculatorMachineEvent,\n IncomeProtectionFormType,\n} from 'common/components/organisms/Calculator/utils/interfaces'\nimport { GetStartedProps } from '../../../../common/GetStarted'\nimport { MoreInfoProps } from '../../../../common/MoreInfo'\n\nexport const incomeProtectionCalculatorState = atom({\n key: 'incomeProtectionCalculatorState',\n default: {\n income: 0,\n amountToProtect: 0,\n premium: 0,\n coveredIncome: 0,\n stateCover: 12732,\n },\n})\n\nexport function useIncomeProtectionCalculatorCalculator() {\n const [calcState, setCalcState] = useRecoilState(\n incomeProtectionCalculatorState\n )\n const { state, send } = useCalculatorMachine()\n\n useEffect(() => {\n if (state.context?.formValues) {\n const income = Number(\n (state.context.formValues as IncomeProtectionFormType).income ||\n 0\n )\n\n setCalcState({\n income,\n amountToProtect: Number(\n (state.context.formValues as IncomeProtectionFormType)\n .amountToProtect || 0\n ),\n premium: Number(\n (\n state.context as {\n quoteData?: { quoteData?: { prem?: number } }\n }\n ).quoteData?.quoteData?.prem ?? 0\n ),\n coveredIncome: Number(\n (income *\n Number(\n (\n state.context\n .formValues as IncomeProtectionFormType\n ).amountToProtect || 0\n )) /\n 100 -\n 12732\n ),\n stateCover: calcState.stateCover,\n })\n }\n }, [state.context, setCalcState, calcState.stateCover])\n\n const debouncedUpdate = useCallback(\n debounce((income, amountToProtect) => {\n let user = {}\n user = {\n ...state?.context?.formValues,\n income: income,\n amountToProtect: amountToProtect,\n }\n send({\n type: 'Get Adjusted Quote',\n payload: { user },\n } as CalculatorMachineEvent)\n }, 1500),\n []\n )\n\n const changeUserContribution = useCallback(\n (income, amountToProtect) => {\n debouncedUpdate(income, amountToProtect)\n },\n [debouncedUpdate]\n )\n\n const setYearlyIncome = useCallback(\n (income) => {\n setCalcState((oldState) => ({\n ...oldState,\n income: income,\n }))\n changeUserContribution(income, calcState.amountToProtect)\n },\n [setCalcState, calcState.amountToProtect, changeUserContribution]\n )\n\n const setAmountToProtect = useCallback(\n (amountToProtect) => {\n setCalcState((oldState) => ({\n ...oldState,\n amountToProtect: amountToProtect,\n }))\n changeUserContribution(calcState.income, amountToProtect)\n },\n [setCalcState, calcState.income, changeUserContribution]\n )\n\n return {\n state: calcState,\n actions: {\n setYearlyIncome,\n setAmountToProtect,\n },\n }\n}\n\nexport const getStarted: GetStartedProps = {\n title: 'Next Steps',\n phoneNumber: '(01) 704 1104',\n bodyText: 'This indicative quote from Irish Life Financial Services is for a Income Protection policy provided by Irish Life Assurance plc and is subject to further assessment of health status. This assessment may result in an increase in the cost of cover. Irish Life Assurance plc is regulated by the Central Bank of Ireland.',\n secondaryCTALabel: 'Learn about Income Protection',\n secondaryCTALink: '/life-insurance/income-protection',\n link: '/book-an-appointment-page?campaignIdAdvisorBlock=income_protection_calc_quotescreen',\n linkLabel: 'Book an appointment',\n isPhoneNumber: false\n}\n\nexport const getModelContent = () => {\n return `
    How your income is covered
    \n

    Income Protection can replace your monthly income by up to 75% of your earnings after an accident or illness.

    \n


    \n
    Covered by your plan
    \n

    This is the amount that is covered by your income protection plan.

    \n


    \n
    Not covered
    \n

    This is the amount that is not covered as you can only cover up to 75% of your annual earnings.

    \n


    \n
    Covered by benefits
    \n

    This is the amount that may be covered by the state and other benefit plans.

    \n


    `\n}\n\nexport const moreInfoProps: MoreInfoProps = {\n modalContent: getModelContent(),\n buttonLabel: 'More information',\n img: 'https://assets-eu-01.kc-usercontent.com/ffd8d21b-ebd4-0151-55d5-297335c8f50f/f2023879-48b2-416f-8c20-e66002e8d1c3/question%20mark.svg',\n imgAltText: 'question mark icon'\n}","import React from 'react'\nimport { Box, Flex, VStack, Square } from '@chakra-ui/react'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { useIncomeProtectionCalculatorCalculator } from '../utils/useIncomeProtectionCalculator'\n\nexport default function Charts() {\n const {\n state: { income, coveredIncome, stateCover },\n } = useIncomeProtectionCalculatorCalculator()\n const amountNotCovered = income - coveredIncome - stateCover\n const heightOfNotCovered = (amountNotCovered / income) * 131\n const heightOfCovered = (coveredIncome / income) * 131\n const heightOfStateCovered = (stateCover / income) * 131\n return (\n \n \n \n \n \n \n \n \n \n\n \n \n Covered by your plan\n \n \n {`€${coveredIncome.toLocaleString()}`}\n \n \n \n \n \n \n Not covered\n \n {`€${amountNotCovered.toLocaleString()}`}\n \n \n \n \n \n\n \n Covered by benefits\n \n {`€${stateCover.toLocaleString()}`}\n \n \n \n \n \n )\n}\n","export const quoteCardData = {\n assumptions: {\n id: 1,\n props: {\n label: `Assumptions`,\n data: [\n `Your retirement age is 55 and this is the age the cover will cease.`,\n `The deferred period is 26 weeks.`,\n `You have no children.`,\n `You pay income tax at a rate of 40%`,\n `You want the cover to increase with inflation.`,\n `You have no existing income protection cover`,\n `You are entitled to any state disability benefit`\n ],\n },\n },\n}\n","import { Box } from '@chakra-ui/react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport React from 'react'\nimport { quoteCardData } from '../../../config'\n\nexport interface AssumptionsCardProps { }\n\nexport const AssumptionsCard: React.FC = () => {\n return (\n \n \n \n {quoteCardData.assumptions.props.label}\n \n \n This calculation has been made using the following\n assumptions:\n \n
      \n {quoteCardData.assumptions.props.data.map((item) => (\n
    • \n {item}\n
    • \n ))}\n
    \n
    \n
    \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport React from 'react'\nimport {\n getOccupationClass,\n} from 'common/components/organisms/Calculator/config/incomeProtection'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { IncomeProtectionFormType } from '../../../../../../utils/interfaces'\nexport interface YourDetailsCardProps {\n income: number\n amountToProtect: number\n}\nexport const YourDetailsCard: React.FC = ({\n income,\n amountToProtect,\n}) => {\n const { state } = useCalculatorMachine()\n const occupation = getOccupationClass(\n (state.context.formValues as IncomeProtectionFormType).occupation\n )\n return (\n \n \n Your details\n \n Salary/income:\n \n {`€${income.toLocaleString()}`}\n \n \n \n Self employed:\n \n {(state.context.formValues as IncomeProtectionFormType)\n ?.employmentStatus === 'Y'\n ? 'Yes'\n : 'No'}\n \n \n \n \n Amount of income to protect:\n \n \n {`${amountToProtect.toLocaleString()}%`}\n \n \n \n Retirement age:\n \n 55\n \n \n \n Occupation:\n \n {occupation?.label}\n \n \n \n Smoker:\n \n {(state.context.formValues as IncomeProtectionFormType)\n ?.isSmoker === 'Y'\n ? 'Yes'\n : 'No'}\n \n \n \n Deferred period:\n \n 26 weeks\n \n \n \n Increase with inflation:\n \n Yes\n \n \n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { PhoneIcon } from '@irishlife/ilgroupdesignsystem.icons'\nimport React from 'react'\nimport { quoteScreenAnalytics } from '../../../config/analytics'\nimport { useCalculatorMachine } from '../../../utils/context'\n\nexport interface GetStartedProps {\n title: string\n subtitle?: string\n phoneNumber: string\n bodyText?: string\n secondaryCTALabel?: string\n secondaryCTALink?: string\n isPhoneNumber?: boolean\n link?: string\n linkLabel?: string\n}\n\nexport const GetStarted: React.FC = ({ ...props }) => {\n const { title,\n subtitle,\n phoneNumber,\n bodyText,\n secondaryCTALabel,\n secondaryCTALink,\n isPhoneNumber = true,\n link,\n linkLabel } = props\n const phone = `tel: +353${phoneNumber}`\n const { state } = useCalculatorMachine()\n const calcType = state.context.calc_type\n return (\n \n {title}\n \n {subtitle && (\n \n {subtitle}\n \n )}\n \n {isPhoneNumber && ( quoteScreenAnalytics(calcType, getAnalyticsParams(phoneNumber, `#${phoneNumber}`, 'click_To_Call'), isPhoneNumber)}>\n \n }\n variant='primary'\n size='md'\n >\n {`Call us ${phoneNumber}`}\n \n\n )}\n {!isPhoneNumber && (\n quoteScreenAnalytics(calcType, getAnalyticsParams(linkLabel || '', `#${link}`, 'primary_cta_click'))}>\n \n {linkLabel}\n \n\n )}\n \n\n {secondaryCTALabel && (\n quoteScreenAnalytics(calcType, getAnalyticsParams(secondaryCTALabel, `#${secondaryCTALink}`, 'secondary_CTA_Click'))}>\n \n {secondaryCTALabel}\n \n \n )}\n\n {bodyText && (\n \n {bodyText}\n \n )}\n \n \n )\n}\n\nconst getAnalyticsParams = (text: string, url: string, id: string) => {\n return {\n text: text,\n url: url,\n analyticsId: id\n }\n}\n","import { createIcon } from '@chakra-ui/react'\nimport React from 'react'\nconst AddCircleIcon = createIcon({\n displayName: 'AddCircleIcon',\n viewBox: '0 0 24 24',\n path: [\n ,\n ,\n ],\n})\n\nAddCircleIcon.displayName = 'AddCircleIcon'\n\nexport default AddCircleIcon\n","import {\n Flex,\n Modal,\n ModalBody,\n ModalCloseButton,\n ModalContent,\n ModalFooter,\n ModalOverlay,\n useDisclosure,\n} from '@chakra-ui/react'\nimport React from 'react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { RichText } from 'common/components/molecules/RichText'\nimport AddCircleIcon from './AddCircle'\n\nexport interface MoreInfoProps {\n modalContent: string\n buttonLabel: string\n img?: string\n imgAltText?: string\n}\n\nexport const MoreInfo: React.FC = ({\n modalContent,\n buttonLabel,\n img,\n imgAltText\n}) => {\n const { isOpen, onOpen, onClose } = useDisclosure()\n const finalRef = React.useRef(null)\n const handleHelpButton = () => {\n onOpen()\n }\n // const modalContent = getModelContent()\n return (\n \n <>\n : undefined}\n onClick={handleHelpButton}\n >\n {img && ()}\n {buttonLabel}\n \n \n \n \n \n \n \n \n \n \n Close\n \n \n \n \n \n \n )\n}\n\n// export const getModelContent = () => {\n// return `
    How your income is covered
    \n//

    Income Protection can replace your monthly income by up to 75% of your earnings after an accident or illness.

    \n//


    \n//
    Covered by your plan
    \n//

    This is the amount that is covered by your income protection plan.

    \n//


    \n//
    Covered by benefits
    \n//

    This is the amount that may be covered by the state and other benefit plans.

    \n//


    \n//
    Not covered
    \n//

    This is the amount that is not covered as you can only cover up to 75% of your annual earnings.

    \n//


    `\n// }","import { Flex, Box, Divider } from '@chakra-ui/react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport React from 'react'\nimport Charts from './components/charts'\nimport { AdjustmentControls } from '../../../PensionCalculatorQuote/components/PensionCalculatorOutput/components/AdjustmentControls'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { useIncomeProtectionCalculatorCalculator, getStarted } from './utils/useIncomeProtectionCalculator'\nimport { getNextContribution } from '../../../PensionCalculatorQuote/components/PensionCalculatorOutput/utils/getNextContribution'\nimport { AssumptionsCard } from './components/AssumptionsCard'\nimport { YourDetailsCard } from './components/YourDetailsCard'\nimport { RichText } from 'common/components/molecules/RichText'\nimport { Loading } from 'common/components/organisms/Calculator/components/quoteComponents/Loading'\nimport { GetStarted } from '../../../common/GetStarted'\nimport { MoreInfo } from '../../../common/MoreInfo'\nimport { moreInfoProps } from './utils/useIncomeProtectionCalculator'\n\nexport interface IncomeProtectionCalculatorOutputProps { }\n\nexport const IncomeProtectionCalculatorOutput: React.FC =\n () => {\n const { state } = useCalculatorMachine()\n const isRefetching = state.matches('Refetching Quote Details')\n const {\n state: {\n income,\n amountToProtect,\n premium,\n coveredIncome,\n stateCover,\n },\n actions: { setYearlyIncome, setAmountToProtect }\n } = useIncomeProtectionCalculatorCalculator()\n return (\n <>\n \n \n {' '}\n Your quote{' '}\n \n {isRefetching ? (\n \n ) : (\n <>\n \n \n {`€ ${premium.toLocaleString()}`}{' '}\n \n \n /per month\n \n \n How your income is covered:\n \n \n \n )}\n\n \n Change amounts\n \n setYearlyIncome(\n getNextContribution(income, false)\n )\n }\n onIncrease={() =>\n setYearlyIncome(\n getNextContribution(income, true)\n )\n }\n />\n \n setAmountToProtect(amountToProtect - 1)\n }\n onIncrease={() =>\n setAmountToProtect(amountToProtect + 1)\n }\n />\n \n \n \n \n Your annual benefit\n \n Your annual income protection benefit is{' '}\n {`€${coveredIncome.toLocaleString()}`}\n \n \n What this means:\n \n \n {` To protect ${amountToProtect.toLocaleString()}% (€${(\n coveredIncome + stateCover\n ).toLocaleString()}) of your total income of\n €${income.toLocaleString()} you need to insure €${coveredIncome.toLocaleString()}. The remaining\n €${stateCover.toLocaleString()} is covered by the state.`}\n \n \n \n \n \n \n \n \n \n )\n }\n","import { Box } from '@chakra-ui/react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport React from 'react'\n\nexport interface ValidityCardProps {}\n\nexport const ValidityCard: React.FC = () => {\n return (\n <>\n \n \n Validity\n \n \n This quote is valid for 7 days or until your next\n birthday, whichever comes sooner.\n \n \n This product is based on our{' '}\n \n Personal Income Insurance product.\n \n \n \n \n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport React from 'react'\nimport numeral from 'numeral'\n\nexport interface QuoteBreakdownProps {\n quoteData: any\n}\n\nexport const QuoteBreakdown: React.FC = ({\n quoteData,\n}) => {\n const costOfQuote =\n Number(quoteData?.premInclLevy) -\n Number(quoteData?.fee) -\n Number(quoteData?.levy)\n return (\n \n Your quote breakdown\n \n Cost of protection cover:\n \n {`€${numeral(costOfQuote).format('0.00')}`}\n \n \n \n Irish Life Policy Fee:\n \n {`€${quoteData?.fee?.toLocaleString()}`}\n \n \n \n 1% Government Levy:\n \n {`€${quoteData?.levy?.toLocaleString()}`}\n \n \n \n )\n}\n","import {\n Box,\n FormLabel,\n InputGroup,\n InputRightElement,\n InputLeftElement,\n Flex,\n} from '@chakra-ui/react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport {\n DetailsFillIcon,\n CheckIcon,\n} from '@irishlife/ilgroupdesignsystem.icons'\nimport React from 'react'\nimport { useForm, Controller } from 'react-hook-form'\nimport NumberFormat from 'react-number-format'\nimport { getStyles } from '../../../styles/getStyles'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\n\nexport interface AdjustmentFormProps {\n onSubmit: (data: any) => void\n peopleCovered: string\n coverNeeded: string\n term: string\n}\n\nexport const AdjustmentForm: React.FC = ({ ...props }) => {\n const { onSubmit, peopleCovered, coverNeeded, term } = props\n\n const { handleSubmit, control } = useForm()\n\n return (\n \n
    \n \n (\n \n \n \n Amount covered\n \n \n \n \n \n \n \n €\n \n \n onChange(value)\n }\n defaultValue={coverNeeded}\n name={'coverNeeded'}\n />\n\n \n \n \n \n \n \n \n )}\n />\n \n \n (\n \n \n \n Term (in years)\n \n \n \n \n \n \n \n onChange(value)\n }\n defaultValue={term}\n name={'term'}\n />\n \n \n \n \n \n \n \n )}\n />\n \n \n \n \n \n People covered\n \n {peopleCovered}\n \n \n \n \n \n \n
    \n )\n}\n","import React from 'react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { Flex, Divider } from '@chakra-ui/react'\nimport { Loading } from 'common/components/organisms/Calculator/components/quoteComponents/Loading'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { QuoteBreakdown } from './QuoteBreakdown'\nimport { GetStarted, GetStartedProps } from './GetStarted'\nimport { AdjustmentForm, AdjustmentFormProps } from './AdjustmentForm'\nexport interface CalculatorQuoteDisplayProps {\n getStarted: GetStartedProps\n adjustmentFormProps: AdjustmentFormProps\n}\n\nexport const CalculatorQuoteDisplay: React.FC = ({\n ...props\n}) => {\n const { getStarted, adjustmentFormProps } = props\n const { state } = useCalculatorMachine()\n\n const isRefetching = state.matches('Refetching Quote Details')\n const quoteData = state.context.quoteData.quoteData\n\n return (\n <>\n \n \n {' '}\n Your quote{' '}\n \n {isRefetching ? (\n \n ) : (\n <>\n \n \n {`€ ${quoteData?.premInclLevy?.toLocaleString()}`}{' '}\n \n \n /per month\n \n \n \n \n \n \n \n \n )}\n \n \n )\n}\n","import React from 'react'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { GetStartedProps } from '../../common/GetStarted'\nimport { AdjustmentFormProps } from '../../common/AdjustmentForm'\nimport {\n TermLifeFormType,\n CalculatorMachineEvent,\n} from 'common/components/organisms/Calculator/utils/interfaces'\nimport {\n CalculatorQuoteDisplay,\n CalculatorQuoteDisplayProps,\n} from '../../common/CalculatorQuoteDisplay'\nexport interface TermLifeCalculatorOutputProps {}\n\nexport const TermLifeCalculatorOutput: React.FC =\n () => {\n const { state, send } = useCalculatorMachine()\n const formValues = state.context.formValues as TermLifeFormType\n const getStarted: GetStartedProps = {\n title: 'Get Started',\n subtitle:\n 'Our expert financial advisors are on hand to help you get started.',\n phoneNumber: '(01) 704 1104',\n bodyText: `This indicative quote from Irish Life Financial Services is\n for a Term Life Insurance policy from Irish Life Assurance\n plc and is subject to further assessment of health status.\n This assessment may result in an increase in the cost of\n cover. Irish Life Assurance plc, trading as Irish Life, is\n regulated by the Central Bank of Ireland.`,\n }\n const onSubmit = (data: any) => {\n if (!data.coverNeeded && !data.term) {\n return\n }\n let user = {}\n if (state.context.formValues) {\n user = {\n ...state?.context?.formValues,\n coverNeeded: data.coverNeeded || formValues.coverNeeded,\n maxAge: +data.term\n ? +formValues.age + +data.term\n : formValues.maxAge,\n }\n }\n send({\n type: 'Get Adjusted Quote',\n payload: { user },\n } as CalculatorMachineEvent)\n }\n const adjustmentFormProps: AdjustmentFormProps = {\n onSubmit,\n coverNeeded: formValues.coverNeeded,\n term: (+formValues.maxAge - +formValues.age).toString(),\n peopleCovered: 'Single person',\n }\n const quoteDisplayProps: CalculatorQuoteDisplayProps = {\n getStarted,\n adjustmentFormProps,\n }\n return \n }\n","import { Box } from '@chakra-ui/react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport React from 'react'\n\nexport interface ValidityCardProps {\n title: string\n description: string\n}\n\nexport const ValidityCard: React.FC = (validity) => {\n return (\n \n \n {validity?.title}\n \n {validity?.description}\n \n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport React from 'react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { PhoneIcon } from '@irishlife/ilgroupdesignsystem.icons'\nexport interface HaveAQuestionCardProps {\n phoneNumber?: string\n}\n\nexport const HaveAQuestionCard: React.FC = ({phoneNumber= '(01)7041979'}) => {\n const phone = `tel: +353${phoneNumber}`\n return (\n \n \n \n Have a question about your quote?\n \n \n \n Call us if you have any questions about your quote.\n \n \n \n }\n variant='primary'\n size='md'\n >\n {`Call us ${phoneNumber}`}\n \n \n \n \n \n )\n}\n","import React from 'react'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { GetStartedProps } from '../../common/GetStarted'\nimport { AdjustmentFormProps } from '../../common/AdjustmentForm'\nimport {\n MortgageProtectionFormType,\n CalculatorMachineEvent,\n} from 'common/components/organisms/Calculator/utils/interfaces'\nimport {\n CalculatorQuoteDisplay,\n CalculatorQuoteDisplayProps,\n} from '../../common/CalculatorQuoteDisplay'\n\nexport interface MortgageProtectionOutputProps {}\n\nexport const MortgageProtectionOutput: React.FC =\n () => {\n const { state, send } = useCalculatorMachine()\n const formValues = state.context\n .formValues as MortgageProtectionFormType\n\n const getStarted: GetStartedProps = {\n title: 'Get Started',\n subtitle:\n 'You don’t have to wait until your mortgage is drawn down to begin.',\n phoneNumber: '(01) 704 1104',\n bodyText:\n 'This indicative quote from Irish Life Financial Services is for a Mortgage Protection policy from Irish Life Assurance plc and is subject to further assessment of health status. This assessment may result in an increase in the cost of cover. Irish Life Assurance plc, trading as Irish Life, is regulated by the Central Bank of Ireland.',\n }\n const onSubmit = (data: any) => {\n if (!data.coverNeeded && !data.term) {\n return\n }\n let user = {}\n if (state.context.formValues) {\n user = {\n ...state?.context?.formValues,\n coverNeeded: data.coverNeeded || formValues.coverNeeded,\n term: data.term || formValues.term,\n }\n }\n send({\n type: 'Get Adjusted Quote',\n payload: { user },\n } as CalculatorMachineEvent)\n }\n const adjustmentFormProps: AdjustmentFormProps = {\n onSubmit,\n coverNeeded: formValues.coverNeeded,\n term: formValues.term,\n peopleCovered:\n formValues.coverFor === '1' ? 'One person' : 'Two people',\n }\n\n const quoteDisplayProps: CalculatorQuoteDisplayProps = {\n getStarted,\n adjustmentFormProps,\n }\n return \n }\n","import { OnePlanFormType } from 'common/components/organisms/Calculator/utils/interfaces'\nimport { getOnePlanCovers } from 'common/components/organisms/Calculator/utils/onePlanConfig'\nimport { GetStartedProps } from './../../../common/GetStarted'\nimport { ValidityCardProps } from './../../../common/ValidityCard'\nimport numeral from 'numeral'\nimport { MoreInfoProps } from '../../../common/MoreInfo'\n\nexport const getBillCoverAmount = (formValues: OnePlanFormType) => {\n const combinedIncome = formValues.income2\n ? Number(formValues.income1) + Number(formValues.income2)\n : Number(formValues.income1)\n\n // Bill Cover to max of 40% of combined income\n const billCoverAmountMax = combinedIncome * 0.4\n const billCoverAmountTotal = formValues.mortgagePayment\n ? Math.min(billCoverAmountMax, Number(formValues.mortgagePayment))\n : billCoverAmountMax\n\n // Bill Cover to be split between partners in the event of a joint policy\n const billCoverAmtBeforeUtilities =\n formValues.jointLife === 'Y'\n ? billCoverAmountTotal / 2\n : billCoverAmountTotal\n const billCoverAmount = billCoverAmtBeforeUtilities + 400\n return billCoverAmount\n}\nconst findIfApplicable = (\n FormValues: OnePlanFormType,\n cover1: any,\n cover2: any\n) => {\n if (FormValues.jointLife === 'Y') {\n return cover1 !== 0 || cover2 !== 0\n } else {\n return cover1 !== 0\n }\n}\nconst ifBillCoverApplicable = (FormValues: OnePlanFormType) => {\n if (FormValues.jointLife === 'Y') {\n return (\n FormValues.isAddtionalProtectionBillCover !== 'Y' ||\n FormValues.isAddtionalProtectionBillCover2 !== 'Y'\n )\n } else {\n return FormValues.isAddtionalProtectionBillCover !== 'Y'\n }\n}\nconst addValues = (val?: string, val2?: string) => {\n let first = val ? parseFloat(val) : 0,\n second = val2 ? parseFloat(val2) : 0\n let result = first + second\n return result.toFixed(2)\n}\nexport const getOnePlanColumns = (state: any) => {\n const formValues = state.context.formValues as OnePlanFormType\n const quoteData = state.context.quoteData\n const covers = getOnePlanCovers(formValues)\n\n const billCoverAmount = numeral(getBillCoverAmount(formValues)).format(\n '0,000'\n )\n let funeralCover\n if (formValues.isMarried === 'N' && formValues.childNum < 1) {\n funeralCover = 'Y'\n }\n return {\n columns: [\n {\n title: 'Standard',\n modalContent: getModelContent(quoteData.standardQuoteData),\n price: `€${Number(\n quoteData?.standardQuoteData?.premInclLevy\n ).toFixed(2)}`,\n\n data: {\n heading: 'Standard',\n items: [\n {\n isApplicable: findIfApplicable(\n formValues,\n covers.decreasingLifeCover1?.StandardPlan,\n covers.decreasingLifeCover2?.StandardPlan\n ),\n title: 'Decreasing life cover',\n yourCover: covers.decreasingLifeCover1?.StandardPlan\n ? `€${numeral(\n covers.decreasingLifeCover1?.StandardPlan\n ).format('0,000')}`\n : 'Not applicable',\n partnerCover:\n covers.decreasingLifeCover2?.StandardPlan !== 0\n ? `€${numeral(\n covers.decreasingLifeCover2\n ?.StandardPlan\n ).format('0,000')} \\n\n (50% of the gap in life cover)`\n : 'Not applicable',\n },\n {\n isApplicable: ifBillCoverApplicable(formValues),\n title: 'Bill cover',\n yourCover:\n formValues.isAddtionalProtectionBillCover ===\n 'Y'\n ? 'Not Applicable'\n : `€${billCoverAmount} per month up to ${covers.billCover1?.StandardPlan} years`,\n partnerCover:\n formValues.isAddtionalProtectionBillCover2 ===\n 'Y'\n ? 'Not Applicable'\n : `€${billCoverAmount} per month up to ${covers.billCover2?.StandardPlan} years`,\n },\n {\n isApplicable: findIfApplicable(\n formValues,\n covers.specifiedIllness1?.StandardPlan,\n covers.specifiedIllness2?.StandardPlan\n ),\n title: 'Specified illness cover',\n yourCover:\n covers.specifiedIllness1?.StandardPlan !== 0\n ? `€${numeral(\n covers.specifiedIllness1.StandardPlan\n ).format('0,000')}`\n : 'Not applicable',\n partnerCover:\n covers.specifiedIllness2?.StandardPlan !== 0\n ? `€${numeral(\n covers.specifiedIllness2?.StandardPlan\n ).format(\n '0,000'\n )} \\n (Six months net salary)`\n : 'Not applicable',\n },\n {\n isApplicable: funeralCover === 'Y',\n title: 'Funeral cover',\n yourCover: '€10,000',\n partnerCover: '€10,000',\n },\n ],\n },\n },\n {\n title: 'Essential',\n modalContent: getModelContent(quoteData.essentialQuoteData),\n price: `€${Number(\n quoteData?.essentialQuoteData?.premInclLevy\n ).toFixed(2)}`,\n data: {\n heading: 'Essential',\n items: [\n {\n isApplicable: findIfApplicable(\n formValues,\n covers.decreasingLifeCover1?.EssentialPlan,\n covers.decreasingLifeCover2?.EssentialPlan\n ),\n title: 'Decreasing life cover',\n yourCover:\n covers.decreasingLifeCover1?.EssentialPlan !== 0\n ? `€${numeral(\n covers.decreasingLifeCover1\n ?.EssentialPlan\n ).format('0,000')}`\n : 'Not applicable',\n partnerCover:\n covers.decreasingLifeCover2?.EssentialPlan !== 0\n ? `€${numeral(\n covers.decreasingLifeCover2\n ?.EssentialPlan\n ).format(\n '0,000'\n )} \\n (75% of the gap in life cover)`\n : 'Not applicable',\n },\n {\n isApplicable: ifBillCoverApplicable(formValues),\n title: 'Bill cover',\n yourCover:\n formValues.isAddtionalProtectionBillCover ===\n 'Y'\n ? 'Not aplicable'\n : `€${billCoverAmount} per month up to ${covers.billCover1?.EssentialPlan} years`,\n partnerCover:\n formValues.isAddtionalProtectionBillCover2 ===\n 'Y'\n ? 'Not Applicable'\n : `€${billCoverAmount} per month up to ${covers.billCover2?.EssentialPlan} years`,\n },\n {\n isApplicable: findIfApplicable(\n formValues,\n covers.specifiedIllness1?.EssentialPlan,\n covers.specifiedIllness2?.EssentialPlan\n ),\n title: 'Specified illness cover',\n yourCover:\n covers.specifiedIllness1?.EssentialPlan !== 0\n ? `€${numeral(\n covers.specifiedIllness1.EssentialPlan\n ).format('0,000')}`\n : 'Not applicable',\n partnerCover:\n covers.specifiedIllness2?.EssentialPlan !== 0\n ? `€${numeral(\n covers.specifiedIllness2\n ?.EssentialPlan\n ).format(\n '0,000'\n )} \\n (One year net salary)`\n : 'Not applicable',\n },\n {\n isApplicable: funeralCover === 'Y',\n title: 'Funeral cover',\n yourCover: '€10,000',\n partnerCover: '€10,000',\n },\n ],\n },\n },\n {\n title: 'Comprehensive',\n modalContent: getModelContent(quoteData.comprehensiveQuoteData),\n price: `€${Number(\n quoteData?.comprehensiveQuoteData?.premInclLevy\n ).toFixed(2)}`,\n data: {\n heading: 'Comprehensive',\n items: [\n {\n isApplicable: findIfApplicable(\n formValues,\n covers.decreasingLifeCover1?.ComprehensivePlan,\n covers.decreasingLifeCover2?.ComprehensivePlan\n ),\n title: 'Decreasing life cover',\n yourCover:\n covers.decreasingLifeCover2\n ?.ComprehensivePlan !== 0\n ? `€${numeral(\n covers.decreasingLifeCover1\n ?.ComprehensivePlan\n ).format('0,000')}`\n : 'Not applicable',\n partnerCover:\n covers.decreasingLifeCover2\n ?.ComprehensivePlan !== 0\n ? `€${numeral(\n covers.decreasingLifeCover2\n ?.ComprehensivePlan\n ).format(\n '0,000'\n )} \\n (75% of the gap in life cover)`\n : 'Not applicable',\n },\n {\n isApplicable: ifBillCoverApplicable(formValues),\n title: 'Bill cover',\n yourCover:\n formValues.isAddtionalProtectionBillCover ===\n 'Y'\n ? 'Not applicable'\n : `€${billCoverAmount} per month up to ${covers.billCover1?.ComprehensivePlan} years`,\n partnerCover:\n formValues.isAddtionalProtectionBillCover2 ===\n 'Y'\n ? 'Not Applicable'\n : `€${billCoverAmount} per month up to ${covers.billCover2?.ComprehensivePlan} years`,\n },\n {\n isApplicable: findIfApplicable(\n formValues,\n covers.specifiedIllness1?.ComprehensivePlan,\n covers.specifiedIllness2?.ComprehensivePlan\n ),\n title: 'Specified illness cover',\n yourCover:\n covers.specifiedIllness1?.ComprehensivePlan !==\n 0\n ? `€${numeral(\n covers.specifiedIllness1\n .ComprehensivePlan\n ).format('0,000')}`\n : 'Not applicable',\n partnerCover:\n covers.specifiedIllness2?.ComprehensivePlan !==\n 0\n ? `€${numeral(\n covers.specifiedIllness2\n ?.ComprehensivePlan\n ).format(\n '0,000'\n )} \\n (Two year net salary)`\n : 'Not applicable',\n },\n {\n isApplicable: funeralCover === 'Y',\n title: 'Funeral cover',\n yourCover: '€10,000',\n partnerCover: '€10,000',\n },\n ],\n },\n },\n ],\n }\n}\n\n\nconst getModelContent = (data: any) => {\n return `
    Decreasing Life Cover
    \n

    Pays a lump sum if anyone covered on the plan dies. The cover will decrease each year because the amount of replacement income your family needs reduces over time.

    \n


    \n
    Bill Cover
    \n

    Pays your essential monthly bills if the person covered cannot work because of an illness or injury while employed. You will not be able to claim if you become unemployed for more than one month and your claim may be limited if living abroad at the time of your claim.

    \n


    \n
    Specified Illness Cover
    \n

    Pays a lump sum if you are diagnosed with one of the illness covered on the plan.

    \n


    \n
    Funeral Cover
    \n

    A lump sum payment to help your family cover the cost of your funeral and other related expenses.

    \n


    \n
    Price Breakdown (per month)
    \n

    Cost of Decreasing Life Cover: €${addValues(\n data?.lifeCoverPrem1,\n data?.lifeCoverPrem2\n )}
    \nCost of Bill Cover: €${addValues(data?.billPayPrem1, data?.billPayPrem2)}
    \nCost of Illness Cover: €${addValues(\n data?.sicCoverPrem1,\n data?.sicCoverPrem2\n )}
    \nIrish Life Policy Fee: €${Number(data?.fee).toFixed(2)}
    \n1% Government Levy: €${Number(data?.levy).toFixed(2)}
    \nTotal: €${Number(data?.premInclLevy).toFixed(2)}

    \n


    `\n}\nexport const moreInfo = (data: string): MoreInfoProps => {\n return {\n modalContent: data,\n buttonLabel: 'See costs & benefits'\n }\n\n}\nexport const getStarted: GetStartedProps = {\n title: 'Next Steps',\n subtitle:\n 'Speak to an advisor to help get started or for help with your quote.',\n phoneNumber: '(01) 704 1104',\n}\nexport const benefits = [\n `98.6% of death claims paid (2023)`,\n `Supporting 8,000+ families with claims (2023)`,\n `80 years looking after the needs of people in Ireland (2023)`,\n]\nexport const benefitsTitle = `Why choose Irish Life Assurance?`\nexport const validity: ValidityCardProps = {\n title: 'Validity',\n description: `This quote is valid for 7 days or until your next birthday, whichever is sooner and is subject to no changes to the applicable regulatory or tax rules within that period. You must keep up payments to stay on cover. This planner gives general guidance, but is not individual financial advice. We recommend you discuss your full circumstances and the cover with our of our qualified financial advisors.`,\n}\nexport const RiskCard: ValidityCardProps = {\n title: 'Risk associated with this quote',\n description: `See cover requirements section below for further detail on the calculation and assumptions for recommended cover levels.\nThis assessment may result in an increase in the cost of cover. Irish Life Assurance plc is regulated by the Central Bank of Ireland. This indicative quote from Irish Life Financial Services is for a OnePlan protection policy from Irish Life Assurance plc and is subject to further assessment of health status.`,\n}\nexport const coverRequirements = {\n accordion_section__title: 'Cover Requirements',\n accordion_section__items: [\n {\n id: 1,\n heading: 'Decreasing life cover',\n children_test: `

    \n Lump sum paid on death - The gap in\n cover is calculated by taking your net income, minus\n state benefits and any mortgage payments covered by\n mortgage protection multiplied by the term. If you have\n a mortgage, we assume that you have mortgage protection\n in place. Protection Term is calculated on your youngest\n child reaching age 25 or the remaining term of your\n mortgage. State widows benefit of €1,029 plus an\n additional €199 for each child per month is assumed. The\n level of state benefit is dependent on the number of\n PRSI contributions-we assume 48 or more in this\n instance.\n

    `,\n },\n {\n id: 2,\n heading: 'Bill cover',\n children_test: `

    Pays regular amount if unable to work due to injury or\n illness - The recommended cover is calculated by adding\n your monthly mortgage or rent amount, plus €400 for\n essential bills such as gas, electricity etc. The amount\n of cover is capped at €2,000 or 40% of monthly net\n income, whichever is lower. Term is based on your\n youngest child reaching 25 or the remaining of your\n mortgage term.

    `,\n },\n {\n id: 3,\n heading: 'Specified illness cover',\n children_test: `

    The recommended cover is calculated at two year's net\n salary. Term is based on your youngest child reaching age\n 25 or a term of 20 years if no children under the age of\n 25. If you are over 65 years of age, you are not\n eligible for this benefit.

    `,\n },\n ],\n}\n","import React from 'react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { AccordionSection } from 'common/components/organisms/templateSections/AccordionSection'\nimport { coverRequirements } from './../utils/helperFunctions'\nexport interface CoverRequirementProps {}\n\nexport const CoverRequirement: React.FC = () => {\n return (\n \n \n \n )\n}\n","import React from 'react'\nimport { Box, HStack } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nexport interface QuoteCardHeadersProps {\n columns: any\n columnClass: any\n handleHeaderClick: any\n}\nexport const QuoteCardHeaders: React.FC = ({\n columns,\n columnClass,\n handleHeaderClick,\n}) => {\n return (\n <>\n \n {columns.map((item: any, index: any) => {\n return (\n handleHeaderClick(item, index)}\n >\n \n {item.title}\n \n \n {item.price}\n \n \n )\n })}\n \n \n )\n}\n","import React from 'react'\nimport {\n Box,\n Flex,\n Divider,\n Image,\n} from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { CheckIcon, CloseIcon } from '@irishlife/ilgroupdesignsystem.icons'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { OnePlanFormType } from 'common/components/organisms/Calculator/utils/interfaces'\nimport { MoreInfo } from '../../../common/MoreInfo'\nimport { moreInfo } from '../utils/helperFunctions'\nexport interface CoverDetail {\n isApplicable: boolean\n title: string\n yourCover: string\n partnerCover: string\n}\n\nexport interface QuoteCardProps {\n coverDetails: any\n}\n\nexport const QuoteCard: React.FC = ({ coverDetails }) => {\n const { data, modalContent } = coverDetails\n const moreInfoProps = moreInfo(modalContent)\n const { state } = useCalculatorMachine()\n const formValues = state.context.formValues as OnePlanFormType\n return (\n \n \n \n \n \n {data.heading}\n \n \n \n \n {data.items.map((coverDetail: any, index: any) => {\n if (coverDetail.isApplicable) {\n return (\n \n \n \n \n \n {coverDetail.title}\n \n \n You:{' '}\n {coverDetail.yourCover}\n \n {formValues.jointLife === 'Y' && (\n \n Partner:{' '}\n {coverDetail.partnerCover}\n \n )}\n \n \n \n \n )\n } else {\n return (\n \n \n \n \n \n {coverDetail.title}\n \n \n {' '}\n Not applicable\n \n \n \n \n \n )\n }\n })}\n \n \n )\n}\n","import React, { useState } from 'react'\nimport { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { QuoteCardHeaders } from './components/QuoteCardheaders'\nimport { QuoteCard } from './components/QuoteCard'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { getOnePlanColumns } from './utils/helperFunctions'\nexport interface OnePlanProtectionOutputProps {}\n\nexport const OnePlanProtectionOutput: React.FC =\n () => {\n const { state } = useCalculatorMachine()\n type ColumnState = {\n isSelected: object\n }[]\n const activeStyles = {\n borderBottom: '4px solid #6977DF',\n boxShadow: '0px 0px 20px rgba(82, 97, 172, 0.24)',\n borderRadius: '12px',\n background: '#FFFFFF',\n }\n const columns = getOnePlanColumns(state).columns\n const [column, setColumn] = useState(columns[0])\n const initialColumnState: ColumnState = columns?.map(\n (column: any, index: number) => {\n if (index === 0) {\n return {\n isSelected: activeStyles,\n }\n }\n return { isSelected: {} }\n }\n )\n const [columnClass, setcolumnClass] =\n React.useState(initialColumnState)\n const handleHeaderClick = (column: any, index: number) => {\n setColumn(column)\n const columnState: ColumnState = columnClass.map(\n (item, itemIndex: number) => {\n return itemIndex === index\n ? { ...item, isSelected: activeStyles }\n : { ...item, isSelected: {} }\n }\n )\n setcolumnClass(columnState)\n }\n return (\n \n \n Your quote\n \n \n \n \n )\n }\n","import { PensionCalcQuote } from '../quoteComponents/PensionCalculatorQuote'\nimport { InvestmentCalcQuote } from '../quoteComponents/InvestmentCalculatorQuote'\nimport { IncomeProtectionQuote } from '../quoteComponents/IncomeProtectionQuote'\nimport { TermLifeQuote } from './TermLifeQuote'\nimport { MortgageProtectionQuote } from './MortgageProtectionQuote'\nimport { OnePlanProtectionQuote } from './OnePlanProtectionQuote'\nexport const QuoteComponentMapper: { [key: string]: any } = {\n Pensions: PensionCalcQuote,\n Investment: InvestmentCalcQuote,\n IncomeProtection: IncomeProtectionQuote,\n TermLife: TermLifeQuote,\n MortgageProtection: MortgageProtectionQuote,\n OnePlan: OnePlanProtectionQuote,\n}\n","import { Box } from '@chakra-ui/react'\nimport React from 'react'\nimport { AssumptionsCard } from './components/AssumptionsCard'\nimport { BenefitsCard } from '../common/BenefitsCard'\nimport { NextStepsCard } from './components/NextStepsCard'\nimport { PensionCalculatorOutput } from './components/PensionCalculatorOutput'\nimport { WarningAlerts } from '../common/WarningAlerts'\nexport interface PensionCalcQuoteProps {\n props?: any\n}\nexport const PensionCalcQuote: React.FC = () => {\n const benefits = [\n `Our advisors are on hand to help you and offer guidance.`,\n `We support our customers up until and after retirement.`,\n `Customers who had a financial review with us gave it a score of 94.4%.`,\n ]\n const benefitsTitle = ` Why choose Irish Life?`\n return (\n \n \n \n \n \n \n \n )\n}\n","import React from 'react'\nimport { InvestmentCalculatorOutput } from './components/InvestmentCalculatorOutput'\nimport { Warnings } from './components/Warnings'\nimport { AdjustmentForm } from './components/AdjustmentForm'\n\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\n\nexport interface InvestmentCalcQuoteProps {\n props?: any\n}\nexport const InvestmentCalcQuote: React.FC = () => {\n return (\n <>\n \n \n \n \n\n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport React from 'react'\nimport { IncomeProtectionCalculatorOutput } from './components/IncomeProtectionCalculatorOutput'\nimport { ValidityCard } from './components/ValidityCard'\nimport { useCalculatorMachine } from '../../../utils/context'\n// import { AdvisorBooking } from 'common/components/organisms/AdvisorBooking'\nimport { BenefitsCard } from '../common/BenefitsCard'\nexport interface IncomeProtectionQuoteProps {\n props?: any\n}\nexport const IncomeProtectionQuote: React.FC =\n () => {\n const { state, send } = useCalculatorMachine()\n if (state.context.quoteData?.error) {\n send({ type: 'ERROR OCCURED' })\n }\n const benefits = [\n `98.1% of death claims paid (2022)`,\n `Supporting 7,000+ families with claims (2022)`,\n `80 years looking after the needs of people in Ireland`,\n ]\n const benefitsTitle = `Why choose Irish Life Assurance?`\n\n return (\n \n \n \n {/* */}\n \n \n )\n }\n","import { Box } from '@chakra-ui/react'\nimport React from 'react'\nimport { useCalculatorMachine } from '../../../utils/context'\nimport { BenefitsCard } from '../common/BenefitsCard'\nimport { TermLifeCalculatorOutput } from './TermLifeCalculatorOutput'\nimport { ValidityCard, ValidityCardProps } from '../common/ValidityCard'\nimport { HaveAQuestionCard } from '../common/HaveAQuestion'\nimport { isEmpty } from 'lodash'\n\nexport interface TermLifeQuoteProps {\n props?: any\n}\nexport const TermLifeQuote: React.FC = () => {\n const { state, send } = useCalculatorMachine()\n if (\n state.context.quoteData?.error ||\n isEmpty(state.context.quoteData?.quoteData)\n ) {\n send({ type: 'ERROR OCCURED' })\n }\n const phoneNumber = '(01) 704 1104'\n const benefits = [\n `98.1% of death claims paid (2022)`,\n `Supporting 7,000+ families with claims (2022)`,\n `80 years looking after the needs of people in Ireland`,\n ]\n const benefitsTitle = `Why choose Irish Life Assurance?`\n const validity: ValidityCardProps = {\n title: 'Validity',\n description:\n 'This quote is valid either for 7 days or to your next birthday, whichever is sooner. If you would like to discuss options for Joint Life Cover or Dual Life Cover, you can book a free consultation with a financial advisor.',\n }\n return (\n \n \n \n \n \n \n )\n}\n","import React from 'react'\nimport { ValidityCard, ValidityCardProps } from '../common/ValidityCard'\nimport { HaveAQuestionCard } from '../common/HaveAQuestion'\nimport { isEmpty } from 'lodash'\nimport { useCalculatorMachine } from '../../../utils/context'\nimport { BenefitsCard } from '../common/BenefitsCard'\nimport { Box } from '@chakra-ui/react'\nimport { MortgageProtectionOutput } from './MortgageProtectionOutput'\nexport interface MortgageProtectionQuoteProps {\n props?: any\n}\nexport const MortgageProtectionQuote: React.FC =\n () => {\n const { state, send } = useCalculatorMachine()\n if (\n state.context.quoteData?.error ||\n isEmpty(state.context.quoteData?.quoteData)\n ) {\n send({ type: 'ERROR OCCURED' })\n }\n const phoneNumber = '(01) 704 1104'\n const benefits = [\n `98.1% of death claims paid (2022)`,\n `Supporting 7,000+ families with claims (2022)`,\n `80 years looking after the needs of people in Ireland`,\n ]\n const benefitsTitle = `Why choose Irish Life Assurance?`\n const validity: ValidityCardProps = {\n title: 'Validity',\n description:\n 'This quote is valid for 7 days or until your next birthday, depending which comes first.',\n }\n return (\n \n \n \n \n \n \n )\n }\n","import React from 'react'\nimport { ValidityCard } from '../common/ValidityCard'\nimport { useCalculatorMachine } from '../../../utils/context'\nimport { BenefitsCard } from '../common/BenefitsCard'\nimport { Box } from '@chakra-ui/react'\nimport { GetStarted } from './../common/GetStarted'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { CoverRequirement } from './OnePlanProtectionOutput/components/CoverRequirements'\nimport { OnePlanProtectionOutput } from './OnePlanProtectionOutput'\nimport { isEmpty } from 'lodash'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { ArrowRightCircleIcon } from '@irishlife/ilgroupdesignsystem.icons'\nimport {\n getStarted,\n benefits,\n validity,\n benefitsTitle,\n RiskCard,\n} from './OnePlanProtectionOutput/utils/helperFunctions'\nexport interface OnePlanProtectionQuoteProps {\n props?: any\n}\nexport const OnePlanProtectionQuote: React.FC =\n () => {\n const { state, send } = useCalculatorMachine()\n const restartQuote = () => {\n send({\n type: 'Calculate Again',\n })\n }\n if (\n state.context.quoteData?.error ||\n isEmpty(state.context.quoteData?.comprehensiveQuoteData) ||\n isEmpty(state.context.quoteData?.essentialQuoteData) ||\n isEmpty(state.context.quoteData?.standardQuoteData)\n ) {\n send({ type: 'ERROR OCCURED' })\n }\n return (\n \n \n \n \n \n \n \n \n \n }\n mt={'16px'}\n >\n Restart Quote\n \n \n )\n }\n","import {\n Modal,\n ModalBody,\n ModalCloseButton,\n ModalContent,\n ModalFooter,\n ModalOverlay,\n useDisclosure,\n Box,\n} from '@chakra-ui/react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { ArrowRightCircleIcon } from '@irishlife/ilgroupdesignsystem.icons'\nimport { navigate } from '@reach/router'\nimport { RichText } from 'common/components/molecules/RichText'\nimport { config } from 'common/components/organisms/Calculator/config/index'\nimport { useCalculatorMachine } from 'common/components/organisms/Calculator/utils/context'\nimport { modifySteps } from 'common/components/organisms/Calculator/utils/modifySteps'\nimport React, { useEffect } from 'react'\nimport { useForm } from 'react-hook-form'\nimport { CalculatorStep, CalculatorStepProps } from './CalculatorStep'\nimport { CalculatorMachineEvent } from 'common/components/organisms/Calculator/utils/interfaces'\nimport isEmpty from 'lodash/isEmpty';\n\nexport interface CalculatorStepCommonProps {\n props?: any\n}\n\nexport const CalculatorStepCommon: React.FC = ({\n props,\n}) => {\n const { state, send } = useCalculatorMachine()\n const {\n register,\n handleSubmit,\n control,\n watch,\n trigger,\n formState: { isDirty, errors },\n } = useForm({\n shouldUnregister: false,\n mode: 'all',\n })\n const isFetching = state.matches('Getting Quote Details')\n const { isOpen, onOpen, onClose } = useDisclosure()\n const finalRef = React.useRef(null)\n const calculatorType = props.calc_type\n const analyticsName = `${calculatorType}_calculator`\n const { stepsTransformation } = config[calculatorType]\n const calculatorSteps = modifySteps(props?.steps)\n const formValues = watch()\n let transformedSteps = stepsTransformation(calculatorSteps, formValues)\n const questions = transformedSteps?.[state.context.screenNo].steps\n const formValuestoCheck = Object.values(questions).map((question: any) => {\n return question?.fieldName\n })\n const isFormComplete = Object.values(formValuestoCheck).every(\n (value) =>\n formValues.hasOwnProperty(value) &&\n formValues[value] !== undefined &&\n formValues[value] !== ''\n )\n const isSubmit = state.context.screenNo === transformedSteps?.length - 1\n useEffect(() => {\n if (isDirty) {\n send({\n type: 'Interacted',\n payload: {\n name: analyticsName,\n event: 'interacted',\n isInteracted: 'true',\n },\n } as CalculatorMachineEvent)\n }\n }, [isDirty, send, analyticsName])\n const onSubmit = (user: any) => {\n if (state.context.calc_type === 'Pensions') {\n user = { ...user, retirementAge: 66 }\n } else if (state.context.calc_type === 'IncomeProtection') {\n user = { ...user, retirementAge: 55 }\n }\n // user = { ...user, retirementAge: 66 }\n send({\n type: 'Get Quote' as string,\n payload: {\n user: user,\n calc_type: calculatorType,\n name: analyticsName,\n event: 'completed',\n },\n } as CalculatorMachineEvent)\n }\n const handleHelpButton = () => {\n onOpen()\n send({\n type: 'Need Help',\n payload: {\n name: analyticsName,\n event: 'need help clicked',\n },\n } as CalculatorMachineEvent)\n }\n return (\n
    \n \n <>\n {transformedSteps?.[state.context.screenNo]\n ?.cardCaption && (\n \n {transformedSteps?.[state.context.screenNo]\n ?.icon && (\n \n )}\n \n \n \n \n )}\n {questions.map((calculatorStep: CalculatorStepProps) => {\n return (\n \n )\n })}\n \n {transformedSteps?.[(state as any).context.screenNo]?.info && (\n <>\n \n \n Need help\n \n \n \n \n \n \n \n \n \n \n Close\n \n \n \n \n \n )}\n \n {!isSubmit && (\n }\n size='lg'\n variant='primary'\n onClick={() => {\n send({\n type: 'Next Step',\n payload: {\n name: analyticsName,\n event: 'next step',\n user: formValues,\n transformedQuestions: transformedSteps,\n },\n } as CalculatorMachineEvent)\n navigate('#ProgressIndicator')\n }}\n type='button'\n disabled={!isFormComplete || !isEmpty(errors)}\n _disabled={{\n color: '#0c1e68 !important',\n bg: '#cfd4fa !important',\n }}\n >\n {\n transformedSteps?.[(state as any).context.screenNo]\n ?.buttonCaption\n }\n \n )}\n {isSubmit && (\n }\n size='lg'\n variant='primary'\n type='submit'\n isDisabled={!isFormComplete || isFetching}\n onClick={() => {\n navigate('#ProgressIndicator')\n }}\n _disabled={{ color: '#0c1e68', bg: '#cfd4fa' }}\n _loading={{\n color: '#0c1e68 !important',\n bg: '#cfd4fa !important',\n }}\n >\n {\n transformedSteps?.[(state as any).context.screenNo]\n ?.buttonCaption\n }\n \n )}\n \n )\n}\n\n","import React from 'react'\nimport { useCalculatorMachine } from '../../utils/context'\nimport { ErrorScreen } from './ErrorScreen'\nimport { QuoteComponentMapper } from '../quoteComponents/QuoteComponentMapper'\nimport { CalculatorStepCommon } from '../steps/CalculatorStepCommon'\ntype CalcType = 'Pensions' | 'Investment'\n\nexport const ViewSelector: React.FC = (props) => {\n const calcType: CalcType = props.props.calc_type\n const QuoteComponent = QuoteComponentMapper[calcType]\n const { state } = useCalculatorMachine()\n switch (true) {\n case state.matches('Quote Screen') ||\n state.matches('Refetching Quote Details'):\n return \n case state.matches('Error'):\n return \n default:\n return \n }\n}\n","import { Box, Stack, VStack } from '@chakra-ui/react'\nimport CSS from 'csstype'\nimport React from 'react'\n\nexport interface ContainerRightProps {\n image: string\n}\n\nexport const ContainerRight: React.FC = ({ image }) => {\n const skewObjectStyleVertical: CSS.Properties = {\n position: 'absolute',\n left: '0',\n top: '0',\n height: '100%',\n background:\n 'linear-gradient(to right top, #F7F8FB 0%, #F7F8FB 50%, transparent 51%, transparent 70%, transparent 100%)',\n zIndex: 0,\n }\n return (\n \n \n \n \n \n \n )\n}\n","import { Box, Grid, GridItem } from '@chakra-ui/react'\nimport { analyticsService } from 'common/components/organisms/Calculator/config/analytics'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport { createCrmLead } from 'common/services/crm/createCrmLead'\nimport { fireAnalyticsEvent } from 'common/utils/fireAnalyticsEvent'\nimport React, { useEffect } from 'react'\nimport { EventObject } from 'xstate'\nimport { config } from 'common/components/organisms/Calculator/config/index'\nimport { useCalculatorMachine } from '../../utils/context'\nimport { footerNotesMapper } from '../footerNotes/footerNotesMapper'\nimport { Heading } from '../Heading'\nimport ProgressIndicator from '../ProgressIndicator'\nimport { ViewSelector } from '../views/ViewSelector'\nimport { ContainerRight } from './container-right'\nexport interface ContainerProps {\n props?: any\n}\n\nexport const Container: React.FC = ({ props }) => {\n const isDesktop = useDesktop()\n const { send } = useCalculatorMachine()\n const analyticsName = `${props.calc_type}_calculator`\n const { onSubmit } = config[props.calc_type]\n useEffect(() => {\n fireAnalyticsEvent({\n name: analyticsName,\n properties: {\n event: analyticsName,\n step: 'initialised',\n },\n })\n send({\n type: 'Initialise',\n payload: {\n props,\n actions: {\n onSubmit,\n analyticsService,\n createCrmLead,\n },\n },\n } as EventObject)\n // eslint-disable-next-line\n }, [])\n const calculatorType = props.calc_type\n const FooterNotes = footerNotesMapper[calculatorType]\n return (\n <>\n \n \n \n \n \n \n {isDesktop && (\n \n \n \n )}\n \n \n \n \n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { Container } from 'common/components/organisms/Calculator/components/container'\nimport { CalculatorMachineProvider } from 'common/components/organisms/Calculator/utils/context'\nimport React from 'react'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface CalculatorProps {\n steps: any\n}\n\nexport const Calculator: React.FC = (props) => {\n return (\n \n \n \n \n \n )\n}\n","import {\n Calculator as CalculatorOrganism,\n CalculatorProps as CalculatorOrganismProps,\n} from 'common/components/organisms/Calculator'\nimport React from 'react'\n\nexport interface CalculatorProps extends CalculatorOrganismProps {}\n\nexport const Calculator: React.FC = (props) => {\n return \n}\n\nexport default Calculator\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5 3.5L6.206 7.793a1 1 0 000 1.414l4.292 4.293\",\n stroke: \"#4E4670\",\n strokeWidth: 2,\n strokeLinecap: \"round\"\n});\n\nfunction SvgChevronLeftIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n fill: \"none\"\n }, props), _ref);\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IkNhcmV0Ij4KPHBhdGggaWQ9IlZlY3RvciIgZD0iTTEwLjQ5OTUgMy41TDYuMjA2NjIgNy43OTI4OUM1LjgxNjA5IDguMTgzNDIgNS44MTYwOSA4LjgxNjU4IDYuMjA2NjIgOS4yMDcxMUwxMC40OTk1IDEzLjUiIHN0cm9rZT0iIzRFNDY3MCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9nPgo8L3N2Zz4K\";\nexport { SvgChevronLeftIcon as ReactComponent };","import { Box, Flex } from '@chakra-ui/react'\nimport { Stepper as IrishStepper } from '@irishlifedigitalhub/ds.molecules.stepper'\nimport React, { useEffect, useState } from 'react'\nimport ChevronRightIcon from './ChevronRightIcon.svg'\nimport ChevronLeftIcon from './ChevronLeftIcon.svg'\nimport './stepper.css'\n\nexport interface StepperProps {\n steps: number\n spacing?: number\n defaultStep?: number\n leftIndicator?: boolean\n rightIndicator?: boolean\n vertically?: boolean\n onChange: (number: number) => void\n}\n\nexport const Stepper = ({\n steps,\n spacing = 1,\n defaultStep = 1,\n leftIndicator = false,\n rightIndicator = false,\n vertically = false,\n onChange,\n}: StepperProps) => {\n const [index, setIndex] = useState(defaultStep)\n\n useEffect(() => {\n setIndex(defaultStep)\n }, [defaultStep])\n\n React.useEffect(() => {\n if (index === 0) {\n setIndex(steps)\n return\n } else if (index > steps) {\n setIndex(1)\n return\n }\n onChange(index)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [index, steps])\n\n return (\n \n setIndex(index - 1)}\n marginRight='22px'\n marginTop={vertically ? '' : '2px'}\n w='16px'\n h='16px'\n >\n iconLeft\n \n
    \n setIndex(number)}\n {...(rightIndicator\n ? { rightIndicator }\n : { leftIndicator })}\n />\n
    \n setIndex(index + 1)}\n marginLeft='12px'\n w='16px'\n h='16px'\n >\n iconRight\n \n \n )\n}\n\n \n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.5 3.5l4.292 4.293a1 1 0 010 1.414L5.5 13.5\",\n stroke: \"#4E4670\",\n strokeWidth: 2,\n strokeLinecap: \"round\"\n});\n\nfunction SvgChevronRightIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n fill: \"none\"\n }, props), _ref);\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IkNhcmV0Ij4KPHBhdGggaWQ9IlZlY3RvciIgZD0iTTUuNDk5NTEgMy41TDkuNzkyNDEgNy43OTI4OUMxMC4xODI5IDguMTgzNDIgMTAuMTgyOSA4LjgxNjU4IDkuNzkyNCA5LjIwNzExTDUuNDk5NTEgMTMuNSIgc3Ryb2tlPSIjNEU0NjcwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L2c+Cjwvc3ZnPgo=\";\nexport { SvgChevronRightIcon as ReactComponent };","import { Box, Image, Stack } from '@chakra-ui/react'\nimport { Button, ButtonProps } from '@irishlifedigitalhub/ds.atoms.button'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { Stepper as IrishStepper } from '@irishlifedigitalhub/ds.molecules.stepper'\nimport { navigate } from '@reach/router'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport React, { useMemo, useState } from 'react'\nimport { Stepper } from '../../molecules/StepperWithArrows/index'\n\nexport type Card = {\n caption?: string\n title?: string\n subtitle?: string\n subtitle2?: string\n paragraph?: string\n buttonText?: string\n buttonProps?: ButtonProps\n secondaryButtonText?: string\n secondaryButtonProps?: ButtonProps\n children?: React.ReactNode\n imageSrc?: string\n callToAction?: any\n}\n\nexport type Campaign3DSlideshowProps = {\n title: string\n cards: Card[]\n}\n\nexport const Campaign3DSlideshow = (props: Campaign3DSlideshowProps) => {\n const { title, cards } = props\n\n const sliderImages = useMemo(() => {\n return cards.map((card: Card) => {\n return {\n src: card.imageSrc,\n }\n })\n }, [cards])\n\n const [images, setImages] = useState(sliderImages || [])\n const [index, setIndex] = useState(0)\n\n const card: Card = cards[index]\n\n const isDesktop = useDesktop()\n\n const slide = [\n {\n boxShadow: '0 1px 4px rgba(0,0,0, 0.4)',\n transform: ' translate3d(0%, 14%, 200px)',\n },\n {\n boxShadow:\n '0 6px 10px rgba(0,0,0, 0.3), 0 2px 2px rgba(0,0,0, 0.2)',\n transform: 'translate3d(0%, 7%, 100px)',\n },\n {\n boxShadow:\n '0 13px 26px rgba(0,0,0, 0.3), 0 12px 6px rgba(0,0,0, 0.2)',\n transform: 'translate3d(0%, 0%, 50px)',\n },\n ]\n\n React.useEffect(() => {\n if (index < 0) {\n setIndex(sliderImages.length - 1)\n return\n } else if (index > sliderImages.length - 1) {\n setIndex(0)\n return\n }\n shiftArrayToLast(index)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [index])\n\n function shiftArrayToLast(index: number) {\n if (index >= 0 && index < sliderImages.length) {\n const tempArray = [...sliderImages]\n const element = tempArray.splice(index, 1)[0]\n\n tempArray.unshift(element)\n setImages(tempArray)\n }\n }\n\n return (\n \n \n \n \n {isDesktop ? (\n images && (\n \n \n {images.map(\n (image: any, index: number) => (\n 2\n ? 2\n : index\n ]\n }\n />\n )\n )}\n \n \n )\n ) : (\n \n )}\n \n \n {isDesktop ? (\n \n setIndex(number - 1)\n }\n defaultStep={index + 1}\n />\n ) : (\n \n setIndex(number - 1)\n }\n defaultStep={index + 1}\n />\n )}\n \n \n \n \n \n \n \n {title}\n \n \n {card?.title}\n \n \n \n {card?.subtitle}\n \n \n {card.subtitle2}\n \n \n \n {card?.paragraph}\n \n \n {card?.children}\n \n \n {\n navigate(card?.callToAction?.url)\n }}\n >\n {card?.callToAction?.label}\n \n \n \n \n {card?.secondaryButtonText}\n \n \n \n \n \n \n )\n}\n","import React, { FC } from 'react'\nimport { Campaign3DSlideshow } from 'common/components/organisms/Campaign3DSlideshow/index'\n\nconst Campaign3DSlideshowWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { Campaign3DSlideshowWrapper as Campaign3DSlideshow }\nconst getProps = (props: any) => {\n const { title, untitled_linked_items: items } = props\n \n return {\n title,\n cards: items.map((item: any) => ({\n title: item.title,\n subtitle: item.subtitle,\n subtitle2: item.subtitle_2,\n paragraph: item.description_b57cf5a || item.description,\n imageSrc: item.file,\n callToAction: {\n label: item.button_c9ad60e__text,\n url: item.button_c9ad60e__url,\n variant: item.card_cta_0396ba7__cta_variant,\n },\n })),\n }\n}\n","import { Box } from '@chakra-ui/react'\nimport {\n ProductList,\n ProductListProps,\n} from 'common/components/organisms/ProductList'\nimport React from 'react'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface CardGridProps extends ProductListProps {}\n\nconst fullWidthWrapperStyles = {\n backgroundColor: '#EBEDF7',\n marginLeft: '-50vw',\n marginRight: '-50vw',\n width: '100vw',\n position: 'relative',\n left: '50%',\n right: '50%',\n display: 'flex',\n justifyContent: 'center',\n}\n\nexport const CardGrid: React.FC = (props) => {\n const data = getCardGridData(props)\n return (\n \n \n \n \n \n )\n}\n\nexport const getCardGridData = (data: any): ProductListProps => {\n return {\n heading: data.cardgrid__heading,\n products: (data.cardgrid__products || []).map((product: any) => ({\n icon: product.icon,\n subtitle: product.subtitle,\n title: product.title,\n text: product.text,\n callToAction: {\n label: product.card_cta_0396ba7__cta_label,\n variant: product.card_cta_0396ba7__cta_variant,\n url: product.card_cta_0396ba7__cta_url,\n },\n })),\n text: data.cardgrid__text,\n title: data.cardgrid__title,\n }\n}\n","import { Benefits, BenefitsProps } from 'common/components/organisms/Benefits'\nimport React from 'react'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface CardsProps extends BenefitsProps {}\n\nexport const Cards: React.FC = (props) => {\n return \n}\n\nconst getCardsData = (data: any): CardsProps => {\n return {\n heading: data.threecards__heading,\n title: data.threecards__title,\n subtitle: data.threecards__subtitle,\n benefits: data.threecards__cards.map((card: any) => ({\n callToAction: {\n label: card.card_cta_0396ba7__cta_label,\n variant: card.card_cta_0396ba7__cta_variant,\n url: card.card_cta_0396ba7__cta_url,\n },\n icon: card.icon,\n text: card.text,\n title: card.title,\n subtitle: card.subtitle,\n })),\n ctaLabel: data.threecards__cta_label,\n ctaUrl: data.threecards__cta_url,\n noWrap: data.threecards__wrap_cards === 'No',\n alignTextLeft: data.threecards__align_text_left === 'true',\n }\n}\n","import {\n LatestNews,\n LatestNewsProps\n} from 'common/components/organisms/LatestNews'\nimport { getArticleData } from 'common/utils/getArticleData'\nimport React from 'react'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface CardsCarouselProps extends LatestNewsProps {}\n\nexport const CardsCarousel: React.FC = props => {\n const context = getCardsCarouselData(props)\n return \n}\n\nconst getCardsCarouselData = (data: any): CardsCarouselProps => {\n return {\n label: data.cardscarousel__label,\n list: data.blogpostselector__blog_posts.map(getArticleData)\n }\n}\n","import { Box, useMediaQuery } from '@chakra-ui/react'\nimport React, { FC } from 'react'\n\ninterface CenteredTextProps {\n text: string\n background: string\n}\n\nexport const CenteredText: FC = (props) => {\n const { text, background } = props\n const [isMobile] = useMediaQuery('(max-width: 720px)')\n\n return (\n \n \n {text}\n \n \n )\n}\n","import React, { FC } from 'react'\nimport { CenteredText } from 'common/components/organisms/CenteredText/index'\n\nconst CareerCenteredTextWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getCareersCenteredTextData(props)\n\n return \n}\nexport { CareerCenteredTextWrapper as CenteredText }\nexport const getCareersCenteredTextData = (data: any) => {\n return {\n text: data.centered_text,\n background: data.untitled_multiple_choice || 'Light',\n }\n}\n","import React from 'react'\nimport { Box, Flex, Text } from '@chakra-ui/react'\n\ninterface CardComponentProps {\n text: string\n title: string\n counter: number\n}\n\nconst Card: React.FC = ({ text, title, counter }) => {\n return (\n \n \n \n {counter}\n \n \n \n {title}\n \n \n {text}\n \n \n )\n}\n\nexport default Card\n","import { IconButton } from '@irishlife/ilgroupdesignsystem.atoms.icon-button'\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n} from '@irishlife/ilgroupdesignsystem.icons'\nimport { Box, Progress as LinearProgress, HStack } from '@chakra-ui/react'\nimport React, { useState, useEffect, useMemo } from 'react'\n\ninterface PaginationProps {\n items: any\n itemsPerPage?: number\n showControls?: boolean\n callBack: (object: any) => void\n}\nexport const Pagination: React.FC = ({\n items,\n itemsPerPage = 4,\n showControls = true,\n callBack,\n}) => {\n const [currentPage, setCurrentPage] = useState(1)\n const totalPages = Math.ceil(items.length / itemsPerPage)\n const startIndex = (currentPage - 1) * itemsPerPage\n const endIndex = startIndex + itemsPerPage\n const visibleItems = items.slice(startIndex, endIndex)\n const progressBarValue = useMemo(() => {\n const progressValue = (currentPage / totalPages) * 100\n if (progressValue === Infinity) {\n return 100\n }\n return progressValue\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentPage, totalPages, items])\n\n useEffect(() => {\n callBack({ visibleItems, currentPage })\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentPage, items, itemsPerPage])\n\n const handleNextPage = () => {\n if (currentPage < totalPages) {\n setCurrentPage((prev) => prev + 1)\n }\n }\n\n const handlePrevPage = () => {\n if (currentPage > 1) {\n setCurrentPage((prev) => prev - 1)\n }\n }\n return (\n <>\n {showControls &&\n \n \n div': {\n backgroundColor: '#717FE2',\n },\n }}\n />\n \n \n \n }\n size='sm'\n mr='32px'\n isDisabled={currentPage === 1}\n onClick={handlePrevPage}\n />\n }\n size='sm'\n ml='32px'\n isDisabled={currentPage === totalPages || totalPages === 0}\n onClick={handleNextPage}\n />\n \n \n }\n \n )\n}\n","import React, { useState } from 'react'\nimport { Box, Text, SimpleGrid, VStack } from '@chakra-ui/react'\nimport Card from './Card'\nimport { Pagination } from '../../molecules/Pagination/index'\n\ninterface CountingCardsWithPaginationProps {\n title: string\n items: { title: string; text: string }[]\n}\n\nexport const CountingCardsWithPagination: React.FC =\n ({ title, items }) => {\n const [visibleItems, setVisibleItems] = useState([])\n const [currentPage, setCurrentPage] = useState(1)\n const itemsPerPage = 3\n\n const handlePagination = (paginationData: any) => {\n setVisibleItems(paginationData.visibleItems)\n setCurrentPage(paginationData.currentPage)\n }\n\n const calculateCounter = (index: number) => {\n return (currentPage - 1) * itemsPerPage + index + 1\n }\n\n return (\n \n \n {title}\n \n\n \n {visibleItems.map((item: any, index) => (\n \n ))}\n \n\n \n \n \n \n )\n }\n","import { CountingCardsWithPagination } from 'common/components/organisms/CountingCardsWithPagination/index'\nimport React, { FC } from 'react'\n\nconst CountingCardsWithPaginationWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\n\nexport { CountingCardsWithPaginationWrapper as CountingCardsWithPagination }\n\nconst getProps = (props: any) => {\n return {\n title: props.title,\n items:\n props?.mini_cards.map((item: any) => {\n return {\n title: item.title,\n text: item.subtitle,\n }\n }) || [],\n }\n}\n","import { Box } from '@material-ui/core'\nimport { Text } from 'common/components/molecules/Text'\nimport React from 'react'\nimport {\n JumbotronCallToAction,\n JumbotronCallToActionProps\n} from '../../Jumbotron/JumbotronCallToAction'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface CtaProps extends JumbotronCallToActionProps {\n title?: string\n subtitle?: string\n}\n\nexport const Cta: React.FC = props => {\n const { title, subtitle, ...rest } = getCtaData(props)\n return (\n \n {title && }\n {subtitle && (\n \n )}\n {(title || subtitle) && }\n \n \n \n \n )\n}\n\nconst getCtaData = (data: any): CtaProps => {\n return {\n title: data.title,\n subtitle: data.subtitle,\n analyticsId: data.call_to_action__analytics_id,\n label: data.call_to_action__label,\n [`${data.call_to_action__iconlocation}Icon`]: data.call_to_action__icon,\n text: data.call_to_action__text,\n url: data.call_to_action__url,\n variant: data.call_to_action__variant\n }\n}\n","import {\n Box,\n SimpleGrid,\n VStack,\n Grid,\n GridItem,\n HStack,\n} from '@chakra-ui/react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport {\n DocumentDownloadIcon,\n DownloadIcon,\n} from '@irishlife/ilgroupdesignsystem.icons'\nimport { Link } from 'common/components/atoms/Link'\nimport React from 'react'\n\ninterface DocumentDownloadPanelProps {\n title: string\n cards: { title: string; fileSize: string; downloadPath: string }[]\n}\n\nconst DocumentDownloadPanel: React.FC = (props) => {\n const { title, cards } = props\n\n return (\n \n \n \n \n {title}\n \n \n\n \n {cards?.map((item: any, index: number) => (\n \n \n \n \n \n \n \n \n \n \n \n {item.title}\n \n \n \n \n {item.fileSize} file size\n \n \n \n \n \n \n {\n //open link in new tab\n window.open(\n item.downloadPath,\n '_blank'\n )\n }}\n >\n \n \n \n \n \n \n ))}\n \n \n \n )\n}\n\nexport default DocumentDownloadPanel\n","import React, { FC } from 'react'\nimport DocumentDownloadPanel from 'common/components/organisms/DocumentDownloadPanel/DocumentDownloadPanel'\n\nconst DocumentDownloadPanelWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { DocumentDownloadPanelWrapper as DocumentDownloadPanel }\nconst getProps = (data: any) => {\n return {\n title: data.title,\n cards: data?.documents?.map((item: any) => {\n return {\n title: item.title,\n fileSize: '1.2MB',\n downloadPath: item.file,\n }\n }),\n }\n}\n","import { Box, Grid, Hidden } from '@material-ui/core'\nimport { CardCtaContained } from 'common/components/molecules/CardCta'\nimport { Text } from 'common/components/molecules/Text'\nimport { Wrapper } from 'common/components/molecules/Wrapper'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport { useDpr } from 'common/hooks/useDpr'\nimport React from 'react'\nimport { JumbotronCallToActionProps } from '../Jumbotron/JumbotronCallToAction'\n\nexport interface CampaignFeatureProps {\n callToAction: JumbotronCallToActionProps\n image: string\n text: string\n title: string\n variant?: 'default' | 'flat'\n}\n\nexport const CampaignFeature: React.FC = ({\n title,\n text,\n image,\n callToAction,\n variant = 'default'\n}) => {\n const desktop = useDesktop()\n const dpr = useDpr()\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {callToAction.label && (\n \n )}\n \n \n \n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport React from 'react'\nimport { CampaignFeature, CampaignFeatureProps } from '../../CampaignFeature'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface FeaturedProps extends CampaignFeatureProps {}\n\nexport const Featured: React.FC = props => {\n const desktop = useDesktop()\n return (\n \n \n \n )\n}\n\nconst getFeaturedData = (data: any): FeaturedProps => {\n return {\n title: data.title,\n text: data.text,\n image: data.image,\n callToAction: {\n analyticsId: data.call_to_action__analytics_id,\n label: data.call_to_action__label,\n [`${data.call_to_action__iconlocation}Icon`]: data.call_to_action__icon,\n text: data.call_to_action__text,\n title: data.call_to_action__title,\n url: data.call_to_action__url,\n variant: data.call_to_action__variant\n }\n }\n}\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport React from 'react'\n\nexport interface IframeProps {\n src?: string\n width?: string\n height?: number\n mobileHeight?: number\n title: string\n scrolling: string\n heading?: string\n text?: string\n}\n\nconst fullWidthWrapperStyles = {\n marginLeft: '-50vw',\n marginRight: '-50vw',\n width: '100vw',\n position: 'relative',\n left: '50%',\n right: '50%',\n display: 'flex',\n justifyContent: 'center'\n}\n\nexport const Iframe: React.FC = props => {\n const attributes = getIframeData(props)\n const desktop = useDesktop()\n\n const [expanded, setExpanded] = React.useState(false)\n // 0, 480, 768, 992, 1280, 1536\n const heights = {\n collapsed: [2450, 2300, 2050, 2000, 1900],\n expanded: [4550, 3700, 3200, 3100, 2900]\n }\n\n const handleIframeMessage = (event: any) => {\n if (\n JSON.stringify(event.data) === 'true' ||\n JSON.stringify(event.data) === 'false'\n ) {\n setExpanded(event.data)\n }\n }\n\n React.useEffect(() => {\n if (typeof window === 'undefined') return\n window.addEventListener('message', handleIframeMessage)\n return () => {\n if (typeof window === 'undefined') return\n window.removeEventListener('message', handleIframeMessage)\n }\n }, [])\n\n return (\n <>\n {attributes.heading && (\n \n {attributes.heading}\n \n )}\n {attributes.text && (\n \n {attributes.text}\n \n )}\n \n \n \n \n )\n}\n\nconst getIframeData = (data: any): IframeProps => {\n return {\n src: data.iframe__src,\n title: data.iframe__title,\n width: data.iframe__width,\n height: data.iframe__height,\n mobileHeight: data.iframe__mobile_height,\n scrolling: data.iframe__scrolling,\n heading: data.iframe__heading,\n text: data.iframe__text\n }\n}\n","import { Box, Image, SimpleGrid } from '@chakra-ui/react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { navigate } from '@reach/router'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport React from 'react'\n\ninterface ImageWithParagraphProps {\n image: string\n title: string\n callToAction?: any\n}\n\nexport const ImageWithParagraph: React.FC = (\n props\n) => {\n const { image, title, callToAction } = props\n\n const isMobile = !useDesktop()\n return (\n \n \n \n \n \n {title}\n \n \n navigate(callToAction.url)}\n {...callToAction}\n mt='32px'\n >\n {callToAction.label}\n \n \n \n \n \n )\n}\n","import { ImageWithParagraph } from 'common/components/organisms/ImageWithParagraph/index'\nimport React from 'react'\n\nconst ImageWithParagraphWrapper: React.FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { ImageWithParagraphWrapper as ImageWithParagraph }\nconst getProps = (data: any) => ({\n image: data.image,\n title: data.text,\n callToAction: {\n analyticsId: data.button_c9ad60e__analytics_id || '',\n label: data.card_cta_0396ba7__cta_label,\n url: data.card_cta_0396ba7__cta_url,\n endIcon: data.card_cta_0396ba7__cta_icon,\n variant: data.card_cta_0396ba7__cta_variant,\n },\n})\n","import { Box } from '@chakra-ui/react'\nimport { InvestmentCalculator } from '@irishlifedigitalhub/ds.organisms.investment-calculator'\nimport { navigate } from '@reach/router'\nimport React from 'react'\nimport TagManager from 'react-gtm-module'\n\nexport const InvestmentCalculatorSection: React.FC = props => {\n const ctaConfig = getCtaConfig(props)\n\n return (\n \n {\n TagManager.dataLayer({\n dataLayer: {\n event: 'secondaryButtonClick',\n clickURL: ctaConfig.bookingUrl,\n clickID: ctaConfig.bookingAnalyticsId\n }\n })\n if(ctaConfig.bookingUrl.charAt(0) === '#') {\n let element = document.getElementById(ctaConfig.bookingUrl.slice(1, ctaConfig.bookingUrl.length))\n element?.scrollIntoView({ behavior: \"smooth\"})\n } else {\n navigate(ctaConfig.bookingUrl)\n }\n }} onCalculate={() => {\n TagManager.dataLayer({\n dataLayer: {\n event: 'secondaryButtonClick',\n clickID: ctaConfig.calculateAnalyticsId\n }\n })\n }} />\n \n )\n}\n\nconst getCtaConfig = (data: any) => {\n return {\n bookingUrl: data.url,\n bookingAnalyticsId: data.booking_cta_analytics_id,\n calculateAnalyticsId: data.calculate_cta_analytics_id\n }\n}\n\n","import { Box, Image, VStack } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport React from 'react'\ninterface MediaCardProps {\n title?: string\n image?: string\n}\n\nexport const MediaCard: React.FC = ({ title, image }) => {\n return (\n \n \n \n {title}\n \n \n \n \n \n \n )\n}\n","import { MediaCard } from 'common/components/organisms/MediaCard/index'\nimport React, { FC } from 'react'\n\nconst MediaCardWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { MediaCardWrapper as MediaCard }\nconst getProps = (props: any) => {\n const { title, image } = props\n\n return {\n title,\n image,\n }\n}\n","import _slicedToArray from \"/home/vsts/work/1/s/packages/website/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport 'core-js/modules/es.array.iterator.js';\nimport 'core-js/modules/web.dom-collections.iterator.js';\nimport React from 'react';\nimport { useMediaQuery, SimpleGrid } from '@chakra-ui/react';\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text';\n\nfunction Grid(props) {\n var title = props.title,\n children = props.children;\n\n var _useMediaQuery = useMediaQuery('(max-width: 960px)'),\n _useMediaQuery2 = _slicedToArray(_useMediaQuery, 1),\n isMobile = _useMediaQuery2[0];\n\n return /*#__PURE__*/React.createElement(\"section\", null, title && /*#__PURE__*/React.createElement(Text, {\n variant: isMobile ? 'title-sm' : 'title-lg',\n paddingBottom: isMobile ? '16px' : '24px'\n }, title), /*#__PURE__*/React.createElement(SimpleGrid, {\n columns: [2, 2, 3, 3],\n spacingY: ['16px', '16px', '24px', '24px'],\n spacingX: ['8px', '8px', '24px', '24px']\n }, children));\n}\n\nexport { Grid };","import { Link } from '@reach/router'\nimport React, { PropsWithChildren } from 'react'\nexport interface UniversalLinkProps extends PropsWithChildren<{}> {\n to: string\n}\n\nexport const UniversalLink: React.FC = ({\n to,\n children,\n ...props\n}) => {\n // Check if the URL is external\n const isExternal = (url: string) => {\n return /^(https?:|mailto:|tel:)/.test(url)\n }\n\n if (isExternal(to)) {\n return (\n \n {children}\n \n )\n } else {\n return (\n \n {children}\n \n )\n }\n}\n","import { Box } from '@chakra-ui/react'\nimport {\n MenuCard,\n MenuCardProps,\n} from '@irishlifedigitalhub/ds.molecules.menu-card'\nimport { Grid, GridProps } from '@irishlifedigitalhub/ds.organisms.grid'\nimport { UniversalLink } from 'common/components/atoms/UniversalLink'\nimport React from 'react'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface MenuCardGridProps extends GridProps {}\n\nexport const MenuCardGrid: React.FC = (props: any) => {\n return (\n \n \n \n )\n}\n\nexport const getMenuCardGridProps = (props: any): GridProps => {\n return {\n title: props.title,\n children: [<>{getMenuCards(props.menucard)}],\n }\n}\n\nexport const getMenuCards = (menuCards: any[]): MenuCardProps[] => {\n return (menuCards || []).map((menuCard) => {\n return (\n \n ) as MenuCardProps\n })\n}\n\nexport const getMenuCardsProps = (menuCard: any): MenuCardProps => {\n return {\n buttonText: menuCard.menu_card__cta?.[0]?.call_to_action__label,\n icon: menuCard.menu_card__icon,\n largeTitle: menuCard.menu_card__maintitle,\n linkComponent: UniversalLink,\n src: menuCard.menu_card__image,\n subtitle: menuCard.menu_card__subtitle,\n title: menuCard.menu_card__title,\n url: menuCard.menu_card__cta?.[0]?.call_to_action__url,\n }\n}\n","import React from 'react'\nimport { Box } from '@chakra-ui/react'\nimport { InsuranceIcon } from '@irishlife/ilgroupdesignsystem.icons'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles'\nimport { isDesktop } from 'react-device-detect'\nexport interface MetamoCardProps {\n item: ItemProps\n onClick: (value: ItemProps) => void\n}\nexport interface ItemProps {\n branchName: string\n branchId: string\n icon?: string\n}\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n selectedCard: {\n color: '#9CA5EB',\n '&:focus': {\n borderBottom:\n '6px solid var(--highlight-pacific-blue, #039FBF)',\n color: '#039FBF !important',\n },\n },\n })\n)\nexport const MetamoCard: React.FC = ({ item, onClick }) => {\n const classes = useStyles()\n const desktop = isDesktop\n return (\n onClick(item)}\n w={\n desktop\n ? ['112px', '124px', '178px', '182px', '222px']\n : '222px'\n }\n alignItems={'center'}\n maxHeight={'100%'}\n display='flex'\n bg={'#fff'}\n flexDirection='column'\n borderWidth='1px'\n borderRadius='lg'\n p={'24px 6px'}\n boxShadow={'0px 0px 20px 0px rgba(82, 97, 172, 0.24)'}\n className={classes.selectedCard}\n >\n {item?.icon && (\n \n )}\n {!item?.icon && (\n \n )}\n \n {item?.branchName}\n \n \n )\n}\n","import { RouteComponentProps } from '@reach/router'\nimport React, { useState } from 'react'\nimport { Grid, GridItem, Box } from '@chakra-ui/react'\nimport { MetamoCard, ItemProps } from 'common/components/molecules/MetamoCard'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { AdvisorBooking } from 'common/components/organisms/AdvisorBooking'\nimport { isDesktop } from 'react-device-detect'\nimport { PreScreen } from 'common/components/organisms/AdvisorBooking/utils/interface'\nexport interface Metamo extends RouteComponentProps {\n branchList: any\n}\n\nexport const Metamo: React.FC = (props) => {\n const branchList = getBranchList(props)\n const isAdvisorView = props.isadvisorview === 'yes' ? true : false\n const [selectedBranch, setSelectedBranch] = useState(\n branchList[0]\n )\n const desktop = isDesktop\n const [showAdvisorbooking, setShowAdvisorbooking] = useState(false)\n const handleClick = (value: ItemProps) => {\n setSelectedBranch(value)\n setShowAdvisorbooking(true)\n }\n return (\n \n \n \n Choose your branch\n \n \n {branchList.map((item: ItemProps) => (\n \n \n \n ))}\n \n \n {showAdvisorbooking && (\n \n \n Select an option that suits you\n \n \n \n )}\n \n )\n}\n\nconst getPreScreen = (\n isAdvisorView: boolean,\n selectedBranch: ItemProps\n): PreScreen => {\n return {\n metamoVariant: true,\n isAdvisorView: isAdvisorView,\n sourceBranchName: selectedBranch.branchName.replace(/ /g, ''),\n }\n}\nconst getBranchList = (data: any): ItemProps[] => {\n const branchList = data?.metamo_branch_list?.map((item: any) => ({\n branchName: item.branch_name,\n branchId: item.branch_id,\n icon: item.icon,\n }))\n return branchList\n}\n","import { Box, HStack, SimpleGrid } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { Input } from '@irishlife/ilgroupdesignsystem.molecules.input'\nimport { Link } from 'common/components/atoms/Link'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport React from 'react'\n\ninterface MiniFooterProps {\n loginLink?: string\n}\n\nexport const MiniFooter: React.FC = (props) => {\n const { loginLink = '/' } = props\n\n const isMobile = !useDesktop()\n\n return (\n \n \n \n Keep in touch and stay informed about new job opportunities\n that match your interests.\n \n \n \n Create your profile\n \n\n \n \n \n \n Already registered? Log in\n \n \n \n \n \n \n )\n}\n","import React, { FC } from 'react'\nimport { MiniFooter } from 'common/components/organisms/MiniFooter/index'\n\nconst MiniFooterWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { MiniFooterWrapper as MiniFooter }\nconst getProps = (props: any) => {\n return {\n loginLink: props.login_link,\n }\n}\n","import { Box, HStack, Image, Stack } from '@chakra-ui/react'\nimport { Button, ButtonProps } from '@irishlifedigitalhub/ds.atoms.button'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { Link } from 'common/components/atoms/Link'\nimport { Wrapper } from 'common/components/molecules/Wrapper'\nimport React, { useState } from 'react'\nimport { Stepper } from '../../molecules/StepperWithArrows/index'\n\nexport type Card = {\n caption?: string\n title?: string\n jobTitle?: string\n department?: string\n subtitle?: string\n subtitle2?: string\n paragraph?: string\n buttonText?: string\n callToAction?: any\n secondaryButtonText?: string\n secondaryButtonProps?: ButtonProps\n imageLeft?: boolean\n children?: React.ReactNode\n imageSrc?: string\n}\n\nexport type MultiCampaignFeatureProps = {\n title: string\n cards: Card[]\n}\n\nexport const MultiCampaignFeature = (props: MultiCampaignFeatureProps) => {\n const { title, cards } = props\n const [index, setIndex] = useState(0)\n\n const card: Card = cards[index]\n\n return (\n \n \n \n \n {card?.imageSrc && (\n \n \n \n )}\n \n \n \n {card?.imageLeft && (\n \n \n setIndex(number - 1)\n }\n />\n \n )}\n \n {title}\n \n \n \n {card.title}\n \n \n {card.subtitle2}\n \n \n \n {card?.subtitle}\n \n \n {card?.paragraph}\n \n \n {card?.children}\n \n \n \n \n \n \n \n \n {card?.secondaryButtonText}\n \n \n {!card?.imageLeft && (\n \n {\n setIndex(number - 1)\n }}\n />\n \n )}\n \n \n \n \n \n )\n}\n\nfunction Container(props: Record) {\n return (\n \n )\n}\n","import React, { FC } from 'react'\nimport { MultiCampaignFeature } from 'common/components/organisms/MultiCampaignFeature/index'\n\nconst MultiCampaignFeatureWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n return \n}\nexport { MultiCampaignFeatureWrapper as MultiCampaignFeature }\n\nconst getProps = (props: any) => {\n const { title, items, image_left } = props\n \n return {\n title,\n cards: items.map((item: any) => ({\n title: item.title,\n subtitle: item.subtitle,\n subtitle2: item.subtitle2,\n paragraph: item.description_b57cf5a || item.description,\n imageSrc: item.file,\n imageLeft: image_left,\n callToAction: {\n label: item.button_c9ad60e__text,\n url: item.button_c9ad60e__url,\n variant: item.card_cta_0396ba7__cta_variant,\n },\n })),\n }\n}\n","import { Box, Image, SimpleGrid, useMediaQuery, VStack } from '@chakra-ui/react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport React, { useEffect, useState } from 'react'\nimport { Stepper } from '../../molecules/StepperWithArrows/index'\ninterface CardData {\n icon: string\n text?: string\n image?: string\n imageTitle?: string\n imageText?: string\n title: string\n}\n\ninterface MultiCardGalleryWithStepperProps {\n title: string\n cards: CardData[]\n}\n\nexport const MultiCardGalleryWithStepper: React.FC =\n (props) => {\n const { title, cards } = props\n\n const [selectedCardIndex, setSelectedCardIndex] = useState(0) // State to track selected card index\n const [currentPage, setCurrentPage] = useState(\n Math.floor(selectedCardIndex) / 3 + 1\n )\n const [visibleItems, setVisibleItems] = useState()\n\n const handleCardClick = (idx: number) => {\n const index = (currentPage - 1) * 3 + idx\n setSelectedCardIndex(index) // Update selected card index on click\n }\n\n const cardStyle = (index: number) => ({\n borderBottom:\n index === selectedCardIndex\n ? ' 6px solid #039FBF'\n : '2px solid transparent',\n })\n\n const [isMobile] = useMediaQuery('(max-width: 720px)')\n\n useEffect(() => {\n const startIndex = (currentPage - 1) * 3\n const endIndex = startIndex + 3\n setVisibleItems(cards.slice(startIndex, endIndex))\n }, [currentPage, cards])\n\n useEffect(() => {\n setCurrentPage(Math.floor(selectedCardIndex / 3) + 1)\n }, [selectedCardIndex])\n\n const currentCard = cards[selectedCardIndex]\n return (\n \n \n \n {title}\n \n \n\n {!isMobile ? (\n \n \n {visibleItems?.map((card, index) => (\n handleCardClick(index)}\n >\n \n \n \n \n {card.title}\n \n \n \n \n ))}\n \n \n ) : (\n \n \n \n \n \n \n {currentCard.title}\n \n \n \n \n \n )}\n\n \n \n \n \n \n \n \n \n \n setSelectedCardIndex(number - 1)\n }\n />\n \n \n \n {currentCard.title}\n \n \n \n {currentCard.text}\n \n \n \n \n \n \n \n \n )\n }\n","import { MultiCardGalleryWithStepper } from 'common/components/organisms/MultiCardGalleryWithStepper/index'\nimport React, { FC } from 'react'\n\nconst MultiCardGalleryWithStepperWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { MultiCardGalleryWithStepperWrapper as MultiCardGalleryWithStepper }\n\nconst getProps = (data: any) => {\n return {\n title: data.title,\n cards: data.career_card_with_pagination.map((item: any) => {\n return {\n icon: item.icon,\n text: item.text,\n title: item.title,\n image: item.card_cta_0396ba7__cta_icon,\n }\n }),\n }\n}\n","import { Box, SimpleGrid, VStack } from '@chakra-ui/react'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport React, { useState } from 'react'\n\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport { Pagination } from '../../molecules/Pagination/index'\nimport { FeatureList, FeatureListProps } from '../FeatureList'\n\ninterface MultiFeatureListProps {\n title: string\n caption: string\n items: FeatureListProps[]\n}\n\nexport const MultiFeatureList: React.FC = ({\n title,\n caption,\n items,\n}) => {\n const [selectedCardIndex, setSelectedCardIndex] = useState(0)\n const [visibleItems, setVisibleItems] = useState<{ title: string }[]>([])\n const [currentPage, setCurrentPage] = useState(1)\n const isMobile = !useDesktop()\n\n const cardStyle = (index: number) => ({\n borderBottom:\n index === selectedCardIndex\n ? ' 6px solid #039FBF'\n : '2px solid transparent',\n })\n\n const handlePagination = (paginationItems: any) => {\n setVisibleItems(paginationItems.visibleItems)\n setCurrentPage(paginationItems.currentPage)\n }\n\n return (\n \n \n \n \n \n {title}\n \n \n \n \n {caption}\n \n \n \n \n\n \n {visibleItems?.map((item, index) => (\n \n setSelectedCardIndex(\n (currentPage - 1) * (isMobile ? 1 : 4) + index\n )\n }\n display='flex'\n alignItems='center'\n justifyContent='center'\n cursor={'pointer'}\n >\n \n \n {item.title}\n \n \n \n ))}\n \n\n \n \n \n\n \n \n \n \n )\n}\n","import { MultiFeatureList } from 'common/components/organisms/MultiFeatureList/index'\nimport React, { FC } from 'react'\n\nconst MultiFeatureListWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { MultiFeatureListWrapper as MultiFeatureList }\nconst getProps = (data: any) => {\n return {\n title: data.title,\n caption: data.caption,\n items: data.textwithimages.map((item: any) => {\n return {\n featureTitle: item.featurelist__bullets_title,\n featureSubtitle: item.featurelist__bullets_subtitle,\n features: item.featurelist__features,\n image: item.featurelist__image,\n subtitle: item.featurelist__subtitle,\n title: item.featurelist__title,\n variant: item.featurelist__variant,\n cta: item.featurelist__cta,\n secondaryTitle: item.secondary_title,\n callToAction: {\n analyticsId: item.featurelist__cta_analyticsid,\n label: item.featurelist__cta_label,\n [`${item.call_to_action__iconlocation}Icon`]:\n item.featurelist__cta_icon,\n url: item.featurelist__cta_url,\n variant: item.featurelist__cta_variant,\n noSpacer: true,\n },\n }\n }),\n }\n}\n","// write a bolier plate for a functional component\nimport React, { FC, useState } from 'react'\nimport { Box, SimpleGrid } from '@chakra-ui/react'\nimport { Pagination } from '../Pagination'\nimport { Card } from '../Card'\n\ninterface PaginatedCardsProps {\n icon: string\n description: string\n}\n\nexport const PaginatedCards: FC<{ cards: PaginatedCardsProps[] }> = ({\n cards,\n}) => {\n const [visibleItems, setVisibleItems] = useState([])\n\n const handlePagination = (array: any) => {\n setVisibleItems(array.visibleItems)\n }\n\n return (\n <>\n \n {visibleItems.map((card, idx) => (\n \n \n \n ))}\n \n \n \n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport React from 'react'\nimport { PaginatedCards } from '../../molecules/PaginatedCards/index'\n\ninterface Card {\n icon: string\n description: string\n}\n\ninterface ItemsProps {\n cardTitle?: string\n cards: Card[]\n}\n\ninterface MultiPaginatedCardsProps {\n title: string\n subTitle: string\n items: ItemsProps[]\n secondSubtitle?: string\n secondTitle?: string\n}\n\nexport const MultiPaginatedCards: React.FC = (\n props\n) => {\n const { title, subTitle, items, secondSubtitle, secondTitle } = props\n\n return (\n \n \n {title}\n \n \n {subTitle}\n \n \n {items?.map((item: ItemsProps, index) => (\n \n \n {item.cardTitle}\n \n \n \n \n \n ))}\n \n\n \n {secondSubtitle}\n \n \n {secondTitle}\n \n \n )\n}\n","import { MultiPaginatedCards } from 'common/components/organisms/MultiPaginatedCards/index'\nimport React, { FC } from 'react'\n\nconst MultiPaginatedCardsWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { MultiPaginatedCardsWrapper as MultiPaginatedCards }\nexport const getProps = (data: any) => {\n return {\n title: data.title,\n subTitle: data.subtitle,\n items: data.untitled_linked_items.map((item: any) => ({\n cardTitle: item.title,\n cards: item.cards.map((card: any) => ({\n icon: card.icon,\n description: card.title,\n })),\n })),\n secondTitle: data.secondtitle,\n secondSubtitle: data.secondsubtitle,\n }\n}\n","import { Box, Container } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport {\n Notice,\n NoticeCompact,\n NoticeProps,\n} from 'common/components/organisms/Notice'\nimport React from 'react'\n\nexport interface NoticesProps {\n notices: NoticeProps[]\n variant?: 'default' | 'compact'\n displaytitle?: 'true' | 'false'\n}\n\nexport const Notices: React.FC = (props) => {\n const notices = getNotices(props)\n const variant = props.variant\n const displayTitle = props.displaytitle\n if (variant === 'compact') {\n return (\n <>\n {displayTitle === 'true' && (\n Notices\n )}\n {notices?.length > 0 && (\n \n {notices?.map((notice, index) => (\n \n ))}\n \n )}\n \n )\n }\n return (\n <>\n {notices?.length > 0 && (\n \n \n {notices?.map((notice, index) => (\n \n ))}\n \n \n )}\n \n )\n}\n\nconst getNotices = (data: any): NoticeProps[] => {\n const notices = (data.notices || []).map((notice: any) => ({\n title: notice.title,\n text: notice.text,\n subTitle: notice.subTitle ? notice.subTitle : notice.subtitle,\n variant: notice.variant,\n noticeVariant: data.variant,\n callToAction: {\n label: notice.call_to_action__label,\n [`${notice.call_to_action__iconlocation}Icon`]:\n notice.call_to_action__icon,\n text: notice.call_to_action__text,\n title: notice.call_to_action__title,\n url: notice.call_to_action__url,\n variant: notice.call_to_action__variant,\n },\n }))\n return notices\n}\n","import 'core-js/modules/es.object.assign.js';\nimport { createIcon, Box, Center, Text } from '@chakra-ui/react';\nimport React from 'react';\nvar dict = {\n health: {\n inforce: {\n color: 'pillar.health',\n rgba: 'rgba(3, 159, 191, 0.1)'\n },\n lapsed: {\n color: 'pillar.lapsed',\n rgba: 'rgba(238, 135, 14, 0.1)'\n },\n surrendered: {\n color: 'pillar.surrendered',\n rgba: 'rgba(157, 152, 176, 0.1)'\n }\n },\n life: {\n inforce: {\n color: 'pillar.life',\n rgba: 'rgba(33, 150, 243, 0.1)'\n },\n lapsed: {\n color: 'pillar.lapsed',\n rgba: 'rgba(238, 135, 14, 0.1)'\n },\n surrendered: {\n color: 'pillar.surrendered',\n rgba: 'rgba(157, 152, 176, 0.1)'\n }\n },\n pensions: {\n inforce: {\n color: 'pillar.pensions',\n rgba: 'rgba(113, 127, 226, 0.1)'\n },\n lapsed: {\n color: 'pillar.lapsed',\n rgba: 'rgba(238, 135, 14, 0.1)'\n },\n surrendered: {\n color: 'pillar.surrendered',\n rgba: 'rgba(157, 152, 176, 0.1)'\n }\n },\n investments: {\n inforce: {\n color: 'pillar.investments',\n rgba: 'rgba(157, 71, 184, 0.1)'\n },\n lapsed: {\n color: 'pillar.lapsed',\n rgba: 'rgba(238, 135, 14, 0.1)'\n },\n surrendered: {\n color: 'pillar.surrendered',\n rgba: 'rgba(157, 152, 176, 0.1)'\n }\n },\n smartinvest: {\n inforce: {\n color: 'pillar.investments',\n rgba: 'rgba(157, 71, 184, 0.1)'\n },\n lapsed: {\n color: 'pillar.lapsed',\n rgba: 'rgba(238, 135, 14, 0.1)'\n },\n surrendered: {\n color: 'pillar.surrendered',\n rgba: 'rgba(157, 152, 176, 0.1)'\n }\n },\n financialplan: {\n inforce: {\n color: 'pillar.life',\n rgba: 'rgba(33, 150, 243, 0.1)'\n },\n lapsed: {\n color: 'pillar.lapsed',\n rgba: 'rgba(238, 135, 14, 0.1)'\n },\n surrendered: {\n color: 'pillar.surrendered',\n rgba: 'rgba(157, 152, 176, 0.1)'\n }\n },\n wellbeing: {\n inforce: {\n color: 'pillar.wellbeing',\n rgba: 'rgba(150, 201, 25, 1)'\n },\n lapsed: {\n color: 'pillar.lapsed',\n rgba: 'rgba(150, 201, 25, 1)'\n },\n surrendered: {\n color: 'pillar.surrendered',\n rgba: 'rgba(150, 201, 25, 1)'\n }\n }\n};\nvar fontSizes = {\n sm: 32,\n md: 64,\n xsm: 28,\n xxsm: 22,\n msm: 52\n};\n\nfunction PillarIcon(props) {\n var _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'health' : _props$variant,\n _props$size = props.size,\n size = _props$size === void 0 ? 'md' : _props$size,\n _props$isDisabled = props.isDisabled,\n isDisabled = _props$isDisabled === void 0 ? false : _props$isDisabled,\n _props$planStatus = props.planStatus,\n planStatus = _props$planStatus === void 0 ? 'inforce' : _props$planStatus;\n var pillarIcon = React.useMemo(function () {\n var color = isDisabled ? 'vibrant.300' : variant === 'proposal' ? 'pillar.proposal' : dict[variant][planStatus].color;\n return function () {\n return {\n health: /*#__PURE__*/React.createElement(HealthIcon, {\n color: color,\n fontSize: fontSizes[size]\n }),\n life: /*#__PURE__*/React.createElement(LifeIcon, {\n color: color,\n fontSize: fontSizes[size]\n }),\n pensions: /*#__PURE__*/React.createElement(PensionsIcon, {\n color: color,\n fontSize: fontSizes[size]\n }),\n investments: /*#__PURE__*/React.createElement(InvestmentsIcon, {\n color: color,\n fontSize: fontSizes[size]\n }),\n smartinvest: /*#__PURE__*/React.createElement(InvestmentsIcon, {\n color: color,\n fontSize: fontSizes[size]\n }),\n financialplan: /*#__PURE__*/React.createElement(FinancialPlan, {\n color: color,\n fontSize: fontSizes[size]\n }),\n wellbeing: /*#__PURE__*/React.createElement(WellbeingIcon, {\n color: color,\n fontSize: fontSizes[size]\n }),\n proposal: /*#__PURE__*/React.createElement(ProposalIcon, {\n color: color,\n fontSize: fontSizes[size]\n })\n };\n }()[variant];\n }, [variant, size, isDisabled, planStatus]);\n return /*#__PURE__*/React.createElement(Wrapper, Object.assign({}, props), pillarIcon);\n}\n\nfunction Wrapper(props) {\n if (props.filled) return /*#__PURE__*/React.createElement(Circle, Object.assign({}, props));\n return /*#__PURE__*/React.createElement(Box, {\n \"data-testid\": 'PillarIcon'\n }, props.children);\n}\n\nfunction Circle(props) {\n var children = props.children,\n _props$variant2 = props.variant,\n variant = _props$variant2 === void 0 ? 'health' : _props$variant2,\n count = props.count,\n _props$size2 = props.size,\n size = _props$size2 === void 0 ? 'md' : _props$size2,\n _props$isDisabled2 = props.isDisabled,\n isDisabled = _props$isDisabled2 === void 0 ? false : _props$isDisabled2,\n _props$planStatus2 = props.planStatus,\n planStatus = _props$planStatus2 === void 0 ? 'inforce' : _props$planStatus2;\n var showCount = typeof count === 'number' && size === 'md' && !isDisabled;\n var rgba = isDisabled ? 'rgba(156, 165, 235, 0.1)' : dict[variant][planStatus].rgba; //styles[variant].rgba\n\n return /*#__PURE__*/React.createElement(Box, {\n \"data-testid\": 'PillarIcon'\n }, /*#__PURE__*/React.createElement(Center, {\n w: size === 'sm' ? '56px !important' : size === 'xsm' ? '42px' : size === 'xxsm' ? '36px' : '112px',\n h: size === 'sm' ? '56px !important' : size === 'xsm' ? '42px' : size === 'xxsm' ? '36px' : '112px',\n borderWidth: size === 'sm' ? '2px' : size === 'xsm' ? '1.5px' : size === 'xxsm' ? '1.5px' : '3px',\n borderColor: rgba,\n rounded: 'full',\n position: 'relative',\n bgColor: 'white'\n }, /*#__PURE__*/React.createElement(Center, {\n boxSize: size === 'sm' ? 12 : size === 'xsm' ? 9 : size === 'xxsm' ? 7 : 24,\n bg: rgba,\n rounded: 'full',\n opacity: 'none'\n }, children), showCount && /*#__PURE__*/React.createElement(Count, {\n variant: variant,\n count: count\n })));\n}\n\nfunction Count(props) {\n var variant = props.variant,\n count = props.count,\n planStatus = props.planStatus;\n var color = dict[variant][planStatus].color; //styles[variant].color\n\n return /*#__PURE__*/React.createElement(Center, {\n position: 'absolute',\n bottom: 0,\n right: 0,\n rounded: 'full',\n p: 2,\n borderWidth: '2px',\n boxSize: '30px',\n borderColor: color,\n bg: 'white'\n }, /*#__PURE__*/React.createElement(Text, {\n p: 0,\n m: 0,\n fontWeight: 600,\n fontSize: '16px'\n }, count));\n}\n\nvar LifeIcon = createIcon({\n displayName: 'LifeIcon',\n viewBox: '0 0 64 64',\n path: [/*#__PURE__*/React.createElement(\"path\", {\n d: 'M33.038 32.849v16.71A5.457 5.457 0 0 1 27.598 55a5.457 5.457 0 0 1-5.442-5.44',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n fill: 'transparent'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M12.155 32.82c4.208 0 7.887 1.853 9.956 4.628 2.069-2.775 5.748-4.628 9.955-4.628 4.208 0 8.216 1.752 10.285 4.527 2.07-2.775 5.42-4.527 9.627-4.527a13.602 13.602 0 0 1 5.154 1.005C56.178 21.296 45.334 11.41 32.066 11.41 18.795 11.41 7.95 21.302 7 33.836a13.574 13.574 0 0 1 5.155-1.016v0Z',\n fill: 'currentColor',\n fillOpacity: '.2',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M31.939 8v3.175a.51.51 0 0 1-.17.384c-1.3 1.183-9.658 9.425-9.658 25.888M32.486 11.41s9.864 7.761 9.864 25.613',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n fill: 'transparent'\n })]\n});\nvar HealthIcon = createIcon({\n displayName: 'HealthIcon',\n viewBox: '0 0 64 64',\n path: [/*#__PURE__*/React.createElement(\"path\", {\n d: 'M32.064 16.703S34.895 9 44.255 9c9.36 0 19.254 9.662 10.359 26.617C47.088 49.962 34.58 55.097 32.126 56h-.004c-2.455-.904-15.093-6.038-22.619-20.383C.608 18.662 10.365 9 19.726 9c9.36 0 12.327 7.703 12.327 7.703',\n fill: 'currentColor',\n fillOpacity: '.2'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M32.064 16.703S34.895 9 44.255 9c9.36 0 19.254 9.662 10.359 26.617C47.088 49.962 34.58 55.097 32.126 56h-.004c-2.455-.904-15.093-6.038-22.619-20.383C.608 18.662 10.365 9 19.726 9c9.36 0 12.327 7.703 12.327 7.703',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n fill: 'transparent'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M7.97 30.975h9.514l4.008 7.24 6.66-14.473L36.01 40.04l7.522-15.114 3.142 6.577h9.154',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n fill: 'transparent'\n })]\n});\nvar PensionsIcon = createIcon({\n displayName: 'PensionsIcon',\n viewBox: '0 0 64 64',\n path: [/*#__PURE__*/React.createElement(\"path\", {\n d: 'M39.012 27.998c3.36 10.199-1.166 17.302-8.805 19.826-7.639 2.524-15.498-.487-18.859-10.686-3.36-10.2-.95-23.724 6.688-26.248 7.64-2.524 17.615 6.909 20.976 17.108Z',\n fill: '#D8DBF7',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M24.299 33c-.168-2.42.227-5.123 1.303-8.07 3.685-10.086 13.956-19.195 21.51-16.428 7.078 2.592 9.26 14.687 6.48 24.498H24.298Z',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n fill: '#D8DBF7'\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: 'one',\n d: 'M57.803 32.942C57.803 45.125 46.206 55 31.9 55 17.596 55 6 45.125 6 32.942h51.803Z',\n fill: '#D8DBF7',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M8.346 39.626h10.157M39.271 41.771h15.59M30.823 47.408H22.5',\n stroke: 'currentColor',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n })]\n});\nvar InvestmentsIcon = createIcon({\n displayName: 'InvestmentsIcon',\n viewBox: '0 0 64 64',\n path: [/*#__PURE__*/React.createElement(\"path\", {\n d: 'M31.957 43.772C8.985 47.32 7 22.742 7 22.742c15.736-2.43 23.906 6.955 25.227 15.272',\n fill: 'currentColor',\n fillOpacity: '.2'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M31.957 43.772C8.985 47.32 7 22.742 7 22.742c15.736-2.43 23.906 6.955 25.227 15.272',\n stroke: 'currentColor',\n strokeWidth: '2',\n fill: 'transparent'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M32.259 56V32.955S29.839 9 57.166 9c0 0 2.73 26.865-24.286 26.865',\n fill: 'currentColor',\n fillOpacity: '.2'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M32.259 56V32.955S29.839 9 57.166 9c0 0 2.73 26.865-24.286 26.865M56.282 9.873l-22.95 25.322M7 22.742l25.01 19.439',\n stroke: 'currentColor',\n strokeWidth: '2',\n fill: 'transparent'\n })]\n});\nvar FinancialPlan = createIcon({\n displayName: 'FinancialPlan',\n viewBox: '0 0 25 24',\n path: [/*#__PURE__*/React.createElement(\"path\", {\n \"clip-rule\": 'evenodd',\n d: 'M9.75 7.761a1 1 0 0 1 1-1h11.5a1 1 0 0 1 1 1v14.5a1 1 0 0 1-1 1h-11.5a1 1 0 0 1-1-1v-14.5Z',\n stroke: 'currentColor',\n fill: 'transparent',\n strokeWidth: '1',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M9.75 20.261h-3a1.5 1.5 0 0 1-1.5-1.5v-13.5a1.5 1.5 0 0 1 1.5-1.5h10.5a1.5 1.5 0 0 1 1.5 1.5v1.5',\n stroke: 'currentColor',\n fill: 'transparent',\n strokeWidth: '1',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M5.25 17.261h-3a1.5 1.5 0 0 1-1.5-1.5v-13.5a1.5 1.5 0 0 1 1.5-1.5h10.5a1.5 1.5 0 0 1 1.5 1.5v1.5M17.25 11.261h3M12.75 10.511l.75.75 1.5-1.5M17.25 15.761h3M12.75 15.011l.75.75 1.5-1.5M17.25 20.261h3M12.75 19.511l.75.75 1.5-1.5',\n stroke: 'currentColor',\n fill: 'transparent',\n strokeWidth: '1',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n })]\n});\nvar WellbeingIcon = createIcon({\n displayName: 'Wellbeing',\n viewBox: '0 0 30 40',\n path: [/*#__PURE__*/React.createElement(\"path\", {\n d: 'M10.2261 6.4648C10.2261 5.51583 10.5075 4.58817 11.0347 3.79913C11.5619 3.01009 12.3113 2.39511 13.188 2.03195C14.0647 1.6688 15.0295 1.57378 15.9602 1.75891C16.891 1.94405 17.7459 2.40102 18.4169 3.07205C19.0879 3.74307 19.5449 4.59801 19.73 5.52874C19.9152 6.45948 19.8202 7.42421 19.457 8.30095C19.0939 9.17768 18.4789 9.92704 17.6898 10.4543C16.9008 10.9815 15.9731 11.2629 15.0242 11.2629C13.7516 11.2629 12.5312 10.7574 11.6314 9.85756C10.7316 8.95774 10.2261 7.73733 10.2261 6.4648V6.4648Z',\n stroke: 'currentColor',\n fill: 'transparent',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n vectorEffect: 'non-scaling-stroke'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M29.4959 11.9284C29.292 11.417 28.8958 11.0059 28.3924 10.7831C27.889 10.5603 27.3183 10.5436 26.8027 10.7366L17.3614 14.3893H12.8574L3.86482 10.9068C3.34965 10.7016 2.77404 10.7094 2.26463 10.9286C1.75522 11.1477 1.35373 11.5602 1.14848 12.0754C0.943238 12.5906 0.951048 13.1662 1.1702 13.6756C1.38934 14.185 1.80188 14.5865 2.31705 14.7917L10.35 17.8873V23.2426L4.65418 33.5971C4.32112 34.1988 4.23998 34.9079 4.42853 35.5693C4.61708 36.2307 5.05995 36.7904 5.66023 37.126C6.047 37.3449 6.48501 37.4571 6.9294 37.4511C7.39285 37.4521 7.84815 37.3292 8.24818 37.0952C8.6482 36.8612 8.97841 36.5245 9.20462 36.12L14.5444 26.4929H15.5195L20.72 36.8939C20.9325 37.3278 21.263 37.6931 21.6737 37.9477C22.0844 38.2023 22.5585 38.3359 23.0417 38.3333C23.4848 38.3295 23.9197 38.2132 24.3055 37.9953C24.6914 37.7774 25.0156 37.465 25.2477 37.0875C25.4797 36.71 25.6121 36.2797 25.6323 35.8371C25.6526 35.3944 25.56 34.9538 25.3633 34.5567L19.6675 23.1806V17.9956L28.2886 14.6989C28.5538 14.6016 28.7965 14.4516 29.0021 14.2579C29.2077 14.0642 29.3719 13.8308 29.4848 13.5718C29.5976 13.3129 29.6568 13.0337 29.6587 12.7512C29.6606 12.4688 29.6052 12.1888 29.4959 11.9284Z',\n stroke: 'currentColor',\n fill: 'transparent',\n strokeWidth: '2',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n vectorEffect: 'non-scaling-stroke'\n })]\n});\nvar ProposalIcon = createIcon({\n displayName: 'Proposal',\n viewBox: '0 0 21 22',\n path: [/*#__PURE__*/React.createElement(\"path\", {\n fillRule: 'evenodd',\n clipRule: 'evenodd',\n d: 'M4.875 2.87427H2.375C1.68464 2.87427 1.125 3.43391 1.125 4.12427V19.1243C1.125 19.8146 1.68464 20.3743 2.375 20.3743H18.625C19.3154 20.3743 19.875 19.8146 19.875 19.1243V4.12427C19.875 3.43391 19.3154 2.87427 18.625 2.87427H9.875',\n fill: 'white'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M4.875 2.87427H2.375C1.68464 2.87427 1.125 3.43391 1.125 4.12427V19.1243C1.125 19.8146 1.68464 20.3743 2.375 20.3743H18.625C19.3154 20.3743 19.875 19.8146 19.875 19.1243V4.12427C19.875 3.43391 19.3154 2.87427 18.625 2.87427H9.875',\n stroke: 'currentColor',\n strokeWidth: '1.5',\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n fill: 'white'\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: 'Shape_2',\n fillRule: 'evenodd',\n clipRule: 'evenodd',\n d: 'M9.875 10.3743L7.375 8.5001L4.875 10.3751V2.2501C4.87478 2.0842 4.94053 1.92501 5.05776 1.80762C5.175 1.69023 5.3341 1.62427 5.5 1.62427H9.25C9.59518 1.62427 9.875 1.90409 9.875 2.24927V10.3743Z',\n fill: 'white',\n stroke: 'currentColor',\n strokeWidth: '1.5',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: 'evenodd',\n clipRule: 'evenodd',\n d: 'M4.875 16.6243H13.625H4.875Z',\n fill: 'white'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M4.875 16.6243H13.625',\n stroke: 'currentColor',\n strokeWidth: '1.5',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: 'evenodd',\n clipRule: 'evenodd',\n d: 'M4.875 12.8743H16.125H4.875Z',\n fill: 'white'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M4.875 12.8743H16.125',\n stroke: 'currentColor',\n strokeWidth: '1.5',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: 'evenodd',\n clipRule: 'evenodd',\n d: 'M16.125 9.12427H12.375H16.125Z',\n fill: 'white'\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: 'M16.125 9.12427H12.375',\n stroke: 'currentColor',\n strokeWidth: '1.5',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n })]\n});\nexport { PillarIcon };","import { Stack, useMediaQuery } from '@chakra-ui/react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport {\n ArrowRightCircleIcon,\n ChevronRightIcon,\n} from '@irishlife/ilgroupdesignsystem.icons'\nimport { Card } from '@irishlifedigitalhub/ds.atoms.card'\nimport { PillarIcon } from '@irishlifedigitalhub/ds.atoms.pillar-icon'\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text'\nimport { navigate } from '@reach/router'\nimport { fireAnalyticsEvent } from 'common/utils/fireAnalyticsEvent'\nimport React from 'react'\n\ntype BorderVariants =\n | 'life'\n | 'investments'\n | 'health'\n | 'pensions'\n | 'wellbeing'\n\nexport type PillarCardProps = {\n text: string\n variant: BorderVariants\n primaryCta: {\n label: string\n url: string\n analyticsId: string\n hide_cta?: 'Yes' | 'No'\n }\n secondaryCta: {\n label: string\n url: string\n analyticsId: string\n }\n}\n\nconst contentPropsMap = {\n life: {\n text: 'Life Insurance',\n },\n investments: {\n text: 'Investments',\n },\n health: {\n text: 'Health Insurance',\n },\n pensions: {\n text: 'Pensions',\n },\n wellbeing: {\n text: 'Wellbeing',\n },\n}\n\nexport function PillarCard(props: Readonly): JSX.Element {\n const { variant = 'health', text, primaryCta, secondaryCta } = props\n const { text: pillarName } = contentPropsMap[variant]\n const [isMobileExtraSmall, isMobile] = useMediaQuery([\n '(max-width: 373px)',\n '(max-width: 543px)',\n ])\n\n return (\n \n \n \n \n\n \n {pillarName}\n \n \n {text}\n \n {((!primaryCta.hide_cta) || (primaryCta.hide_cta && primaryCta.hide_cta === 'No')) &&\n }\n variant='primary'\n size='sm'\n mr='16px'\n onClick={() => {\n fireAnalyticsEvent({\n name: 'secondaryCtaClick',\n properties: {\n clickText: primaryCta.label,\n clickURL: primaryCta.url,\n clickID: primaryCta.analyticsId,\n },\n })\n navigate(primaryCta.url)\n }}\n >\n {primaryCta.label}\n \n }\n }\n variant='ghost'\n size='sm'\n onClick={() => {\n fireAnalyticsEvent({\n name: 'secondaryCtaClick',\n properties: {\n clickText: secondaryCta.label,\n clickURL: secondaryCta.url,\n clickID: secondaryCta.analyticsId,\n },\n })\n navigate(secondaryCta.url)\n }}\n >\n {secondaryCta.label}\n \n \n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport React from 'react'\nimport { PillarCard, PillarCardProps } from './PillarCard'\n\nexport interface PillarsProps {\n title?: string\n subtitle?: string\n title___color?: string\n subtitle___color?: string\n pillars: PillarCardProps[]\n}\n\nexport const Pillars: React.FC = ({\n pillars,\n subtitle,\n subtitle___color,\n title,\n title___color\n}) => {\n return (\n \n {title && (\n \n { title }\n \n )}\n {subtitle && (\n \n { subtitle }\n \n )}\n \n {pillars.map((pillar) => (\n \n ))}\n \n \n )\n}\n","import {\n Pillars as PillarsOrganism,\n PillarsProps as PillarsOrganismProps,\n} from 'common/components/organisms/Pillars'\nimport React from 'react'\n\nexport interface PillarsProps extends PillarsOrganismProps {}\n\nexport const Pillars: React.FC = (props) => {\n return (\n <>\n \n \n )\n}\n\nexport const getPillarProps = (props: any): PillarsProps => {\n return {\n title: props.title,\n subtitle: props.subtitle,\n title___color: props.title___color,\n subtitle___color: props.subtitle___color,\n pillars: [\n {\n text: props.life_insurance_text,\n variant: 'life',\n primaryCta: {\n label: props.life_insurance_ctas[0].cta__label,\n url: props.life_insurance_ctas[0].cta__url,\n analyticsId: props.life_insurance_ctas[0].cta__analytics_id,\n hide_cta: props.hide_primary_ctas\n },\n secondaryCta: {\n label: props.life_insurance_ctas?.[1].cta__label,\n url: props.life_insurance_ctas?.[1].cta__url,\n analyticsId:\n props.life_insurance_ctas?.[1].cta__analytics_id,\n },\n },\n {\n text: props.health_insurance_text,\n variant: 'health',\n primaryCta: {\n label: props.health_insurance_ctas[0].cta__label,\n url: props.health_insurance_ctas[0].cta__url,\n analyticsId:\n props.health_insurance_ctas[0].cta__analytics_id,\n hide_cta: props.hide_primary_ctas\n },\n secondaryCta: {\n label: props.health_insurance_ctas?.[1].cta__label,\n url: props.health_insurance_ctas?.[1].cta__url,\n analyticsId:\n props.health_insurance_ctas?.[1].cta__analytics_id,\n },\n },\n {\n text: props.pensions_text,\n variant: 'pensions',\n primaryCta: {\n label: props.pensions_ctas[0].cta__label,\n url: props.pensions_ctas[0].cta__url,\n analyticsId: props.pensions_ctas[0].cta__analytics_id,\n hide_cta: props.hide_primary_ctas\n },\n secondaryCta: {\n label: props.pensions_ctas?.[1].cta__label,\n url: props.pensions_ctas?.[1].cta__url,\n analyticsId: props.pensions_ctas?.[1].cta__analytics_id,\n },\n },\n {\n text: props.investments_text,\n variant: 'investments',\n primaryCta: {\n label: props.investments_ctas[0].cta__label,\n url: props.investments_ctas[0].cta__url,\n analyticsId: props.investments_ctas[0].cta__analytics_id,\n hide_cta: props.hide_primary_ctas\n },\n secondaryCta: {\n label: props.investments_ctas?.[1].cta__label,\n url: props.investments_ctas?.[1].cta__url,\n analyticsId: props.investments_ctas?.[1].cta__analytics_id,\n },\n },\n ],\n }\n}\n","import React from 'react'\nimport { ChevronRightIcon } from '@irishlife/ilgroupdesignsystem.icons'\nimport TagManager from 'react-gtm-module'\nimport { Link } from 'common/components/atoms/Link'\nimport { Box } from '@chakra-ui/react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\n\nexport interface ProductListingCTAProps {\n label: string\n variant?: string\n url: string\n onClick?: () => void\n ishighlighted: boolean\n}\n\nexport const ProductListingCTA: React.FC = ({\n label = 'Learn more',\n variant = 'ghost',\n onClick,\n url = '',\n ishighlighted,\n}) => {\n return (\n {\n TagManager.dataLayer({\n dataLayer: {\n event: 'secondaryButtonClick',\n clickText: label,\n clickURL: url,\n clickID: label,\n },\n })\n if (onClick) {\n onClick()\n }\n }}\n path={url}\n >\n \n : undefined}\n size='md'\n variant='ghost'\n >\n {' '}\n {variant === 'download' ? 'Download PDF' : label}\n \n \n \n )\n}\n","import { Box } from '@chakra-ui/react'\nimport React from 'react'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { ProductListingCTA, ProductListingCTAProps } from './ProductListingCTA'\nexport interface ProductListCardProps {\n ishighlighted?: boolean\n callToAction?: ProductListingCTAProps\n icon: string\n text: string\n title: string\n iconSize?: 'md' | 'lg'\n subtitle?: string\n}\nconst iconSizeList = {\n desktop: {\n md: 40,\n lg: 64,\n },\n}\nexport const ProductListCard: React.FC = ({\n ishighlighted = false,\n icon,\n text,\n title,\n iconSize = 'md',\n subtitle,\n callToAction,\n}) => {\n return (\n <>\n \n {icon && (\n \n )}\n \n {title}\n \n {subtitle && (\n \n {subtitle}\n \n )}\n \n {text}\n \n {callToAction && callToAction.label && (\n \n )}\n \n \n )\n}\n","import React from 'react'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport {\n ProductListCard,\n ProductListCardProps,\n} from 'common/components/molecules/ProductListCard'\nimport { Grid, GridItem } from '@chakra-ui/react'\nimport { RichText } from 'common/components/molecules/RichText'\nexport interface ProductRowListsProps {\n productRowLists?: ProductListCardProps[]\n text: string\n title: string\n subTitle?: string\n}\nexport const ProductRowLists: React.FC = ({\n title,\n subTitle,\n text,\n productRowLists,\n}) => {\n const desktop = useDesktop()\n return (\n
    \n \n {title}\n \n \n \n {subTitle && (\n \n {subTitle}\n \n )}\n \n \n \n \n {productRowLists.map((productRowList: any) => (\n \n \n \n ))}\n \n \n \n
    \n )\n}\n","import {\n ProductRowLists,\n ProductRowListsProps,\n} from 'common/components/organisms/ProductRowLists'\nimport React from 'react'\n\nexport interface ProductListingProps extends ProductRowListsProps {}\nexport const ProductListing: React.FC = (props) => {\n return \n}\n\nconst getProductRowListingProps = (data: any): ProductListingProps => {\n return {\n title: data.title,\n subTitle: data.subtitle,\n text: data.text,\n productRowLists: data.product_lists.map((card: any) => ({\n callToAction: {\n label: card.card_cta_0396ba7__cta_label,\n variant: card.card_cta_0396ba7__cta_variant,\n url: card.card_cta_0396ba7__cta_url,\n },\n icon: card.icon,\n text: card.text,\n title: card.title,\n subtitle: card.subtitle,\n ishighlighted: card.ishighlighted === 'highlighted' ? true : false,\n })),\n }\n}\n","import { Box, Container, SimpleGrid } from '@chakra-ui/react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { navigate } from '@reach/router'\nimport { theme } from 'common/components/design-system/theme'\nimport { CardCtaProps } from 'common/components/molecules/CardCta'\nimport React from 'react'\n\nexport interface ProofPointsProps {\n heading?: string\n cards: {\n title: string\n text: string\n icon: string\n callToAction: CardCtaProps\n }[]\n variant?: 'light' | 'dark'\n}\n\nexport const ProofPoints: React.FC = ({\n cards,\n heading,\n variant,\n}) => {\n const isDark = variant === 'dark' ? true : false\n const background = isDark ? theme.palette.VIBRANT_700 : 'transparent'\n\n const lightStyles = {\n color: theme.palette.BRAND_900,\n }\n\n const darkStyles = {\n color: '#fff',\n ' p': {\n color: '#fff',\n },\n }\n\n return (\n \n \n {heading && (\n \n \n {heading}\n \n \n )}\n \n {cards?.map((card) => (\n \n {card.icon && (\n \n )}\n\n \n {card.title}\n \n {card.text && (\n \n {card.text}\n \n )}\n {card.callToAction &&\n !Array.isArray(card.callToAction) &&\n card.callToAction.label && (\n \n {\n if (card.callToAction.url) {\n navigate(\n card.callToAction.url\n )\n }\n }}\n >\n {card.callToAction.label}\n \n \n )}\n \n ))}\n \n \n \n )\n}\n","import React from 'react'\nimport { ProofPoints, ProofPointsProps } from '../../ProofPoints'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ProofPointsSectionProps extends ProofPointsProps {}\n\nexport const ProofPointsSection: React.FC = props => {\n return \n}\n\nconst getProofPointsData = (data: any): ProofPointsSectionProps => {\n return {\n heading: data.proof_points__heading,\n variant: data.proof_points__variant,\n cards: data.proof_points__items.map((item: any) => ({\n title: item.title,\n icon: item.icon,\n text: item.text,\n callToAction: {\n label: item.card_cta_0396ba7__cta_label,\n url: item.card_cta_0396ba7__cta_url\n }\n }))\n }\n}\n","import { Box, Grid, Text } from '@chakra-ui/react'\nimport { ArrowRightCircleOutlineIcon } from '@irishlife/ilgroupdesignsystem.icons'\n\nimport React from 'react'\n\n/* eslint-disable-next-line */\nexport interface CostumPopLinkProps {\n title: string\n icon: JSX.Element\n handleClick?: () => void\n}\n\nconst CustomPoplink = ({ title, icon, handleClick }: CostumPopLinkProps) => {\n return (\n \n \n {icon}\n \n \n \n {title}\n \n\n \n \n \n \n \n )\n}\n\nexport default CustomPoplink\n","import { Box, Grid, Image, Text } from '@chakra-ui/react'\nimport { navigate } from '@reach/router'\nimport React from 'react'\nimport CustomPoplink from '../../molecules/CustomPoplink/CustomPoplink'\n\nexport interface Items {\n icon: string\n title: string\n url: string\n}\n\nexport interface ResourcesWithLinksProps {\n title: string\n subtitle: string\n description: string\n poplink: Items[]\n}\n\nconst JsxIcon = (imageUrl: string) => (\n \n)\n\nexport const ResourcesWithLinks: React.FC = (\n props\n) => {\n const { title, subtitle, description, poplink = [] } = props\n\n return (\n \n \n \n \n {title}\n \n \n {subtitle}\n \n {description && (\n \n {description}\n \n )}\n \n\n \n\n \n \n {poplink &&\n poplink.map((item, index) => (\n \n navigate(item.url)}\n />\n \n ))}\n \n \n \n \n )\n}\n","import React, { FC } from 'react'\nimport { ResourcesWithLinks } from 'common/components/organisms/ResourcesWithLinks/index'\n\nconst ResourcesWithLinksWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { ResourcesWithLinksWrapper as ResourcesWithLinks }\nconst getProps = (props: any) => {\n return {\n title: props.title,\n subtitle: props.subtitle,\n description: props.description,\n poplink: props.poplink.map((item: any) => ({\n icon: item.icon,\n title: item.title,\n url: item.url,\n })),\n }\n}\n","import {\n ShardCard,\n ShardCardProps,\n} from '@irishlifedigitalhub/ds.molecules.shard-card'\nimport React from 'react'\nimport TagManager from 'react-gtm-module'\nimport { navigate } from '@reach/router'\nimport { Box } from '@chakra-ui/react'\n\nexport const SharedCard = (props: any[]) => {\n return (props || []).map((sharedCard) => {\n return (\n \n \n \n )\n })\n}\n\nconst getSharedCardProps = (sharedCard: any): ShardCardProps => {\n return {\n subTitle: sharedCard.templatesection___shardcard__title\n ? sharedCard.templatesection___shardcard__title\n : '',\n body: sharedCard.templatesection___shardcard__text,\n callback: () =>\n handleCallBack(sharedCard?.templatesection___shardcard__cta[0]),\n callbackLabel:\n sharedCard?.templatesection___shardcard__cta[0]\n ?.call_to_action__label,\n callbackVariant:\n sharedCard?.templatesection___shardcard__cta[0]\n ?.call_to_action__variant === 'contained'\n ? 'primary'\n : 'secondary',\n callbackSize: 'md',\n image: 'Shared card image',\n imageSrc: sharedCard.templatesection___shardcard__image,\n imageBottom: false,\n }\n}\n\nconst handleCallBack = (data: any): any => {\n TagManager.dataLayer({\n dataLayer: {\n event: 'primaryButtonClick',\n clickText: data?.call_to_action__label,\n clickURL: data?.call_to_action__url,\n clickID: data?.call_to_action__analytics_id,\n },\n })\n navigate(data?.call_to_action__url || '')\n}\n","import React from 'react'\n// import './SupportCenter.css'\n\nconst SupportCenter: React.FC = () => {\n // useEffect(() => {\n // const head = document.querySelector('head')\n // setTimeout(() => {\n // if (head) {\n // // Added null check for head\n // head.insertAdjacentHTML(\n // 'beforeend',\n // ``\n // )\n // }\n // }, 1000)\n // stylesObserver()\n // }, [])\n\n return
    \n}\n\nexport default SupportCenter\n","import React from 'react'\nimport { ComparisonTable } from '@irishlife/ilgroupdesignsystem.table'\nexport const Table: React.FC = (props) => {\n const data = getTableData(props)\n return \n}\nexport type TableProps = {\n title?: string\n columns: ColumnProps[]\n rowgroup?: RowGroupProps[]\n rows?: RowProps[]\n}\n\nexport type ColumnProps = {\n columnTitle?: string\n columnSubtitle?: string\n columnCTALabel?: string\n url?: string\n columnCTAVariant?: string\n cellValues: CellProps[]\n}\n\nexport type CellProps = {\n cellValue: string\n}\n\nexport type RowGroupProps = {\n rowGroupTitle?: string\n isExpanded?: boolean\n Collapsible?: boolean\n rows?: RowProps[]\n}\nexport type RowProps = {\n rowTitle?: string\n}\n\nexport const getTableData = (data: any): any => {\n return {\n title: data.title ? data.title : '',\n columns: getTableColumns(data.table_columns),\n rowgroup: getTableRowGroup(data.table_rows),\n }\n}\n\nexport const getTableRowGroup = (rowGroup: any) => {\n return rowGroup.map((rowGroupItem: any) => {\n const rowValues = rowGroupItem.table_rows.map((row: any) => {\n return {\n rowTitle: row.row_title,\n }\n })\n return {\n rowGroupTitle: rowGroupItem.rowgroup_title,\n Collapsible: rowGroupItem.is_collapsible === 'Yes' ? true : false,\n isExpanded: rowGroupItem.is_expanded === 'Yes' ? true : false,\n rows: rowValues,\n }\n })\n}\n\nexport const getTableColumns = (columns: any) => {\n return columns.map((column: any) => {\n const cellValues = column.column_cell_values.map((cellValue: any) => {\n return {\n cellValue: cellValue.column_boolean_values\n ? cellValue.column_boolean_values\n : cellValue.column_text_values,\n }\n })\n return {\n columnTitle: column.column_title,\n columnSubtitle: column.column_subtitle,\n columnCTALabel: column.call_to_action__label,\n url: column.call_to_action__url,\n columnCTAVariant: column.call_to_action__variant,\n cellValues: cellValues,\n }\n })\n}\n","import FormControl from '@material-ui/core/FormControl'\nimport INPUT_BASE from '@material-ui/core/InputBase'\nimport MenuItem from '@material-ui/core/MenuItem'\nimport Select from '@material-ui/core/Select'\nimport {\n createStyles,\n makeStyles,\n Theme,\n withStyles,\n} from '@material-ui/core/styles'\nimport EXPAND_MORE from '@material-ui/icons/ExpandMore'\nimport React, { useEffect, useState } from 'react'\nimport { theme } from '../../theme'\n\nexport interface SelectProps {\n value: string | number\n isDisabled?: boolean\n options: {\n value: string | number\n label: string\n }[]\n isOptional?: boolean\n isWhiteBackground?: boolean\n onChange?: () => void\n showOptional: boolean\n}\n\nconst { palette } = theme\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n formControl: {\n width: '320px',\n height: '48px',\n '&:before': {\n borderBottom: '0px',\n },\n marginTop: '4px',\n },\n selectEmpty: {\n marginTop: theme.spacing(2),\n },\n empty: {\n color: `${palette.NEUTRAL_300} !important`,\n },\n dropdownStyle: {\n border: '0px',\n borderRadius: '0px 0px 4px 4px',\n backgroundColor: palette.WHITE,\n marginTop: '52px',\n '& ul': {\n padding: '0px',\n },\n },\n menuItem: {\n fontWeight: 700,\n height: '48px',\n '&:hover': {\n backgroundColor: palette.VIBRANT_100_SECONDARY,\n },\n '&:active': {\n backgroundColor: palette.VIBRANT_100_SECONDARY,\n },\n },\n icon: {\n fill: palette.NEUTRAL_900,\n right: '14px',\n },\n iconDisabled: {\n fill: palette.NEUTRAL_300,\n right: '14px',\n },\n optional: {\n fontStyle: 'italic',\n },\n })\n)\n\nconst inputStyles = {\n width: '320px',\n height: '20px',\n borderRadius: '4px',\n backgroundColor: palette.BRAND_100,\n border: '2px solid transparent',\n fontSize: 16,\n padding: '14px',\n fontWeight: 400,\n color: palette.NEUTRAL_900,\n fontFamily: 'Assistant',\n '&:hover': {\n borderColor: palette.BRAND_200,\n },\n '&:active': {\n borderRadius: 4,\n borderColor: '#3681D9',\n },\n '&:focus': {\n backgroundColor: palette.BRAND_100,\n },\n}\n\nconst DefaultInput = withStyles(() =>\n createStyles({\n input: {\n ...inputStyles,\n },\n })\n)(INPUT_BASE)\n\nconst DefaultInputWhite = withStyles(() =>\n createStyles({\n input: {\n ...inputStyles,\n backgroundColor: palette.WHITE,\n '&:focus': {\n backgroundColor: palette.WHITE,\n },\n },\n })\n)(INPUT_BASE)\n\nconst PlaceholderInput = withStyles(() =>\n createStyles({\n input: {\n ...inputStyles,\n color: palette.NEUTRAL_300,\n },\n })\n)(INPUT_BASE)\n\nconst PlaceholderInputWhite = withStyles(() =>\n createStyles({\n input: {\n ...inputStyles,\n backgroundColor: palette.WHITE,\n color: palette.NEUTRAL_300,\n '&:focus': {\n backgroundColor: palette.WHITE,\n },\n },\n })\n)(INPUT_BASE)\n\nexport const SimpleSelect = ({ ...props }) => {\n const {\n value,\n options,\n isDisabled,\n isOptional,\n isWhiteBackground,\n onChange,\n showOptional,\n } = props\n const classes = useStyles()\n const [selectedValue, setValue] = useState()\n\n useEffect(() => {\n setValue(value === undefined ? '' : value)\n }, [value])\n\n const handleChange = (event: React.ChangeEvent<{ value: unknown }>) => {\n setValue(event.target.value as string)\n onChange(event.target.value)\n }\n \n return (\n \n \n ) : (\n \n )\n ) : selectedValue === '' ? (\n \n ) : (\n \n )\n }\n IconComponent={EXPAND_MORE}\n inputProps={\n isDisabled\n ? { classes: { icon: classes.iconDisabled } }\n : { classes: { icon: classes.icon } }\n }\n >\n \n Select an option{' '}\n {isOptional && showOptional && (\n - optional\n )}\n \n {options &&\n options.length > 0 &&\n options.map(({ value, label }: any) => (\n \n {label}\n \n ))}\n \n \n )\n}\n","import React from 'react'\nimport { Theme, withStyles } from '@material-ui/core/styles'\nimport { Styles } from '@material-ui/core/styles/withStyles'\nimport { SimpleSelect } from '../../atoms/select'\nimport { Label } from '../../atoms/label'\nimport { theme } from '../../theme'\n\nexport interface SelectProps {\n value: string | number\n isDisabled?: boolean\n options: {\n value: string | number\n label: string\n }[]\n isOptional?: boolean\n isDarkBackground?: boolean\n onChange?: () => void\n label?: string\n}\n\nconst { palette } = theme\n\nconst styles: Styles = {\n root: {\n width: '328px'\n },\n darkBackground: {\n backgroundColor: 'rgb(245, 244, 247)'\n },\n optional: {\n fontSize: '14px',\n letterSpacing: '0.32px',\n lineHeight: '20px',\n fontFamily: 'Assistant',\n color: palette.NEUTRAL_700,\n fontStyle: 'italic',\n fontWeight: 400,\n paddingBottom: '4px'\n }\n}\n\nexport const Select = ({ ...props }) => {\n const {\n value,\n options,\n isDisabled,\n isOptional,\n isDarkBackground,\n onChange,\n label,\n classes\n } = props\n\n return (\n \n
    \n {label &&
    \n \n \n )\n}\nexport const Dropdown = withStyles(styles)(Select)\n","import { Box, HStack, Image, SimpleGrid } from '@chakra-ui/react';\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text';\nimport { SearchIcon } from '@irishlife/ilgroupdesignsystem.icons';\nimport { Input } from '@irishlife/ilgroupdesignsystem.molecules.input';\nimport { Link } from 'common/components/atoms/Link';\nimport { Dropdown } from 'common/components/design-system/molecules/selectDropdown';\nimport React, { useEffect, useState } from 'react';\nimport { Pagination } from '../../molecules/Pagination/index';\nimport { Button } from '@irishlifedigitalhub/ds.atoms.button';\nimport { fireAnalyticsEvent } from 'common/utils/fireAnalyticsEvent';\nimport { navigate } from '@reach/router';\n\ninterface CardProps {\n image?: string;\n name: string;\n jobTitle: string;\n company: string;\n department: string;\n}\ninterface TeamGridFilterProps {\n title: string;\n cards: CardProps[];\n showFilters: string;\n pagination?: 'Enable' | 'Disable';\n members_card_style?: 'Default' | 'White';\n callToAction?: {\n buttonLabel: string;\n buttonUrl: string;\n buttonIcon: string;\n };\n}\n\nexport const TeamGridFilter: React.FC = ({\n title,\n cards,\n showFilters,\n pagination,\n members_card_style,\n callToAction,\n}) => {\n const [visibleItems, setVisibleItems] = useState();\n const [cardStore, setCardStore] = useState(cards);\n const [filterValues, setFilterValues] = useState({});\n const [companyFilterOptions, setCompanyFilterOptions] = useState([]);\n\n useEffect(() => {\n let idIterator = 0;\n const unique = Array.from(new Set(cards.map((card) => card.company)));\n\n setCompanyFilterOptions(\n unique.map((companyName) => ({\n id: idIterator++,\n label: companyName,\n value: companyName,\n }))\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handlePagination = (array: any) => {\n setVisibleItems(array.visibleItems);\n };\n\n const clearAllFilters = () => {\n setFilterValues({});\n setCardStore(cards);\n };\n\n const applyFilters = (value: string, inputName: string) => {\n if (inputName === 'company') {\n const filtered = cards.filter((card) =>\n card.company?.toLowerCase().startsWith(value.toLowerCase())\n );\n if (filterValues?.department) {\n setCardStore(\n filtered.filter(\n (card) =>\n card.department\n ?.toLowerCase()\n .startsWith(filterValues.department.toLowerCase()) ||\n card.department?.toLowerCase() ===\n filterValues.department.toLowerCase()\n )\n );\n } else {\n setCardStore(filtered);\n }\n setFilterValues({ ...filterValues, [inputName]: value });\n }\n\n if (inputName === 'department') {\n if (value !== '') {\n const filtered = cards.filter(\n (card) =>\n card.department?.toLowerCase().startsWith(value.toLowerCase()) ||\n card.department?.toLowerCase() === value.toLowerCase()\n );\n\n if (filterValues?.company) {\n setCardStore(\n filtered.filter((card) =>\n card.company\n ?.toLowerCase()\n .startsWith(filterValues.company.toLowerCase())\n )\n );\n } else {\n setCardStore(filtered);\n }\n\n setFilterValues({ ...filterValues, [inputName]: value });\n } else {\n if (filterValues?.company) {\n const filtered = cards.filter((card) =>\n card.company\n ?.toLowerCase()\n .startsWith(filterValues.company.toLowerCase())\n );\n setCardStore(filtered);\n } else setCardStore(cards);\n setFilterValues((prevValues: any) => {\n delete prevValues.department;\n return prevValues;\n });\n }\n }\n };\n\n return (\n \n \n {title}\n \n {showFilters === 'True' && (\n <>\n \n \n \n applyFilters(event.target.value, 'department')\n }\n value={filterValues?.department || ''}\n />\n\n {}}>\n \n View all departments\n \n \n \n\n {}}\n onChange={(value: string) => applyFilters(value, 'company')}\n options={companyFilterOptions}\n placeholder=\"Please select an option\"\n value={filterValues?.company || undefined}\n />\n \n \n \n \n \n \n \n Filters\n \n\n \n {Object.keys(filterValues).length}\n \n \n \n Clear all\n \n \n \n \n \n \n )}\n \n {visibleItems?.map((card, index) => (\n \n \n \n \n {card.name}\n \n \n {card.jobTitle}\n {card.jobTitle && card.department && ','} {card.department}\n \n \n \n ))}\n \n\n \n \n \n\n {callToAction?.buttonUrl && (\n \n }\n onClick={(e) => {\n e.preventDefault();\n fireAnalyticsEvent({\n name: 'buttonTeamGridFilter',\n properties: {\n clickText: callToAction.buttonLabel,\n clickURL: callToAction.buttonUrl,\n },\n });\n navigate(callToAction.buttonUrl);\n }}\n >\n {callToAction.buttonLabel}\n \n \n )}\n \n );\n};\n","import { TeamGridFilter } from 'common/components/organisms/TeamGridFilter/index'\nimport React, { FC } from 'react'\n\nconst TeamGridFilterWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { TeamGridFilterWrapper as TeamGridFilter }\n\nconst getProps = (props: any) => {\n const { title, team_members } = props\n \n return {\n title,\n cards: team_members.map((item: any) => ({\n name: item.full_name,\n jobTitle: item.job_title,\n company: item.company,\n department: item.department,\n image: item.image,\n })),\n showFilters: props.show_filters,\n pagination: props.pagination,\n members_card_style: props.members_card_style,\n callToAction: {\n buttonLabel: props.button_c9ad60e__text,\n buttonIcon: props.button_c9ad60e__icon,\n buttonUrl: props.button_c9ad60e__url,\n },\n }\n}\n","import 'core-js/modules/es.object.assign.js';\nimport { Button as Button$1 } from '@chakra-ui/react';\nimport React from 'react';\nvar Button = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Button$1, Object.assign({\n \"data-testid\": 'Button',\n ref: ref\n }, props));\n});\nexport { Button };","import { Box } from '@chakra-ui/react';\nimport { Avatar } from '@irishlifedigitalhub/ds.atoms.avatar';\nimport { Button } from '@irishlifedigitalhub/ds.atoms.button';\nimport { Text } from '@irishlifedigitalhub/ds.atoms.text';\nimport React from 'react';\nimport 'core-js/modules/es.regexp.exec.js';\nimport 'core-js/modules/es.string.replace.js';\n\nvar addQuotes = function addQuotes(input) {\n // Check for the first

    and last

    \n var openingTagRegex = /^

    /;\n var closingTagRegex = /<\\/p>$/; // Replace the first

    with

    \n\n if (openingTagRegex.test(input)) {\n input = input.replace(openingTagRegex, '

    ');\n } // Replace the last

    with

    \n\n\n if (closingTagRegex.test(input)) {\n input = input.replace(closingTagRegex, '

    ');\n }\n\n return input;\n};\n\nvar TestimonialSection = function TestimonialSection(props) {\n var _props$type = props.type,\n type = _props$type === void 0 ? 'customer' : _props$type,\n title = props.title,\n quote = props.quote,\n _props$name = props.name,\n name = _props$name === void 0 ? 'Niamh' : _props$name,\n role = props.role,\n avatarSrc = props.avatarSrc,\n button = props.button;\n var location = props.type === 'customer' ? props.location : undefined;\n var nameString = location ? \"\".concat(name, \", \").concat(location) : name;\n var defaultTitle = type === 'customer' ? 'What our customers say' : 'How our advisors can help';\n var defaultRole = type === 'customer' ? 'Irish Life Customer' : 'Irish Life Financial Advisor';\n return /*#__PURE__*/React.createElement(Box, {\n sx: {\n display: 'flex',\n justifyContent: 'center',\n bg: '#2C2D8B',\n py: '22px',\n px: '16px'\n }\n }, /*#__PURE__*/React.createElement(Box, {\n sx: {\n py: '32px',\n px: '24px',\n maxWidth: '886px'\n }\n }, /*#__PURE__*/React.createElement(\"svg\", {\n width: '40',\n height: '40',\n viewBox: '0 0 40 40',\n fill: 'none',\n xmlns: 'http://www.w3.org/2000/svg'\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: 'M36.9999 19.0556C37.0064 21.5487 36.424 24.008 35.3 26.2334C33.9672 28.9 31.9184 31.1429 29.3829 32.7109C26.8475 34.2788 23.9255 35.11 20.9444 35.1111C18.4513 35.1176 15.992 34.5351 13.7666 33.4111L3 37L6.58888 26.2334C5.46487 24.008 4.88239 21.5487 4.88889 19.0556C4.89004 16.0745 5.72115 13.1525 7.28913 10.6171C8.85711 8.08163 11.1 6.03279 13.7666 4.70005C15.992 3.57603 18.4513 2.99355 20.9444 3.00005H21.8889C25.826 3.21726 29.5446 4.87904 32.3328 7.66722C35.121 10.4554 36.7827 14.174 36.9999 18.1111V19.0556Z',\n stroke: '#6AD1C0',\n strokeWidth: '3',\n strokeLinecap: 'round',\n strokeLinejoin: 'round'\n })), /*#__PURE__*/React.createElement(Text, {\n variant: 'title-xs',\n sx: {\n color: 'accent.400',\n mt: 8,\n mb: 3\n }\n }, title || defaultTitle), /*#__PURE__*/React.createElement(Text, {\n variant: 'title-lg',\n sx: {\n color: '#fff',\n mt: 8\n }\n }, addQuotes(quote)), /*#__PURE__*/React.createElement(Box, {\n sx: {\n display: 'flex',\n mt: 9\n }\n }, avatarSrc && /*#__PURE__*/React.createElement(Avatar, {\n name: name,\n src: avatarSrc\n }), /*#__PURE__*/React.createElement(Box, {\n sx: {\n ml: 3\n }\n }, /*#__PURE__*/React.createElement(Text, {\n color: 'white',\n fontWeight: 'semibold',\n variant: 'subtitle-sm'\n }, \"-\", nameString), /*#__PURE__*/React.createElement(Text, {\n color: 'white',\n fontWeight: 'normal',\n variant: 'subtitle-md'\n }, role || defaultRole))), (button === null || button === void 0 ? void 0 : button.text) && /*#__PURE__*/React.createElement(Button, {\n bg: 'vibrant.100',\n variant: 'inverse',\n mt: 9,\n onClick: button.onClick\n }, button.text)));\n};\n\nexport { TestimonialSection };","import {\n TestimonialSection,\n TestimonialSectionProps,\n} from '@irishlifedigitalhub/ds.organisms.testimonial-section'\nimport { navigate } from '@reach/router'\nimport { fireAnalyticsEvent } from 'common/utils/fireAnalyticsEvent'\nimport React from 'react'\n\nexport const Testimonials: React.FC = (data) => {\n const props = getTestimonialProps(data)\n\n return \n}\n\nTestimonials.displayName = 'Testimonials'\n\nexport const getTestimonialProps = (data: any): TestimonialSectionProps => {\n const testimonial = data.testimonials[0]\n\n const type =\n testimonial.type === 'testimonialcustomer_type' ? 'customer' : 'advisor'\n const cta = testimonial[`testimonial${type}__cta`]?.[0]\n\n const onClick = () => {\n fireAnalyticsEvent({\n name: 'testimonialButtonClick',\n properties: {\n clickText: cta.cta__label,\n clickURL: cta.cta__url,\n clickID: cta.cta__analytics_id,\n },\n })\n navigate(cta.cta__url)\n }\n\n const buttonProps = cta?.cta__label\n ? {\n text: cta.cta__label,\n onClick,\n }\n : undefined\n\n const commonProps = {\n type: type as TestimonialSectionProps['type'],\n name: testimonial[`testimonial${type}__name`],\n avatarSrc: testimonial[`testimonial${type}__avatar`],\n quote: testimonial[`testimonial${type}__quote`],\n button: buttonProps,\n title: testimonial[`testimonial${type}__title`],\n role: testimonial[`testimonial${type}__role`],\n }\n\n if (type === 'customer') {\n return {\n ...commonProps,\n location: testimonial.testimonialcustomer__location,\n }\n }\n\n return commonProps as TestimonialSectionProps\n}\n","import { Box } from '@chakra-ui/react'\nimport {\n FeatureList,\n FeatureListProps\n} from 'common/components/organisms/FeatureList'\nimport React from 'react'\n\nexport interface TextWithImageProps extends FeatureListProps {}\n\nexport const TextWithImage: React.FC = props => {\n const data = getTextWithImageData(props)\n return (\n \n \n \n // \n )\n}\n\nexport const getTextWithImageData = (data: any): TextWithImageProps => {\n return {\n featureTitle: data.featurelist__bullets_title,\n featureSubtitle: data.featurelist__bullets_subtitle,\n features: data.featurelist__features,\n image: data.featurelist__image,\n subtitle: data.featurelist__subtitle,\n title: data.featurelist__title,\n variant: data.featurelist__variant,\n cta: data.featurelist__cta,\n secondaryTitle: data.secondary_title,\n callToAction: {\n analyticsId: data.featurelist__cta_analyticsid,\n label: data.featurelist__cta_label,\n [`${data.featurelist__cta_icon_position}Icon`]: data.featurelist__cta_icon,\n url: data.featurelist__cta_url,\n variant: data.featurelist__cta_variant,\n noSpacer: true\n }\n }\n}\n","import React from 'react'\nimport {\n TimelineSteps,\n TimelineStepsProps\n} from 'common/components/organisms/TimelineSteps'\nexport interface TimelineProps extends TimelineStepsProps {}\n\nexport const Timeline: React.FC = props => {\n const data = getTimelineData(props)\n return \n}\n\nexport const getTimelineData = (data: any): TimelineProps => {\n return {\n text: data.text,\n title: data.title,\n heading: data.heading,\n steps: data.timeline__steps\n }\n}\n","import { Box, Image, SimpleGrid, VStack } from '@chakra-ui/react'\nimport { Button } from '@irishlife/ilgroupdesignsystem.atoms.button'\nimport { Card } from '@irishlife/ilgroupdesignsystem.atoms.card'\nimport { Text } from '@irishlife/ilgroupdesignsystem.atoms.text'\nimport { navigate } from '@reach/router'\nimport { useDesktop } from 'common/hooks/useDesktop'\nimport React from 'react'\ninterface TrapeziumBannerProps {\n image?: string\n title?: string\n subtitle?: string\n callToAction?: any\n}\n\nexport const TrapeziumBanner: React.FC = (props) => {\n const { image, title, subtitle, callToAction } = props\n\n const isMobile = !useDesktop()\n\n return (\n \n \n \n \n \n \n \n \n \n \n {title}\n \n {subtitle}\n navigate(callToAction.url)}\n >\n {callToAction.label}\n \n \n \n \n \n )\n}\n","import { TrapeziumBanner } from 'common/components/organisms/TrapeziumBanner/index'\nimport React, { FC } from 'react'\n\nconst TrapeziumBannerWrapper: FC<{ props: any }> = (props) => {\n const processedProps = getProps(props)\n\n return \n}\nexport { TrapeziumBannerWrapper as TrapeziumBanner }\nconst getProps = (props: any) => {\n return {\n image: props.image,\n title: props.title,\n subtitle: props.subtitle,\n callToAction: {\n label: props.button_c9ad60e__text,\n url: props.button_c9ad60e__url,\n },\n }\n}\n","import React from 'react'\nimport { Video, VideoProps } from 'common/components/atoms/Video'\n\n\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface VideoWithTextProps extends VideoProps {}\n\nexport const VideoWithText: React.FC = props => {\n const data = getVideoWithTextData(props)\n return (\n