@justifi/webcomponents 4.4.0 → 4.5.0

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 (462) hide show
  1. package/dist/cjs/{Api-7303478d.js → Api-d2df6e84.js} +16 -4
  2. package/dist/cjs/Api-d2df6e84.js.map +1 -0
  3. package/dist/cjs/Payout-4906a445.js +116 -0
  4. package/dist/cjs/Payout-4906a445.js.map +1 -0
  5. package/dist/cjs/{business-form-schema-63b311b2.js → business-form-schema-725ec6f5.js} +40 -22
  6. package/dist/cjs/business-form-schema-725ec6f5.js.map +1 -0
  7. package/dist/cjs/form-control-datepart_2.cjs.entry.js +107 -0
  8. package/dist/cjs/form-control-datepart_2.cjs.entry.js.map +1 -0
  9. package/dist/cjs/form-control-monetary.cjs.entry.js +65 -0
  10. package/dist/cjs/form-control-monetary.cjs.entry.js.map +1 -0
  11. package/dist/cjs/{form-control-select_2.cjs.entry.js → form-control-number_3.cjs.entry.js} +99 -12
  12. package/dist/cjs/form-control-number_3.cjs.entry.js.map +1 -0
  13. package/dist/cjs/form-control-select.cjs.entry.js +47 -0
  14. package/dist/cjs/form-control-select.cjs.entry.js.map +1 -0
  15. package/dist/cjs/{index-83b2ec02.js → index-4ffc90c0.js} +10 -1
  16. package/dist/cjs/index-4ffc90c0.js.map +1 -0
  17. package/dist/cjs/index-5a880722.js +3233 -0
  18. package/dist/cjs/index-5a880722.js.map +1 -0
  19. package/dist/cjs/{index.esm-7e12ce07.js → index.esm-84a0a7a8.js} +1 -19
  20. package/dist/cjs/index.esm-84a0a7a8.js.map +1 -0
  21. package/dist/cjs/justifi-additional-questions_5.cjs.entry.js +396 -0
  22. package/dist/cjs/justifi-additional-questions_5.cjs.entry.js.map +1 -0
  23. package/dist/cjs/justifi-bank-account-form.cjs.entry.js +1 -1
  24. package/dist/cjs/justifi-billing-form_2.cjs.entry.js +2 -2
  25. package/dist/cjs/justifi-business-form.cjs.entry.js +98 -16
  26. package/dist/cjs/justifi-business-form.cjs.entry.js.map +1 -1
  27. package/dist/cjs/justifi-business-list.cjs.entry.js +189 -0
  28. package/dist/cjs/justifi-business-list.cjs.entry.js.map +1 -0
  29. package/dist/cjs/justifi-card-form.cjs.entry.js +1 -1
  30. package/dist/cjs/justifi-details.cjs.entry.js +30 -0
  31. package/dist/cjs/justifi-details.cjs.entry.js.map +1 -0
  32. package/dist/cjs/justifi-payment-details.cjs.entry.js +63 -0
  33. package/dist/cjs/justifi-payment-details.cjs.entry.js.map +1 -0
  34. package/dist/cjs/justifi-payment-form.cjs.entry.js +6 -5
  35. package/dist/cjs/justifi-payment-form.cjs.entry.js.map +1 -1
  36. package/dist/cjs/justifi-payment-method-form.cjs.entry.js +7 -5
  37. package/dist/cjs/justifi-payment-method-form.cjs.entry.js.map +1 -1
  38. package/dist/cjs/justifi-payments-list.cjs.entry.js +49 -47
  39. package/dist/cjs/justifi-payments-list.cjs.entry.js.map +1 -1
  40. package/dist/cjs/justifi-payout-details.cjs.entry.js +61 -0
  41. package/dist/cjs/justifi-payout-details.cjs.entry.js.map +1 -0
  42. package/dist/cjs/justifi-payouts-list.cjs.entry.js +64 -54
  43. package/dist/cjs/justifi-payouts-list.cjs.entry.js.map +1 -1
  44. package/dist/cjs/justifi-proceeds-list.cjs.entry.js +156 -0
  45. package/dist/cjs/justifi-proceeds-list.cjs.entry.js.map +1 -0
  46. package/dist/cjs/justifi-table.cjs.entry.js +68 -0
  47. package/dist/cjs/justifi-table.cjs.entry.js.map +1 -0
  48. package/dist/cjs/loader.cjs.js +2 -2
  49. package/dist/cjs/select-input_2.cjs.entry.js +1 -1
  50. package/dist/cjs/table-utils-617126e5.js +13 -0
  51. package/dist/cjs/table-utils-617126e5.js.map +1 -0
  52. package/dist/cjs/{utils-4ee7e080.js → utils-0fd61dbd.js} +43 -104
  53. package/dist/cjs/utils-0fd61dbd.js.map +1 -0
  54. package/dist/cjs/utils-a5b5bfdf.js +35 -0
  55. package/dist/cjs/utils-a5b5bfdf.js.map +1 -0
  56. package/dist/cjs/webcomponents.cjs.js +3 -3
  57. package/dist/cjs/webcomponents.cjs.js.map +1 -1
  58. package/dist/collection/api/Api.js +15 -3
  59. package/dist/collection/api/Api.js.map +1 -1
  60. package/dist/collection/api/Business.js +50 -0
  61. package/dist/collection/api/Business.js.map +1 -0
  62. package/dist/collection/api/Payment.js.map +1 -1
  63. package/dist/collection/api/Payout.js +9 -0
  64. package/dist/collection/api/Payout.js.map +1 -1
  65. package/dist/collection/api/Proceed.js +42 -0
  66. package/dist/collection/api/Proceed.js.map +1 -0
  67. package/dist/collection/api/shared.js +2 -0
  68. package/dist/collection/api/shared.js.map +1 -0
  69. package/dist/collection/collection-manifest.json +13 -1
  70. package/dist/collection/components/business-form/additional-questions/additional-questions.js +59 -0
  71. package/dist/collection/components/business-form/additional-questions/additional-questions.js.map +1 -0
  72. package/dist/collection/components/business-form/business-address/business-address-form.js +1 -1
  73. package/dist/collection/components/business-form/business-address/business-address-form.js.map +1 -1
  74. package/dist/collection/components/business-form/business-address/test/business-address.spec.js +22 -18
  75. package/dist/collection/components/business-form/business-address/test/business-address.spec.js.map +1 -1
  76. package/dist/collection/components/business-form/business-form-schema.js +48 -37
  77. package/dist/collection/components/business-form/business-form-schema.js.map +1 -1
  78. package/dist/collection/components/business-form/business-form.css +5283 -43
  79. package/dist/collection/components/business-form/business-form.js +83 -6
  80. package/dist/collection/components/business-form/business-form.js.map +1 -1
  81. package/dist/collection/components/business-form/{businessForm.stories.js → business-form.stories.js} +8 -8
  82. package/dist/collection/components/business-form/business-form.stories.js.map +1 -0
  83. package/dist/collection/components/business-form/business-generic-info/business-generic-info.js +10 -17
  84. package/dist/collection/components/business-form/business-generic-info/business-generic-info.js.map +1 -1
  85. package/dist/collection/components/business-form/business-owners/business-owners.css +5283 -0
  86. package/dist/collection/components/business-form/business-owners/business-owners.js +48 -37
  87. package/dist/collection/components/business-form/business-owners/business-owners.js.map +1 -1
  88. package/dist/collection/components/business-form/business-representative/business-representative.js +12 -17
  89. package/dist/collection/components/business-form/business-representative/business-representative.js.map +1 -1
  90. package/dist/collection/components/business-form/test/business-form.spec.js +44 -0
  91. package/dist/collection/components/business-form/test/business-form.spec.js.map +1 -0
  92. package/dist/collection/components/business-list/business-list.css +576 -0
  93. package/dist/collection/components/business-list/business-list.js +209 -0
  94. package/dist/collection/components/business-list/business-list.js.map +1 -0
  95. package/dist/collection/components/business-list/business-list.stories.js +68 -0
  96. package/dist/collection/components/business-list/business-list.stories.js.map +1 -0
  97. package/dist/collection/components/business-list/example.js +12 -0
  98. package/dist/collection/components/details/details.css +7983 -0
  99. package/dist/collection/components/details/details.js +66 -0
  100. package/dist/collection/components/details/details.js.map +1 -0
  101. package/dist/collection/components/details/utils.js +10 -0
  102. package/dist/collection/components/details/utils.js.map +1 -0
  103. package/dist/collection/components/form/form-control-datepart.js +233 -0
  104. package/dist/collection/components/form/form-control-datepart.js.map +1 -0
  105. package/dist/collection/components/form/form-control-monetary.js +186 -0
  106. package/dist/collection/components/form/form-control-monetary.js.map +1 -0
  107. package/dist/collection/components/form/form-control-number-masked.js +217 -0
  108. package/dist/collection/components/form/form-control-number-masked.js.map +1 -0
  109. package/dist/collection/components/form/form-control-number.css +1818 -0
  110. package/dist/collection/components/form/form-control-number.js +194 -0
  111. package/dist/collection/components/form/form-control-number.js.map +1 -0
  112. package/dist/collection/components/form/form-control-select.css +6 -0
  113. package/dist/collection/components/form/form-control-select.js +36 -4
  114. package/dist/collection/components/form/form-control-select.js.map +1 -1
  115. package/dist/collection/components/form/form-control-text.css +7 -0
  116. package/dist/collection/components/form/form-control-text.js +45 -3
  117. package/dist/collection/components/form/form-control-text.js.map +1 -1
  118. package/dist/collection/components/form/form.js +16 -8
  119. package/dist/collection/components/form/form.js.map +1 -1
  120. package/dist/collection/components/legal-address-form/legal-address-form-schema.js +11 -0
  121. package/dist/collection/components/legal-address-form/legal-address-form-schema.js.map +1 -0
  122. package/dist/collection/components/legal-address-form/legal-address-form.css +2489 -0
  123. package/dist/collection/components/legal-address-form/legal-address-form.js +90 -0
  124. package/dist/collection/components/legal-address-form/legal-address-form.js.map +1 -0
  125. package/dist/collection/components/payment-details/example.js +12 -0
  126. package/dist/collection/components/payment-details/payment-details.css +7983 -0
  127. package/dist/collection/components/payment-details/payment-details.js +129 -0
  128. package/dist/collection/components/payment-details/payment-details.js.map +1 -0
  129. package/dist/collection/components/payment-details/payment-details.stories.js +47 -0
  130. package/dist/collection/components/payment-details/payment-details.stories.js.map +1 -0
  131. package/dist/collection/components/payments-list/payments-list.css +0 -7380
  132. package/dist/collection/components/payments-list/payments-list.js +69 -43
  133. package/dist/collection/components/payments-list/payments-list.js.map +1 -1
  134. package/dist/collection/components/payments-list/payments-list.stories.js +10 -10
  135. package/dist/collection/components/payments-list/payments-list.stories.js.map +1 -1
  136. package/dist/collection/components/payments-list/test/payments-list.spec.js +3 -54
  137. package/dist/collection/components/payments-list/test/payments-list.spec.js.map +1 -1
  138. package/dist/collection/components/payout-details/example.js +12 -0
  139. package/dist/collection/components/payout-details/payout-details.css +7983 -0
  140. package/dist/collection/components/payout-details/payout-details.js +126 -0
  141. package/dist/collection/components/payout-details/payout-details.js.map +1 -0
  142. package/dist/collection/components/payout-details/payout-details.stories.js +47 -0
  143. package/dist/collection/components/payout-details/payout-details.stories.js.map +1 -0
  144. package/dist/collection/components/payouts-list/example.js +12 -0
  145. package/dist/collection/components/payouts-list/payouts-list.css +0 -7407
  146. package/dist/collection/components/payouts-list/payouts-list.js +82 -48
  147. package/dist/collection/components/payouts-list/payouts-list.js.map +1 -1
  148. package/dist/collection/components/payouts-list/payouts-list.stories.js +10 -10
  149. package/dist/collection/components/payouts-list/payouts-list.stories.js.map +1 -1
  150. package/dist/collection/components/proceeds-list/example.js +12 -0
  151. package/dist/collection/components/proceeds-list/proceeds-list.css +576 -0
  152. package/dist/collection/components/proceeds-list/proceeds-list.js +207 -0
  153. package/dist/collection/components/proceeds-list/proceeds-list.js.map +1 -0
  154. package/dist/collection/components/proceeds-list/proceeds-list.stories.js +69 -0
  155. package/dist/collection/components/proceeds-list/proceeds-list.stories.js.map +1 -0
  156. package/dist/collection/components/table/table-utils.js +8 -0
  157. package/dist/collection/components/table/table-utils.js.map +1 -0
  158. package/dist/collection/components/table/table.css +8077 -0
  159. package/dist/collection/components/table/table.js +215 -0
  160. package/dist/collection/components/table/table.js.map +1 -0
  161. package/dist/collection/components/table/test/table.spec.js +59 -0
  162. package/dist/collection/components/table/test/table.spec.js.map +1 -0
  163. package/dist/collection/utils/country-options.js +202 -0
  164. package/dist/collection/utils/country-options.js.map +1 -0
  165. package/dist/collection/utils/phone-masks.js +4 -0
  166. package/dist/collection/utils/phone-masks.js.map +1 -0
  167. package/dist/collection/utils/utils.js +40 -0
  168. package/dist/collection/utils/utils.js.map +1 -1
  169. package/dist/components/Api.js +15 -3
  170. package/dist/components/Api.js.map +1 -1
  171. package/dist/components/Payout.js +113 -0
  172. package/dist/components/Payout.js.map +1 -0
  173. package/dist/components/additional-questions.js +51 -0
  174. package/dist/components/additional-questions.js.map +1 -0
  175. package/dist/components/business-address-form.js +8 -2
  176. package/dist/components/business-address-form.js.map +1 -1
  177. package/dist/components/business-generic-info.js +61 -35
  178. package/dist/components/business-generic-info.js.map +1 -1
  179. package/dist/components/business-owners.js +52 -36
  180. package/dist/components/business-owners.js.map +1 -1
  181. package/dist/components/business-representative.js +31 -15
  182. package/dist/components/business-representative.js.map +1 -1
  183. package/dist/components/details.js +66 -0
  184. package/dist/components/details.js.map +1 -0
  185. package/dist/components/form-control-datepart.d.ts +11 -0
  186. package/dist/components/form-control-datepart.js +8 -0
  187. package/dist/components/form-control-datepart.js.map +1 -0
  188. package/dist/components/form-control-datepart2.js +97 -0
  189. package/dist/components/form-control-datepart2.js.map +1 -0
  190. package/dist/components/form-control-monetary.d.ts +11 -0
  191. package/dist/components/form-control-monetary.js +8 -0
  192. package/dist/components/form-control-monetary.js.map +1 -0
  193. package/dist/components/form-control-monetary2.js +82 -0
  194. package/dist/components/form-control-monetary2.js.map +1 -0
  195. package/dist/components/form-control-number-masked.d.ts +11 -0
  196. package/dist/components/form-control-number-masked.js +8 -0
  197. package/dist/components/form-control-number-masked.js.map +1 -0
  198. package/dist/components/form-control-number-masked2.js +81 -0
  199. package/dist/components/form-control-number-masked2.js.map +1 -0
  200. package/dist/components/form-control-number.d.ts +11 -0
  201. package/dist/components/form-control-number.js +8 -0
  202. package/dist/components/form-control-number.js.map +1 -0
  203. package/dist/components/form-control-number2.js +70 -0
  204. package/dist/components/form-control-number2.js.map +1 -0
  205. package/dist/components/form-control-select.js +2 -2
  206. package/dist/components/form-control-select2.js +20 -7
  207. package/dist/components/form-control-select2.js.map +1 -1
  208. package/dist/components/form-control-text2.js +23 -4
  209. package/dist/components/form-control-text2.js.map +1 -1
  210. package/dist/components/index.d.ts +6 -0
  211. package/dist/components/index.esm.js +1 -18
  212. package/dist/components/index.esm.js.map +1 -1
  213. package/dist/components/index.js +1 -1
  214. package/dist/components/index2.js +3231 -0
  215. package/dist/components/index2.js.map +1 -0
  216. package/dist/components/justifi-additional-questions.d.ts +11 -0
  217. package/dist/components/justifi-additional-questions.js +8 -0
  218. package/dist/components/justifi-additional-questions.js.map +1 -0
  219. package/dist/components/justifi-business-form.js +146 -28
  220. package/dist/components/justifi-business-form.js.map +1 -1
  221. package/dist/components/justifi-business-generic-info.js +1 -1
  222. package/dist/components/justifi-business-list.d.ts +11 -0
  223. package/dist/components/justifi-business-list.js +215 -0
  224. package/dist/components/justifi-business-list.js.map +1 -0
  225. package/dist/components/justifi-details.d.ts +11 -0
  226. package/dist/components/justifi-details.js +8 -0
  227. package/dist/components/justifi-details.js.map +1 -0
  228. package/dist/components/justifi-legal-address-form.d.ts +11 -0
  229. package/dist/components/justifi-legal-address-form.js +8 -0
  230. package/dist/components/justifi-legal-address-form.js.map +1 -0
  231. package/dist/components/justifi-payment-details.d.ts +11 -0
  232. package/dist/components/justifi-payment-details.js +88 -0
  233. package/dist/components/justifi-payment-details.js.map +1 -0
  234. package/dist/components/justifi-payment-form.js +2 -1
  235. package/dist/components/justifi-payment-form.js.map +1 -1
  236. package/dist/components/justifi-payments-list.js +52 -45
  237. package/dist/components/justifi-payments-list.js.map +1 -1
  238. package/dist/components/justifi-payout-details.d.ts +11 -0
  239. package/dist/components/justifi-payout-details.js +86 -0
  240. package/dist/components/justifi-payout-details.js.map +1 -0
  241. package/dist/components/justifi-payouts-list.js +65 -50
  242. package/dist/components/justifi-payouts-list.js.map +1 -1
  243. package/dist/components/justifi-proceeds-list.d.ts +11 -0
  244. package/dist/components/justifi-proceeds-list.js +182 -0
  245. package/dist/components/justifi-proceeds-list.js.map +1 -0
  246. package/dist/components/justifi-table.d.ts +11 -0
  247. package/dist/components/justifi-table.js +8 -0
  248. package/dist/components/justifi-table.js.map +1 -0
  249. package/dist/components/legal-address-form.js +271 -0
  250. package/dist/components/legal-address-form.js.map +1 -0
  251. package/dist/components/payment-method-form.js +6 -4
  252. package/dist/components/payment-method-form.js.map +1 -1
  253. package/dist/components/phone-masks.js +7 -0
  254. package/dist/components/phone-masks.js.map +1 -0
  255. package/dist/components/table.js +94 -0
  256. package/dist/components/table.js.map +1 -0
  257. package/dist/components/utils.js +41 -102
  258. package/dist/components/utils.js.map +1 -1
  259. package/dist/esm/{Api-436dfa09.js → Api-a95f17ac.js} +16 -4
  260. package/dist/esm/Api-a95f17ac.js.map +1 -0
  261. package/dist/esm/Payout-9a1f2859.js +113 -0
  262. package/dist/esm/Payout-9a1f2859.js.map +1 -0
  263. package/dist/esm/{business-form-schema-30c48693.js → business-form-schema-5885d3d6.js} +40 -22
  264. package/dist/esm/business-form-schema-5885d3d6.js.map +1 -0
  265. package/dist/esm/form-control-datepart_2.entry.js +102 -0
  266. package/dist/esm/form-control-datepart_2.entry.js.map +1 -0
  267. package/dist/esm/form-control-monetary.entry.js +61 -0
  268. package/dist/esm/form-control-monetary.entry.js.map +1 -0
  269. package/dist/esm/{form-control-select_2.entry.js → form-control-number_3.entry.js} +98 -12
  270. package/dist/esm/form-control-number_3.entry.js.map +1 -0
  271. package/dist/esm/form-control-select.entry.js +43 -0
  272. package/dist/esm/form-control-select.entry.js.map +1 -0
  273. package/dist/esm/index-5ed53c20.js +3231 -0
  274. package/dist/esm/index-5ed53c20.js.map +1 -0
  275. package/dist/esm/{index-c8f391de.js → index-609a2c67.js} +10 -2
  276. package/dist/esm/index-609a2c67.js.map +1 -0
  277. package/dist/esm/{index.esm-be2cd327.js → index.esm-89fe6af9.js} +2 -19
  278. package/dist/esm/index.esm-89fe6af9.js.map +1 -0
  279. package/dist/esm/justifi-additional-questions_5.entry.js +388 -0
  280. package/dist/esm/justifi-additional-questions_5.entry.js.map +1 -0
  281. package/dist/esm/justifi-bank-account-form.entry.js +1 -1
  282. package/dist/esm/justifi-billing-form_2.entry.js +2 -2
  283. package/dist/esm/justifi-business-form.entry.js +98 -16
  284. package/dist/esm/justifi-business-form.entry.js.map +1 -1
  285. package/dist/esm/justifi-business-list.entry.js +185 -0
  286. package/dist/esm/justifi-business-list.entry.js.map +1 -0
  287. package/dist/esm/justifi-card-form.entry.js +1 -1
  288. package/dist/esm/justifi-details.entry.js +26 -0
  289. package/dist/esm/justifi-details.entry.js.map +1 -0
  290. package/dist/esm/justifi-payment-details.entry.js +59 -0
  291. package/dist/esm/justifi-payment-details.entry.js.map +1 -0
  292. package/dist/esm/justifi-payment-form.entry.js +3 -2
  293. package/dist/esm/justifi-payment-form.entry.js.map +1 -1
  294. package/dist/esm/justifi-payment-method-form.entry.js +7 -5
  295. package/dist/esm/justifi-payment-method-form.entry.js.map +1 -1
  296. package/dist/esm/justifi-payments-list.entry.js +47 -45
  297. package/dist/esm/justifi-payments-list.entry.js.map +1 -1
  298. package/dist/esm/justifi-payout-details.entry.js +57 -0
  299. package/dist/esm/justifi-payout-details.entry.js.map +1 -0
  300. package/dist/esm/justifi-payouts-list.entry.js +60 -50
  301. package/dist/esm/justifi-payouts-list.entry.js.map +1 -1
  302. package/dist/esm/justifi-proceeds-list.entry.js +152 -0
  303. package/dist/esm/justifi-proceeds-list.entry.js.map +1 -0
  304. package/dist/esm/justifi-table.entry.js +64 -0
  305. package/dist/esm/justifi-table.entry.js.map +1 -0
  306. package/dist/esm/loader.js +3 -3
  307. package/dist/esm/select-input_2.entry.js +1 -1
  308. package/dist/esm/table-utils-6cdcaa8c.js +11 -0
  309. package/dist/esm/table-utils-6cdcaa8c.js.map +1 -0
  310. package/dist/esm/{utils-e7782126.js → utils-ad0bbe03.js} +42 -103
  311. package/dist/esm/utils-ad0bbe03.js.map +1 -0
  312. package/dist/esm/utils-cdf0b984.js +28 -0
  313. package/dist/esm/utils-cdf0b984.js.map +1 -0
  314. package/dist/esm/webcomponents.js +4 -4
  315. package/dist/esm/webcomponents.js.map +1 -1
  316. package/dist/types/api/Api.d.ts +1 -1
  317. package/dist/types/api/Business.d.ts +133 -0
  318. package/dist/types/api/Payment.d.ts +1 -0
  319. package/dist/types/api/Payout.d.ts +10 -12
  320. package/dist/types/api/Proceed.d.ts +60 -0
  321. package/dist/types/api/shared.d.ts +11 -0
  322. package/dist/types/components/business-form/additional-questions/additional-questions.d.ts +15 -0
  323. package/dist/types/components/business-form/business-form-schema.d.ts +47 -21
  324. package/dist/types/components/business-form/business-form.d.ts +7 -2
  325. package/dist/types/components/business-form/business-generic-info/business-generic-info.d.ts +1 -2
  326. package/dist/types/components/business-form/business-owners/business-owners.d.ts +3 -2
  327. package/dist/types/components/business-form/business-representative/business-representative.d.ts +1 -2
  328. package/dist/types/components/business-list/business-list.d.ts +35 -0
  329. package/dist/types/components/business-list/business-list.stories.d.ts +9 -0
  330. package/dist/types/components/details/details.d.ts +7 -0
  331. package/dist/types/components/details/utils.d.ts +19 -0
  332. package/dist/types/components/form/form-control-datepart.d.ts +19 -0
  333. package/dist/types/components/form/form-control-monetary.d.ts +17 -0
  334. package/dist/types/components/form/form-control-number-masked.d.ts +19 -0
  335. package/dist/types/components/form/form-control-number.d.ts +18 -0
  336. package/dist/types/components/form/form-control-select.d.ts +6 -1
  337. package/dist/types/components/form/form-control-text.d.ts +6 -0
  338. package/dist/types/components/form/form.d.ts +5 -4
  339. package/dist/types/components/legal-address-form/legal-address-form-schema.d.ts +17 -0
  340. package/dist/types/components/legal-address-form/legal-address-form.d.ts +16 -0
  341. package/dist/types/components/payment-details/payment-details.d.ts +28 -0
  342. package/dist/types/components/payment-details/payment-details.stories.d.ts +8 -0
  343. package/dist/types/components/payments-list/payments-list.d.ts +6 -14
  344. package/dist/types/components/payments-list/payments-list.stories.d.ts +1 -8
  345. package/dist/types/components/payout-details/payout-details.d.ts +28 -0
  346. package/dist/types/components/payout-details/payout-details.stories.d.ts +8 -0
  347. package/dist/types/components/payouts-list/payouts-list.d.ts +7 -15
  348. package/dist/types/components/payouts-list/payouts-list.stories.d.ts +1 -8
  349. package/dist/types/components/proceeds-list/proceeds-list.d.ts +37 -0
  350. package/dist/types/components/proceeds-list/proceeds-list.stories.d.ts +9 -0
  351. package/dist/types/components/table/table-utils.d.ts +14 -0
  352. package/dist/types/components/table/table.d.ts +28 -0
  353. package/dist/types/components.d.ts +635 -12
  354. package/dist/types/stencil-public-runtime.d.ts +2 -0
  355. package/dist/types/utils/country-options.d.ts +5 -0
  356. package/dist/types/utils/phone-masks.d.ts +3 -0
  357. package/dist/types/utils/utils.d.ts +2 -0
  358. package/dist/webcomponents/{p-33d69eb5.entry.js → p-0237a6bc.entry.js} +2 -2
  359. package/dist/webcomponents/p-0237a6bc.entry.js.map +1 -0
  360. package/dist/webcomponents/{p-7041a637.entry.js → p-0d6e9f76.entry.js} +2 -2
  361. package/dist/webcomponents/p-126146d4.js +2 -0
  362. package/dist/webcomponents/p-126146d4.js.map +1 -0
  363. package/dist/webcomponents/p-239564c6.entry.js +2 -0
  364. package/dist/webcomponents/p-239564c6.entry.js.map +1 -0
  365. package/dist/webcomponents/p-27b15fe8.entry.js +2 -0
  366. package/dist/webcomponents/p-27b15fe8.entry.js.map +1 -0
  367. package/dist/webcomponents/p-2c2cde2d.js +2 -0
  368. package/dist/webcomponents/p-2c2cde2d.js.map +1 -0
  369. package/dist/webcomponents/p-308b6784.js +3 -0
  370. package/dist/webcomponents/p-308b6784.js.map +1 -0
  371. package/dist/webcomponents/p-391b8f1d.entry.js +2 -0
  372. package/dist/webcomponents/p-391b8f1d.entry.js.map +1 -0
  373. package/dist/webcomponents/p-439fc294.entry.js +2 -0
  374. package/dist/webcomponents/p-439fc294.entry.js.map +1 -0
  375. package/dist/webcomponents/p-66f010e5.entry.js +2 -0
  376. package/dist/webcomponents/{p-d5bc9f22.entry.js.map → p-66f010e5.entry.js.map} +1 -1
  377. package/dist/webcomponents/p-7abb092c.entry.js +2 -0
  378. package/dist/webcomponents/{p-309a886f.entry.js.map → p-7abb092c.entry.js.map} +1 -1
  379. package/dist/webcomponents/{p-d5cadc78.entry.js → p-7e3bbe32.entry.js} +2 -2
  380. package/dist/webcomponents/p-86464cab.entry.js +2 -0
  381. package/dist/webcomponents/p-86464cab.entry.js.map +1 -0
  382. package/dist/webcomponents/p-8f421dc6.js +2 -0
  383. package/dist/webcomponents/p-8f421dc6.js.map +1 -0
  384. package/dist/webcomponents/p-9346ae33.js +2 -0
  385. package/dist/webcomponents/p-9346ae33.js.map +1 -0
  386. package/dist/webcomponents/p-ab0756ff.js +2 -0
  387. package/dist/webcomponents/p-ab0756ff.js.map +1 -0
  388. package/dist/webcomponents/p-b042bf80.entry.js +2 -0
  389. package/dist/webcomponents/p-b042bf80.entry.js.map +1 -0
  390. package/dist/webcomponents/{p-1953797f.entry.js → p-b967262f.entry.js} +2 -2
  391. package/dist/webcomponents/p-bf9c2be2.entry.js +2 -0
  392. package/dist/webcomponents/p-bf9c2be2.entry.js.map +1 -0
  393. package/dist/webcomponents/p-c18d876e.entry.js +2 -0
  394. package/dist/webcomponents/p-c18d876e.entry.js.map +1 -0
  395. package/dist/webcomponents/p-c1e4288d.entry.js +2 -0
  396. package/dist/webcomponents/p-c1e4288d.entry.js.map +1 -0
  397. package/dist/webcomponents/{p-0fd4aae2.js → p-c46241ba.js} +2 -2
  398. package/dist/webcomponents/p-c46241ba.js.map +1 -0
  399. package/dist/webcomponents/p-ccb0e1c5.js +2 -0
  400. package/dist/webcomponents/p-ccb0e1c5.js.map +1 -0
  401. package/dist/webcomponents/p-d1bbf409.entry.js +2 -0
  402. package/dist/webcomponents/p-d1bbf409.entry.js.map +1 -0
  403. package/dist/webcomponents/p-e26d7eea.entry.js +2 -0
  404. package/dist/webcomponents/p-e26d7eea.entry.js.map +1 -0
  405. package/dist/webcomponents/{p-23e9c7d4.entry.js → p-e77d8c6e.entry.js} +2 -2
  406. package/dist/webcomponents/p-f0acb27e.entry.js +2 -0
  407. package/dist/webcomponents/p-f0acb27e.entry.js.map +1 -0
  408. package/dist/webcomponents/p-f8d49acb.entry.js +2 -0
  409. package/dist/webcomponents/p-f8d49acb.entry.js.map +1 -0
  410. package/dist/webcomponents/p-f9e127a5.js +2 -0
  411. package/dist/webcomponents/p-f9e127a5.js.map +1 -0
  412. package/dist/webcomponents/webcomponents.esm.js +1 -1
  413. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  414. package/package.json +7 -5
  415. package/dist/cjs/Api-7303478d.js.map +0 -1
  416. package/dist/cjs/business-form-schema-63b311b2.js.map +0 -1
  417. package/dist/cjs/form-control-select_2.cjs.entry.js.map +0 -1
  418. package/dist/cjs/index-83b2ec02.js.map +0 -1
  419. package/dist/cjs/index.esm-7e12ce07.js.map +0 -1
  420. package/dist/cjs/justifi-business-address-form.cjs.entry.js +0 -37
  421. package/dist/cjs/justifi-business-address-form.cjs.entry.js.map +0 -1
  422. package/dist/cjs/justifi-business-generic-info_3.cjs.entry.js +0 -148
  423. package/dist/cjs/justifi-business-generic-info_3.cjs.entry.js.map +0 -1
  424. package/dist/cjs/utils-4ee7e080.js.map +0 -1
  425. package/dist/collection/components/business-form/businessForm.stories.js.map +0 -1
  426. package/dist/esm/Api-436dfa09.js.map +0 -1
  427. package/dist/esm/business-form-schema-30c48693.js.map +0 -1
  428. package/dist/esm/form-control-select_2.entry.js.map +0 -1
  429. package/dist/esm/index-c8f391de.js.map +0 -1
  430. package/dist/esm/index.esm-be2cd327.js.map +0 -1
  431. package/dist/esm/justifi-business-address-form.entry.js +0 -33
  432. package/dist/esm/justifi-business-address-form.entry.js.map +0 -1
  433. package/dist/esm/justifi-business-generic-info_3.entry.js +0 -142
  434. package/dist/esm/justifi-business-generic-info_3.entry.js.map +0 -1
  435. package/dist/esm/utils-e7782126.js.map +0 -1
  436. package/dist/webcomponents/p-0fd4aae2.js.map +0 -1
  437. package/dist/webcomponents/p-1a1f2196.js +0 -2
  438. package/dist/webcomponents/p-1a1f2196.js.map +0 -1
  439. package/dist/webcomponents/p-309a886f.entry.js +0 -2
  440. package/dist/webcomponents/p-33d69eb5.entry.js.map +0 -1
  441. package/dist/webcomponents/p-3a80a2ec.entry.js +0 -2
  442. package/dist/webcomponents/p-3a80a2ec.entry.js.map +0 -1
  443. package/dist/webcomponents/p-45fea6a8.entry.js +0 -2
  444. package/dist/webcomponents/p-45fea6a8.entry.js.map +0 -1
  445. package/dist/webcomponents/p-79456add.js +0 -2
  446. package/dist/webcomponents/p-79456add.js.map +0 -1
  447. package/dist/webcomponents/p-af080b21.js +0 -2
  448. package/dist/webcomponents/p-af080b21.js.map +0 -1
  449. package/dist/webcomponents/p-bc969904.js +0 -3
  450. package/dist/webcomponents/p-bc969904.js.map +0 -1
  451. package/dist/webcomponents/p-cd097ce9.entry.js +0 -2
  452. package/dist/webcomponents/p-cd097ce9.entry.js.map +0 -1
  453. package/dist/webcomponents/p-d5bc9f22.entry.js +0 -2
  454. package/dist/webcomponents/p-dd1ebc0b.entry.js +0 -2
  455. package/dist/webcomponents/p-dd1ebc0b.entry.js.map +0 -1
  456. package/dist/webcomponents/p-e05e0c6b.entry.js +0 -2
  457. package/dist/webcomponents/p-e05e0c6b.entry.js.map +0 -1
  458. /package/dist/types/components/business-form/{businessForm.stories.d.ts → business-form.stories.d.ts} +0 -0
  459. /package/dist/webcomponents/{p-7041a637.entry.js.map → p-0d6e9f76.entry.js.map} +0 -0
  460. /package/dist/webcomponents/{p-d5cadc78.entry.js.map → p-7e3bbe32.entry.js.map} +0 -0
  461. /package/dist/webcomponents/{p-1953797f.entry.js.map → p-b967262f.entry.js.map} +0 -0
  462. /package/dist/webcomponents/{p-23e9c7d4.entry.js.map → p-e77d8c6e.entry.js.map} +0 -0
@@ -1,4 +1,5 @@
1
1
  import { Host, h } from "@stencil/core";
2
+ import { PHONE_MASKS } from "../../../utils/phone-masks";
2
3
  class BusinessOwner {
3
4
  constructor() {
4
5
  this.name = '';
@@ -22,50 +23,50 @@ class BusinessOwner {
22
23
  export class BusinessOwners {
23
24
  constructor() {
24
25
  this.formController = undefined;
25
- this.defaultValues = [];
26
+ this.isEditing = undefined;
26
27
  this.errors = [];
27
28
  this.owners = [];
28
- }
29
- handleOwnersChange(newValues) {
30
- this.formController.setValues({ owners: newValues });
29
+ this.inputHandler = this.inputHandler.bind(this);
30
+ this.addOwner = this.addOwner.bind(this);
31
+ this.removeOwner = this.removeOwner.bind(this);
31
32
  }
32
33
  componentDidLoad() {
33
- this.formController.defaultValues.subscribe(defaultValues => (this.defaultValues = Object.assign({}, defaultValues.owners)));
34
- this.formController.errors.subscribe(errors => (this.errors = Object.assign({}, errors.owners)));
34
+ this.formController.errors.subscribe(errors => {
35
+ this.errors = (errors === null || errors === void 0 ? void 0 : errors.owners) || [];
36
+ });
37
+ this.formController.values.subscribe(values => (this.owners = (values === null || values === void 0 ? void 0 : values.owners) || []));
35
38
  }
36
39
  inputHandler(name, value, index) {
37
- const updatedOwners = [...this.owners];
38
- const updatedOwner = Object.assign(Object.assign({}, updatedOwners[index]), { [name]: value });
39
- updatedOwners[index] = updatedOwner;
40
- this.owners = updatedOwners;
40
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { owners: this.owners.map((owner, i) => {
41
+ if (i === index) {
42
+ return Object.assign(Object.assign({}, owner), { [name]: value });
43
+ }
44
+ return owner;
45
+ }) }));
46
+ }
47
+ addressInputHandler(name, value, index) {
48
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { owners: this.owners.map((owner, i) => {
49
+ if (i === index) {
50
+ return Object.assign(Object.assign({}, owner), { address: Object.assign(Object.assign({}, owner.address), { [name]: value }) });
51
+ }
52
+ return owner;
53
+ }) }));
41
54
  }
42
55
  addOwner(event) {
43
56
  event.preventDefault();
44
- this.owners.push(new BusinessOwner());
45
- this.owners = [...this.owners];
57
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { owners: [...this.owners, Object.assign({}, new BusinessOwner())] }));
46
58
  }
47
59
  removeOwner(event, index) {
48
60
  event.preventDefault();
49
- this.owners.splice(index, 1);
50
- this.owners = [...this.owners];
61
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { owners: this.owners.filter((_owner, i) => i !== index) }));
51
62
  }
52
63
  render() {
53
- return (h(Host, { exportparts: "label,input,input-invalid" }, h("fieldset", { class: "mb-4" }, !!this.owners.length && h("legend", null, "Owners"), this.owners.map((_owner, index) => {
54
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
55
- return (h("div", { class: "row gx-2 gy-2 mb-4" }, h("div", { class: "col-12" }, h("div", { class: "row mb-3" }, h("div", { class: "col" }, h("form-control-text", { name: "name", label: "Full Name", defaultValue: (_a = this.defaultValues[index]) === null || _a === void 0 ? void 0 : _a.name, error: (_b = this.errors[index]) === null || _b === void 0 ? void 0 : _b.name, inputHandler: (name, value) => this.inputHandler(name, value, index), class: "form-control" })), h("div", { class: "col" }, h("form-control-text", { name: "title", label: "Title", defaultValue: (_c = this.defaultValues[index]) === null || _c === void 0 ? void 0 : _c.title, error: (_d = this.errors[index]) === null || _d === void 0 ? void 0 : _d.title, inputHandler: (name, value) => this.inputHandler(name, value, index), class: "form-control" }))), h("div", { class: "row mb-3" }, h("div", { class: "col" }, h("form-control-text", { name: "email", label: "Email", defaultValue: (_e = this.defaultValues[index]) === null || _e === void 0 ? void 0 : _e.email, error: (_f = this.errors[index]) === null || _f === void 0 ? void 0 : _f.email, inputHandler: (name, value) => this.inputHandler(name, value, index), class: "form-control" })), h("div", { class: "col" }, h("form-control-text", { name: "phone", label: "Phone", defaultValue: (_g = this.defaultValues[index]) === null || _g === void 0 ? void 0 : _g.phone, error: (_h = this.errors[index]) === null || _h === void 0 ? void 0 : _h.phone, inputHandler: (name, value) => this.inputHandler(name, value, index), class: "form-control" }))), h("div", { class: "row mb-3" }, h("div", { class: "col-4" }, h("form-control-text", { name: "dob_day", label: "Date of Birth - Day", defaultValue: (_j = this.defaultValues[index]) === null || _j === void 0 ? void 0 : _j.dob_day, error: (_k = this.errors[index]) === null || _k === void 0 ? void 0 : _k.dob_day, inputHandler: (name, value) => this.inputHandler(name, value, index), class: "form-control" })), h("div", { class: "col-4" }, h("form-control-text", { name: "dob_month", label: "Date of Birth - Month", defaultValue: (_l = this.defaultValues[index]) === null || _l === void 0 ? void 0 : _l.dob_month, error: (_m = this.errors[index]) === null || _m === void 0 ? void 0 : _m.dob_month, inputHandler: (name, value) => this.inputHandler(name, value, index), class: "form-control" })), h("div", { class: "col-4" }, h("form-control-text", { name: "dob_year", label: "Date of Birth - Year", defaultValue: (_o = this.defaultValues[index]) === null || _o === void 0 ? void 0 : _o.dob_year, error: (_p = this.errors[index]) === null || _p === void 0 ? void 0 : _p.dob_year, inputHandler: (name, value) => this.inputHandler(name, value, index), class: "form-control" }))), h("div", { class: "mb-3" }, h("form-control-text", { name: "identification_number", label: "Identification Number", defaultValue: (_q = this.defaultValues[index]) === null || _q === void 0 ? void 0 : _q.identification_number, error: (_r = this.errors[index]) === null || _r === void 0 ? void 0 : _r.identification_number, inputHandler: (name, value) => this.inputHandler(name, value, index), class: "form-control" })), h("legend", { class: "mb-3" }, "Owner Address:"), h("div", { class: "row mb-3" }, h("div", { class: "col-6" }, h("form-control-text", { name: "line1", label: "Street Address", defaultValue: (_t = (_s = this.defaultValues[index]) === null || _s === void 0 ? void 0 : _s.address) === null || _t === void 0 ? void 0 : _t.line1, error: (_v = (_u = this.errors[index]) === null || _u === void 0 ? void 0 : _u.address) === null || _v === void 0 ? void 0 : _v.line1, inputHandler: (_name, value) => {
56
- this.owners[index].address.line1 = value;
57
- this.owners = [...this.owners];
58
- }, class: "form-control" })), h("div", { class: "col-6" }, h("form-control-text", { name: "city", label: "City", defaultValue: (_x = (_w = this.defaultValues[index]) === null || _w === void 0 ? void 0 : _w.address) === null || _x === void 0 ? void 0 : _x.city, error: (_z = (_y = this.errors[index]) === null || _y === void 0 ? void 0 : _y.address) === null || _z === void 0 ? void 0 : _z.city, inputHandler: (_name, value) => {
59
- this.owners[index].address.city = value;
60
- this.owners = [...this.owners];
61
- }, class: "form-control" }))), h("div", { class: "row mb-3" }, h("div", { class: "col-6" }, h("form-control-text", { name: "state", label: "State", defaultValue: (_1 = (_0 = this.defaultValues[index]) === null || _0 === void 0 ? void 0 : _0.address) === null || _1 === void 0 ? void 0 : _1.state, error: (_3 = (_2 = this.errors[index]) === null || _2 === void 0 ? void 0 : _2.address) === null || _3 === void 0 ? void 0 : _3.state, inputHandler: (_name, value) => {
62
- this.owners[index].address.state = value;
63
- this.owners = [...this.owners];
64
- }, class: "form-control" })), h("div", { class: "col-6" }, h("form-control-text", { name: "postal_code", label: "Postal Code", defaultValue: (_5 = (_4 = this.defaultValues[index]) === null || _4 === void 0 ? void 0 : _4.address) === null || _5 === void 0 ? void 0 : _5.postal_code, error: (_7 = (_6 = this.errors[index]) === null || _6 === void 0 ? void 0 : _6.address) === null || _7 === void 0 ? void 0 : _7.postal_code, inputHandler: (_name, value) => {
65
- this.owners[index].address.postal_code = value;
66
- this.owners = [...this.owners];
67
- }, class: "form-control" }))), h("button", { type: "button", class: "btn btn-danger mt-3", onClick: event => this.removeOwner(event, index) }, "- Remove owner"))));
68
- }), h("div", { class: "row gy-3" }, h("div", { class: "col-12" }, h("button", { type: "button", class: "btn btn-primary", onClick: event => this.addOwner(event) }, "+ Add an owner"))))));
64
+ const ownersDefaultValue = this.formController.values.getValue().owners || [];
65
+ return (h(Host, { exportparts: "label,input,input-invalid" }, h("fieldset", { class: "mb-4" }, !!this.owners.length && h("legend", null, "Owners"), !!(this === null || this === void 0 ? void 0 : this.owners.length) &&
66
+ this.owners.map((_owner, index) => {
67
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
68
+ return (h("div", { class: "row gx-2 gy-2 mb-4" }, h("div", { class: "col-12" }, h("div", { class: "row mb-3" }, h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "name", label: "Full Name", defaultValue: (_a = ownersDefaultValue[index]) === null || _a === void 0 ? void 0 : _a.name, error: (_b = this.errors[index]) === null || _b === void 0 ? void 0 : _b.name, inputHandler: (name, value) => this.inputHandler(name, value, index), disabled: this.isEditing })), h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "title", label: "Title", defaultValue: (_c = ownersDefaultValue[index]) === null || _c === void 0 ? void 0 : _c.title, error: (_d = this.errors[index]) === null || _d === void 0 ? void 0 : _d.title, inputHandler: (name, value) => this.inputHandler(name, value, index), disabled: this.isEditing }))), h("div", { class: "row mb-3" }, h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "email", label: "Email", defaultValue: (_e = ownersDefaultValue[index]) === null || _e === void 0 ? void 0 : _e.email, error: (_f = this.errors[index]) === null || _f === void 0 ? void 0 : _f.email, inputHandler: (name, value) => this.inputHandler(name, value, index), disabled: this.isEditing })), h("div", { class: "col-12 col-md-6" }, h("form-control-number-masked", { name: "phone", label: "Phone", defaultValue: (_g = ownersDefaultValue[index]) === null || _g === void 0 ? void 0 : _g.phone, error: (_h = this.errors[index]) === null || _h === void 0 ? void 0 : _h.phone, inputHandler: (name, value) => this.inputHandler(name, value, index), mask: PHONE_MASKS.US, disabled: this.isEditing }))), h("div", { class: "row mb-3" }, h("div", { class: "col-12 col-md-4" }, h("form-control-datepart", { name: "dob_day", label: "Date of Birth - Day", defaultValue: (_j = ownersDefaultValue[index]) === null || _j === void 0 ? void 0 : _j.dob_day, error: (_k = this.errors[index]) === null || _k === void 0 ? void 0 : _k.dob_day, inputHandler: (name, value) => this.inputHandler(name, value, index), type: "day", disabled: this.isEditing })), h("div", { class: "col-12 col-md-4" }, h("form-control-datepart", { name: "dob_month", label: "Date of Birth - Month", defaultValue: (_l = ownersDefaultValue[index]) === null || _l === void 0 ? void 0 : _l.dob_month, error: (_m = this.errors[index]) === null || _m === void 0 ? void 0 : _m.dob_month, inputHandler: (name, value) => this.inputHandler(name, value, index), type: "month", disabled: this.isEditing })), h("div", { class: "col-12 col-md-4" }, h("form-control-datepart", { name: "dob_year", label: "Date of Birth - Year", defaultValue: (_o = ownersDefaultValue[index]) === null || _o === void 0 ? void 0 : _o.dob_year, error: (_p = this.errors[index]) === null || _p === void 0 ? void 0 : _p.dob_year, inputHandler: (name, value) => this.inputHandler(name, value, index), type: "year", disabled: this.isEditing }))), h("div", { class: "mb-3" }, h("form-control-number", { name: "identification_number", label: "Identification Number", defaultValue: (_q = ownersDefaultValue[index]) === null || _q === void 0 ? void 0 : _q.identification_number, error: (_r = this.errors[index]) === null || _r === void 0 ? void 0 : _r.identification_number, inputHandler: (name, value) => this.inputHandler(name, value, index), disabled: this.isEditing })), h("div", { class: "grid gap-3" }, h("legend", { class: "mb-3" }, "Owner Address:"), h("div", { class: "row mb-3" }, h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "line1", label: "Street Address", defaultValue: (_t = (_s = ownersDefaultValue[index]) === null || _s === void 0 ? void 0 : _s.address) === null || _t === void 0 ? void 0 : _t.line1, error: (_v = (_u = this.errors[index]) === null || _u === void 0 ? void 0 : _u.address) === null || _v === void 0 ? void 0 : _v.line1, inputHandler: (name, value) => this.addressInputHandler(name, value, index), disabled: this.isEditing })), h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "city", label: "City", defaultValue: (_x = (_w = ownersDefaultValue[index]) === null || _w === void 0 ? void 0 : _w.address) === null || _x === void 0 ? void 0 : _x.city, error: (_z = (_y = this.errors[index]) === null || _y === void 0 ? void 0 : _y.address) === null || _z === void 0 ? void 0 : _z.city, inputHandler: (name, value) => this.addressInputHandler(name, value, index), disabled: this.isEditing }))), h("div", { class: "row mb-3" }, h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "state", label: "State", defaultValue: (_1 = (_0 = ownersDefaultValue[index]) === null || _0 === void 0 ? void 0 : _0.address) === null || _1 === void 0 ? void 0 : _1.state, error: (_3 = (_2 = this.errors[index]) === null || _2 === void 0 ? void 0 : _2.address) === null || _3 === void 0 ? void 0 : _3.state, inputHandler: (name, value) => this.addressInputHandler(name, value, index), disabled: this.isEditing })), h("div", { class: "col-12 col-md-6" }, h("form-control-number", { name: "postal_code", label: "Postal Code", defaultValue: (_5 = (_4 = ownersDefaultValue[index]) === null || _4 === void 0 ? void 0 : _4.address) === null || _5 === void 0 ? void 0 : _5.postal_code, error: (_7 = (_6 = this.errors[index]) === null || _6 === void 0 ? void 0 : _6.address) === null || _7 === void 0 ? void 0 : _7.postal_code, inputHandler: (name, value) => this.addressInputHandler(name, value, index), disabled: this.isEditing })))), h("button", { type: "button", class: "btn btn-danger", onClick: event => this.removeOwner(event, index) }, "- Remove owner"))));
69
+ }), h("div", { class: "row gy-3" }, h("div", { class: "col-12" }, h("button", { type: "button", class: "btn btn-primary", onClick: event => this.addOwner(event) }, "+ Add an owner"))))));
69
70
  }
70
71
  static get is() { return "justifi-business-owners"; }
71
72
  static get originalStyleUrls() {
@@ -100,21 +101,31 @@ export class BusinessOwners {
100
101
  "tags": [],
101
102
  "text": ""
102
103
  }
104
+ },
105
+ "isEditing": {
106
+ "type": "boolean",
107
+ "mutable": false,
108
+ "complexType": {
109
+ "original": "boolean",
110
+ "resolved": "boolean",
111
+ "references": {}
112
+ },
113
+ "required": false,
114
+ "optional": false,
115
+ "docs": {
116
+ "tags": [],
117
+ "text": ""
118
+ },
119
+ "attribute": "is-editing",
120
+ "reflect": false
103
121
  }
104
122
  };
105
123
  }
106
124
  static get states() {
107
125
  return {
108
- "defaultValues": {},
109
126
  "errors": {},
110
127
  "owners": {}
111
128
  };
112
129
  }
113
- static get watchers() {
114
- return [{
115
- "propName": "owners",
116
- "methodName": "handleOwnersChange"
117
- }];
118
- }
119
130
  }
120
131
  //# sourceMappingURL=business-owners.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"business-owners.js","sourceRoot":"","sources":["../../../../../src/components/business-form/business-owners/business-owners.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Watch } from '@stencil/core';\nimport { FormController } from '../../form/form';\n\nclass BusinessOwner {\n name: string = '';\n title: string = '';\n email: string = '';\n phone: string = '';\n dob_day: string = '';\n dob_month: string = '';\n dob_year: string = '';\n identification_number: string = '';\n is_owner: boolean = true;\n metadata: any = {};\n address: any = {};\n}\n\n/**\n * @exportedPart label: Label for inputs\n * @exportedPart input: The input fields\n * @exportedPart input-invalid: Invalid state for inputfs\n */\n@Component({\n tag: 'justifi-business-owners',\n styleUrl: 'business-owners.scss',\n shadow: false,\n})\nexport class BusinessOwners {\n @Prop() formController: FormController;\n @State() defaultValues: any[] = [];\n @State() errors: any[] = [];\n @State() owners: BusinessOwner[] = [];\n\n @Watch('owners')\n handleOwnersChange(newValues: any) {\n this.formController.setValues({ owners: newValues });\n }\n\n componentDidLoad() {\n this.formController.defaultValues.subscribe(defaultValues => (this.defaultValues = { ...defaultValues.owners }));\n this.formController.errors.subscribe(errors => (this.errors = { ...errors.owners }));\n }\n\n inputHandler(name: string, value: string, index: number): void {\n const updatedOwners = [...this.owners];\n const updatedOwner = { ...updatedOwners[index], [name]: value };\n updatedOwners[index] = updatedOwner;\n this.owners = updatedOwners;\n }\n\n addOwner(event: MouseEvent): void {\n event.preventDefault();\n this.owners.push(new BusinessOwner());\n this.owners = [...this.owners];\n }\n\n removeOwner(event: MouseEvent, index: number): void {\n event.preventDefault();\n this.owners.splice(index, 1);\n this.owners = [...this.owners];\n }\n\n render() {\n return (\n <Host exportparts=\"label,input,input-invalid\">\n <fieldset class=\"mb-4\">\n {!!this.owners.length && <legend>Owners</legend>}\n {this.owners.map((_owner: BusinessOwner, index: number) => {\n return (\n <div class=\"row gx-2 gy-2 mb-4\">\n <div class=\"col-12\">\n <div class=\"row mb-3\">\n <div class=\"col\">\n <form-control-text\n name=\"name\"\n label=\"Full Name\"\n defaultValue={this.defaultValues[index]?.name}\n error={this.errors[index]?.name}\n inputHandler={(name, value) => this.inputHandler(name, value, index)}\n class=\"form-control\"\n />\n </div>\n <div class=\"col\">\n <form-control-text\n name=\"title\"\n label=\"Title\"\n defaultValue={this.defaultValues[index]?.title}\n error={this.errors[index]?.title}\n inputHandler={(name, value) => this.inputHandler(name, value, index)}\n class=\"form-control\"\n />\n </div>\n </div>\n\n <div class=\"row mb-3\">\n <div class=\"col\">\n <form-control-text\n name=\"email\"\n label=\"Email\"\n defaultValue={this.defaultValues[index]?.email}\n error={this.errors[index]?.email}\n inputHandler={(name, value) => this.inputHandler(name, value, index)}\n class=\"form-control\"\n />\n </div>\n <div class=\"col\">\n <form-control-text\n name=\"phone\"\n label=\"Phone\"\n defaultValue={this.defaultValues[index]?.phone}\n error={this.errors[index]?.phone}\n inputHandler={(name, value) => this.inputHandler(name, value, index)}\n class=\"form-control\"\n />\n </div>\n </div>\n\n <div class=\"row mb-3\">\n <div class=\"col-4\">\n <form-control-text\n name=\"dob_day\"\n label=\"Date of Birth - Day\"\n defaultValue={this.defaultValues[index]?.dob_day}\n error={this.errors[index]?.dob_day}\n inputHandler={(name, value) => this.inputHandler(name, value, index)}\n class=\"form-control\"\n />\n </div>\n <div class=\"col-4\">\n <form-control-text\n name=\"dob_month\"\n label=\"Date of Birth - Month\"\n defaultValue={this.defaultValues[index]?.dob_month}\n error={this.errors[index]?.dob_month}\n inputHandler={(name, value) => this.inputHandler(name, value, index)}\n class=\"form-control\"\n />\n </div>\n <div class=\"col-4\">\n <form-control-text\n name=\"dob_year\"\n label=\"Date of Birth - Year\"\n defaultValue={this.defaultValues[index]?.dob_year}\n error={this.errors[index]?.dob_year}\n inputHandler={(name, value) => this.inputHandler(name, value, index)}\n class=\"form-control\"\n />\n </div>\n </div>\n\n <div class=\"mb-3\">\n <form-control-text\n name=\"identification_number\"\n label=\"Identification Number\"\n defaultValue={this.defaultValues[index]?.identification_number}\n error={this.errors[index]?.identification_number}\n inputHandler={(name, value) => this.inputHandler(name, value, index)}\n class=\"form-control\"\n />\n </div>\n\n <legend class=\"mb-3\">Owner Address:</legend>\n\n <div class=\"row mb-3\">\n <div class=\"col-6\">\n <form-control-text\n name=\"line1\"\n label=\"Street Address\"\n defaultValue={this.defaultValues[index]?.address?.line1}\n error={this.errors[index]?.address?.line1}\n inputHandler={(_name, value) => {\n this.owners[index].address.line1 = value;\n this.owners = [...this.owners];\n }}\n class=\"form-control\"\n />\n </div>\n <div class=\"col-6\">\n <form-control-text\n name=\"city\"\n label=\"City\"\n defaultValue={this.defaultValues[index]?.address?.city}\n error={this.errors[index]?.address?.city}\n inputHandler={(_name, value) => {\n this.owners[index].address.city = value;\n this.owners = [...this.owners];\n }}\n class=\"form-control\"\n />\n </div>\n </div>\n\n <div class=\"row mb-3\">\n <div class=\"col-6\">\n <form-control-text\n name=\"state\"\n label=\"State\"\n defaultValue={this.defaultValues[index]?.address?.state}\n error={this.errors[index]?.address?.state}\n inputHandler={(_name, value) => {\n this.owners[index].address.state = value;\n this.owners = [...this.owners];\n }}\n class=\"form-control\"\n />\n </div>\n <div class=\"col-6\">\n <form-control-text\n name=\"postal_code\"\n label=\"Postal Code\"\n defaultValue={this.defaultValues[index]?.address?.postal_code}\n error={this.errors[index]?.address?.postal_code}\n inputHandler={(_name, value) => {\n this.owners[index].address.postal_code = value;\n this.owners = [...this.owners];\n }}\n class=\"form-control\"\n />\n </div>\n </div>\n <button type=\"button\" class=\"btn btn-danger mt-3\" onClick={event => this.removeOwner(event, index)}>\n - Remove owner\n </button>\n </div>\n </div>\n );\n })}\n <div class=\"row gy-3\">\n <div class=\"col-12\">\n <button type=\"button\" class=\"btn btn-primary\" onClick={event => this.addOwner(event)}>\n + Add an owner\n </button>\n </div>\n </div>\n </fieldset>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"business-owners.js","sourceRoot":"","sources":["../../../../../src/components/business-form/business-owners/business-owners.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State } from '@stencil/core';\nimport { FormController } from '../../form/form';\nimport { PHONE_MASKS } from '../../../utils/phone-masks';\n\nclass BusinessOwner {\n name: string = '';\n title: string = '';\n email: string = '';\n phone: string = '';\n dob_day: string = '';\n dob_month: string = '';\n dob_year: string = '';\n identification_number: string = '';\n is_owner: boolean = true;\n metadata: any = {};\n address: any = {};\n}\n\n/**\n * @exportedPart label: Label for inputs\n * @exportedPart input: The input fields\n * @exportedPart input-invalid: Invalid state for inputfs\n */\n@Component({\n tag: 'justifi-business-owners',\n styleUrl: 'business-owners.scss',\n shadow: false,\n})\nexport class BusinessOwners {\n @Prop() formController: FormController;\n @Prop() isEditing: boolean;\n @State() errors: any[] = [];\n @State() owners: BusinessOwner[] = [];\n\n constructor() {\n this.inputHandler = this.inputHandler.bind(this);\n this.addOwner = this.addOwner.bind(this);\n this.removeOwner = this.removeOwner.bind(this);\n }\n\n componentDidLoad() {\n this.formController.errors.subscribe(errors => {\n this.errors = errors?.owners || [];\n });\n this.formController.values.subscribe(\n values => (this.owners = values?.owners || []),\n );\n }\n\n inputHandler(name: string, value: string, index: number): void {\n this.formController.setValues({\n ...this.formController.values.getValue(),\n owners: this.owners.map((owner, i) => {\n if (i === index) {\n return {\n ...owner,\n [name]: value,\n };\n }\n return owner;\n }),\n });\n }\n\n addressInputHandler(name: string, value: string, index: number): void {\n this.formController.setValues({\n ...this.formController.values.getValue(),\n owners: this.owners.map((owner, i) => {\n if (i === index) {\n return {\n ...owner,\n address: {\n ...owner.address,\n [name]: value,\n },\n };\n }\n return owner;\n }),\n });\n }\n\n addOwner(event: MouseEvent): void {\n event.preventDefault();\n\n this.formController.setValues({\n ...this.formController.values.getValue(),\n owners: [...this.owners, { ...new BusinessOwner() }],\n });\n }\n\n removeOwner(event: MouseEvent, index: number): void {\n event.preventDefault();\n this.formController.setValues({\n ...this.formController.values.getValue(),\n owners: this.owners.filter((_owner, i) => i !== index),\n });\n }\n\n render() {\n const ownersDefaultValue =\n this.formController.values.getValue().owners || [];\n\n return (\n <Host exportparts=\"label,input,input-invalid\">\n <fieldset class=\"mb-4\">\n {!!this.owners.length && <legend>Owners</legend>}\n {!!this?.owners.length &&\n this.owners.map((_owner: BusinessOwner, index: number) => {\n return (\n <div class=\"row gx-2 gy-2 mb-4\">\n <div class=\"col-12\">\n <div class=\"row mb-3\">\n <div class=\"col-12 col-md-6\">\n <form-control-text\n name=\"name\"\n label=\"Full Name\"\n defaultValue={ownersDefaultValue[index]?.name}\n error={this.errors[index]?.name}\n inputHandler={(name, value) =>\n this.inputHandler(name, value, index)\n }\n disabled={this.isEditing}\n />\n </div>\n <div class=\"col-12 col-md-6\">\n <form-control-text\n name=\"title\"\n label=\"Title\"\n defaultValue={ownersDefaultValue[index]?.title}\n error={this.errors[index]?.title}\n inputHandler={(name, value) =>\n this.inputHandler(name, value, index)\n }\n disabled={this.isEditing}\n />\n </div>\n </div>\n\n <div class=\"row mb-3\">\n <div class=\"col-12 col-md-6\">\n <form-control-text\n name=\"email\"\n label=\"Email\"\n defaultValue={ownersDefaultValue[index]?.email}\n error={this.errors[index]?.email}\n inputHandler={(name, value) =>\n this.inputHandler(name, value, index)\n }\n disabled={this.isEditing}\n />\n </div>\n <div class=\"col-12 col-md-6\">\n <form-control-number-masked\n name=\"phone\"\n label=\"Phone\"\n defaultValue={ownersDefaultValue[index]?.phone}\n error={this.errors[index]?.phone}\n inputHandler={(name, value) =>\n this.inputHandler(name, value, index)\n }\n mask={PHONE_MASKS.US}\n disabled={this.isEditing}\n />\n </div>\n </div>\n\n <div class=\"row mb-3\">\n <div class=\"col-12 col-md-4\">\n <form-control-datepart\n name=\"dob_day\"\n label=\"Date of Birth - Day\"\n defaultValue={ownersDefaultValue[index]?.dob_day}\n error={this.errors[index]?.dob_day}\n inputHandler={(name, value) =>\n this.inputHandler(name, value, index)\n }\n type=\"day\"\n disabled={this.isEditing}\n />\n </div>\n <div class=\"col-12 col-md-4\">\n <form-control-datepart\n name=\"dob_month\"\n label=\"Date of Birth - Month\"\n defaultValue={ownersDefaultValue[index]?.dob_month}\n error={this.errors[index]?.dob_month}\n inputHandler={(name, value) =>\n this.inputHandler(name, value, index)\n }\n type=\"month\"\n disabled={this.isEditing}\n />\n </div>\n <div class=\"col-12 col-md-4\">\n <form-control-datepart\n name=\"dob_year\"\n label=\"Date of Birth - Year\"\n defaultValue={ownersDefaultValue[index]?.dob_year}\n error={this.errors[index]?.dob_year}\n inputHandler={(name, value) =>\n this.inputHandler(name, value, index)\n }\n type=\"year\"\n disabled={this.isEditing}\n />\n </div>\n </div>\n\n <div class=\"mb-3\">\n <form-control-number\n name=\"identification_number\"\n label=\"Identification Number\"\n defaultValue={\n ownersDefaultValue[index]?.identification_number\n }\n error={this.errors[index]?.identification_number}\n inputHandler={(name, value) =>\n this.inputHandler(name, value, index)\n }\n disabled={this.isEditing}\n />\n </div>\n\n <div class=\"grid gap-3\">\n <legend class=\"mb-3\">Owner Address:</legend>\n\n <div class=\"row mb-3\">\n <div class=\"col-12 col-md-6\">\n <form-control-text\n name=\"line1\"\n label=\"Street Address\"\n defaultValue={\n ownersDefaultValue[index]?.address?.line1\n }\n error={this.errors[index]?.address?.line1}\n inputHandler={(name, value) =>\n this.addressInputHandler(name, value, index)\n }\n disabled={this.isEditing}\n />\n </div>\n <div class=\"col-12 col-md-6\">\n <form-control-text\n name=\"city\"\n label=\"City\"\n defaultValue={\n ownersDefaultValue[index]?.address?.city\n }\n error={this.errors[index]?.address?.city}\n inputHandler={(name, value) =>\n this.addressInputHandler(name, value, index)\n }\n disabled={this.isEditing}\n />\n </div>\n </div>\n\n <div class=\"row mb-3\">\n <div class=\"col-12 col-md-6\">\n <form-control-text\n name=\"state\"\n label=\"State\"\n defaultValue={\n ownersDefaultValue[index]?.address?.state\n }\n error={this.errors[index]?.address?.state}\n inputHandler={(name, value) =>\n this.addressInputHandler(name, value, index)\n }\n disabled={this.isEditing}\n />\n </div>\n <div class=\"col-12 col-md-6\">\n <form-control-number\n name=\"postal_code\"\n label=\"Postal Code\"\n defaultValue={\n ownersDefaultValue[index]?.address?.postal_code\n }\n error={this.errors[index]?.address?.postal_code}\n inputHandler={(name, value) =>\n this.addressInputHandler(name, value, index)\n }\n disabled={this.isEditing}\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"btn btn-danger\"\n onClick={event => this.removeOwner(event, index)}\n >\n - Remove owner\n </button>\n </div>\n </div>\n );\n })}\n <div class=\"row gy-3\">\n <div class=\"col-12\">\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n onClick={event => this.addOwner(event)}\n >\n + Add an owner\n </button>\n </div>\n </div>\n </fieldset>\n </Host>\n );\n }\n}\n"]}
@@ -1,27 +1,29 @@
1
1
  import { Host, h } from "@stencil/core";
2
+ import { PHONE_MASKS } from "../../../utils/phone-masks";
2
3
  export class BusinessRepresentative {
3
4
  constructor() {
4
5
  this.formController = undefined;
5
6
  this.errors = {};
6
- this.defaultValues = {};
7
7
  this.representative = {};
8
- }
9
- handleRepresentativeChange(newValue) {
10
- this.formController.setValues({ representative: newValue });
8
+ this.inputHandler = this.inputHandler.bind(this);
9
+ this.onAddressFormUpdate = this.onAddressFormUpdate.bind(this);
11
10
  }
12
11
  componentDidLoad() {
13
- this.formController.errors.subscribe((errors) => this.errors = Object.assign({}, errors.representative));
14
- this.formController.defaultValues.subscribe((defaultValues) => this.defaultValues = Object.assign({}, defaultValues.representative));
12
+ this.formController.errors.subscribe(errors => (this.errors = Object.assign({}, errors.representative)));
13
+ this.formController.values.subscribe(values => (this.representative = Object.assign({}, values.representative)));
15
14
  }
16
15
  inputHandler(name, value) {
17
- this.representative = Object.assign(Object.assign({}, this.representative), { [name]: value });
16
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { representative: Object.assign(Object.assign({}, this.formController.values.getValue().representative), { [name]: value }) }));
18
17
  }
19
- ;
20
18
  onAddressFormUpdate(values) {
21
- this.representative = Object.assign(Object.assign({}, this.representative), { address: values });
19
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { representative: Object.assign(Object.assign({}, this.formController.values.getValue().representative), { address: Object.assign(Object.assign({}, this.formController.values.getValue().representative.address), values) }) }));
22
20
  }
23
21
  render() {
24
- return (h(Host, { exportparts: "label,input,input-invalid" }, h("fieldset", null, h("legend", null, "Representative"), h("div", { class: "row gx-2 gy-2" }, h("div", { class: "col-8" }, h("form-control-text", { name: "name", label: "Full Name", defaultValue: this.defaultValues.name, error: this.errors.name, inputHandler: (name, value) => this.inputHandler(name, value) })), h("div", { class: "col-4" }, h("form-control-select", { name: "title", label: "Prefix", defaultValue: this.defaultValues.title, options: [{ label: 'Select Prefix', value: '' }, { label: 'Mrs.', value: 'Mrs.' }], error: this.errors.title, inputHandler: (name, value) => this.inputHandler(name, value) })), h("div", { class: "col-12" }, h("form-control-text", { name: "email", label: "Email Address", defaultValue: this.defaultValues.email, error: this.errors.email, inputHandler: (name, value) => this.inputHandler(name, value) })), h("div", { class: "col-12" }, h("form-control-text", { name: "phone", label: "Phone Number", defaultValue: this.defaultValues.phone, error: this.errors.phone, inputHandler: (name, value) => this.inputHandler(name, value) })), h("div", { class: "col-12" }, h("label", { part: "label", class: "form-label" }, "Birth Date")), h("div", { class: "col-4" }, h("form-control-text", { name: "dob_day", label: "Day", defaultValue: this.defaultValues.dob_day, error: this.errors.dob_day, inputHandler: (name, value) => this.inputHandler(name, value) })), h("div", { class: "col-4" }, h("form-control-text", { name: "dob_month", label: "Month", defaultValue: this.defaultValues.dob_month, error: this.errors.dob_month, inputHandler: (name, value) => this.inputHandler(name, value) })), h("div", { class: "col-4" }, h("form-control-text", { name: "dob_year", label: "Year", defaultValue: this.defaultValues.dob_year, error: this.errors.dob_year, inputHandler: (name, value) => this.inputHandler(name, value) })), h("div", { class: "col-12" }, h("form-control-text", { name: "identification_number", label: "EIN/SSN", defaultValue: this.defaultValues.identification_number, error: this.errors.identification_number, inputHandler: (name, value) => this.inputHandler(name, value) })), h("div", { class: "col-12" }, h("justifi-business-address-form", { errors: this.errors.address, defaultValues: this.defaultValues.address, onFormUpdate: (values) => this.onAddressFormUpdate(values) }))))));
22
+ const representativeDefaultValue = this.formController.getInitialValues().representative;
23
+ return (h(Host, { exportparts: "label,input,input-invalid" }, h("fieldset", null, h("legend", null, "Representative"), h("div", { class: "row gy-3" }, h("div", { class: "col-12 col-md-8" }, h("form-control-text", { name: "name", label: "Full Name", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.name, error: this.errors.name, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-4" }, h("form-control-select", { name: "title", label: "Prefix", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.title, options: [
24
+ { label: 'Select Prefix', value: '' },
25
+ { label: 'Mrs.', value: 'Mrs.' },
26
+ ], error: this.errors.title, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "email", label: "Email Address", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.email, error: this.errors.email, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-6" }, h("form-control-number-masked", { name: "phone", label: "Phone Number", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.phone, error: this.errors.phone, inputHandler: this.inputHandler, mask: PHONE_MASKS.US })), h("div", { class: "col-12" }, h("label", { part: "label", class: "form-label" }, "Birth Date")), h("div", { class: "col-12 col-md-4" }, h("form-control-datepart", { name: "dob_day", label: "Day", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.dob_day, error: this.errors.dob_day, inputHandler: this.inputHandler, type: "day" })), h("div", { class: "col-12 col-md-4" }, h("form-control-datepart", { name: "dob_month", label: "Month", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.dob_month, error: this.errors.dob_month, inputHandler: this.inputHandler, type: "month" })), h("div", { class: "col-12 col-md-4" }, h("form-control-datepart", { name: "dob_year", label: "Year", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.dob_year, error: this.errors.dob_year, inputHandler: this.inputHandler, type: "year" })), h("div", { class: "col-12" }, h("form-control-number", { name: "identification_number", label: "EIN/SSN", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.identification_number, error: this.errors.identification_number, inputHandler: this.inputHandler })), h("div", { class: "col-12" }, h("justifi-business-address-form", { errors: this.errors.address, defaultValues: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.address, onFormUpdate: values => this.onAddressFormUpdate(values) }))))));
25
27
  }
26
28
  static get is() { return "justifi-business-representative"; }
27
29
  static get originalStyleUrls() {
@@ -62,15 +64,8 @@ export class BusinessRepresentative {
62
64
  static get states() {
63
65
  return {
64
66
  "errors": {},
65
- "defaultValues": {},
66
67
  "representative": {}
67
68
  };
68
69
  }
69
- static get watchers() {
70
- return [{
71
- "propName": "representative",
72
- "methodName": "handleRepresentativeChange"
73
- }];
74
- }
75
70
  }
76
71
  //# sourceMappingURL=business-representative.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"business-representative.js","sourceRoot":"","sources":["../../../../../src/components/business-form/business-representative/business-representative.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Watch } from '@stencil/core';\nimport { FormController } from '../../form/form';\n\n@Component({\n tag: 'justifi-business-representative',\n styleUrl: 'business-representative.scss',\n shadow: false,\n})\nexport class BusinessRepresentative {\n @Prop() formController: FormController\n @State() errors: any = {};\n @State() defaultValues: any = {};\n @State() representative: any = {};\n\n @Watch('representative')\n handleRepresentativeChange(newValue: any) {\n this.formController.setValues({ representative: newValue });\n }\n\n componentDidLoad() {\n this.formController.errors.subscribe((errors) => this.errors = { ...errors.representative });\n this.formController.defaultValues.subscribe((defaultValues) => this.defaultValues = { ...defaultValues.representative });\n }\n\n inputHandler(name: string, value: string) {\n this.representative = { ...this.representative, [name]: value };\n };\n\n onAddressFormUpdate(values: any): void {\n this.representative = { ...this.representative, address: values };\n }\n\n render() {\n return (\n <Host exportparts=\"label,input,input-invalid\">\n <fieldset>\n <legend>Representative</legend>\n <div class=\"row gx-2 gy-2\">\n <div class=\"col-8\">\n <form-control-text\n name=\"name\"\n label=\"Full Name\"\n defaultValue={this.defaultValues.name}\n error={this.errors.name}\n inputHandler={(name, value) => this.inputHandler(name, value)} />\n </div>\n\n <div class=\"col-4\">\n <form-control-select\n name=\"title\"\n label=\"Prefix\"\n defaultValue={this.defaultValues.title}\n options={[{ label: 'Select Prefix', value: '' }, { label: 'Mrs.', value: 'Mrs.' }]}\n error={this.errors.title}\n inputHandler={(name, value) => this.inputHandler(name, value)} />\n </div>\n\n <div class=\"col-12\">\n <form-control-text\n name=\"email\"\n label=\"Email Address\"\n defaultValue={this.defaultValues.email}\n error={this.errors.email}\n inputHandler={(name, value) => this.inputHandler(name, value)} />\n </div>\n\n <div class=\"col-12\">\n <form-control-text\n name=\"phone\"\n label=\"Phone Number\"\n defaultValue={this.defaultValues.phone}\n error={this.errors.phone}\n inputHandler={(name, value) => this.inputHandler(name, value)} />\n </div>\n\n <div class=\"col-12\">\n <label part=\"label\" class=\"form-label\">Birth Date</label>\n </div>\n\n <div class=\"col-4\">\n <form-control-text\n name=\"dob_day\"\n label=\"Day\"\n defaultValue={this.defaultValues.dob_day}\n error={this.errors.dob_day}\n inputHandler={(name, value) => this.inputHandler(name, value)} />\n </div>\n\n <div class=\"col-4\">\n <form-control-text\n name=\"dob_month\"\n label=\"Month\"\n defaultValue={this.defaultValues.dob_month}\n error={this.errors.dob_month}\n inputHandler={(name, value) => this.inputHandler(name, value)} />\n </div>\n\n <div class=\"col-4\">\n <form-control-text\n name=\"dob_year\"\n label=\"Year\"\n defaultValue={this.defaultValues.dob_year}\n error={this.errors.dob_year}\n inputHandler={(name, value) => this.inputHandler(name, value)} />\n </div>\n\n <div class=\"col-12\">\n <form-control-text\n name=\"identification_number\"\n label=\"EIN/SSN\"\n defaultValue={this.defaultValues.identification_number}\n error={this.errors.identification_number}\n inputHandler={(name, value) => this.inputHandler(name, value)} />\n </div>\n\n <div class=\"col-12\">\n <justifi-business-address-form\n errors={this.errors.address}\n defaultValues={this.defaultValues.address}\n onFormUpdate={(values) => this.onAddressFormUpdate(values)} />\n </div>\n </div>\n </fieldset>\n </Host >\n );\n }\n\n}\n"]}
1
+ {"version":3,"file":"business-representative.js","sourceRoot":"","sources":["../../../../../src/components/business-form/business-representative/business-representative.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State } from '@stencil/core';\nimport { FormController } from '../../form/form';\nimport { PHONE_MASKS } from '../../../utils/phone-masks';\n\n@Component({\n tag: 'justifi-business-representative',\n styleUrl: 'business-representative.scss',\n})\nexport class BusinessRepresentative {\n @Prop() formController: FormController;\n @State() errors: any = {};\n @State() representative: any = {};\n\n constructor() {\n this.inputHandler = this.inputHandler.bind(this);\n this.onAddressFormUpdate = this.onAddressFormUpdate.bind(this);\n }\n\n componentDidLoad() {\n this.formController.errors.subscribe(\n errors => (this.errors = { ...errors.representative }),\n );\n this.formController.values.subscribe(\n values => (this.representative = { ...values.representative }),\n );\n }\n\n inputHandler(name: string, value: string) {\n this.formController.setValues({\n ...this.formController.values.getValue(),\n representative: {\n ...this.formController.values.getValue().representative,\n [name]: value,\n },\n });\n }\n\n onAddressFormUpdate(values: any): void {\n this.formController.setValues({\n ...this.formController.values.getValue(),\n representative: {\n ...this.formController.values.getValue().representative,\n address: {\n ...this.formController.values.getValue().representative.address,\n ...values,\n },\n },\n });\n }\n\n render() {\n const representativeDefaultValue =\n this.formController.getInitialValues().representative;\n\n return (\n <Host exportparts=\"label,input,input-invalid\">\n <fieldset>\n <legend>Representative</legend>\n <div class=\"row gy-3\">\n <div class=\"col-12 col-md-8\">\n <form-control-text\n name=\"name\"\n label=\"Full Name\"\n defaultValue={representativeDefaultValue?.name}\n error={this.errors.name}\n inputHandler={this.inputHandler}\n />\n </div>\n\n <div class=\"col-12 col-md-4\">\n <form-control-select\n name=\"title\"\n label=\"Prefix\"\n defaultValue={representativeDefaultValue?.title}\n options={[\n { label: 'Select Prefix', value: '' },\n { label: 'Mrs.', value: 'Mrs.' },\n ]}\n error={this.errors.title}\n inputHandler={this.inputHandler}\n />\n </div>\n\n <div class=\"col-12 col-md-6\">\n <form-control-text\n name=\"email\"\n label=\"Email Address\"\n defaultValue={representativeDefaultValue?.email}\n error={this.errors.email}\n inputHandler={this.inputHandler}\n />\n </div>\n\n <div class=\"col-12 col-md-6\">\n <form-control-number-masked\n name=\"phone\"\n label=\"Phone Number\"\n defaultValue={representativeDefaultValue?.phone}\n error={this.errors.phone}\n inputHandler={this.inputHandler}\n mask={PHONE_MASKS.US}\n />\n </div>\n\n <div class=\"col-12\">\n <label part=\"label\" class=\"form-label\">\n Birth Date\n </label>\n </div>\n\n <div class=\"col-12 col-md-4\">\n <form-control-datepart\n name=\"dob_day\"\n label=\"Day\"\n defaultValue={representativeDefaultValue?.dob_day}\n error={this.errors.dob_day}\n inputHandler={this.inputHandler}\n type=\"day\"\n />\n </div>\n\n <div class=\"col-12 col-md-4\">\n <form-control-datepart\n name=\"dob_month\"\n label=\"Month\"\n defaultValue={representativeDefaultValue?.dob_month}\n error={this.errors.dob_month}\n inputHandler={this.inputHandler}\n type=\"month\"\n />\n </div>\n\n <div class=\"col-12 col-md-4\">\n <form-control-datepart\n name=\"dob_year\"\n label=\"Year\"\n defaultValue={representativeDefaultValue?.dob_year}\n error={this.errors.dob_year}\n inputHandler={this.inputHandler}\n type=\"year\"\n />\n </div>\n\n <div class=\"col-12\">\n <form-control-number\n name=\"identification_number\"\n label=\"EIN/SSN\"\n defaultValue={representativeDefaultValue?.identification_number}\n error={this.errors.identification_number}\n inputHandler={this.inputHandler}\n />\n </div>\n\n <div class=\"col-12\">\n <justifi-business-address-form\n errors={this.errors.address}\n defaultValues={representativeDefaultValue?.address}\n onFormUpdate={values => this.onAddressFormUpdate(values)}\n />\n </div>\n </div>\n </fieldset>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,44 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ import { BusinessForm } from "../business-form";
3
+ describe('justifi-business-form', () => {
4
+ let consoleSpy;
5
+ // Initialize the spy in the beforeEach
6
+ beforeEach(() => {
7
+ consoleSpy = jest.spyOn(console, 'warn').mockImplementation(() => { });
8
+ });
9
+ // Restore the original function in the afterEach
10
+ afterEach(() => {
11
+ consoleSpy.mockRestore();
12
+ });
13
+ it('should log a warning if no authToken is provided', async () => {
14
+ await newSpecPage({
15
+ components: [BusinessForm],
16
+ html: `<justifi-business-form></justifi-business-form>`,
17
+ });
18
+ expect(consoleSpy).toHaveBeenCalledWith('Warning: Missing auth-token. The form will not be functional without it.');
19
+ });
20
+ it('should disable the submit button if no authToken is provided', async () => {
21
+ const { root } = await newSpecPage({
22
+ components: [BusinessForm],
23
+ html: `<justifi-business-form></justifi-business-form>`,
24
+ });
25
+ const submitButton = root.querySelector('.jfi-submit-button');
26
+ expect(submitButton).toHaveAttribute('disabled');
27
+ });
28
+ it('should not disable the submit button if an authToken is provided', async () => {
29
+ const { root } = await newSpecPage({
30
+ components: [BusinessForm],
31
+ html: `<justifi-business-form auth-token="auth-token"></justifi-business-form>`,
32
+ });
33
+ const submitButton = root.querySelector('.jfi-submit-button');
34
+ expect(submitButton).not.toHaveAttribute('disabled');
35
+ });
36
+ it('should not log a warning if an authToken is provided', async () => {
37
+ await newSpecPage({
38
+ components: [BusinessForm],
39
+ html: `<justifi-business-form auth-token="some-token"></justifi-business-form>`,
40
+ });
41
+ expect(consoleSpy).not.toHaveBeenCalled();
42
+ });
43
+ });
44
+ //# sourceMappingURL=business-form.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business-form.spec.js","sourceRoot":"","sources":["../../../../../src/components/business-form/test/business-form.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;EACrC,IAAI,UAAU,CAAC;EAEf,uCAAuC;EACvC,UAAU,CAAC,GAAG,EAAE;IACd,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;EACxE,CAAC,CAAC,CAAC;EAEH,iDAAiD;EACjD,SAAS,CAAC,GAAG,EAAE;IACb,UAAU,CAAC,WAAW,EAAE,CAAC;EAC3B,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;IAChE,MAAM,WAAW,CAAC;MAChB,UAAU,EAAE,CAAC,YAAY,CAAC;MAC1B,IAAI,EAAE,iDAAiD;KACxD,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,0EAA0E,CAAC,CAAC;EACtH,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;IAC5E,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC;MACjC,UAAU,EAAE,CAAC,YAAY,CAAC;MAC1B,IAAI,EAAE,iDAAiD;KACxD,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC9D,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;EACnD,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;IAChF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC;MACjC,UAAU,EAAE,CAAC,YAAY,CAAC;MAC1B,IAAI,EAAE,yEAAyE;KAChF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC9D,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;EACvD,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;IACpE,MAAM,WAAW,CAAC;MAChB,UAAU,EAAE,CAAC,YAAY,CAAC;MAC1B,IAAI,EAAE,yEAAyE;KAChF,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;EAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { BusinessForm } from '../business-form';\n\ndescribe('justifi-business-form', () => {\n let consoleSpy;\n\n // Initialize the spy in the beforeEach\n beforeEach(() => {\n consoleSpy = jest.spyOn(console, 'warn').mockImplementation(() => {});\n });\n\n // Restore the original function in the afterEach\n afterEach(() => {\n consoleSpy.mockRestore();\n });\n\n it('should log a warning if no authToken is provided', async () => {\n await newSpecPage({\n components: [BusinessForm],\n html: `<justifi-business-form></justifi-business-form>`,\n });\n\n expect(consoleSpy).toHaveBeenCalledWith('Warning: Missing auth-token. The form will not be functional without it.');\n });\n\n it('should disable the submit button if no authToken is provided', async () => {\n const { root } = await newSpecPage({\n components: [BusinessForm],\n html: `<justifi-business-form></justifi-business-form>`,\n });\n\n const submitButton = root.querySelector('.jfi-submit-button');\n expect(submitButton).toHaveAttribute('disabled');\n });\n\n it('should not disable the submit button if an authToken is provided', async () => {\n const { root } = await newSpecPage({\n components: [BusinessForm],\n html: `<justifi-business-form auth-token=\"auth-token\"></justifi-business-form>`,\n });\n\n const submitButton = root.querySelector('.jfi-submit-button');\n expect(submitButton).not.toHaveAttribute('disabled');\n });\n\n it('should not log a warning if an authToken is provided', async () => {\n await newSpecPage({\n components: [BusinessForm],\n html: `<justifi-business-form auth-token=\"some-token\"></justifi-business-form>`,\n });\n\n expect(consoleSpy).not.toHaveBeenCalled();\n });\n});\n"]}