├── .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 | [![hire me](https://ackerapple.github.io/resume/assets/images/hire-me-badge.svg)](https://ackerapple.github.io/resume/) 7 | [![npm version](https://badge.fury.io/js/stripe-angular.svg)](http://badge.fury.io/js/stripe-angular) 8 | [![npm downloads](https://img.shields.io/npm/dm/stripe-angular.svg)](https://npmjs.org/stripe-angular) 9 | [![Build status](https://ci.appveyor.com/api/projects/status/djjqn1buycma3rwy/branch/master?svg=true)](https://ci.appveyor.com/project/AckerApple/stripe-angular/branch/master) 10 | [![Build Status](https://travis-ci.org/AckerApple/stripe-angular.svg?branch=master)](https://travis-ci.org/AckerApple/stripe-angular) 11 | [![Dependency Status](https://david-dm.org/ackerapple/stripe-angular.svg)](https://david-dm.org/ackerapple/stripe-angular) 12 | [![min size](https://badgen.net/bundlephobia/min/stripe-angular)](https://bundlephobia.com/result?p=stripe-angular) 13 | [![minzip size](https://badgen.net/bundlephobia/minzip/stripe-angular)](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 | --------------------------------------------------------------------------------