├── .gitignore
├── .npmignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── StripeScriptTag.d.ts
├── StripeTypes.d.ts
├── bundles
├── stripe-angular.umd.js
└── stripe-angular.umd.min.js
├── components
├── StripeBank.component.d.ts
├── StripeCard.component.d.ts
├── StripeComponent.d.ts
└── StripeSource.component.d.ts
├── esm2015
├── StripeScriptTag.js
├── StripeTypes.js
├── components
│ ├── StripeBank.component.js
│ ├── StripeCard.component.js
│ ├── StripeComponent.js
│ └── StripeSource.component.js
├── index.js
└── stripe-angular.js
├── esm2020
├── StripeScriptTag.mjs
├── StripeTypes.mjs
├── components
│ ├── StripeBank.component.mjs
│ ├── StripeCard.component.mjs
│ ├── StripeComponent.mjs
│ └── StripeSource.component.mjs
├── index.mjs
└── stripe-angular.mjs
├── esm5
├── StripeScriptTag.js
├── StripeTypes.js
├── components
│ ├── StripeBank.component.js
│ ├── StripeCard.component.js
│ ├── StripeComponent.js
│ └── StripeSource.component.js
├── index.js
└── stripe-angular.js
├── fesm2015
├── stripe-angular.js
├── stripe-angular.mjs
└── stripe-angular.mjs.map
├── fesm2020
├── stripe-angular.mjs
└── stripe-angular.mjs.map
├── fesm5
└── stripe-angular.js
├── index.d.ts
├── package-lock.json
├── package.json
└── stripe-angular.d.ts
/.gitignore:
--------------------------------------------------------------------------------
1 | *.css.map
2 | *.js.map
3 | node_modules
4 | .DS_Store
5 | daemon
6 | updaters
7 | *.pem
8 | secrets.json
9 |
10 | # Logs
11 | logs
12 | *.log
13 | npm-debug.log*
14 | yarn-debug.log*
15 | yarn-error.log*
16 |
17 | # Runtime data
18 | pids
19 | *.pid
20 | *.seed
21 | *.pid.lock
22 |
23 | # Directory for instrumented libs generated by jscoverage/JSCover
24 | lib-cov
25 |
26 | # Coverage directory used by tools like istanbul
27 | coverage
28 |
29 | # nyc test coverage
30 | .nyc_output
31 |
32 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
33 | .grunt
34 |
35 | # Bower dependency directory (https://bower.io/)
36 | bower_components
37 |
38 | # node-waf configuration
39 | .lock-wscript
40 |
41 | # Compiled binary addons (http://nodejs.org/api/addons.html)
42 | build/Release
43 |
44 | # Dependency directories
45 | node_modules/
46 | jspm_packages/
47 |
48 | # Typescript v1 declaration files
49 | typings/
50 |
51 | # Optional npm cache directory
52 | .npm
53 |
54 | # Optional eslint cache
55 | .eslintcache
56 |
57 | # Optional REPL history
58 | .node_repl_history
59 |
60 | # Output of 'npm pack'
61 | *.tgz
62 |
63 | # Yarn Integrity file
64 | .yarn-integrity
65 |
66 | # dotenv environment variables file
67 | .env
68 |
69 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | updaters/
2 | example/
3 | test/
4 | .gitignore
5 | tsconfig.json
6 | .npmignore
7 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # stripe-angular - Change Log
2 | All notable changes to this project will be documented here.
3 |
4 | ## [1.9.1] - (2023-03)
5 | - Upgraded devDependencies with MAJOR and MINOR version changes
6 | - Upgraded from Angular 12 to 13
7 | - tsconfig.json.target changed from es5 to es6
8 | - tsconfig.json.lib replace es2015 for es2020
9 |
10 |
11 | ## [1.8.0] - (2023-02)
12 | - Upgraded devDependencies with MAJOR and MINOR version changes
13 | - Upgraded from Angular 11 to 12
14 |
15 | ## [1.7.0] - (2021-03-23)
16 | - Support SSR by injecting Document instead of openly using window variable
17 |
18 | ## [1.6.0] - (2021-02-11)
19 |
20 | - stripe-card supports createOptions
21 |
22 | ## [1.5.3] - (2021-01-04)
23 | - stripe-card directive now supports (changed) event
24 |
25 | ## [1.5.1] - (2021-01-04)
26 | - Create Card Payment Method
27 | - Stripe data typings instead of created ones
28 | - Errors like `has no exported member StripeToken` means you need to use `stripe.Token` instead as your typing
29 | - See issue #51
30 | - Demo area has much more testing functionality
31 | - installing `@types/stripe-v3` is now a required peerDependency
32 |
33 | ## [1.4.3] - (2020-11-19)
34 | - more demo support
35 | - fixes
36 |
37 | ## [1.4.0] - (2020-11-19)
38 | - stripe-card now has [(complete)], [complete] and (completeChange) bindings
39 | - Better typings
40 |
41 | ## [1.3.0] - (2020-11-18)
42 | - built on Angular11
43 | - creating payment source now accepts parameters
44 | - metadata, owner, and so on...
45 |
46 | ## [1.1.0] - (2020-05-25)
47 | - stripe-card now has (cardMounted) output binding
48 |
49 | ## [0.6.0] - (2019-08-17)
50 | - move templates into components to just satify Ivy
51 |
52 | ## [0.5.0] - (2019-06-07)
53 | - built in strict mode
54 | - built on ng8
55 | - upgraded test process
56 |
57 | ## [0.4.2] - (2019-04-03)
58 | - Documentation
59 | - Remove extra data from createSource
60 | - stripe-bank does NOT work with Stripe source. Removed for now
61 |
62 | ## [0.4.1] - (2019-03-25)
63 | - Made stripe-source a base component of stripe-bank and stripe-card
64 |
65 | ## [0.4.0] - (2019-03-25)
66 | - BETA: Added support for creating sources as stripe-source component
67 |
68 | ## [0.3.2] - (2018-03-25)
69 | - Fix loading Stripe when its already been loaded before
70 |
71 | ## [0.3.1] - (2018-03-25)
72 | - Fix context of StripeCard component init function
73 | - updated dependencies
74 |
75 | ## [0.2.4] - (2018-12-10)
76 | - Support lazy loading with forRoot() module definition
77 |
78 | ## [0.2.4] - (2018-12-07)
79 | - correct loading sequence
80 |
81 | ## [0.2.3] - (2018-12-06)
82 | - potential fix for race loading issue
83 |
84 | ## [0.2.1] - (2018-10-29)
85 | - Removed hello world from bad stripe id
86 | - added bank_account type
87 |
88 | ## [0.2.0] - (2018-10-25)
89 | - Added stripe-bank and Angular7
90 |
91 | ## [0.1.0] - (2018-01-26)
92 | - added [(invalid)] two way binding for when validation fails
93 | ### Breaking Changes
94 | - (catch) is only called when a non validation_error occurs
95 |
96 | ## [0.0.3] - (2018-01-09)
97 | - made StripeCard component available from index as an export
98 |
99 | ## [0.0.0] - (2018-01-09)
100 | - init commit
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Acker Dawn Apple
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # stripe-angular
2 | Angular to Stripe module containing useful providers, components, and directives
3 |
4 | [demo page](https://ackerapple.github.io/stripe-angular)
5 |
6 | [](https://ackerapple.github.io/resume/)
7 | [](http://badge.fury.io/js/stripe-angular)
8 | [](https://npmjs.org/stripe-angular)
9 | [](https://ci.appveyor.com/project/AckerApple/stripe-angular/branch/master)
10 | [](https://travis-ci.org/AckerApple/stripe-angular)
11 | [](https://david-dm.org/ackerapple/stripe-angular)
12 | [](https://bundlephobia.com/result?p=stripe-angular)
13 | [](https://bundlephobia.com/result?p=stripe-angular)
14 |
15 | ### Table of Contents
16 |
17 | - [Install](#install)
18 | - [Inject](#inject)
19 | - [Async Inject](#async-inject)
20 | - [Use](#use)
21 | - [stripe-card](#stripe-card)
22 | - [stripe-bank](#stripe-bank)
23 | - [stripe-source](#stripe-source)
24 | - [Examples](#examples)
25 |
26 | ## Install
27 | From a command terminal type the following
28 | ```
29 | npm install stripe-angular @types/stripe-v3 --save
30 | ```
31 |
32 | ## Inject
33 | Make stripe-angular available throughout your app
34 |
35 | ```typescript
36 | import { NgModule } from "@angular/core";
37 | import { StripeModule } from "stripe-angular"
38 |
39 | @NgModule({
40 | imports: [ StripeModule.forRoot("...YOUR-STRIPE-KEY-HERE...") ]
41 | }) export class AppModule {}
42 | ```
43 |
44 | > Please note, you only use `.forRoot()` on your base app module
45 | >> This ONLY matters if you need to support lazy loading via loadChildren()
46 |
47 | **NOTE WORTHY**
48 | Here are the operations preformed on construction on Stripe functionality
49 | - Checking for window.Stripe existence
50 | - If undefined THEN script tag with src `https://js.stripe.com/v3/` is append to html head tag
51 | - Set publishableKey in StripeJs library
52 | - All stripe-angular components reuse the same initialized Stripe instance (Injector)
53 |
54 | ### Inject Async
55 | The stripe key can be set asynchronously.
56 |
57 | **Step 1**, In app.module.ts set key to empty string
58 | ```typescript
59 | import { NgModule } from "@angular/core";
60 | import { StripeModule } from "stripe-angular"
61 |
62 | @NgModule({imports: [ StripeModule.forRoot("") ]}) export class AppModule {}
63 | ```
64 |
65 | **Step 2**, Where you use Stripe elements, do a variation of this code below, according to your needs.
66 | ```typescript
67 | import { StripeScriptTag } from "stripe-angular"
68 |
69 | class Component {
70 | constructor(private stripeScriptTag: StripeScriptTag) {
71 | if (!this.stripeScriptTag.StripeInstance) {
72 | this.stripeScriptTag.setPublishableKey('');
73 | }
74 | }
75 | }
76 | ```
77 |
78 | ## Capture Payment Method
79 |
80 | The Payment Methods API replaces the existing Tokens and Sources APIs as the recommended way for integrations to collect and store payment information.
81 |
82 | It is not longer recommended to use Stripe terminologies for "Source" and "Token". Use "Payment Method" instead.
83 |
84 | [Read more here](https://stripe.com/docs/payments/payment-methods/transitioning)
85 |
86 | ## Use
87 | A practical example to convert card data into a Stripe Payment Method
88 |
89 | > Requires you to have already [initialized Stripe](#init)
90 |
91 | ```typescript
92 | import { Component } from "@angular/core"
93 |
94 | const template=
95 | `
96 |
97 | {{ invalidError.message }}
98 |
99 |
100 |
109 |
110 |
111 |
112 |
113 | `
114 |
115 | @Component({
116 | selector: "app-sub-page",
117 | template: template
118 | }) export class AppComponent{
119 | cardCaptureReady = false
120 |
121 | onStripeInvalid( error: Error ){
122 | console.log('Validation Error', error)
123 | }
124 |
125 | onStripeError( error: Error ){
126 | console.error('Stripe error', error)
127 | }
128 |
129 | setPaymentMethod( token: stripe.paymentMethod.PaymentMethod ){
130 | console.log('Stripe Payment Method', token)
131 | }
132 |
133 | setStripeToken( token: stripe.Token ){
134 | console.log('Stripe Token', token)
135 | }
136 |
137 | setStripeSource( source: stripe.Source ){
138 | console.log('Stripe Source', source)
139 | }
140 | }
141 | ```
142 |
143 | ### stripe-card
144 | Builds a display for card intake and then helps tokenize those inputs
145 |
146 | | Value | Description | Default |
147 | | ------------- | ------------- | ------------- |
148 | | token | `@Output` the generated token hash | |
149 | | invalid | `@Output` any invalid error | |
150 | | complete | `@Output` card details | |
151 | | options | [Card Element options](https://stripe.com/docs/js/elements_object/create_element?type=card#elements_create-options) | ElementsOptions |
152 | | createOptions | [Elements options](https://stripe.com/docs/js/elements_object/create) | ElementsCreateOptions |
153 | | tokenChange | ``token has been changed | |
154 | | invalidChange | ``invalid data has been changed | |
155 | | completeChange | ``details has been completed | |
156 | | cardMounted | ``card has been mounted | |
157 | | changed | ``details has been changed | |
158 | | catcher | ``catch any errors | |
159 |
160 | #### Examples
161 |
162 | **stripe-card common example**
163 |
164 | ```html
165 |
172 |
173 |
174 | ```
175 |
176 | **stripe-card token bindings**
177 | ```html
178 |
182 |
183 | ```
184 |
185 | ### stripe-bank
186 | Helps tokenize banking data. Does NOT include display inputs like stripe-card does.
187 | [see stripe docs](https://stripe.com/docs/stripe-js/reference#collecting-bank-account-details)
188 |
189 | | Value | Description | Default |
190 | | ------------- | ------------- | ------------- |
191 | | token | `@Output` the generated token hash | |
192 | | invalid | `@Output` any invalid error | |
193 | | options | [Card Element options](https://stripe.com/docs/js/elements_object/create_element?type=card#elements_create-options) | ElementsOptions |
194 | | tokenChange | ``token has been changed | |
195 | | invalidChange | ``invalid data has been changed | |
196 | | catcher | ``catch any errors | |
197 |
198 | > For stripe-bank input fields, be sure to use the above mentioned link
199 | >> Here is the most commonly used input fields:
200 | ```
201 | country: "US",
202 | currency: "usd",
203 | routing_number: "110000000",
204 | account_number: "000123456789",
205 | account_holder_name: "Jenny Rosen",
206 | account_holder_type: "individual"
207 | ```
208 |
209 | #### Example
210 |
211 | ```html
212 |
217 |
218 |
219 | ```
220 |
221 | ### stripe-source
222 |
223 | > This approach is not recommended any more and it is instead recommended to use the Payment Method terminology and functionality
224 | >> [Documentation can be read here](https://stripe.com/docs/payments/payment-methods/transitioning)
225 |
226 | | Value | Description | Default |
227 | | ------------- | ------------- | ------------- |
228 | | source | `@Output` the generated source hash | |
229 | | invalid | `@Output` any invalid error | |
230 | | paymentMethod | Reference to [Stripe Payment Method](https://stripe.com/docs/api/payment_methods/create) | |
231 | | sourceChange | ``source has been changed | |
232 | | invalidChange | ``invalid data has been changed | |
233 | | paymentMethodChange | ``payment method has been changed | |
234 | | catcher | ``catch any errors | |
235 |
236 | - [stripe sources docs](https://stripe.com/docs/sources)
237 | - [best practices](https://stripe.com/docs/sources/best-practices)
238 | - [api reference](https://stripe.com/docs/stripe-js/reference#stripe-create-source)
239 |
240 | #### Example
241 |
242 | **stripe-card source bindings**
243 | ```html
244 |
248 |
249 | ```
250 |
251 | ### Another Examples
252 |
253 | **stripe-card payment method bindings**
254 | ```html
255 |
264 |
265 | ```
266 |
--------------------------------------------------------------------------------
/StripeScriptTag.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import { Stripe } from "./StripeTypes";
3 | import * as i0 from "@angular/core";
4 | export declare class StripeScriptTag {
5 | private document;
6 | src: string;
7 | Stripe: Stripe;
8 | StripeInstance: stripe.Stripe;
9 | load: Promise;
10 | window: any;
11 | constructor(document: any, key?: string, options?: stripe.StripeOptions);
12 | promiseStripe(): Promise;
13 | promiseInstance(): Promise;
14 | setPublishableKey(key: string, options?: stripe.StripeOptions): Promise;
15 | injectIntoHead(): Promise;
16 | grabStripe(): Stripe;
17 | getTargetTagDropElement(): any;
18 | static ɵfac: i0.ɵɵFactoryDeclaration;
19 | static ɵprov: i0.ɵɵInjectableDeclaration;
20 | }
21 |
--------------------------------------------------------------------------------
/StripeTypes.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import { InjectionToken } from '@angular/core';
3 | export declare const STRIPE_PUBLISHABLE_KEY: InjectionToken;
4 | export declare const STRIPE_OPTIONS: InjectionToken;
5 | export interface Stripe {
6 | (string: string, options?: stripe.StripeOptions): stripe.Stripe;
7 | }
8 | export interface BankAccountTokenOptions extends stripe.BankAccountTokenOptions {
9 | metadata?: Record;
10 | }
11 |
--------------------------------------------------------------------------------
/bundles/stripe-angular.umd.min.js:
--------------------------------------------------------------------------------
1 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("stripe-angular",["exports","@angular/core","@angular/common"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["stripe-angular"]={},t.ng.core,t.ng.common)}(this,(function(t,e,r){"use strict";
2 | /*! *****************************************************************************
3 | Copyright (c) Microsoft Corporation.
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted.
7 |
8 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14 | PERFORMANCE OF THIS SOFTWARE.
15 | ***************************************************************************** */var n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function i(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function o(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,i,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}var a=new e.InjectionToken("Stripe Publishable Key"),p=new e.InjectionToken("Stripe Options"),s=function(){function t(t,e,r){this.document=t,this.src="https://js.stripe.com/v3/",this.window=this.document.defaultView,this.load=this.injectIntoHead(),e&&this.setPublishableKey(e,r)}return t.prototype.promiseStripe=function(){return this.load},t.prototype.promiseInstance=function(){var t=this;return this.promiseStripe().then((function(e){if(!t.StripeInstance){var r=new Error("Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()");throw r.code="STRIPEKEYNOTSET",r}return t.StripeInstance}))},t.prototype.setPublishableKey=function(t,e){var r=this;return this.load.then((function(){return r.StripeInstance=r.Stripe(t,e)}))},t.prototype.injectIntoHead=function(){var t=this;return this.window&&this.window.Stripe?Promise.resolve(this.Stripe=this.window.Stripe):new Promise((function(e,r){var n=t.getTargetTagDropElement(),i=t.document.createElement("script");i.setAttribute("src",t.src),i.setAttribute("type","text/javascript"),i.addEventListener("load",(function(){t.Stripe=t.grabStripe(),e(t.Stripe)})),n.appendChild(i)}))},t.prototype.grabStripe=function(){return window.Stripe},t.prototype.getTargetTagDropElement=function(){var t=this.document.getElementsByTagName("head");return t.length?t[0]:this.document.getElementsByTagName("body")[0]},t}();s.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new s(e.ɵɵinject(r.DOCUMENT),e.ɵɵinject(a),e.ɵɵinject(p))},token:s,providedIn:"root"}),s.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],s.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[r.DOCUMENT]}]},{type:String,decorators:[{type:e.Inject,args:[a]}]},{type:void 0,decorators:[{type:e.Inject,args:[p]}]}]};var c=function(){function t(t){this.StripeScriptTag=t,this.catcher=new e.EventEmitter,this.invalidChange=new e.EventEmitter}return t.prototype.ngOnInit=function(){this.init()},t.prototype.init=function(){var t=this;return this.StripeScriptTag.promiseInstance().then((function(e){return t.stripe=e}))},t}();c.decorators=[{type:e.Component,args:[{selector:"stripe-component",template:""}]}],c.ctorParameters=function(){return[{type:s}]},c.propDecorators={catcher:[{type:e.Output,args:["catch"]}],invalid:[{type:e.Input}],invalidChange:[{type:e.Output}]};var u=function(t){function r(r){var n=t.call(this,r)||this;return n.StripeScriptTag=r,n.sourceChange=new e.EventEmitter,n.paymentMethodChange=new e.EventEmitter,n}return i(r,t),r.prototype.createSource=function(t){var e=this;return delete this.invalid,this.invalidChange.emit(this.invalid),this.stripe.createSource(this.elements,t).then((function(t){return e.processSourceResult(t)}))},r.prototype.processSourceResult=function(t){if(t.error){var e=t.error;if("validation_error"!==e.type)throw this.catcher.emit(e),e;this.invalidChange.emit(this.invalid=e)}var r=t.source;if(r)return this.sourceChange.emit(this.source=r),r},r.prototype.createPaymentMethod=function(t){var e=this;return delete this.invalid,this.invalidChange.emit(this.invalid),this.stripe.createPaymentMethod("card",this.elements,t).then((function(t){return e.processPaymentMethodResult(t)}))},r.prototype.processPaymentMethodResult=function(t){if(t.error){var e=t.error;if("validation_error"!==e.type)throw this.catcher.emit(e),e;this.invalidChange.emit(this.invalid=e)}var r=t.paymentMethod;if(r)return this.paymentMethodChange.emit(this.paymentMethod=r),r},r}(c);u.decorators=[{type:e.Component,args:[{selector:"stripe-source",template:'\n \n Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
\n \n ',exportAs:"StripeSource"}]}],u.ctorParameters=function(){return[{type:s}]},u.propDecorators={source:[{type:e.Input}],sourceChange:[{type:e.Output}],paymentMethod:[{type:e.Input}],paymentMethodChange:[{type:e.Output}]};var h=function(t){function r(r,n){var i=t.call(this,n)||this;return i.ElementRef=r,i.StripeScriptTag=n,i.tokenChange=new e.EventEmitter,i.cardMounted=new e.EventEmitter,i.complete=!1,i.completeChange=new e.EventEmitter,i.changed=new e.EventEmitter,i.drawn=!1,i}return i(r,t),r.prototype.ngOnInit=function(){var e=this;t.prototype.init.call(this).then((function(){return e.redraw()}))},r.prototype.ngOnChanges=function(t){this.drawn&&(t.options||t.createOptions)&&this.redraw()},r.prototype.redraw=function(){var t=this;this.drawn&&(this.elements.unmount(),this.elements.destroy()),this.elements=this.stripe.elements(this.createOptions).create("card",this.options),this.elements.mount(this.ElementRef.nativeElement),this.cardMounted.emit(this.elements),this.elements.on("change",(function(e){t.changed.emit(e),(e.complete||t.complete&&!e.complete)&&t.completeChange.emit(t.complete=e.complete)})),this.elements.addEventListener("change",(function(e){e.error&&t.invalidChange.emit(t.invalid=e.error)})),this.drawn=!0},r.prototype.createToken=function(t){var e=this;return delete this.invalid,this.invalidChange.emit(this.invalid),this.stripe.createToken(this.elements,t).then((function(t){if(!t.error)return e.tokenChange.emit(e.token=t.token),t.token;if("validation_error"!=t.error.type)throw e.catcher.emit(t.error),t.error;e.invalidChange.emit(e.invalid=t.error)}))},r}(u);h.decorators=[{type:e.Component,args:[{selector:"stripe-card",template:'\n \n Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
\n \n ',exportAs:"StripeCard"}]}],h.ctorParameters=function(){return[{type:e.ElementRef},{type:s}]},h.propDecorators={createOptions:[{type:e.Input}],options:[{type:e.Input}],token:[{type:e.Input}],tokenChange:[{type:e.Output}],cardMounted:[{type:e.Output}],complete:[{type:e.Input}],completeChange:[{type:e.Output}],changed:[{type:e.Output}]};var l=function(t){function r(r){var n=t.call(this,r)||this;return n.StripeScriptTag=r,n.tokenChange=new e.EventEmitter,n}return i(r,t),r.prototype.createToken=function(t){var e=this;return delete this.invalid,this.invalidChange.emit(this.invalid),this.stripe.createToken("bank_account",t).then((function(t){if(!t.error)return e.tokenChange.emit(e.token=t.token),t.token;if("validation_error"!=t.error.type)throw e.catcher.emit(t.error),t.error;e.invalidChange.emit(e.invalid=t.error)}))},r}(c);l.decorators=[{type:e.Component,args:[{selector:"stripe-bank",template:'\n \n Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
\n \n ',exportAs:"StripeBank"}]}],l.ctorParameters=function(){return[{type:s}]},l.propDecorators={options:[{type:e.Input}],token:[{type:e.Input}],tokenChange:[{type:e.Output}]};var d=[c,u,h,l],m=function(){function t(){}return t.forRoot=function(e,r){return{ngModule:t,providers:[s,{provide:a,useValue:e},{provide:p,useValue:r}]}},t}();m.decorators=[{type:e.NgModule,args:[{imports:[r.CommonModule],declarations:d,exports:function(){for(var t=[],e=0;e
2 | import { EventEmitter } from "@angular/core";
3 | import { StripeComponent } from "./StripeComponent";
4 | import { StripeScriptTag } from "../StripeScriptTag";
5 | import * as i0 from "@angular/core";
6 | export declare class StripeBank extends StripeComponent {
7 | StripeScriptTag: StripeScriptTag;
8 | options: stripe.elements.ElementOptions;
9 | token: stripe.Token;
10 | tokenChange: EventEmitter;
11 | constructor(StripeScriptTag: StripeScriptTag);
12 | createToken(data: stripe.BankAccountTokenOptions): Promise;
13 | static ɵfac: i0.ɵɵFactoryDeclaration;
14 | static ɵcmp: i0.ɵɵComponentDeclaration;
15 | }
16 |
--------------------------------------------------------------------------------
/components/StripeCard.component.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import { ElementRef, EventEmitter } from "@angular/core";
3 | import { StripeScriptTag } from "../StripeScriptTag";
4 | import { StripeSource } from "./StripeSource.component";
5 | import * as i0 from "@angular/core";
6 | export declare class StripeCard extends StripeSource {
7 | ElementRef: ElementRef;
8 | StripeScriptTag: StripeScriptTag;
9 | createOptions: stripe.elements.ElementsCreateOptions;
10 | options: stripe.elements.ElementsOptions;
11 | token: stripe.Token;
12 | tokenChange: EventEmitter;
13 | cardMounted: EventEmitter;
14 | complete: boolean;
15 | completeChange: EventEmitter;
16 | changed: EventEmitter;
17 | drawn: boolean;
18 | constructor(ElementRef: ElementRef, StripeScriptTag: StripeScriptTag);
19 | ngOnInit(): void;
20 | ngOnChanges(changes: any): void;
21 | redraw(): void;
22 | createToken(extraData?: any): Promise;
23 | static ɵfac: i0.ɵɵFactoryDeclaration;
24 | static ɵcmp: i0.ɵɵComponentDeclaration;
25 | }
26 | interface ICardChangeEvent {
27 | "elementType": string;
28 | error?: {
29 | "code": string;
30 | "type": string;
31 | "message": string;
32 | };
33 | "value": {
34 | "postalCode": string;
35 | };
36 | "empty": boolean;
37 | "complete": boolean;
38 | "brand": string;
39 | }
40 | export {};
41 |
--------------------------------------------------------------------------------
/components/StripeComponent.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import { EventEmitter } from "@angular/core";
3 | import { StripeScriptTag } from "../StripeScriptTag";
4 | import * as i0 from "@angular/core";
5 | export declare class StripeComponent {
6 | StripeScriptTag: StripeScriptTag;
7 | catcher: EventEmitter;
8 | invalid?: stripe.Error;
9 | invalidChange: EventEmitter;
10 | stripe: stripe.Stripe;
11 | constructor(StripeScriptTag: StripeScriptTag);
12 | ngOnInit(): void;
13 | init(): Promise;
14 | static ɵfac: i0.ɵɵFactoryDeclaration;
15 | static ɵcmp: i0.ɵɵComponentDeclaration;
16 | }
17 |
--------------------------------------------------------------------------------
/components/StripeSource.component.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import { EventEmitter } from "@angular/core";
3 | import { StripeScriptTag } from "../StripeScriptTag";
4 | import { StripeComponent } from "./StripeComponent";
5 | import * as i0 from "@angular/core";
6 | export declare class StripeSource extends StripeComponent {
7 | StripeScriptTag: StripeScriptTag;
8 | source?: stripe.Source;
9 | sourceChange: EventEmitter;
10 | paymentMethod?: stripe.paymentMethod.PaymentMethod;
11 | paymentMethodChange: EventEmitter;
12 | elements: any;
13 | constructor(StripeScriptTag: StripeScriptTag);
14 | createSource(extraData: {
15 | owner?: stripe.OwnerInfo;
16 | metadata?: any;
17 | }): Promise;
18 | processSourceResult(result: stripe.SourceResponse): stripe.Source | void;
19 | createPaymentMethod(extraData: {
20 | owner?: stripe.OwnerInfo;
21 | metadata?: any;
22 | }): Promise;
23 | processPaymentMethodResult(result: stripe.PaymentMethodResponse): stripe.paymentMethod.PaymentMethod | void;
24 | static ɵfac: i0.ɵɵFactoryDeclaration;
25 | static ɵcmp: i0.ɵɵComponentDeclaration;
26 | }
27 |
--------------------------------------------------------------------------------
/esm2015/StripeScriptTag.js:
--------------------------------------------------------------------------------
1 | import { DOCUMENT } from '@angular/common';
2 | import { Injectable, Inject } from "@angular/core";
3 | import { STRIPE_PUBLISHABLE_KEY, STRIPE_OPTIONS
4 | //, StripeCard, StripeToken
5 | } from "./StripeTypes";
6 | import * as i0 from "@angular/core";
7 | import * as i1 from "@angular/common";
8 | import * as i2 from "./StripeTypes";
9 | export class StripeScriptTag {
10 | constructor(document, key, options) {
11 | this.document = document;
12 | this.src = "https://js.stripe.com/v3/";
13 | this.window = this.document.defaultView;
14 | this.load = this.injectIntoHead();
15 | if (key)
16 | this.setPublishableKey(key, options);
17 | }
18 | promiseStripe() {
19 | return this.load;
20 | }
21 | promiseInstance() {
22 | return this.promiseStripe()
23 | .then(stripe => {
24 | if (!this.StripeInstance) {
25 | const err = new Error("Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()");
26 | err["code"] = "STRIPEKEYNOTSET";
27 | throw err;
28 | //return Promise.reject( err )
29 | }
30 | return this.StripeInstance;
31 | });
32 | }
33 | setPublishableKey(key, options) {
34 | return this.load.then(() => this.StripeInstance = this.Stripe(key, options));
35 | }
36 | injectIntoHead() {
37 | if (this.window && this.window["Stripe"]) {
38 | return Promise.resolve(this.Stripe = this.window["Stripe"]);
39 | }
40 | return new Promise((res, rej) => {
41 | const head = this.getTargetTagDropElement();
42 | const script = this.document.createElement("script");
43 | script.setAttribute("src", this.src);
44 | script.setAttribute("type", "text/javascript");
45 | script.addEventListener("load", () => {
46 | this.Stripe = this.grabStripe();
47 | res(this.Stripe);
48 | });
49 | head.appendChild(script);
50 | });
51 | }
52 | grabStripe() {
53 | return window["Stripe"];
54 | }
55 | getTargetTagDropElement() {
56 | let elm = this.document.getElementsByTagName("head");
57 | if (elm.length)
58 | return elm[0];
59 | return this.document.getElementsByTagName("body")[0];
60 | }
61 | }
62 | StripeScriptTag.ɵprov = i0.ɵɵdefineInjectable({ factory: function StripeScriptTag_Factory() { return new StripeScriptTag(i0.ɵɵinject(i1.DOCUMENT), i0.ɵɵinject(i2.STRIPE_PUBLISHABLE_KEY), i0.ɵɵinject(i2.STRIPE_OPTIONS)); }, token: StripeScriptTag, providedIn: "root" });
63 | StripeScriptTag.decorators = [
64 | { type: Injectable, args: [{ providedIn: 'root' },] }
65 | ];
66 | StripeScriptTag.ctorParameters = () => [
67 | { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
68 | { type: String, decorators: [{ type: Inject, args: [STRIPE_PUBLISHABLE_KEY,] }] },
69 | { type: undefined, decorators: [{ type: Inject, args: [STRIPE_OPTIONS,] }] }
70 | ];
71 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlU2NyaXB0VGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0cmlwZVNjcmlwdFRhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEQsT0FBTyxFQUNHLHNCQUFzQixFQUFFLGNBQWM7QUFDOUMsMkJBQTJCO0VBQzVCLE1BQU0sZUFBZSxDQUFBOzs7O0FBRVksTUFBTSxPQUFPLGVBQWU7SUFPNUQsWUFDNEIsUUFBYSxFQUNQLEdBQVksRUFDcEIsT0FBOEI7UUFGNUIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQVB6QyxRQUFHLEdBQVUsMkJBQTJCLENBQUE7UUFXdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUNqQyxJQUFJLEdBQUc7WUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFO2FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUEsRUFBRTtZQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN4QixNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQywrRUFBK0UsQ0FBQyxDQUFBO2dCQUN0RyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsaUJBQWlCLENBQUE7Z0JBQy9CLE1BQU0sR0FBRyxDQUFBO2dCQUNULDhCQUE4QjthQUMvQjtZQUVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUM1QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxpQkFBaUIsQ0FDZixHQUFVLEVBQ1YsT0FBNkI7UUFFN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBRSxHQUFFLEVBQUUsQ0FDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FDaEQsQ0FBQTtJQUNILENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDeEMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQVEsQ0FBRSxDQUFBO1NBQ3JFO1FBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtZQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUNwRCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDcEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtZQUU5QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFDLEdBQUUsRUFBRTtnQkFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7Z0JBQy9CLEdBQUcsQ0FBRSxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUE7WUFDcEIsQ0FBQyxDQUFDLENBQUE7WUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFcEQsSUFBRyxHQUFHLENBQUMsTUFBTTtZQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTNCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN0RCxDQUFDOzs7O1lBMUVGLFVBQVUsU0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7Ozs0Q0FRM0IsTUFBTSxTQUFDLFFBQVE7eUNBQ2YsTUFBTSxTQUFDLHNCQUFzQjs0Q0FDN0IsTUFBTSxTQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHtcbiAgU3RyaXBlLCBTVFJJUEVfUFVCTElTSEFCTEVfS0VZLCBTVFJJUEVfT1BUSU9OU1xuICAvLywgU3RyaXBlQ2FyZCwgU3RyaXBlVG9rZW5cbn0gZnJvbSBcIi4vU3RyaXBlVHlwZXNcIlxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSkgZXhwb3J0IGNsYXNzIFN0cmlwZVNjcmlwdFRhZyB7XG4gIHNyYzpzdHJpbmcgPSBcImh0dHBzOi8vanMuc3RyaXBlLmNvbS92My9cIlxuICBTdHJpcGUhOlN0cmlwZS8vc2V0IGF0IHJ1bnRpbWVcbiAgU3RyaXBlSW5zdGFuY2UhOnN0cmlwZS5TdHJpcGVcbiAgbG9hZDpQcm9taXNlPGFueT5cbiAgd2luZG93OiBhbnlcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksXG4gICAgQEluamVjdChTVFJJUEVfUFVCTElTSEFCTEVfS0VZKSBrZXk/OiBzdHJpbmcsXG4gICAgQEluamVjdChTVFJJUEVfT1BUSU9OUykgb3B0aW9ucz86IHN0cmlwZS5TdHJpcGVPcHRpb25zLFxuICApe1xuICAgIHRoaXMud2luZG93ID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldztcbiAgICB0aGlzLmxvYWQgPSB0aGlzLmluamVjdEludG9IZWFkKClcbiAgICBpZiAoa2V5KSB0aGlzLnNldFB1Ymxpc2hhYmxlS2V5KGtleSwgb3B0aW9ucylcbiAgfVxuXG4gIHByb21pc2VTdHJpcGUoKTpQcm9taXNlPFN0cmlwZT57XG4gICAgcmV0dXJuIHRoaXMubG9hZFxuICB9XG5cbiAgcHJvbWlzZUluc3RhbmNlKCk6UHJvbWlzZTxzdHJpcGUuU3RyaXBlPntcbiAgICByZXR1cm4gdGhpcy5wcm9taXNlU3RyaXBlKClcbiAgICAudGhlbihzdHJpcGU9PntcbiAgICAgIGlmKCAhdGhpcy5TdHJpcGVJbnN0YW5jZSApe1xuICAgICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoXCJTdHJpcGUgUHVibGlzaGFibGVLZXkgTk9UIFNFVC4gVXNlIG1ldGhvZCBTdHJpcGVTY3JpcHRUYWcuc2V0UHVibGlzaGFibGVLZXkoKVwiKVxuICAgICAgICBlcnJbXCJjb2RlXCJdID0gXCJTVFJJUEVLRVlOT1RTRVRcIlxuICAgICAgICB0aHJvdyBlcnJcbiAgICAgICAgLy9yZXR1cm4gUHJvbWlzZS5yZWplY3QoIGVyciApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLlN0cmlwZUluc3RhbmNlXG4gICAgfSlcbiAgfVxuXG4gIHNldFB1Ymxpc2hhYmxlS2V5KFxuICAgIGtleTpzdHJpbmcsXG4gICAgb3B0aW9ucz86c3RyaXBlLlN0cmlwZU9wdGlvbnNcbiAgKTpQcm9taXNlPHN0cmlwZS5TdHJpcGU+e1xuICAgIHJldHVybiB0aGlzLmxvYWQudGhlbiggKCk9PlxuICAgICAgdGhpcy5TdHJpcGVJbnN0YW5jZSA9IHRoaXMuU3RyaXBlKGtleSwgb3B0aW9ucylcbiAgICApXG4gIH1cblxuICBpbmplY3RJbnRvSGVhZCgpOlByb21pc2U8U3RyaXBlPntcbiAgICBpZiggdGhpcy53aW5kb3cgJiYgdGhpcy53aW5kb3dbXCJTdHJpcGVcIl0gKXtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIHRoaXMuU3RyaXBlID0gdGhpcy53aW5kb3dbXCJTdHJpcGVcIl0gYXMgYW55IClcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlcyxyZWopPT57XG4gICAgICBjb25zdCBoZWFkID0gdGhpcy5nZXRUYXJnZXRUYWdEcm9wRWxlbWVudCgpXG4gICAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIilcbiAgICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoXCJzcmNcIiwgdGhpcy5zcmMpXG4gICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcInRleHQvamF2YXNjcmlwdFwiKVxuXG4gICAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwoKT0+e1xuICAgICAgICB0aGlzLlN0cmlwZSA9IHRoaXMuZ3JhYlN0cmlwZSgpXG4gICAgICAgIHJlcyggdGhpcy5TdHJpcGUgKVxuICAgICAgfSlcblxuICAgICAgaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpXG4gICAgfSlcbiAgfVxuXG4gIGdyYWJTdHJpcGUoKTogU3RyaXBlIHtcbiAgICByZXR1cm4gd2luZG93W1wiU3RyaXBlXCJdIGFzIGFueTtcbiAgfVxuXG4gIGdldFRhcmdldFRhZ0Ryb3BFbGVtZW50KCl7XG4gICAgbGV0IGVsbSA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpXG5cbiAgICBpZihlbG0ubGVuZ3RoKXJldHVybiBlbG1bMF1cblxuICAgIHJldHVybiB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYm9keVwiKVswXVxuICB9XG59XG4iXX0=
--------------------------------------------------------------------------------
/esm2015/StripeTypes.js:
--------------------------------------------------------------------------------
1 | import { InjectionToken } from '@angular/core';
2 | export const STRIPE_PUBLISHABLE_KEY = new InjectionToken('Stripe Publishable Key');
3 | export const STRIPE_OPTIONS = new InjectionToken('Stripe Options');
4 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RyaXBlVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyx3QkFBd0IsQ0FBQyxDQUFBO0FBQzFGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsZ0JBQWdCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBTVFJJUEVfUFVCTElTSEFCTEVfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ1N0cmlwZSBQdWJsaXNoYWJsZSBLZXknKVxuZXhwb3J0IGNvbnN0IFNUUklQRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPHN0cmlwZS5TdHJpcGVPcHRpb25zPignU3RyaXBlIE9wdGlvbnMnKVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmlwZXtcbiAgKHN0cmluZzpzdHJpbmcsb3B0aW9ucz86c3RyaXBlLlN0cmlwZU9wdGlvbnMpOnN0cmlwZS5TdHJpcGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYW5rQWNjb3VudFRva2VuT3B0aW9ucyBleHRlbmRzIHN0cmlwZS5CYW5rQWNjb3VudFRva2VuT3B0aW9ucyB7XG4gIG1ldGFkYXRhPzpSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufSJdfQ==
--------------------------------------------------------------------------------
/esm2015/components/StripeBank.component.js:
--------------------------------------------------------------------------------
1 | import { Input, Output, EventEmitter, Component } from "@angular/core";
2 | import { StripeComponent } from "./StripeComponent";
3 | import { StripeScriptTag } from "../StripeScriptTag";
4 | export class StripeBank extends StripeComponent {
5 | constructor(StripeScriptTag) {
6 | super(StripeScriptTag);
7 | this.StripeScriptTag = StripeScriptTag;
8 | this.tokenChange = new EventEmitter();
9 | }
10 | createToken(data) {
11 | delete this.invalid;
12 | this.invalidChange.emit(this.invalid);
13 | return this.stripe.createToken('bank_account', data)
14 | .then((result) => {
15 | if (result.error) {
16 | if (result.error.type == "validation_error") {
17 | this.invalidChange.emit(this.invalid = result.error);
18 | }
19 | else {
20 | this.catcher.emit(result.error);
21 | throw result.error;
22 | }
23 | }
24 | else {
25 | this.tokenChange.emit(this.token = result.token);
26 | return result.token;
27 | }
28 | });
29 | }
30 | }
31 | StripeBank.decorators = [
32 | { type: Component, args: [{
33 | selector: "stripe-bank",
34 | template: `
35 |
36 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
37 |
38 | `,
39 | exportAs: "StripeBank"
40 | },] }
41 | ];
42 | StripeBank.ctorParameters = () => [
43 | { type: StripeScriptTag }
44 | ];
45 | StripeBank.propDecorators = {
46 | options: [{ type: Input }],
47 | token: [{ type: Input }],
48 | tokenChange: [{ type: Output }]
49 | };
50 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlQmFuay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TdHJpcGVCYW5rLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUN2QyxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBVWpELE1BQU0sT0FBTyxVQUFXLFNBQVEsZUFBZTtJQU1oRCxZQUNTLGVBQStCO1FBRXRDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUZmLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUg5QixnQkFBVyxHQUE4QixJQUFJLFlBQVksRUFBRSxDQUFBO0lBTXJFLENBQUM7SUFFRCxXQUFXLENBQUUsSUFBb0M7UUFDL0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUVyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUM7YUFDbkQsSUFBSSxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDcEIsSUFBRyxNQUFNLENBQUMsS0FBSyxFQUFDO2dCQUNkLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUUsa0JBQWtCLEVBQUU7b0JBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBQyxPQUFPLEdBQUMsTUFBTSxDQUFDLEtBQUssQ0FBRSxDQUFBO2lCQUNyRDtxQkFBSTtvQkFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7b0JBQy9CLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQTtpQkFDbkI7YUFDRjtpQkFBSTtnQkFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDOUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFBO2FBQ3BCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF0Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUU7Ozs7R0FJVDtnQkFDRCxRQUFRLEVBQUMsWUFBWTthQUN0Qjs7O1lBVlEsZUFBZTs7O3NCQVdyQixLQUFLO29CQUVMLEtBQUs7MEJBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcbmltcG9ydCB7IFN0cmlwZUNvbXBvbmVudCB9IGZyb20gXCIuL1N0cmlwZUNvbXBvbmVudFwiXG5pbXBvcnQgeyBTdHJpcGVTY3JpcHRUYWcgfSBmcm9tIFwiLi4vU3RyaXBlU2NyaXB0VGFnXCJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN0cmlwZS1iYW5rXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIVN0cmlwZVNjcmlwdFRhZy5TdHJpcGVJbnN0YW5jZVwiPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJjb2xvcjpyZWQ7XCI+U3RyaXBlIFB1Ymxpc2hhYmxlS2V5IE5PVCBTRVQuIFVzZSBtZXRob2QgU3RyaXBlU2NyaXB0VGFnLnNldFB1Ymxpc2hhYmxlS2V5KCk8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBleHBvcnRBczpcIlN0cmlwZUJhbmtcIlxufSkgZXhwb3J0IGNsYXNzIFN0cmlwZUJhbmsgZXh0ZW5kcyBTdHJpcGVDb21wb25lbnR7XG4gIEBJbnB1dCgpIG9wdGlvbnMhOiBzdHJpcGUuZWxlbWVudHMuRWxlbWVudE9wdGlvbnMgLy8gdmVyeSBzaW1pbGFyIHR5cGUgdG8gY2FyZCBvcHRpb25zXG5cbiAgQElucHV0KCkgdG9rZW4hOiBzdHJpcGUuVG9rZW5cbiAgQE91dHB1dCgpIHRva2VuQ2hhbmdlOkV2ZW50RW1pdHRlcjxzdHJpcGUuVG9rZW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIFN0cmlwZVNjcmlwdFRhZzpTdHJpcGVTY3JpcHRUYWdcbiAgKXtcbiAgICBzdXBlcihTdHJpcGVTY3JpcHRUYWcpXG4gIH1cblxuICBjcmVhdGVUb2tlbiggZGF0YTogc3RyaXBlLkJhbmtBY2NvdW50VG9rZW5PcHRpb25zKTpQcm9taXNlPHN0cmlwZS5Ub2tlbj57XG4gICAgZGVsZXRlIHRoaXMuaW52YWxpZFxuICAgIHRoaXMuaW52YWxpZENoYW5nZS5lbWl0KHRoaXMuaW52YWxpZClcblxuICAgIHJldHVybiB0aGlzLnN0cmlwZS5jcmVhdGVUb2tlbignYmFua19hY2NvdW50JywgZGF0YSlcbiAgICAudGhlbigocmVzdWx0OiBhbnkpID0+IHsgLy8gVG9rZW5SZXNwb25zZVxuICAgICAgaWYocmVzdWx0LmVycm9yKXtcbiAgICAgICAgaWYoIHJlc3VsdC5lcnJvci50eXBlPT1cInZhbGlkYXRpb25fZXJyb3JcIiApe1xuICAgICAgICAgIHRoaXMuaW52YWxpZENoYW5nZS5lbWl0KCB0aGlzLmludmFsaWQ9cmVzdWx0LmVycm9yIClcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgdGhpcy5jYXRjaGVyLmVtaXQocmVzdWx0LmVycm9yKVxuICAgICAgICAgIHRocm93IHJlc3VsdC5lcnJvclxuICAgICAgICB9XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy50b2tlbkNoYW5nZS5lbWl0KHRoaXMudG9rZW49cmVzdWx0LnRva2VuKVxuICAgICAgICByZXR1cm4gcmVzdWx0LnRva2VuXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiBjcmVhdGVTb3VyY2UgKi9cbn1cbiJdfQ==
--------------------------------------------------------------------------------
/esm2015/components/StripeCard.component.js:
--------------------------------------------------------------------------------
1 | import { ElementRef, Input, Output, EventEmitter, Component } from "@angular/core";
2 | import { StripeScriptTag } from "../StripeScriptTag";
3 | import { StripeSource } from "./StripeSource.component";
4 | export class StripeCard extends StripeSource {
5 | constructor(ElementRef, StripeScriptTag) {
6 | super(StripeScriptTag);
7 | this.ElementRef = ElementRef;
8 | this.StripeScriptTag = StripeScriptTag;
9 | this.tokenChange = new EventEmitter();
10 | this.cardMounted = new EventEmitter();
11 | this.complete = false;
12 | this.completeChange = new EventEmitter();
13 | this.changed = new EventEmitter();
14 | this.drawn = false;
15 | }
16 | ngOnInit() {
17 | super.init().then(() => this.redraw());
18 | }
19 | ngOnChanges(changes) {
20 | if (this.drawn && (changes.options || changes.createOptions)) {
21 | this.redraw();
22 | }
23 | }
24 | redraw() {
25 | if (this.drawn) {
26 | this.elements.unmount();
27 | this.elements.destroy();
28 | }
29 | this.elements = this.stripe.elements(this.createOptions).create('card', this.options);
30 | this.elements.mount(this.ElementRef.nativeElement);
31 | this.cardMounted.emit(this.elements);
32 | this.elements.on('change', (result) => {
33 | this.changed.emit(result);
34 | if (result.complete || (this.complete && !result.complete)) {
35 | this.completeChange.emit(this.complete = result.complete);
36 | }
37 | });
38 | this.elements.addEventListener('change', (result) => {
39 | if (result.error) {
40 | this.invalidChange.emit(this.invalid = result.error);
41 | }
42 | });
43 | this.drawn = true;
44 | }
45 | createToken(extraData) {
46 | delete this.invalid;
47 | this.invalidChange.emit(this.invalid);
48 | return this.stripe.createToken(this.elements, extraData)
49 | .then((result) => {
50 | if (result.error) {
51 | if (result.error.type == "validation_error") {
52 | this.invalidChange.emit(this.invalid = result.error);
53 | }
54 | else {
55 | this.catcher.emit(result.error);
56 | throw result.error;
57 | }
58 | }
59 | else {
60 | this.tokenChange.emit(this.token = result.token);
61 | return result.token;
62 | }
63 | });
64 | }
65 | }
66 | StripeCard.decorators = [
67 | { type: Component, args: [{
68 | selector: "stripe-card",
69 | template: `
70 |
71 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
72 |
73 | `,
74 | exportAs: "StripeCard"
75 | },] }
76 | ];
77 | StripeCard.ctorParameters = () => [
78 | { type: ElementRef },
79 | { type: StripeScriptTag }
80 | ];
81 | StripeCard.propDecorators = {
82 | createOptions: [{ type: Input }],
83 | options: [{ type: Input }],
84 | token: [{ type: Input }],
85 | tokenChange: [{ type: Output }],
86 | cardMounted: [{ type: Output }],
87 | complete: [{ type: Input }],
88 | completeChange: [{ type: Output }],
89 | changed: [{ type: Output }]
90 | };
91 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlQ2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TdHJpcGVDYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBVXBELE1BQU0sT0FBTyxVQUFXLFNBQVEsWUFBWTtJQWdCN0MsWUFDUyxVQUFxQixFQUNyQixlQUErQjtRQUV0QyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUE7UUFIZixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3JCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQWI5QixnQkFBVyxHQUE4QixJQUFJLFlBQVksRUFBRSxDQUFBO1FBRTNELGdCQUFXLEdBQXFCLElBQUksWUFBWSxFQUFFLENBQUE7UUFFbkQsYUFBUSxHQUFZLEtBQUssQ0FBQTtRQUN4QixtQkFBYyxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFBO1FBRXpELFlBQU8sR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUVyRSxVQUFLLEdBQUcsS0FBSyxDQUFBO0lBT2IsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUUsRUFBRSxDQUFBLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRCxXQUFXLENBQUUsT0FBVztRQUN0QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDZjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDckYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUVsRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBVyxFQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDekIsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDM0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBVSxFQUFDLEVBQUU7WUFDckQsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO2dCQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUUsQ0FBQTthQUNyRDtRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELFdBQVcsQ0FDVCxTQUFjO1FBRWQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUVyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO2FBQ3ZELElBQUksQ0FBQyxDQUFDLE1BQVUsRUFBQyxFQUFFO1lBQ2xCLElBQUcsTUFBTSxDQUFDLEtBQUssRUFBQztnQkFDZCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFFLGtCQUFrQixFQUFFO29CQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUUsQ0FBQTtpQkFDckQ7cUJBQUk7b0JBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUMvQixNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUE7aUJBQ25CO2FBQ0Y7aUJBQUk7Z0JBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQzlDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQTthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7O1lBdEZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFOzs7O0dBSVQ7Z0JBQ0QsUUFBUSxFQUFDLFlBQVk7YUFDdEI7OztZQVpDLFVBQVU7WUFDSCxlQUFlOzs7NEJBWXJCLEtBQUs7c0JBQ0wsS0FBSztvQkFFTCxLQUFLOzBCQUNMLE1BQU07MEJBRU4sTUFBTTt1QkFFTixLQUFLOzZCQUNMLE1BQU07c0JBRU4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuaW1wb3J0IHsgU3RyaXBlU2NyaXB0VGFnIH0gZnJvbSBcIi4uL1N0cmlwZVNjcmlwdFRhZ1wiXG5pbXBvcnQgeyBTdHJpcGVTb3VyY2UgfSBmcm9tIFwiLi9TdHJpcGVTb3VyY2UuY29tcG9uZW50XCJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN0cmlwZS1jYXJkXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIVN0cmlwZVNjcmlwdFRhZy5TdHJpcGVJbnN0YW5jZVwiPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJjb2xvcjpyZWQ7XCI+U3RyaXBlIFB1Ymxpc2hhYmxlS2V5IE5PVCBTRVQuIFVzZSBtZXRob2QgU3RyaXBlU2NyaXB0VGFnLnNldFB1Ymxpc2hhYmxlS2V5KCk8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBleHBvcnRBczpcIlN0cmlwZUNhcmRcIlxufSkgZXhwb3J0IGNsYXNzIFN0cmlwZUNhcmQgZXh0ZW5kcyBTdHJpcGVTb3VyY2Uge1xuICBASW5wdXQoKSBjcmVhdGVPcHRpb25zITpzdHJpcGUuZWxlbWVudHMuRWxlbWVudHNDcmVhdGVPcHRpb25zXG4gIEBJbnB1dCgpIG9wdGlvbnMhOnN0cmlwZS5lbGVtZW50cy5FbGVtZW50c09wdGlvbnNcblxuICBASW5wdXQoKSB0b2tlbiE6IHN0cmlwZS5Ub2tlblxuICBAT3V0cHV0KCkgdG9rZW5DaGFuZ2U6RXZlbnRFbWl0dGVyPHN0cmlwZS5Ub2tlbj4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBAT3V0cHV0KCkgY2FyZE1vdW50ZWQ6RXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBASW5wdXQoKSBjb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlXG4gIEBPdXRwdXQoKSBjb21wbGV0ZUNoYW5nZTpFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBAT3V0cHV0KCkgY2hhbmdlZDpFdmVudEVtaXR0ZXI8SUNhcmRDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBkcmF3biA9IGZhbHNlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIEVsZW1lbnRSZWY6RWxlbWVudFJlZixcbiAgICBwdWJsaWMgU3RyaXBlU2NyaXB0VGFnOlN0cmlwZVNjcmlwdFRhZ1xuICApe1xuICAgIHN1cGVyKFN0cmlwZVNjcmlwdFRhZylcbiAgfVxuXG4gIG5nT25Jbml0KCl7XG4gICAgc3VwZXIuaW5pdCgpLnRoZW4oKCk9PnRoaXMucmVkcmF3KCkpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyggY2hhbmdlczphbnkgKXtcbiAgICBpZiAodGhpcy5kcmF3biAmJiAoY2hhbmdlcy5vcHRpb25zIHx8IGNoYW5nZXMuY3JlYXRlT3B0aW9ucykpIHtcbiAgICAgIHRoaXMucmVkcmF3KCk7XG4gICAgfVxuICB9XG5cbiAgcmVkcmF3KCkge1xuICAgIGlmICh0aGlzLmRyYXduKSB7XG4gICAgICB0aGlzLmVsZW1lbnRzLnVubW91bnQoKTtcbiAgICAgIHRoaXMuZWxlbWVudHMuZGVzdHJveSgpO1xuICAgIH1cbiAgICB0aGlzLmVsZW1lbnRzID0gdGhpcy5zdHJpcGUuZWxlbWVudHModGhpcy5jcmVhdGVPcHRpb25zKS5jcmVhdGUoJ2NhcmQnLCB0aGlzLm9wdGlvbnMpXG4gICAgdGhpcy5lbGVtZW50cy5tb3VudCh0aGlzLkVsZW1lbnRSZWYubmF0aXZlRWxlbWVudClcblxuICAgIHRoaXMuY2FyZE1vdW50ZWQuZW1pdCh0aGlzLmVsZW1lbnRzKTtcbiAgICB0aGlzLmVsZW1lbnRzLm9uKCdjaGFuZ2UnLCAocmVzdWx0OiBhbnkpPT57XG4gICAgICB0aGlzLmNoYW5nZWQuZW1pdChyZXN1bHQpXG4gICAgICBpZiAocmVzdWx0LmNvbXBsZXRlIHx8ICh0aGlzLmNvbXBsZXRlICYmICFyZXN1bHQuY29tcGxldGUpKSB7XG4gICAgICAgIHRoaXMuY29tcGxldGVDaGFuZ2UuZW1pdCh0aGlzLmNvbXBsZXRlID0gcmVzdWx0LmNvbXBsZXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZWxlbWVudHMuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKHJlc3VsdDphbnkpPT57XG4gICAgICBpZiggcmVzdWx0LmVycm9yICl7XG4gICAgICAgIHRoaXMuaW52YWxpZENoYW5nZS5lbWl0KCB0aGlzLmludmFsaWQ9cmVzdWx0LmVycm9yIClcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5kcmF3biA9IHRydWU7XG4gIH1cblxuICBjcmVhdGVUb2tlbihcbiAgICBleHRyYURhdGE/OmFueVxuICApOlByb21pc2U8c3RyaXBlLlRva2VuPntcbiAgICBkZWxldGUgdGhpcy5pbnZhbGlkXG4gICAgdGhpcy5pbnZhbGlkQ2hhbmdlLmVtaXQodGhpcy5pbnZhbGlkKVxuXG4gICAgcmV0dXJuIHRoaXMuc3RyaXBlLmNyZWF0ZVRva2VuKHRoaXMuZWxlbWVudHMsIGV4dHJhRGF0YSlcbiAgICAudGhlbigocmVzdWx0OmFueSk9PntcbiAgICAgIGlmKHJlc3VsdC5lcnJvcil7XG4gICAgICAgIGlmKCByZXN1bHQuZXJyb3IudHlwZT09XCJ2YWxpZGF0aW9uX2Vycm9yXCIgKXtcbiAgICAgICAgICB0aGlzLmludmFsaWRDaGFuZ2UuZW1pdCggdGhpcy5pbnZhbGlkPXJlc3VsdC5lcnJvciApXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMuY2F0Y2hlci5lbWl0KHJlc3VsdC5lcnJvcilcbiAgICAgICAgICB0aHJvdyByZXN1bHQuZXJyb3JcbiAgICAgICAgfVxuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMudG9rZW5DaGFuZ2UuZW1pdCh0aGlzLnRva2VuPXJlc3VsdC50b2tlbilcbiAgICAgICAgcmV0dXJuIHJlc3VsdC50b2tlblxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cblxuaW50ZXJmYWNlIElDYXJkQ2hhbmdlRXZlbnQge1xuICBcImVsZW1lbnRUeXBlXCI6IHN0cmluZ1xuICBlcnJvcj86IHtcbiAgICBcImNvZGVcIjogc3RyaW5nXG4gICAgXCJ0eXBlXCI6IHN0cmluZ1xuICAgIFwibWVzc2FnZVwiOiBzdHJpbmdcbiAgfSxcbiAgXCJ2YWx1ZVwiOiB7XG4gICAgXCJwb3N0YWxDb2RlXCI6IHN0cmluZ1xuICB9LFxuICBcImVtcHR5XCI6IGJvb2xlYW4sXG4gIFwiY29tcGxldGVcIjogYm9vbGVhbixcbiAgXCJicmFuZFwiOiBzdHJpbmdcbn1cbiJdfQ==
--------------------------------------------------------------------------------
/esm2015/components/StripeComponent.js:
--------------------------------------------------------------------------------
1 | import { Input, Output, EventEmitter, Component } from "@angular/core";
2 | import { StripeScriptTag } from "../StripeScriptTag";
3 | export class StripeComponent {
4 | constructor(StripeScriptTag) {
5 | this.StripeScriptTag = StripeScriptTag;
6 | this.catcher = new EventEmitter();
7 | this.invalidChange = new EventEmitter();
8 | }
9 | ngOnInit() {
10 | this.init();
11 | }
12 | init() {
13 | return this.StripeScriptTag.promiseInstance()
14 | .then(i => this.stripe = i);
15 | }
16 | }
17 | StripeComponent.decorators = [
18 | { type: Component, args: [{
19 | selector: "stripe-component", template: ``
20 | },] }
21 | ];
22 | StripeComponent.ctorParameters = () => [
23 | { type: StripeScriptTag }
24 | ];
25 | StripeComponent.propDecorators = {
26 | catcher: [{ type: Output, args: ["catch",] }],
27 | invalid: [{ type: Input }],
28 | invalidChange: [{ type: Output }]
29 | };
30 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvU3RyaXBlQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQ3ZDLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUtwRCxNQUFNLE9BQU8sZUFBZTtJQVExQixZQUNTLGVBQStCO1FBQS9CLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQVJ2QixZQUFPLEdBQThCLElBQUksWUFBWSxFQUFFLENBQUE7UUFHOUQsa0JBQWEsR0FBOEIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQU1yRSxDQUFDO0lBRUgsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNiLENBQUM7SUFFRCxJQUFJO1FBQ0YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRTthQUM1QyxJQUFJLENBQUUsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBRSxDQUFBO0lBQzNCLENBQUM7OztZQXRCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxFQUFFO2FBQzNDOzs7WUFKUSxlQUFlOzs7c0JBTXJCLE1BQU0sU0FBQyxPQUFPO3NCQUVkLEtBQUs7NEJBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcbmltcG9ydCB7IFN0cmlwZVNjcmlwdFRhZyB9IGZyb20gXCIuLi9TdHJpcGVTY3JpcHRUYWdcIlxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3RyaXBlLWNvbXBvbmVudFwiLCB0ZW1wbGF0ZTogYGBcbn0pXG5leHBvcnQgY2xhc3MgU3RyaXBlQ29tcG9uZW50e1xuICBAT3V0cHV0KFwiY2F0Y2hcIikgY2F0Y2hlcjpFdmVudEVtaXR0ZXI8c3RyaXBlLkVycm9yPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBJbnB1dCgpIGludmFsaWQ/OnN0cmlwZS5FcnJvclxuICBAT3V0cHV0KCkgaW52YWxpZENoYW5nZTpFdmVudEVtaXR0ZXI8c3RyaXBlLkVycm9yPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIHN0cmlwZSE6c3RyaXBlLlN0cmlwZVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBTdHJpcGVTY3JpcHRUYWc6U3RyaXBlU2NyaXB0VGFnXG4gICl7fVxuXG4gIG5nT25Jbml0KCl7XG4gICAgdGhpcy5pbml0KClcbiAgfVxuXG4gIGluaXQoKTpQcm9taXNlPHN0cmlwZS5TdHJpcGU+e1xuICAgIHJldHVybiB0aGlzLlN0cmlwZVNjcmlwdFRhZy5wcm9taXNlSW5zdGFuY2UoKVxuICAgIC50aGVuKCBpPT50aGlzLnN0cmlwZT1pIClcbiAgfVxufSJdfQ==
--------------------------------------------------------------------------------
/esm2015/components/StripeSource.component.js:
--------------------------------------------------------------------------------
1 | import { Input, Output, EventEmitter, Component } from "@angular/core";
2 | import { StripeScriptTag } from "../StripeScriptTag";
3 | import { StripeComponent } from "./StripeComponent";
4 | export class StripeSource extends StripeComponent {
5 | constructor(StripeScriptTag) {
6 | super(StripeScriptTag);
7 | this.StripeScriptTag = StripeScriptTag;
8 | this.sourceChange = new EventEmitter();
9 | this.paymentMethodChange = new EventEmitter();
10 | }
11 | createSource(extraData) {
12 | delete this.invalid;
13 | this.invalidChange.emit(this.invalid);
14 | return this.stripe.createSource(this.elements, extraData)
15 | .then((result) => this.processSourceResult(result));
16 | }
17 | processSourceResult(result) {
18 | if (result.error) {
19 | const rError = result.error;
20 | if (rError.type === "validation_error") {
21 | this.invalidChange.emit(this.invalid = rError);
22 | }
23 | else {
24 | this.catcher.emit(rError);
25 | throw rError;
26 | }
27 | }
28 | const source = result.source;
29 | if (source) {
30 | this.sourceChange.emit(this.source = source);
31 | return source;
32 | }
33 | }
34 | createPaymentMethod(extraData) {
35 | delete this.invalid;
36 | this.invalidChange.emit(this.invalid);
37 | return this.stripe.createPaymentMethod('card', this.elements, extraData)
38 | .then((result) => this.processPaymentMethodResult(result));
39 | }
40 | processPaymentMethodResult(result) {
41 | if (result.error) {
42 | const rError = result.error;
43 | if (rError.type === "validation_error") {
44 | this.invalidChange.emit(this.invalid = rError);
45 | }
46 | else {
47 | this.catcher.emit(rError);
48 | throw rError;
49 | }
50 | }
51 | const paymentMethod = result.paymentMethod;
52 | if (paymentMethod) {
53 | this.paymentMethodChange.emit(this.paymentMethod = paymentMethod);
54 | return paymentMethod;
55 | }
56 | }
57 | }
58 | StripeSource.decorators = [
59 | { type: Component, args: [{
60 | selector: "stripe-source",
61 | template: `
62 |
63 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
64 |
65 | `,
66 | exportAs: "StripeSource"
67 | },] }
68 | ];
69 | StripeSource.ctorParameters = () => [
70 | { type: StripeScriptTag }
71 | ];
72 | StripeSource.propDecorators = {
73 | source: [{ type: Input }],
74 | sourceChange: [{ type: Output }],
75 | paymentMethod: [{ type: Input }],
76 | paymentMethodChange: [{ type: Output }]
77 | };
78 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlU291cmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1N0cmlwZVNvdXJjZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFDdkMsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQVVoRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGVBQWU7SUFTbEQsWUFDUyxlQUErQjtRQUV0QyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUE7UUFGZixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFSOUIsaUJBQVksR0FBK0IsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUc3RCx3QkFBbUIsR0FBb0QsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQVFuRyxDQUFDO0lBRUQsWUFBWSxDQUNWLFNBQXFEO1FBRXJELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFckMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FDN0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQ3pCO2FBQ0EsSUFBSSxDQUFDLENBQUMsTUFBVSxFQUFDLEVBQUUsQ0FBQSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRUQsbUJBQW1CLENBQ2pCLE1BQTZCO1FBRTdCLElBQUcsTUFBTSxDQUFDLEtBQUssRUFBQztZQUNkLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUE7WUFDM0IsSUFBSyxNQUFjLENBQUMsSUFBSSxLQUFLLGtCQUFrQixFQUFFO2dCQUMvQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBRSxDQUFBO2FBQ2pEO2lCQUFJO2dCQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQixNQUFNLE1BQU0sQ0FBQzthQUNkO1NBQ0Y7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBRTdCLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQyxPQUFPLE1BQU0sQ0FBQztTQUNmO0lBQ0gsQ0FBQztJQUVELG1CQUFtQixDQUNqQixTQUFxRDtRQUVyRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRXJDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FDcEMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUNqQzthQUNBLElBQUksQ0FBQyxDQUFDLE1BQVUsRUFBQyxFQUFFLENBQUEsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVELDBCQUEwQixDQUN4QixNQUFvQztRQUVwQyxJQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUM7WUFDZCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFBO1lBQzNCLElBQUssTUFBYyxDQUFDLElBQUksS0FBSyxrQkFBa0IsRUFBRTtnQkFDL0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUUsQ0FBQTthQUNqRDtpQkFBSTtnQkFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUIsTUFBTSxNQUFNLENBQUM7YUFDZDtTQUNGO1FBRUQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUUzQyxJQUFJLGFBQWEsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUMsYUFBYSxDQUFDLENBQUM7WUFDaEUsT0FBTyxhQUFhLENBQUM7U0FDdEI7SUFDSCxDQUFDOzs7WUF2RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7R0FJVDtnQkFDRCxRQUFRLEVBQUMsY0FBYzthQUN4Qjs7O1lBWFEsZUFBZTs7O3FCQVlyQixLQUFLOzJCQUNMLE1BQU07NEJBRU4sS0FBSztrQ0FDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuaW1wb3J0IHsgU3RyaXBlU2NyaXB0VGFnIH0gZnJvbSBcIi4uL1N0cmlwZVNjcmlwdFRhZ1wiXG5pbXBvcnQgeyBTdHJpcGVDb21wb25lbnQgfSBmcm9tIFwiLi9TdHJpcGVDb21wb25lbnRcIlxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3RyaXBlLXNvdXJjZVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFTdHJpcGVTY3JpcHRUYWcuU3RyaXBlSW5zdGFuY2VcIj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiY29sb3I6cmVkO1wiPlN0cmlwZSBQdWJsaXNoYWJsZUtleSBOT1QgU0VULiBVc2UgbWV0aG9kIFN0cmlwZVNjcmlwdFRhZy5zZXRQdWJsaXNoYWJsZUtleSgpPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgZXhwb3J0QXM6XCJTdHJpcGVTb3VyY2VcIlxufSkgZXhwb3J0IGNsYXNzIFN0cmlwZVNvdXJjZSBleHRlbmRzIFN0cmlwZUNvbXBvbmVudHtcbiAgQElucHV0KCkgc291cmNlPzogc3RyaXBlLlNvdXJjZVxuICBAT3V0cHV0KCkgc291cmNlQ2hhbmdlOkV2ZW50RW1pdHRlcjxzdHJpcGUuU291cmNlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBJbnB1dCgpIHBheW1lbnRNZXRob2Q/OiBzdHJpcGUucGF5bWVudE1ldGhvZC5QYXltZW50TWV0aG9kXG4gIEBPdXRwdXQoKSBwYXltZW50TWV0aG9kQ2hhbmdlOkV2ZW50RW1pdHRlcjxzdHJpcGUucGF5bWVudE1ldGhvZC5QYXltZW50TWV0aG9kPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGVsZW1lbnRzOiBhbnkgLy8gRm9yIGNhcmQsIGl0cyB0aGUgVUkgZWxlbWVudFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBTdHJpcGVTY3JpcHRUYWc6U3RyaXBlU2NyaXB0VGFnXG4gICl7XG4gICAgc3VwZXIoU3RyaXBlU2NyaXB0VGFnKVxuICB9XG5cbiAgY3JlYXRlU291cmNlKFxuICAgIGV4dHJhRGF0YTp7IG93bmVyPzogc3RyaXBlLk93bmVySW5mbywgbWV0YWRhdGE/OiBhbnl9XG4gICk6UHJvbWlzZTxzdHJpcGUuU291cmNlIHwgdm9pZD57XG4gICAgZGVsZXRlIHRoaXMuaW52YWxpZDtcbiAgICB0aGlzLmludmFsaWRDaGFuZ2UuZW1pdCh0aGlzLmludmFsaWQpXG5cbiAgICByZXR1cm4gdGhpcy5zdHJpcGUuY3JlYXRlU291cmNlKFxuICAgICAgdGhpcy5lbGVtZW50cywgZXh0cmFEYXRhXG4gICAgKVxuICAgIC50aGVuKChyZXN1bHQ6YW55KT0+dGhpcy5wcm9jZXNzU291cmNlUmVzdWx0KHJlc3VsdCkpXG4gIH1cblxuICBwcm9jZXNzU291cmNlUmVzdWx0KFxuICAgIHJlc3VsdDogc3RyaXBlLlNvdXJjZVJlc3BvbnNlXG4gICk6IHN0cmlwZS5Tb3VyY2UgfCB2b2lkIHtcbiAgICBpZihyZXN1bHQuZXJyb3Ipe1xuICAgICAgY29uc3QgckVycm9yID0gcmVzdWx0LmVycm9yXG4gICAgICBpZiggKHJFcnJvciBhcyBhbnkpLnR5cGUgPT09IFwidmFsaWRhdGlvbl9lcnJvclwiICl7XG4gICAgICAgIHRoaXMuaW52YWxpZENoYW5nZS5lbWl0KCB0aGlzLmludmFsaWQgPSByRXJyb3IgKVxuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMuY2F0Y2hlci5lbWl0KHJFcnJvcik7XG4gICAgICAgIHRocm93IHJFcnJvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2UgPSByZXN1bHQuc291cmNlO1xuXG4gICAgaWYgKHNvdXJjZSkge1xuICAgICAgdGhpcy5zb3VyY2VDaGFuZ2UuZW1pdCh0aGlzLnNvdXJjZT1zb3VyY2UpO1xuICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVQYXltZW50TWV0aG9kKFxuICAgIGV4dHJhRGF0YTp7IG93bmVyPzogc3RyaXBlLk93bmVySW5mbywgbWV0YWRhdGE/OiBhbnl9XG4gICk6UHJvbWlzZTxzdHJpcGUucGF5bWVudE1ldGhvZC5QYXltZW50TWV0aG9kIHwgdm9pZD57XG4gICAgZGVsZXRlIHRoaXMuaW52YWxpZDtcbiAgICB0aGlzLmludmFsaWRDaGFuZ2UuZW1pdCh0aGlzLmludmFsaWQpXG5cbiAgICByZXR1cm4gdGhpcy5zdHJpcGUuY3JlYXRlUGF5bWVudE1ldGhvZChcbiAgICAgICdjYXJkJywgdGhpcy5lbGVtZW50cywgZXh0cmFEYXRhXG4gICAgKVxuICAgIC50aGVuKChyZXN1bHQ6YW55KT0+dGhpcy5wcm9jZXNzUGF5bWVudE1ldGhvZFJlc3VsdChyZXN1bHQpKVxuICB9XG5cbiAgcHJvY2Vzc1BheW1lbnRNZXRob2RSZXN1bHQoXG4gICAgcmVzdWx0OiBzdHJpcGUuUGF5bWVudE1ldGhvZFJlc3BvbnNlXG4gICk6IHN0cmlwZS5wYXltZW50TWV0aG9kLlBheW1lbnRNZXRob2QgfCB2b2lkIHtcbiAgICBpZihyZXN1bHQuZXJyb3Ipe1xuICAgICAgY29uc3QgckVycm9yID0gcmVzdWx0LmVycm9yXG4gICAgICBpZiggKHJFcnJvciBhcyBhbnkpLnR5cGUgPT09IFwidmFsaWRhdGlvbl9lcnJvclwiICl7XG4gICAgICAgIHRoaXMuaW52YWxpZENoYW5nZS5lbWl0KCB0aGlzLmludmFsaWQgPSByRXJyb3IgKVxuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMuY2F0Y2hlci5lbWl0KHJFcnJvcik7XG4gICAgICAgIHRocm93IHJFcnJvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwYXltZW50TWV0aG9kID0gcmVzdWx0LnBheW1lbnRNZXRob2Q7XG5cbiAgICBpZiAocGF5bWVudE1ldGhvZCkge1xuICAgICAgdGhpcy5wYXltZW50TWV0aG9kQ2hhbmdlLmVtaXQodGhpcy5wYXltZW50TWV0aG9kPXBheW1lbnRNZXRob2QpO1xuICAgICAgcmV0dXJuIHBheW1lbnRNZXRob2Q7XG4gICAgfVxuICB9XG59XG4iXX0=
--------------------------------------------------------------------------------
/esm2015/index.js:
--------------------------------------------------------------------------------
1 | export * from "./StripeTypes";
2 | import { NgModule } from "@angular/core";
3 | import { CommonModule } from "@angular/common";
4 | import { STRIPE_OPTIONS, STRIPE_PUBLISHABLE_KEY } from './StripeTypes';
5 | import { StripeComponent } from "./components/StripeComponent";
6 | import { StripeScriptTag } from "./StripeScriptTag";
7 | export { StripeScriptTag } from "./StripeScriptTag";
8 | import { StripeSource } from "./components/StripeSource.component";
9 | export { StripeSource } from "./components/StripeSource.component";
10 | import { StripeCard } from "./components/StripeCard.component";
11 | export { StripeCard } from "./components/StripeCard.component";
12 | import { StripeBank } from "./components/StripeBank.component";
13 | export { StripeBank } from "./components/StripeBank.component";
14 | const declarations = [
15 | StripeComponent,
16 | StripeSource,
17 | StripeCard,
18 | StripeBank
19 | ];
20 | export class StripeModule {
21 | static forRoot(publishableKey, options) {
22 | return {
23 | ngModule: StripeModule,
24 | providers: [
25 | StripeScriptTag,
26 | {
27 | provide: STRIPE_PUBLISHABLE_KEY,
28 | useValue: publishableKey
29 | },
30 | {
31 | provide: STRIPE_OPTIONS,
32 | useValue: options
33 | }
34 | ],
35 | };
36 | }
37 | }
38 | StripeModule.decorators = [
39 | { type: NgModule, args: [{
40 | imports: [
41 | CommonModule
42 | ],
43 | declarations,
44 | // providers: [ StripeScriptTag ],
45 | exports: [...declarations]
46 | },] }
47 | ];
48 | /**
49 | * @deprecated Please import `StripeModule` directly
50 | */
51 | export const Module = StripeModule;
52 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUE7QUFFN0IsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRTlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBRTlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFFOUQsTUFBTSxZQUFZLEdBQUc7SUFDbkIsZUFBZTtJQUNmLFlBQVk7SUFDWixVQUFVO0lBQ1YsVUFBVTtDQUNYLENBQUE7QUFTRSxNQUFNLE9BQU8sWUFBWTtJQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLGNBQXVCLEVBQUUsT0FBOEI7UUFDcEUsT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDVCxlQUFlO2dCQUNmO29CQUNFLE9BQU8sRUFBRSxzQkFBc0I7b0JBQy9CLFFBQVEsRUFBRSxjQUFjO2lCQUN6QjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsY0FBYztvQkFDdkIsUUFBUSxFQUFFLE9BQU87aUJBQ2xCO2FBQ0Y7U0FDRixDQUFBO0lBQ0gsQ0FBQzs7O1lBdkJGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUM7b0JBQ04sWUFBWTtpQkFDYjtnQkFDRCxZQUFZO2dCQUNiLGtDQUFrQztnQkFDakMsT0FBTyxFQUFDLENBQUUsR0FBRyxZQUFZLENBQUU7YUFDNUI7O0FBbUJEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL1N0cmlwZVR5cGVzXCJcblxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5pbXBvcnQgeyBTVFJJUEVfT1BUSU9OUywgU1RSSVBFX1BVQkxJU0hBQkxFX0tFWSB9IGZyb20gJy4vU3RyaXBlVHlwZXMnXG5pbXBvcnQgeyBTdHJpcGVDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL1N0cmlwZUNvbXBvbmVudFwiXG5cbmltcG9ydCB7IFN0cmlwZVNjcmlwdFRhZyB9IGZyb20gXCIuL1N0cmlwZVNjcmlwdFRhZ1wiXG5leHBvcnQgeyBTdHJpcGVTY3JpcHRUYWcgfSBmcm9tIFwiLi9TdHJpcGVTY3JpcHRUYWdcIlxuXG5pbXBvcnQgeyBTdHJpcGVTb3VyY2UgfSBmcm9tIFwiLi9jb21wb25lbnRzL1N0cmlwZVNvdXJjZS5jb21wb25lbnRcIlxuZXhwb3J0IHsgU3RyaXBlU291cmNlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9TdHJpcGVTb3VyY2UuY29tcG9uZW50XCJcblxuaW1wb3J0IHsgU3RyaXBlQ2FyZCB9IGZyb20gXCIuL2NvbXBvbmVudHMvU3RyaXBlQ2FyZC5jb21wb25lbnRcIlxuZXhwb3J0IHsgU3RyaXBlQ2FyZCB9IGZyb20gXCIuL2NvbXBvbmVudHMvU3RyaXBlQ2FyZC5jb21wb25lbnRcIlxuXG5pbXBvcnQgeyBTdHJpcGVCYW5rIH0gZnJvbSBcIi4vY29tcG9uZW50cy9TdHJpcGVCYW5rLmNvbXBvbmVudFwiXG5leHBvcnQgeyBTdHJpcGVCYW5rIH0gZnJvbSBcIi4vY29tcG9uZW50cy9TdHJpcGVCYW5rLmNvbXBvbmVudFwiXG5cbmNvbnN0IGRlY2xhcmF0aW9ucyA9IFtcbiAgU3RyaXBlQ29tcG9uZW50LCAvLyBpZ25vcmUgZG8gbm90IHVzZSAoaGFzIHRvIGJlIGhlcmUgZm9yIGV4dGVuZHMgcHVycG9zZXMpXG4gIFN0cmlwZVNvdXJjZSxcbiAgU3RyaXBlQ2FyZCxcbiAgU3RyaXBlQmFua1xuXVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOltcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zLFxuIC8vIHByb3ZpZGVyczogWyBTdHJpcGVTY3JpcHRUYWcgXSxcbiAgZXhwb3J0czpbIC4uLmRlY2xhcmF0aW9ucyBdXG59KSBleHBvcnQgY2xhc3MgU3RyaXBlTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QocHVibGlzaGFibGVLZXk/OiBzdHJpbmcsIG9wdGlvbnM/OiBzdHJpcGUuU3RyaXBlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U3RyaXBlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBTdHJpcGVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgU3RyaXBlU2NyaXB0VGFnLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU1RSSVBFX1BVQkxJU0hBQkxFX0tFWSxcbiAgICAgICAgICB1c2VWYWx1ZTogcHVibGlzaGFibGVLZXlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFNUUklQRV9PUFRJT05TLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIGltcG9ydCBgU3RyaXBlTW9kdWxlYCBkaXJlY3RseVxuICovXG5leHBvcnQgY29uc3QgTW9kdWxlID0gU3RyaXBlTW9kdWxlXG4iXX0=
--------------------------------------------------------------------------------
/esm2015/stripe-angular.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Generated bundle index. Do not edit.
3 | */
4 | export * from './index';
5 | export { StripeComponent as ɵa } from './components/StripeComponent';
6 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyaXBlLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtTdHJpcGVDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2NvbXBvbmVudHMvU3RyaXBlQ29tcG9uZW50JzsiXX0=
--------------------------------------------------------------------------------
/esm2020/StripeScriptTag.mjs:
--------------------------------------------------------------------------------
1 | import { DOCUMENT } from '@angular/common';
2 | import { Injectable, Inject } from "@angular/core";
3 | import { STRIPE_PUBLISHABLE_KEY, STRIPE_OPTIONS
4 | //, StripeCard, StripeToken
5 | } from "./StripeTypes";
6 | import * as i0 from "@angular/core";
7 | export class StripeScriptTag {
8 | constructor(document, key, options) {
9 | this.document = document;
10 | this.src = "https://js.stripe.com/v3/";
11 | this.window = this.document.defaultView;
12 | this.load = this.injectIntoHead();
13 | if (key)
14 | this.setPublishableKey(key, options);
15 | }
16 | promiseStripe() {
17 | return this.load;
18 | }
19 | promiseInstance() {
20 | return this.promiseStripe()
21 | .then(stripe => {
22 | if (!this.StripeInstance) {
23 | const err = new Error("Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()");
24 | err["code"] = "STRIPEKEYNOTSET";
25 | throw err;
26 | //return Promise.reject( err )
27 | }
28 | return this.StripeInstance;
29 | });
30 | }
31 | setPublishableKey(key, options) {
32 | return this.load.then(() => this.StripeInstance = this.Stripe(key, options));
33 | }
34 | injectIntoHead() {
35 | if (this.window && this.window["Stripe"]) {
36 | return Promise.resolve(this.Stripe = this.window["Stripe"]);
37 | }
38 | return new Promise((res, rej) => {
39 | const head = this.getTargetTagDropElement();
40 | const script = this.document.createElement("script");
41 | script.setAttribute("src", this.src);
42 | script.setAttribute("type", "text/javascript");
43 | script.addEventListener("load", () => {
44 | this.Stripe = this.grabStripe();
45 | res(this.Stripe);
46 | });
47 | head.appendChild(script);
48 | });
49 | }
50 | grabStripe() {
51 | return window["Stripe"];
52 | }
53 | getTargetTagDropElement() {
54 | let elm = this.document.getElementsByTagName("head");
55 | if (elm.length)
56 | return elm[0];
57 | return this.document.getElementsByTagName("body")[0];
58 | }
59 | }
60 | StripeScriptTag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeScriptTag, deps: [{ token: DOCUMENT }, { token: STRIPE_PUBLISHABLE_KEY }, { token: STRIPE_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
61 | StripeScriptTag.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeScriptTag, providedIn: 'root' });
62 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeScriptTag, decorators: [{
63 | type: Injectable,
64 | args: [{ providedIn: 'root' }]
65 | }], ctorParameters: function () { return [{ type: undefined, decorators: [{
66 | type: Inject,
67 | args: [DOCUMENT]
68 | }] }, { type: undefined, decorators: [{
69 | type: Inject,
70 | args: [STRIPE_PUBLISHABLE_KEY]
71 | }] }, { type: undefined, decorators: [{
72 | type: Inject,
73 | args: [STRIPE_OPTIONS]
74 | }] }]; } });
75 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlU2NyaXB0VGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0cmlwZVNjcmlwdFRhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEQsT0FBTyxFQUNHLHNCQUFzQixFQUFFLGNBQWM7QUFDOUMsMkJBQTJCO0VBQzVCLE1BQU0sZUFBZSxDQUFBOztBQUVZLE1BQU0sT0FBTyxlQUFlO0lBTzVELFlBQzRCLFFBQWEsRUFDUCxHQUFZLEVBQ3BCLE9BQThCO1FBRjVCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFQekMsUUFBRyxHQUFVLDJCQUEyQixDQUFBO1FBV3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDeEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDakMsSUFBSSxHQUFHO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtJQUNsQixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRTthQUMxQixJQUFJLENBQUMsTUFBTSxDQUFBLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsK0VBQStFLENBQUMsQ0FBQTtnQkFDdEcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLGlCQUFpQixDQUFBO2dCQUMvQixNQUFNLEdBQUcsQ0FBQTtnQkFDVCw4QkFBOEI7YUFDL0I7WUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUE7UUFDNUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsaUJBQWlCLENBQ2YsR0FBVSxFQUNWLE9BQTZCO1FBRTdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUUsR0FBRSxFQUFFLENBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQ2hELENBQUE7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFRLENBQUUsQ0FBQTtTQUNyRTtRQUVELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUE7WUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDcEQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3BDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUE7WUFFOUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBQyxHQUFFLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO2dCQUMvQixHQUFHLENBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBRSxDQUFBO1lBQ3BCLENBQUMsQ0FBQyxDQUFBO1lBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMxQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXBELElBQUcsR0FBRyxDQUFDLE1BQU07WUFBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUzQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdEQsQ0FBQzs7NkdBMUU0QyxlQUFlLGtCQVFsRCxRQUFRLGFBQ1Isc0JBQXNCLGFBQ3RCLGNBQWM7aUhBVnFCLGVBQWUsY0FBckMsTUFBTTs0RkFBZ0IsZUFBZTtrQkFBN0QsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OzBCQVEzQixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7XG4gIFN0cmlwZSwgU1RSSVBFX1BVQkxJU0hBQkxFX0tFWSwgU1RSSVBFX09QVElPTlNcbiAgLy8sIFN0cmlwZUNhcmQsIFN0cmlwZVRva2VuXG59IGZyb20gXCIuL1N0cmlwZVR5cGVzXCJcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pIGV4cG9ydCBjbGFzcyBTdHJpcGVTY3JpcHRUYWcge1xuICBzcmM6c3RyaW5nID0gXCJodHRwczovL2pzLnN0cmlwZS5jb20vdjMvXCJcbiAgU3RyaXBlITpTdHJpcGUvL3NldCBhdCBydW50aW1lXG4gIFN0cmlwZUluc3RhbmNlITpzdHJpcGUuU3RyaXBlXG4gIGxvYWQ6UHJvbWlzZTxhbnk+XG4gIHdpbmRvdzogYW55XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxuICAgIEBJbmplY3QoU1RSSVBFX1BVQkxJU0hBQkxFX0tFWSkga2V5Pzogc3RyaW5nLFxuICAgIEBJbmplY3QoU1RSSVBFX09QVElPTlMpIG9wdGlvbnM/OiBzdHJpcGUuU3RyaXBlT3B0aW9ucyxcbiAgKXtcbiAgICB0aGlzLndpbmRvdyA9IHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXc7XG4gICAgdGhpcy5sb2FkID0gdGhpcy5pbmplY3RJbnRvSGVhZCgpXG4gICAgaWYgKGtleSkgdGhpcy5zZXRQdWJsaXNoYWJsZUtleShrZXksIG9wdGlvbnMpXG4gIH1cblxuICBwcm9taXNlU3RyaXBlKCk6UHJvbWlzZTxTdHJpcGU+e1xuICAgIHJldHVybiB0aGlzLmxvYWRcbiAgfVxuXG4gIHByb21pc2VJbnN0YW5jZSgpOlByb21pc2U8c3RyaXBlLlN0cmlwZT57XG4gICAgcmV0dXJuIHRoaXMucHJvbWlzZVN0cmlwZSgpXG4gICAgLnRoZW4oc3RyaXBlPT57XG4gICAgICBpZiggIXRoaXMuU3RyaXBlSW5zdGFuY2UgKXtcbiAgICAgICAgY29uc3QgZXJyID0gbmV3IEVycm9yKFwiU3RyaXBlIFB1Ymxpc2hhYmxlS2V5IE5PVCBTRVQuIFVzZSBtZXRob2QgU3RyaXBlU2NyaXB0VGFnLnNldFB1Ymxpc2hhYmxlS2V5KClcIilcbiAgICAgICAgZXJyW1wiY29kZVwiXSA9IFwiU1RSSVBFS0VZTk9UU0VUXCJcbiAgICAgICAgdGhyb3cgZXJyXG4gICAgICAgIC8vcmV0dXJuIFByb21pc2UucmVqZWN0KCBlcnIgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5TdHJpcGVJbnN0YW5jZVxuICAgIH0pXG4gIH1cblxuICBzZXRQdWJsaXNoYWJsZUtleShcbiAgICBrZXk6c3RyaW5nLFxuICAgIG9wdGlvbnM/OnN0cmlwZS5TdHJpcGVPcHRpb25zXG4gICk6UHJvbWlzZTxzdHJpcGUuU3RyaXBlPntcbiAgICByZXR1cm4gdGhpcy5sb2FkLnRoZW4oICgpPT5cbiAgICAgIHRoaXMuU3RyaXBlSW5zdGFuY2UgPSB0aGlzLlN0cmlwZShrZXksIG9wdGlvbnMpXG4gICAgKVxuICB9XG5cbiAgaW5qZWN0SW50b0hlYWQoKTpQcm9taXNlPFN0cmlwZT57XG4gICAgaWYoIHRoaXMud2luZG93ICYmIHRoaXMud2luZG93W1wiU3RyaXBlXCJdICl7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCB0aGlzLlN0cmlwZSA9IHRoaXMud2luZG93W1wiU3RyaXBlXCJdIGFzIGFueSApXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMscmVqKT0+e1xuICAgICAgY29uc3QgaGVhZCA9IHRoaXMuZ2V0VGFyZ2V0VGFnRHJvcEVsZW1lbnQoKVxuICAgICAgY29uc3Qgc2NyaXB0ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpXG4gICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKFwic3JjXCIsIHRoaXMuc3JjKVxuICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJ0ZXh0L2phdmFzY3JpcHRcIilcblxuICAgICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsKCk9PntcbiAgICAgICAgdGhpcy5TdHJpcGUgPSB0aGlzLmdyYWJTdHJpcGUoKVxuICAgICAgICByZXMoIHRoaXMuU3RyaXBlIClcbiAgICAgIH0pXG5cbiAgICAgIGhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KVxuICAgIH0pXG4gIH1cblxuICBncmFiU3RyaXBlKCk6IFN0cmlwZSB7XG4gICAgcmV0dXJuIHdpbmRvd1tcIlN0cmlwZVwiXSBhcyBhbnk7XG4gIH1cblxuICBnZXRUYXJnZXRUYWdEcm9wRWxlbWVudCgpe1xuICAgIGxldCBlbG0gPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVxuXG4gICAgaWYoZWxtLmxlbmd0aClyZXR1cm4gZWxtWzBdXG5cbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImJvZHlcIilbMF1cbiAgfVxufVxuIl19
--------------------------------------------------------------------------------
/esm2020/StripeTypes.mjs:
--------------------------------------------------------------------------------
1 | import { InjectionToken } from '@angular/core';
2 | export const STRIPE_PUBLISHABLE_KEY = new InjectionToken('Stripe Publishable Key');
3 | export const STRIPE_OPTIONS = new InjectionToken('Stripe Options');
4 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RyaXBlVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyx3QkFBd0IsQ0FBQyxDQUFBO0FBQzFGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsZ0JBQWdCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBTVFJJUEVfUFVCTElTSEFCTEVfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ1N0cmlwZSBQdWJsaXNoYWJsZSBLZXknKVxuZXhwb3J0IGNvbnN0IFNUUklQRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPHN0cmlwZS5TdHJpcGVPcHRpb25zPignU3RyaXBlIE9wdGlvbnMnKVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmlwZXtcbiAgKHN0cmluZzpzdHJpbmcsb3B0aW9ucz86c3RyaXBlLlN0cmlwZU9wdGlvbnMpOnN0cmlwZS5TdHJpcGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYW5rQWNjb3VudFRva2VuT3B0aW9ucyBleHRlbmRzIHN0cmlwZS5CYW5rQWNjb3VudFRva2VuT3B0aW9ucyB7XG4gIG1ldGFkYXRhPzpSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufSJdfQ==
--------------------------------------------------------------------------------
/esm2020/components/StripeBank.component.mjs:
--------------------------------------------------------------------------------
1 | import { Input, Output, EventEmitter, Component } from "@angular/core";
2 | import { StripeComponent } from "./StripeComponent";
3 | import * as i0 from "@angular/core";
4 | import * as i1 from "../StripeScriptTag";
5 | import * as i2 from "@angular/common";
6 | export class StripeBank extends StripeComponent {
7 | constructor(StripeScriptTag) {
8 | super(StripeScriptTag);
9 | this.StripeScriptTag = StripeScriptTag;
10 | this.tokenChange = new EventEmitter();
11 | }
12 | createToken(data) {
13 | delete this.invalid;
14 | this.invalidChange.emit(this.invalid);
15 | return this.stripe.createToken('bank_account', data)
16 | .then((result) => {
17 | if (result.error) {
18 | if (result.error.type == "validation_error") {
19 | this.invalidChange.emit(this.invalid = result.error);
20 | }
21 | else {
22 | this.catcher.emit(result.error);
23 | throw result.error;
24 | }
25 | }
26 | else {
27 | this.tokenChange.emit(this.token = result.token);
28 | return result.token;
29 | }
30 | });
31 | }
32 | }
33 | StripeBank.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeBank, deps: [{ token: i1.StripeScriptTag }], target: i0.ɵɵFactoryTarget.Component });
34 | StripeBank.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StripeBank, selector: "stripe-bank", inputs: { options: "options", token: "token" }, outputs: { tokenChange: "tokenChange" }, exportAs: ["StripeBank"], usesInheritance: true, ngImport: i0, template: `
35 |
36 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
37 |
38 | `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
39 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeBank, decorators: [{
40 | type: Component,
41 | args: [{
42 | selector: "stripe-bank",
43 | template: `
44 |
45 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
46 |
47 | `,
48 | exportAs: "StripeBank"
49 | }]
50 | }], ctorParameters: function () { return [{ type: i1.StripeScriptTag }]; }, propDecorators: { options: [{
51 | type: Input
52 | }], token: [{
53 | type: Input
54 | }], tokenChange: [{
55 | type: Output
56 | }] } });
57 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlQmFuay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TdHJpcGVCYW5rLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUN2QyxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7Ozs7QUFXaEQsTUFBTSxPQUFPLFVBQVcsU0FBUSxlQUFlO0lBTWhELFlBQ1MsZUFBK0I7UUFFdEMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBRmYsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBSDlCLGdCQUFXLEdBQThCLElBQUksWUFBWSxFQUFFLENBQUE7SUFNckUsQ0FBQztJQUVELFdBQVcsQ0FBRSxJQUFvQztRQUMvQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRXJDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQzthQUNuRCxJQUFJLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUNwQixJQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUM7Z0JBQ2QsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksSUFBRSxrQkFBa0IsRUFBRTtvQkFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDLE9BQU8sR0FBQyxNQUFNLENBQUMsS0FBSyxDQUFFLENBQUE7aUJBQ3JEO3FCQUFJO29CQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtvQkFDL0IsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFBO2lCQUNuQjthQUNGO2lCQUFJO2dCQUNILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUM5QyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUE7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3dHQTlCYSxVQUFVOzRGQUFWLFVBQVUsNkxBTmQ7Ozs7R0FJVDs0RkFFYSxVQUFVO2tCQVJ6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxRQUFRLEVBQUMsWUFBWTtpQkFDdEI7c0dBQ1UsT0FBTztzQkFBZixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuaW1wb3J0IHsgU3RyaXBlQ29tcG9uZW50IH0gZnJvbSBcIi4vU3RyaXBlQ29tcG9uZW50XCJcbmltcG9ydCB7IFN0cmlwZVNjcmlwdFRhZyB9IGZyb20gXCIuLi9TdHJpcGVTY3JpcHRUYWdcIlxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3RyaXBlLWJhbmtcIixcbiAgdGVtcGxhdGU6IGBcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhU3RyaXBlU2NyaXB0VGFnLlN0cmlwZUluc3RhbmNlXCI+XG4gICAgICAgICAgPGRpdiBzdHlsZT1cImNvbG9yOnJlZDtcIj5TdHJpcGUgUHVibGlzaGFibGVLZXkgTk9UIFNFVC4gVXNlIG1ldGhvZCBTdHJpcGVTY3JpcHRUYWcuc2V0UHVibGlzaGFibGVLZXkoKTwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gIGAsXG4gIGV4cG9ydEFzOlwiU3RyaXBlQmFua1wiXG59KSBleHBvcnQgY2xhc3MgU3RyaXBlQmFuayBleHRlbmRzIFN0cmlwZUNvbXBvbmVudHtcbiAgQElucHV0KCkgb3B0aW9ucyE6IHN0cmlwZS5lbGVtZW50cy5FbGVtZW50T3B0aW9ucyAvLyB2ZXJ5IHNpbWlsYXIgdHlwZSB0byBjYXJkIG9wdGlvbnNcblxuICBASW5wdXQoKSB0b2tlbiE6IHN0cmlwZS5Ub2tlblxuICBAT3V0cHV0KCkgdG9rZW5DaGFuZ2U6RXZlbnRFbWl0dGVyPHN0cmlwZS5Ub2tlbj4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgU3RyaXBlU2NyaXB0VGFnOlN0cmlwZVNjcmlwdFRhZ1xuICApe1xuICAgIHN1cGVyKFN0cmlwZVNjcmlwdFRhZylcbiAgfVxuXG4gIGNyZWF0ZVRva2VuKCBkYXRhOiBzdHJpcGUuQmFua0FjY291bnRUb2tlbk9wdGlvbnMpOlByb21pc2U8c3RyaXBlLlRva2VuPntcbiAgICBkZWxldGUgdGhpcy5pbnZhbGlkXG4gICAgdGhpcy5pbnZhbGlkQ2hhbmdlLmVtaXQodGhpcy5pbnZhbGlkKVxuXG4gICAgcmV0dXJuIHRoaXMuc3RyaXBlLmNyZWF0ZVRva2VuKCdiYW5rX2FjY291bnQnLCBkYXRhKVxuICAgIC50aGVuKChyZXN1bHQ6IGFueSkgPT4geyAvLyBUb2tlblJlc3BvbnNlXG4gICAgICBpZihyZXN1bHQuZXJyb3Ipe1xuICAgICAgICBpZiggcmVzdWx0LmVycm9yLnR5cGU9PVwidmFsaWRhdGlvbl9lcnJvclwiICl7XG4gICAgICAgICAgdGhpcy5pbnZhbGlkQ2hhbmdlLmVtaXQoIHRoaXMuaW52YWxpZD1yZXN1bHQuZXJyb3IgKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmNhdGNoZXIuZW1pdChyZXN1bHQuZXJyb3IpXG4gICAgICAgICAgdGhyb3cgcmVzdWx0LmVycm9yXG4gICAgICAgIH1cbiAgICAgIH1lbHNle1xuICAgICAgICB0aGlzLnRva2VuQ2hhbmdlLmVtaXQodGhpcy50b2tlbj1yZXN1bHQudG9rZW4pXG4gICAgICAgIHJldHVybiByZXN1bHQudG9rZW5cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qIGNyZWF0ZVNvdXJjZSAqL1xufVxuIl19
--------------------------------------------------------------------------------
/esm2020/components/StripeCard.component.mjs:
--------------------------------------------------------------------------------
1 | import { Input, Output, EventEmitter, Component } from "@angular/core";
2 | import { StripeSource } from "./StripeSource.component";
3 | import * as i0 from "@angular/core";
4 | import * as i1 from "../StripeScriptTag";
5 | import * as i2 from "@angular/common";
6 | export class StripeCard extends StripeSource {
7 | constructor(ElementRef, StripeScriptTag) {
8 | super(StripeScriptTag);
9 | this.ElementRef = ElementRef;
10 | this.StripeScriptTag = StripeScriptTag;
11 | this.tokenChange = new EventEmitter();
12 | this.cardMounted = new EventEmitter();
13 | this.complete = false;
14 | this.completeChange = new EventEmitter();
15 | this.changed = new EventEmitter();
16 | this.drawn = false;
17 | }
18 | ngOnInit() {
19 | super.init().then(() => this.redraw());
20 | }
21 | ngOnChanges(changes) {
22 | if (this.drawn && (changes.options || changes.createOptions)) {
23 | this.redraw();
24 | }
25 | }
26 | redraw() {
27 | if (this.drawn) {
28 | this.elements.unmount();
29 | this.elements.destroy();
30 | }
31 | this.elements = this.stripe.elements(this.createOptions).create('card', this.options);
32 | this.elements.mount(this.ElementRef.nativeElement);
33 | this.cardMounted.emit(this.elements);
34 | this.elements.on('change', (result) => {
35 | this.changed.emit(result);
36 | if (result.complete || (this.complete && !result.complete)) {
37 | this.completeChange.emit(this.complete = result.complete);
38 | }
39 | });
40 | this.elements.addEventListener('change', (result) => {
41 | if (result.error) {
42 | this.invalidChange.emit(this.invalid = result.error);
43 | }
44 | });
45 | this.drawn = true;
46 | }
47 | createToken(extraData) {
48 | delete this.invalid;
49 | this.invalidChange.emit(this.invalid);
50 | return this.stripe.createToken(this.elements, extraData)
51 | .then((result) => {
52 | if (result.error) {
53 | if (result.error.type == "validation_error") {
54 | this.invalidChange.emit(this.invalid = result.error);
55 | }
56 | else {
57 | this.catcher.emit(result.error);
58 | throw result.error;
59 | }
60 | }
61 | else {
62 | this.tokenChange.emit(this.token = result.token);
63 | return result.token;
64 | }
65 | });
66 | }
67 | }
68 | StripeCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeCard, deps: [{ token: i0.ElementRef }, { token: i1.StripeScriptTag }], target: i0.ɵɵFactoryTarget.Component });
69 | StripeCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StripeCard, selector: "stripe-card", inputs: { createOptions: "createOptions", options: "options", token: "token", complete: "complete" }, outputs: { tokenChange: "tokenChange", cardMounted: "cardMounted", completeChange: "completeChange", changed: "changed" }, exportAs: ["StripeCard"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
70 |
71 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
72 |
73 | `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
74 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeCard, decorators: [{
75 | type: Component,
76 | args: [{
77 | selector: "stripe-card",
78 | template: `
79 |
80 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
81 |
82 | `,
83 | exportAs: "StripeCard"
84 | }]
85 | }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.StripeScriptTag }]; }, propDecorators: { createOptions: [{
86 | type: Input
87 | }], options: [{
88 | type: Input
89 | }], token: [{
90 | type: Input
91 | }], tokenChange: [{
92 | type: Output
93 | }], cardMounted: [{
94 | type: Output
95 | }], complete: [{
96 | type: Input
97 | }], completeChange: [{
98 | type: Output
99 | }], changed: [{
100 | type: Output
101 | }] } });
102 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlQ2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TdHJpcGVDYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ08sS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7OztBQVVwRCxNQUFNLE9BQU8sVUFBVyxTQUFRLFlBQVk7SUFnQjdDLFlBQ1MsVUFBcUIsRUFDckIsZUFBK0I7UUFFdEMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBSGYsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFiOUIsZ0JBQVcsR0FBOEIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUUzRCxnQkFBVyxHQUFxQixJQUFJLFlBQVksRUFBRSxDQUFBO1FBRW5ELGFBQVEsR0FBWSxLQUFLLENBQUE7UUFDeEIsbUJBQWMsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUV6RCxZQUFPLEdBQWtDLElBQUksWUFBWSxFQUFFLENBQUE7UUFFckUsVUFBSyxHQUFHLEtBQUssQ0FBQTtJQU9iLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFFLEVBQUUsQ0FBQSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQVc7UUFDdEIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN6QjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3JGLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQVcsRUFBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ3pCLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzFELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzNEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQVUsRUFBQyxFQUFFO1lBQ3JELElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDLE9BQU8sR0FBQyxNQUFNLENBQUMsS0FBSyxDQUFFLENBQUE7YUFDckQ7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXLENBQ1QsU0FBYztRQUVkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFckMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQzthQUN2RCxJQUFJLENBQUMsQ0FBQyxNQUFVLEVBQUMsRUFBRTtZQUNsQixJQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUM7Z0JBQ2QsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksSUFBRSxrQkFBa0IsRUFBRTtvQkFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDLE9BQU8sR0FBQyxNQUFNLENBQUMsS0FBSyxDQUFFLENBQUE7aUJBQ3JEO3FCQUFJO29CQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtvQkFDL0IsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFBO2lCQUNuQjthQUNGO2lCQUFJO2dCQUNILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUM5QyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUE7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7O3dHQTlFYSxVQUFVOzRGQUFWLFVBQVUsMFZBTmQ7Ozs7R0FJVDs0RkFFYSxVQUFVO2tCQVJ6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxRQUFRLEVBQUMsWUFBWTtpQkFDdEI7K0hBQ1UsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTTtnQkFFRSxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBRUcsT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuaW1wb3J0IHsgU3RyaXBlU2NyaXB0VGFnIH0gZnJvbSBcIi4uL1N0cmlwZVNjcmlwdFRhZ1wiXG5pbXBvcnQgeyBTdHJpcGVTb3VyY2UgfSBmcm9tIFwiLi9TdHJpcGVTb3VyY2UuY29tcG9uZW50XCJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN0cmlwZS1jYXJkXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIVN0cmlwZVNjcmlwdFRhZy5TdHJpcGVJbnN0YW5jZVwiPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJjb2xvcjpyZWQ7XCI+U3RyaXBlIFB1Ymxpc2hhYmxlS2V5IE5PVCBTRVQuIFVzZSBtZXRob2QgU3RyaXBlU2NyaXB0VGFnLnNldFB1Ymxpc2hhYmxlS2V5KCk8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBleHBvcnRBczpcIlN0cmlwZUNhcmRcIlxufSkgZXhwb3J0IGNsYXNzIFN0cmlwZUNhcmQgZXh0ZW5kcyBTdHJpcGVTb3VyY2Uge1xuICBASW5wdXQoKSBjcmVhdGVPcHRpb25zITpzdHJpcGUuZWxlbWVudHMuRWxlbWVudHNDcmVhdGVPcHRpb25zXG4gIEBJbnB1dCgpIG9wdGlvbnMhOnN0cmlwZS5lbGVtZW50cy5FbGVtZW50c09wdGlvbnNcblxuICBASW5wdXQoKSB0b2tlbiE6IHN0cmlwZS5Ub2tlblxuICBAT3V0cHV0KCkgdG9rZW5DaGFuZ2U6RXZlbnRFbWl0dGVyPHN0cmlwZS5Ub2tlbj4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBAT3V0cHV0KCkgY2FyZE1vdW50ZWQ6RXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBASW5wdXQoKSBjb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlXG4gIEBPdXRwdXQoKSBjb21wbGV0ZUNoYW5nZTpFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBAT3V0cHV0KCkgY2hhbmdlZDpFdmVudEVtaXR0ZXI8SUNhcmRDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBkcmF3biA9IGZhbHNlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIEVsZW1lbnRSZWY6RWxlbWVudFJlZixcbiAgICBwdWJsaWMgU3RyaXBlU2NyaXB0VGFnOlN0cmlwZVNjcmlwdFRhZ1xuICApe1xuICAgIHN1cGVyKFN0cmlwZVNjcmlwdFRhZylcbiAgfVxuXG4gIG5nT25Jbml0KCl7XG4gICAgc3VwZXIuaW5pdCgpLnRoZW4oKCk9PnRoaXMucmVkcmF3KCkpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyggY2hhbmdlczphbnkgKXtcbiAgICBpZiAodGhpcy5kcmF3biAmJiAoY2hhbmdlcy5vcHRpb25zIHx8IGNoYW5nZXMuY3JlYXRlT3B0aW9ucykpIHtcbiAgICAgIHRoaXMucmVkcmF3KCk7XG4gICAgfVxuICB9XG5cbiAgcmVkcmF3KCkge1xuICAgIGlmICh0aGlzLmRyYXduKSB7XG4gICAgICB0aGlzLmVsZW1lbnRzLnVubW91bnQoKTtcbiAgICAgIHRoaXMuZWxlbWVudHMuZGVzdHJveSgpO1xuICAgIH1cbiAgICB0aGlzLmVsZW1lbnRzID0gdGhpcy5zdHJpcGUuZWxlbWVudHModGhpcy5jcmVhdGVPcHRpb25zKS5jcmVhdGUoJ2NhcmQnLCB0aGlzLm9wdGlvbnMpXG4gICAgdGhpcy5lbGVtZW50cy5tb3VudCh0aGlzLkVsZW1lbnRSZWYubmF0aXZlRWxlbWVudClcblxuICAgIHRoaXMuY2FyZE1vdW50ZWQuZW1pdCh0aGlzLmVsZW1lbnRzKTtcbiAgICB0aGlzLmVsZW1lbnRzLm9uKCdjaGFuZ2UnLCAocmVzdWx0OiBhbnkpPT57XG4gICAgICB0aGlzLmNoYW5nZWQuZW1pdChyZXN1bHQpXG4gICAgICBpZiAocmVzdWx0LmNvbXBsZXRlIHx8ICh0aGlzLmNvbXBsZXRlICYmICFyZXN1bHQuY29tcGxldGUpKSB7XG4gICAgICAgIHRoaXMuY29tcGxldGVDaGFuZ2UuZW1pdCh0aGlzLmNvbXBsZXRlID0gcmVzdWx0LmNvbXBsZXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZWxlbWVudHMuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKHJlc3VsdDphbnkpPT57XG4gICAgICBpZiggcmVzdWx0LmVycm9yICl7XG4gICAgICAgIHRoaXMuaW52YWxpZENoYW5nZS5lbWl0KCB0aGlzLmludmFsaWQ9cmVzdWx0LmVycm9yIClcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5kcmF3biA9IHRydWU7XG4gIH1cblxuICBjcmVhdGVUb2tlbihcbiAgICBleHRyYURhdGE/OmFueVxuICApOlByb21pc2U8c3RyaXBlLlRva2VuPntcbiAgICBkZWxldGUgdGhpcy5pbnZhbGlkXG4gICAgdGhpcy5pbnZhbGlkQ2hhbmdlLmVtaXQodGhpcy5pbnZhbGlkKVxuXG4gICAgcmV0dXJuIHRoaXMuc3RyaXBlLmNyZWF0ZVRva2VuKHRoaXMuZWxlbWVudHMsIGV4dHJhRGF0YSlcbiAgICAudGhlbigocmVzdWx0OmFueSk9PntcbiAgICAgIGlmKHJlc3VsdC5lcnJvcil7XG4gICAgICAgIGlmKCByZXN1bHQuZXJyb3IudHlwZT09XCJ2YWxpZGF0aW9uX2Vycm9yXCIgKXtcbiAgICAgICAgICB0aGlzLmludmFsaWRDaGFuZ2UuZW1pdCggdGhpcy5pbnZhbGlkPXJlc3VsdC5lcnJvciApXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMuY2F0Y2hlci5lbWl0KHJlc3VsdC5lcnJvcilcbiAgICAgICAgICB0aHJvdyByZXN1bHQuZXJyb3JcbiAgICAgICAgfVxuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMudG9rZW5DaGFuZ2UuZW1pdCh0aGlzLnRva2VuPXJlc3VsdC50b2tlbilcbiAgICAgICAgcmV0dXJuIHJlc3VsdC50b2tlblxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cblxuaW50ZXJmYWNlIElDYXJkQ2hhbmdlRXZlbnQge1xuICBcImVsZW1lbnRUeXBlXCI6IHN0cmluZ1xuICBlcnJvcj86IHtcbiAgICBcImNvZGVcIjogc3RyaW5nXG4gICAgXCJ0eXBlXCI6IHN0cmluZ1xuICAgIFwibWVzc2FnZVwiOiBzdHJpbmdcbiAgfSxcbiAgXCJ2YWx1ZVwiOiB7XG4gICAgXCJwb3N0YWxDb2RlXCI6IHN0cmluZ1xuICB9LFxuICBcImVtcHR5XCI6IGJvb2xlYW4sXG4gIFwiY29tcGxldGVcIjogYm9vbGVhbixcbiAgXCJicmFuZFwiOiBzdHJpbmdcbn1cbiJdfQ==
--------------------------------------------------------------------------------
/esm2020/components/StripeComponent.mjs:
--------------------------------------------------------------------------------
1 | import { Input, Output, EventEmitter, Component } from "@angular/core";
2 | import * as i0 from "@angular/core";
3 | import * as i1 from "../StripeScriptTag";
4 | export class StripeComponent {
5 | constructor(StripeScriptTag) {
6 | this.StripeScriptTag = StripeScriptTag;
7 | this.catcher = new EventEmitter();
8 | this.invalidChange = new EventEmitter();
9 | }
10 | ngOnInit() {
11 | this.init();
12 | }
13 | init() {
14 | return this.StripeScriptTag.promiseInstance()
15 | .then(i => this.stripe = i);
16 | }
17 | }
18 | StripeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeComponent, deps: [{ token: i1.StripeScriptTag }], target: i0.ɵɵFactoryTarget.Component });
19 | StripeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StripeComponent, selector: "stripe-component", inputs: { invalid: "invalid" }, outputs: { catcher: "catch", invalidChange: "invalidChange" }, ngImport: i0, template: ``, isInline: true });
20 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeComponent, decorators: [{
21 | type: Component,
22 | args: [{
23 | selector: "stripe-component", template: ``
24 | }]
25 | }], ctorParameters: function () { return [{ type: i1.StripeScriptTag }]; }, propDecorators: { catcher: [{
26 | type: Output,
27 | args: ["catch"]
28 | }], invalid: [{
29 | type: Input
30 | }], invalidChange: [{
31 | type: Output
32 | }] } });
33 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvU3RyaXBlQ29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQ3ZDLE1BQU0sZUFBZSxDQUFBOzs7QUFNdEIsTUFBTSxPQUFPLGVBQWU7SUFRMUIsWUFDUyxlQUErQjtRQUEvQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFSdkIsWUFBTyxHQUE4QixJQUFJLFlBQVksRUFBRSxDQUFBO1FBRzlELGtCQUFhLEdBQThCLElBQUksWUFBWSxFQUFFLENBQUE7SUFNckUsQ0FBQztJQUVILFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDYixDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUU7YUFDNUMsSUFBSSxDQUFFLENBQUMsQ0FBQSxFQUFFLENBQUEsSUFBSSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUUsQ0FBQTtJQUMzQixDQUFDOzs2R0FuQlUsZUFBZTtpR0FBZixlQUFlLHVKQUZjLEVBQUU7NEZBRS9CLGVBQWU7a0JBSDNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxFQUFFO2lCQUMzQztzR0FFa0IsT0FBTztzQkFBdkIsTUFBTTt1QkFBQyxPQUFPO2dCQUVOLE9BQU87c0JBQWYsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuaW1wb3J0IHsgU3RyaXBlU2NyaXB0VGFnIH0gZnJvbSBcIi4uL1N0cmlwZVNjcmlwdFRhZ1wiXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdHJpcGUtY29tcG9uZW50XCIsIHRlbXBsYXRlOiBgYFxufSlcbmV4cG9ydCBjbGFzcyBTdHJpcGVDb21wb25lbnR7XG4gIEBPdXRwdXQoXCJjYXRjaFwiKSBjYXRjaGVyOkV2ZW50RW1pdHRlcjxzdHJpcGUuRXJyb3I+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgQElucHV0KCkgaW52YWxpZD86c3RyaXBlLkVycm9yXG4gIEBPdXRwdXQoKSBpbnZhbGlkQ2hhbmdlOkV2ZW50RW1pdHRlcjxzdHJpcGUuRXJyb3I+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgc3RyaXBlITpzdHJpcGUuU3RyaXBlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIFN0cmlwZVNjcmlwdFRhZzpTdHJpcGVTY3JpcHRUYWdcbiAgKXt9XG5cbiAgbmdPbkluaXQoKXtcbiAgICB0aGlzLmluaXQoKVxuICB9XG5cbiAgaW5pdCgpOlByb21pc2U8c3RyaXBlLlN0cmlwZT57XG4gICAgcmV0dXJuIHRoaXMuU3RyaXBlU2NyaXB0VGFnLnByb21pc2VJbnN0YW5jZSgpXG4gICAgLnRoZW4oIGk9PnRoaXMuc3RyaXBlPWkgKVxuICB9XG59Il19
--------------------------------------------------------------------------------
/esm2020/components/StripeSource.component.mjs:
--------------------------------------------------------------------------------
1 | import { Input, Output, EventEmitter, Component } from "@angular/core";
2 | import { StripeComponent } from "./StripeComponent";
3 | import * as i0 from "@angular/core";
4 | import * as i1 from "../StripeScriptTag";
5 | import * as i2 from "@angular/common";
6 | export class StripeSource extends StripeComponent {
7 | constructor(StripeScriptTag) {
8 | super(StripeScriptTag);
9 | this.StripeScriptTag = StripeScriptTag;
10 | this.sourceChange = new EventEmitter();
11 | this.paymentMethodChange = new EventEmitter();
12 | }
13 | createSource(extraData) {
14 | delete this.invalid;
15 | this.invalidChange.emit(this.invalid);
16 | return this.stripe.createSource(this.elements, extraData)
17 | .then((result) => this.processSourceResult(result));
18 | }
19 | processSourceResult(result) {
20 | if (result.error) {
21 | const rError = result.error;
22 | if (rError.type === "validation_error") {
23 | this.invalidChange.emit(this.invalid = rError);
24 | }
25 | else {
26 | this.catcher.emit(rError);
27 | throw rError;
28 | }
29 | }
30 | const source = result.source;
31 | if (source) {
32 | this.sourceChange.emit(this.source = source);
33 | return source;
34 | }
35 | }
36 | createPaymentMethod(extraData) {
37 | delete this.invalid;
38 | this.invalidChange.emit(this.invalid);
39 | return this.stripe.createPaymentMethod('card', this.elements, extraData)
40 | .then((result) => this.processPaymentMethodResult(result));
41 | }
42 | processPaymentMethodResult(result) {
43 | if (result.error) {
44 | const rError = result.error;
45 | if (rError.type === "validation_error") {
46 | this.invalidChange.emit(this.invalid = rError);
47 | }
48 | else {
49 | this.catcher.emit(rError);
50 | throw rError;
51 | }
52 | }
53 | const paymentMethod = result.paymentMethod;
54 | if (paymentMethod) {
55 | this.paymentMethodChange.emit(this.paymentMethod = paymentMethod);
56 | return paymentMethod;
57 | }
58 | }
59 | }
60 | StripeSource.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeSource, deps: [{ token: i1.StripeScriptTag }], target: i0.ɵɵFactoryTarget.Component });
61 | StripeSource.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StripeSource, selector: "stripe-source", inputs: { source: "source", paymentMethod: "paymentMethod" }, outputs: { sourceChange: "sourceChange", paymentMethodChange: "paymentMethodChange" }, exportAs: ["StripeSource"], usesInheritance: true, ngImport: i0, template: `
62 |
63 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
64 |
65 | `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
66 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeSource, decorators: [{
67 | type: Component,
68 | args: [{
69 | selector: "stripe-source",
70 | template: `
71 |
72 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
73 |
74 | `,
75 | exportAs: "StripeSource"
76 | }]
77 | }], ctorParameters: function () { return [{ type: i1.StripeScriptTag }]; }, propDecorators: { source: [{
78 | type: Input
79 | }], sourceChange: [{
80 | type: Output
81 | }], paymentMethod: [{
82 | type: Input
83 | }], paymentMethodChange: [{
84 | type: Output
85 | }] } });
86 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlU291cmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1N0cmlwZVNvdXJjZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFDdkMsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBOzs7O0FBVWhELE1BQU0sT0FBTyxZQUFhLFNBQVEsZUFBZTtJQVNsRCxZQUNTLGVBQStCO1FBRXRDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUZmLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQVI5QixpQkFBWSxHQUErQixJQUFJLFlBQVksRUFBRSxDQUFBO1FBRzdELHdCQUFtQixHQUFvRCxJQUFJLFlBQVksRUFBRSxDQUFBO0lBUW5HLENBQUM7SUFFRCxZQUFZLENBQ1YsU0FBcUQ7UUFFckQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUVyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUM3QixJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FDekI7YUFDQSxJQUFJLENBQUMsQ0FBQyxNQUFVLEVBQUMsRUFBRSxDQUFBLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxtQkFBbUIsQ0FDakIsTUFBNkI7UUFFN0IsSUFBRyxNQUFNLENBQUMsS0FBSyxFQUFDO1lBQ2QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQTtZQUMzQixJQUFLLE1BQWMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFFLENBQUE7YUFDakQ7aUJBQUk7Z0JBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFCLE1BQU0sTUFBTSxDQUFDO2FBQ2Q7U0FDRjtRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFN0IsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNDLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQ2pCLFNBQXFEO1FBRXJELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFckMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUNwQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQ2pDO2FBQ0EsSUFBSSxDQUFDLENBQUMsTUFBVSxFQUFDLEVBQUUsQ0FBQSxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0lBRUQsMEJBQTBCLENBQ3hCLE1BQW9DO1FBRXBDLElBQUcsTUFBTSxDQUFDLEtBQUssRUFBQztZQUNkLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUE7WUFDM0IsSUFBSyxNQUFjLENBQUMsSUFBSSxLQUFLLGtCQUFrQixFQUFFO2dCQUMvQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBRSxDQUFBO2FBQ2pEO2lCQUFJO2dCQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxQixNQUFNLE1BQU0sQ0FBQzthQUNkO1NBQ0Y7UUFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBRTNDLElBQUksYUFBYSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBQyxhQUFhLENBQUMsQ0FBQztZQUNoRSxPQUFPLGFBQWEsQ0FBQztTQUN0QjtJQUNILENBQUM7OzBHQS9FYSxZQUFZOzhGQUFaLFlBQVksNlBBTmhCOzs7O0dBSVQ7NEZBRWEsWUFBWTtrQkFSM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOzs7O0dBSVQ7b0JBQ0QsUUFBUSxFQUFDLGNBQWM7aUJBQ3hCO3NHQUNVLE1BQU07c0JBQWQsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUVFLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuaW1wb3J0IHsgU3RyaXBlU2NyaXB0VGFnIH0gZnJvbSBcIi4uL1N0cmlwZVNjcmlwdFRhZ1wiXG5pbXBvcnQgeyBTdHJpcGVDb21wb25lbnQgfSBmcm9tIFwiLi9TdHJpcGVDb21wb25lbnRcIlxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3RyaXBlLXNvdXJjZVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFTdHJpcGVTY3JpcHRUYWcuU3RyaXBlSW5zdGFuY2VcIj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiY29sb3I6cmVkO1wiPlN0cmlwZSBQdWJsaXNoYWJsZUtleSBOT1QgU0VULiBVc2UgbWV0aG9kIFN0cmlwZVNjcmlwdFRhZy5zZXRQdWJsaXNoYWJsZUtleSgpPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgZXhwb3J0QXM6XCJTdHJpcGVTb3VyY2VcIlxufSkgZXhwb3J0IGNsYXNzIFN0cmlwZVNvdXJjZSBleHRlbmRzIFN0cmlwZUNvbXBvbmVudHtcbiAgQElucHV0KCkgc291cmNlPzogc3RyaXBlLlNvdXJjZVxuICBAT3V0cHV0KCkgc291cmNlQ2hhbmdlOkV2ZW50RW1pdHRlcjxzdHJpcGUuU291cmNlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBJbnB1dCgpIHBheW1lbnRNZXRob2Q/OiBzdHJpcGUucGF5bWVudE1ldGhvZC5QYXltZW50TWV0aG9kXG4gIEBPdXRwdXQoKSBwYXltZW50TWV0aG9kQ2hhbmdlOkV2ZW50RW1pdHRlcjxzdHJpcGUucGF5bWVudE1ldGhvZC5QYXltZW50TWV0aG9kPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGVsZW1lbnRzOiBhbnkgLy8gRm9yIGNhcmQsIGl0cyB0aGUgVUkgZWxlbWVudFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBTdHJpcGVTY3JpcHRUYWc6U3RyaXBlU2NyaXB0VGFnXG4gICl7XG4gICAgc3VwZXIoU3RyaXBlU2NyaXB0VGFnKVxuICB9XG5cbiAgY3JlYXRlU291cmNlKFxuICAgIGV4dHJhRGF0YTp7IG93bmVyPzogc3RyaXBlLk93bmVySW5mbywgbWV0YWRhdGE/OiBhbnl9XG4gICk6UHJvbWlzZTxzdHJpcGUuU291cmNlIHwgdm9pZD57XG4gICAgZGVsZXRlIHRoaXMuaW52YWxpZDtcbiAgICB0aGlzLmludmFsaWRDaGFuZ2UuZW1pdCh0aGlzLmludmFsaWQpXG5cbiAgICByZXR1cm4gdGhpcy5zdHJpcGUuY3JlYXRlU291cmNlKFxuICAgICAgdGhpcy5lbGVtZW50cywgZXh0cmFEYXRhXG4gICAgKVxuICAgIC50aGVuKChyZXN1bHQ6YW55KT0+dGhpcy5wcm9jZXNzU291cmNlUmVzdWx0KHJlc3VsdCkpXG4gIH1cblxuICBwcm9jZXNzU291cmNlUmVzdWx0KFxuICAgIHJlc3VsdDogc3RyaXBlLlNvdXJjZVJlc3BvbnNlXG4gICk6IHN0cmlwZS5Tb3VyY2UgfCB2b2lkIHtcbiAgICBpZihyZXN1bHQuZXJyb3Ipe1xuICAgICAgY29uc3QgckVycm9yID0gcmVzdWx0LmVycm9yXG4gICAgICBpZiggKHJFcnJvciBhcyBhbnkpLnR5cGUgPT09IFwidmFsaWRhdGlvbl9lcnJvclwiICl7XG4gICAgICAgIHRoaXMuaW52YWxpZENoYW5nZS5lbWl0KCB0aGlzLmludmFsaWQgPSByRXJyb3IgKVxuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMuY2F0Y2hlci5lbWl0KHJFcnJvcik7XG4gICAgICAgIHRocm93IHJFcnJvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2UgPSByZXN1bHQuc291cmNlO1xuXG4gICAgaWYgKHNvdXJjZSkge1xuICAgICAgdGhpcy5zb3VyY2VDaGFuZ2UuZW1pdCh0aGlzLnNvdXJjZT1zb3VyY2UpO1xuICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVQYXltZW50TWV0aG9kKFxuICAgIGV4dHJhRGF0YTp7IG93bmVyPzogc3RyaXBlLk93bmVySW5mbywgbWV0YWRhdGE/OiBhbnl9XG4gICk6UHJvbWlzZTxzdHJpcGUucGF5bWVudE1ldGhvZC5QYXltZW50TWV0aG9kIHwgdm9pZD57XG4gICAgZGVsZXRlIHRoaXMuaW52YWxpZDtcbiAgICB0aGlzLmludmFsaWRDaGFuZ2UuZW1pdCh0aGlzLmludmFsaWQpXG5cbiAgICByZXR1cm4gdGhpcy5zdHJpcGUuY3JlYXRlUGF5bWVudE1ldGhvZChcbiAgICAgICdjYXJkJywgdGhpcy5lbGVtZW50cywgZXh0cmFEYXRhXG4gICAgKVxuICAgIC50aGVuKChyZXN1bHQ6YW55KT0+dGhpcy5wcm9jZXNzUGF5bWVudE1ldGhvZFJlc3VsdChyZXN1bHQpKVxuICB9XG5cbiAgcHJvY2Vzc1BheW1lbnRNZXRob2RSZXN1bHQoXG4gICAgcmVzdWx0OiBzdHJpcGUuUGF5bWVudE1ldGhvZFJlc3BvbnNlXG4gICk6IHN0cmlwZS5wYXltZW50TWV0aG9kLlBheW1lbnRNZXRob2QgfCB2b2lkIHtcbiAgICBpZihyZXN1bHQuZXJyb3Ipe1xuICAgICAgY29uc3QgckVycm9yID0gcmVzdWx0LmVycm9yXG4gICAgICBpZiggKHJFcnJvciBhcyBhbnkpLnR5cGUgPT09IFwidmFsaWRhdGlvbl9lcnJvclwiICl7XG4gICAgICAgIHRoaXMuaW52YWxpZENoYW5nZS5lbWl0KCB0aGlzLmludmFsaWQgPSByRXJyb3IgKVxuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMuY2F0Y2hlci5lbWl0KHJFcnJvcik7XG4gICAgICAgIHRocm93IHJFcnJvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwYXltZW50TWV0aG9kID0gcmVzdWx0LnBheW1lbnRNZXRob2Q7XG5cbiAgICBpZiAocGF5bWVudE1ldGhvZCkge1xuICAgICAgdGhpcy5wYXltZW50TWV0aG9kQ2hhbmdlLmVtaXQodGhpcy5wYXltZW50TWV0aG9kPXBheW1lbnRNZXRob2QpO1xuICAgICAgcmV0dXJuIHBheW1lbnRNZXRob2Q7XG4gICAgfVxuICB9XG59XG4iXX0=
--------------------------------------------------------------------------------
/esm2020/index.mjs:
--------------------------------------------------------------------------------
1 | import { NgModule } from "@angular/core";
2 | import { CommonModule } from "@angular/common";
3 | import { STRIPE_OPTIONS, STRIPE_PUBLISHABLE_KEY } from './StripeTypes';
4 | import { StripeComponent } from "./components/StripeComponent";
5 | import { StripeScriptTag } from "./StripeScriptTag";
6 | import { StripeSource } from "./components/StripeSource.component";
7 | import { StripeCard } from "./components/StripeCard.component";
8 | import { StripeBank } from "./components/StripeBank.component";
9 | import * as i0 from "@angular/core";
10 | export * from "./StripeTypes";
11 | export { StripeComponent } from "./components/StripeComponent";
12 | export { StripeScriptTag } from "./StripeScriptTag";
13 | export { StripeSource } from "./components/StripeSource.component";
14 | export { StripeCard } from "./components/StripeCard.component";
15 | export { StripeBank } from "./components/StripeBank.component";
16 | const declarations = [
17 | StripeComponent,
18 | StripeSource,
19 | StripeCard,
20 | StripeBank
21 | ];
22 | export class StripeModule {
23 | static forRoot(publishableKey, options) {
24 | return {
25 | ngModule: StripeModule,
26 | providers: [
27 | StripeScriptTag,
28 | {
29 | provide: STRIPE_PUBLISHABLE_KEY,
30 | useValue: publishableKey
31 | },
32 | {
33 | provide: STRIPE_OPTIONS,
34 | useValue: options
35 | }
36 | ],
37 | };
38 | }
39 | }
40 | StripeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
41 | StripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeModule, declarations: [StripeComponent,
42 | StripeSource,
43 | StripeCard,
44 | StripeBank], imports: [CommonModule], exports: [StripeComponent,
45 | StripeSource,
46 | StripeCard,
47 | StripeBank] });
48 | StripeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeModule, imports: [[
49 | CommonModule
50 | ]] });
51 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeModule, decorators: [{
52 | type: NgModule,
53 | args: [{
54 | imports: [
55 | CommonModule
56 | ],
57 | declarations,
58 | // providers: [ StripeScriptTag ],
59 | exports: [...declarations]
60 | }]
61 | }] });
62 | /**
63 | * @deprecated Please import `StripeModule` directly
64 | */
65 | export const Module = StripeModule;
66 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUduRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFHbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBRzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTs7QUFsQjlELGNBQWMsZUFBZSxDQUFBO0FBTzdCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUc5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBR2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUc5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFFOUQsTUFBTSxZQUFZLEdBQUc7SUFDbkIsZUFBZTtJQUNmLFlBQVk7SUFDWixVQUFVO0lBQ1YsVUFBVTtDQUNYLENBQUE7QUFTRSxNQUFNLE9BQU8sWUFBWTtJQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLGNBQXVCLEVBQUUsT0FBOEI7UUFDcEUsT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDVCxlQUFlO2dCQUNmO29CQUNFLE9BQU8sRUFBRSxzQkFBc0I7b0JBQy9CLFFBQVEsRUFBRSxjQUFjO2lCQUN6QjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsY0FBYztvQkFDdkIsUUFBUSxFQUFFLE9BQU87aUJBQ2xCO2FBQ0Y7U0FDRixDQUFBO0lBQ0gsQ0FBQzs7MEdBaEJhLFlBQVk7MkdBQVosWUFBWSxpQkFiMUIsZUFBZTtRQUNmLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVSxhQUtSLFlBQVksYUFSZCxlQUFlO1FBQ2YsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVOzJHQVVJLFlBQVksWUFObEI7WUFDTixZQUFZO1NBQ2I7NEZBSWEsWUFBWTtrQkFQM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUM7d0JBQ04sWUFBWTtxQkFDYjtvQkFDRCxZQUFZO29CQUNiLGtDQUFrQztvQkFDakMsT0FBTyxFQUFDLENBQUUsR0FBRyxZQUFZLENBQUU7aUJBQzVCOztBQW1CRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9TdHJpcGVUeXBlc1wiXG5cbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuaW1wb3J0IHsgU1RSSVBFX09QVElPTlMsIFNUUklQRV9QVUJMSVNIQUJMRV9LRVkgfSBmcm9tICcuL1N0cmlwZVR5cGVzJ1xuaW1wb3J0IHsgU3RyaXBlQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9TdHJpcGVDb21wb25lbnRcIlxuZXhwb3J0IHsgU3RyaXBlQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9TdHJpcGVDb21wb25lbnRcIlxuXG5pbXBvcnQgeyBTdHJpcGVTY3JpcHRUYWcgfSBmcm9tIFwiLi9TdHJpcGVTY3JpcHRUYWdcIlxuZXhwb3J0IHsgU3RyaXBlU2NyaXB0VGFnIH0gZnJvbSBcIi4vU3RyaXBlU2NyaXB0VGFnXCJcblxuaW1wb3J0IHsgU3RyaXBlU291cmNlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9TdHJpcGVTb3VyY2UuY29tcG9uZW50XCJcbmV4cG9ydCB7IFN0cmlwZVNvdXJjZSB9IGZyb20gXCIuL2NvbXBvbmVudHMvU3RyaXBlU291cmNlLmNvbXBvbmVudFwiXG5cbmltcG9ydCB7IFN0cmlwZUNhcmQgfSBmcm9tIFwiLi9jb21wb25lbnRzL1N0cmlwZUNhcmQuY29tcG9uZW50XCJcbmV4cG9ydCB7IFN0cmlwZUNhcmQgfSBmcm9tIFwiLi9jb21wb25lbnRzL1N0cmlwZUNhcmQuY29tcG9uZW50XCJcblxuaW1wb3J0IHsgU3RyaXBlQmFuayB9IGZyb20gXCIuL2NvbXBvbmVudHMvU3RyaXBlQmFuay5jb21wb25lbnRcIlxuZXhwb3J0IHsgU3RyaXBlQmFuayB9IGZyb20gXCIuL2NvbXBvbmVudHMvU3RyaXBlQmFuay5jb21wb25lbnRcIlxuXG5jb25zdCBkZWNsYXJhdGlvbnMgPSBbXG4gIFN0cmlwZUNvbXBvbmVudCwgLy8gaWdub3JlIGRvIG5vdCB1c2UgKGhhcyB0byBiZSBoZXJlIGZvciBleHRlbmRzIHB1cnBvc2VzKVxuICBTdHJpcGVTb3VyY2UsXG4gIFN0cmlwZUNhcmQsXG4gIFN0cmlwZUJhbmtcbl1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czpbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9ucyxcbiAvLyBwcm92aWRlcnM6IFsgU3RyaXBlU2NyaXB0VGFnIF0sXG4gIGV4cG9ydHM6WyAuLi5kZWNsYXJhdGlvbnMgXVxufSkgZXhwb3J0IGNsYXNzIFN0cmlwZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KHB1Ymxpc2hhYmxlS2V5Pzogc3RyaW5nLCBvcHRpb25zPzogc3RyaXBlLlN0cmlwZU9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFN0cmlwZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogU3RyaXBlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFN0cmlwZVNjcmlwdFRhZyxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFNUUklQRV9QVUJMSVNIQUJMRV9LRVksXG4gICAgICAgICAgdXNlVmFsdWU6IHB1Ymxpc2hhYmxlS2V5XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTVFJJUEVfT1BUSU9OUyxcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xuICAgICAgICB9XG4gICAgICBdLFxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFBsZWFzZSBpbXBvcnQgYFN0cmlwZU1vZHVsZWAgZGlyZWN0bHlcbiAqL1xuZXhwb3J0IGNvbnN0IE1vZHVsZSA9IFN0cmlwZU1vZHVsZVxuIl19
--------------------------------------------------------------------------------
/esm2020/stripe-angular.mjs:
--------------------------------------------------------------------------------
1 | /**
2 | * Generated bundle index. Do not edit.
3 | */
4 | export * from './index';
5 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyaXBlLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
--------------------------------------------------------------------------------
/esm5/StripeScriptTag.js:
--------------------------------------------------------------------------------
1 | import { __decorate, __param } from "tslib";
2 | import { Injectable, Inject } from "@angular/core";
3 | import { STRIPE_PUBLISHABLE_KEY, STRIPE_OPTIONS
4 | //, StripeCard, StripeToken
5 | } from "./StripeTypes";
6 | import * as i0 from "@angular/core";
7 | import * as i1 from "./StripeTypes";
8 | var StripeScriptTag = /** @class */ (function () {
9 | function StripeScriptTag(key, options) {
10 | this.src = "https://js.stripe.com/v3/";
11 | this.load = this.injectIntoHead();
12 | if (key)
13 | this.setPublishableKey(key, options);
14 | }
15 | StripeScriptTag.prototype.promiseStripe = function () {
16 | return this.load;
17 | };
18 | StripeScriptTag.prototype.promiseInstance = function () {
19 | var _this = this;
20 | return this.promiseStripe()
21 | .then(function (stripe) {
22 | if (!_this.StripeInstance) {
23 | var err = new Error("Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()");
24 | err["code"] = "STRIPEKEYNOTSET";
25 | throw err;
26 | //return Promise.reject( err )
27 | }
28 | return _this.StripeInstance;
29 | });
30 | };
31 | StripeScriptTag.prototype.setPublishableKey = function (key, options) {
32 | var _this = this;
33 | return this.load.then(function () {
34 | return _this.StripeInstance = _this.Stripe(key, options);
35 | });
36 | };
37 | StripeScriptTag.prototype.injectIntoHead = function () {
38 | var _this = this;
39 | if (window["Stripe"]) {
40 | return Promise.resolve(this.Stripe = window["Stripe"]);
41 | }
42 | return new Promise(function (res, rej) {
43 | var head = _this.getTargetTagDropElement();
44 | var script = document.createElement("script");
45 | script.setAttribute("src", _this.src);
46 | script.setAttribute("type", "text/javascript");
47 | script.addEventListener("load", function () {
48 | _this.Stripe = _this.grabStripe();
49 | res(_this.Stripe);
50 | });
51 | head.appendChild(script);
52 | });
53 | };
54 | StripeScriptTag.prototype.grabStripe = function () {
55 | return window["Stripe"];
56 | };
57 | StripeScriptTag.prototype.getTargetTagDropElement = function () {
58 | var elm = document.getElementsByTagName("head");
59 | if (elm.length)
60 | return elm[0];
61 | return document.getElementsByTagName("body")[0];
62 | };
63 | StripeScriptTag.ctorParameters = function () { return [
64 | { type: String, decorators: [{ type: Inject, args: [STRIPE_PUBLISHABLE_KEY,] }] },
65 | { type: undefined, decorators: [{ type: Inject, args: [STRIPE_OPTIONS,] }] }
66 | ]; };
67 | StripeScriptTag.ɵprov = i0.ɵɵdefineInjectable({ factory: function StripeScriptTag_Factory() { return new StripeScriptTag(i0.ɵɵinject(i1.STRIPE_PUBLISHABLE_KEY), i0.ɵɵinject(i1.STRIPE_OPTIONS)); }, token: StripeScriptTag, providedIn: "root" });
68 | StripeScriptTag = __decorate([
69 | Injectable({ providedIn: 'root' }),
70 | __param(0, Inject(STRIPE_PUBLISHABLE_KEY)),
71 | __param(1, Inject(STRIPE_OPTIONS))
72 | ], StripeScriptTag);
73 | return StripeScriptTag;
74 | }());
75 | export { StripeScriptTag };
76 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlU2NyaXB0VGFnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vc3RyaXBlLWFuZ3VsYXIvIiwic291cmNlcyI6WyJTdHJpcGVTY3JpcHRUYWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWxELE9BQU8sRUFDMEMsc0JBQXNCLEVBQUUsY0FBYztBQUNyRiwyQkFBMkI7RUFDNUIsTUFBTSxlQUFlLENBQUE7OztBQUVZO0lBTWhDLHlCQUNrQyxHQUFZLEVBQ3BCLE9BQStCO1FBUHpELFFBQUcsR0FBVSwyQkFBMkIsQ0FBQTtRQVN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUNqQyxJQUFJLEdBQUc7WUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFRCx1Q0FBYSxHQUFiO1FBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFFRCx5Q0FBZSxHQUFmO1FBQUEsaUJBWUM7UUFYQyxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUU7YUFDMUIsSUFBSSxDQUFDLFVBQUEsTUFBTTtZQUNWLElBQUksQ0FBQyxLQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN4QixJQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQywrRUFBK0UsQ0FBQyxDQUFBO2dCQUN0RyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsaUJBQWlCLENBQUE7Z0JBQy9CLE1BQU0sR0FBRyxDQUFBO2dCQUNULDhCQUE4QjthQUMvQjtZQUVELE9BQU8sS0FBSSxDQUFDLGNBQWMsQ0FBQTtRQUM1QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCwyQ0FBaUIsR0FBakIsVUFDRSxHQUFVLEVBQ1YsT0FBOEI7UUFGaEMsaUJBT0M7UUFIQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFFO1lBQ3JCLE9BQUEsS0FBSSxDQUFDLGNBQWMsR0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUM7UUFBN0MsQ0FBNkMsQ0FDOUMsQ0FBQTtJQUNILENBQUM7SUFFRCx3Q0FBYyxHQUFkO1FBQUEsaUJBa0JDO1FBakJDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBRSxJQUFJLENBQUMsTUFBTSxHQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBRSxDQUFBO1NBQ3ZEO1FBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLEdBQUcsRUFBQyxHQUFHO1lBQ3pCLElBQU0sSUFBSSxHQUFHLEtBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFBO1lBQzNDLElBQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDL0MsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3BDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUE7WUFFOUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBQztnQkFDN0IsS0FBSSxDQUFDLE1BQU0sR0FBRyxLQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7Z0JBQy9CLEdBQUcsQ0FBRSxLQUFJLENBQUMsTUFBTSxDQUFFLENBQUE7WUFDcEIsQ0FBQyxDQUFDLENBQUE7WUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELG9DQUFVLEdBQVY7UUFDRSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBRUQsaURBQXVCLEdBQXZCO1FBQ0UsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRS9DLElBQUcsR0FBRyxDQUFDLE1BQU07WUFBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUzQixPQUFPLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNqRCxDQUFDOzs2Q0FoRUUsTUFBTSxTQUFDLHNCQUFzQjtnREFDN0IsTUFBTSxTQUFDLGNBQWM7OztJQVJxQixlQUFlO1FBQTdELFVBQVUsQ0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsQ0FBQztRQU81QixXQUFBLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1FBQzlCLFdBQUEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO09BUm9CLGVBQWUsQ0F3RTdEOzBCQS9FRDtDQStFQyxBQXhFaUMsSUF3RWpDO1NBeEU4QyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQge1xuICBTdHJpcGUsIFN0cmlwZUluc3RhbmNlLCBTdHJpcGVJbnN0YW5jZU9wdGlvbnMsIFNUUklQRV9QVUJMSVNIQUJMRV9LRVksIFNUUklQRV9PUFRJT05TXG4gIC8vLCBTdHJpcGVDYXJkLCBTdHJpcGVUb2tlblxufSBmcm9tIFwiLi9TdHJpcGVUeXBlc1wiXG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KSBleHBvcnQgY2xhc3MgU3RyaXBlU2NyaXB0VGFne1xuICBzcmM6c3RyaW5nID0gXCJodHRwczovL2pzLnN0cmlwZS5jb20vdjMvXCJcbiAgU3RyaXBlITpTdHJpcGUvL3NldCBhdCBydW50aW1lXG4gIFN0cmlwZUluc3RhbmNlITpTdHJpcGVJbnN0YW5jZVxuICBsb2FkOlByb21pc2U8YW55PlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoU1RSSVBFX1BVQkxJU0hBQkxFX0tFWSkga2V5Pzogc3RyaW5nLFxuICAgIEBJbmplY3QoU1RSSVBFX09QVElPTlMpIG9wdGlvbnM/OiBTdHJpcGVJbnN0YW5jZU9wdGlvbnNcbiAgKXtcbiAgICB0aGlzLmxvYWQgPSB0aGlzLmluamVjdEludG9IZWFkKClcbiAgICBpZiAoa2V5KSB0aGlzLnNldFB1Ymxpc2hhYmxlS2V5KGtleSwgb3B0aW9ucylcbiAgfVxuXG4gIHByb21pc2VTdHJpcGUoKTpQcm9taXNlPFN0cmlwZT57XG4gICAgcmV0dXJuIHRoaXMubG9hZFxuICB9XG5cbiAgcHJvbWlzZUluc3RhbmNlKCk6UHJvbWlzZTxTdHJpcGVJbnN0YW5jZT57XG4gICAgcmV0dXJuIHRoaXMucHJvbWlzZVN0cmlwZSgpXG4gICAgLnRoZW4oc3RyaXBlPT57XG4gICAgICBpZiggIXRoaXMuU3RyaXBlSW5zdGFuY2UgKXtcbiAgICAgICAgY29uc3QgZXJyID0gbmV3IEVycm9yKFwiU3RyaXBlIFB1Ymxpc2hhYmxlS2V5IE5PVCBTRVQuIFVzZSBtZXRob2QgU3RyaXBlU2NyaXB0VGFnLnNldFB1Ymxpc2hhYmxlS2V5KClcIilcbiAgICAgICAgZXJyW1wiY29kZVwiXSA9IFwiU1RSSVBFS0VZTk9UU0VUXCJcbiAgICAgICAgdGhyb3cgZXJyXG4gICAgICAgIC8vcmV0dXJuIFByb21pc2UucmVqZWN0KCBlcnIgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5TdHJpcGVJbnN0YW5jZVxuICAgIH0pXG4gIH1cblxuICBzZXRQdWJsaXNoYWJsZUtleShcbiAgICBrZXk6c3RyaW5nLFxuICAgIG9wdGlvbnM/OlN0cmlwZUluc3RhbmNlT3B0aW9uc1xuICApOlByb21pc2U8U3RyaXBlSW5zdGFuY2U+e1xuICAgIHJldHVybiB0aGlzLmxvYWQudGhlbiggKCk9PlxuICAgICAgdGhpcy5TdHJpcGVJbnN0YW5jZT10aGlzLlN0cmlwZShrZXksIG9wdGlvbnMpXG4gICAgKVxuICB9XG5cbiAgaW5qZWN0SW50b0hlYWQoKTpQcm9taXNlPFN0cmlwZT57XG4gICAgaWYoIHdpbmRvd1tcIlN0cmlwZVwiXSApe1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSggdGhpcy5TdHJpcGU9d2luZG93W1wiU3RyaXBlXCJdIClcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlcyxyZWopPT57XG4gICAgICBjb25zdCBoZWFkID0gdGhpcy5nZXRUYXJnZXRUYWdEcm9wRWxlbWVudCgpXG4gICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpXG4gICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKFwic3JjXCIsIHRoaXMuc3JjKVxuICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJ0ZXh0L2phdmFzY3JpcHRcIilcblxuICAgICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsKCk9PntcbiAgICAgICAgdGhpcy5TdHJpcGUgPSB0aGlzLmdyYWJTdHJpcGUoKVxuICAgICAgICByZXMoIHRoaXMuU3RyaXBlIClcbiAgICAgIH0pXG5cbiAgICAgIGhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KVxuICAgIH0pXG4gIH1cblxuICBncmFiU3RyaXBlKCl7XG4gICAgcmV0dXJuIHdpbmRvd1tcIlN0cmlwZVwiXVxuICB9XG5cbiAgZ2V0VGFyZ2V0VGFnRHJvcEVsZW1lbnQoKXtcbiAgICBsZXQgZWxtID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJoZWFkXCIpXG5cbiAgICBpZihlbG0ubGVuZ3RoKXJldHVybiBlbG1bMF1cblxuICAgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImJvZHlcIilbMF1cbiAgfVxufVxuIl19
--------------------------------------------------------------------------------
/esm5/StripeTypes.js:
--------------------------------------------------------------------------------
1 | import { InjectionToken } from '@angular/core';
2 | export var STRIPE_PUBLISHABLE_KEY = new InjectionToken('Stripe Publishable Key');
3 | export var STRIPE_OPTIONS = new InjectionToken('Stripe Options');
4 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlVHlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9zdHJpcGUtYW5ndWxhci8iLCJzb3VyY2VzIjpbIlN0cmlwZVR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLElBQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQVMsd0JBQXdCLENBQUMsQ0FBQTtBQUMxRixNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQXdCLGdCQUFnQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgU1RSSVBFX1BVQkxJU0hBQkxFX0tFWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdTdHJpcGUgUHVibGlzaGFibGUgS2V5JylcbmV4cG9ydCBjb25zdCBTVFJJUEVfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTdHJpcGVJbnN0YW5jZU9wdGlvbnM+KCdTdHJpcGUgT3B0aW9ucycpXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaXBle1xuICAoc3RyaW5nOnN0cmluZyxvcHRpb25zPzpTdHJpcGVJbnN0YW5jZU9wdGlvbnMpOlN0cmlwZUluc3RhbmNlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaXBlSW5zdGFuY2V7XG4gIGVsZW1lbnRzICAgICAgIDogKG9wdGlvbnM/OmFueSk9PmFueVxuICBjcmVhdGVUb2tlbiAgICA6IChlbGVtZW50czphbnksIG9wdGlvbnM/OlN0cmlwZUluc3RhbmNlT3B0aW9ucyk9PmFueVxuICBjcmVhdGVTb3VyY2UgICA6IChlbGVtZW50czphbnksIG9wdGlvbnM/OlN0cmlwZUluc3RhbmNlT3B0aW9ucyk9PmFueVxuICByZXRyaWV2ZVNvdXJjZSA6ICgpPT5hbnlcbiAgcGF5bWVudFJlcXVlc3QgOiAoKT0+YW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaXBlSW5zdGFuY2VPcHRpb25ze1xuICBzdHJpcGVBY2NvdW50ID86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdHJpcGVDYXJke1xuICBpZCAgICAgICAgICAgICAgICAgIDogc3RyaW5nXG4gIG9iamVjdCAgICAgICAgICAgICAgOiBcImNhcmRcInxzdHJpbmdcbiAgbmFtZSAgICAgICAgICAgICAgICA6IHN0cmluZ1xuICBhZGRyZXNzX2NpdHkgICAgICAgIDogc3RyaW5nXG4gIGFkZHJlc3NfY291bnRyeSAgICAgOiBzdHJpbmdcbiAgYWRkcmVzc19saW5lMSAgICAgICA6IHN0cmluZ1xuICBhZGRyZXNzX2xpbmUxX2NoZWNrIDogc3RyaW5nXG4gIGFkZHJlc3NfbGluZTIgICAgICAgOiBzdHJpbmdcbiAgYWRkcmVzc19zdGF0ZSAgICAgICA6IHN0cmluZ1xuICBhZGRyZXNzX3ppcCAgICAgICAgIDogc3RyaW5nXG4gIGFkZHJlc3NfemlwX2NoZWNrICAgOiBzdHJpbmdcbiAgYnJhbmQgICAgICAgICAgICAgICA6IHN0cmluZ1xuICBjb3VudHJ5ICAgICAgICAgICAgIDogc3RyaW5nXG4gIGN2Y19jaGVjayAgICAgICAgICAgOiBzdHJpbmdcbiAgZHluYW1pY19sYXN0NCAgICAgICA6IHN0cmluZ1xuICBleHBfbW9udGggICAgICAgICAgIDogbnVtYmVyXG4gIGV4cF95ZWFyICAgICAgICAgICAgOiBudW1iZXJcbiAgZnVuZGluZyAgICAgICAgICAgICA6IHN0cmluZ1xuICBsYXN0NCAgICAgICAgICAgICAgIDogc3RyaW5nXG4gIG1ldGFkYXRhICAgICAgICAgICAgOiBhbnlcbiAgdG9rZW5pemF0aW9uX21ldGhvZCA6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmlwZVRva2Vue1xuICBpZCAgICAgICAgOiBzdHJpbmdcbiAgb2JqZWN0ICAgIDogc3RyaW5nXG4gIGNhcmQgICAgICA6IFN0cmlwZUNhcmRcbiAgY2xpZW50X2lwIDogc3RyaW5nXG4gIGNyZWF0ZWQgICA6IG51bWJlclxuICBsaXZlbW9kZSAgOiBib29sZWFuXG4gIHR5cGUgICAgICA6IFwiY2FyZFwifHN0cmluZ1xuICB1c2VkICAgICAgOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaXBlU291cmNlIHtcbiAgaWQgICAgICAgIDogc3RyaW5nXG4gIG9iamVjdCAgICA6IHN0cmluZ1xuICBjYXJkICAgICAgOiBTdHJpcGVDYXJkXG4gIGNsaWVudF9pcCA6IHN0cmluZ1xuICBjcmVhdGVkICAgOiBudW1iZXJcbiAgbGl2ZW1vZGUgIDogYm9vbGVhblxuICBzdGF0dXMgICAgOiBzdHJpbmdcbiAgdHlwZSAgICAgIDogXCJjYXJkXCIgfCBzdHJpbmdcbiAgdXNhZ2UgICAgIDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaXBlU3R5bGV7XG4gIGNvbG9yICAgICAgICAgIDogc3RyaW5nXG4gIGZvbnRGYW1pbHkgICAgIDogc3RyaW5nXG4gIGZvbnRTaXplICAgICAgIDogc3RyaW5nXG4gIGZvbnRTbW9vdGhpbmcgIDogc3RyaW5nXG4gIGZvbnRTdHlsZSAgICAgIDogc3RyaW5nXG4gIGZvbnRWYXJpYW50ICAgIDogc3RyaW5nXG4gIGljb25Db2xvciAgICAgIDogc3RyaW5nXG4gIGxpbmVIZWlnaHQgICAgIDogc3RyaW5nXG4gIGxldHRlclNwYWNpbmcgIDogc3RyaW5nXG4gIHRleHRBbGlnbiAgICAgIDogc3RyaW5nXG4gIHRleHREZWNvcmF0aW9uIDogc3RyaW5nXG4gIHRleHRTaGFkb3cgICAgIDogc3RyaW5nXG4gIHRleHRUcmFuc2Zvcm0gIDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaXBlU3R5bGluZ3tcbiAgYmFzZSAgICAgOiBTdHJpcGVTdHlsZVxuICBjb21wbGV0ZSA6IFN0cmlwZVN0eWxlXG4gIGVtcHR5ICAgIDogU3RyaXBlU3R5bGVcbiAgaW52YWxpZCAgOiBTdHJpcGVTdHlsZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmlwZUNsYXNzZXN7XG4gIGJhc2UgICAgIDogc3RyaW5nXG4gIGNvbXBsZXRlIDogc3RyaW5nXG4gIGVtcHR5ICAgIDogc3RyaW5nXG4gIGZvY3VzICAgIDogc3RyaW5nXG4gIGludmFsaWQgIDogc3RyaW5nXG4gIHdlYmtpdEF1dG9maWxsOnN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmlwZUNhcmRPcHRpb25ze1xuICBjbGFzc2VzICAgICAgICA6IFN0cmlwZUNsYXNzZXNcbiAgaGlkZVBvc3RhbENvZGUgOiBib29sZWFuXG4gIGhpZGVJY29uICAgICAgIDogYm9vbGVhblxuICBpY29uU3R5bGUgICAgICA6IHN0cmluZ1xuICBwbGFjZWhvbGRlciAgICA6IHN0cmluZ1xuICBzdHlsZSAgICAgICAgICA6IFN0cmlwZVN0eWxpbmdcbn0iXX0=
--------------------------------------------------------------------------------
/esm5/components/StripeBank.component.js:
--------------------------------------------------------------------------------
1 | import { __decorate, __extends } from "tslib";
2 | import { Input, Output, EventEmitter, Component } from "@angular/core";
3 | import { StripeComponent } from "./StripeComponent";
4 | import { StripeScriptTag } from "../StripeScriptTag";
5 | var StripeBank = /** @class */ (function (_super) {
6 | __extends(StripeBank, _super);
7 | function StripeBank(StripeScriptTag) {
8 | var _this = _super.call(this, StripeScriptTag) || this;
9 | _this.StripeScriptTag = StripeScriptTag;
10 | _this.tokenChange = new EventEmitter();
11 | return _this;
12 | }
13 | StripeBank.prototype.createToken = function (data) {
14 | var _this = this;
15 | delete this.invalid;
16 | this.invalidChange.emit(this.invalid);
17 | return this.stripe.createToken('bank_account', data)
18 | .then(function (result) {
19 | if (result.error) {
20 | if (result.error.type == "validation_error") {
21 | _this.invalidChange.emit(_this.invalid = result.error);
22 | }
23 | else {
24 | _this.catcher.emit(result.error);
25 | throw result.error;
26 | }
27 | }
28 | else {
29 | _this.tokenChange.emit(_this.token = result.token);
30 | return result.token;
31 | }
32 | });
33 | };
34 | StripeBank.ctorParameters = function () { return [
35 | { type: StripeScriptTag }
36 | ]; };
37 | __decorate([
38 | Input()
39 | ], StripeBank.prototype, "options", void 0);
40 | __decorate([
41 | Input()
42 | ], StripeBank.prototype, "token", void 0);
43 | __decorate([
44 | Output()
45 | ], StripeBank.prototype, "tokenChange", void 0);
46 | StripeBank = __decorate([
47 | Component({
48 | selector: "stripe-bank",
49 | template: "\n \n Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
\n \n ",
50 | exportAs: "StripeBank"
51 | })
52 | ], StripeBank);
53 | return StripeBank;
54 | }(StripeComponent));
55 | export { StripeBank };
56 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlQmFuay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9zdHJpcGUtYW5ndWxhci8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU3RyaXBlQmFuay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQ3ZDLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFtQmpEO0lBQWdDLDhCQUFlO0lBTWhELG9CQUNTLGVBQStCO1FBRHhDLFlBR0Usa0JBQU0sZUFBZSxDQUFDLFNBQ3ZCO1FBSFEscUJBQWUsR0FBZixlQUFlLENBQWdCO1FBSDlCLGlCQUFXLEdBQTZCLElBQUksWUFBWSxFQUFFLENBQUE7O0lBTXBFLENBQUM7SUFFRCxnQ0FBVyxHQUFYLFVBQWEsSUFBUztRQUF0QixpQkFrQkM7UUFqQkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUVyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUM7YUFDbkQsSUFBSSxDQUFDLFVBQUMsTUFBVTtZQUNmLElBQUcsTUFBTSxDQUFDLEtBQUssRUFBQztnQkFDZCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFFLGtCQUFrQixFQUFFO29CQUN6QyxLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBRSxLQUFJLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUUsQ0FBQTtpQkFDckQ7cUJBQUk7b0JBQ0gsS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUMvQixNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUE7aUJBQ25CO2FBQ0Y7aUJBQUk7Z0JBQ0gsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLEtBQUssR0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQzlDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQTthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7Z0JBdkJ3QixlQUFlOztJQU4vQjtRQUFSLEtBQUssRUFBRTsrQ0FBMkI7SUFFMUI7UUFBUixLQUFLLEVBQUU7NkNBQW1CO0lBQ2pCO1FBQVQsTUFBTSxFQUFFO21EQUEyRDtJQUp0RCxVQUFVO1FBUnpCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFFBQVEsRUFBRSxzTkFJVDtZQUNELFFBQVEsRUFBQyxZQUFZO1NBQ3RCLENBQUM7T0FBYyxVQUFVLENBK0J6QjtJQUFELGlCQUFDO0NBQUEsQUEvQkUsQ0FBZ0MsZUFBZSxHQStCakQ7U0EvQmUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcbmltcG9ydCB7IFN0cmlwZUNhcmRPcHRpb25zIH0gZnJvbSBcIi4uL1N0cmlwZVR5cGVzXCJcbmltcG9ydCB7IFN0cmlwZUNvbXBvbmVudCB9IGZyb20gXCIuL1N0cmlwZUNvbXBvbmVudFwiXG5pbXBvcnQgeyBTdHJpcGVUb2tlbiB9IGZyb20gXCIuLi9TdHJpcGVUeXBlc1wiXG5pbXBvcnQgeyBTdHJpcGVTY3JpcHRUYWcgfSBmcm9tIFwiLi4vU3RyaXBlU2NyaXB0VGFnXCJcblxuZXhwb3J0IGludGVyZmFjZSBiYW5rX2FjY291bnR7XG4gIGNvdW50cnkgICAgICAgICAgICAgOiBzdHJpbmdcbiAgY3VycmVuY3kgICAgICAgICAgICA6IHN0cmluZ1xuICByb3V0aW5nX251bWJlciAgICAgIDogc3RyaW5nXG4gIGFjY291bnRfbnVtYmVyICAgICAgOiBzdHJpbmdcbiAgYWNjb3VudF9ob2xkZXJfbmFtZSA6IHN0cmluZ1xuICBhY2NvdW50X2hvbGRlcl90eXBlIDogc3RyaW5nXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdHJpcGUtYmFua1wiLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFTdHJpcGVTY3JpcHRUYWcuU3RyaXBlSW5zdGFuY2VcIj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiY29sb3I6cmVkO1wiPlN0cmlwZSBQdWJsaXNoYWJsZUtleSBOT1QgU0VULiBVc2UgbWV0aG9kIFN0cmlwZVNjcmlwdFRhZy5zZXRQdWJsaXNoYWJsZUtleSgpPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgZXhwb3J0QXM6XCJTdHJpcGVCYW5rXCJcbn0pIGV4cG9ydCBjbGFzcyBTdHJpcGVCYW5rIGV4dGVuZHMgU3RyaXBlQ29tcG9uZW50e1xuICBASW5wdXQoKSBvcHRpb25zITpTdHJpcGVDYXJkT3B0aW9ucy8vdmVyeSBzaW1pbGFyIHR5cGUgdG8gY2FyZCBvcHRpb25zXG5cbiAgQElucHV0KCkgdG9rZW4hOlN0cmlwZVRva2VuXG4gIEBPdXRwdXQoKSB0b2tlbkNoYW5nZTpFdmVudEVtaXR0ZXI8U3RyaXBlVG9rZW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIFN0cmlwZVNjcmlwdFRhZzpTdHJpcGVTY3JpcHRUYWdcbiAgKXtcbiAgICBzdXBlcihTdHJpcGVTY3JpcHRUYWcpXG4gIH1cblxuICBjcmVhdGVUb2tlbiggZGF0YT86YW55ICk6UHJvbWlzZTxTdHJpcGVUb2tlbj57XG4gICAgZGVsZXRlIHRoaXMuaW52YWxpZFxuICAgIHRoaXMuaW52YWxpZENoYW5nZS5lbWl0KHRoaXMuaW52YWxpZClcblxuICAgIHJldHVybiB0aGlzLnN0cmlwZS5jcmVhdGVUb2tlbignYmFua19hY2NvdW50JywgZGF0YSlcbiAgICAudGhlbigocmVzdWx0OmFueSk9PntcbiAgICAgIGlmKHJlc3VsdC5lcnJvcil7XG4gICAgICAgIGlmKCByZXN1bHQuZXJyb3IudHlwZT09XCJ2YWxpZGF0aW9uX2Vycm9yXCIgKXtcbiAgICAgICAgICB0aGlzLmludmFsaWRDaGFuZ2UuZW1pdCggdGhpcy5pbnZhbGlkPXJlc3VsdC5lcnJvciApXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMuY2F0Y2hlci5lbWl0KHJlc3VsdC5lcnJvcilcbiAgICAgICAgICB0aHJvdyByZXN1bHQuZXJyb3JcbiAgICAgICAgfVxuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMudG9rZW5DaGFuZ2UuZW1pdCh0aGlzLnRva2VuPXJlc3VsdC50b2tlbilcbiAgICAgICAgcmV0dXJuIHJlc3VsdC50b2tlblxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
--------------------------------------------------------------------------------
/esm5/components/StripeCard.component.js:
--------------------------------------------------------------------------------
1 | import { __decorate, __extends } from "tslib";
2 | import { ElementRef, Input, Output, EventEmitter, Component } from "@angular/core";
3 | import { StripeScriptTag } from "../StripeScriptTag";
4 | import { StripeSource } from "./StripeSource.component";
5 | var StripeCard = /** @class */ (function (_super) {
6 | __extends(StripeCard, _super);
7 | function StripeCard(ElementRef, StripeScriptTag) {
8 | var _this = _super.call(this, StripeScriptTag) || this;
9 | _this.ElementRef = ElementRef;
10 | _this.StripeScriptTag = StripeScriptTag;
11 | _this.tokenChange = new EventEmitter();
12 | _this.cardMounted = new EventEmitter();
13 | return _this;
14 | }
15 | StripeCard.prototype.ngOnInit = function () {
16 | var _this = this;
17 | _super.prototype.init.call(this)
18 | .then(function () {
19 | _this.elements = _this.stripe.elements().create('card', _this.options);
20 | _this.elements.mount(_this.ElementRef.nativeElement);
21 | _this.cardMounted.emit(_this.elements);
22 | _this.elements.addEventListener('change', function (result) {
23 | if (result.error) {
24 | _this.invalidChange.emit(_this.invalid = result.error);
25 | }
26 | });
27 | });
28 | };
29 | StripeCard.prototype.createToken = function (extraData) {
30 | var _this = this;
31 | delete this.invalid;
32 | this.invalidChange.emit(this.invalid);
33 | return this.stripe.createToken(this.elements, extraData)
34 | .then(function (result) {
35 | if (result.error) {
36 | if (result.error.type == "validation_error") {
37 | _this.invalidChange.emit(_this.invalid = result.error);
38 | }
39 | else {
40 | _this.catcher.emit(result.error);
41 | throw result.error;
42 | }
43 | }
44 | else {
45 | _this.tokenChange.emit(_this.token = result.token);
46 | return result.token;
47 | }
48 | });
49 | };
50 | StripeCard.ctorParameters = function () { return [
51 | { type: ElementRef },
52 | { type: StripeScriptTag }
53 | ]; };
54 | __decorate([
55 | Input()
56 | ], StripeCard.prototype, "options", void 0);
57 | __decorate([
58 | Input()
59 | ], StripeCard.prototype, "token", void 0);
60 | __decorate([
61 | Output()
62 | ], StripeCard.prototype, "tokenChange", void 0);
63 | __decorate([
64 | Output()
65 | ], StripeCard.prototype, "cardMounted", void 0);
66 | StripeCard = __decorate([
67 | Component({
68 | selector: "stripe-card",
69 | template: "\n \n Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
\n \n ",
70 | exportAs: "StripeCard"
71 | })
72 | ], StripeCard);
73 | return StripeCard;
74 | }(StripeSource));
75 | export { StripeCard };
76 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlQ2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9zdHJpcGUtYW5ndWxhci8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU3RyaXBlQ2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFVcEQ7SUFBZ0MsOEJBQVk7SUFRN0Msb0JBQ1MsVUFBcUIsRUFDckIsZUFBK0I7UUFGeEMsWUFJRSxrQkFBTSxlQUFlLENBQUMsU0FDdkI7UUFKUSxnQkFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixxQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFOOUIsaUJBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUUxRCxpQkFBVyxHQUFxQixJQUFJLFlBQVksRUFBRSxDQUFBOztJQU81RCxDQUFDO0lBRUQsNkJBQVEsR0FBUjtRQUFBLGlCQWNDO1FBYkMsaUJBQU0sSUFBSSxXQUFFO2FBQ1gsSUFBSSxDQUFDO1lBQ0osS0FBSSxDQUFDLFFBQVEsR0FBRyxLQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ25FLEtBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUE7WUFFbEQsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXJDLEtBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFVBQUMsTUFBVTtnQkFDbEQsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO29CQUNoQixLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBRSxLQUFJLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUUsQ0FBQTtpQkFDckQ7WUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGdDQUFXLEdBQVgsVUFDRSxTQUFjO1FBRGhCLGlCQW9CQztRQWpCQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRXJDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7YUFDdkQsSUFBSSxDQUFDLFVBQUMsTUFBVTtZQUNmLElBQUcsTUFBTSxDQUFDLEtBQUssRUFBQztnQkFDZCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFFLGtCQUFrQixFQUFFO29CQUN6QyxLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBRSxLQUFJLENBQUMsT0FBTyxHQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUUsQ0FBQTtpQkFDckQ7cUJBQUk7b0JBQ0gsS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUMvQixNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUE7aUJBQ25CO2FBQ0Y7aUJBQUk7Z0JBQ0gsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLEtBQUssR0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQzlDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQTthQUNwQjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7Z0JBMUNtQixVQUFVO2dCQUNMLGVBQWU7O0lBVC9CO1FBQVIsS0FBSyxFQUFFOytDQUEyQjtJQUUxQjtRQUFSLEtBQUssRUFBRTs2Q0FBbUI7SUFDakI7UUFBVCxNQUFNLEVBQUU7bURBQTJEO0lBRTFEO1FBQVQsTUFBTSxFQUFFO21EQUFtRDtJQU45QyxVQUFVO1FBUnpCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFFBQVEsRUFBRSxzTkFJVDtZQUNELFFBQVEsRUFBQyxZQUFZO1NBQ3RCLENBQUM7T0FBYyxVQUFVLENBb0R6QjtJQUFELGlCQUFDO0NBQUEsQUFwREUsQ0FBZ0MsWUFBWSxHQW9EOUM7U0FwRGUsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuaW1wb3J0IHtcbiAgU3RyaXBlVG9rZW4sIFN0cmlwZUNhcmRPcHRpb25zIH0gZnJvbSBcIi4uL1N0cmlwZVR5cGVzXCJcbmltcG9ydCB7IFN0cmlwZVNjcmlwdFRhZyB9IGZyb20gXCIuLi9TdHJpcGVTY3JpcHRUYWdcIlxuaW1wb3J0IHsgU3RyaXBlU291cmNlIH0gZnJvbSBcIi4vU3RyaXBlU291cmNlLmNvbXBvbmVudFwiXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdHJpcGUtY2FyZFwiLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFTdHJpcGVTY3JpcHRUYWcuU3RyaXBlSW5zdGFuY2VcIj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiY29sb3I6cmVkO1wiPlN0cmlwZSBQdWJsaXNoYWJsZUtleSBOT1QgU0VULiBVc2UgbWV0aG9kIFN0cmlwZVNjcmlwdFRhZy5zZXRQdWJsaXNoYWJsZUtleSgpPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgZXhwb3J0QXM6XCJTdHJpcGVDYXJkXCJcbn0pIGV4cG9ydCBjbGFzcyBTdHJpcGVDYXJkIGV4dGVuZHMgU3RyaXBlU291cmNle1xuICBASW5wdXQoKSBvcHRpb25zITpTdHJpcGVDYXJkT3B0aW9uc1xuXG4gIEBJbnB1dCgpIHRva2VuITpTdHJpcGVUb2tlblxuICBAT3V0cHV0KCkgdG9rZW5DaGFuZ2U6RXZlbnRFbWl0dGVyPFN0cmlwZVRva2VuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBPdXRwdXQoKSBjYXJkTW91bnRlZDpFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBFbGVtZW50UmVmOkVsZW1lbnRSZWYsXG4gICAgcHVibGljIFN0cmlwZVNjcmlwdFRhZzpTdHJpcGVTY3JpcHRUYWdcbiAgKXtcbiAgICBzdXBlcihTdHJpcGVTY3JpcHRUYWcpXG4gIH1cblxuICBuZ09uSW5pdCgpe1xuICAgIHN1cGVyLmluaXQoKVxuICAgIC50aGVuKCgpPT57XG4gICAgICB0aGlzLmVsZW1lbnRzID0gdGhpcy5zdHJpcGUuZWxlbWVudHMoKS5jcmVhdGUoJ2NhcmQnLCB0aGlzLm9wdGlvbnMpXG4gICAgICB0aGlzLmVsZW1lbnRzLm1vdW50KHRoaXMuRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgXG4gICAgICB0aGlzLmNhcmRNb3VudGVkLmVtaXQodGhpcy5lbGVtZW50cyk7XG5cbiAgICAgIHRoaXMuZWxlbWVudHMuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKHJlc3VsdDphbnkpPT57XG4gICAgICAgIGlmKCByZXN1bHQuZXJyb3IgKXtcbiAgICAgICAgICB0aGlzLmludmFsaWRDaGFuZ2UuZW1pdCggdGhpcy5pbnZhbGlkPXJlc3VsdC5lcnJvciApXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIGNyZWF0ZVRva2VuKFxuICAgIGV4dHJhRGF0YT86YW55XG4gICk6UHJvbWlzZTxTdHJpcGVUb2tlbj57XG4gICAgZGVsZXRlIHRoaXMuaW52YWxpZFxuICAgIHRoaXMuaW52YWxpZENoYW5nZS5lbWl0KHRoaXMuaW52YWxpZClcblxuICAgIHJldHVybiB0aGlzLnN0cmlwZS5jcmVhdGVUb2tlbih0aGlzLmVsZW1lbnRzLCBleHRyYURhdGEpXG4gICAgLnRoZW4oKHJlc3VsdDphbnkpPT57XG4gICAgICBpZihyZXN1bHQuZXJyb3Ipe1xuICAgICAgICBpZiggcmVzdWx0LmVycm9yLnR5cGU9PVwidmFsaWRhdGlvbl9lcnJvclwiICl7XG4gICAgICAgICAgdGhpcy5pbnZhbGlkQ2hhbmdlLmVtaXQoIHRoaXMuaW52YWxpZD1yZXN1bHQuZXJyb3IgKVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLmNhdGNoZXIuZW1pdChyZXN1bHQuZXJyb3IpXG4gICAgICAgICAgdGhyb3cgcmVzdWx0LmVycm9yXG4gICAgICAgIH1cbiAgICAgIH1lbHNle1xuICAgICAgICB0aGlzLnRva2VuQ2hhbmdlLmVtaXQodGhpcy50b2tlbj1yZXN1bHQudG9rZW4pXG4gICAgICAgIHJldHVybiByZXN1bHQudG9rZW5cbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG4iXX0=
--------------------------------------------------------------------------------
/esm5/components/StripeComponent.js:
--------------------------------------------------------------------------------
1 | import { __decorate } from "tslib";
2 | import { Input, Output, EventEmitter } from "@angular/core";
3 | var StripeComponent = /** @class */ (function () {
4 | function StripeComponent(StripeScriptTag) {
5 | this.StripeScriptTag = StripeScriptTag;
6 | this.catcher = new EventEmitter();
7 | this.invalidChange = new EventEmitter();
8 | }
9 | StripeComponent.prototype.ngOnInit = function () {
10 | this.init();
11 | };
12 | StripeComponent.prototype.init = function () {
13 | var _this = this;
14 | return this.StripeScriptTag.promiseInstance()
15 | .then(function (i) { return _this.stripe = i; });
16 | };
17 | __decorate([
18 | Output("catch")
19 | ], StripeComponent.prototype, "catcher", void 0);
20 | __decorate([
21 | Input()
22 | ], StripeComponent.prototype, "invalid", void 0);
23 | __decorate([
24 | Output()
25 | ], StripeComponent.prototype, "invalidChange", void 0);
26 | return StripeComponent;
27 | }());
28 | export { StripeComponent };
29 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlQ29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vc3RyaXBlLWFuZ3VsYXIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL1N0cmlwZUNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUM1QixNQUFNLGVBQWUsQ0FBQTtBQU10QjtJQVFFLHlCQUNTLGVBQStCO1FBQS9CLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQVJ2QixZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUE7UUFHdkQsa0JBQWEsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQU05RCxDQUFDO0lBRUgsa0NBQVEsR0FBUjtRQUNFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNiLENBQUM7SUFFRCw4QkFBSSxHQUFKO1FBQUEsaUJBR0M7UUFGQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFO2FBQzVDLElBQUksQ0FBRSxVQUFBLENBQUMsSUFBRSxPQUFBLEtBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFiLENBQWEsQ0FBRSxDQUFBO0lBQzNCLENBQUM7SUFsQmdCO1FBQWhCLE1BQU0sQ0FBQyxPQUFPLENBQUM7b0RBQWlEO0lBRXhEO1FBQVIsS0FBSyxFQUFFO29EQUFlO0lBQ2I7UUFBVCxNQUFNLEVBQUU7MERBQXVEO0lBZ0JsRSxzQkFBQztDQUFBLEFBcEJELElBb0JDO1NBcEJZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuaW1wb3J0IHtcbiAgU3RyaXBlSW5zdGFuY2Vcbn0gZnJvbSBcIi4uL1N0cmlwZVR5cGVzXCJcbmltcG9ydCB7IFN0cmlwZVNjcmlwdFRhZyB9IGZyb20gXCIuLi9TdHJpcGVTY3JpcHRUYWdcIlxuXG5leHBvcnQgY2xhc3MgU3RyaXBlQ29tcG9uZW50e1xuICBAT3V0cHV0KFwiY2F0Y2hcIikgY2F0Y2hlcjpFdmVudEVtaXR0ZXI8RXJyb3I+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgQElucHV0KCkgaW52YWxpZCE6RXJyb3JcbiAgQE91dHB1dCgpIGludmFsaWRDaGFuZ2U6RXZlbnRFbWl0dGVyPEVycm9yPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIHN0cmlwZSE6U3RyaXBlSW5zdGFuY2VcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgU3RyaXBlU2NyaXB0VGFnOlN0cmlwZVNjcmlwdFRhZ1xuICApe31cblxuICBuZ09uSW5pdCgpe1xuICAgIHRoaXMuaW5pdCgpXG4gIH1cblxuICBpbml0KCk6UHJvbWlzZTxTdHJpcGVJbnN0YW5jZT57XG4gICAgcmV0dXJuIHRoaXMuU3RyaXBlU2NyaXB0VGFnLnByb21pc2VJbnN0YW5jZSgpXG4gICAgLnRoZW4oIGk9PnRoaXMuc3RyaXBlPWkgKVxuICB9XG59Il19
--------------------------------------------------------------------------------
/esm5/components/StripeSource.component.js:
--------------------------------------------------------------------------------
1 | import { __decorate, __extends } from "tslib";
2 | import { Input, Output, EventEmitter, Component } from "@angular/core";
3 | import { StripeScriptTag } from "../StripeScriptTag";
4 | import { StripeComponent } from "./StripeComponent";
5 | var StripeSource = /** @class */ (function (_super) {
6 | __extends(StripeSource, _super);
7 | function StripeSource(StripeScriptTag) {
8 | var _this = _super.call(this, StripeScriptTag) || this;
9 | _this.StripeScriptTag = StripeScriptTag;
10 | _this.sourceChange = new EventEmitter();
11 | return _this;
12 | }
13 | StripeSource.prototype.createSource = function () {
14 | var _this = this;
15 | delete this.invalid;
16 | this.invalidChange.emit(this.invalid);
17 | return this.stripe.createSource(this.elements)
18 | .then(function (result) {
19 | if (result.error) {
20 | if (result.error.type == "validation_error") {
21 | _this.invalidChange.emit(_this.invalid = result.error);
22 | }
23 | else {
24 | _this.catcher.emit(result.error);
25 | throw result.error;
26 | }
27 | }
28 | else {
29 | _this.sourceChange.emit(_this.source = result.source);
30 | return result.source;
31 | }
32 | });
33 | };
34 | StripeSource.ctorParameters = function () { return [
35 | { type: StripeScriptTag }
36 | ]; };
37 | __decorate([
38 | Input()
39 | ], StripeSource.prototype, "source", void 0);
40 | __decorate([
41 | Output()
42 | ], StripeSource.prototype, "sourceChange", void 0);
43 | StripeSource = __decorate([
44 | Component({
45 | selector: "stripe-source",
46 | template: "\n \n Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
\n \n ",
47 | exportAs: "StripeSource"
48 | })
49 | ], StripeSource);
50 | return StripeSource;
51 | }(StripeComponent));
52 | export { StripeSource };
53 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaXBlU291cmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3N0cmlwZS1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9TdHJpcGVTb3VyY2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUN2QyxNQUFNLGVBQWUsQ0FBQTtBQUl0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBVWhEO0lBQWtDLGdDQUFlO0lBT2xELHNCQUNTLGVBQStCO1FBRHhDLFlBR0Usa0JBQU0sZUFBZSxDQUFDLFNBQ3ZCO1FBSFEscUJBQWUsR0FBZixlQUFlLENBQWdCO1FBTDlCLGtCQUFZLEdBQWtDLElBQUksWUFBWSxFQUFFLENBQUE7O0lBUTFFLENBQUM7SUFFRCxtQ0FBWSxHQUFaO1FBQUEsaUJBb0JDO1FBbkJDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFckMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FDN0IsSUFBSSxDQUFDLFFBQVEsQ0FDZDthQUNBLElBQUksQ0FBQyxVQUFDLE1BQVU7WUFDZixJQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUM7Z0JBQ2QsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksSUFBRSxrQkFBa0IsRUFBRTtvQkFDekMsS0FBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUUsS0FBSSxDQUFDLE9BQU8sR0FBQyxNQUFNLENBQUMsS0FBSyxDQUFFLENBQUE7aUJBQ3JEO3FCQUFJO29CQUNILEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtvQkFDL0IsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFBO2lCQUNuQjthQUNGO2lCQUFJO2dCQUNILEtBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxNQUFNLEdBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUNqRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUE7YUFDckI7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7O2dCQXpCd0IsZUFBZTs7SUFOL0I7UUFBUixLQUFLLEVBQUU7Z0RBQXlCO0lBQ3ZCO1FBQVQsTUFBTSxFQUFFO3NEQUFpRTtJQUg1RCxZQUFZO1FBUjNCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFFBQVEsRUFBRSxzTkFJVDtZQUNELFFBQVEsRUFBQyxjQUFjO1NBQ3hCLENBQUM7T0FBYyxZQUFZLENBa0MzQjtJQUFELG1CQUFDO0NBQUEsQUFsQ0UsQ0FBa0MsZUFBZSxHQWtDbkQ7U0FsQ2UsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcbmltcG9ydCB7XG4gIFN0cmlwZVRva2VuLCBTdHJpcGVTb3VyY2UgYXMgU3RyaXBlU291cmNlVHlwZVxufSBmcm9tIFwiLi4vU3RyaXBlVHlwZXNcIlxuaW1wb3J0IHsgU3RyaXBlU2NyaXB0VGFnIH0gZnJvbSBcIi4uL1N0cmlwZVNjcmlwdFRhZ1wiXG5pbXBvcnQgeyBTdHJpcGVDb21wb25lbnQgfSBmcm9tIFwiLi9TdHJpcGVDb21wb25lbnRcIlxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3RyaXBlLXNvdXJjZVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFTdHJpcGVTY3JpcHRUYWcuU3RyaXBlSW5zdGFuY2VcIj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiY29sb3I6cmVkO1wiPlN0cmlwZSBQdWJsaXNoYWJsZUtleSBOT1QgU0VULiBVc2UgbWV0aG9kIFN0cmlwZVNjcmlwdFRhZy5zZXRQdWJsaXNoYWJsZUtleSgpPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgZXhwb3J0QXM6XCJTdHJpcGVTb3VyY2VcIlxufSkgZXhwb3J0IGNsYXNzIFN0cmlwZVNvdXJjZSBleHRlbmRzIFN0cmlwZUNvbXBvbmVudHtcblxuICBASW5wdXQoKSBzb3VyY2UhOlN0cmlwZVNvdXJjZVR5cGVcbiAgQE91dHB1dCgpIHNvdXJjZUNoYW5nZTpFdmVudEVtaXR0ZXI8U3RyaXBlU291cmNlVHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBlbGVtZW50czphbnlcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgU3RyaXBlU2NyaXB0VGFnOlN0cmlwZVNjcmlwdFRhZ1xuICApe1xuICAgIHN1cGVyKFN0cmlwZVNjcmlwdFRhZylcbiAgfVxuXG4gIGNyZWF0ZVNvdXJjZSgpOlByb21pc2U8U3RyaXBlVG9rZW4+e1xuICAgIGRlbGV0ZSB0aGlzLmludmFsaWRcbiAgICB0aGlzLmludmFsaWRDaGFuZ2UuZW1pdCh0aGlzLmludmFsaWQpXG5cbiAgICByZXR1cm4gdGhpcy5zdHJpcGUuY3JlYXRlU291cmNlKFxuICAgICAgdGhpcy5lbGVtZW50c1xuICAgIClcbiAgICAudGhlbigocmVzdWx0OmFueSk9PntcbiAgICAgIGlmKHJlc3VsdC5lcnJvcil7XG4gICAgICAgIGlmKCByZXN1bHQuZXJyb3IudHlwZT09XCJ2YWxpZGF0aW9uX2Vycm9yXCIgKXtcbiAgICAgICAgICB0aGlzLmludmFsaWRDaGFuZ2UuZW1pdCggdGhpcy5pbnZhbGlkPXJlc3VsdC5lcnJvciApXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMuY2F0Y2hlci5lbWl0KHJlc3VsdC5lcnJvcilcbiAgICAgICAgICB0aHJvdyByZXN1bHQuZXJyb3JcbiAgICAgICAgfVxuICAgICAgfWVsc2V7XG4gICAgICAgIHRoaXMuc291cmNlQ2hhbmdlLmVtaXQodGhpcy5zb3VyY2U9cmVzdWx0LnNvdXJjZSlcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5zb3VyY2VcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG4iXX0=
--------------------------------------------------------------------------------
/esm5/index.js:
--------------------------------------------------------------------------------
1 | import { __decorate, __read, __spread } from "tslib";
2 | export * from "./StripeTypes";
3 | import { NgModule } from "@angular/core";
4 | import { CommonModule } from "@angular/common";
5 | import { STRIPE_OPTIONS, STRIPE_PUBLISHABLE_KEY } from './StripeTypes';
6 | import { StripeScriptTag } from "./StripeScriptTag";
7 | export { StripeScriptTag } from "./StripeScriptTag";
8 | import { StripeSource } from "./components/StripeSource.component";
9 | export { StripeSource } from "./components/StripeSource.component";
10 | import { StripeCard } from "./components/StripeCard.component";
11 | export { StripeCard } from "./components/StripeCard.component";
12 | import { StripeBank } from "./components/StripeBank.component";
13 | export { StripeBank } from "./components/StripeBank.component";
14 | var declarations = [
15 | StripeSource,
16 | StripeCard,
17 | StripeBank
18 | ];
19 | var StripeModule = /** @class */ (function () {
20 | function StripeModule() {
21 | }
22 | StripeModule_1 = StripeModule;
23 | StripeModule.forRoot = function (publishableKey, options) {
24 | return {
25 | ngModule: StripeModule_1,
26 | providers: [
27 | StripeScriptTag,
28 | {
29 | provide: STRIPE_PUBLISHABLE_KEY,
30 | useValue: publishableKey
31 | },
32 | {
33 | provide: STRIPE_OPTIONS,
34 | useValue: options
35 | }
36 | ],
37 | };
38 | };
39 | var StripeModule_1;
40 | StripeModule = StripeModule_1 = __decorate([
41 | NgModule({
42 | imports: [
43 | CommonModule
44 | ],
45 | declarations: declarations,
46 | // providers: [ StripeScriptTag ],
47 | exports: __spread(declarations)
48 | })
49 | ], StripeModule);
50 | return StripeModule;
51 | }());
52 | export { StripeModule };
53 | /**
54 | * @deprecated Please import `StripeModule` directly
55 | */
56 | export var Module = StripeModule;
57 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9zdHJpcGUtYW5ndWxhci8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxjQUFjLGVBQWUsQ0FBQTtBQUU3QixPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUF5QixjQUFjLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUVuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBRWxFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFFOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQzlELE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFFNUUsSUFBTSxZQUFZLEdBQUc7SUFDbkIsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0NBQ1gsQ0FBQTtBQVNFO0lBQUE7SUFpQkgsQ0FBQztxQkFqQmUsWUFBWTtJQUNuQixvQkFBTyxHQUFkLFVBQWUsY0FBdUIsRUFBRSxPQUErQjtRQUNyRSxPQUFPO1lBQ0wsUUFBUSxFQUFFLGNBQVk7WUFDdEIsU0FBUyxFQUFFO2dCQUNULGVBQWU7Z0JBQ2Y7b0JBQ0UsT0FBTyxFQUFFLHNCQUFzQjtvQkFDL0IsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxjQUFjO29CQUN2QixRQUFRLEVBQUUsT0FBTztpQkFDbEI7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDOztJQWhCYSxZQUFZO1FBUDNCLFFBQVEsQ0FBQztZQUNSLE9BQU8sRUFBQztnQkFDTixZQUFZO2FBQ2I7WUFDRCxZQUFZLEVBQUUsWUFBWTtZQUMzQixrQ0FBa0M7WUFDakMsT0FBTyxXQUFNLFlBQVksQ0FBRTtTQUM1QixDQUFDO09BQWMsWUFBWSxDQWlCM0I7SUFBRCxtQkFBQztDQUFBLEFBakJFLElBaUJGO1NBakJlLFlBQVk7QUFtQjVCOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0sTUFBTSxHQUFHLFlBQVksQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL1N0cmlwZVR5cGVzXCJcblxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5pbXBvcnQgeyBTdHJpcGVJbnN0YW5jZU9wdGlvbnMsIFNUUklQRV9PUFRJT05TLCBTVFJJUEVfUFVCTElTSEFCTEVfS0VZIH0gZnJvbSAnLi9TdHJpcGVUeXBlcydcblxuaW1wb3J0IHsgU3RyaXBlU2NyaXB0VGFnIH0gZnJvbSBcIi4vU3RyaXBlU2NyaXB0VGFnXCJcbmV4cG9ydCB7IFN0cmlwZVNjcmlwdFRhZyB9IGZyb20gXCIuL1N0cmlwZVNjcmlwdFRhZ1wiXG5cbmltcG9ydCB7IFN0cmlwZVNvdXJjZSB9IGZyb20gXCIuL2NvbXBvbmVudHMvU3RyaXBlU291cmNlLmNvbXBvbmVudFwiXG5leHBvcnQgeyBTdHJpcGVTb3VyY2UgfSBmcm9tIFwiLi9jb21wb25lbnRzL1N0cmlwZVNvdXJjZS5jb21wb25lbnRcIlxuXG5pbXBvcnQgeyBTdHJpcGVDYXJkIH0gZnJvbSBcIi4vY29tcG9uZW50cy9TdHJpcGVDYXJkLmNvbXBvbmVudFwiXG5leHBvcnQgeyBTdHJpcGVDYXJkIH0gZnJvbSBcIi4vY29tcG9uZW50cy9TdHJpcGVDYXJkLmNvbXBvbmVudFwiXG5cbmltcG9ydCB7IFN0cmlwZUJhbmsgfSBmcm9tIFwiLi9jb21wb25lbnRzL1N0cmlwZUJhbmsuY29tcG9uZW50XCJcbmV4cG9ydCB7IGJhbmtfYWNjb3VudCwgU3RyaXBlQmFuayB9IGZyb20gXCIuL2NvbXBvbmVudHMvU3RyaXBlQmFuay5jb21wb25lbnRcIlxuXG5jb25zdCBkZWNsYXJhdGlvbnMgPSBbXG4gIFN0cmlwZVNvdXJjZSxcbiAgU3RyaXBlQ2FyZCxcbiAgU3RyaXBlQmFua1xuXVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOltcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBkZWNsYXJhdGlvbnMsXG4gLy8gcHJvdmlkZXJzOiBbIFN0cmlwZVNjcmlwdFRhZyBdLFxuICBleHBvcnRzOlsgLi4uZGVjbGFyYXRpb25zIF1cbn0pIGV4cG9ydCBjbGFzcyBTdHJpcGVNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChwdWJsaXNoYWJsZUtleT86IHN0cmluZywgb3B0aW9ucz86IFN0cmlwZUluc3RhbmNlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U3RyaXBlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBTdHJpcGVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgU3RyaXBlU2NyaXB0VGFnLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU1RSSVBFX1BVQkxJU0hBQkxFX0tFWSxcbiAgICAgICAgICB1c2VWYWx1ZTogcHVibGlzaGFibGVLZXlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFNUUklQRV9PUFRJT05TLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIGltcG9ydCBgU3RyaXBlTW9kdWxlYCBkaXJlY3RseVxuICovXG5leHBvcnQgY29uc3QgTW9kdWxlID0gU3RyaXBlTW9kdWxlXG4iXX0=
--------------------------------------------------------------------------------
/esm5/stripe-angular.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Generated bundle index. Do not edit.
3 | */
4 | export * from './index';
5 | export { StripeComponent as ɵa } from './components/StripeComponent';
6 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9zdHJpcGUtYW5ndWxhci8iLCJzb3VyY2VzIjpbInN0cmlwZS1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCB7U3RyaXBlQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9jb21wb25lbnRzL1N0cmlwZUNvbXBvbmVudCc7Il19
--------------------------------------------------------------------------------
/fesm2015/stripe-angular.js:
--------------------------------------------------------------------------------
1 | import * as i0 from '@angular/core';
2 | import { InjectionToken, Injectable, Inject, EventEmitter, Component, Output, Input, ElementRef, NgModule } from '@angular/core';
3 | import * as i1 from '@angular/common';
4 | import { DOCUMENT, CommonModule } from '@angular/common';
5 |
6 | const STRIPE_PUBLISHABLE_KEY = new InjectionToken('Stripe Publishable Key');
7 | const STRIPE_OPTIONS = new InjectionToken('Stripe Options');
8 |
9 | class StripeScriptTag {
10 | constructor(document, key, options) {
11 | this.document = document;
12 | this.src = "https://js.stripe.com/v3/";
13 | this.window = this.document.defaultView;
14 | this.load = this.injectIntoHead();
15 | if (key)
16 | this.setPublishableKey(key, options);
17 | }
18 | promiseStripe() {
19 | return this.load;
20 | }
21 | promiseInstance() {
22 | return this.promiseStripe()
23 | .then(stripe => {
24 | if (!this.StripeInstance) {
25 | const err = new Error("Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()");
26 | err["code"] = "STRIPEKEYNOTSET";
27 | throw err;
28 | //return Promise.reject( err )
29 | }
30 | return this.StripeInstance;
31 | });
32 | }
33 | setPublishableKey(key, options) {
34 | return this.load.then(() => this.StripeInstance = this.Stripe(key, options));
35 | }
36 | injectIntoHead() {
37 | if (this.window && this.window["Stripe"]) {
38 | return Promise.resolve(this.Stripe = this.window["Stripe"]);
39 | }
40 | return new Promise((res, rej) => {
41 | const head = this.getTargetTagDropElement();
42 | const script = this.document.createElement("script");
43 | script.setAttribute("src", this.src);
44 | script.setAttribute("type", "text/javascript");
45 | script.addEventListener("load", () => {
46 | this.Stripe = this.grabStripe();
47 | res(this.Stripe);
48 | });
49 | head.appendChild(script);
50 | });
51 | }
52 | grabStripe() {
53 | return window["Stripe"];
54 | }
55 | getTargetTagDropElement() {
56 | let elm = this.document.getElementsByTagName("head");
57 | if (elm.length)
58 | return elm[0];
59 | return this.document.getElementsByTagName("body")[0];
60 | }
61 | }
62 | StripeScriptTag.ɵprov = i0.ɵɵdefineInjectable({ factory: function StripeScriptTag_Factory() { return new StripeScriptTag(i0.ɵɵinject(i1.DOCUMENT), i0.ɵɵinject(STRIPE_PUBLISHABLE_KEY), i0.ɵɵinject(STRIPE_OPTIONS)); }, token: StripeScriptTag, providedIn: "root" });
63 | StripeScriptTag.decorators = [
64 | { type: Injectable, args: [{ providedIn: 'root' },] }
65 | ];
66 | StripeScriptTag.ctorParameters = () => [
67 | { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
68 | { type: String, decorators: [{ type: Inject, args: [STRIPE_PUBLISHABLE_KEY,] }] },
69 | { type: undefined, decorators: [{ type: Inject, args: [STRIPE_OPTIONS,] }] }
70 | ];
71 |
72 | class StripeComponent {
73 | constructor(StripeScriptTag) {
74 | this.StripeScriptTag = StripeScriptTag;
75 | this.catcher = new EventEmitter();
76 | this.invalidChange = new EventEmitter();
77 | }
78 | ngOnInit() {
79 | this.init();
80 | }
81 | init() {
82 | return this.StripeScriptTag.promiseInstance()
83 | .then(i => this.stripe = i);
84 | }
85 | }
86 | StripeComponent.decorators = [
87 | { type: Component, args: [{
88 | selector: "stripe-component", template: ``
89 | },] }
90 | ];
91 | StripeComponent.ctorParameters = () => [
92 | { type: StripeScriptTag }
93 | ];
94 | StripeComponent.propDecorators = {
95 | catcher: [{ type: Output, args: ["catch",] }],
96 | invalid: [{ type: Input }],
97 | invalidChange: [{ type: Output }]
98 | };
99 |
100 | class StripeSource extends StripeComponent {
101 | constructor(StripeScriptTag) {
102 | super(StripeScriptTag);
103 | this.StripeScriptTag = StripeScriptTag;
104 | this.sourceChange = new EventEmitter();
105 | this.paymentMethodChange = new EventEmitter();
106 | }
107 | createSource(extraData) {
108 | delete this.invalid;
109 | this.invalidChange.emit(this.invalid);
110 | return this.stripe.createSource(this.elements, extraData)
111 | .then((result) => this.processSourceResult(result));
112 | }
113 | processSourceResult(result) {
114 | if (result.error) {
115 | const rError = result.error;
116 | if (rError.type === "validation_error") {
117 | this.invalidChange.emit(this.invalid = rError);
118 | }
119 | else {
120 | this.catcher.emit(rError);
121 | throw rError;
122 | }
123 | }
124 | const source = result.source;
125 | if (source) {
126 | this.sourceChange.emit(this.source = source);
127 | return source;
128 | }
129 | }
130 | createPaymentMethod(extraData) {
131 | delete this.invalid;
132 | this.invalidChange.emit(this.invalid);
133 | return this.stripe.createPaymentMethod('card', this.elements, extraData)
134 | .then((result) => this.processPaymentMethodResult(result));
135 | }
136 | processPaymentMethodResult(result) {
137 | if (result.error) {
138 | const rError = result.error;
139 | if (rError.type === "validation_error") {
140 | this.invalidChange.emit(this.invalid = rError);
141 | }
142 | else {
143 | this.catcher.emit(rError);
144 | throw rError;
145 | }
146 | }
147 | const paymentMethod = result.paymentMethod;
148 | if (paymentMethod) {
149 | this.paymentMethodChange.emit(this.paymentMethod = paymentMethod);
150 | return paymentMethod;
151 | }
152 | }
153 | }
154 | StripeSource.decorators = [
155 | { type: Component, args: [{
156 | selector: "stripe-source",
157 | template: `
158 |
159 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
160 |
161 | `,
162 | exportAs: "StripeSource"
163 | },] }
164 | ];
165 | StripeSource.ctorParameters = () => [
166 | { type: StripeScriptTag }
167 | ];
168 | StripeSource.propDecorators = {
169 | source: [{ type: Input }],
170 | sourceChange: [{ type: Output }],
171 | paymentMethod: [{ type: Input }],
172 | paymentMethodChange: [{ type: Output }]
173 | };
174 |
175 | class StripeCard extends StripeSource {
176 | constructor(ElementRef, StripeScriptTag) {
177 | super(StripeScriptTag);
178 | this.ElementRef = ElementRef;
179 | this.StripeScriptTag = StripeScriptTag;
180 | this.tokenChange = new EventEmitter();
181 | this.cardMounted = new EventEmitter();
182 | this.complete = false;
183 | this.completeChange = new EventEmitter();
184 | this.changed = new EventEmitter();
185 | this.drawn = false;
186 | }
187 | ngOnInit() {
188 | super.init().then(() => this.redraw());
189 | }
190 | ngOnChanges(changes) {
191 | if (this.drawn && (changes.options || changes.createOptions)) {
192 | this.redraw();
193 | }
194 | }
195 | redraw() {
196 | if (this.drawn) {
197 | this.elements.unmount();
198 | this.elements.destroy();
199 | }
200 | this.elements = this.stripe.elements(this.createOptions).create('card', this.options);
201 | this.elements.mount(this.ElementRef.nativeElement);
202 | this.cardMounted.emit(this.elements);
203 | this.elements.on('change', (result) => {
204 | this.changed.emit(result);
205 | if (result.complete || (this.complete && !result.complete)) {
206 | this.completeChange.emit(this.complete = result.complete);
207 | }
208 | });
209 | this.elements.addEventListener('change', (result) => {
210 | if (result.error) {
211 | this.invalidChange.emit(this.invalid = result.error);
212 | }
213 | });
214 | this.drawn = true;
215 | }
216 | createToken(extraData) {
217 | delete this.invalid;
218 | this.invalidChange.emit(this.invalid);
219 | return this.stripe.createToken(this.elements, extraData)
220 | .then((result) => {
221 | if (result.error) {
222 | if (result.error.type == "validation_error") {
223 | this.invalidChange.emit(this.invalid = result.error);
224 | }
225 | else {
226 | this.catcher.emit(result.error);
227 | throw result.error;
228 | }
229 | }
230 | else {
231 | this.tokenChange.emit(this.token = result.token);
232 | return result.token;
233 | }
234 | });
235 | }
236 | }
237 | StripeCard.decorators = [
238 | { type: Component, args: [{
239 | selector: "stripe-card",
240 | template: `
241 |
242 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
243 |
244 | `,
245 | exportAs: "StripeCard"
246 | },] }
247 | ];
248 | StripeCard.ctorParameters = () => [
249 | { type: ElementRef },
250 | { type: StripeScriptTag }
251 | ];
252 | StripeCard.propDecorators = {
253 | createOptions: [{ type: Input }],
254 | options: [{ type: Input }],
255 | token: [{ type: Input }],
256 | tokenChange: [{ type: Output }],
257 | cardMounted: [{ type: Output }],
258 | complete: [{ type: Input }],
259 | completeChange: [{ type: Output }],
260 | changed: [{ type: Output }]
261 | };
262 |
263 | class StripeBank extends StripeComponent {
264 | constructor(StripeScriptTag) {
265 | super(StripeScriptTag);
266 | this.StripeScriptTag = StripeScriptTag;
267 | this.tokenChange = new EventEmitter();
268 | }
269 | createToken(data) {
270 | delete this.invalid;
271 | this.invalidChange.emit(this.invalid);
272 | return this.stripe.createToken('bank_account', data)
273 | .then((result) => {
274 | if (result.error) {
275 | if (result.error.type == "validation_error") {
276 | this.invalidChange.emit(this.invalid = result.error);
277 | }
278 | else {
279 | this.catcher.emit(result.error);
280 | throw result.error;
281 | }
282 | }
283 | else {
284 | this.tokenChange.emit(this.token = result.token);
285 | return result.token;
286 | }
287 | });
288 | }
289 | }
290 | StripeBank.decorators = [
291 | { type: Component, args: [{
292 | selector: "stripe-bank",
293 | template: `
294 |
295 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
296 |
297 | `,
298 | exportAs: "StripeBank"
299 | },] }
300 | ];
301 | StripeBank.ctorParameters = () => [
302 | { type: StripeScriptTag }
303 | ];
304 | StripeBank.propDecorators = {
305 | options: [{ type: Input }],
306 | token: [{ type: Input }],
307 | tokenChange: [{ type: Output }]
308 | };
309 |
310 | const declarations = [
311 | StripeComponent,
312 | StripeSource,
313 | StripeCard,
314 | StripeBank
315 | ];
316 | class StripeModule {
317 | static forRoot(publishableKey, options) {
318 | return {
319 | ngModule: StripeModule,
320 | providers: [
321 | StripeScriptTag,
322 | {
323 | provide: STRIPE_PUBLISHABLE_KEY,
324 | useValue: publishableKey
325 | },
326 | {
327 | provide: STRIPE_OPTIONS,
328 | useValue: options
329 | }
330 | ],
331 | };
332 | }
333 | }
334 | StripeModule.decorators = [
335 | { type: NgModule, args: [{
336 | imports: [
337 | CommonModule
338 | ],
339 | declarations,
340 | // providers: [ StripeScriptTag ],
341 | exports: [...declarations]
342 | },] }
343 | ];
344 | /**
345 | * @deprecated Please import `StripeModule` directly
346 | */
347 | const Module = StripeModule;
348 |
349 | /**
350 | * Generated bundle index. Do not edit.
351 | */
352 |
353 | export { Module, STRIPE_OPTIONS, STRIPE_PUBLISHABLE_KEY, StripeBank, StripeCard, StripeModule, StripeScriptTag, StripeSource, StripeComponent as ɵa };
354 | //# sourceMappingURL=stripe-angular.js.map
355 |
--------------------------------------------------------------------------------
/fesm2020/stripe-angular.mjs:
--------------------------------------------------------------------------------
1 | import * as i0 from '@angular/core';
2 | import { InjectionToken, Injectable, Inject, EventEmitter, Component, Output, Input, NgModule } from '@angular/core';
3 | import * as i2 from '@angular/common';
4 | import { DOCUMENT, CommonModule } from '@angular/common';
5 |
6 | const STRIPE_PUBLISHABLE_KEY = new InjectionToken('Stripe Publishable Key');
7 | const STRIPE_OPTIONS = new InjectionToken('Stripe Options');
8 |
9 | class StripeScriptTag {
10 | constructor(document, key, options) {
11 | this.document = document;
12 | this.src = "https://js.stripe.com/v3/";
13 | this.window = this.document.defaultView;
14 | this.load = this.injectIntoHead();
15 | if (key)
16 | this.setPublishableKey(key, options);
17 | }
18 | promiseStripe() {
19 | return this.load;
20 | }
21 | promiseInstance() {
22 | return this.promiseStripe()
23 | .then(stripe => {
24 | if (!this.StripeInstance) {
25 | const err = new Error("Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()");
26 | err["code"] = "STRIPEKEYNOTSET";
27 | throw err;
28 | //return Promise.reject( err )
29 | }
30 | return this.StripeInstance;
31 | });
32 | }
33 | setPublishableKey(key, options) {
34 | return this.load.then(() => this.StripeInstance = this.Stripe(key, options));
35 | }
36 | injectIntoHead() {
37 | if (this.window && this.window["Stripe"]) {
38 | return Promise.resolve(this.Stripe = this.window["Stripe"]);
39 | }
40 | return new Promise((res, rej) => {
41 | const head = this.getTargetTagDropElement();
42 | const script = this.document.createElement("script");
43 | script.setAttribute("src", this.src);
44 | script.setAttribute("type", "text/javascript");
45 | script.addEventListener("load", () => {
46 | this.Stripe = this.grabStripe();
47 | res(this.Stripe);
48 | });
49 | head.appendChild(script);
50 | });
51 | }
52 | grabStripe() {
53 | return window["Stripe"];
54 | }
55 | getTargetTagDropElement() {
56 | let elm = this.document.getElementsByTagName("head");
57 | if (elm.length)
58 | return elm[0];
59 | return this.document.getElementsByTagName("body")[0];
60 | }
61 | }
62 | StripeScriptTag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeScriptTag, deps: [{ token: DOCUMENT }, { token: STRIPE_PUBLISHABLE_KEY }, { token: STRIPE_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable });
63 | StripeScriptTag.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeScriptTag, providedIn: 'root' });
64 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeScriptTag, decorators: [{
65 | type: Injectable,
66 | args: [{ providedIn: 'root' }]
67 | }], ctorParameters: function () { return [{ type: undefined, decorators: [{
68 | type: Inject,
69 | args: [DOCUMENT]
70 | }] }, { type: undefined, decorators: [{
71 | type: Inject,
72 | args: [STRIPE_PUBLISHABLE_KEY]
73 | }] }, { type: undefined, decorators: [{
74 | type: Inject,
75 | args: [STRIPE_OPTIONS]
76 | }] }]; } });
77 |
78 | class StripeComponent {
79 | constructor(StripeScriptTag) {
80 | this.StripeScriptTag = StripeScriptTag;
81 | this.catcher = new EventEmitter();
82 | this.invalidChange = new EventEmitter();
83 | }
84 | ngOnInit() {
85 | this.init();
86 | }
87 | init() {
88 | return this.StripeScriptTag.promiseInstance()
89 | .then(i => this.stripe = i);
90 | }
91 | }
92 | StripeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeComponent, deps: [{ token: StripeScriptTag }], target: i0.ɵɵFactoryTarget.Component });
93 | StripeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StripeComponent, selector: "stripe-component", inputs: { invalid: "invalid" }, outputs: { catcher: "catch", invalidChange: "invalidChange" }, ngImport: i0, template: ``, isInline: true });
94 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeComponent, decorators: [{
95 | type: Component,
96 | args: [{
97 | selector: "stripe-component", template: ``
98 | }]
99 | }], ctorParameters: function () { return [{ type: StripeScriptTag }]; }, propDecorators: { catcher: [{
100 | type: Output,
101 | args: ["catch"]
102 | }], invalid: [{
103 | type: Input
104 | }], invalidChange: [{
105 | type: Output
106 | }] } });
107 |
108 | class StripeSource extends StripeComponent {
109 | constructor(StripeScriptTag) {
110 | super(StripeScriptTag);
111 | this.StripeScriptTag = StripeScriptTag;
112 | this.sourceChange = new EventEmitter();
113 | this.paymentMethodChange = new EventEmitter();
114 | }
115 | createSource(extraData) {
116 | delete this.invalid;
117 | this.invalidChange.emit(this.invalid);
118 | return this.stripe.createSource(this.elements, extraData)
119 | .then((result) => this.processSourceResult(result));
120 | }
121 | processSourceResult(result) {
122 | if (result.error) {
123 | const rError = result.error;
124 | if (rError.type === "validation_error") {
125 | this.invalidChange.emit(this.invalid = rError);
126 | }
127 | else {
128 | this.catcher.emit(rError);
129 | throw rError;
130 | }
131 | }
132 | const source = result.source;
133 | if (source) {
134 | this.sourceChange.emit(this.source = source);
135 | return source;
136 | }
137 | }
138 | createPaymentMethod(extraData) {
139 | delete this.invalid;
140 | this.invalidChange.emit(this.invalid);
141 | return this.stripe.createPaymentMethod('card', this.elements, extraData)
142 | .then((result) => this.processPaymentMethodResult(result));
143 | }
144 | processPaymentMethodResult(result) {
145 | if (result.error) {
146 | const rError = result.error;
147 | if (rError.type === "validation_error") {
148 | this.invalidChange.emit(this.invalid = rError);
149 | }
150 | else {
151 | this.catcher.emit(rError);
152 | throw rError;
153 | }
154 | }
155 | const paymentMethod = result.paymentMethod;
156 | if (paymentMethod) {
157 | this.paymentMethodChange.emit(this.paymentMethod = paymentMethod);
158 | return paymentMethod;
159 | }
160 | }
161 | }
162 | StripeSource.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeSource, deps: [{ token: StripeScriptTag }], target: i0.ɵɵFactoryTarget.Component });
163 | StripeSource.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StripeSource, selector: "stripe-source", inputs: { source: "source", paymentMethod: "paymentMethod" }, outputs: { sourceChange: "sourceChange", paymentMethodChange: "paymentMethodChange" }, exportAs: ["StripeSource"], usesInheritance: true, ngImport: i0, template: `
164 |
165 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
166 |
167 | `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
168 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeSource, decorators: [{
169 | type: Component,
170 | args: [{
171 | selector: "stripe-source",
172 | template: `
173 |
174 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
175 |
176 | `,
177 | exportAs: "StripeSource"
178 | }]
179 | }], ctorParameters: function () { return [{ type: StripeScriptTag }]; }, propDecorators: { source: [{
180 | type: Input
181 | }], sourceChange: [{
182 | type: Output
183 | }], paymentMethod: [{
184 | type: Input
185 | }], paymentMethodChange: [{
186 | type: Output
187 | }] } });
188 |
189 | class StripeCard extends StripeSource {
190 | constructor(ElementRef, StripeScriptTag) {
191 | super(StripeScriptTag);
192 | this.ElementRef = ElementRef;
193 | this.StripeScriptTag = StripeScriptTag;
194 | this.tokenChange = new EventEmitter();
195 | this.cardMounted = new EventEmitter();
196 | this.complete = false;
197 | this.completeChange = new EventEmitter();
198 | this.changed = new EventEmitter();
199 | this.drawn = false;
200 | }
201 | ngOnInit() {
202 | super.init().then(() => this.redraw());
203 | }
204 | ngOnChanges(changes) {
205 | if (this.drawn && (changes.options || changes.createOptions)) {
206 | this.redraw();
207 | }
208 | }
209 | redraw() {
210 | if (this.drawn) {
211 | this.elements.unmount();
212 | this.elements.destroy();
213 | }
214 | this.elements = this.stripe.elements(this.createOptions).create('card', this.options);
215 | this.elements.mount(this.ElementRef.nativeElement);
216 | this.cardMounted.emit(this.elements);
217 | this.elements.on('change', (result) => {
218 | this.changed.emit(result);
219 | if (result.complete || (this.complete && !result.complete)) {
220 | this.completeChange.emit(this.complete = result.complete);
221 | }
222 | });
223 | this.elements.addEventListener('change', (result) => {
224 | if (result.error) {
225 | this.invalidChange.emit(this.invalid = result.error);
226 | }
227 | });
228 | this.drawn = true;
229 | }
230 | createToken(extraData) {
231 | delete this.invalid;
232 | this.invalidChange.emit(this.invalid);
233 | return this.stripe.createToken(this.elements, extraData)
234 | .then((result) => {
235 | if (result.error) {
236 | if (result.error.type == "validation_error") {
237 | this.invalidChange.emit(this.invalid = result.error);
238 | }
239 | else {
240 | this.catcher.emit(result.error);
241 | throw result.error;
242 | }
243 | }
244 | else {
245 | this.tokenChange.emit(this.token = result.token);
246 | return result.token;
247 | }
248 | });
249 | }
250 | }
251 | StripeCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeCard, deps: [{ token: i0.ElementRef }, { token: StripeScriptTag }], target: i0.ɵɵFactoryTarget.Component });
252 | StripeCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StripeCard, selector: "stripe-card", inputs: { createOptions: "createOptions", options: "options", token: "token", complete: "complete" }, outputs: { tokenChange: "tokenChange", cardMounted: "cardMounted", completeChange: "completeChange", changed: "changed" }, exportAs: ["StripeCard"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
253 |
254 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
255 |
256 | `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
257 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeCard, decorators: [{
258 | type: Component,
259 | args: [{
260 | selector: "stripe-card",
261 | template: `
262 |
263 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
264 |
265 | `,
266 | exportAs: "StripeCard"
267 | }]
268 | }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: StripeScriptTag }]; }, propDecorators: { createOptions: [{
269 | type: Input
270 | }], options: [{
271 | type: Input
272 | }], token: [{
273 | type: Input
274 | }], tokenChange: [{
275 | type: Output
276 | }], cardMounted: [{
277 | type: Output
278 | }], complete: [{
279 | type: Input
280 | }], completeChange: [{
281 | type: Output
282 | }], changed: [{
283 | type: Output
284 | }] } });
285 |
286 | class StripeBank extends StripeComponent {
287 | constructor(StripeScriptTag) {
288 | super(StripeScriptTag);
289 | this.StripeScriptTag = StripeScriptTag;
290 | this.tokenChange = new EventEmitter();
291 | }
292 | createToken(data) {
293 | delete this.invalid;
294 | this.invalidChange.emit(this.invalid);
295 | return this.stripe.createToken('bank_account', data)
296 | .then((result) => {
297 | if (result.error) {
298 | if (result.error.type == "validation_error") {
299 | this.invalidChange.emit(this.invalid = result.error);
300 | }
301 | else {
302 | this.catcher.emit(result.error);
303 | throw result.error;
304 | }
305 | }
306 | else {
307 | this.tokenChange.emit(this.token = result.token);
308 | return result.token;
309 | }
310 | });
311 | }
312 | }
313 | StripeBank.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeBank, deps: [{ token: StripeScriptTag }], target: i0.ɵɵFactoryTarget.Component });
314 | StripeBank.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StripeBank, selector: "stripe-bank", inputs: { options: "options", token: "token" }, outputs: { tokenChange: "tokenChange" }, exportAs: ["StripeBank"], usesInheritance: true, ngImport: i0, template: `
315 |
316 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
317 |
318 | `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
319 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeBank, decorators: [{
320 | type: Component,
321 | args: [{
322 | selector: "stripe-bank",
323 | template: `
324 |
325 | Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
326 |
327 | `,
328 | exportAs: "StripeBank"
329 | }]
330 | }], ctorParameters: function () { return [{ type: StripeScriptTag }]; }, propDecorators: { options: [{
331 | type: Input
332 | }], token: [{
333 | type: Input
334 | }], tokenChange: [{
335 | type: Output
336 | }] } });
337 |
338 | const declarations = [
339 | StripeComponent,
340 | StripeSource,
341 | StripeCard,
342 | StripeBank
343 | ];
344 | class StripeModule {
345 | static forRoot(publishableKey, options) {
346 | return {
347 | ngModule: StripeModule,
348 | providers: [
349 | StripeScriptTag,
350 | {
351 | provide: STRIPE_PUBLISHABLE_KEY,
352 | useValue: publishableKey
353 | },
354 | {
355 | provide: STRIPE_OPTIONS,
356 | useValue: options
357 | }
358 | ],
359 | };
360 | }
361 | }
362 | StripeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
363 | StripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeModule, declarations: [StripeComponent,
364 | StripeSource,
365 | StripeCard,
366 | StripeBank], imports: [CommonModule], exports: [StripeComponent,
367 | StripeSource,
368 | StripeCard,
369 | StripeBank] });
370 | StripeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeModule, imports: [[
371 | CommonModule
372 | ]] });
373 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StripeModule, decorators: [{
374 | type: NgModule,
375 | args: [{
376 | imports: [
377 | CommonModule
378 | ],
379 | declarations,
380 | // providers: [ StripeScriptTag ],
381 | exports: [...declarations]
382 | }]
383 | }] });
384 | /**
385 | * @deprecated Please import `StripeModule` directly
386 | */
387 | const Module = StripeModule;
388 |
389 | /**
390 | * Generated bundle index. Do not edit.
391 | */
392 |
393 | export { Module, STRIPE_OPTIONS, STRIPE_PUBLISHABLE_KEY, StripeBank, StripeCard, StripeComponent, StripeModule, StripeScriptTag, StripeSource };
394 | //# sourceMappingURL=stripe-angular.mjs.map
395 |
--------------------------------------------------------------------------------
/fesm5/stripe-angular.js:
--------------------------------------------------------------------------------
1 | import { __decorate, __param, __extends, __spread } from 'tslib';
2 | import { InjectionToken, Inject, ɵɵdefineInjectable, ɵɵinject, Injectable, EventEmitter, Output, Input, Component, ElementRef, NgModule } from '@angular/core';
3 | import { CommonModule } from '@angular/common';
4 |
5 | var STRIPE_PUBLISHABLE_KEY = new InjectionToken('Stripe Publishable Key');
6 | var STRIPE_OPTIONS = new InjectionToken('Stripe Options');
7 |
8 | var StripeScriptTag = /** @class */ (function () {
9 | function StripeScriptTag(key, options) {
10 | this.src = "https://js.stripe.com/v3/";
11 | this.load = this.injectIntoHead();
12 | if (key)
13 | this.setPublishableKey(key, options);
14 | }
15 | StripeScriptTag.prototype.promiseStripe = function () {
16 | return this.load;
17 | };
18 | StripeScriptTag.prototype.promiseInstance = function () {
19 | var _this = this;
20 | return this.promiseStripe()
21 | .then(function (stripe) {
22 | if (!_this.StripeInstance) {
23 | var err = new Error("Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()");
24 | err["code"] = "STRIPEKEYNOTSET";
25 | throw err;
26 | //return Promise.reject( err )
27 | }
28 | return _this.StripeInstance;
29 | });
30 | };
31 | StripeScriptTag.prototype.setPublishableKey = function (key, options) {
32 | var _this = this;
33 | return this.load.then(function () {
34 | return _this.StripeInstance = _this.Stripe(key, options);
35 | });
36 | };
37 | StripeScriptTag.prototype.injectIntoHead = function () {
38 | var _this = this;
39 | if (window["Stripe"]) {
40 | return Promise.resolve(this.Stripe = window["Stripe"]);
41 | }
42 | return new Promise(function (res, rej) {
43 | var head = _this.getTargetTagDropElement();
44 | var script = document.createElement("script");
45 | script.setAttribute("src", _this.src);
46 | script.setAttribute("type", "text/javascript");
47 | script.addEventListener("load", function () {
48 | _this.Stripe = _this.grabStripe();
49 | res(_this.Stripe);
50 | });
51 | head.appendChild(script);
52 | });
53 | };
54 | StripeScriptTag.prototype.grabStripe = function () {
55 | return window["Stripe"];
56 | };
57 | StripeScriptTag.prototype.getTargetTagDropElement = function () {
58 | var elm = document.getElementsByTagName("head");
59 | if (elm.length)
60 | return elm[0];
61 | return document.getElementsByTagName("body")[0];
62 | };
63 | StripeScriptTag.ctorParameters = function () { return [
64 | { type: String, decorators: [{ type: Inject, args: [STRIPE_PUBLISHABLE_KEY,] }] },
65 | { type: undefined, decorators: [{ type: Inject, args: [STRIPE_OPTIONS,] }] }
66 | ]; };
67 | StripeScriptTag.ɵprov = ɵɵdefineInjectable({ factory: function StripeScriptTag_Factory() { return new StripeScriptTag(ɵɵinject(STRIPE_PUBLISHABLE_KEY), ɵɵinject(STRIPE_OPTIONS)); }, token: StripeScriptTag, providedIn: "root" });
68 | StripeScriptTag = __decorate([
69 | Injectable({ providedIn: 'root' }),
70 | __param(0, Inject(STRIPE_PUBLISHABLE_KEY)),
71 | __param(1, Inject(STRIPE_OPTIONS))
72 | ], StripeScriptTag);
73 | return StripeScriptTag;
74 | }());
75 |
76 | var StripeComponent = /** @class */ (function () {
77 | function StripeComponent(StripeScriptTag) {
78 | this.StripeScriptTag = StripeScriptTag;
79 | this.catcher = new EventEmitter();
80 | this.invalidChange = new EventEmitter();
81 | }
82 | StripeComponent.prototype.ngOnInit = function () {
83 | this.init();
84 | };
85 | StripeComponent.prototype.init = function () {
86 | var _this = this;
87 | return this.StripeScriptTag.promiseInstance()
88 | .then(function (i) { return _this.stripe = i; });
89 | };
90 | __decorate([
91 | Output("catch")
92 | ], StripeComponent.prototype, "catcher", void 0);
93 | __decorate([
94 | Input()
95 | ], StripeComponent.prototype, "invalid", void 0);
96 | __decorate([
97 | Output()
98 | ], StripeComponent.prototype, "invalidChange", void 0);
99 | return StripeComponent;
100 | }());
101 |
102 | var StripeSource = /** @class */ (function (_super) {
103 | __extends(StripeSource, _super);
104 | function StripeSource(StripeScriptTag) {
105 | var _this = _super.call(this, StripeScriptTag) || this;
106 | _this.StripeScriptTag = StripeScriptTag;
107 | _this.sourceChange = new EventEmitter();
108 | return _this;
109 | }
110 | StripeSource.prototype.createSource = function () {
111 | var _this = this;
112 | delete this.invalid;
113 | this.invalidChange.emit(this.invalid);
114 | return this.stripe.createSource(this.elements)
115 | .then(function (result) {
116 | if (result.error) {
117 | if (result.error.type == "validation_error") {
118 | _this.invalidChange.emit(_this.invalid = result.error);
119 | }
120 | else {
121 | _this.catcher.emit(result.error);
122 | throw result.error;
123 | }
124 | }
125 | else {
126 | _this.sourceChange.emit(_this.source = result.source);
127 | return result.source;
128 | }
129 | });
130 | };
131 | StripeSource.ctorParameters = function () { return [
132 | { type: StripeScriptTag }
133 | ]; };
134 | __decorate([
135 | Input()
136 | ], StripeSource.prototype, "source", void 0);
137 | __decorate([
138 | Output()
139 | ], StripeSource.prototype, "sourceChange", void 0);
140 | StripeSource = __decorate([
141 | Component({
142 | selector: "stripe-source",
143 | template: "\n \n Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
\n \n ",
144 | exportAs: "StripeSource"
145 | })
146 | ], StripeSource);
147 | return StripeSource;
148 | }(StripeComponent));
149 |
150 | var StripeCard = /** @class */ (function (_super) {
151 | __extends(StripeCard, _super);
152 | function StripeCard(ElementRef, StripeScriptTag) {
153 | var _this = _super.call(this, StripeScriptTag) || this;
154 | _this.ElementRef = ElementRef;
155 | _this.StripeScriptTag = StripeScriptTag;
156 | _this.tokenChange = new EventEmitter();
157 | _this.cardMounted = new EventEmitter();
158 | return _this;
159 | }
160 | StripeCard.prototype.ngOnInit = function () {
161 | var _this = this;
162 | _super.prototype.init.call(this)
163 | .then(function () {
164 | _this.elements = _this.stripe.elements().create('card', _this.options);
165 | _this.elements.mount(_this.ElementRef.nativeElement);
166 | _this.cardMounted.emit(_this.elements);
167 | _this.elements.addEventListener('change', function (result) {
168 | if (result.error) {
169 | _this.invalidChange.emit(_this.invalid = result.error);
170 | }
171 | });
172 | });
173 | };
174 | StripeCard.prototype.createToken = function (extraData) {
175 | var _this = this;
176 | delete this.invalid;
177 | this.invalidChange.emit(this.invalid);
178 | return this.stripe.createToken(this.elements, extraData)
179 | .then(function (result) {
180 | if (result.error) {
181 | if (result.error.type == "validation_error") {
182 | _this.invalidChange.emit(_this.invalid = result.error);
183 | }
184 | else {
185 | _this.catcher.emit(result.error);
186 | throw result.error;
187 | }
188 | }
189 | else {
190 | _this.tokenChange.emit(_this.token = result.token);
191 | return result.token;
192 | }
193 | });
194 | };
195 | StripeCard.ctorParameters = function () { return [
196 | { type: ElementRef },
197 | { type: StripeScriptTag }
198 | ]; };
199 | __decorate([
200 | Input()
201 | ], StripeCard.prototype, "options", void 0);
202 | __decorate([
203 | Input()
204 | ], StripeCard.prototype, "token", void 0);
205 | __decorate([
206 | Output()
207 | ], StripeCard.prototype, "tokenChange", void 0);
208 | __decorate([
209 | Output()
210 | ], StripeCard.prototype, "cardMounted", void 0);
211 | StripeCard = __decorate([
212 | Component({
213 | selector: "stripe-card",
214 | template: "\n \n Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
\n \n ",
215 | exportAs: "StripeCard"
216 | })
217 | ], StripeCard);
218 | return StripeCard;
219 | }(StripeSource));
220 |
221 | var StripeBank = /** @class */ (function (_super) {
222 | __extends(StripeBank, _super);
223 | function StripeBank(StripeScriptTag) {
224 | var _this = _super.call(this, StripeScriptTag) || this;
225 | _this.StripeScriptTag = StripeScriptTag;
226 | _this.tokenChange = new EventEmitter();
227 | return _this;
228 | }
229 | StripeBank.prototype.createToken = function (data) {
230 | var _this = this;
231 | delete this.invalid;
232 | this.invalidChange.emit(this.invalid);
233 | return this.stripe.createToken('bank_account', data)
234 | .then(function (result) {
235 | if (result.error) {
236 | if (result.error.type == "validation_error") {
237 | _this.invalidChange.emit(_this.invalid = result.error);
238 | }
239 | else {
240 | _this.catcher.emit(result.error);
241 | throw result.error;
242 | }
243 | }
244 | else {
245 | _this.tokenChange.emit(_this.token = result.token);
246 | return result.token;
247 | }
248 | });
249 | };
250 | StripeBank.ctorParameters = function () { return [
251 | { type: StripeScriptTag }
252 | ]; };
253 | __decorate([
254 | Input()
255 | ], StripeBank.prototype, "options", void 0);
256 | __decorate([
257 | Input()
258 | ], StripeBank.prototype, "token", void 0);
259 | __decorate([
260 | Output()
261 | ], StripeBank.prototype, "tokenChange", void 0);
262 | StripeBank = __decorate([
263 | Component({
264 | selector: "stripe-bank",
265 | template: "\n \n Stripe PublishableKey NOT SET. Use method StripeScriptTag.setPublishableKey()
\n \n ",
266 | exportAs: "StripeBank"
267 | })
268 | ], StripeBank);
269 | return StripeBank;
270 | }(StripeComponent));
271 |
272 | var declarations = [
273 | StripeSource,
274 | StripeCard,
275 | StripeBank
276 | ];
277 | var StripeModule = /** @class */ (function () {
278 | function StripeModule() {
279 | }
280 | StripeModule_1 = StripeModule;
281 | StripeModule.forRoot = function (publishableKey, options) {
282 | return {
283 | ngModule: StripeModule_1,
284 | providers: [
285 | StripeScriptTag,
286 | {
287 | provide: STRIPE_PUBLISHABLE_KEY,
288 | useValue: publishableKey
289 | },
290 | {
291 | provide: STRIPE_OPTIONS,
292 | useValue: options
293 | }
294 | ],
295 | };
296 | };
297 | var StripeModule_1;
298 | StripeModule = StripeModule_1 = __decorate([
299 | NgModule({
300 | imports: [
301 | CommonModule
302 | ],
303 | declarations: declarations,
304 | // providers: [ StripeScriptTag ],
305 | exports: __spread(declarations)
306 | })
307 | ], StripeModule);
308 | return StripeModule;
309 | }());
310 | /**
311 | * @deprecated Please import `StripeModule` directly
312 | */
313 | var Module = StripeModule;
314 |
315 | /**
316 | * Generated bundle index. Do not edit.
317 | */
318 |
319 | export { Module, STRIPE_OPTIONS, STRIPE_PUBLISHABLE_KEY, StripeBank, StripeCard, StripeModule, StripeScriptTag, StripeSource, StripeComponent as ɵa };
320 | //# sourceMappingURL=stripe-angular.js.map
321 |
--------------------------------------------------------------------------------
/index.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import { ModuleWithProviders } from "@angular/core";
3 | import * as i0 from "@angular/core";
4 | import * as i1 from "./components/StripeComponent";
5 | import * as i2 from "./components/StripeSource.component";
6 | import * as i3 from "./components/StripeCard.component";
7 | import * as i4 from "./components/StripeBank.component";
8 | import * as i5 from "@angular/common";
9 | export * from "./StripeTypes";
10 | export { StripeComponent } from "./components/StripeComponent";
11 | export { StripeScriptTag } from "./StripeScriptTag";
12 | export { StripeSource } from "./components/StripeSource.component";
13 | export { StripeCard } from "./components/StripeCard.component";
14 | export { StripeBank } from "./components/StripeBank.component";
15 | export declare class StripeModule {
16 | static forRoot(publishableKey?: string, options?: stripe.StripeOptions): ModuleWithProviders;
17 | static ɵfac: i0.ɵɵFactoryDeclaration;
18 | static ɵmod: i0.ɵɵNgModuleDeclaration;
19 | static ɵinj: i0.ɵɵInjectorDeclaration;
20 | }
21 | /**
22 | * @deprecated Please import `StripeModule` directly
23 | */
24 | export declare const Module: typeof StripeModule;
25 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "stripe-angular",
3 | "version": "1.5.2",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "zone.js": {
8 | "version": "0.11.3",
9 | "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.3.tgz",
10 | "integrity": "sha512-Y4hTHoh4VcxU5BDGAqEoOnOiyT254w6CiHtpQxAJUSMZPyVgdbKf+5R7Mwz6xsPhMIeBXk5rTopRZDpjssTCUg==",
11 | "dev": true,
12 | "requires": {
13 | "tslib": "^2.0.0"
14 | },
15 | "dependencies": {
16 | "tslib": {
17 | "version": "2.1.0",
18 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
19 | "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
20 | "dev": true
21 | }
22 | }
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "stripe-angular",
3 | "version": "1.9.3",
4 | "description": "Angular to Stripe module containing useful providers, components, and directives",
5 | "main": "dist/index.js",
6 | "typings": "stripe-angular.d.ts",
7 | "repository": {
8 | "type": "git",
9 | "url": "git+https://github.com/AckerApple/stripe-angular.git"
10 | },
11 | "keywords": [
12 | "stripe",
13 | "angular",
14 | "credit",
15 | "debit",
16 | "card",
17 | "payment",
18 | "gateway"
19 | ],
20 | "author": "Acker Apple",
21 | "license": "MIT",
22 | "bugs": {
23 | "url": "https://github.com/AckerApple/stripe-angular/issues"
24 | },
25 | "homepage": "https://github.com/AckerApple/stripe-angular#readme",
26 | "peerDependencies": {
27 | "@types/stripe-v3": "^3.1.23"
28 | },
29 | "module": "fesm2015/stripe-angular.mjs",
30 | "es2020": "fesm2020/stripe-angular.mjs",
31 | "esm2020": "esm2020/stripe-angular.mjs",
32 | "fesm2020": "fesm2020/stripe-angular.mjs",
33 | "fesm2015": "fesm2015/stripe-angular.mjs",
34 | "exports": {
35 | "./package.json": {
36 | "default": "./package.json"
37 | },
38 | ".": {
39 | "types": "./stripe-angular.d.ts",
40 | "esm2020": "./esm2020/stripe-angular.mjs",
41 | "es2020": "./fesm2020/stripe-angular.mjs",
42 | "es2015": "./fesm2015/stripe-angular.mjs",
43 | "node": "./fesm2015/stripe-angular.mjs",
44 | "default": "./fesm2020/stripe-angular.mjs"
45 | }
46 | },
47 | "sideEffects": false,
48 | "dependencies": {
49 | "tslib": "^2.3.0"
50 | }
51 | }
--------------------------------------------------------------------------------
/stripe-angular.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Generated bundle index. Do not edit.
3 | */
4 | ///
5 | export * from './index';
6 |
--------------------------------------------------------------------------------