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.
includeYou'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" %}
renderThis 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.
includeYou'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" %}
renderThis 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.
includeYou'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" %}
renderThis 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.
includeYou'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" %}
renderThis 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.
includeYou'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" %}
renderThis 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.
includeYou'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" %}
renderThis 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.