0.10.0 • Published 4 years ago
@webapp-suite/elements.text-field v0.10.0
➤ Properties
| Property | Attribute | Type | Default | Description |
|---|---|---|---|---|
| label | label | String | '' | Label of the text field. If you need something more than simple string, use the label slot. |
| id | id | String | 'input-id' | Id of the text field |
| value | value | String | '' | Value of the text field |
| type | type | String | 'text' | Pass type of the input element, if it's not multiline |
| placeholder | placeholder | String | '' | Placeholder of the text field |
| helpTextMessages | help-text-messages | Array | Array of messages to pass to help-text component. See help-text component for more info | |
| helpTextTitle | help-text-title | String | If you have more than one help text message , you should pass a title to it. See help-text component for more info | |
| helpTextType | help-text-type | String | To change the help text icon and style if needed. See help-text component for more info | |
| errorMessages | error-messages | Array | Error messages to show underneath of the input when it has error | |
| errorTitle | error-title | String | Error title, if there are more than one error message | |
| hasError | has-error | Boolean | false | If the text field has an error, to show error messages and change the style of the input |
| required | required | Boolean | false | To show the asterisk in the label, not doing validation yet |
| disabled | disabled | Boolean | false | Is the text field disabled? |
| readonly | readonly | Boolean | false | Is the text field readonly? |
| multiline | multiline | Boolean | false | Will show a textarea instead of an input |
| dir | dir | String | ltr | Direction 'rtl' or 'ltr' |
| iconStart | icon-start | String | '' | Icon that appears at the beginning of the input (left in ltr direction) |
| iconEnd | icon-end | String | '' | Icon that appears at the end part of the input (end in ltr direction). Readonly and disabled state will show a lock icon instead. |
➤ Slots
| Name | Description |
|---|---|
| label | If you want to have custom html in label, you can use this slot |
| ts-input | If you want to have the input/textarea in the light DOM, for example, to be able to access it in the form data, you can pass the ts-input element with the input/textarea yourself. |
➤ Events
| Name | Description | Payload |
|---|---|---|
| input | Emitted onInput event of input/textarea | { value, originalEvent } |
| change | Emitted onChange event of input/textarea | { value, id, originalEvent } |
➤ How to use it
- Install the package of textField
$ npm i @webapp-suite/elements.text-field --save- Import the component
import '@webapp-suite/elements.text-field';or
<script src="node_modules/@webapp-suite/elements.text-field/lib/text-field.umd.js"></script>Use it like demo
Our components rely on having the
Open Sansavailable, You can see thefont-weightandfont-styleyou need to load here, or you can just load it from our package (for now)
<link rel="stylesheet" href="node_modules/@webapp-suite/elements/src/fonts.css" />➤ Polyfills
For supporting IE11 you need to add couple of things
- Don't shim CSS Custom Properties in IE11
<!-- Place this in the <head>, before the Web Component polyfills are loaded -->
<script>
if (!window.Promise) {
window.ShadyCSS = { nativeCss: true };
}
</script>You have two options for polyfills library:
- Installation
$ npm i @open-wc/polyfills-loader- Load it
import loadPolyfills from '@open-wc/polyfills-loader';
loadPolyfills().then(() => import('./my-app.js'));- Installation
$ npm i @webcomponents/webcomponentsjs --save- Enable ES5 class-less Custom Elements
<script src="/node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"></script>- Load appropriate polyfills and shims with
@webcomponents/webcomponentsjs
<script src="/node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js" defer></script>➤ How to contribute
Thanks for your interest and help!
- First thing you need to do is read this [Component Checklist] which contains lots of important information about what you need to consider when you are creating/changing components
General info
You can find some links to useful materials about what we are using and some tutorials and articles that can help you get started.
➤ Polyfill Limitations
You can see a list of limitations that we should watch out for, here
➤ License
- You can always create forks on GitHub, submit Issues and Pull Requests.
- You can only use webapp-suite Elements to make apps on a webapp-suite platform, e.g. webapp-suite.com.
- You can fix a bug until the bugfix is deployed by webapp-suite.
- You can host webapp-suite Elements yourself.
- If you want to make a bigger change or just want to talk with us, reach out to our team here on GitHub.
You can read the full license agreement in the LICENSE.md.