{"version":3,"sources":["webpack:///./src/stories/Components/Forms/FormField.tsx","webpack:///./src/stories/Components/Inputs/Textbox/Textbox.tsx","webpack:///./src/stories/Components/LoadingIndicator/LoadingIndicator.styles.ts","webpack:///./src/stories/Components/LoadingIndicator/LoadingIndicator.tsx","webpack:///./src/stories/Components/Inputs/Textbox/Textbox.styles.ts","webpack:///./src/stories/Widgets/Account/Login/Login.styles.ts","webpack:///./src/stories/Widgets/Account/Login/Login.tsx","webpack:///./node_modules/strict-uri-encode/index.js","webpack:///./node_modules/decode-uri-component/index.js","webpack:///./node_modules/split-on-first/index.js","webpack:///./node_modules/filter-obj/index.js","webpack:///./src/hooks/useForm.ts","webpack:///./node_modules/query-string/index.js","webpack:///./node_modules/react-spinners/esm/helpers/unitConverter.js","webpack:///./node_modules/react-spinners/esm/helpers/animation.js","webpack:///./node_modules/react-spinners/esm/PuffLoader.js","webpack:///./src/helpers/image.ts"],"names":["FormField","showLabel","otherProps","errorToShow","Array","isArray","error","find","React","S","Field","size","label","Label","htmlFor","name","description","Description","dangerouslySetInnerHTML","__html","children","Error","message","Textbox","props","ref","FocusRing","focusRingClass","Input","displayName","LoadingIndicatorStyles","Loader","styled","div","fluid","LoaderText","span","paragraphMedium","fonts","brandonGrotesque","bold","LoadingIndicator","layout","alignment","style","bgColor","fgColor","brand","black","PuffLoader","color","TextboxStyles","input","beige","greyDark","regular","Container","Header","header","LogoWrapper","a","Logo","img","LogoLabel","paragraphSmall","Main","white","Image","Title","h1","Content","p","paragraphLarge","Form","form","FormStyles","Link","SubmitWrapper","ButtonStyles","LoginStyles","ConfirmationMessage","contentStyles","Login","useFormReturn","useForm","defaultValues","endpoint","API_URLS","postLogin","mode","srcs","getSrcs","image","register","formState","errors","useReactHookFormReturn","refContainer","id","anchorId","href","alt","logo","altText","loading","src","imageUrl","width","role","split","srcSet","join","title","content","status","confirmationMessage","onSubmit","serverErrors","length","ErrorSummary","email","autoComplete","type","pattern","value","required","password","forgottenPasswordUrl","Button","buttonType","disabled","rgba","green","module","exports","str","encodeURIComponent","replace","x","charCodeAt","toString","toUpperCase","singleMatcher","RegExp","multiMatcher","decodeComponents","components","decodeURIComponent","err","left","slice","right","prototype","concat","call","decode","tokens","match","i","encodedURI","TypeError","replaceMap","exec","result","entries","Object","keys","key","customDecodeURIComponent","string","separator","separatorIndex","indexOf","obj","predicate","ret","isArr","val","params","useReactHookForm","reValidateMode","shouldUseNativeValidation","handleSubmit","setStatus","setConfirmationMessage","setServerErrors","async","formData","event","res","FormData","target","fetch","body","method","JSON","stringify","headers","ok","current","scrollIntoView","behavior","block","resData","json","postSubmitCallback","redirect","window","location","strictUriEncode","decodeComponent","splitOnFirst","filterObject","encodeFragmentIdentifier","Symbol","validateArrayFormatSeparator","encode","options","strict","removeHash","hashStart","extract","queryStart","parseValue","parseNumbers","Number","isNaN","trim","parseBooleans","toLowerCase","parse","query","assign","sort","arrayFormat","arrayFormatSeparator","formatter","accumulator","undefined","includes","isEncodedArray","newValue","map","item","test","arrayValue","parserForArrayFormat","create","param","k","reduce","Boolean","keysSorter","b","object","shouldFilter","skipNull","skipEmptyString","index","keyValueSep","encoderForArrayFormat","objectCopy","filter","parseUrl","url","url_","hash","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","queryString","getHash","pick","exclude","exclusionFilter","cssUnit","cm","mm","in","px","pt","pc","em","ex","ch","rem","vw","vh","vmin","vmax","cssValue","lengthWithunit","unit","valueString","parseFloat","parseInt","console","warn","parseLengthAndUnit","createAnimation","loaderName","frames","suffix","animationName","document","styleEl","createElement","head","appendChild","styleSheet","sheet","keyFrames","insertRule","__assign","t","s","n","arguments","hasOwnProperty","apply","this","__rest","e","getOwnPropertySymbols","propertyIsEnumerable","puff","_a","_b","_c","_d","speedMultiplier","_e","cssOverride","_f","additionalprops","wrapper","display","position","height","border","borderRadius","opacity","top","animationFillMode","animation","animationDuration","animationIterationCount","animationTimingFunction","animationDelay","imageParams","imageSource","rxy","focalPoint","quality","format","rsampler","upper","lower","steps","ratio","increment","fill","_","Math","ceil","getRange","round"],"mappings":"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","file":"94-56777cacc5ac2c774d9f.js","sourcesContent":["import * as React from 'react';\r\nimport S from './Form.styles';\r\nconst FormField = ({ showLabel = true, ...otherProps }) => {\r\n const errorToShow = Array.isArray(otherProps.error)\r\n ? otherProps.error.find((error) => !!error)\r\n : otherProps.error;\r\n return (React.createElement(S.Field, { \"data-size\": otherProps.size ?? 'default' },\r\n otherProps.label && (React.createElement(S.Label, { htmlFor: Array.isArray(otherProps.name) ? otherProps.name[0] : otherProps.name, \"data-hide\": !showLabel }, otherProps.label)),\r\n otherProps.description && (React.createElement(S.Description, { dangerouslySetInnerHTML: { __html: otherProps.description } })),\r\n otherProps.children,\r\n errorToShow && React.createElement(S.Error, null, errorToShow.message)));\r\n};\r\nexport default FormField;\r\n","import * as React from 'react';\r\nimport { FocusRing } from 'react-aria';\r\nimport S from './Textbox.styles';\r\nconst Textbox = React.forwardRef((props, ref) => {\r\n return (React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Input, { ref: ref, ...props })));\r\n});\r\nTextbox.displayName = 'Textbox';\r\nexport default Textbox;\r\n","import { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport { paragraphMedium } from '@helpers/typography';\r\nimport styled from 'styled-components';\r\nconst Loader = styled.div `\r\n position: relative;\r\n display: flex;\r\n background: var(--bgColor);\r\n color: var(--fgColor);\r\n flex-direction: column;\r\n height: 100%;\r\n place-content: center;\r\n place-items: center;\r\n text-align: center;\r\n width: 100%;\r\n\r\n &[data-layout='inline'] {\r\n padding: ${fluid(48, 96)};\r\n }\r\n\r\n &[data-layout='absolute'] {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n &[data-layout='fixed'] {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n &[data-alignment='top'] {\r\n place-content: flex-start;\r\n padding-top: 24px;\r\n }\r\n`;\r\nconst LoaderText = styled.span `\r\n ${paragraphMedium};\r\n ${fonts.brandonGrotesque.bold};\r\n\r\n display: block;\r\n margin: 1rem 0 0;\r\n`;\r\nconst LoadingIndicatorStyles = {\r\n Loader,\r\n LoaderText,\r\n};\r\nexport default LoadingIndicatorStyles;\r\n","import brand from '@helpers/brand';\r\nimport * as React from 'react';\r\nimport { PuffLoader } from 'react-spinners';\r\nimport S from './LoadingIndicator.styles';\r\nconst LoadingIndicator = (props) => {\r\n return (React.createElement(S.Loader, { \"data-layout\": props.layout ?? 'inline', \"data-alignment\": props.alignment ?? 'center', style: {\r\n '--bgColor': props.bgColor ?? 'transparent',\r\n '--fgColor': props.fgColor ?? brand.black,\r\n } },\r\n React.createElement(PuffLoader, { color: \"currentColor\", size: props.size ?? 64 }),\r\n props.label && React.createElement(S.LoaderText, null, props.label)));\r\n};\r\nexport default LoadingIndicator;\r\n","import brand from '@helpers/brand';\r\nimport fonts from '@helpers/fonts';\r\nimport styled from 'styled-components';\r\nconst Input = styled.input `\r\n /* Ensure iOS doesn't apply default border radius */\r\n -webkit-appearance: none !important;\r\n display: block;\r\n background: ${brand.beige};\r\n border: 0;\r\n color: ${brand.greyDark};\r\n height: 40px;\r\n ${fonts.brandonGrotesque.regular}\r\n font-size: 18px;\r\n margin: 0;\r\n padding: 7px 12px;\r\n width: 100%;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n }\r\n\r\n &::placeholder {\r\n ${fonts.brandonGrotesque.regular}\r\n opacity: 0.4;\r\n }\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 5px;\r\n }\r\n`;\r\nconst TextboxStyles = {\r\n Input,\r\n};\r\nexport default TextboxStyles;\r\n","import brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport { contentStyles, h1, paragraphLarge, paragraphMedium, paragraphSmall, } from '@helpers/typography';\r\nimport ButtonStyles from '@stories/Components/Button/Button.styles';\r\nimport FormStyles from '@stories/Components/Forms/Form.styles';\r\nimport styled from 'styled-components';\r\nconst Container = styled.div `\r\n display: grid;\r\n grid-template-rows: auto 1fr;\r\n min-height: 100vh;\r\n`;\r\nconst Header = styled.header `\r\n display: grid;\r\n background: ${brand.beige};\r\n color: ${brand.black};\r\n height: ${fluid(95, 152)};\r\n place-content: center;\r\n place-items: center;\r\n`;\r\nconst LogoWrapper = styled.a `\r\n display: flex;\r\n align-items: center;\r\n color: currentColor;\r\n flex-direction: column;\r\n text-align: center;\r\n text-decoration: none;\r\n`;\r\nconst Logo = styled.img `\r\n max-width: ${fluid(170, 308)};\r\n`;\r\nconst LogoLabel = styled.span `\r\n ${paragraphSmall};\r\n\r\n display: block;\r\n margin: ${fluid(8, 16)} 0 0;\r\n line-height: 1;\r\n\r\n ${LogoWrapper}:focus &,\r\n ${LogoWrapper}:hover & {\r\n text-decoration: underline;\r\n }\r\n`;\r\nconst Main = styled.div `\r\n position: relative;\r\n display: flex;\r\n color: ${brand.white};\r\n flex-direction: column;\r\n padding: ${fluid(48, 60)} 18px;\r\n place-content: center;\r\n place-items: center;\r\n`;\r\nconst Image = styled.img `\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n display: block;\r\n background: ${brand.greyDark};\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: center;\r\n width: 100%;\r\n z-index: -1;\r\n`;\r\nconst Title = styled.h1 `\r\n ${h1}\r\n margin: 0 0 1rem;\r\n text-align: center;\r\n`;\r\nconst Content = styled.p `\r\n ${paragraphLarge}\r\n margin: 0;\r\n text-align: center;\r\n`;\r\nconst Form = styled.form `\r\n margin-top: ${fluid(48, 64)};\r\n max-width: ${fluid(280, 332)};\r\n width: 100%;\r\n\r\n ${FormStyles.Field} {\r\n &:not(:last-child) {\r\n margin-bottom: 1rem;\r\n }\r\n }\r\n`;\r\nconst Label = styled.label `\r\n display: inline-block;\r\n ${paragraphMedium}\r\n margin: 0 0 0.5rem;\r\n`;\r\nconst Link = styled.a `\r\n display: inline-block;\r\n color: currentColor;\r\n ${paragraphSmall}\r\n margin: 0;\r\n text-decoration: none;\r\n\r\n &:focus,\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n`;\r\nconst SubmitWrapper = styled.div `\r\n margin-top: ${fluid(16, 32)};\r\n\r\n ${ButtonStyles.Container} {\r\n justify-content: center;\r\n width: 100%;\r\n }\r\n`;\r\nconst ConfirmationMessage = styled.div `\r\n ${contentStyles};\r\n\r\n p:last-child {\r\n margin-bottom: 0;\r\n }\r\n\r\n margin-top: ${fluid(48, 64)};\r\n max-width: ${fluid(280, 332)};\r\n width: 100%;\r\n`;\r\nconst LoginStyles = {\r\n ConfirmationMessage,\r\n Container,\r\n Content,\r\n Form,\r\n Header,\r\n Image,\r\n Label,\r\n Link,\r\n Logo,\r\n LogoLabel,\r\n LogoWrapper,\r\n Main,\r\n SubmitWrapper,\r\n Title,\r\n};\r\nexport default LoginStyles;\r\n","import { API_URLS } from '@helpers/api';\r\nimport brand from '@helpers/brand';\r\nimport { getSrcs, imageUrl } from '@helpers/image';\r\nimport { useForm } from '@hooks/useForm';\r\nimport Button from '@stories/Components/Button/Button';\r\nimport ErrorSummary from '@stories/Components/Forms/ErrorSummary';\r\nimport FormField from '@stories/Components/Forms/FormField';\r\nimport Textbox from '@stories/Components/Inputs/Textbox/Textbox';\r\nimport LoadingIndicator from '@stories/Components/LoadingIndicator/LoadingIndicator';\r\nimport { rgba } from 'polished';\r\nimport * as React from 'react';\r\nimport S from './Login.styles';\r\nconst Login = (props) => {\r\n const useFormReturn = useForm({\r\n defaultValues: props.defaultValues,\r\n endpoint: API_URLS.postLogin,\r\n mode: 'json',\r\n });\r\n const srcs = getSrcs(props.image, 1920, 375, 8);\r\n const { register, formState: { errors }, } = useFormReturn.useReactHookFormReturn;\r\n return (React.createElement(S.Container, { ref: useFormReturn.refContainer, id: props.anchorId },\r\n React.createElement(S.Header, null,\r\n React.createElement(S.LogoWrapper, { href: \"/\" },\r\n React.createElement(S.Logo, { alt: props.logo.altText, loading: \"eager\", src: imageUrl(props.logo, { width: 308 }) }),\r\n React.createElement(S.LogoLabel, null, \"Back to main site\"))),\r\n React.createElement(S.Main, null,\r\n React.createElement(S.Image, { loading: \"lazy\", role: \"presentation\", src: srcs[0].split(' ')[0], srcSet: srcs.join(',') }),\r\n React.createElement(S.Title, null, props.title),\r\n React.createElement(S.Content, null, props.content),\r\n useFormReturn.status === 'fulfilled' ? (React.createElement(S.ConfirmationMessage, { dangerouslySetInnerHTML: { __html: useFormReturn.confirmationMessage } })) : (React.createElement(S.Form, { onSubmit: useFormReturn.onSubmit },\r\n useFormReturn.serverErrors.length > 0 && (React.createElement(ErrorSummary, { errors: useFormReturn.serverErrors })),\r\n React.createElement(FormField, { size: \"full\", label: \"Email\", name: \"email\", error: errors.email },\r\n React.createElement(Textbox, { id: \"email\", autoComplete: \"username\", type: \"email\", ...register('email', {\r\n pattern: { message: `Please enter a valid email address`, value: /^(.+)@(.+)$/ },\r\n required: `Please enter your email`,\r\n }) })),\r\n React.createElement(FormField, { size: \"full\", label: \"Password\", name: \"password\", error: errors.password },\r\n React.createElement(Textbox, { id: \"password\", autoComplete: \"current-password\", type: \"password\", ...register('password', { required: `Please enter your password` }) })),\r\n React.createElement(FormField, null,\r\n React.createElement(S.Link, { href: props.forgottenPasswordUrl }, \"Forgot password?\")),\r\n React.createElement(S.SubmitWrapper, null,\r\n React.createElement(Button, { buttonType: \"default\", disabled: useFormReturn.status === 'pending', type: \"submit\" }, \"Sign In\")),\r\n useFormReturn.status === 'pending' && (React.createElement(LoadingIndicator, { alignment: \"center\", bgColor: rgba(brand.green, 0.7), fgColor: brand.white, label: \"Processing\\u2026\", layout: \"fixed\" })))))));\r\n};\r\nexport default Login;\r\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn decodeURIComponent(components.join(''));\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher);\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher);\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","import * as React from 'react';\r\nimport { useForm as useReactHookForm, } from 'react-hook-form';\r\nexport function useForm(params) {\r\n const refContainer = React.useRef(null);\r\n const useReactHookFormReturn = useReactHookForm({\r\n defaultValues: params.defaultValues,\r\n mode: 'onSubmit',\r\n reValidateMode: 'onChange',\r\n shouldUseNativeValidation: false,\r\n });\r\n const { handleSubmit } = useReactHookFormReturn;\r\n const [status, setStatus] = React.useState('initial');\r\n const [confirmationMessage, setConfirmationMessage] = React.useState('');\r\n const [serverErrors, setServerErrors] = React.useState([]);\r\n const onSubmit = async (formData, event) => {\r\n let res;\r\n if (params.mode === 'multipart') {\r\n const formData = new FormData(event?.target);\r\n // We have to create the FormData instance before changing status\r\n // as disabled fields/fieldsets are not included otherwise.\r\n setStatus('pending');\r\n res = await fetch(params.endpoint, {\r\n body: formData,\r\n method: 'POST',\r\n });\r\n }\r\n else {\r\n setStatus('pending');\r\n res = await fetch(params.endpoint, {\r\n body: JSON.stringify(formData),\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n });\r\n }\r\n // If we're showing an error message then change to error.\r\n if (!res.ok) {\r\n setStatus('error');\r\n setServerErrors([`Something went wrong.`]);\r\n refContainer.current?.scrollIntoView({ behavior: 'auto', block: 'start' });\r\n return;\r\n }\r\n const resData = (await res.json());\r\n // If we're showing an error message then change to error.\r\n if (resData.errors?.length) {\r\n setStatus('error');\r\n setServerErrors(resData.errors);\r\n refContainer.current?.scrollIntoView({ behavior: 'auto', block: 'start' });\r\n return;\r\n }\r\n // At this stage we consider the submission successful so we\r\n // can trigger the optional callback.\r\n if (params.postSubmitCallback) {\r\n await params.postSubmitCallback();\r\n }\r\n // If we're showing a message then change to fulfilled.\r\n if (resData.message) {\r\n setStatus('fulfilled');\r\n setConfirmationMessage(resData.message);\r\n refContainer.current?.scrollIntoView({ behavior: 'auto', block: 'start' });\r\n return;\r\n }\r\n // If we're redirecting leave status pending.\r\n if (resData.redirect) {\r\n window.location.href = resData.redirect;\r\n return;\r\n }\r\n };\r\n return {\r\n confirmationMessage,\r\n refContainer,\r\n serverErrors,\r\n status,\r\n onSubmit: handleSubmit(onSubmit),\r\n useReactHookFormReturn,\r\n };\r\n}\r\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","var cssUnit = {\n cm: true,\n mm: true,\n in: true,\n px: true,\n pt: true,\n pc: true,\n em: true,\n ex: true,\n ch: true,\n rem: true,\n vw: true,\n vh: true,\n vmin: true,\n vmax: true,\n \"%\": true,\n};\n/**\n * If size is a number, append px to the value as default unit.\n * If size is a string, validate against list of valid units.\n * If unit is valid, return size as is.\n * If unit is invalid, console warn issue, replace with px as the unit.\n *\n * @param {(number | string)} size\n * @return {LengthObject} LengthObject\n */\nexport function parseLengthAndUnit(size) {\n if (typeof size === \"number\") {\n return {\n value: size,\n unit: \"px\",\n };\n }\n var value;\n var valueString = (size.match(/^[0-9.]*/) || \"\").toString();\n if (valueString.includes(\".\")) {\n value = parseFloat(valueString);\n }\n else {\n value = parseInt(valueString, 10);\n }\n var unit = (size.match(/[^0-9]*$/) || \"\").toString();\n if (cssUnit[unit]) {\n return {\n value: value,\n unit: unit,\n };\n }\n console.warn(\"React Spinners: \".concat(size, \" is not a valid css value. Defaulting to \").concat(value, \"px.\"));\n return {\n value: value,\n unit: \"px\",\n };\n}\n/**\n * Take value as an input and return valid css value\n *\n * @param {(number | string)} value\n * @return {string} valid css value\n */\nexport function cssValue(value) {\n var lengthWithunit = parseLengthAndUnit(value);\n return \"\".concat(lengthWithunit.value).concat(lengthWithunit.unit);\n}\n","export var createAnimation = function (loaderName, frames, suffix) {\n var animationName = \"react-spinners-\".concat(loaderName, \"-\").concat(suffix);\n if (typeof window == \"undefined\" || !window.document) {\n return animationName;\n }\n var styleEl = document.createElement(\"style\");\n document.head.appendChild(styleEl);\n var styleSheet = styleEl.sheet;\n var keyFrames = \"\\n @keyframes \".concat(animationName, \" {\\n \").concat(frames, \"\\n }\\n \");\n if (styleSheet) {\n styleSheet.insertRule(keyFrames, 0);\n }\n return animationName;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n 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]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from \"react\";\nimport { cssValue } from \"./helpers/unitConverter\";\nimport { createAnimation } from \"./helpers/animation\";\nvar puff = [\n createAnimation(\"PuffLoader\", \"0% {transform: scale(0)} 100% {transform: scale(1.0)}\", \"puff-1\"),\n createAnimation(\"PuffLoader\", \"0% {opacity: 1} 100% {opacity: 0}\", \"puff-2\"),\n];\nfunction PuffLoader(_a) {\n var _b = _a.loading, loading = _b === void 0 ? true : _b, _c = _a.color, color = _c === void 0 ? \"#000000\" : _c, _d = _a.speedMultiplier, speedMultiplier = _d === void 0 ? 1 : _d, _e = _a.cssOverride, cssOverride = _e === void 0 ? {} : _e, _f = _a.size, size = _f === void 0 ? 60 : _f, additionalprops = __rest(_a, [\"loading\", \"color\", \"speedMultiplier\", \"cssOverride\", \"size\"]);\n var wrapper = __assign({ display: \"inherit\", position: \"relative\", width: cssValue(size), height: cssValue(size) }, cssOverride);\n var style = function (i) {\n return {\n position: \"absolute\",\n height: cssValue(size),\n width: cssValue(size),\n border: \"thick solid \".concat(color),\n borderRadius: \"50%\",\n opacity: \"1\",\n top: \"0\",\n left: \"0\",\n animationFillMode: \"both\",\n animation: \"\".concat(puff[0], \", \").concat(puff[1]),\n animationDuration: \"\".concat(2 / speedMultiplier, \"s\"),\n animationIterationCount: \"infinite\",\n animationTimingFunction: \"cubic-bezier(0.165, 0.84, 0.44, 1), cubic-bezier(0.3, 0.61, 0.355, 1)\",\n animationDelay: i === 1 ? \"-1s\" : \"0s\",\n };\n };\n if (!loading) {\n return null;\n }\n return (React.createElement(\"span\", __assign({ style: wrapper }, additionalprops),\n React.createElement(\"span\", { style: style(1) }),\n React.createElement(\"span\", { style: style(2) })));\n}\nexport default PuffLoader;\n","import queryString from 'query-string';\r\n/**\r\n * Create an image URL for ImageProcessor\r\n * @param image The image model\r\n * @param imageParams The image parameters\r\n * @returns The image URL\r\n */\r\nexport function imageUrl(image, imageParams) {\r\n if (!image || !image.src) {\r\n return '';\r\n }\r\n /**\r\n * Remove any query param string to ensure paramsString is applied correctly and\r\n * there are no double definitions (setting a param twice prevents any tranformations)\r\n */\r\n const imageSource = image.src.split('?')[0];\r\n const params = {\r\n rxy: image.focalPoint ? `${image.focalPoint.left},${image.focalPoint.top}` : undefined,\r\n // Define default quality as 90 to ensure some reduction in size for all but the smallest images\r\n quality: imageParams.width && imageParams.width > 400 ? 90 : 100,\r\n // Default the format to jpg, except in cases where the original image is an SVG or PNG\r\n format: imageSource.includes('.svg') || imageSource.includes('.png')\r\n ? undefined\r\n : imageParams.format ?? 'jpg',\r\n // Default the rsampler to lanczos8\r\n rsampler: imageParams.rsampler ?? 'lanczos8',\r\n ...imageParams,\r\n };\r\n const paramsString = queryString.stringify(params);\r\n return `${imageSource}${paramsString ? `?${queryString.stringify(params)}` : ''}`;\r\n}\r\nexport function getSrcs(image, upper, lower, steps, ratio, params) {\r\n const sizes = getRange(upper, lower, steps);\r\n return sizes.map((size) => `${imageUrl(image, {\r\n width: size,\r\n height: ratio ? Math.round(size * ratio) : undefined,\r\n ...params,\r\n })} ${size}w`);\r\n}\r\nfunction getRange(upper, lower, steps) {\r\n const difference = upper - lower;\r\n const increment = difference / (steps - 1);\r\n return [\r\n lower,\r\n ...Array(steps - 2)\r\n .fill('')\r\n .map((_, index) => Math.ceil(lower + increment * (index + 1))),\r\n upper,\r\n ];\r\n}\r\n"],"sourceRoot":""}