{"version":3,"sources":["../node_modules/lodash/debounce.js","../node_modules/lodash/now.js","../node_modules/lodash/toNumber.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/label.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/field-validation-errors.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/index.js","../../../node_modules/@sitecore-jss/sitecore-jss-forms/dist/ViewModel.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/field-factory.js","../../../node_modules/@sitecore-jss/sitecore-jss-forms/dist/FormField.js","../../../node_modules/@sitecore-jss/sitecore-jss-forms/dist/getFieldValueFromModel.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/default-field-factory.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/section.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/text.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/file-upload.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/ValidationDataModels.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/single-line-text.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/button.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/checkbox.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/checkbox-list.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/dropdown-list.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/date.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/email.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/list-box.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/multiple-line-text.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/number.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/password.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/radio-button-list.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/field-templates/telephone.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/FieldTypes.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/form.js","../../../node_modules/@sitecore-jss/sitecore-jss-forms/dist/index.js","../../../node_modules/@sitecore-jss/sitecore-jss-forms/dist/serializeForm.js","../../../node_modules/@sitecore-jss/sitecore-jss-forms/dist/JssFormData.js","../../../node_modules/@sitecore-jss/sitecore-jss-forms/dist/submitForm.js","../../../node_modules/@sitecore-jss/sitecore-jss-forms/dist/FormTracker.js","../../../node_modules/@sitecore-jss/sitecore-jss-react-forms/dist/components/default-error.js"],"names":["isObject","require","now","toNumber","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","module","exports","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","timeWaiting","remainingWait","debounced","isInvoking","arguments","this","leadingEdge","clearTimeout","cancel","flush","root","Date","isSymbol","NAN","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","value","other","valueOf","replace","isBinary","test","slice","__assign","Object","assign","t","s","i","n","length","p","prototype","hasOwnProperty","call","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__importDefault","mod","__esModule","defineProperty","react_1","Label","props","labelComponent","CustomLabel","labelComponentProps","default","createElement","field","isValid","children","className","model","labelCssClass","htmlFor","valueField","id","title","FieldValidationErrors","fieldValidationErrorsComponent","CustomError","errorsComponentProps","errors","map","error","index","key","field_factory_1","FieldFactory","form_1","Form","button_1","Button","file_upload_1","FileUpload","checkbox_list_1","CheckboxList","checkbox_1","Checkbox","dropdown_list_1","DropdownList","email_1","Email","label_1","list_box_1","ListBox","multiple_line_text_1","MultipleLineText","password_1","Password","radio_button_list_1","RadioButtonList","section_1","Section","single_line_text_1","SingleLineText","telephone_1","Telephone","number_1","NumberField","date_1","DateField","text_1","TextField","ValidationDataModels_1","ValidationDataModels","FieldTypes_1","FieldTypes","default_field_factory_1","createDefaultFieldFactory","instanceOfInputViewModel","object","instanceOfListViewModel","_fieldMap","Map","_defaultComponent","fieldTypeItemId","name","setComponentNotFoundComponent","component","setComponent","type","set","get","Result","Default","instanceOfFormField","instanceOfValueFormField","instanceOfButtonFormField","instanceOfFormFieldSection","ViewModel_1","getFieldValueFromModel","items","filter","item","selected","defaultFieldFactory","_a","fieldFactory","cssClass","fields","Tag","htmlTag","text","__extends","extendStatics","d","b","setPrototypeOf","__proto__","Array","__","constructor","create","__importStar","k","field_validation_errors_1","_super","_this","fileInputRef","createRef","SIZE_UNITS","onChangeField","files","cb","fileSizeValidator","getEnabledValidation","FileSizeValidator","fileCountValidator","FileCountValidator","fileTypeValidator","FileTypeValidator","list","errorMessages","valid","fill","forEach","_","idx","fileSize","size","fileSizeUnit","maxFileSize","msg","message","toString","getFileSizeUnitName","push","some","file","ext","split","pop","allowedContentTypes","maxFileCount","required","componentDidUpdate","prevProps","current","itemId","validationDataModels","find","validation","render","onChange","tracker","Fragment","ref","accept","multiple","isMultiple","target","onFocus","onFocusField","onBlur","onBlurField","Component","maxLength","placeholder","placeholderText","fieldValue","callback","handleOnChange","onButtonClick","buttonField","onClick","checked","v","originalFieldValue","changedElement","newValue","showEmptyItem","label","formatValue","substring","finalValue","multipleSelection","rows","newValues","step","sitecore_jss_forms_1","default_error_1","state","nextForm","submitButton","createFieldComponent","bind","getCurrentFieldState","collectCurrentFieldValues","_tracker","FormTracker","endpoint","sitecoreApiHost","sitecoreApiKey","fetcher","trackerFetcher","form","metadata","action","htmlPrefix","contextItemId","setFormData","formItemId","formSessionId","isTrackingEnabled","fieldComponents","ErrorComponent","errorComponent","DefaultError","fieldErrors","method","onSubmit","formErrors","onFieldChange","fieldWrapperComponent","Wrapper","fieldName","fieldState","buttonName","setState","preventDefault","fieldValues","formData","serializeForm","submitButtonName","mergeOverwritingExisting","submitUrl","Error","submitForm","formFetcher","then","success","redirectUrl","onRedirect","window","location","href","validationErrors","stateUpdate_1","keys","fieldKey","resetFieldsState","catch","isArray","console","log","stateReset","reduce","acc","FormField_1","serializeForm_1","submitForm_1","createFetchBasedFormFetcher","getFieldValueFromModel_1","FormTracker_1","createFetchBasedTrackerFetcher","JssFormData_1","pushFields","endsWith","fileUploadField","originalValue","pushField","indexField","fieldIdField","fieldValueParser","navigationButtonsField","navigationStepField","overrideValue","append","pushFieldValue","JssFormData","antiForgeryToken","pageItemId","__spreadArrays","il","r","a","j","jl","data","entry","values","toMultipartFormData","FormData","toUrlEncodedFormData","encodeURIComponent","join","fetch","body","credentials","res","json","EventIds","JSON","stringify","_currentField","_fetcher","_endpoint","formId","enableTracking","_formId","_formSessionId","_enableTracking","_startTrackingField","_resetField","trackableField","blurredAtTick","getTime","duration","focusedAtTick","round","fieldChanged","_isValueChanged","clientEvent","_buildEvent","FieldCompleted","validationEvents_1","FieldError","_trackEvents","eventId","sessionId","fieldId","events"],"mappings":"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","file":"static/js/6.5ce9d267.chunk.js","sourcesContent":["var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar Label = function (props) {\n if (props.labelComponent) {\n var CustomLabel = props.labelComponent;\n // strip the label component from the custom component props\n // (prevents infinite loop rendering if someone reuses this component as a custom label component)\n var labelComponent = props.labelComponent, labelComponentProps = __rest(props, [\"labelComponent\"]);\n return react_1.default.createElement(CustomLabel, __assign({}, labelComponentProps));\n }\n var field = props.field, isValid = props.isValid, children = props.children;\n var className = field.model.labelCssClass;\n if (!isValid) {\n className += ' invalid';\n }\n return (react_1.default.createElement(\"label\", { htmlFor: field.valueField.id, className: className },\n children,\n field.model.title));\n};\nexports.Label = Label;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar FieldValidationErrors = function (props) {\n if (props.fieldValidationErrorsComponent) {\n var CustomError = props.fieldValidationErrorsComponent;\n // strip the errors component from the custom component props\n // (prevents infinite loop rendering if someone reuses this component as a custom error component)\n var fieldValidationErrorsComponent = props.fieldValidationErrorsComponent, errorsComponentProps = __rest(props, [\"fieldValidationErrorsComponent\"]);\n return react_1.default.createElement(CustomError, __assign({}, errorsComponentProps));\n }\n var errors = props.errors;\n if (!errors || errors.length === 0) {\n return null;\n }\n return (react_1.default.createElement(\"div\", { className: \"invalid\" }, errors.map(function (error, index) { return (react_1.default.createElement(\"p\", { key: index }, error)); })));\n};\nexports.FieldValidationErrors = FieldValidationErrors;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar field_factory_1 = __importDefault(require(\"./field-factory\"));\nexports.FieldFactory = field_factory_1.default;\nvar form_1 = require(\"./components/form\");\nexports.Form = form_1.Form;\nvar button_1 = __importDefault(require(\"./components/field-templates/button\"));\nexports.Button = button_1.default;\nvar file_upload_1 = __importDefault(require(\"./components/field-templates/file-upload\"));\nexports.FileUpload = file_upload_1.default;\nvar checkbox_list_1 = __importDefault(require(\"./components/field-templates/checkbox-list\"));\nexports.CheckboxList = checkbox_list_1.default;\nvar checkbox_1 = __importDefault(require(\"./components/field-templates/checkbox\"));\nexports.Checkbox = checkbox_1.default;\nvar dropdown_list_1 = __importDefault(require(\"./components/field-templates/dropdown-list\"));\nexports.DropdownList = dropdown_list_1.default;\nvar email_1 = __importDefault(require(\"./components/field-templates/email\"));\nexports.Email = email_1.default;\nvar label_1 = require(\"./components/field-templates/label\");\nexports.Label = label_1.Label;\nvar list_box_1 = __importDefault(require(\"./components/field-templates/list-box\"));\nexports.ListBox = list_box_1.default;\nvar multiple_line_text_1 = __importDefault(require(\"./components/field-templates/multiple-line-text\"));\nexports.MultipleLineText = multiple_line_text_1.default;\nvar password_1 = __importDefault(require(\"./components/field-templates/password\"));\nexports.Password = password_1.default;\nvar radio_button_list_1 = __importDefault(require(\"./components/field-templates/radio-button-list\"));\nexports.RadioButtonList = radio_button_list_1.default;\nvar section_1 = __importDefault(require(\"./components/field-templates/section\"));\nexports.Section = section_1.default;\nvar single_line_text_1 = __importDefault(require(\"./components/field-templates/single-line-text\"));\nexports.SingleLineText = single_line_text_1.default;\nvar telephone_1 = __importDefault(require(\"./components/field-templates/telephone\"));\nexports.Telephone = telephone_1.default;\nvar number_1 = __importDefault(require(\"./components/field-templates/number\"));\nexports.NumberField = number_1.default;\nvar date_1 = __importDefault(require(\"./components/field-templates/date\"));\nexports.DateField = date_1.default;\nvar text_1 = __importDefault(require(\"./components/field-templates/text\"));\nexports.TextField = text_1.default;\nvar ValidationDataModels_1 = require(\"./ValidationDataModels\");\nexports.ValidationDataModels = ValidationDataModels_1.ValidationDataModels;\nvar FieldTypes_1 = require(\"./FieldTypes\");\nexports.FieldTypes = FieldTypes_1.FieldTypes;\nvar default_field_factory_1 = require(\"./default-field-factory\");\nexports.createDefaultFieldFactory = default_field_factory_1.createDefaultFieldFactory;\n","\"use strict\";\n/** The model for a given field's data elements */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction instanceOfInputViewModel(object) {\n return 'value' in object;\n}\nexports.instanceOfInputViewModel = instanceOfInputViewModel;\nfunction instanceOfListViewModel(object) {\n return 'items' in object;\n}\nexports.instanceOfListViewModel = instanceOfListViewModel;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\n/**\n * Maps field type IDs from Sitecore (/sitecore/system/Settings/Forms/Field Types)\n * into an implementing React component - this is very similar to the JSS componentFactory,\n * but it maps form element components instead of layout components\n */\nvar FieldFactory = /** @class */ (function () {\n function FieldFactory() {\n this._fieldMap = new Map();\n this._defaultComponent = function (props) { return (react_1.default.createElement(\"div\", { key: props.model.fieldTypeItemId },\n props.model.name,\n \": No renderer for form element type \",\n props.model.fieldTypeItemId)); };\n }\n FieldFactory.prototype.setComponentNotFoundComponent = function (component) {\n this._defaultComponent = component;\n };\n FieldFactory.prototype.setComponent = function (type, component) {\n this._fieldMap.set(type, component);\n };\n FieldFactory.prototype.get = function (field, props) {\n var Result = this._fieldMap.get(field.model.fieldTypeItemId);\n if (!Result) {\n var Default = this._defaultComponent;\n return react_1.default.createElement(Default, __assign({}, field));\n }\n return react_1.default.createElement(Result, __assign({}, props));\n };\n return FieldFactory;\n}());\nexports.default = FieldFactory;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction instanceOfFormField(object) {\n return 'model' in object;\n}\nexports.instanceOfFormField = instanceOfFormField;\nfunction instanceOfValueFormField(object) {\n return 'indexField' in object;\n}\nexports.instanceOfValueFormField = instanceOfValueFormField;\nfunction instanceOfButtonFormField(object) {\n return 'buttonField' in object;\n}\nexports.instanceOfButtonFormField = instanceOfButtonFormField;\nfunction instanceOfFormFieldSection(object) {\n return 'fields' in object;\n}\nexports.instanceOfFormFieldSection = instanceOfFormFieldSection;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ViewModel_1 = require(\"./ViewModel\");\n/** Retrieves the current value of a form field from the form model returned from the JSON API */\nfunction getFieldValueFromModel(field) {\n if (ViewModel_1.instanceOfListViewModel(field.model)) {\n // field state from API view-model items (list fields with possible multi-select)\n // we map this into an array of selected values\n return field.model.items.filter(function (item) { return item.selected; }).map(function (item) { return item.value; });\n }\n if (ViewModel_1.instanceOfInputViewModel(field.model)) {\n // field state from API view-model value (single valued fields)\n // false literal is a falsy value we want to keep (used in checkboxes)\n if (field.model.value === false) {\n return field.model.value;\n }\n // otherwise, we never want a null or undefined value so we default falsy to empty strings\n return field.model.value || '';\n }\n // the model cannot be null or undefined as in React a controlled field must be bound to a non-null value\n return '';\n}\nexports.getFieldValueFromModel = getFieldValueFromModel;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar section_1 = __importDefault(require(\"./components/field-templates/section\"));\nvar text_1 = __importDefault(require(\"./components/field-templates/text\"));\nvar file_upload_1 = __importDefault(require(\"./components/field-templates/file-upload\"));\nvar single_line_text_1 = __importDefault(require(\"./components/field-templates/single-line-text\"));\nvar button_1 = __importDefault(require(\"./components/field-templates/button\"));\nvar checkbox_1 = __importDefault(require(\"./components/field-templates/checkbox\"));\nvar checkbox_list_1 = __importDefault(require(\"./components/field-templates/checkbox-list\"));\nvar dropdown_list_1 = __importDefault(require(\"./components/field-templates/dropdown-list\"));\nvar date_1 = __importDefault(require(\"./components/field-templates/date\"));\nvar email_1 = __importDefault(require(\"./components/field-templates/email\"));\nvar list_box_1 = __importDefault(require(\"./components/field-templates/list-box\"));\nvar multiple_line_text_1 = __importDefault(require(\"./components/field-templates/multiple-line-text\"));\nvar number_1 = __importDefault(require(\"./components/field-templates/number\"));\nvar password_1 = __importDefault(require(\"./components/field-templates/password\"));\nvar radio_button_list_1 = __importDefault(require(\"./components/field-templates/radio-button-list\"));\nvar telephone_1 = __importDefault(require(\"./components/field-templates/telephone\"));\nvar FieldTypes_1 = require(\"./FieldTypes\");\nvar field_factory_1 = __importDefault(require(\"./field-factory\"));\nfunction createDefaultFieldFactory() {\n var defaultFieldFactory = new field_factory_1.default();\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.Section, section_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.TextField, text_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.Button, button_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.SingleLineText, single_line_text_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.MultipleLineText, multiple_line_text_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.DateField, date_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.Email, email_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.NumberField, number_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.Checkbox, checkbox_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.Telephone, telephone_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.FileUpload, file_upload_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.DropdownList, dropdown_list_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.CheckboxList, checkbox_list_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.ListBox, list_box_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.RadioButtonList, radio_button_list_1.default);\n defaultFieldFactory.setComponent(FieldTypes_1.FieldTypes.Password, password_1.default);\n return defaultFieldFactory;\n}\nexports.createDefaultFieldFactory = createDefaultFieldFactory;\nexports.default = createDefaultFieldFactory();\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar Section = function (_a) {\n var field = _a.field, fieldFactory = _a.fieldFactory;\n return (react_1.default.createElement(\"fieldset\", { className: field.model.cssClass }, field.fields.map(fieldFactory)));\n};\nexports.default = Section;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar TextField = function (_a) {\n var field = _a.field;\n var Tag = field.model.htmlTag || 'p';\n return react_1.default.createElement(Tag, { className: field.model.cssClass }, field.model.text);\n};\nexports.default = TextField;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar ValidationDataModels_1 = require(\"../../ValidationDataModels\");\nvar FileUpload = /** @class */ (function (_super) {\n __extends(FileUpload, _super);\n function FileUpload() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.fileInputRef = react_1.createRef();\n _this.SIZE_UNITS = {\n '1': 'Bytes',\n '1024': 'KB',\n '1048576': 'MB',\n '1073741824': 'GB'\n };\n _this.onChangeField = function (files, field, cb) {\n var fileSizeValidator = _this.getEnabledValidation(ValidationDataModels_1.ValidationDataModels.FileSizeValidator);\n var fileCountValidator = _this.getEnabledValidation(ValidationDataModels_1.ValidationDataModels.FileCountValidator);\n var fileTypeValidator = _this.getEnabledValidation(ValidationDataModels_1.ValidationDataModels.FileTypeValidator);\n var list = [];\n var errorMessages = [];\n var valid = true;\n if (files) {\n Array(files.length).fill(null).forEach(function (_, idx) {\n var fileSize = files[idx].size / field.model.fileSizeUnit;\n if (valid && fileSizeValidator && (fileSize > field.model.maxFileSize)) {\n var msg = fileSizeValidator.message\n .replace('{0}', field.model.maxFileSize.toString())\n .replace('{1}', _this.getFileSizeUnitName(field.model.fileSizeUnit));\n errorMessages.push(msg);\n valid = false;\n }\n list.push(files[idx]);\n });\n }\n if (fileTypeValidator) {\n list.some(function (file) {\n var ext = file.name.split('.').pop() || '';\n if (field.model.allowedContentTypes.indexOf(ext) !== -1) {\n return false;\n }\n var msg = fileTypeValidator.message.replace('{0}', field.model.allowedContentTypes);\n errorMessages.push(msg);\n return true;\n });\n }\n if (fileCountValidator && list.length > field.model.maxFileCount) {\n var msg = fileCountValidator.message\n .replace('{0}', field.model.maxFileCount.toString())\n .replace('{1}', field.model.title);\n errorMessages.push(msg);\n valid = false;\n }\n if (field.model.required && !list.length) {\n valid = false;\n errorMessages.push(field.model.title + \" is required\");\n }\n cb(field.valueField.name, list, valid, errorMessages);\n };\n return _this;\n }\n FileUpload.prototype.componentDidUpdate = function (prevProps) {\n if (prevProps.value && !this.props.value && this.fileInputRef.current) {\n this.fileInputRef.current.value = '';\n }\n };\n FileUpload.prototype.getEnabledValidation = function (itemId) {\n return this.props.field.model.validationDataModels.find(function (validation) { return validation.itemId === itemId; });\n };\n FileUpload.prototype.getFileSizeUnitName = function (value) {\n return this.SIZE_UNITS[value];\n };\n FileUpload.prototype.render = function () {\n var _this = this;\n var _a = this.props, field = _a.field, value = _a.value, onChange = _a.onChange, errors = _a.errors, tracker = _a.tracker;\n var fileTypeValidator = this.getEnabledValidation(ValidationDataModels_1.ValidationDataModels.FileTypeValidator);\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, this.props)),\n react_1.default.createElement(\"input\", { ref: this.fileInputRef, type: \"file\", accept: fileTypeValidator ? field.model.allowedContentTypes : undefined, multiple: field.model.isMultiple, className: field.model.cssClass, id: field.valueField.id, name: field.valueField.name, onChange: function (e) { return _this.onChangeField(e.target.files, field, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } }),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, this.props))));\n };\n return FileUpload;\n}(react_1.Component));\nexports.default = FileUpload;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ValidationDataModels;\n(function (ValidationDataModels) {\n ValidationDataModels[\"FileSizeValidator\"] = \"{8F2B6077-FE63-4FB2-8740-EF3807BBDB84}\";\n ValidationDataModels[\"FileTypeValidator\"] = \"{D81E056F-6C2E-4414-BD46-BA464AC05202}\";\n ValidationDataModels[\"FileCountValidator\"] = \"{F42833A6-F364-4721-ABFC-337E0CC3FD75}\";\n})(ValidationDataModels = exports.ValidationDataModels || (exports.ValidationDataModels = {}));\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar SingleLineText = function (props) {\n var field = props.field, value = props.value, onChange = props.onChange, errors = props.errors, tracker = props.tracker;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props)),\n react_1.default.createElement(\"input\", { type: \"text\", className: field.model.cssClass, id: field.valueField.id, name: field.valueField.name, value: value, maxLength: field.model.maxLength, placeholder: field.model.placeholderText, onChange: function (e) { return handleOnChange(field, e.target.value, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } }),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction handleOnChange(field, fieldValue, callback) {\n var valid = true;\n var errorMessages = [];\n // custom client validation logic here\n if (field.model.required && !fieldValue) {\n valid = false;\n errorMessages.push(field.model.title + \" is required\");\n }\n callback(field.valueField.name, fieldValue, valid, errorMessages);\n}\nexports.default = SingleLineText;\n","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\n// NOTE: onButtonClick is not a submit handler;\n// it signals to the parent form which button invoked the submit action\n// (which is important for multi-step forms where multiple submits can occur i.e. back/forward)\nvar Button = function (_a) {\n var field = _a.field, onButtonClick = _a.onButtonClick;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(\"button\", { type: \"submit\", value: field.model.title, name: field.buttonField.name, id: field.buttonField.id, onClick: function () { return onButtonClick(field.buttonField.name); } }, field.model.title)));\n};\nexports.default = Button;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar Checkbox = function (props) {\n var field = props.field, value = props.value, onChange = props.onChange, tracker = props.tracker, errors = props.errors;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props),\n react_1.default.createElement(\"input\", { type: \"checkbox\", className: field.model.cssClass, id: field.valueField.id, name: field.valueField.name, value: \"true\", checked: value, onChange: function (e) { return handleOnChange(field, e.target.checked, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } })),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction handleOnChange(field, fieldValue, callback) {\n // (fieldName, fieldValue, isValid, validationErrors)\n callback(field.valueField.name, fieldValue, true, []);\n}\nexports.default = Checkbox;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar CheckboxList = function (props) {\n var field = props.field, items = props.field.model.items, value = props.value, onChange = props.onChange, errors = props.errors, tracker = props.tracker;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props)),\n items.map(function (item, index) { return (react_1.default.createElement(\"label\", { key: item.itemId },\n react_1.default.createElement(\"input\", { type: \"checkbox\", className: field.model.cssClass, id: field.valueField.id + index, name: field.valueField.name, value: item.value, checked: value.some(function (v) { return v === item.value; }), onChange: function (e) {\n return handleOnChange(field, value, e.target.value, e.target.checked, onChange);\n }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } }),\n item.text)); }),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction handleOnChange(field, originalFieldValue, changedElement, checked, callback) {\n // we can have multiple selected values. So we need to push ALL the selected\n // values back up to the root form. This is done using an array, which the form\n // serializer knows how to expand into multiple values on post\n var value = originalFieldValue;\n if (checked) {\n value.push(changedElement);\n }\n else {\n value = value.filter(function (v) { return v !== changedElement; });\n }\n // (fieldName, fieldValue, isValid, validationErrors)\n callback(field.valueField.name, value, true, []);\n}\nexports.default = CheckboxList;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar DropdownList = function (props) {\n var field = props.field, items = props.field.model.items, value = props.value, onChange = props.onChange, tracker = props.tracker, errors = props.errors;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props)),\n react_1.default.createElement(\"select\", { className: field.model.cssClass, id: field.valueField.id, name: field.valueField.name, value: value[0], onChange: function (e) { return handleOnChange(field, e.target.value, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } },\n field.model.showEmptyItem ? react_1.default.createElement(\"option\", { label: \" \" }) : null,\n items.map(function (item) { return (react_1.default.createElement(\"option\", { key: item.itemId, value: item.value }, item.text)); })),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction handleOnChange(field, newValue, callback) {\n var valid = true;\n var errorMessages = [];\n // custom client validation logic here\n if (field.model.required && !newValue) {\n valid = false;\n errorMessages.push(field.model.title + \" is required\");\n }\n callback(field.valueField.name, [newValue], valid, errorMessages);\n}\nexports.default = DropdownList;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar DateField = function (props) {\n var field = props.field, value = props.value, onChange = props.onChange, tracker = props.tracker, errors = props.errors;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props)),\n react_1.default.createElement(\"input\", { type: \"date\", className: field.model.cssClass, id: field.valueField.id, name: field.valueField.name, value: formatValue(value), min: formatValue(field.model.min), max: formatValue(field.model.max), onChange: function (e) { return handleOnChange(field, e.target.value, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } }),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction formatValue(value) {\n // dates are serialized from the API as full date/times (i.e. 2019-01-11T00:00:00)\n // but the date input expects only the date. Since the format is predictably long,\n // we can just take a substring.\n if (!value || value.length < 10) {\n return value;\n }\n return value.substring(0, 10);\n}\nfunction handleOnChange(field, fieldValue, callback) {\n var valid = true;\n var errorMessages = [];\n // custom client validation logic here\n if (field.model.required && !fieldValue) {\n valid = false;\n errorMessages.push(field.model.title + \" is required\");\n }\n callback(field.valueField.name, fieldValue, valid, errorMessages);\n}\nexports.default = DateField;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar Email = function (props) {\n var field = props.field, value = props.value, onChange = props.onChange, tracker = props.tracker, errors = props.errors;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props)),\n react_1.default.createElement(\"input\", { type: \"email\", className: field.model.cssClass, id: field.valueField.id, name: field.valueField.name, value: value, maxLength: field.model.maxLength, placeholder: field.model.placeholderText, onChange: function (e) { return handleOnChange(field, e.target.value, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } }),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction handleOnChange(field, fieldValue, callback) {\n var valid = true;\n var errorMessages = [];\n // custom client validation logic here\n if (field.model.required && !fieldValue) {\n valid = false;\n errorMessages.push(field.model.title + \" is required\");\n }\n callback(field.valueField.name, fieldValue, valid, errorMessages);\n}\nexports.default = Email;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar ListBox = function (props) {\n var field = props.field, items = props.field.model.items, value = props.value, onChange = props.onChange, tracker = props.tracker, errors = props.errors;\n var finalValue = value;\n // react does not like an array as a value unless multiple select is allowed\n // (even if the array is always length 1)\n if (!field.model.multipleSelection) {\n finalValue = value[0];\n }\n // note: the value for list field types is an array (of selected values)\n // dropdown is single-select so we use value[0] for its value\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props)),\n react_1.default.createElement(\"select\", { className: field.model.cssClass, id: field.valueField.id, name: field.valueField.name, value: finalValue, size: field.model.rows, multiple: field.model.multipleSelection, onChange: function (e) { return handleOnChange(field, e.target.options, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } }, items.map(function (item) { return (react_1.default.createElement(\"option\", { key: item.itemId, value: item.value }, item.text)); })),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction handleOnChange(field, options, callback) {\n var valid = true;\n var errorMessages = [];\n var newValues = [];\n for (var i = 0; i < options.length; i += 1) {\n if (options[i].selected) {\n newValues.push(options[i].value);\n }\n }\n // custom client validation logic here\n if (field.model.required && newValues.length === 0) {\n valid = false;\n errorMessages.push(field.model.title + \" is required\");\n }\n callback(field.valueField.name, newValues, valid, errorMessages);\n}\nexports.default = ListBox;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar MultipleLineText = function (props) {\n var field = props.field, value = props.value, onChange = props.onChange, tracker = props.tracker, errors = props.errors;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props)),\n react_1.default.createElement(\"textarea\", { className: field.model.cssClass, id: field.valueField.id, name: field.valueField.name, value: value, rows: field.model.rows, maxLength: field.model.maxLength, placeholder: field.model.placeholderText, onChange: function (e) { return handleOnChange(field, e.target.value, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } }),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction handleOnChange(field, fieldValue, callback) {\n var valid = true;\n var errorMessages = [];\n // custom client validation logic here\n if (field.model.required && !fieldValue) {\n valid = false;\n errorMessages.push(field.model.title + \" is required\");\n }\n callback(field.valueField.name, fieldValue, valid, errorMessages);\n}\nexports.default = MultipleLineText;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar NumberField = function (props) {\n var field = props.field, value = props.value, onChange = props.onChange, tracker = props.tracker, errors = props.errors;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props)),\n react_1.default.createElement(\"input\", { type: \"number\", className: field.model.cssClass, id: field.valueField.id, name: field.valueField.name, value: value, step: field.model.step, min: field.model.min, max: field.model.max, onChange: function (e) { return handleOnChange(field, e.target.value, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } }),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction handleOnChange(field, fieldValue, callback) {\n var valid = true;\n var errorMessages = [];\n // custom client validation logic here\n if (field.model.required && !fieldValue) {\n valid = false;\n errorMessages.push(field.model.title + \" is required\");\n }\n callback(field.valueField.name, fieldValue, valid, errorMessages);\n}\nexports.default = NumberField;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar Password = function (props) {\n var field = props.field, value = props.value, onChange = props.onChange, tracker = props.tracker, errors = props.errors;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props)),\n react_1.default.createElement(\"input\", { type: \"password\", className: field.model.cssClass, id: field.valueField.id, name: field.valueField.name, value: value, maxLength: field.model.maxLength, placeholder: field.model.placeholderText, onChange: function (e) { return handleOnChange(field, e.target.value, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } }),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction handleOnChange(field, fieldValue, callback) {\n var valid = true;\n var errorMessages = [];\n // custom client validation logic here\n if (field.model.required && !fieldValue) {\n valid = false;\n errorMessages.push(field.model.title + \" is required\");\n }\n callback(field.valueField.name, fieldValue, valid, errorMessages);\n}\nexports.default = Password;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar RadioButtonList = function (props) {\n var field = props.field, items = props.field.model.items, value = props.value, onChange = props.onChange, tracker = props.tracker, errors = props.errors;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props)),\n items.map(function (item, index) { return (react_1.default.createElement(\"label\", { key: item.itemId },\n react_1.default.createElement(\"input\", { type: \"radio\", className: field.model.cssClass, id: field.valueField.id + index, name: field.valueField.name, value: item.value, checked: value.some(function (v) { return v === item.value; }), onChange: function (e) { return handleOnChange(field, e.target.value, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } }),\n item.text)); }),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction handleOnChange(field, newValue, callback) {\n var valid = true;\n var errorMessages = [];\n // custom client validation logic here\n if (field.model.required && !newValue) {\n valid = false;\n errorMessages.push(field.model.title + \" is required\");\n }\n callback(field.valueField.name, [newValue], valid, errorMessages);\n}\nexports.default = RadioButtonList;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar field_validation_errors_1 = require(\"./field-validation-errors\");\nvar label_1 = require(\"./label\");\nvar Telephone = function (props) {\n var field = props.field, value = props.value, onChange = props.onChange, tracker = props.tracker, errors = props.errors;\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(label_1.Label, __assign({}, props)),\n react_1.default.createElement(\"input\", { type: \"tel\", className: field.model.cssClass, id: field.valueField.id, name: field.valueField.name, value: value, maxLength: field.model.maxLength, placeholder: field.model.placeholderText, onChange: function (e) { return handleOnChange(field, e.target.value, onChange); }, onFocus: function () { return tracker.onFocusField(field, value); }, onBlur: function () { return tracker.onBlurField(field, value, errors); } }),\n react_1.default.createElement(field_validation_errors_1.FieldValidationErrors, __assign({}, props))));\n};\nfunction handleOnChange(field, fieldValue, callback) {\n var valid = true;\n var errorMessages = [];\n // custom client validation logic here\n if (field.model.required && !fieldValue) {\n valid = false;\n errorMessages.push(field.model.title + \" is required\");\n }\n callback(field.valueField.name, fieldValue, valid, errorMessages);\n}\nexports.default = Telephone;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar FieldTypes;\n(function (FieldTypes) {\n FieldTypes[\"Section\"] = \"{447AA745-6D29-4B65-A5A3-8173AA8AF548}\";\n FieldTypes[\"TextField\"] = \"{983BFA5F-C6B6-4AEE-A3BB-46B95D52E7DF}\";\n FieldTypes[\"FileUpload\"] = \"{7E9A0903-A52C-4843-BBE1-5B26BD162BED}\";\n FieldTypes[\"Button\"] = \"{7CE25CAB-EF3A-4F73-AB13-D33BDC1E4EE2}\";\n FieldTypes[\"SingleLineText\"] = \"{4EE89EA7-CEFE-4C8E-8532-467EF64591FC}\";\n FieldTypes[\"MultipleLineText\"] = \"{A296A1C1-0DA0-4493-A92E-B8191F43AEC6}\";\n FieldTypes[\"DateField\"] = \"{38137D30-7B2A-47D5-BBD8-133252C01B28}\";\n FieldTypes[\"Email\"] = \"{04C39CAC-8976-4910-BE0D-879ED3368429}\";\n FieldTypes[\"NumberField\"] = \"{5B153FC0-FC3F-474F-8CB8-233FB1BEF292}\";\n FieldTypes[\"Checkbox\"] = \"{4DA85E8A-3B48-4BC6-9565-8C1F5F36DD1B}\";\n FieldTypes[\"Telephone\"] = \"{DF74F55B-47E6-4D1C-92F8-B0D46A7B2704}\";\n FieldTypes[\"DropdownList\"] = \"{E0CFADEE-1AC0-471D-A820-2E70D1547B4B}\";\n FieldTypes[\"CheckboxList\"] = \"{D86A361A-D4FF-46B2-9E97-A37FC5B1FE1A}\";\n FieldTypes[\"ListBox\"] = \"{222A2121-D370-4C6F-80A3-03C930B718BF}\";\n FieldTypes[\"RadioButtonList\"] = \"{EDBD38A8-1AE9-42EC-8CCD-F5B0E2998B4F}\";\n FieldTypes[\"Password\"] = \"{668A1C37-9D6B-483B-B7C1-340C92D04BA4}\";\n})(FieldTypes = exports.FieldTypes || (exports.FieldTypes = {}));\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar sitecore_jss_forms_1 = require(\"@sitecore-jss/sitecore-jss-forms\");\nvar default_field_factory_1 = __importDefault(require(\"../default-field-factory\"));\nvar default_error_1 = require(\"./default-error\");\nvar Form = /** @class */ (function (_super) {\n __extends(Form, _super);\n function Form(props) {\n var _this = _super.call(this, props) || this;\n _this.state = {\n errors: [],\n // in a multistep form the server can reset the form schema\n // to display further steps; this state property overrides\n // the form passed in from props if present\n nextForm: null,\n submitButton: null,\n }; // workaround index type limitations in TS\n _this.createFieldComponent = _this.createFieldComponent.bind(_this);\n _this.getCurrentFieldState = _this.getCurrentFieldState.bind(_this);\n _this.collectCurrentFieldValues = _this.collectCurrentFieldValues.bind(_this);\n _this._tracker = new sitecore_jss_forms_1.FormTracker({\n endpoint: _this.props.sitecoreApiHost + \"/api/jss/fieldtracking/register?sc_apikey=\" + _this.props.sitecoreApiKey,\n fetcher: _this.props.trackerFetcher,\n });\n return _this;\n }\n Form.prototype.render = function () {\n var form = this.state.nextForm || this.props.form;\n if (!form) {\n return (react_1.default.createElement(\"div\", null, \"No form data was provided. Need to set a datasource?\"));\n }\n if (!form.metadata) {\n return (react_1.default.createElement(\"div\", null, \"Form data invalid. Forget to set the rendering contents resolver?\"));\n }\n var action = this.props.sitecoreApiHost + \"/api/jss/formbuilder?fxb.FormItemId=\" + form.metadata.itemId + \"&fxb.HtmlPrefix=\" + form.htmlPrefix + \"&sc_apikey=\" + this.props.sitecoreApiKey + \"&sc_itemid=\" + form.contextItemId;\n this._tracker.setFormData(form.formItemId.value, form.formSessionId.value, form.metadata.isTrackingEnabled);\n var fieldComponents = form.fields.map(this.createFieldComponent);\n var ErrorComponent = this.props.errorComponent || default_error_1.DefaultError;\n var fieldErrors = this.collectCurrentFieldValues().filter(function (field) { return !field.state.isValid; });\n return (react_1.default.createElement(\"form\", { action: action, method: \"POST\", onSubmit: this.onSubmit.bind(this) },\n react_1.default.createElement(ErrorComponent, { form: form, formErrors: this.state.errors, fieldErrors: fieldErrors }),\n fieldComponents));\n };\n /**\n * Creates a field component to render a field based on the form schema data\n */\n Form.prototype.createFieldComponent = function (field) {\n var props = __assign({ field: field, key: field.model.itemId, onChange: this.onFieldChange.bind(this), onButtonClick: this.onButtonClick.bind(this), fieldFactory: this.createFieldComponent, fieldValidationErrorsComponent: this.props.fieldValidationErrorsComponent, labelComponent: this.props.labelComponent, tracker: this._tracker }, this.getCurrentFieldState(field));\n var component = (this.props.fieldFactory || default_field_factory_1.default).get(field, props);\n if (this.props.fieldWrapperComponent) {\n var Wrapper = this.props.fieldWrapperComponent;\n return react_1.default.createElement(Wrapper, __assign({}, props), component);\n }\n return component;\n };\n /**\n * Acquires the current form field state for a single field.\n * This state can come from two possible sources:\n * - The form schema/current data (default values, previously saved steps in multistep)\n * - This component's state (the mutated state of the field after user changes)\n * The field state includes both current value as well as current validity.\n */\n Form.prototype.getCurrentFieldState = function (field) {\n // non-valued fields, i.e. text, section, do not have a value or validity state\n if (!sitecore_jss_forms_1.instanceOfValueFormField(field)) {\n return null;\n }\n var fieldName = field.valueField.name || null;\n if (!fieldName) {\n return null;\n }\n var fieldState = this.state[fieldName];\n // field has a value in react state i.e. due to user change\n if (fieldState) {\n var result = {\n isValid: fieldState.isValid,\n errors: fieldState.errors || [],\n };\n if (typeof fieldState.value !== 'undefined') {\n // field state from changed field value (in this.state)\n result.value = fieldState.value;\n }\n else {\n result.value = sitecore_jss_forms_1.getFieldValueFromModel(field);\n }\n return result;\n }\n // default state from form API model\n return {\n isValid: true,\n errors: [],\n value: sitecore_jss_forms_1.getFieldValueFromModel(field),\n };\n };\n /**\n * Handler triggered by child components that informs us which button triggered a submit.\n * This is important for multistep forms to disambiguate between back and next/submit buttons.\n */\n Form.prototype.onButtonClick = function (buttonName) {\n this.setState({ submitButton: buttonName });\n };\n /**\n * Handler triggered by child components that updates a given field's current value\n * (which we then push back down to the child via prop)\n * @param key Field's name attribute\n * @param value New field value\n * @param isValid Whether the field is valid or not\n * @param errors Validation error message(s) if field is invalid\n */\n Form.prototype.onFieldChange = function (key, value, isValid, errors) {\n var _a;\n this.setState((_a = {},\n _a[key] = { value: value, isValid: isValid, errors: errors },\n _a));\n };\n /**\n * Handler triggered when the form is submitted. May transition its state between\n * steps in a multistep form or handle a final submit.\n */\n Form.prototype.onSubmit = function (e) {\n var _this = this;\n e.preventDefault();\n var form = this.state.nextForm || this.props.form;\n var fieldValues = {};\n var currentFieldValues = this.collectCurrentFieldValues();\n currentFieldValues.forEach(function (field) {\n if (typeof field.state.value !== 'undefined') {\n fieldValues[field.fieldName] = field.state.value;\n }\n });\n // NOTE: we're not pre-validating the submit on the client because\n // Sitecore won't be able to track validation errors in xConnect\n // serialize the form data that we got from the server\n // (hidden fields with constant values, unchanged default field values, etc)\n var formData = sitecore_jss_forms_1.serializeForm(form, { submitButtonName: this.state.submitButton });\n // merge in user-updated field values\n formData.mergeOverwritingExisting(fieldValues);\n var submitUrl = e.target.action;\n if (!submitUrl) {\n throw new Error('Submit URL was not defined. Ensure the form has an action attribute.');\n }\n sitecore_jss_forms_1.submitForm(formData, submitUrl, { fetcher: this.props.formFetcher })\n .then(function (result) {\n if (result.success && result.redirectUrl) {\n // Process redirect-on-success action.\n if (_this.props.onRedirect) {\n _this.props.onRedirect(result.redirectUrl);\n }\n else {\n window.location.href = result.redirectUrl;\n }\n }\n if (result.validationErrors) {\n var stateUpdate_1 = {};\n Object.keys(result.validationErrors).forEach(function (fieldKey) {\n stateUpdate_1[fieldKey] = {\n value: (_this.state[fieldKey] || {}).value,\n isValid: false,\n errors: result.validationErrors[fieldKey],\n };\n });\n _this.setState(stateUpdate_1);\n }\n if (result.nextForm) {\n _this.setState({ nextForm: result.nextForm });\n }\n if (result.success) {\n _this.resetFieldsState();\n }\n if (result.errors && result.errors.length > 0) {\n throw result.errors;\n }\n _this.setState({ errors: [] });\n })\n .catch(function (error) {\n if (Array.isArray(error)) {\n _this.setState({ errors: error });\n }\n else if (typeof error === 'string') {\n console.log('Form submit error', error);\n _this.setState({ errors: [error] });\n }\n else {\n console.log('Form submit error', error);\n _this.setState({ errors: [error.message] });\n }\n });\n };\n Form.prototype.collectCurrentFieldValues = function () {\n var _this = this;\n return Object.keys(this.state)\n .filter(function (fieldName) { return _this.state[fieldName] && typeof _this.state[fieldName].isValid !== 'undefined'; })\n .map(function (fieldName) { return ({ fieldName: fieldName, state: _this.state[fieldName] }); });\n };\n /**\n * Removes the current fields' mutated state from this.state,\n * which prevents validation issues and mutable field state from following us\n * across steps in a multistep form.\n */\n Form.prototype.resetFieldsState = function () {\n var keys = Object.keys(this.state).filter(function (key) { return key !== 'nextForm' && key !== 'errors' && key !== 'submitButton'; });\n var stateReset = keys.reduce(function (acc, v) {\n var _a;\n return (__assign(__assign({}, acc), (_a = {}, _a[v] = undefined, _a)));\n }, {});\n this.setState(__assign(__assign({}, stateReset), { errors: [] }));\n };\n return Form;\n}(react_1.Component));\nexports.Form = Form;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar FormField_1 = require(\"./FormField\");\nexports.instanceOfFormField = FormField_1.instanceOfFormField;\nexports.instanceOfButtonFormField = FormField_1.instanceOfButtonFormField;\nexports.instanceOfFormFieldSection = FormField_1.instanceOfFormFieldSection;\nexports.instanceOfValueFormField = FormField_1.instanceOfValueFormField;\nvar serializeForm_1 = require(\"./serializeForm\");\nexports.serializeForm = serializeForm_1.serializeForm;\nvar ViewModel_1 = require(\"./ViewModel\");\nexports.instanceOfListViewModel = ViewModel_1.instanceOfListViewModel;\nexports.instanceOfInputViewModel = ViewModel_1.instanceOfInputViewModel;\nvar submitForm_1 = require(\"./submitForm\");\nexports.submitForm = submitForm_1.submitForm;\nexports.createFetchBasedFormFetcher = submitForm_1.createFetchBasedFormFetcher;\nvar getFieldValueFromModel_1 = require(\"./getFieldValueFromModel\");\nexports.getFieldValueFromModel = getFieldValueFromModel_1.getFieldValueFromModel;\nvar FormTracker_1 = require(\"./FormTracker\");\nexports.FormTracker = FormTracker_1.FormTracker;\nexports.createFetchBasedTrackerFetcher = FormTracker_1.createFetchBasedTrackerFetcher;\n","\"use strict\";\n// tslint:disable:max-line-length\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar FormField_1 = require(\"./FormField\");\nvar getFieldValueFromModel_1 = require(\"./getFieldValueFromModel\");\nvar JssFormData_1 = require(\"./JssFormData\");\nvar ViewModel_1 = require(\"./ViewModel\");\n/**\n * Serializes a Sitecore Form data into a format ready to POST to the server.\n * @param form The form schema data from the server\n * @param submitButtonName The name of the submit button that was clicked. Excludes other buttons from serialization. If not passed, all buttons are serialized.\n */\nfunction serializeForm(form, options) {\n if (!options) {\n options = {};\n }\n if (!options.fieldValueParser) {\n options.fieldValueParser = getFieldValueFromModel_1.getFieldValueFromModel;\n }\n var result = new JssFormData_1.JssFormData();\n pushField(result, form.formSessionId);\n pushField(result, form.antiForgeryToken);\n pushField(result, form.formItemId);\n pushField(result, form.pageItemId);\n pushFields(result, form.fields, options);\n return result;\n}\nexports.serializeForm = serializeForm;\nfunction pushFields(result, fields, options) {\n fields.forEach(function (field) {\n if (FormField_1.instanceOfButtonFormField(field) &&\n (!options.submitButtonName || field.buttonField.name === options.submitButtonName)) {\n pushField(result, field.buttonField, field.model.title);\n pushField(result, field.navigationButtonsField);\n pushField(result, field.navigationStepField);\n }\n else if (FormField_1.instanceOfValueFormField(field)) {\n if (field.valueField.name.endsWith('.Files')) {\n var fileUploadField = field;\n if (!fileUploadField.originalValue && !fileUploadField.model.files) {\n return;\n }\n }\n pushField(result, field.indexField);\n pushField(result, field.fieldIdField);\n // get stored value (i.e. if a multistep form)\n if (ViewModel_1.instanceOfInputViewModel(field.model) && options.fieldValueParser) {\n var fieldValue = options.fieldValueParser(field);\n if (Array.isArray(fieldValue)) {\n fieldValue.forEach(function (value) { return pushField(result, field.valueField, value); });\n }\n else {\n pushField(result, field.valueField, fieldValue.toString());\n }\n }\n }\n else if (FormField_1.instanceOfFormFieldSection(field)) {\n pushFields(result, field.fields, options);\n }\n });\n}\nfunction pushField(result, field, overrideValue) {\n // the '' fallback prevents serializing 'null' as a string for empty field values ;)\n return pushFieldValue(result, field.name, overrideValue || field.value || '');\n}\nfunction pushFieldValue(result, fieldName, fieldValue) {\n if (!fieldName) {\n throw new Error('Field had no name');\n }\n result.append(fieldName, fieldValue);\n}\n","\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Stores the serialized state of a JSS form before it is POSTed back to the server.\n * Similar API to FormData but supports urlencoded forms (needed for Sitecore antiforgery support),\n * and supports append/get which not all browsers do as of this writing.\n */\nvar JssFormData = /** @class */ (function () {\n function JssFormData() {\n this.data = new Array();\n }\n /** Appends a new key/value to the form data. Value will be added to any existing value that may exist. */\n JssFormData.prototype.append = function (key, value) {\n this.data.push({ key: key, value: value });\n };\n /** Sets a key/value, removing any existing value(s) set for that key. */\n JssFormData.prototype.set = function (key, value) {\n this.data = this.data.filter(function (entry) { return entry.key !== key; });\n this.append(key, value);\n };\n /** Merges form data from a client-side state store (i.e. the user-specified values), overwriting any existing values for the keys */\n JssFormData.prototype.mergeOverwritingExisting = function (values) {\n var _this = this;\n Object.keys(values).forEach(function (key) {\n var value = values[key];\n // for multi-valued fields, like checkbox lists,\n // we can receive an array of selected values.\n // we want to _set_ the first one to override anything existing,\n // but _append_ anything after that to avoid overwriting our own values\n if (Array.isArray(value)) {\n value.forEach(function (v, index) {\n if (index === 0) {\n _this.set(key, v);\n }\n else {\n _this.append(key, v);\n }\n });\n }\n else {\n _this.set(key, value.toString());\n }\n });\n };\n /** Gets all key/values in the store. Duplicate keys with different values are possible. */\n JssFormData.prototype.get = function () {\n return __spreadArrays(this.data);\n };\n /**\n * Converts the store into a FormData that can be POST-ed with fetch as multipart/form-data.\n */\n JssFormData.prototype.toMultipartFormData = function () {\n var formData = new FormData();\n this.data.forEach(function (entry) { return formData.append(entry.key, entry.value); });\n return formData;\n };\n /**\n * Converts the store into a URL-encoded string suitable to POST as application/x-www-form-urlencoded.\n */\n JssFormData.prototype.toUrlEncodedFormData = function () {\n return this.data.map(function (entry) { return encodeURIComponent(entry.key) + \"=\" + encodeURIComponent(entry.value.toString()); }).join('&').replace(/%20/g, '+');\n };\n return JssFormData;\n}());\nexports.JssFormData = JssFormData;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction createFetchBasedFormFetcher(options) {\n return function (formData, endpoint) { return fetch(endpoint, __assign({ body: formData.toMultipartFormData(), method: 'post', \n // IMPORTANT: Sitecore forms relies on cookies for some state management, so credentials must be included.\n credentials: 'include' }, options))\n .then(function (res) { return res.json(); })\n .then(function (res) { return res; }); };\n}\nexports.createFetchBasedFormFetcher = createFetchBasedFormFetcher;\nfunction submitForm(formData, endpoint, options) {\n options = options || {};\n if (!options.fetcher) {\n options.fetcher = createFetchBasedFormFetcher();\n }\n return options.fetcher(formData, endpoint);\n}\nexports.submitForm = submitForm;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventIds;\n(function (EventIds) {\n EventIds[\"FieldCompleted\"] = \"2ca692cb-bdb2-4c9d-a3b5-917b3656c46a\";\n EventIds[\"FieldError\"] = \"ea27aca5-432f-424a-b000-26ba5f8ae60a\";\n})(EventIds || (EventIds = {}));\nfunction createFetchBasedTrackerFetcher(options) {\n return function (formData, endpoint) { return fetch(endpoint, __assign({ body: JSON.stringify(formData), method: 'post', \n // IMPORTANT: Sitecore forms relies on cookies for some state management, so credentials must be included.\n credentials: 'include' }, options)); };\n}\nexports.createFetchBasedTrackerFetcher = createFetchBasedTrackerFetcher;\nvar FormTracker = /** @class */ (function () {\n function FormTracker(options) {\n this._currentField = null;\n this._fetcher = options.fetcher || createFetchBasedTrackerFetcher();\n this._endpoint = options.endpoint;\n }\n /** Should be called prior to pushing any events, and again whenever new form schema data is received */\n FormTracker.prototype.setFormData = function (formId, formSessionId, enableTracking) {\n this._formId = formId;\n this._formSessionId = formSessionId;\n this._enableTracking = enableTracking;\n };\n FormTracker.prototype.onFocusField = function (field, value) {\n if (!this._enableTracking || !field.model.isTrackingEnabled) {\n this._resetField();\n return;\n }\n this._startTrackingField(field, value);\n };\n FormTracker.prototype.onBlurField = function (field, value, validationErrors) {\n var _this = this;\n var trackableField = field;\n if (!this._enableTracking || !field.model.isTrackingEnabled) {\n this._resetField();\n return;\n }\n var blurredAtTick = new Date().getTime();\n var duration = trackableField.focusedAtTick ? Math.round((blurredAtTick - trackableField.focusedAtTick) / 1000) : 0;\n trackableField.focusedAtTick = undefined;\n var fieldChanged = this._currentField && this._currentField.fieldIdField.value !== trackableField.fieldIdField.value;\n if (fieldChanged) {\n this._startTrackingField(field, value);\n duration = 0;\n }\n if (fieldChanged || this._isValueChanged(value)) {\n if (this._currentField) {\n this._currentField.originalValue = value;\n }\n var clientEvent = this._buildEvent(field, EventIds.FieldCompleted, duration);\n var validationEvents_1 = [];\n if (validationErrors) {\n validationErrors.forEach(function () {\n validationEvents_1.push(_this._buildEvent(field, EventIds.FieldError, duration));\n });\n }\n this._trackEvents(__spreadArrays(validationEvents_1, [clientEvent]));\n }\n };\n FormTracker.prototype._startTrackingField = function (field, value) {\n var trackableField = field;\n trackableField.focusedAtTick = new Date().getTime();\n trackableField.originalValue = value;\n this._currentField = trackableField;\n };\n FormTracker.prototype._resetField = function () {\n this._currentField = null;\n };\n FormTracker.prototype._isValueChanged = function (newValue) {\n if (!this._currentField || typeof this._currentField.originalValue === 'undefined') {\n return true;\n }\n var originalValue = this._currentField.originalValue;\n if (Array.isArray(newValue)) {\n if (!Array.isArray(originalValue)) {\n return true;\n }\n // array compare\n if (originalValue.length !== newValue.length) {\n return true;\n }\n for (var i = 0; i < originalValue.length; i += 1) {\n if (originalValue[i] !== newValue[i]) {\n return true;\n }\n }\n return false;\n }\n // original value is array but value is not so cannot be equal\n if (Array.isArray(originalValue)) {\n return false;\n }\n // string compare\n return newValue !== this._currentField.originalValue;\n };\n FormTracker.prototype._buildEvent = function (field, eventId, duration) {\n if (!this._formId || !this._formSessionId) {\n throw new Error('Event was pushed without form data being set.');\n }\n return {\n formId: this._formId,\n sessionId: this._formSessionId,\n eventId: eventId,\n fieldId: field.fieldIdField.value,\n duration: duration,\n fieldName: field.model.name,\n };\n };\n FormTracker.prototype._trackEvents = function (events) {\n return this._fetcher(events, this._endpoint);\n };\n return FormTracker;\n}());\nexports.FormTracker = FormTracker;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar DefaultError = function (props) { return (react_1.default.createElement(\"div\", { className: \"form-errors\" },\n props.formErrors.map(function (error, index) { return (react_1.default.createElement(\"div\", { className: \"invalid\", key: \"formError-\" + index }, error)); }),\n props.fieldErrors.map(function (error, index) { return (react_1.default.createElement(\"div\", { className: \"invalid\", key: \"fieldError-\" + index }, error.state.errors.map(function (message) { return react_1.default.createElement(\"div\", { key: message }, message); }))); }))); };\nexports.DefaultError = DefaultError;\n"],"sourceRoot":""}