@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,49 @@
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 maxCharValidator_exports = {};
28
+ __export(maxCharValidator_exports, {
29
+ MaxCharValidator: () => MaxCharValidator
30
+ });
31
+ module.exports = __toCommonJS(maxCharValidator_exports);
32
+ var import_pui_app_sdk = require("@elliemae/pui-app-sdk");
33
+ let MaxCharValidator = class {
34
+ validate(value, message, options) {
35
+ if (!value) {
36
+ return { isValid: true };
37
+ }
38
+ const strValue = String(value);
39
+ const charsLimit = options?.charsLimit ?? 0;
40
+ const isValid = strValue.length <= charsLimit;
41
+ return {
42
+ isValid,
43
+ message: isValid ? "" : message || `This field exceeds the maximum character limit of ${charsLimit}.`
44
+ };
45
+ }
46
+ };
47
+ MaxCharValidator = __decorateClass([
48
+ import_pui_app_sdk.decorators.class.Singleton
49
+ ], MaxCharValidator);
@@ -0,0 +1,44 @@
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 requiredValidator_exports = {};
28
+ __export(requiredValidator_exports, {
29
+ RequiredValidator: () => RequiredValidator
30
+ });
31
+ module.exports = __toCommonJS(requiredValidator_exports);
32
+ var import_pui_app_sdk = require("@elliemae/pui-app-sdk");
33
+ let RequiredValidator = class {
34
+ validate(value, message) {
35
+ const isValid = value !== null && value !== void 0 && value !== "";
36
+ return {
37
+ isValid,
38
+ message: isValid ? void 0 : message || "This field is required."
39
+ };
40
+ }
41
+ };
42
+ RequiredValidator = __decorateClass([
43
+ import_pui_app_sdk.decorators.class.Singleton
44
+ ], RequiredValidator);
@@ -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 __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 zipValidator_exports = {};
28
+ __export(zipValidator_exports, {
29
+ ZipValidator: () => ZipValidator,
30
+ validZipCode: () => validZipCode
31
+ });
32
+ module.exports = __toCommonJS(zipValidator_exports);
33
+ var import_pui_app_sdk = require("@elliemae/pui-app-sdk");
34
+ const validZipCode = (zip) => {
35
+ if (!zip) return false;
36
+ const digitsOnly = zip.replace(/[^\d]/g, "");
37
+ return digitsOnly.length === 5 || digitsOnly.length === 9;
38
+ };
39
+ let ZipValidator = class {
40
+ validate(zip = "", message) {
41
+ if (!zip) {
42
+ return { isValid: true };
43
+ }
44
+ const isValid = validZipCode(zip);
45
+ return {
46
+ isValid,
47
+ message: isValid ? void 0 : message || "This value is not a valid zip code format."
48
+ };
49
+ }
50
+ };
51
+ ZipValidator = __decorateClass([
52
+ import_pui_app_sdk.decorators.class.Singleton
53
+ ], ZipValidator);
@@ -0,0 +1,52 @@
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 core_exports = {};
28
+ __export(core_exports, {
29
+ Core: () => Core,
30
+ coreInstance: () => coreInstance
31
+ });
32
+ module.exports = __toCommonJS(core_exports);
33
+ var import_pui_app_sdk = require("@elliemae/pui-app-sdk");
34
+ var import_encw_core = require("@elliemae/encw-core");
35
+ let Core = class extends import_encw_core.Base {
36
+ get CoreUtils() {
37
+ return this.Utils;
38
+ }
39
+ get ExceptionUtils() {
40
+ return {
41
+ businessException: this.businessException.bind(this),
42
+ runtimeException: this.runtimeException.bind(this)
43
+ };
44
+ }
45
+ Log(type, message, additionalData) {
46
+ return super.Log(type, message, additionalData);
47
+ }
48
+ };
49
+ Core = __decorateClass([
50
+ import_pui_app_sdk.decorators.class.Singleton
51
+ ], Core);
52
+ const coreInstance = new Core();
@@ -0,0 +1,391 @@
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 config_exports = {};
20
+ __export(config_exports, {
21
+ Config: () => Config
22
+ });
23
+ module.exports = __toCommonJS(config_exports);
24
+ class Config {
25
+ static getTextFields() {
26
+ return [
27
+ {
28
+ label: "Text Field",
29
+ fieldId: "4003",
30
+ rendererType: "text"
31
+ },
32
+ {
33
+ label: "Email Field",
34
+ fieldId: "1178",
35
+ rendererType: "email",
36
+ onBlur: (fieldId, value) => {
37
+ console.log(
38
+ `OnBlur called for fieldId: ${fieldId} with value: ${String(
39
+ value
40
+ )}`
41
+ );
42
+ },
43
+ onChange: (fieldId, value) => {
44
+ console.log(
45
+ `OnChange called for fieldId: ${fieldId} with value: ${String(
46
+ value
47
+ )}`
48
+ );
49
+ }
50
+ },
51
+ {
52
+ label: "Phone Field",
53
+ fieldId: "USDA.X103",
54
+ rendererType: "text",
55
+ maskType: "Phone"
56
+ },
57
+ {
58
+ label: "SSN Field",
59
+ fieldId: "65",
60
+ rendererType: "text",
61
+ maskType: "SSN"
62
+ },
63
+ {
64
+ label: "Lock Text Field",
65
+ fieldId: "LE1.X5",
66
+ rendererType: "text"
67
+ },
68
+ {
69
+ label: "Custom Format Field",
70
+ fieldId: "LE1.X6",
71
+ rendererType: "text",
72
+ formatFn: (value) => {
73
+ if (!value) return "";
74
+ return value.toUpperCase();
75
+ },
76
+ parseFn: (displayValue) => {
77
+ if (!displayValue) return "";
78
+ return displayValue.toLowerCase();
79
+ }
80
+ },
81
+ {
82
+ label: "City",
83
+ fieldId: "FR0106",
84
+ rendererType: "text"
85
+ },
86
+ {
87
+ label: "State",
88
+ fieldId: "FR0107",
89
+ rendererType: "dropdown",
90
+ onBlur: (fieldId, value) => {
91
+ console.log(`Dropdown onBlur: ${fieldId} = ${String(value)}`);
92
+ }
93
+ },
94
+ {
95
+ label: "Zip Code Field",
96
+ fieldId: "FR0108",
97
+ geoFields: {
98
+ city: "FR0106",
99
+ state: "FR0107",
100
+ county: "FR0109"
101
+ },
102
+ useLatLong: true,
103
+ rendererType: "zipcode",
104
+ onGeoLookupComplete: (zip, cityData) => {
105
+ console.log("Zip Code Updated:", zip, cityData);
106
+ },
107
+ onChange: (fieldId, value) => {
108
+ console.log(`ZipCode onChange: ${fieldId} = ${String(value)}`);
109
+ },
110
+ onBlur: (fieldId, value) => {
111
+ console.log(`ZipCode onBlur: ${fieldId} = ${String(value)}`);
112
+ }
113
+ },
114
+ {
115
+ label: "LE1 Address Zip Code",
116
+ fieldId: "15",
117
+ geoFields: {
118
+ city: "12",
119
+ state: "14",
120
+ county: "16"
121
+ },
122
+ rendererType: "zipcode",
123
+ onChange: (fieldId, value) => {
124
+ console.log(`ZipCode onChange: ${fieldId} = ${String(value)}`);
125
+ },
126
+ onBlur: (fieldId, value) => {
127
+ console.log(`ZipCode onBlur: ${fieldId} = ${String(value)}`);
128
+ }
129
+ },
130
+ {
131
+ label: "LE1 Applicants: City",
132
+ fieldId: "1417",
133
+ rendererType: "text"
134
+ },
135
+ {
136
+ label: "LE1 Applicants: State",
137
+ fieldId: "1418",
138
+ rendererType: "text"
139
+ },
140
+ {
141
+ label: "LE1 Applicants: Zip Code (Foreign)",
142
+ fieldId: "1419",
143
+ geoFields: {
144
+ city: "1417",
145
+ state: "1418",
146
+ country: "URLA.X269"
147
+ },
148
+ isForeignAddress: true,
149
+ rendererType: "zipcode",
150
+ onChange: (fieldId, value) => {
151
+ console.log(
152
+ `Foreign ZipCode onChange: ${fieldId} = ${String(value)}`
153
+ );
154
+ },
155
+ onBlur: (fieldId, value) => {
156
+ console.log(`Foreign ZipCode onBlur: ${fieldId} = ${String(value)}`);
157
+ }
158
+ },
159
+ {
160
+ label: "LE1 Applicants: Country",
161
+ fieldId: "URLA.X269",
162
+ rendererType: "text"
163
+ },
164
+ {
165
+ label: "LE1 Applicants Zip Code",
166
+ fieldId: "1260",
167
+ geoFields: {
168
+ city: "1258",
169
+ state: "1259"
170
+ },
171
+ rendererType: "zipcode"
172
+ },
173
+ {
174
+ label: "State",
175
+ fieldId: "1259",
176
+ rendererType: "dropdown"
177
+ },
178
+ {
179
+ label: "City",
180
+ fieldId: "1258",
181
+ rendererType: "text"
182
+ },
183
+ {
184
+ label: "Editable Lock Dropdown Field",
185
+ fieldId: "33",
186
+ rendererType: "dropdown",
187
+ isEditable: true
188
+ }
189
+ ];
190
+ }
191
+ static getNumberFields() {
192
+ return [
193
+ {
194
+ label: "Number Field with D3 format",
195
+ fieldId: "3",
196
+ rendererType: "number",
197
+ numberMaskOptions: {
198
+ suffix: "%"
199
+ }
200
+ },
201
+ {
202
+ label: "Number Field with D2 format",
203
+ fieldId: "2",
204
+ rendererType: "number",
205
+ numberMaskOptions: {
206
+ prefix: "$"
207
+ }
208
+ },
209
+ {
210
+ label: "Number Field with Integer format",
211
+ fieldId: "4",
212
+ rendererType: "number",
213
+ onBlur: (fieldId, value) => {
214
+ console.log(
215
+ `OnBlur called for fieldId: ${fieldId} with value: ${String(
216
+ value
217
+ )}`
218
+ );
219
+ },
220
+ onChange: (fieldId, value) => {
221
+ console.log(
222
+ `OnChange called for fieldId: ${fieldId} with value: ${String(
223
+ value
224
+ )}`
225
+ );
226
+ }
227
+ },
228
+ {
229
+ label: "Number Field with D6 format",
230
+ fieldId: "3422",
231
+ rendererType: "number",
232
+ numberMaskOptions: {
233
+ prefix: " $"
234
+ }
235
+ },
236
+ {
237
+ label: "Lock number integer field",
238
+ fieldId: "LE2.X1",
239
+ rendererType: "number"
240
+ }
241
+ ];
242
+ }
243
+ static getCheckboxFields() {
244
+ return [
245
+ {
246
+ label: "Checkbox Field 1",
247
+ fieldId: "LE1.X78",
248
+ rendererType: "checkbox",
249
+ onBlur(fieldId, value) {
250
+ console.log(
251
+ `Checkbox onBlur called for fieldId: ${fieldId} with value: ${String(
252
+ value
253
+ )}`
254
+ );
255
+ }
256
+ },
257
+ {
258
+ label: "Checkbox Field 2",
259
+ fieldId: "LE1.X79",
260
+ rendererType: "checkbox",
261
+ isDisable: true
262
+ }
263
+ ];
264
+ }
265
+ static getRadioButtonFields() {
266
+ return [
267
+ {
268
+ label: "Radio Button Field",
269
+ fieldId: "RESPA.X28",
270
+ rendererType: "radio",
271
+ name: "Service your loan. If so, you will make your payment to us.",
272
+ value: true,
273
+ onSelect(fieldId, value) {
274
+ console.log(
275
+ `Radio onSelect called for fieldId: ${fieldId} with value: ${String(
276
+ value
277
+ )}`
278
+ );
279
+ }
280
+ },
281
+ {
282
+ label: "Radio Group Field",
283
+ fieldId: "LE3.X11",
284
+ rendererType: "radiogroup",
285
+ onSelect(fieldId, value) {
286
+ console.log(
287
+ `Radio Group onSelect called for fieldId: ${fieldId} with value: ${String(
288
+ value
289
+ )}`
290
+ );
291
+ }
292
+ },
293
+ {
294
+ label: "check disabled Radio Group Field",
295
+ fieldId: "LE3.X12",
296
+ rendererType: "radiogroup",
297
+ isDisable: true
298
+ }
299
+ ];
300
+ }
301
+ static getDateFields() {
302
+ return [
303
+ {
304
+ label: "Application Date",
305
+ fieldId: "748",
306
+ rendererType: "date",
307
+ onBlur: (fieldId, value) => {
308
+ console.log(`Date onBlur: ${fieldId} = ${String(value)}`);
309
+ },
310
+ onChange: (fieldId, value) => {
311
+ console.log(`Date onChange: ${fieldId} = ${String(value)}`);
312
+ }
313
+ },
314
+ {
315
+ label: "Closing Date",
316
+ fieldId: "763",
317
+ rendererType: "date"
318
+ },
319
+ {
320
+ label: "Disabled Date Field",
321
+ fieldId: "762",
322
+ rendererType: "date",
323
+ isDisable: true
324
+ },
325
+ {
326
+ label: "Date Field (autoFieldSet=false)",
327
+ fieldId: "761",
328
+ rendererType: "date",
329
+ autoFieldSet: false,
330
+ onBlur: (fieldId, value) => {
331
+ console.log(`Date (manual) onBlur: ${fieldId} = ${String(value)}`);
332
+ }
333
+ }
334
+ ];
335
+ }
336
+ static getLargeTextField() {
337
+ return [
338
+ {
339
+ label: "Large Text Field",
340
+ fieldId: "3169",
341
+ rendererType: "largetext",
342
+ onBlur: (fieldId, value) => {
343
+ console.log(`Large Text onBlur: ${fieldId} = ${String(value)}`);
344
+ },
345
+ onChange: (fieldId, value) => {
346
+ console.log(`Large Text onChange: ${fieldId} = ${String(value)}`);
347
+ }
348
+ },
349
+ {
350
+ label: "Large Text Field with max length 10",
351
+ fieldId: "1867",
352
+ rendererType: "largetext",
353
+ maxCharactersDisplay: true,
354
+ maxCharCounter: 10
355
+ }
356
+ ];
357
+ }
358
+ static getToggleFields() {
359
+ return [
360
+ {
361
+ label: "Toggle Field",
362
+ fieldId: "LE1.X80",
363
+ rendererType: "toggle",
364
+ onChange: (fieldId, value) => {
365
+ console.log(
366
+ `Toggle onChange called for fieldId: ${fieldId} with value: ${String(
367
+ value
368
+ )}`
369
+ );
370
+ }
371
+ },
372
+ {
373
+ label: "Disabled Toggle Field",
374
+ fieldId: "LE1.X81",
375
+ rendererType: "toggle",
376
+ isDisable: true
377
+ }
378
+ ];
379
+ }
380
+ static getRendererConfigs() {
381
+ return [
382
+ ...Config.getTextFields(),
383
+ ...Config.getNumberFields(),
384
+ ...Config.getCheckboxFields(),
385
+ ...Config.getRadioButtonFields(),
386
+ ...Config.getDateFields(),
387
+ ...Config.getLargeTextField(),
388
+ ...Config.getToggleFields()
389
+ ];
390
+ }
391
+ }
@@ -0,0 +1,31 @@
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 demo_exports = {};
20
+ __export(demo_exports, {
21
+ Demo: () => Demo
22
+ });
23
+ module.exports = __toCommonJS(demo_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
25
+ var import_ds_grid = require("@elliemae/ds-grid");
26
+ var import_renderer = require("../renderer");
27
+ var import_config = require("./config");
28
+ const Demo = () => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, { children: [
29
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, { "data-testid": "demo-title", children: "This is a demo page for loan field renderers" }),
30
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, { cols: [1, 1], children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, { children: import_config.Config.getRendererConfigs().map((fieldConfig) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_renderer.FieldRenderer, { ...fieldConfig }, fieldConfig.fieldId)) }) })
31
+ ] });
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "commonjs",
3
+ "sideEffects": false,
4
+ "publishConfig": {
5
+ "access": "public"
6
+ }
7
+ }
@@ -0,0 +1,45 @@
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 FieldRenderer_exports = {};
30
+ __export(FieldRenderer_exports, {
31
+ FieldRenderer: () => FieldRenderer,
32
+ default: () => FieldRenderer_default
33
+ });
34
+ module.exports = __toCommonJS(FieldRenderer_exports);
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_react = __toESM(require("react"));
37
+ var import_factory = require("./factory");
38
+ const FieldRenderer = (props) => {
39
+ const RendererComponent = (0, import_react.useMemo)(
40
+ () => import_factory.RendererFactory.create(props.rendererType),
41
+ [props.rendererType]
42
+ );
43
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RendererComponent, { ...props });
44
+ };
45
+ var FieldRenderer_default = import_react.default.memo(FieldRenderer);