Input

Accept a single line of text, such as a name, email address, or search query.

Live preview
Interact with the component to see results here.
View code
HTML
<sy-input
  label="Name"
  placeholder="Enter a name"
  type="text"
  size="medium"
  status="default"
  clearable
  id="sample"
  name="name"
></sy-input>

Usage guide

#

Use to accept a short, single-line value. Explain its purpose with a Label and use Placeholder for an example.

  1. Write the error message in the error slot.

    Inside the component, add <span slot="error">Error message</span>. You can include links and other guidance as well as text. For inputs supporting noNativeValidity, enable it to show this guidance instead of a browser popup. Switch always displays errors below the component.

  2. Report business rule failures with setCustomError().

    For example, if the server rejects a duplicate value, update the error slot and call setCustomError(). This method does not take a message argument. A custom error also blocks form submission.

  3. Clear the error after resolving it and check whether submission is allowed.

    Use clearCustomError() to clear a business rule error. Required-field and format validation remain active. await checkValidity() returns true or false; reportValidity() validates and displays errors. Read valid named values through FormData on submission.

Plain text

Choose a type matching the input's purpose, such as text, search, or password.

Contact details and addresses

Use email, tel, or url to identify the expected value type.

Numeric input

You can use number. For range, step, and precision control, use Input Number.

Feature examples

#

Choose a feature from 30 topics. Explore property settings, method calls, event results, and slot layouts through live examples and code.

Usage examples · Overview

Try the selected example. Topics with multiple configurations let you switch between detailed examples.

View code
HTML
Loading the example.

Property · Autofocus

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Borderless

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Clearable

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Disabled

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Label

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Max

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Message

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Min

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · No Native Validity

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Placeholder

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Readonly

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Required

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Size

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Status

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Type

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Value

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Variant

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Methods · checkValidity

Use the example's buttons to call methods and inspect their results.

View code
HTML
Loading the example.

Methods · Focus Blur

Use the example's buttons to call methods and inspect their results.

View code
HTML
Loading the example.

Methods · getStatus

Use the example's buttons to call methods and inspect their results.

View code
HTML
Loading the example.

Methods · reportValidity

Use the example's buttons to call methods and inspect their results.

View code
HTML
Loading the example.

Methods · setCustomError

Use the example's buttons to call methods and inspect their results.

View code
HTML
Loading the example.

Events · Blured

Interact with the component to see event names and payloads in the live preview below.

View code
HTML
Loading the example.

Events · Changed

Interact with the component to see event names and payloads in the live preview below.

View code
HTML
Loading the example.

Events · Clear

Interact with the component to see event names and payloads in the live preview below.

View code
HTML
Loading the example.

Events · Focused

Interact with the component to see event names and payloads in the live preview below.

View code
HTML
Loading the example.

Slot · Prefix

Compare the content placed inside the component with its slot names in the code.

View code
HTML
Loading the example.

Slot · Suffix

Compare the content placed inside the component with its slot names in the code.

View code
HTML
Loading the example.

Usage examples · Input icons and help text

prefix-icon and suffix-icon provide icon areas at each end of the input. Use message for persistent help text and error for validation feedback.

View code
HTML
<sy-input
  placeholder="Email"
  type="email"
  label="Contact"
><span slot="prefix-icon" aria-hidden="true">@</span><span slot="suffix-icon"
    aria-hidden="true"
  >✉</span><span slot="message">Enter your work email address.</span><span
    slot="error"
  >Check the email format.</span></sy-input>

API reference

#

Hover over a name or focus it with the keyboard to see the code. On touch screens, tap the name.

<sy-input>

Properties

Attribute / PropertyTypeDefaultDescription
booleanfalseFocus the input when it first connects.
booleanfalseHide the default border.
booleanfalseShow a button to clear the current value.
booleanfalseBlock user interaction and keyboard focus.
string""Label describing the item.
numberundefinedMaximum allowed string length.
numberundefinedMinimum allowed string length.
string""Field name used in FormData.
string""Placeholder shown when the value is empty.
booleanfalseDisplay the current value while preventing edits.
booleanfalseFail form validation when no value is provided.
"small" | "medium" | "large""medium"Component size.
'default' | 'warning' | 'error' | 'success''default'Visually represent default, success, warning, or error states.
string""Current value or item identifier.
"password" | "search" | "text""text"Legacy-compatible input type. Use type in new code.
booleanfalseUse the app's error UI instead of the browser's built-in error display. checkValidity still performs validation.
'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search''text'HTML input type or button action type.
string""Help text about the input state.

Events

EventDetailDescription
CustomEvent<{ value: string; isValid: boolean; status: string }>Emitted when the value or selection state changes.
CustomEvent<{ value: string; isValid: boolean; status: string }>Emitted when focus is lost.
CustomEvent<{ value: string; isValid: boolean; status: string }>Emitted when focus is received.
CustomEvent<void>Emitted when the input value is cleared.

Methods

MethodReturnsDescription
Promise<void>Move keyboard focus to the input or action element.
Promise<void>Remove focus from the input element.
Promise<boolean>Return true if the current constraints are satisfied, otherwise false.
Promise<boolean>Validate the current value and display errors to the user.
Promise<void>Set a custom error state.
Promise<void>Clear the custom error state.
Promise<"" | "custom" | "valueMissing" | "tooShort" | "tooLong" | "typeMismatch" | "badInput" | "stepMismatch">Return the current validation state.

Slots

SlotDescription
Supplementary content before the input value.
Icon before the input value.
Validation error message.
Input help message.
Supplementary content after the input value.
Icon after the input value.