@oneblink/apps-react 12.0.0 → 13.0.0-beta.10

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.
Files changed (207) hide show
  1. package/dist/OneBlinkAutoSaveForm.d.ts +5 -2
  2. package/dist/OneBlinkAutoSaveForm.js.map +1 -1
  3. package/dist/OneBlinkForm.d.ts +12 -62
  4. package/dist/OneBlinkForm.js +5 -2
  5. package/dist/OneBlinkForm.js.map +1 -1
  6. package/dist/OneBlinkFormBase.d.ts +23 -3
  7. package/dist/OneBlinkFormBase.js +357 -194
  8. package/dist/OneBlinkFormBase.js.map +1 -1
  9. package/dist/OneBlinkReadOnlyForm.d.ts +17 -9
  10. package/dist/OneBlinkReadOnlyForm.js +24 -47
  11. package/dist/OneBlinkReadOnlyForm.js.map +1 -1
  12. package/dist/apps/approvals-service.d.ts +1 -0
  13. package/dist/apps/approvals-service.js.map +1 -1
  14. package/dist/apps/services/api/submissions.d.ts +19 -2
  15. package/dist/apps/services/api/submissions.js +37 -4
  16. package/dist/apps/services/api/submissions.js.map +1 -1
  17. package/dist/apps/services/errors/oneBlinkAppsError.d.ts +8 -0
  18. package/dist/apps/services/errors/oneBlinkAppsError.js +1 -0
  19. package/dist/apps/services/errors/oneBlinkAppsError.js.map +1 -1
  20. package/dist/apps/submission-service.d.ts +16 -6
  21. package/dist/apps/submission-service.js +11 -6
  22. package/dist/apps/submission-service.js.map +1 -1
  23. package/dist/components/ArcGISWebMap.d.ts +2 -1
  24. package/dist/components/ArcGISWebMap.js +12 -4
  25. package/dist/components/ArcGISWebMap.js.map +1 -1
  26. package/dist/components/renderer/LookupButton.js +7 -5
  27. package/dist/components/renderer/LookupButton.js.map +1 -1
  28. package/dist/components/renderer/LookupNotification.js +32 -15
  29. package/dist/components/renderer/LookupNotification.js.map +1 -1
  30. package/dist/components/renderer/OneBlinkFormElements.d.ts +14 -1
  31. package/dist/components/renderer/OneBlinkFormElements.js +58 -39
  32. package/dist/components/renderer/OneBlinkFormElements.js.map +1 -1
  33. package/dist/components/renderer/PageFormElements.js +8 -3
  34. package/dist/components/renderer/PageFormElements.js.map +1 -1
  35. package/dist/components/renderer/ReverseGeocode.js +11 -4
  36. package/dist/components/renderer/ReverseGeocode.js.map +1 -1
  37. package/dist/components/renderer/attachments/DropdownMenu.d.ts +1 -2
  38. package/dist/components/renderer/attachments/DropdownMenu.js +4 -10
  39. package/dist/components/renderer/attachments/DropdownMenu.js.map +1 -1
  40. package/dist/components/renderer/attachments/FileCard.d.ts +2 -1
  41. package/dist/components/renderer/attachments/FileCard.js +2 -2
  42. package/dist/components/renderer/attachments/FileCard.js.map +1 -1
  43. package/dist/form-elements/FormElementABN.d.ts +2 -1
  44. package/dist/form-elements/FormElementABN.js +3 -3
  45. package/dist/form-elements/FormElementABN.js.map +1 -1
  46. package/dist/form-elements/FormElementAPINSWLiquorLicence.d.ts +2 -1
  47. package/dist/form-elements/FormElementAPINSWLiquorLicence.js +2 -2
  48. package/dist/form-elements/FormElementAPINSWLiquorLicence.js.map +1 -1
  49. package/dist/form-elements/FormElementArcGISWebMap.d.ts +2 -1
  50. package/dist/form-elements/FormElementArcGISWebMap.js +5 -5
  51. package/dist/form-elements/FormElementArcGISWebMap.js.map +1 -1
  52. package/dist/form-elements/FormElementAutocomplete.d.ts +1 -0
  53. package/dist/form-elements/FormElementAutocomplete.js +4 -4
  54. package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
  55. package/dist/form-elements/FormElementBSB.d.ts +2 -1
  56. package/dist/form-elements/FormElementBSB.js +3 -3
  57. package/dist/form-elements/FormElementBSB.js.map +1 -1
  58. package/dist/form-elements/FormElementBarcodeScanner.d.ts +2 -1
  59. package/dist/form-elements/FormElementBarcodeScanner.js +2 -2
  60. package/dist/form-elements/FormElementBarcodeScanner.js.map +1 -1
  61. package/dist/form-elements/FormElementBoolean.d.ts +2 -1
  62. package/dist/form-elements/FormElementBoolean.js +3 -3
  63. package/dist/form-elements/FormElementBoolean.js.map +1 -1
  64. package/dist/form-elements/FormElementCalculation.js +1 -0
  65. package/dist/form-elements/FormElementCalculation.js.map +1 -1
  66. package/dist/form-elements/FormElementCamera.d.ts +2 -1
  67. package/dist/form-elements/FormElementCamera.js +4 -4
  68. package/dist/form-elements/FormElementCamera.js.map +1 -1
  69. package/dist/form-elements/FormElementCheckBoxes.d.ts +2 -1
  70. package/dist/form-elements/FormElementCheckBoxes.js +4 -4
  71. package/dist/form-elements/FormElementCheckBoxes.js.map +1 -1
  72. package/dist/form-elements/FormElementCivicaNameRecord.js +1 -1
  73. package/dist/form-elements/FormElementCivicaNameRecord.js.map +1 -1
  74. package/dist/form-elements/FormElementCivicaStreetName.d.ts +2 -1
  75. package/dist/form-elements/FormElementCivicaStreetName.js +2 -2
  76. package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
  77. package/dist/form-elements/FormElementCompliance.d.ts +2 -1
  78. package/dist/form-elements/FormElementCompliance.js +5 -12
  79. package/dist/form-elements/FormElementCompliance.js.map +1 -1
  80. package/dist/form-elements/FormElementDate.d.ts +2 -1
  81. package/dist/form-elements/FormElementDate.js +3 -3
  82. package/dist/form-elements/FormElementDate.js.map +1 -1
  83. package/dist/form-elements/FormElementDateTime.d.ts +2 -1
  84. package/dist/form-elements/FormElementDateTime.js +3 -3
  85. package/dist/form-elements/FormElementDateTime.js.map +1 -1
  86. package/dist/form-elements/FormElementEmail.d.ts +2 -1
  87. package/dist/form-elements/FormElementEmail.js +2 -2
  88. package/dist/form-elements/FormElementEmail.js.map +1 -1
  89. package/dist/form-elements/FormElementFile.d.ts +1 -0
  90. package/dist/form-elements/FormElementFile.js +2 -2
  91. package/dist/form-elements/FormElementFile.js.map +1 -1
  92. package/dist/form-elements/FormElementFiles.d.ts +2 -1
  93. package/dist/form-elements/FormElementFiles.js +4 -4
  94. package/dist/form-elements/FormElementFiles.js.map +1 -1
  95. package/dist/form-elements/FormElementForm.d.ts +20 -1
  96. package/dist/form-elements/FormElementForm.js +9 -15
  97. package/dist/form-elements/FormElementForm.js.map +1 -1
  98. package/dist/form-elements/FormElementFreshdeskDependentField.js +1 -1
  99. package/dist/form-elements/FormElementFreshdeskDependentField.js.map +1 -1
  100. package/dist/form-elements/FormElementGeoscapeAddress.d.ts +2 -1
  101. package/dist/form-elements/FormElementGeoscapeAddress.js +2 -2
  102. package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
  103. package/dist/form-elements/FormElementGoogleAddress.d.ts +2 -1
  104. package/dist/form-elements/FormElementGoogleAddress.js +2 -2
  105. package/dist/form-elements/FormElementGoogleAddress.js.map +1 -1
  106. package/dist/form-elements/FormElementLocation.d.ts +2 -1
  107. package/dist/form-elements/FormElementLocation.js +3 -3
  108. package/dist/form-elements/FormElementLocation.js.map +1 -1
  109. package/dist/form-elements/FormElementLookupButton.d.ts +2 -1
  110. package/dist/form-elements/FormElementLookupButton.js +8 -4
  111. package/dist/form-elements/FormElementLookupButton.js.map +1 -1
  112. package/dist/form-elements/FormElementNumber.d.ts +2 -1
  113. package/dist/form-elements/FormElementNumber.js +4 -4
  114. package/dist/form-elements/FormElementNumber.js.map +1 -1
  115. package/dist/form-elements/FormElementPointAddress.d.ts +2 -1
  116. package/dist/form-elements/FormElementPointAddress.js +2 -2
  117. package/dist/form-elements/FormElementPointAddress.js.map +1 -1
  118. package/dist/form-elements/FormElementPointAddressV3.d.ts +2 -1
  119. package/dist/form-elements/FormElementPointAddressV3.js +2 -2
  120. package/dist/form-elements/FormElementPointAddressV3.js.map +1 -1
  121. package/dist/form-elements/FormElementPointCadastralParcel.d.ts +2 -1
  122. package/dist/form-elements/FormElementPointCadastralParcel.js +3 -3
  123. package/dist/form-elements/FormElementPointCadastralParcel.js.map +1 -1
  124. package/dist/form-elements/FormElementRadio.d.ts +2 -1
  125. package/dist/form-elements/FormElementRadio.js +3 -3
  126. package/dist/form-elements/FormElementRadio.js.map +1 -1
  127. package/dist/form-elements/FormElementRepeatableSet.d.ts +13 -1
  128. package/dist/form-elements/FormElementRepeatableSet.js +16 -14
  129. package/dist/form-elements/FormElementRepeatableSet.js.map +1 -1
  130. package/dist/form-elements/FormElementSection.d.ts +7 -1
  131. package/dist/form-elements/FormElementSection.js +4 -4
  132. package/dist/form-elements/FormElementSection.js.map +1 -1
  133. package/dist/form-elements/FormElementSelect.d.ts +2 -1
  134. package/dist/form-elements/FormElementSelect.js +4 -4
  135. package/dist/form-elements/FormElementSelect.js.map +1 -1
  136. package/dist/form-elements/FormElementSignature.d.ts +2 -1
  137. package/dist/form-elements/FormElementSignature.js +9 -9
  138. package/dist/form-elements/FormElementSignature.js.map +1 -1
  139. package/dist/form-elements/FormElementSummary.js +2 -0
  140. package/dist/form-elements/FormElementSummary.js.map +1 -1
  141. package/dist/form-elements/FormElementTelephone.d.ts +2 -1
  142. package/dist/form-elements/FormElementTelephone.js +2 -2
  143. package/dist/form-elements/FormElementTelephone.js.map +1 -1
  144. package/dist/form-elements/FormElementText.d.ts +2 -1
  145. package/dist/form-elements/FormElementText.js +2 -2
  146. package/dist/form-elements/FormElementText.js.map +1 -1
  147. package/dist/form-elements/FormElementTextarea.d.ts +2 -1
  148. package/dist/form-elements/FormElementTextarea.js +3 -3
  149. package/dist/form-elements/FormElementTextarea.js.map +1 -1
  150. package/dist/form-elements/FormElementTime.d.ts +2 -1
  151. package/dist/form-elements/FormElementTime.js +3 -3
  152. package/dist/form-elements/FormElementTime.js.map +1 -1
  153. package/dist/form-elements/OptionButton.d.ts +1 -1
  154. package/dist/form-elements/OptionButton.js +2 -2
  155. package/dist/form-elements/OptionButton.js.map +1 -1
  156. package/dist/hooks/useAreLookupsDisallowed.d.ts +2 -0
  157. package/dist/hooks/useAreLookupsDisallowed.js +12 -0
  158. package/dist/hooks/useAreLookupsDisallowed.js.map +1 -0
  159. package/dist/hooks/useDynamicOptionsLoaderState.js +5 -1
  160. package/dist/hooks/useDynamicOptionsLoaderState.js.map +1 -1
  161. package/dist/hooks/useEditableFormElementIds.d.ts +3 -0
  162. package/dist/hooks/useEditableFormElementIds.js +6 -0
  163. package/dist/hooks/useEditableFormElementIds.js.map +1 -0
  164. package/dist/hooks/useFormElementOptions.js +2 -0
  165. package/dist/hooks/useFormElementOptions.js.map +1 -1
  166. package/dist/hooks/useFormIsDirty.d.ts +38 -0
  167. package/dist/hooks/useFormIsDirty.js +78 -0
  168. package/dist/hooks/useFormIsDirty.js.map +1 -0
  169. package/dist/hooks/useFormSubmissionAttempt.d.ts +88 -0
  170. package/dist/hooks/useFormSubmissionAttempt.js +103 -0
  171. package/dist/hooks/useFormSubmissionAttempt.js.map +1 -0
  172. package/dist/hooks/useFormSubmissionAutoSaveState.d.ts +2 -9
  173. package/dist/hooks/useFormSubmissionAutoSaveState.js +4 -2
  174. package/dist/hooks/useFormSubmissionAutoSaveState.js.map +1 -1
  175. package/dist/hooks/useFormValidation.d.ts +1 -1
  176. package/dist/hooks/useFormValidation.js +21 -8
  177. package/dist/hooks/useFormValidation.js.map +1 -1
  178. package/dist/hooks/useInjectPages.d.ts +2 -1
  179. package/dist/hooks/useInjectPages.js.map +1 -1
  180. package/dist/hooks/useIsFormElementReadOnly.d.ts +2 -0
  181. package/dist/hooks/useIsFormElementReadOnly.js +13 -0
  182. package/dist/hooks/useIsFormElementReadOnly.js.map +1 -0
  183. package/dist/hooks/useLookupNotification.d.ts +23 -2
  184. package/dist/hooks/useLookupNotification.js +2 -1
  185. package/dist/hooks/useLookupNotification.js.map +1 -1
  186. package/dist/hooks/useLookups.d.ts +3 -3
  187. package/dist/hooks/useLookups.js +7 -4
  188. package/dist/hooks/useLookups.js.map +1 -1
  189. package/dist/index.d.ts +3 -1
  190. package/dist/index.js +2 -0
  191. package/dist/index.js.map +1 -1
  192. package/dist/services/form-validation/extensions.d.ts +3 -1
  193. package/dist/services/form-validation/extensions.js +3 -1
  194. package/dist/services/form-validation/extensions.js.map +1 -1
  195. package/dist/services/form-validation/validateSubmission.d.ts +3 -1
  196. package/dist/services/form-validation/validateSubmission.js +43 -12
  197. package/dist/services/form-validation/validateSubmission.js.map +1 -1
  198. package/dist/services/generateCivicaNameRecordElements.js +0 -13
  199. package/dist/services/generateCivicaNameRecordElements.js.map +1 -1
  200. package/dist/services/generateFreshdeskDependentFieldElements.js +0 -3
  201. package/dist/services/generateFreshdeskDependentFieldElements.js.map +1 -1
  202. package/dist/types/form.d.ts +17 -3
  203. package/dist/types/form.js.map +1 -1
  204. package/dist/utils/read-only-form-elements.d.ts +37 -0
  205. package/dist/utils/read-only-form-elements.js +63 -0
  206. package/dist/utils/read-only-form-elements.js.map +1 -0
  207. package/package.json +4 -3
@@ -43,14 +43,17 @@ import FormElementArcGISWebMap, { stringifyArcgisInput, } from '../../form-eleme
43
43
  import { FormSubmissionModelContextProvider } from '../../hooks/useFormSubmissionModelContext';
44
44
  import useBooleanState from '../../hooks/useBooleanState';
45
45
  import useFormAudience from '../../hooks/useFormAudience';
46
+ import useFormIsReadOnly from '../../hooks/useFormIsReadOnly';
47
+ import useIsFormElementReadOnly from '../../hooks/useIsFormElementReadOnly';
46
48
  import isElementHiddenForAudience from '../../services/isElementHiddenForAudience';
47
49
  import FormElementAPINSWLiquorLicence from '../../form-elements/FormElementAPINSWLiquorLicence';
48
50
  import ElementDOMId from '../../utils/elementDOMIds';
49
51
  import FormElementPointCadastralParcel from '../../form-elements/FormElementPointCadastralParcel';
50
52
  import FormElementLookupButton from '../../form-elements/FormElementLookupButton';
51
53
  import FormElementPointAddressV3 from '../../form-elements/FormElementPointAddressV3';
52
- function OneBlinkFormElements({ formId, elements, isEven, idPrefix, displayValidationMessages, formElementsValidation, formElementsConditionallyShown, onChange, onLookup, onUpdateFormElements, model, parentElement, sectionState, }) {
54
+ function OneBlinkFormElements({ formId, elements, isEven, idPrefix, displayValidationMessages, formElementsValidation, formElementsConditionallyShown, onChange, onLookup, onUpdateFormElements, model, parentElement, sectionState, readOnly, readOnlyOverride, }) {
53
55
  const audience = useFormAudience();
56
+ const isFormReadOnly = useFormIsReadOnly();
54
57
  return (_jsx(FormSubmissionModelContextProvider, { elements: parentElement.elements, model: model, formElementsConditionallyShown: formElementsConditionallyShown, children: elements.map((element) => {
55
58
  var _a, _b;
56
59
  if (element.type === 'section') {
@@ -63,19 +66,26 @@ function OneBlinkFormElements({ formId, elements, isEven, idPrefix, displayValid
63
66
  const sectionHeaderId = `ob-section-header-${element.id}`;
64
67
  return (_jsx("div", { className: clsx('ob-element cypress-element-container', element.customCssClasses, {
65
68
  'is-hidden': isElementHiddenForAudience(element, audience),
66
- }), "aria-labelledby": sectionHeaderId, "aria-describedby": ariaDescribedBy, role: "region", children: _jsx(FormElementSection, { formId: formId, element: element, displayValidationMessages: displayValidationMessages, idPrefix: idPrefix, formElementsConditionallyShown: formElementsConditionallyShown, formElementsValidation: formElementsValidation, onChange: onChange, onLookup: onLookup, onUpdateFormElements: onUpdateFormElements, model: model, parentElement: parentElement, sectionHeaderId: sectionHeaderId, sectionState: sectionState }) }, element.id));
69
+ }), "aria-labelledby": sectionHeaderId, "aria-describedby": ariaDescribedBy, role: "region", children: _jsx(FormElementSection, { childrenReadOnly: isFormReadOnly || !!readOnly, formId: formId, element: element, displayValidationMessages: displayValidationMessages, idPrefix: idPrefix, formElementsConditionallyShown: formElementsConditionallyShown, formElementsValidation: formElementsValidation, onChange: onChange, onLookup: onLookup, onUpdateFormElements: onUpdateFormElements, model: model, parentElement: parentElement, sectionHeaderId: sectionHeaderId, sectionState: sectionState }) }, element.id));
67
70
  }
68
71
  if (element.type === 'page' ||
69
72
  ((_b = formElementsConditionallyShown === null || formElementsConditionallyShown === void 0 ? void 0 : formElementsConditionallyShown[element.name]) === null || _b === void 0 ? void 0 : _b.isHidden)) {
70
73
  return null;
71
74
  }
72
- return (_jsx(FormElementSwitchContainer, { formId: formId, element: element, value: model[element.name], displayValidationMessage: displayValidationMessages, isEven: isEven, id: `${idPrefix}${element.name}`, formElementConditionallyShown: formElementsConditionallyShown === null || formElementsConditionallyShown === void 0 ? void 0 : formElementsConditionallyShown[element.name], formElementValidation: formElementsValidation === null || formElementsValidation === void 0 ? void 0 : formElementsValidation[element.name], onChange: onChange, onLookup: onLookup, onUpdateFormElements: onUpdateFormElements, sectionState: sectionState }, element.id));
75
+ return (_jsx(FormElementSwitchContainer, { formId: formId, element: element, value: model[element.name], displayValidationMessage: displayValidationMessages, isEven: isEven, id: `${idPrefix}${element.name}`, formElementConditionallyShown: formElementsConditionallyShown === null || formElementsConditionallyShown === void 0 ? void 0 : formElementsConditionallyShown[element.name], formElementValidation: formElementsValidation === null || formElementsValidation === void 0 ? void 0 : formElementsValidation[element.name], onChange: onChange, onLookup: onLookup, onUpdateFormElements: onUpdateFormElements, sectionState: sectionState, parentReadOnly: readOnly, readOnlyOverride: readOnlyOverride }, element.id));
73
76
  }) }));
74
77
  }
75
78
  export default React.memo(OneBlinkFormElements);
76
79
  function FormElementSwitchContainer(props) {
80
+ var _a;
77
81
  const { element, formElementValidation, displayValidationMessage } = props;
78
82
  const audience = useFormAudience();
83
+ const isFormReadOnly = useFormIsReadOnly();
84
+ const isFormElementReadOnly = useIsFormElementReadOnly(element, props.parentReadOnly);
85
+ const descendantsReadOnly = isFormReadOnly ||
86
+ props.parentReadOnly === true ||
87
+ ('readOnly' in element && element.readOnly === true);
88
+ const readOnly = (_a = props.readOnlyOverride) !== null && _a !== void 0 ? _a : isFormElementReadOnly;
79
89
  const [isDirty, setIsDirty] = useBooleanState(false);
80
90
  const elementDOMId = React.useMemo(() => new ElementDOMId(props.id), [props.id]);
81
91
  const getValidationClass = () => {
@@ -92,11 +102,20 @@ function FormElementSwitchContainer(props) {
92
102
  if (element.type === 'page' || element.type === 'section') {
93
103
  return null;
94
104
  }
105
+ // A captcha proves a human is making a new submission, so it is omitted
106
+ // whenever this element cannot take new input: an approver edit (not a new
107
+ // submission), a read-only form, or a `readOnly` ancestor. The last case was
108
+ // previously handled by stripping captchas from the definition in
109
+ // `recursivelySetReadOnly`. `useFormValidation` drops the same captchas, so
110
+ // an omitted one can never block submission with an unreachable error.
111
+ if (element.type === 'captcha' && (audience === 'APPROVER' || readOnly)) {
112
+ return null;
113
+ }
95
114
  return (_jsx("div", { id: elementDOMId.elementContainerDOMId, "data-element-id": element.id, className: clsx('ob-element cypress-element-container', element.customCssClasses, validationClassName, {
96
115
  'is-hidden': isElementHiddenForAudience(element, audience),
97
- }), "data-cypress-element-name": element.name, "data-ob-name": element.name, children: _jsx(FormElementSwitch, { ...props, isDirty: isDirty, setIsDirty: setIsDirty }) }));
116
+ }), "data-cypress-element-name": element.name, "data-ob-name": element.name, children: _jsx(FormElementSwitch, { ...props, readOnly: readOnly, descendantsReadOnly: descendantsReadOnly, isDirty: isDirty, setIsDirty: setIsDirty }) }));
98
117
  }
99
- const FormElementSwitch = React.memo(function OneBlinkFormElement({ formId, element, value, displayValidationMessage, formElementValidation, formElementConditionallyShown, isEven, id, onChange, onLookup, onUpdateFormElements, isDirty, setIsDirty, sectionState, }) {
118
+ const FormElementSwitch = React.memo(function OneBlinkFormElement({ formId, element, readOnly, descendantsReadOnly, value, displayValidationMessage, formElementValidation, formElementConditionallyShown, isEven, id, onChange, onLookup, onUpdateFormElements, isDirty, setIsDirty, sectionState, }) {
100
119
  var _a;
101
120
  const dirtyProps = React.useMemo(() => ({ isDirty, setIsDirty }), [isDirty, setIsDirty]);
102
121
  const conditionallyShownOptionsElement = (formElementConditionallyShown === null || formElementConditionallyShown === void 0 ? void 0 : formElementConditionallyShown.type) === 'formElement'
@@ -116,71 +135,71 @@ const FormElementSwitch = React.memo(function OneBlinkFormElement({ formId, elem
116
135
  return _jsx(FormElementHTML, { element: element });
117
136
  }
118
137
  case 'date': {
119
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementDate, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
138
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementDate, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
120
139
  }
121
140
  case 'email': {
122
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementEmail, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
141
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementEmail, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
123
142
  }
124
143
  case 'text': {
125
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementText, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
144
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementText, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
126
145
  }
127
146
  case 'abn': {
128
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementABN, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
147
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementABN, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
129
148
  }
130
149
  case 'bsb': {
131
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementBSB, { id: id, formId: formId, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
150
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementBSB, { readOnly: readOnly, id: id, formId: formId, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
132
151
  }
133
152
  case 'barcodeScanner': {
134
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementBarcodeScanner, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
153
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementBarcodeScanner, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
135
154
  }
136
155
  case 'textarea': {
137
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementTextarea, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
156
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementTextarea, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
138
157
  }
139
158
  case 'number': {
140
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementNumber, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
159
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementNumber, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
141
160
  }
142
161
  case 'telephone': {
143
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementTelephone, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
162
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementTelephone, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
144
163
  }
145
164
  case 'autocomplete': {
146
- return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementAutocomplete, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, conditionallyShownOptionsElement: conditionallyShownOptionsElement, onUpdateFormElements: onUpdateFormElements, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
165
+ return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementAutocomplete, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, conditionallyShownOptionsElement: conditionallyShownOptionsElement, onUpdateFormElements: onUpdateFormElements, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
147
166
  }
148
167
  case 'select': {
149
- return (_jsx(LookupNotification, { autoLookupValue: !element.multi ? value : undefined, element: element, onLookup: onLookup, children: _jsx(FormElementSelect, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, conditionallyShownOptionsElement: conditionallyShownOptionsElement, onUpdateFormElements: onUpdateFormElements, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
168
+ return (_jsx(LookupNotification, { autoLookupValue: !element.multi ? value : undefined, element: element, onLookup: onLookup, children: _jsx(FormElementSelect, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, conditionallyShownOptionsElement: conditionallyShownOptionsElement, onUpdateFormElements: onUpdateFormElements, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
150
169
  }
151
170
  case 'radio': {
152
- return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementRadio, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, conditionallyShownOptionsElement: conditionallyShownOptionsElement, onUpdateFormElements: onUpdateFormElements, ...dirtyProps }) }));
171
+ return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementRadio, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, conditionallyShownOptionsElement: conditionallyShownOptionsElement, onUpdateFormElements: onUpdateFormElements, ...dirtyProps }) }));
153
172
  }
154
173
  case 'draw': {
155
- return (_jsx(FormElementSignature, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }));
174
+ return (_jsx(FormElementSignature, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }));
156
175
  }
157
176
  case 'calculation': {
158
177
  return (_jsx(FormElementCalculation, { element: element, onChange: onChange, value: value }));
159
178
  }
160
179
  case 'repeatableSet': {
161
- return (_jsx(FormElementRepeatableSet, { formId: formId, id: id, isEven: !isEven, element: element, value: value, onChange: onChange, onLookup: onLookup, formElementConditionallyShown: formElementConditionallyShown, formElementValidation: formElementValidation, displayValidationMessage: displayValidationMessage, onUpdateFormElements: onUpdateFormElements, sectionState: sectionState, ...dirtyProps }));
180
+ return (_jsx(FormElementRepeatableSet, { readOnly: readOnly, childrenReadOnly: descendantsReadOnly, formId: formId, id: id, isEven: !isEven, element: element, value: value, onChange: onChange, onLookup: onLookup, formElementConditionallyShown: formElementConditionallyShown, formElementValidation: formElementValidation, displayValidationMessage: displayValidationMessage, onUpdateFormElements: onUpdateFormElements, sectionState: sectionState, ...dirtyProps }));
162
181
  }
163
182
  case 'image': {
164
183
  return _jsx(FormElementImage, { element: element });
165
184
  }
166
185
  case 'datetime': {
167
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementDateTime, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
186
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementDateTime, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
168
187
  }
169
188
  case 'time': {
170
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementTime, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
189
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementTime, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
171
190
  }
172
191
  case 'checkboxes': {
173
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementCheckBoxes, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, conditionallyShownOptionsElement: conditionallyShownOptionsElement, onUpdateFormElements: onUpdateFormElements, ...dirtyProps }) }));
192
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, children: _jsx(FormElementCheckBoxes, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, conditionallyShownOptionsElement: conditionallyShownOptionsElement, onUpdateFormElements: onUpdateFormElements, ...dirtyProps }) }));
174
193
  }
175
194
  case 'files': {
176
- return (_jsx(LookupNotification, { element: element, onLookup: onLookup, autoLookupValue: value, stringifyAutoLookupValue: stringifyAttachments, children: _jsx(FormElementFiles, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
195
+ return (_jsx(LookupNotification, { element: element, onLookup: onLookup, autoLookupValue: value, stringifyAutoLookupValue: stringifyAttachments, children: _jsx(FormElementFiles, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
177
196
  }
178
197
  case 'infoPage':
179
198
  case 'form': {
180
- return (_jsx(FormElementForm, { formId: formId, id: id, element: element, value: value, onChange: onChange, onLookup: onLookup, displayValidationMessages: displayValidationMessage, formElementValidation: formElementValidation, formElementConditionallyShown: formElementConditionallyShown, onUpdateFormElements: onUpdateFormElements, sectionState: sectionState }));
199
+ return (_jsx(FormElementForm, { readOnly: readOnly, childrenReadOnly: descendantsReadOnly, formId: formId, id: id, element: element, value: value, onChange: onChange, onLookup: onLookup, displayValidationMessages: displayValidationMessage, formElementValidation: formElementValidation, formElementConditionallyShown: formElementConditionallyShown, onUpdateFormElements: onUpdateFormElements, sectionState: sectionState }));
181
200
  }
182
201
  case 'camera': {
183
- return (_jsx(FormElementCamera, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }));
202
+ return (_jsx(FormElementCamera, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }));
184
203
  }
185
204
  case 'summary': {
186
205
  return (_jsx(FormElementSummary, { element: element, onChange: onChange, value: value }));
@@ -189,54 +208,54 @@ const FormElementSwitch = React.memo(function OneBlinkFormElement({ formId, elem
189
208
  return (_jsx(FormElementCaptcha, { value: value, element: element, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }));
190
209
  }
191
210
  case 'location': {
192
- return (_jsx(LookupNotification, { autoLookupValue: value, stringifyAutoLookupValue: stringifyLocation, element: element, onLookup: onLookup, children: _jsx(ReverseGeocode, { value: value, element: element, onChange: onChange, children: _jsx(FormElementLocation, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }) }));
211
+ return (_jsx(LookupNotification, { autoLookupValue: value, stringifyAutoLookupValue: stringifyLocation, element: element, onLookup: onLookup, children: _jsx(ReverseGeocode, { value: value, element: element, onChange: onChange, children: _jsx(FormElementLocation, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }) }));
193
212
  }
194
213
  case 'geoscapeAddress': {
195
214
  const v = value;
196
- return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementGeoscapeAddress, { id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
215
+ return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementGeoscapeAddress, { readOnly: readOnly, id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
197
216
  }
198
217
  case 'compliance': {
199
- return (_jsx(LookupNotification, { autoLookupValue: value, stringifyAutoLookupValue: stringifyComplianceValue, element: element, onLookup: onLookup, children: _jsx(FormElementCompliance, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, conditionallyShownOptionsElement: conditionallyShownOptionsElement, isEven: isEven, onUpdateFormElements: onUpdateFormElements, ...dirtyProps }) }));
218
+ return (_jsx(LookupNotification, { autoLookupValue: value, stringifyAutoLookupValue: stringifyComplianceValue, element: element, onLookup: onLookup, children: _jsx(FormElementCompliance, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, conditionallyShownOptionsElement: conditionallyShownOptionsElement, isEven: isEven, onUpdateFormElements: onUpdateFormElements, ...dirtyProps }) }));
200
219
  }
201
220
  case 'freshdeskDependentField': {
202
- return (_jsx(FormElementFreshdeskDependentField, { formId: formId, id: id, element: element, value: value, onChange: onChange, onLookup: onLookup, displayValidationMessages: displayValidationMessage, formElementValidation: formElementValidation, formElementConditionallyShown: formElementConditionallyShown, onUpdateFormElements: onUpdateFormElements, sectionState: sectionState }));
221
+ return (_jsx(FormElementFreshdeskDependentField, { readOnly: readOnly, childrenReadOnly: descendantsReadOnly, formId: formId, id: id, element: element, value: value, onChange: onChange, onLookup: onLookup, displayValidationMessages: displayValidationMessage, formElementValidation: formElementValidation, formElementConditionallyShown: formElementConditionallyShown, onUpdateFormElements: onUpdateFormElements, sectionState: sectionState }));
203
222
  }
204
223
  case 'pointCadastralParcel': {
205
224
  const v = value;
206
- return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementPointCadastralParcel, { id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
225
+ return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementPointCadastralParcel, { readOnly: readOnly, id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
207
226
  }
208
227
  case 'pointAddress': {
209
228
  const v = value;
210
- return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementPointAddress, { id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
229
+ return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementPointAddress, { readOnly: readOnly, id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
211
230
  }
212
231
  case 'pointAddressV3': {
213
232
  const v = value;
214
- return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementPointAddressV3, { id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
233
+ return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementPointAddressV3, { readOnly: readOnly, id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
215
234
  }
216
235
  case 'googleAddress': {
217
236
  const v = value;
218
- return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementGoogleAddress, { id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
237
+ return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementGoogleAddress, { readOnly: readOnly, id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
219
238
  }
220
239
  case 'boolean': {
221
- return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementBoolean, { id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
240
+ return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementBoolean, { readOnly: readOnly, id: id, element: element, value: value, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
222
241
  }
223
242
  case 'civicaStreetName': {
224
243
  const v = value;
225
- return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementCivicaStreetName, { id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
244
+ return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementCivicaStreetName, { readOnly: readOnly, id: id, formId: formId, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
226
245
  }
227
246
  case 'civicaNameRecord': {
228
- return (_jsx(FormElementCivicaNameRecord, { formId: formId, id: id, element: element, value: value, onChange: onChange, onLookup: onLookup, displayValidationMessages: displayValidationMessage, formElementValidation: formElementValidation, formElementConditionallyShown: formElementConditionallyShown, onUpdateFormElements: onUpdateFormElements, sectionState: sectionState }));
247
+ return (_jsx(FormElementCivicaNameRecord, { readOnly: readOnly, childrenReadOnly: descendantsReadOnly, formId: formId, id: id, element: element, value: value, onChange: onChange, onLookup: onLookup, displayValidationMessages: displayValidationMessage, formElementValidation: formElementValidation, formElementConditionallyShown: formElementConditionallyShown, onUpdateFormElements: onUpdateFormElements, sectionState: sectionState }));
229
248
  }
230
249
  case 'apiNSWLiquorLicence': {
231
250
  const v = value;
232
- return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementAPINSWLiquorLicence, { formId: formId, id: id, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
251
+ return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, children: _jsx(FormElementAPINSWLiquorLicence, { readOnly: readOnly, formId: formId, id: id, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, autocompleteAttributes: autocompleteAttributes, ...dirtyProps }) }));
233
252
  }
234
253
  case 'arcGISWebMap': {
235
254
  const v = value;
236
- return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, stringifyAutoLookupValue: stringifyArcgisInput, children: _jsx(FormElementArcGISWebMap, { id: id, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
255
+ return (_jsx(LookupNotification, { autoLookupValue: value, element: element, onLookup: onLookup, stringifyAutoLookupValue: stringifyArcgisInput, children: _jsx(FormElementArcGISWebMap, { readOnly: readOnly, id: id, element: element, value: v, onChange: onChange, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, ...dirtyProps }) }));
237
256
  }
238
257
  case 'lookupButton': {
239
- return (_jsx(FormElementLookupButton, { id: id, element: element, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, onChange: onChange, onLookup: onLookup, ...dirtyProps }));
258
+ return (_jsx(FormElementLookupButton, { readOnly: readOnly, id: id, element: element, validationMessage: validationMessage, displayValidationMessage: displayValidationMessage, onChange: onChange, onLookup: onLookup, ...dirtyProps }));
240
259
  }
241
260
  case 'section':
242
261
  case 'page': {
@@ -1 +1 @@
1
- {"version":3,"file":"OneBlinkFormElements.js","sourceRoot":"","sources":["../../../src/components/renderer/OneBlinkFormElements.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\n\nimport LookupNotification from './LookupNotification'\nimport ReverseGeocode from './ReverseGeocode'\n\nimport FormElementBarcodeScanner from '../../form-elements/FormElementBarcodeScanner'\nimport FormElementEmail from '../../form-elements/FormElementEmail'\nimport FormElementABN from '../../form-elements/FormElementABN'\nimport FormElementBSB from '../../form-elements/FormElementBSB'\nimport FormElementText from '../../form-elements/FormElementText'\nimport FormElementTextarea from '../../form-elements/FormElementTextarea'\nimport FormElementNumber from '../../form-elements/FormElementNumber'\nimport FormElementHeading from '../../form-elements/FormElementHeading'\nimport FormElementHTML from '../../form-elements/FormElementHTML'\nimport FormElementTelephone from '../../form-elements/FormElementTelephone'\nimport FormElementSelect from '../../form-elements/FormElementSelect'\nimport FormElementDate from '../../form-elements/FormElementDate'\nimport FormElementImage from '../../form-elements/FormElementImage'\nimport FormElementDateTime from '../../form-elements/FormElementDateTime'\nimport FormElementTime from '../../form-elements/FormElementTime'\nimport FormElementCalculation from '../../form-elements/FormElementCalculation'\nimport FormElementRadio from '../../form-elements/FormElementRadio'\nimport FormElementAutocomplete from '../../form-elements/FormElementAutocomplete'\nimport FormElementRepeatableSet from '../../form-elements/FormElementRepeatableSet'\nimport FormElementSignature from '../../form-elements/FormElementSignature'\nimport FormElementCheckBoxes from '../../form-elements/FormElementCheckBoxes'\nimport FormElementFiles, {\n stringifyAttachments,\n} from '../../form-elements/FormElementFiles'\nimport FormElementForm from '../../form-elements/FormElementForm'\nimport FormElementSection from '../../form-elements/FormElementSection'\nimport FormElementCamera from '../../form-elements/FormElementCamera'\nimport FormElementSummary from '../../form-elements/FormElementSummary'\nimport FormElementCaptcha from '../../form-elements/FormElementCaptcha'\nimport FormElementLocation, {\n stringifyLocation,\n} from '../../form-elements/FormElementLocation'\nimport FormElementGeoscapeAddress from '../../form-elements/FormElementGeoscapeAddress'\nimport FormElementCompliance, {\n stringifyComplianceValue,\n} from '../../form-elements/FormElementCompliance'\nimport FormElementPointAddress from '../../form-elements/FormElementPointAddress'\nimport FormElementGoogleAddress from '../../form-elements/FormElementGoogleAddress'\nimport FormElementBoolean from '../../form-elements/FormElementBoolean'\nimport FormElementCivicaStreetName from '../../form-elements/FormElementCivicaStreetName'\nimport FormElementCivicaNameRecord from '../../form-elements/FormElementCivicaNameRecord'\nimport FormElementFreshdeskDependentField from '../../form-elements/FormElementFreshdeskDependentField'\nimport FormElementArcGISWebMap, {\n stringifyArcgisInput,\n} from '../../form-elements/FormElementArcGISWebMap'\n\nimport {\n APINSWTypes,\n CivicaTypes,\n FormTypes,\n GeoscapeTypes,\n GoogleTypes,\n MiscTypes,\n PointTypes,\n SubmissionTypes,\n} from '@oneblink/types'\n\nimport { FormSubmissionModelContextProvider } from '../../hooks/useFormSubmissionModelContext'\nimport useBooleanState from '../../hooks/useBooleanState'\nimport useFormAudience from '../../hooks/useFormAudience'\nimport isElementHiddenForAudience from '../../services/isElementHiddenForAudience'\nimport { FormElementBinaryStorageValue } from '../../types/attachments'\nimport {\n FormElementConditionallyShown,\n FormElementLookupHandler,\n FormElementsConditionallyShown,\n FormElementsValidation,\n FormElementValidation,\n NestedFormElementValueChangeHandler,\n IsDirtyProps,\n UpdateFormElementsHandler,\n SectionState,\n} from '../../types/form'\nimport { attachmentsService } from '../../apps'\nimport FormElementAPINSWLiquorLicence from '../../form-elements/FormElementAPINSWLiquorLicence'\nimport ElementDOMId from '../../utils/elementDOMIds'\nimport { ArcGISWebMapElementValue } from '@oneblink/types/typescript/arcgis'\nimport FormElementPointCadastralParcel from '../../form-elements/FormElementPointCadastralParcel'\nimport FormElementLookupButton from '../../form-elements/FormElementLookupButton'\nimport FormElementPointAddressV3 from '../../form-elements/FormElementPointAddressV3'\n\nexport type Props<T extends FormTypes._NestedElementsElement> = {\n formId: number\n elements: FormTypes.FormElement[]\n formElementsConditionallyShown: FormElementsConditionallyShown | undefined\n formElementsValidation: FormElementsValidation | undefined\n displayValidationMessages: boolean\n onChange: NestedFormElementValueChangeHandler\n onLookup: FormElementLookupHandler\n onUpdateFormElements: UpdateFormElementsHandler\n // Props passed by repeatable sets\n isEven?: boolean\n idPrefix: string\n model: SubmissionTypes.S3SubmissionData['submission']\n parentElement: T\n sectionState?: SectionState\n}\n\ninterface FormElementSwitchProps extends IsDirtyProps {\n formId: number\n element: FormTypes.FormElement\n value: unknown | undefined\n formElementValidation: FormElementValidation | undefined\n displayValidationMessage: boolean\n formElementConditionallyShown: FormElementConditionallyShown | undefined\n id: string\n isEven: boolean | undefined\n onChange: NestedFormElementValueChangeHandler\n onLookup: FormElementLookupHandler\n onUpdateFormElements: UpdateFormElementsHandler\n sectionState: SectionState\n}\n\nfunction OneBlinkFormElements<T extends FormTypes._NestedElementsElement>({\n formId,\n elements,\n isEven,\n idPrefix,\n displayValidationMessages,\n formElementsValidation,\n formElementsConditionallyShown,\n onChange,\n onLookup,\n onUpdateFormElements,\n model,\n parentElement,\n sectionState,\n}: Props<T>) {\n const audience = useFormAudience()\n return (\n <FormSubmissionModelContextProvider\n elements={parentElement.elements}\n model={model}\n formElementsConditionallyShown={formElementsConditionallyShown}\n >\n {elements.map((element) => {\n if (element.type === 'section') {\n if (formElementsConditionallyShown?.[element.id]?.isHidden) {\n return null\n }\n\n const ariaDescribedBy =\n element.hintPosition === 'BELOW_LABEL' && !!element.hint\n ? `${idPrefix}${element.id}-hint`\n : undefined\n\n const sectionHeaderId = `ob-section-header-${element.id}`\n\n return (\n <div\n key={element.id}\n className={clsx(\n 'ob-element cypress-element-container',\n element.customCssClasses,\n {\n 'is-hidden': isElementHiddenForAudience(element, audience),\n },\n )}\n aria-labelledby={sectionHeaderId}\n aria-describedby={ariaDescribedBy}\n role=\"region\"\n >\n <FormElementSection\n formId={formId}\n element={element}\n displayValidationMessages={displayValidationMessages}\n idPrefix={idPrefix}\n formElementsConditionallyShown={formElementsConditionallyShown}\n formElementsValidation={formElementsValidation}\n onChange={onChange}\n onLookup={onLookup}\n onUpdateFormElements={onUpdateFormElements}\n model={model}\n parentElement={parentElement}\n sectionHeaderId={sectionHeaderId}\n sectionState={sectionState}\n />\n </div>\n )\n }\n\n if (\n element.type === 'page' ||\n formElementsConditionallyShown?.[element.name]?.isHidden\n ) {\n return null\n }\n\n return (\n <FormElementSwitchContainer\n key={element.id}\n formId={formId}\n element={element}\n value={model[element.name]}\n displayValidationMessage={displayValidationMessages}\n isEven={isEven}\n id={`${idPrefix}${element.name}`}\n formElementConditionallyShown={\n formElementsConditionallyShown?.[element.name]\n }\n formElementValidation={formElementsValidation?.[element.name]}\n onChange={onChange}\n onLookup={onLookup}\n onUpdateFormElements={onUpdateFormElements}\n sectionState={sectionState}\n />\n )\n })}\n </FormSubmissionModelContextProvider>\n )\n}\n\nexport default React.memo(OneBlinkFormElements)\n\nfunction FormElementSwitchContainer(\n props: Omit<FormElementSwitchProps, 'isDirty' | 'setIsDirty'>,\n) {\n const { element, formElementValidation, displayValidationMessage } = props\n const audience = useFormAudience()\n const [isDirty, setIsDirty] = useBooleanState(false)\n const elementDOMId = React.useMemo(\n () => new ElementDOMId(props.id),\n [props.id],\n )\n const getValidationClass = () => {\n if (!('elements' in element)) {\n if (!formElementValidation) {\n return 'ob-element__valid'\n }\n if (isDirty || displayValidationMessage) {\n return 'ob-element__invalid'\n }\n }\n }\n const validationClassName = getValidationClass()\n\n if (element.type === 'page' || element.type === 'section') {\n return null\n }\n\n return (\n <div\n id={elementDOMId.elementContainerDOMId}\n data-element-id={element.id}\n className={clsx(\n 'ob-element cypress-element-container',\n element.customCssClasses,\n validationClassName,\n {\n 'is-hidden': isElementHiddenForAudience(element, audience),\n },\n )}\n data-cypress-element-name={element.name}\n data-ob-name={element.name}\n >\n <FormElementSwitch {...props} isDirty={isDirty} setIsDirty={setIsDirty} />\n </div>\n )\n}\n\nconst FormElementSwitch = React.memo(function OneBlinkFormElement({\n formId,\n element,\n value,\n displayValidationMessage,\n formElementValidation,\n formElementConditionallyShown,\n isEven,\n id,\n onChange,\n onLookup,\n onUpdateFormElements,\n isDirty,\n setIsDirty,\n sectionState,\n}: FormElementSwitchProps & IsDirtyProps) {\n const dirtyProps = React.useMemo(\n () => ({ isDirty, setIsDirty }),\n [isDirty, setIsDirty],\n )\n const conditionallyShownOptionsElement =\n formElementConditionallyShown?.type === 'formElement'\n ? formElementConditionallyShown\n : undefined\n const validationMessage =\n typeof formElementValidation === 'string'\n ? formElementValidation\n : undefined\n const autocompleteAttributes =\n 'autocompleteAttributes' in element\n ? element.autocompleteAttributes?.join(' ')\n : undefined\n switch (element.type) {\n case 'heading': {\n return <FormElementHeading element={element} />\n }\n case 'html': {\n return <FormElementHTML element={element} />\n }\n case 'date': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementDate\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementDate\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'email': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementEmail\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementEmail\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'text': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementText\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementText\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'abn': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementABN\n id={id}\n element={element}\n value={value as MiscTypes.ABNRecord | undefined}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementABN\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'bsb': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementBSB\n id={id}\n formId={formId}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBSB\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'barcodeScanner': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementBarcodeScanner\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBarcodeScanner\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'textarea': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTextarea\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTextarea\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'number': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementNumber\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementNumber\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'telephone': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTelephone\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTelephone\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'autocomplete': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementAutocomplete\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementAutocomplete\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'select': {\n return (\n <LookupNotification\n autoLookupValue={!element.multi ? value : undefined}\n element={element}\n onLookup={onLookup}\n >\n <FormElementSelect\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSelect\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'radio': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementRadio\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementRadio\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'draw': {\n return (\n <FormElementSignature\n id={id}\n element={element}\n value={value as FormElementBinaryStorageValue}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSignature\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'calculation': {\n return (\n <FormElementCalculation\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCalculation\n >['onChange']\n }\n value={value}\n />\n )\n }\n case 'repeatableSet': {\n return (\n <FormElementRepeatableSet\n formId={formId}\n id={id}\n isEven={!isEven}\n element={element}\n value={\n value as\n | Array<SubmissionTypes.S3SubmissionData['submission']>\n | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementRepeatableSet\n >['onChange']\n }\n onLookup={onLookup}\n formElementConditionallyShown={formElementConditionallyShown}\n formElementValidation={formElementValidation}\n displayValidationMessage={displayValidationMessage}\n onUpdateFormElements={onUpdateFormElements}\n sectionState={sectionState}\n {...dirtyProps}\n />\n )\n }\n case 'image': {\n return <FormElementImage element={element} />\n }\n case 'datetime': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementDateTime\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementDateTime\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'time': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTime\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTime\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'checkboxes': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementCheckBoxes\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCheckBoxes\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'files': {\n return (\n <LookupNotification\n element={element}\n onLookup={onLookup}\n autoLookupValue={value}\n stringifyAutoLookupValue={\n stringifyAttachments as React.ComponentProps<\n typeof LookupNotification\n >['stringifyAutoLookupValue']\n }\n >\n <FormElementFiles\n id={id}\n element={element}\n value={value as attachmentsService.Attachment[] | undefined}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementFiles\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'infoPage':\n case 'form': {\n return (\n <FormElementForm\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<typeof FormElementForm>['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n sectionState={sectionState}\n />\n )\n }\n case 'camera': {\n return (\n <FormElementCamera\n id={id}\n element={element}\n value={value as FormElementBinaryStorageValue}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCamera\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'summary': {\n return (\n <FormElementSummary\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSummary\n >['onChange']\n }\n value={value}\n />\n )\n }\n case 'captcha': {\n return (\n <FormElementCaptcha\n value={value as string | undefined}\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCaptcha\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'location': {\n return (\n <LookupNotification\n autoLookupValue={value}\n stringifyAutoLookupValue={\n stringifyLocation as React.ComponentProps<\n typeof LookupNotification\n >['stringifyAutoLookupValue']\n }\n element={element}\n onLookup={onLookup}\n >\n <ReverseGeocode\n value={value}\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof ReverseGeocode\n >['onChange']\n }\n >\n <FormElementLocation\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementLocation\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </ReverseGeocode>\n </LookupNotification>\n )\n }\n case 'geoscapeAddress': {\n const v = value as GeoscapeTypes.GeoscapeAddress | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementGeoscapeAddress\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementGeoscapeAddress\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'compliance': {\n return (\n <LookupNotification\n autoLookupValue={value}\n stringifyAutoLookupValue={stringifyComplianceValue}\n element={element}\n onLookup={onLookup}\n >\n <FormElementCompliance\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCompliance\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n isEven={isEven}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'freshdeskDependentField': {\n return (\n <FormElementFreshdeskDependentField\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementFreshdeskDependentField\n >['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n sectionState={sectionState}\n />\n )\n }\n case 'pointCadastralParcel': {\n const v = value as PointTypes.PointCadastralParcelResponse | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementPointCadastralParcel\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementPointCadastralParcel\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'pointAddress': {\n const v = value as PointTypes.PointAddress | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementPointAddress\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementPointAddress\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'pointAddressV3': {\n const v = value as\n | PointTypes.PointAddressV3GetAddressDetailsResponse\n | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementPointAddressV3\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementPointAddressV3\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'googleAddress': {\n const v = value as GoogleTypes.GoogleMapsAddress | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementGoogleAddress\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementGoogleAddress\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'boolean': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementBoolean\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBoolean\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'civicaStreetName': {\n const v = value as CivicaTypes.CivicaStreetName | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementCivicaStreetName\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCivicaStreetName\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'civicaNameRecord': {\n return (\n <FormElementCivicaNameRecord\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCivicaNameRecord\n >['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n sectionState={sectionState}\n />\n )\n }\n case 'apiNSWLiquorLicence': {\n const v = value as APINSWTypes.LiquorLicenceDetails | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementAPINSWLiquorLicence\n formId={formId}\n id={id}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementAPINSWLiquorLicence\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'arcGISWebMap': {\n const v = value as ArcGISWebMapElementValue | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n stringifyAutoLookupValue={\n stringifyArcgisInput as React.ComponentProps<\n typeof LookupNotification\n >['stringifyAutoLookupValue']\n }\n >\n <FormElementArcGISWebMap\n id={id}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementArcGISWebMap\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'lookupButton': {\n return (\n <FormElementLookupButton\n id={id}\n element={element}\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementLookupButton\n >['onChange']\n }\n onLookup={onLookup}\n {...dirtyProps}\n />\n )\n }\n case 'section':\n case 'page': {\n return null\n }\n default: {\n const never: never = element\n console.warn('Invalid element', never)\n return null\n }\n }\n})\n"]}
1
+ {"version":3,"file":"OneBlinkFormElements.js","sourceRoot":"","sources":["../../../src/components/renderer/OneBlinkFormElements.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\nimport clsx from 'clsx'\n\nimport LookupNotification from './LookupNotification'\nimport ReverseGeocode from './ReverseGeocode'\n\nimport FormElementBarcodeScanner from '../../form-elements/FormElementBarcodeScanner'\nimport FormElementEmail from '../../form-elements/FormElementEmail'\nimport FormElementABN from '../../form-elements/FormElementABN'\nimport FormElementBSB from '../../form-elements/FormElementBSB'\nimport FormElementText from '../../form-elements/FormElementText'\nimport FormElementTextarea from '../../form-elements/FormElementTextarea'\nimport FormElementNumber from '../../form-elements/FormElementNumber'\nimport FormElementHeading from '../../form-elements/FormElementHeading'\nimport FormElementHTML from '../../form-elements/FormElementHTML'\nimport FormElementTelephone from '../../form-elements/FormElementTelephone'\nimport FormElementSelect from '../../form-elements/FormElementSelect'\nimport FormElementDate from '../../form-elements/FormElementDate'\nimport FormElementImage from '../../form-elements/FormElementImage'\nimport FormElementDateTime from '../../form-elements/FormElementDateTime'\nimport FormElementTime from '../../form-elements/FormElementTime'\nimport FormElementCalculation from '../../form-elements/FormElementCalculation'\nimport FormElementRadio from '../../form-elements/FormElementRadio'\nimport FormElementAutocomplete from '../../form-elements/FormElementAutocomplete'\nimport FormElementRepeatableSet from '../../form-elements/FormElementRepeatableSet'\nimport FormElementSignature from '../../form-elements/FormElementSignature'\nimport FormElementCheckBoxes from '../../form-elements/FormElementCheckBoxes'\nimport FormElementFiles, {\n stringifyAttachments,\n} from '../../form-elements/FormElementFiles'\nimport FormElementForm from '../../form-elements/FormElementForm'\nimport FormElementSection from '../../form-elements/FormElementSection'\nimport FormElementCamera from '../../form-elements/FormElementCamera'\nimport FormElementSummary from '../../form-elements/FormElementSummary'\nimport FormElementCaptcha from '../../form-elements/FormElementCaptcha'\nimport FormElementLocation, {\n stringifyLocation,\n} from '../../form-elements/FormElementLocation'\nimport FormElementGeoscapeAddress from '../../form-elements/FormElementGeoscapeAddress'\nimport FormElementCompliance, {\n stringifyComplianceValue,\n} from '../../form-elements/FormElementCompliance'\nimport FormElementPointAddress from '../../form-elements/FormElementPointAddress'\nimport FormElementGoogleAddress from '../../form-elements/FormElementGoogleAddress'\nimport FormElementBoolean from '../../form-elements/FormElementBoolean'\nimport FormElementCivicaStreetName from '../../form-elements/FormElementCivicaStreetName'\nimport FormElementCivicaNameRecord from '../../form-elements/FormElementCivicaNameRecord'\nimport FormElementFreshdeskDependentField from '../../form-elements/FormElementFreshdeskDependentField'\nimport FormElementArcGISWebMap, {\n stringifyArcgisInput,\n} from '../../form-elements/FormElementArcGISWebMap'\n\nimport {\n APINSWTypes,\n CivicaTypes,\n FormTypes,\n GeoscapeTypes,\n GoogleTypes,\n MiscTypes,\n PointTypes,\n SubmissionTypes,\n} from '@oneblink/types'\n\nimport { FormSubmissionModelContextProvider } from '../../hooks/useFormSubmissionModelContext'\nimport useBooleanState from '../../hooks/useBooleanState'\nimport useFormAudience from '../../hooks/useFormAudience'\nimport useFormIsReadOnly from '../../hooks/useFormIsReadOnly'\nimport useIsFormElementReadOnly from '../../hooks/useIsFormElementReadOnly'\nimport isElementHiddenForAudience from '../../services/isElementHiddenForAudience'\nimport { FormElementBinaryStorageValue } from '../../types/attachments'\nimport {\n FormElementConditionallyShown,\n FormElementLookupHandler,\n FormElementsConditionallyShown,\n FormElementsValidation,\n FormElementValidation,\n NestedFormElementValueChangeHandler,\n IsDirtyProps,\n UpdateFormElementsHandler,\n SectionState,\n} from '../../types/form'\nimport { attachmentsService } from '../../apps'\nimport FormElementAPINSWLiquorLicence from '../../form-elements/FormElementAPINSWLiquorLicence'\nimport ElementDOMId from '../../utils/elementDOMIds'\nimport { ArcGISWebMapElementValue } from '@oneblink/types/typescript/arcgis'\nimport FormElementPointCadastralParcel from '../../form-elements/FormElementPointCadastralParcel'\nimport FormElementLookupButton from '../../form-elements/FormElementLookupButton'\nimport FormElementPointAddressV3 from '../../form-elements/FormElementPointAddressV3'\n\nexport type Props<T extends FormTypes._NestedElementsElement> = {\n formId: number\n elements: FormTypes.FormElement[]\n formElementsConditionallyShown: FormElementsConditionallyShown | undefined\n formElementsValidation: FormElementsValidation | undefined\n displayValidationMessages: boolean\n onChange: NestedFormElementValueChangeHandler\n onLookup: FormElementLookupHandler\n onUpdateFormElements: UpdateFormElementsHandler\n // Props passed by repeatable sets\n isEven?: boolean\n idPrefix: string\n model: SubmissionTypes.S3SubmissionData['submission']\n parentElement: T\n sectionState?: SectionState\n /**\n * Inherited lock for nested fields (`parentReadOnly`). True when the whole\n * form is read-only, an ancestor is read-only, or a parent element’s\n * definition has `readOnly: true`. A child included in\n * `editableFormElementIds` ignores this inherited lock.\n */\n readOnly?: boolean\n /**\n * When set, forces each child’s `readOnly` instead of the usual calculation.\n * Used for synthetic nested fields (Civica name records, Freshdesk dependent\n * fields) that should follow their parent.\n */\n readOnlyOverride?: boolean\n}\n\ninterface FormElementSwitchProps extends IsDirtyProps {\n formId: number\n element: FormTypes.FormElement\n /**\n * Whether this element’s own controls are locked. Includes form-level\n * read-only, inherited parent lock, and this element’s definition `readOnly:\n * true`. Elements included in `editableFormElementIds` stay editable,\n * including when `readOnly` is set or a parent is read-only.\n */\n readOnly: boolean\n /**\n * Whether nested fields should inherit a lock. True for form-level read-only,\n * an inherited parent lock, or this element’s definition `readOnly: true`. A\n * descendant included in `editableFormElementIds` can still be independently\n * editable.\n */\n descendantsReadOnly: boolean\n value: unknown | undefined\n formElementValidation: FormElementValidation | undefined\n displayValidationMessage: boolean\n formElementConditionallyShown: FormElementConditionallyShown | undefined\n id: string\n isEven: boolean | undefined\n onChange: NestedFormElementValueChangeHandler\n onLookup: FormElementLookupHandler\n onUpdateFormElements: UpdateFormElementsHandler\n sectionState: SectionState\n}\n\nfunction OneBlinkFormElements<T extends FormTypes._NestedElementsElement>({\n formId,\n elements,\n isEven,\n idPrefix,\n displayValidationMessages,\n formElementsValidation,\n formElementsConditionallyShown,\n onChange,\n onLookup,\n onUpdateFormElements,\n model,\n parentElement,\n sectionState,\n readOnly,\n readOnlyOverride,\n}: Props<T>) {\n const audience = useFormAudience()\n const isFormReadOnly = useFormIsReadOnly()\n return (\n <FormSubmissionModelContextProvider\n elements={parentElement.elements}\n model={model}\n formElementsConditionallyShown={formElementsConditionallyShown}\n >\n {elements.map((element) => {\n if (element.type === 'section') {\n if (formElementsConditionallyShown?.[element.id]?.isHidden) {\n return null\n }\n\n const ariaDescribedBy =\n element.hintPosition === 'BELOW_LABEL' && !!element.hint\n ? `${idPrefix}${element.id}-hint`\n : undefined\n\n const sectionHeaderId = `ob-section-header-${element.id}`\n\n return (\n <div\n key={element.id}\n className={clsx(\n 'ob-element cypress-element-container',\n element.customCssClasses,\n {\n 'is-hidden': isElementHiddenForAudience(element, audience),\n },\n )}\n aria-labelledby={sectionHeaderId}\n aria-describedby={ariaDescribedBy}\n role=\"region\"\n >\n <FormElementSection\n childrenReadOnly={isFormReadOnly || !!readOnly}\n formId={formId}\n element={element}\n displayValidationMessages={displayValidationMessages}\n idPrefix={idPrefix}\n formElementsConditionallyShown={formElementsConditionallyShown}\n formElementsValidation={formElementsValidation}\n onChange={onChange}\n onLookup={onLookup}\n onUpdateFormElements={onUpdateFormElements}\n model={model}\n parentElement={parentElement}\n sectionHeaderId={sectionHeaderId}\n sectionState={sectionState}\n />\n </div>\n )\n }\n\n if (\n element.type === 'page' ||\n formElementsConditionallyShown?.[element.name]?.isHidden\n ) {\n return null\n }\n\n return (\n <FormElementSwitchContainer\n key={element.id}\n formId={formId}\n element={element}\n value={model[element.name]}\n displayValidationMessage={displayValidationMessages}\n isEven={isEven}\n id={`${idPrefix}${element.name}`}\n formElementConditionallyShown={\n formElementsConditionallyShown?.[element.name]\n }\n formElementValidation={formElementsValidation?.[element.name]}\n onChange={onChange}\n onLookup={onLookup}\n onUpdateFormElements={onUpdateFormElements}\n sectionState={sectionState}\n parentReadOnly={readOnly}\n readOnlyOverride={readOnlyOverride}\n />\n )\n })}\n </FormSubmissionModelContextProvider>\n )\n}\n\nexport default React.memo(OneBlinkFormElements)\n\nfunction FormElementSwitchContainer(\n props: Omit<\n FormElementSwitchProps,\n 'isDirty' | 'setIsDirty' | 'readOnly' | 'descendantsReadOnly'\n > & {\n /**\n * Lock inherited from a parent container (the parent’s\n * `descendantsReadOnly` / `childrenReadOnly`). Combined with form-level\n * read-only and this element’s definition `readOnly` to decide whether\n * descendants are locked. A child included in `editableFormElementIds`\n * ignores this inherited lock.\n */\n parentReadOnly?: boolean\n /**\n * When set, this value is used as this element’s `readOnly` instead of the\n * usual calculation. See `readOnlyOverride` on `OneBlinkFormElements`.\n */\n readOnlyOverride?: boolean\n },\n) {\n const { element, formElementValidation, displayValidationMessage } = props\n const audience = useFormAudience()\n const isFormReadOnly = useFormIsReadOnly()\n const isFormElementReadOnly = useIsFormElementReadOnly(\n element,\n props.parentReadOnly,\n )\n const descendantsReadOnly =\n isFormReadOnly ||\n props.parentReadOnly === true ||\n ('readOnly' in element && element.readOnly === true)\n const readOnly = props.readOnlyOverride ?? isFormElementReadOnly\n\n const [isDirty, setIsDirty] = useBooleanState(false)\n const elementDOMId = React.useMemo(\n () => new ElementDOMId(props.id),\n [props.id],\n )\n const getValidationClass = () => {\n if (!('elements' in element)) {\n if (!formElementValidation) {\n return 'ob-element__valid'\n }\n if (isDirty || displayValidationMessage) {\n return 'ob-element__invalid'\n }\n }\n }\n const validationClassName = getValidationClass()\n\n if (element.type === 'page' || element.type === 'section') {\n return null\n }\n\n // A captcha proves a human is making a new submission, so it is omitted\n // whenever this element cannot take new input: an approver edit (not a new\n // submission), a read-only form, or a `readOnly` ancestor. The last case was\n // previously handled by stripping captchas from the definition in\n // `recursivelySetReadOnly`. `useFormValidation` drops the same captchas, so\n // an omitted one can never block submission with an unreachable error.\n if (element.type === 'captcha' && (audience === 'APPROVER' || readOnly)) {\n return null\n }\n\n return (\n <div\n id={elementDOMId.elementContainerDOMId}\n data-element-id={element.id}\n className={clsx(\n 'ob-element cypress-element-container',\n element.customCssClasses,\n validationClassName,\n {\n 'is-hidden': isElementHiddenForAudience(element, audience),\n },\n )}\n data-cypress-element-name={element.name}\n data-ob-name={element.name}\n >\n <FormElementSwitch\n {...props}\n readOnly={readOnly}\n descendantsReadOnly={descendantsReadOnly}\n isDirty={isDirty}\n setIsDirty={setIsDirty}\n />\n </div>\n )\n}\n\nconst FormElementSwitch = React.memo(function OneBlinkFormElement({\n formId,\n element,\n readOnly,\n descendantsReadOnly,\n value,\n displayValidationMessage,\n formElementValidation,\n formElementConditionallyShown,\n isEven,\n id,\n onChange,\n onLookup,\n onUpdateFormElements,\n isDirty,\n setIsDirty,\n sectionState,\n}: FormElementSwitchProps & IsDirtyProps) {\n const dirtyProps = React.useMemo(\n () => ({ isDirty, setIsDirty }),\n [isDirty, setIsDirty],\n )\n const conditionallyShownOptionsElement =\n formElementConditionallyShown?.type === 'formElement'\n ? formElementConditionallyShown\n : undefined\n const validationMessage =\n typeof formElementValidation === 'string'\n ? formElementValidation\n : undefined\n const autocompleteAttributes =\n 'autocompleteAttributes' in element\n ? element.autocompleteAttributes?.join(' ')\n : undefined\n switch (element.type) {\n case 'heading': {\n return <FormElementHeading element={element} />\n }\n case 'html': {\n return <FormElementHTML element={element} />\n }\n case 'date': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementDate\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementDate\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'email': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementEmail\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementEmail\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'text': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementText\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementText\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'abn': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementABN\n readOnly={readOnly}\n id={id}\n element={element}\n value={value as MiscTypes.ABNRecord | undefined}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementABN\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'bsb': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementBSB\n readOnly={readOnly}\n id={id}\n formId={formId}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBSB\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'barcodeScanner': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementBarcodeScanner\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBarcodeScanner\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'textarea': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTextarea\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTextarea\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'number': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementNumber\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementNumber\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'telephone': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTelephone\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTelephone\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'autocomplete': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementAutocomplete\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementAutocomplete\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'select': {\n return (\n <LookupNotification\n autoLookupValue={!element.multi ? value : undefined}\n element={element}\n onLookup={onLookup}\n >\n <FormElementSelect\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSelect\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'radio': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementRadio\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementRadio\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'draw': {\n return (\n <FormElementSignature\n readOnly={readOnly}\n id={id}\n element={element}\n value={value as FormElementBinaryStorageValue}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSignature\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'calculation': {\n return (\n <FormElementCalculation\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCalculation\n >['onChange']\n }\n value={value}\n />\n )\n }\n case 'repeatableSet': {\n return (\n <FormElementRepeatableSet\n readOnly={readOnly}\n childrenReadOnly={descendantsReadOnly}\n formId={formId}\n id={id}\n isEven={!isEven}\n element={element}\n value={\n value as\n | Array<SubmissionTypes.S3SubmissionData['submission']>\n | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementRepeatableSet\n >['onChange']\n }\n onLookup={onLookup}\n formElementConditionallyShown={formElementConditionallyShown}\n formElementValidation={formElementValidation}\n displayValidationMessage={displayValidationMessage}\n onUpdateFormElements={onUpdateFormElements}\n sectionState={sectionState}\n {...dirtyProps}\n />\n )\n }\n case 'image': {\n return <FormElementImage element={element} />\n }\n case 'datetime': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementDateTime\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementDateTime\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'time': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementTime\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementTime\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'checkboxes': {\n return (\n <LookupNotification element={element} onLookup={onLookup}>\n <FormElementCheckBoxes\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCheckBoxes\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'files': {\n return (\n <LookupNotification\n element={element}\n onLookup={onLookup}\n autoLookupValue={value}\n stringifyAutoLookupValue={\n stringifyAttachments as React.ComponentProps<\n typeof LookupNotification\n >['stringifyAutoLookupValue']\n }\n >\n <FormElementFiles\n readOnly={readOnly}\n id={id}\n element={element}\n value={value as attachmentsService.Attachment[] | undefined}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementFiles\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'infoPage':\n case 'form': {\n return (\n <FormElementForm\n readOnly={readOnly}\n childrenReadOnly={descendantsReadOnly}\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<typeof FormElementForm>['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n sectionState={sectionState}\n />\n )\n }\n case 'camera': {\n return (\n <FormElementCamera\n readOnly={readOnly}\n id={id}\n element={element}\n value={value as FormElementBinaryStorageValue}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCamera\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'summary': {\n return (\n <FormElementSummary\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementSummary\n >['onChange']\n }\n value={value}\n />\n )\n }\n case 'captcha': {\n return (\n <FormElementCaptcha\n value={value as string | undefined}\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCaptcha\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n )\n }\n case 'location': {\n return (\n <LookupNotification\n autoLookupValue={value}\n stringifyAutoLookupValue={\n stringifyLocation as React.ComponentProps<\n typeof LookupNotification\n >['stringifyAutoLookupValue']\n }\n element={element}\n onLookup={onLookup}\n >\n <ReverseGeocode\n value={value}\n element={element}\n onChange={\n onChange as React.ComponentProps<\n typeof ReverseGeocode\n >['onChange']\n }\n >\n <FormElementLocation\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementLocation\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </ReverseGeocode>\n </LookupNotification>\n )\n }\n case 'geoscapeAddress': {\n const v = value as GeoscapeTypes.GeoscapeAddress | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementGeoscapeAddress\n readOnly={readOnly}\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementGeoscapeAddress\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'compliance': {\n return (\n <LookupNotification\n autoLookupValue={value}\n stringifyAutoLookupValue={stringifyComplianceValue}\n element={element}\n onLookup={onLookup}\n >\n <FormElementCompliance\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCompliance\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n conditionallyShownOptionsElement={conditionallyShownOptionsElement}\n isEven={isEven}\n onUpdateFormElements={onUpdateFormElements}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'freshdeskDependentField': {\n return (\n <FormElementFreshdeskDependentField\n readOnly={readOnly}\n childrenReadOnly={descendantsReadOnly}\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementFreshdeskDependentField\n >['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n sectionState={sectionState}\n />\n )\n }\n case 'pointCadastralParcel': {\n const v = value as PointTypes.PointCadastralParcelResponse | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementPointCadastralParcel\n readOnly={readOnly}\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementPointCadastralParcel\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'pointAddress': {\n const v = value as PointTypes.PointAddress | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementPointAddress\n readOnly={readOnly}\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementPointAddress\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'pointAddressV3': {\n const v = value as\n | PointTypes.PointAddressV3GetAddressDetailsResponse\n | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementPointAddressV3\n readOnly={readOnly}\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementPointAddressV3\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'googleAddress': {\n const v = value as GoogleTypes.GoogleMapsAddress | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementGoogleAddress\n readOnly={readOnly}\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementGoogleAddress\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'boolean': {\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementBoolean\n readOnly={readOnly}\n id={id}\n element={element}\n value={value}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementBoolean\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'civicaStreetName': {\n const v = value as CivicaTypes.CivicaStreetName | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementCivicaStreetName\n readOnly={readOnly}\n id={id}\n formId={formId}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCivicaStreetName\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'civicaNameRecord': {\n return (\n <FormElementCivicaNameRecord\n readOnly={readOnly}\n childrenReadOnly={descendantsReadOnly}\n formId={formId}\n id={id}\n element={element}\n value={\n value as SubmissionTypes.S3SubmissionData['submission'] | undefined\n }\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementCivicaNameRecord\n >['onChange']\n }\n onLookup={onLookup}\n displayValidationMessages={displayValidationMessage}\n formElementValidation={formElementValidation}\n formElementConditionallyShown={formElementConditionallyShown}\n onUpdateFormElements={onUpdateFormElements}\n sectionState={sectionState}\n />\n )\n }\n case 'apiNSWLiquorLicence': {\n const v = value as APINSWTypes.LiquorLicenceDetails | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n >\n <FormElementAPINSWLiquorLicence\n readOnly={readOnly}\n formId={formId}\n id={id}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementAPINSWLiquorLicence\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n autocompleteAttributes={autocompleteAttributes}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'arcGISWebMap': {\n const v = value as ArcGISWebMapElementValue | undefined\n return (\n <LookupNotification\n autoLookupValue={value}\n element={element}\n onLookup={onLookup}\n stringifyAutoLookupValue={\n stringifyArcgisInput as React.ComponentProps<\n typeof LookupNotification\n >['stringifyAutoLookupValue']\n }\n >\n <FormElementArcGISWebMap\n readOnly={readOnly}\n id={id}\n element={element}\n value={v}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementArcGISWebMap\n >['onChange']\n }\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n {...dirtyProps}\n />\n </LookupNotification>\n )\n }\n case 'lookupButton': {\n return (\n <FormElementLookupButton\n readOnly={readOnly}\n id={id}\n element={element}\n validationMessage={validationMessage}\n displayValidationMessage={displayValidationMessage}\n onChange={\n onChange as React.ComponentProps<\n typeof FormElementLookupButton\n >['onChange']\n }\n onLookup={onLookup}\n {...dirtyProps}\n />\n )\n }\n case 'section':\n case 'page': {\n return null\n }\n default: {\n const never: never = element\n console.warn('Invalid element', never)\n return null\n }\n }\n})\n"]}
@@ -4,8 +4,13 @@ import clsx from 'clsx';
4
4
  import OneBlinkFormElements from './OneBlinkFormElements';
5
5
  import useFormDefinition from '../../hooks/useFormDefinition';
6
6
  import { IsPageVisibleProvider } from '../../hooks/useIsPageVisible';
7
+ import { useMarkFormDirty } from '../../hooks/useFormIsDirty';
7
8
  function PageFormElements({ formId, isActive, pageElement, model, displayValidationMessages, formElementsConditionallyShown, formElementsValidation, sectionState, onChange, setFormSubmission, }) {
8
- const handleLookup = React.useCallback((mergeLookupResults) => {
9
+ const markFormDirty = useMarkFormDirty();
10
+ const handleLookup = React.useCallback((mergeLookupResults, options) => {
11
+ if (!(options === null || options === void 0 ? void 0 : options.isDerivedChange)) {
12
+ markFormDirty();
13
+ }
9
14
  setFormSubmission((currentFormSubmission) => {
10
15
  if (pageElement.id === formId.toString()) {
11
16
  const { submission, elements, executedLookups } = mergeLookupResults({
@@ -54,8 +59,8 @@ function PageFormElements({ formId, isActive, pageElement, model, displayValidat
54
59
  elements: [],
55
60
  },
56
61
  });
57
- });
58
- }, [formId, pageElement.id, setFormSubmission]);
62
+ }, options);
63
+ }, [formId, markFormDirty, pageElement.id, setFormSubmission]);
59
64
  const form = useFormDefinition();
60
65
  const handleUpdateFormElements = React.useCallback((updateFormElements) => {
61
66
  setFormSubmission((currentFormSubmission) => {