@chameleon-ds/textarea
v2.0.1
Published
Chameleon textarea
Downloads
31
Keywords
Readme
Chameleon Textarea
import { html } from "@open-wc/demoing-storybook";
import { withKnobs, text, number, boolean } from "@open-wc/demoing-storybook";
import "./chameleon-textarea.js";
export default {
title: "Components|Form Elements/Textarea",
component: "chameleon-textarea",
decorators: [withKnobs],
options: { selectedPanel: "storybookjs/docs/panel" },
};
Properties
| Property Name | Type(s) | Default Value | Description |
| ------------------- | ------- | ---------------- | -------------------------------------------------------------------------------------------------------- |
| autocomplete
| Boolean | false
| A string indicating the type of autocomplete functionality, if any, to allow on the textarea |
| spellcheck
| Boolean | false
| Specifies whether the <textarea>
is subject to spell checking by the underlying browser/OS |
| name
| String | "cha-textarea"
| The textarea's form name |
| autofocus
| Boolean | false
| A Boolean which, if present, makes the textarea take focus when the form is presented |
| cols
| Number | 20
| The visible width of the text control, in average character widths |
| rows
| Number | 2
| The number of visible text lines for the control |
| disabled
| Boolean | false
| A Boolean attribute which is present if the textarea should be disabled |
| readonly
| Boolean | false
| A Boolean attribute which, if true, indicates that the textarea cannot be edited |
| required
| Boolean | false
| A Boolean which, if true, indicates that the textarea must have a value before the form can be submitted |
| placeholder
| String | ""
| The textarea's placeholder value |
| value
| String | ""
| The textarea's current value |
| maxLength
| Number | null
| The textarea's maximum length |
| minxLength
| Number | null
| The textarea's minimum length |
| label
| String | ""
| The textarea's label text |
| invalid
| Boolean | false
| Invalid boolean to allow validity access from higher level form errors |
| validationMessage
| String | ""
| The textarea's error message |
| nonresizeable
| Boolean | false
| Prevents users from manualy changing the size of the textarea |
Examples
Default
export const Default = () => {
const disabled = boolean("Disabled", false);
const label = text("Label", "Description");
const error = text("Error", "");
const placeholder = text("Placeholder", "Text...");
const minlength = number("minlength", 0);
const maxlength = number("maxlength", 500);
const rows = number("Rows", 2);
const cols = number("Columns", 20);
const nonresizeable = boolean("non-resizeable", false);
const value = text("Value", "");
const invalid = boolean("Invalid", false);
const required = boolean("Required", false);
return html`
<chameleon-textarea
?disabled="${disabled}"
?required="${required}"
.placeholder="${placeholder}"
value="${value}"
.label="${label}"
.validationMessage="${error}"
.minlength="${minlength}"
.maxlength="${maxlength}"
.rows="${rows}"
.cols="${cols}"
?invalid="${invalid}"
.nonresizeable="${nonresizeable}"
></chameleon-textarea>
`;
};
Error State
export const ErrorState = () => html`
<chameleon-textarea
label="Description"
validationMessage="Field cannot be left blank"
?invalid="${true}"
></chameleon-textarea>
`;