@power-elements/stripe-elements
Advanced tools
@@ -8,2 +8,9 @@ const defaultSettings = require('@open-wc/testing-karma/default-settings.js'); | ||
const newConf = merge(defaultSettings(config), { | ||
browsers: ['FirefoxHeadless'], | ||
customLaunchers: { | ||
FirefoxHeadless: { | ||
base: 'Firefox', | ||
flags: ['-headless'], | ||
}, | ||
}, | ||
files: config.grep ? [config.grep] : ['src/*.test.js'], | ||
@@ -34,5 +41,3 @@ webpack: { | ||
// console.log(JSON.stringify(newConf, null, 2)); | ||
return config; | ||
}; |
{ | ||
"name": "@power-elements/stripe-elements", | ||
"version": "1.0.1", | ||
"version": "1.1.2", | ||
"description": "Web Component wrapper for stripe elements", | ||
@@ -12,3 +12,6 @@ "main": "stripe-elements.js", | ||
"prepare": "rollup -c", | ||
"test": "karma start" | ||
"test": "karma start", | ||
"site:build": "npm run storybook:build", | ||
"storybook": "start-storybook -p 9001", | ||
"storybook:build": "build-storybook -o _site -s storybook-static" | ||
}, | ||
@@ -50,13 +53,10 @@ "repository": { | ||
"@babel/preset-env": "^7.4.2", | ||
"@babel/runtime": "^7.4.2", | ||
"@lrnwebcomponents/json-editor": "^2.0.8", | ||
"@open-wc/demoing-storybook": "^0.2.0", | ||
"@open-wc/testing": "^0.10.1", | ||
"@open-wc/testing-karma": "^0.4.15", | ||
"@polymer/iron-component-page": "^4.0.1", | ||
"@polymer/iron-demo-helpers": "^3.1.0", | ||
"@polymer/paper-button": "^3.0.1", | ||
"@polymer/paper-input": "^3.0.1", | ||
"@storybook/addon-knobs": "^5.0.5", | ||
"babel-eslint": "^10.0.1", | ||
"bound-decorator": "^1.1.0", | ||
"chai-things": "^0.2.0", | ||
"crocks": "^0.11.1", | ||
"eslint": "^5.15.3", | ||
@@ -67,3 +67,2 @@ "eslint-config-google": "^0.12.0", | ||
"eslint-plugin-no-loops": "^0.3.0", | ||
"polymer-cli": "^1.9.7", | ||
"rollup": "^1.7.0", | ||
@@ -70,0 +69,0 @@ "rollup-plugin-babel": "^4.3.2", |
@@ -12,2 +12,4 @@ [](https://www.webcomponents.org/element/bennypowers/stripe-elements) | ||
👨🎨 [Storybook Demo](https://bennypowers.dev/stripe-elements) 👀 | ||
## Installation | ||
@@ -27,2 +29,3 @@ ``` | ||
Then you can add the element to your page. | ||
```html | ||
@@ -41,2 +44,3 @@ <script type="module" src="/web_modules/@power-elements/stripe-elements/stripe-elements.js"></script> | ||
In a lit-html template | ||
```js | ||
@@ -65,2 +69,3 @@ import { html, render } from '/web_modules/lit-html/lit-html.js'; | ||
In a Polymer Template | ||
```html | ||
@@ -67,0 +72,0 @@ <paper-input label="Stripe Publishable Key" value="{{key}}"></paper-input> |
@@ -15,3 +15,3 @@ import { LitElement, html, css } from 'lit-element'; | ||
const removeAllMounts = host => | ||
host.querySelectorAll('[slot="stripe-card" name="stripe-card"]') | ||
host.querySelectorAll('[slot="stripe-card"][name="stripe-card"]') | ||
.forEach(removeEl) | ||
@@ -442,3 +442,3 @@ | ||
if (!this.isComplete) return; | ||
this.stripe.createToken(this.#card, this.cardData) | ||
return this.stripe.createToken(this.#card, this.cardData) | ||
.then(this.#handleResponse.bind(this)) | ||
@@ -512,6 +512,10 @@ .catch(this.#handleError.bind(this)); | ||
#handleResponse(response) { | ||
if (response.error) return this.#setError(response.error); | ||
this.#setToken(response.token); | ||
// Submit the form | ||
if (this.action) this.querySelector('form').submit(); | ||
if (response.error) { | ||
this.#setError(response.error); | ||
} else { | ||
this.#setToken(response.token); | ||
// Submit the form | ||
if (this.action) this.querySelector('form').submit(); | ||
} | ||
return response; | ||
} | ||
@@ -518,0 +522,0 @@ |
@@ -16,3 +16,3 @@ import { classPrivateFieldLooseBase as _classPrivateFieldLooseBase, classPrivateFieldLooseKey as _classPrivateFieldLooseKey } from './_virtual/_rollupPluginBabelHelpers.js'; | ||
const removeAllMounts = host => host.querySelectorAll('[slot="stripe-card" name="stripe-card"]').forEach(removeEl); | ||
const removeAllMounts = host => host.querySelectorAll('[slot="stripe-card"][name="stripe-card"]').forEach(removeEl); | ||
@@ -476,3 +476,3 @@ function appendTemplate(template, target) { | ||
if (!this.isComplete) return; | ||
this.stripe.createToken(_classPrivateFieldLooseBase(this, _card)[_card], this.cardData).then(_classPrivateFieldLooseBase(this, _handleResponse)[_handleResponse].bind(this)).catch(_classPrivateFieldLooseBase(this, _handleError)[_handleError].bind(this)); | ||
return this.stripe.createToken(_classPrivateFieldLooseBase(this, _card)[_card], this.cardData).then(_classPrivateFieldLooseBase(this, _handleResponse)[_handleResponse].bind(this)).catch(_classPrivateFieldLooseBase(this, _handleError)[_handleError].bind(this)); | ||
} | ||
@@ -781,8 +781,12 @@ /** | ||
var _handleResponse2 = function _handleResponse2(response) { | ||
if (response.error) return _classPrivateFieldLooseBase(this, _setError)[_setError](response.error); | ||
if (response.error) { | ||
_classPrivateFieldLooseBase(this, _setError)[_setError](response.error); | ||
} else { | ||
_classPrivateFieldLooseBase(this, _setToken)[_setToken](response.token); // Submit the form | ||
_classPrivateFieldLooseBase(this, _setToken)[_setToken](response.token); // Submit the form | ||
if (this.action) this.querySelector('form').submit(); | ||
} | ||
if (this.action) this.querySelector('form').submit(); | ||
return response; | ||
}; | ||
@@ -789,0 +793,0 @@ |
25
-13.79%2163
0.65%127
4.1%99101
-0.25%14
-6.67%