{"id":19273998,"url":"https://github.com/rintoj/native-x-text-input","last_synced_at":"2025-08-19T05:10:04.042Z","repository":{"id":48098765,"uuid":"336275579","full_name":"rintoj/native-x-text-input","owner":"rintoj","description":null,"archived":false,"fork":false,"pushed_at":"2021-08-27T17:57:52.000Z","size":199,"stargazers_count":0,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-05T04:48:02.696Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rintoj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-05T13:11:36.000Z","updated_at":"2021-08-27T17:57:00.000Z","dependencies_parsed_at":"2022-08-12T18:31:58.908Z","dependency_job_id":null,"html_url":"https://github.com/rintoj/native-x-text-input","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/rintoj/native-x-text-input","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rintoj%2Fnative-x-text-input","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rintoj%2Fnative-x-text-input/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rintoj%2Fnative-x-text-input/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rintoj%2Fnative-x-text-input/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rintoj","download_url":"https://codeload.github.com/rintoj/native-x-text-input/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rintoj%2Fnative-x-text-input/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271103202,"owners_count":24699646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T20:44:46.198Z","updated_at":"2025-08-19T05:10:03.966Z","avatar_url":"https://github.com/rintoj.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# native-x-text-input\n\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nInput component for capturing text input from users.\n\n## Install\n\n### Yarn\n\n```sh\nyarn add native-x-text-input\n```\n\n### NPM\n\n```sh\nnpm install native-x-text-input\n```\n\n## Usage\n\n```tsx\nimport { TextInput } from 'native-x-text-input'\n\nfunction MyComponent() {\n  return (\n    \u003cStack\u003e\n      ...\n      \u003cTextInput\n        label='Email'\n        placeholder='Enter an email'\n        rounded\n        error='This input is not valid!'\n      /\u003e\n      ...\n    \u003c/Stack\u003e\n  )\n}\n```\n\nThis component is compatible with [`native-x-form`]('https://github.com/rintoj/native-x-form')\n\n```tsx\nimport { TextInput } from 'native-x-text-input'\nimport { Form, FormInput } from 'native-x-form'\n\ninterface FormState {\n  email?: string\n}\n\nfunction MyComponent() {\n  const onChange = ({ state: { email }, isValid }: { state: FormState; isValid: boolean }) =\u003e {\n    console.log({ email })\n  }\n\n  return (\n    \u003cForm\u003cFormState\u003e state={state} onChange={onChange}\u003e\n      ...\n      \u003cFormInput name='email' validators={[isInvalidEmail('This is invalid email!')]}\u003e\n        \u003cTextInput label='Email' placeholder='Enter an email' rounded /\u003e\n      \u003c/FormInput\u003e\n      ...\n    \u003c/Form\u003e\n  )\n}\n```\n\n## API\n\n| Property                    | Default Value | Usage                                                      |\n| --------------------------- | ------------- | ---------------------------------------------------------- |\n| label?: string              |               | Label for the input                                        |\n| placeholder?: string        |               | Placeholder text for the text input                        |\n| multiline?: boolean         |               | Set true to allow more than one line for the input         |\n| rounded?: boolean           | false         | Set true to use rounded corners                            |\n| error?: string              |               | Error message to show                                      |\n| autoCapitalization?: string |               | Valid values are: 'none', 'words'                          |\n| autoFocus?: boolean         |               | Set true to auto focus                                     |\n| disabled?: boolean          |               | Set true to disable input                                  |\n| password?: boolean          |               | Set true to use the input as secret input                  |\n| numberOfLines?: number      |               | Number of lines to allow                                   |\n| icon?: ReactNode            |               | Icon component to render with in the component             |\n| rightIcon?: ReactNode       |               | Icon component to render at the right end of the component |\n| fill?: boolean              |               | Set true to fill the container                             |\n| width?: number              |               | Width of the text input                                    |\n| height?: number             |               | Height of the text input                                   |\n| errorColor?: string         | 'error'       | One of the colors specified by theme provider              |\n\n## Automatic Release\n\nHere is an example of the release type that will be done based on a commit messages:\n\n| Commit message      | Release type          |\n| ------------------- | --------------------- |\n| fix: [comment]      | Patch Release         |\n| feat: [comment]     | Minor Feature Release |\n| perf: [comment]     | Major Feature Release |\n| doc: [comment]      | No Release            |\n| refactor: [comment] | No Release            |\n| chore: [comment]    | No Release            |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frintoj%2Fnative-x-text-input","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frintoj%2Fnative-x-text-input","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frintoj%2Fnative-x-text-input/lists"}