{"version":3,"sources":["webpack://_N_E/./node_modules/react-use/esm/misc/util.js","webpack://_N_E/./node_modules/react-use/esm/useLocalStorage.js","webpack://_N_E/./src/components/single-use-dialog/single-use-dialog.styles.ts","webpack://_N_E/./src/components/single-use-dialog/single-use-dialog.tsx"],"names":["noop","isBrowser","window","key","initialValue","options","Error","deserializer","raw","value","JSON","parse","_a","serializer","String","stringify","localStorageValue","localStorage","getItem","setItem","state","setState","set","valOrFunc","newState","remove","removeItem","undefined","StyledDialogOverlay","styled","DialogOverlay","DialogTitle","rem","size","DialogContent","SingleUseDialog","storageKey","title","label","children","useLocalStorage","isRunningInBrowser","showDialog","setShowDialog","close","isOpen","onDismiss","aria-label","aria-labelledby","onClick"],"mappings":"uMAAWA,EAAO,aAmBX,IAAIC,EAA8B,qBAAXC,OCuDf,EAxEO,SAAUC,EAAKC,EAAcC,GAC/C,IAAKJ,EACD,MAAO,CAACG,EAAcJ,EAAMA,GAEhC,IAAKG,EACD,MAAM,IAAIG,MAAM,wCAEpB,IAAIC,EAAeF,EACbA,EAAQG,IACJ,SAAUC,GAAS,OAAOA,GAC1BJ,EAAQE,aACZG,KAAKC,MAEPC,EAAK,oBAAS,WACd,IACI,IAAIC,EAAaR,EAAWA,EAAQG,IAAMM,OAAST,EAAQQ,WAAcH,KAAKK,UAC1EC,EAAoBC,aAAaC,QAAQf,GAC7C,OAA0B,OAAtBa,EACOT,EAAaS,IAGpBZ,GAAgBa,aAAaE,QAAQhB,EAAKU,EAAWT,IAC9CA,GAGf,MAAOQ,GAIH,OAAOR,MAEXgB,EAAQR,EAAG,GAAIS,EAAWT,EAAG,GAE7BU,EAAM,uBAAY,SAAUC,GAC5B,IACI,IAAIC,EAAgC,oBAAdD,EAA2BA,EAAUH,GAASG,EACpE,GAAwB,qBAAbC,EACP,OACJ,IAAIf,OAAQ,EAIAA,EAHRJ,EACIA,EAAQG,IACgB,kBAAbgB,EACCA,EAEAd,KAAKK,UAAUS,GACtBnB,EAAQQ,WACLR,EAAQQ,WAAWW,GAEnBd,KAAKK,UAAUS,GAEnBd,KAAKK,UAAUS,GAC3BP,aAAaE,QAAQhB,EAAKM,GAC1BY,EAASd,EAAaE,IAE1B,MAAOG,OAIR,CAACT,EAAKkB,IAELI,EAAS,uBAAY,WACrB,IACIR,aAAaS,WAAWvB,GACxBkB,OAASM,GAEb,MAAOf,OAIR,CAACT,EAAKkB,IACT,MAAO,CAACD,EAAOE,EAAKG,I,oCCpEXG,EAAsBC,YAAOC,KAAV,mGAAGD,CAAH,yJAC5BE,IAMkBC,YAAI,IAClBC,YAAKD,YAAI,KAIbE,IAIID,YAAKD,YAAI,KAGMA,YAAI,KCaZG,EArBoB,SAAC,GAA2C,IAAzCC,EAAyC,EAAzCA,WAAYC,EAA6B,EAA7BA,MAAOC,EAAsB,EAAtBA,MAAOC,EAAe,EAAfA,SAAe,EACzCC,EAClCJ,EACAK,eAH2E,mBACtEC,EADsE,KAC1DC,EAD0D,KAKvEC,EAAQ,kBAAMD,GAAc,IAElC,OACE,cAACf,EAAD,CAAqBiB,OAAQH,EAAYI,UAAWF,EAApD,SACE,eAAC,IAAD,CACEG,aAAYT,EACZU,kBAAiBX,EAAQ,oBAAiBV,EAF5C,UAIGU,GAAS,cAAC,IAAD,UAAcA,IACvBE,EACD,cAAC,IAAD,CAAaU,QAASL,EAAtB","file":"static/chunks/58.260ac8ccfeff43b1a103.js","sourcesContent":["export var noop = function () { };\nexport function on(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.addEventListener) {\n obj.addEventListener.apply(obj, args);\n }\n}\nexport function off(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.removeEventListener) {\n obj.removeEventListener.apply(obj, args);\n }\n}\nexport var isBrowser = typeof window !== 'undefined';\nexport var isNavigator = typeof navigator !== 'undefined';\n","import { useCallback, useState } from 'react';\nimport { isBrowser, noop } from './misc/util';\nvar useLocalStorage = function (key, initialValue, options) {\n if (!isBrowser) {\n return [initialValue, noop, noop];\n }\n if (!key) {\n throw new Error('useLocalStorage key may not be falsy');\n }\n var deserializer = options\n ? options.raw\n ? function (value) { return value; }\n : options.deserializer\n : JSON.parse;\n // eslint-disable-next-line react-hooks/rules-of-hooks\n var _a = useState(function () {\n try {\n var serializer = options ? (options.raw ? String : options.serializer) : JSON.stringify;\n var localStorageValue = localStorage.getItem(key);\n if (localStorageValue !== null) {\n return deserializer(localStorageValue);\n }\n else {\n initialValue && localStorage.setItem(key, serializer(initialValue));\n return initialValue;\n }\n }\n catch (_a) {\n // If user is in private mode or has storage restriction\n // localStorage can throw. JSON.parse and JSON.stringify\n // can throw, too.\n return initialValue;\n }\n }), state = _a[0], setState = _a[1];\n // eslint-disable-next-line react-hooks/rules-of-hooks\n var set = useCallback(function (valOrFunc) {\n try {\n var newState = typeof valOrFunc === 'function' ? valOrFunc(state) : valOrFunc;\n if (typeof newState === 'undefined')\n return;\n var value = void 0;\n if (options)\n if (options.raw)\n if (typeof newState === 'string')\n value = newState;\n else\n value = JSON.stringify(newState);\n else if (options.serializer)\n value = options.serializer(newState);\n else\n value = JSON.stringify(newState);\n else\n value = JSON.stringify(newState);\n localStorage.setItem(key, value);\n setState(deserializer(value));\n }\n catch (_a) {\n // If user is in private mode or has storage restriction\n // localStorage can throw. Also JSON.stringify can throw.\n }\n }, [key, setState]);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n var remove = useCallback(function () {\n try {\n localStorage.removeItem(key);\n setState(undefined);\n }\n catch (_a) {\n // If user is in private mode or has storage restriction\n // localStorage can throw.\n }\n }, [key, setState]);\n return [state, set, remove];\n};\nexport default useLocalStorage;\n","import { DialogContent, DialogOverlay, DialogTitle } from 'components/dialog';\nimport { rem, size } from 'polished';\nimport styled from 'styled-components';\n\nexport const StyledDialogOverlay = styled(DialogOverlay)`\n ${DialogTitle} {\n display: flex;\n align-items: center;\n\n svg {\n display: inline-block;\n margin-right: ${rem(10)};\n ${size(rem(24))};\n }\n }\n\n ${DialogContent} {\n line-height: 1.4;\n\n > svg {\n ${size(rem(24))};\n\n display: block;\n margin-bottom: ${rem(20)};\n }\n }\n`;\n","import { DialogClose, DialogContent, DialogTitle } from 'components/dialog';\nimport React, { FC, ReactNode } from 'react';\nimport { useLocalStorage } from 'react-use';\nimport { isRunningInBrowser } from 'utils/helpers';\nimport { StyledDialogOverlay } from './single-use-dialog.styles';\n\ninterface Props {\n storageKey: string;\n title?: string | ReactNode;\n label?: string;\n}\n\n/**\n * A dialog which will only render once (sets a flag in localstorage)\n */\nconst SingleUseDialog: FC = ({ storageKey, title, label, children }) => {\n const [showDialog, setShowDialog] = useLocalStorage(\n storageKey,\n isRunningInBrowser()\n );\n const close = () => setShowDialog(false);\n\n return (\n \n \n {title && {title}}\n {children}\n Close\n \n \n );\n};\n\nexport default SingleUseDialog;\n"],"sourceRoot":""}