{"version":3,"sources":["webpack://_N_E/./src/components/questions/backup-and-shelter/backup-and-shelter.tsx","webpack://_N_E/./src/hooks/use-analytics.ts","webpack://_N_E/./src/components/exit-alert/exit-alert.tsx","webpack://_N_E/./src/components/step-nav/step-nav.style.ts","webpack://_N_E/./src/components/step-nav/step-nav.tsx","webpack://_N_E/./node_modules/fast-deep-equal/react.js","webpack://_N_E/./node_modules/react-use/esm/useCustomCompareEffect.js","webpack://_N_E/./node_modules/react-use/esm/misc/isDeepEqual.js","webpack://_N_E/./node_modules/react-use/esm/useDeepCompareEffect.js","webpack://_N_E/./node_modules/react-use/esm/useMount.js"],"names":["BackupAndShelter","props","transformedData","useMemo","guestsSelections","backupAndShelter","guests","selections","guestsNotes","notes","text","nooneHomeSelections","nooneHome","nooneHomeNotes","shelterSelections","shelter","shelterNotes","useForm","defaultValues","register","handleSubmit","getValues","formState","isSubmitting","isDirty","onSubmit","event","planDataForSubmission","onSetBackupAndShelter","navigateWithDirection","navigate","formData","useUnmount","backupAndShelterData","noValidate","linkText","title","bold","textColor","noUnderline","checklistDataBackupAndShelterNooneHome","map","item","index","id","label","name","align","ref","value","slim","className","placeholder","component","checklistDataBackupAndShelterGuests","checklistDataBackupAndShelterShelter","iconType","IconTypeEnum","Alert","showExit","useAnalytics","getPlanDraft","useStore","state","logDownload","useCallback","draftPlan","logDownloadResource","logPlanStepView","step","stepId","getPlanStepId","type","logViewPlanStep","ExitAlert","hasExistingPlan","useHasExistingPlan","usePlanAPI","router","useRouter","useState","showExitConfirmationModal","setShowExitConfirmationModal","cancelExitConfirmationRef","useRef","switchPlan","proceed","push","APP_ROUTES","leave","then","scrollToTop","handleClick","a","preventDefault","static","Exit","iconSize","href","onClick","leastDestructiveRef","data-testid","bind","variant","Nav","styled","nav","List","ol","rem","theme","mediaQueries","medium","Node","li","size","colors","palette","greyDark","transparentize","white","green","StepNav","steps","currentStep","aria-label","as","aria-live","length","number","isComplete","isActive","aria-current","data-complete","module","exports","equal","b","constructor","i","keys","Array","isArray","RegExp","source","flags","valueOf","Object","prototype","toString","hasOwnProperty","call","key","$$typeof","effect","deps","depsEqual","undefined","current","isDeepEqual","fn"],"mappings":"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","file":"static/chunks/e514876e44d24038d01fc30c0ef63221ea07dafd.20ba759d28cae501eec3.js","sourcesContent":["import {\n BackupAndShelter as BackupAndShelterData,\n BackupAndShelterGuestsSelectionsEnum,\n BackupAndShelterNooneHomeSelectionsEnum,\n BackupAndShelterShelterSelectionsEnum,\n} from 'api/client';\nimport Alert, { IconTypeEnum } from 'components/alert';\nimport Checkbox from 'components/checkbox';\nimport ExitAlert from 'components/exit-alert';\nimport { H4 } from 'components/headings';\nimport TextInput from 'components/text-input';\nimport TooltipDialog from 'components/tooltip-dialog';\nimport { Text } from 'components/ui/text';\nimport React, { FC, useMemo } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useUnmount } from 'react-use';\nimport { NavigatePlan } from 'types/base';\nimport {\n checklistDataBackupAndShelterGuests,\n checklistDataBackupAndShelterNooneHome,\n checklistDataBackupAndShelterShelter,\n} from 'utils/config';\nimport { navigateWithDirection } from 'utils/helpers';\nimport FormControls from '../form-controls';\nimport {\n AlertWrapper,\n CheckboxFieldWrapper,\n Description,\n QuestionWrapper,\n Title,\n TooltipDialogWrapper,\n} from '../question.styles';\n\ntype ShelterAndBackupPlanFormData = {\n guestsSelections: Array;\n guestsNotes?: string;\n nooneHomeSelections: Array;\n nooneHomeNotes?: string;\n shelterSelections: Array;\n shelterNotes?: string;\n};\ninterface Props {\n backupAndShelter?: BackupAndShelterData;\n onSetBackupAndShelter: (shelter: BackupAndShelterData) => void;\n showExit?: boolean;\n navigate?: NavigatePlan;\n}\n\nconst BackupAndShelter: FC = (props) => {\n // This function bridges the gap between the data structure for notes being an object\n // and the form requiring a string to properly set the default value\n const transformedData: ShelterAndBackupPlanFormData = useMemo(() => {\n return {\n guestsSelections: props.backupAndShelter?.guests.selections ?? [],\n guestsNotes: props.backupAndShelter?.guests.notes?.text[0] ?? '',\n nooneHomeSelections: props.backupAndShelter?.nooneHome.selections ?? [],\n nooneHomeNotes: props.backupAndShelter?.nooneHome.notes?.text[0] ?? '',\n shelterSelections: props.backupAndShelter?.shelter.selections ?? [],\n shelterNotes: props.backupAndShelter?.shelter.notes?.text[0] ?? '',\n };\n }, [props.backupAndShelter]);\n\n const {\n register,\n handleSubmit,\n getValues,\n formState: { isSubmitting, isDirty },\n } = useForm({\n defaultValues: transformedData,\n });\n\n const onSubmit = handleSubmit(\n (\n {\n guestsSelections,\n guestsNotes,\n nooneHomeSelections,\n nooneHomeNotes,\n shelterSelections,\n shelterNotes,\n },\n event\n ) => {\n const planDataForSubmission: BackupAndShelterData = {\n guests: {\n selections: guestsSelections ?? [],\n notes: {\n text: [guestsNotes ?? ''],\n },\n },\n nooneHome: {\n selections: nooneHomeSelections ?? [],\n notes: {\n text: [nooneHomeNotes ?? ''],\n },\n },\n shelter: {\n selections: shelterSelections ?? [],\n notes: {\n text: [shelterNotes ?? ''],\n },\n },\n };\n props.onSetBackupAndShelter(planDataForSubmission);\n navigateWithDirection(props.navigate, event);\n }\n );\n\n const formData = getValues();\n useUnmount(() => {\n if (!isSubmitting && isDirty) {\n const {\n guestsSelections,\n guestsNotes,\n nooneHomeSelections,\n nooneHomeNotes,\n shelterSelections,\n shelterNotes,\n } = formData;\n const backupAndShelterData: BackupAndShelterData = {\n guests: {\n selections: guestsSelections ?? [],\n notes: {\n text: [guestsNotes ?? ''],\n },\n },\n nooneHome: {\n selections: nooneHomeSelections ?? [],\n notes: {\n text: [nooneHomeNotes ?? ''],\n },\n },\n shelter: {\n selections: shelterSelections ?? [],\n notes: {\n text: [shelterNotes ?? ''],\n },\n },\n };\n props.onSetBackupAndShelter(backupAndShelterData);\n }\n });\n\n return (\n
\n \n Great, you're almost finished\n\n \n But sometimes things don't always go to plan in an emergency.\n \n\n \n

What is your backup plan?

\n \n
    \n
  • Where is the fire and what is the alert level?
  • \n
  • Is it safe/necessary to go home?
  • \n
  • Are your children, pets or other dependants home?
  • \n
  • \n Are your children at school or in child care? If so, know and\n follow their bushfire plan.\n
  • \n
  • \n What actions would you normally take to prepare your property\n before evacuating? For example, running water through your\n evaporative air conditioner, closing doors and windows, and\n checking gas bottles will vent.\n
  • \n
  • \n If you need to move or relocate livestock, open internal gates\n and provide food and water?\n
  • \n
  • \n If there are any items you want to collect, such as your\n Emergency Evacuation Kit, important papers, medication or\n valuables?\n
  • \n
  • \n Prepare your property before bushfire season - do not leave\n preparation until there is a bushfire.\n
  • \n
\n \n Select as many as required\n {checklistDataBackupAndShelterNooneHome.map((item, index) => (\n \n ))}\n \n
\n\n \n \n What if you have guests staying at your house?\n \n Select as many as required\n {checklistDataBackupAndShelterGuests.map((item, index) => (\n \n ))}\n \n \n
    \n
  • \n What if your pets run away?\n
    \n Be aware and have them on a leash or in an evacuation cage as\n soon as possible. It is dangerous to delay evacuation to find\n them.\n
  • \n
  • \n \n What if you need to collect a person who needs assistance?\n \n
    \n This should already be part of your plan. Collect them as soon\n as you can because conditions can change quickly.\n
  • \n
  • \n What if your escape route is blocked?\n
    \n Have more than one exit in your plan. Don’t wait and see -\n leave early so your chances of a clear exit are higher. Have a\n shelter in a location already planned and prepared.\n
  • \n
  • \n What if you’re home alone? \n
    \n Leave early if you can. Make sure your property is prepared.\n Have a shelter in a location already planned and prepared. Let\n family know and call 000 if you’re trapped.\n
  • \n
  • \n What if your children are at school or child care?\n
    \n Schools and care facilities in high bushfire risk areas must\n have a bushfire plan. You should be familiar with their plan\n and know what you need to do.\n
  • \n
\n \n
\n\n \n
\n\n \n \n
    \n
  • \n A prepared house may offer some shelter. Choose a room with two\n exits, away from the fire front. Make sure one of the exits in\n your sheltering place leads outside, as the house will likely\n become unsafe.\n
  • \n
  • \n Wear heavy duty, non-flammable clothing (include gloves,\n goggles, head cover, filter mask and boots).\n
  • \n
  • Have water for drinking and wetting down.
  • \n
  • \n If possible, have independent water and power supply for extra\n protection.\n
  • \n
  • \n Have non-flammable blankets (extra protection from extreme\n heat).\n
  • \n
  • \n Ensure everyone in your household stays together - frightened\n pets and children may hide.\n
  • \n
  • \n Get your Emergency Evacuation Kit and take it with you to your\n sheltering place.\n
  • \n
  • Inform family and friends that you are not able to leave.
  • \n
  • \n Call 000 and inform them of your situation, how many people, and\n where you are sheltering.\n
  • \n
  • \n Prepare your property before bushfire season to reduce fire\n spread.\n
  • \n
\n \n Select as many as required\n {checklistDataBackupAndShelterShelter.map((item, index) => (\n \n ))}\n\n \n
\n\n \n \n It’s important to decide where you will shelter now, while you are\n calm and can think clearly. Do not leave this decision until a\n bushfire is threatening you, when you are stressed and scared.\n \n \n\n {!!props.showExit && (\n \n \n \n )}\n
\n\n \n \n );\n};\n\nexport default BackupAndShelter;\n","import { useCallback } from 'react';\nimport { logDownloadResource, logViewPlanStep } from 'services/analytics';\nimport { useStore } from 'store';\nimport { getPlanStepId } from 'utils/plan-helpers';\n\nexport function useAnalytics() {\n const getPlanDraft = useStore((state) => state.getPlanDraft);\n\n /** Behaviour Tracking: Amount of downloads per downloadable content */\n const logDownload = useCallback(\n (title: string) => {\n const draftPlan = getPlanDraft();\n logDownloadResource(title, draftPlan);\n },\n [getPlanDraft]\n );\n\n const logPlanStepView = useCallback(\n (step: number) => {\n const draftPlan = getPlanDraft();\n const stepId = getPlanStepId(step, draftPlan.type);\n logViewPlanStep(step, stepId, draftPlan);\n },\n [getPlanDraft]\n );\n\n return {\n logDownload,\n logPlanStepView,\n };\n}\n","import Alert, { IconTypeEnum } from 'components/alert';\nimport {\n AlertDialogActionsWrapper,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogLabel,\n AlertDialogOverlay,\n} from 'components/alert-dialog';\nimport Button from 'components/button';\nimport { usePlanAPI } from 'hooks/use-plan';\nimport { useRouter } from 'next/router';\nimport React, { useRef, useState } from 'react';\nimport { scrollToTop } from 'utils/helpers';\nimport APP_ROUTES from 'utils/routes';\n\nconst ExitAlert = () => {\n const { useHasExistingPlan } = usePlanAPI();\n const hasExistingPlan = useHasExistingPlan();\n const router = useRouter();\n const [showExitConfirmationModal, setShowExitConfirmationModal] =\n useState(false);\n const cancelExitConfirmationRef = useRef(null);\n\n if (hasExistingPlan) {\n return null;\n }\n\n const switchPlan = (proceed: boolean) => {\n setShowExitConfirmationModal(false);\n if (proceed) {\n router.push(APP_ROUTES.leave.index).then(scrollToTop);\n }\n };\n\n const handleClick = async (event: React.MouseEvent) => {\n event.preventDefault();\n setShowExitConfirmationModal(true);\n };\n\n return (\n <>\n \n Not sure? Click here and plan to leave early instead. It is your safest\n choice.\n \n\n {showExitConfirmationModal && (\n \n \n Please confirm\n \n

\n You are about to switch plans. Do you want to continue with the\n existing plan or switch to a leave early plan?\n

\n
\n \n \n Continue\n \n \n Switch plan\n \n \n
\n \n )}\n \n );\n};\n\nexport default ExitAlert;\n","import { rem, size, transparentize } from 'polished';\nimport styled from 'styled-components';\n\nexport const Nav = styled.nav`\n display: flex;\n align-items: center;\n justify-content: center;\n filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));\n`;\n\nexport const List = styled.ol`\n --gap: ${rem(6)};\n\n display: inline-grid;\n grid-auto-flow: column;\n grid-gap: var(--gap);\n margin: 0;\n padding: 0;\n list-style: none;\n\n ${({ theme }) => theme.mediaQueries.medium} {\n --gap: ${rem(14)};\n }\n`;\n\nexport const Node = styled.li`\n ${size(rem(32))};\n\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.colors.palette.greyDark};\n font-weight: bold;\n font-size: ${rem(15)};\n border: 2px solid currentColor;\n border-radius: 100%;\n transition: 0.25s ease-in-out;\n\n &::before,\n &::after {\n position: absolute;\n content: '';\n }\n\n /* The joiner between each step */\n &::before {\n top: 50%;\n left: calc((var(--gap) * -1) - ${rem(2)});\n width: var(--gap);\n height: ${rem(3)};\n background-color: ${({ theme }) => theme.colors.palette.greyDark};\n transform: translateY(-50%);\n }\n\n &:first-child {\n &::before {\n display: none;\n }\n }\n\n /* The active step indicator */\n &::after {\n ${size(rem(6))}\n\n bottom: -${rem(12)};\n background-color: ${({ theme }) => theme.colors.text};\n border-radius: 100%;\n opacity: 0;\n transition: opacity 0.25s ease-in-out;\n }\n\n /* The active step */\n &[aria-current='step']::after {\n opacity: 1;\n }\n\n &:focus-within {\n outline: 2px solid var(--focus-color);\n outline-offset: 1px;\n }\n\n button {\n ${size('100%')};\n\n position: absolute;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n color: inherit;\n font-weight: inherit;\n line-height: 0;\n background-color: ${({ theme }) =>\n transparentize(0.8, theme.colors.palette.greyDark)};\n border: 0;\n border-radius: inherit;\n cursor: pointer;\n transition: background-color 0.25s ease-in-out;\n\n &:focus {\n outline: 0;\n box-shadow: none;\n }\n }\n\n /* A complete step */\n &[data-complete='true'] {\n color: ${({ theme }) => theme.colors.palette.white};\n background-color: ${({ theme }) => theme.colors.palette.green};\n border-color: ${({ theme }) => theme.colors.palette.green};\n\n /* Fill in the joiner for adjacent completed steps */\n & + &::before {\n background-color: ${({ theme }) => theme.colors.palette.green};\n }\n\n button {\n background-color: ${({ theme }) => theme.colors.palette.green};\n }\n }\n`;\n","import { HideVisually } from 'components/hide-visually';\nimport React, { FC } from 'react';\nimport { List, Nav, Node } from './step-nav.style';\n\ntype Step = {\n number: number;\n isComplete?: boolean;\n};\n\ninterface Props {\n steps: Step[];\n currentStep?: number;\n onClick?: (index: number) => void;\n}\n\nconst StepNav: FC = ({ steps, currentStep, onClick }) => {\n return (\n \n );\n};\n\nexport default StepNav;\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n continue;\n }\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","import { useEffect, useRef } from 'react';\nvar isPrimitive = function (val) { return val !== Object(val); };\nvar useCustomCompareEffect = function (effect, deps, depsEqual) {\n if (process.env.NODE_ENV !== 'production') {\n if (!(deps instanceof Array) || !deps.length) {\n console.warn('`useCustomCompareEffect` should not be used with no dependencies. Use React.useEffect instead.');\n }\n if (deps.every(isPrimitive)) {\n console.warn('`useCustomCompareEffect` should not be used with dependencies that are all primitive values. Use React.useEffect instead.');\n }\n if (typeof depsEqual !== 'function') {\n console.warn('`useCustomCompareEffect` should be used with depsEqual callback for comparing deps list');\n }\n }\n var ref = useRef(undefined);\n if (!ref.current || !depsEqual(deps, ref.current)) {\n ref.current = deps;\n }\n useEffect(effect, ref.current);\n};\nexport default useCustomCompareEffect;\n","import isDeepEqualReact from 'fast-deep-equal/react';\nexport default isDeepEqualReact;\n","import useCustomCompareEffect from './useCustomCompareEffect';\nimport isDeepEqual from './misc/isDeepEqual';\nvar isPrimitive = function (val) { return val !== Object(val); };\nvar useDeepCompareEffect = function (effect, deps) {\n if (process.env.NODE_ENV !== 'production') {\n if (!(deps instanceof Array) || !deps.length) {\n console.warn('`useDeepCompareEffect` should not be used with no dependencies. Use React.useEffect instead.');\n }\n if (deps.every(isPrimitive)) {\n console.warn('`useDeepCompareEffect` should not be used with dependencies that are all primitive values. Use React.useEffect instead.');\n }\n }\n useCustomCompareEffect(effect, deps, isDeepEqual);\n};\nexport default useDeepCompareEffect;\n","import useEffectOnce from './useEffectOnce';\nvar useMount = function (fn) {\n useEffectOnce(function () {\n fn();\n });\n};\nexport default useMount;\n"],"sourceRoot":""}