{"id":19273925,"url":"https://github.com/rintoj/native-x-button","last_synced_at":"2025-02-23T20:45:07.693Z","repository":{"id":57308330,"uuid":"335897319","full_name":"rintoj/native-x-button","owner":"rintoj","description":null,"archived":false,"fork":false,"pushed_at":"2021-08-10T10:28:31.000Z","size":278,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-12T19:02:06.942Z","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-04T09:06:37.000Z","updated_at":"2021-08-10T10:27:34.000Z","dependencies_parsed_at":"2022-09-07T04:52:01.942Z","dependency_job_id":null,"html_url":"https://github.com/rintoj/native-x-button","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rintoj%2Fnative-x-button","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rintoj%2Fnative-x-button/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rintoj%2Fnative-x-button/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rintoj%2Fnative-x-button/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rintoj","download_url":"https://codeload.github.com/rintoj/native-x-button/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240317407,"owners_count":19782388,"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","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:30.100Z","updated_at":"2025-02-23T20:45:07.662Z","avatar_url":"https://github.com/rintoj.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# native-x-button\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\nThis helps you add interactive buttons. This module works with `native-x-theme` package.\n\n## Install\n\n### Yarn\n\n```sh\nyarn add native-x-button\n```\n\n### NPM\n\n```sh\nnpm install native-x-button\n```\n\n## Usage\n\n```tsx\nimport { Button } from 'native-x-button'\n\nfunction MyComponent() {\n  return (\n    \u003cStack\u003e\n      \u003cButton\u003eClick Me\u003c/Button\u003e\n      \u003cButton outline\u003eClick Me\u003c/Button\u003e\n      \u003cButton clear\u003eClick Me\u003c/Button\u003e\n      ...\n      \u003cButton rounded\u003eClick Me\u003c/Button\u003e\n      \u003cButton rounded outline\u003e\n        Click Me\n      \u003c/Button\u003e\n      ...\n      \u003cButton loading\u003eClick Me\u003c/Button\u003e\n      \u003cButton rounded loading\u003e\n        Click Me\n      \u003c/Button\u003e\n      \u003cButton icon={\u003cIcon name='trash' /\u003e}\u003eDelete\u003c/Button\u003e\n    \u003c/Stack\u003e\n  )\n}\n```\n\n## DEMO\n\n| Button Types               | Button Sizes               | Colors / Disabled          |\n| -------------------------- | -------------------------- | -------------------------- |\n| ![DEMO1](./docs/demo1.png) | ![DEMO2](./docs/demo2.png) | ![DEMO3](./docs/demo3.png) |\n\n## API\n\n| Property                     | Default Value | Usage                                                          |\n| ---------------------------- | ------------- | -------------------------------------------------------------- |\n| disabled?: boolean           | false         | Disable the user interaction and change visual appearance      |\n| outline?: boolean            | false         | Button with no background but with border color                |\n| clear?: boolean              | false         | Button with no background and border color                     |\n| rounded?: boolean            | false         | Show rounded corners                                           |\n| loading?: boolean            | false         | Show a spinner                                                 |\n| icon?: ReactNode             |               | Show an icon                                                   |\n| size?: string                | 'normal'      | Valid values: 'x-small', 'small', 'normal', 'large', 'x-large' |\n| backgroundColor?: string     | COLOR.ACCENT  | Any valid name of the color defined by ThemeProvider           |\n| textColor?: string           | COLOR.PRIMARY | Any valid name of the color defined by ThemeProvider           |\n| borderColor?: string         | COLOR.DIVIDER | Any valid name of the color defined by ThemeProvider           |\n| fill?: boolean               |               | Fill the container horizontally and vertically                 |\n| fillHorizontal?: boolean     |               | Fill the container horizontally                                |\n| width?: number               |               | Width of the button                                            |\n| height?: number              |               | Height of the button                                           |\n| minWidth?: number            |               | Minimum width of the button                                    |\n| minHeight?: number           |               | Minimum height of the button                                   |\n| maxWidth?: number            |               | Maximum width of the button                                    |\n| maxHeight?: number           |               | Maximum height of the button                                   |\n| onTap: (data: TData) =\u003e void |               | Action handler for user interaction                            |\n| data: TData                  | undefined     | Optional data                                                  |\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-button","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frintoj%2Fnative-x-button","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frintoj%2Fnative-x-button/lists"}