@zengenti/contensis-react-base 3.0.0-beta.64 → 3.0.0-beta.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/forms.js +269 -4107
- package/cjs/forms.js.map +1 -1
- package/esm/forms.js +273 -4109
- package/esm/forms.js.map +1 -1
- package/models/forms/index.d.ts +2 -2
- package/package-lock.json +5 -1038
- package/package.json +2 -1
package/esm/forms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.js","sources":["../node_modules/zengenti-forms-package/zengenti-forms-package.esm.js"],"sourcesContent":["import { produce } from 'immer';\nimport { takeEvery, takeLatest, put, call, select, all } from '@redux-saga/core/effects';\nimport { createSelector } from 'reselect';\nimport { jpath } from 'jsonpath-mapper';\nimport queryString__default from 'query-string';\nimport 'redux';\nimport 'redux-thunk';\nimport 'redux-saga';\nimport 'redux-injectors';\nimport merge from 'deepmerge';\nimport React, { createContext, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport styled, { css, ThemeProvider as ThemeProvider$2 } from 'styled-components';\n\nconst ACTION_PREFIX$5 = '@FORM2/';\nconst SET_FORM_DATA$1 = `${ACTION_PREFIX$5}SET_FORM_DATA`;\nconst SET_FORM_ID$1 = `${ACTION_PREFIX$5}SET_FORM_ID`;\nconst SET_CURRENT_PAGE$1 = `${ACTION_PREFIX$5}SET_CURRENT_PAGE`;\nconst PAGE_BACK$1 = `${ACTION_PREFIX$5}PAGE_BACK`;\nconst PAGE_FORWARD$1 = `${ACTION_PREFIX$5}PAGE_FORWARD`;\nconst SET_FIELD_VALUE$1 = `${ACTION_PREFIX$5}SET_FIELD_VALUE`;\nconst SET_DEFAULT_FIELD_VALUE$1 = `${ACTION_PREFIX$5}SET_DEFAULT_FIELD_VALUE`;\nconst SUBMIT_FORM_FOR_VALIDATION$1 = `${ACTION_PREFIX$5}SUBMIT_FORM_FOR_VALIDATION`;\nconst SUBMIT_FORM$1 = `${ACTION_PREFIX$5}SUBMIT_FORM`;\nconst SUBMIT_FORM_SUCCESS$1 = `${ACTION_PREFIX$5}SUBMIT_FORM_SUCCESS`;\nconst SUBMIT_FORM_ERROR$1 = `${ACTION_PREFIX$5}SUBMIT_FORM_ERROR`;\nconst SET_SUBMITTING_FORM$1 = `${ACTION_PREFIX$5}SET_SUBMITTING_FORM`;\nconst SET_ERROR$1 = `${ACTION_PREFIX$5}SET_ERROR`;\nconst VALIDATE_FIELD$1 = `${ACTION_PREFIX$5}VALIDATE_FIELD`;\nconst SET_FIELD_ERROR$1 = `${ACTION_PREFIX$5}SET_FIELD_ERROR`;\nconst SET_DATE_RANGE_VALUES$1 = `${ACTION_PREFIX$5}SET_DATE_RANGE_VALUES`;\nconst SET_FORM_ENTRIES$1 = `${ACTION_PREFIX$5}SET_FORM_ENTRIES`;\nconst SET_SUCCESS_MESSAGE$1 = `${ACTION_PREFIX$5}SET_SUCCESS_MESSAGE`;\nconst SET_CHECKBOX_VALUE$1 = `${ACTION_PREFIX$5}SET_CHECKBOX_VALUE`;\n\nconst MakeFieldType$1 = field => {\n if (!field) return null;\n\n if (field.dataType === 'string' && field.editor && field.editor.id === 'multiline') {\n return 'textarea';\n } else if (field.dataType === 'string' && field.editor && field.editor.id === 'list-dropdown') {\n return 'dropdown';\n } else if (field.editor && field.editor.properties && field.editor.properties.readOnly || field.groupId && field.groupId === 'private') {\n return 'hidden';\n } else if (field.dataType === 'stringArray' || field.dataType === 'boolean') {\n return 'checkbox';\n } else if (field.dataType === 'string' && field.validations && field.validations.allowedValues) {\n return 'radio';\n } else if (field.dataType === 'integer') {\n return 'number';\n } else if (field.dataType === 'dateTime') {\n return 'date';\n } else if (field.dataFormat === 'daterange') {\n return 'dateRange';\n } else if (field.dataFormat === 'entry') {\n return 'entryPicker';\n } else {\n return 'textfield';\n }\n};\n\nconst initialSettings$1 = {\n recaptcha: {\n siteKey: null\n }\n};\nconst initialStatus$1 = {\n isLoading: false,\n isSubmitting: false,\n hasSuccess: false,\n successMessage: null,\n hasError: false\n};\nconst initialPagingInfo$1 = {\n pageIndex: 0,\n pageCount: 0,\n currentPageId: null\n};\nconst initialFormData$1 = {\n formId: null,\n data: {},\n fields: [],\n entries: [],\n fieldErrors: [],\n groups: [],\n defaultLanguage: null,\n pagingInfo: initialPagingInfo$1,\n status: initialStatus$1\n};\nlet initialState$5 = {\n settings: initialSettings$1\n};\nvar reducer$1 = produce((state, action) => {\n switch (action.type) {\n case SET_FORM_ID$1:\n {\n const {\n formId\n } = action || {};\n state[formId] = initialFormData$1;\n return;\n }\n\n case SET_FORM_DATA$1:\n {\n const {\n fields,\n formId,\n groups,\n defaultLanguage\n } = action || {};\n fields.map(field => {\n field.type = MakeFieldType$1(field);\n });\n state[formId].fields = fields;\n state[formId].formId = formId;\n state[formId].groups = groups;\n state[formId].defaultLanguage = defaultLanguage;\n state[formId].status.isSubmitting = false;\n state[formId].status.hasSuccess = false;\n state[formId].status.hasError = false;\n return;\n }\n\n case SET_CURRENT_PAGE$1:\n {\n const {\n formId,\n pageId,\n pageIndex,\n pageCount\n } = action || {};\n state[formId].pagingInfo.currentPageId = pageId;\n state[formId].pagingInfo.pageIndex = pageIndex;\n state[formId].pagingInfo.pageCount = pageCount;\n return;\n }\n\n case SET_FIELD_VALUE$1:\n {\n const {\n formId,\n id,\n value\n } = action || {};\n state[formId].data[id] = value;\n return;\n }\n\n case SET_DEFAULT_FIELD_VALUE$1:\n {\n const {\n formId,\n value\n } = action || {};\n state[formId].data = value;\n return;\n }\n\n case SET_CHECKBOX_VALUE$1:\n {\n const {\n formId,\n id,\n value,\n isChecked\n } = action || {};\n let values = state[formId].data[id] || [];\n if (isChecked) state[formId].data[id] = { ...values,\n value\n };else state[formId].data[id] = values.filter(v => v !== value);\n return;\n }\n\n case SET_DATE_RANGE_VALUES$1:\n {\n const {\n formId,\n id,\n value,\n dateType\n } = action || {};\n state[formId].data[id][dateType] = value;\n return;\n }\n\n case SET_FIELD_ERROR$1:\n {\n const {\n formId,\n value\n } = action || {};\n state[formId].fieldErrors = value;\n return;\n }\n\n case SET_SUBMITTING_FORM$1:\n {\n const {\n formId,\n isSubmitting\n } = action || {};\n state[formId].status.isSubmitting = isSubmitting;\n return;\n }\n\n case SUBMIT_FORM_SUCCESS$1:\n {\n const {\n formId\n } = action || {};\n state[formId].status.hasError = false;\n state[formId].status.isSubmitting = false;\n state[formId].status.hasSuccess = true;\n return;\n }\n\n case SET_SUCCESS_MESSAGE$1:\n {\n const {\n formId,\n message\n } = action || {};\n state[formId].status.successMessage = message;\n return;\n }\n\n case SUBMIT_FORM_ERROR$1:\n {\n const {\n formId\n } = action || {};\n state[formId].status.hasError = true;\n state[formId].status.isSubmitting = false;\n return;\n }\n\n case SET_FORM_ENTRIES$1:\n {\n const {\n formId,\n entries\n } = action || {};\n const entryObject = {};\n entries.map(entry => {\n if (!entry) return null;\n entryObject[entry.id] = entry.entries;\n return entryObject;\n });\n state[formId].entries = entryObject;\n return;\n }\n\n case SET_ERROR$1:\n {\n const {\n formId\n } = action || {};\n state[formId].status.hasError = true;\n state[formId].status.isSubmitting = false;\n return;\n }\n\n default:\n return state;\n }\n}, initialState$5);\n\nconst action$3 = (type, payload = {}) => ({\n type,\n ...payload\n});\nconst getImmutableOrJS$1 = (state, stateKey, fallbackValue, returnType = globalThis.STATE_TYPE) => {\n var _globalThis$immutable, _globalThis$immutable2;\n\n // Find a fromJS function from global that is dynamically loaded in createStore\n // or replace with a stub function for non-immutable gets\n const fromJS = returnType === 'immutable' ? ((_globalThis$immutable = globalThis.immutable) === null || _globalThis$immutable === void 0 ? void 0 : _globalThis$immutable.fromJSOrdered) || ((_globalThis$immutable2 = globalThis.immutable) === null || _globalThis$immutable2 === void 0 ? void 0 : _globalThis$immutable2.fromJS) : v => v;\n\n if (state && 'get' in state && typeof state.get === 'function' && 'getIn' in state && typeof state.getIn === 'function' && 'toJS' in state && typeof state.toJS === 'function') {\n if (Array.isArray(stateKey)) return fromJS(state.getIn(stateKey, fallbackValue));\n return fromJS(state.get(stateKey, fallbackValue));\n }\n\n if (Array.isArray(stateKey) && state && typeof state === 'object') {\n const result = jpath(stateKey.join('.'), state);\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n }\n\n const result = state && typeof state === 'object' ? state[stateKey] : undefined;\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n};\n\nfunction queryParams$1(search) {\n return queryString__default.parse(typeof window != 'undefined' ? window.location.search : search);\n}\n\nconst selectRouteEntry$3 = (state, returnType) => getImmutableOrJS$1(state, ['routing', 'entry'], {}, returnType);\nconst selectMappedEntry$1 = (state, returnType) => getImmutableOrJS$1(state, ['routing', 'mappedEntry'], null, returnType);\nconst selectSurrogateKeys$1 = state => {\n const keys = getImmutableOrJS$1(state, ['routing', 'surrogateKeys'], [], 'js');\n return keys.join(' ');\n};\nconst selectCurrentHostname$1 = state => getImmutableOrJS$1(state, ['routing', 'currentHostname']);\nconst selectCurrentTreeID$1 = state => getImmutableOrJS$1(state, ['routing', 'currentHostname']);\nconst selectRouteEntryEntryId$3 = state => getImmutableOrJS$1(state, ['routing', 'entry', 'sys', 'id'], null);\nconst selectRouteEntryContentTypeId$3 = state => {\n const entry = selectRouteEntry$3(state);\n return getImmutableOrJS$1(entry, ['sys', 'contentTypeId'], null);\n};\nconst selectRouteEntryLanguage$1 = state => {\n const entry = selectRouteEntry$3(state);\n return getImmutableOrJS$1(entry, ['sys', 'language'], null);\n};\nconst selectRouteEntrySlug$3 = state => {\n const entry = selectRouteEntry$3(state);\n return getImmutableOrJS$1(entry, ['sys', 'slug'], null);\n};\nconst selectRouteEntryID$3 = state => getImmutableOrJS$1(state, ['routing', 'entryID']);\nconst selectCurrentPath$3 = state => getImmutableOrJS$1(state, ['routing', 'currentPath']);\nconst selectCurrentLocation$1 = state => getImmutableOrJS$1(state, ['routing', 'location']);\nconst selectCurrentSearch$3 = state => getImmutableOrJS$1(state, ['routing', 'location', 'search']);\nconst selectCurrentHash$1 = state => getImmutableOrJS$1(state, ['routing', 'location', 'hash']);\nconst selectQueryStringAsObject$3 = state => queryParams$1(selectCurrentSearch$3(state));\nconst selectCurrentProject$3 = state => getImmutableOrJS$1(state, ['routing', 'currentProject']);\nconst selectIsNotFound$3 = state => getImmutableOrJS$1(state, ['routing', 'notFound']);\nconst selectCurrentAncestors$3 = state => getImmutableOrJS$1(state, ['routing', 'currentNodeAncestors'], []);\nconst selectCurrentSiblings$1 = state => getImmutableOrJS$1(state, ['routing', 'currentNodeSiblings'], []);\nconst selectCurrentNode$1 = (state, returnType) => getImmutableOrJS$1(state, ['routing', 'currentNode'], null, returnType);\nconst selectCurrentChildren$1 = state => getImmutableOrJS$1(state, ['routing', 'currentNode', 'children'], []);\nconst selectBreadcrumb$1 = state => {\n return selectCurrentAncestors$3(state).push(selectCurrentNode$1(state));\n};\nconst selectRouteErrorMessage$1 = state => {\n const error = getImmutableOrJS$1(state, ['routing', 'error']);\n return getImmutableOrJS$1(error, ['data', 'message'], getImmutableOrJS$1(error, 'statusText'));\n};\nconst selectRouteIsError$1 = state => getImmutableOrJS$1(state, ['routing', 'isError']);\nconst selectRouteLoading$3 = state => getImmutableOrJS$1(state, ['routing', 'isLoading']);\nconst selectRouteStatusCode$1 = state => getImmutableOrJS$1(state, ['routing', 'statusCode']);\nconst selectStaticRoute$1 = state => getImmutableOrJS$1(state, ['routing', 'staticRoute']);\n\nvar routing$6 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n selectRouteEntry: selectRouteEntry$3,\n selectMappedEntry: selectMappedEntry$1,\n selectSurrogateKeys: selectSurrogateKeys$1,\n selectCurrentHostname: selectCurrentHostname$1,\n selectCurrentTreeID: selectCurrentTreeID$1,\n selectRouteEntryEntryId: selectRouteEntryEntryId$3,\n selectRouteEntryContentTypeId: selectRouteEntryContentTypeId$3,\n selectRouteEntryLanguage: selectRouteEntryLanguage$1,\n selectRouteEntrySlug: selectRouteEntrySlug$3,\n selectRouteEntryID: selectRouteEntryID$3,\n selectCurrentPath: selectCurrentPath$3,\n selectCurrentLocation: selectCurrentLocation$1,\n selectCurrentSearch: selectCurrentSearch$3,\n selectCurrentHash: selectCurrentHash$1,\n selectQueryStringAsObject: selectQueryStringAsObject$3,\n selectCurrentProject: selectCurrentProject$3,\n selectIsNotFound: selectIsNotFound$3,\n selectCurrentAncestors: selectCurrentAncestors$3,\n selectCurrentSiblings: selectCurrentSiblings$1,\n selectCurrentNode: selectCurrentNode$1,\n selectCurrentChildren: selectCurrentChildren$1,\n selectBreadcrumb: selectBreadcrumb$1,\n selectRouteErrorMessage: selectRouteErrorMessage$1,\n selectRouteIsError: selectRouteIsError$1,\n selectRouteLoading: selectRouteLoading$3,\n selectRouteStatusCode: selectRouteStatusCode$1,\n selectStaticRoute: selectStaticRoute$1\n});\n\nconst ROUTING_PREFIX$1 = '@ROUTING/';\nconst GET_ENTRY$1 = `${ROUTING_PREFIX$1}_GET_ENTRY`;\nconst SET_ENTRY$1 = `${ROUTING_PREFIX$1}_SET_ENTRY`;\nconst SET_NODE$1 = `${ROUTING_PREFIX$1}_SET_NODE`;\nconst SET_ANCESTORS$1 = `${ROUTING_PREFIX$1}_SET_ANCESTORS`;\nconst SET_SIBLINGS$1 = `${ROUTING_PREFIX$1}_SET_SIBLINGS`;\nconst SET_ENTRY_ID$1 = `${ROUTING_PREFIX$1}_SET_ENTRY_ID`;\nconst SET_SURROGATE_KEYS$1 = `${ROUTING_PREFIX$1}_SET_SURROGATE_KEYS`;\nconst SET_NAVIGATION_NOT_FOUND$1 = `${ROUTING_PREFIX$1}_SET_NOT_FOUND`;\nconst SET_NAVIGATION_PATH$1 = `${ROUTING_PREFIX$1}_SET_NAVIGATION_PATH`;\nconst SET_TARGET_PROJECT$1 = `${ROUTING_PREFIX$1}_SET_TARGET_PROJECT`;\nconst SET_ROUTE$1 = `${ROUTING_PREFIX$1}_SET_ROUTE`;\nconst UPDATE_LOADING_STATE$1 = `${ROUTING_PREFIX$1}_UPDATE_LOADING_STATE`;\n\nvar routing$1$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n GET_ENTRY: GET_ENTRY$1,\n SET_ENTRY: SET_ENTRY$1,\n SET_NODE: SET_NODE$1,\n SET_ANCESTORS: SET_ANCESTORS$1,\n SET_SIBLINGS: SET_SIBLINGS$1,\n SET_ENTRY_ID: SET_ENTRY_ID$1,\n SET_SURROGATE_KEYS: SET_SURROGATE_KEYS$1,\n SET_NAVIGATION_NOT_FOUND: SET_NAVIGATION_NOT_FOUND$1,\n SET_NAVIGATION_PATH: SET_NAVIGATION_PATH$1,\n SET_TARGET_PROJECT: SET_TARGET_PROJECT$1,\n SET_ROUTE: SET_ROUTE$1,\n UPDATE_LOADING_STATE: UPDATE_LOADING_STATE$1\n});\n\nconst setNotFound$1 = notFound => action$3(SET_NAVIGATION_NOT_FOUND$1, {\n notFound\n});\nconst setNavigationPath$1 = (path, location, staticRoute, withEvents, statePath, routes) => action$3(SET_NAVIGATION_PATH$1, {\n path,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes\n});\nconst setCurrentProject$1 = (project, allowedGroups, hostname) => action$3(SET_TARGET_PROJECT$1, {\n project,\n allowedGroups,\n hostname\n});\nconst setRoute$1 = (path, state) => action$3(SET_ROUTE$1, {\n path,\n state\n});\nconst setRouteEntry$1 = entry => action$3(SET_ENTRY$1, {\n entry\n});\nconst setSurrogateKeys$1 = (keys, url) => action$3(SET_SURROGATE_KEYS$1, {\n keys,\n url\n});\n\nvar routing$5 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n setNotFound: setNotFound$1,\n setNavigationPath: setNavigationPath$1,\n setCurrentProject: setCurrentProject$1,\n setRoute: setRoute$1,\n setRouteEntry: setRouteEntry$1,\n setSurrogateKeys: setSurrogateKeys$1\n});\n\nconst ACTION_PREFIX$4 = '@USER/';\nconst SET_AUTHENTICATION_STATE$1 = `${ACTION_PREFIX$4}SET_AUTHENTICATION_STATE`;\nconst LOGIN_USER$1 = `${ACTION_PREFIX$4}LOGIN_USER`;\nconst LOGOUT_USER$1 = `${ACTION_PREFIX$4}LOGOUT_USER`;\nconst REGISTER_USER$1 = `${ACTION_PREFIX$4}REGISTER_USER`;\nconst REGISTER_USER_SUCCESS$1 = `${ACTION_PREFIX$4}REGISTER_USER_SUCCESS`;\nconst REGISTER_USER_FAILED$1 = `${ACTION_PREFIX$4}REGISTER_USER_FAILED`;\nconst REQUEST_USER_PASSWORD_RESET_SENDING$1 = `${ACTION_PREFIX$4}REQUEST_USER_PASSWORD_RESET_SENDING`;\nconst REQUEST_USER_PASSWORD_RESET_SUCCESS$1 = `${ACTION_PREFIX$4}REQUEST_USER_PASSWORD_RESET_SUCCESS`;\nconst REQUEST_USER_PASSWORD_RESET_ERROR$1 = `${ACTION_PREFIX$4}REQUEST_USER_PASSWORD_RESET_ERROR`;\nconst RESET_USER_PASSWORD_SENDING$1 = `${ACTION_PREFIX$4}RESET_USER_PASSWORD_SENDING`;\nconst RESET_USER_PASSWORD_SUCCESS$1 = `${ACTION_PREFIX$4}RESET_USER_PASSWORD_SUCCESS`;\nconst RESET_USER_PASSWORD_ERROR$1 = `${ACTION_PREFIX$4}RESET_USER_PASSWORD_ERROR`;\nconst CHANGE_USER_PASSWORD_SENDING$1 = `${ACTION_PREFIX$4}CHANGE_USER_PASSWORD_SENDING`;\nconst CHANGE_USER_PASSWORD_SUCCESS$1 = `${ACTION_PREFIX$4}CHANGE_USER_PASSWORD_SUCCESS`;\nconst CHANGE_USER_PASSWORD_ERROR$1 = `${ACTION_PREFIX$4}CHANGE_USER_PASSWORD_ERROR`;\n\nconst defaultAuthenticationState$1 = {\n clientCredentials: null,\n errorMessage: null,\n isAuthenticated: false,\n isAuthenticationError: false,\n isError: false,\n isLoading: false\n};\nconst defaultPasswordResetRequestValues$1 = {\n isSending: false,\n sent: false,\n error: null\n};\nconst defaultResetPasswordValues$1 = {\n isSending: false,\n sent: false,\n error: null\n};\nconst defaultChangePasswordValues$1 = {\n isSending: false,\n sent: false,\n error: null\n};\nconst defaultRegistrationValues$1 = {\n isLoading: false,\n success: false,\n error: null\n};\nconst initialUserState$1 = {\n authenticationState: defaultAuthenticationState$1,\n passwordResetRequest: defaultPasswordResetRequestValues$1,\n resetPassword: defaultResetPasswordValues$1,\n changePassword: defaultChangePasswordValues$1,\n groups: []\n};\nproduce((state, action) => {\n switch (action.type) {\n case LOGOUT_USER$1:\n {\n return initialUserState$1;\n }\n\n case LOGIN_USER$1:\n case SET_AUTHENTICATION_STATE$1:\n {\n var _state, _state$authentication;\n\n if (!action.authenticationState) {\n action.authenticationState = defaultAuthenticationState$1;\n }\n\n const {\n authenticationState: {\n clientCredentials = null,\n errorMessage = null,\n isAuthenticated,\n isAuthenticationError = false,\n isError = false,\n isLoading = action.type === LOGIN_USER$1\n },\n user\n } = action;\n\n if (user) {\n user.name = `${user.firstName}${user.lastName ? ` ${user.lastName}` : ''}` || null;\n user.isZengentiStaff = user.email.includes('@zengenti.com');\n }\n\n state = { ...initialUserState$1,\n ...(user || state),\n authenticationState: {\n clientCredentials,\n errorMessage,\n isAuthenticated: isAuthenticated || ((_state = state) === null || _state === void 0 ? void 0 : (_state$authentication = _state.authenticationState) === null || _state$authentication === void 0 ? void 0 : _state$authentication.isAuthenticated),\n isAuthenticationError,\n isError,\n isLoading\n }\n };\n return state;\n }\n // REGISTER_USER is the trigger to set the user.registration initial state\n // and will set user.registration.isLoading to true\n // REGISTER_USER_FAILED will unset user.registration.isLoading and will set\n // the value in user.registration.error\n // REGISTER_USER_SUCCESS will unset user.registration.isLoading and will\n // set user.registration to the created user from the api response\n\n case REGISTER_USER$1:\n case REGISTER_USER_FAILED$1:\n case REGISTER_USER_SUCCESS$1:\n {\n const {\n error,\n user\n } = action; // Set registration object from the supplied action.user\n // so we can call these values back later\n\n state.registration = user || state.registration || defaultRegistrationValues$1; // Set registration flags so the UI can track the status\n\n state.registration.success = action.type === REGISTER_USER_SUCCESS$1;\n state.registration.error = error || false;\n state.registration.isLoading = action.type === REGISTER_USER$1;\n return;\n }\n\n case REQUEST_USER_PASSWORD_RESET_SENDING$1:\n state.passwordResetRequest = defaultPasswordResetRequestValues$1;\n state.passwordResetRequest.isSending = true;\n return;\n\n case REQUEST_USER_PASSWORD_RESET_SUCCESS$1:\n if (state.passwordResetRequest) {\n state.passwordResetRequest.isSending = false;\n state.passwordResetRequest.sent = true;\n }\n\n return;\n\n case REQUEST_USER_PASSWORD_RESET_ERROR$1:\n if (state.passwordResetRequest) {\n state.passwordResetRequest.isSending = false;\n state.passwordResetRequest.error = action.error;\n }\n\n return;\n\n case RESET_USER_PASSWORD_SENDING$1:\n if (state.resetPassword) {\n state.resetPassword.isSending = true;\n }\n\n return;\n\n case RESET_USER_PASSWORD_SUCCESS$1:\n if (state.resetPassword) {\n state.resetPassword.isSending = false;\n state.resetPassword.sent = true;\n }\n\n return;\n\n case RESET_USER_PASSWORD_ERROR$1:\n if (state.resetPassword) {\n state.resetPassword.isSending = false;\n state.resetPassword.error = action.error;\n }\n\n return;\n\n case CHANGE_USER_PASSWORD_SENDING$1:\n if (state.changePassword) {\n state.changePassword.isSending = true;\n }\n\n return;\n\n case CHANGE_USER_PASSWORD_SUCCESS$1:\n if (state.changePassword) {\n state.changePassword.isSending = false;\n state.changePassword.sent = true;\n }\n\n return;\n\n case CHANGE_USER_PASSWORD_ERROR$1:\n if (state.changePassword) {\n state.changePassword.isSending = false;\n state.changePassword.error = action.error;\n }\n\n return;\n\n default:\n return;\n }\n}, initialUserState$1);\n\nconst ACTION_PREFIX$3 = '@NAVIGATION/';\nconst GET_NODE_TREE$1 = `${ACTION_PREFIX$3}_GET_NODE_TREE`;\nconst SET_NODE_TREE$1 = `${ACTION_PREFIX$3}_SET_NODE_TREE`;\nconst GET_NODE_TREE_ERROR$1 = `${ACTION_PREFIX$3}_GET_NODE_TREE_ERROR`;\n\nvar navigation$1$3 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n GET_NODE_TREE: GET_NODE_TREE$1,\n SET_NODE_TREE: SET_NODE_TREE$1,\n GET_NODE_TREE_ERROR: GET_NODE_TREE_ERROR$1\n});\n\nconst initialState$2$1 = {\n root: null,\n isError: false,\n isReady: false\n};\nproduce((state, action) => {\n switch (action.type) {\n case SET_NODE_TREE$1:\n {\n state.root = action.nodes;\n state.isReady = true;\n return;\n }\n\n case GET_NODE_TREE_ERROR$1:\n {\n state.isError = true;\n return;\n }\n\n default:\n return;\n }\n}, initialState$2$1);\n\nconst combineMerge$1 = (target, source, options) => {\n const destination = target.slice();\n source.forEach((item, index) => {\n if (typeof destination[index] === 'undefined') {\n destination[index] = options.cloneUnlessOtherwiseSpecified(item, options);\n } else if (options.isMergeableObject(item)) {\n destination[index] = merge(target[index], item, options);\n } else if (target.indexOf(item) === -1) {\n destination.push(item);\n }\n });\n return destination;\n};\n\nconst initialState$1$1 = {\n currentHostname: null,\n currentPath: '/',\n currentNode: {},\n currentNodeAncestors: [],\n currentProject: 'unknown',\n entryID: null,\n entry: null,\n error: undefined,\n isError: false,\n isLoading: false,\n location: {},\n mappedEntry: null,\n notFound: false,\n staticRoute: null,\n statusCode: 200\n};\nproduce((state, action) => {\n switch (action.type) {\n case SET_ANCESTORS$1:\n {\n state.currentNodeAncestors = action.ancestors;\n return;\n }\n\n case SET_ENTRY$1:\n {\n const {\n entry,\n error,\n mappedEntry,\n node = {},\n isError = false,\n isLoading = false,\n notFound = false,\n statusCode\n } = action;\n let defaultStatus = 200;\n if (notFound === true && isError === false) defaultStatus = 404;else if (isError === true) defaultStatus = statusCode || 500;\n\n if (!entry) {\n state.entryID = null;\n state.entry = null;\n state.error = error;\n state.mappedEntry = null;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n } else {\n state.entryID = action.id;\n state.entry = entry;\n state.error = error;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n\n if (mappedEntry && Object.keys(mappedEntry).length > 0) {\n state.mappedEntry = mappedEntry;\n state.entry = {\n sys: entry.sys\n };\n }\n }\n\n if (!node) {\n state.currentNode = null;\n } else {\n // On Set Node, we reset all dependants.\n state.currentNode = node; // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n const {\n entry,\n ...nodeWithoutEntry\n } = node; // We have the entry stored elsewhere, so lets not keep it twice.\n\n state.currentNode = nodeWithoutEntry;\n }\n\n return;\n }\n\n case UPDATE_LOADING_STATE$1:\n {\n state.isLoading = action.isLoading;\n return;\n }\n\n case SET_NAVIGATION_PATH$1:\n {\n let staticRoute = {};\n\n if (action.staticRoute) {\n staticRoute = { ...action.staticRoute\n };\n }\n\n if (action.path) {\n var _state$entry, _state$entry$sys;\n\n // Don't run a path update on initial load as we allready should have it in redux\n const entryUri = state === null || state === void 0 ? void 0 : (_state$entry = state.entry) === null || _state$entry === void 0 ? void 0 : (_state$entry$sys = _state$entry.sys) === null || _state$entry$sys === void 0 ? void 0 : _state$entry$sys.uri;\n\n if (entryUri !== action.path) {\n state.currentPath = action.path;\n state.location = action.location;\n state.staticRoute = { ...staticRoute,\n route: { ...staticRoute.route,\n component: null\n }\n };\n state.isLoading = typeof window !== 'undefined';\n } else {\n state.location = action.location;\n state.staticRoute = { ...staticRoute,\n route: { ...staticRoute.route,\n component: null\n }\n };\n }\n }\n\n return;\n }\n\n case SET_ROUTE$1:\n {\n state.nextPath = action.path;\n return;\n }\n\n case SET_SIBLINGS$1:\n {\n // Can be null in some cases like the homepage.\n let currentNodeSiblingParent = null;\n\n if (action.siblings && action.siblings.length > 0) {\n currentNodeSiblingParent = action.siblings[0].parentId;\n }\n\n state.currentNodeSiblings = action.siblings;\n state.currentNodeSiblingsParent = currentNodeSiblingParent;\n return;\n }\n\n case SET_SURROGATE_KEYS$1:\n {\n // console.info(`SET_SURROGATE_KEYS: '${action.url}' keys: ${action.keys}`);\n state.surrogateKeys = merge(state.surrogateKeys, (action.keys || '').split(' '), {\n arrayMerge: combineMerge$1\n });\n return;\n }\n\n case SET_TARGET_PROJECT$1:\n {\n state.currentProject = action.project;\n state.allowedGroups = action.allowedGroups;\n state.currentHostname = action.hostname;\n return;\n }\n\n default:\n return state;\n }\n}, initialState$1$1);\n\nconst VERSION_PREFIX$1 = '@VERSION/';\nconst SET_VERSION$1 = `${VERSION_PREFIX$1}SET_VERSION`;\nconst SET_VERSION_STATUS$1 = `${VERSION_PREFIX$1}SET_VERSION_STATUS`;\n\nvar version$1$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n SET_VERSION: SET_VERSION$1,\n SET_VERSION_STATUS: SET_VERSION_STATUS$1\n});\n\nconst initialState$4 = {\n commitRef: null,\n buildNo: null,\n contensisVersionStatus: 'published'\n};\nproduce((state, action) => {\n switch (action.type) {\n case SET_VERSION_STATUS$1:\n {\n state.contensisVersionStatus = action.status;\n return;\n }\n\n case SET_VERSION$1:\n {\n state.commitRef = action.commitRef;\n state.buildNo = action.buildNo;\n return;\n }\n\n default:\n return;\n }\n}, initialState$4);\n\nconst hasNavigationTree$1 = state => getImmutableOrJS$1(state, ['navigation', 'isReady']);\nconst selectNavigationRoot$1 = state => getImmutableOrJS$1(state, ['navigation', 'root']);\nconst selectNavigationChildren$1 = state => getImmutableOrJS$1(state, ['navigation', 'root', 'children']);\nconst selectNavigationDepends$1 = () => [];\n\nvar navigation$2 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n hasNavigationTree: hasNavigationTree$1,\n selectNavigationRoot: selectNavigationRoot$1,\n selectNavigationChildren: selectNavigationChildren$1,\n selectNavigationDepends: selectNavigationDepends$1\n});\n\nconst setVersion$1 = (commitRef, buildNo) => action$3(SET_VERSION$1, {\n commitRef,\n buildNo\n});\nconst setVersionStatus$1 = status => action$3(SET_VERSION_STATUS$1, {\n status\n});\n\nvar version$4 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n setVersion: setVersion$1,\n setVersionStatus: setVersionStatus$1\n});\n\nconst ACTION_PREFIX$2 = '@FORM2/';\nconst SET_FORM_DATA = `${ACTION_PREFIX$2}SET_FORM_DATA`;\nconst SET_FORM_ID = `${ACTION_PREFIX$2}SET_FORM_ID`;\nconst SET_CURRENT_PAGE = `${ACTION_PREFIX$2}SET_CURRENT_PAGE`;\nconst PAGE_BACK = `${ACTION_PREFIX$2}PAGE_BACK`;\nconst PAGE_FORWARD = `${ACTION_PREFIX$2}PAGE_FORWARD`;\nconst SET_FIELD_VALUE = `${ACTION_PREFIX$2}SET_FIELD_VALUE`;\nconst SET_DEFAULT_FIELD_VALUE = `${ACTION_PREFIX$2}SET_DEFAULT_FIELD_VALUE`;\nconst SUBMIT_FORM_FOR_VALIDATION = `${ACTION_PREFIX$2}SUBMIT_FORM_FOR_VALIDATION`;\nconst SUBMIT_FORM = `${ACTION_PREFIX$2}SUBMIT_FORM`;\nconst SUBMIT_FORM_SUCCESS = `${ACTION_PREFIX$2}SUBMIT_FORM_SUCCESS`;\nconst SUBMIT_FORM_ERROR = `${ACTION_PREFIX$2}SUBMIT_FORM_ERROR`;\nconst SET_SUBMITTING_FORM = `${ACTION_PREFIX$2}SET_SUBMITTING_FORM`;\nconst SET_ERROR = `${ACTION_PREFIX$2}SET_ERROR`;\nconst VALIDATE_FIELD = `${ACTION_PREFIX$2}VALIDATE_FIELD`;\nconst VALIDATE_PAGE = `${ACTION_PREFIX$2}VALIDATE_PAGE`;\nconst SET_FIELD_ERROR = `${ACTION_PREFIX$2}SET_FIELD_ERROR`;\nconst SET_DATE_RANGE_VALUES = `${ACTION_PREFIX$2}SET_DATE_RANGE_VALUES`;\nconst SET_FORM_ENTRIES = `${ACTION_PREFIX$2}SET_FORM_ENTRIES`;\nconst SET_SUCCESS_MESSAGE = `${ACTION_PREFIX$2}SET_SUCCESS_MESSAGE`;\nconst SET_CHECKBOX_VALUE = `${ACTION_PREFIX$2}SET_CHECKBOX_VALUE`;\n\nvar types$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n SET_FORM_DATA: SET_FORM_DATA,\n SET_FORM_ID: SET_FORM_ID,\n SET_CURRENT_PAGE: SET_CURRENT_PAGE,\n PAGE_BACK: PAGE_BACK,\n PAGE_FORWARD: PAGE_FORWARD,\n SET_FIELD_VALUE: SET_FIELD_VALUE,\n SET_DEFAULT_FIELD_VALUE: SET_DEFAULT_FIELD_VALUE,\n SUBMIT_FORM_FOR_VALIDATION: SUBMIT_FORM_FOR_VALIDATION,\n SUBMIT_FORM: SUBMIT_FORM,\n SUBMIT_FORM_SUCCESS: SUBMIT_FORM_SUCCESS,\n SUBMIT_FORM_ERROR: SUBMIT_FORM_ERROR,\n SET_SUBMITTING_FORM: SET_SUBMITTING_FORM,\n SET_ERROR: SET_ERROR,\n VALIDATE_FIELD: VALIDATE_FIELD,\n VALIDATE_PAGE: VALIDATE_PAGE,\n SET_FIELD_ERROR: SET_FIELD_ERROR,\n SET_DATE_RANGE_VALUES: SET_DATE_RANGE_VALUES,\n SET_FORM_ENTRIES: SET_FORM_ENTRIES,\n SET_SUCCESS_MESSAGE: SET_SUCCESS_MESSAGE,\n SET_CHECKBOX_VALUE: SET_CHECKBOX_VALUE\n});\n\nconst MakeFieldType = field => {\n if (!field) return null;\n\n if (field.dataType === 'string' && field.editor && field.editor.id === 'multiline') {\n return 'textarea';\n } else if (field.dataType === 'string' && field.editor && field.editor.id === 'list-dropdown') {\n return 'dropdown';\n } else if (field.editor && field.editor.properties && field.editor.properties.readOnly || field.groupId && field.groupId === 'private') {\n return 'hidden';\n } else if (field.dataType === 'stringArray' || field.dataType === 'boolean') {\n return 'checkbox';\n } else if (field.dataType === 'string' && field.validations && field.validations.allowedValues) {\n return 'radio';\n } else if (field.dataType === 'integer') {\n return 'number';\n } else if (field.dataType === 'dateTime') {\n return 'date';\n } else if (field.dataFormat === 'daterange') {\n return 'dateRange';\n } else if (field.dataFormat === 'entry') {\n return 'entryPicker';\n } else {\n return 'textfield';\n }\n};\n\nconst initialSettings = {\n recaptcha: {\n siteKey: null\n }\n};\nconst initialStatus = {\n isLoading: false,\n isSubmitting: false,\n hasSuccess: false,\n successMessage: null,\n hasError: false\n};\nconst initialPagingInfo = {\n pageIndex: 0,\n pageCount: 0,\n currentPageId: null\n};\nconst initialFormData = {\n formId: null,\n data: {},\n fields: [],\n entries: [],\n fieldErrors: [],\n groups: [],\n defaultLanguage: null,\n pagingInfo: initialPagingInfo,\n status: initialStatus\n};\nlet initialState$3 = {\n settings: initialSettings\n};\nvar reducer = produce((state, action) => {\n switch (action.type) {\n case SET_FORM_ID:\n {\n const {\n formId\n } = action || {};\n state[formId] = initialFormData;\n return;\n }\n\n case SET_FORM_DATA:\n {\n const {\n fields,\n formId,\n groups,\n defaultLanguage\n } = action || {};\n fields.map(field => {\n field.type = MakeFieldType(field);\n });\n state[formId].fields = fields;\n state[formId].formId = formId;\n state[formId].groups = groups;\n state[formId].defaultLanguage = defaultLanguage;\n state[formId].status.isSubmitting = false;\n state[formId].status.hasSuccess = false;\n state[formId].status.hasError = false;\n return;\n }\n\n case SET_CURRENT_PAGE:\n {\n const {\n formId,\n pageId,\n pageIndex,\n pageCount\n } = action || {};\n state[formId].pagingInfo.currentPageId = pageId;\n state[formId].pagingInfo.pageIndex = pageIndex;\n state[formId].pagingInfo.pageCount = pageCount;\n return;\n }\n\n case SET_FIELD_VALUE:\n {\n const {\n formId,\n id,\n value\n } = action || {};\n state[formId].data[id] = value;\n return;\n }\n\n case SET_DEFAULT_FIELD_VALUE:\n {\n const {\n formId,\n value\n } = action || {};\n state[formId].data = value;\n return;\n }\n\n case SET_CHECKBOX_VALUE:\n {\n const {\n formId,\n id,\n value,\n isChecked\n } = action || {};\n let values = state[formId].data[id] || [];\n if (isChecked) state[formId].data[id] = { ...values,\n value\n };else state[formId].data[id] = values.filter(v => v !== value);\n return;\n }\n\n case SET_DATE_RANGE_VALUES:\n {\n const {\n formId,\n id,\n value,\n dateType\n } = action || {};\n state[formId].data[id][dateType] = value;\n return;\n }\n\n case SET_FIELD_ERROR:\n {\n const {\n formId,\n value\n } = action || {};\n state[formId].fieldErrors = value;\n return;\n }\n\n case SET_SUBMITTING_FORM:\n {\n const {\n formId,\n isSubmitting\n } = action || {};\n state[formId].status.isSubmitting = isSubmitting;\n return;\n }\n\n case SUBMIT_FORM_SUCCESS:\n {\n const {\n formId\n } = action || {};\n state[formId].status.hasError = false;\n state[formId].status.isSubmitting = false;\n state[formId].status.hasSuccess = true;\n return;\n }\n\n case SET_SUCCESS_MESSAGE:\n {\n const {\n formId,\n message\n } = action || {};\n state[formId].status.successMessage = message;\n return;\n }\n\n case SUBMIT_FORM_ERROR:\n {\n const {\n formId\n } = action || {};\n state[formId].status.hasError = true;\n state[formId].status.isSubmitting = false;\n return;\n }\n\n case SET_FORM_ENTRIES:\n {\n const {\n formId,\n entries\n } = action || {};\n const entryObject = {};\n entries.map(entry => {\n if (!entry) return null;\n entryObject[entry.id] = entry.entries;\n return entryObject;\n });\n state[formId].entries = entryObject;\n return;\n }\n\n case SET_ERROR:\n {\n const {\n formId\n } = action || {};\n state[formId].status.hasError = true;\n state[formId].status.isSubmitting = false;\n return;\n }\n\n default:\n return state;\n }\n}, initialState$3);\n\nconst action$1 = (type, payload = {}) => ({\n type,\n ...payload\n});\nconst getImmutableOrJS = (state, stateKey, fallbackValue, returnType = globalThis.STATE_TYPE) => {\n var _globalThis$immutable, _globalThis$immutable2;\n\n // Find a fromJS function from global that is dynamically loaded in createStore\n // or replace with a stub function for non-immutable gets\n const fromJS = returnType === 'immutable' ? ((_globalThis$immutable = globalThis.immutable) === null || _globalThis$immutable === void 0 ? void 0 : _globalThis$immutable.fromJSOrdered) || ((_globalThis$immutable2 = globalThis.immutable) === null || _globalThis$immutable2 === void 0 ? void 0 : _globalThis$immutable2.fromJS) : v => v;\n\n if (state && 'get' in state && typeof state.get === 'function' && 'getIn' in state && typeof state.getIn === 'function' && 'toJS' in state && typeof state.toJS === 'function') {\n if (Array.isArray(stateKey)) return fromJS(state.getIn(stateKey, fallbackValue));\n return fromJS(state.get(stateKey, fallbackValue));\n }\n\n if (Array.isArray(stateKey) && state && typeof state === 'object') {\n const result = jpath(stateKey.join('.'), state);\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n }\n\n const result = state && typeof state === 'object' ? state[stateKey] : undefined;\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n};\n\nfunction queryParams(search) {\n return queryString__default.parse(typeof window != 'undefined' ? window.location.search : search);\n}\n\nconst selectRouteEntry$1 = (state, returnType) => getImmutableOrJS(state, ['routing', 'entry'], {}, returnType);\nconst selectMappedEntry = (state, returnType) => getImmutableOrJS(state, ['routing', 'mappedEntry'], null, returnType);\nconst selectSurrogateKeys = state => {\n const keys = getImmutableOrJS(state, ['routing', 'surrogateKeys'], [], 'js');\n return keys.join(' ');\n};\nconst selectCurrentHostname = state => getImmutableOrJS(state, ['routing', 'currentHostname']);\nconst selectCurrentTreeID = state => getImmutableOrJS(state, ['routing', 'currentHostname']);\nconst selectRouteEntryEntryId$1 = state => getImmutableOrJS(state, ['routing', 'entry', 'sys', 'id'], null);\nconst selectRouteEntryContentTypeId$1 = state => {\n const entry = selectRouteEntry$1(state);\n return getImmutableOrJS(entry, ['sys', 'contentTypeId'], null);\n};\nconst selectRouteEntryLanguage = state => {\n const entry = selectRouteEntry$1(state);\n return getImmutableOrJS(entry, ['sys', 'language'], null);\n};\nconst selectRouteEntrySlug$1 = state => {\n const entry = selectRouteEntry$1(state);\n return getImmutableOrJS(entry, ['sys', 'slug'], null);\n};\nconst selectRouteEntryID$1 = state => getImmutableOrJS(state, ['routing', 'entryID']);\nconst selectCurrentPath$1 = state => getImmutableOrJS(state, ['routing', 'currentPath']);\nconst selectCurrentLocation = state => getImmutableOrJS(state, ['routing', 'location']);\nconst selectCurrentSearch$1 = state => getImmutableOrJS(state, ['routing', 'location', 'search']);\nconst selectCurrentHash = state => getImmutableOrJS(state, ['routing', 'location', 'hash']);\nconst selectQueryStringAsObject$1 = state => queryParams(selectCurrentSearch$1(state));\nconst selectCurrentProject$1 = state => getImmutableOrJS(state, ['routing', 'currentProject']);\nconst selectIsNotFound$1 = state => getImmutableOrJS(state, ['routing', 'notFound']);\nconst selectCurrentAncestors$1 = state => getImmutableOrJS(state, ['routing', 'currentNodeAncestors'], []);\nconst selectCurrentSiblings = state => getImmutableOrJS(state, ['routing', 'currentNodeSiblings'], []);\nconst selectCurrentNode = (state, returnType) => getImmutableOrJS(state, ['routing', 'currentNode'], null, returnType);\nconst selectCurrentChildren = state => getImmutableOrJS(state, ['routing', 'currentNode', 'children'], []);\nconst selectBreadcrumb = state => {\n return selectCurrentAncestors$1(state).push(selectCurrentNode(state));\n};\nconst selectRouteErrorMessage = state => {\n const error = getImmutableOrJS(state, ['routing', 'error']);\n return getImmutableOrJS(error, ['data', 'message'], getImmutableOrJS(error, 'statusText'));\n};\nconst selectRouteIsError = state => getImmutableOrJS(state, ['routing', 'isError']);\nconst selectRouteLoading$1 = state => getImmutableOrJS(state, ['routing', 'isLoading']);\nconst selectRouteStatusCode = state => getImmutableOrJS(state, ['routing', 'statusCode']);\nconst selectStaticRoute = state => getImmutableOrJS(state, ['routing', 'staticRoute']);\n\nvar routing$3 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n selectRouteEntry: selectRouteEntry$1,\n selectMappedEntry: selectMappedEntry,\n selectSurrogateKeys: selectSurrogateKeys,\n selectCurrentHostname: selectCurrentHostname,\n selectCurrentTreeID: selectCurrentTreeID,\n selectRouteEntryEntryId: selectRouteEntryEntryId$1,\n selectRouteEntryContentTypeId: selectRouteEntryContentTypeId$1,\n selectRouteEntryLanguage: selectRouteEntryLanguage,\n selectRouteEntrySlug: selectRouteEntrySlug$1,\n selectRouteEntryID: selectRouteEntryID$1,\n selectCurrentPath: selectCurrentPath$1,\n selectCurrentLocation: selectCurrentLocation,\n selectCurrentSearch: selectCurrentSearch$1,\n selectCurrentHash: selectCurrentHash,\n selectQueryStringAsObject: selectQueryStringAsObject$1,\n selectCurrentProject: selectCurrentProject$1,\n selectIsNotFound: selectIsNotFound$1,\n selectCurrentAncestors: selectCurrentAncestors$1,\n selectCurrentSiblings: selectCurrentSiblings,\n selectCurrentNode: selectCurrentNode,\n selectCurrentChildren: selectCurrentChildren,\n selectBreadcrumb: selectBreadcrumb,\n selectRouteErrorMessage: selectRouteErrorMessage,\n selectRouteIsError: selectRouteIsError,\n selectRouteLoading: selectRouteLoading$1,\n selectRouteStatusCode: selectRouteStatusCode,\n selectStaticRoute: selectStaticRoute\n});\n\nconst ROUTING_PREFIX = '@ROUTING/';\nconst GET_ENTRY = `${ROUTING_PREFIX}_GET_ENTRY`;\nconst SET_ENTRY = `${ROUTING_PREFIX}_SET_ENTRY`;\nconst SET_NODE = `${ROUTING_PREFIX}_SET_NODE`;\nconst SET_ANCESTORS = `${ROUTING_PREFIX}_SET_ANCESTORS`;\nconst SET_SIBLINGS = `${ROUTING_PREFIX}_SET_SIBLINGS`;\nconst SET_ENTRY_ID = `${ROUTING_PREFIX}_SET_ENTRY_ID`;\nconst SET_SURROGATE_KEYS = `${ROUTING_PREFIX}_SET_SURROGATE_KEYS`;\nconst SET_NAVIGATION_NOT_FOUND = `${ROUTING_PREFIX}_SET_NOT_FOUND`;\nconst SET_NAVIGATION_PATH = `${ROUTING_PREFIX}_SET_NAVIGATION_PATH`;\nconst SET_TARGET_PROJECT = `${ROUTING_PREFIX}_SET_TARGET_PROJECT`;\nconst SET_ROUTE = `${ROUTING_PREFIX}_SET_ROUTE`;\nconst UPDATE_LOADING_STATE = `${ROUTING_PREFIX}_UPDATE_LOADING_STATE`;\n\nvar routing$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n GET_ENTRY: GET_ENTRY,\n SET_ENTRY: SET_ENTRY,\n SET_NODE: SET_NODE,\n SET_ANCESTORS: SET_ANCESTORS,\n SET_SIBLINGS: SET_SIBLINGS,\n SET_ENTRY_ID: SET_ENTRY_ID,\n SET_SURROGATE_KEYS: SET_SURROGATE_KEYS,\n SET_NAVIGATION_NOT_FOUND: SET_NAVIGATION_NOT_FOUND,\n SET_NAVIGATION_PATH: SET_NAVIGATION_PATH,\n SET_TARGET_PROJECT: SET_TARGET_PROJECT,\n SET_ROUTE: SET_ROUTE,\n UPDATE_LOADING_STATE: UPDATE_LOADING_STATE\n});\n\nconst setNotFound = notFound => action$1(SET_NAVIGATION_NOT_FOUND, {\n notFound\n});\nconst setNavigationPath = (path, location, staticRoute, withEvents, statePath, routes) => action$1(SET_NAVIGATION_PATH, {\n path,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes\n});\nconst setCurrentProject = (project, allowedGroups, hostname) => action$1(SET_TARGET_PROJECT, {\n project,\n allowedGroups,\n hostname\n});\nconst setRoute = (path, state) => action$1(SET_ROUTE, {\n path,\n state\n});\nconst setRouteEntry = entry => action$1(SET_ENTRY, {\n entry\n});\nconst setSurrogateKeys = (keys, url) => action$1(SET_SURROGATE_KEYS, {\n keys,\n url\n});\n\nvar routing$2 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n setNotFound: setNotFound,\n setNavigationPath: setNavigationPath,\n setCurrentProject: setCurrentProject,\n setRoute: setRoute,\n setRouteEntry: setRouteEntry,\n setSurrogateKeys: setSurrogateKeys\n});\n\nconst ACTION_PREFIX$1 = '@USER/';\nconst SET_AUTHENTICATION_STATE = `${ACTION_PREFIX$1}SET_AUTHENTICATION_STATE`;\nconst LOGIN_USER = `${ACTION_PREFIX$1}LOGIN_USER`;\nconst LOGOUT_USER = `${ACTION_PREFIX$1}LOGOUT_USER`;\nconst REGISTER_USER = `${ACTION_PREFIX$1}REGISTER_USER`;\nconst REGISTER_USER_SUCCESS = `${ACTION_PREFIX$1}REGISTER_USER_SUCCESS`;\nconst REGISTER_USER_FAILED = `${ACTION_PREFIX$1}REGISTER_USER_FAILED`;\nconst REQUEST_USER_PASSWORD_RESET_SENDING = `${ACTION_PREFIX$1}REQUEST_USER_PASSWORD_RESET_SENDING`;\nconst REQUEST_USER_PASSWORD_RESET_SUCCESS = `${ACTION_PREFIX$1}REQUEST_USER_PASSWORD_RESET_SUCCESS`;\nconst REQUEST_USER_PASSWORD_RESET_ERROR = `${ACTION_PREFIX$1}REQUEST_USER_PASSWORD_RESET_ERROR`;\nconst RESET_USER_PASSWORD_SENDING = `${ACTION_PREFIX$1}RESET_USER_PASSWORD_SENDING`;\nconst RESET_USER_PASSWORD_SUCCESS = `${ACTION_PREFIX$1}RESET_USER_PASSWORD_SUCCESS`;\nconst RESET_USER_PASSWORD_ERROR = `${ACTION_PREFIX$1}RESET_USER_PASSWORD_ERROR`;\nconst CHANGE_USER_PASSWORD_SENDING = `${ACTION_PREFIX$1}CHANGE_USER_PASSWORD_SENDING`;\nconst CHANGE_USER_PASSWORD_SUCCESS = `${ACTION_PREFIX$1}CHANGE_USER_PASSWORD_SUCCESS`;\nconst CHANGE_USER_PASSWORD_ERROR = `${ACTION_PREFIX$1}CHANGE_USER_PASSWORD_ERROR`;\n\nconst defaultAuthenticationState = {\n clientCredentials: null,\n errorMessage: null,\n isAuthenticated: false,\n isAuthenticationError: false,\n isError: false,\n isLoading: false\n};\nconst defaultPasswordResetRequestValues = {\n isSending: false,\n sent: false,\n error: null\n};\nconst defaultResetPasswordValues = {\n isSending: false,\n sent: false,\n error: null\n};\nconst defaultChangePasswordValues = {\n isSending: false,\n sent: false,\n error: null\n};\nconst defaultRegistrationValues = {\n isLoading: false,\n success: false,\n error: null\n};\nconst initialUserState = {\n authenticationState: defaultAuthenticationState,\n passwordResetRequest: defaultPasswordResetRequestValues,\n resetPassword: defaultResetPasswordValues,\n changePassword: defaultChangePasswordValues,\n groups: []\n};\nproduce((state, action) => {\n switch (action.type) {\n case LOGOUT_USER:\n {\n return initialUserState;\n }\n\n case LOGIN_USER:\n case SET_AUTHENTICATION_STATE:\n {\n var _state, _state$authentication;\n\n if (!action.authenticationState) {\n action.authenticationState = defaultAuthenticationState;\n }\n\n const {\n authenticationState: {\n clientCredentials = null,\n errorMessage = null,\n isAuthenticated,\n isAuthenticationError = false,\n isError = false,\n isLoading = action.type === LOGIN_USER\n },\n user\n } = action;\n\n if (user) {\n user.name = `${user.firstName}${user.lastName ? ` ${user.lastName}` : ''}` || null;\n user.isZengentiStaff = user.email.includes('@zengenti.com');\n }\n\n state = { ...initialUserState,\n ...(user || state),\n authenticationState: {\n clientCredentials,\n errorMessage,\n isAuthenticated: isAuthenticated || ((_state = state) === null || _state === void 0 ? void 0 : (_state$authentication = _state.authenticationState) === null || _state$authentication === void 0 ? void 0 : _state$authentication.isAuthenticated),\n isAuthenticationError,\n isError,\n isLoading\n }\n };\n return state;\n }\n // REGISTER_USER is the trigger to set the user.registration initial state\n // and will set user.registration.isLoading to true\n // REGISTER_USER_FAILED will unset user.registration.isLoading and will set\n // the value in user.registration.error\n // REGISTER_USER_SUCCESS will unset user.registration.isLoading and will\n // set user.registration to the created user from the api response\n\n case REGISTER_USER:\n case REGISTER_USER_FAILED:\n case REGISTER_USER_SUCCESS:\n {\n const {\n error,\n user\n } = action; // Set registration object from the supplied action.user\n // so we can call these values back later\n\n state.registration = user || state.registration || defaultRegistrationValues; // Set registration flags so the UI can track the status\n\n state.registration.success = action.type === REGISTER_USER_SUCCESS;\n state.registration.error = error || false;\n state.registration.isLoading = action.type === REGISTER_USER;\n return;\n }\n\n case REQUEST_USER_PASSWORD_RESET_SENDING:\n state.passwordResetRequest = defaultPasswordResetRequestValues;\n state.passwordResetRequest.isSending = true;\n return;\n\n case REQUEST_USER_PASSWORD_RESET_SUCCESS:\n if (state.passwordResetRequest) {\n state.passwordResetRequest.isSending = false;\n state.passwordResetRequest.sent = true;\n }\n\n return;\n\n case REQUEST_USER_PASSWORD_RESET_ERROR:\n if (state.passwordResetRequest) {\n state.passwordResetRequest.isSending = false;\n state.passwordResetRequest.error = action.error;\n }\n\n return;\n\n case RESET_USER_PASSWORD_SENDING:\n if (state.resetPassword) {\n state.resetPassword.isSending = true;\n }\n\n return;\n\n case RESET_USER_PASSWORD_SUCCESS:\n if (state.resetPassword) {\n state.resetPassword.isSending = false;\n state.resetPassword.sent = true;\n }\n\n return;\n\n case RESET_USER_PASSWORD_ERROR:\n if (state.resetPassword) {\n state.resetPassword.isSending = false;\n state.resetPassword.error = action.error;\n }\n\n return;\n\n case CHANGE_USER_PASSWORD_SENDING:\n if (state.changePassword) {\n state.changePassword.isSending = true;\n }\n\n return;\n\n case CHANGE_USER_PASSWORD_SUCCESS:\n if (state.changePassword) {\n state.changePassword.isSending = false;\n state.changePassword.sent = true;\n }\n\n return;\n\n case CHANGE_USER_PASSWORD_ERROR:\n if (state.changePassword) {\n state.changePassword.isSending = false;\n state.changePassword.error = action.error;\n }\n\n return;\n\n default:\n return;\n }\n}, initialUserState);\n\nconst ACTION_PREFIX = '@NAVIGATION/';\nconst GET_NODE_TREE = `${ACTION_PREFIX}_GET_NODE_TREE`;\nconst SET_NODE_TREE = `${ACTION_PREFIX}_SET_NODE_TREE`;\nconst GET_NODE_TREE_ERROR = `${ACTION_PREFIX}_GET_NODE_TREE_ERROR`;\n\nvar navigation$1$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n GET_NODE_TREE: GET_NODE_TREE,\n SET_NODE_TREE: SET_NODE_TREE,\n GET_NODE_TREE_ERROR: GET_NODE_TREE_ERROR\n});\n\nconst initialState$2 = {\n root: null,\n isError: false,\n isReady: false\n};\nproduce((state, action) => {\n switch (action.type) {\n case SET_NODE_TREE:\n {\n state.root = action.nodes;\n state.isReady = true;\n return;\n }\n\n case GET_NODE_TREE_ERROR:\n {\n state.isError = true;\n return;\n }\n\n default:\n return;\n }\n}, initialState$2);\n\nconst combineMerge = (target, source, options) => {\n const destination = target.slice();\n source.forEach((item, index) => {\n if (typeof destination[index] === 'undefined') {\n destination[index] = options.cloneUnlessOtherwiseSpecified(item, options);\n } else if (options.isMergeableObject(item)) {\n destination[index] = merge(target[index], item, options);\n } else if (target.indexOf(item) === -1) {\n destination.push(item);\n }\n });\n return destination;\n};\n\nconst initialState$1 = {\n currentHostname: null,\n currentPath: '/',\n currentNode: {},\n currentNodeAncestors: [],\n currentProject: 'unknown',\n entryID: null,\n entry: null,\n error: undefined,\n isError: false,\n isLoading: false,\n location: {},\n mappedEntry: null,\n notFound: false,\n staticRoute: null,\n statusCode: 200\n};\nproduce((state, action) => {\n switch (action.type) {\n case SET_ANCESTORS:\n {\n state.currentNodeAncestors = action.ancestors;\n return;\n }\n\n case SET_ENTRY:\n {\n const {\n entry,\n error,\n mappedEntry,\n node = {},\n isError = false,\n isLoading = false,\n notFound = false,\n statusCode\n } = action;\n let defaultStatus = 200;\n if (notFound === true && isError === false) defaultStatus = 404;else if (isError === true) defaultStatus = statusCode || 500;\n\n if (!entry) {\n state.entryID = null;\n state.entry = null;\n state.error = error;\n state.mappedEntry = null;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n } else {\n state.entryID = action.id;\n state.entry = entry;\n state.error = error;\n state.isError = isError;\n state.isLoading = isLoading;\n state.notFound = notFound;\n state.statusCode = statusCode || defaultStatus;\n\n if (mappedEntry && Object.keys(mappedEntry).length > 0) {\n state.mappedEntry = mappedEntry;\n state.entry = {\n sys: entry.sys\n };\n }\n }\n\n if (!node) {\n state.currentNode = null;\n } else {\n // On Set Node, we reset all dependants.\n state.currentNode = node; // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n const {\n entry,\n ...nodeWithoutEntry\n } = node; // We have the entry stored elsewhere, so lets not keep it twice.\n\n state.currentNode = nodeWithoutEntry;\n }\n\n return;\n }\n\n case UPDATE_LOADING_STATE:\n {\n state.isLoading = action.isLoading;\n return;\n }\n\n case SET_NAVIGATION_PATH:\n {\n let staticRoute = {};\n\n if (action.staticRoute) {\n staticRoute = { ...action.staticRoute\n };\n }\n\n if (action.path) {\n var _state$entry, _state$entry$sys;\n\n // Don't run a path update on initial load as we allready should have it in redux\n const entryUri = state === null || state === void 0 ? void 0 : (_state$entry = state.entry) === null || _state$entry === void 0 ? void 0 : (_state$entry$sys = _state$entry.sys) === null || _state$entry$sys === void 0 ? void 0 : _state$entry$sys.uri;\n\n if (entryUri !== action.path) {\n state.currentPath = action.path;\n state.location = action.location;\n state.staticRoute = { ...staticRoute,\n route: { ...staticRoute.route,\n component: null\n }\n };\n state.isLoading = typeof window !== 'undefined';\n } else {\n state.location = action.location;\n state.staticRoute = { ...staticRoute,\n route: { ...staticRoute.route,\n component: null\n }\n };\n }\n }\n\n return;\n }\n\n case SET_ROUTE:\n {\n state.nextPath = action.path;\n return;\n }\n\n case SET_SIBLINGS:\n {\n // Can be null in some cases like the homepage.\n let currentNodeSiblingParent = null;\n\n if (action.siblings && action.siblings.length > 0) {\n currentNodeSiblingParent = action.siblings[0].parentId;\n }\n\n state.currentNodeSiblings = action.siblings;\n state.currentNodeSiblingsParent = currentNodeSiblingParent;\n return;\n }\n\n case SET_SURROGATE_KEYS:\n {\n // console.info(`SET_SURROGATE_KEYS: '${action.url}' keys: ${action.keys}`);\n state.surrogateKeys = merge(state.surrogateKeys, (action.keys || '').split(' '), {\n arrayMerge: combineMerge\n });\n return;\n }\n\n case SET_TARGET_PROJECT:\n {\n state.currentProject = action.project;\n state.allowedGroups = action.allowedGroups;\n state.currentHostname = action.hostname;\n return;\n }\n\n default:\n return state;\n }\n}, initialState$1);\n\nconst VERSION_PREFIX = '@VERSION/';\nconst SET_VERSION = `${VERSION_PREFIX}SET_VERSION`;\nconst SET_VERSION_STATUS = `${VERSION_PREFIX}SET_VERSION_STATUS`;\n\nvar version$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n SET_VERSION: SET_VERSION,\n SET_VERSION_STATUS: SET_VERSION_STATUS\n});\n\nconst initialState = {\n commitRef: null,\n buildNo: null,\n contensisVersionStatus: 'published'\n};\nproduce((state, action) => {\n switch (action.type) {\n case SET_VERSION_STATUS:\n {\n state.contensisVersionStatus = action.status;\n return;\n }\n\n case SET_VERSION:\n {\n state.commitRef = action.commitRef;\n state.buildNo = action.buildNo;\n return;\n }\n\n default:\n return;\n }\n}, initialState);\n\nconst hasNavigationTree = state => getImmutableOrJS(state, ['navigation', 'isReady']);\nconst selectNavigationRoot = state => getImmutableOrJS(state, ['navigation', 'root']);\nconst selectNavigationChildren = state => getImmutableOrJS(state, ['navigation', 'root', 'children']);\nconst selectNavigationDepends = () => [];\n\nvar navigation = /*#__PURE__*/Object.freeze({\n __proto__: null,\n hasNavigationTree: hasNavigationTree,\n selectNavigationRoot: selectNavigationRoot,\n selectNavigationChildren: selectNavigationChildren,\n selectNavigationDepends: selectNavigationDepends\n});\n\nconst setVersion = (commitRef, buildNo) => action$1(SET_VERSION, {\n commitRef,\n buildNo\n});\nconst setVersionStatus = status => action$1(SET_VERSION_STATUS, {\n status\n});\n\nvar version$2 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n setVersion: setVersion,\n setVersionStatus: setVersionStatus\n});\n\nconst selectCommitRef$1 = state => getImmutableOrJS(state, ['version', 'commitRef']);\nconst selectBuildNumber$1 = state => getImmutableOrJS(state, ['version', 'buildNo']);\nconst selectVersionStatus$1 = state => getImmutableOrJS(state, ['version', 'contensisVersionStatus']);\n\nvar version$3 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n selectCommitRef: selectCommitRef$1,\n selectBuildNumber: selectBuildNumber$1,\n selectVersionStatus: selectVersionStatus$1\n});\n\nvar types$2 = {\n navigation: navigation$1$1,\n routing: routing$1,\n version: version$1\n};\n\nconst loadNavigationTree$1 = () => action$1(GET_NODE_TREE);\n\nvar navigation$1$2 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n loadNavigationTree: loadNavigationTree$1\n});\n\nvar actions$1 = {\n navigation: navigation$1$2,\n routing: routing$2,\n version: version$2\n};\n\nvar selectors$1 = {\n navigation: navigation,\n routing: routing$3,\n version: version$3\n};\nconst routing$4 = {\n types: types$2.routing,\n actions: actions$1.routing,\n selectors: selectors$1.routing\n};\n\nconst selectForms$1 = state => getImmutableOrJS(state, ['forms']);\nconst selectFormFieldData = (state, formId, field) => getImmutableOrJS(state, ['forms', formId, 'fields', field]);\nconst selectFieldErrors$1 = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'fieldErrors']);\nconst selectPostData$1 = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'data']);\nconst selectFormGroups$1 = (state, formId) => getImmutableOrJS(state, [('groups')]);\nconst selectPagingInfo$1 = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'pagingInfo']);\nconst selectFormStatus$1 = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'status']);\nconst selectFormMessage = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'status', 'successMessage']);\nconst selectEntries$1 = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'entries']);\nconst makeSelectHasSuccess = (state, formId) => getImmutableOrJS(state, ['forms', formId, 'status', 'hasSuccess']);\nconst selectPagedFields$1 = formId => createSelector([selectForms$1], form => {\n const pagingInfo = getImmutableOrJS(form, [formId, 'pagingInfo']);\n const fields = getImmutableOrJS(form, [formId, 'fields']);\n\n if (fields && fields.length > 0 && pagingInfo && pagingInfo.pageCount > 1) {\n return fields.filter(f => f.groupId == pagingInfo.currentPageId);\n }\n\n return fields;\n});\nconst makeSelectIsLoading$1 = formId => createSelector(selectForms$1, forms => getImmutableOrJS(forms, [formId, 'status', 'isLoading']));\nconst makeSelectFormFields$1 = formId => createSelector(selectForms$1, forms => getImmutableOrJS(forms, [formId, 'fields']));\nconst makeSelectDefaultLang$1 = formId => createSelector(selectForms$1, forms => getImmutableOrJS(forms, [formId, 'defaultLanguage']));\n\nvar selectors$2 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n selectForms: selectForms$1,\n selectFormFieldData: selectFormFieldData,\n selectFieldErrors: selectFieldErrors$1,\n selectPostData: selectPostData$1,\n selectFormGroups: selectFormGroups$1,\n selectPagingInfo: selectPagingInfo$1,\n selectFormStatus: selectFormStatus$1,\n selectFormMessage: selectFormMessage,\n selectEntries: selectEntries$1,\n makeSelectHasSuccess: makeSelectHasSuccess,\n selectPagedFields: selectPagedFields$1,\n makeSelectIsLoading: makeSelectIsLoading$1,\n makeSelectFormFields: makeSelectFormFields$1,\n makeSelectDefaultLang: makeSelectDefaultLang$1\n});\n\nconst URI$1 = '/forms';\nconst getFormSchema$1 = async formId => {\n var options = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n };\n const getUrl = `${URI$1}/${formId}`;\n const schema = await request$1(getUrl, options);\n return schema;\n};\nconst getEntries$1 = async (formObj, id) => {\n var options = {\n method: 'POST',\n headers: {\n Accept: '*/*',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(formObj)\n };\n const entriesUrl = `${URI$1}/entries`;\n const entries = await request$1(entriesUrl, options);\n return {\n entries,\n id\n };\n};\nconst postForm$1 = async formObj => {\n var options = {\n method: 'POST',\n headers: {\n Accept: '*/*',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(formObj)\n };\n const submitted = await request$1(URI$1, options);\n return submitted;\n};\n\nconst request$1 = async (url, options) => {\n return fetch(url, options).then(response => response.json()).then(result => {\n return result;\n }) // eslint-disable-next-line no-console\n .catch(error => console.log('error', error));\n};\n\nconst validateInput$1 = (field, value) => {\n const isRequired = field.validations && field.validations.required;\n const minLength = field.validations && field.validations.minLength;\n const maxLength = field.validations && field.validations.maxLength;\n const regex = field.validations && field.validations.regex;\n const integer = field.dataType === 'integer';\n const decimal = field.dataType === 'decimal';\n\n if (isRequired && !value) {\n const errorMessage = isRequired.message ? isRequired.message['en-GB'] : `${field.id} is required`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (minLength && minLength.value > value.length) {\n const errorMessage = minLength.message ? minLength.message['en-GB'] : `Minimum characters ${minLength.value}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (maxLength && maxLength.value < value.length) {\n const errorMessage = maxLength.message && maxLength.message['en-GB'] ? maxLength.message['en-GB'] : `Maximum characters ${maxLength.value}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (regex && value.length > 0) {\n //Had to make the string raw, as a string ususually is wrapped as '' and Regex couldnt use the regex patter as the string variant\n const regexPattern = RegExp(regex.pattern.raw);\n\n if (!regexPattern.test(value)) {\n const errorMessage = regex.message ? regex.message['en-GB'] : `${field.id} is invalid`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n\n if (integer) {\n const isInteger = value % 1 === 0;\n\n if (!isInteger) {\n const errorMessage = `${value} is not an ${field.dataType}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n\n if (decimal) {\n const isDecimal = value % 1 !== 0;\n\n if (!isDecimal) {\n const errorMessage = `${value} is not an ${field.dataType}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n};\n\nconst {\n selectCurrentAncestors: selectCurrentAncestors$2,\n selectCurrentPath: selectCurrentPath$2,\n selectCurrentProject: selectCurrentProject$2,\n selectCurrentSearch: selectCurrentSearch$2,\n selectIsNotFound: selectIsNotFound$2,\n selectQueryStringAsObject: selectQueryStringAsObject$2,\n selectRouteEntry: selectRouteEntry$2,\n selectRouteEntryContentTypeId: selectRouteEntryContentTypeId$2,\n selectRouteEntryDepends: selectRouteEntryDepends$1,\n selectRouteEntryEntryId: selectRouteEntryEntryId$2,\n selectRouteEntryID: selectRouteEntryID$2,\n selectRouteEntrySlug: selectRouteEntrySlug$2,\n selectRouteLoading: selectRouteLoading$2\n} = routing$4.selectors;\n\nconst formV2Sagas$1 = [takeEvery(SUBMIT_FORM_SUCCESS, formSuccess$1), takeEvery(SUBMIT_FORM_FOR_VALIDATION, validateForm$1), takeEvery(SUBMIT_FORM, submitForm$1$1), takeEvery(SET_FORM_ID, fetchForm$1), takeLatest(VALIDATE_FIELD, validateField$1$1), takeEvery(PAGE_FORWARD, togglePage$1), takeEvery(PAGE_BACK, togglePage$1), takeEvery(SET_FORM_DATA, getEntryPickerData$1), takeLatest(SET_FORM_DATA, setDefaultValueFields$1)];\n\nfunction* validateForm$1(action) {\n const {\n formId\n } = action;\n yield validateAllfields$1(formId);\n yield put({\n type: SUBMIT_FORM,\n formId\n });\n}\n\nfunction* validateField$1$1(action) {\n const {\n formId,\n id,\n value\n } = action;\n yield call(validateSingleField$1, formId, id, value);\n}\n\nfunction* validateGroupfields$1(formId, groupId) {\n const state = yield select();\n const postData = selectPostData$1(state, formId);\n const selectFormFields = makeSelectFormFields$1(formId);\n const fields = selectFormFields(state);\n const groupFields = fields.filter(f => f.groupid == groupId);\n let newErrors = [];\n groupFields.forEach(field => {\n let val = '';\n\n if (postData[field.id]) {\n val = postData[field.id];\n }\n\n const err = validateInput$1(field, val);\n if (err) newErrors.push(err);\n });\n yield put({\n type: SET_FIELD_ERROR,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* validateAllfields$1(formId) {\n const state = yield select();\n const postData = selectPostData$1(state, formId);\n const selectFormFields = makeSelectFormFields$1(formId);\n const fields = selectFormFields(state);\n let newErrors = [];\n fields.forEach(field => {\n let val = '';\n\n if (postData[field.id]) {\n val = postData[field.id];\n }\n\n const err = validateInput$1(field, val);\n if (err) newErrors.push(err);\n });\n yield put({\n type: SET_FIELD_ERROR,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* validateSingleField$1(formId, fieldId, value) {\n const state = yield select();\n const selectFormFields = makeSelectFormFields$1(formId);\n const fields = selectFormFields(state);\n const fieldData = fields.find(f => f.id == fieldId);\n const errors = selectFieldErrors$1(state, formId);\n const newErrors = []; //loop through current errors to remove any of the item we currently edit\n\n errors.forEach(error => {\n if (error.fieldId !== fieldId) {\n //push any existing errors to new array\n newErrors.push(error);\n }\n });\n const err = validateInput$1(fieldData, value);\n if (err) newErrors.push(err);\n yield put({\n type: SET_FIELD_ERROR,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* togglePage$1(action) {\n const {\n formId,\n pageIndex\n } = action;\n const state = yield select();\n const formGroups = selectFormGroups$1(state);\n\n if (action.type === PAGE_FORWARD) {\n yield validateGroupfields$1(formId, formGroups[pageIndex].id);\n }\n\n yield put({\n type: SET_CURRENT_PAGE,\n formId: formId,\n pageId: formGroups[pageIndex].id,\n pageCount: formGroups.length,\n pageIndex: pageIndex\n });\n}\n\nfunction* fetchForm$1(action) {\n const formId = action.formId;\n const schema = yield getFormSchema$1(formId);\n const groups = schema && schema.groups && schema.groups.length > 0 && schema.groups.filter(group => group.id !== 'private');\n\n if (formId && schema) {\n if (schema.groups && schema.groups.length > 0) {\n yield put({\n type: SET_CURRENT_PAGE,\n formId: formId,\n pageId: groups[0].id,\n pageIndex: 0,\n pageCount: groups.length\n });\n }\n\n yield put({\n type: SET_FORM_DATA,\n formId: formId,\n fields: schema.fields,\n groups: groups,\n defaultLanguage: schema.defaultLanguage\n });\n }\n}\n\nfunction* formSuccess$1(action) {\n const state = yield select();\n const selectFormFields = makeSelectFormFields$1(action.formId);\n const fields = selectFormFields(state);\n const redirect = fields.find(f => f.id === 'formSettingsRedirect');\n const message = fields.find(f => f.id === 'formSettingsMessage');\n\n if (redirect && redirect.default) {\n window.location.href = redirect.default['en-GB'];\n }\n\n if (message && message.default) {\n yield put({\n type: SET_SUCCESS_MESSAGE,\n message: message.default['en-GB'],\n formId: action.formId\n });\n }\n}\n\nfunction* submitForm$1$1(action) {\n const state = yield select();\n const errors = selectFieldErrors$1(state, action.formId);\n const canSubmit = errors && errors.length == 0;\n\n if (canSubmit) {\n yield put({\n type: SET_SUBMITTING_FORM,\n isSubmitting: true,\n formId: action.formId\n });\n const forms = yield select(selectForms$1);\n const rawData = forms[action.formId];\n const formObj = {\n contentType: action.formId,\n formPost: rawData.data\n };\n const formResObj = yield postForm$1(formObj);\n\n if (formResObj && formResObj.sys && formResObj.sys.id) {\n yield put({\n type: SUBMIT_FORM_SUCCESS,\n formId: action.formId\n });\n } else {\n yield put({\n type: SUBMIT_FORM_ERROR,\n formId: action.formId\n });\n }\n }\n}\n\nfunction* setDefaultValueFields$1(action) {\n const {\n formId,\n fields,\n defaultLanguage\n } = action;\n const entryId = yield select(selectRouteEntryEntryId$2);\n let fieldObj = {};\n fields.forEach(field => {\n if (field.dataType == 'string' && field.default) {\n const val = field.default[defaultLanguage];\n\n if (val) {\n fieldObj[field.id] = val;\n }\n }\n\n if (field.id == 'sourceEntry') {\n const val = entryId;\n\n if (val) {\n fieldObj[field.id] = val;\n }\n }\n });\n yield put({\n type: SET_DEFAULT_FIELD_VALUE,\n formId: formId,\n value: fieldObj\n });\n}\n\nfunction* getEntryPickerData$1(action) {\n const {\n formId,\n fields\n } = action;\n const entriesToGet = fields.filter(f => f.dataFormat == 'entry');\n let entriesList = [];\n\n if (entriesToGet) {\n entriesList = yield all(entriesToGet.map(entry => {\n const entriesObj = {\n contentType: entry.validations.allowedContentTypes.contentTypes,\n versionStatus: 'published',\n language: 'en-GB',\n pageSize: '10'\n };\n return call(getEntries$1, entriesObj, entry.id);\n }));\n yield put({\n type: SET_FORM_ENTRIES,\n formId: formId,\n entries: entriesList\n });\n }\n}\n\nfunction action$2(type, payload = {}) {\n return {\n type,\n ...payload\n };\n}\n\nconst submitForm$2 = formId => action$2(SUBMIT_FORM_FOR_VALIDATION, {\n formId\n});\nconst setFormId$1 = formId => action$2(SET_FORM_ID, {\n formId\n});\nconst setValue$1 = (formId, id, value) => action$2(SET_FIELD_VALUE, {\n formId,\n id,\n value\n});\nconst setCheckboxValue$1 = (formId, id, value, isChecked) => action$2(SET_CHECKBOX_VALUE, {\n formId,\n id,\n value,\n isChecked\n});\nconst setDateRangeValues$1 = (formId, id, dateType, value) => action$2(SET_DATE_RANGE_VALUES, {\n formId,\n id,\n dateType,\n value\n});\nconst validateField$2 = (formId, id, value) => action$2(VALIDATE_FIELD, {\n formId,\n id,\n value\n});\nconst togglePageForward$1 = (formId, pageIndex) => action$2(PAGE_FORWARD, {\n formId,\n pageIndex\n});\nconst togglePageBack$1 = (formId, pageIndex) => action$2(PAGE_BACK, {\n formId,\n pageIndex\n});\n\nvar actions$2 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n submitForm: submitForm$2,\n setFormId: setFormId$1,\n setValue: setValue$1,\n setCheckboxValue: setCheckboxValue$1,\n setDateRangeValues: setDateRangeValues$1,\n validateField: validateField$2,\n togglePageForward: togglePageForward$1,\n togglePageBack: togglePageBack$1\n});\n\n//Brand\nconst open_teal$1 = '#37BFA7'; //Brand dark\n\nconst teal_dark$1 = '#00a889'; //Primary\n\nconst accent_blue$1 = '#1853AC';\nconst panel_blue$1 = '#00304D'; //Neutrals\n\nconst base_white$1 = '#FFF';\nconst empress_gray$1 = '#757575';\nconst colors$1 = {\n brand: open_teal$1,\n brandDark: teal_dark$1,\n primary: accent_blue$1,\n secondary: panel_blue$1,\n label: '#333',\n label_optional: '#666',\n border: '#ccc',\n message_link: '#333',\n success: '#118011',\n warning: '#FFB000',\n error: '#C63D54',\n required: '#C63D54',\n neutrals: {\n base_white: base_white$1,\n empress_gray: empress_gray$1\n }\n};\n\nconst FormStyled$1 = styled.form.withConfig({\n displayName: \"Formstyled__FormStyled\",\n componentId: \"sc-1jn1lk9-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"> div:not(:first-child){margin-top:16px;}padding:0 16px;.success-message{font-size:18px;margin:0;}.visuallyHidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}label{display:inline-block;.isRequired{color:\", \";}}input,textarea,select{display:block;font-family:inherit;background-color:\", \";border-radius:3px;border:1px solid \", \";height:40px;padding:8px;margin-top:4px;max-width:320px;width:100%;}textarea{height:200px;resize:none;}\"], colors$1.error, colors$1.neutrals.base_white, colors$1.border));\n});\n\nconst Label$1 = ({\n className,\n label,\n id,\n isRequired,\n isHidden\n}) => {\n return /*#__PURE__*/React.createElement(\"label\", {\n className: `${className} ${isHidden ? 'visuallyHidden' : ''}`,\n htmlFor: id\n }, label, isRequired && /*#__PURE__*/React.createElement(\"span\", {\n className: \"isRequired\"\n }, \"*\"), isRequired && /*#__PURE__*/React.createElement(\"span\", {\n className: \"visuallyHidden\"\n }, \" (required)\"));\n};\n\nLabel$1.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n id: PropTypes.string,\n isRequired: PropTypes.bool,\n isHidden: PropTypes.bool\n};\n\nconst CreateMessage$1 = (type, minLength, maxLength, currentLength, defaultLanguage) => {\n if (!type) return null;\n\n switch (type) {\n case 'min':\n {\n if (!minLength) return;\n const minLengthVal = minLength && minLength.value;\n const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];\n const minText = `Minimum of ${minLengthVal.toString()} characters`;\n\n if (errorMessage) {\n return errorMessage;\n } else {\n return minText;\n }\n }\n\n case 'max':\n {\n if (!maxLength) return;\n const maxLengthVal = maxLength && maxLength.value;\n const errorMessage = maxLength && maxLength.message && maxLength.message[defaultLanguage];\n const maxText = `Maximum of ${maxLengthVal.toString()} characters`;\n\n if (errorMessage) {\n return errorMessage;\n } else {\n return maxText;\n }\n }\n\n case 'between':\n {\n if (!maxLength || !minLength) return;\n const minLengthVal = minLength && minLength.value;\n const maxLengthVal = maxLength && maxLength.value;\n const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];\n const rangeText = `Between ${minLengthVal.toString()}-${maxLengthVal.toString()} characters)`;\n\n if (errorMessage) {\n return errorMessage;\n } else if (currentLength < minLengthVal) {\n return `${(minLengthVal - currentLength).toString()} character${minLengthVal > 1 ? 's' : ''} required ${rangeText}`;\n } else if (currentLength > maxLengthVal) {\n return `${(currentLength - maxLengthVal).toString()} character${currentLength - maxLengthVal > 1 ? 's' : ''} over ${rangeText}`;\n } else if (currentLength) {\n return `${(maxLengthVal - currentLength).toString()} characters remaining ${rangeText}`;\n } else {\n return rangeText;\n }\n }\n\n default:\n return null;\n }\n};\n\nconst CharacterLimitStyled$1 = styled.div.withConfig({\n displayName: \"CharacterLimit__CharacterLimitStyled\",\n componentId: \"sc-16zngav-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"display:block;\", \"\"], useDefaultTheme && css([\"font-size:14px;color:\", \";font-weight:400;line-height:24px;text-align:right;max-width:320px;width:100%;\"], theme.colors.neutrals.empress_gray));\n});\n\nconst CharacterLimit$1 = ({\n className,\n value,\n validations,\n defaultLanguage,\n useDefaultTheme\n}) => {\n if (!validations) return null;\n let valueAsString = typeof value === 'number' ? value.toString() : value;\n const currentLength = valueAsString && valueAsString.length ? valueAsString.length : 0;\n const {\n minLength,\n maxLength\n } = validations;\n const hasMaxLength = maxLength && !minLength;\n const hasMinLength = minLength && !maxLength;\n const hasInBetween = minLength && maxLength;\n const type = hasMinLength ? 'min' : hasMaxLength ? 'max' : hasInBetween ? 'between' : null;\n if (!type) return null;\n return /*#__PURE__*/React.createElement(CharacterLimitStyled$1, {\n className: className,\n useDefaultTheme: useDefaultTheme\n }, CreateMessage$1(type, minLength, maxLength, currentLength, defaultLanguage));\n};\n\nCharacterLimit$1.propTypes = {\n validations: PropTypes.object,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n className: PropTypes.string,\n defaultLanguage: PropTypes.string,\n useDefaultTheme: PropTypes.bool\n};\n\nconst ErrorMessageStyled$1 = styled.div.withConfig({\n displayName: \"ErrorMessage__ErrorMessageStyled\",\n componentId: \"sc-1vewdiu-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"display:block;margin-top:8px;color:\", \";\"], theme.colors.error));\n});\n\nconst ErrorMessage$1 = ({\n className,\n message,\n useDefaultTheme\n}) => {\n return /*#__PURE__*/React.createElement(ErrorMessageStyled$1, {\n className: className,\n useDefaultTheme: useDefaultTheme\n }, message);\n};\n\nErrorMessage$1.propTypes = {\n className: PropTypes.string,\n message: PropTypes.string.isRequired,\n useDefaultTheme: PropTypes.bool\n};\n\nconst TextfieldStyled$1 = styled.div.withConfig({\n displayName: \"Textfield__TextfieldStyled\",\n componentId: \"sc-1a1c03n-0\"\n})([\"\", \";\"], ({\n isHidden\n}) => {\n return css([\"display:\", \";\"], isHidden ? 'none' : 'block');\n});\n\nconst Textfield$1 = ({\n className,\n formId,\n id,\n label,\n type,\n setValue,\n validateField,\n validations,\n defaultValue,\n defaultLanguage,\n placeholder,\n isHidden,\n errors,\n useDefaultTheme\n}) => {\n const [showCharLimit, setShowCharLimit] = useState(false);\n const isRequired = validations && validations.required ? true : false;\n const placeholderText = placeholder && placeholder.properties && placeholder.properties.placeholderText && placeholder.properties.placeholderText[defaultLanguage];\n const defaultValueText = defaultValue && defaultValue[defaultLanguage] ? defaultValue[defaultLanguage] : defaultValue;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n const _handleBlur = (formId, id, value) => {\n validateField(formId, id, value);\n setShowCharLimit(false);\n };\n\n const _handleFocus = () => {\n setShowCharLimit(true);\n };\n\n return /*#__PURE__*/React.createElement(TextfieldStyled$1, {\n className: \"textfield-container\",\n isHidden: isHidden\n }, /*#__PURE__*/React.createElement(Label$1, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-textfield\"\n }), showCharLimit && /*#__PURE__*/React.createElement(CharacterLimit$1, {\n value: defaultValue,\n validations: validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(\"input\", {\n className: `${className ? className : ''} input-textfield`,\n type: type,\n defaultValue: defaultValueText,\n placeholder: placeholderText,\n id: id,\n name: id,\n onChange: e => _handleChange(formId, id, e.target.value),\n onBlur: e => _handleBlur(formId, id, e.target.value),\n onFocus: () => _handleFocus()\n }), errors && errors.length > 0 && errors.some(x => x.fieldId == id) && /*#__PURE__*/React.createElement(ErrorMessage$1, {\n message: errors.find(x => x.fieldId == id).message,\n useDefaultTheme: useDefaultTheme\n }));\n};\n\nTextfield$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n setValue: PropTypes.func,\n validateField: PropTypes.func,\n validations: PropTypes.object,\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object,\n isHidden: PropTypes.bool,\n errors: PropTypes.array,\n useDefaultTheme: PropTypes.bool\n};\n\nconst Textarea$1 = ({\n className,\n formId,\n id,\n label,\n type,\n setValue,\n validations,\n defaultValue,\n defaultLanguage,\n placeholder,\n validateField,\n useDefaultTheme,\n errors\n}) => {\n const [showCharLimit, setShowCharLimit] = useState(false);\n const isRequired = validations && validations.required ? true : false;\n const placeholderText = placeholder && placeholder.properties && placeholder.properties.placeholderText && placeholder.properties.placeholderText[defaultLanguage];\n const defaultValueText = defaultValue ? defaultValue[defaultLanguage] : null;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n const _handleBlur = (formId, id, value) => {\n validateField(formId, id, value);\n setShowCharLimit(false);\n };\n\n const _handleFocus = () => {\n setShowCharLimit(true);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"textarea-container\"\n }, /*#__PURE__*/React.createElement(Label$1, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-textarea\"\n }), showCharLimit && /*#__PURE__*/React.createElement(CharacterLimit$1, {\n value: defaultValue,\n validations: validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(\"textarea\", {\n className: `${className ? className : ''} input-textarea`,\n type: type,\n id: id,\n defaultValue: defaultValueText,\n placeholder: placeholderText,\n onChange: e => _handleChange(formId, id, e.target.value),\n onBlur: e => _handleBlur(formId, id, e.target.value),\n onFocus: () => _handleFocus()\n }), errors && errors.length > 0 && errors.some(x => x.fieldId == id) && /*#__PURE__*/React.createElement(ErrorMessage$1, {\n message: errors.find(x => x.fieldId == id).message,\n useDefaultTheme: useDefaultTheme\n }));\n};\n\nTextarea$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n setValue: PropTypes.func,\n validations: PropTypes.object,\n defaultValue: PropTypes.object,\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object,\n validateField: PropTypes.func,\n useDefaultTheme: PropTypes.bool,\n errors: PropTypes.array\n};\n\nconst HiddenField$1 = ({\n className,\n id,\n label,\n type,\n defaultValue,\n defaultLanguage,\n placeholder\n}) => {\n return /*#__PURE__*/React.createElement(Textfield$1, {\n type: type,\n label: label,\n id: id,\n defaultValue: defaultValue,\n defaultLanguage: defaultLanguage,\n placeholder: placeholder,\n className: className,\n isHidden: true\n });\n};\n\nHiddenField$1.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n defaultValue: PropTypes.object,\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object\n};\n\nconst Dropdown$1 = ({\n className,\n formId,\n id,\n validations,\n defaultValue,\n defaultLanguage,\n label,\n setValue\n}) => {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const ddValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n if (!ddValues || ddValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"dropdown-container\"\n }, /*#__PURE__*/React.createElement(Label$1, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-dropdown\"\n }), /*#__PURE__*/React.createElement(\"select\", {\n name: id,\n id: id,\n className: `${className ? className : ''} select-dropdown`,\n defaultValue: defaultValue,\n onBlur: e => _handleChange(formId, id, e.target.value)\n }, ddValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"option\", {\n key: `${val[defaultLanguage]}-${idx}`,\n value: val[defaultLanguage],\n className: \"option-dropdown\"\n }, val[defaultLanguage]);\n })));\n};\n\nDropdown$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n id: PropTypes.string,\n validations: PropTypes.object,\n defaultValue: PropTypes.string,\n label: PropTypes.string,\n defaultLanguage: PropTypes.string\n};\n\nconst CheckboxStyled$1 = styled.div.withConfig({\n displayName: \"Checkbox__CheckboxStyled\",\n componentId: \"s8ewuf-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst Checkbox$1 = ({\n className,\n formId,\n setCheckboxValue,\n id,\n type,\n label,\n validations,\n defaultValue,\n name,\n defaultLanguage,\n useDefaultTheme\n}) => {\n // NF change rules of hooks\n let isDefaultChecked = defaultValue && defaultValue[defaultLanguage];\n const [isChecked, setIsChecked] = useState(isDefaultChecked || '');\n\n switch (type) {\n case 'multiple':\n {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const cbValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (value, isChecked) => {\n setCheckboxValue(formId, id, value, isChecked);\n };\n\n if (!cbValues || cbValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(CheckboxStyled$1, {\n className: `checkbox-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label$1, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-checkbox-container\"\n }), cbValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: \"checkbox-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: `checkbox-${idx}`,\n name: `checkbox-${idx}`,\n value: val[defaultLanguage],\n className: `${className ? className : ''} input-checkbox`,\n onChange: e => _handleChange(e.target.value, e.target.checked)\n }), /*#__PURE__*/React.createElement(Label$1, {\n id: `checkbox-${idx}`,\n label: val[defaultLanguage],\n className: \"label-checkbox\"\n }));\n }));\n }\n\n case 'single':\n {\n const _handleChange = isChecked => {\n setIsChecked(isChecked);\n setCheckboxValue(formId, id, isChecked);\n };\n\n return /*#__PURE__*/React.createElement(CheckboxStyled$1, {\n className: `checkbox-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"checkbox-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: id,\n name: `checkbox-${id}`,\n value: name[defaultLanguage],\n checked: isChecked,\n className: `${className ? className : ''} input-checkbox`,\n onChange: e => _handleChange(e.target.checked)\n }), /*#__PURE__*/React.createElement(Label$1, {\n id: id,\n label: label,\n className: \"label-checkbox\"\n })));\n }\n }\n};\n\nCheckbox$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n type: PropTypes.string,\n label: PropTypes.string,\n setCheckboxValue: PropTypes.func,\n validations: PropTypes.object,\n defaultLanguage: PropTypes.string,\n name: PropTypes.object,\n default: PropTypes.object\n};\n\nconst RadioButtonStyled$1 = styled.div.withConfig({\n displayName: \"RadioButton__RadioButtonStyled\",\n componentId: \"sc-7y8c21-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".radio-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst RadioButton$1 = ({\n className,\n formId,\n setValue,\n id,\n type,\n label,\n validations,\n defaultLanguage,\n useDefaultTheme\n}) => {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const cbValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n if (!cbValues || cbValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(RadioButtonStyled$1, {\n className: \"radio-container\",\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label$1, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-radio-container\"\n }), cbValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: \"radio-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: val[defaultLanguage],\n name: id,\n value: val[defaultLanguage],\n className: `${className ? className : ''} input-radio`,\n onChange: e => _handleChange(formId, id, e.target.value)\n }), /*#__PURE__*/React.createElement(Label$1, {\n id: val[defaultLanguage],\n label: val[defaultLanguage],\n className: \"label-radio\"\n }));\n }));\n};\n\nRadioButton$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n id: PropTypes.string,\n type: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n defaultLanguage: PropTypes.string,\n useDefaultTheme: PropTypes.bool\n};\n\n//example date string: 2019-01-02T13:05:00 (expects ISO 8601 Datetime format yyyy-mm-ddThh:mm:ss [this is the format returned from Contensis delivery api])\n//yyyy > year long, eg. 2019\n//yy > year short, eg. 19\n//MMMM > month long, eg. January\n//MMM > month short, eg. Jan\n//MM > month with leading 0, eg. 01\n//M > month, eg. 1\n//dddd > day long, eg. Monday\n//ddd > day short, eg. Mon\n//dd > date with leading 0, eg. 02\n//d > date, eg. 2\n//HH > 24 hour clock hour parameter with leading 0, eg. ...T03:05:00 = 03\n//H > 24 hour clock hour parameter, eg. ...T03:05:00 = 3\n//hh > 12 hour clock hour parameter with leading 0, eg. ...T16:05:00 = 04\n//h > 12 hour clock hour parameter, eg. ...T16:05:00 = 4\n//mm > minutes with leading 0, eg. ...T16:05:00 = 05\n//m > minutes, eg ...T16:05:00 = 5\n//t > abbreviated AM / PM, e.g. A or P\n//tt > AM / PM, e.g. AM or PM\nconst formatDate$1 = (date, format = 'dd MMMM yyyy') => {\n if (!date) return null;\n const dateObj = new Date(date);\n const dateString = date.toString().split('T');\n const dateArr = dateString[0].split('-');\n const year = dateArr[0];\n const month = dateArr[1];\n const day = dateArr[2];\n const dayNameInt = dateObj.getDay();\n const timeArr = dateString[1].split(':');\n const hour = timeArr[0];\n const minute = timeArr[1]; //convert to abstract strings to avoid character replacement along the chain, eg. Monday would match 'M' month single parameter\n\n const YEAR = ['&&', '&'];\n const MONTH = ['££££', '£££', '££', '£'];\n const DAY = ['%%%%', '%%%', '%%', '%'];\n const HOUR24 = ['!!', '!'];\n const HOUR12 = ['^^', '^'];\n const MINUTE = ['**', '*'];\n const TF = ['??', '?'];\n let formattedDate = format.replace('yyyy', YEAR[0]).replace('yy', YEAR[1]).replace('y', '') //'y' && 'yyy' not valid\n .replace('MMMM', MONTH[0]).replace('MMM', MONTH[1]).replace('MM', MONTH[2]).replace('M', MONTH[3]).replace('dddd', DAY[0]).replace('ddd', DAY[1]).replace('dd', DAY[2]).replace('d', DAY[3]).replace('HH', HOUR24[0]).replace('H', HOUR24[1]).replace('hh', HOUR12[0]).replace('h', HOUR12[1]).replace('mm', MINUTE[0]).replace('m', MINUTE[1]).replace('tt', TF[0]).replace('t', TF[1]).replace(YEAR[0], year).replace(YEAR[1], year.slice(-2)).replace(MONTH[0], monthsLong$1[parseInt(month, 10)]).replace(MONTH[1], monthsShort$1[parseInt(month, 10)]).replace(MONTH[2], month).replace(MONTH[3], parseInt(month, 10)).replace(DAY[0], daysLong$1[dayNameInt]).replace(DAY[1], daysShort$1[dayNameInt]).replace(DAY[2], day).replace(DAY[3], parseInt(day, 10)).replace(HOUR24[0], hour).replace(HOUR24[1], parseInt(hour, 10)).replace(HOUR12[0], parseHour$1(hour)).replace(HOUR12[1], parseInt(parseHour$1(hour), 10)).replace(MINUTE[0], minute).replace(MINUTE[1], parseInt(minute, 10)).replace(TF[0], parseTF$1(hour)).replace(TF[1], parseTF$1(hour).slice(0, -1));\n return formattedDate;\n};\n\nconst monthsShort$1 = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nconst monthsLong$1 = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\nconst daysShort$1 = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst daysLong$1 = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\nconst parseHour$1 = hour => {\n return hour > 12 ? hour - 12 : hour;\n};\n\nconst parseTF$1 = hour => {\n return hour > 11 ? 'PM' : 'AM';\n};\n\nconst SingleDate$1 = ({\n className,\n type,\n id,\n label,\n validations,\n setValue,\n formId\n}) => {\n const isRequired = validations && validations.required ? true : false;\n const onlyPassedDates = validations && validations.pastDateTime;\n const d = new Date();\n const todaysDate = d.toISOString();\n\n const _handleChange = (formId, id, value) => {\n const d = new Date(value);\n const isoDate = d.toISOString();\n setValue(formId, id, isoDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"date-container\"\n }, /*#__PURE__*/React.createElement(Label$1, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-date\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: id,\n name: id,\n className: `${className ? className : ''} input-date`,\n max: onlyPassedDates ? formatDate$1(todaysDate, 'yyyy-MM-dd') : '',\n onChange: e => _handleChange(formId, id, e.target.value)\n }));\n};\n\nSingleDate$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n type: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object\n};\n\nconst DateRangeStyled$1 = styled.div.withConfig({\n displayName: \"DateRange__DateRangeStyled\",\n componentId: \"hnzg32-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".daterange-wrapper{display:flex;flex-direction:column;input{&:first-child{margin:0 0 8px 0;}}}\"]));\n});\n\nconst DateRange$1 = ({\n className,\n id,\n label,\n validations,\n setDateRangeValues,\n formId,\n useDefaultTheme\n}) => {\n const isRequired = validations && validations.required ? true : false;\n const onlyPassedDates = validations && validations.pastDateTime;\n const d = new Date();\n const todaysDate = d.toISOString();\n const [toDate, setToDate] = useState('');\n const [fromDate, setFromDate] = useState('');\n\n const _handleDateChange = (dateType, formId, id, value) => {\n _updateDateProps(dateType, value);\n\n const d = new Date(value);\n const isoDate = d.toISOString();\n setDateRangeValues(formId, id, dateType, isoDate);\n };\n\n const _updateDateProps = (type, date) => {\n switch (type) {\n case 'from':\n {\n const d = new Date(date);\n const newDate = d.toISOString();\n setFromDate(newDate);\n break;\n }\n\n case 'to':\n {\n const d = new Date(date);\n const newDate = d.toISOString();\n setToDate(newDate);\n break;\n }\n\n default:\n return;\n }\n };\n\n return /*#__PURE__*/React.createElement(DateRangeStyled$1, {\n className: `daterange-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label$1, {\n id: id,\n label: label,\n isRequired: isRequired\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"daterange-wrapper\"\n }, /*#__PURE__*/React.createElement(Label$1, {\n id: \"date-from\",\n label: \"Date from\",\n isHidden: true,\n className: \"label-daterange\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: \"date\",\n id: \"date-from\",\n name: id,\n max: onlyPassedDates && !toDate ? formatDate$1(todaysDate, 'yyyy-MM-dd') : onlyPassedDates && toDate ? formatDate$1(toDate, 'yyyy-MM-dd') : toDate ? formatDate$1(toDate, 'yyyy-MM-dd') : '',\n className: `${className ? className : ''} input-daterange`,\n onChange: e => _handleDateChange('from', formId, id, e.target.value)\n }), /*#__PURE__*/React.createElement(Label$1, {\n id: \"date-to\",\n label: \"Date to\",\n isHidden: true,\n className: \"label-daterange\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: \"date\",\n id: \"date-to\",\n name: id,\n max: onlyPassedDates ? formatDate$1(todaysDate, 'yyyy-MM-dd') : '',\n min: formatDate$1(fromDate, 'yyyy-MM-dd'),\n className: `${className ? className : ''} input-daterange`,\n onChange: e => _handleDateChange('to', formId, id, e.target.value)\n })));\n};\n\nDateRange$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setDateRangeValues: PropTypes.func,\n type: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n useDefaultTheme: PropTypes.bool\n};\n\nconst EntryPickerStyled$1 = styled.div.withConfig({\n displayName: \"EntryPicker__EntryPickerStyled\",\n componentId: \"svnu18-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".radio-wrapper,.checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst EntryPicker$1 = ({\n className,\n results,\n id,\n label,\n validations,\n type,\n useDefaultTheme,\n setValue,\n formId\n}) => {\n if (!results || results.length > 3) return null;\n const isRequired = validations && validations.required ? true : false;\n let valArr = [];\n\n const _handleChange = (formId, id, value, isChecked) => {\n if (type === 'checkbox') {\n if (isChecked) {\n valArr.push(value);\n } else if (!isChecked) {\n valArr = valArr.filter(valItem => valItem !== value);\n }\n\n setValue(formId, id, valArr);\n } else {\n setValue(formId, id, value);\n }\n };\n\n return /*#__PURE__*/React.createElement(EntryPickerStyled$1, {\n className: `${type}-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label$1, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: `label-${type}-container`\n }), results.map((res, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: `${type}-wrapper`\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: res.entryTitle,\n value: res.entryTitle,\n name: id,\n className: `${className ? className : ''} input-${type}`,\n onChange: e => _handleChange(formId, id, e.target.value, e.target.checked)\n }), /*#__PURE__*/React.createElement(Label$1, {\n id: res.entryTitle,\n label: res.entryTitle,\n className: `label-${type}`\n }));\n }));\n};\n\nEntryPicker$1.propTypes = {\n className: PropTypes.string,\n results: PropTypes.array,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n type: PropTypes.string,\n useDefaultTheme: PropTypes.bool,\n setValue: PropTypes.func,\n formId: PropTypes.string\n};\n\nconst FormComposer$1 = ({\n fields,\n formData,\n formId,\n setValue,\n setDateRangeValues,\n validateField,\n defaultLanguage,\n errors,\n useDefaultTheme,\n entries,\n setCheckboxValue\n}) => {\n if (!fields || fields.length < 1) return null; //const arrayOfFields = Object.entries(fields).map(f => f[1]);\n\n return fields.map((field, idx) => {\n if (!field) return null;\n\n switch (field.type) {\n case 'number':\n case 'textfield':\n {\n return /*#__PURE__*/React.createElement(Textfield$1, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n formId: formId,\n setValue: setValue,\n validations: field.validations,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n defaultValue: formData && formData[field.id] || field.default,\n placeholder: field.editor,\n errors: errors,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'textarea':\n {\n return /*#__PURE__*/React.createElement(Textarea$1, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n formId: formId,\n setValue: setValue,\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n placeholder: field.editor,\n validateField: validateField,\n useDefaultTheme: useDefaultTheme,\n errors: errors\n });\n }\n\n case 'dropdown':\n {\n return /*#__PURE__*/React.createElement(Dropdown$1, {\n key: `${field.id}-${idx}`,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n formId: formId,\n setValue: setValue,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'checkbox':\n {\n return /*#__PURE__*/React.createElement(Checkbox$1, {\n key: `${field.id}-${idx}`,\n id: field.id,\n name: field.name,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n setValue: setValue,\n formId: formId,\n defaultValue: formData && formData[field.id] || field.default,\n type: field.dataType === 'boolean' ? 'single' : 'multiple',\n useDefaultTheme: useDefaultTheme,\n setCheckboxValue: setCheckboxValue\n });\n }\n\n case 'radio':\n {\n return /*#__PURE__*/React.createElement(RadioButton$1, {\n key: `${field.id}-${idx}`,\n id: field.id,\n type: field.type,\n formId: formId,\n setValue: setValue,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'entryPicker':\n {\n const type = field.dataType === 'objectArray' ? 'checkbox' : 'radio';\n const results = entries && entries[field.id] && entries[field.id].items;\n return /*#__PURE__*/React.createElement(EntryPicker$1, {\n key: `${field.id}-${idx}`,\n type: type,\n results: results,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n useDefaultTheme: useDefaultTheme,\n setValue: setValue,\n validateField: validateField,\n formId: formId\n });\n }\n\n case 'date':\n {\n return /*#__PURE__*/React.createElement(SingleDate$1, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n formId: formId,\n setValue: setValue,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'dateRange':\n {\n return /*#__PURE__*/React.createElement(DateRange$1, {\n key: `${field.id}-${idx}`,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n formId: formId,\n setDateRangeValues: setDateRangeValues,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'hidden':\n {\n return /*#__PURE__*/React.createElement(HiddenField$1, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n placeholder: field.editor\n });\n }\n }\n });\n};\n\nFormComposer$1.propTypes = {\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formId: PropTypes.string,\n setValue: PropTypes.func,\n validateField: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n useDefaultTheme: PropTypes.bool,\n setCheckboxValue: PropTypes.func\n};\n\nconst ButtonStyled$1 = styled.button.withConfig({\n displayName: \"Button__ButtonStyled\",\n componentId: \"hr2oup-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"display:inline-block;cursor:pointer;margin:16px 0 0 0;padding:8px 16px;border-radius:3px;border:1px solid \", \";font-family:inherit;transition:opacity 200ms ease;&:hover{opacity:0.7;}\"], theme.colors.border));\n});\n\nconst Button$1 = ({\n className,\n type,\n text,\n action,\n useDefaultTheme\n}) => {\n return /*#__PURE__*/React.createElement(ButtonStyled$1, {\n className: `${className ? className : ''} btnSubmit`,\n type: type,\n onClick: () => action(),\n useDefaultTheme: useDefaultTheme\n }, text);\n};\nButton$1.propTypes = {\n className: PropTypes.string,\n type: PropTypes.string,\n text: PropTypes.string,\n action: PropTypes.func,\n useDefaultTheme: PropTypes.bool\n};\n\nconst ThemeContext$1 = createContext();\n\nconst ThemeProvider$1 = ({\n children,\n theme\n}) => {\n return /*#__PURE__*/React.createElement(ThemeContext$1.Provider, null, /*#__PURE__*/React.createElement(ThemeProvider$2, {\n theme: theme\n }, children));\n};\n\nThemeProvider$1.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n theme: PropTypes.object\n};\n\nconst mediaQueriesNoUnit$1 = {\n s: 470,\n ms: 640,\n m: 768,\n ml: 880,\n l: 1024,\n xl: 1200,\n xxl: 1366,\n wide: 1600\n};\nconst mediaQueries$1 = {\n small: mediaQueriesNoUnit$1.s + 'px',\n msmall: mediaQueriesNoUnit$1.ms + 'px',\n medium: mediaQueriesNoUnit$1.m + 'px',\n mlarge: mediaQueriesNoUnit$1.ml + 'px',\n large: mediaQueriesNoUnit$1.l + 'px',\n xlarge: mediaQueriesNoUnit$1.xl + 'px',\n xxlarge: mediaQueriesNoUnit$1.xxl + 'px',\n wide: mediaQueriesNoUnit$1.wide + 'px'\n};\nconst layout$1 = {\n mediaQueries: mediaQueries$1\n};\n\nconst fontFamily$1 = {\n Poppins: `'Poppins', Arial, sans-serif`\n}; //use html tag name as object key\n//use default object key for base styles\n//use media query key that corresponds with keys set on mediaQueries object from ./layout to map to relevant screen sizes\n//uses a mobile first approach to rules\n\nconst typography$1 = {\n default: {\n color: colors$1.label,\n font_family: fontFamily$1.Poppins,\n font_style: 'normal',\n font_weight: 400,\n font_size: '18px',\n line_height: 1.75\n }\n};\nconst defaultStyles$1 = typography$1.default;\nconst typographyStyles$1 = {\n defaultStyles: defaultStyles$1\n}; // function generateTypeStyles(obj) {\n// return Object.keys(obj)\n// .map(mq => {\n// const props = generateProps(obj[mq]);\n// if (mq === 'default') {\n// return `${props.join(' ')}`;\n// } else {\n// return `@media only screen and (min-width:${\n// mediaQueries[mq]\n// }){${props.join('')}}`;\n// }\n// })\n// .join('');\n// }\n// function generateProps(objMQ) {\n// let props = [];\n// Object.keys(objMQ).map(prop => {\n// props.push(`${prop.split('_').join('-')}: ${objMQ[prop]};`);\n// });\n// return props;\n// }\n\nconst defaultTheme$1 = {\n layout: layout$1,\n typographyStyles: typographyStyles$1,\n typography: typography$1,\n colors: colors$1\n};\n\nconst divStyles$1 = {\n display: 'flex',\n height: '100vh',\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'Column'\n};\nconst svgStyles$1 = {\n width: '80px',\n height: '80px'\n};\nconst headingStyles$1 = {\n margin: '0',\n fontSize: '16px'\n};\nconst Loading$1 = () => {\n return /*#__PURE__*/React.createElement(\"div\", {\n style: divStyles$1\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: headingStyles$1\n }, \"Loading...\"), /*#__PURE__*/React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n className: \"lds-spinner\",\n preserveAspectRatio: \"xMidYMid\",\n viewBox: \"0 0 100 100\",\n style: svgStyles$1\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.9166666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(30 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.8333333333333334s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(60 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.75s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(90 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.6666666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(120 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.5833333333333334s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(150 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.5s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(180 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.4166666666666667s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(210 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.3333333333333333s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(240 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.25s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(270 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.16666666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(300 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.08333333333333333s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(330 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"0s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n }))));\n};\nLoading$1.propTypes = {};\n\nconst Form$1$1 = ({\n className,\n formId,\n fields,\n formData,\n setFormId,\n setValue,\n validateField,\n defaultLanguage,\n errors,\n pagingInfo,\n togglePageForward,\n togglePageBack,\n submitForm,\n status,\n setDateRangeValues,\n useDefaultTheme,\n entries,\n customSubmit,\n setCheckboxValue\n}) => {\n useEffect(() => {\n setFormId(formId);\n }, [formId, setFormId]); // NF change rule of hooks\n\n if (!formId) return null;\n let formRender;\n\n if (pagingInfo && pagingInfo.pageCount > 1) {\n const isLastPage = pagingInfo.pageCount == pagingInfo.pageIndex + 1;\n formRender = /*#__PURE__*/React.createElement(FormStyled$1, {\n className: className,\n id: formId,\n useDefaultTheme: useDefaultTheme\n }, status && status.isLoading || status && status.isSubmitting && /*#__PURE__*/React.createElement(Loading$1, {\n className: \"loading\"\n }), !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, pagingInfo.pageIndex > 0 && /*#__PURE__*/React.createElement(Button$1, {\n type: \"button\",\n text: \"Go Back\",\n action: () => togglePageBack(formId, pagingInfo.pageIndex - 1),\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(FormComposer$1, {\n fields: fields,\n formData: formData,\n formId: formId,\n setValue: setValue,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n pagingInfo: pagingInfo,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n setDateRangeValues: setDateRangeValues,\n setCheckboxValue: setCheckboxValue\n }), !isLastPage && /*#__PURE__*/React.createElement(Button$1, {\n type: \"button\",\n text: \"Next\",\n action: () => togglePageForward(formId, pagingInfo.pageIndex + 1),\n useDefaultTheme: useDefaultTheme\n }), isLastPage && /*#__PURE__*/React.createElement(Button$1, {\n text: \"Submit\",\n type: \"button\",\n action: () => {\n submitForm(formId);\n if (customSubmit) customSubmit();\n },\n useDefaultTheme: useDefaultTheme\n })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement(\"p\", {\n className: \"success-message\"\n }, status.successMessage));\n } else {\n formRender = /*#__PURE__*/React.createElement(FormStyled$1, {\n className: className,\n id: formId,\n useDefaultTheme: useDefaultTheme\n }, status && status.isLoading || status && status.isSubmitting && /*#__PURE__*/React.createElement(Loading$1, {\n className: \"loading\"\n }), !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormComposer$1, {\n fields: fields,\n formId: formId,\n setValue: setValue,\n setDateRangeValues: setDateRangeValues,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n setCheckboxValue: setCheckboxValue\n }), /*#__PURE__*/React.createElement(Button$1, {\n text: \"Submit\",\n type: \"button\",\n action: () => {\n submitForm(formId);\n if (customSubmit) customSubmit();\n },\n useDefaultTheme: useDefaultTheme\n })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement(\"p\", {\n className: \"success-message\"\n }, status.successMessage));\n }\n\n return /*#__PURE__*/React.createElement(ThemeProvider$1, {\n theme: defaultTheme$1\n }, formRender);\n};\n\nForm$1$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n useDefaultTheme: PropTypes.bool,\n setFormId: PropTypes.func,\n setValue: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n validateField: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n pagingInfo: PropTypes.object,\n togglePageForward: PropTypes.func,\n togglePageBack: PropTypes.func,\n submitForm: PropTypes.func,\n customSubmit: PropTypes.func,\n status: PropTypes.object,\n setCheckboxValue: PropTypes.func\n};\n\nconst FormContainer$1 = ({\n className,\n formId,\n fields,\n formData,\n setFormId,\n setValue,\n setDateRangeValues,\n validateField,\n defaultLanguage,\n errors,\n pagingInfo,\n togglePageForward,\n togglePageBack,\n submitForm,\n status,\n useDefaultTheme = true,\n entries,\n setCheckboxValue,\n customSubmit\n}) => {\n return /*#__PURE__*/React.createElement(Form$1$1, {\n className: className,\n formId: formId,\n fields: fields,\n setFormId: setFormId,\n setValue: setValue,\n setDateRangeValues: setDateRangeValues,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n pagingInfo: pagingInfo,\n togglePageForward: togglePageForward,\n togglePageBack: togglePageBack,\n submitForm: submitForm,\n status: status,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n formData: formData,\n setCheckboxValue: setCheckboxValue,\n customSubmit: customSubmit\n });\n};\n\nFormContainer$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n setFormId: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n setValue: PropTypes.func,\n useDefaultTheme: PropTypes.bool,\n validateField: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n pagingInfo: PropTypes.object,\n togglePageForward: PropTypes.func,\n togglePageBack: PropTypes.func,\n submitForm: PropTypes.func,\n status: PropTypes.object,\n setCheckboxValue: PropTypes.func,\n customSubmit: PropTypes.func\n};\n\nconst mapStateToProps$1 = (state, props) => {\n const {\n formId\n } = props;\n const selectFormFields = selectPagedFields$1(formId);\n const selectIsLoading = makeSelectIsLoading$1(formId);\n const selectDefaultLang = makeSelectDefaultLang$1(formId);\n return state => ({\n fields: selectFormFields(state),\n loading: selectIsLoading(state),\n defaultLanguage: selectDefaultLang(state),\n errors: selectFieldErrors$1(state, formId),\n pagingInfo: selectPagingInfo$1(state, formId),\n status: selectFormStatus$1(state, formId),\n entries: selectEntries$1(state, formId),\n formData: selectPostData$1(state, formId)\n });\n};\n\nconst mapDispatchToProps$1 = dispatch => {\n return {\n setFormId: formId => dispatch(setFormId$1(formId)),\n setValue: (formId, id, value) => dispatch(setValue$1(formId, id, value)),\n setCheckboxValue: (formId, id, value, isChecked) => dispatch(setCheckboxValue$1(formId, id, value, isChecked)),\n setDateRangeValues: (formId, id, dateType, value) => dispatch(setDateRangeValues$1(formId, id, dateType, value)),\n validateField: (formId, id, value) => dispatch(validateField$2(formId, id, value)),\n togglePageForward: (formId, pageIndex) => dispatch(togglePageForward$1(formId, pageIndex)),\n togglePageBack: (formId, pageIndex) => dispatch(togglePageBack$1(formId, pageIndex)),\n submitForm: formId => dispatch(submitForm$2(formId))\n };\n};\n\nvar Form$2 = connect(mapStateToProps$1, mapDispatchToProps$1)(FormContainer$1);\n\nvar forms = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': Form$2,\n actions: actions$2,\n reducer: reducer,\n sagas: formV2Sagas$1,\n selectors: selectors$2,\n types: types$1\n});\n\nconst selectCommitRef = state => getImmutableOrJS$1(state, ['version', 'commitRef']);\nconst selectBuildNumber = state => getImmutableOrJS$1(state, ['version', 'buildNo']);\nconst selectVersionStatus = state => getImmutableOrJS$1(state, ['version', 'contensisVersionStatus']);\n\nvar version = /*#__PURE__*/Object.freeze({\n __proto__: null,\n selectCommitRef: selectCommitRef,\n selectBuildNumber: selectBuildNumber,\n selectVersionStatus: selectVersionStatus\n});\n\nvar types = {\n navigation: navigation$1$3,\n routing: routing$1$1,\n version: version$1$1,\n forms: forms\n};\n\nconst loadNavigationTree = () => action$3(GET_NODE_TREE$1);\n\nvar navigation$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n loadNavigationTree: loadNavigationTree\n});\n\nvar actions = {\n navigation: navigation$1,\n routing: routing$5,\n version: version$4,\n forms: forms\n};\n\nvar selectors = {\n navigation: navigation$2,\n routing: routing$6,\n version: version,\n forms: forms\n};\nconst routing = {\n types: types.routing,\n actions: actions.routing,\n selectors: selectors.routing\n};\n\nconst selectForms = state => getImmutableOrJS$1(state, ['forms']);\nconst selectFieldErrors = (state, formId) => getImmutableOrJS$1(state, ['forms', formId, 'fieldErrors']);\nconst selectPostData = (state, formId) => getImmutableOrJS$1(state, ['forms', formId, 'data']);\nconst selectFormGroups = (state, formId) => getImmutableOrJS$1(state, [('groups')]);\nconst selectPagingInfo = (state, formId) => getImmutableOrJS$1(state, ['forms', formId, 'pagingInfo']);\nconst selectFormStatus = (state, formId) => getImmutableOrJS$1(state, ['forms', formId, 'status']);\nconst selectEntries = (state, formId) => getImmutableOrJS$1(state, ['forms', formId, 'entries']);\nconst selectPagedFields = formId => createSelector([selectForms], form => {\n const pagingInfo = getImmutableOrJS$1(form, [formId, 'pagingInfo']);\n const fields = getImmutableOrJS$1(form, [formId, 'fields']);\n\n if (fields && fields.length > 0 && pagingInfo && pagingInfo.pageCount > 1) {\n return fields.filter(f => f.groupId == pagingInfo.currentPageId);\n }\n\n return fields;\n});\nconst makeSelectIsLoading = formId => createSelector(selectForms, forms => getImmutableOrJS$1(forms, [formId, 'status', 'isLoading']));\nconst makeSelectFormFields = formId => createSelector(selectForms, forms => getImmutableOrJS$1(forms, [formId, 'fields']));\nconst makeSelectDefaultLang = formId => createSelector(selectForms, forms => getImmutableOrJS$1(forms, [formId, 'defaultLanguage']));\n\nconst URI = '/forms';\nconst getFormSchema = async formId => {\n var options = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n };\n const getUrl = `${URI}/${formId}`;\n const schema = await request(getUrl, options);\n return schema;\n};\nconst getEntries = async (formObj, id) => {\n var options = {\n method: 'POST',\n headers: {\n Accept: '*/*',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(formObj)\n };\n const entriesUrl = `${URI}/entries`;\n const entries = await request(entriesUrl, options);\n return {\n entries,\n id\n };\n};\nconst postForm = async formObj => {\n var options = {\n method: 'POST',\n headers: {\n Accept: '*/*',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(formObj)\n };\n const submitted = await request(URI, options);\n return submitted;\n};\n\nconst request = async (url, options) => {\n return fetch(url, options).then(response => response.json()).then(result => {\n return result;\n }) // eslint-disable-next-line no-console\n .catch(error => console.log('error', error));\n};\n\nconst validateInput = (field, value) => {\n const isRequired = field.validations && field.validations.required;\n const minLength = field.validations && field.validations.minLength;\n const maxLength = field.validations && field.validations.maxLength;\n const regex = field.validations && field.validations.regex;\n const integer = field.dataType === 'integer';\n const decimal = field.dataType === 'decimal';\n\n if (isRequired && !value) {\n const errorMessage = isRequired.message ? isRequired.message['en-GB'] : `${field.id} is required`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (minLength && minLength.value > value.length) {\n const errorMessage = minLength.message ? minLength.message['en-GB'] : `Minimum characters ${minLength.value}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (maxLength && maxLength.value < value.length) {\n const errorMessage = maxLength.message && maxLength.message['en-GB'] ? maxLength.message['en-GB'] : `Maximum characters ${maxLength.value}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n\n if (regex && value.length > 0) {\n //Had to make the string raw, as a string ususually is wrapped as '' and Regex couldnt use the regex patter as the string variant\n const regexPattern = RegExp(regex.pattern.raw);\n\n if (!regexPattern.test(value)) {\n const errorMessage = regex.message ? regex.message['en-GB'] : `${field.id} is invalid`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n\n if (integer) {\n const isInteger = value % 1 === 0;\n\n if (!isInteger) {\n const errorMessage = `${value} is not an ${field.dataType}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n\n if (decimal) {\n const isDecimal = value % 1 !== 0;\n\n if (!isDecimal) {\n const errorMessage = `${value} is not an ${field.dataType}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage\n };\n }\n }\n};\n\nconst {\n selectCurrentAncestors,\n selectCurrentPath,\n selectCurrentProject,\n selectCurrentSearch,\n selectIsNotFound,\n selectQueryStringAsObject,\n selectRouteEntry,\n selectRouteEntryContentTypeId,\n selectRouteEntryDepends,\n selectRouteEntryEntryId,\n selectRouteEntryID,\n selectRouteEntrySlug,\n selectRouteLoading\n} = routing.selectors;\n\nconst formV2Sagas = [takeEvery(SUBMIT_FORM_SUCCESS$1, formSuccess), takeEvery(SUBMIT_FORM_FOR_VALIDATION$1, validateForm), takeEvery(SUBMIT_FORM$1, submitForm$1), takeEvery(SET_FORM_ID$1, fetchForm), takeLatest(VALIDATE_FIELD$1, validateField$1), takeEvery(PAGE_FORWARD$1, togglePage), takeEvery(PAGE_BACK$1, togglePage), takeEvery(SET_FORM_DATA$1, getEntryPickerData), takeLatest(SET_FORM_DATA$1, setDefaultValueFields)];\n\nfunction* validateForm(action) {\n const {\n formId\n } = action;\n yield validateAllfields(formId);\n yield put({\n type: SUBMIT_FORM$1,\n formId\n });\n}\n\nfunction* validateField$1(action) {\n const {\n formId,\n id,\n value\n } = action;\n yield call(validateSingleField, formId, id, value);\n}\n\nfunction* validateGroupfields(formId, groupId) {\n const state = yield select();\n const postData = selectPostData(state, formId);\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n const groupFields = fields.filter(f => f.groupid == groupId);\n let newErrors = [];\n groupFields.forEach(field => {\n let val = '';\n\n if (postData[field.id]) {\n val = postData[field.id];\n }\n\n const err = validateInput(field, val);\n if (err) newErrors.push(err);\n });\n yield put({\n type: SET_FIELD_ERROR$1,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* validateAllfields(formId) {\n const state = yield select();\n const postData = selectPostData(state, formId);\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n let newErrors = [];\n fields.forEach(field => {\n let val = '';\n\n if (postData[field.id]) {\n val = postData[field.id];\n }\n\n const err = validateInput(field, val);\n if (err) newErrors.push(err);\n });\n yield put({\n type: SET_FIELD_ERROR$1,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* validateSingleField(formId, fieldId, value) {\n const state = yield select();\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n const fieldData = fields.find(f => f.id == fieldId);\n const errors = selectFieldErrors(state, formId);\n const newErrors = []; //loop through current errors to remove any of the item we currently edit\n\n errors.forEach(error => {\n if (error.fieldId !== fieldId) {\n //push any existing errors to new array\n newErrors.push(error);\n }\n });\n const err = validateInput(fieldData, value);\n if (err) newErrors.push(err);\n yield put({\n type: SET_FIELD_ERROR$1,\n formId: formId,\n value: newErrors\n });\n}\n\nfunction* togglePage(action) {\n const {\n formId,\n pageIndex\n } = action;\n const state = yield select();\n const formGroups = selectFormGroups(state);\n\n if (action.type === PAGE_FORWARD$1) {\n yield validateGroupfields(formId, formGroups[pageIndex].id);\n }\n\n yield put({\n type: SET_CURRENT_PAGE$1,\n formId: formId,\n pageId: formGroups[pageIndex].id,\n pageCount: formGroups.length,\n pageIndex: pageIndex\n });\n}\n\nfunction* fetchForm(action) {\n const formId = action.formId;\n const schema = yield getFormSchema(formId);\n const groups = schema && schema.groups && schema.groups.length > 0 && schema.groups.filter(group => group.id !== 'private');\n\n if (formId && schema) {\n if (schema.groups && schema.groups.length > 0) {\n yield put({\n type: SET_CURRENT_PAGE$1,\n formId: formId,\n pageId: groups[0].id,\n pageIndex: 0,\n pageCount: groups.length\n });\n }\n\n yield put({\n type: SET_FORM_DATA$1,\n formId: formId,\n fields: schema.fields,\n groups: groups,\n defaultLanguage: schema.defaultLanguage\n });\n }\n}\n\nfunction* formSuccess(action) {\n const state = yield select();\n const selectFormFields = makeSelectFormFields(action.formId);\n const fields = selectFormFields(state);\n const redirect = fields.find(f => f.id === 'formSettingsRedirect');\n const message = fields.find(f => f.id === 'formSettingsMessage');\n\n if (redirect && redirect.default) {\n window.location.href = redirect.default['en-GB'];\n }\n\n if (message && message.default) {\n yield put({\n type: SET_SUCCESS_MESSAGE$1,\n message: message.default['en-GB'],\n formId: action.formId\n });\n }\n}\n\nfunction* submitForm$1(action) {\n const state = yield select();\n const errors = selectFieldErrors(state, action.formId);\n const canSubmit = errors && errors.length == 0;\n\n if (canSubmit) {\n yield put({\n type: SET_SUBMITTING_FORM$1,\n isSubmitting: true,\n formId: action.formId\n });\n const forms = yield select(selectForms);\n const rawData = forms[action.formId];\n const formObj = {\n contentType: action.formId,\n formPost: rawData.data\n };\n const formResObj = yield postForm(formObj);\n\n if (formResObj && formResObj.sys && formResObj.sys.id) {\n yield put({\n type: SUBMIT_FORM_SUCCESS$1,\n formId: action.formId\n });\n } else {\n yield put({\n type: SUBMIT_FORM_ERROR$1,\n formId: action.formId\n });\n }\n }\n}\n\nfunction* setDefaultValueFields(action) {\n const {\n formId,\n fields,\n defaultLanguage\n } = action;\n const entryId = yield select(selectRouteEntryEntryId);\n let fieldObj = {};\n fields.forEach(field => {\n if (field.dataType == 'string' && field.default) {\n const val = field.default[defaultLanguage];\n\n if (val) {\n fieldObj[field.id] = val;\n }\n }\n\n if (field.id == 'sourceEntry') {\n const val = entryId;\n\n if (val) {\n fieldObj[field.id] = val;\n }\n }\n });\n yield put({\n type: SET_DEFAULT_FIELD_VALUE$1,\n formId: formId,\n value: fieldObj\n });\n}\n\nfunction* getEntryPickerData(action) {\n const {\n formId,\n fields\n } = action;\n const entriesToGet = fields.filter(f => f.dataFormat == 'entry');\n let entriesList = [];\n\n if (entriesToGet) {\n entriesList = yield all(entriesToGet.map(entry => {\n const entriesObj = {\n contentType: entry.validations.allowedContentTypes.contentTypes,\n versionStatus: 'published',\n language: 'en-GB',\n pageSize: '10'\n };\n return call(getEntries, entriesObj, entry.id);\n }));\n yield put({\n type: SET_FORM_ENTRIES$1,\n formId: formId,\n entries: entriesList\n });\n }\n}\n\n//Brand\nconst open_teal = '#37BFA7'; //Brand dark\n\nconst teal_dark = '#00a889'; //Primary\n\nconst accent_blue = '#1853AC';\nconst panel_blue = '#00304D'; //Neutrals\n\nconst base_white = '#FFF';\nconst empress_gray = '#757575';\nconst colors = {\n brand: open_teal,\n brandDark: teal_dark,\n primary: accent_blue,\n secondary: panel_blue,\n label: '#333',\n label_optional: '#666',\n border: '#ccc',\n message_link: '#333',\n success: '#118011',\n warning: '#FFB000',\n error: '#C63D54',\n required: '#C63D54',\n neutrals: {\n base_white,\n empress_gray\n }\n};\n\nconst FormStyled = styled.form.withConfig({\n displayName: \"Formstyled__FormStyled\",\n componentId: \"sc-1jn1lk9-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"> div:not(:first-child){margin-top:16px;}padding:0 16px;.success-message{font-size:18px;margin:0;}.visuallyHidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}label{display:inline-block;.isRequired{color:\", \";}}input,textarea,select{display:block;font-family:inherit;background-color:\", \";border-radius:3px;border:1px solid \", \";height:40px;padding:8px;margin-top:4px;max-width:320px;width:100%;}textarea{height:200px;resize:none;}\"], colors.error, colors.neutrals.base_white, colors.border));\n});\n\nconst Label = ({\n className,\n label,\n id,\n isRequired,\n isHidden\n}) => {\n return /*#__PURE__*/React.createElement(\"label\", {\n className: `${className} ${isHidden ? 'visuallyHidden' : ''}`,\n htmlFor: id\n }, label, isRequired && /*#__PURE__*/React.createElement(\"span\", {\n className: \"isRequired\"\n }, \"*\"), isRequired && /*#__PURE__*/React.createElement(\"span\", {\n className: \"visuallyHidden\"\n }, \" (required)\"));\n};\n\nLabel.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n id: PropTypes.string,\n isRequired: PropTypes.bool,\n isHidden: PropTypes.bool\n};\n\nconst CreateMessage = (type, minLength, maxLength, currentLength, defaultLanguage) => {\n if (!type) return null;\n\n switch (type) {\n case 'min':\n {\n if (!minLength) return;\n const minLengthVal = minLength && minLength.value;\n const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];\n const minText = `Minimum of ${minLengthVal.toString()} characters`;\n\n if (errorMessage) {\n return errorMessage;\n } else {\n return minText;\n }\n }\n\n case 'max':\n {\n if (!maxLength) return;\n const maxLengthVal = maxLength && maxLength.value;\n const errorMessage = maxLength && maxLength.message && maxLength.message[defaultLanguage];\n const maxText = `Maximum of ${maxLengthVal.toString()} characters`;\n\n if (errorMessage) {\n return errorMessage;\n } else {\n return maxText;\n }\n }\n\n case 'between':\n {\n if (!maxLength || !minLength) return;\n const minLengthVal = minLength && minLength.value;\n const maxLengthVal = maxLength && maxLength.value;\n const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];\n const rangeText = `Between ${minLengthVal.toString()}-${maxLengthVal.toString()} characters)`;\n\n if (errorMessage) {\n return errorMessage;\n } else if (currentLength < minLengthVal) {\n return `${(minLengthVal - currentLength).toString()} character${minLengthVal > 1 ? 's' : ''} required ${rangeText}`;\n } else if (currentLength > maxLengthVal) {\n return `${(currentLength - maxLengthVal).toString()} character${currentLength - maxLengthVal > 1 ? 's' : ''} over ${rangeText}`;\n } else if (currentLength) {\n return `${(maxLengthVal - currentLength).toString()} characters remaining ${rangeText}`;\n } else {\n return rangeText;\n }\n }\n\n default:\n return null;\n }\n};\n\nconst CharacterLimitStyled = styled.div.withConfig({\n displayName: \"CharacterLimit__CharacterLimitStyled\",\n componentId: \"sc-16zngav-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"display:block;\", \"\"], useDefaultTheme && css([\"font-size:14px;color:\", \";font-weight:400;line-height:24px;text-align:right;max-width:320px;width:100%;\"], theme.colors.neutrals.empress_gray));\n});\n\nconst CharacterLimit = ({\n className,\n value,\n validations,\n defaultLanguage,\n useDefaultTheme\n}) => {\n if (!validations) return null;\n let valueAsString = typeof value === 'number' ? value.toString() : value;\n const currentLength = valueAsString && valueAsString.length ? valueAsString.length : 0;\n const {\n minLength,\n maxLength\n } = validations;\n const hasMaxLength = maxLength && !minLength;\n const hasMinLength = minLength && !maxLength;\n const hasInBetween = minLength && maxLength;\n const type = hasMinLength ? 'min' : hasMaxLength ? 'max' : hasInBetween ? 'between' : null;\n if (!type) return null;\n return /*#__PURE__*/React.createElement(CharacterLimitStyled, {\n className: className,\n useDefaultTheme: useDefaultTheme\n }, CreateMessage(type, minLength, maxLength, currentLength, defaultLanguage));\n};\n\nCharacterLimit.propTypes = {\n validations: PropTypes.object,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n className: PropTypes.string,\n defaultLanguage: PropTypes.string,\n useDefaultTheme: PropTypes.bool\n};\n\nconst ErrorMessageStyled = styled.div.withConfig({\n displayName: \"ErrorMessage__ErrorMessageStyled\",\n componentId: \"sc-1vewdiu-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"display:block;margin-top:8px;color:\", \";\"], theme.colors.error));\n});\n\nconst ErrorMessage = ({\n className,\n message,\n useDefaultTheme\n}) => {\n return /*#__PURE__*/React.createElement(ErrorMessageStyled, {\n className: className,\n useDefaultTheme: useDefaultTheme\n }, message);\n};\n\nErrorMessage.propTypes = {\n className: PropTypes.string,\n message: PropTypes.string.isRequired,\n useDefaultTheme: PropTypes.bool\n};\n\nconst TextfieldStyled = styled.div.withConfig({\n displayName: \"Textfield__TextfieldStyled\",\n componentId: \"sc-1a1c03n-0\"\n})([\"\", \";\"], ({\n isHidden\n}) => {\n return css([\"display:\", \";\"], isHidden ? 'none' : 'block');\n});\n\nconst Textfield = ({\n className,\n formId,\n id,\n label,\n type,\n setValue,\n validateField,\n validations,\n defaultValue,\n defaultLanguage,\n placeholder,\n isHidden,\n errors,\n useDefaultTheme\n}) => {\n const [showCharLimit, setShowCharLimit] = useState(false);\n const isRequired = validations && validations.required ? true : false;\n const placeholderText = placeholder && placeholder.properties && placeholder.properties.placeholderText && placeholder.properties.placeholderText[defaultLanguage];\n const defaultValueText = defaultValue && defaultValue[defaultLanguage] ? defaultValue[defaultLanguage] : defaultValue;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n const _handleBlur = (formId, id, value) => {\n validateField(formId, id, value);\n setShowCharLimit(false);\n };\n\n const _handleFocus = () => {\n setShowCharLimit(true);\n };\n\n return /*#__PURE__*/React.createElement(TextfieldStyled, {\n className: \"textfield-container\",\n isHidden: isHidden\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-textfield\"\n }), showCharLimit && /*#__PURE__*/React.createElement(CharacterLimit, {\n value: defaultValue,\n validations: validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(\"input\", {\n className: `${className ? className : ''} input-textfield`,\n type: type,\n defaultValue: defaultValueText,\n placeholder: placeholderText,\n id: id,\n name: id,\n onChange: e => _handleChange(formId, id, e.target.value),\n onBlur: e => _handleBlur(formId, id, e.target.value),\n onFocus: () => _handleFocus()\n }), errors && errors.length > 0 && errors.some(x => x.fieldId == id) && /*#__PURE__*/React.createElement(ErrorMessage, {\n message: errors.find(x => x.fieldId == id).message,\n useDefaultTheme: useDefaultTheme\n }));\n};\n\nTextfield.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n setValue: PropTypes.func,\n validateField: PropTypes.func,\n validations: PropTypes.object,\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object,\n isHidden: PropTypes.bool,\n errors: PropTypes.array,\n useDefaultTheme: PropTypes.bool\n};\n\nconst Textarea = ({\n className,\n formId,\n id,\n label,\n type,\n setValue,\n validations,\n defaultValue,\n defaultLanguage,\n placeholder,\n validateField,\n useDefaultTheme,\n errors\n}) => {\n const [showCharLimit, setShowCharLimit] = useState(false);\n const isRequired = validations && validations.required ? true : false;\n const placeholderText = placeholder && placeholder.properties && placeholder.properties.placeholderText && placeholder.properties.placeholderText[defaultLanguage];\n const defaultValueText = defaultValue ? defaultValue[defaultLanguage] : null;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n const _handleBlur = (formId, id, value) => {\n validateField(formId, id, value);\n setShowCharLimit(false);\n };\n\n const _handleFocus = () => {\n setShowCharLimit(true);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"textarea-container\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-textarea\"\n }), showCharLimit && /*#__PURE__*/React.createElement(CharacterLimit, {\n value: defaultValue,\n validations: validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(\"textarea\", {\n className: `${className ? className : ''} input-textarea`,\n type: type,\n id: id,\n defaultValue: defaultValueText,\n placeholder: placeholderText,\n onChange: e => _handleChange(formId, id, e.target.value),\n onBlur: e => _handleBlur(formId, id, e.target.value),\n onFocus: () => _handleFocus()\n }), errors && errors.length > 0 && errors.some(x => x.fieldId == id) && /*#__PURE__*/React.createElement(ErrorMessage, {\n message: errors.find(x => x.fieldId == id).message,\n useDefaultTheme: useDefaultTheme\n }));\n};\n\nTextarea.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n setValue: PropTypes.func,\n validations: PropTypes.object,\n defaultValue: PropTypes.object,\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object,\n validateField: PropTypes.func,\n useDefaultTheme: PropTypes.bool,\n errors: PropTypes.array\n};\n\nconst HiddenField = ({\n className,\n id,\n label,\n type,\n defaultValue,\n defaultLanguage,\n placeholder\n}) => {\n return /*#__PURE__*/React.createElement(Textfield, {\n type: type,\n label: label,\n id: id,\n defaultValue: defaultValue,\n defaultLanguage: defaultLanguage,\n placeholder: placeholder,\n className: className,\n isHidden: true\n });\n};\n\nHiddenField.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n defaultValue: PropTypes.object,\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object\n};\n\nconst Dropdown = ({\n className,\n formId,\n id,\n validations,\n defaultValue,\n defaultLanguage,\n label,\n setValue\n}) => {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const ddValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n if (!ddValues || ddValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"dropdown-container\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-dropdown\"\n }), /*#__PURE__*/React.createElement(\"select\", {\n name: id,\n id: id,\n className: `${className ? className : ''} select-dropdown`,\n defaultValue: defaultValue,\n onBlur: e => _handleChange(formId, id, e.target.value)\n }, ddValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"option\", {\n key: `${val[defaultLanguage]}-${idx}`,\n value: val[defaultLanguage],\n className: \"option-dropdown\"\n }, val[defaultLanguage]);\n })));\n};\n\nDropdown.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n id: PropTypes.string,\n validations: PropTypes.object,\n defaultValue: PropTypes.string,\n label: PropTypes.string,\n defaultLanguage: PropTypes.string\n};\n\nconst CheckboxStyled = styled.div.withConfig({\n displayName: \"Checkbox__CheckboxStyled\",\n componentId: \"s8ewuf-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst Checkbox = ({\n className,\n formId,\n setCheckboxValue,\n id,\n type,\n label,\n validations,\n defaultValue,\n name,\n defaultLanguage,\n useDefaultTheme\n}) => {\n // NF change rules of hooks\n let isDefaultChecked = defaultValue && defaultValue[defaultLanguage];\n const [isChecked, setIsChecked] = useState(isDefaultChecked || '');\n\n switch (type) {\n case 'multiple':\n {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const cbValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (value, isChecked) => {\n setCheckboxValue(formId, id, value, isChecked);\n };\n\n if (!cbValues || cbValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(CheckboxStyled, {\n className: `checkbox-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-checkbox-container\"\n }), cbValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: \"checkbox-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: `checkbox-${idx}`,\n name: `checkbox-${idx}`,\n value: val[defaultLanguage],\n className: `${className ? className : ''} input-checkbox`,\n onChange: e => _handleChange(e.target.value, e.target.checked)\n }), /*#__PURE__*/React.createElement(Label, {\n id: `checkbox-${idx}`,\n label: val[defaultLanguage],\n className: \"label-checkbox\"\n }));\n }));\n }\n\n case 'single':\n {\n const _handleChange = isChecked => {\n setIsChecked(isChecked);\n setCheckboxValue(formId, id, isChecked);\n };\n\n return /*#__PURE__*/React.createElement(CheckboxStyled, {\n className: `checkbox-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"checkbox-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: id,\n name: `checkbox-${id}`,\n value: name[defaultLanguage],\n checked: isChecked,\n className: `${className ? className : ''} input-checkbox`,\n onChange: e => _handleChange(e.target.checked)\n }), /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n className: \"label-checkbox\"\n })));\n }\n }\n};\n\nCheckbox.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n type: PropTypes.string,\n label: PropTypes.string,\n setCheckboxValue: PropTypes.func,\n validations: PropTypes.object,\n defaultLanguage: PropTypes.string,\n name: PropTypes.object,\n default: PropTypes.object\n};\n\nconst RadioButtonStyled = styled.div.withConfig({\n displayName: \"RadioButton__RadioButtonStyled\",\n componentId: \"sc-7y8c21-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".radio-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst RadioButton = ({\n className,\n formId,\n setValue,\n id,\n type,\n label,\n validations,\n defaultLanguage,\n useDefaultTheme\n}) => {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const cbValues = validations && validations.allowedValues && validations.allowedValues.values;\n\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n\n if (!cbValues || cbValues.length < 1) return null;\n return /*#__PURE__*/React.createElement(RadioButtonStyled, {\n className: \"radio-container\",\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-radio-container\"\n }), cbValues.map((val, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: \"radio-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: val[defaultLanguage],\n name: id,\n value: val[defaultLanguage],\n className: `${className ? className : ''} input-radio`,\n onChange: e => _handleChange(formId, id, e.target.value)\n }), /*#__PURE__*/React.createElement(Label, {\n id: val[defaultLanguage],\n label: val[defaultLanguage],\n className: \"label-radio\"\n }));\n }));\n};\n\nRadioButton.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n id: PropTypes.string,\n type: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n defaultLanguage: PropTypes.string,\n useDefaultTheme: PropTypes.bool\n};\n\n//example date string: 2019-01-02T13:05:00 (expects ISO 8601 Datetime format yyyy-mm-ddThh:mm:ss [this is the format returned from Contensis delivery api])\n//yyyy > year long, eg. 2019\n//yy > year short, eg. 19\n//MMMM > month long, eg. January\n//MMM > month short, eg. Jan\n//MM > month with leading 0, eg. 01\n//M > month, eg. 1\n//dddd > day long, eg. Monday\n//ddd > day short, eg. Mon\n//dd > date with leading 0, eg. 02\n//d > date, eg. 2\n//HH > 24 hour clock hour parameter with leading 0, eg. ...T03:05:00 = 03\n//H > 24 hour clock hour parameter, eg. ...T03:05:00 = 3\n//hh > 12 hour clock hour parameter with leading 0, eg. ...T16:05:00 = 04\n//h > 12 hour clock hour parameter, eg. ...T16:05:00 = 4\n//mm > minutes with leading 0, eg. ...T16:05:00 = 05\n//m > minutes, eg ...T16:05:00 = 5\n//t > abbreviated AM / PM, e.g. A or P\n//tt > AM / PM, e.g. AM or PM\nconst formatDate = (date, format = 'dd MMMM yyyy') => {\n if (!date) return null;\n const dateObj = new Date(date);\n const dateString = date.toString().split('T');\n const dateArr = dateString[0].split('-');\n const year = dateArr[0];\n const month = dateArr[1];\n const day = dateArr[2];\n const dayNameInt = dateObj.getDay();\n const timeArr = dateString[1].split(':');\n const hour = timeArr[0];\n const minute = timeArr[1]; //convert to abstract strings to avoid character replacement along the chain, eg. Monday would match 'M' month single parameter\n\n const YEAR = ['&&', '&'];\n const MONTH = ['££££', '£££', '££', '£'];\n const DAY = ['%%%%', '%%%', '%%', '%'];\n const HOUR24 = ['!!', '!'];\n const HOUR12 = ['^^', '^'];\n const MINUTE = ['**', '*'];\n const TF = ['??', '?'];\n let formattedDate = format.replace('yyyy', YEAR[0]).replace('yy', YEAR[1]).replace('y', '') //'y' && 'yyy' not valid\n .replace('MMMM', MONTH[0]).replace('MMM', MONTH[1]).replace('MM', MONTH[2]).replace('M', MONTH[3]).replace('dddd', DAY[0]).replace('ddd', DAY[1]).replace('dd', DAY[2]).replace('d', DAY[3]).replace('HH', HOUR24[0]).replace('H', HOUR24[1]).replace('hh', HOUR12[0]).replace('h', HOUR12[1]).replace('mm', MINUTE[0]).replace('m', MINUTE[1]).replace('tt', TF[0]).replace('t', TF[1]).replace(YEAR[0], year).replace(YEAR[1], year.slice(-2)).replace(MONTH[0], monthsLong[parseInt(month, 10)]).replace(MONTH[1], monthsShort[parseInt(month, 10)]).replace(MONTH[2], month).replace(MONTH[3], parseInt(month, 10)).replace(DAY[0], daysLong[dayNameInt]).replace(DAY[1], daysShort[dayNameInt]).replace(DAY[2], day).replace(DAY[3], parseInt(day, 10)).replace(HOUR24[0], hour).replace(HOUR24[1], parseInt(hour, 10)).replace(HOUR12[0], parseHour(hour)).replace(HOUR12[1], parseInt(parseHour(hour), 10)).replace(MINUTE[0], minute).replace(MINUTE[1], parseInt(minute, 10)).replace(TF[0], parseTF(hour)).replace(TF[1], parseTF(hour).slice(0, -1));\n return formattedDate;\n};\n\nconst monthsShort = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nconst monthsLong = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\nconst daysShort = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst daysLong = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\nconst parseHour = hour => {\n return hour > 12 ? hour - 12 : hour;\n};\n\nconst parseTF = hour => {\n return hour > 11 ? 'PM' : 'AM';\n};\n\nconst SingleDate = ({\n className,\n type,\n id,\n label,\n validations,\n setValue,\n formId\n}) => {\n const isRequired = validations && validations.required ? true : false;\n const onlyPassedDates = validations && validations.pastDateTime;\n const d = new Date();\n const todaysDate = d.toISOString();\n\n const _handleChange = (formId, id, value) => {\n const d = new Date(value);\n const isoDate = d.toISOString();\n setValue(formId, id, isoDate);\n };\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"date-container\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: \"label-date\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: id,\n name: id,\n className: `${className ? className : ''} input-date`,\n max: onlyPassedDates ? formatDate(todaysDate, 'yyyy-MM-dd') : '',\n onChange: e => _handleChange(formId, id, e.target.value)\n }));\n};\n\nSingleDate.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n type: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object\n};\n\nconst DateRangeStyled = styled.div.withConfig({\n displayName: \"DateRange__DateRangeStyled\",\n componentId: \"hnzg32-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".daterange-wrapper{display:flex;flex-direction:column;input{&:first-child{margin:0 0 8px 0;}}}\"]));\n});\n\nconst DateRange = ({\n className,\n id,\n label,\n validations,\n setDateRangeValues,\n formId,\n useDefaultTheme\n}) => {\n const isRequired = validations && validations.required ? true : false;\n const onlyPassedDates = validations && validations.pastDateTime;\n const d = new Date();\n const todaysDate = d.toISOString();\n const [toDate, setToDate] = useState('');\n const [fromDate, setFromDate] = useState('');\n\n const _handleDateChange = (dateType, formId, id, value) => {\n _updateDateProps(dateType, value);\n\n const d = new Date(value);\n const isoDate = d.toISOString();\n setDateRangeValues(formId, id, dateType, isoDate);\n };\n\n const _updateDateProps = (type, date) => {\n switch (type) {\n case 'from':\n {\n const d = new Date(date);\n const newDate = d.toISOString();\n setFromDate(newDate);\n break;\n }\n\n case 'to':\n {\n const d = new Date(date);\n const newDate = d.toISOString();\n setToDate(newDate);\n break;\n }\n\n default:\n return;\n }\n };\n\n return /*#__PURE__*/React.createElement(DateRangeStyled, {\n className: `daterange-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"daterange-wrapper\"\n }, /*#__PURE__*/React.createElement(Label, {\n id: \"date-from\",\n label: \"Date from\",\n isHidden: true,\n className: \"label-daterange\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: \"date\",\n id: \"date-from\",\n name: id,\n max: onlyPassedDates && !toDate ? formatDate(todaysDate, 'yyyy-MM-dd') : onlyPassedDates && toDate ? formatDate(toDate, 'yyyy-MM-dd') : toDate ? formatDate(toDate, 'yyyy-MM-dd') : '',\n className: `${className ? className : ''} input-daterange`,\n onChange: e => _handleDateChange('from', formId, id, e.target.value)\n }), /*#__PURE__*/React.createElement(Label, {\n id: \"date-to\",\n label: \"Date to\",\n isHidden: true,\n className: \"label-daterange\"\n }), /*#__PURE__*/React.createElement(\"input\", {\n type: \"date\",\n id: \"date-to\",\n name: id,\n max: onlyPassedDates ? formatDate(todaysDate, 'yyyy-MM-dd') : '',\n min: formatDate(fromDate, 'yyyy-MM-dd'),\n className: `${className ? className : ''} input-daterange`,\n onChange: e => _handleDateChange('to', formId, id, e.target.value)\n })));\n};\n\nDateRange.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setDateRangeValues: PropTypes.func,\n type: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n useDefaultTheme: PropTypes.bool\n};\n\nconst EntryPickerStyled = styled.div.withConfig({\n displayName: \"EntryPicker__EntryPickerStyled\",\n componentId: \"svnu18-0\"\n})([\"\", \";\"], ({\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\".radio-wrapper,.checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}\"]));\n});\n\nconst EntryPicker = ({\n className,\n results,\n id,\n label,\n validations,\n type,\n useDefaultTheme,\n setValue,\n formId\n}) => {\n if (!results || results.length > 3) return null;\n const isRequired = validations && validations.required ? true : false;\n let valArr = [];\n\n const _handleChange = (formId, id, value, isChecked) => {\n if (type === 'checkbox') {\n if (isChecked) {\n valArr.push(value);\n } else if (!isChecked) {\n valArr = valArr.filter(valItem => valItem !== value);\n }\n\n setValue(formId, id, valArr);\n } else {\n setValue(formId, id, value);\n }\n };\n\n return /*#__PURE__*/React.createElement(EntryPickerStyled, {\n className: `${type}-container`,\n useDefaultTheme: useDefaultTheme\n }, /*#__PURE__*/React.createElement(Label, {\n id: id,\n label: label,\n isRequired: isRequired,\n className: `label-${type}-container`\n }), results.map((res, idx) => {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: idx,\n className: `${type}-wrapper`\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: type,\n id: res.entryTitle,\n value: res.entryTitle,\n name: id,\n className: `${className ? className : ''} input-${type}`,\n onChange: e => _handleChange(formId, id, e.target.value, e.target.checked)\n }), /*#__PURE__*/React.createElement(Label, {\n id: res.entryTitle,\n label: res.entryTitle,\n className: `label-${type}`\n }));\n }));\n};\n\nEntryPicker.propTypes = {\n className: PropTypes.string,\n results: PropTypes.array,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n type: PropTypes.string,\n useDefaultTheme: PropTypes.bool,\n setValue: PropTypes.func,\n formId: PropTypes.string\n};\n\nconst FormComposer = ({\n fields,\n formData,\n formId,\n setValue,\n setDateRangeValues,\n validateField,\n defaultLanguage,\n errors,\n useDefaultTheme,\n entries,\n setCheckboxValue\n}) => {\n if (!fields || fields.length < 1) return null; //const arrayOfFields = Object.entries(fields).map(f => f[1]);\n\n return fields.map((field, idx) => {\n if (!field) return null;\n\n switch (field.type) {\n case 'number':\n case 'textfield':\n {\n return /*#__PURE__*/React.createElement(Textfield, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n formId: formId,\n setValue: setValue,\n validations: field.validations,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n defaultValue: formData && formData[field.id] || field.default,\n placeholder: field.editor,\n errors: errors,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'textarea':\n {\n return /*#__PURE__*/React.createElement(Textarea, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n formId: formId,\n setValue: setValue,\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n placeholder: field.editor,\n validateField: validateField,\n useDefaultTheme: useDefaultTheme,\n errors: errors\n });\n }\n\n case 'dropdown':\n {\n return /*#__PURE__*/React.createElement(Dropdown, {\n key: `${field.id}-${idx}`,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n formId: formId,\n setValue: setValue,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'checkbox':\n {\n return /*#__PURE__*/React.createElement(Checkbox, {\n key: `${field.id}-${idx}`,\n id: field.id,\n name: field.name,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n setValue: setValue,\n formId: formId,\n defaultValue: formData && formData[field.id] || field.default,\n type: field.dataType === 'boolean' ? 'single' : 'multiple',\n useDefaultTheme: useDefaultTheme,\n setCheckboxValue: setCheckboxValue\n });\n }\n\n case 'radio':\n {\n return /*#__PURE__*/React.createElement(RadioButton, {\n key: `${field.id}-${idx}`,\n id: field.id,\n type: field.type,\n formId: formId,\n setValue: setValue,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n defaultLanguage: defaultLanguage,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'entryPicker':\n {\n const type = field.dataType === 'objectArray' ? 'checkbox' : 'radio';\n const results = entries && entries[field.id] && entries[field.id].items;\n return /*#__PURE__*/React.createElement(EntryPicker, {\n key: `${field.id}-${idx}`,\n type: type,\n results: results,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n useDefaultTheme: useDefaultTheme,\n setValue: setValue,\n validateField: validateField,\n formId: formId\n });\n }\n\n case 'date':\n {\n return /*#__PURE__*/React.createElement(SingleDate, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n formId: formId,\n setValue: setValue,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'dateRange':\n {\n return /*#__PURE__*/React.createElement(DateRange, {\n key: `${field.id}-${idx}`,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n validations: field.validations,\n formId: formId,\n setDateRangeValues: setDateRangeValues,\n useDefaultTheme: useDefaultTheme\n });\n }\n\n case 'hidden':\n {\n return /*#__PURE__*/React.createElement(HiddenField, {\n key: `${field.id}-${idx}`,\n type: field.type,\n id: field.id,\n label: field.name && field.name[defaultLanguage],\n defaultLanguage: defaultLanguage,\n defaultValue: field.default,\n placeholder: field.editor\n });\n }\n }\n });\n};\n\nFormComposer.propTypes = {\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formId: PropTypes.string,\n setValue: PropTypes.func,\n validateField: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n useDefaultTheme: PropTypes.bool,\n setCheckboxValue: PropTypes.func\n};\n\nconst ButtonStyled = styled.button.withConfig({\n displayName: \"Button__ButtonStyled\",\n componentId: \"hr2oup-0\"\n})([\"\", \";\"], ({\n theme,\n useDefaultTheme\n}) => {\n return css([\"\", \"\"], useDefaultTheme && css([\"display:inline-block;cursor:pointer;margin:16px 0 0 0;padding:8px 16px;border-radius:3px;border:1px solid \", \";font-family:inherit;transition:opacity 200ms ease;&:hover{opacity:0.7;}\"], theme.colors.border));\n});\n\nconst Button = ({\n className,\n type,\n text,\n action,\n useDefaultTheme\n}) => {\n return /*#__PURE__*/React.createElement(ButtonStyled, {\n className: `${className ? className : ''} btnSubmit`,\n type: type,\n onClick: () => action(),\n useDefaultTheme: useDefaultTheme\n }, text);\n};\nButton.propTypes = {\n className: PropTypes.string,\n type: PropTypes.string,\n text: PropTypes.string,\n action: PropTypes.func,\n useDefaultTheme: PropTypes.bool\n};\n\nconst ThemeContext = createContext();\n\nconst ThemeProvider = ({\n children,\n theme\n}) => {\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, null, /*#__PURE__*/React.createElement(ThemeProvider$2, {\n theme: theme\n }, children));\n};\n\nThemeProvider.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n theme: PropTypes.object\n};\n\nconst mediaQueriesNoUnit = {\n s: 470,\n ms: 640,\n m: 768,\n ml: 880,\n l: 1024,\n xl: 1200,\n xxl: 1366,\n wide: 1600\n};\nconst mediaQueries = {\n small: mediaQueriesNoUnit.s + 'px',\n msmall: mediaQueriesNoUnit.ms + 'px',\n medium: mediaQueriesNoUnit.m + 'px',\n mlarge: mediaQueriesNoUnit.ml + 'px',\n large: mediaQueriesNoUnit.l + 'px',\n xlarge: mediaQueriesNoUnit.xl + 'px',\n xxlarge: mediaQueriesNoUnit.xxl + 'px',\n wide: mediaQueriesNoUnit.wide + 'px'\n};\nconst layout = {\n mediaQueries: mediaQueries\n};\n\nconst fontFamily = {\n Poppins: `'Poppins', Arial, sans-serif`\n}; //use html tag name as object key\n//use default object key for base styles\n//use media query key that corresponds with keys set on mediaQueries object from ./layout to map to relevant screen sizes\n//uses a mobile first approach to rules\n\nconst typography = {\n default: {\n color: colors.label,\n font_family: fontFamily.Poppins,\n font_style: 'normal',\n font_weight: 400,\n font_size: '18px',\n line_height: 1.75\n }\n};\nconst defaultStyles = typography.default;\nconst typographyStyles = {\n defaultStyles\n}; // function generateTypeStyles(obj) {\n// return Object.keys(obj)\n// .map(mq => {\n// const props = generateProps(obj[mq]);\n// if (mq === 'default') {\n// return `${props.join(' ')}`;\n// } else {\n// return `@media only screen and (min-width:${\n// mediaQueries[mq]\n// }){${props.join('')}}`;\n// }\n// })\n// .join('');\n// }\n// function generateProps(objMQ) {\n// let props = [];\n// Object.keys(objMQ).map(prop => {\n// props.push(`${prop.split('_').join('-')}: ${objMQ[prop]};`);\n// });\n// return props;\n// }\n\nconst defaultTheme = {\n layout,\n typographyStyles,\n typography,\n colors\n};\n\nconst divStyles = {\n display: 'flex',\n height: '100vh',\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'Column'\n};\nconst svgStyles = {\n width: '80px',\n height: '80px'\n};\nconst headingStyles = {\n margin: '0',\n fontSize: '16px'\n};\nconst Loading = () => {\n return /*#__PURE__*/React.createElement(\"div\", {\n style: divStyles\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: headingStyles\n }, \"Loading...\"), /*#__PURE__*/React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n className: \"lds-spinner\",\n preserveAspectRatio: \"xMidYMid\",\n viewBox: \"0 0 100 100\",\n style: svgStyles\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.9166666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(30 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.8333333333333334s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(60 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.75s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(90 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.6666666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(120 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.5833333333333334s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(150 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.5s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(180 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.4166666666666667s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(210 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.3333333333333333s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(240 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.25s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(270 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.16666666666666666s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(300 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"-0.08333333333333333s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: \"6\",\n height: \"12\",\n x: \"47\",\n y: \"24\",\n fill: \"#DE1C8F\",\n rx: \"9\",\n ry: \"5\",\n transform: \"rotate(330 50 50)\"\n }, /*#__PURE__*/React.createElement(\"animate\", {\n attributeName: \"opacity\",\n begin: \"0s\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n values: \"1;0\"\n }))));\n};\nLoading.propTypes = {};\n\nconst Form$1 = ({\n className,\n formId,\n fields,\n formData,\n setFormId,\n setValue,\n validateField,\n defaultLanguage,\n errors,\n pagingInfo,\n togglePageForward,\n togglePageBack,\n submitForm,\n status,\n setDateRangeValues,\n useDefaultTheme,\n entries,\n customSubmit,\n setCheckboxValue\n}) => {\n useEffect(() => {\n setFormId(formId);\n }, [formId, setFormId]); // NF change rule of hooks\n\n if (!formId) return null;\n let formRender;\n\n if (pagingInfo && pagingInfo.pageCount > 1) {\n const isLastPage = pagingInfo.pageCount == pagingInfo.pageIndex + 1;\n formRender = /*#__PURE__*/React.createElement(FormStyled, {\n className: className,\n id: formId,\n useDefaultTheme: useDefaultTheme\n }, status && status.isLoading || status && status.isSubmitting && /*#__PURE__*/React.createElement(Loading, {\n className: \"loading\"\n }), !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, pagingInfo.pageIndex > 0 && /*#__PURE__*/React.createElement(Button, {\n type: \"button\",\n text: \"Go Back\",\n action: () => togglePageBack(formId, pagingInfo.pageIndex - 1),\n useDefaultTheme: useDefaultTheme\n }), /*#__PURE__*/React.createElement(FormComposer, {\n fields: fields,\n formData: formData,\n formId: formId,\n setValue: setValue,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n pagingInfo: pagingInfo,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n setDateRangeValues: setDateRangeValues,\n setCheckboxValue: setCheckboxValue\n }), !isLastPage && /*#__PURE__*/React.createElement(Button, {\n type: \"button\",\n text: \"Next\",\n action: () => togglePageForward(formId, pagingInfo.pageIndex + 1),\n useDefaultTheme: useDefaultTheme\n }), isLastPage && /*#__PURE__*/React.createElement(Button, {\n text: \"Submit\",\n type: \"button\",\n action: () => {\n submitForm(formId);\n if (customSubmit) customSubmit();\n },\n useDefaultTheme: useDefaultTheme\n })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement(\"p\", {\n className: \"success-message\"\n }, status.successMessage));\n } else {\n formRender = /*#__PURE__*/React.createElement(FormStyled, {\n className: className,\n id: formId,\n useDefaultTheme: useDefaultTheme\n }, status && status.isLoading || status && status.isSubmitting && /*#__PURE__*/React.createElement(Loading, {\n className: \"loading\"\n }), !status || status && !status.isLoading && !status.isSubmitting && !status.hasSuccess && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormComposer, {\n fields: fields,\n formId: formId,\n setValue: setValue,\n setDateRangeValues: setDateRangeValues,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n setCheckboxValue: setCheckboxValue\n }), /*#__PURE__*/React.createElement(Button, {\n text: \"Submit\",\n type: \"button\",\n action: () => {\n submitForm(formId);\n if (customSubmit) customSubmit();\n },\n useDefaultTheme: useDefaultTheme\n })), status && status.hasSuccess && status.successMessage && /*#__PURE__*/React.createElement(\"p\", {\n className: \"success-message\"\n }, status.successMessage));\n }\n\n return /*#__PURE__*/React.createElement(ThemeProvider, {\n theme: defaultTheme\n }, formRender);\n};\n\nForm$1.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n useDefaultTheme: PropTypes.bool,\n setFormId: PropTypes.func,\n setValue: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n validateField: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n pagingInfo: PropTypes.object,\n togglePageForward: PropTypes.func,\n togglePageBack: PropTypes.func,\n submitForm: PropTypes.func,\n customSubmit: PropTypes.func,\n status: PropTypes.object,\n setCheckboxValue: PropTypes.func\n};\n\nfunction action(type, payload = {}) {\n return {\n type,\n ...payload\n };\n}\n\nconst submitForm = formId => action(SUBMIT_FORM_FOR_VALIDATION$1, {\n formId\n});\nconst setFormId = formId => action(SET_FORM_ID$1, {\n formId\n});\nconst setValue = (formId, id, value) => action(SET_FIELD_VALUE$1, {\n formId,\n id,\n value\n});\nconst setCheckboxValue = (formId, id, value, isChecked) => action(SET_CHECKBOX_VALUE$1, {\n formId,\n id,\n value,\n isChecked\n});\nconst setDateRangeValues = (formId, id, dateType, value) => action(SET_DATE_RANGE_VALUES$1, {\n formId,\n id,\n dateType,\n value\n});\nconst validateField = (formId, id, value) => action(VALIDATE_FIELD$1, {\n formId,\n id,\n value\n});\nconst togglePageForward = (formId, pageIndex) => action(PAGE_FORWARD$1, {\n formId,\n pageIndex\n});\nconst togglePageBack = (formId, pageIndex) => action(PAGE_BACK$1, {\n formId,\n pageIndex\n});\n\nconst FormContainer = ({\n className,\n formId,\n fields,\n formData,\n setFormId,\n setValue,\n setDateRangeValues,\n validateField,\n defaultLanguage,\n errors,\n pagingInfo,\n togglePageForward,\n togglePageBack,\n submitForm,\n status,\n useDefaultTheme = true,\n entries,\n setCheckboxValue,\n customSubmit\n}) => {\n return /*#__PURE__*/React.createElement(Form$1, {\n className: className,\n formId: formId,\n fields: fields,\n setFormId: setFormId,\n setValue: setValue,\n setDateRangeValues: setDateRangeValues,\n validateField: validateField,\n defaultLanguage: defaultLanguage,\n errors: errors,\n pagingInfo: pagingInfo,\n togglePageForward: togglePageForward,\n togglePageBack: togglePageBack,\n submitForm: submitForm,\n status: status,\n useDefaultTheme: useDefaultTheme,\n entries: entries,\n formData: formData,\n setCheckboxValue: setCheckboxValue,\n customSubmit: customSubmit\n });\n};\n\nFormContainer.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n setFormId: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n setValue: PropTypes.func,\n useDefaultTheme: PropTypes.bool,\n validateField: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n pagingInfo: PropTypes.object,\n togglePageForward: PropTypes.func,\n togglePageBack: PropTypes.func,\n submitForm: PropTypes.func,\n status: PropTypes.object,\n setCheckboxValue: PropTypes.func,\n customSubmit: PropTypes.func\n};\n\nconst mapStateToProps = (state, props) => {\n const {\n formId\n } = props;\n const selectFormFields = selectPagedFields(formId);\n const selectIsLoading = makeSelectIsLoading(formId);\n const selectDefaultLang = makeSelectDefaultLang(formId);\n return state => ({\n fields: selectFormFields(state),\n loading: selectIsLoading(state),\n defaultLanguage: selectDefaultLang(state),\n errors: selectFieldErrors(state, formId),\n pagingInfo: selectPagingInfo(state, formId),\n status: selectFormStatus(state, formId),\n entries: selectEntries(state, formId),\n formData: selectPostData(state, formId)\n });\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n setFormId: formId => dispatch(setFormId(formId)),\n setValue: (formId, id, value) => dispatch(setValue(formId, id, value)),\n setCheckboxValue: (formId, id, value, isChecked) => dispatch(setCheckboxValue(formId, id, value, isChecked)),\n setDateRangeValues: (formId, id, dateType, value) => dispatch(setDateRangeValues(formId, id, dateType, value)),\n validateField: (formId, id, value) => dispatch(validateField(formId, id, value)),\n togglePageForward: (formId, pageIndex) => dispatch(togglePageForward(formId, pageIndex)),\n togglePageBack: (formId, pageIndex) => dispatch(togglePageBack(formId, pageIndex)),\n submitForm: formId => dispatch(submitForm(formId))\n };\n};\n\nvar Form = connect(mapStateToProps, mapDispatchToProps)(FormContainer);\n\nexport default Form;\nexport { reducer$1 as reducer, formV2Sagas as sagas };\n//# sourceMappingURL=zengenti-forms-package.esm.js.map\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"forms.js","sources":["../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/redux/types.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/utils/MakeFieldType.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/redux/reducer.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/redux/selectors.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/utils/formsAPI.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/utils/formValidation.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/redux/sagas.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/theme/form/colors.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/form/components.styled/Form.styled.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/fields/components/Label.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/messages/utils/CreateMessage.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/messages/components/CharacterLimit.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/messages/components/ErrorMessage.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/fields/components/Textfield.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/fields/components/Textarea.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/fields/components/HiddenField.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/fields/components/Dropdown.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/fields/components/Checkbox.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/fields/components/RadioButton.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/utils/formatDate.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/fields/components/SingleDate.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/fields/components/DateRange.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/fields/components/EntryPicker.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/form/components/FormComposer.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/button/components/Button.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/theme/themeContext.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/theme/form/layout.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/theme/form/typography.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/theme/form/index.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/form/components/Loading.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/form/components/Form.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/redux/actions.js","../node_modules/zengenti-forms-package/src/app/zengenti-forms-package/form/containers/Form.container.js"],"sourcesContent":["const ACTION_PREFIX = '@FORM2/';\nexport const SET_FORM_DATA = `${ACTION_PREFIX}SET_FORM_DATA`;\nexport const SET_FORM_ID = `${ACTION_PREFIX}SET_FORM_ID`;\nexport const SET_CURRENT_PAGE = `${ACTION_PREFIX}SET_CURRENT_PAGE`;\nexport const PAGE_BACK = `${ACTION_PREFIX}PAGE_BACK`;\nexport const PAGE_FORWARD = `${ACTION_PREFIX}PAGE_FORWARD`;\nexport const SET_FIELD_VALUE = `${ACTION_PREFIX}SET_FIELD_VALUE`;\nexport const SET_DEFAULT_FIELD_VALUE = `${ACTION_PREFIX}SET_DEFAULT_FIELD_VALUE`;\nexport const SUBMIT_FORM_FOR_VALIDATION = `${ACTION_PREFIX}SUBMIT_FORM_FOR_VALIDATION`;\nexport const SUBMIT_FORM = `${ACTION_PREFIX}SUBMIT_FORM`;\nexport const SUBMIT_FORM_SUCCESS = `${ACTION_PREFIX}SUBMIT_FORM_SUCCESS`;\nexport const SUBMIT_FORM_ERROR = `${ACTION_PREFIX}SUBMIT_FORM_ERROR`;\nexport const SET_SUBMITTING_FORM = `${ACTION_PREFIX}SET_SUBMITTING_FORM`;\nexport const SET_ERROR = `${ACTION_PREFIX}SET_ERROR`;\nexport const VALIDATE_FIELD = `${ACTION_PREFIX}VALIDATE_FIELD`;\nexport const VALIDATE_PAGE = `${ACTION_PREFIX}VALIDATE_PAGE`;\nexport const SET_FIELD_ERROR = `${ACTION_PREFIX}SET_FIELD_ERROR`;\nexport const SET_DATE_RANGE_VALUES = `${ACTION_PREFIX}SET_DATE_RANGE_VALUES`;\nexport const SET_FORM_ENTRIES = `${ACTION_PREFIX}SET_FORM_ENTRIES`;\nexport const SET_SUCCESS_MESSAGE = `${ACTION_PREFIX}SET_SUCCESS_MESSAGE`;\nexport const SET_CHECKBOX_VALUE = `${ACTION_PREFIX}SET_CHECKBOX_VALUE`;\n","export const MakeFieldType = field => {\n if (!field) return null;\n if (\n field.dataType === 'string' &&\n field.editor &&\n field.editor.id === 'multiline'\n ) {\n return 'textarea';\n } else if (\n field.dataType === 'string' &&\n field.editor &&\n field.editor.id === 'list-dropdown'\n ) {\n return 'dropdown';\n } else if (\n (field.editor &&\n field.editor.properties &&\n field.editor.properties.readOnly) ||\n (field.groupId && field.groupId === 'private')\n ) {\n return 'hidden';\n } else if (field.dataType === 'stringArray' || field.dataType === 'boolean') {\n return 'checkbox';\n } else if (\n field.dataType === 'string' &&\n field.validations &&\n field.validations.allowedValues\n ) {\n return 'radio';\n } else if (field.dataType === 'integer') {\n return 'number';\n } else if (field.dataType === 'dateTime') {\n return 'date';\n } else if (field.dataFormat === 'daterange') {\n return 'dateRange';\n } else if (field.dataFormat === 'entry') {\n return 'entryPicker';\n } else {\n return 'textfield';\n }\n};\n","import { produce } from 'immer';\n\nimport {\n SET_FORM_ID,\n SET_FORM_DATA,\n SET_FIELD_VALUE,\n SET_FIELD_ERROR,\n SET_SUBMITTING_FORM,\n SET_CURRENT_PAGE,\n SET_ERROR,\n SET_DATE_RANGE_VALUES,\n SET_FORM_ENTRIES,\n SUBMIT_FORM_SUCCESS,\n SUBMIT_FORM_ERROR,\n SET_SUCCESS_MESSAGE,\n SET_CHECKBOX_VALUE,\n SET_DEFAULT_FIELD_VALUE,\n} from './types';\n\nimport { MakeFieldType } from '../utils/MakeFieldType';\n\nconst initialSettings = {\n recaptcha: {\n siteKey: null,\n },\n};\n\nconst initialStatus = {\n isLoading: false,\n isSubmitting: false,\n hasSuccess: false,\n successMessage: null,\n hasError: false,\n};\n\nconst initialPagingInfo = {\n pageIndex: 0,\n pageCount: 0,\n currentPageId: null,\n};\n\nconst initialFormData = {\n formId: null,\n data: {},\n fields: [],\n entries: [],\n fieldErrors: [],\n groups: [],\n defaultLanguage: null,\n pagingInfo: initialPagingInfo,\n status: initialStatus,\n};\n\nlet initialState = {\n settings: initialSettings,\n};\n\nexport default produce((state, action) => {\n switch (action.type) {\n case SET_FORM_ID: {\n const { formId } = action || {};\n state[formId] = initialFormData;\n return;\n }\n case SET_FORM_DATA: {\n const { fields, formId, groups, defaultLanguage } = action || {};\n fields.map(field => {\n field.type = MakeFieldType(field);\n });\n\n state[formId].fields = fields;\n state[formId].formId = formId;\n state[formId].groups = groups;\n state[formId].defaultLanguage = defaultLanguage;\n state[formId].status.isSubmitting = false;\n state[formId].status.hasSuccess = false;\n state[formId].status.hasError = false;\n return;\n }\n case SET_CURRENT_PAGE: {\n const { formId, pageId, pageIndex, pageCount } = action || {};\n state[formId].pagingInfo.currentPageId = pageId;\n state[formId].pagingInfo.pageIndex = pageIndex;\n state[formId].pagingInfo.pageCount = pageCount;\n return;\n }\n case SET_FIELD_VALUE: {\n const { formId, id, value } = action || {};\n state[formId].data[id] = value;\n return;\n }\n case SET_DEFAULT_FIELD_VALUE: {\n const { formId, value } = action || {};\n state[formId].data = value;\n return;\n }\n case SET_CHECKBOX_VALUE: {\n const { formId, id, value, isChecked } = action || {};\n let values = state[formId].data[id] || [];\n if (isChecked) state[formId].data[id] = { ...values, value };\n else state[formId].data[id] = values.filter(v => v !== value);\n return;\n }\n case SET_DATE_RANGE_VALUES: {\n const { formId, id, value, dateType } = action || {};\n state[formId].data[id][dateType] = value;\n return;\n }\n case SET_FIELD_ERROR: {\n const { formId, value } = action || {};\n state[formId].fieldErrors = value;\n return;\n }\n case SET_SUBMITTING_FORM: {\n const { formId, isSubmitting } = action || {};\n state[formId].status.isSubmitting = isSubmitting;\n return;\n }\n case SUBMIT_FORM_SUCCESS: {\n const { formId } = action || {};\n state[formId].status.hasError = false;\n state[formId].status.isSubmitting = false;\n state[formId].status.hasSuccess = true;\n return;\n }\n case SET_SUCCESS_MESSAGE: {\n const { formId, message } = action || {};\n state[formId].status.successMessage = message;\n return;\n }\n case SUBMIT_FORM_ERROR: {\n const { formId } = action || {};\n state[formId].status.hasError = true;\n state[formId].status.isSubmitting = false;\n return;\n }\n case SET_FORM_ENTRIES: {\n const { formId, entries } = action || {};\n const entryObject = {};\n entries.map(entry => {\n if (!entry) return null;\n entryObject[entry.id] = entry.entries;\n return entryObject;\n });\n state[formId].entries = entryObject;\n return;\n }\n case SET_ERROR: {\n const { formId } = action || {};\n state[formId].status.hasError = true;\n state[formId].status.isSubmitting = false;\n return;\n }\n default:\n return state;\n }\n}, initialState);\n","import { createSelector } from 'reselect';\nimport { getIn } from '@zengenti/contensis-react-base/redux';\n\nexport const selectForms = state => getIn(state, ['forms']);\nexport const selectFormFieldData = (state, formId, field) =>\n getIn(state, ['forms', formId, 'fields', field]);\nexport const selectFieldErrors = (state, formId) =>\n getIn(state, ['forms', formId, 'fieldErrors']);\nexport const selectPostData = (state, formId) =>\n getIn(state, ['forms', formId, 'data']);\nexport const selectFormGroups = (state, formId) =>\n getIn(state, [('forms', formId, 'groups')]);\nexport const selectPagingInfo = (state, formId) =>\n getIn(state, ['forms', formId, 'pagingInfo']);\nexport const selectFormStatus = (state, formId) =>\n getIn(state, ['forms', formId, 'status']);\nexport const selectFormMessage = (state, formId) =>\n getIn(state, ['forms', formId, 'status', 'successMessage']);\nexport const selectEntries = (state, formId) =>\n getIn(state, ['forms', formId, 'entries']);\nexport const makeSelectHasSuccess = (state, formId) =>\n getIn(state, ['forms', formId, 'status', 'hasSuccess']);\nexport const selectPagedFields = formId =>\n createSelector(\n [selectForms],\n form => {\n const pagingInfo = getIn(form, [formId, 'pagingInfo']);\n const fields = getIn(form, [formId, 'fields']);\n\n if (\n fields &&\n fields.length > 0 &&\n pagingInfo &&\n pagingInfo.pageCount > 1\n ) {\n return fields.filter(f => f.groupId == pagingInfo.currentPageId);\n }\n return fields;\n }\n );\nexport const makeSelectIsLoading = formId =>\n createSelector(\n selectForms,\n forms => getIn(forms, [formId, 'status', 'isLoading'])\n );\nexport const makeSelectFormFields = formId =>\n createSelector(\n selectForms,\n forms => getIn(forms, [formId, 'fields'])\n );\nexport const makeSelectDefaultLang = formId =>\n createSelector(\n selectForms,\n forms => getIn(forms, [formId, 'defaultLanguage'])\n );\n","const URI = '/forms';\n\nexport const getFormSchema = async formId => {\n var options = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n };\n const getUrl = `${URI}/${formId}`;\n const schema = await request(getUrl, options);\n return schema;\n};\nexport const getEntries = async (formObj, id) => {\n var options = {\n method: 'POST',\n headers: {\n Accept: '*/*',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(formObj),\n };\n const entriesUrl = `${URI}/entries`;\n const entries = await request(entriesUrl, options);\n\n return {\n entries,\n id,\n };\n};\nexport const postForm = async formObj => {\n var options = {\n method: 'POST',\n headers: {\n Accept: '*/*',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(formObj),\n };\n const submitted = await request(URI, options);\n return submitted;\n};\nconst request = async (url, options) => {\n return (\n fetch(url, options)\n .then(response => response.json())\n .then(result => {\n return result;\n })\n // eslint-disable-next-line no-console\n .catch(error => console.log('error', error))\n );\n};\n","export const validateInput = (field, value) => {\n const isRequired = field.validations && field.validations.required;\n const minLength = field.validations && field.validations.minLength;\n const maxLength = field.validations && field.validations.maxLength;\n const regex = field.validations && field.validations.regex;\n const integer = field.dataType === 'integer';\n const decimal = field.dataType === 'decimal';\n\n if (isRequired && !value) {\n const errorMessage = isRequired.message\n ? isRequired.message['en-GB']\n : `${field.id} is required`;\n return { fieldId: field.id, groupId: field.groupId, message: errorMessage };\n }\n if (minLength && minLength.value > value.length) {\n const errorMessage = minLength.message\n ? minLength.message['en-GB']\n : `Minimum characters ${minLength.value}`;\n return { fieldId: field.id, groupId: field.groupId, message: errorMessage };\n }\n if (maxLength && maxLength.value < value.length) {\n const errorMessage =\n maxLength.message && maxLength.message['en-GB']\n ? maxLength.message['en-GB']\n : `Maximum characters ${maxLength.value}`;\n return { fieldId: field.id, groupId: field.groupId, message: errorMessage };\n }\n if (regex && value.length > 0) {\n //Had to make the string raw, as a string ususually is wrapped as '' and Regex couldnt use the regex patter as the string variant\n const regexPattern = RegExp(regex.pattern.raw);\n if (!regexPattern.test(value)) {\n const errorMessage = regex.message\n ? regex.message['en-GB']\n : `${field.id} is invalid`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage,\n };\n }\n }\n if (integer) {\n const isInteger = value % 1 === 0;\n if (!isInteger) {\n const errorMessage = `${value} is not an ${field.dataType}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage,\n };\n }\n }\n if (decimal) {\n const isDecimal = value % 1 !== 0;\n if (!isDecimal) {\n const errorMessage = `${value} is not an ${field.dataType}`;\n return {\n fieldId: field.id,\n groupId: field.groupId,\n message: errorMessage,\n };\n }\n }\n};\n","import {\n takeEvery,\n put,\n select,\n takeLatest,\n call,\n all,\n} from 'redux-saga/effects';\n\nimport {\n SET_FORM_DATA,\n SET_FORM_ID,\n SET_SUBMITTING_FORM,\n SET_FIELD_ERROR,\n SUBMIT_FORM,\n SUBMIT_FORM_SUCCESS,\n SET_SUCCESS_MESSAGE,\n SUBMIT_FORM_ERROR,\n SUBMIT_FORM_FOR_VALIDATION,\n VALIDATE_FIELD,\n SET_CURRENT_PAGE,\n PAGE_FORWARD,\n PAGE_BACK,\n SET_FORM_ENTRIES,\n SET_DEFAULT_FIELD_VALUE,\n} from './types';\n\nimport {\n makeSelectFormFields,\n selectFieldErrors,\n selectPostData,\n selectForms,\n selectFormGroups,\n} from './selectors';\nimport { getFormSchema, postForm, getEntries } from '../utils/formsAPI';\nimport { validateInput } from '../utils/formValidation';\nimport { selectors } from '@zengenti/contensis-react-base/routing';\n\nexport const formV2Sagas = [\n takeEvery(SUBMIT_FORM_SUCCESS, formSuccess),\n takeEvery(SUBMIT_FORM_FOR_VALIDATION, validateForm),\n takeEvery(SUBMIT_FORM, submitForm),\n takeEvery(SET_FORM_ID, fetchForm),\n takeLatest(VALIDATE_FIELD, validateField),\n takeEvery(PAGE_FORWARD, togglePage),\n takeEvery(PAGE_BACK, togglePage),\n takeEvery(SET_FORM_DATA, getEntryPickerData),\n takeLatest(SET_FORM_DATA, setDefaultValueFields),\n];\n\nfunction* validateForm(action) {\n const { formId } = action;\n yield validateAllfields(formId);\n yield put({\n type: SUBMIT_FORM,\n formId,\n });\n}\nfunction* validateField(action) {\n const { formId, id, value } = action;\n yield call(validateSingleField, formId, id, value);\n}\nfunction* validateGroupfields(formId, groupId) {\n const state = yield select();\n const postData = selectPostData(state, formId);\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n const groupFields = fields.filter(f => f.groupid == groupId);\n let newErrors = [];\n groupFields.forEach(field => {\n let val = '';\n if (postData[field.id]) {\n val = postData[field.id];\n }\n const err = validateInput(field, val);\n if (err) newErrors.push(err);\n });\n yield put({ type: SET_FIELD_ERROR, formId: formId, value: newErrors });\n}\nfunction* validateAllfields(formId) {\n const state = yield select();\n const postData = selectPostData(state, formId);\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n let newErrors = [];\n fields.forEach(field => {\n let val = '';\n if (postData[field.id]) {\n val = postData[field.id];\n }\n const err = validateInput(field, val);\n if (err) newErrors.push(err);\n });\n yield put({ type: SET_FIELD_ERROR, formId: formId, value: newErrors });\n}\nfunction* validateSingleField(formId, fieldId, value) {\n const state = yield select();\n const selectFormFields = makeSelectFormFields(formId);\n const fields = selectFormFields(state);\n const fieldData = fields.find(f => f.id == fieldId);\n const errors = selectFieldErrors(state, formId);\n const newErrors = [];\n //loop through current errors to remove any of the item we currently edit\n errors.forEach(error => {\n if (error.fieldId !== fieldId) {\n //push any existing errors to new array\n newErrors.push(error);\n }\n });\n const err = validateInput(fieldData, value);\n if (err) newErrors.push(err);\n yield put({ type: SET_FIELD_ERROR, formId: formId, value: newErrors });\n}\nfunction* togglePage(action) {\n const { formId, pageIndex } = action;\n const state = yield select();\n const formGroups = selectFormGroups(state, formId, 'groups');\n\n if (action.type === PAGE_FORWARD) {\n yield validateGroupfields(formId, formGroups[pageIndex].id);\n }\n yield put({\n type: SET_CURRENT_PAGE,\n formId: formId,\n pageId: formGroups[pageIndex].id,\n pageCount: formGroups.length,\n pageIndex: pageIndex,\n });\n}\nfunction* fetchForm(action) {\n const formId = action.formId;\n const schema = yield getFormSchema(formId);\n\n const groups =\n schema &&\n schema.groups &&\n schema.groups.length > 0 &&\n schema.groups.filter(group => group.id !== 'private');\n\n if (formId && schema) {\n if (schema.groups && schema.groups.length > 0) {\n yield put({\n type: SET_CURRENT_PAGE,\n formId: formId,\n pageId: groups[0].id,\n pageIndex: 0,\n pageCount: groups.length,\n });\n }\n yield put({\n type: SET_FORM_DATA,\n formId: formId,\n fields: schema.fields,\n groups: groups,\n defaultLanguage: schema.defaultLanguage,\n });\n }\n}\nfunction* formSuccess(action) {\n const state = yield select();\n const selectFormFields = makeSelectFormFields(action.formId);\n const fields = selectFormFields(state);\n const redirect = fields.find(f => f.id === 'formSettingsRedirect');\n const message = fields.find(f => f.id === 'formSettingsMessage');\n if (redirect && redirect.default) {\n window.location.href = redirect.default['en-GB'];\n }\n if (message && message.default) {\n yield put({\n type: SET_SUCCESS_MESSAGE,\n message: message.default['en-GB'],\n formId: action.formId,\n });\n }\n}\n\nfunction* submitForm(action) {\n const state = yield select();\n const errors = selectFieldErrors(state, action.formId);\n\n const canSubmit = errors && errors.length == 0;\n if (canSubmit) {\n yield put({\n type: SET_SUBMITTING_FORM,\n isSubmitting: true,\n formId: action.formId,\n });\n const forms = yield select(selectForms);\n const rawData = forms[action.formId];\n const formObj = {\n contentType: action.formId,\n formPost: rawData.data,\n };\n const formResObj = yield postForm(formObj);\n if (formResObj && formResObj.sys && formResObj.sys.id) {\n yield put({\n type: SUBMIT_FORM_SUCCESS,\n formId: action.formId,\n });\n } else {\n yield put({\n type: SUBMIT_FORM_ERROR,\n formId: action.formId,\n });\n }\n }\n}\n\nfunction* setDefaultValueFields(action) {\n const { formId, fields, defaultLanguage } = action;\n const entryId = yield select(selectors.selectRouteEntryEntryId);\n let fieldObj = {};\n fields.forEach(field => {\n if (field.dataType == 'string' && field.default) {\n const val = field.default[defaultLanguage];\n if (val) {\n fieldObj[field.id] = val;\n }\n }\n if (field.id == 'sourceEntry') {\n const val = entryId;\n if (val) {\n fieldObj[field.id] = val;\n }\n }\n });\n yield put({\n type: SET_DEFAULT_FIELD_VALUE,\n formId: formId,\n value: fieldObj,\n });\n}\nfunction* getEntryPickerData(action) {\n const { formId, fields } = action;\n const entriesToGet = fields.filter(f => f.dataFormat == 'entry');\n let entriesList = [];\n if (entriesToGet) {\n entriesList = yield all(\n entriesToGet.map(entry => {\n const entriesObj = {\n contentType: entry.validations.allowedContentTypes.contentTypes,\n versionStatus: 'published',\n language: 'en-GB',\n pageSize: '10',\n };\n return call(getEntries, entriesObj, entry.id);\n })\n );\n yield put({\n type: SET_FORM_ENTRIES,\n formId: formId,\n entries: entriesList,\n });\n }\n}\n","//Brand\nconst open_teal = '#37BFA7';\n\n//Brand dark\nconst teal_dark = '#00a889';\n\n//Primary\nconst accent_blue = '#1853AC';\nconst panel_blue = '#00304D';\n\n//Neutrals\nconst base_white = '#FFF';\nconst empress_gray = '#757575';\n\nconst colors = {\n brand: open_teal,\n brandDark: teal_dark,\n primary: accent_blue,\n secondary: panel_blue,\n label: '#333',\n label_optional: '#666',\n border: '#ccc',\n message_link: '#333',\n success: '#118011',\n warning: '#FFB000',\n error: '#C63D54',\n required: '#C63D54',\n neutrals: {\n base_white,\n empress_gray,\n },\n};\n\nexport default colors;\n","import styled, { css } from 'styled-components';\nimport colors from '../../theme/form/colors';\n\nconst FormStyled = styled.form`\n ${({ useDefaultTheme }) => {\n return css`\n ${useDefaultTheme &&\n css`\n > div:not(:first-child) {\n margin-top: 16px;\n }\n padding: 0 16px;\n .success-message {\n font-size: 18px;\n margin: 0;\n }\n .visuallyHidden {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n }\n label {\n display: inline-block;\n .isRequired {\n color: ${colors.error};\n }\n }\n input,\n textarea,\n select {\n display: block;\n font-family: inherit;\n background-color: ${colors.neutrals.base_white};\n border-radius: 3px;\n border: 1px solid ${colors.border};\n height: 40px;\n padding: 8px;\n margin-top: 4px;\n max-width: 320px;\n width: 100%;\n }\n textarea {\n height: 200px;\n resize: none;\n }\n `}\n `;\n }};\n`;\n\nexport default FormStyled;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Label = ({ className, label, id, isRequired, isHidden }) => {\n return (\n <label\n className={`${className} ${isHidden ? 'visuallyHidden' : ''}`}\n htmlFor={id}\n >\n {label}\n {isRequired && <span className=\"isRequired\">*</span>}\n {isRequired && <span className=\"visuallyHidden\"> (required)</span>}\n </label>\n );\n};\n\nLabel.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n id: PropTypes.string,\n isRequired: PropTypes.bool,\n isHidden: PropTypes.bool,\n};\n\nexport default Label;\n","export const CreateMessage = (\n type,\n minLength,\n maxLength,\n currentLength,\n defaultLanguage\n) => {\n if (!type) return null;\n switch (type) {\n case 'min': {\n if (!minLength) return;\n const minLengthVal = minLength && minLength.value;\n const errorMessage =\n minLength && minLength.message && minLength.message[defaultLanguage];\n const minText = `Minimum of ${minLengthVal.toString()} characters`;\n if (errorMessage) {\n return errorMessage;\n } else {\n return minText;\n }\n }\n case 'max': {\n if (!maxLength) return;\n const maxLengthVal = maxLength && maxLength.value;\n const errorMessage =\n maxLength && maxLength.message && maxLength.message[defaultLanguage];\n const maxText = `Maximum of ${maxLengthVal.toString()} characters`;\n if (errorMessage) {\n return errorMessage;\n } else {\n return maxText;\n }\n }\n case 'between': {\n if (!maxLength || !minLength) return;\n const minLengthVal = minLength && minLength.value;\n const maxLengthVal = maxLength && maxLength.value;\n const errorMessage =\n minLength && minLength.message && minLength.message[defaultLanguage];\n const rangeText = `Between ${minLengthVal.toString()}-${maxLengthVal.toString()} characters)`;\n if (errorMessage) {\n return errorMessage;\n } else if (currentLength < minLengthVal) {\n return `${(minLengthVal - currentLength).toString()} character${\n minLengthVal > 1 ? 's' : ''\n } required ${rangeText}`;\n } else if (currentLength > maxLengthVal) {\n return `${(currentLength - maxLengthVal).toString()} character${\n currentLength - maxLengthVal > 1 ? 's' : ''\n } over ${rangeText}`;\n } else if (currentLength) {\n return `${(\n maxLengthVal - currentLength\n ).toString()} characters remaining ${rangeText}`;\n } else {\n return rangeText;\n }\n }\n default:\n return null;\n }\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\nimport { CreateMessage } from '../utils/CreateMessage';\n\nconst CharacterLimitStyled = styled.div`\n ${({ theme, useDefaultTheme }) => {\n return css`\n display: block;\n ${useDefaultTheme &&\n css`\n font-size: 14px;\n color: ${theme.colors.neutrals.empress_gray};\n font-weight: 400;\n line-height: 24px;\n text-align: right;\n max-width: 320px;\n width: 100%;\n `}\n `;\n }};\n`;\n\nconst CharacterLimit = ({\n className,\n value,\n validations,\n defaultLanguage,\n useDefaultTheme,\n}) => {\n if (!validations) return null;\n let valueAsString = typeof value === 'number' ? value.toString() : value;\n const currentLength =\n valueAsString && valueAsString.length ? valueAsString.length : 0;\n const { minLength, maxLength } = validations;\n const hasMaxLength = maxLength && !minLength;\n const hasMinLength = minLength && !maxLength;\n const hasInBetween = minLength && maxLength;\n const type = hasMinLength\n ? 'min'\n : hasMaxLength\n ? 'max'\n : hasInBetween\n ? 'between'\n : null;\n if (!type) return null;\n return (\n <CharacterLimitStyled\n className={className}\n useDefaultTheme={useDefaultTheme}\n >\n {CreateMessage(\n type,\n minLength,\n maxLength,\n currentLength,\n defaultLanguage\n )}\n </CharacterLimitStyled>\n );\n};\n\nCharacterLimit.propTypes = {\n validations: PropTypes.object,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n className: PropTypes.string,\n defaultLanguage: PropTypes.string,\n useDefaultTheme: PropTypes.bool,\n};\n\nexport default CharacterLimit;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\n\nconst ErrorMessageStyled = styled.div`\n ${({ theme, useDefaultTheme }) => {\n return css`\n ${useDefaultTheme &&\n css`\n display: block;\n margin-top: 8px;\n color: ${theme.colors.error};\n `}\n `;\n }};\n`;\n\nconst ErrorMessage = ({ className, message, useDefaultTheme }) => {\n return (\n <ErrorMessageStyled className={className} useDefaultTheme={useDefaultTheme}>\n {message}\n </ErrorMessageStyled>\n );\n};\n\nErrorMessage.propTypes = {\n className: PropTypes.string,\n message: PropTypes.string.isRequired,\n useDefaultTheme: PropTypes.bool,\n};\n\nexport default ErrorMessage;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Label from './Label';\nimport { CharacterLimit, ErrorMessage } from '../../messages';\nimport styled, { css } from 'styled-components';\n\nconst TextfieldStyled = styled.div`\n ${({ isHidden }) => {\n return css`\n display: ${isHidden ? 'none' : 'block'};\n `;\n }};\n`;\n\nconst Textfield = ({\n className,\n formId,\n id,\n label,\n type,\n setValue,\n validateField,\n validations,\n defaultValue,\n defaultLanguage,\n placeholder,\n isHidden,\n errors,\n useDefaultTheme,\n}) => {\n const [showCharLimit, setShowCharLimit] = useState(false);\n const isRequired = validations && validations.required ? true : false;\n const placeholderText =\n placeholder &&\n placeholder.properties &&\n placeholder.properties.placeholderText &&\n placeholder.properties.placeholderText[defaultLanguage];\n\n const defaultValueText =\n defaultValue && defaultValue[defaultLanguage]\n ? defaultValue[defaultLanguage]\n : defaultValue;\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n const _handleBlur = (formId, id, value) => {\n validateField(formId, id, value);\n setShowCharLimit(false);\n };\n const _handleFocus = () => {\n setShowCharLimit(true);\n };\n\n return (\n <TextfieldStyled className=\"textfield-container\" isHidden={isHidden}>\n <Label\n id={id}\n label={label}\n isRequired={isRequired}\n className=\"label-textfield\"\n />\n {showCharLimit && (\n <CharacterLimit\n value={defaultValue}\n validations={validations}\n defaultLanguage={defaultLanguage}\n useDefaultTheme={useDefaultTheme}\n />\n )}\n <input\n className={`${className ? className : ''} input-textfield`}\n type={type}\n defaultValue={defaultValueText}\n placeholder={placeholderText}\n id={id}\n name={id}\n onChange={e => _handleChange(formId, id, e.target.value)}\n onBlur={e => _handleBlur(formId, id, e.target.value)}\n onFocus={() => _handleFocus()}\n />\n {errors && errors.length > 0 && errors.some(x => x.fieldId == id) && (\n <ErrorMessage\n message={errors.find(x => x.fieldId == id).message}\n useDefaultTheme={useDefaultTheme}\n />\n )}\n </TextfieldStyled>\n );\n};\n\nTextfield.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n setValue: PropTypes.func,\n validateField: PropTypes.func,\n validations: PropTypes.object,\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object,\n isHidden: PropTypes.bool,\n errors: PropTypes.array,\n useDefaultTheme: PropTypes.bool,\n};\n\nexport default Textfield;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Label from './Label';\nimport { CharacterLimit, ErrorMessage } from '../../messages';\nconst Textarea = ({\n className,\n formId,\n id,\n label,\n type,\n setValue,\n validations,\n defaultValue,\n defaultLanguage,\n placeholder,\n validateField,\n useDefaultTheme,\n errors,\n}) => {\n const [showCharLimit, setShowCharLimit] = useState(false);\n const isRequired = validations && validations.required ? true : false;\n const placeholderText =\n placeholder &&\n placeholder.properties &&\n placeholder.properties.placeholderText &&\n placeholder.properties.placeholderText[defaultLanguage];\n const defaultValueText = defaultValue ? defaultValue[defaultLanguage] : null;\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n const _handleBlur = (formId, id, value) => {\n validateField(formId, id, value);\n setShowCharLimit(false);\n };\n const _handleFocus = () => {\n setShowCharLimit(true);\n };\n\n return (\n <div className=\"textarea-container\">\n <Label\n id={id}\n label={label}\n isRequired={isRequired}\n className=\"label-textarea\"\n />\n {showCharLimit && (\n <CharacterLimit\n value={defaultValue}\n validations={validations}\n defaultLanguage={defaultLanguage}\n useDefaultTheme={useDefaultTheme}\n />\n )}\n <textarea\n className={`${className ? className : ''} input-textarea`}\n type={type}\n id={id}\n defaultValue={defaultValueText}\n placeholder={placeholderText}\n onChange={e => _handleChange(formId, id, e.target.value)}\n onBlur={e => _handleBlur(formId, id, e.target.value)}\n onFocus={() => _handleFocus()}\n />\n {errors && errors.length > 0 && errors.some(x => x.fieldId == id) && (\n <ErrorMessage\n message={errors.find(x => x.fieldId == id).message}\n useDefaultTheme={useDefaultTheme}\n />\n )}\n </div>\n );\n};\n\nTextarea.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n setValue: PropTypes.func,\n validations: PropTypes.object,\n defaultValue: PropTypes.object,\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object,\n validateField: PropTypes.func,\n useDefaultTheme: PropTypes.bool,\n errors: PropTypes.array,\n};\n\nexport default Textarea;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Textfield from './Textfield';\n\nconst HiddenField = ({\n className,\n id,\n label,\n type,\n defaultValue,\n defaultLanguage,\n placeholder,\n}) => {\n return (\n <Textfield\n type={type}\n label={label}\n id={id}\n defaultValue={defaultValue}\n defaultLanguage={defaultLanguage}\n placeholder={placeholder}\n className={className}\n isHidden={true}\n />\n );\n};\n\nHiddenField.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n type: PropTypes.string,\n defaultValue: PropTypes.object,\n defaultLanguage: PropTypes.string,\n placeholder: PropTypes.object,\n};\n\nexport default HiddenField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Label from './Label';\n\nconst Dropdown = ({\n className,\n formId,\n id,\n validations,\n defaultValue,\n defaultLanguage,\n label,\n setValue,\n}) => {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const ddValues =\n validations &&\n validations.allowedValues &&\n validations.allowedValues.values;\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n if (!ddValues || ddValues.length < 1) return null;\n return (\n <div className=\"dropdown-container\">\n <Label\n id={id}\n label={label}\n isRequired={isRequired}\n className=\"label-dropdown\"\n />\n <select\n name={id}\n id={id}\n className={`${className ? className : ''} select-dropdown`}\n defaultValue={defaultValue}\n onBlur={e => _handleChange(formId, id, e.target.value)}\n >\n {ddValues.map((val, idx) => {\n return (\n <option\n key={`${val[defaultLanguage]}-${idx}`}\n value={val[defaultLanguage]}\n className=\"option-dropdown\"\n >\n {val[defaultLanguage]}\n </option>\n );\n })}\n </select>\n </div>\n );\n};\n\nDropdown.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n id: PropTypes.string,\n validations: PropTypes.object,\n defaultValue: PropTypes.string,\n label: PropTypes.string,\n defaultLanguage: PropTypes.string,\n};\n\nexport default Dropdown;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\nimport Label from './Label';\n\nconst CheckboxStyled = styled.div`\n ${({ useDefaultTheme }) => {\n return css`\n ${useDefaultTheme &&\n css`\n .checkbox-wrapper {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center;\n input {\n height: auto;\n width: auto;\n margin: 0 4px 0 0;\n }\n label {\n display: inline-block;\n }\n }\n `}\n `;\n }};\n`;\n\nconst Checkbox = ({\n className,\n formId,\n setCheckboxValue,\n id,\n type,\n label,\n validations,\n defaultValue,\n name,\n defaultLanguage,\n useDefaultTheme,\n}) => {\n // NF change rules of hooks\n let isDefaultChecked = defaultValue && defaultValue[defaultLanguage];\n const [isChecked, setIsChecked] = useState(isDefaultChecked || '');\n\n switch (type) {\n case 'multiple': {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const cbValues =\n validations &&\n validations.allowedValues &&\n validations.allowedValues.values;\n\n const _handleChange = (value, isChecked) => {\n setCheckboxValue(formId, id, value, isChecked);\n };\n\n if (!cbValues || cbValues.length < 1) return null;\n return (\n <CheckboxStyled\n className={`checkbox-container`}\n useDefaultTheme={useDefaultTheme}\n >\n <Label\n id={id}\n label={label}\n isRequired={isRequired}\n className=\"label-checkbox-container\"\n />\n {cbValues.map((val, idx) => {\n return (\n <span key={idx} className=\"checkbox-wrapper\">\n <input\n type=\"checkbox\"\n id={`checkbox-${idx}`}\n name={`checkbox-${idx}`}\n value={val[defaultLanguage]}\n className={`${className ? className : ''} input-checkbox`}\n onChange={e =>\n _handleChange(e.target.value, e.target.checked)\n }\n />\n <Label\n id={`checkbox-${idx}`}\n label={val[defaultLanguage]}\n className=\"label-checkbox\"\n />\n </span>\n );\n })}\n </CheckboxStyled>\n );\n }\n case 'single': {\n const _handleChange = isChecked => {\n setIsChecked(isChecked);\n setCheckboxValue(formId, id, isChecked);\n };\n return (\n <CheckboxStyled\n className={`checkbox-container`}\n useDefaultTheme={useDefaultTheme}\n >\n <span className=\"checkbox-wrapper\">\n <input\n type=\"checkbox\"\n id={id}\n name={`checkbox-${id}`}\n value={name[defaultLanguage]}\n checked={isChecked}\n className={`${className ? className : ''} input-checkbox`}\n onChange={e => _handleChange(e.target.checked)}\n />\n <Label id={id} label={label} className=\"label-checkbox\" />\n </span>\n </CheckboxStyled>\n );\n }\n }\n};\n\nCheckbox.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n id: PropTypes.string,\n type: PropTypes.string,\n label: PropTypes.string,\n setCheckboxValue: PropTypes.func,\n validations: PropTypes.object,\n defaultLanguage: PropTypes.string,\n name: PropTypes.object,\n default: PropTypes.object,\n};\n\nexport default Checkbox;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\nimport Label from './Label';\n\nconst RadioButtonStyled = styled.div`\n ${({ useDefaultTheme }) => {\n return css`\n ${useDefaultTheme &&\n css`\n .radio-wrapper {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center;\n input {\n height: auto;\n width: auto;\n margin: 0 4px 0 0;\n }\n label {\n display: inline-block;\n }\n }\n `}\n `;\n }};\n`;\n\nconst RadioButton = ({\n className,\n formId,\n setValue,\n id,\n type,\n label,\n validations,\n defaultLanguage,\n useDefaultTheme,\n}) => {\n if (!validations) return null;\n const isRequired = validations && validations.required ? true : false;\n const cbValues =\n validations &&\n validations.allowedValues &&\n validations.allowedValues.values;\n const _handleChange = (formId, id, value) => {\n setValue(formId, id, value);\n };\n if (!cbValues || cbValues.length < 1) return null;\n return (\n <RadioButtonStyled\n className=\"radio-container\"\n useDefaultTheme={useDefaultTheme}\n >\n <Label\n id={id}\n label={label}\n isRequired={isRequired}\n className=\"label-radio-container\"\n />\n {cbValues.map((val, idx) => {\n return (\n <span key={idx} className=\"radio-wrapper\">\n <input\n type={type}\n id={val[defaultLanguage]}\n name={id}\n value={val[defaultLanguage]}\n className={`${className ? className : ''} input-radio`}\n onChange={e => _handleChange(formId, id, e.target.value)}\n />\n <Label\n id={val[defaultLanguage]}\n label={val[defaultLanguage]}\n className=\"label-radio\"\n />\n </span>\n );\n })}\n </RadioButtonStyled>\n );\n};\n\nRadioButton.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n id: PropTypes.string,\n type: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n defaultLanguage: PropTypes.string,\n useDefaultTheme: PropTypes.bool,\n};\n\nexport default RadioButton;\n","//example date string: 2019-01-02T13:05:00 (expects ISO 8601 Datetime format yyyy-mm-ddThh:mm:ss [this is the format returned from Contensis delivery api])\n//yyyy > year long, eg. 2019\n//yy > year short, eg. 19\n//MMMM > month long, eg. January\n//MMM > month short, eg. Jan\n//MM > month with leading 0, eg. 01\n//M > month, eg. 1\n//dddd > day long, eg. Monday\n//ddd > day short, eg. Mon\n//dd > date with leading 0, eg. 02\n//d > date, eg. 2\n//HH > 24 hour clock hour parameter with leading 0, eg. ...T03:05:00 = 03\n//H > 24 hour clock hour parameter, eg. ...T03:05:00 = 3\n//hh > 12 hour clock hour parameter with leading 0, eg. ...T16:05:00 = 04\n//h > 12 hour clock hour parameter, eg. ...T16:05:00 = 4\n//mm > minutes with leading 0, eg. ...T16:05:00 = 05\n//m > minutes, eg ...T16:05:00 = 5\n//t > abbreviated AM / PM, e.g. A or P\n//tt > AM / PM, e.g. AM or PM\n\nconst formatDate = (date, format = 'dd MMMM yyyy') => {\n if (!date) return null;\n const dateObj = new Date(date);\n const dateString = date.toString().split('T');\n const dateArr = dateString[0].split('-');\n const year = dateArr[0];\n const month = dateArr[1];\n const day = dateArr[2];\n const dayNameInt = dateObj.getDay();\n const timeArr = dateString[1].split(':');\n const hour = timeArr[0];\n const minute = timeArr[1];\n\n //convert to abstract strings to avoid character replacement along the chain, eg. Monday would match 'M' month single parameter\n const YEAR = ['&&', '&'];\n const MONTH = ['££££', '£££', '££', '£'];\n const DAY = ['%%%%', '%%%', '%%', '%'];\n const HOUR24 = ['!!', '!'];\n const HOUR12 = ['^^', '^'];\n const MINUTE = ['**', '*'];\n const TF = ['??', '?'];\n\n let formattedDate = format\n .replace('yyyy', YEAR[0])\n .replace('yy', YEAR[1])\n .replace('y', '') //'y' && 'yyy' not valid\n .replace('MMMM', MONTH[0])\n .replace('MMM', MONTH[1])\n .replace('MM', MONTH[2])\n .replace('M', MONTH[3])\n .replace('dddd', DAY[0])\n .replace('ddd', DAY[1])\n .replace('dd', DAY[2])\n .replace('d', DAY[3])\n .replace('HH', HOUR24[0])\n .replace('H', HOUR24[1])\n .replace('hh', HOUR12[0])\n .replace('h', HOUR12[1])\n .replace('mm', MINUTE[0])\n .replace('m', MINUTE[1])\n .replace('tt', TF[0])\n .replace('t', TF[1])\n .replace(YEAR[0], year)\n .replace(YEAR[1], year.slice(-2))\n .replace(MONTH[0], monthsLong[parseInt(month, 10)])\n .replace(MONTH[1], monthsShort[parseInt(month, 10)])\n .replace(MONTH[2], month)\n .replace(MONTH[3], parseInt(month, 10))\n .replace(DAY[0], daysLong[dayNameInt])\n .replace(DAY[1], daysShort[dayNameInt])\n .replace(DAY[2], day)\n .replace(DAY[3], parseInt(day, 10))\n .replace(HOUR24[0], hour)\n .replace(HOUR24[1], parseInt(hour, 10))\n .replace(HOUR12[0], parseHour(hour))\n .replace(HOUR12[1], parseInt(parseHour(hour), 10))\n .replace(MINUTE[0], minute)\n .replace(MINUTE[1], parseInt(minute, 10))\n .replace(TF[0], parseTF(hour))\n .replace(TF[1], parseTF(hour).slice(0, -1));\n\n return formattedDate;\n};\n\nconst monthsShort = [\n '',\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n];\n\nconst monthsLong = [\n '',\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\nconst daysShort = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\nconst daysLong = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n];\n\nconst parseHour = hour => {\n return hour > 12 ? hour - 12 : hour;\n};\n\nconst parseTF = hour => {\n return hour > 11 ? 'PM' : 'AM';\n};\n\nexport default formatDate;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Label from './Label';\nimport formatDate from '../../utils/formatDate';\n\nconst SingleDate = ({\n className,\n type,\n id,\n label,\n validations,\n setValue,\n formId,\n}) => {\n const isRequired = validations && validations.required ? true : false;\n const onlyPassedDates = validations && validations.pastDateTime;\n\n const d = new Date();\n const todaysDate = d.toISOString();\n\n const _handleChange = (formId, id, value) => {\n const d = new Date(value);\n const isoDate = d.toISOString();\n setValue(formId, id, isoDate);\n };\n return (\n <div className=\"date-container\">\n <Label\n id={id}\n label={label}\n isRequired={isRequired}\n className=\"label-date\"\n />\n <input\n type={type}\n id={id}\n name={id}\n className={`${className ? className : ''} input-date`}\n max={onlyPassedDates ? formatDate(todaysDate, 'yyyy-MM-dd') : ''}\n onChange={e => _handleChange(formId, id, e.target.value)}\n />\n </div>\n );\n};\n\nSingleDate.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setValue: PropTypes.func,\n type: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n};\n\nexport default SingleDate;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Label from './Label';\nimport formatDate from '../../utils/formatDate';\nimport styled, { css } from 'styled-components';\n\nconst DateRangeStyled = styled.div`\n ${({ useDefaultTheme }) => {\n return css`\n ${useDefaultTheme &&\n css`\n .daterange-wrapper {\n display: flex;\n flex-direction: column;\n input {\n &:first-child {\n margin: 0 0 8px 0;\n }\n }\n }\n `}\n `;\n }};\n`;\n\nconst DateRange = ({\n className,\n id,\n label,\n validations,\n setDateRangeValues,\n formId,\n useDefaultTheme,\n}) => {\n const isRequired = validations && validations.required ? true : false;\n const onlyPassedDates = validations && validations.pastDateTime;\n\n const d = new Date();\n const todaysDate = d.toISOString();\n\n const [toDate, setToDate] = useState('');\n const [fromDate, setFromDate] = useState('');\n\n const _handleDateChange = (dateType, formId, id, value) => {\n _updateDateProps(dateType, value);\n const d = new Date(value);\n const isoDate = d.toISOString();\n setDateRangeValues(formId, id, dateType, isoDate);\n };\n\n const _updateDateProps = (type, date) => {\n switch (type) {\n case 'from': {\n const d = new Date(date);\n const newDate = d.toISOString();\n setFromDate(newDate);\n break;\n }\n case 'to': {\n const d = new Date(date);\n const newDate = d.toISOString();\n setToDate(newDate);\n break;\n }\n default:\n return;\n }\n };\n return (\n <DateRangeStyled\n className={`daterange-container`}\n useDefaultTheme={useDefaultTheme}\n >\n <Label id={id} label={label} isRequired={isRequired} />\n <div className=\"daterange-wrapper\">\n <Label\n id=\"date-from\"\n label=\"Date from\"\n isHidden\n className=\"label-daterange\"\n />\n <input\n type=\"date\"\n id=\"date-from\"\n name={id}\n max={\n onlyPassedDates && !toDate\n ? formatDate(todaysDate, 'yyyy-MM-dd')\n : onlyPassedDates && toDate\n ? formatDate(toDate, 'yyyy-MM-dd')\n : toDate\n ? formatDate(toDate, 'yyyy-MM-dd')\n : ''\n }\n className={`${className ? className : ''} input-daterange`}\n onChange={e => _handleDateChange('from', formId, id, e.target.value)}\n />\n <Label\n id=\"date-to\"\n label=\"Date to\"\n isHidden\n className=\"label-daterange\"\n />\n <input\n type=\"date\"\n id=\"date-to\"\n name={id}\n max={onlyPassedDates ? formatDate(todaysDate, 'yyyy-MM-dd') : ''}\n min={formatDate(fromDate, 'yyyy-MM-dd')}\n className={`${className ? className : ''} input-daterange`}\n onChange={e => _handleDateChange('to', formId, id, e.target.value)}\n />\n </div>\n </DateRangeStyled>\n );\n};\n\nDateRange.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n setDateRangeValues: PropTypes.func,\n type: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n useDefaultTheme: PropTypes.bool,\n};\n\nexport default DateRange;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Label from './Label';\nimport styled, { css } from 'styled-components';\n\nconst EntryPickerStyled = styled.div`\n ${({ useDefaultTheme }) => {\n return css`\n ${useDefaultTheme &&\n css`\n .radio-wrapper,\n .checkbox-wrapper {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center;\n input {\n height: auto;\n width: auto;\n margin: 0 4px 0 0;\n }\n label {\n display: inline-block;\n }\n }\n `}\n `;\n }};\n`;\n\nconst EntryPicker = ({\n className,\n results,\n id,\n label,\n validations,\n type,\n useDefaultTheme,\n setValue,\n formId,\n}) => {\n if (!results || results.length > 3) return null;\n const isRequired = validations && validations.required ? true : false;\n\n let valArr = [];\n const _handleChange = (formId, id, value, isChecked) => {\n if (type === 'checkbox') {\n if (isChecked) {\n valArr.push(value);\n } else if (!isChecked) {\n valArr = valArr.filter(valItem => valItem !== value);\n }\n setValue(formId, id, valArr);\n } else {\n setValue(formId, id, value);\n }\n };\n return (\n <EntryPickerStyled\n className={`${type}-container`}\n useDefaultTheme={useDefaultTheme}\n >\n <Label\n id={id}\n label={label}\n isRequired={isRequired}\n className={`label-${type}-container`}\n />\n {results.map((res, idx) => {\n return (\n <span key={idx} className={`${type}-wrapper`}>\n <input\n type={type}\n id={res.entryTitle}\n value={res.entryTitle}\n name={id}\n className={`${className ? className : ''} input-${type}`}\n onChange={e =>\n _handleChange(formId, id, e.target.value, e.target.checked)\n }\n />\n <Label\n id={res.entryTitle}\n label={res.entryTitle}\n className={`label-${type}`}\n />\n </span>\n );\n })}\n </EntryPickerStyled>\n );\n};\n\nEntryPicker.propTypes = {\n className: PropTypes.string,\n results: PropTypes.array,\n id: PropTypes.string,\n label: PropTypes.string,\n validations: PropTypes.object,\n type: PropTypes.string,\n useDefaultTheme: PropTypes.bool,\n setValue: PropTypes.func,\n formId: PropTypes.string,\n};\n\nexport default EntryPicker;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Textarea,\n Textfield,\n HiddenField,\n DropDown,\n Checkbox,\n RadioButton,\n SingleDate,\n DateRange,\n EntryPicker,\n} from '../../fields';\n\nconst FormComposer = ({\n fields,\n formData,\n formId,\n setValue,\n setDateRangeValues,\n validateField,\n defaultLanguage,\n errors,\n useDefaultTheme,\n entries,\n setCheckboxValue,\n}) => {\n if (!fields || fields.length < 1) return null;\n //const arrayOfFields = Object.entries(fields).map(f => f[1]);\n return fields.map((field, idx) => {\n if (!field) return null;\n switch (field.type) {\n case 'number':\n case 'textfield': {\n return (\n <Textfield\n key={`${field.id}-${idx}`}\n type={field.type}\n id={field.id}\n label={field.name && field.name[defaultLanguage]}\n formId={formId}\n setValue={setValue}\n validations={field.validations}\n validateField={validateField}\n defaultLanguage={defaultLanguage}\n defaultValue={(formData && formData[field.id]) || field.default}\n placeholder={field.editor}\n errors={errors}\n useDefaultTheme={useDefaultTheme}\n />\n );\n }\n case 'textarea': {\n return (\n <Textarea\n key={`${field.id}-${idx}`}\n type={field.type}\n id={field.id}\n label={field.name && field.name[defaultLanguage]}\n formId={formId}\n setValue={setValue}\n validations={field.validations}\n defaultLanguage={defaultLanguage}\n defaultValue={field.default}\n placeholder={field.editor}\n validateField={validateField}\n useDefaultTheme={useDefaultTheme}\n errors={errors}\n />\n );\n }\n case 'dropdown': {\n return (\n <DropDown\n key={`${field.id}-${idx}`}\n id={field.id}\n label={field.name && field.name[defaultLanguage]}\n validations={field.validations}\n defaultLanguage={defaultLanguage}\n defaultValue={field.default}\n formId={formId}\n setValue={setValue}\n useDefaultTheme={useDefaultTheme}\n />\n );\n }\n case 'checkbox': {\n return (\n <Checkbox\n key={`${field.id}-${idx}`}\n id={field.id}\n name={field.name}\n label={field.name && field.name[defaultLanguage]}\n validations={field.validations}\n defaultLanguage={defaultLanguage}\n setValue={setValue}\n formId={formId}\n defaultValue={(formData && formData[field.id]) || field.default}\n type={field.dataType === 'boolean' ? 'single' : 'multiple'}\n useDefaultTheme={useDefaultTheme}\n setCheckboxValue={setCheckboxValue}\n />\n );\n }\n case 'radio': {\n return (\n <RadioButton\n key={`${field.id}-${idx}`}\n id={field.id}\n type={field.type}\n formId={formId}\n setValue={setValue}\n label={field.name && field.name[defaultLanguage]}\n validations={field.validations}\n defaultLanguage={defaultLanguage}\n useDefaultTheme={useDefaultTheme}\n />\n );\n }\n case 'entryPicker': {\n const type = field.dataType === 'objectArray' ? 'checkbox' : 'radio';\n const results = entries && entries[field.id] && entries[field.id].items;\n return (\n <EntryPicker\n key={`${field.id}-${idx}`}\n type={type}\n results={results}\n id={field.id}\n label={field.name && field.name[defaultLanguage]}\n useDefaultTheme={useDefaultTheme}\n setValue={setValue}\n validateField={validateField}\n formId={formId}\n />\n );\n }\n case 'date': {\n return (\n <SingleDate\n key={`${field.id}-${idx}`}\n type={field.type}\n id={field.id}\n label={field.name && field.name[defaultLanguage]}\n validations={field.validations}\n formId={formId}\n setValue={setValue}\n useDefaultTheme={useDefaultTheme}\n />\n );\n }\n case 'dateRange': {\n return (\n <DateRange\n key={`${field.id}-${idx}`}\n id={field.id}\n label={field.name && field.name[defaultLanguage]}\n validations={field.validations}\n formId={formId}\n setDateRangeValues={setDateRangeValues}\n useDefaultTheme={useDefaultTheme}\n />\n );\n }\n case 'hidden': {\n return (\n <HiddenField\n key={`${field.id}-${idx}`}\n type={field.type}\n id={field.id}\n label={field.name && field.name[defaultLanguage]}\n defaultLanguage={defaultLanguage}\n defaultValue={field.default}\n placeholder={field.editor}\n />\n );\n }\n }\n });\n};\n\nFormComposer.propTypes = {\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formId: PropTypes.string,\n setValue: PropTypes.func,\n validateField: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n useDefaultTheme: PropTypes.bool,\n setCheckboxValue: PropTypes.func,\n};\n\nexport default FormComposer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\n\nconst ButtonStyled = styled.button`\n ${({ theme, useDefaultTheme }) => {\n return css`\n ${useDefaultTheme &&\n css`\n display: inline-block;\n cursor: pointer;\n margin: 16px 0 0 0;\n padding: 8px 16px;\n border-radius: 3px;\n border: 1px solid ${theme.colors.border};\n font-family: inherit;\n transition: opacity 200ms ease;\n &:hover {\n opacity: 0.7;\n }\n `}\n `;\n }};\n`;\n\nconst Button = ({ className, type, text, action, useDefaultTheme }) => {\n return (\n <ButtonStyled\n className={`${className ? className : ''} btnSubmit`}\n type={type}\n onClick={() => action()}\n useDefaultTheme={useDefaultTheme}\n >\n {text}\n </ButtonStyled>\n );\n};\n\nexport default Button;\n\nButton.propTypes = {\n className: PropTypes.string,\n type: PropTypes.string,\n text: PropTypes.string,\n action: PropTypes.func,\n useDefaultTheme: PropTypes.bool,\n};\n","import React, { createContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as BaseThemeProvider } from 'styled-components';\n\nconst ThemeContext = createContext();\n\nconst ThemeProvider = ({ children, theme }) => {\n return (\n <ThemeContext.Provider>\n <BaseThemeProvider theme={theme}>{children}</BaseThemeProvider>\n </ThemeContext.Provider>\n );\n};\n\nThemeProvider.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n theme: PropTypes.object,\n};\n\nexport { ThemeProvider };\n","export const mediaQueriesNoUnit = {\n s: 470,\n ms: 640,\n m: 768,\n ml: 880,\n l: 1024,\n xl: 1200,\n xxl: 1366,\n wide: 1600,\n};\n\nexport const mediaQueries = {\n small: mediaQueriesNoUnit.s + 'px',\n msmall: mediaQueriesNoUnit.ms + 'px',\n medium: mediaQueriesNoUnit.m + 'px',\n mlarge: mediaQueriesNoUnit.ml + 'px',\n large: mediaQueriesNoUnit.l + 'px',\n xlarge: mediaQueriesNoUnit.xl + 'px',\n xxlarge: mediaQueriesNoUnit.xxl + 'px',\n wide: mediaQueriesNoUnit.wide + 'px',\n};\n\nexport const layout = {\n mediaQueries: mediaQueries,\n};\n","import colors from '../form/colors';\n// import { mediaQueries } from './layout';\n\nexport const fontFamily = {\n Poppins: `'Poppins', Arial, sans-serif`,\n};\n\n//use html tag name as object key\n//use default object key for base styles\n//use media query key that corresponds with keys set on mediaQueries object from ./layout to map to relevant screen sizes\n//uses a mobile first approach to rules\nexport const typography = {\n default: {\n color: colors.label,\n font_family: fontFamily.Poppins,\n font_style: 'normal',\n font_weight: 400,\n font_size: '18px',\n line_height: 1.75,\n },\n};\n\nexport const defaultStyles = typography.default;\n\nexport const pSizeStyles = [];\n\nexport const typographyStyles = {\n defaultStyles,\n};\n\n// function generateTypeStyles(obj) {\n// return Object.keys(obj)\n// .map(mq => {\n// const props = generateProps(obj[mq]);\n// if (mq === 'default') {\n// return `${props.join(' ')}`;\n// } else {\n// return `@media only screen and (min-width:${\n// mediaQueries[mq]\n// }){${props.join('')}}`;\n// }\n// })\n// .join('');\n// }\n\n// function generateProps(objMQ) {\n// let props = [];\n\n// Object.keys(objMQ).map(prop => {\n// props.push(`${prop.split('_').join('-')}: ${objMQ[prop]};`);\n// });\n\n// return props;\n// }\n","import { layout } from './layout';\nimport { typographyStyles, typography } from './typography';\nimport colors from './colors';\n\nexport const defaultTheme = {\n layout,\n typographyStyles,\n typography,\n colors,\n};\n","import React from 'react';\n\nconst divStyles = {\n display: 'flex',\n height: '100vh',\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'Column',\n};\nconst svgStyles = {\n width: '80px',\n height: '80px',\n};\n\nconst headingStyles = {\n margin: '0',\n fontSize: '16px',\n};\n\nexport const Loading = () => {\n return (\n <div style={divStyles}>\n <h3 style={headingStyles}>Loading...</h3>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"lds-spinner\"\n preserveAspectRatio=\"xMidYMid\"\n viewBox=\"0 0 100 100\"\n style={svgStyles}\n >\n <rect width=\"6\" height=\"12\" x=\"47\" y=\"24\" fill=\"#DE1C8F\" rx=\"9\" ry=\"5\">\n <animate\n attributeName=\"opacity\"\n begin=\"-0.9166666666666666s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n <rect\n width=\"6\"\n height=\"12\"\n x=\"47\"\n y=\"24\"\n fill=\"#DE1C8F\"\n rx=\"9\"\n ry=\"5\"\n transform=\"rotate(30 50 50)\"\n >\n <animate\n attributeName=\"opacity\"\n begin=\"-0.8333333333333334s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n <rect\n width=\"6\"\n height=\"12\"\n x=\"47\"\n y=\"24\"\n fill=\"#DE1C8F\"\n rx=\"9\"\n ry=\"5\"\n transform=\"rotate(60 50 50)\"\n >\n <animate\n attributeName=\"opacity\"\n begin=\"-0.75s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n <rect\n width=\"6\"\n height=\"12\"\n x=\"47\"\n y=\"24\"\n fill=\"#DE1C8F\"\n rx=\"9\"\n ry=\"5\"\n transform=\"rotate(90 50 50)\"\n >\n <animate\n attributeName=\"opacity\"\n begin=\"-0.6666666666666666s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n <rect\n width=\"6\"\n height=\"12\"\n x=\"47\"\n y=\"24\"\n fill=\"#DE1C8F\"\n rx=\"9\"\n ry=\"5\"\n transform=\"rotate(120 50 50)\"\n >\n <animate\n attributeName=\"opacity\"\n begin=\"-0.5833333333333334s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n <rect\n width=\"6\"\n height=\"12\"\n x=\"47\"\n y=\"24\"\n fill=\"#DE1C8F\"\n rx=\"9\"\n ry=\"5\"\n transform=\"rotate(150 50 50)\"\n >\n <animate\n attributeName=\"opacity\"\n begin=\"-0.5s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n <rect\n width=\"6\"\n height=\"12\"\n x=\"47\"\n y=\"24\"\n fill=\"#DE1C8F\"\n rx=\"9\"\n ry=\"5\"\n transform=\"rotate(180 50 50)\"\n >\n <animate\n attributeName=\"opacity\"\n begin=\"-0.4166666666666667s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n <rect\n width=\"6\"\n height=\"12\"\n x=\"47\"\n y=\"24\"\n fill=\"#DE1C8F\"\n rx=\"9\"\n ry=\"5\"\n transform=\"rotate(210 50 50)\"\n >\n <animate\n attributeName=\"opacity\"\n begin=\"-0.3333333333333333s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n <rect\n width=\"6\"\n height=\"12\"\n x=\"47\"\n y=\"24\"\n fill=\"#DE1C8F\"\n rx=\"9\"\n ry=\"5\"\n transform=\"rotate(240 50 50)\"\n >\n <animate\n attributeName=\"opacity\"\n begin=\"-0.25s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n <rect\n width=\"6\"\n height=\"12\"\n x=\"47\"\n y=\"24\"\n fill=\"#DE1C8F\"\n rx=\"9\"\n ry=\"5\"\n transform=\"rotate(270 50 50)\"\n >\n <animate\n attributeName=\"opacity\"\n begin=\"-0.16666666666666666s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n <rect\n width=\"6\"\n height=\"12\"\n x=\"47\"\n y=\"24\"\n fill=\"#DE1C8F\"\n rx=\"9\"\n ry=\"5\"\n transform=\"rotate(300 50 50)\"\n >\n <animate\n attributeName=\"opacity\"\n begin=\"-0.08333333333333333s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n <rect\n width=\"6\"\n height=\"12\"\n x=\"47\"\n y=\"24\"\n fill=\"#DE1C8F\"\n rx=\"9\"\n ry=\"5\"\n transform=\"rotate(330 50 50)\"\n >\n <animate\n attributeName=\"opacity\"\n begin=\"0s\"\n dur=\"1s\"\n keyTimes=\"0;1\"\n repeatCount=\"indefinite\"\n values=\"1;0\"\n />\n </rect>\n </svg>\n </div>\n );\n};\n\nLoading.propTypes = {};\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport FormStyled from '../components.styled/Form.styled';\nimport FormComposer from './FormComposer';\nimport Button from '../../button';\n\nimport { ThemeProvider } from '../../theme/themeContext';\nimport { defaultTheme } from '../../theme/form';\nimport { Loading } from './Loading';\n\nconst Form = ({\n className,\n formId,\n fields,\n formData,\n setFormId,\n setValue,\n validateField,\n defaultLanguage,\n errors,\n pagingInfo,\n togglePageForward,\n togglePageBack,\n submitForm,\n status,\n setDateRangeValues,\n useDefaultTheme,\n entries,\n customSubmit,\n setCheckboxValue,\n}) => {\n useEffect(() => {\n setFormId(formId);\n }, [formId, setFormId]); // NF change rule of hooks\n\n if (!formId) return null;\n\n let formRender;\n if (pagingInfo && pagingInfo.pageCount > 1) {\n const isLastPage = pagingInfo.pageCount == pagingInfo.pageIndex + 1;\n formRender = (\n <FormStyled\n className={className}\n id={formId}\n useDefaultTheme={useDefaultTheme}\n >\n {(status && status.isLoading) ||\n (status && status.isSubmitting && <Loading className=\"loading\" />)}\n {!status ||\n (status &&\n !status.isLoading &&\n !status.isSubmitting &&\n !status.hasSuccess && (\n <>\n {pagingInfo.pageIndex > 0 && (\n <Button\n type=\"button\"\n text=\"Go Back\"\n action={() =>\n togglePageBack(formId, pagingInfo.pageIndex - 1)\n }\n useDefaultTheme={useDefaultTheme}\n />\n )}\n <FormComposer\n fields={fields}\n formData={formData}\n formId={formId}\n setValue={setValue}\n validateField={validateField}\n defaultLanguage={defaultLanguage}\n errors={errors}\n pagingInfo={pagingInfo}\n useDefaultTheme={useDefaultTheme}\n entries={entries}\n setDateRangeValues={setDateRangeValues}\n setCheckboxValue={setCheckboxValue}\n />\n {!isLastPage && (\n <Button\n type=\"button\"\n text=\"Next\"\n action={() =>\n togglePageForward(formId, pagingInfo.pageIndex + 1)\n }\n useDefaultTheme={useDefaultTheme}\n />\n )}\n {isLastPage && (\n <Button\n text=\"Submit\"\n type=\"button\"\n action={() => {\n submitForm(formId);\n if (customSubmit) customSubmit();\n }}\n useDefaultTheme={useDefaultTheme}\n />\n )}\n </>\n ))}\n {status && status.hasSuccess && status.successMessage && (\n <p className=\"success-message\">{status.successMessage}</p>\n )}\n </FormStyled>\n );\n } else {\n formRender = (\n <FormStyled\n className={className}\n id={formId}\n useDefaultTheme={useDefaultTheme}\n >\n {(status && status.isLoading) ||\n (status && status.isSubmitting && <Loading className=\"loading\" />)}\n {!status ||\n (status &&\n !status.isLoading &&\n !status.isSubmitting &&\n !status.hasSuccess && (\n <>\n <FormComposer\n fields={fields}\n formId={formId}\n setValue={setValue}\n setDateRangeValues={setDateRangeValues}\n validateField={validateField}\n defaultLanguage={defaultLanguage}\n errors={errors}\n useDefaultTheme={useDefaultTheme}\n entries={entries}\n setCheckboxValue={setCheckboxValue}\n />\n <Button\n text=\"Submit\"\n type=\"button\"\n action={() => {\n submitForm(formId);\n if (customSubmit) customSubmit();\n }}\n useDefaultTheme={useDefaultTheme}\n />\n </>\n ))}\n {status && status.hasSuccess && status.successMessage && (\n <p className=\"success-message\">{status.successMessage}</p>\n )}\n </FormStyled>\n );\n }\n return <ThemeProvider theme={defaultTheme}>{formRender}</ThemeProvider>;\n};\n\nForm.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n useDefaultTheme: PropTypes.bool,\n setFormId: PropTypes.func,\n setValue: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n validateField: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n pagingInfo: PropTypes.object,\n togglePageForward: PropTypes.func,\n togglePageBack: PropTypes.func,\n submitForm: PropTypes.func,\n customSubmit: PropTypes.func,\n status: PropTypes.object,\n setCheckboxValue: PropTypes.func,\n};\n\nexport default Form;\n","import {\n SET_FORM_ID,\n SET_FIELD_VALUE,\n SUBMIT_FORM_FOR_VALIDATION,\n VALIDATE_FIELD,\n PAGE_FORWARD,\n PAGE_BACK,\n SET_DATE_RANGE_VALUES,\n SET_CHECKBOX_VALUE,\n} from './types';\n\nconst action = (type, payload = {}) => ({ type, ...payload });\n\nexport const submitForm = formId =>\n action(SUBMIT_FORM_FOR_VALIDATION, { formId });\nexport const setFormId = formId => action(SET_FORM_ID, { formId });\nexport const setValue = (formId, id, value) =>\n action(SET_FIELD_VALUE, { formId, id, value });\nexport const setCheckboxValue = (formId, id, value, isChecked) =>\n action(SET_CHECKBOX_VALUE, { formId, id, value, isChecked });\nexport const setDateRangeValues = (formId, id, dateType, value) =>\n action(SET_DATE_RANGE_VALUES, { formId, id, dateType, value });\nexport const validateField = (formId, id, value) =>\n action(VALIDATE_FIELD, { formId, id, value });\nexport const togglePageForward = (formId, pageIndex) =>\n action(PAGE_FORWARD, { formId, pageIndex });\nexport const togglePageBack = (formId, pageIndex) =>\n action(PAGE_BACK, { formId, pageIndex });\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\n\nimport Form from '../components/Form';\nimport {\n setFormId,\n setValue,\n validateField,\n togglePageForward,\n togglePageBack,\n setDateRangeValues,\n submitForm,\n setCheckboxValue,\n} from '../../redux/actions';\nimport {\n makeSelectDefaultLang,\n selectPagedFields,\n makeSelectIsLoading,\n selectFieldErrors,\n selectPagingInfo,\n selectFormStatus,\n selectEntries,\n selectPostData,\n} from '../../redux/selectors';\n\nconst FormContainer = ({\n className,\n formId,\n fields,\n formData,\n setFormId,\n setValue,\n setDateRangeValues,\n validateField,\n defaultLanguage,\n errors,\n pagingInfo,\n togglePageForward,\n togglePageBack,\n submitForm,\n status,\n useDefaultTheme = true,\n entries,\n setCheckboxValue,\n customSubmit,\n}) => {\n return (\n <Form\n className={className}\n formId={formId}\n fields={fields}\n setFormId={setFormId}\n setValue={setValue}\n setDateRangeValues={setDateRangeValues}\n validateField={validateField}\n defaultLanguage={defaultLanguage}\n errors={errors}\n pagingInfo={pagingInfo}\n togglePageForward={togglePageForward}\n togglePageBack={togglePageBack}\n submitForm={submitForm}\n status={status}\n useDefaultTheme={useDefaultTheme}\n entries={entries}\n formData={formData}\n setCheckboxValue={setCheckboxValue}\n customSubmit={customSubmit}\n />\n );\n};\n\nFormContainer.propTypes = {\n className: PropTypes.string,\n formId: PropTypes.string,\n fields: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n formData: PropTypes.object,\n entries: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n setFormId: PropTypes.func,\n setDateRangeValues: PropTypes.func,\n setValue: PropTypes.func,\n useDefaultTheme: PropTypes.bool,\n validateField: PropTypes.func,\n defaultLanguage: PropTypes.string,\n errors: PropTypes.array,\n pagingInfo: PropTypes.object,\n togglePageForward: PropTypes.func,\n togglePageBack: PropTypes.func,\n submitForm: PropTypes.func,\n status: PropTypes.object,\n setCheckboxValue: PropTypes.func,\n customSubmit: PropTypes.func,\n};\n\nconst mapStateToProps = (state, props) => {\n const { formId } = props;\n const selectFormFields = selectPagedFields(formId);\n const selectIsLoading = makeSelectIsLoading(formId);\n const selectDefaultLang = makeSelectDefaultLang(formId);\n return state => ({\n fields: selectFormFields(state),\n loading: selectIsLoading(state),\n defaultLanguage: selectDefaultLang(state),\n errors: selectFieldErrors(state, formId),\n pagingInfo: selectPagingInfo(state, formId),\n status: selectFormStatus(state, formId),\n entries: selectEntries(state, formId),\n formData: selectPostData(state, formId),\n });\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n setFormId: formId => dispatch(setFormId(formId)),\n setValue: (formId, id, value) => dispatch(setValue(formId, id, value)),\n setCheckboxValue: (formId, id, value, isChecked) =>\n dispatch(setCheckboxValue(formId, id, value, isChecked)),\n setDateRangeValues: (formId, id, dateType, value) =>\n dispatch(setDateRangeValues(formId, id, dateType, value)),\n validateField: (formId, id, value) =>\n dispatch(validateField(formId, id, value)),\n togglePageForward: (formId, pageIndex) =>\n dispatch(togglePageForward(formId, pageIndex)),\n togglePageBack: (formId, pageIndex) =>\n dispatch(togglePageBack(formId, pageIndex)),\n submitForm: formId => dispatch(submitForm(formId)),\n };\n};\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(FormContainer);\n"],"names":["ACTION_PREFIX","SET_FORM_DATA","SET_FORM_ID","SET_CURRENT_PAGE","PAGE_BACK","PAGE_FORWARD","SET_FIELD_VALUE","SET_DEFAULT_FIELD_VALUE","SUBMIT_FORM_FOR_VALIDATION","SUBMIT_FORM","SUBMIT_FORM_SUCCESS","SUBMIT_FORM_ERROR","SET_SUBMITTING_FORM","SET_ERROR","VALIDATE_FIELD","SET_FIELD_ERROR","SET_DATE_RANGE_VALUES","SET_FORM_ENTRIES","SET_SUCCESS_MESSAGE","SET_CHECKBOX_VALUE","MakeFieldType","field","dataType","editor","id","properties","readOnly","groupId","validations","allowedValues","dataFormat","initialSettings","recaptcha","siteKey","initialStatus","isLoading","isSubmitting","hasSuccess","successMessage","hasError","initialPagingInfo","pageIndex","pageCount","currentPageId","initialFormData","formId","data","fields","entries","fieldErrors","groups","defaultLanguage","pagingInfo","status","initialState","settings","produce","state","action","type","map","pageId","value","isChecked","values","filter","v","dateType","message","entryObject","entry","selectForms","getIn","selectFieldErrors","selectPostData","selectFormGroups","selectPagingInfo","selectFormStatus","selectEntries","selectPagedFields","createSelector","form","length","f","makeSelectIsLoading","forms","makeSelectFormFields","makeSelectDefaultLang","URI","getFormSchema","options","method","headers","getUrl","schema","request","getEntries","formObj","Accept","body","JSON","stringify","entriesUrl","postForm","submitted","url","fetch","then","response","json","result","catch","error","console","log","validateInput","isRequired","required","minLength","maxLength","regex","integer","decimal","errorMessage","fieldId","regexPattern","RegExp","pattern","raw","test","isInteger","isDecimal","formV2Sagas","takeEvery","formSuccess","validateForm","submitForm","fetchForm","takeLatest","validateField","togglePage","getEntryPickerData","setDefaultValueFields","validateAllfields","put","call","validateSingleField","validateGroupfields","select","postData","selectFormFields","groupFields","groupid","newErrors","forEach","val","err","push","fieldData","find","errors","formGroups","group","redirect","default","window","location","href","canSubmit","rawData","contentType","formPost","formResObj","sys","entryId","selectors","selectRouteEntryEntryId","fieldObj","entriesToGet","entriesList","all","entriesObj","allowedContentTypes","contentTypes","versionStatus","language","pageSize","open_teal","teal_dark","accent_blue","panel_blue","base_white","empress_gray","colors","brand","brandDark","primary","secondary","label","label_optional","border","message_link","success","warning","neutrals","FormStyled","styled","useDefaultTheme","css","Label","className","isHidden","propTypes","PropTypes","string","bool","CreateMessage","currentLength","minLengthVal","minText","toString","maxLengthVal","maxText","rangeText","CharacterLimitStyled","div","theme","CharacterLimit","valueAsString","hasMaxLength","hasMinLength","hasInBetween","object","oneOfType","ErrorMessageStyled","ErrorMessage","TextfieldStyled","Textfield","setValue","defaultValue","placeholder","showCharLimit","setShowCharLimit","useState","placeholderText","defaultValueText","_handleChange","_handleBlur","_handleFocus","e","target","some","x","func","array","Textarea","HiddenField","Dropdown","ddValues","idx","CheckboxStyled","Checkbox","setCheckboxValue","name","isDefaultChecked","setIsChecked","cbValues","checked","RadioButtonStyled","RadioButton","formatDate","date","format","dateObj","Date","dateString","split","dateArr","year","month","day","dayNameInt","getDay","timeArr","hour","minute","YEAR","MONTH","DAY","HOUR24","HOUR12","MINUTE","TF","formattedDate","replace","slice","monthsLong","parseInt","monthsShort","daysLong","daysShort","parseHour","parseTF","SingleDate","onlyPassedDates","pastDateTime","d","todaysDate","toISOString","isoDate","DateRangeStyled","DateRange","setDateRangeValues","toDate","setToDate","fromDate","setFromDate","_handleDateChange","_updateDateProps","newDate","EntryPickerStyled","EntryPicker","results","valArr","valItem","res","entryTitle","FormComposer","formData","DropDown","items","ButtonStyled","button","Button","text","ThemeContext","createContext","ThemeProvider","children","BaseThemeProvider","arrayOf","node","mediaQueriesNoUnit","s","ms","m","ml","l","xl","xxl","wide","mediaQueries","small","msmall","medium","mlarge","large","xlarge","xxlarge","layout","fontFamily","Poppins","typography","color","font_family","font_style","font_weight","font_size","line_height","defaultStyles","typographyStyles","defaultTheme","divStyles","display","height","alignItems","justifyContent","flexDirection","svgStyles","width","headingStyles","margin","fontSize","Loading","Form","setFormId","togglePageForward","togglePageBack","customSubmit","useEffect","formRender","isLastPage","payload","FormContainer","mapStateToProps","props","selectIsLoading","selectDefaultLang","loading","mapDispatchToProps","dispatch","connect"],"mappings":"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"}
|