# ej2-ng-inputs

A package of Essential JS 2 Input textbox components. It comes with a collection of form components which is useful to get different input values from the users such as text, numbers, patterns, color and file inputs.

![ej2-ng-inputs](https://ej2.syncfusion.com/products/images/input/readme.gif)

> Input is part of Syncfusion Essential JS 2 commercial program. License is available in two models Community and Paid. Please refer the license file for more information. License can be obtained by registering at [https://www.syncfusion.com/downloads/essential-js2](https://www.syncfusion.com/downloads/essential-js2?utm_source=npm&utm_campaign=input)

## Setup

To install Input and its dependent packages, use the following command

```sh
npm install @syncfusion/ej2-ng-inputs
```

## Components included

Following list of components are available in the package.

* **ColorPicker** - Color picker is a user interface that is used to select and adjust color values.
  * [Getting Started](https://ej2.syncfusion.com/angular/documentation/color-picker/getting-started.html?utm_source=npm&utm_campaign=button)
  * [View Online Demos](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=colorpicker#/material/colorpicker/default)
  * [Product Page](https://www.syncfusion.com/products/angular/color-picker)

* **TextBox** - The text box component is an extended version of the HTML input control which is used to edit or display text input on a form.
  * [Getting Started](https://ej2.syncfusion.com/angular/documentation/textbox/getting-started.html?utm_source=npm&utm_campaign=textbox)
  * [View Online Demos](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=textbox#/material/textboxes/default)
  * [Product Page](https://www.syncfusion.com/products/angular/text-box)

* **MaskedTextBox** - MaskedTextBox allows the user to enter the valid input only based on the provided mask.
  * [Getting Started](https://ej2.syncfusion.com/angular/documentation/maskedtextbox/getting-started.html?utm_source=npm&utm_campaign=maskedtextbox)
  * [View Online Demos](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=maskedtextbox#/material/maskedtextbox/default)
  * [Product Page](https://www.syncfusion.com/products/angular/maskedtextbox)

* **NumericTextBox** - NumericTextBox is used to get the number inputs from the user. The input values can be incremented or decremented by a predefined step value.
  * [Getting Started](https://ej2.syncfusion.com/angular/documentation/numerictextbox/getting-started.html?utm_source=npm&utm_campaign=numerictextbox)
  * [View Online Demos](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=numerictextbox#/material/numerictextbox/default)
  * [Product Page](https://www.syncfusion.com/products/angular/numerictextbox)

* **Slider** - The slider component allows you to select a value or range of values between the min and max range.
  * [Getting Started](https://ej2.syncfusion.com/angular/documentation/slider/getting-started.html?utm_source=npm&utm_campaign=slider)
  * [View Online Demos](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=slider#/material/slider/default)
  * [Product Page](https://www.syncfusion.com/products/angular/slider?utm_source=npm&utm_campaign=slider)

* **Uploader** - The uploader component is an extended version of the HTML5 upload control which is used to upload images, documents, and other files to a server.
  * [Getting Started](https://ej2.syncfusion.com/angular/documentation/uploader/getting-started.html?utm_source=npm&utm_campaign=upload)
  * [View Online Demos](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=uploader#/material/uploader/default)
  * [Product Page](https://www.syncfusion.com/products/angular/uploader)

## Supported frameworks

Input component is also offered in following list of frameworks.

1. [React](https://github.com/syncfusion/ej2-react-inputs)
2. [VueJS](https://github.com/syncfusion/ej2-vue-inputs)
3. [ASP.NET Core](https://www.syncfusion.com/products/aspnetcore/numerictextbox)
4. [ASP.NET MVC](https://www.syncfusion.com/products/aspnetmvc/maskedtextbox)
5. [JavaScript (ES5)](https://www.syncfusion.com/products/javascript/slider)

## Showcase samples

* Expanse Tracker ([Source](https://github.com/syncfusion/ej2-showcase-ts-expensetracker), [Live Demo]( https://ej2.syncfusion.com/showcase/angular/expensetracker/?utm_source=npm&utm_campaign=numerictextbox#/expense))
* Loan Calculator ([Source](https://github.com/syncfusion/ej2-showcase-ng-loancalculator), [Live Demo]( https://ej2.syncfusion.com/showcase/angular/loancalculator/?utm_source=npm&utm_campaign=slider))
* Cloud Pricing ([Live Demo](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=slider#/material/slider/azure-pricing))

## Key Features

### 1. ColorPicker
- [**Color specification**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=colorpicker#/material/colorpicker/default) - Supports `Red Green Blue`, `Hue Saturation Value` and `Hex` codes.
- [**Mode**](https://ej2.syncfusion.com/angular/documentation/color-picker/mode-and-value.html?lang=typescript#mode-and-value) - Supports `Picker` and `Palette` mode.
- [**Inline**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=colorpicker#/material/colorpicker/inline) - Supports inline type rendering of color picker.
- [**Custom palettes**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=colorpicker#/material/colorpicker/custom) - Allows you to customize palettes and supports multiple palette groups rendering.
- [**Opacity**](https://ej2.syncfusion.com/angular/documentation/color-picker/mode-and-value.html?lang=typescript#color-value) - Allows to set and change the `opacity` of the selected color.
- [**Accessibility**](https://ej2.syncfusion.com/angular/documentation/color-picker/accessibility.html?lang=typescript#accessibility) - Built-in accessibility features to access color picker using the keyboard, screen readers, or other assistive technology devices.

### 2. TextBox
- [**Floating Label**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=textbox#/material/textboxes/default) – floats the placeholder text while focus.
- [**Input Group**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=textbox#/material/textboxes/default) – group the icons, buttons along with textbox.
- [**Validation States**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=textbox#/material/textboxes/default) – provides styles for success, error, and warning states.
- [**Multiline**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=textbox#/material/textboxes/default) – handles multiline input with placeholder text

### 3. MaskedTextBox
- [**Custom Characters**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=maskedtextbox#/material/maskedtextbox/custommask) - allows you to use your own characters as the mask elements.
- [**Regular Expression**](https://ej2.syncfusion.com/angular/documentation/maskedtextbox/mask-configuration.html?utm_source=npm&utm_campaign=maskedtextbox#regular-expression) - can be used as a mask element for each character of the MaskedTextBox.
- [**Accessibility**](https://ej2.syncfusion.com/angular/documentation/maskedtextbox/accessibility.html?utm_source=npm&utm_campaign=maskedtextbox) - provides built-in accessibility support which helps to access all the MaskedTextBox component features through keyboard, on-screen readers, or other assistive technology devices.

### 4. NumericTextBox
- [**Range Validation**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=numerictextbox#/material/numerictextbox/range) - allows to set the minimum and maximum range of values in the NumericTextBox.
- [**Number Formats**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=numerictextbox#/material/numerictextbox/format) - supports the number display formatting with MSDN standard and custom number formats.
- [**Precision Of Numbers**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=numerictextbox#/material/numerictextbox/restrict) - allows to restrict the number precision when enters the value.
- [**Keyboard Interaction**](https://ej2.syncfusion.com/angular/documentation/numerictextbox/accessibility.html?utm_source=npm&utm_campaign=numerictextbox#keyboard-interaction) - allows users to interact with the NumericTextBox using the keyboard.
- [**Accessibility**](https://ej2.syncfusion.com/angular/documentation/numerictextbox/accessibility.html?utm_source=npm&utm_campaign=numerictextbox) - provides built-in accessibility support which helps to access all the NumericTextBox component features through keyboard, on-screen readers or other assistive technology devices.
- [**Internationalization**](https://ej2.syncfusion.com/angular/documentation/numerictextbox/internationalization.html?utm_source=npm&utm_campaign=numerictextbox) - library provides support for formatting and parsing number using the official Unicode CLDR JSON data.
- [**Localization**](https://ej2.syncfusion.com/angular/documentation/numerictextbox/internationalization.html?utm_source=npm&utm_campaign=numerictextbox#localization) - Supports to localize spin up and down buttons title for the tooltip to different cultures.

### 5. Slider
- [**Types**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=slider#/material/slider/default) - Provided three types of Slider.
- [**Orientation**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=slider#/material/slider/orientation) - Displays the Slider in horizontal or vertical direction.
- [**Buttons**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=slider#/material/slider/tooltip) - Provided built-in support to render the buttons in both edges of the Slider.
- [**Tooltip**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=slider#/material/slider/tooltip) - Displays a tooltip to show the currently selected value.
- [**Ticks**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=slider#/material/slider/ticks) - Displays a scale with small and big ticks.
- [**Format**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=slider#/material/slider/format) - Customize the slider values into various format.
- [**Limits**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=slider#/material/slider/limits) - Slider thumb movement restriction enabled with interval dragging in range-slider.
- [**Accessibility**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=slider#/material/slider/default) - Built-in compliance with the [WAI-ARIA](http://www.w3.org/WAI/PF/aria-practices/) specifications.
- [**Keyboard Interaction**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=slider#/material/slider/api) - The Slider can be intractable through the keyboard.

### 6. Upload
- [**Chunk Upload**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=uploader#/material/uploader/chunk-upload) – used to upload large files as chunks
- [**Drag-and-drop**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=uploader#/material/uploader/drop-area) – drag the files and drop into component to upload them.
- [**Template**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=uploader#/material/uploader/custom-template) – the file list and buttons can be customize using template
- [**Validation**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=uploader#/material/uploader/validation) – validate extension and size of upload file
- [**Auto Upload**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=uploader#/material/uploader/default) – Process the file to upload without interaction.
- [**Preload Files**](https://ej2.syncfusion.com/angular/demos/?utm_source=npm&utm_campaign=uploader#/material/uploader/preloadfiles) – View and manipulate previously uploaded files

## Support

Product support is available for through following mediums.

* Creating incident in Syncfusion [Direct-trac](https://www.syncfusion.com/support/directtrac/incidents?utm_source=npm&utm_campaign=input) support system or [Community forum](https://www.syncfusion.com/forums/essential-js2?utm_source=npm&utm_campaign=input).
* New [GitHub issue](https://github.com/syncfusion/ej2-ng-inputs/issues/new).
* Ask your query in Stack Overflow with tag `syncfusion`, `ej2`.

## License

Check the license detail [here](https://github.com/syncfusion/ej2/blob/master/license?utm_source=npm&utm_campaign=input).

## Changelog

Check the changelog [here](https://github.com/syncfusion/ej2-ng-inputs/blob/master/CHANGELOG.md?utm_source=npm&utm_campaign=input)
