Inputs
TextField
Text fields give people a way to enter and edit text. They're used in forms, modal dialogs, tables, and other surfaces where text input is required. A single BitTextField renders either an input or a textarea, carries a label in any of the four positions around it, a visible or screen-reader-only description, a character counter and a message saying why the value was rejected, exposes every part of its chrome to templates and to the Styles and Classes parameters, wires its own labels and descriptions to the input through the aria attributes, and plugs into an EditForm the same way the built-in Blazor inputs do.
Usage
Every example is live. Open its code to see exactly what produced the component running underneath.
Basics
aria-describedby. IsEnabled="false" takes the field out of the tab order entirely,
while ReadOnly keeps it focusable and copyable but refuses edits. Required renders the html
required attribute and marks the label with an asterisk, MaxLength and MinLength map to
the html length constraints, AutoFocus puts the caret in the field on the first render, and FullWidth
makes the field fill the width of its container instead of sizing to its content.
Underlined
No border
Multiline
off turns the wrapping off entirely and scrolls long lines sideways, which is what a field holding
code or log lines wants, and hard makes the breaks the wrapping adds travel with the submitted value.
Input type
text field asking for a PIN can still show the numeric keypad. EnterKeyHint relabels the return
key of that keyboard, and Pattern, SpellCheck, AutoCorrect and AutoCapitalize pass
through to the matching html attributes. The number type here is only the html one - the value is still bound as a
string and there is no bound, no step and no spinner: a field that really holds a number wants
BitNumberField, which binds any .NET numeric type and brings the clamping,
the stepping and the spinbutton keyboard set with it.
Icon
Prefix & Suffix
https:// prefix still binds only what was
typed. Because of that, keep a descriptive label on the field, since a screen reader reads the value without the
affixes around it.
Templates
Password
aria-pressed, which is what screen readers announce reliably; the caret is handed back
to the input after every toggle. RevealPasswordIconName and HidePasswordIconName customize the two
icons, and the native reveal affordance that Edge and Internet Explorer add to a password input is taken away so
that only one of them is ever shown. The ToggleRevealPassword method drives the same toggle from the
outside - from a checkbox next to the form, for instance - and is ignored unless the field is a revealable
password, so a revealed value can never survive the reveal being taken away. Pair the field with an
AutoComplete of current-password or new-password: it is what tells a password
manager whether to offer the saved credentials or to generate a new one, and it is the difference between a sign-in
form that fills itself and one that fights the browser.
Clear button
Character count
typed/limit and is
pointed at by aria-describedby, so a screen reader announces the limit along with the field; without
one it is just the number of characters typed so far. The counter follows the keystrokes directly rather than the
bound value, so it stays live even when Immediate is off and the value is only committed on blur.
CountTemplate replaces the whole text with content of its own, shown in the
Templates section. A count above the limit turns red: the keyboard cannot get there, since
MaxLength renders the html maxlength attribute, but a value assigned from the code can, and a
counter reading a number above its own limit in the muted grey of a valid one would say nothing about it.
By default the characters are counted the way the browser counts them against the limit - in UTF-16 code units - which makes an emoji count as two and a family emoji as eleven. CountStrategy replaces that with a count of your own, most often
StringInfo.LengthInTextElements, which counts what a reader actually sees. It only
changes the number that is shown: the maxlength attribute keeps holding the keyboard back at its own
count, so a strategy that counts fewer characters than the browser does reaches the limit before the counter says so.
Binding
GhostText
Trim
[]
[]
Events
OnInput is the one that fires on every input event, whichever way the text arrived - a keystroke, a paste, a drop, an autofill - which is what a strength meter or a live preview needs. Unlike OnChange it does not wait for the field to lose focus and it does not require Immediate, so it can watch the text without committing it, and it is raised before DebounceTime and ThrottleTime hold the value back rather than along with it. Like the rest of the events it stays quiet while an input method editor is composing, so it never sees a half-composed word.
Selection
Label position
Loading
aria-busy while it is on, which is what tells an assistive technology that what it is reading is still
being worked on, and a polite live region that is always part of the field announces that it started - politely, so
it waits for the reader to finish the sentence it is on rather than cutting into it. LoadingAriaLabel is what
that announcement says instead of the default "Loading", and LoadingTemplate replaces the spinner with any
content - one of the other loading components of the library, an icon, a piece of text - without costing the field
its announcement.
Accessibility
aria-describedby,
in reading order, alongside the error message that comes first when there is one and the
character counter when it carries a limit. An aria-describedby of your
own, passed through InputHtmlAttributes, is kept and read first rather than replaced, which is what lets a
field point at an error message the app renders next to it and still keep its own description.
Title renders the html title of the
field, which the browser shows as a tooltip on hover. The trailing icon is decorative and hidden from screen readers
by default; IconAriaLabel turns it into an image with a name for the cases where the icon carries a meaning of
its own.
Validation
EditContext automatically, so the data
annotations on the model drive it: a failing field gets the bit-inv class and the
aria-invalid="true" attribute, and the state is refreshed on every validation pass. Use
NoValidate to opt a field out of the EditContext altogether, and DisplayName to control the name used
in the generated messages.
Not every rejection comes from a data annotation, though - a name a server reports as taken, a rule that needs two fields to be compared, a field that lives outside any form at all. Invalid forces the same state from the outside: the same red frame, the same focus ring and the same
aria-invalid, without an
EditContext being involved. It only ever adds to the validation of the field, so a value the
EditContext already rejected stays invalid whatever the parameter says.
ErrorMessage is what turns that red frame into something the reader can act on: the text is rendered under the field, above the description and the counter, and setting it marks the field invalid on its own - there is no need to also set Invalid. It is referenced by the input through
aria-describedby ahead of the
description, and announced by the live region of the field the moment it shows up, so a rejection that arrives
while the field still has focus is not something only sighted users learn about.
ErrorMessageTemplate replaces the text with content of its own, shown in the
Templates section. Both are meant for the rejections the app knows about; inside an
EditForm the messages of the data annotations belong to the ValidationMessage component
instead, so the same text is not printed twice.
Background
Border
Accent
External Icons
Size
Style & Class
RTL
API
Every parameter, public member, sub-class and enum this component exposes.
BitTextField parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| Accent | BitColor? | null | The general color of the text field used when focused. |
| AriaDescription | string? | null | Detailed description of the input for the benefit of screen readers. It is rendered into a visually hidden element that the input references through its aria-describedby attribute, which is what lets a field carry an instruction that would be too long to show next to it. |
| AutoCapitalize | string? | null | Sets the autocapitalize html attribute of the input element, which tells the on-screen keyboard of a mobile device whether and how the typed text should be capitalized automatically. Accepted values are "off", "none", "on", "sentences", "words" and "characters". |
| AutoCorrect | bool? | null | Sets the autocorrect html attribute of the input element, which turns the automatic correction of the typed text on or off. Useful to turn off for identifiers, codes and other non-prose values. |
| AutoHeight | bool | false | Automatically adjust the height of the input in Multiline mode. |
| Background | BitColorKind? | null | The color kind of the text field background. |
| Border | BitColorKind? | null | The color kind of the text field border. |
| CanRevealPassword | bool | false | Whether to show the reveal password button for input type 'password'. |
| Classes | BitTextFieldClassStyles? | null | Custom CSS classes for different parts of the BitTextField. |
| ClearButtonAriaLabel | string? | null | The aria-label of the clear button, which is what a screen reader announces for it since the button only holds an icon. Defaults to "Clear text". |
| ClearButtonIcon | BitIconInfo? | null | The icon to display inside the clear button. Takes precedence over ClearButtonIconName when both are set. |
| ClearButtonIconName | string? | Cancel | Gets or sets the name of the icon to display on the clear button from the built-in Fluent UI icons. |
| ClearButtonTemplate | RenderFragment? | null | The custom content of the clear button, which replaces its icon. |
| CountStrategy | Func<string?, int>? | null | Decides how the characters of the value are counted for the counter rendered by ShowCount. Leaving it unset counts the value the way the browser counts it against MaxLength - in UTF-16 code units - which makes an emoji count as two and a flag as four. A strategy of its own counts them the way the rest of the app does instead, for instance v => new StringInfo(v ?? string.Empty).LengthInTextElements to count what a reader actually sees. It only changes the number that is shown: the html maxlength attribute keeps holding the keyboard back at its own count. |
| CountTemplate | RenderFragment<int>? | null | The custom content of the character counter, which receives the current number of characters and replaces the default "count/maxLength" text. |
| Description | string? | null | Description displayed below the text field to provide additional details about what text to enter. |
| DescriptionTemplate | RenderFragment? | null | Shows the custom description for text field. |
| EnterKeyHint | string? | null | Sets the enterkeyhint html attribute of the input element, which decides the label of the return key of an on-screen keyboard. Accepted values are "enter", "done", "go", "next", "previous", "search" and "send". |
| ErrorMessage | string? | null | The message shown under the field when the value was rejected. Setting it marks the field invalid on its own - the same look and the same aria-invalid attribute Invalid gives it - and the message is referenced by the input through its aria-describedby attribute and announced by the live region of the field. |
| ErrorMessageTemplate | RenderFragment? | null | The custom content of the error message, which replaces the plain ErrorMessage text and marks the field invalid in the same way. Only the plain text is announced by the live region, since a template is free to render anything at all. |
| FullWidth | bool | false | Forces the text field fill 100% of its container width. |
| GhostText | string? | null | The ghost/suggestion text displayed inline after the current cursor position. Update this value from outside (e.g. from an AI or autocomplete suggestion) to show a faded inline suggestion. The user can accept it by pressing Tab or Enter, or clicking/touching the ghost text. |
| HidePasswordIcon | BitIconInfo? | null | Gets or sets the icon for the reveal password button when password is shown using custom CSS classes for external icon libraries. |
| HidePasswordIconName | string? | null | The icon name for the reveal password button when password is shown from the built-in Fluent UI icons. |
| Icon | BitIconInfo? | null | Gets or sets the icon to display using custom CSS classes for external icon libraries. Takes precedence over IconName when both are set. |
| IconAriaLabel | string? | null | The accessible name of the icon shown at the trailing end of the text field. The icon is decorative and hidden from assistive technologies by default; setting this turns it into an image with a name, which is what an icon carrying a meaning of its own needs. |
| IconName | string? | null | The icon name for the icon shown in the far right end of the text field from the built-in Fluent UI icons. |
| InputMode | BitInputMode? | null | Sets the inputmode html attribute of the input element. |
| Invalid | bool | false | Marks the value of the field as invalid, which gives a value rejected by something other than the cascading EditContext - a server, a rule of the app, a validator of its own - the same look and the same aria-invalid attribute that a failing data annotation gives it. A field failing its own validation stays invalid regardless of this parameter. |
| Label | string? | null | Label displayed above the text field and read by screen readers. |
| LabelPosition | BitLabelPosition? | null | Where the label sits relative to the input. Leaving it unset keeps the layout each variant comes with: above the input in the default one, and next to it in the Underlined one. |
| LabelTemplate | RenderFragment? | null | Shows the custom label for text field. |
| Loading | bool | false | Shows a busy indicator inside the field, which is what tells the user that something is running against what was typed - a suggestion being fetched, a value being checked against a server. The field stays editable while it is on, so the typing is never interrupted by it. |
| LoadingAriaLabel | string? | null | What a screen reader announces while Loading is on, in place of the default "Loading". It is announced whichever indicator is drawn, so a LoadingTemplate drawing a bare spinner of its own still tells an assistive technology that something is running. |
| LoadingTemplate | RenderFragment? | null | The custom content of the busy indicator, which replaces the default spinner. |
| MaxLength | int | -1 | Specifies the maximum number of characters allowed in the input. A negative value (the default) removes the limit and renders no maxlength attribute. |
| MaxRows | int? | null | The maximum number of rows the input grows to in the Multiline mode while AutoHeight is enabled. Beyond that height the input keeps its size and scrolls its content instead of pushing the rest of the page down. A null value (the default) lets the input grow indefinitely. |
| MinLength | int | -1 | Specifies the minimum number of characters the input accepts, which is what the browser validates the value against before the form is submitted. A negative value (the default) removes the constraint and renders no minlength attribute. |
| Multiline | bool | false | Whether or not the text field is a Multiline text field. |
| NoBorder | bool | false | Removes the border of the text input. |
| OnBlur | EventCallback<FocusEventArgs> | Callback for when the input loses focus. Unlike OnFocusOut it does not bubble, so it is the one to use when only the input itself losing focus is of interest. | |
| OnClear | EventCallback | Callback executed when the user clears the text field by clicking the clear button. | |
| OnClick | EventCallback<MouseEventArgs> | Callback for when the input clicked. | |
| OnEnter | EventCallback<KeyboardEventArgs> | Callback for when the Enter key is pressed while input has focus. | |
| OnEscape | EventCallback<KeyboardEventArgs> | Callback for when the Escape key is pressed while input has focus. | |
| OnFocus | EventCallback<FocusEventArgs> | Callback for when the input receives focus. Unlike OnFocusIn it does not bubble, so it is the one to use when only the input itself receiving focus is of interest. | |
| OnFocusIn | EventCallback<FocusEventArgs> | Callback for when focus moves into the input or any of its descendants, since unlike OnFocus it bubbles. | |
| OnFocusOut | EventCallback<FocusEventArgs> | Callback for when focus moves out of the input or any of its descendants, since unlike OnBlur it bubbles. | |
| OnGhostTextAccepted | EventCallback<string?> | Callback invoked when the ghost text is accepted via Tab or Enter key, or click/touch. The accepted ghost text string is passed as the argument. | |
| OnInput | EventCallback<ChangeEventArgs> | Callback for every input event of the input element, which is what lets a field watch the text as it is typed without having to turn Immediate on and commit the value along with it. It is raised before the value is committed and is not held back by DebounceTime or ThrottleTime, and it is not raised for the half-composed text of an input method editor. | |
| OnKeyDown | EventCallback<KeyboardEventArgs> | Callback for when a keyboard key is pressed. | |
| OnKeyUp | EventCallback<KeyboardEventArgs> | Callback for When a keyboard key is released. | |
| Pattern | string? | null | Sets the pattern html attribute of the input element, which is the regular expression the value is checked against by the browser before the form is submitted. |
| PermanentGhost | bool | false | Enables permanent ghost mode that forces the scrollbar-gutter to always be present, preventing layout shift of the ghost text rendering. |
| Placeholder | string? | null | Input placeholder text. |
| Prefix | string? | null | Prefix displayed before the text field contents. This is not included in the value. Ensure a descriptive label is present to assist screen readers, as the value does not include the prefix. |
| PrefixTemplate | RenderFragment? | null | Shows the custom prefix for text field. |
| PreventEnter | bool | false | Prevents the enter to add new line character into the input in the Multiline mode. |
| Resizable | bool | false | For multiline text fields, whether or not the field is resizable. |
| RevealPasswordAriaLabel | string? | null | Aria label for the reveal password button. It stays the same in both states on purpose: the pressed state of the button is what tells a screen reader whether the password is currently revealed. Defaults to "Reveal password". |
| RevealPasswordIcon | BitIconInfo? | null | Gets or sets the icon for the reveal password button when password is hidden using custom CSS classes for external icon libraries. |
| RevealPasswordIconName | string? | null | The icon name for the reveal password button when password is hidden from the built-in Fluent UI icons. |
| RevealPasswordTemplate | RenderFragment<bool>? | null | The custom content of the reveal password button, which receives whether the password is currently revealed and replaces the default icon. |
| Rows | int? | null | For multiline text, Number of rows. |
| SelectOnFocus | bool | false | Selects the whole value when the input receives focus, so that the next keystroke replaces it. It is what a field holding a value the user is expected to overwrite rather than edit - a search term, a quantity, a generated code - usually wants. |
| ShowClearButton | bool | false | Whether to show the clear button while the input holds any text. The button follows what the input reports rather than the bound value, so it is there from the first keystroke even on a field that only commits its value when it loses focus. |
| ShowCount | bool | false | Shows the number of characters that were typed under the text field, followed by the MaxLength when one is set. A count above the limit - only reachable from the code, since the maxlength attribute holds the keyboard back - is colored like a rejected value. |
| Size | BitSize? | null | The size of the text field. |
| SpellCheck | bool? | null | Sets the spellcheck html attribute of the input element, which turns the spell checking of the browser on or off for this input. |
| Styles | BitTextFieldClassStyles? | null | Custom CSS styles for different parts of the BitTextField. |
| Suffix | string? | null | Suffix displayed after the text field contents. This is not included in the value. Ensure a descriptive label is present to assist screen readers, as the value does not include the suffix. |
| SuffixTemplate | RenderFragment? | null | Shows the custom suffix for text field. |
| Title | string? | null | A more descriptive title of the text field, shown by the browser as its tooltip. |
| Trim | bool | false | Specifies whether to remove any leading or trailing whitespace from the value. The trimming happens when the input reports a change, which is what lets a space still be typed in the middle of a word while Immediate is enabled. |
| Type | BitInputType? | null | Input type. |
| Underlined | bool | false | Whether or not the text field is underlined. |
| Wrap | string? | null | Sets the wrap html attribute of the textarea rendered in the Multiline mode, which decides how the text is wrapped and whether the breaks the wrapping adds travel with the value when a form is submitted. Accepted values are "soft" (what a browser does on its own), "hard" and "off", the last of which turns the wrapping off entirely and scrolls long lines sideways instead. |
BitTextField public members
| Name | Type | Default value | Description |
|---|---|---|---|
| InputElement | ElementReference | The ElementReference to the input element of the BitTextField. | |
| ClearAsync | Task | Empties the text field and raises OnClear, exactly as the clear button does (without requiring ShowClearButton, since there is no button involved). It does nothing while the field is disabled or read-only. | |
| FocusAsync | ValueTask | Gives focus to the input element of the BitTextField. The overload taking a preventScroll flag focuses it without scrolling the document to bring it into view. | |
| SelectAsync | ValueTask | Selects the whole value of the input, the programmatic counterpart of SelectOnFocus. | |
| SelectRangeAsync | ValueTask | Selects the text between the two given positions, or moves the caret when they are equal. A null start counts from the beginning of the value and a null end runs to its very end, and both are clamped to the length of the value. | |
| ToggleRevealPassword | void | Toggles the revealed state of the value while the type of the input is password and CanRevealPassword is enabled. |
BitTextInputBase parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| AutoComplete | string? | null | Specifies the value of the autocomplete attribute of the input component. |
| AutoFocus | bool | false | Determines if the text input is auto focused on first render. |
| DebounceTime | int | 0 | The debounce time in milliseconds. |
| Immediate | bool | false | Change the content of the input field when the user write text (based on 'oninput' HTML event). |
| ThrottleTime | int | 0 | The throttle time in milliseconds. |
BitInputBase parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| DefaultValue | TValue? | null | The default value of the input to be used in uncontrolled mode (i.e. when the Value is not bound), typically used alongside the OnChange callback. |
| DisplayName | string? | null | Gets or sets the display name for this field. |
| InputHtmlAttributes | IReadOnlyDictionary<string, object>? | null | Gets or sets a collection of additional attributes that will be applied to the created element. |
| Name | string? | null | Gets or sets the name of the element. Allows access by name from the associated form. |
| NoValidate | bool | false | Disables the validation of the input. |
| OnChange | EventCallback<TValue?> | Callback for when the input value changes. | |
| ReadOnly | bool | false | Makes the input read-only. |
| Required | bool | false | Makes the input required. |
| Value | TValue? | null | Gets or sets the value of the input. This should be used with two-way binding. |
BitInputBase public members
| Name | Type | Default value | Description |
|---|---|---|---|
| InputElement | ElementReference | The ElementReference of the input element. | |
| FocusAsync() | () => ValueTask | Gives focus to the input element. | |
| FocusAsync(bool preventScroll) | (bool preventScroll) => ValueTask | Gives focus to the input element. |
BitComponentBase parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| AriaLabel | string? | null | Gets or sets the accessible label for the component, used by assistive technologies. |
| Class | string? | null | Gets or sets the CSS class name(s) to apply to the rendered element. |
| Dir | BitDir? | null | Gets or sets the text directionality for the component's content. |
| ForceAnimation | bool | false | Gets or sets a value indicating whether the component's animations play at their full duration even when reduced motion is requested. |
| HtmlAttributes | Dictionary<string, object> | new Dictionary<string, object>() | Captures additional HTML attributes to be applied to the rendered element, in addition to the component's parameters. |
| Id | string? | null | Gets or sets the unique identifier for the component's root element. |
| IsEnabled | bool | true | Gets or sets a value indicating whether the component is enabled and can respond to user interaction. |
| Style | string? | null | Gets or sets the CSS style string to apply to the rendered element. |
| TabIndex | string? | null | Gets or sets the tab order index for the component when navigating with the keyboard. |
| Visibility | BitVisibility | BitVisibility.Visible | Gets or sets the visibility state (visible, hidden, or collapsed) of the component. |
BitComponentBase public members
| Name | Type | Default value | Description |
|---|---|---|---|
| UniqueId | Guid | Guid.NewGuid() | Gets the readonly unique identifier for the component's root element, assigned when the component instance is constructed. |
| RootElement | ElementReference | Gets the reference to the root HTML element associated with this component. |
BitTextFieldClassStyles properties
| Name | Type | Default value | Description |
|---|---|---|---|
| Root | string? | null | Custom CSS classes/styles for the BitTextField's root element. |
| Focused | string? | null | Custom CSS classes/styles of the root element in focus state. |
| InputWrapper | string? | null | Custom CSS classes/styles for the wrapper of label and input in the BitTextField. |
| Label | string? | null | Custom CSS classes/styles for the BitTextField's label. |
| FieldGroup | string? | null | Custom CSS classes/styles for the BitTextField's field group. |
| PrefixContainer | string? | null | Custom CSS classes/styles for the BitTextField's prefix container. |
| Prefix | string? | null | Custom CSS classes/styles for the BitTextField's prefix. |
| Input | string? | null | Custom CSS classes/styles for the BitTextField's input. |
| Loading | string? | null | Custom CSS classes/styles for the BitTextField's busy indicator container. |
| RevealPassword | string? | null | Custom CSS classes/styles for the BitTextField's reveal password. |
| RevealPasswordIconContainer | string? | null | Custom CSS classes/styles for the BitTextField's reveal password icon container. |
| RevealPasswordIcon | string? | null | Custom CSS classes/styles for the BitTextField's reveal password icon. |
| ClearButton | string? | null | Custom CSS classes/styles for the BitTextField's clear button. |
| ClearButtonIcon | string? | null | Custom CSS classes/styles for the BitTextField's clear button icon. |
| Icon | string? | null | Custom CSS classes/styles for the BitTextField's icon. |
| SuffixContainer | string? | null | Custom CSS classes/styles for the BitTextField's suffix container. |
| Suffix | string? | null | Custom CSS classes/styles for the BitTextField's suffix. |
| ErrorMessageContainer | string? | null | Custom CSS classes/styles for the BitTextField's error message container. |
| ErrorMessage | string? | null | Custom CSS classes/styles for the BitTextField's error message. |
| Footer | string? | null | Custom CSS classes/styles for the BitTextField's footer, which holds the description and the character counter. |
| DescriptionContainer | string? | null | Custom CSS classes/styles for the BitTextField's description container. |
| Description | string? | null | Custom CSS classes/styles for the BitTextField's description. |
| Count | string? | null | Custom CSS classes/styles for the BitTextField's character counter. |
| GhostTextWrapper | string? | null | Custom CSS classes/styles for the BitTextField's ghost text wrapper element. |
| GhostTextOverlay | string? | null | Custom CSS classes/styles for the BitTextField's ghost text overlay container. |
BitIconInfo properties
| Name | Type | Default value | Description |
|---|---|---|---|
| Name | string? | null | Gets or sets the name of the icon. |
| BaseClass | string? | null | Gets or sets the base CSS class for the icon. For built-in Fluent UI icons, this defaults to "bit-icon". For external icon libraries like FontAwesome, you might set this to "fa" or leave empty. |
| Prefix | string? | null | Gets or sets the CSS class prefix used before the icon name. For built-in Fluent UI icons, this defaults to "bit-icon--". For external icon libraries, you might set this to "fa-" or leave empty. |
BitColor enum
| Name | Value | Description |
|---|---|---|
| Primary | 0 | Info Primary general color. |
| Secondary | 1 | Secondary general color. |
| Tertiary | 2 | Tertiary general color. |
| Info | 3 | Info general color. |
| Success | 4 | Success general color. |
| Warning | 5 | Warning general color. |
| SevereWarning | 6 | SevereWarning general color. |
| Error | 7 | Error general color. |
| PrimaryBackground | 8 | Primary background color. |
| SecondaryBackground | 9 | Secondary background color. |
| TertiaryBackground | 10 | Tertiary background color. |
| PrimaryForeground | 11 | Primary foreground color. |
| SecondaryForeground | 12 | Secondary foreground color. |
| TertiaryForeground | 13 | Tertiary foreground color. |
| PrimaryBorder | 14 | Primary border color. |
| SecondaryBorder | 15 | Secondary border color. |
| TertiaryBorder | 16 | Tertiary border color. |
BitColorKind enum
| Name | Value | Description |
|---|---|---|
| Primary | 0 | The primary color kind. |
| Secondary | 1 | The secondary color kind. |
| Tertiary | 2 | The tertiary color kind. |
| Transparent | 3 | The transparent color kind. |
BitLabelPosition enum
| Name | Value | Description |
|---|---|---|
| Top | 0 | The label sits above the input. |
| End | 1 | The label sits after the input, on the same line. |
| Bottom | 2 | The label sits under the input. |
| Start | 3 | The label sits before the input, on the same line. |
BitSize enum
| Name | Value | Description |
|---|---|---|
| Small | 0 | The small size. |
| Medium | 1 | The medium size. |
| Large | 2 | The large size. |
BitInputType enum
| Name | Value | Description |
|---|---|---|
| Text | 0 | The input expects text characters. |
| Password | 1 | The input expects password characters. |
| Number | 2 | The input expects number characters. |
| 3 | The input expects email characters. | |
| Tel | 4 | The input expects tel characters. |
| Url | 5 | The input expects url characters. |
| Search | 6 | The input expects a search term, which is what lets a browser offer the previous searches of the same field and show its own clear affordance. |
BitInputMode enum
| Name | Value | Description |
|---|---|---|
| None | 0 | The input expects text characters. |
| Text | 1 | Standard input keyboard for the user's current locale. |
| Decimal | 2 | Fractional numeric input keyboard containing the digits and decimal separator for the user's locale. |
| Numeric | 3 | Numeric input keyboard, but only requires the digits 0–9. |
| Tel | 4 | A telephone keypad input, including the digits 0–9, the asterisk (*), and the pound (#) key |
| Search | 5 | A virtual keyboard optimized for search input. |
| 6 | A virtual keyboard optimized for entering email addresses. | |
| Url | 7 | A keypad optimized for entering URLs. |
BitVisibility enum
| Name | Value | Description |
|---|---|---|
| Visible | 0 | The content of the component is visible. |
| Hidden | 1 | The content of the component is hidden, but the space it takes on the page remains (visibility:hidden). |
| Collapsed | 2 | The component is hidden (display:none). |
BitDir enum
| Name | Value | Description |
|---|---|---|
| Ltr | 0 | Ltr (left to right) is to be used for languages that are written from the left to the right (like English). |
| Rtl | 1 | Rtl (right to left) is to be used for languages that are written from the right to the left (like Arabic). |
| Auto | 2 | Auto lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then applies that directionality to the whole element. |
Feedback
Found a mistake, a gap, or something that could be clearer? Every page and every component is one click from its source.