{"version":3,"file":"7489.js","sources":["webpack://frontend/../src/logic/storeFactory.ts","webpack://frontend/../src/constants.ts","webpack://frontend/../src/StateMachineContext.tsx","webpack://frontend/../src/stateMachine.tsx","webpack://frontend/./node_modules/worker-mate/dist/workerMate.es.js","webpack://frontend/./src/react_repo/actions/index.ts","webpack://frontend/./src/react_repo/components/non_residential/atoms/LoginBtn/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/atoms/MessageFailSuccess/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/atoms/MessageWarning/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/atoms/NoMatch/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/atoms/Section762/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/atoms/Spinner/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/molecules/TableLoading/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/molecules/TableWrapper/index.tsx","webpack://frontend/./src/react_repo/hooks/queryPlus/useFetch.ts","webpack://frontend/./src/react_repo/hooks/useQuery.tsx","webpack://frontend/./src/react_repo/hooks/useScrollTo.ts","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/PropertyManagementComplete/PartialSuccess/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/PropertyManagementComplete/Problem/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/PropertyManagementComplete/Success/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/PropertyManagementComplete/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/PropertyManagementStart/Confirm/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/options/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/PropertyManagementStart/Step1/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/PropertyManagementStart/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/PropertyManagementEnd/Confirm/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/PropertyManagementEnd/Step1/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/PropertyManagementEnd/SelectProperty/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/PropertyManagementEnd/index.tsx","webpack://frontend/./src/react_repo/components/non_residential/templates/PropertyManagement/index.tsx","webpack://frontend/./src/react_repo/pages/PropertyManagementPage/Routes/index.tsx","webpack://frontend/./src/react_repo/pages/PropertyManagementPage/index.tsx","webpack://frontend/./src/utils/skeleton_tools/skeletonUtils.tsx","webpack://frontend/./node_modules/clsx/dist/clsx.mjs","webpack://frontend/./node_modules/react-loading-skeleton/dist/index.js"],"sourcesContent":["import { PERSIST_OPTION, STORE_DEFAULT_NAME } from '../constants';\nimport { GlobalState, StateMachineOptions } from '../types';\n\nfunction StoreFactory() {\n let options: StateMachineOptions = {\n name: STORE_DEFAULT_NAME,\n middleWares: [],\n persist: PERSIST_OPTION.ACTION,\n };\n let state: GlobalState = {};\n\n try {\n options.storageType =\n typeof sessionStorage !== 'undefined' ? window.sessionStorage : undefined;\n } catch {}\n\n return {\n updateStore(defaultValues: GlobalState) {\n try {\n state =\n (options.storageType &&\n JSON.parse(options.storageType.getItem(options.name!) || '')) ||\n defaultValues;\n } catch {\n state = defaultValues;\n }\n },\n saveStore() {\n options.storageType &&\n options.storageType.setItem(options.name!, JSON.stringify(state));\n },\n get state() {\n return state;\n },\n set state(value) {\n state = value;\n },\n get options() {\n return options;\n },\n set options(value) {\n options = value;\n },\n };\n}\n\nexport default StoreFactory();\n","export const STORE_DEFAULT_NAME = '__LSM__';\nexport const STORE_ACTION_NAME = '__LSM_NAME__';\nexport const PERSIST_OPTION = {\n NONE: 'none',\n ACTION: 'action',\n UNLOAD: 'beforeUnload',\n} as const;\n","import * as React from 'react';\nimport storeFactory from './logic/storeFactory';\nimport { StateMachineContextValue } from './types';\nimport { PERSIST_OPTION } from './constants';\n\ntype PropsChildren = {\n children?: React.ReactNode;\n};\n\nconst StateMachineContext = React.createContext(\n undefined as any,\n);\n\nexport const StateMachineProvider: React.FC = ({ children }) => {\n const [state, setState] = React.useState(storeFactory.state);\n\n React.useEffect(() => {\n if (storeFactory.options.persist === PERSIST_OPTION.UNLOAD) {\n window.onbeforeunload = () => storeFactory.saveStore();\n storeFactory.options.storageType &&\n storeFactory.options.storageType.removeItem(storeFactory.options.name!);\n }\n }, []);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useStateMachineContext = () =>\n React.useContext(StateMachineContext);\n","import * as React from 'react';\nimport { useStateMachineContext } from './StateMachineContext';\nimport storeFactory from './logic/storeFactory';\nimport {\n StateMachineOptions,\n GlobalState,\n AnyCallback,\n AnyActions,\n ActionsOutput,\n} from './types';\nimport { PERSIST_OPTION, STORE_ACTION_NAME } from './constants';\n\nexport function createStore(\n defaultState: GlobalState,\n options?: StateMachineOptions,\n) {\n if (options) {\n storeFactory.options = {\n ...storeFactory.options,\n ...options,\n };\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined') {\n window.__LSM_NAME__ = storeFactory.options.name;\n window.__LSM_RESET__ = () =>\n storeFactory.options.storageType &&\n storeFactory.options.storageType.removeItem(storeFactory.options.name!);\n }\n }\n\n storeFactory.updateStore(defaultState);\n}\n\nconst actionTemplate =\n (\n setState: React.Dispatch>,\n callback: TCallback,\n ) =>\n (payload: Parameters[1], options?: { skipRender: boolean }) => {\n if (process.env.NODE_ENV !== 'production') {\n window[STORE_ACTION_NAME] = callback.name;\n }\n\n storeFactory.state = callback(storeFactory.state, payload);\n\n if (storeFactory.options.middleWares) {\n storeFactory.state = storeFactory.options.middleWares.reduce(\n (currentValue, currentFunction) =>\n currentFunction(currentValue, callback.name, payload) || currentValue,\n storeFactory.state,\n );\n }\n\n (!options || !options.skipRender) && setState(storeFactory.state);\n\n if (storeFactory.options.persist === PERSIST_OPTION.ACTION) {\n storeFactory.saveStore();\n }\n };\n\nexport function useStateMachine<\n TCallback extends AnyCallback,\n TActions extends AnyActions,\n>(\n actions?: TActions,\n): {\n actions: ActionsOutput;\n state: GlobalState;\n getState: () => GlobalState;\n} {\n const { state, setState } = useStateMachineContext();\n const actionsRef = React.useRef(\n Object.entries(actions || {}).reduce(\n (previous, [key, callback]) =>\n Object.assign({}, previous, {\n [key]: actionTemplate(setState, callback),\n }),\n {} as ActionsOutput,\n ),\n );\n\n return {\n actions: actionsRef.current,\n state,\n getState: React.useCallback(() => storeFactory.state, []),\n };\n}\n","const createWorkerPromise = (Worker2, postMessage) => {\n return new Promise((resolve, reject) => {\n let worker = new Worker2();\n if (worker) {\n worker.onmessage = (e) => {\n var _a, _b;\n if (e.isTrusted) {\n ((_a = e.data) == null ? void 0 : _a.type) === \"error\" ? reject(e.data.error) : resolve((_b = e.data) == null ? void 0 : _b.data);\n }\n worker == null ? void 0 : worker.terminate();\n };\n worker.onerror = worker.onmessageerror = reject;\n }\n worker == null ? void 0 : worker.postMessage(postMessage);\n });\n};\nconst encodedJs$1 = \"KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IG49cz0+dHlwZW9mIHM9PSJmdW5jdGlvbiIscj1zPT5uZXcgRnVuY3Rpb24oYHJldHVybiAke2RlY29kZVVSSShzKX1gKSgpO3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYXN5bmMgcz0+e2lmKCFzLmlzVHJ1c3RlZClyZXR1cm47bGV0e2RhdGE6ZX09cyx0PShlPT1udWxsP3ZvaWQgMDplLmZuKSYmcihlLmZuKTtuKHQpP2UhPW51bGwmJmUucmF3RGF0YT9zZWxmLnBvc3RNZXNzYWdlKHt0eXBlOiJkYXRhIixkYXRhOnQoZS5yYXdEYXRhKX0pOnNlbGYucG9zdE1lc3NhZ2Uoe3R5cGU6ImVycm9yIixlcnJvcjoibm8gZGF0YSBwcm92aWRlZCJ9KTpzZWxmLnBvc3RNZXNzYWdlKHt0eXBlOiJlcnJvciIsZXJyb3I6Im5vIGZ1bmN0aW9uIHByb3ZpZGVkIn0pfSl9KSgpOwo=\";\nconst blob$1 = typeof window !== \"undefined\" && window.Blob && new Blob([atob(encodedJs$1)], { type: \"text/javascript;charset=utf-8\" });\nfunction WorkerWrapper$1() {\n const objURL = blob$1 && (window.URL || window.webkitURL).createObjectURL(blob$1);\n try {\n return objURL ? new Worker(objURL, {}) : new Worker(\"data:application/javascript;base64,\" + encodedJs$1, { type: \"module\" });\n } finally {\n objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);\n }\n}\nconst serializeFunction = (f) => encodeURI(f.toString());\nconst fnWorker = (fn, rawData) => {\n return createWorkerPromise(WorkerWrapper$1, { fn: serializeFunction(fn), rawData });\n};\nconst encodedJs = \"KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IG89cj0+dHlwZW9mIHI9PSJmdW5jdGlvbiIsZD1yPT5uZXcgRnVuY3Rpb24oYHJldHVybiAke2RlY29kZVVSSShyKX1gKSgpLHc9cj0+e3ZhciBlLHM7cmV0dXJuKHM9KGU9cj09bnVsbD92b2lkIDA6ci5tZXRob2QpPT1udWxsP3ZvaWQgMDplLnRvVXBwZXJDYXNlKCkpIT1udWxsP3M6IkdFVCJ9O2Z1bmN0aW9uKmYocil7Zm9yKGxldCBlPTA7ZTxyLmF0dGVtcHRzO2UrKyl5aWVsZCBuZXcgUHJvbWlzZShzPT5lPT09MD9zKHZvaWQgMCk6c2V0VGltZW91dChzLHIuZGVsYXkpKX1zZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGFzeW5jIHI9PntpZighci5pc1RydXN0ZWQpcmV0dXJuO2xldHtkYXRhOmV9PXIse3VybDpzLG9wdGlvbnM6aSxyZXRyeTpufT1lLHU9dyhpKTtpZigodT09PSJQT1NUInx8dT09PSJQVVQiKSYmKGU9PW51bGw/dm9pZCAwOmUucmVxdWVzdE1pZGRsZXdhcmUpKXtsZXQgYT1kKGUucmVxdWVzdE1pZGRsZXdhcmUpLHQ9aS5ib2R5O3QmJm8oYSkmJihpPXsuLi5pLGJvZHk6SlNPTi5zdHJpbmdpZnkoYShKU09OLnBhcnNlKHQpKSl9KX1jb25zdCBwPWFzeW5jKCk9Pnt2YXIgYTt0cnl7bGV0IHQ9YXdhaXQgZmV0Y2gocyxpKTtpZih0Lm9rJiZ0LnN0YXR1cyE9PTQwNCYmdC5zdGF0dXMhPT00MDMpe2xldCBjPWF3YWl0IHQuanNvbigpLHk9KGU9PW51bGw/dm9pZCAwOmUucmVzcG9uc2VNaWRkbGV3YXJlKSYmZChlLnJlc3BvbnNlTWlkZGxld2FyZSk7cmV0dXJuIG8oeSk/eShjKTpjfWVsc2UgdGhyb3cgbmV3IEVycm9yKGAkeyhhPXQuc3RhdHVzKSE9bnVsbD9hOnQuc3RhdHVzVGV4dH1gKX1jYXRjaCh0KXt0aHJvdyB0fX07bnx8KG49e2F0dGVtcHRzOjEsZGVsYXk6MH0pO2xldCBoPWYobiksbDtmb3IoOyFsOyl0cnl7bD1hd2FpdCBwKCksc2VsZi5wb3N0TWVzc2FnZSh7dHlwZToiZGF0YSIsZGF0YTpsfSl9Y2F0Y2goYSl7bGV0IHQ9aC5uZXh0KCk7dC5kb25lPyhsPSEwLHNlbGYucG9zdE1lc3NhZ2Uoe3R5cGU6ImVycm9yIixlcnJvcjphfSkpOmF3YWl0IHQudmFsdWV9fSl9KSgpOwo=\";\nconst blob = typeof window !== \"undefined\" && window.Blob && new Blob([atob(encodedJs)], { type: \"text/javascript;charset=utf-8\" });\nfunction WorkerWrapper() {\n const objURL = blob && (window.URL || window.webkitURL).createObjectURL(blob);\n try {\n return objURL ? new Worker(objURL, {}) : new Worker(\"data:application/javascript;base64,\" + encodedJs, { type: \"module\" });\n } finally {\n objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);\n }\n}\nconst fetchWorker = ({ url, requestMiddleware, responseMiddleware, options, retry }) => {\n return createWorkerPromise(WorkerWrapper, {\n url,\n options,\n requestMiddleware: requestMiddleware && serializeFunction(requestMiddleware),\n responseMiddleware: responseMiddleware && serializeFunction(responseMiddleware),\n retry\n });\n};\nexport { fetchWorker, fnWorker };\n","import { getDueDateRange } from 'utils'\r\nimport type { GlobalState } from 'little-state-machine/dist/types'\r\n\r\nexport function updateAction(\r\n state: any,\r\n payload: Record\r\n) {\r\n return {\r\n ...state,\r\n ...payload\r\n }\r\n}\r\nexport function resetToAction(\r\n state: GlobalState,\r\n payload: Record\r\n) {\r\n return payload\r\n}\r\n\r\nexport function resetAllAction(state: undefined, payload: undefined) {\r\n return {}\r\n}\r\n\r\n// Water use dashboard\r\n\r\nexport function updateSelectedDatesAction(\r\n state: Record,\r\n payload: { startDate: Date; endDate: Date }\r\n) {\r\n return {\r\n ...state,\r\n SelectedDates: {\r\n start: payload?.startDate ?? state?.SelectedDates.start,\r\n end: payload?.endDate ?? state?.SelectedDates.end\r\n }\r\n }\r\n}\r\n\r\nexport function updateFlowDetailAction(\r\n state: Record,\r\n payload: Record\r\n) {\r\n return {\r\n ...state,\r\n detailFlow: {\r\n ...state?.detailFlow,\r\n ...payload\r\n }\r\n }\r\n}\r\n\r\nexport function updateWaterUseDetailAction(\r\n state: Record,\r\n payload: Record\r\n) {\r\n return {\r\n ...state,\r\n waterUse: {\r\n ...state?.waterUse,\r\n ...payload\r\n }\r\n }\r\n}\r\n\r\nexport function resetPeriodIndex(state: Record) {\r\n return {\r\n ...state,\r\n detailFlow: {\r\n ...state?.detailFlow,\r\n periodIndex: 0\r\n },\r\n waterUse: {\r\n ...state?.waterUse,\r\n periodIndex: 0\r\n }\r\n }\r\n}\r\n\r\n// extend due date\r\nexport function updateDueDateAction(\r\n state: Record,\r\n payload: { AccountNo: string; NewDueDate: Date }\r\n) {\r\n let selected = state?.selected.map((row: any) =>\r\n row.AccountNo === payload.AccountNo\r\n ? { ...row, NewDueDate: payload.NewDueDate }\r\n : row\r\n )\r\n return {\r\n ...state,\r\n selected\r\n }\r\n}\r\n\r\nexport function updateAllDueDatesAction(\r\n state: Record,\r\n payload: { isSelected: boolean }\r\n) {\r\n let selected = state?.selected?.map((row: any) => {\r\n const { max, min } = getDueDateRange(row.CurrentDueDate)\r\n return { ...row, NewDueDate: payload.isSelected ? max : min }\r\n })\r\n return {\r\n ...state,\r\n selected\r\n }\r\n}\r\n\r\n// Trade waste form\r\n// export function tradeWasteActions(\r\n// state: any,\r\n// payload: { type: string; value: any }\r\n// ) {\r\n// switch (payload.type) {\r\n// case 'addMenu': {\r\n// return {\r\n// ...state,\r\n// menus: [...state?.menus, payload.value.upload]\r\n// }\r\n// }\r\n// case 'addPlumbingPlan': {\r\n// return {\r\n// ...state,\r\n// plumbingPlans: [...state?.plumbingPlans, payload.value.upload]\r\n// }\r\n// }\r\n\r\n// case 'removeMenu': {\r\n// return {\r\n// ...state,\r\n// menus: state?.menus.filter((menu) => menu.id !== payload.value.id)\r\n// }\r\n// }\r\n// case 'removePlan': {\r\n// return {\r\n// ...state,\r\n// plumbingPlans: state?.plumbingPlans.filter(\r\n// (plan) => plan.id !== payload.value.id\r\n// )\r\n// }\r\n// }\r\n// case 'deleteUploads': {\r\n// return {\r\n// ...state,\r\n// menus: [],\r\n// plumbingPlans: []\r\n// }\r\n// }\r\n// default:\r\n// return state\r\n// }\r\n// }\r\n","export interface LoginInterface {\r\n loginLink: string\r\n}\r\n\r\nexport const LoginBtn: React.FC = ({ loginLink }) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import { Icon } from 'utils'\r\n\r\ninterface MessageFailSuccessInterface {\r\n message?: string\r\n fail: boolean\r\n children?: React.ReactNode\r\n msgClass?: string\r\n iconVerticalClass?: string\r\n}\r\n\r\nexport const MessageFailSuccess: React.FunctionComponent<\r\n MessageFailSuccessInterface\r\n> = ({ message, fail, children, msgClass, iconVerticalClass }) => {\r\n return (\r\n \r\n \r\n
\r\n {fail ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n {message ?

{message}

:
{children}
}\r\n \r\n \r\n )\r\n}\r\n","import { Icon } from 'utils'\r\n\r\ninterface MessageWarningInterface {\r\n message?: string\r\n children?: React.ReactNode\r\n iconVerticalClass?: string\r\n}\r\n\r\nexport const MessageWarning: React.FunctionComponent<\r\n MessageWarningInterface\r\n> = ({ message, children, iconVerticalClass }) => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n {message ?

{message}

:
{children}
}\r\n
\r\n \r\n )\r\n}\r\n","import { useEffect } from 'react'\r\nimport { useNavigate } from 'react-router-dom'\r\n\r\ninterface NoMatchInterface {\r\n redirectPath?: string\r\n}\r\n\r\nexport const NoMatch: React.FC = ({ redirectPath = '/' }) => {\r\n const navigate = useNavigate()\r\n useEffect(() => {\r\n navigate(redirectPath, { replace: true })\r\n }, [])\r\n return null\r\n}\r\n\r\nexport default NoMatch\r\n","export const Section762: React.FC<{ children?: React.ReactNode }> = ({\r\n children\r\n}) =>
{children}
\r\n","import { memo } from 'react'\r\n\r\nexport const Spinner = memo(() => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n})\r\n","import Skeleton from 'react-loading-skeleton'\r\nimport { SkeletonInputField } from 'utils/skeleton_tools/skeletonUtils'\r\nimport { Spinner } from '../../atoms/Spinner'\r\n\r\nexport interface TableLoadingInterface {\r\n hideSearch?: boolean\r\n width?: number | string\r\n height?: number | string\r\n errorMessage?: string\r\n}\r\n\r\nexport const TableLoading: React.FC = ({\r\n width = '100%',\r\n height = 495,\r\n hideSearch,\r\n errorMessage\r\n}) => {\r\n return (\r\n
\r\n {!hideSearch && }\r\n
\r\n \r\n \r\n
\r\n {!errorMessage && }\r\n

\r\n {errorMessage ?? 'loading'}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default TableLoading\r\n","import TableLoading, { TableLoadingInterface } from \"../TableLoading\";\r\n\r\ninterface TableWrapperInterface extends TableLoadingInterface {\r\n isLoading: boolean\r\n hasError?: boolean\r\n errorMessage?: string\r\n children: React.ReactNode\r\n}\r\n\r\nexport const TableWrapper: React.FC = ({ isLoading, hasError, children, ...rest }) => {\r\n if (isLoading || hasError) {\r\n return \r\n }\r\n return <>{children}\r\n};\r\n\r\nexport default TableWrapper;\r\n","import { useEffect, useReducer, useRef } from 'react'\r\nimport { fnWorker } from 'worker-mate'\r\n\r\nimport type {\r\n FetchWorkerProps,\r\n UnknownDataResponseType\r\n} from '../../interfaces/worker'\r\n\r\nexport interface StateType {\r\n data: UnknownDataResponseType\r\n controller?: AbortController\r\n error?: Error\r\n statusCode?: number\r\n loading: boolean\r\n}\r\n\r\nexport const initialState: StateType = {\r\n data: undefined,\r\n error: undefined,\r\n loading: false\r\n}\r\n\r\nexport function reducer(state: StateType, action: any) {\r\n return { ...state, ...action }\r\n}\r\n\r\nexport function useFetch(resetFn?: () => void) {\r\n const [state, dispatch] = useReducer(reducer, initialState)\r\n const controller = useRef(new AbortController())\r\n const fetcher = async ({\r\n url,\r\n options,\r\n middleware,\r\n isBlob\r\n }: FetchWorkerProps) => {\r\n if (!url) return;\r\n dispatch({ loading: true })\r\n controller.current = new AbortController()\r\n let signal = controller.current.signal\r\n fetch(url, { ...options!, signal })\r\n .then((response) => {\r\n dispatch({ statusCode: response.status })\r\n if (response.status === 403) {\r\n resetFn && resetFn()\r\n window.location.reload()\r\n return\r\n }\r\n if (response.ok && response.status !== 404) {\r\n let getBlob =\r\n response?.headers?.get('content-type')?.includes('blob') || isBlob\r\n return getBlob ? response.blob() : response.json()\r\n } else {\r\n throw new Error('not found')\r\n }\r\n })\r\n .then(async (resData) => {\r\n let data = resData\r\n if (middleware) {\r\n data = await fnWorker(middleware, resData).then((d) => d)\r\n }\r\n if (data) {\r\n dispatch({ error: null, data })\r\n } else {\r\n dispatch({ error: new Error('No data found') })\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch({ error })\r\n })\r\n .finally(() => {\r\n dispatch({ loading: false, controller: null })\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n return () => {\r\n controller.current?.abort()\r\n }\r\n }, [])\r\n\r\n return {\r\n cancelRequest: () => {\r\n controller.current?.abort()\r\n },\r\n fetcher: fetcher,\r\n ...state\r\n } as const\r\n}\r\n","import { useLocation } from 'react-router-dom'\r\n\r\nexport function useQuery() {\r\n return new URLSearchParams(useLocation().search)\r\n}\r\n","import { useEffect } from 'react'\r\nimport { scrollToTop } from 'utils'\r\n\r\n/**\r\n *\r\n * @example useScrollTo();\r\n * @example useScrollTo(100, 0);\r\n */\r\n\r\nexport const useScrollTo = (x: number = 0, y: number = 0) => {\r\n useEffect(() => {\r\n scrollToTop(x, y)\r\n }, [])\r\n}\r\n","import { useEffect } from 'react'\r\nimport { memo } from 'react'\r\nimport { useStateMachine } from 'little-state-machine'\r\nimport { scrollToTop } from 'utils'\r\nimport { MessageWarning } from '../../../../atoms/MessageWarning';\r\n\r\ninterface Property {\r\n Address: string;\r\n AccountNumber: string;\r\n}\r\n\r\nexport const PropertyManagementPartialSuccess = () => {\r\n const { state } = useStateMachine()\r\n useEffect(() => {\r\n scrollToTop(0, 0)\r\n }, [])\r\n return ()\r\n}\r\n\r\nconst PartialSuccessContent = memo<{\r\n properties: Array\r\n failures: Array\r\n contactUsUrl: string\r\n}>((props) => {\r\n return (\r\n
\r\n

There was a problem

\r\n \r\n
\r\n

\r\n We could only process some of your requests.\r\n

\r\n

\r\n \r\n You successfully submitted your request for the properties below.\r\n \r\n

\r\n
\r\n {\r\n props?.properties?.map((property: Property) => (
\r\n {property?.Address} - {property?.AccountNumber}\r\n
))\r\n }\r\n
\r\n\r\n

\r\n We couldn't process your request for the following\r\n

\r\n
\r\n {\r\n props?.failures?.map((property: Property) => (
\r\n {property?.Address} - {property?.AccountNumber}\r\n
))\r\n }\r\n
\r\n

\r\n Please try again or\r\n contact us.\r\n

\r\n
\r\n\r\n
\r\n \r\n
\r\n )\r\n})\r\n\r\nexport default PropertyManagementPartialSuccess\r\n","import { useEffect } from 'react'\r\nimport { memo } from 'react'\r\nimport { useStateMachine } from 'little-state-machine'\r\nimport { Icon, scrollToTop } from 'utils'\r\n\r\nexport const PropertyManagementProblem = () => {\r\n const { state } = useStateMachine()\r\n useEffect(() => {\r\n scrollToTop(0, 0)\r\n }, [])\r\n if (state?.isAuth) {\r\n return \r\n }\r\n return \r\n}\r\n\r\ntype StartAuthFailureProps = {\r\n contactUsUrl: string;\r\n properties: Array<{\r\n Address: string;\r\n AccountNumber: string;\r\n }>\r\n}\r\n\r\ninterface Property {\r\n Address: string;\r\n AccountNumber: string;\r\n}\r\n\r\nconst StartAuthFailure = memo((props) => (\r\n
\r\n

There was a problem

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n There was an issue with submitting your new management information for\r\n the below.\r\n

\r\n
\r\n {\r\n props?.properties?.map((property: Property) => (
\r\n {property?.Address} - {property?.AccountNumber}\r\n
))\r\n }\r\n
\r\n

\r\n You may have already notified us about starting property management\r\n for the above.\r\n

\r\n Please try again or\r\n contact us.\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n))\r\n\r\nconst UnStartauthFailure = memo<{ contactUsUrl: string }>((props) => (\r\n
\r\n

There was a problem

\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n There was an issue with submitting your new management information.\r\n

\r\n Please try again or\r\n contact us.\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n))","import { useStateMachine } from 'little-state-machine'\r\nimport { useEffect } from 'react'\r\nimport { memo } from \"react\"\r\nimport { scrollToTop } from 'utils'\r\nimport { MessageFailSuccess } from '../../../../atoms/MessageFailSuccess'\r\nimport { useLocation } from 'react-router-dom'\r\n\r\nexport const PropertyManagementSuccess = () => {\r\n const {\r\n state: { YourDetailsEmailAddress, isAuth }\r\n } = useStateMachine()\r\n let location = useLocation();\r\n useEffect(() => {\r\n scrollToTop(0, 0)\r\n }, [])\r\n const isEnd = location.pathname === \"/End/Success\"\r\n if (isAuth) {\r\n return isEnd ? : \r\n }\r\n return isEnd ? : \r\n}\r\n\r\ntype EmailProps = { email: string }\r\n\r\nconst AuthSuccess = memo(() => {\r\n return (\r\n
\r\n

Start property management

\r\n \r\n

\r\n Your request has been processed. The properties will be available\r\n in your online account the next time you log in. Properties with a\r\n future start date will show in your online account on the date you\r\n provided.\r\n

\r\n

We've sent you a confirmation email.

\r\n

\r\n To set up tenant billing for any of the properties, please use the{' '}\r\n \r\n manage tenant form\r\n \r\n .\r\n

\r\n
\r\n \r\n
\r\n )\r\n})\r\n\r\nconst NonAuthSuccess = memo(({ email }) => {\r\n return (\r\n
\r\n

Start property management

\r\n \r\n

\r\n Thank you for notifying us about changes to your property\r\n management - your request has been submitted. We'll update our\r\n records within 2 business days.\r\n

\r\n

\r\n We've sent you a confirmation email to{' '}\r\n {email}.\r\n

\r\n
\r\n \r\n
\r\n )\r\n})\r\n\r\n\r\nconst AuthEndSuccess = memo(() => {\r\n return (\r\n
\r\n

End property management

\r\n \r\n

\r\n Your request has been processed. The properties will be removed from your online account the following day. Properties with a future end date will be removed the day after the date you provided.\r\n

\r\n

We've sent you a confirmation email.

\r\n
\r\n \r\n
\r\n )\r\n})\r\n\r\nconst NonAuthEndSuccess = memo(({ email }) => {\r\n return (\r\n
\r\n

End property management

\r\n \r\n

\r\n Thank you for notifying us about changes to your property\r\n management - your request has been submitted. We'll update our\r\n records within 2 business days.\r\n

\r\n

\r\n We've sent you a confirmation email to{' '}\r\n {email}.\r\n

\r\n
\r\n \r\n
\r\n )\r\n})","import { useEffect } from 'react'\r\nimport { PropertyManagementPartialSuccess } from \"./PartialSuccess\";\r\nimport { PropertyManagementProblem } from \"./Problem\";\r\nimport { PropertyManagementSuccess } from \"./Success\";\r\nimport { useQuery } from \"hooks/useQuery\";\r\nimport { useStateMachine } from \"little-state-machine\";\r\nimport { setFormNameGTM } from 'utils/analytics_tools';\r\n\r\ntype CompleteType = 'success' | 'partial' | 'fail' | null\r\n\r\nexport const PropertyManagementComplete = () => {\r\n const { state } = useStateMachine()\r\n const { updateDataLayer } = setFormNameGTM({ name: 'property management form', step: 'complete', records: state?.Properties?.length ?? 1 })\r\n\r\n let query = useQuery()\r\n\r\n let type = query.get(\"type\") as CompleteType\r\n\r\n useEffect(() => {\r\n switch (type) {\r\n case 'fail':\r\n updateDataLayer({\r\n event: 'formError', errors: state?.Properties?.map(\r\n (x) => x?.AccountNumber\r\n ).join()\r\n })\r\n break;\r\n case 'partial':\r\n let partialCount = (state?.Properties?.length ?? 1) - (state?.Failures?.length ?? 1)\r\n updateDataLayer({\r\n event: 'formPartial', errors: state?.Failures?.filter(\r\n ({ ErrorMsg }) => ErrorMsg\r\n ).map((x) => x?.AccountNumber).join(), partialCount\r\n })\r\n\r\n break\r\n case 'success':\r\n updateDataLayer({ event: 'formComplete' })\r\n break\r\n default:\r\n break\r\n }\r\n }, [type]);\r\n\r\n switch (type) {\r\n case 'fail':\r\n return \r\n case 'partial':\r\n return \r\n case 'success':\r\n return \r\n default:\r\n return \r\n }\r\n};\r\n\r\nexport default PropertyManagementComplete;\r\n","import { Fragment, useEffect } from 'react'\r\nimport { useNavigate } from 'react-router-dom'\r\nimport { useStateMachine } from 'little-state-machine'\r\nimport { GreyMsgBox } from 'components/non_residential/atoms/GreyMsgBox'\r\nimport { FormNavigation } from 'components/non_residential/react_hook_forms/FormNavigation'\r\nimport { useFetch } from 'hooks/queryPlus/useFetch'\r\nimport {\r\n scrollToTop\r\n} from 'utils'\r\nimport { updateAction } from 'react_repo/actions'\r\nimport { setFormNameGTM } from 'utils/analytics_tools'\r\n\r\ninterface InterfacePropertyManagementStartConfirm {\r\n handleBack: () => void\r\n}\r\n\r\nexport const PropertyManagementStartConfirm: React.FunctionComponent<\r\n InterfacePropertyManagementStartConfirm\r\n> = ({ handleBack }) => {\r\n const { actions, state } = useStateMachine({ updateAction })\r\n const { fetcher: fetchWorker, data, loading, error } = useFetch()\r\n const { updateDataLayer } = setFormNameGTM({ name: 'property management form', step: 'step3' })\r\n\r\n const handleNext = (event) => {\r\n event.preventDefault()\r\n const body = {\r\n ManagementDetails: state?.ManagementDetails!,\r\n PropertyDetailsAgencyCustomerNumber: state?.PropertyDetailsAgencyCustomerNumber!,\r\n PropertyDetailsAgencyCustomerName: state?.PropertyDetailsAgencyCustomerName!,\r\n PropertyManagementStartForm: state?.PropertyManagementStartForm!,\r\n PropertyManagementChoice: state?.PropertyManagementChoice!,\r\n YourDetailsAgencyCustomerNumber: state?.YourDetailsAgencyCustomerNumber!,\r\n YourDetailsAgencyName: state?.YourDetailsAgencyName!,\r\n YourDetailsEmailAddress: state?.YourDetailsEmailAddress!,\r\n YourDetailsFirstName: state?.YourDetailsFirstName!,\r\n YourDetailsLastName: state?.YourDetailsLastName!\r\n }\r\n fetchWorker({\r\n url: state?.propertyManagementStartApi,\r\n options: {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n mode: 'same-origin',\r\n credentials: 'same-origin',\r\n body: JSON.stringify(body)\r\n }\r\n })\r\n }\r\n\r\n const navigate = useNavigate()\r\n\r\n useEffect(() => {\r\n if (data?.Success) {\r\n actions.updateAction({ PropertyManagementStartForm: data })\r\n navigate('/Start/Success?type=success')\r\n }\r\n if (data?.PartialSuccess) {\r\n actions.updateAction({\r\n Properties: data.Properties.filter(({ ErrorMsg }) => !ErrorMsg),\r\n Failures: data.Properties.filter(({ ErrorMsg }) => ErrorMsg)\r\n })\r\n navigate('/Start/Success?type=partial')\r\n }\r\n if (data?.Failure) {\r\n actions.updateAction({\r\n Properties: data.Properties\r\n })\r\n navigate('/Start/Success?type=fail')\r\n }\r\n }, [data])\r\n\r\n useEffect(() => {\r\n if (error) {\r\n updateDataLayer({ event: 'formError', errors: error?.message ?? \"unknown server error\" })\r\n navigate('/Start/Success?type=fail')\r\n }\r\n }, [error])\r\n\r\n useEffect(() => {\r\n scrollToTop(0, 0)\r\n updateDataLayer({ event: 'formStep', description: 'confirm' })\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n

Start property management

\r\n \r\n
\r\n

Please confirm your details

\r\n

Before you continue, please check and confirm the details below.

\r\n \r\n {state?.PropertyDetailsAgencyCustomerNumber && (\r\n
\r\n
Agency's customer number
\r\n
{state?.PropertyDetailsAgencyCustomerNumber ?? ''}
\r\n
\r\n )}\r\n {state?.PropertyManagementStartForm?.map((x, i) => (\r\n \r\n

Property {i + 1}

\r\n
\r\n {x?.PropertyDetailsAccountNumber && (\r\n <>\r\n
Account number
\r\n
{x?.PropertyDetailsAccountNumber ?? ''}
\r\n \r\n )}\r\n {x?.PropertyDetailsAgencyCustomerNumber && (\r\n <>\r\n
Customer number
\r\n
{x?.PropertyDetailsAgencyCustomerNumber ?? ''}
\r\n \r\n )}\r\n {x?.PropertyDetailsPropertyAddress && (\r\n <>\r\n
Property address
\r\n
\r\n {(x?.PropertyDetailsPropertyAddress ?? '') +\r\n ', ' +\r\n (x?.PropertyDetailsSuburb ?? '')}\r\n
\r\n \r\n )}\r\n {x?.PropertyDetailsManagementStartDate && (\r\n <>\r\n
Management start date
\r\n
\r\n {new Date(\r\n x?.PropertyDetailsManagementStartDate\r\n )?.toLocaleDateString('en-Au') ?? ''}\r\n
\r\n \r\n )}\r\n
\r\n

Bill preferences

\r\n
\r\n {x?.BillType && (\r\n <>\r\n
Bill type
\r\n
{x?.BillType ?? ''}
\r\n \r\n )}\r\n {x?.BillDeliveryMethod && (\r\n <>\r\n
Bill delivery method
\r\n
{x?.BillDeliveryMethod ?? ''}
\r\n \r\n )}\r\n
\r\n\r\n {!state?.isAuth && (\r\n <>\r\n

Owner details

\r\n
\r\n {x?.OwnerDetailsFirstName && (\r\n <>\r\n
Owner's name
\r\n
\r\n {x?.OwnerDetailsFirstName ?? ''}{' '}\r\n {x?.OwnerDetailsLastName ?? ''}\r\n
\r\n \r\n )}\r\n {x?.OwnerDetailsEmail && (\r\n <>\r\n
Email address
\r\n
{x?.OwnerDetailsEmail ?? ''}
\r\n \r\n )}\r\n
\r\n \r\n )}\r\n {x?.BillType === 'Tenant billing & property manager billing' && (\r\n <>\r\n

Tenant details

\r\n
\r\n {x?.TenantDetailsFirstName && (\r\n <>\r\n
Tenant's name
\r\n
\r\n {x?.TenantDetailsFirstName ?? ''}{' '}\r\n {x?.TenantDetailsLastName ?? ''}\r\n
\r\n \r\n )}\r\n {x?.TenantDetailsEmailAddresses && (\r\n <>\r\n
Email address
\r\n
{x?.TenantDetailsEmailAddresses ?? ''}
\r\n \r\n )}\r\n {x?.TenantDetailsBusinessName && (\r\n <>\r\n
Business name
\r\n
{x?.TenantDetailsBusinessName ?? ''}
\r\n \r\n )}\r\n {x?.TenantDetailsPhoneNumber && (\r\n <>\r\n
Phone number
\r\n
{x?.TenantDetailsPhoneNumber ?? ''}
\r\n \r\n )}\r\n {x?.TenantDetailsTenancyStartDate && (\r\n <>\r\n
Tenancy start date
\r\n
\r\n {new Date(\r\n x?.TenantDetailsTenancyStartDate\r\n )?.toLocaleDateString('en-Au') ?? ''}\r\n
\r\n \r\n )}\r\n
\r\n \r\n )}\r\n\r\n {i !== (state?.PropertyManagementStartForm?.length ?? 1) - 1 &&
}\r\n
\r\n ))}\r\n
\r\n {\r\n handleBack()\r\n }}\r\n />\r\n
\r\n \r\n )\r\n}\r\n","export const PropertyManagementChoice = {\r\n name: 'ManagementDetails',\r\n legend: 'Would you like to:',\r\n radios: [\r\n {\r\n value: 'Start property management'\r\n },\r\n {\r\n value: 'End property management'\r\n }\r\n ],\r\n required: true,\r\n registerOptions: {\r\n required:\r\n \"Please select either the 'Start property management' or 'End property management' option.\"\r\n }\r\n}\r\n\r\nexport const BillTypeChoice = {\r\n name: 'BillType',\r\n legend: 'Bill type',\r\n assistiveText:\r\n 'Please select how you want the charges billed and who you want your bills sent to.',\r\n required: true,\r\n registerOptions: {\r\n required: 'Please select a bill type for this property'\r\n },\r\n radios: [\r\n {\r\n value: 'Separate bill',\r\n valueText: 'Separate bill',\r\n subText:\r\n 'Service charges and water use charges will be billed separately and sent to the property manager'\r\n },\r\n {\r\n value: 'Combined bill',\r\n valueText: 'Combined bill',\r\n subText:\r\n 'Water use and service charges will be combined on one bill and sent to the property manager'\r\n },\r\n {\r\n value: 'Water use only',\r\n valueText: 'Water use only',\r\n subText:\r\n \"Water use only bill will be sent to the property manager and we'll continue to send the service charges to the owner\"\r\n }\r\n // {\r\n // value: 'Tenant billing & property manager billing',\r\n // valueText: 'Tenant billing & property manager billing',\r\n // subText: \"We'll send the water use only bill to the tenant and the service charges to the property manager\"\r\n // }\r\n ]\r\n}\r\n\r\nexport const BillDeliveryMethodChoice = {\r\n name: 'BillDeliveryMethod',\r\n legend: 'Bill delivery method',\r\n assistiveText: (\r\n <>\r\n \r\n Choose how you receive your bills. The options listed below apply only\r\n to you, not to the property owner or tenant. Find out more about{' '}\r\n \r\n bill delivery options\r\n \r\n .\r\n \r\n \r\n ),\r\n required: true,\r\n registerOptions: {\r\n required: 'Please select a bill delivery method'\r\n },\r\n radios: [\r\n {\r\n value: 'Bill downloads',\r\n valueText: 'Bill downloads',\r\n subText:\r\n \"We'll send you an email when there's new bills available to download in your online account. If you previously had My Water, this was known as ebill and was the default delivery method.\"\r\n },\r\n // {\r\n // value: 'Bill email',\r\n // valueText: 'Bill email',\r\n // subText: \"We'll email you PDF copies of your bills\"\r\n // },\r\n {\r\n value: 'Post',\r\n valueText: 'Post',\r\n subText: \"We'll send your bills via postal mail\"\r\n },\r\n {\r\n value: 'Bill downloads + post',\r\n valueText: 'Bill downloads & post',\r\n subText:\r\n \"We'll notify you via email that you have bills to download in your online account and post them to you\"\r\n }\r\n ]\r\n}\r\n\r\n//For End management journey\r\nexport const OwnerDetailsIsMovingBackToPropertyOptions = {\r\n name: 'OwnerDetailsIsMovingBackToProperty',\r\n legend: 'Is the owner moving back into the property?',\r\n radios: [\r\n {\r\n value: 'Yes'\r\n },\r\n {\r\n value: 'No'\r\n }\r\n ]\r\n}\r\n","import { useEffect, useState } from 'react'\r\nimport { useStateMachine } from 'little-state-machine'\r\nimport { useNavigate } from 'react-router-dom'\r\nimport { updateAction } from 'react_repo/actions'\r\nimport FormBuilder from 'components/non_residential/react_hook_forms/FormBuilder'\r\nimport { PostcodeRegex } from 'constant'\r\nimport { BillDeliveryMethodChoice, BillTypeChoice } from '../../options/index'\r\n\r\nimport type {\r\n FormBuilderFormDataType,\r\n PropertyManagementStartFormInterface\r\n} from 'interfaces'\r\nimport { scrollToTop } from 'utils'\r\n\r\nexport const PropertyManagementStartStep1 = ({ handleNext }: { handleNext: () => void }) => {\r\n const { actions, state } = useStateMachine({ updateAction })\r\n const [defaultValues] = useState({\r\n PropertyManagementStartForm: state?.PropertyManagementStartForm ?? [\r\n {\r\n PropertyDetailsAccountNumber: '',\r\n PropertyDetailsPropertyAddress: '',\r\n PropertyDetailsSuburb: '',\r\n PropertyDetailsPostcode: '',\r\n PropertyDetailsManagementStartDate: '',\r\n BillType: undefined,\r\n BillDeliveryMethod: state?.isAuth ? 'Bill downloads' : undefined,\r\n OwnerDetailsFirstName: '',\r\n OwnerDetailsLastName: '',\r\n OwnerDetailsEmail: '',\r\n TenantDetailsFirstName: '',\r\n TenantDetailsLastName: '',\r\n TenantDetailsEmailAddresses: '',\r\n TenantDetailsBusinessName: '',\r\n TenantDetailsPhoneNumber: '',\r\n TenantDetailsTenancyStartDate: ''\r\n }\r\n ]\r\n })\r\n const navigate = useNavigate()\r\n const formData: FormBuilderFormDataType[] = state?.isAuth\r\n ? [\r\n {\r\n type: 'fieldArray',\r\n fieldArray: {\r\n name: 'PropertyManagementStartForm',\r\n defaultValues,\r\n minimumInstances: 1,\r\n removeButtonText: 'REMOVE THIS ENTRY',\r\n appendButtonText: 'ADD ANOTHER PROPERTY',\r\n formData: [\r\n {\r\n type: 'jsx',\r\n jsx: \r\n },\r\n {\r\n type: 'accountno',\r\n accountno: {\r\n name: 'PropertyDetailsAccountNumber',\r\n label: 'Account number'\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsPropertyAddress',\r\n label: 'Property address',\r\n type: 'text',\r\n placeholder: '',\r\n registerOptions: {\r\n required: 'Please enter property address'\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsSuburb',\r\n label: 'Suburb',\r\n placeholder: '',\r\n registerOptions: {\r\n required: 'Please enter a suburb'\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsPostcode',\r\n label: 'Postcode',\r\n short: true,\r\n registerOptions: {\r\n required: 'Please enter a postcode',\r\n pattern: {\r\n value: PostcodeRegex,\r\n message: 'Please enter a valid postcode'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n type: 'date',\r\n date: {\r\n name: 'PropertyDetailsManagementStartDate',\r\n label: 'Your management start date',\r\n errorMessage:\r\n 'Please select a start date for the management of this property',\r\n required: true\r\n }\r\n },\r\n {\r\n type: 'jsx',\r\n jsx: \r\n },\r\n {\r\n type: 'radios',\r\n radios: BillTypeChoice\r\n },\r\n {\r\n type: 'radios',\r\n radios: BillDeliveryMethodChoice\r\n }\r\n // {\r\n // type: 'jsx',\r\n // dependency: {\r\n // name: 'BillType',\r\n // value: 'Tenant billing & property manager billing'\r\n // },\r\n // jsx: (\r\n //
\r\n //

Tenant details

\r\n //

Please provide tenant details, we'll post their bill to the property address.

\r\n //
\r\n // )\r\n // },\r\n // {\r\n // type: 'input',\r\n // dependency: {\r\n // name: 'BillType',\r\n // value: 'Tenant billing & property manager billing'\r\n // },\r\n // input: {\r\n // name: 'TenantDetailsFirstName',\r\n // label: \"First name\",\r\n // type: 'text',\r\n // placeholder: '',\r\n // registerOptions: {\r\n // required: \"Please enter tenant's first name\"\r\n // }\r\n // }\r\n // },\r\n // {\r\n // type: 'input',\r\n // dependency: {\r\n // name: 'BillType',\r\n // value: 'Tenant billing & property manager billing'\r\n // },\r\n // input: {\r\n // name: 'TenantDetailsLastName',\r\n // label: \"Last name\",\r\n // type: 'text',\r\n // placeholder: '',\r\n // registerOptions: {\r\n // required: \"Please enter tenant's last name\"\r\n // }\r\n // }\r\n // },\r\n // {\r\n // type: 'input',\r\n // dependency: {\r\n // name: 'BillType',\r\n // value: 'Tenant billing & property manager billing'\r\n // },\r\n // input: {\r\n // name: 'TenantDetailsEmailAddresses',\r\n // label: 'Email address (optional)',\r\n // type: 'email',\r\n // }\r\n // },\r\n // {\r\n // type: 'input',\r\n // dependency: {\r\n // name: 'BillType',\r\n // value: 'Tenant billing & property manager billing'\r\n // },\r\n // input: {\r\n // name: 'TenantDetailsBusinessName',\r\n // label: \"Business name (optional)\",\r\n // type: 'text',\r\n // placeholder: '',\r\n // }\r\n // },\r\n // {\r\n // type: 'input',\r\n // dependency: {\r\n // name: 'BillType',\r\n // value: 'Tenant billing & property manager billing'\r\n // },\r\n // input: {\r\n // name: 'TenantDetailsPhoneNumber',\r\n // label: 'Phone number',\r\n // registerOptions: {\r\n // required: \"Please enter tenant's phone number\"\r\n // }\r\n // }\r\n // },\r\n // {\r\n // type: 'date',\r\n // dependency: {\r\n // name: 'BillType',\r\n // value: 'Tenant billing & property manager billing'\r\n // },\r\n // date: {\r\n // name: 'TenantDetailsTenancyStartDate',\r\n // label: 'Tenancy start date',\r\n // errorMessage: 'Please select a start date for the tenancy',\r\n // required: true\r\n // }\r\n // },\r\n ]\r\n }\r\n },\r\n {\r\n type: 'jsx',\r\n jsx:
\r\n }\r\n ]\r\n : [\r\n {\r\n type: 'fieldArray',\r\n fieldArray: {\r\n name: 'PropertyManagementStartForm',\r\n defaultValues,\r\n minimumInstances: 1,\r\n removeButtonText: 'REMOVE THIS ENTRY',\r\n appendButtonText: 'ADD ANOTHER PROPERTY',\r\n formData: [\r\n {\r\n type: 'jsx',\r\n jsx: \r\n },\r\n {\r\n type: 'accountno',\r\n accountno: {\r\n name: 'PropertyDetailsAccountNumber',\r\n label: 'Account number',\r\n optional: true,\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsPropertyAddress',\r\n label: 'Property address',\r\n type: 'text',\r\n placeholder: '',\r\n registerOptions: {\r\n required: 'Please enter property address'\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsSuburb',\r\n label: 'Suburb',\r\n placeholder: '',\r\n registerOptions: {\r\n required: 'Please enter a suburb'\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsPostcode',\r\n label: 'Postcode',\r\n short: true,\r\n registerOptions: {\r\n required: 'Please enter a postcode',\r\n pattern: {\r\n value: PostcodeRegex,\r\n message: 'Please enter a valid postcode'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n type: 'date',\r\n date: {\r\n name: 'PropertyDetailsManagementStartDate',\r\n label: 'Your management start date',\r\n errorMessage:\r\n 'Please select a start date for the management of this property',\r\n required: true\r\n }\r\n },\r\n {\r\n type: 'jsx',\r\n jsx: \r\n },\r\n {\r\n type: 'radios',\r\n radios: {\r\n name: 'BillType',\r\n legend: 'Bill type',\r\n assistiveText:\r\n 'Please select how you want the charges billed and who you want your bills sent to.',\r\n required: true,\r\n registerOptions: {\r\n required: 'Please select a bill type for this property'\r\n },\r\n radios: [\r\n {\r\n value: 'Separate bill',\r\n valueText: 'Separate bill',\r\n subText:\r\n 'Service charges and water use charges will be billed separately and sent to the property manager'\r\n },\r\n {\r\n value: 'Combined bill',\r\n valueText: 'Combined bill',\r\n subText:\r\n 'Water use and service charges will be combined on one bill and sent to the property manager'\r\n },\r\n {\r\n value: 'Water use only',\r\n valueText: 'Water use only',\r\n subText:\r\n \"Water use only bill will be sent to the property manager and we'll continue to send the service charges to the owner\"\r\n },\r\n {\r\n value: 'Tenant billing & property manager billing',\r\n valueText: 'Tenant billing & property manager billing',\r\n subText:\r\n \"We'll send the water use only bill to the tenant and the service charges to the property manager\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n type: 'radios',\r\n radios: {\r\n name: 'BillDeliveryMethod',\r\n legend: 'Bill delivery method',\r\n assistiveText: (\r\n <>\r\n \r\n Choose how you receive your bills. The options listed\r\n below apply only to you, not to the property owner or\r\n tenant. Find out more about{' '}\r\n \r\n bill delivery options\r\n \r\n .\r\n \r\n \r\n ),\r\n required: true,\r\n registerOptions: {\r\n required: 'Please select a bill delivery method'\r\n },\r\n radios: [\r\n {\r\n value: 'Bill Email',\r\n valueText: 'Bill email',\r\n subText: \"We'll email you PDF copies of your bills\"\r\n },\r\n {\r\n value: 'Post',\r\n valueText: 'Post',\r\n subText: \"We'll send your bills via postal mail\"\r\n }\r\n ]\r\n }\r\n },\r\n\r\n //ToDo: Only show Owner details for logged out form\r\n {\r\n type: 'jsx',\r\n jsx: (\r\n <>\r\n

Owner details

\r\n

Please provide owner's name and email.

\r\n \r\n )\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'OwnerDetailsFirstName',\r\n label: \"Owner's first name\",\r\n type: 'text',\r\n placeholder: '',\r\n registerOptions: {\r\n required: \"Please enter owner's first name\"\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'OwnerDetailsLastName',\r\n label: \"Owner's last name\",\r\n type: 'text',\r\n placeholder: '',\r\n registerOptions: {\r\n required: \"Please enter owner's last name\"\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'OwnerDetailsEmail',\r\n label: 'Email address (optional)',\r\n type: 'email'\r\n }\r\n },\r\n {\r\n type: 'jsx',\r\n dependency: {\r\n name: 'BillType',\r\n value: 'Tenant billing & property manager billing'\r\n },\r\n jsx: ()\r\n },\r\n {\r\n type: 'input',\r\n dependency: {\r\n name: 'BillType',\r\n value: 'Tenant billing & property manager billing'\r\n },\r\n input: {\r\n name: 'TenantDetailsFirstName',\r\n label: 'First name',\r\n type: 'text',\r\n placeholder: '',\r\n registerOptions: {\r\n required: \"Please enter tenant's first name\"\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n dependency: {\r\n name: 'BillType',\r\n value: 'Tenant billing & property manager billing'\r\n },\r\n input: {\r\n name: 'TenantDetailsLastName',\r\n label: 'Last name',\r\n type: 'text',\r\n placeholder: '',\r\n registerOptions: {\r\n required: \"Please enter tenant's last name\"\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n dependency: {\r\n name: 'BillType',\r\n value: 'Tenant billing & property manager billing'\r\n },\r\n input: {\r\n name: 'TenantDetailsEmailAddresses',\r\n label: 'Email address (optional)',\r\n type: 'email'\r\n }\r\n },\r\n {\r\n type: 'input',\r\n dependency: {\r\n name: 'BillType',\r\n value: 'Tenant billing & property manager billing'\r\n },\r\n input: {\r\n name: 'TenantDetailsBusinessName',\r\n label: 'Business name (optional)',\r\n type: 'text',\r\n placeholder: ''\r\n }\r\n },\r\n {\r\n type: 'input',\r\n dependency: {\r\n name: 'BillType',\r\n value: 'Tenant billing & property manager billing'\r\n },\r\n input: {\r\n name: 'TenantDetailsPhoneNumber',\r\n label: 'Phone number',\r\n registerOptions: {\r\n required: \"Please enter tenant's phone number\"\r\n }\r\n }\r\n },\r\n {\r\n type: 'date',\r\n dependency: {\r\n name: 'BillType',\r\n value: 'Tenant billing & property manager billing'\r\n },\r\n date: {\r\n name: 'TenantDetailsTenancyStartDate',\r\n label: 'Tenancy start date',\r\n errorMessage: 'Please select a start date for the tenancy',\r\n required: true\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n type: 'jsx',\r\n jsx:
\r\n }\r\n ]\r\n\r\n const onSubmit = (data: Record | undefined) => {\r\n actions.updateAction(data)\r\n handleNext()\r\n }\r\n\r\n useEffect(() => {\r\n scrollToTop(0, 0)\r\n }, [])\r\n\r\n return (\r\n <>\r\n \r\n \r\n {/* use this page for start property management flow */}\r\n {\r\n navigate('/')\r\n }}\r\n submitText=\"NEXT\"\r\n formName={'property management form'}\r\n formStep={'step2'}\r\n formDesc={'property details'}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nconst PropertyDetailsText = () => {\r\n return (\r\n
\r\n

Property details

\r\n

\r\n Please provide the details for the property you need to\r\n notify us about.\r\n

\r\n
\r\n )\r\n}\r\n\r\n\r\nconst BillingPreferencesText = () => {\r\n return (\r\n
\r\n

Billing preferences

\r\n

\r\n Please select the billing preferences for this property.\r\n

\r\n
\r\n )\r\n}\r\n\r\n\r\nconst StartPropertyManagementIntro = () => {\r\n return (\r\n
\r\n

Start property management

\r\n

\r\n To notify us about starting management, please provide the details\r\n below.

All fields are required unless marked as optional.\r\n

\r\n
\r\n )\r\n}\r\n\r\nconst TenantDetailsText = () => {\r\n return (\r\n
\r\n

Tenant details

\r\n

\r\n Please provide tenant details, we'll post their bill to\r\n the property address.\r\n

\r\n
\r\n )\r\n}\r\n","import { useState } from \"react\";\r\nimport { PropertyManagementStartConfirm } from \"./Confirm\";\r\nimport { PropertyManagementStartStep1 } from \"./Step1\"\r\n\r\ninterface PropertyManagementStartInterface {\r\n\r\n}\r\n\r\nexport const PropertyManagementStart: React.FC = (props) => {\r\n const [step, setStep] = useState<0 | 1>(0)\r\n const handleNext = () => { setStep(1) }\r\n const handleBack = () => { setStep(0) }\r\n if (step === 1) {\r\n return \r\n }\r\n return ;\r\n};\r\n\r\nexport default PropertyManagementStart;\r\n","import { Fragment, useEffect } from 'react'\r\nimport { useNavigate } from 'react-router-dom'\r\nimport { useStateMachine } from 'little-state-machine'\r\nimport { GreyMsgBox } from 'components/non_residential/atoms/GreyMsgBox'\r\nimport { Section762 } from 'components/non_residential/atoms/Section762'\r\nimport { FormNavigation } from 'components/non_residential/react_hook_forms/FormNavigation'\r\nimport { updateAction } from 'react_repo/actions'\r\nimport { useFetch } from 'hooks/queryPlus/useFetch'\r\nimport { scrollToTop } from 'utils'\r\nimport { setFormNameGTM } from 'utils/analytics_tools'\r\n\r\ninterface InterfacePropertyManagementEndConfirm {\r\n handleBack: () => void\r\n}\r\n\r\nexport const PropertyManagementEndConfirm: React.FunctionComponent<\r\n InterfacePropertyManagementEndConfirm\r\n> = ({ handleBack }) => {\r\n const { actions, state } = useStateMachine({ updateAction })\r\n const { fetcher: fetchWorker, data, loading, error } = useFetch()\r\n const { updateDataLayer } = setFormNameGTM({ name: 'property management form', step: 'step3' })\r\n\r\n const handleNext = (event) => {\r\n event.preventDefault()\r\n const body = {\r\n ManagementDetails: state?.ManagementDetails!,\r\n PropertyDetailsAgencyCustomerNumber: state?.PropertyDetailsAgencyCustomerNumber!,\r\n PropertyDetailsAgencyCustomerName: state?.PropertyDetailsAgencyCustomerName!,\r\n PropertyManagementEndForm: state?.PropertyManagementEndForm!,\r\n PropertyManagementChoice: state?.PropertyManagementChoice!,\r\n YourDetailsAgencyCustomerNumber: state?.YourDetailsAgencyCustomerNumber!,\r\n YourDetailsAgencyName: state?.YourDetailsAgencyName!,\r\n YourDetailsEmailAddress: state?.YourDetailsEmailAddress!,\r\n YourDetailsFirstName: state?.YourDetailsFirstName!,\r\n YourDetailsLastName: state?.YourDetailsLastName!\r\n }\r\n fetchWorker({\r\n url: state?.propertyManagementEndApi,\r\n options: {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n mode: 'same-origin',\r\n credentials: 'same-origin',\r\n body: JSON.stringify(body)\r\n }\r\n })\r\n }\r\n\r\n const navigate = useNavigate()\r\n useEffect(() => {\r\n scrollToTop(0, 0)\r\n }, [])\r\n useEffect(() => {\r\n if (data?.Success) {\r\n actions.updateAction({ PropertyManagementEndForm: data })\r\n navigate('/End/Success?type=success')\r\n }\r\n if (data?.PartialSuccess) {\r\n actions.updateAction({\r\n Properties: data.Properties.filter(({ ErrorMsg }) => !ErrorMsg),\r\n Failures: data.Properties.filter(({ ErrorMsg }) => ErrorMsg)\r\n })\r\n navigate('/End/Success?type=partial')\r\n }\r\n if (data?.Failure) {\r\n actions.updateAction({\r\n Properties: data.Properties\r\n })\r\n navigate('/End/Success?type=fail')\r\n }\r\n }, [data])\r\n\r\n useEffect(() => {\r\n if (error) {\r\n updateDataLayer({ event: 'formError', errors: error?.message ?? 'unknown server error' })\r\n navigate('/End/Success?type=fail')\r\n }\r\n }, [error])\r\n\r\n useEffect(() => {\r\n updateDataLayer({ event: 'formStep', description: 'confirm' })\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n
\r\n

End property management

\r\n
\r\n
\r\n

Please confirm your details

\r\n

\r\n Before you continue, please check and confirm the details below.\r\n

\r\n \r\n {state?.PropertyManagementEndForm?.map((x, i) => (\r\n\r\n \r\n

Property {i + 1}

\r\n {/*

Property {i + 1} - Account No: {x?.PropertyDetailsAccountNumber}

*/}\r\n
\r\n {x?.PropertyDetailsAccountNumber && (\r\n <>\r\n
Account number
\r\n
{x?.PropertyDetailsAccountNumber ?? ''}
\r\n \r\n )}\r\n {x?.PropertyDetailsPropertyAddress && (\r\n <>\r\n
Property address
\r\n
{x?.PropertyDetailsPropertyAddress ?? ''}
\r\n \r\n )}\r\n {x?.PropertyDetailsManagementEndDate && (\r\n <>\r\n
Management end date
\r\n
\r\n {typeof x.PropertyDetailsManagementEndDate === 'string'\r\n ? x.PropertyDetailsManagementEndDate //@ts-ignore\r\n : x.PropertyDetailsManagementEndDate?.toLocaleDateString(\r\n 'en-AU'\r\n )}\r\n
\r\n \r\n )}\r\n
\r\n {\r\n //Logged out view\r\n !state?.isAuth && (\r\n <>\r\n
\r\n {x?.PropertyDetailsManagementEndDate && (\r\n <>\r\n
Management end date
\r\n
\r\n {new Date(\r\n x.PropertyDetailsManagementEndDate\r\n ).toLocaleDateString()}\r\n
\r\n \r\n )}\r\n
\r\n

Owner details

\r\n
\r\n {x?.OwnerDetailsFirstName && (\r\n <>\r\n
Owner's name
\r\n
\r\n {x?.OwnerDetailsFirstName ?? ''}{' '}\r\n {x?.OwnerDetailsLastName ?? ''}\r\n
\r\n \r\n )}\r\n {x?.OwnerDetailsEmail && (\r\n <>\r\n
Email address
\r\n
{x?.OwnerDetailsEmail ?? ''}
\r\n \r\n )}\r\n
\r\n \r\n )\r\n }\r\n\r\n {i !== (state?.PropertyManagementEndForm?.length ?? 1) - 1 &&
}\r\n
\r\n ))}\r\n
\r\n \r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default PropertyManagementEndConfirm\r\n","import { useEffect, useState } from 'react'\r\nimport { useStateMachine } from 'little-state-machine'\r\nimport { useNavigate } from 'react-router-dom'\r\nimport { updateAction } from 'react_repo/actions'\r\n\r\nimport FormBuilder from 'components/non_residential/react_hook_forms/FormBuilder'\r\nimport { AccountNumberRegex, PostcodeRegex } from 'constant'\r\nimport {\r\n FormBuilderFormDataType,\r\n PropertyManagementEndFormInterface\r\n} from 'interfaces'\r\nimport { scrollToTop } from 'utils'\r\n\r\nexport const PropertyManagementEndStep1 = ({ handleNext }: { handleNext: () => void }) => {\r\n const { actions, state } = useStateMachine({ updateAction })\r\n const [defaultValues, setDefaultValues] =\r\n useState({\r\n PropertyManagementEndForm: [\r\n {\r\n PropertyDetailsAccountNumber: '',\r\n PropertyDetailsPropertyAddress: '',\r\n PropertyDetailsSuburb: '',\r\n PropertyDetailsPostcode: '',\r\n PropertyDetailsManagementEndDate: '',\r\n OwnerDetailsFirstName: '',\r\n OwnerDetailsLastName: '',\r\n OwnerDetailsEmail: ''\r\n }\r\n ]\r\n })\r\n\r\n const navigate = useNavigate()\r\n const formData: FormBuilderFormDataType[] = [\r\n {\r\n type: 'fieldArray',\r\n fieldArray: {\r\n name: 'PropertyManagementEndForm',\r\n defaultValues,\r\n minimumInstances: 1,\r\n removeButtonText: 'REMOVE THIS ENTRY',\r\n appendButtonText: 'ADD ANOTHER PROPERTY',\r\n\r\n formData: state?.isAuth\r\n ? [\r\n {\r\n type: 'jsx',\r\n jsx: (\r\n <>\r\n

Property details

\r\n

\r\n Please provide the details for the property you need to\r\n notify us about.\r\n

\r\n \r\n )\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsAccountNumber',\r\n label: 'Account number',\r\n type: 'text',\r\n placeholder: '',\r\n short: true,\r\n registerOptions: {\r\n required: 'Please enter an account number',\r\n pattern: {\r\n value: AccountNumberRegex,\r\n message:\r\n 'Please enter a valid account number. The number should be 10 characters long and start with 9.'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsPropertyAddress',\r\n label: 'Property address',\r\n type: 'text',\r\n placeholder: '',\r\n registerOptions: {\r\n required: 'Please enter property address'\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsSuburb',\r\n label: 'Suburb',\r\n placeholder: '',\r\n registerOptions: {\r\n required: 'Please enter a suburb'\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsPostcode',\r\n label: 'Postcode',\r\n short: true,\r\n registerOptions: {\r\n required: 'Please enter a postcode',\r\n pattern: {\r\n value: PostcodeRegex,\r\n message: 'Please enter a valid postcode'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n type: 'date',\r\n date: {\r\n name: 'PropertyDetailsManagementEndDate',\r\n label: 'Your management end date',\r\n errorMessage:\r\n 'Please select an end date for the management of this property',\r\n required: true\r\n }\r\n }\r\n ]\r\n : [\r\n {\r\n type: 'jsx',\r\n jsx: (\r\n <>\r\n

Property details

\r\n

\r\n Please provide the details for the property you need to\r\n notify us about.\r\n

\r\n \r\n )\r\n },\r\n {\r\n type: 'accountno',\r\n accountno: {\r\n name: 'PropertyDetailsAccountNumber',\r\n label: 'Account number',\r\n optional: true,\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsPropertyAddress',\r\n label: 'Property address',\r\n type: 'text',\r\n placeholder: '',\r\n registerOptions: {\r\n required: 'Please enter property address'\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsSuburb',\r\n label: 'Suburb',\r\n placeholder: '',\r\n registerOptions: {\r\n required: 'Please enter a suburb'\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'PropertyDetailsPostcode',\r\n label: 'Postcode',\r\n short: true,\r\n registerOptions: {\r\n required: 'Please enter a postcode',\r\n pattern: {\r\n value: PostcodeRegex,\r\n message: 'Please enter a valid postcode'\r\n }\r\n }\r\n }\r\n },\r\n {\r\n type: 'date',\r\n date: {\r\n name: 'PropertyDetailsManagementEndDate',\r\n label: 'Your management end date',\r\n errorMessage:\r\n 'Please select an end date for the management of this property',\r\n required: true\r\n }\r\n },\r\n {\r\n type: 'jsx',\r\n jsx: (\r\n <>\r\n

Owner details

\r\n

Please provide owner's name and email.

\r\n \r\n )\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'OwnerDetailsFirstName',\r\n label: \"Owner's first name\",\r\n type: 'text',\r\n placeholder: '',\r\n registerOptions: {\r\n required: \"Please enter owner's first name\"\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'OwnerDetailsLastName',\r\n label: \"Owner's last name\",\r\n type: 'text',\r\n placeholder: '',\r\n registerOptions: {\r\n required: \"Please enter owner's last name\"\r\n }\r\n }\r\n },\r\n {\r\n type: 'input',\r\n input: {\r\n name: 'OwnerDetailsEmail',\r\n label: 'Email address (optional)',\r\n type: 'email'\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n type: 'jsx',\r\n jsx:
\r\n }\r\n ]\r\n\r\n const onSubmit = (data: { PropertyManagementEndForm: any }) => {\r\n actions.updateAction({\r\n PropertyManagementEndForm: data.PropertyManagementEndForm\r\n })\r\n handleNext()\r\n }\r\n\r\n useEffect(() => {\r\n state?.PropertyManagementEndForm &&\r\n setDefaultValues({\r\n PropertyManagementEndForm: state?.PropertyManagementEndForm\r\n })\r\n }, [state?.PropertyManagementEndForm])\r\n\r\n useEffect(() => {\r\n scrollToTop(0, 0)\r\n }, [])\r\n\r\n useEffect(() => {\r\n state?.PropertyManagementEndForm &&\r\n setDefaultValues({\r\n ...defaultValues,\r\n PropertyManagementEndForm: state?.PropertyManagementEndForm\r\n })\r\n }, [state?.PropertyManagementEndForm])\r\n\r\n return (\r\n <>\r\n \r\n \r\n {/* use this page for start property management flow */}\r\n {\r\n navigate('/')\r\n }}\r\n backText=\"CANCEL\"\r\n submitText=\"SUBMIT\"\r\n // watchAction={watchAction}\r\n formName={'property management form'}\r\n formStep={'step2'}\r\n formDesc={'end property management form logged out'}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nconst EndIntroText = () => (\r\n
\r\n

End property management

\r\n

\r\n To end a property management, Please enter property details below.\r\n

All fields are required unless marked as optional.\r\n

\r\n
\r\n)\r\n","import {\r\n FormEvent,\r\n forwardRef,\r\n useEffect,\r\n useImperativeHandle,\r\n useMemo,\r\n useRef,\r\n useState\r\n} from 'react'\r\nimport { useNavigate } from 'react-router-dom'\r\nimport DatePicker from 'react-datepicker'\r\n\r\nimport { AgGridReact, AgGridColumn } from '@ag-grid-community/react'\r\nimport { LicenseManager } from '@ag-grid-enterprise/core'\r\nimport { agGridLicense } from 'utils/ag_grid_utils/agGridLicense'\r\n\r\nimport {\r\n alphabeticalGroupSort,\r\n} from 'utils/ag_grid_utils/agGridUtils'\r\nimport { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model'\r\nimport { RowGroupingModule } from '@ag-grid-enterprise/row-grouping'\r\nimport { wcDefaultColDef } from 'utils/ag_grid_utils/agGridConstants'\r\nimport type { GridApi } from '@ag-grid-community/core/dist/cjs/es5/gridApi'\r\nimport { type PropertyManagementEndInterface } from 'interfaces'\r\nimport { ValueGetterParams } from '@ag-grid-community/core'\r\nimport { FormNavigation } from 'components/non_residential/react_hook_forms/FormNavigation'\r\nimport { useStateMachine } from 'little-state-machine'\r\nimport { useFetch } from 'hooks/queryPlus/useFetch'\r\nimport { scrollToTop } from 'utils'\r\nimport TableWrapper from '../../../../molecules/TableWrapper'\r\nimport { updateAction } from 'react_repo/actions'\r\nimport { setFormNameGTM } from 'utils/analytics_tools'\r\n\r\n// Ag-Grid License\r\nLicenseManager.setLicenseKey(agGridLicense)\r\n\r\nconst PropertyManagementEndSelectPropertyTable = ({ handleNext }: { handleNext: () => void }) => {\r\n const [today] = useState(() => new Date())\r\n const { fetcher: fetchWorker, data, loading, error } = useFetch()\r\n const gridApi = useRef()\r\n const gridStyle = useMemo(() => ({ height: '400px', width: '100%' }), [])\r\n const { actions, state } = useStateMachine({ updateAction })\r\n const [rowData, setRowData] = useState>(\r\n []\r\n )\r\n const [selected, setSelected] = useState>([])\r\n const { updateDataLayer } = setFormNameGTM({ name: 'property management form', step: 'step2' })\r\n\r\n const onGridReady = (params) => {\r\n gridApi.current = params.api\r\n }\r\n const onQuickFilterChanged = (event: React.FormEvent) => {\r\n gridApi.current?.setQuickFilter(event?.currentTarget?.value)\r\n }\r\n\r\n const navigate = useNavigate()\r\n\r\n useEffect(() => {\r\n if (error) {\r\n updateDataLayer({ event: 'formError', errors: error?.message })\r\n }\r\n }, [error])\r\n\r\n useEffect(() => {\r\n const customerNumber = state?.PropertyDetailsAgencyCustomerNumber;\r\n const queryString = customerNumber ? state?.getCurrentManagedProperties + `?customerNumber=${encodeURIComponent(customerNumber)}` : state?.getCurrentManagedProperties;\r\n\r\n fetchWorker({ url: queryString, middleware });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (data?.ManagedPropertyDto) {\r\n setRowData(\r\n data.ManagedPropertyDto.map((d) => ({\r\n ...d,\r\n PropertyDetailsManagementEndDate: today\r\n }))\r\n )\r\n }\r\n }, [data])\r\n\r\n useEffect(() => {\r\n scrollToTop(0, 0)\r\n updateDataLayer({ event: 'formStep', description: 'end property management form logged in' })\r\n actions.updateAction({ PropertyManagementEndForm: null })\r\n return () => {\r\n gridApi.current = void 0\r\n }\r\n }, [])\r\n\r\n const handleSubmit = (event: FormEvent) => {\r\n event.preventDefault()\r\n const PropertyManagementEndForm: PropertyManagementEndInterface[] = []\r\n const nodes = gridApi.current?.getSelectedNodes()\r\n nodes?.forEach((params) => {\r\n PropertyManagementEndForm.push({\r\n PropertyDetailsAccountNumber: params?.data?.PropertyDetailsAccountNumber,\r\n PropertyDetailsPropertyAddress: params?.data?.PropertyDetailsPropertyAddress,\r\n PropertyDetailsAgencyCustomerNumber: params?.data?.PropertyDetailsAgencyCustomerNumber,\r\n PropertyDetailsAgencyCustomerName: params?.data?.PropertyDetailsAgencyCustomerName,\r\n PropertyDetailsSuburb: params?.data?.PropertyDetailsSuburb,\r\n PropertyDetailsPostcode: params?.data?.PropertyDetailsSuburb,\r\n PropertyDetailsManagementStartDate: params?.data?.PropertyDetailsManagementStartDate,\r\n PropertyDetailsManagementEndDate: params?.data?.PropertyDetailsManagementEndDate,\r\n OwnerName: params?.data?.OwnerName,\r\n OwnerDetailsEmail: params?.data?.OwnerDetailsEmail\r\n })\r\n })\r\n actions.updateAction({\r\n PropertyManagementEndForm\r\n })\r\n handleNext()\r\n }\r\n\r\n function PropertyDetailsFullPropertyAddress(params: ValueGetterParams) {\r\n return (\r\n params.data.PropertyDetailsPropertyAddress +\r\n ', ' +\r\n params.data.PropertyDetailsSuburb +\r\n ', ' +\r\n params.data.PropertyDetailsPostcode\r\n )\r\n }\r\n\r\n const onSelectionChanged = (event: any) => {\r\n const accNumbers: string[] = []\r\n const nodes = event?.api?.getSelectedNodes()\r\n nodes.forEach((params) => {\r\n accNumbers.push(params?.data?.PropertyDetailsAccountNumber)\r\n })\r\n setSelected(accNumbers)\r\n }\r\n\r\n const editableValueRenderer = (props: any) => {\r\n const displayDate = new Date(props.value).toLocaleDateString('en-AU', {\r\n day: '2-digit',\r\n month: '2-digit',\r\n year: '2-digit'\r\n })\r\n return (\r\n \r\n \r\n \r\n \r\n {displayDate}\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n

End property management

\r\n 0} customerNumber={state?.PropertyDetailsAgencyCustomerNumber} agencyName={state?.PropertyDetailsAgencyName} />\r\n {\r\n ((data && (rowData?.length ?? 0) > 0) || error || loading) && (\r\n \r\n\r\n \r\n <>\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n 0)}\r\n handleBack={() => {\r\n navigate('/')\r\n }}\r\n submitText=\"NEXT\"\r\n />\r\n \r\n )\r\n }\r\n\r\n {\r\n (!loading && !error && data && (rowData?.length ?? 0) === 0) && (\r\n <>\r\n
\r\n {\r\n navigate('/')\r\n }}\r\n data-event-category=\"click\"\r\n data-event-name=\"button_click\"\r\n data-event-label=\"BACK\"\r\n >\r\n BACK\r\n \r\n \r\n )\r\n }\r\n\r\n \r\n )\r\n}\r\n\r\nexport default PropertyManagementEndSelectPropertyTable\r\n\r\nconst CustomDateComponent = forwardRef((props: any, ref) => {\r\n const [today] = useState(new Date())\r\n const [date, setDate] = useState(today)\r\n const refDatePicker = useRef(null)\r\n const [editing, setEditing] = useState(true)\r\n\r\n useEffect(() => {\r\n if (!editing) {\r\n props.api.stopEditing()\r\n }\r\n }, [editing])\r\n\r\n useImperativeHandle(ref, () => {\r\n return {\r\n getValue() {\r\n return date\r\n }\r\n }\r\n })\r\n\r\n const onChange = (selectedDate) => {\r\n setDate(selectedDate)\r\n setEditing(false)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n})\r\n\r\nconst middleware = (d) => {\r\n const ManagedPropertyDto = d?.ManagedPropertyDto.map((property) => {\r\n if (d?.GroupType === 'Custom groupings') {\r\n const currentGroup = d?.CustomGroups?.find((cg) =>\r\n cg?.Properties?.includes(property.PropertyDetailsAccountNumber)\r\n )\r\n return {\r\n ...property,\r\n Group: currentGroup?.GroupName ?? 'Ungrouped',\r\n GroupDescription: currentGroup?.GroupDescription\r\n }\r\n }\r\n if (\r\n d?.GroupType === 'Automatic groupings' &&\r\n d?.AutoGroupPreference === 'Suburb' &&\r\n property?.PropertyDetailsSuburb\r\n ) {\r\n return {\r\n ...property,\r\n Group: property?.PropertyDetailsSuburb\r\n }\r\n }\r\n if (\r\n d?.GroupType === 'Automatic groupings' &&\r\n d?.AutoGroupPreference === 'Owner name' &&\r\n property?.OwnerName\r\n ) {\r\n return {\r\n ...property,\r\n Group: property.OwnerName\r\n }\r\n }\r\n if (\r\n d?.GroupType === 'Automatic groupings' &&\r\n d?.AutoGroupPreference === 'Postcode' &&\r\n property.PropertyDetailsPostcode\r\n ) {\r\n return {\r\n ...property,\r\n Group: property.PropertyDetailsPostcode\r\n }\r\n }\r\n return {\r\n ...property,\r\n Group: 'Ungrouped'\r\n }\r\n })\r\n return { ...d, ManagedPropertyDto }\r\n}\r\n\r\nfunction PropertyText({ isLoading, hasProperties, customerNumber, agencyName }: { isLoading: boolean; hasProperties: boolean; customerNumber: string; agencyName: string }) {\r\n if (isLoading) return null;\r\n if (hasProperties) {\r\n return (\r\n

\r\n We've matched the below properties to the customer number {customerNumber} - {agencyName} you provided. Please select the properties for which you need to end property management. If you are unable to find the properties you are looking for, please return to the previous page and try another customer number.\r\n

\r\n )\r\n }\r\n return (

There are no properties for the customer number {customerNumber} - {agencyName} you provided.
Please return to the previous page and try again.

)\r\n}","import { useState } from \"react\";\r\nimport { PropertyManagementEndConfirm } from \"./Confirm\";\r\nimport { PropertyManagementEndStep1 } from \"./Step1\"\r\nimport PropertyManagementEndSelectPropertyTable from \"./SelectProperty\";\r\nimport { useStateMachine } from \"little-state-machine\";\r\n\r\nexport const PropertyManagementEnd = () => {\r\n const { state: { isAuth } } = useStateMachine()\r\n const [step, setStep] = useState<0 | 1 | 2>(() => isAuth ? 1 : 0)\r\n const handleNext = () => { setStep(2) }\r\n const handleBack = () => { setStep(isAuth ? 1 : 0) }\r\n\r\n if (step === 2) {\r\n return \r\n }\r\n if (step === 1) {\r\n return \r\n }\r\n return ;\r\n};\r\n\r\nexport default PropertyManagementEnd;\r\n","import { useState } from 'react'\r\nimport { memo } from \"react\"\r\nimport FormBuilder from 'components/non_residential/react_hook_forms/FormBuilder'\r\nimport { updateAction } from 'react_repo/actions'\r\nimport { EmailRegex } from 'constant'\r\nimport { useStateMachine } from 'little-state-machine'\r\nimport { useNavigate } from 'react-router-dom'\r\nimport { PropertyManagementChoice } from './options'\r\n\r\nimport type {\r\n PropertyManagementYourDetailsInterface,\r\n FormBuilderFormDataType\r\n} from 'interfaces'\r\nimport { Icon, scrollToTop } from 'utils'\r\nimport { useEffect } from 'react'\r\nimport { LoginBtn } from '../../atoms/LoginBtn'\r\n\r\nconst PropertyManagement = () => {\r\n const { actions, state } = useStateMachine({ updateAction })\r\n\r\n\r\n const [defaultValues] = useState({\r\n YourDetailsFirstName: state?.YourDetailsFirstName ?? '',\r\n YourDetailsLastName: state?.YourDetailsLastName ?? '',\r\n YourDetailsEmailAddress: state?.YourDetailsEmailAddress ?? '',\r\n YourDetailsAgencyName: state?.YourDetailsAgencyName ?? '',\r\n YourDetailsAgencyCustomerNumber: state?.YourDetailsAgencyCustomerNumber ?? '',\r\n ManagementDetails: state?.ManagementDetails ?? undefined\r\n })\r\n const navigate = useNavigate()\r\n const onSubmit = (data) => {\r\n actions.updateAction({\r\n ...data,\r\n PropertyDetailsAgencyCustomerNumber: data?.PropertyDetailsAgencyCustomerNumber?.split('-')[0]?.trim(),\r\n PropertyDetailsAgencyName: data?.PropertyDetailsAgencyCustomerNumber?.split('-')[1]?.trim()\r\n })\r\n navigate(\r\n data.ManagementDetails === 'Start property management' ? '/Start' : '/End'\r\n )\r\n }\r\n\r\n const handleBack = () => {\r\n if (window.history.length === 1) {\r\n window.location.href = \"/Help-and-advice/Property-management\"\r\n } else {\r\n window.history.back()\r\n }\r\n }\r\n\r\n const formData: FormBuilderFormDataType[] = state?.isAuth\r\n ? [\r\n {\r\n type: 'select',\r\n select: {\r\n name: 'PropertyDetailsAgencyCustomerNumber',\r\n label: \"Please select your agency's customer number:\",\r\n short: false,\r\n options: state?.customerNumberAndNameList ?? [],\r\n registerOptions: {\r\n required: \"Please select your agency's customer number\"\r\n }\r\n }\r\n },\r\n {\r\n type: 'jsx',\r\n jsx:

Management details

\r\n },\r\n {\r\n type: 'radios',\r\n radios: PropertyManagementChoice\r\n },\r\n {\r\n type: 'jsx',\r\n jsx:
\r\n }\r\n ]\r\n : [\r\n {\r\n type: 'jsx',\r\n jsx:

Your details

\r\n },\r\n {\r\n type: 'inputs',\r\n inputs: [\r\n {\r\n name: 'YourDetailsFirstName',\r\n label: 'First name',\r\n type: 'text',\r\n registerOptions: {\r\n required: 'Please enter first name'\r\n }\r\n },\r\n {\r\n name: 'YourDetailsLastName',\r\n label: 'Last name',\r\n type: 'text',\r\n registerOptions: {\r\n required: 'Please enter last name'\r\n }\r\n },\r\n {\r\n name: 'YourDetailsEmailAddress',\r\n label: 'Email address',\r\n type: 'email',\r\n registerOptions: {\r\n required: 'Please enter email',\r\n pattern: {\r\n value: EmailRegex,\r\n message: 'Please enter valid email'\r\n }\r\n }\r\n },\r\n {\r\n name: 'YourDetailsAgencyName',\r\n label: 'Agency name',\r\n type: 'text',\r\n registerOptions: {\r\n required: 'Please enter agency name'\r\n }\r\n },\r\n {\r\n name: 'YourDetailsAgencyCustomerNumber',\r\n label: \"Agency's customer number\",\r\n type: 'text',\r\n short: true,\r\n assistiveText:\r\n \"Should be at least 5 digits. Contact us if you don't know your customer number.\",\r\n registerOptions: {\r\n required: \"Please enter your agency's customer number\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n type: 'jsx',\r\n jsx:

Management details

\r\n },\r\n {\r\n type: 'radios',\r\n radios: PropertyManagementChoice\r\n },\r\n {\r\n type: 'jsx',\r\n jsx:
\r\n }\r\n ]\r\n\r\n useEffect(() => {\r\n scrollToTop(0, 0)\r\n actions.updateAction({\r\n PropertyManagementChoice: null,\r\n ManagementDetails: null,\r\n Properties: null,\r\n PropertyManagementStartForm: null,\r\n PropertyManagementEndForm: null,\r\n YourDetailsAgencyCustomerNumber: null,\r\n YourDetailsAgencyName: null,\r\n YourDetailsEmailAddress: null,\r\n YourDetailsFirstName: null,\r\n YourDetailsLastName: null,\r\n hasFailed: null\r\n })\r\n }, [])\r\n\r\n return (\r\n <>\r\n \r\n {!state?.isAuth && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst PropertyMangementIntro = memo(() => (\r\n
\r\n

Start or end management

\r\n

\r\n To notify us about starting or ending property management, please\r\n provide the details below.

All fields are required unless\r\n marked as optional.\r\n

\r\n
\r\n))\r\n\r\ntype LoginLinkType = { loginLink: string }\r\n\r\nconst NotAuthorizedText = memo(({ loginLink }) => (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Save time and log in to your online account to instantly add\r\n your properties, making managing your property portfolio\r\n easier. Don't have an online account?{' '}\r\n \r\n Register here\r\n \r\n .\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n))\r\n\r\nexport default PropertyManagement\r\n","import { useEffect } from 'react'\r\nimport {\r\n createBrowserRouter,\r\n RouterProvider,\r\n} from \"react-router-dom\";\r\nimport { useStateMachine } from 'little-state-machine'\r\nimport { updateAction } from 'react_repo/actions'\r\nimport NoMatch from '../../../components/non_residential/atoms/NoMatch'\r\nimport PropertyManagementComplete from '../../../components/non_residential/templates/PropertyManagement/PropertyManagementComplete';\r\nimport PropertyManagementStart from '../../../components/non_residential/templates/PropertyManagement/PropertyManagementStart';\r\nimport PropertyManagementEnd from '../../../components/non_residential/templates/PropertyManagement/PropertyManagementEnd';\r\nimport PropertyManagement from '../../../components/non_residential/templates/PropertyManagement';\r\n\r\nimport { type PropertyManagementPropsInterface } from 'interfaces'\r\n\r\nexport const PropertyManagementRoutes = (props: PropertyManagementPropsInterface) => {\r\n const { actions } = useStateMachine({ updateAction })\r\n useEffect(() => {\r\n actions.updateAction(props)\r\n }, [props])\r\n\r\n return \r\n },\r\n {\r\n index: true,\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n path: \"End\",\r\n children: [\r\n {\r\n path: \"Success\",\r\n element: \r\n },\r\n {\r\n index: true,\r\n element: \r\n }\r\n ]\r\n },\r\n {\r\n index: true,\r\n element: \r\n },\r\n {\r\n path: \"*\",\r\n element: \r\n }\r\n ],\r\n },\r\n ], { basename: props.basename })} />\r\n}","import { useScrollTo } from 'hooks/useScrollTo'\r\nimport { memo } from 'react'\r\nimport { StateMachineProvider, createStore } from 'little-state-machine'\r\nimport { PropertyManagementRoutes } from './Routes'\r\nimport type {\r\n PropertyManagementPropsInterface,\r\n PropertyManagementStateInterface\r\n} from 'interfaces/propertyManagement'\r\n\r\nexport let ResetPropertyManagementState = {\r\n PropertyManagementStartForm: undefined,\r\n PropertyManagementEndForm: undefined,\r\n hasFailed: false\r\n}\r\n\r\nexport let PropertyManagementStateDefault: Partial =\r\n{\r\n ...ResetPropertyManagementState,\r\n isAuth: false,\r\n loginLink: '/',\r\n customerNumberAndNameList: [],\r\n propertyManagementApi: '',\r\n propertyManagementStartApi: '',\r\n propertyManagementEndApi: '',\r\n getCurrentManagedProperties: ''\r\n}\r\n\r\ncreateStore(PropertyManagementStateDefault, {\r\n name: 'property_management',\r\n persist: 'none',\r\n middleWares: []\r\n})\r\n\r\nexport type PropertyManagementStateType = typeof PropertyManagementStateDefault\r\n\r\nexport const PropertyManagementPage = memo(\r\n (props: PropertyManagementPropsInterface) => {\r\n useScrollTo(0, 0)\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n)\r\n\r\nexport default PropertyManagementPage\r\n","import Skeleton from 'react-loading-skeleton'\r\nimport { classNames } from 'react-select/dist/declarations/src/utils'\r\n\r\n// Skeleton for a message box - default full width\r\nexport const SkeletonMsgBox = ({\r\n width = '100%',\r\n height = '110px'\r\n}: {\r\n width?: string\r\n height?: string\r\n}) => {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\n// Skeleton for a heading h2 - default 320px wide\r\nexport const SkeletonHeading2 = ({\r\n width = '320px',\r\n height = '100%'\r\n}: {\r\n width?: string\r\n height?: string\r\n}) => {\r\n return (\r\n

\r\n \r\n

\r\n )\r\n}\r\n// Skeleton for a heading h3 - default 50% screen width\r\nexport const SkeletonHeading3 = ({\r\n width = '240px',\r\n height = '100%'\r\n}: {\r\n width?: string\r\n height?: string\r\n}) => {\r\n return (\r\n

\r\n \r\n

\r\n )\r\n}\r\n\r\n// Skeleton for a heading h3 - default 50% screen width\r\nexport const SkeletonHeading4 = ({\r\n width = '240px',\r\n height = '100%'\r\n}: {\r\n width?: string\r\n height?: string\r\n}) => {\r\n return (\r\n

\r\n \r\n

\r\n )\r\n}\r\n\r\n// Skeleton for a paragraph - default 75% screen width\r\nexport const SkeletonParagraph = ({\r\n width = '75%',\r\n height = '100%'\r\n}: {\r\n width?: string\r\n height?: string\r\n}) => {\r\n return (\r\n

\r\n \r\n

\r\n )\r\n}\r\n\r\n// Skeleton for a secondary paragraph - default 100% screen width, red fill\r\nexport const SkeletonParagraph2Line = ({\r\n width = '100%',\r\n height = '22px'\r\n}: {\r\n width?: string\r\n height?: string\r\n}) => {\r\n return (\r\n

\r\n \r\n

\r\n )\r\n}\r\n// Skeleton for a secondary paragraph - default 100% screen width, default fill\r\nexport const SkeletonParagraph3Line = ({\r\n width = '100%',\r\n height = '22px'\r\n}: {\r\n width?: string\r\n height?: string\r\n}) => {\r\n return (\r\n

\r\n \r\n

\r\n )\r\n}\r\n// Skeleton for an input field\r\nexport const SkeletonInputField = () => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport const SkeletonInputFieldShort = () => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\n// Skeleton for a fieldset\r\nexport const SkeletonInputFieldSelect = () => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\n// Skeleton for a radio button\r\nexport const SkeletonInputRadio = () => {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\n// Skeleton for a checkbox\r\nexport const SkeletonInputCheckbox = ({\r\n marginClass = 'flex'\r\n}: {\r\n marginClass?: string\r\n}) => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport const SkeletonLinkIconButton = ({\r\n marginClass = 'flex'\r\n}: {\r\n marginClass?: string\r\n}) => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n\r\n// skeleton for a radio button fieldset, with radio buttons as the default\r\nexport const SkeletonFieldsetRadio = ({ count = 2 }: { count?: number }) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n )\r\n}\r\n\r\n// Skeleton for ag-grid table - height 480px\r\nexport const SkeletonAgGridStandardHeight = () => {\r\n return \r\n}\r\n\r\n// Skeleton for navigation buttons\r\nexport const SkeletonNavButtons = () => {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}\r\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t count && i === countCeil - 1) {\n // count is not an integer and we've reached the last iteration of\n // the loop, so add a \"fractional\" skeleton.\n //\n // For example, if count is 3.5, we've already added 3 full\n // skeletons, so now we add one more skeleton that is 0.5 times the\n // original width.\n const width = (_b = thisStyle.width) !== null && _b !== void 0 ? _b : '100%'; // 100% is the default since that's what's in the CSS\n const fractionalPart = count % 1;\n const fractionalWidth = typeof width === 'number'\n ? width * fractionalPart\n : `calc(${width} * ${fractionalPart})`;\n thisStyle = { ...thisStyle, width: fractionalWidth };\n }\n const skeletonSpan = (React.createElement(\"span\", { className: className, style: thisStyle, key: i }, \"\\u200C\"));\n if (inline) {\n elements.push(skeletonSpan);\n }\n else {\n // Without the
, the skeleton lines will all run together if\n // `width` is specified\n elements.push(React.createElement(React.Fragment, { key: i },\n skeletonSpan,\n React.createElement(\"br\", null)));\n }\n }\n return (React.createElement(\"span\", { className: containerClassName, \"data-testid\": containerTestId, \"aria-live\": \"polite\", \"aria-busy\": (_c = styleOptions.enableAnimation) !== null && _c !== void 0 ? _c : defaultEnableAnimation }, Wrapper\n ? elements.map((el, i) => React.createElement(Wrapper, { key: i }, el))\n : elements));\n}\n\nfunction SkeletonTheme({ children, ...styleOptions }) {\n return (React.createElement(SkeletonThemeContext.Provider, { value: styleOptions }, children));\n}\n\nexport { SkeletonTheme, Skeleton as default };\n"],"names":["options","name","middleWares","persist","state","storageType","sessionStorage","window","undefined","updateStore","defaultValues","JSON","parse","getItem","saveStore","setItem","stringify","value","StateMachineContext","React","createContext","StateMachineProvider","children","useState","storeFactory","setState","useEffect","onbeforeunload","removeItem","Provider","createStore","defaultState","useStateMachine","actions","useContext","actionsRef","useRef","Object","entries","reduce","previous","callback","assign","payload","currentValue","currentFunction","skipRender","current","getState","useCallback","createWorkerPromise","Worker2","postMessage","Promise","resolve","reject","worker","e","_a","_b","encodedJs$1","blob$1","Blob","atob","WorkerWrapper$1","objURL","Worker","serializeFunction","f","encodeURI","fnWorker","fn","rawData","updateAction","resetToAction","resetAllAction","updateFlowDetailAction","updateWaterUseDetailAction","resetPeriodIndex","updateDueDateAction","selected","row","updateAllDueDatesAction","_state_selected","max","min","getDueDateRange","LoginBtn","loginLink","MessageFailSuccess","message","fail","msgClass","iconVerticalClass","Icon","MessageWarning","redirectPath","navigate","useNavigate","Section762","Spinner","memo","width","height","hideSearch","errorMessage","SkeletonInputField","Skeleton","isLoading","hasError","rest","TableLoading","initialState","reducer","action","useFetch","resetFn","dispatch","useReducer","controller","AbortController","fetcher","url","middleware","isBlob","signal","fetch","response","_response_headers_get","getBlob","Error","resData","data","d","error","_controller_current","useQuery","URLSearchParams","useLocation","useScrollTo","x","y","scrollToTop","PropertyManagementPartialSuccess","PartialSuccessContent","props","_props_properties","_props_failures","property","PropertyManagementProblem","_state_ddContent","_state_ddContent1","StartAuthFailure","UnStartauthFailure","PropertyManagementSuccess","YourDetailsEmailAddress","isAuth","location","isEnd","AuthEndSuccess","AuthSuccess","NonAuthEndSuccess","NonAuthSuccess","email","_state_Properties","updateDataLayer","setFormNameGTM","type","query","_state_Properties1","_state_Failures","_state_Failures1","partialCount","ErrorMsg","PropertyManagementStartConfirm","_state_PropertyManagementStartForm","handleBack","fetchWorker","loading","event","body","GreyMsgBox","i","Fragment","_this","Date","_this1","FormNavigation","PropertyManagementChoice","BillTypeChoice","BillDeliveryMethodChoice","PropertyManagementStartStep1","handleNext","formData","PropertyDetailsText","PostcodeRegex","BillingPreferencesText","TenantDetailsText","StartPropertyManagementIntro","FormBuilder","step","setStep","PropertyManagementEndConfirm","_state_PropertyManagementEndForm","_x_PropertyDetailsManagementEndDate","PropertyManagementEndStep1","setDefaultValues","AccountNumberRegex","EndIntroText","LicenseManager","agGridLicense","today","gridApi","gridStyle","useMemo","rowData","setRowData","setSelected","customerNumber","encodeURIComponent","editableValueRenderer","displayDate","PropertyText","_gridApi_current","PropertyManagementEndForm","nodes","params","_params_data","_params_data1","_params_data2","_params_data3","_params_data4","_params_data5","_params_data6","_params_data7","_params_data8","_params_data9","TableWrapper","_event_currentTarget","AgGridReact","ClientSideRowModelModule","RowGroupingModule","_event_api","accNumbers","wcDefaultColDef","alphabeticalGroupSort","document","CustomDateComponent","AgGridColumn","forwardRef","ref","date","setDate","refDatePicker","editing","setEditing","useImperativeHandle","DatePicker","selectedDate","ManagedPropertyDto","_d_CustomGroups","currentGroup","cg","_cg_Properties","param","hasProperties","agencyName","PropertyManagementEndSelectPropertyTable","PropertyMangementIntro","NotAuthorizedText","EmailRegex","_data_PropertyDetailsAgencyCustomerNumber_split_","_data_PropertyDetailsAgencyCustomerNumber_split_1","PropertyManagementRoutes","RouterProvider","createBrowserRouter","PropertyManagementComplete","PropertyManagementStart","PropertyManagementEnd","PropertyManagement","NoMatch","ResetPropertyManagementState","PropertyManagementStateDefault","PropertyManagementPage","SkeletonMsgBox","SkeletonHeading2","SkeletonHeading3","SkeletonParagraph","SkeletonInputFieldShort","SkeletonInputRadio","SkeletonInputCheckbox","marginClass","SkeletonLinkIconButton","SkeletonAgGridStandardHeight","SkeletonNavButtons","clsx","t","n","o","arguments","r","Array","SkeletonThemeContext","_c","count","Wrapper","customClassName","containerClassName","containerTestId","circle","styleProp","originalPropsStyleOptions","contextStyleOptions","propsStyleOptions","key","styleOptions","style","styleOptionsToCssProperties","baseColor","highlightColor","borderRadius","direction","duration","enableAnimation","customHighlightBackground","className","inline","elements","countCeil","Math","thisStyle","fractionalPart","fractionalWidth","skeletonSpan","el","SkeletonTheme"],"mappings":"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CACC,CACA,CACE,KAAM,aACN,WAAY,CACV,KAAM,8BACNpL,cAAAA,EACA,iBAAkB,EAClB,iBAAkB,oBAClB,iBAAkB,uBAClB,SAAU,CACR,CACE,KAAM,MACN,IAAK,UAACwL,EAAAA,CAAAA,EACR,EACA,CACE,KAAM,YACN,UAAW,CACT,KAAM,+BACN,MAAO,iBACP,SAAU,EACZ,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,iCACN,MAAO,mBACP,KAAM,OACN,YAAa,GACb,gBAAiB,CACf,SAAU,+BACZ,CACF,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,wBACN,MAAO,SACP,YAAa,GACb,gBAAiB,CACf,SAAU,uBACZ,CACF,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,0BACN,MAAO,WACP,MAAO,GACP,gBAAiB,CACf,SAAU,0BACV,QAAS,CACP,MAAOC,EAAAA,EAAaA,CACpB,QAAS,+BACX,CACF,CACF,CACF,EACA,CACE,KAAM,OACN,KAAM,CACJ,KAAM,qCACN,MAAO,6BACP,aACE,iEACF,SAAU,EACZ,CACF,EACA,CACE,KAAM,MACN,IAAK,UAACC,EAAAA,CAAAA,EACR,EACA,CACE,KAAM,SACN,OAAQ,CACN,KAAM,WACN,OAAQ,YACR,cACE,qFACF,SAAU,GACV,gBAAiB,CACf,SAAU,6CACZ,EACA,OAAQ,CACN,CACE,MAAO,gBACP,UAAW,gBACX,QACE,kGACJ,EACA,CACE,MAAO,gBACP,UAAW,gBACX,QACE,6FACJ,EACA,CACE,MAAO,iBACP,UAAW,iBACX,QACE,sHACJ,EACA,CACE,MAAO,4CACP,UAAW,4CACX,QACE,kGACJ,EACD,AACH,CACF,EACA,CACE,KAAM,SACN,OAAQ,CACN,KAAM,qBACN,OAAQ,uBACR,cACE,sB,SACE,WAAC,Q,UAAK,0IAGwB,IAC5B,UAAC,KACC,UAAU,OACV,KACE,4DAEF,OAAO,SACP,IAAI,sB,SACL,uB,GAEG,I,KAKV,SAAU,GACV,gBAAiB,CACf,SAAU,sCACZ,EACA,OAAQ,CACN,CACE,MAAO,aACP,UAAW,aACX,QAAS,0CACX,EACA,CACE,MAAO,OACP,UAAW,OACX,QAAS,uCACX,EACD,AACH,CACF,EAGA,CACE,KAAM,MACN,IACE,uB,UACE,UAAC,M,SAAG,e,GACJ,UAAC,K,SAAE,wC,KAGT,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,wBACN,MAAO,qBACP,KAAM,OACN,YAAa,GACb,gBAAiB,CACf,SAAU,iCACZ,CACF,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,uBACN,MAAO,oBACP,KAAM,OACN,YAAa,GACb,gBAAiB,CACf,SAAU,gCACZ,CACF,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,oBACN,MAAO,2BACP,KAAM,OACR,CACF,EACA,CACE,KAAM,MACN,WAAY,CACV,KAAM,WACN,MAAO,2CACT,EACA,IAAM,UAACC,EAAAA,CAAAA,EACT,EACA,CACE,KAAM,QACN,WAAY,CACV,KAAM,WACN,MAAO,2CACT,EACA,MAAO,CACL,KAAM,yBACN,MAAO,aACP,KAAM,OACN,YAAa,GACb,gBAAiB,CACf,SAAU,kCACZ,CACF,CACF,EACA,CACE,KAAM,QACN,WAAY,CACV,KAAM,WACN,MAAO,2CACT,EACA,MAAO,CACL,KAAM,wBACN,MAAO,YACP,KAAM,OACN,YAAa,GACb,gBAAiB,CACf,SAAU,iCACZ,CACF,CACF,EACA,CACE,KAAM,QACN,WAAY,CACV,KAAM,WACN,MAAO,2CACT,EACA,MAAO,CACL,KAAM,8BACN,MAAO,2BACP,KAAM,OACR,CACF,EACA,CACE,KAAM,QACN,WAAY,CACV,KAAM,WACN,MAAO,2CACT,EACA,MAAO,CACL,KAAM,4BACN,MAAO,2BACP,KAAM,OACN,YAAa,EACf,CACF,EACA,CACE,KAAM,QACN,WAAY,CACV,KAAM,WACN,MAAO,2CACT,EACA,MAAO,CACL,KAAM,2BACN,MAAO,eACP,gBAAiB,CACf,SAAU,oCACZ,CACF,CACF,EACA,CACE,KAAM,OACN,WAAY,CACV,KAAM,WACN,MAAO,2CACT,EACA,KAAM,CACJ,KAAM,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AAO2M,EAAAA,EAAkBA,CACzB,QACE,gGACJ,CACF,CACF,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,iCACN,MAAO,mBACP,KAAM,OACN,YAAa,GACb,gBAAiB,CACf,SAAU,+BACZ,CACF,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,wBACN,MAAO,SACP,YAAa,GACb,gBAAiB,CACf,SAAU,uBACZ,CACF,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,0BACN,MAAO,WACP,MAAO,GACP,gBAAiB,CACf,SAAU,0BACV,QAAS,CACP,MAAOZ,EAAAA,EAAaA,CACpB,QAAS,+BACX,CACF,CACF,CACF,EACA,CACE,KAAM,OACN,KAAM,CACJ,KAAM,mCACN,MAAO,2BACP,aACE,gEACF,SAAU,EACZ,CACF,EACD,CACC,CACA,CACE,KAAM,MACN,IACE,uB,UACE,UAAC,MAAG,GAAG,mB,SAAmB,kB,GAC1B,UAAC,K,SAAE,0E,KAMT,EACA,CACE,KAAM,YACN,UAAW,CACT,KAAM,+BACN,MAAO,iBACP,SAAU,EACZ,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,iCACN,MAAO,mBACP,KAAM,OACN,YAAa,GACb,gBAAiB,CACf,SAAU,+BACZ,CACF,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,wBACN,MAAO,SACP,YAAa,GACb,gBAAiB,CACf,SAAU,uBACZ,CACF,CACF,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,0BACN,MAAO,WACP,MAAO,GACP,gBAAiB,CACf,SAAU,0BACV,QAAS,CACP,MAAOA,EAAAA,EAAaA,CACpB,QAAS,+BACX,CACF,CACF,CACF,EACA,CACE,KAAM,OACN,KAAM,CACJ,KAAM,mCACN,MAAO,2BACP,aACE,gEACF,SAAU,EACZ,CACF,EACA,CACE,KAAM,MACN,IACE,uB,UACE,UAAC,M,SAAG,e,GACJ,UAAC,K,SAAE,wC,KAGT,EACA,CACE,KAAM,QACN,MAAO,CACL,KAAM,wBACN,MAAO,qBACP,KAAM,OACN,YAAa,GACb,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"}