Use the vf-form__input
when you need the site visitor to enter text data as part of filling out a larger vf-form
.
Use the vf-form__input
when a site visitor has to input text data.
Use the vf-form__input
with a type
attribute of search
for a search input.
Use the vf-form__input
with a type
attribute of password
for a password input.
Use the vf-form__input--filter
with a type
attribute of search
for an interactive 'type ahead' search input.
Use these when you need short answers to questions in your form. If you need the user to write more longer pieces of text then make use of <textarea class="vf-form__textarea"></textarea>
.
vf-form__input--filter
: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"
}
%}
{% include "../path_to/vf-form__input/vf-form__input.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__input', {
"component-type": "form"
} %}
<div class="vf-form__item">
<label class="vf-form__label" for="text">Text</label>
<input type="text" id="text" class="vf-form__input">
</div>
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",
"search_placeholder": "Search all of EMBL.org"
}
%}
{% include "../path_to/vf-form__input/vf-form__input.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__input', {
"component-type": "form",
"search_placeholder": "Search all of EMBL.org"
} %}
<div class="vf-form__item">
<label class="vf-form__label" for="search">Search</label>
<input type="search" id="search" class="vf-form__input" placeholder="Search all of EMBL.org">
</div>
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",
"search_placeholder": "Search this book"
}
%}
{% include "../path_to/vf-form__input/vf-form__input.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__input', {
"component-type": "form",
"search_placeholder": "Search this book"
} %}
<div class="vf-form__item">
<label class="vf-form__label | vf-u-sr-only" for="search">Search</label>
<input type="search" id="search" class="vf-form__input vf-form__input--filter" placeholder="Search this book">
</div>
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",
"invalid": true
}
%}
{% include "../path_to/vf-form__input/vf-form__input.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__input', {
"component-type": "form",
"invalid": true
} %}
<div class="vf-form__item">
<label class="vf-form__label" for="text">Text</label>
<input type="text" id="text" class="vf-form__input vf-form__input--invalid">
</div>
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"
}
%}
{% include "../path_to/vf-form__input/vf-form__input.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__input', {
"component-type": "form"
} %}
<div class="vf-form__item">
<label class="vf-form__label" for="email">Disabled email</label>
<input type="email" id="email" class="vf-form__input" disabled>
</div>
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"
}
%}
{% include "../path_to/vf-form__input/vf-form__input.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__input', {
"component-type": "form"
} %}
<div class="vf-form__item">
<label class="vf-form__label" for="password">Password</label>
<input type="password" id="password" class="vf-form__input">
</div>
This component is distributed with npm. After installing npm, you can install the vf-form__input
with this command.
$ yarn add --dev @visual-framework/vf-form__input
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__input/index.scss";
Make sure you import Sass requirements along with the modules. You can use a project boilerplate or the vf-sass-starter
invalid
as an actual class vf-form__input--invalid
.set-
style functions to cleaner versiontype="search"
form inputwebkit-appearance: none;
as needed for Safari browsers as autoprefixer is not doing thisvf-u-sr-only
as not needed with removal of floatLabel.js
File system location: components/vf-form__input
Find an issue on this page? Propose a change or discuss it.