@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,273 @@
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 ZipCodeRenderer_exports = {};
30
+ __export(ZipCodeRenderer_exports, {
31
+ ZipCodeRenderer: () => ZipCodeRenderer,
32
+ default: () => ZipCodeRenderer_default
33
+ });
34
+ module.exports = __toCommonJS(ZipCodeRenderer_exports);
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_react = __toESM(require("react"));
37
+ var import_ds_controlled_form = require("@elliemae/ds-controlled-form");
38
+ var import_renderer = require("../../base/renderer");
39
+ var import_AddonRenderer = require("../AddonRenderer");
40
+ var import_hook = require("./hook");
41
+ class ZipCodeRenderer extends import_renderer.Renderer {
42
+ AddOnRenderer;
43
+ constructor() {
44
+ super();
45
+ this.AddOnRenderer = new import_AddonRenderer.AddonRenderer().render();
46
+ this.BRWrapper = this.renderBR();
47
+ }
48
+ render() {
49
+ const ZipComponent = (props) => {
50
+ const {
51
+ id,
52
+ fieldId,
53
+ isDisable,
54
+ validationRules = [],
55
+ onChange,
56
+ onBlur,
57
+ label,
58
+ rightAddon,
59
+ isForeignAddress = false,
60
+ useLatLong = false,
61
+ onGeoLookupComplete,
62
+ geoFields,
63
+ brCompProps,
64
+ ...rest
65
+ } = props;
66
+ const { BRWrapper, AddOnRenderer } = this;
67
+ const {
68
+ fieldMetadata: {
69
+ isLockField = false,
70
+ maxLength = 0,
71
+ fieldFormat = ""
72
+ } = {},
73
+ fieldValue,
74
+ setFieldValue,
75
+ isLockedState,
76
+ isSearchedField,
77
+ setIsSearchedField,
78
+ isFieldDisabled,
79
+ validationResult,
80
+ ariaDescProps
81
+ } = this.initVM(props);
82
+ this.fieldFormat = fieldFormat;
83
+ const { options, searchZipCode, handleOptionSelect, clearOptions } = (0, import_hook.useZipCodeLookup)({
84
+ ssf: this.BLL.SSF,
85
+ onGeoLookupComplete,
86
+ useLatLong,
87
+ isForeignAddress,
88
+ geoFields: { ...geoFields, zip: fieldId }
89
+ });
90
+ const zipCodeInputProps = (0, import_ds_controlled_form.useZipCodeMask)({
91
+ valueSetter: (value) => {
92
+ if (!isDisable && !isFieldDisabled && !isForeignAddress) {
93
+ setFieldValue(value);
94
+ }
95
+ }
96
+ });
97
+ const handleForeignAddressChange = (0, import_react.useCallback)(
98
+ (newValue) => {
99
+ setFieldValue(newValue);
100
+ if (onChange) {
101
+ onChange(fieldId, newValue);
102
+ }
103
+ },
104
+ [fieldId, onChange, setFieldValue]
105
+ );
106
+ const handleUSZipChange = (0, import_react.useCallback)(
107
+ (newValue) => {
108
+ if (!newValue) {
109
+ setFieldValue("");
110
+ clearOptions();
111
+ if (onChange) {
112
+ onChange(fieldId, "");
113
+ }
114
+ return;
115
+ }
116
+ if (!/\d/.test(newValue)) {
117
+ return;
118
+ }
119
+ const formattedValue = this.getFormattedValue(newValue);
120
+ setFieldValue(formattedValue);
121
+ const parsedValue = this.getParsedValue(formattedValue);
122
+ if (onChange) {
123
+ onChange(fieldId, parsedValue);
124
+ }
125
+ const { isValid } = this.BLL.Validator.createValidator("zip").validate(formattedValue);
126
+ if (isValid) {
127
+ searchZipCode(formattedValue);
128
+ } else {
129
+ clearOptions();
130
+ }
131
+ },
132
+ [fieldId, onChange, setFieldValue, clearOptions, searchZipCode]
133
+ );
134
+ const onChangeEvent = (0, import_react.useCallback)(
135
+ (newValue) => {
136
+ setIsSearchedField(false);
137
+ if (isDisable || isFieldDisabled) return;
138
+ if (isForeignAddress) {
139
+ handleForeignAddressChange(newValue);
140
+ } else {
141
+ handleUSZipChange(newValue);
142
+ }
143
+ },
144
+ [
145
+ isForeignAddress,
146
+ isDisable,
147
+ isFieldDisabled,
148
+ setIsSearchedField,
149
+ handleForeignAddressChange,
150
+ handleUSZipChange
151
+ ]
152
+ );
153
+ const onAutocompleteSelect = (0, import_react.useCallback)(
154
+ (selectedLabel) => {
155
+ if (isForeignAddress || isDisable || isFieldDisabled) return;
156
+ const selectedOption = handleOptionSelect(selectedLabel);
157
+ if (!selectedOption) return;
158
+ const formattedValue = this.getFormattedValue(
159
+ selectedOption.zipNumber
160
+ );
161
+ setFieldValue(formattedValue);
162
+ const parsedValue = this.getParsedValue(formattedValue);
163
+ if (onChange) {
164
+ onChange(fieldId, parsedValue);
165
+ }
166
+ },
167
+ [
168
+ fieldId,
169
+ handleOptionSelect,
170
+ isForeignAddress,
171
+ isDisable,
172
+ isFieldDisabled,
173
+ onChange,
174
+ setFieldValue
175
+ ]
176
+ );
177
+ const onBlurEvent = (0, import_react.useCallback)(
178
+ (e) => {
179
+ const { value } = e.target;
180
+ if (isDisable || isFieldDisabled) return;
181
+ const formattedValue = isForeignAddress ? value : this.getFormattedValue(value);
182
+ setFieldValue(formattedValue);
183
+ const rulesToCheck = [...validationRules];
184
+ const tempValResult = this.Hooks.runValidationsOnValue(
185
+ formattedValue,
186
+ rulesToCheck
187
+ );
188
+ this.VM.setValidationResult(tempValResult);
189
+ if (!tempValResult.isValid) {
190
+ return;
191
+ }
192
+ const parsedValue = isForeignAddress ? formattedValue : this.getParsedValue(formattedValue);
193
+ (async () => {
194
+ await this.BLL.SSF.setFieldValue(fieldId, parsedValue);
195
+ })();
196
+ if (onBlur) {
197
+ onBlur(fieldId, parsedValue);
198
+ }
199
+ },
200
+ // eslint-disable-next-line react-hooks/exhaustive-deps
201
+ [fieldId, isForeignAddress, isDisable, onBlur, validationRules]
202
+ );
203
+ const validationProps = this.buildValidationProps(validationResult);
204
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
205
+ BRWrapper,
206
+ {
207
+ fieldId,
208
+ inputID: fieldId,
209
+ label,
210
+ value: fieldValue || "",
211
+ ...validationProps,
212
+ ...brCompProps || {},
213
+ withHighlight: isSearchedField,
214
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
215
+ AddOnRenderer,
216
+ {
217
+ rendererType: "addon",
218
+ fieldId,
219
+ isLocked: isLockedState,
220
+ isPadLock: isLockField,
221
+ isDisable,
222
+ rightAddon,
223
+ onPadLockToggle: () => this.toggleLockStatus(fieldId, isLockedState || false),
224
+ children: isForeignAddress ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
225
+ import_ds_controlled_form.DSInputText,
226
+ {
227
+ id,
228
+ "data-testid": fieldId,
229
+ value: fieldValue || "",
230
+ onValueChange: onChangeEvent,
231
+ onBlur: onBlurEvent,
232
+ disabled: isFieldDisabled || isDisable,
233
+ applyAriaDisabled: isFieldDisabled || isDisable,
234
+ ...maxLength && maxLength > 0 && { maxLength },
235
+ ...ariaDescProps,
236
+ ...this.sanitize(rest)
237
+ }
238
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
239
+ import_ds_controlled_form.DSAutocomplete,
240
+ {
241
+ placeholder: "",
242
+ options,
243
+ filter: fieldValue || "",
244
+ onSelect: onAutocompleteSelect,
245
+ disabled: isFieldDisabled || isDisable,
246
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
247
+ import_ds_controlled_form.DSInputText,
248
+ {
249
+ id,
250
+ "data-testid": fieldId,
251
+ value: fieldValue || "",
252
+ autoComplete: "off",
253
+ onValueChange: onChangeEvent,
254
+ onBlur: onBlurEvent,
255
+ disabled: isFieldDisabled || isDisable,
256
+ applyAriaDisabled: isFieldDisabled || isDisable,
257
+ ...maxLength && maxLength > 0 && { maxLength },
258
+ ...zipCodeInputProps,
259
+ ...ariaDescProps,
260
+ ...this.sanitize(rest)
261
+ }
262
+ )
263
+ }
264
+ )
265
+ }
266
+ )
267
+ }
268
+ );
269
+ };
270
+ return import_react.default.memo(ZipComponent);
271
+ }
272
+ }
273
+ var ZipCodeRenderer_default = ZipCodeRenderer;
@@ -0,0 +1,24 @@
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 renderer_exports = {};
20
+ __export(renderer_exports, {
21
+ FieldRenderer: () => import_FieldRenderer.FieldRenderer
22
+ });
23
+ module.exports = __toCommonJS(renderer_exports);
24
+ var import_FieldRenderer = require("./FieldRenderer");
@@ -0,0 +1,51 @@
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 styles_exports = {};
30
+ __export(styles_exports, {
31
+ EmptyLabel: () => EmptyLabel,
32
+ StyledDateTimePicker: () => StyledDateTimePicker,
33
+ theme: () => theme
34
+ });
35
+ module.exports = __toCommonJS(styles_exports);
36
+ var import_styled_components = __toESM(require("styled-components"));
37
+ var import_pui_theme = require("@elliemae/pui-theme");
38
+ var import_ds_form_date_time_picker = require("@elliemae/ds-form-date-time-picker");
39
+ const EmptyLabel = import_styled_components.default.label`
40
+ display: block;
41
+ height: 1rem;
42
+ line-height: 1.15rem;
43
+ `;
44
+ const StyledDateTimePicker = (0, import_styled_components.default)(import_ds_form_date_time_picker.DSControlledDateTimePicker)`
45
+ width: auto;
46
+
47
+ & div:last-child {
48
+ justify-content: end;
49
+ }
50
+ `;
51
+ const theme = (0, import_pui_theme.getDefaultTheme)();
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
@@ -0,0 +1,125 @@
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 flowBase_exports = {};
20
+ __export(flowBase_exports, {
21
+ FlowBase: () => FlowBase
22
+ });
23
+ module.exports = __toCommonJS(flowBase_exports);
24
+ class FlowBase {
25
+ constructor(flowParams) {
26
+ this.flowParams = flowParams;
27
+ }
28
+ flowParams;
29
+ setTimeoutAwaitable(timeout = 100) {
30
+ return new Promise((resolve) => {
31
+ setTimeout(() => {
32
+ resolve();
33
+ }, timeout);
34
+ });
35
+ }
36
+ getFlowName(rendererName, description) {
37
+ return `component: ${rendererName} - ${description}`;
38
+ }
39
+ static get Mocks() {
40
+ return {
41
+ apis: [],
42
+ ssf: {
43
+ loconnect: {
44
+ getStateDropDownList: [
45
+ { name: "Alabama", value: "AL" },
46
+ { name: "California", value: "CA" },
47
+ { name: "New York", value: "NY" },
48
+ { name: "Texas", value: "TX" }
49
+ ],
50
+ // Zip code lookup - single result (auto-fill)
51
+ getZipCodeData: (zip) => {
52
+ if (zip === "90210") {
53
+ return [
54
+ { City: "Beverly Hills", State: "CA", County: "Los Angeles" }
55
+ ];
56
+ }
57
+ if (zip === "10001") {
58
+ return [
59
+ { City: "New York", State: "NY", County: "New York" },
60
+ { City: "Manhattan", State: "NY", County: "New York" }
61
+ ];
62
+ }
63
+ if (zip === "94105") {
64
+ return [
65
+ {
66
+ City: "San Francisco",
67
+ State: "CA",
68
+ County: "San Francisco"
69
+ }
70
+ ];
71
+ }
72
+ if (zip === "75001") {
73
+ return [{ City: "Addison", State: "TX", County: "Dallas" }];
74
+ }
75
+ return [];
76
+ },
77
+ // Zip code lookup with lat/long
78
+ getZipCodeLatLong: (zip) => {
79
+ if (zip === "90210") {
80
+ return [
81
+ {
82
+ city: "Beverly Hills",
83
+ state: "CA",
84
+ county: "Los Angeles",
85
+ latitude: "34.0901",
86
+ longitude: "-118.4065"
87
+ }
88
+ ];
89
+ }
90
+ if (zip === "10001") {
91
+ return [
92
+ {
93
+ city: "New York",
94
+ state: "NY",
95
+ county: "New York",
96
+ latitude: "40.7484",
97
+ longitude: "-73.9967"
98
+ },
99
+ {
100
+ city: "Manhattan",
101
+ state: "NY",
102
+ county: "New York",
103
+ latitude: "40.7831",
104
+ longitude: "-73.9712"
105
+ }
106
+ ];
107
+ }
108
+ if (zip === "94105") {
109
+ return [
110
+ {
111
+ city: "San Francisco",
112
+ state: "CA",
113
+ county: "San Francisco",
114
+ latitude: "37.7893",
115
+ longitude: "-122.3959"
116
+ }
117
+ ];
118
+ }
119
+ return [];
120
+ }
121
+ }
122
+ }
123
+ };
124
+ }
125
+ }
@@ -0,0 +1,52 @@
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 base_exports = {};
30
+ __export(base_exports, {
31
+ TestBase: () => TestBase
32
+ });
33
+ module.exports = __toCommonJS(base_exports);
34
+ var import_react = __toESM(require("react"));
35
+ var import_react2 = require("@testing-library/react");
36
+ var import_styled_components = require("styled-components");
37
+ var import_pui_theme = require("@elliemae/pui-theme");
38
+ var import_flow_driven_testing = require("@elliemae/flow-driven-testing");
39
+ var import_demo = require("../../demo");
40
+ class TestBase extends import_flow_driven_testing.FlowRunner {
41
+ mountApp() {
42
+ return (0, import_react2.render)(
43
+ import_react.default.createElement(
44
+ import_styled_components.ThemeProvider,
45
+ { theme: (0, import_pui_theme.getDefaultTheme)() },
46
+ import_react.default.createElement(import_demo.Demo)
47
+ )
48
+ );
49
+ }
50
+ init() {
51
+ }
52
+ }
@@ -0,0 +1,85 @@
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 checkboxRendererFlows_exports = {};
20
+ __export(checkboxRendererFlows_exports, {
21
+ CheckboxRendererFlows: () => CheckboxRendererFlows
22
+ });
23
+ module.exports = __toCommonJS(checkboxRendererFlows_exports);
24
+ var import_flow_driven_testing = require("@elliemae/flow-driven-testing");
25
+ var import_flowBase = require("../base/flowBase");
26
+ class CheckboxRendererFlows extends import_flowBase.FlowBase {
27
+ constructor(flowParams) {
28
+ super(flowParams);
29
+ this.flowParams = flowParams;
30
+ }
31
+ flowParams;
32
+ UpdateCheckboxStatus() {
33
+ return {
34
+ [`${this.flowParams.inboundFlow}`]: {
35
+ name: this.getFlowName("CheckboxRenderer", "update checkbox status"),
36
+ startFlow: [
37
+ {
38
+ selector: '[data-testid="LE1.X78"]',
39
+ action: import_flow_driven_testing.TTriggerActions.CLICK
40
+ }
41
+ ],
42
+ asserts: [
43
+ {
44
+ ssfFunctionsCalled: ["setFields"]
45
+ }
46
+ ],
47
+ transitions: [
48
+ {
49
+ to: "checkCheckboxDisabled"
50
+ }
51
+ ]
52
+ }
53
+ };
54
+ }
55
+ CheckCheckboxDisabled() {
56
+ return {
57
+ checkCheckboxDisabled: {
58
+ name: this.getFlowName("CheckboxRenderer", "check checkbox disabled"),
59
+ startFlow: [
60
+ {
61
+ selector: '[data-testid="LE1.X78"]',
62
+ action: import_flow_driven_testing.TTriggerActions.CLICK
63
+ }
64
+ ],
65
+ asserts: [
66
+ {
67
+ selector: '[data-testid="LE1.X79"]',
68
+ isEnabled: false
69
+ }
70
+ ],
71
+ transitions: [
72
+ {
73
+ to: this.flowParams.outboundFlow || ""
74
+ }
75
+ ]
76
+ }
77
+ };
78
+ }
79
+ get Flows() {
80
+ return {
81
+ ...this.UpdateCheckboxStatus(),
82
+ ...this.CheckCheckboxDisabled()
83
+ };
84
+ }
85
+ }