{"version":3,"sources":["webpack:///./presentation/components/Shortcode/Alt.tsx","webpack:///./presentation/components/Shortcode/Bold.tsx","webpack:///./presentation/components/Shortcode/Italic.tsx","webpack:///./presentation/components/Shortcode/Link.tsx","webpack:///./presentation/components/Shortcode/Text.tsx","webpack:///src/presentation/components/Shortcode/Tooltip.tsx","webpack:///./presentation/components/Shortcode/PendingShortcode.tsx","webpack:///./presentation/components/Shortcode/Shortcode.tsx","webpack:///./presentation/components/Shortcode/index.ts","webpack:///./presentation/components/ribbons/elaborate/QuestionHeader.tsx","webpack:///src/presentation/components/ribbons/elaborate/QuestionHeader.stylesheet.ts","webpack:///src/presentation/components/ribbons/elaborate/QuestionBody.stylesheet.ts","webpack:///./presentation/components/ribbons/elaborate/QuestionBody.tsx","webpack:///./presentation/components/ribbons/elaborate/Question.tsx","webpack:///src/presentation/components/ribbons/elaborate/Question.stylesheet.ts","webpack:///src/presentation/components/ribbons/elaborate/Questions.tsx","webpack:///./presentation/components/ribbons/elaborate/Elaborate.tsx","webpack:///src/presentation/components/ribbons/elaborate/Elaborate.stylesheet.ts"],"names":["getColor","theme","against","Against","LIGHT","NEUTRAL","palette","primary","DARK","tertiary","Alt","RecursiveShortcode","elements","rest","useTheme","style","color","displayName","Bold","fontWeight","fontStyle","Link","contentType","attributes","isExternalRoute","route","useIsExternalRoute","goto","href","id","analyticskey","size","TextButtonSize","INHERIT","rel","target","newTab","formatText","text","newline","values","formattedText","replace","_","match","replaceValues","split","join","escapeShortCodes","string","reduce","prev","cur","i","nl2br","Text","ReactTooltip","lazy","TooltipShortcode","isMinLg","useBreakpoints","eventToggle","undefined","padding","cssTheme","CallToAction","fallback","tagName","useDefaultStyles","content","maxWidth","randomWidth","Math","floor","random","PendingShortcode","code","display","width","lines","Glyph","Sup","List","OrderedList","ListItem","TickListItem","ProductPrice","PhoneNumber","map","element","index","Shortcode","JSON","stringify","props","String","getAgainst","type","name","glyph","Italic","Tooltip","ShortcodeWrapper","PureHeader","hBaseline","question","onClick","colorway","active","icon","classNames","isActive","root","cx","getClassNames","className","depth","title","PureBody","answer","duration","height","animateOpacity","easing","PureQuestion","selected","onChange","isFirst","Colorways","StyledQuestions","PureQuestions","setSelected","useState","useEffect","defaultOpen","questions","q","concat","PureElaborate","layout","loading","items","hasTitle","isNotNilNorEmpty","hasBody","body","mdColWidth","getMdColWidth","header","Ribbon","Type","ELABORATE","xs","md","component","Questions","errorBoundary","visibilitySet"],"mappings":"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","file":"pex-static/34/32.6983c57e3bfe07534f59.chunk.js","sourcesContent":["import React from 'react';\nimport { Theme, useTheme, Colorway as Against } from '@uds/theme-utils';\n\nimport { RecursiveShortcodeProps } from './Shortcode';\n\nconst getColor = (theme: Theme, against: Against | undefined) => {\n switch (against) {\n case Against.LIGHT:\n return theme.palette.primary;\n case Against.NEUTRAL:\n return theme.palette.primary;\n case Against.DARK:\n return theme.palette.tertiary;\n default:\n return 'inherit';\n }\n};\nconst Alt = ({ RecursiveShortcode, elements, against, ...rest }: RecursiveShortcodeProps) => {\n const { theme } = useTheme();\n return (\n \n {RecursiveShortcode ? : null}\n \n );\n};\n\nAlt.displayName = 'Alt';\n\nexport default Alt;\n","import React from 'react';\n\nimport { RecursiveShortcodeProps } from './Shortcode';\n\nconst Bold = ({ elements, RecursiveShortcode, ...rest }: RecursiveShortcodeProps) => (\n \n {RecursiveShortcode ? : null}\n \n);\n\nBold.displayName = 'Bold';\n\nexport default Bold;\n","import React from 'react';\n\nimport { RecursiveShortcodeProps } from './Shortcode';\n\nconst Bold = ({ elements, RecursiveShortcode, ...rest }: RecursiveShortcodeProps) => (\n \n {RecursiveShortcode ? : null}\n \n);\n\nBold.displayName = 'Bold';\n\nexport default Bold;\n","import React from 'react';\nimport { ReactRouterTextButton } from '@uds/react-router-adapter';\nimport { Size as TextButtonSize } from '@uds/text-button';\nimport { useIsExternalRoute } from 'domain/selectors/common';\n\nimport { RecursiveShortcodeProps } from './Shortcode';\n\nconst Link = ({ RecursiveShortcode, elements, contentType, attributes, against, ...rest }: RecursiveShortcodeProps) => {\n const [isExternalRoute, route] = useIsExternalRoute(attributes?.goto);\n return (\n \n {/* @ts-ignore: error when upgrading to @ux/config */}\n \n \n );\n};\n\nLink.displayName = 'Link';\n\nexport default Link;\n","import React, { Fragment } from 'react';\n\nconst escapeShortCodes = (text: string) => {\n if (typeof text !== 'string') {\n return null;\n }\n const replaceA = (text ?? '').split('[!').join('[');\n const replaceB = replaceA.split('!/]').join('/]');\n const replaceC = replaceB.split('[/!').join('[/');\n return replaceC;\n // using split/join because for some reason replaceAll fails for backstop\n // tests but not for backstop storybook?\n // if anyone can tell me why, I'd appreciate it.\n // return (text ?? '').replaceAll('[!', '[').replaceAll('!/]', '/]')\n // .replaceAll('[/!', '[/');\n};\n\nconst replaceValues = (text: string, values?: Record) => {\n if (values == null) {\n return text;\n }\n return text.replace(/{(?[^{]*)}/g, (_, match) => {\n return values[match];\n });\n};\n\nconst nl2br = (string: string) =>\n (string ?? '')\n .split('\\n')\n // @ts-ignore typescript cant figure typing out\n // eslint-disable-next-line react/no-array-index-key\n .reduce((prev, cur, i) => [prev,
, cur]);\n\nconst formatText = (text: string, newline: boolean | Element | undefined, values?: Record) => {\n const formattedText = replaceValues(escapeShortCodes(text) ?? '', values);\n if (newline === false) {\n return formattedText;\n }\n return nl2br(formattedText);\n};\n\ninterface OuterProps {\n text?: string | undefined;\n nl2br?: boolean | Element;\n values?: Record;\n}\nconst Text = ({ text, nl2br, values }: OuterProps) => {formatText(text ?? '', nl2br, values)};\n\nText.displayName = 'Text';\n\nexport default Text;\n","import React, { lazy, Suspense } from 'react';\nimport TextButton, { Size as TextButtonSize } from '@uds/text-button';\nimport { cssTheme } from '@uds/theme-utils';\nimport { useBreakpoints } from '@uds/responsive';\n\nimport { RecursiveShortcodeProps } from './Shortcode';\n\n/*\n React-Tooltip is a heavy dependency therefore we asynchronously load it in\n and gracefully decorate the functionality in once it has loaded\n*/\nconst ReactTooltip = lazy(\n () =>\n import(\n /* webpackChunkName: \"react-tooltip-lite\" */\n 'react-tooltip-lite'\n ),\n);\n\nconst TooltipShortcode = ({ RecursiveShortcode, attributes, elements }: RecursiveShortcodeProps) => {\n const { isMinLg } = useBreakpoints();\n const eventToggle = isMinLg ? undefined : 'onClick';\n const padding = cssTheme.gu2;\n const CallToAction = {attributes?.label};\n\n return (\n \n {/* @ts-ignore children doesnt exist */}\n \n {/* @ts-ignore: error when upgrading to @ux/config */}\n \n \n }\n >\n {CallToAction}\n \n \n );\n};\n\nTooltipShortcode.displayName = 'TooltipShortcode';\n\nexport default TooltipShortcode;\n","import React from 'react';\nimport { Shimmer } from '@uds/penders';\n\nimport { ShortcodeProps } from './';\n\nexport interface OuterProps {\n code?: ShortcodeProps;\n}\n\n// random % width for shimmer betwen 50% and 95%\nconst randomWidth = () => Math.floor(Math.random() * (95 - 50) + 50);\n\nconst PendingShortcode = ({ code }: OuterProps) => (\n \n \n \n);\n\nPendingShortcode.displayName = 'PendingShortcode';\n\nexport default PendingShortcode;\n","import React, { Suspense, lazy, ReactNode } from 'react';\nimport { getAgainst } from 'presentation/utils/colorway';\nimport { Layout } from 'domain/constants/layout';\n/*\n These shortcodes should not be lazy loaded in as they are already in the\n main bundle and it causes a unnecessary shimmer which makes the page feel\n less responsive\n*/\nimport { Colorway as Against } from '@uds/theme-utils';\nimport { IconName } from '@uds/glyphs';\n\nimport Alt from './Alt';\nimport Bold from './Bold';\nimport Italic from './Italic';\nimport Link from './Link';\nimport Text from './Text';\nimport Tooltip from './Tooltip';\nimport PendingShortcode from './PendingShortcode';\n\nimport { ShortcodeProps } from '.';\n\nconst Glyph = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-glyph\" */\n './Glyph'\n ),\n);\n\nconst Sup = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-sup\" */\n './Sup'\n ),\n);\n\nconst List = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-list\" */\n './List'\n ),\n);\n\nconst OrderedList = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-ordered-list\" */\n './OrderedList'\n ),\n);\n\nconst ListItem = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-list-item\" */\n './ListItem'\n ),\n);\n\nconst TickListItem = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-tick-list-item\" */\n './TickListItem'\n ),\n);\n\nconst ProductPrice = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-product-price\" */\n './ProductPrice'\n ),\n);\n\nconst PhoneNumber = lazy(\n () =>\n import(\n /* webpackChunkName: \"shortcode-phone-number\" */\n './PhoneNumber'\n ),\n);\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ndeclare const i: number;\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ndeclare const element: ShortcodeProps;\n\nexport interface ShortcodeAttributesProps {\n glyph: string;\n use?: number;\n number?: number;\n RecursiveShortcode: (props: RecursiveShortcodeProps) => JSX.Element;\n analyticskey?: string;\n goto?: string;\n label?: ReactNode;\n icon: IconName;\n prices?: Array<{\n gross: number;\n net: number;\n raw: number;\n tax: number;\n }>;\n inctax?: string;\n style?: string;\n rel?: string;\n newTab?: string;\n}\nexport interface RecursiveShortcodeProps {\n elements?: Array;\n RecursiveShortcode?: (props: RecursiveShortcodeProps) => JSX.Element;\n type?: string;\n name?: string;\n layout?: Layout;\n against?: Against;\n attributes?: ShortcodeAttributesProps | undefined;\n nl2br?: boolean;\n rest?: {\n [key: string]: any;\n };\n [key: string]: any;\n}\n\nconst RecursiveShortcode = ({ elements = [], ...rest }: RecursiveShortcodeProps) => (\n <>\n {elements.map((element, index) => (\n // Temporarily allow index as key waiting for BE to add ids\n // eslint-disable-next-line react/no-array-index-key\n \n ))}\n \n);\n\nexport interface ShortcodeOuterProps {\n against?: Against;\n code: RecursiveShortcodeProps;\n type?: string;\n name?: string;\n values?: Record;\n}\n\nconst Shortcode = ({ code, ...rest }: RecursiveShortcodeProps) => {\n let props = {\n ...rest,\n } as RecursiveShortcodeProps;\n if (typeof code === 'string' || code instanceof String) {\n props.code = code;\n } else {\n props = {\n ...props,\n ...code,\n };\n }\n\n props.against = getAgainst(props.against);\n props.RecursiveShortcode = RecursiveShortcode;\n props.attributes = props?.attributes ?? ({} as ShortcodeAttributesProps);\n\n const { type, name, values } = props;\n if (typeof props.code === 'string') {\n return ;\n }\n if (props.type === 'text') {\n return ;\n }\n if (type === 'element') {\n switch (name) {\n case 'list':\n if (props?.attributes?.style === 'number') {\n return ;\n }\n return ;\n case 'li':\n if (props?.attributes?.style === 'glyph') {\n return ;\n }\n return ;\n case 'i':\n return ;\n case 'b':\n return ;\n case 'alt':\n return ;\n case 'sup':\n return ;\n case 'glyph':\n return ;\n case 'tel':\n return ;\n case 'link':\n return ;\n case 'productprice':\n return ;\n case 'tooltip':\n return ;\n case 'root':\n return ;\n default:\n return null;\n }\n }\n return null;\n};\n\nconst ShortcodeWrapper = (props: RecursiveShortcodeProps) => (\n }>\n \n \n);\n\nShortcodeWrapper.displayName = 'Shortcode';\n\nexport default ShortcodeWrapper;\n","import Shortcode, { RecursiveShortcodeProps } from './Shortcode';\n\n// TODO: help.. please.\nexport type ShortcodeProps = RecursiveShortcodeProps;\n\nexport default Shortcode;\n","import React from 'react';\nimport Glyph from '@uds/glyphs';\nimport { Heading04 } from '@uds/typography';\nimport { Colorways } from '@uds/colorway';\nimport Shortcode, { ShortcodeProps } from 'components/Shortcode';\n\nimport { getClassNames } from './QuestionHeader.stylesheet';\n\ninterface OuterProps {\n hBaseline: number;\n question: ShortcodeProps;\n onClick: (event: React.MouseEvent) => void;\n colorway: Colorways;\n active?: boolean;\n duration: number;\n isFirst?: boolean;\n}\n\nexport const PureHeader = ({ hBaseline, question, onClick, colorway, active }: OuterProps) => {\n const icon = active ? 'chevronUp' : 'chevronDown';\n const classNames = getClassNames({ isActive: active });\n\n return (\n \n );\n};\nPureHeader.displayName = 'Header';\n\nexport default PureHeader;\n","import { css, cx } from 'linaria';\nimport { cssTheme } from '@uds/theme-utils';\n\nconst title = css`\n flex-grow: 1;\n flex-basis: 100%;\n`;\n\nconst root = css`\n width: 100%;\n display: flex;\n flex-direction: row;\n font-family: inherit;\n font-size: inherit;\n text-align: left;\n background-color: transparent;\n border-width: 0;\n outline: 0;\n cursor: pointer;\n padding: ${cssTheme.gu2} 0;\n color: currentColor;\n transition: padding-bottom var(--transition-duration) ease-in-out;\n\n &:not(:focus-visible) {\n outline: 0;\n }\n \n ${cssTheme.breakpoints.lg} {\n padding: ${cssTheme.gu3} 0;\n }\n`;\n\nconst icon = css`\n margin-left: ${cssTheme.gu1};\n width: ${cssTheme.gu3};\n`;\n\nconst active = css`\n padding-bottom: ${cssTheme.gu1}\n`;\n\nexport const getClassNames = ({ isActive }: { isActive?: boolean }) => {\n return {\n root: cx(root, isActive && active),\n title,\n icon,\n };\n};","import { css } from 'linaria';\n\nexport const classNames = {\n root: css`\n overflow: hidden;\n `,\n animateHeight: css`\n flex: 1;\n flex-basis: auto;\n `,\n};","import React from 'react';\nimport AnimateHeight from 'react-animate-height';\nimport { BodyCopy } from '@uds/typography';\nimport { Colorways } from '@uds/colorway';\nimport Shortcode, { ShortcodeProps } from 'components/Shortcode';\n\nimport { classNames } from './QuestionBody.stylesheet';\n\ninterface OuterProps {\n duration: number;\n colorway: Colorways;\n answer: ShortcodeProps;\n active?: boolean;\n}\n\nexport const PureBody = ({ answer, colorway, duration, active }: OuterProps) => {\n const height = active ? 'auto' : 0;\n\n return (\n
\n \n \n \n \n \n
\n );\n};\n\nPureBody.displayName = 'Body';\n\nexport default PureBody;\n","import React from 'react';\nimport { Colorways } from '@uds/colorway';\nimport { ShortcodeProps } from 'presentation/components/Shortcode';\n\nimport Header from './QuestionHeader';\nimport Body from './QuestionBody';\nimport { getClassNames } from './Question.stylesheet';\n\ninterface OuterProps {\n selected: number | null;\n id: number;\n hBaseline: number;\n colorway: Colorways;\n question: ShortcodeProps;\n answer: ShortcodeProps;\n duration: number;\n onChange: (evt: any) => void;\n}\n\nexport const PureQuestion = ({\n id,\n colorway,\n hBaseline,\n selected,\n question,\n answer,\n duration,\n onChange,\n}: OuterProps) => {\n const isFirst = id === 0;\n const active = selected === id;\n const classNames = getClassNames({ colorway, isFirst, isActive: active });\n const onClick = () => (active ? onChange(null) : onChange(id));\n\n return (\n
\n \n \n
\n );\n};\n\nPureQuestion.displayName = 'Question';\n\nexport default PureQuestion;\n","import { css, cx } from 'linaria';\nimport { cssTheme } from '@uds/theme-utils';\nimport { Colorways } from '@uds/colorway';\n\nconst root = css`\n --border-top-color: ${cssTheme.palette.rgb.grey06};\n border-top: 2px solid rgba(var(--border-top-color), 0.2);\n display: flex;\n flex-direction: column;\n transition: padding-bottom var(--transition-duration) ease-in-out;\n`;\n\nconst first = css`\n border-top: 0px;\n`;\n\nconst active = css`\n padding-bottom: ${cssTheme.gu2};\n`;\n\nconst primaryAgainst = css`\n --border-top-color: ${cssTheme.palette.rgb.primaryContrast};\n`;\n\nconst highlightAgainst = css`\n --border-top-color: ${cssTheme.palette.rgb.highlightContrast};\n`;\n\nexport const getClassNames = ({ isFirst, isActive, colorway }: { isFirst: boolean; isActive: boolean; colorway: Colorways }) => {\n return {\n root: cx(\n root,\n isFirst && first,\n isActive && active,\n colorway === Colorways.PRIMARY && primaryAgainst,\n colorway === Colorways.HIGHLIGHT && highlightAgainst,\n ),\n }\n}","import React, { useState, useEffect } from 'react';\nimport { styled } from 'linaria/react';\nimport PaddingBox from '@uds/padding-box';\nimport { cssTheme } from '@uds/theme-utils';\nimport { Colorways } from '@uds/colorway';\n\nimport { QuestionProps } from './Elaborate';\nimport Question from './Question';\n\ninterface OuterProps {\n colorway: Colorways;\n hBaseline: number;\n duration?: number;\n questions: Array;\n}\n\nconst StyledQuestions = styled.div<{ duration: number }>`\n margin: calc(${cssTheme.gu2} * -1) 0;\n --transition-duration: ${({ duration }) => `${duration}ms`};\n`;\n\nexport const PureQuestions = ({ colorway, hBaseline, questions, duration = 300 }: OuterProps) => {\n const [selected, setSelected] = useState(null);\n\n useEffect(() => {\n const defaultOpen = questions.findIndex((question) => question.defaultOpen === true);\n\n if (defaultOpen > -1) {\n setSelected(defaultOpen);\n }\n }, [questions, setSelected]);\n\n return (\n \n \n {questions.map((q, i) => (\n \n ))}\n \n \n );\n};\n\nPureQuestions.displayName = 'Questions';\n\nexport default PureQuestions;\n","import React, { ComponentType } from 'react';\nimport { Container, Row, Column } from '@uds/grid';\nimport { Heading02, Heading04 } from '@uds/typography';\nimport PaddingBox from '@uds/padding-box';\nimport { RibbonProps, Type } from 'domain/constants/ribbons';\nimport Ribbon from 'components/ribbons/Ribbon';\nimport Shortcode, { ShortcodeProps } from 'components/Shortcode';\nimport visibilitySet from 'presentation/hocs/visibilitySet';\nimport errorBoundary from 'presentation/hocs/errorBoundary';\nimport { isNotNilNorEmpty } from 'presentation/utils/generalUtils';\n\nimport Questions from './Questions';\nimport getClassNames from './Elaborate.stylesheet';\n\nexport type QuestionProps = {\n question: ShortcodeProps;\n answer: ShortcodeProps;\n defaultOpen?: boolean;\n};\n\ntype TextProps = {\n title: ShortcodeProps;\n body: ShortcodeProps;\n};\n\ninterface OuterProps extends RibbonProps {\n items: Array;\n text: TextProps;\n}\n\nexport const getMdColWidth = ({ text }: Partial) => {\n const hasTitle = isNotNilNorEmpty(text?.title);\n const hasBody = isNotNilNorEmpty(text?.body);\n\n if (hasTitle || hasBody) {\n return 8;\n }\n\n return 12;\n};\n\nexport const PureElaborate = ({ id, layout, colorway, loading, hBaseline = 1, text, items, name }: OuterProps) => {\n const hasTitle = isNotNilNorEmpty(text?.title);\n const hasBody = isNotNilNorEmpty(text?.body);\n const mdColWidth = getMdColWidth({ text });\n const classNames = getClassNames();\n return (\n \n \n \n {(hasTitle || hasBody) && (\n \n \n {hasTitle && (\n \n \n \n )}\n {hasBody && (\n \n \n \n )}\n \n \n )}\n \n \n \n \n \n \n );\n};\n\nPureElaborate.displayName = 'Elaborate';\n\nexport default errorBoundary(visibilitySet(PureElaborate)) as ComponentType;\n","import { cssTheme } from '@uds/theme-utils';\nimport { css } from 'linaria';\n\nexport default () => {\n return {\n body: css`\n margin-top: ${cssTheme.gu2};\n `,\n header: css`\n margin-bottom: ${cssTheme.gu1};\n &&& {\n ${cssTheme.breakpoints.sm} {\n margin-bottom: ${cssTheme.gu2};\n }\n }\n &&& {\n ${cssTheme.breakpoints.md} {\n margin-bottom: 0;\n }\n }\n `,\n };\n};\n"],"sourceRoot":""}