@justifi/webcomponents 6.7.0 → 6.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/dist/cjs/{check-pkg-version-nSgWWvdw.js → check-pkg-version-BG-Rfkh5.js} +1 -1
  2. package/dist/cjs/hidden-input_2.cjs.entry.js +1 -1
  3. package/dist/cjs/internal-tokenize-payment-method_7.cjs.entry.js +9 -7
  4. package/dist/cjs/justifi-apple-pay_8.cjs.entry.js +10 -8
  5. package/dist/cjs/justifi-business-details.cjs.entry.js +2 -2
  6. package/dist/cjs/justifi-business-form.cjs.entry.js +2 -2
  7. package/dist/cjs/justifi-checkout.cjs.entry.js +2 -2
  8. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +2 -2
  9. package/dist/cjs/justifi-dispute-management.cjs.entry.js +2 -2
  10. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +2 -2
  11. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +2 -2
  12. package/dist/cjs/justifi-order-terminals.cjs.entry.js +2 -2
  13. package/dist/cjs/justifi-payment-details.cjs.entry.js +2 -2
  14. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +2 -2
  15. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +2 -2
  16. package/dist/cjs/justifi-payments-list.cjs.entry.js +2 -2
  17. package/dist/cjs/justifi-payout-details.cjs.entry.js +2 -2
  18. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +2 -2
  19. package/dist/cjs/justifi-payouts-list.cjs.entry.js +2 -2
  20. package/dist/cjs/justifi-refund-payment.cjs.entry.js +98 -6
  21. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +2 -2
  22. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +2 -2
  23. package/dist/cjs/justifi-terminals-list.cjs.entry.js +2 -2
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/cjs/{package-B8gOzTFM.js → package-Df5lTFe6.js} +1 -1
  26. package/dist/cjs/webcomponents.cjs.js +1 -1
  27. package/dist/collection/actions/void/void-actions.js +31 -0
  28. package/dist/collection/api/services/google-pay.service.js +2 -1
  29. package/dist/collection/api/services/void.service.js +9 -0
  30. package/dist/collection/components/modular-checkout/modular-checkout.js +3 -2
  31. package/dist/collection/components/modular-checkout/sub-components/bank-account.js +6 -3
  32. package/dist/collection/components/modular-checkout/sub-components/card-form.js +6 -3
  33. package/dist/collection/components/modular-checkout/sub-components/google-pay.js +3 -3
  34. package/dist/collection/components/refund-payment/refund-payment.js +66 -10
  35. package/dist/docs.json +15 -10
  36. package/dist/esm/{check-pkg-version-CmkUoEAo.js → check-pkg-version-c_8fDHCB.js} +1 -1
  37. package/dist/esm/hidden-input_2.entry.js +1 -1
  38. package/dist/esm/internal-tokenize-payment-method_7.entry.js +9 -7
  39. package/dist/esm/justifi-apple-pay_8.entry.js +10 -8
  40. package/dist/esm/justifi-business-details.entry.js +2 -2
  41. package/dist/esm/justifi-business-form.entry.js +2 -2
  42. package/dist/esm/justifi-checkout.entry.js +2 -2
  43. package/dist/esm/justifi-checkouts-list.entry.js +2 -2
  44. package/dist/esm/justifi-dispute-management.entry.js +2 -2
  45. package/dist/esm/justifi-dispute-notification_3.entry.js +2 -2
  46. package/dist/esm/justifi-gross-payment-chart.entry.js +2 -2
  47. package/dist/esm/justifi-order-terminals.entry.js +2 -2
  48. package/dist/esm/justifi-payment-details.entry.js +2 -2
  49. package/dist/esm/justifi-payment-provisioning.entry.js +2 -2
  50. package/dist/esm/justifi-payment-transactions-list.entry.js +2 -2
  51. package/dist/esm/justifi-payments-list.entry.js +2 -2
  52. package/dist/esm/justifi-payout-details.entry.js +2 -2
  53. package/dist/esm/justifi-payout-transactions-list.entry.js +2 -2
  54. package/dist/esm/justifi-payouts-list.entry.js +2 -2
  55. package/dist/esm/justifi-refund-payment.entry.js +98 -6
  56. package/dist/esm/justifi-season-interruption-insurance.entry.js +2 -2
  57. package/dist/esm/justifi-terminal-orders-list.entry.js +2 -2
  58. package/dist/esm/justifi-terminals-list.entry.js +2 -2
  59. package/dist/esm/loader.js +1 -1
  60. package/dist/esm/{package-CsRppqXL.js → package-BzT9OxlN.js} +1 -1
  61. package/dist/esm/webcomponents.js +1 -1
  62. package/dist/module/bank-account-form.js +1 -1
  63. package/dist/module/bank-account.js +5 -2
  64. package/dist/module/card-form.js +1 -1
  65. package/dist/module/card-form2.js +5 -2
  66. package/dist/module/google-pay.js +5 -4
  67. package/dist/module/justifi-checkouts-list-filters.js +1 -1
  68. package/dist/module/justifi-payment-transactions-list.js +1 -1
  69. package/dist/module/justifi-payments-list-filters.js +1 -1
  70. package/dist/module/justifi-payout-transactions-list.js +1 -1
  71. package/dist/module/justifi-payouts-list-filters.js +1 -1
  72. package/dist/module/justifi-refund-payment.js +97 -4
  73. package/dist/module/justifi-terminal-orders-list-filters.js +1 -1
  74. package/dist/module/modular-checkout.js +3 -2
  75. package/dist/module/package.js +1 -1
  76. package/dist/module/payments-list-core2.js +1 -1
  77. package/dist/module/payout-details-core2.js +1 -1
  78. package/dist/module/payouts-list-core2.js +1 -1
  79. package/dist/module/terminal-orders-list-core2.js +1 -1
  80. package/dist/module/utils2.js +1 -1
  81. package/dist/types/actions/void/void-actions.d.ts +10 -0
  82. package/dist/types/api/services/google-pay.service.d.ts +1 -1
  83. package/dist/types/api/services/void.service.d.ts +7 -0
  84. package/dist/types/components/modular-checkout/sub-components/bank-account.d.ts +1 -0
  85. package/dist/types/components/modular-checkout/sub-components/card-form.d.ts +1 -0
  86. package/dist/types/components/refund-payment/refund-payment.d.ts +6 -2
  87. package/dist/types/components.d.ts +3 -3
  88. package/dist/webcomponents/{p-c0bd4e9a.entry.js → p-035a4adc.entry.js} +1 -1
  89. package/dist/webcomponents/{p-c4585b68.entry.js → p-0935600b.entry.js} +1 -1
  90. package/dist/webcomponents/{p-fc8f55d7.entry.js → p-0ab9a3ae.entry.js} +1 -1
  91. package/dist/webcomponents/{p-DISrhs4v.js → p-11wdbrqX.js} +1 -1
  92. package/dist/webcomponents/{p-fe73b09b.entry.js → p-138ada4a.entry.js} +1 -1
  93. package/dist/webcomponents/p-148d3327.entry.js +1 -0
  94. package/dist/webcomponents/p-2cb9edad.entry.js +1 -0
  95. package/dist/webcomponents/{p-04ec17bb.entry.js → p-2d4a2d26.entry.js} +1 -1
  96. package/dist/webcomponents/p-3f14d0c4.entry.js +1 -0
  97. package/dist/webcomponents/{p-d2981754.entry.js → p-5c6727ae.entry.js} +1 -1
  98. package/dist/webcomponents/{p-eada0422.entry.js → p-622af881.entry.js} +1 -1
  99. package/dist/webcomponents/{p-50400c5e.entry.js → p-64ebff16.entry.js} +1 -1
  100. package/dist/webcomponents/p-71577fa1.entry.js +1 -0
  101. package/dist/webcomponents/p-7ec4838f.entry.js +1 -0
  102. package/dist/webcomponents/p-BzT9OxlN.js +1 -0
  103. package/dist/webcomponents/p-af7c219d.entry.js +1 -0
  104. package/dist/webcomponents/{p-74fea39c.entry.js → p-b752c5bc.entry.js} +1 -1
  105. package/dist/webcomponents/{p-f23428da.entry.js → p-bbff6196.entry.js} +1 -1
  106. package/dist/webcomponents/p-c0c36187.entry.js +1 -0
  107. package/dist/webcomponents/{p-ff5981fb.entry.js → p-d077569e.entry.js} +1 -1
  108. package/dist/webcomponents/{p-87988b4d.entry.js → p-d7b1b7b5.entry.js} +1 -1
  109. package/dist/webcomponents/{p-095cedc5.entry.js → p-dc6c9c79.entry.js} +1 -1
  110. package/dist/webcomponents/p-ecbc83bf.entry.js +1 -0
  111. package/dist/webcomponents/{p-b2a0cbad.entry.js → p-f56d7b4c.entry.js} +1 -1
  112. package/dist/webcomponents/webcomponents.esm.js +1 -1
  113. package/docs/.eslintrc.cjs +17 -0
  114. package/docs/changelog/index.mdx +17 -0
  115. package/docs/entities/businessdetails/index.mdx +143 -0
  116. package/docs/entities/businessform/index.mdx +241 -0
  117. package/docs/entities/index.mdx +19 -0
  118. package/docs/entities/payment-provisioning/index.mdx +128 -0
  119. package/docs/frameworks/angular/index.mdx +112 -0
  120. package/docs/frameworks/index.mdx +18 -0
  121. package/docs/frameworks/react/index.mdx +125 -0
  122. package/docs/frameworks/vue/index.mdx +102 -0
  123. package/docs/helpers/PartsTable.js +50 -0
  124. package/docs/helpers/PropsTable.js +56 -0
  125. package/docs/helpers/index.ts +3 -0
  126. package/docs/helpers/version.js +32 -0
  127. package/docs/introduction/index.mdx +125 -0
  128. package/docs/merchant-tools/checkouts-list/index.mdx +97 -0
  129. package/docs/merchant-tools/gross-payments-chart/index.mdx +83 -0
  130. package/docs/merchant-tools/index.mdx +25 -0
  131. package/docs/merchant-tools/order-terminals/index.mdx +84 -0
  132. package/docs/merchant-tools/payment-details/index.mdx +132 -0
  133. package/docs/merchant-tools/payment-transactions-list/index.mdx +85 -0
  134. package/docs/merchant-tools/payments-list/index.mdx +109 -0
  135. package/docs/merchant-tools/payout-details/index.mdx +84 -0
  136. package/docs/merchant-tools/payout-transactions-list/index.mdx +84 -0
  137. package/docs/merchant-tools/payouts-list/index.mdx +92 -0
  138. package/docs/merchant-tools/terminal-orders-list/index.mdx +85 -0
  139. package/docs/merchant-tools/terminals-list/index.mdx +93 -0
  140. package/docs/modular-checkout/complete-examples/index.mdx +20 -0
  141. package/docs/modular-checkout/index.mdx +20 -0
  142. package/docs/modular-checkout/introduction/index.mdx +102 -0
  143. package/docs/modular-checkout/sub-components/apple-pay.mdx +106 -0
  144. package/docs/modular-checkout/sub-components/bank-account-form.mdx +167 -0
  145. package/docs/modular-checkout/sub-components/card-form.mdx +178 -0
  146. package/docs/modular-checkout/sub-components/index.mdx +23 -0
  147. package/docs/modular-checkout/sub-components/payment-method-options.mdx +87 -0
  148. package/docs/modular-checkout/sub-components/plaid-payment-method.mdx +158 -0
  149. package/docs/modular-checkout/sub-components/saved-payment-methods.mdx +183 -0
  150. package/docs/modular-checkout/sub-components/season-interruption-insurance.mdx +221 -0
  151. package/docs/modular-checkout/sub-components/sezzle-payment-method.mdx +183 -0
  152. package/docs/modular-checkout/sub-components/summary.mdx +111 -0
  153. package/docs/payment-facilitation/dispute-management/index.mdx +99 -0
  154. package/docs/payment-facilitation/index.mdx +21 -0
  155. package/docs/payment-facilitation/refund-payment/index.mdx +241 -0
  156. package/docs/payment-facilitation/tokenize-payment-method/index.mdx +350 -0
  157. package/docs/payment-facilitation/unified-fintech-checkout/342/204/242/index.mdx +150 -0
  158. package/package.json +21 -6
  159. package/dist/webcomponents/p-0e981c28.entry.js +0 -1
  160. package/dist/webcomponents/p-15ceeea7.entry.js +0 -1
  161. package/dist/webcomponents/p-9c1aa22d.entry.js +0 -1
  162. package/dist/webcomponents/p-CsRppqXL.js +0 -1
  163. package/dist/webcomponents/p-aa145996.entry.js +0 -1
  164. package/dist/webcomponents/p-b5b49e86.entry.js +0 -1
  165. package/dist/webcomponents/p-d9cdd873.entry.js +0 -1
  166. package/dist/webcomponents/p-ef04f334.entry.js +0 -1
  167. package/dist/webcomponents/p-f5dd3fa4.entry.js +0 -1
@@ -0,0 +1,143 @@
1
+ ---
2
+ id: entities/businessdetails/index
3
+ title: Business Details
4
+ sidebar_label: BusinessDetails
5
+ description: Collect and review business profile information with inline validation and KYC-friendly formatting.
6
+ sidebar_position: 10
7
+ ---
8
+
9
+ import {
10
+ PropsTable,
11
+ PartsTable,
12
+ getWebcomponentsVersion,
13
+ } from '@justifi/webcomponents/docs/helpers';
14
+
15
+ ## Overview
16
+
17
+ Component to render detailed information about a business. You will need to first create a business via [Business API](https://docs.justifi.tech/api-spec#tag/Business) to get the business-id required for this component.
18
+
19
+ ## Usage
20
+
21
+ <pre><code className="language-html">{`<!DOCTYPE html>
22
+ <html dir="ltr" lang="en">
23
+
24
+ <head>
25
+ <meta charset="utf-8" />
26
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0" />
27
+ <title>justifi-business-details</title>
28
+
29
+ <script
30
+ type="module"
31
+ src="https://cdn.jsdelivr.net/npm/@justifi/webcomponents@${getWebcomponentsVersion()}/dist/webcomponents/webcomponents.esm.js"
32
+ ></script>
33
+
34
+ <script
35
+ nomodule
36
+ src="https://cdn.jsdelivr.net/npm/@justifi/webcomponents@${getWebcomponentsVersion()}/dist/webcomponents/webcomponents.js"
37
+ ></script>
38
+
39
+ <style>
40
+ ::part(font-family) {
41
+ font-family: georgia;
42
+ }
43
+
44
+ ::part(color) {
45
+ color: darkslategray;
46
+ }
47
+
48
+ ::part(background-color) {
49
+ background-color: transparent;
50
+ }
51
+ </style>
52
+
53
+ </head>
54
+
55
+ <body>
56
+ <justifi-business-details business-id="biz_123" auth-token="authToken" />
57
+ </body>
58
+
59
+ <script>
60
+ (function () {
61
+ const businessDetails = document.querySelector('justifi-business-details');
62
+
63
+ businessDetails.addEventListener('error-event', (event) => {
64
+ // here is where you would handle the error
65
+ console.error('error-event', event.detail);
66
+ });
67
+ })();
68
+ </script>
69
+
70
+ </html>`}</code></pre>
71
+
72
+ ## Props, Events & Methods
73
+
74
+ <div
75
+ dangerouslySetInnerHTML={{
76
+ __html: PropsTable([
77
+ {
78
+ name: 'account-id',
79
+ type: 'string',
80
+ required: true,
81
+ description:
82
+ 'Owning platform account; used for authorization and data scoping.',
83
+ },
84
+ {
85
+ name: 'auth-token',
86
+ type: 'string',
87
+ required: true,
88
+ description: 'Short-lived token with `write:onboarding` scope.',
89
+ },
90
+ {
91
+ name: 'business-id',
92
+ type: 'string',
93
+ required: true,
94
+ description:
95
+ 'Existing business to hydrate; omit for brand-new entities.',
96
+ },
97
+ {
98
+ name: 'locale',
99
+ type: 'string',
100
+ defaultValue: 'en-US',
101
+ description:
102
+ 'Controls localization of labels, address formatting, and validation hints.',
103
+ },
104
+ {
105
+ name: 'readonly',
106
+ type: 'boolean',
107
+ defaultValue: 'false',
108
+ description: 'Displays the form as read-only for audit surfaces.',
109
+ },
110
+ ]),
111
+ }}
112
+ />
113
+
114
+ ### Events
115
+
116
+ - `submitted`: Fires when all sections validate and emit an updated business payload.
117
+ - `error-event`: Emits when API requests fail or validation errors occur; payload includes field-level hints.
118
+
119
+ ### Public methods
120
+
121
+ 1. `submit()` – Programmatically trigger validation and submission.
122
+ 2. `reset()` – Clear the form back to the most recently loaded business payload.
123
+
124
+ ## Theming & Layout
125
+
126
+ <div
127
+ dangerouslySetInnerHTML={{
128
+ __html: PartsTable([
129
+ {
130
+ name: 'font-family',
131
+ description: 'Controls the font family for the component.',
132
+ },
133
+ {
134
+ name: 'color',
135
+ description: 'Controls the text color.',
136
+ },
137
+ {
138
+ name: 'background-color',
139
+ description: 'Controls the background color.',
140
+ },
141
+ ]),
142
+ }}
143
+ />
@@ -0,0 +1,241 @@
1
+ ---
2
+ id: entities/businessform/index
3
+ title: Business Form
4
+ sidebar_label: BusinessForm
5
+ description: Guided workflow for collecting representative, ownership, and compliance data during onboarding.
6
+ sidebar_position: 11
7
+ ---
8
+
9
+ import {
10
+ PropsTable,
11
+ PartsTable,
12
+ getWebcomponentsVersion,
13
+ } from '@justifi/webcomponents/docs/helpers';
14
+
15
+ ## Overview
16
+
17
+ Component to render a business onboarding form. You will need to first create a business via [Business API](https://docs.justifi.tech/api-spec#tag/Business) to get the business-id required for this component.
18
+
19
+ ## Usage
20
+
21
+ <pre><code className="language-html">{`<!DOCTYPE html>
22
+ <html dir="ltr" lang="en">
23
+
24
+ <head>
25
+ <meta charset="utf-8" />
26
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0" />
27
+ <title>justifi-business-form</title>
28
+
29
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@justifi/webcomponents@${getWebcomponentsVersion()}/dist/webcomponents/webcomponents.esm.js"></script>
30
+
31
+ <script
32
+ nomodule
33
+ src="https://cdn.jsdelivr.net/npm/@justifi/webcomponents@${getWebcomponentsVersion()}/dist/webcomponents/webcomponents.js"
34
+ ></script>
35
+
36
+ <style>
37
+ ::part(font-family) {
38
+ font-family: georgia;
39
+ }
40
+
41
+ ::part(color) {
42
+ color: darkslategray;
43
+ }
44
+
45
+ ::part(background-color) {
46
+ background-color: transparent;
47
+ }
48
+
49
+ ::part(input) {
50
+ border-color: #555;
51
+ border-width: 1px;
52
+ border-bottom-width: 1px;
53
+ border-left-width: 1px;
54
+ border-right-width: 1px;
55
+ border-top-width: 1px;
56
+ border-radius: 0;
57
+ border-style: solid;
58
+ box-shadow: none;
59
+ font-size: 1rem;
60
+ font-weight: normal;
61
+ line-height: 1.5;
62
+ padding: 0.375rem 0.75rem;
63
+ }
64
+
65
+ ::part(input-focused) {
66
+ border-color: #333;
67
+ box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
68
+ }
69
+
70
+ ::part(input-invalid) {
71
+ border-color: #8a2a35;
72
+ box-shadow: 0 0 0 0.25rem rgba(244, 67, 54, 0.25);
73
+ }
74
+
75
+ ::part(input-invalid-and-focused) {
76
+ box-shadow: 0 0 0 0.25rem rgba(244, 67, 54, 0.25);
77
+ border-color: #8a2a35;
78
+ }
79
+
80
+ ::part(button) {
81
+ padding: 0.375rem 0.75rem;
82
+ font-size: 16px;
83
+ box-shadow: none;
84
+ border-radius: 0px;
85
+ line-height: 1.5;
86
+ text-transform: none;
87
+ }
88
+
89
+ ::part(button-primary) {
90
+ color: #333;
91
+ background-color: transparent;
92
+ border-color: #333;
93
+ }
94
+
95
+ ::part(button-primary):hover {
96
+ background-color: rgba(0, 0, 0, .05);
97
+ border-color: #333;
98
+ color: #333;
99
+ }
100
+
101
+ ::part(button-disabled) {
102
+ opacity: 0.5;
103
+ }
104
+
105
+ ::part(tooltip-inner) {
106
+ color: #fff;
107
+ }
108
+ </style>
109
+
110
+ </head>
111
+
112
+ <body>
113
+ <justifi-business-form business-id="biz_123" auth-token="authToken" />
114
+ </body>
115
+
116
+ <script>
117
+ (function () {
118
+ var businessForm = document.querySelector("justifi-business-form");
119
+
120
+ businessForm.addEventListener("submit-event", (event) => {
121
+ /* this event is raised when the server response is received */
122
+ console.log("server response received", event.detail.response);
123
+ });
124
+
125
+ businessForm.addEventListener("click-event", (data) => {
126
+ let name = data.detail.name;
127
+
128
+ if (name == "submit") {
129
+ console.log("This is a submit button click", data);
130
+ } else {
131
+ console.log("Not an event from the submit button");
132
+ }
133
+ });
134
+ })();
135
+ </script>
136
+
137
+ </html>`}</code></pre>
138
+
139
+ ## Props, Events & Methods
140
+
141
+ <div
142
+ dangerouslySetInnerHTML={{
143
+ __html: PropsTable([
144
+ {
145
+ name: 'account-id',
146
+ type: 'string',
147
+ required: true,
148
+ description: 'Owning platform account used for authorization.',
149
+ },
150
+ {
151
+ name: 'auth-token',
152
+ type: 'string',
153
+ required: true,
154
+ description:
155
+ 'Short-lived onboarding token; must include `write:onboarding` scope.',
156
+ },
157
+ {
158
+ name: 'business-id',
159
+ type: 'string',
160
+ required: true,
161
+ description:
162
+ 'The business whose representatives/owners you are editing.',
163
+ },
164
+ {
165
+ name: 'show-progress',
166
+ type: 'boolean',
167
+ defaultValue: 'false',
168
+ description: 'Displays a stepper + completion state when true.',
169
+ },
170
+ {
171
+ name: 'support-phone',
172
+ type: 'string',
173
+ description: 'Optional phone number displayed inside support callouts.',
174
+ },
175
+ ]),
176
+ }}
177
+ />
178
+
179
+ ### Events
180
+
181
+ - `submitted`: fires when the flow completes; payload includes representative + ownership data.
182
+ - `step-changed`: emits whenever the form advances to the next required section.
183
+ - `error-event`: emits validation or network issues for logging surfaces.
184
+
185
+ ### Public methods
186
+
187
+ 1. `next()` – Move to the next step programmatically (only when current step is valid).
188
+ 2. `previous()` – Return to the earlier step (useful for custom navigation controls).
189
+
190
+ ## Theming & Layout
191
+
192
+ <div
193
+ dangerouslySetInnerHTML={{
194
+ __html: PartsTable([
195
+ {
196
+ name: 'font-family',
197
+ description: 'Controls the font family for the component.',
198
+ },
199
+ {
200
+ name: 'color',
201
+ description: 'Controls the text color.',
202
+ },
203
+ {
204
+ name: 'background-color',
205
+ description: 'Controls the background color.',
206
+ },
207
+ {
208
+ name: 'input',
209
+ description: 'Input field styles.',
210
+ },
211
+ {
212
+ name: 'input-focused',
213
+ description: 'Input styles when focused.',
214
+ },
215
+ {
216
+ name: 'input-invalid',
217
+ description: 'Input styles when invalid.',
218
+ },
219
+ {
220
+ name: 'input-invalid-and-focused',
221
+ description: 'Input styles when invalid and focused.',
222
+ },
223
+ {
224
+ name: 'button',
225
+ description: 'Button styles.',
226
+ },
227
+ {
228
+ name: 'button-primary',
229
+ description: 'Primary button styles.',
230
+ },
231
+ {
232
+ name: 'button-disabled',
233
+ description: 'Disabled button styles.',
234
+ },
235
+ {
236
+ name: 'tooltip-inner',
237
+ description: 'Tooltip inner content styles.',
238
+ },
239
+ ]),
240
+ }}
241
+ />
@@ -0,0 +1,19 @@
1
+ ---
2
+ id: entities/index
3
+ title: Entities
4
+ description: Onboarding components for businesses, principals, and payouts.
5
+ ---
6
+
7
+ Use the Entities toolkit to collect and maintain compliance-ready business
8
+ records.
9
+
10
+ - [BusinessDetails](./businessdetails/index) – guided intake for legal and tax
11
+ profiles.
12
+ - [BusinessForm](./businessform/index) – configurable form shell tailored to
13
+ your onboarding steps.
14
+ - [Payment Provisioning](./payment-provisioning/index) – connect verified
15
+ businesses to the rails they need to accept funds.
16
+
17
+ > Pair these components with back-office workflows so underwriting teams can
18
+ > review submissions without bouncing between tools.
19
+
@@ -0,0 +1,128 @@
1
+ ---
2
+ id: entities/payment-provisioning/index
3
+ title: Payment Provisioning
4
+ description: Embed-ready workflow for collecting payout bank info and provisioning merchants for funding.
5
+ sidebar_position: 12
6
+ ---
7
+
8
+ import { PropsTable, PartsTable } from '@justifi/webcomponents/docs/helpers';
9
+
10
+ ## Overview
11
+
12
+ Component to render a business onboarding form, segmented into multiple steps. You will need to first create a business via [Business API](https://docs.justifi.tech/api-spec#tag/Business) to get the business-id required for this component.
13
+
14
+ ## Usage
15
+
16
+ <pre>
17
+ <code className="language-html">{`<justifi-payment-provisioning
18
+ account-id="acc_123"
19
+ auth-token="wct_provisioning"
20
+ business-id="biz_456"
21
+ on-success-text="Payout method saved"
22
+ />`}</code>
23
+ </pre>
24
+
25
+ ## Props, Events & Methods
26
+
27
+ <div
28
+ dangerouslySetInnerHTML={{
29
+ __html: PropsTable([
30
+ {
31
+ name: 'account-id',
32
+ type: 'string',
33
+ required: true,
34
+ description:
35
+ 'Platform account or sub-account context for provisioning.',
36
+ },
37
+ {
38
+ name: 'auth-token',
39
+ type: 'string',
40
+ required: true,
41
+ description:
42
+ 'Token with `write:provisioning` scope to securely store payout details.',
43
+ },
44
+ {
45
+ name: 'business-id',
46
+ type: 'string',
47
+ required: true,
48
+ description: 'Business whose payout method is being added.',
49
+ },
50
+ {
51
+ name: 'on-success-text',
52
+ type: 'string',
53
+ description:
54
+ 'Overrides the confirmation copy once the payout account is linked.',
55
+ },
56
+ {
57
+ name: 'disable-ach',
58
+ type: 'boolean',
59
+ defaultValue: 'false',
60
+ description:
61
+ 'Hide ACH specific fields when you only support push-to-card or other rails.',
62
+ },
63
+ ]),
64
+ }}
65
+ />
66
+
67
+ ### Events
68
+
69
+ - `submitted`: Fires when payout information is collected and saved; payload includes the provisioning status.
70
+ - `error-event`: Provides `code`/`message` details when token scopes or API calls fail.
71
+
72
+ ### Public methods
73
+
74
+ 1. `submit()` – Trigger provisioning if you render external controls.
75
+ 2. `focus()` – Move focus to the first interactive element (helpful after displaying a banner).
76
+
77
+ ## Theming & Layout
78
+
79
+ <div
80
+ dangerouslySetInnerHTML={{
81
+ __html: PartsTable([
82
+ {
83
+ name: 'font-family',
84
+ description: 'Controls the font family for the component.',
85
+ },
86
+ {
87
+ name: 'color',
88
+ description: 'Controls the text color.',
89
+ },
90
+ {
91
+ name: 'background-color',
92
+ description: 'Controls the background color.',
93
+ },
94
+ {
95
+ name: 'input',
96
+ description: 'Input field styles.',
97
+ },
98
+ {
99
+ name: 'input-focused',
100
+ description: 'Input styles when focused.',
101
+ },
102
+ {
103
+ name: 'input-invalid',
104
+ description: 'Input styles when invalid.',
105
+ },
106
+ {
107
+ name: 'input-invalid-and-focused',
108
+ description: 'Input styles when invalid and focused.',
109
+ },
110
+ {
111
+ name: 'button',
112
+ description: 'Button styles.',
113
+ },
114
+ {
115
+ name: 'button-primary',
116
+ description: 'Primary button styles.',
117
+ },
118
+ {
119
+ name: 'button-disabled',
120
+ description: 'Disabled button styles.',
121
+ },
122
+ {
123
+ name: 'tooltip-inner',
124
+ description: 'Tooltip inner content styles.',
125
+ },
126
+ ]),
127
+ }}
128
+ />
@@ -0,0 +1,112 @@
1
+ ---
2
+ id: frameworks/angular/index
3
+ title: Angular
4
+ description: Registering and using JustiFi web components inside Angular projects.
5
+ sidebar_position: 2
6
+ ---
7
+
8
+ import { getWebcomponentsVersion } from '@justifi/webcomponents/docs/helpers';
9
+
10
+ Angular can render the JustiFi custom elements once you load the library and allow custom schemas.
11
+
12
+ ## Usage
13
+
14
+ ### Load the bundle
15
+
16
+ <pre><code className="language-html">{`<head>
17
+ <script
18
+ type="module"
19
+ src="https://cdn.jsdelivr.net/npm/@justifi/webcomponents@${getWebcomponentsVersion()}/dist/webcomponents/webcomponents.esm.js"
20
+ ></script>
21
+
22
+ </head>`}</code></pre>
23
+
24
+ Or install locally:
25
+
26
+ ```bash
27
+ npm install --save @justifi/webcomponents
28
+ ```
29
+
30
+ Import specific elements where needed:
31
+
32
+ ```ts
33
+ import '@justifi/webcomponents/dist/module/justifi-checkout.js';
34
+ ```
35
+
36
+ ### Allow custom elements
37
+
38
+ ```ts
39
+ import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
40
+ import { BrowserModule } from '@angular/platform-browser';
41
+ import { AppComponent } from './app.component';
42
+
43
+ @NgModule({
44
+ declarations: [AppComponent],
45
+ imports: [BrowserModule],
46
+ providers: [],
47
+ bootstrap: [AppComponent],
48
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
49
+ })
50
+ export class AppModule {}
51
+ ```
52
+
53
+ ## Props and event handling
54
+
55
+ Use Angular bindings for attributes and `(event)` syntax for emitted events.
56
+
57
+ ```html
58
+ <justifi-checkout
59
+ [auth-token]="authToken"
60
+ [checkout-id]="checkoutId"
61
+ [disable-bank-account]="true"
62
+ (submit-event)="handleSubmit($event)"
63
+ (error-event)="handleError($event)"
64
+ ></justifi-checkout>
65
+ ```
66
+
67
+ ## Calling methods
68
+
69
+ Leverage `ViewChild` to call public methods on the web component.
70
+
71
+ ```html
72
+ <!-- app.component.html -->
73
+ <justifi-checkout
74
+ #checkoutForm
75
+ [auth-token]="authToken"
76
+ [checkout-id]="checkoutId"
77
+ (submit-event)="handleSubmit($event)"
78
+ ></justifi-checkout>
79
+ <button (click)="fillBillingForm()">Fill billing form</button>
80
+ ```
81
+
82
+ ```ts
83
+ // app.component.ts
84
+ import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core';
85
+
86
+ @Component({
87
+ selector: 'app-root',
88
+ templateUrl: './app.component.html',
89
+ })
90
+ export class AppComponent implements AfterViewInit {
91
+ @ViewChild('checkoutForm')
92
+ checkoutForm!: ElementRef<HTMLJustifiCheckoutElement>;
93
+
94
+ ngAfterViewInit() {
95
+ // Safe place to call component methods
96
+ }
97
+
98
+ fillBillingForm() {
99
+ const billing = {
100
+ name: 'John Doe',
101
+ address_line1: 'Main St',
102
+ address_city: 'Beverly Hills',
103
+ address_state: 'CA',
104
+ address_postal_code: '90210',
105
+ };
106
+
107
+ this.checkoutForm.nativeElement.fillBillingForm(billing);
108
+ }
109
+ }
110
+ ```
111
+
112
+ > `HTMLJustifiCheckoutElement` is available from `@justifi/webcomponents/dist/components` if you want stronger typing.
@@ -0,0 +1,18 @@
1
+ ---
2
+ id: frameworks/index
3
+ title: Frameworks
4
+ description: Entry point for Angular, React, and Vue 3 integration guides.
5
+ ---
6
+
7
+ Pick the framework-specific guide that matches your host app. Each page covers
8
+ bundle registration, component typing, and ergonomics for that stack.
9
+
10
+ 1. [Angular](./angular/index) – schemas, module setup, and DI-friendly helpers.
11
+ 2. [React](./react/index) – rendering custom elements from JSX plus refs/events.
12
+ 3. [Vue 3](./vue/index) – registering components globally or per-view with full
13
+ TypeScript support.
14
+
15
+ > Need another framework? Duplicate `templates/guide-template.mdx`, follow the
16
+ > checklist inside, and add it to this directory so it picks up the same
17
+ > navigation pattern.
18
+