@rebilly/framepay-react 13.123.0 → 13.125.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 (30) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/README.md +148 -104
  3. package/build/lib/components/injector.js +1 -1
  4. package/package.json +1 -1
  5. package/src/lib/components/injector.tsx +12 -12
  6. package/tests/e2e/fixtures/apple-pay.html +10 -12
  7. package/tests/e2e/fixtures/bank-separate.html +10 -10
  8. package/tests/e2e/fixtures/card-separate-brands.html +10 -10
  9. package/tests/e2e/fixtures/card-separate-rebilly-fields.html +10 -12
  10. package/tests/e2e/fixtures/card-separate.html +10 -10
  11. package/tests/e2e/fixtures/checkout-combined.html +10 -10
  12. package/tests/e2e/fixtures/google-pay.html +10 -12
  13. package/tests/e2e/fixtures/iban.html +10 -10
  14. package/tests/e2e/fixtures/inject-metadata.html +10 -12
  15. package/tests/e2e/fixtures/multiple-methods.html +10 -10
  16. package/tests/e2e/fixtures/paypal.html +10 -12
  17. package/tests/e2e/fixtures/samsung-pay.html +10 -12
  18. package/tests/e2e/fixtures/style.css +1 -1
  19. package/tests/e2e/local-server.mjs +1 -1
  20. package/tests/e2e/server.mjs +2 -2
  21. package/tests/e2e/specs/bank-separate.plw.ts +18 -6
  22. package/tests/e2e/specs/card-separate-brands.plw.ts +34 -12
  23. package/tests/e2e/specs/card-separate.plw.ts +9 -3
  24. package/tests/e2e/specs/checkout-combined.plw.ts +3 -1
  25. package/tests/e2e/specs/google-pay.plw.ts +4 -2
  26. package/tests/e2e/specs/inject-riskMetadata.plw.ts +6 -2
  27. package/tests/e2e/specs/multiple-methods.plw.ts +96 -32
  28. package/tests/e2e/specs/paypal.plw.ts +3 -1
  29. package/tests/e2e/specs/react-version.plw.ts +5 -2
  30. package/tests/e2e/switch-react-version.js +5 -5
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
- ## [13.123.0](https://github.com/Rebilly/rebilly/compare/framepay-react-v13.122.0...framepay-react-v13.123.0) (2026-06-15)
1
+ ## [13.125.0](https://github.com/Rebilly/rebilly/compare/framepay-react-v13.124.0...framepay-react-v13.125.0) (2026-06-17)
2
2
 
3
3
 
4
4
  ### Features
5
5
 
6
- * **api-metadata, rebilly-js-sdk:** Update resources based on latest api definitions ([#22691](https://github.com/Rebilly/rebilly/issues/22691)) ([1ad1ebe](https://github.com/Rebilly/rebilly/commit/1ad1ebedd1501017cec860ec915eb3783b54803d))
6
+ * **recomm, replay-elements, team-docs:** Extract ScoringStrategy into a named schema and rebuild SDK ([#22767](https://github.com/Rebilly/rebilly/issues/22767)) ([82dd5b4](https://github.com/Rebilly/rebilly/commit/82dd5b442850113ca5e229afef4c3f7079d4876f))
package/README.md CHANGED
@@ -10,40 +10,43 @@ Supported: React 14 to 19.
10
10
  This package is a wrapper for [FramePay](https://www.rebilly.com/docs/dev-docs/framepay/) offering out-of-the-box support for Redux and other common React features.
11
11
 
12
12
  ## Table of Contents
13
+
13
14
  - [framepay-react](#framepay-react)
14
- - [Table of Contents](#table-of-contents)
15
- - [FramePay documentation](#framepay-documentation)
16
- - [Demos](#demos)
17
- - [Installation](#installation)
18
- - [Getting started](#getting-started)
19
- - [The FramePay context (`FramePayProvider`)](#the-framepay-context-framepayprovider)
20
- - [Setting up your payment form](#setting-up-your-payment-form)
21
- - [WARNING](#warning)
22
- - [withFramePay (All props)](#withframepay-all-props)
23
- - [withFramePayCardComponent (Card props)](#withframepaycardcomponent-card-props)
24
- - [withFramePayBankComponent (Bank props)](#withframepaybankcomponent-bank-props)
25
- - [withFramePayApplePayComponent (Apple Pay props)](#withframepayapplepaycomponent-apple-pay-props)
26
- - [withFramePaySamsungPayComponent (Samsung Pay props)](#withframepaysamsungpaycomponent-samsung-pay-props)
27
- - [withFramePayGooglePayComponent (Google Pay props)](#withframepaygooglepaycomponent-google-pay-props)
28
- - [withFramePayPaypalComponent (Paypal props)](#withframepaypaypalcomponent-paypal-props)
29
- - [With FramePay (`withFramePay`) HOC](#with-framepay-withframepay-hoc)
30
- - [Card elements (`withFramePayCardComponent`) HOC](#card-elements-withframepaycardcomponent-hoc)
31
- - [Bank elements (`withFramePayBankComponent`) HOC](#bank-elements-withframepaybankcomponent-hoc)
32
- - [Advanced options](#advanced-options)
33
- - [Initialization settings](#initialization-settings)
34
- - [Create Token Parameters](#create-token-parameters)
35
- - [Troubleshooting](#troubleshooting)
36
- - [Incorrect](#incorrect)
37
- - [Correct](#correct)
38
- - [Developer instructions](#developer-instructions)
39
- - [Manual preview](#manual-preview)
40
- - [How to run unit tests?](#how-to-run-unit-tests)
41
- - [How to run E2E tests?](#how-to-run-e2e-tests)
15
+ - [Table of Contents](#table-of-contents)
16
+ - [FramePay documentation](#framepay-documentation)
17
+ - [Demos](#demos)
18
+ - [Installation](#installation)
19
+ - [Getting started](#getting-started)
20
+ - [The FramePay context (`FramePayProvider`)](#the-framepay-context-framepayprovider)
21
+ - [Setting up your payment form](#setting-up-your-payment-form)
22
+ - [WARNING](#warning)
23
+ - [withFramePay (All props)](#withframepay-all-props)
24
+ - [withFramePayCardComponent (Card props)](#withframepaycardcomponent-card-props)
25
+ - [withFramePayBankComponent (Bank props)](#withframepaybankcomponent-bank-props)
26
+ - [withFramePayApplePayComponent (Apple Pay props)](#withframepayapplepaycomponent-apple-pay-props)
27
+ - [withFramePaySamsungPayComponent (Samsung Pay props)](#withframepaysamsungpaycomponent-samsung-pay-props)
28
+ - [withFramePayGooglePayComponent (Google Pay props)](#withframepaygooglepaycomponent-google-pay-props)
29
+ - [withFramePayPaypalComponent (Paypal props)](#withframepaypaypalcomponent-paypal-props)
30
+ - [With FramePay (`withFramePay`) HOC](#with-framepay-withframepay-hoc)
31
+ - [Card elements (`withFramePayCardComponent`) HOC](#card-elements-withframepaycardcomponent-hoc)
32
+ - [Bank elements (`withFramePayBankComponent`) HOC](#bank-elements-withframepaybankcomponent-hoc)
33
+ - [Advanced options](#advanced-options)
34
+ - [Initialization settings](#initialization-settings)
35
+ - [Create Token Parameters](#create-token-parameters)
36
+ - [Troubleshooting](#troubleshooting)
37
+ - [Incorrect](#incorrect)
38
+ - [Correct](#correct)
39
+ - [Developer instructions](#developer-instructions)
40
+ - [Manual preview](#manual-preview)
41
+ - [How to run unit tests?](#how-to-run-unit-tests)
42
+ - [How to run E2E tests?](#how-to-run-e2e-tests)
42
43
 
43
44
  ### FramePay documentation
45
+
44
46
  For more information on FramePay see its [official documentation](https://www.rebilly.com/docs/dev-docs/framepay/).
45
47
 
46
48
  ### Demos
49
+
47
50
  - [Use with react-redux (CodeSandbox)](https://codesandbox.io/s/n089y731x4)
48
51
  - [Use with react-router (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4)
49
52
  - [Examples from README file (CodeSandbox, React 14/15)](https://codesandbox.io/s/8ly7ml77y9)
@@ -55,12 +58,15 @@ For more information on FramePay see its [official documentation](https://www.re
55
58
  - [More examples from the E2E tests](test/e2e/fixtures)
56
59
 
57
60
  ### Installation
61
+
58
62
  Install using [Yarn](https://yarnpkg.com/en/):
63
+
59
64
  ```
60
65
  yarn add @rebilly/framepay-react
61
66
  ```
62
67
 
63
68
  Or using NPM:
69
+
64
70
  ```
65
71
  npm install @rebilly/framepay-react --save
66
72
  ```
@@ -70,6 +76,7 @@ npm install @rebilly/framepay-react --save
70
76
  > The example described in this readme can be found [here (CodeSandbox)](https://codesandbox.io/s/8ly7ml77y9)
71
77
 
72
78
  #### The FramePay context (`FramePayProvider`)
79
+
73
80
  FramePayProvider provides settings to the FramePay API. See [Framepay.initialize](https://www.rebilly.com/docs/dev-docs/framepay-global-reference/#framepay.initialize) for a list of all configuration options.
74
81
 
75
82
  ```jsx harmony
@@ -83,15 +90,16 @@ import MyCardPageComponent from './MyCardPageComponent';
83
90
  const App = () => {
84
91
  return (
85
92
  <FramePayProvider publishableKey="pk_sandbox_1234567890">
86
- <MyCardPageComponent/>
93
+ <MyCardPageComponent />
87
94
  </FramePayProvider>
88
95
  );
89
96
  };
90
97
 
91
- render(<App/>, document.getElementById('root'));
92
-
98
+ render(<App />, document.getElementById('root'));
93
99
  ```
100
+
94
101
  Define configuration parameters as attributes on the provider tag.
102
+
95
103
  ```html
96
104
  publishableKey="pk_sandbox_1234567890"
97
105
  ```
@@ -99,11 +107,13 @@ publishableKey="pk_sandbox_1234567890"
99
107
  #### Setting up your payment form
100
108
 
101
109
  ###### WARNING
110
+
102
111
  Please, don't implementing the unmount functionality, use the examples.
103
112
 
104
113
  The react lifecycle methods already implemented in the library.
105
114
 
106
115
  ###### withFramePay (All props)
116
+
107
117
  - Framepay - [FramePay's namespace](https://www.rebilly.com/docs/dev-docs/framepay-global-reference)
108
118
  - `BankAccountNumberElement`
109
119
  - `BankAccountTypeElement`
@@ -118,6 +128,7 @@ The react lifecycle methods already implemented in the library.
118
128
  - `PaypalElement`
119
129
 
120
130
  ###### withFramePayCardComponent (Card props)
131
+
121
132
  - Framepay
122
133
  - `CardElement`
123
134
  - `CardCvvElement`
@@ -125,28 +136,34 @@ The react lifecycle methods already implemented in the library.
125
136
  - `CardNumberElement`
126
137
 
127
138
  ###### withFramePayBankComponent (Bank props)
139
+
128
140
  - Framepay
129
141
  - `BankAccountNumberElement`
130
142
  - `BankAccountTypeElement`
131
143
  - `BankRoutingNumberElement`
132
144
 
133
145
  ###### withFramePayApplePayComponent (Apple Pay props)
146
+
134
147
  - Framepay
135
148
  - `ApplePayElement`
136
149
 
137
150
  ###### withFramePaySamsungPayComponent (Samsung Pay props)
151
+
138
152
  - Framepay
139
153
  - `SamsungPayElement`
140
154
 
141
155
  ###### withFramePayGooglePayComponent (Google Pay props)
156
+
142
157
  - Framepay
143
158
  - `GooglePayElement`
144
159
 
145
160
  ###### withFramePayPaypalComponent (Paypal props)
161
+
146
162
  - Framepay
147
163
  - `PaypalElement`
148
164
 
149
165
  ##### With FramePay (`withFramePay`) HOC
166
+
150
167
  This simple FramePay HOC is used to provide the `Framepay` API in your component. It is most commonly used in combination with multiple payment methods.
151
168
 
152
169
  - [Payment cards and ACH (CodeSandbox)](https://codesandbox.io/s/z2q2lx9ry4?module=/src/elements/MultiplePaymentMethods.js)
@@ -156,6 +173,7 @@ This simple FramePay HOC is used to provide the `Framepay` API in your component
156
173
  ##### Card elements (`withFramePayCardComponent`) HOC
157
174
 
158
175
  Wrapper for the payment card features.
176
+
159
177
  ```jsx harmony
160
178
  // MyCardPageComponent.js
161
179
  import React from 'react';
@@ -172,40 +190,48 @@ class MyCardPageComponent extends React.Component {
172
190
  onSubmit(e) {
173
191
  e.preventDefault();
174
192
  // @see https://www.rebilly.com/docs/dev-docs/framepay-global-reference/#framepay.createtoken
175
- this.props.Framepay.createToken(
176
- this.formNode,
177
- { billingAddress: { ...this.state } }
178
- )
179
- .then(data => alert(JSON.stringify(data, null, 2)))
180
- .catch(err => alert(JSON.stringify(err, null, 2)));
193
+ this.props.Framepay.createToken(this.formNode, {
194
+ billingAddress: { ...this.state },
195
+ })
196
+ .then((data) => alert(JSON.stringify(data, null, 2)))
197
+ .catch((err) => alert(JSON.stringify(err, null, 2)));
181
198
  }
182
199
 
183
200
  render() {
184
- return (<form
185
- ref={node => this.formNode = node}
186
- onSubmit={this.onSubmit}>
187
- <div>
188
- <input
189
- type="text"
190
- name="firstName"
191
- placeholder="First Name"
192
- defaultValue={this.state.firstName}
193
- onChange={(e) => this.setState({ firstName: e.target.value })}/>
194
- </div>
195
- <br/>
196
- <div>
197
- <input
198
- type="text"
199
- name="lastName"
200
- placeholder="Last Name"
201
- defaultValue={this.state.lastName}
202
- onChange={(e) => this.setState({ lastName: e.target.value })}/>
203
- </div>
204
- <br/>
205
- <this.props.CardElement/>
206
- <hr/>
207
- <button>Make Payment</button>
208
- </form>);
201
+ return (
202
+ <form
203
+ ref={(node) => (this.formNode = node)}
204
+ onSubmit={this.onSubmit}
205
+ >
206
+ <div>
207
+ <input
208
+ type="text"
209
+ name="firstName"
210
+ placeholder="First Name"
211
+ defaultValue={this.state.firstName}
212
+ onChange={(e) =>
213
+ this.setState({ firstName: e.target.value })
214
+ }
215
+ />
216
+ </div>
217
+ <br />
218
+ <div>
219
+ <input
220
+ type="text"
221
+ name="lastName"
222
+ placeholder="Last Name"
223
+ defaultValue={this.state.lastName}
224
+ onChange={(e) =>
225
+ this.setState({ lastName: e.target.value })
226
+ }
227
+ />
228
+ </div>
229
+ <br />
230
+ <this.props.CardElement />
231
+ <hr />
232
+ <button>Make Payment</button>
233
+ </form>
234
+ );
209
235
  }
210
236
  }
211
237
 
@@ -213,7 +239,9 @@ export default withFramePayCardComponent(MyCardPageComponent);
213
239
  ```
214
240
 
215
241
  ##### Bank elements (`withFramePayBankComponent`) HOC
242
+
216
243
  Wrapper for the ACH features.
244
+
217
245
  ```jsx harmony
218
246
  import React from 'react';
219
247
  import { withFramePayBankComponent } from '@rebilly/framepay-react';
@@ -229,40 +257,48 @@ class MyBankPageComponent extends React.Component {
229
257
  onSubmit(e) {
230
258
  e.preventDefault();
231
259
  // @see https://www.rebilly.com/docs/dev-docs/framepay-global-reference/#framepay.createtoken
232
- this.props.Framepay.createToken(
233
- this.formNode,
234
- { billingAddress: { ...this.state } }
235
- )
236
- .then(data => alert(JSON.stringify(data, null, 2)))
237
- .catch(err => alert(JSON.stringify(err, null, 2)));
260
+ this.props.Framepay.createToken(this.formNode, {
261
+ billingAddress: { ...this.state },
262
+ })
263
+ .then((data) => alert(JSON.stringify(data, null, 2)))
264
+ .catch((err) => alert(JSON.stringify(err, null, 2)));
238
265
  }
239
266
 
240
267
  render() {
241
- return (<form
242
- ref={node => this.formNode = node}
243
- onSubmit={this.onSubmit}>
244
- <div>
245
- <input
246
- type="text"
247
- name="firstName"
248
- placeholder="First Name"
249
- defaultValue={this.state.firstName}
250
- onChange={(e) => this.setState({ firstName: e.target.value })}/>
251
- </div>
252
- <br/>
253
- <div>
254
- <input
255
- type="text"
256
- name="lastName"
257
- placeholder="Last Name"
258
- defaultValue={this.state.lastName}
259
- onChange={(e) => this.setState({ lastName: e.target.value })}/>
260
- </div>
261
- <br/>
262
- <this.props.BankElement/>
263
- <hr/>
264
- <button>Make Payment</button>
265
- </form>);
268
+ return (
269
+ <form
270
+ ref={(node) => (this.formNode = node)}
271
+ onSubmit={this.onSubmit}
272
+ >
273
+ <div>
274
+ <input
275
+ type="text"
276
+ name="firstName"
277
+ placeholder="First Name"
278
+ defaultValue={this.state.firstName}
279
+ onChange={(e) =>
280
+ this.setState({ firstName: e.target.value })
281
+ }
282
+ />
283
+ </div>
284
+ <br />
285
+ <div>
286
+ <input
287
+ type="text"
288
+ name="lastName"
289
+ placeholder="Last Name"
290
+ defaultValue={this.state.lastName}
291
+ onChange={(e) =>
292
+ this.setState({ lastName: e.target.value })
293
+ }
294
+ />
295
+ </div>
296
+ <br />
297
+ <this.props.BankElement />
298
+ <hr />
299
+ <button>Make Payment</button>
300
+ </form>
301
+ );
266
302
  }
267
303
  }
268
304
 
@@ -272,19 +308,22 @@ export default withFramePayBankComponent(MyBankPageComponent);
272
308
  ### Advanced options
273
309
 
274
310
  #### Initialization settings
311
+
275
312
  The **framepay-react** package supports all the [FramePay](https://www.rebilly.com/docs/dev-docs/framepay/) initialization settings.
276
313
  See [Framepay.initialize](https://www.rebilly.com/docs/dev-docs/framepay-global-reference/#framepay.initialize) for all customizations.
277
314
 
278
315
  ```jsx harmony
279
316
  <FramePayProvider publishableKey="pk_sandbox_1234567890">
280
- <MyCardPageComponent/>
317
+ <MyCardPageComponent />
281
318
  </FramePayProvider>
282
319
  ```
320
+
283
321
  The CSS file is hosted on Rebilly's CDN and is found at this URL: https://cdn.rebilly.com/framepay/v1/rebilly.css
284
322
 
285
323
  See [adding default element styles](https://www.rebilly.com/docs/dev-docs/framepay-configuration-reference/#style) in FramePay's documentation for more details.
286
324
 
287
325
  #### Create Token Parameters
326
+
288
327
  The `createToken` method supports all FramePay arguments. See [Framepay.createToken](https://www.rebilly.com/docs/dev-docs/framepay-global-reference/#framepay.createtoken) for more details.
289
328
 
290
329
  ### Troubleshooting
@@ -292,31 +331,33 @@ The `createToken` method supports all FramePay arguments. See [Framepay.createTo
292
331
  The methods `withFramePay`, `withFramePayCardComponent` and `withFramePayBankComponent` are [higher-order-components](https://reactjs.org/docs/higher-order-components.html). They can't be called directly from your `render()` method, so assign the generated component to a variable in the global scope before use.
293
332
 
294
333
  ##### Incorrect
334
+
295
335
  ```jsx harmony
296
336
  import * as React from 'react';
297
- import {withFramePayCardComponent} from '@rebilly/framepay-react'
337
+ import { withFramePayCardComponent } from '@rebilly/framepay-react';
298
338
 
299
339
  class SomeComponent extends React.Component {
300
- render(){
301
- return(<div>
302
- {withFramePayCardComponent(MyCardComponent)}
303
- </div>)
340
+ render() {
341
+ return <div>{withFramePayCardComponent(MyCardComponent)}</div>;
304
342
  }
305
343
  }
306
344
  ```
307
345
 
308
346
  ##### Correct
347
+
309
348
  ```jsx harmony
310
349
  import * as React from 'react';
311
- import {withFramePayCardComponent} from '@rebilly/framepay-react'
350
+ import { withFramePayCardComponent } from '@rebilly/framepay-react';
312
351
 
313
352
  const MyCardElement = withFramePayCardComponent(MyCardComponent);
314
353
 
315
354
  class SomeComponent extends React.Component {
316
- render(){
317
- return(<div>
318
- <MyCardElement />
319
- </div>)
355
+ render() {
356
+ return (
357
+ <div>
358
+ <MyCardElement />
359
+ </div>
360
+ );
320
361
  }
321
362
  }
322
363
  ```
@@ -324,12 +365,15 @@ class SomeComponent extends React.Component {
324
365
  ### Developer instructions
325
366
 
326
367
  #### Manual preview
368
+
327
369
  In order to manually preview the examples, use `serve:e2e` command. It builds the project and starts the local server on the port 8000.
328
370
 
329
371
  #### How to run unit tests?
372
+
330
373
  Unit tests can be run using the `test:unit` command.
331
374
 
332
375
  #### How to run E2E tests?
376
+
333
377
  - Ensure you are running the preview examples, otherwise all E2E tests will fail.
334
378
  - Run one of the following commands:
335
379
  - `test:e2e:pr` - runs a smaller subset of E2E tests tests headlessly.
@@ -445,4 +445,4 @@ function withFramePayPaypalComponent(WrappedComponent) {
445
445
  _a.displayName = "withFramePayPaypalComponent(".concat(WrappedComponent.displayName || WrappedComponent.name || 'Component', ")"),
446
446
  _a;
447
447
  }
448
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5qZWN0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwVUEsb0NBcUNDO0FBRUQsOERBMkJDO0FBRUQsOERBMkJDO0FBRUQsOERBMkJDO0FBRUQsc0VBNkJDO0FBRUQsMEVBNkJDO0FBRUQsd0VBNkJDO0FBRUQsa0VBMkJDO0FBaGtCRCwyQ0FBK0I7QUFDL0Isc0NBQTZDO0FBQzdDLGlGQUFtRTtBQUNuRSxxRkFBdUU7QUFDdkUseUVBQTJEO0FBQzNELHlFQUEyRDtBQUMzRCxtRkFBcUU7QUFDckUseUVBQTJEO0FBQzNELDZFQUErRDtBQXlCL0Qsd0RBQXdEO0FBQ3hELDJFQUEyRTtBQUMzRSxnR0FBZ0c7QUFDaEcsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLElBQXFCOztJQUM1QyxJQUFNLFNBQVMsR0FBRyxNQUFBLElBQUksQ0FBQyxHQUFHLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLHVEQUF1RDtJQUV6RixJQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7UUFDbEMsR0FBRyxZQUFDLE1BQWdCLEVBQUUsSUFBd0M7WUFDMUQsK0NBQStDO1lBQy9DLElBQUksSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNqQixJQUFNLEtBQUcsR0FBRyxJQUFzQixDQUFDO2dCQUVuQyx3RUFBd0U7Z0JBQ3hFLDREQUE0RDtnQkFDNUQsdUNBQXVDO2dCQUN2QyxJQUFJLE9BQU8sTUFBTSxDQUFDLEtBQUcsQ0FBQyxLQUFLLFVBQVUsRUFBRSxDQUFDO29CQUNwQyxPQUFPO3dCQUFDLGdCQUFvQjs2QkFBcEIsVUFBb0IsRUFBcEIscUJBQW9CLEVBQXBCLElBQW9COzRCQUFwQiwyQkFBb0I7O3dCQUN4QixPQUFR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
448
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5qZWN0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwVUEsb0NBcUNDO0FBRUQsOERBMkJDO0FBRUQsOERBMkJDO0FBRUQsOERBMkJDO0FBRUQsc0VBNkJDO0FBRUQsMEVBNkJDO0FBRUQsd0VBNkJDO0FBRUQsa0VBMkJDO0FBaGtCRCwyQ0FBK0I7QUFDL0Isc0NBQTZDO0FBQzdDLGlGQUFtRTtBQUNuRSxxRkFBdUU7QUFDdkUseUVBQTJEO0FBQzNELHlFQUEyRDtBQUMzRCxtRkFBcUU7QUFDckUseUVBQTJEO0FBQzNELDZFQUErRDtBQXlCL0Qsd0RBQXdEO0FBQ3hELDJFQUEyRTtBQUMzRSxnR0FBZ0c7QUFDaEcsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLElBQXFCOztJQUM1QyxJQUFNLFNBQVMsR0FBRyxNQUFBLElBQUksQ0FBQyxHQUFHLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLHVEQUF1RDtJQUV6RixJQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7UUFDbEMsR0FBRyxZQUFDLE1BQWdCLEVBQUUsSUFBd0M7WUFDMUQsK0NBQStDO1lBQy9DLElBQUksSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNqQixJQUFNLEtBQUcsR0FBRyxJQUFzQixDQUFDO2dCQUVuQyx3RUFBd0U7Z0JBQ3hFLDREQUE0RDtnQkFDNUQsdUNBQXVDO2dCQUN2QyxJQUFJLE9BQU8sTUFBTSxDQUFDLEtBQUcsQ0FBQyxLQUFLLFVBQVUsRUFBRSxDQUFDO29CQUNwQyxPQUFPO3dCQUFDLGdCQUFvQjs2QkFBcEIsVUFBb0IsRUFBcEIscUJBQW9CLEVBQXBCLElBQW9COzRCQUFwQiwyQkFBb0I7O3dCQUN4QixPQUFRLE1BQU0sQ0FBQyxLQUFHLENBQUMsT0FBWCxNQUFNLEVBQ1AsTUFBTSxFQUNYO29CQUNOLENBQUMsQ0FBQztnQkFDTixDQUFDO2dCQUVELGtFQUFrRTtnQkFDbEUsT0FBTyxNQUFNLENBQUMsS0FBRyxDQUFDLENBQUM7WUFDdkIsQ0FBQztZQUVELGdFQUFnRTtZQUNoRSxJQUFJLElBQUksS0FBSyxPQUFPO2dCQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN4QyxJQUFJLElBQUksS0FBSyxPQUFPO2dCQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztZQUV4Qyw0REFBNEQ7WUFDNUQsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztLQUNKLENBQUMsQ0FBQztJQUVILG1GQUFtRjtJQUNuRixPQUFPLFFBQXlCLENBQUM7QUFDckMsQ0FBQyxDQUFDO0FBRUYsU0FBUyxHQUFHLENBQ1IsSUFBWSxFQUNaLGdCQUF3QyxFQUN4QyxRQUEyQzs7SUFFM0M7WUFBcUIsMkJBQXNCO1lBQXBDOztZQW1CUCxDQUFDO1lBZEcsd0JBQU0sR0FBTjtnQkFBQSxpQkFhQztnQkFaRyxPQUFPLENBQ0gsb0JBQUMseUJBQWUsUUFDWCxVQUFDLElBQXFCO29CQUNuQixJQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hDLE9BQU8sQ0FDSCxvQkFBQyxnQkFBZ0IsZUFDSixLQUFJLENBQUMsS0FBSyxFQUFLLFFBQVEsRUFDbEMsQ0FDTCxDQUFDO2dCQUNOLENBQUMsQ0FDYSxDQUNyQixDQUFDO1lBQ04sQ0FBQztZQUNMLGNBQUM7UUFBRCxDQUFDLEFBbkJNLENBQWMsS0FBSyxDQUFDLFNBQVM7UUFDaEIsY0FBVyxHQUFHLHNCQUFlLElBQUksY0FDN0MsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLGdCQUFnQixDQUFDLElBQUksSUFBSSxXQUFXLE1BQ3BFO1dBZ0JOO0FBQ04sQ0FBQztBQUVELElBQU0sY0FBYyxHQUFHLFVBQ25CLElBT2M7SUFFZCxJQUFJLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUNsQjs7V0FFRztRQUVIOztXQUVHO1FBQ0gsSUFBTSxXQUFXLEdBQUcsR0FBRyxDQUNuQixhQUFhLEVBQ2Isc0JBQW9CLEVBQ3BCLFVBQUMsSUFBcUI7WUFDbEIsT0FBQSxDQUFDO2dCQUNHLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pDLFdBQVcsRUFBRSxNQUFNO2FBQ3RCLENBQWM7UUFIZixDQUdlLENBQ3RCLENBQUM7UUFFRixPQUFPO1lBQ0gsV0FBVyxhQUFBO1NBQ2QsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLElBQUksS0FBSyxhQUFhLEVBQUUsQ0FBQztRQUN6Qjs7O1dBR0c7UUFFSDs7V0FFRztRQUNILElBQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUM5Qix3QkFBd0IsRUFDeEIsc0JBQW9CLEVBQ3BCLFVBQUMsSUFBcUI7WUFDbEIsT0FBQSxDQUFDO2dCQUNHLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pDLFdBQVcsRUFBRSxpQkFBaUI7YUFDakMsQ0FBYztRQUhmLENBR2UsQ0FDdEIsQ0FBQztRQUVGOztXQUVHO1FBQ0gsSUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQ2hDLDBCQUEwQixFQUMxQixzQkFBb0IsRUFDcEIsVUFBQyxJQUFxQjtZQUNsQixPQUFBLENBQUM7Z0JBQ0csUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQztnQkFDakMsV0FBVyxFQUFFLG1CQUFtQjthQUNuQyxDQUFjO1FBSGYsQ0FHZSxDQUN0QixDQUFDO1FBRUY7O1dBRUc7UUFDSCxJQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FDaEMsMEJBQTBCLEVBQzFCLHNCQUFvQixFQUNwQixVQUFDLElBQXFCO1lBQ2xCLE9BQUEsQ0FBQztnQkFDRyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxXQUFXLEVBQUUsbUJBQW1CO2FBQ25DLENBQWM7UUFIZixDQUdlLENBQ3RCLENBQUM7UUFFRixPQUFPO1lBQ0gsd0JBQXdCLDBCQUFBO1lBQ3hCLHNCQUFzQix3QkFBQTtZQUN0Qix3QkFBd0IsMEJBQUE7U0FDM0IsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUNsQjs7O1dBR0c7UUFDSCxJQUFNLFdBQVcsR0FBRyxHQUFHLENBQ25CLGFBQWEsRUFDYixzQkFBb0IsRUFDcEIsVUFBQyxJQUFxQjtZQUNsQixPQUFBLENBQUM7Z0JBQ0csUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQzthQUNwQyxDQUFjO1FBRmYsQ0FFZSxDQUN0QixDQUFDO1FBRUY7O1dBRUc7UUFDSCxJQUFNLGNBQWMsR0FBRyxHQUFHLENBQ3RCLGdCQUFnQixFQUNoQixzQkFBb0IsRUFDcEIsVUFBQyxJQUFxQjtZQUNsQixPQUFBLENBQUM7Z0JBQ0csUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQztnQkFDakMsV0FBVyxFQUFFLFNBQVM7YUFDekIsQ0FBYztRQUhmLENBR2UsQ0FDdEIsQ0FBQztRQUVGOztXQUVHO1FBQ0gsSUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQ3pCLG1CQUFtQixFQUNuQixzQkFBb0IsRUFDcEIsVUFBQyxJQUFxQjtZQUNsQixPQUFBLENBQUM7Z0JBQ0csUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQztnQkFDakMsV0FBVyxFQUFFLGdCQUFnQjthQUNoQyxDQUFjO1FBSGYsQ0FHZSxDQUN0QixDQUFDO1FBRUY7O1dBRUc7UUFDSCxJQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FDekIsbUJBQW1CLEVBQ25CLHNCQUFvQixFQUNwQixVQUFDLElBQXFCO1lBQ2xCLE9BQUEsQ0FBQztnQkFDRyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxXQUFXLEVBQUUsWUFBWTthQUM1QixDQUFjO1FBSGYsQ0FHZSxDQUN0QixDQUFDO1FBRUYsT0FBTztZQUNILGNBQWMsZ0JBQUE7WUFDZCxXQUFXLGFBQUE7WUFDWCxpQkFBaUIsbUJBQUE7WUFDakIsaUJBQWlCLG1CQUFBO1NBQ3BCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDdEI7O1dBRUc7UUFFSCxJQUFNLGVBQWUsR0FBRyxHQUFHLENBQ3ZCLGlCQUFpQixFQUNqQiwwQkFBd0IsRUFDeEIsVUFBQyxJQUFxQjtZQUNsQixPQUFBLENBQUM7Z0JBQ0csUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQzthQUNwQyxDQUFrQjtRQUZuQixDQUVtQixDQUMxQixDQUFDO1FBRUYsT0FBTztZQUNILGVBQWUsaUJBQUE7U0FDbEIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLElBQUksS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUN4Qjs7V0FFRztRQUVILElBQU0saUJBQWlCLEdBQUcsR0FBRyxDQUN6QixtQkFBbUIsRUFDbkIsNEJBQTBCLEVBQzFCLFVBQUMsSUFBcUI7WUFDbEIsT0FBQSxDQUFDO2dCQUNHLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7YUFDcEMsQ0FBb0I7UUFGckIsQ0FFcUIsQ0FDNUIsQ0FBQztRQUVGLE9BQU87WUFDSCxpQkFBaUIsbUJBQUE7U0FDcEIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN2Qjs7V0FFRztRQUVILElBQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUN4QixrQkFBa0IsRUFDbEIsMkJBQXlCLEVBQ3pCLFVBQUMsSUFBcUI7WUFDbEIsT0FBQSxDQUFDO2dCQUNHLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7YUFDcEMsQ0FBbUI7UUFGcEIsQ0FFb0IsQ0FDM0IsQ0FBQztRQUVGLE9BQU87WUFDSCxnQkFBZ0Isa0JBQUE7U0FDbkIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNwQjs7V0FFRztRQUVILElBQU0sYUFBYSxHQUFHLEdBQUcsQ0FDckIsZUFBZSxFQUNmLHdCQUFzQixFQUN0QixVQUFDLElBQXFCO1lBQ2xCLE9BQUEsQ0FBQztnQkFDRyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2FBQ3BDLENBQWdCO1FBRmpCLENBRWlCLENBQ3hCLENBQUM7UUFFRixPQUFPO1lBQ0gsYUFBYSxlQUFBO1NBQ2hCLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLElBQUksS0FBSyxDQUNYLGdFQUFnRSxDQUNuRSxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsU0FBZ0IsWUFBWSxDQUN4QixnQkFFQzs7SUFFRCxJQUFNLFFBQVEsR0FBRyxtRUFDVixjQUFjLENBQUMsTUFBTSxDQUFDLEdBQ3RCLGNBQWMsQ0FBQyxhQUFhLENBQUMsR0FDN0IsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUN0QixjQUFjLENBQUMsVUFBVSxDQUFDLEdBQzFCLGNBQWMsQ0FBQyxZQUFZLENBQUMsR0FDNUIsY0FBYyxDQUFDLFdBQVcsQ0FBQyxHQUMzQixjQUFjLENBQUMsUUFBUSxDQUFDLENBQ0osQ0FBQztJQUM1QjtZQUFxQiwyQkFBa0M7WUFBaEQ7O1lBc0JQLENBQUM7WUFqQkcsd0JBQU0sR0FBTjtnQkFBQSxpQkFnQkM7Z0JBZkcsT0FBTyxDQUNILG9CQUFDLHlCQUFlLFFBQ1gsVUFBQyxJQUFxQjtvQkFDbkIsT0FBTyxDQUNILG9CQUFDLGdCQUFnQixlQUVOLEtBQUksQ0FBQyxLQUFLLEVBQ1YsUUFBUSxJQUNYLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFFdkMsQ0FDTCxDQUFDO2dCQUNOLENBQUMsQ0FDYSxDQUNyQixDQUFDO1lBQ04sQ0FBQztZQUNMLGNBQUM7UUFBRCxDQUFDLEFBdEJNLENBQWMsS0FBSyxDQUFDLFNBQVM7UUFDaEIsY0FBVyxHQUFHLHVCQUMxQixnQkFBZ0IsQ0FBQyxXQUFXLElBQUksZ0JBQWdCLENBQUMsSUFBSSxJQUFJLFdBQVcsTUFDcEU7V0FtQk47QUFDTixDQUFDO0FBRUQsU0FBZ0IseUJBQXlCLENBQ3JDLGdCQUF3RTs7SUFFeEUsSUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBc0IsQ0FBQztJQUM3RDtZQUFxQiwyQkFBa0M7WUFBaEQ7O1lBc0JQLENBQUM7WUFqQkcsd0JBQU0sR0FBTjtnQkFBQSxpQkFnQkM7Z0JBZkcsT0FBTyxDQUNILG9CQUFDLHlCQUFlLFFBQ1gsVUFBQyxJQUFxQjtvQkFDbkIsT0FBTyxDQUNILG9CQUFDLGdCQUFnQixlQUVOLEtBQUksQ0FBQyxLQUFLLEVBQ1YsUUFBUSxJQUNYLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFFdkMsQ0FDTCxDQUFDO2dCQUNOLENBQUMsQ0FDYSxDQUNyQixDQUFDO1lBQ04sQ0FBQztZQUNMLGNBQUM7UUFBRCxDQUFDLEFBdEJNLENBQWMsS0FBSyxDQUFDLFNBQVM7UUFDaEIsY0FBVyxHQUFHLG9DQUMxQixnQkFBZ0IsQ0FBQyxXQUFXLElBQUksZ0JBQWdCLENBQUMsSUFBSSxJQUFJLFdBQVcsTUFDcEU7V0FtQk47QUFDTixDQUFDO0FBRUQsU0FBZ0IseUJBQXlCLENBQ3JDLGdCQUF3RTs7SUFFeEUsSUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBc0IsQ0FBQztJQUNwRTtZQUFxQiwyQkFBa0M7WUFBaEQ7O1lBc0JQLENBQUM7WUFqQkcsd0JBQU0sR0FBTjtnQkFBQSxpQkFnQkM7Z0JBZkcsT0FBTyxDQUNILG9CQUFDLHlCQUFlLFFBQ1gsVUFBQyxJQUFxQjtvQkFDbkIsT0FBTyxDQUNILG9CQUFDLGdCQUFnQixlQUVOLEtBQUksQ0FBQyxLQUFLLEVBQ1YsUUFBUSxJQUNYLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFFdkMsQ0FDTCxDQUFDO2dCQUNOLENBQUMsQ0FDYSxDQUNyQixDQUFDO1lBQ04sQ0FBQztZQUNMLGNBQUM7UUFBRCxDQUFDLEFBdEJNLENBQWMsS0FBSyxDQUFDLFNBQVM7UUFDaEIsY0FBVyxHQUFHLG9DQUMxQixnQkFBZ0IsQ0FBQyxXQUFXLElBQUksZ0JBQWdCLENBQUMsSUFBSSxJQUFJLFdBQVcsTUFDcEU7V0FtQk47QUFDTixDQUFDO0FBRUQsU0FBZ0IseUJBQXlCLENBQ3JDLGdCQUF3RTs7SUFFeEUsSUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBc0IsQ0FBQztJQUM3RDtZQUFxQiwyQkFBa0M7WUFBaEQ7O1lBc0JQLENBQUM7WUFqQkcsd0JBQU0sR0FBTjtnQkFBQSxpQkFnQkM7Z0JBZkcsT0FBTyxDQUNILG9CQUFDLHlCQUFlLFFBQ1gsVUFBQyxJQUFxQjtvQkFDbkIsT0FBTyxDQUNILG9CQUFDLGdCQUFnQixlQUVOLEtBQUksQ0FBQyxLQUFLLEVBQ1YsUUFBUSxJQUNYLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFFdkMsQ0FDTCxDQUFDO2dCQUNOLENBQUMsQ0FDYSxDQUNyQixDQUFDO1lBQ04sQ0FBQztZQUNMLGNBQUM7UUFBRCxDQUFDLEFBdEJNLENBQWMsS0FBSyxDQUFDLFNBQVM7UUFDaEIsY0FBVyxHQUFHLG9DQUMxQixnQkFBZ0IsQ0FBQyxXQUFXLElBQUksZ0JBQWdCLENBQUMsSUFBSSxJQUFJLFdBQVcsTUFDcEU7V0FtQk47QUFDTixDQUFDO0FBRUQsU0FBZ0IsNkJBQTZCLENBQ3pDLGdCQUVDOztJQUVELElBQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQTBCLENBQUM7SUFDckU7WUFBcUIsMkJBQWtDO1lBQWhEOztZQXNCUCxDQUFDO1lBakJHLHdCQUFNLEdBQU47Z0JBQUEsaUJBZ0JDO2dCQWZHLE9BQU8sQ0FDSCxvQkFBQyx5QkFBZSxRQUNYLFVBQUMsSUFBcUI7b0JBQ25CLE9BQU8sQ0FDSCxvQkFBQyxnQkFBZ0IsZUFFTixLQUFJLENBQUMsS0FBSyxFQUNWLFFBQVEsSUFDWCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBRXZDLENBQ0wsQ0FBQztnQkFDTixDQUFDLENBQ2EsQ0FDckIsQ0FBQztZQUNOLENBQUM7WUFDTCxjQUFDO1FBQUQsQ0FBQyxBQXRCTSxDQUFjLEtBQUssQ0FBQyxTQUFTO1FBQ2hCLGNBQVcsR0FBRyx3Q0FDMUIsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLGdCQUFnQixDQUFDLElBQUksSUFBSSxXQUFXLE1BQ3BFO1dBbUJOO0FBQ04sQ0FBQztBQUVELFNBQWdCLCtCQUErQixDQUMzQyxnQkFFQzs7SUFFRCxJQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsWUFBWSxDQUE0QixDQUFDO0lBQ3pFO1lBQXFCLDJCQUFrQztZQUFoRDs7WUFzQlAsQ0FBQztZQWpCRyx3QkFBTSxHQUFOO2dCQUFBLGlCQWdCQztnQkFmRyxPQUFPLENBQ0gsb0JBQUMseUJBQWUsUUFDWCxVQUFDLElBQXFCO29CQUNuQixPQUFPLENBQ0gsb0JBQUMsZ0JBQWdCLGVBRU4sS0FBSSxDQUFDLEtBQUssRUFDVixRQUFRLElBQ1gsUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUV2QyxDQUNMLENBQUM7Z0JBQ04sQ0FBQyxDQUNhLENBQ3JCLENBQUM7WUFDTixDQUFDO1lBQ0wsY0FBQztRQUFELENBQUMsQUF0Qk0sQ0FBYyxLQUFLLENBQUMsU0FBUztRQUNoQixjQUFXLEdBQUcsMENBQzFCLGdCQUFnQixDQUFDLFdBQVcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksV0FBVyxNQUNwRTtXQW1CTjtBQUNOLENBQUM7QUFFRCxTQUFnQiw4QkFBOEIsQ0FDMUMsZ0JBRUM7O0lBRUQsSUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBMkIsQ0FBQztJQUN2RTtZQUFxQiwyQkFBa0M7WUFBaEQ7O1lBc0JQLENBQUM7WUFqQkcsd0JBQU0sR0FBTjtnQkFBQSxpQkFnQkM7Z0JBZkcsT0FBTyxDQUNILG9CQUFDLHlCQUFlLFFBQ1gsVUFBQyxJQUFxQjtvQkFDbkIsT0FBTyxDQUNILG9CQUFDLGdCQUFnQixlQUVOLEtBQUksQ0FBQyxLQUFLLEVBQ1YsUUFBUSxJQUNYLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFFdkMsQ0FDTCxDQUFDO2dCQUNOLENBQUMsQ0FDYSxDQUNyQixDQUFDO1lBQ04sQ0FBQztZQUNMLGNBQUM7UUFBRCxDQUFDLEFBdEJNLENBQWMsS0FBSyxDQUFDLFNBQVM7UUFDaEIsY0FBVyxHQUFHLHlDQUMxQixnQkFBZ0IsQ0FBQyxXQUFXLElBQUksZ0JBQWdCLENBQUMsSUFBSSxJQUFJLFdBQVcsTUFDcEU7V0FtQk47QUFDTixDQUFDO0FBRUQsU0FBZ0IsMkJBQTJCLENBQ3ZDLGdCQUEwRTs7SUFFMUUsSUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBd0IsQ0FBQztJQUNqRTtZQUFxQiwyQkFBa0M7WUFBaEQ7O1lBc0JQLENBQUM7WUFqQkcsd0JBQU0sR0FBTjtnQkFBQSxpQkFnQkM7Z0JBZkcsT0FBTyxDQUNILG9CQUFDLHlCQUFlLFFBQ1gsVUFBQyxJQUFxQjtvQkFDbkIsT0FBTyxDQUNILG9CQUFDLGdCQUFnQixlQUVOLEtBQUksQ0FBQyxLQUFLLEVBQ1YsUUFBUSxJQUNYLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFFdkMsQ0FDTCxDQUFDO2dCQUNOLENBQUMsQ0FDYSxDQUNyQixDQUFDO1lBQ04sQ0FBQztZQUNMLGNBQUM7UUFBRCxDQUFDLEFBdEJNLENBQWMsS0FBSyxDQUFDLFNBQVM7UUFDaEIsY0FBVyxHQUFHLHNDQUMxQixnQkFBZ0IsQ0FBQyxXQUFXLElBQUksZ0JBQWdCLENBQUMsSUFBSSxJQUFJLFdBQVcsTUFDcEU7V0FtQk47QUFDTixDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rebilly/framepay-react",
3
- "version": "13.123.0",
3
+ "version": "13.125.0",
4
4
  "description": "A React wrapper for Rebilly's FramePay offering out-of-the-box support for Redux and other common React features",
5
5
  "main": "build/index.js",
6
6
  "author": "Rebilly",
@@ -123,7 +123,7 @@ const elementsFabric = (
123
123
  ({
124
124
  Framepay: makeFramepayProps(data),
125
125
  elementType: 'iban',
126
- } as IBANProps),
126
+ }) as IBANProps,
127
127
  );
128
128
 
129
129
  return {
@@ -147,7 +147,7 @@ const elementsFabric = (
147
147
  ({
148
148
  Framepay: makeFramepayProps(data),
149
149
  elementType: 'bankAccountType',
150
- } as BankProps),
150
+ }) as BankProps,
151
151
  );
152
152
 
153
153
  /**
@@ -160,7 +160,7 @@ const elementsFabric = (
160
160
  ({
161
161
  Framepay: makeFramepayProps(data),
162
162
  elementType: 'bankRoutingNumber',
163
- } as BankProps),
163
+ }) as BankProps,
164
164
  );
165
165
 
166
166
  /**
@@ -173,7 +173,7 @@ const elementsFabric = (
173
173
  ({
174
174
  Framepay: makeFramepayProps(data),
175
175
  elementType: 'bankAccountNumber',
176
- } as BankProps),
176
+ }) as BankProps,
177
177
  );
178
178
 
179
179
  return {
@@ -194,7 +194,7 @@ const elementsFabric = (
194
194
  (data: FramePayContext) =>
195
195
  ({
196
196
  Framepay: makeFramepayProps(data),
197
- } as CardProps),
197
+ }) as CardProps,
198
198
  );
199
199
 
200
200
  /**
@@ -207,7 +207,7 @@ const elementsFabric = (
207
207
  ({
208
208
  Framepay: makeFramepayProps(data),
209
209
  elementType: 'cardCvv',
210
- } as CardProps),
210
+ }) as CardProps,
211
211
  );
212
212
 
213
213
  /**
@@ -220,7 +220,7 @@ const elementsFabric = (
220
220
  ({
221
221
  Framepay: makeFramepayProps(data),
222
222
  elementType: 'cardExpiration',
223
- } as CardProps),
223
+ }) as CardProps,
224
224
  );
225
225
 
226
226
  /**
@@ -233,7 +233,7 @@ const elementsFabric = (
233
233
  ({
234
234
  Framepay: makeFramepayProps(data),
235
235
  elementType: 'cardNumber',
236
- } as CardProps),
236
+ }) as CardProps,
237
237
  );
238
238
 
239
239
  return {
@@ -255,7 +255,7 @@ const elementsFabric = (
255
255
  (data: FramePayContext) =>
256
256
  ({
257
257
  Framepay: makeFramepayProps(data),
258
- } as ApplePayProps),
258
+ }) as ApplePayProps,
259
259
  );
260
260
 
261
261
  return {
@@ -274,7 +274,7 @@ const elementsFabric = (
274
274
  (data: FramePayContext) =>
275
275
  ({
276
276
  Framepay: makeFramepayProps(data),
277
- } as SamsungPayProps),
277
+ }) as SamsungPayProps,
278
278
  );
279
279
 
280
280
  return {
@@ -293,7 +293,7 @@ const elementsFabric = (
293
293
  (data: FramePayContext) =>
294
294
  ({
295
295
  Framepay: makeFramepayProps(data),
296
- } as GooglePayProps),
296
+ }) as GooglePayProps,
297
297
  );
298
298
 
299
299
  return {
@@ -312,7 +312,7 @@ const elementsFabric = (
312
312
  (data: FramePayContext) =>
313
313
  ({
314
314
  Framepay: makeFramepayProps(data),
315
- } as PaypalProps),
315
+ }) as PaypalProps,
316
316
  );
317
317
 
318
318
  return {
@@ -1,15 +1,13 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Test Apple Pay</title>
6
+ </head>
3
7
 
4
- <head>
5
- <meta charset="utf-8" />
6
- <title>Test Apple Pay</title>
7
- </head>
8
-
9
- <body>
10
- <div id="app"></div>
11
- <script type="module" src="apple-pay.js"></script>
12
- <script src="nav.js"></script>
13
- </body>
14
-
8
+ <body>
9
+ <div id="app"></div>
10
+ <script type="module" src="apple-pay.js"></script>
11
+ <script src="nav.js"></script>
12
+ </body>
15
13
  </html>