Use the vf-form__textare
when you want the site visitor to enter text on multiple lines or when the information they need to input is not short.
If you are wanting the site visitor to answer multiple questions inside a vf-form__textarea
it is better to split these question up and use multiple vf-form__input
s.
The vf-from__textarea
must be accompanied by a descriptive vf-form__label
.
Depending on your environment you'll want to use render
or include
. As a rule of thumb: server-side use include
, precompiled browser use render
. If you're using vf-eleventy you should use include
.
include
You'll need to pass a context object from your code or Yaml file (example), as well as the path to the Nunjucks template. Nunjucks' include
is an abstraction of render
and provides some additional portability.
{% set context fromYourYamlFile %}
- or -
{% set context = {
"component-type": "form",
"text_area_rows": 5,
"text_area_name": "text-area",
"text_label": {
"form__label": "Write Some More details",
"form__label_for": "text-area"
}
}
%}
{% include "../path_to/vf-form__textarea/vf-form__textarea.njk" %}
render
This approach is best for bare-bones Nunjucks environments, such as precompiled templates with the Nunjucks slim runtime where include
is not be available.
{% render '@vf-form__textarea', {
"component-type": "form",
"text_area_rows": 5,
"text_area_name": "text-area",
"text_label": {
"form__label": "Write Some More details",
"form__label_for": "text-area"
}
} %}
<div class="vf-form__item">
<label for="text-area" class="vf-form__label">Write Some More details</label>
<textarea class="vf-form__textarea" id="text-area" name="text-area" rows="5"></textarea>
</div>
This component is distributed with npm. After installing npm, you can install the vf-form__textarea
with this command.
$ yarn add --dev @visual-framework/vf-form__textarea
The source files included are written in Sass(scss
). You can point your Sass include-path
at your node_modules
directory and import it like this.
@import "@visual-framework/vf-form__textarea/index.scss";
Make sure you import Sass requirements along with the modules. You can use a project boilerplate or the vf-sass-starter
set-
style functions to cleaner versionwebkit-appearance: none;
as needed for Safari browsers as autoprefixer is not doing thisvf-u-sr-only
class:hover
effect to match other inputs
File system location: components/vf-form__textarea
Find an issue on this page? Propose a change or discuss it.