Input Ready
Inputs are used to allow users to provide text input when the expected input is short. As well as plain text, Input supports various types of text, including passwords and numbers.
<nord-input label="Label" value="Value"></nord-input>
Properties
Property | Attribute | Description | Type | Default |
---|---|---|---|---|
type | type | The type of the input. | "text" | "email" | "password" | "tel" | "url" | "search" | "number" | "text" |
label | label | Label for the input. | string | "" |
hint | hint | Optional hint text to be displayed with the input. Alternatively use the hint slot. | string | undefined | undefined |
hideLabel | hide-label | Visually hide the label, but still show it to assistive technologies like screen readers. | boolean | false |
placeholder | placeholder | Placeholder text to display within the input. | string | undefined | undefined |
error | error | Optional error to be shown with the input. Alternatively use the error slot. | string | undefined | undefined |
required | required | Determines whether the input is required or not. An input marked as required will be announced as such to users of assistive technology. When using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors. | boolean | false |
expand | expand | Controls whether the input expands to fill the width of its container. | boolean | false |
disabled | disabled | Makes the component disabled. This prevents users from being able to interact with the component, and conveys its inactive state to assistive technologies. | boolean | false |
name | name | The name of the form component. | string | undefined | undefined |
value | value | The value of the form component. | string | "" |
Events
Event | Description | Type |
---|---|---|
input | Fired as the user types into the input. | NordEvent |
change | Fired whenever the input's value is changed via user interaction. | NordEvent |
Slots
Slot name | Description |
---|---|
label | Use when a label requires more than plain text. |
hint | Optional slot that holds hint text for the input. |
error | Optional slot that holds error text for the input. |
start | Optional slot used to place an icon at the start of the input. |
Methods
Method name | Parameters | Description |
---|---|---|
focus(options?: FocusOptions) => void | options : An object which controls aspects of the focusing process. | Programmatically move focus to the component. |
blur() => void | N/A | Programmatically remove focus from the component. |
click() => void | N/A | Programmatically simulates a click on the component. |
Usage #
This section includes guidelines for designers and developers about the usage of this component in different contexts.
Do #
- Use to provide a text input where the expected input is short.
- Use to only ask for information that’s really needed. Hide optional fields by default if possible or have them shown with a lower priority.
- Use help text and placeholder to provide additional, non-critical instructions.
- Validate input as soon as users have finished interacting with them (but not before).
- Where necessary, label the input as “Optional” when you need to request input that’s not required.
Don’t #
- Don’t use when the expected text input is long. Use textarea component instead.
- Don’t use the placeholder to provide information that’s required to use the input. Hint text should be used for this purpose instead.
Content guidelines #
Input labels act as a title for the text field. Labels should typically be short and in noun form:
When writing input labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):
When an input isn’t part of a form and is placed individually on a page, you could provide the input label as a call to action:
Do not use colons in input label:
Types #
This section describes the different input types, their purpose, and when to use each type.
Name | Purpose |
---|---|
text | The default and most common variant. Displayed as a single-line text field. Line-breaks are automatically removed from the input value. |
email | A field for editing an email address. Looks similar to a text input, but has validation parameters and relevant keyboard for devices with dynamic keyboards. |
password | A single-line text field where the value is obscured. This type will alert user if a site is not secure. |
tel | A field for entering a telephone number. Displays a number keypad on mobile devices. |
url | A field variant that is used to let the user enter and edit an URL. |
search | A single-line text field for entering search strings. |
number | Used to let the user enter a number. |
Integration
For integration guidelines, please see Web Components documentation. This documentation explains how to implement and use Nord Web Components across different technologies such as Vue.js, React, or Vanilla JavaScript.
Localization
Nord provides a lightweight solution for localizing its components. Not all components need localizing, as for the most part snippets of text are set per instance. For full localization guidelines, please see Localization documentation.
Troubleshooting
If you experience any issues while using Nord Web Components, please head over to the Support page for more guidelines and ways to contact us.