Input Elements
Inline Input
I am
and I live in
I am
and I live in
I am
and I live in
I am
and I live in
I am
and I live in
HTML
<div class="">
<label>Default Inline:</label>
<span>I am</span>
<label for="input_text_name" class="ss-c-label ss-c-label--hidden">
Name
</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--inline"
placeholder="Name"
/>
<span>and I live in</span>
<label for="input_text_place" class="ss-c-label ss-c-label--hidden">
Place
</label>
<input
type="text"
id="input_text_place"
class="ss-c-input ss-c-input--base--inline"
placeholder="Place"
/>
</div>
<div class="">
<label>Straight Inline:</label>
<span>I am</span>
<label for="input_text_name" class="ss-c-label ss-c-label--hidden">
Name
</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--inline ss-c-input--style--straight"
placeholder="Name"
/>
<span>and I live in</span>
<label for="input_text_place" class="ss-c-label ss-c-label--hidden">
Place
</label>
<input
type="text"
id="input_text_place"
class="ss-c-input ss-c-input--base--inline ss-c-input--style--straight"
placeholder="Place"
/>
</div>
<div class="">
<label>Rounded Inline:</label>
<span>I am</span>
<label for="input_text_name" class="ss-c-label ss-c-label--hidden">
Name
</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--inline ss-c-input--style--rounded"
placeholder="Name"
/>
<span>and I live in</span>
<label for="input_text_place" class="ss-c-label ss-c-label--hidden">
Place
</label>
<input
type="text"
id="input_text_place"
class="ss-c-input ss-c-input--base--inline ss-c-input--style--rounded"
placeholder="Place"
/>
</div>
<div class="">
<label>Underline Inline:</label>
<span>I am</span>
<label for="input_text_name" class="ss-c-label ss-c-label--hidden">
Name
</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--inline ss-c-input--style--underline"
placeholder="Name"
/>
<span>and I live in</span>
<label for="input_text_place" class="ss-c-label ss-c-label--hidden">
Place
</label>
<input
type="text"
id="input_text_place"
class="ss-c-input ss-c-input--base--inline ss-c-input--style--underline"
placeholder="Place"
/>
</div>
<div class="">
<label>Filled Inline:</label>
<span>I am</span>
<label for="input_text_name" class="ss-c-label ss-c-label--hidden">
Name
</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--inline ss-c-input--style--filled"
placeholder="Name"
/>
<span>and I live in</span>
<label for="input_text_place" class="ss-c-label ss-c-label--hidden">
Place
</label>
<input
type="text"
id="input_text_place"
class="ss-c-input ss-c-input--base--inline ss-c-input--style--filled"
placeholder="Place"
/>
</div>
Form Input
HTML
<div class="">
<label>Default form:</label>
<label for="input_text_name" class="ss-c-label">Name</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--form"
placeholder="Name"
/>
</div>
<div class="">
<label>Straight form:</label>
<label for="input_text_name" class="ss-c-label">Name</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--form ss-c-input--style--straight"
placeholder="Name"
/>
</div>
<div class="">
<label>Rounded form:</label>
<label for="input_text_name" class="ss-c-label">Name</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--form ss-c-input--style--rounded"
placeholder="Name"
/>
</div>
<div class="">
<label>Underline form:</label>
<label for="input_text_name" class="ss-c-label">Name</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--form ss-c-input--style--underline"
placeholder="Name"
/>
</div>
<div class="">
<label>Filled form:</label>
<label for="input_text_name" class="ss-c-label">Name</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--form ss-c-input--style--filled"
placeholder="Name"
/>
</div>
Input States
HTML
<!-- Default -->
<div class="ss-c-field-group">
<label for="default" class="ss-c-label">Default</label>
<input
id="default"
type="text"
class="ss-c-input"
placeholder="Default"
/>
</div>
<!-- Focus -->
<div class="ss-c-field-group">
<label for="focus" class="ss-c-label">Focus</label>
<input
id="focus"
type="text"
class="ss-c-input"
placeholder="Focus me"
/>
</div>
<!-- Disabled -->
<div class="ss-c-field-group">
<label for="disabled" class="ss-c-label">Disabled</label>
<input
id="disabled"
type="text"
class="ss-c-input"
disabled
placeholder="Can't type"
/>
</div>
<!-- Success -->
<div class="ss-c-field-group">
<label for="success" class="ss-c-label">Success</label>
<input
id="success"
type="text"
class="ss-c-input ss-c-is_success"
placeholder="Valid input"
/>
</div>
<!-- Warning -->
<div class="ss-c-field-group">
<label for="warning" class="ss-c-label">Warning</label>
<input
id="warning"
type="text"
class="ss-c-input ss-c-is_warning"
placeholder="Might need attention"
/>
</div>
<!-- Error -->
<div class="ss-c-field-group">
<label for="error" class="ss-c-label">Error</label>
<input
id="error"
type="text"
class="ss-c-input ss-c-is_error"
placeholder="Incorrect input"
/>
</div>
<!-- Info -->
<div class="ss-c-field-group">
<label for="info" class="ss-c-label">Info</label>
<input
id="info"
type="text"
class="ss-c-input ss-c-is_info"
placeholder="Helpful context"
/>
</div>
<!-- Focus-visible test -->
<div class="ss-c-field-group">
<label for="focus-visible" class="ss-c-label">
Focus-visible (keyboard tab)
</label>
<input
id="focus-visible"
type="text"
class="ss-c-input"
placeholder="Tab into me"
/>
</div>
Form Input
HTML
<div class="">
<label>Default form:</label>
<label for="input_text_name" class="ss-c-label">Name</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--form"
placeholder="Name"
/>
</div>
<div class="">
<label>Straight form:</label>
<label for="input_text_name" class="ss-c-label">Name</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--form ss-c-input--style--straight"
placeholder="Name"
/>
</div>
<div class="">
<label>Rounded form:</label>
<label for="input_text_name" class="ss-c-label">Name</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--form ss-c-input--style--rounded"
placeholder="Name"
/>
</div>
<div class="">
<label>Underline form:</label>
<label for="input_text_name" class="ss-c-label">Name</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--form ss-c-input--style--underline"
placeholder="Name"
/>
</div>
<div class="">
<label>Filled form:</label>
<label for="input_text_name" class="ss-c-label">Name</label>
<input
type="text"
id="input_text_name"
class="ss-c-input ss-c-input--base--form ss-c-input--style--filled"
placeholder="Name"
/>
</div>
Default Form Column ()
HTML
<form class="ss-c-form--col">
<label for="name">Name</label>
<input
type="text"
id="name"
class="ss-c-input"
placeholder="Your full name"
/>
<label for="email">Email</label>
<input
type="email"
id="email"
class="ss-c-input"
placeholder="you@example.com"
/>
<label for="bio">Bio</label>
<textarea
id="bio"
class="ss-c-input"
rows="4"
placeholder="Tell us something..."
></textarea>
<button type="submit" class="ss-c-button ss-c-button--solid">Submit</button>
<button type="reset" class="ss-c-button ss-c-button--solid">Reset</button>
</form>
Default Form Column (Form Groups)
HTML
<form class="ss-c-form--col">
<div class="ss-c-form__field">
<label for="name">Name</label>
<input
type="text"
id="name"
class="ss-c-input"
placeholder="Your full name"
/>
</div>
<div class="ss-c-form__field">
<label for="email">Email</label>
<input
type="email"
id="email"
class="ss-c-input"
placeholder="you@example.com"
/>
</div>
<div class="ss-c-form__field">
<label for="bio">Bio</label>
<textarea
id="bio"
class="ss-c-input"
rows="4"
placeholder="Tell us something..."
></textarea>
</div>
<div class="ss-c-form__control">
<button type="submit" class="ss-c-button ss-c-button--solid">
Submit
</button>
<button type="reset" class="ss-c-button ss-c-button--solid">
Reset
</button>
</div>
</form>
Default Form Row ()
HTML
<form class="ss-c-form--row">
<label for="name">Name</label>
<input
type="text"
id="name"
class="ss-c-input"
placeholder="Your full name"
/>
<label for="email">Email</label>
<input
type="email"
id="email"
class="ss-c-input"
placeholder="you@example.com"
/>
<label for="bio">Bio</label>
<textarea
id="bio"
class="ss-c-input"
rows="4"
placeholder="Tell us something..."
></textarea>
<button type="submit" class="ss-c-button ss-c-button--solid">Submit</button>
<button type="reset" class="ss-c-button ss-c-button--solid">Reset</button>
</form>
Default Form Row (Form Groups)
HTML
<form class="ss-c-form--row">
<div class="ss-c-form__field">
<label for="name">Name</label>
<input
type="text"
id="name"
class="ss-c-input"
placeholder="Your full name"
/>
</div>
<div class="ss-c-form__field">
<label for="email">Email</label>
<input
type="email"
id="email"
class="ss-c-input"
placeholder="you@example.com"
/>
</div>
<div class="ss-c-form__field">
<label for="bio">Bio</label>
<textarea
id="bio"
class="ss-c-input"
rows="4"
placeholder="Tell us something..."
></textarea>
</div>
<div class="ss-c-form__control">
<button type="submit" class="ss-c-button ss-c-button--solid">
Submit
</button>
<button type="reset" class="ss-c-button ss-c-button--solid">
Reset
</button>
</div>
</form>
Input Elements
Min -50 · Max 50 · Step 5
Input Elements
Multi-line text input fields for longer content.
Basic Textarea
HTML
<div style="max-width: 400px">
<label
style="display: block; margin-bottom: 8px; font-weight: 500"
>
Description
</label>
<textarea
class="ss-c-textarea"
rows="4"
placeholder="Enter your description here..."
style="
width: 100%;
padding: 12px;
border: 1px solid var(--color_line_secondary);
border-radius: 8px;
font-family: inherit;
font-size: 14px;
resize: vertical;
box-sizing: border-box;
"
></textarea>
</div>
Textarea with Character Count
Maximum 200 characters
0 / 200
HTML
<div style="max-width: 400px">
<label
style="display: block; margin-bottom: 8px; font-weight: 500"
>
Bio
</label>
<textarea
class="ss-c-textarea"
rows="4"
maxlength="200"
placeholder="Tell us about yourself..."
style="
width: 100%;
padding: 12px;
border: 1px solid var(--color_line_secondary);
border-radius: 8px;
font-family: inherit;
font-size: 14px;
resize: vertical;
box-sizing: border-box;
"
></textarea>
<div
style="
display: flex;
justify-content: space-between;
margin-top: 6px;
font-size: 12px;
opacity: 0.7;
"
>
<span>Maximum 200 characters</span>
<span>0 / 200</span>
</div>
</div>
Textarea Sizes
HTML
<div
style="
display: flex;
flex-direction: column;
gap: 20px;
max-width: 400px;
"
>
<!-- Small -->
<div>
<label
style="display: block; margin-bottom: 6px; font-size: 13px"
>
Small
</label>
<textarea
class="ss-c-textarea ss-c-textarea--small"
rows="2"
placeholder="Small textarea..."
style="
width: 100%;
padding: 8px 10px;
border: 1px solid var(--color_line_secondary);
border-radius: 6px;
font-family: inherit;
font-size: 13px;
resize: vertical;
box-sizing: border-box;
"
></textarea>
</div>
<!-- Medium -->
<div>
<label
style="display: block; margin-bottom: 6px; font-size: 14px"
>
Medium (Default)
</label>
<textarea
class="ss-c-textarea"
rows="3"
placeholder="Medium textarea..."
style="
width: 100%;
padding: 12px;
border: 1px solid var(--color_line_secondary);
border-radius: 8px;
font-family: inherit;
font-size: 14px;
resize: vertical;
box-sizing: border-box;
"
></textarea>
</div>
<!-- Large -->
<div>
<label
style="display: block; margin-bottom: 6px; font-size: 15px"
>
Large
</label>
<textarea
class="ss-c-textarea ss-c-textarea--large"
rows="5"
placeholder="Large textarea..."
style="
width: 100%;
padding: 16px;
border: 1px solid var(--color_line_secondary);
border-radius: 10px;
font-family: inherit;
font-size: 16px;
resize: vertical;
box-sizing: border-box;
"
></textarea>
</div>
</div>
Textarea States
This field is required
✓ Looks good!
HTML
<div
style="
display: flex;
flex-direction: column;
gap: 20px;
max-width: 400px;
"
>
<!-- Focus State -->
<div>
<label style="display: block; margin-bottom: 6px">
Focused
</label>
<textarea
class="ss-c-textarea focus"
rows="3"
placeholder="Focused textarea..."
style="
width: 100%;
padding: 12px;
border: 2px solid var(--color_fill_primary);
border-radius: 8px;
font-family: inherit;
font-size: 14px;
resize: vertical;
box-sizing: border-box;
outline: none;
box-shadow: 0 0 0 3px
rgba(var(--color_fill_primary), 0.2);
"
></textarea>
</div>
<!-- Disabled State -->
<div>
<label
style="display: block; margin-bottom: 6px; opacity: 0.5"
>
Disabled
</label>
<textarea
class="ss-c-textarea disabled"
rows="3"
disabled
placeholder="Disabled textarea..."
style="
width: 100%;
padding: 12px;
border: 1px solid var(--color_line_secondary);
border-radius: 8px;
font-family: inherit;
font-size: 14px;
resize: vertical;
box-sizing: border-box;
background: var(--color_fill_secondary);
opacity: 0.6;
cursor: not-allowed;
"
></textarea>
</div>
<!-- Error State -->
<div>
<label style="display: block; margin-bottom: 6px">Error</label>
<textarea
class="ss-c-textarea ss-c-error"
rows="3"
placeholder="Error textarea..."
style="
width: 100%;
padding: 12px;
border: 2px solid var(--color_state_error);
border-radius: 8px;
font-family: inherit;
font-size: 14px;
resize: vertical;
box-sizing: border-box;
"
></textarea>
<span
style="
display: block;
margin-top: 6px;
font-size: 13px;
color: var(--color_state_error);
"
>
This field is required
</span>
</div>
<!-- Success State -->
<div>
<label style="display: block; margin-bottom: 6px">
Success
</label>
<textarea
class="ss-c-textarea ss-c-success"
rows="3"
style="
width: 100%;
padding: 12px;
border: 2px solid var(--color_state_success);
border-radius: 8px;
font-family: inherit;
font-size: 14px;
resize: vertical;
box-sizing: border-box;
"
>
Valid content here</textarea
>
<span
style="
display: block;
margin-top: 6px;
font-size: 13px;
color: var(--color_state_success);
"
>
✓ Looks good!
</span>
</div>
</div>
Resize Options
HTML
<div
style="
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
"
>
<!-- Vertical Resize -->
<div>
<label
style="display: block; margin-bottom: 6px; font-size: 13px"
>
Vertical Resize
</label>
<textarea
rows="3"
placeholder="Resize vertically..."
style="
width: 100%;
padding: 10px;
border: 1px solid var(--color_line_secondary);
border-radius: 6px;
font-family: inherit;
resize: vertical;
box-sizing: border-box;
"
></textarea>
</div>
<!-- Horizontal Resize -->
<div>
<label
style="display: block; margin-bottom: 6px; font-size: 13px"
>
Horizontal Resize
</label>
<textarea
rows="3"
placeholder="Resize horizontally..."
style="
width: 100%;
padding: 10px;
border: 1px solid var(--color_line_secondary);
border-radius: 6px;
font-family: inherit;
resize: horizontal;
box-sizing: border-box;
"
></textarea>
</div>
<!-- No Resize -->
<div>
<label
style="display: block; margin-bottom: 6px; font-size: 13px"
>
No Resize
</label>
<textarea
rows="3"
placeholder="Cannot resize..."
style="
width: 100%;
padding: 10px;
border: 1px solid var(--color_line_secondary);
border-radius: 6px;
font-family: inherit;
resize: none;
box-sizing: border-box;
"
></textarea>
</div>
</div>