Skip to content

Inputs are text containers which can be used to create forms, enter data, and enact various commands.

Overview

Input is an extremely robust set of components designed to fill many needs throughout an interface. With the ability to have prefixes, suffixes, clear controls, icons, and buttons, Inputs can visually accomplish almost any stylistic need. Inputs also have the ability to have error states, as well as used in coordination with Input Message for hints, validation, and other important contextual feedback.

Inputs contain multiple types, such as "text", "number", "email", "password", "file", "tel", "search", "time", "date", etc.

Usage

  • Text or number entries
  • Any type of entry tied to validation
  • Data entry
  • Form elements

Sample

Accessibility

Keyboard navigation

KeyFunction
TabMoves focus in and out of the component.
Tab and ShiftMoves focus in and out of the component.
EscIf the component is focused and clearable with a value - will clear the value.

API reference

Properties

PropertyAttributeDescriptionTypeDefault
acceptacceptWhen type is "file", specifies a comma separated list of unique file type specifiers for limiting accepted file types. Read the native attribute's documentation on MDN for more info.string
alignmentalignmentSpecifies the text alignment of the component's value.Extract<"start" | "end", Alignment>"start"
autocompleteautocompleteSpecifies the type of content to autocomplete, for use in forms. Read the native attribute's documentation on MDN for more info.AutoFill
clearableclearableWhen true and the component has a value, a clear button is displayed. The clear button shows by default for "search", "time", and "date" types.booleanfalse
disableddisabledWhen true, prevents interaction and decreases the component's opacity.booleanfalse
filesWhen type is "file", specifies the component's selected files.FileList | undefined
formformSpecifies the id of the component's associated form. When not set, the component is associated with its ancestor form element, if one exists.string
groupSeparatorgroup-separatorWhen true, number values are displayed with a group separator corresponding to the language and country format.booleanfalse
iconiconWhen true, displays a default recommended icon. Alternatively, pass a Calcite UI Icon name to display a specific icon.IconName | boolean
iconFlipRtlicon-flip-rtlWhen true and the element direction is right-to-left ("rtl"), flips the components icon`.booleanfalse
labellabelSpecifies an accessible label for the component.string
labelTextlabel-textSpecifies the component's label text.string
loadingloadingWhen true, a busy indicator is displayed.booleanfalse
maxmaxWhen the component resides in a form, specifies the maximum value for type="number".number
maxLengthmax-lengthWhen the component resides in a form, specifies the maximum length of text for the component's value.number
messageOverridesOverrides individual strings used by the component.Record<string, unknown> | undefined
minminWhen the component resides in a form, specifies the minimum value for type="number".number
minLengthmin-lengthWhen the component resides in a form, specifies the minimum length of text for the component's value.number
multiplemultipleWhen true and type is "email" or "file", the component can accept more than one value. Read the native attribute's documentation on MDN for more info.booleanfalse
namenameSpecifies the name of the component. Required to pass the component's value on form submission.string
numberButtonTypenumber-button-typeWhen type="number", specifies the placement of the buttons.InputPlacement"vertical"
numberingSystemnumbering-systemSpecifies the Unicode numeral system used by the component for localization.NumberingSystem
patternpatternWhen the component resides in a form, specifies a regular expression (regex) pattern the component's value must match for validation. Read the native attribute's documentation on MDN for more info.string
placeholderplaceholderSpecifies the component's placeholder text.string
prefixTextprefix-textSpecifies text to display at the start of the component.string
readOnlyread-onlyWhen true, the component's value can be read, but cannot be modified.booleanfalse
requiredrequiredWhen true and the component resides in a form, the component must have a value in order for the form to submit.booleanfalse
scalescaleSpecifies the size of the component.Scale"m"
statusstatusSpecifies the input field's status, which determines message and icons.Status"idle"
stepstepSpecifies the granularity the component's value must adhere to.number | "any"
suffixTextsuffix-textSpecifies text to display at the end of the component.string
typetypeSpecifies the component type. Note that the following types add type-specific icons by default: "date", "email", "password", "search", "tel", "time"."color" | "date" | "datetime-local" | "email" | "file" | "image" | "month" | "number" | "password" | "search" | "tel" | "text" | "time" | "url" | "week""text"
validationIconvalidation-iconSpecifies the validation icon to display under the component.IconName | boolean
validationMessagevalidation-messageSpecifies the validation message to display under the component.string
validityread-onlyThe component's current validation state.MutableValidityState
valuevalueThe component's value.string

Slots

NameDescription
actionA slot for positioning a calcite-action or other interactive content adjacent to the component.
label-contentA slot for rendering content next to the component's labelText.

Styles

NameDescription
--calcite-input-prefix-sizeWhen prefixText is provided, specifies the width of the component's prefix element.
--calcite-input-suffix-sizeWhen suffixText is provided, specifies the width of the component's suffix element.
--calcite-input-prefix-text-colorWhen prefixText is provided, specifies the text color of the component's prefix element.
--calcite-input-suffix-text-colorWhen suffixText is provided, specifies the text color of the component's suffix element.
--calcite-input-background-colorSpecifies the component's background color.
--calcite-input-border-colorSpecifies the component's border color.
--calcite-input-corner-radiusSpecifies the component's corner radius.
--calcite-input-shadowSpecifies the component's shadow.
--calcite-input-icon-colorSpecifies the component's icon color.
--calcite-input-text-colorSpecifies the component's text color.
--calcite-input-placeholder-text-colorSpecifies the component's placeholder text color.
--calcite-input-actions-background-colorSpecifies the background color of the component's clearable and number-button-type elements.
--calcite-input-actions-background-color-hoverSpecifies the background color of the component's clearable and number-button-type elements when hovered.
--calcite-input-actions-background-color-pressSpecifies the background color of the component's clearable and number-button-type elements when pressed.
--calcite-input-actions-icon-colorSpecifies the icon color of the component's clearable and number-button-type elements.
--calcite-input-actions-icon-color-hoverSpecifies the icon color of the component's clearable and number-button-type elements when hovered.
--calcite-input-actions-icon-color-pressSpecifies the icon color of the component's clearable and number-button-type elements when pressed.
--calcite-input-loading-background-colorWhen loading, specifies the background color of the component's loading element.
--calcite-input-loading-fill-colorWhen loading, specifies the fill color of the component's loading element.

Events

NameDescriptionBehavior
calciteInputChangeFires each time a new value is typed and committed.bubblescomposed
calciteInputInputFires each time a new value is typed.bubblescomposedcancelable

Methods

NameDescriptionSignature
componentOnReadyCreate a promise that resolves once component is fully loaded.componentOnReady(): Promise<this>
selectTextSelects the text of the component's value.selectText(): Promise<void>
setFocusSets focus on the component.setFocus(options?: FocusOptions): Promise<void>

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.