@justifi/webcomponents 4.14.0 → 4.15.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 (217) hide show
  1. package/dist/cjs/{Payment-eceed10f.js → Payment-24f22eca.js} +2 -1
  2. package/dist/cjs/{SubAccount-b3902202.js → SubAccount-f1eda5da.js} +1 -1
  3. package/dist/cjs/additional-questions-details_5.cjs.entry.js +1 -1
  4. package/dist/cjs/business-additional-questions-schema-e7dd7bc3.js +57 -0
  5. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +1 -1
  6. package/dist/cjs/{index.esm-d25bd7bf.js → index.esm-a32e1831.js} +727 -0
  7. package/dist/cjs/justifi-additional-questions-form-step_5.cjs.entry.js +14 -11
  8. package/dist/cjs/justifi-additional-questions_4.cjs.entry.js +4 -1
  9. package/dist/cjs/justifi-billing-form_2.cjs.entry.js +1796 -0
  10. package/dist/cjs/justifi-business-form.cjs.entry.js +6 -6
  11. package/dist/cjs/justifi-business-list.cjs.entry.js +2 -2
  12. package/dist/cjs/justifi-checkout-core.cjs.entry.js +7 -3
  13. package/dist/cjs/justifi-checkout.cjs.entry.js +6 -2
  14. package/dist/cjs/justifi-new-payment-method_4.cjs.entry.js +13 -11
  15. package/dist/cjs/justifi-owner-form.cjs.entry.js +10 -6
  16. package/dist/cjs/justifi-payment-balance-transactions.cjs.entry.js +2 -2
  17. package/dist/cjs/justifi-payment-details.cjs.entry.js +2 -2
  18. package/dist/cjs/justifi-payment-form.cjs.entry.js +3 -3
  19. package/dist/cjs/justifi-payment-method-selector.cjs.entry.js +1 -1
  20. package/dist/cjs/justifi-payments-list.cjs.entry.js +2 -2
  21. package/dist/cjs/justifi-payout-details.cjs.entry.js +2 -2
  22. package/dist/cjs/justifi-payouts-list.cjs.entry.js +2 -2
  23. package/dist/cjs/justifi-proceeds-list.cjs.entry.js +2 -2
  24. package/dist/cjs/justifi-refund-form.cjs.entry.js +3 -4
  25. package/dist/cjs/justifi-subaccount-details.cjs.entry.js +3 -3
  26. package/dist/cjs/justifi-subaccounts-list.cjs.entry.js +3 -3
  27. package/dist/cjs/loader.cjs.js +1 -1
  28. package/dist/cjs/payload-parsers-c2df4b29.js +95 -0
  29. package/dist/cjs/payment-details-core.cjs.entry.js +1 -1
  30. package/dist/cjs/{payment.service-019157e9.js → payment.service-35298e95.js} +1 -1
  31. package/dist/cjs/payments-list-core.cjs.entry.js +2 -2
  32. package/dist/cjs/payout-details-core.cjs.entry.js +1 -1
  33. package/dist/cjs/{payout.service-7203762f.js → payout.service-eec372aa.js} +1 -1
  34. package/dist/cjs/payouts-list-core.cjs.entry.js +2 -2
  35. package/dist/cjs/{payload-parsers-6c4b5323.js → schema-validations-3c70335c.js} +15 -89
  36. package/dist/cjs/select-input.cjs.entry.js +31 -0
  37. package/dist/cjs/subaccount-account-details_4.cjs.entry.js +1 -1
  38. package/dist/cjs/text-input.cjs.entry.js +30 -0
  39. package/dist/cjs/{utils-6f62f7a1.js → utils-e58fe016.js} +0 -2
  40. package/dist/cjs/webcomponents.cjs.js +1 -1
  41. package/dist/collection/api/Payment.js +2 -1
  42. package/dist/collection/collection-manifest.json +1 -1
  43. package/dist/collection/components/billing-form/billing-form-schema.js +8 -8
  44. package/dist/collection/components/billing-form/billing-form.js +49 -89
  45. package/dist/collection/components/billing-form/test/billing-form.spec.js +2 -1
  46. package/dist/collection/components/business-forms/business-form/business-representative/business-representative.js +4 -1
  47. package/dist/collection/components/business-forms/owner-form/owner-form.js +5 -1
  48. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.js +4 -1
  49. package/dist/collection/components/business-forms/schemas/business-identity-schema.js +4 -2
  50. package/dist/collection/components/business-forms/schemas/schema-validations.js +5 -0
  51. package/dist/collection/components/checkout/checkout-core.js +74 -2
  52. package/dist/collection/components/checkout/checkout.js +73 -1
  53. package/dist/collection/components/checkout/payment-method-options.css +6 -6
  54. package/dist/collection/components/checkout/payment-method-options.js +42 -6
  55. package/dist/collection/components/checkout/{sezzel-payment-method.js → sezzle-payment-method.js} +2 -2
  56. package/dist/collection/components/checkout/test/checkout-core.spec.js +1 -1
  57. package/dist/collection/components/payment-form/payment-form.js +2 -3
  58. package/dist/collection/components/payment-form/payment-method-selector.js +1 -1
  59. package/dist/collection/components/payment-form/test/payment-form.spec.js +1 -1
  60. package/dist/collection/components/payment-method-form/payment-method-form.js +1 -1
  61. package/dist/docs.json +265 -80
  62. package/dist/esm/{Payment-ef9fc1ae.js → Payment-3e94da9c.js} +2 -1
  63. package/dist/esm/{SubAccount-f4ae9809.js → SubAccount-80d46814.js} +1 -1
  64. package/dist/esm/additional-questions-details_5.entry.js +1 -1
  65. package/dist/esm/{business-additional-questions-schema-e96b0509.js → business-additional-questions-schema-1fdc5c40.js} +2 -2
  66. package/dist/esm/gross-payment-chart-core.entry.js +1 -1
  67. package/dist/esm/{index.esm-22b47398.js → index.esm-d98bc080.js} +727 -1
  68. package/dist/esm/justifi-additional-questions-form-step_5.entry.js +10 -7
  69. package/dist/esm/justifi-additional-questions_4.entry.js +4 -1
  70. package/dist/esm/justifi-billing-form_2.entry.js +1791 -0
  71. package/dist/esm/justifi-business-form.entry.js +5 -5
  72. package/dist/esm/justifi-business-list.entry.js +2 -2
  73. package/dist/esm/justifi-checkout-core.entry.js +7 -3
  74. package/dist/esm/justifi-checkout.entry.js +6 -2
  75. package/dist/esm/justifi-new-payment-method_4.entry.js +13 -11
  76. package/dist/esm/justifi-owner-form.entry.js +9 -5
  77. package/dist/esm/justifi-payment-balance-transactions.entry.js +2 -2
  78. package/dist/esm/justifi-payment-details.entry.js +2 -2
  79. package/dist/esm/justifi-payment-form.entry.js +3 -3
  80. package/dist/esm/justifi-payment-method-selector.entry.js +1 -1
  81. package/dist/esm/justifi-payments-list.entry.js +2 -2
  82. package/dist/esm/justifi-payout-details.entry.js +2 -2
  83. package/dist/esm/justifi-payouts-list.entry.js +2 -2
  84. package/dist/esm/justifi-proceeds-list.entry.js +2 -2
  85. package/dist/esm/justifi-refund-form.entry.js +2 -3
  86. package/dist/esm/justifi-subaccount-details.entry.js +3 -3
  87. package/dist/esm/justifi-subaccounts-list.entry.js +3 -3
  88. package/dist/esm/loader.js +1 -1
  89. package/dist/esm/payload-parsers-fd35eeca.js +88 -0
  90. package/dist/esm/payment-details-core.entry.js +1 -1
  91. package/dist/esm/{payment.service-03e274d7.js → payment.service-c62d82d3.js} +1 -1
  92. package/dist/esm/payments-list-core.entry.js +2 -2
  93. package/dist/esm/payout-details-core.entry.js +1 -1
  94. package/dist/esm/{payout.service-9823d66d.js → payout.service-28b9594f.js} +1 -1
  95. package/dist/esm/payouts-list-core.entry.js +2 -2
  96. package/dist/esm/{payload-parsers-32028700.js → schema-validations-31feaa53.js} +7 -84
  97. package/dist/{module/select-input2.js → esm/select-input.entry.js} +7 -30
  98. package/dist/esm/subaccount-account-details_4.entry.js +1 -1
  99. package/dist/{module/text-input2.js → esm/text-input.entry.js} +7 -29
  100. package/dist/esm/{utils-243abdb4.js → utils-37533368.js} +1 -2
  101. package/dist/esm/webcomponents.js +1 -1
  102. package/dist/module/Payment.js +2 -1
  103. package/dist/module/billing-form.js +41 -62
  104. package/dist/module/business-additional-questions-form-step.js +1 -1
  105. package/dist/module/business-additional-questions-schema.js +1 -1
  106. package/dist/module/business-address-schema.js +1 -1
  107. package/dist/module/business-core-info-form-step.js +1 -1
  108. package/dist/module/business-core-info-schema.js +1 -1
  109. package/dist/module/business-form-types.js +1 -154
  110. package/dist/module/business-identity-schema.js +5 -3
  111. package/dist/module/business-representative-form-step.js +5 -2
  112. package/dist/module/business-representative.js +4 -1
  113. package/dist/module/checkout-core.js +27 -19
  114. package/dist/module/identity-address-form.js +1 -1
  115. package/dist/module/index.esm.js +727 -1
  116. package/dist/module/justifi-business-details.js +1 -1
  117. package/dist/module/justifi-business-form.js +3 -4
  118. package/dist/module/justifi-checkout.js +29 -21
  119. package/dist/module/justifi-gross-payment-chart.js +1 -1
  120. package/dist/module/justifi-payment-details.js +1 -1
  121. package/dist/module/justifi-payment-form.js +13 -13
  122. package/dist/module/justifi-payment-provisioning.js +2 -2
  123. package/dist/module/justifi-payments-list.js +1 -1
  124. package/dist/module/justifi-payout-details.js +1 -1
  125. package/dist/module/justifi-payouts-list.js +1 -1
  126. package/dist/module/justifi-refund-form.js +1 -2
  127. package/dist/module/justifi-sezzle-payment-method.d.ts +11 -0
  128. package/dist/module/justifi-sezzle-payment-method.js +6 -0
  129. package/dist/module/legal-address-form-step.js +2 -2
  130. package/dist/module/legal-address-form.js +1 -1
  131. package/dist/module/new-payment-method.js +9 -9
  132. package/dist/module/owner-form.js +8 -4
  133. package/dist/module/payment-method-form.js +1 -1
  134. package/dist/module/payment-method-options.js +26 -22
  135. package/dist/module/schema-validations.js +159 -0
  136. package/dist/module/select-input.js +48 -1
  137. package/dist/module/{sezzel-payment-method.js → sezzle-payment-method.js} +6 -6
  138. package/dist/module/text-input.js +46 -1
  139. package/dist/module/utils2.js +1 -2
  140. package/dist/module/utils3.js +12 -21
  141. package/dist/module/utils4.js +21 -12
  142. package/dist/types/api/Payment.d.ts +2 -1
  143. package/dist/types/components/billing-form/billing-form.d.ts +8 -15
  144. package/dist/types/components/business-forms/business-form/business-representative/business-representative.d.ts +1 -0
  145. package/dist/types/components/business-forms/owner-form/owner-form.d.ts +1 -0
  146. package/dist/types/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.d.ts +1 -0
  147. package/dist/types/components/business-forms/schemas/business-form-schema.d.ts +3 -1
  148. package/dist/types/components/business-forms/schemas/business-identity-schema.d.ts +2 -0
  149. package/dist/types/components/checkout/checkout-core.d.ts +4 -0
  150. package/dist/types/components/checkout/checkout.d.ts +4 -0
  151. package/dist/types/components/checkout/payment-method-options.d.ts +2 -0
  152. package/dist/types/components/checkout/{sezzel-payment-method.d.ts → sezzle-payment-method.d.ts} +1 -1
  153. package/dist/types/components.d.ts +35 -28
  154. package/dist/webcomponents/{p-96a86f04.entry.js → p-0603a526.entry.js} +1 -1
  155. package/dist/webcomponents/{p-3917edbf.entry.js → p-09a6df17.entry.js} +1 -1
  156. package/dist/webcomponents/{p-7da249b8.entry.js → p-1367c4c7.entry.js} +1 -1
  157. package/dist/webcomponents/{p-a6f170ba.entry.js → p-1f23c9d5.entry.js} +1 -1
  158. package/dist/webcomponents/p-21f301a0.entry.js +1 -0
  159. package/dist/webcomponents/p-243caf7c.entry.js +1 -0
  160. package/dist/webcomponents/{p-c6e207f6.entry.js → p-27ea1f3f.entry.js} +1 -1
  161. package/dist/webcomponents/{p-28b38699.js → p-3cd675e7.js} +1 -1
  162. package/dist/webcomponents/{p-c48a99b9.entry.js → p-55d37253.entry.js} +1 -1
  163. package/dist/webcomponents/{p-0b8c1ffc.entry.js → p-60ea8fd1.entry.js} +1 -1
  164. package/dist/webcomponents/p-624ed594.entry.js +1 -0
  165. package/dist/webcomponents/{p-598bb67c.entry.js → p-62bbcdfb.entry.js} +1 -1
  166. package/dist/webcomponents/p-76e74f01.js +1 -0
  167. package/dist/webcomponents/p-7ca334d6.entry.js +1 -0
  168. package/dist/webcomponents/p-7d6c67bb.js +1 -0
  169. package/dist/webcomponents/{p-5dac370e.entry.js → p-7ea5b11c.entry.js} +1 -1
  170. package/dist/webcomponents/p-83ae34bf.js +1 -0
  171. package/dist/webcomponents/p-84aea66c.entry.js +1 -0
  172. package/dist/webcomponents/{p-4824018b.entry.js → p-8960e936.entry.js} +1 -1
  173. package/dist/webcomponents/{p-28181471.entry.js → p-8d53f1de.entry.js} +1 -1
  174. package/dist/webcomponents/p-969572f2.entry.js +1 -0
  175. package/dist/webcomponents/{p-fce2b224.entry.js → p-9a36fca6.entry.js} +1 -1
  176. package/dist/webcomponents/p-a38fdda7.entry.js +1 -0
  177. package/dist/webcomponents/{p-1334f776.entry.js → p-adc9ae0f.entry.js} +1 -1
  178. package/dist/webcomponents/p-b53d7b7f.js +1 -0
  179. package/dist/webcomponents/p-b8d70349.entry.js +1 -0
  180. package/dist/webcomponents/p-b9db1c52.entry.js +1 -0
  181. package/dist/webcomponents/{p-edb66ae0.js → p-ca39c89f.js} +1 -1
  182. package/dist/webcomponents/{p-02993072.entry.js → p-d6b980a3.entry.js} +1 -1
  183. package/dist/webcomponents/p-dd609661.js +1 -0
  184. package/dist/webcomponents/{p-7c5f15f8.entry.js → p-de4ffaa1.entry.js} +1 -1
  185. package/dist/webcomponents/{p-9f529959.entry.js → p-e1a3a670.entry.js} +1 -1
  186. package/dist/webcomponents/{p-d2fcc58b.entry.js → p-e4be71ee.entry.js} +1 -1
  187. package/dist/webcomponents/p-e8706cc4.js +1 -0
  188. package/dist/webcomponents/{p-65510838.js → p-f4dec164.js} +1 -1
  189. package/dist/webcomponents/p-f942f90b.entry.js +1 -0
  190. package/dist/webcomponents/p-fea93cb9.entry.js +1 -0
  191. package/dist/webcomponents/{p-f76283a5.entry.js → p-fee64d38.entry.js} +1 -1
  192. package/dist/webcomponents/webcomponents.css +1 -1
  193. package/dist/webcomponents/webcomponents.esm.js +1 -1
  194. package/package.json +1 -1
  195. package/dist/cjs/business-additional-questions-schema-0a35f597.js +0 -57
  196. package/dist/cjs/form-2ad3d374.js +0 -729
  197. package/dist/cjs/justifi-billing-form_4.cjs.entry.js +0 -1864
  198. package/dist/esm/form-5279c05a.js +0 -727
  199. package/dist/esm/justifi-billing-form_4.entry.js +0 -1857
  200. package/dist/module/form.js +0 -727
  201. package/dist/module/justifi-sezzel-payment-method.d.ts +0 -11
  202. package/dist/module/justifi-sezzel-payment-method.js +0 -6
  203. package/dist/webcomponents/p-02fa533c.js +0 -1
  204. package/dist/webcomponents/p-132ba228.js +0 -1
  205. package/dist/webcomponents/p-230b96df.entry.js +0 -1
  206. package/dist/webcomponents/p-3d2f2937.entry.js +0 -1
  207. package/dist/webcomponents/p-3da23f21.js +0 -1
  208. package/dist/webcomponents/p-617caf03.entry.js +0 -1
  209. package/dist/webcomponents/p-64710363.entry.js +0 -1
  210. package/dist/webcomponents/p-70d43109.entry.js +0 -1
  211. package/dist/webcomponents/p-9b4b91ba.js +0 -1
  212. package/dist/webcomponents/p-ade12f56.js +0 -1
  213. package/dist/webcomponents/p-c1be3378.entry.js +0 -1
  214. package/dist/webcomponents/p-c211d068.js +0 -1
  215. package/dist/webcomponents/p-c3d5f7de.entry.js +0 -1
  216. package/dist/webcomponents/p-d57f5f01.entry.js +0 -1
  217. package/dist/webcomponents/p-f5ae07c4.entry.js +0 -1
@@ -1,727 +0,0 @@
1
- function isFunction(value) {
2
- return typeof value === 'function';
3
- }
4
-
5
- function createErrorClass(createImpl) {
6
- const _super = (instance) => {
7
- Error.call(instance);
8
- instance.stack = new Error().stack;
9
- };
10
- const ctorFunc = createImpl(_super);
11
- ctorFunc.prototype = Object.create(Error.prototype);
12
- ctorFunc.prototype.constructor = ctorFunc;
13
- return ctorFunc;
14
- }
15
-
16
- const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {
17
- _super(this);
18
- this.message = errors
19
- ? `${errors.length} errors occurred during unsubscription:
20
- ${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\n ')}`
21
- : '';
22
- this.name = 'UnsubscriptionError';
23
- this.errors = errors;
24
- });
25
-
26
- function arrRemove(arr, item) {
27
- if (arr) {
28
- const index = arr.indexOf(item);
29
- 0 <= index && arr.splice(index, 1);
30
- }
31
- }
32
-
33
- class Subscription {
34
- constructor(initialTeardown) {
35
- this.initialTeardown = initialTeardown;
36
- this.closed = false;
37
- this._parentage = null;
38
- this._finalizers = null;
39
- }
40
- unsubscribe() {
41
- let errors;
42
- if (!this.closed) {
43
- this.closed = true;
44
- const { _parentage } = this;
45
- if (_parentage) {
46
- this._parentage = null;
47
- if (Array.isArray(_parentage)) {
48
- for (const parent of _parentage) {
49
- parent.remove(this);
50
- }
51
- }
52
- else {
53
- _parentage.remove(this);
54
- }
55
- }
56
- const { initialTeardown: initialFinalizer } = this;
57
- if (isFunction(initialFinalizer)) {
58
- try {
59
- initialFinalizer();
60
- }
61
- catch (e) {
62
- errors = e instanceof UnsubscriptionError ? e.errors : [e];
63
- }
64
- }
65
- const { _finalizers } = this;
66
- if (_finalizers) {
67
- this._finalizers = null;
68
- for (const finalizer of _finalizers) {
69
- try {
70
- execFinalizer(finalizer);
71
- }
72
- catch (err) {
73
- errors = errors !== null && errors !== void 0 ? errors : [];
74
- if (err instanceof UnsubscriptionError) {
75
- errors = [...errors, ...err.errors];
76
- }
77
- else {
78
- errors.push(err);
79
- }
80
- }
81
- }
82
- }
83
- if (errors) {
84
- throw new UnsubscriptionError(errors);
85
- }
86
- }
87
- }
88
- add(teardown) {
89
- var _a;
90
- if (teardown && teardown !== this) {
91
- if (this.closed) {
92
- execFinalizer(teardown);
93
- }
94
- else {
95
- if (teardown instanceof Subscription) {
96
- if (teardown.closed || teardown._hasParent(this)) {
97
- return;
98
- }
99
- teardown._addParent(this);
100
- }
101
- (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);
102
- }
103
- }
104
- }
105
- _hasParent(parent) {
106
- const { _parentage } = this;
107
- return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));
108
- }
109
- _addParent(parent) {
110
- const { _parentage } = this;
111
- this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;
112
- }
113
- _removeParent(parent) {
114
- const { _parentage } = this;
115
- if (_parentage === parent) {
116
- this._parentage = null;
117
- }
118
- else if (Array.isArray(_parentage)) {
119
- arrRemove(_parentage, parent);
120
- }
121
- }
122
- remove(teardown) {
123
- const { _finalizers } = this;
124
- _finalizers && arrRemove(_finalizers, teardown);
125
- if (teardown instanceof Subscription) {
126
- teardown._removeParent(this);
127
- }
128
- }
129
- }
130
- Subscription.EMPTY = (() => {
131
- const empty = new Subscription();
132
- empty.closed = true;
133
- return empty;
134
- })();
135
- const EMPTY_SUBSCRIPTION = Subscription.EMPTY;
136
- function isSubscription(value) {
137
- return (value instanceof Subscription ||
138
- (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));
139
- }
140
- function execFinalizer(finalizer) {
141
- if (isFunction(finalizer)) {
142
- finalizer();
143
- }
144
- else {
145
- finalizer.unsubscribe();
146
- }
147
- }
148
-
149
- const config = {
150
- onUnhandledError: null,
151
- onStoppedNotification: null,
152
- Promise: undefined,
153
- useDeprecatedSynchronousErrorHandling: false,
154
- useDeprecatedNextContext: false,
155
- };
156
-
157
- const timeoutProvider = {
158
- setTimeout(handler, timeout, ...args) {
159
- const { delegate } = timeoutProvider;
160
- if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {
161
- return delegate.setTimeout(handler, timeout, ...args);
162
- }
163
- return setTimeout(handler, timeout, ...args);
164
- },
165
- clearTimeout(handle) {
166
- const { delegate } = timeoutProvider;
167
- return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);
168
- },
169
- delegate: undefined,
170
- };
171
-
172
- function reportUnhandledError(err) {
173
- timeoutProvider.setTimeout(() => {
174
- const { onUnhandledError } = config;
175
- if (onUnhandledError) {
176
- onUnhandledError(err);
177
- }
178
- else {
179
- throw err;
180
- }
181
- });
182
- }
183
-
184
- function noop() { }
185
-
186
- const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();
187
- function errorNotification(error) {
188
- return createNotification('E', undefined, error);
189
- }
190
- function nextNotification(value) {
191
- return createNotification('N', value, undefined);
192
- }
193
- function createNotification(kind, value, error) {
194
- return {
195
- kind,
196
- value,
197
- error,
198
- };
199
- }
200
-
201
- function errorContext(cb) {
202
- {
203
- cb();
204
- }
205
- }
206
-
207
- class Subscriber extends Subscription {
208
- constructor(destination) {
209
- super();
210
- this.isStopped = false;
211
- if (destination) {
212
- this.destination = destination;
213
- if (isSubscription(destination)) {
214
- destination.add(this);
215
- }
216
- }
217
- else {
218
- this.destination = EMPTY_OBSERVER;
219
- }
220
- }
221
- static create(next, error, complete) {
222
- return new SafeSubscriber(next, error, complete);
223
- }
224
- next(value) {
225
- if (this.isStopped) {
226
- handleStoppedNotification(nextNotification(value), this);
227
- }
228
- else {
229
- this._next(value);
230
- }
231
- }
232
- error(err) {
233
- if (this.isStopped) {
234
- handleStoppedNotification(errorNotification(err), this);
235
- }
236
- else {
237
- this.isStopped = true;
238
- this._error(err);
239
- }
240
- }
241
- complete() {
242
- if (this.isStopped) {
243
- handleStoppedNotification(COMPLETE_NOTIFICATION, this);
244
- }
245
- else {
246
- this.isStopped = true;
247
- this._complete();
248
- }
249
- }
250
- unsubscribe() {
251
- if (!this.closed) {
252
- this.isStopped = true;
253
- super.unsubscribe();
254
- this.destination = null;
255
- }
256
- }
257
- _next(value) {
258
- this.destination.next(value);
259
- }
260
- _error(err) {
261
- try {
262
- this.destination.error(err);
263
- }
264
- finally {
265
- this.unsubscribe();
266
- }
267
- }
268
- _complete() {
269
- try {
270
- this.destination.complete();
271
- }
272
- finally {
273
- this.unsubscribe();
274
- }
275
- }
276
- }
277
- const _bind = Function.prototype.bind;
278
- function bind(fn, thisArg) {
279
- return _bind.call(fn, thisArg);
280
- }
281
- class ConsumerObserver {
282
- constructor(partialObserver) {
283
- this.partialObserver = partialObserver;
284
- }
285
- next(value) {
286
- const { partialObserver } = this;
287
- if (partialObserver.next) {
288
- try {
289
- partialObserver.next(value);
290
- }
291
- catch (error) {
292
- handleUnhandledError(error);
293
- }
294
- }
295
- }
296
- error(err) {
297
- const { partialObserver } = this;
298
- if (partialObserver.error) {
299
- try {
300
- partialObserver.error(err);
301
- }
302
- catch (error) {
303
- handleUnhandledError(error);
304
- }
305
- }
306
- else {
307
- handleUnhandledError(err);
308
- }
309
- }
310
- complete() {
311
- const { partialObserver } = this;
312
- if (partialObserver.complete) {
313
- try {
314
- partialObserver.complete();
315
- }
316
- catch (error) {
317
- handleUnhandledError(error);
318
- }
319
- }
320
- }
321
- }
322
- class SafeSubscriber extends Subscriber {
323
- constructor(observerOrNext, error, complete) {
324
- super();
325
- let partialObserver;
326
- if (isFunction(observerOrNext) || !observerOrNext) {
327
- partialObserver = {
328
- next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),
329
- error: error !== null && error !== void 0 ? error : undefined,
330
- complete: complete !== null && complete !== void 0 ? complete : undefined,
331
- };
332
- }
333
- else {
334
- let context;
335
- if (this && config.useDeprecatedNextContext) {
336
- context = Object.create(observerOrNext);
337
- context.unsubscribe = () => this.unsubscribe();
338
- partialObserver = {
339
- next: observerOrNext.next && bind(observerOrNext.next, context),
340
- error: observerOrNext.error && bind(observerOrNext.error, context),
341
- complete: observerOrNext.complete && bind(observerOrNext.complete, context),
342
- };
343
- }
344
- else {
345
- partialObserver = observerOrNext;
346
- }
347
- }
348
- this.destination = new ConsumerObserver(partialObserver);
349
- }
350
- }
351
- function handleUnhandledError(error) {
352
- {
353
- reportUnhandledError(error);
354
- }
355
- }
356
- function defaultErrorHandler(err) {
357
- throw err;
358
- }
359
- function handleStoppedNotification(notification, subscriber) {
360
- const { onStoppedNotification } = config;
361
- onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));
362
- }
363
- const EMPTY_OBSERVER = {
364
- closed: true,
365
- next: noop,
366
- error: defaultErrorHandler,
367
- complete: noop,
368
- };
369
-
370
- const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();
371
-
372
- function identity(x) {
373
- return x;
374
- }
375
-
376
- function pipeFromArray(fns) {
377
- if (fns.length === 0) {
378
- return identity;
379
- }
380
- if (fns.length === 1) {
381
- return fns[0];
382
- }
383
- return function piped(input) {
384
- return fns.reduce((prev, fn) => fn(prev), input);
385
- };
386
- }
387
-
388
- class Observable {
389
- constructor(subscribe) {
390
- if (subscribe) {
391
- this._subscribe = subscribe;
392
- }
393
- }
394
- lift(operator) {
395
- const observable = new Observable();
396
- observable.source = this;
397
- observable.operator = operator;
398
- return observable;
399
- }
400
- subscribe(observerOrNext, error, complete) {
401
- const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);
402
- errorContext(() => {
403
- const { operator, source } = this;
404
- subscriber.add(operator
405
- ?
406
- operator.call(subscriber, source)
407
- : source
408
- ?
409
- this._subscribe(subscriber)
410
- :
411
- this._trySubscribe(subscriber));
412
- });
413
- return subscriber;
414
- }
415
- _trySubscribe(sink) {
416
- try {
417
- return this._subscribe(sink);
418
- }
419
- catch (err) {
420
- sink.error(err);
421
- }
422
- }
423
- forEach(next, promiseCtor) {
424
- promiseCtor = getPromiseCtor(promiseCtor);
425
- return new promiseCtor((resolve, reject) => {
426
- const subscriber = new SafeSubscriber({
427
- next: (value) => {
428
- try {
429
- next(value);
430
- }
431
- catch (err) {
432
- reject(err);
433
- subscriber.unsubscribe();
434
- }
435
- },
436
- error: reject,
437
- complete: resolve,
438
- });
439
- this.subscribe(subscriber);
440
- });
441
- }
442
- _subscribe(subscriber) {
443
- var _a;
444
- return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);
445
- }
446
- [observable]() {
447
- return this;
448
- }
449
- pipe(...operations) {
450
- return pipeFromArray(operations)(this);
451
- }
452
- toPromise(promiseCtor) {
453
- promiseCtor = getPromiseCtor(promiseCtor);
454
- return new promiseCtor((resolve, reject) => {
455
- let value;
456
- this.subscribe((x) => (value = x), (err) => reject(err), () => resolve(value));
457
- });
458
- }
459
- }
460
- Observable.create = (subscribe) => {
461
- return new Observable(subscribe);
462
- };
463
- function getPromiseCtor(promiseCtor) {
464
- var _a;
465
- return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;
466
- }
467
- function isObserver(value) {
468
- return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);
469
- }
470
- function isSubscriber(value) {
471
- return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));
472
- }
473
-
474
- const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {
475
- _super(this);
476
- this.name = 'ObjectUnsubscribedError';
477
- this.message = 'object unsubscribed';
478
- });
479
-
480
- class Subject extends Observable {
481
- constructor() {
482
- super();
483
- this.closed = false;
484
- this.currentObservers = null;
485
- this.observers = [];
486
- this.isStopped = false;
487
- this.hasError = false;
488
- this.thrownError = null;
489
- }
490
- lift(operator) {
491
- const subject = new AnonymousSubject(this, this);
492
- subject.operator = operator;
493
- return subject;
494
- }
495
- _throwIfClosed() {
496
- if (this.closed) {
497
- throw new ObjectUnsubscribedError();
498
- }
499
- }
500
- next(value) {
501
- errorContext(() => {
502
- this._throwIfClosed();
503
- if (!this.isStopped) {
504
- if (!this.currentObservers) {
505
- this.currentObservers = Array.from(this.observers);
506
- }
507
- for (const observer of this.currentObservers) {
508
- observer.next(value);
509
- }
510
- }
511
- });
512
- }
513
- error(err) {
514
- errorContext(() => {
515
- this._throwIfClosed();
516
- if (!this.isStopped) {
517
- this.hasError = this.isStopped = true;
518
- this.thrownError = err;
519
- const { observers } = this;
520
- while (observers.length) {
521
- observers.shift().error(err);
522
- }
523
- }
524
- });
525
- }
526
- complete() {
527
- errorContext(() => {
528
- this._throwIfClosed();
529
- if (!this.isStopped) {
530
- this.isStopped = true;
531
- const { observers } = this;
532
- while (observers.length) {
533
- observers.shift().complete();
534
- }
535
- }
536
- });
537
- }
538
- unsubscribe() {
539
- this.isStopped = this.closed = true;
540
- this.observers = this.currentObservers = null;
541
- }
542
- get observed() {
543
- var _a;
544
- return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;
545
- }
546
- _trySubscribe(subscriber) {
547
- this._throwIfClosed();
548
- return super._trySubscribe(subscriber);
549
- }
550
- _subscribe(subscriber) {
551
- this._throwIfClosed();
552
- this._checkFinalizedStatuses(subscriber);
553
- return this._innerSubscribe(subscriber);
554
- }
555
- _innerSubscribe(subscriber) {
556
- const { hasError, isStopped, observers } = this;
557
- if (hasError || isStopped) {
558
- return EMPTY_SUBSCRIPTION;
559
- }
560
- this.currentObservers = null;
561
- observers.push(subscriber);
562
- return new Subscription(() => {
563
- this.currentObservers = null;
564
- arrRemove(observers, subscriber);
565
- });
566
- }
567
- _checkFinalizedStatuses(subscriber) {
568
- const { hasError, thrownError, isStopped } = this;
569
- if (hasError) {
570
- subscriber.error(thrownError);
571
- }
572
- else if (isStopped) {
573
- subscriber.complete();
574
- }
575
- }
576
- asObservable() {
577
- const observable = new Observable();
578
- observable.source = this;
579
- return observable;
580
- }
581
- }
582
- Subject.create = (destination, source) => {
583
- return new AnonymousSubject(destination, source);
584
- };
585
- class AnonymousSubject extends Subject {
586
- constructor(destination, source) {
587
- super();
588
- this.destination = destination;
589
- this.source = source;
590
- }
591
- next(value) {
592
- var _a, _b;
593
- (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);
594
- }
595
- error(err) {
596
- var _a, _b;
597
- (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);
598
- }
599
- complete() {
600
- var _a, _b;
601
- (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);
602
- }
603
- _subscribe(subscriber) {
604
- var _a, _b;
605
- return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;
606
- }
607
- }
608
-
609
- class BehaviorSubject extends Subject {
610
- constructor(_value) {
611
- super();
612
- this._value = _value;
613
- }
614
- get value() {
615
- return this.getValue();
616
- }
617
- _subscribe(subscriber) {
618
- const subscription = super._subscribe(subscriber);
619
- !subscription.closed && subscriber.next(this._value);
620
- return subscription;
621
- }
622
- getValue() {
623
- const { hasError, thrownError, _value } = this;
624
- if (hasError) {
625
- throw thrownError;
626
- }
627
- this._throwIfClosed();
628
- return _value;
629
- }
630
- next(value) {
631
- super.next((this._value = value));
632
- }
633
- }
634
-
635
- class FormController {
636
- constructor(schema) {
637
- this.values = new BehaviorSubject({});
638
- this.errors = new BehaviorSubject({});
639
- this._initialValues = {};
640
- this._values = {};
641
- this._errors = {};
642
- this._isValid = true;
643
- this._schema = schema;
644
- }
645
- processArrayError(obj, property, remainingProperties, message) {
646
- // Extract array name and index from the property string
647
- const [arrayName, indexStr] = property
648
- .match(/^([a-zA-Z0-9]+)\[(\d+)\]/)
649
- .slice(1);
650
- const index = parseInt(indexStr, 10);
651
- // Ensure the array exists and has an entry at the given index
652
- obj[arrayName] = obj[arrayName] || [];
653
- obj[arrayName][index] = obj[arrayName][index] || {};
654
- // Recursively set the error if there are remaining properties, else set the error message
655
- if (remainingProperties.length) {
656
- this.setNestedError(obj[arrayName][index], remainingProperties, message);
657
- }
658
- else {
659
- obj[arrayName][index] = message;
660
- }
661
- }
662
- processRegularError(obj, property, remainingProperties, message) {
663
- // Ensure the property exists
664
- obj[property] = obj[property] || {};
665
- // Recursively set the error if there are remaining properties, else set the error message
666
- if (remainingProperties.length) {
667
- this.setNestedError(obj[property], remainingProperties, message);
668
- }
669
- else {
670
- obj[property] = message;
671
- }
672
- }
673
- setNestedError(obj, properties, message) {
674
- const property = properties.shift();
675
- const isArrayError = property.includes('[');
676
- if (isArrayError) {
677
- this.processArrayError(obj, property, properties, message);
678
- }
679
- else {
680
- this.processRegularError(obj, property, properties, message);
681
- }
682
- }
683
- setError(obj, path, message) {
684
- // Convert path to properties array
685
- const properties = Array.isArray(path) ? path : path.split('.');
686
- this.setNestedError(obj, properties, message);
687
- }
688
- async validate(context) {
689
- this._isValid = true;
690
- this._errors = {};
691
- try {
692
- await this._schema.validate(this._values, { context, abortEarly: false });
693
- }
694
- catch (err) {
695
- this._isValid = false;
696
- err.inner.forEach((item) => {
697
- this.setError(this._errors, item.path, item.message);
698
- });
699
- }
700
- this.errors.next(this._errors);
701
- return this._isValid;
702
- }
703
- async validateAndSubmit(submitHandler, context) {
704
- const isValid = await this.validate(context || {});
705
- if (isValid) {
706
- submitHandler();
707
- }
708
- }
709
- setInitialValues(values) {
710
- this._initialValues = values;
711
- this._values = values;
712
- this.values.next(this._values);
713
- }
714
- setValues(values) {
715
- this._values = Object.assign(Object.assign({}, this._values), values);
716
- this.values.next(this._values);
717
- }
718
- resetValues() {
719
- this._values = this._initialValues;
720
- this.values.next(this._values);
721
- }
722
- getInitialValues() {
723
- return this._initialValues;
724
- }
725
- }
726
-
727
- export { FormController as F };