lion/packages/input-email/stories/index.stories.js
Thomas Allmer 4a93599228 chore: update storybook version
Co-authored-by: Joren Broekema <Joren.Broekema@ing.com>
2020-01-13 13:58:03 +01:00

46 lines
1.1 KiB
JavaScript

import { Validator } from '@lion/validate';
import { html, storiesOf } from '@open-wc/demoing-storybook';
import '../../fieldset/lion-fieldset.js';
import '../lion-input-email.js';
storiesOf('Forms|Input Email')
.add(
'Default',
() => html`
<lion-input-email name="email" label="Label"></lion-input-email>
`,
)
.add(
'Faulty prefilled',
() => html`
<lion-input-email .modelValue=${'foo'} label="Email"></lion-input-email>
`,
)
.add('Custom validator', () => {
class GmailOnly extends Validator {
constructor(...args) {
super(...args);
this.name = 'GmailOnly';
}
execute(value) {
let hasError = false;
if (!(value.indexOf('gmail.com') !== -1)) {
hasError = true;
}
return hasError;
}
static async getMessage() {
return 'You can only use gmail.com email addresses.';
}
}
return html`
<lion-input-email
.modelValue=${'foo@bar.com'}
.validators=${[new GmailOnly()]}
label="Email"
></lion-input-email>
`;
});