Youtap Tech Indonesia
Breadcrumbs

Text Input - Overview

Version history

Version

Date

Comment

Current Version (v. 1)

Oct 03, 2023 01:35

@Unknown user

Introduction

Text input fields are a fundamental element in user interfaces that allow users to input text or data into a digital application or form. Text input fields enable users to provide input for various purposes, such as entering their name, email address, password, or other information, and are commonly used in a wide range of digital interfaces, including websites, mobile apps, desktop applications, and more. Text input fields play a crucial role in user interaction and data collection, as they facilitate communication between users and digital applications.

Figma component - Input fields


This section includes the following:

https://www.figma.com/file/F1fNT99VGTJHJ1jAnjFTn6/Youtap-Style-guide-V1.0.2023?node-id=870%3A69165&t=bSOwWTQGqqzPHGGC-1


01. Specifications

Textfield States

Default states

Default
Default+.png

Variant A

text-value

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - tertiary-black-60

outline-weight - 1pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label1

position - center to outline

margin-left - SP_1

padding inside field - 4px each side

background - tertiary-white

alignment - left

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - not null

input colour - primary

input size - body1

margin - SP_2

alignment - left

Variant B

text-value

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - tertiary-black-60

outline-weight - 1pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label2

position - center on outline

margin - SP_1

padding inside field - 4px each side

background - tertiary-white

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - not null

input colour - primary

input size - body1

margin - SP_2

alignment - left



Error
DefaultError+.png

Variant A - No Value

text-noValue-error

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - secondary2

outline-weight - 1pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label1

margin - SP_2

alignment - left

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - null

Variant B - Value

text-value-error

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - secondary2

outline-weight - 1pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label2

position - center on outline

margin - SP_1

padding inside field - 4px each side

background - tertiary-white

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - not null

input colour - primary

input size - body1

margin - SP_2

alignment - left




Hover state (Desktop Only)

Default
Hover+.png

Variant A - No Value

text-noValue-hover

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - tertiary-black-80

outline-weight - 1pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label1

margin-left - SP_2

alignment - left

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - null

Variant B - Value

text-value-hover

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - tertiary-black-80

outline-weight - 1pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label2

position - center to outline

margin-left - SP_1

padding inside field - 4px each side

background - tertiary-white

alignment - left

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - not null

input colour - primary

input size - body1

margin - SP_2

alignment - left


Error
HoverError+.png

Variant A - No Value

text-noValue-hover-error

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - secondary2

outline-weight - 1pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label1

margin - SP_2

alignment - left

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - null

Variant B - Value

text-value-hover-error

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - secondary2

outline-weight - 1pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label2

position - center on outline

margin - SP_1

padding inside field - 4px each side

background - tertiary-white

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - not null

input colour - primary

input size - body1

margin - SP_2

alignment - left


Focused state

Default
FocusedDefault+.png

Variant A - No Value

text-noValue-focused

Specifications

Size

width - 327px

height - 56 (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - secondary1

outline-weight - 2pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label2

position - center to outline

margin-left - SP_1

padding inside field - 4px each side

background - tertiary-white

alignment - left

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - null

Variant B - Value

text-value-focused

Specifications

Size

width - 327px

height - 56 (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - secondary1

outline-weight - 2pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label2

position - center to outline

margin-left - SP_1

padding inside field - 4px each side

background - tertiary-white

alignment - left

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - not null

input colour - primary

input size - body1

margin - SP_2

alignment - left


Error
FocusedDefaultError.png

Variant A - No value

text-noValue-focused-error

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - secondary2

outline-weight - 2pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label1

position - center to outline

margin - SP_1

padding inside field - 4px each side

background - tertiary-white

alignment - left

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - null

Variant B - Value

text-value-focused-error

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - secondary2

outline-weight - 2pt, inside

Background

background - tertiary-white

Label

label colour - primary

label size - label2

position - center to outline

margin - SP_1

padding inside field - 4px each side

background - tertiary-white

alignment - left

Mandatory indicator

asterisk colour - primary

Input

input type - text

value - not null

input colour - primary

input size - body1

margin - SP_2

alignment - left


Inactive state

InactiveDefault+.png

Variant A - No value

text-noValue-inactive

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - tertiary-black-60

outline-weight - 1pt, inside

Background

background - tertiary-white

Label

label colour - tertiary-black-60

label size - label1

position - center to outline

margin-left - SP_2

padding inside field - 4px each side

background - tertiary-white

alignment - left

Mandatory indicator

asterisk colour - tertiary-black-60

Input

input type - text

value - null

Variant B - Value

text-value-inactive

Specifications

Size

width - 327px

height - 56px (+ help text)

Radius

corner-rad - see radius

Outline

outline colour - tertiary-black-60

outline-weight - 1pt, inside

Background

background - tertiary-white

Label

label colour - tertiary-black-60

label size - label2

position - center to outline

margin-left - SP_1

padding inside field - 4px each side

background - tertiary-white

alignment - left

Mandatory indicator

asterisk colour - tertiary-black-60

Input

input type - text

value - not null

input colour - tertiary-black-60

input size - body1

margin - SP_2

alignment - left


Options for ALL input field types

Option A - Input field size

Example - Small

Example - Default

Screenshot 2023-04-17 at 2.36.31 PM.png

textS-noValue

Screenshot 2023-04-14 at 4.52.26 PM.png

text-noValue

Use when

  • Screen size is small.

Use when

  • Screen size allows for it.

Don’t use when

  • Default size can be used.

Don’t use when

  • Screen size is small.

Specifications

This smaller size of the textfield input functions the same way a default size would. The only difference is their height:

  • 40px


Possible combinations

This option can be combined with all other options EXCEPT:

  • Multi-line (auto)

  • Multi-line (manual)


Finding the variation in Figma
SizeFigma.png


You can choose between the following different sizes:

  • Normal/ Default

  • Small

  • Normal-auto (height changes to input)

  • Multi (height is set manually, but above default)



Option B - Input value (mapped out above)

Example - NO

Example - YES

Screenshot 2023-04-14 at 4.52.26 PM.png

text-noValue

Screenshot 2023-04-17 at 9.01.10 AM.png

text-value

Use when

  • User has not entered a value into the input field yet.

Use when

  • User starts to enter value into the input field.

Don’t use

  • when there is an input value.

Don’t use when

  • There is no value input from the user yet.


Possible combinations

This option can be combined with all other options.


Finding the variation in Figma
Input text figma.png

When there is no input text available, the toggle is switched off and the input text value cannot be manipulated.

When it is switched on (see left side), you can amend the text that is shown as input text value.

Playground in Figma here: https://www.figma.com/file/F1fNT99VGTJHJ1jAnjFTn6/Youtap-Style-guide-V1.0.2023?node-id=1361%3A69988&t=I5aV1wewlsQHD3gp-1



Option C - Label

Example - NO

Example - YES

Screenshot 2023-04-17 at 9.48.03 AM.png

text-noValue-nolabel

Screenshot 2023-04-14 at 4.52.26 PM.png

text-noValue

Use

  • never

Use when

  • For every input field, there should be a label

Don’t use

  • ever

Don’t use when

  • no use case know


Possible combinations

This option can be combined with all other options


Finding the variation in Figma
LabelFigma.png

When there is no label available (DO NOT USE), the toggle is switched off and the label value cannot be manipulated.

When it is switched on (see left side), you can amend the text that is shown as label value.

Playground in Figma here: https://www.figma.com/file/F1fNT99VGTJHJ1jAnjFTn6/Youtap-Style-guide-V1.0.2023?node-id=1361%3A69988&t=I5aV1wewlsQHD3gp-1



Option D - Mandatory/Required fields

Example - NO

Example - YES

Screenshot 2023-04-17 at 9.55.21 AM.png

text-noValue-noReq

Screenshot 2023-04-14 at 4.52.26 PM.png

text-noValue

Use when

  • Textfield is not required to complete a process, but is additional information that supports the customer experience.

Use when

  • Textfield is essential to completing the process and can’t be skipped.

  • The use of this will trigger an error and keep buttons inactive until information is given.

Don’t use when

  • Textfield is essential to completing a process and can’t be skipped.

Don’t use when

  • Textfield is optional information that adds to the customer experience, but is not essential.


Specifications

The mandatory/ required state is indicated by an asterisk (*) at the end of the label.

Screenshot 2023-04-26 at 10.58.53 AM.png


Text style - style of the related label (for this instance: label1)

Text colour - style of the related label (for this instance: primary)


Possible combinations

This option can be combined with all other options


Finding the variation in Figma
MandaFigma.png

When the field is not required, the toggle is switched off and removes the mandatory indicator (*).

When it is switched on (see left side), you add a mandatory indicator (*) to the label.

Playground in Figma here: https://www.figma.com/file/F1fNT99VGTJHJ1jAnjFTn6/Youtap-Style-guide-V1.0.2023?node-id=1361%3A69988&t=I5aV1wewlsQHD3gp-1



Option E - Error state

Example - NO

Example - YES

Screenshot 2023-04-20 at 9.44.56 AM.png

text-Value

Screenshot 2023-04-20 at 9.43.36 AM.png

text-Value-error

Use when

  • Customer entered the correct value into the input field.

  • There has not been an error check triggered yet.

Use when

  • Customer entered wrong input AND error check was triggered.

Don’t use when

  • Customer entered WRONG input and error check was triggered.

Don’t use when

  • Customer entered the correct value into the input field.

  • No error check has been triggered.


Possible combinations

This option can be combined with all other options.


Finding the variation in Figma
ErrorFigma.png


When the field has no error, the toggle is switched off.

When it is switched on (see left side), the field moves into error state.

Playground in Figma here: https://www.figma.com/file/F1fNT99VGTJHJ1jAnjFTn6/Youtap-Style-guide-V1.0.2023?node-id=1361%3A69988&t=I5aV1wewlsQHD3gp-1



Option F - Start Adornment (sA)

Example - NO

Example - YES

Screenshot 2023-04-14 at 4.52.26 PM.png

text-noValue

Screenshot 2023-04-17 at 10.00.24 AM.png

text-noValue-sA

Use when

  • There is no icon related to the information needed from the user.

  • Spacing is limited.

Use when

  • Icon is representative of the information required.

Don’t use when

  • Icon can support the information that is required by the customer.

Don’t use when

  • Spacing is limited.

  • Icon does not represent the information needed by the customer.


Specifications for Start Adornment
Screenshot 2023-04-26 at 11.00.10 AM.png

Icon size - 24x24px

Colour - needs to be set in the primary colour scheme


Possible combinations

This option can be combined with all other options

Be careful in combining Start and End Adornment (option G + option F) and ONLY use them in exceptional cases like:

  • Search field (magnifying glass + close as icons at front and end)


Finding the variation in Figma
sA_Figma.png


When the field is not required, the toggle is switched off and removes the icon that would sit at the front of the textfield. This is the default state.

When it is switched on (see left side), you can select the icon that corresponds with what content is needed in this field.

Playground in Figma here: https://www.figma.com/file/F1fNT99VGTJHJ1jAnjFTn6/Youtap-Style-guide-V1.0.2023?node-id=1361%3A69988&t=I5aV1wewlsQHD3gp-1



Option G - End Adornment (eA)

Example - NO

Example - YES

Screenshot 2023-04-14 at 4.52.26 PM.png

text-noValue

Screenshot 2023-04-17 at 10.02.07 AM.png

text-noValue-eA

Use when

  • There is no icon related to the information needed from the user.

  • Spacing is limited.

  • Start Adornment is in place and the End one would only add redundant information.

Use when

  • Icon adds additional value to the information.

  • Icon provides additional guidance for the customer.


Don’t use when

  • Spacing is limited.

  • Start Adornment is in place and the End one would only add redundant information.


Specifications for End Adornment
Screenshot 2023-04-26 at 11.03.33 AM.png

Icon size - 24x24px

Colour - needs to be set in the primary colour scheme


Possible combinations

This option can be combined with all other options

Be careful in combining Start and End Adornment (option F + option G) and ONLY use them in exceptional cases like:

  • Search field (magnifying glass + close as icons at front and end)


Finding the variation in Figma
eA_Figma.png


When the field is not required, the toggle is switched off and removes the icon that would sit at the end of the textfield. This is the default state.

When it is switched on (see left side), you can select the icon that corresponds with what content is needed in this field.

Playground in Figma here: https://www.figma.com/file/F1fNT99VGTJHJ1jAnjFTn6/Youtap-Style-guide-V1.0.2023?node-id=1361%3A69988&t=I5aV1wewlsQHD3gp-1



Option H - Help text

Example - NO

Example - YES

Example - YES-ERROR

Screenshot 2023-04-14 at 4.52.26 PM.png

text-noValue

Screenshot 2023-04-17 at 11.06.30 AM.png

text-value-help

Screenshot 2023-04-20 at 9.47.19 AM.png

text-Value-help-error

Use when

  • There is no additional information to tell to the customer.

  • There is no further action required by the customer.

Use when

  • Customer requires further information for what to input

Use when

  • There is an error that is essential to rectify before moving on.

Don’t use when

  • Customer requires extra information, e.g. the textfield is mandatory.

Don’t use when

  • There is no further information needed by the customer.

  • There is an error that is essential to rectify before moving on.

Don’t use when

  • The information is only additional, not essential to the customer.


Specifications
Screenshot 2023-04-26 at 11.06.08 AM.png


Text size - label2

Text colour - primary


Possible combinations

This option can be combined with all other options.


Finding the variation in Figma
HelpFigma.png

When the help text is not required, the toggle is switched off and removes the option of adding an icon and a value to the help text area.

When it is switched on (see left side), you can select the icon that corresponds with the help text and set the value of the help text.

Playground in Figma here: https://www.figma.com/file/F1fNT99VGTJHJ1jAnjFTn6/Youtap-Style-guide-V1.0.2023?node-id=1361%3A69988&t=I5aV1wewlsQHD3gp-1


Option I - Active/ Inactive

Example - active

Example - inactive

Screenshot 2023-04-20 at 9.49.11 AM.png

text-value - active

Screenshot 2023-04-20 at 9.49.20 AM.png

text-value-inactive

Use when

  • Customer is required to give input to the textfield.

  • Customer is allowed to enter information into the given textfield.

Use when

  • Customer is not allowed to change value of the textfield.

  • Customer has not yet completed the input for textfields that are required before current textfield becomes active.

Don’t use when

  • Customer is not allowed to change value of the textfield.

  • Customer needs to fill out other textfields first before editing the related textfield.

Don’t use when

  • Customer is allowed to edit the input value of this textfield.


Possible combinations

This option can be combined with the ALL options EXCEPT:

  • Option E - Error state


Finding the variation in Figma
ActiveFigma.png


When the text cannot be edited, the toggle should be switched on. The default should be switched off.

Playground in Figma here: https://www.figma.com/file/F1fNT99VGTJHJ1jAnjFTn6/Youtap-Style-guide-V1.0.2023?node-id=1361%3A69988&t=I5aV1wewlsQHD3gp-1



02. Usage and application

Standard states - Application

Default state
Default
1Default.png

Use when

Don’t use when

  • Customer is not interacting with the selection field.

  • Customer has selected a list item.

  • There is no error trigger for this field.


Error
DefaultError.png

Use when

Don’t use when

  • Customer is not interacting with the selection field.

  • Customer has completed a step and it is a final validation of the input within the selection field.

  • Selection field is mandatory/ required and customer wants to move to the next step.

  • Customer has currently selected the selection field in which the error occurred.



Hover state (Desktop ONLY)
Default
Hover.png

Use when

Don’t use

  • Customer hovers their mouse over the textfield.

  • in any other circumstance besides hovering on desktop.


Error
HoverError.png

Use when

Don’t use when

  • Customer hovers their mouse over the textfield that fired an error.

  • in any other circumstance besides hovering over a textfield with an error indication on desktop.



Focused state
Default
FocusedDefault.png

Use when

Don’t use when

  • Customer has selected this field and the list is open.

  • The current selection field is selected by the customer.

  • Customer has not selected the selection field.


Error
FocusedDefaultError.png

Use when

Don’t use when

  • Customer is changing their selection from the list that fired an error

  • The current selection field is selected by the customer, but does not have an error.

  • Customer has not selected a selection field that has an error.



Inactive state
InactiveDefault.png

Use when

Don’t use when

  • Customer is not allowed to make changes to input.

  • Customer has not yet finished the steps that they’d needed to complete before activating the selection field.

  • Customer is allowed to edit the selection.

  • Customer is required to select a list item from then selection list.



03. Interaction behaviour

Default interaction

Whenever there is a form the textfields follow the following order of states:

Input field variant

Visual reference

User behaviour

Default behaviour

Default Var A →

Screenshot 2023-04-14 at 4.52.26 PM.png

User has not yet selected the input field and there is no input yet.

→ Focused Var A →

Screenshot 2023-04-17 at 1.09.52 PM.png

User selects current input field and starts entering the required value of the field.

→ Default Var B

Screenshot 2023-04-17 at 1.08.43 PM.png

User has finished their input and moved on to another input field.


ERROR IS TRIGGERED

Error Var A

Screenshot 2023-04-17 at 8.51.50 AM.png

User has not yet given input to a required field, but has pressed a CTA to move forward OR started entering value for the next input field. (this usually includes a helptext)

Error Var B

Screenshot 2023-04-20 at 9.43.36 AM.png

User has added value to the input field, however, it does not match the input. (This usually includes a helptext)

Error Var B

Screenshot 2023-04-17 at 9.09.36 AM.png

User has clicked on the field that fired an error and starts changing the value.


HELP TEXT GETS DISPLAYED

Error Help Text

Screenshot 2023-04-20 at 9.47.19 AM.png

User has entered the wrong input and gets an error message.


First editable input field on a page

This input field is automatically set to Focused Var A.


📱

In-line validation

To check if an input has been made and made correctly, we are using in-line validation.

In-line validation

This should always happen AFTER a customer has entered information. Also, they should have moved to the next textfield, i.e. the state of the textfield changes from focused to default. (see prototype here)

Exception:

  • Password validation (see below)


Password validation

For validating the password, we are using the following approach:

  • User enters textfield brings up the different requirements for the password setup.

  • With entering the password, the requirements are constantly checked and ticked off until all of them are ticked off.


📱



04. Accessibility

For textfields, follow the WCAG2.0 - AA standard for colour, readability and other relevant considerations for textfields.


Figma plugins to check AA accessibility

Best for designing or exploring

A11y - https://www.figma.com/community/plugin/733159460536249875


Best for final check

contrast - https://www.figma.com/community/plugin/911262488575486588


05. Resources