@elliemae/loan-field-renderers 26.2.2

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 (225) hide show
  1. package/dist/cjs/ARCHITECTURE.md +434 -0
  2. package/dist/cjs/OVERVIEW.md +229 -0
  3. package/dist/cjs/bll/constants.js +86 -0
  4. package/dist/cjs/bll/formatters/booleanFormatter.js +51 -0
  5. package/dist/cjs/bll/formatters/dateFormatter.js +78 -0
  6. package/dist/cjs/bll/formatters/dropdownFormatter.js +34 -0
  7. package/dist/cjs/bll/formatters/factory/index.js +115 -0
  8. package/dist/cjs/bll/formatters/index.js +24 -0
  9. package/dist/cjs/bll/formatters/numberFormatter.js +70 -0
  10. package/dist/cjs/bll/formatters/phoneFormatter.js +57 -0
  11. package/dist/cjs/bll/formatters/regexFormatter.js +52 -0
  12. package/dist/cjs/bll/formatters/ssnFormatter.js +50 -0
  13. package/dist/cjs/bll/formatters/textFormatter.js +43 -0
  14. package/dist/cjs/bll/formatters/zipFormatter.js +48 -0
  15. package/dist/cjs/bll/index.js +62 -0
  16. package/dist/cjs/bll/ssf/index.js +48 -0
  17. package/dist/cjs/bll/ssf/loan.js +81 -0
  18. package/dist/cjs/bll/ssf/loconnect.js +70 -0
  19. package/dist/cjs/bll/ssf/ssfBase.js +97 -0
  20. package/dist/cjs/bll/ssf/types.js +16 -0
  21. package/dist/cjs/bll/types.js +16 -0
  22. package/dist/cjs/bll/validators/dateValidator.js +60 -0
  23. package/dist/cjs/bll/validators/emailValidator.js +47 -0
  24. package/dist/cjs/bll/validators/factory/index.js +81 -0
  25. package/dist/cjs/bll/validators/index.js +24 -0
  26. package/dist/cjs/bll/validators/maxCharValidator.js +49 -0
  27. package/dist/cjs/bll/validators/requiredValidator.js +44 -0
  28. package/dist/cjs/bll/validators/zipValidator.js +53 -0
  29. package/dist/cjs/core/index.js +52 -0
  30. package/dist/cjs/demo/config.js +391 -0
  31. package/dist/cjs/demo/index.js +31 -0
  32. package/dist/cjs/package.json +7 -0
  33. package/dist/cjs/renderer/FieldRenderer.js +45 -0
  34. package/dist/cjs/renderer/base/hooks/fieldDescription.js +39 -0
  35. package/dist/cjs/renderer/base/hooks/fieldDisabled.js +53 -0
  36. package/dist/cjs/renderer/base/hooks/fieldGoTo.js +50 -0
  37. package/dist/cjs/renderer/base/hooks/fieldLocked.js +42 -0
  38. package/dist/cjs/renderer/base/hooks/fieldMeta.js +150 -0
  39. package/dist/cjs/renderer/base/hooks/fieldSubscribers.js +66 -0
  40. package/dist/cjs/renderer/base/hooks/fieldValidation.js +45 -0
  41. package/dist/cjs/renderer/base/hooks/fieldValue.js +215 -0
  42. package/dist/cjs/renderer/base/hooks/hookBase.js +29 -0
  43. package/dist/cjs/renderer/base/hooks/index.js +139 -0
  44. package/dist/cjs/renderer/base/renderer.js +198 -0
  45. package/dist/cjs/renderer/base/rendererValidator.js +97 -0
  46. package/dist/cjs/renderer/factory/index.js +58 -0
  47. package/dist/cjs/renderer/field-renderers/AddonRenderer.js +75 -0
  48. package/dist/cjs/renderer/field-renderers/CheckboxRenderer.js +123 -0
  49. package/dist/cjs/renderer/field-renderers/DateRenderer.js +206 -0
  50. package/dist/cjs/renderer/field-renderers/DropdownRenderer/hook.js +99 -0
  51. package/dist/cjs/renderer/field-renderers/DropdownRenderer/index.js +216 -0
  52. package/dist/cjs/renderer/field-renderers/LargeTextRenderer.js +209 -0
  53. package/dist/cjs/renderer/field-renderers/NumberRenderer.js +216 -0
  54. package/dist/cjs/renderer/field-renderers/RadioGroupRenderer.js +128 -0
  55. package/dist/cjs/renderer/field-renderers/RadioRenderer.js +121 -0
  56. package/dist/cjs/renderer/field-renderers/TextRenderer.js +223 -0
  57. package/dist/cjs/renderer/field-renderers/ToggleRenderer.js +121 -0
  58. package/dist/cjs/renderer/field-renderers/ZipCodeRenderer/helper.js +132 -0
  59. package/dist/cjs/renderer/field-renderers/ZipCodeRenderer/hook.js +128 -0
  60. package/dist/cjs/renderer/field-renderers/ZipCodeRenderer/index.js +273 -0
  61. package/dist/cjs/renderer/index.js +24 -0
  62. package/dist/cjs/renderer/styles.js +51 -0
  63. package/dist/cjs/renderer/types.js +16 -0
  64. package/dist/cjs/tests/base/flowBase.js +125 -0
  65. package/dist/cjs/tests/base/index.js +52 -0
  66. package/dist/cjs/tests/flows/checkboxRendererFlows.js +85 -0
  67. package/dist/cjs/tests/flows/dateRendererFlows.js +870 -0
  68. package/dist/cjs/tests/flows/dropdownRendererFlows.js +591 -0
  69. package/dist/cjs/tests/flows/largeTextRendererFlows.js +99 -0
  70. package/dist/cjs/tests/flows/numberRendererFlows.js +175 -0
  71. package/dist/cjs/tests/flows/radioRendererFlows.js +115 -0
  72. package/dist/cjs/tests/flows/textRendererFlows.js +349 -0
  73. package/dist/cjs/tests/flows/toggleRendererFlows.js +106 -0
  74. package/dist/cjs/tests/flows/zipCodeRendererFlows.js +1163 -0
  75. package/dist/cjs/utils/dateHelper.js +65 -0
  76. package/dist/esm/ARCHITECTURE.md +434 -0
  77. package/dist/esm/OVERVIEW.md +229 -0
  78. package/dist/esm/bll/constants.js +66 -0
  79. package/dist/esm/bll/formatters/booleanFormatter.js +33 -0
  80. package/dist/esm/bll/formatters/dateFormatter.js +48 -0
  81. package/dist/esm/bll/formatters/dropdownFormatter.js +14 -0
  82. package/dist/esm/bll/formatters/factory/index.js +97 -0
  83. package/dist/esm/bll/formatters/index.js +4 -0
  84. package/dist/esm/bll/formatters/numberFormatter.js +54 -0
  85. package/dist/esm/bll/formatters/phoneFormatter.js +41 -0
  86. package/dist/esm/bll/formatters/regexFormatter.js +34 -0
  87. package/dist/esm/bll/formatters/ssnFormatter.js +32 -0
  88. package/dist/esm/bll/formatters/textFormatter.js +25 -0
  89. package/dist/esm/bll/formatters/zipFormatter.js +30 -0
  90. package/dist/esm/bll/index.js +44 -0
  91. package/dist/esm/bll/ssf/index.js +30 -0
  92. package/dist/esm/bll/ssf/loan.js +63 -0
  93. package/dist/esm/bll/ssf/loconnect.js +52 -0
  94. package/dist/esm/bll/ssf/ssfBase.js +67 -0
  95. package/dist/esm/bll/ssf/types.js +0 -0
  96. package/dist/esm/bll/types.js +0 -0
  97. package/dist/esm/bll/validators/dateValidator.js +30 -0
  98. package/dist/esm/bll/validators/emailValidator.js +29 -0
  99. package/dist/esm/bll/validators/factory/index.js +63 -0
  100. package/dist/esm/bll/validators/index.js +4 -0
  101. package/dist/esm/bll/validators/maxCharValidator.js +31 -0
  102. package/dist/esm/bll/validators/requiredValidator.js +26 -0
  103. package/dist/esm/bll/validators/zipValidator.js +35 -0
  104. package/dist/esm/core/index.js +34 -0
  105. package/dist/esm/demo/config.js +371 -0
  106. package/dist/esm/demo/index.js +11 -0
  107. package/dist/esm/package.json +7 -0
  108. package/dist/esm/renderer/FieldRenderer.js +15 -0
  109. package/dist/esm/renderer/base/hooks/fieldDescription.js +19 -0
  110. package/dist/esm/renderer/base/hooks/fieldDisabled.js +33 -0
  111. package/dist/esm/renderer/base/hooks/fieldGoTo.js +30 -0
  112. package/dist/esm/renderer/base/hooks/fieldLocked.js +22 -0
  113. package/dist/esm/renderer/base/hooks/fieldMeta.js +132 -0
  114. package/dist/esm/renderer/base/hooks/fieldSubscribers.js +36 -0
  115. package/dist/esm/renderer/base/hooks/fieldValidation.js +25 -0
  116. package/dist/esm/renderer/base/hooks/fieldValue.js +195 -0
  117. package/dist/esm/renderer/base/hooks/hookBase.js +9 -0
  118. package/dist/esm/renderer/base/hooks/index.js +121 -0
  119. package/dist/esm/renderer/base/renderer.js +178 -0
  120. package/dist/esm/renderer/base/rendererValidator.js +77 -0
  121. package/dist/esm/renderer/factory/index.js +38 -0
  122. package/dist/esm/renderer/field-renderers/AddonRenderer.js +55 -0
  123. package/dist/esm/renderer/field-renderers/CheckboxRenderer.js +93 -0
  124. package/dist/esm/renderer/field-renderers/DateRenderer.js +176 -0
  125. package/dist/esm/renderer/field-renderers/DropdownRenderer/hook.js +79 -0
  126. package/dist/esm/renderer/field-renderers/DropdownRenderer/index.js +186 -0
  127. package/dist/esm/renderer/field-renderers/LargeTextRenderer.js +179 -0
  128. package/dist/esm/renderer/field-renderers/NumberRenderer.js +188 -0
  129. package/dist/esm/renderer/field-renderers/RadioGroupRenderer.js +108 -0
  130. package/dist/esm/renderer/field-renderers/RadioRenderer.js +91 -0
  131. package/dist/esm/renderer/field-renderers/TextRenderer.js +197 -0
  132. package/dist/esm/renderer/field-renderers/ToggleRenderer.js +91 -0
  133. package/dist/esm/renderer/field-renderers/ZipCodeRenderer/helper.js +112 -0
  134. package/dist/esm/renderer/field-renderers/ZipCodeRenderer/hook.js +108 -0
  135. package/dist/esm/renderer/field-renderers/ZipCodeRenderer/index.js +247 -0
  136. package/dist/esm/renderer/index.js +4 -0
  137. package/dist/esm/renderer/styles.js +21 -0
  138. package/dist/esm/renderer/types.js +0 -0
  139. package/dist/esm/tests/base/flowBase.js +105 -0
  140. package/dist/esm/tests/base/index.js +22 -0
  141. package/dist/esm/tests/flows/checkboxRendererFlows.js +65 -0
  142. package/dist/esm/tests/flows/dateRendererFlows.js +850 -0
  143. package/dist/esm/tests/flows/dropdownRendererFlows.js +571 -0
  144. package/dist/esm/tests/flows/largeTextRendererFlows.js +79 -0
  145. package/dist/esm/tests/flows/numberRendererFlows.js +155 -0
  146. package/dist/esm/tests/flows/radioRendererFlows.js +95 -0
  147. package/dist/esm/tests/flows/textRendererFlows.js +329 -0
  148. package/dist/esm/tests/flows/toggleRendererFlows.js +86 -0
  149. package/dist/esm/tests/flows/zipCodeRendererFlows.js +1143 -0
  150. package/dist/esm/utils/dateHelper.js +35 -0
  151. package/dist/types/lib/bll/constants.d.ts +9 -0
  152. package/dist/types/lib/bll/formatters/booleanFormatter.d.ts +5 -0
  153. package/dist/types/lib/bll/formatters/dateFormatter.d.ts +28 -0
  154. package/dist/types/lib/bll/formatters/dropdownFormatter.d.ts +6 -0
  155. package/dist/types/lib/bll/formatters/factory/index.d.ts +71 -0
  156. package/dist/types/lib/bll/formatters/index.d.ts +2 -0
  157. package/dist/types/lib/bll/formatters/numberFormatter.d.ts +6 -0
  158. package/dist/types/lib/bll/formatters/phoneFormatter.d.ts +7 -0
  159. package/dist/types/lib/bll/formatters/regexFormatter.d.ts +5 -0
  160. package/dist/types/lib/bll/formatters/ssnFormatter.d.ts +5 -0
  161. package/dist/types/lib/bll/formatters/textFormatter.d.ts +6 -0
  162. package/dist/types/lib/bll/formatters/zipFormatter.d.ts +5 -0
  163. package/dist/types/lib/bll/index.d.ts +20 -0
  164. package/dist/types/lib/bll/ssf/index.d.ts +25 -0
  165. package/dist/types/lib/bll/ssf/loan.d.ts +16 -0
  166. package/dist/types/lib/bll/ssf/loconnect.d.ts +15 -0
  167. package/dist/types/lib/bll/ssf/ssfBase.d.ts +23 -0
  168. package/dist/types/lib/bll/ssf/types.d.ts +99 -0
  169. package/dist/types/lib/bll/types.d.ts +47 -0
  170. package/dist/types/lib/bll/validators/dateValidator.d.ts +16 -0
  171. package/dist/types/lib/bll/validators/emailValidator.d.ts +4 -0
  172. package/dist/types/lib/bll/validators/factory/index.d.ts +15 -0
  173. package/dist/types/lib/bll/validators/index.d.ts +2 -0
  174. package/dist/types/lib/bll/validators/maxCharValidator.d.ts +4 -0
  175. package/dist/types/lib/bll/validators/requiredValidator.d.ts +4 -0
  176. package/dist/types/lib/bll/validators/zipValidator.d.ts +5 -0
  177. package/dist/types/lib/core/index.d.ts +29 -0
  178. package/dist/types/lib/demo/config.d.ts +11 -0
  179. package/dist/types/lib/demo/index.d.ts +1 -0
  180. package/dist/types/lib/renderer/FieldRenderer.d.ts +5 -0
  181. package/dist/types/lib/renderer/base/hooks/fieldDescription.d.ts +5 -0
  182. package/dist/types/lib/renderer/base/hooks/fieldDisabled.d.ts +10 -0
  183. package/dist/types/lib/renderer/base/hooks/fieldGoTo.d.ts +4 -0
  184. package/dist/types/lib/renderer/base/hooks/fieldLocked.d.ts +4 -0
  185. package/dist/types/lib/renderer/base/hooks/fieldMeta.d.ts +10 -0
  186. package/dist/types/lib/renderer/base/hooks/fieldSubscribers.d.ts +6 -0
  187. package/dist/types/lib/renderer/base/hooks/fieldValidation.d.ts +9 -0
  188. package/dist/types/lib/renderer/base/hooks/fieldValue.d.ts +31 -0
  189. package/dist/types/lib/renderer/base/hooks/hookBase.d.ts +9 -0
  190. package/dist/types/lib/renderer/base/hooks/index.d.ts +19 -0
  191. package/dist/types/lib/renderer/base/renderer.d.ts +43 -0
  192. package/dist/types/lib/renderer/base/rendererValidator.d.ts +15 -0
  193. package/dist/types/lib/renderer/factory/index.d.ts +5 -0
  194. package/dist/types/lib/renderer/field-renderers/AddonRenderer.d.ts +12 -0
  195. package/dist/types/lib/renderer/field-renderers/CheckboxRenderer.d.ts +7 -0
  196. package/dist/types/lib/renderer/field-renderers/DateRenderer.d.ts +13 -0
  197. package/dist/types/lib/renderer/field-renderers/DropdownRenderer/hook.d.ts +23 -0
  198. package/dist/types/lib/renderer/field-renderers/DropdownRenderer/index.d.ts +12 -0
  199. package/dist/types/lib/renderer/field-renderers/LargeTextRenderer.d.ts +17 -0
  200. package/dist/types/lib/renderer/field-renderers/NumberRenderer.d.ts +12 -0
  201. package/dist/types/lib/renderer/field-renderers/RadioGroupRenderer.d.ts +8 -0
  202. package/dist/types/lib/renderer/field-renderers/RadioRenderer.d.ts +8 -0
  203. package/dist/types/lib/renderer/field-renderers/TextRenderer.d.ts +8 -0
  204. package/dist/types/lib/renderer/field-renderers/ToggleRenderer.d.ts +24 -0
  205. package/dist/types/lib/renderer/field-renderers/ZipCodeRenderer/helper.d.ts +48 -0
  206. package/dist/types/lib/renderer/field-renderers/ZipCodeRenderer/hook.d.ts +17 -0
  207. package/dist/types/lib/renderer/field-renderers/ZipCodeRenderer/index.d.ts +9 -0
  208. package/dist/types/lib/renderer/index.d.ts +2 -0
  209. package/dist/types/lib/renderer/styles.d.ts +7 -0
  210. package/dist/types/lib/renderer/types.d.ts +325 -0
  211. package/dist/types/lib/tests/base/flowBase.d.ts +13 -0
  212. package/dist/types/lib/tests/base/index.d.ts +6 -0
  213. package/dist/types/lib/tests/flows/checkboxRendererFlows.d.ts +9 -0
  214. package/dist/types/lib/tests/flows/dateRendererFlows.d.ts +120 -0
  215. package/dist/types/lib/tests/flows/dropdownRendererFlows.d.ts +92 -0
  216. package/dist/types/lib/tests/flows/largeTextRendererFlows.d.ts +9 -0
  217. package/dist/types/lib/tests/flows/numberRendererFlows.d.ts +11 -0
  218. package/dist/types/lib/tests/flows/radioRendererFlows.d.ts +10 -0
  219. package/dist/types/lib/tests/flows/textRendererFlows.d.ts +16 -0
  220. package/dist/types/lib/tests/flows/toggleRendererFlows.d.ts +10 -0
  221. package/dist/types/lib/tests/flows/zipCodeRendererFlows.d.ts +169 -0
  222. package/dist/types/lib/tests/loan-field-renderer-flows.test.d.ts +1 -0
  223. package/dist/types/lib/utils/dateHelper.d.ts +8 -0
  224. package/dist/types/tsconfig.tsbuildinfo +1 -0
  225. package/package.json +103 -0
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fieldDescription_exports = {};
20
+ __export(fieldDescription_exports, {
21
+ FieldDescription: () => FieldDescription
22
+ });
23
+ module.exports = __toCommonJS(fieldDescription_exports);
24
+ var import_hookBase = require("./hookBase");
25
+ class FieldDescription extends import_hookBase.HookBase {
26
+ getFieldAriaDescProps(label, description) {
27
+ if (description) {
28
+ if (this.BLL.Core.CoreUtils.Validate.isNullOrUndefined(label) || label === "") {
29
+ return {
30
+ "aria-label": description
31
+ };
32
+ }
33
+ return {
34
+ "aria-description": description
35
+ };
36
+ }
37
+ return {};
38
+ }
39
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fieldDisabled_exports = {};
20
+ __export(fieldDisabled_exports, {
21
+ FieldDisabled: () => FieldDisabled
22
+ });
23
+ module.exports = __toCommonJS(fieldDisabled_exports);
24
+ var import_react = require("react");
25
+ var import_hookBase = require("./hookBase");
26
+ class FieldDisabled extends import_hookBase.HookBase {
27
+ async isLoanReadonly() {
28
+ try {
29
+ const readonlyStatus = await this.BLL.SSF.isReadOnlyLoan();
30
+ return readonlyStatus;
31
+ } catch (error) {
32
+ this.BLL.Core.Log("error", `error fetching loan readonly status`, {
33
+ error
34
+ });
35
+ return false;
36
+ }
37
+ }
38
+ useFieldDisabled({
39
+ fieldId,
40
+ metadata,
41
+ isLockedState
42
+ }) {
43
+ const { isLockField = false, isReadOnly = false } = metadata || {};
44
+ const [isReadonlyLoan, setIsReadonlyLoan] = (0, import_react.useState)(false);
45
+ (0, import_react.useEffect)(() => {
46
+ (async () => {
47
+ const readonlyStatus = await this.isLoanReadonly();
48
+ setIsReadonlyLoan(readonlyStatus);
49
+ })();
50
+ }, [fieldId]);
51
+ return isReadonlyLoan || isLockField && !isLockedState || isReadOnly;
52
+ }
53
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fieldGoTo_exports = {};
20
+ __export(fieldGoTo_exports, {
21
+ FieldGoTo: () => FieldGoTo
22
+ });
23
+ module.exports = __toCommonJS(fieldGoTo_exports);
24
+ var import_hookBase = require("./hookBase");
25
+ class FieldGoTo extends import_hookBase.HookBase {
26
+ async isGoToField(fieldId) {
27
+ const formDetails = this.BLL.SSF.getCachedGTFFormDetails();
28
+ if (formDetails) {
29
+ return formDetails.fieldId === fieldId;
30
+ }
31
+ try {
32
+ const fetchedDetails = await this.BLL.SSF.getGTFSelectedFormDetails();
33
+ if (fetchedDetails) {
34
+ this.BLL.SSF.setCachedGTFFormDetails(fetchedDetails);
35
+ return fetchedDetails.fieldId === fieldId;
36
+ }
37
+ return false;
38
+ } catch (error) {
39
+ this.BLL.Core.Log(
40
+ "error",
41
+ `Error fetching GTF selected form details in fetchGTFFormDetails for fieldId ${fieldId}`,
42
+ {
43
+ fieldId,
44
+ error
45
+ }
46
+ );
47
+ return false;
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fieldLocked_exports = {};
20
+ __export(fieldLocked_exports, {
21
+ FieldLocked: () => FieldLocked
22
+ });
23
+ module.exports = __toCommonJS(fieldLocked_exports);
24
+ var import_hookBase = require("./hookBase");
25
+ class FieldLocked extends import_hookBase.HookBase {
26
+ async getFieldLockStatus(fieldId) {
27
+ try {
28
+ const lockedStatus = await this.BLL.SSF.getLockStatus(fieldId);
29
+ return lockedStatus;
30
+ } catch (error) {
31
+ this.BLL.Core.Log(
32
+ "error",
33
+ `error fetching field lock status for ${fieldId}`,
34
+ {
35
+ fieldId,
36
+ error
37
+ }
38
+ );
39
+ return false;
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var __decorateClass = (decorators2, target, key, kind) => {
20
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
21
+ for (var i = decorators2.length - 1, decorator; i >= 0; i--)
22
+ if (decorator = decorators2[i])
23
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
24
+ if (kind && result) __defProp(target, key, result);
25
+ return result;
26
+ };
27
+ var fieldMeta_exports = {};
28
+ __export(fieldMeta_exports, {
29
+ FieldMeta: () => FieldMeta
30
+ });
31
+ module.exports = __toCommonJS(fieldMeta_exports);
32
+ var import_pui_app_sdk = require("@elliemae/pui-app-sdk");
33
+ var import_hookBase = require("./hookBase");
34
+ class FieldMeta extends import_hookBase.HookBase {
35
+ async getMetadata(fieldId) {
36
+ try {
37
+ const fieldPaths = await this.BLL.SSF.getFieldContractPaths();
38
+ const { fieldData, isCollection } = await this.lookupFieldData(
39
+ fieldId,
40
+ fieldPaths
41
+ );
42
+ const [
43
+ contractPath,
44
+ isNullable,
45
+ fieldFormat,
46
+ description,
47
+ isReadOnly,
48
+ maxLength,
49
+ options,
50
+ isLockField
51
+ ] = fieldData;
52
+ const finalContractPath = await this.transformContractPath(
53
+ contractPath,
54
+ fieldId,
55
+ isCollection
56
+ );
57
+ return await this.buildFieldMetadata({
58
+ contractPath: finalContractPath,
59
+ isNullable,
60
+ fieldFormat,
61
+ description,
62
+ isReadOnly,
63
+ maxLength,
64
+ options,
65
+ isLockField
66
+ });
67
+ } catch (error) {
68
+ return this.handleMetadataError(fieldId, error);
69
+ }
70
+ }
71
+ async lookupFieldData(fieldId, fieldPaths) {
72
+ let fieldData = fieldPaths[fieldId];
73
+ let isCollection = false;
74
+ let lookupFieldId = fieldId;
75
+ if (!fieldData) {
76
+ lookupFieldId = await this.BLL.SSF.resolveBaseCollectionId(fieldId);
77
+ isCollection = lookupFieldId !== fieldId;
78
+ fieldData = fieldPaths[lookupFieldId];
79
+ }
80
+ if (!fieldData) {
81
+ throw new Error(
82
+ `Field metadata not found for ${fieldId}${isCollection ? ` (base: ${lookupFieldId})` : ""}`
83
+ );
84
+ }
85
+ return { fieldData, isCollection };
86
+ }
87
+ async transformContractPath(contractPath, fieldId, isCollection) {
88
+ if (!isCollection) {
89
+ return contractPath;
90
+ }
91
+ const rowIndex = await this.BLL.SSF.getCollectionRowIndex(fieldId);
92
+ const collectionIndex = rowIndex - 1;
93
+ return contractPath.replace(/\[%\]/g, `[${collectionIndex}]`);
94
+ }
95
+ async buildFieldMetadata(params) {
96
+ const {
97
+ contractPath,
98
+ isNullable,
99
+ fieldFormat,
100
+ description,
101
+ isReadOnly,
102
+ maxLength,
103
+ options,
104
+ isLockField
105
+ } = params;
106
+ const fieldMetadata = {
107
+ contractPath,
108
+ isNullable: Boolean(isNullable),
109
+ fieldFormat,
110
+ description: description || "",
111
+ isReadOnly: Boolean(isReadOnly),
112
+ maxLength,
113
+ isLockField: Boolean(isLockField),
114
+ fieldOptions: options && options.length > 0 ? options.map((option, currentIdx) => ({
115
+ dsId: `${currentIdx}`,
116
+ type: "option",
117
+ label: option[0],
118
+ value: option[1]
119
+ })) : []
120
+ };
121
+ if (fieldMetadata.fieldFormat === "ST") {
122
+ fieldMetadata.fieldOptions = await this.fetchStateOptions();
123
+ }
124
+ return fieldMetadata;
125
+ }
126
+ handleMetadataError(fieldId, error) {
127
+ this.BLL.Core.Log("error", `error fetching field metadata for ${fieldId}`, {
128
+ fieldId,
129
+ error
130
+ });
131
+ throw this.BLL.Core.ExceptionUtils.runtimeException(
132
+ error.message || "Unknown error",
133
+ {
134
+ context: `field metadata for fieldId: ${fieldId} not found`
135
+ }
136
+ );
137
+ }
138
+ async fetchStateOptions() {
139
+ const stateOptions = await this.BLL.SSF.getStateDropDownList();
140
+ return stateOptions?.map((state, idx) => ({
141
+ dsId: `${idx}`,
142
+ type: "option",
143
+ label: state.name,
144
+ value: state.value
145
+ }));
146
+ }
147
+ }
148
+ __decorateClass([
149
+ import_pui_app_sdk.decorators.function.MemoizeAsync
150
+ ], FieldMeta.prototype, "fetchStateOptions", 1);
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var fieldSubscribers_exports = {};
30
+ __export(fieldSubscribers_exports, {
31
+ FieldSubscribers: () => FieldSubscribers
32
+ });
33
+ module.exports = __toCommonJS(fieldSubscribers_exports);
34
+ var elli = __toESM(require("@elliemae/em-ssf-guest"));
35
+ var import_react = require("react");
36
+ var import_hookBase = require("./hookBase");
37
+ class FieldSubscribers extends import_hookBase.HookBase {
38
+ useSubscribeEffect({
39
+ objectId = "loan",
40
+ eventName = "loanUpdated",
41
+ callback
42
+ }) {
43
+ (0, import_react.useEffect)(() => {
44
+ const token = elli.subscribe(objectId, eventName, callback);
45
+ return () => {
46
+ if (token) {
47
+ elli.unsubscribe(objectId, eventName, token);
48
+ }
49
+ };
50
+ }, []);
51
+ }
52
+ useLoanUpdatedCB(callback) {
53
+ this.useSubscribeEffect({
54
+ objectId: "loan",
55
+ eventName: "loanUpdated",
56
+ callback
57
+ });
58
+ }
59
+ useLoanChangeCB(callback) {
60
+ this.useSubscribeEffect({
61
+ objectId: "loan",
62
+ eventName: "change",
63
+ callback
64
+ });
65
+ }
66
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fieldValidation_exports = {};
20
+ __export(fieldValidation_exports, {
21
+ FieldValidation: () => FieldValidation
22
+ });
23
+ module.exports = __toCommonJS(fieldValidation_exports);
24
+ var import_react = require("react");
25
+ var import_hookBase = require("./hookBase");
26
+ class FieldValidation extends import_hookBase.HookBase {
27
+ runValidationsOnValue(value, validationRules, customValidation) {
28
+ const result = { isValid: true, message: "" };
29
+ if (customValidation) {
30
+ customValidation(value);
31
+ return result;
32
+ }
33
+ if (validationRules.length > 0) {
34
+ return this.BLL.Validator.runValidators(validationRules, value);
35
+ }
36
+ return result;
37
+ }
38
+ useFieldValidation() {
39
+ const [validationResult, setValidationResult] = (0, import_react.useState)(null);
40
+ return {
41
+ validationResult,
42
+ setValidationResult
43
+ };
44
+ }
45
+ }
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fieldValue_exports = {};
20
+ __export(fieldValue_exports, {
21
+ FieldValue: () => FieldValue
22
+ });
23
+ module.exports = __toCommonJS(fieldValue_exports);
24
+ var import_react = require("react");
25
+ var import_hookBase = require("./hookBase");
26
+ class FieldValue extends import_hookBase.HookBase {
27
+ async getFieldValue(fieldId) {
28
+ try {
29
+ const value = await this.BLL.SSF.getFieldValue(fieldId);
30
+ return value;
31
+ } catch (error) {
32
+ this.BLL.Core.Log("error", `error fetching field value for ${fieldId}`, {
33
+ fieldId,
34
+ error
35
+ });
36
+ return void 0;
37
+ }
38
+ }
39
+ formatValue(params) {
40
+ const { fieldValue, fieldFormat, options } = params;
41
+ if (fieldValue === null || fieldValue === void 0 || fieldValue === "") {
42
+ return fieldValue;
43
+ }
44
+ return this.formatByRendererType(fieldValue, fieldFormat, options);
45
+ }
46
+ formatByRendererType(fieldValue, fieldFormat, options) {
47
+ const { rendererType, maskType, numberMaskOptions } = options;
48
+ switch (rendererType) {
49
+ case "text":
50
+ case "email":
51
+ case "radiogroup":
52
+ case "radio":
53
+ return this.formatTextValue({
54
+ value: fieldValue,
55
+ fieldFormat,
56
+ maskType,
57
+ rendererType
58
+ });
59
+ case "number":
60
+ return this.formatNumberValue(
61
+ fieldValue,
62
+ fieldFormat,
63
+ numberMaskOptions
64
+ );
65
+ case "checkbox":
66
+ return this.formatBooleanValue(fieldValue);
67
+ case "date":
68
+ return this.formatDateValue(fieldValue, options.dateFormat);
69
+ case "dropdown":
70
+ return this.formatDropdownValue(fieldValue);
71
+ case "zipcode":
72
+ return this.formatZipValue(String(fieldValue));
73
+ default:
74
+ return fieldValue;
75
+ }
76
+ }
77
+ formatTextValue({
78
+ value,
79
+ fieldFormat,
80
+ maskType,
81
+ rendererType
82
+ }) {
83
+ if ((rendererType === "radio" || rendererType === "radiogroup") && fieldFormat === "Y") {
84
+ return this.formatBooleanValue(value);
85
+ }
86
+ if (maskType === "SSN" || fieldFormat === "SS") {
87
+ return this.BLL.Formatter.createFormatter("SS").format(value);
88
+ }
89
+ if (maskType === "Phone" || fieldFormat === "P") {
90
+ return this.BLL.Formatter.createFormatter("P").format(value, {
91
+ isInternational: false
92
+ });
93
+ }
94
+ return String(value);
95
+ }
96
+ formatNumberValue(value, fieldFormat, numberMaskOptions) {
97
+ return this.BLL.Formatter.createFormatter("D2").format(value, {
98
+ fieldFormat,
99
+ numberOptions: {
100
+ includeThousandsSeparator: true,
101
+ ...numberMaskOptions
102
+ }
103
+ });
104
+ }
105
+ formatBooleanValue(value) {
106
+ return this.BLL.Formatter.createFormatter("Y").format(value);
107
+ }
108
+ formatDateValue(value, dateFormat) {
109
+ return this.BLL.Formatter.createFormatter("DT").format(value, {
110
+ dateFormat
111
+ });
112
+ }
113
+ formatDropdownValue(value) {
114
+ const formatter = this.BLL.Formatter.createFormatter("DD");
115
+ return formatter.format(value);
116
+ }
117
+ formatZipValue(value) {
118
+ const formatter = this.BLL.Formatter.createFormatter("Z");
119
+ return formatter.format(value);
120
+ }
121
+ useFieldValue(params) {
122
+ const { fieldId, fieldFormat, options } = params;
123
+ const [fieldValue, setFieldValue] = (0, import_react.useState)(void 0);
124
+ (0, import_react.useEffect)(() => {
125
+ (async () => {
126
+ if (fieldFormat) {
127
+ const value = await this.getFieldValue(fieldId);
128
+ setFieldValue(
129
+ this.formatValue({
130
+ fieldValue: value,
131
+ fieldFormat,
132
+ options
133
+ })
134
+ );
135
+ }
136
+ })();
137
+ }, [fieldId, fieldFormat]);
138
+ return {
139
+ fieldValue,
140
+ setFieldValue
141
+ };
142
+ }
143
+ // eslint-disable-next-line complexity
144
+ parseValue(params) {
145
+ const { fieldValue, fieldFormat, options } = params;
146
+ if (fieldValue === null || fieldValue === void 0 || fieldValue === "") {
147
+ return fieldValue;
148
+ }
149
+ const { rendererType, maskType, unmaskPattern } = options;
150
+ switch (rendererType) {
151
+ case "text":
152
+ case "email":
153
+ case "radio":
154
+ case "radiogroup":
155
+ return this.parseTextValue({
156
+ rendererType,
157
+ value: fieldValue,
158
+ fieldFormat,
159
+ maskType,
160
+ unmaskPattern
161
+ });
162
+ case "number":
163
+ return this.parseNumberValue({
164
+ value: fieldValue,
165
+ fieldFormat,
166
+ unmaskPattern
167
+ });
168
+ case "checkbox":
169
+ return this.parseBooleanValue(fieldValue);
170
+ case "date":
171
+ return this.parseDateValue({
172
+ value: fieldValue,
173
+ dateFormat: options.dateFormat
174
+ });
175
+ case "zipcode":
176
+ return this.parseZipValue(String(fieldValue));
177
+ default:
178
+ return fieldValue;
179
+ }
180
+ }
181
+ parseTextValue(params) {
182
+ const { rendererType, value, fieldFormat, maskType, unmaskPattern } = params;
183
+ if ((rendererType === "radio" || rendererType === "radiogroup") && fieldFormat === "Y") {
184
+ return this.parseBooleanValue(value);
185
+ }
186
+ if (maskType === "SSN" || fieldFormat === "SS") {
187
+ return this.BLL.Formatter.createFormatter("SS").parse(String(value));
188
+ }
189
+ if (maskType === "Phone" || fieldFormat === "P") {
190
+ return this.BLL.Formatter.createFormatter("P").parse(String(value), {
191
+ unmaskPattern
192
+ });
193
+ }
194
+ return value;
195
+ }
196
+ parseNumberValue(params) {
197
+ const { value, fieldFormat, unmaskPattern } = params;
198
+ return this.BLL.Formatter.createFormatter("D2").parse(String(value), {
199
+ fieldFormat,
200
+ unmaskPattern
201
+ });
202
+ }
203
+ parseBooleanValue(value) {
204
+ return this.BLL.Formatter.createFormatter("Y").parse(Boolean(value));
205
+ }
206
+ parseDateValue(params) {
207
+ const { value, dateFormat } = params;
208
+ return this.BLL.Formatter.createFormatter("DT").parse(String(value), {
209
+ dateFormat
210
+ });
211
+ }
212
+ parseZipValue(value) {
213
+ return this.BLL.Formatter.createFormatter("Z").parse(value);
214
+ }
215
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var hookBase_exports = {};
20
+ __export(hookBase_exports, {
21
+ HookBase: () => HookBase
22
+ });
23
+ module.exports = __toCommonJS(hookBase_exports);
24
+ class HookBase {
25
+ BLL;
26
+ constructor(bll) {
27
+ this.BLL = bll;
28
+ }
29
+ }