lion/packages/input-email
CircleCI 8958b2fa02 chore: release new versions
- @lion/accordion@0.1.1
 - @lion/ajax@0.4.3
 - babel-plugin-extend-docs@0.2.2
 - @lion/button@0.7.5
 - @lion/calendar@0.9.4
 - @lion/checkbox-group@0.10.6
 - @lion/core@0.7.2
 - @lion/dialog@0.7.4
 - @lion/fieldset@0.13.6
 - @lion/form-core@0.1.6
 - @lion/form-integrations@0.1.8
 - @lion/form@0.6.6
 - @lion/helpers@0.5.2
 - @lion/icon@0.6.4
 - @lion/input-amount@0.7.6
 - @lion/input-date@0.7.6
 - @lion/input-datepicker@0.14.6
 - @lion/input-email@0.8.6
 - @lion/input-iban@0.9.6
 - @lion/input-range@0.4.6
 - @lion/input@0.7.6
 - @lion/localize@0.12.1
 - @lion/overlays@0.16.4
 - @lion/radio-group@0.10.6
 - remark-extend@0.2.1
 - @lion/select-rich@0.18.7
 - @lion/select@0.7.6
 - singleton-manager@1.1.0
 - @lion/steps@0.5.3
 - @lion/switch@0.10.7
 - @lion/tabs@0.4.4
 - @lion/textarea@0.7.6
 - @lion/tooltip@0.11.4
 - @lion/validate-messages@0.1.6
2020-06-18 14:06:56 +00:00
..
src chore: move icon intro to icon package so it can be extended 2020-06-08 11:27:26 +02:00
test feat: merge field/validate/choice-input/form-group into @lion/form-core 2020-05-29 17:01:15 +02:00
CHANGELOG.md chore: release new versions 2020-06-18 14:06:56 +00:00
index.js feat: release inital public lion version 2019-04-26 10:37:57 +02:00
lion-input-email.js feat: release inital public lion version 2019-04-26 10:37:57 +02:00
package.json chore: release new versions 2020-06-18 14:06:56 +00:00
README.md chore: fix more links for storybook 2020-06-04 19:05:25 +02:00

Input Email

lion-input-email component is based on the generic text input field. Its purpose is to provide a way for users to fill in an email.

import { html } from 'lit-html';
import { Validator } from '@lion/form-core';
import { loadDefaultFeedbackMessages } from '@lion/validate-messages';

import './lion-input-email.js';

export default {
  title: 'Forms/Input Email',
};
loadDefaultFeedbackMessages();
export const main = () => {
  return html` <lion-input-email label="Email" name="email"></lion-input-email> `;
};

Features

  • Based on lion-input
  • Makes use of email validators with corresponding error messages in different languages
    • IsEmail (default)

How to use

Installation

npm i --save @lion/input-email
import { LionInputEmail } from '@lion/input-email';
// or
import '@lion/input-email/lion-input-email.js';

Examples

Faulty Prefilled

When prefilling with a faulty input, an error feedback message will show.

Use loadDefaultFeedbackMessages to get our default feedback messages displayed on it.

export const faultyPrefilled = () => html`
  <lion-input-email .modelValue=${'foo'} label="Email"></lion-input-email>
`;

Custom Validator

export const customValidator = () => {
  class GmailOnly extends Validator {
    static get validatorName() {
      return '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>
  `;
};