{"id":17700849,"url":"https://github.com/wrathchaos/react-native-multi-grid-selection","last_synced_at":"2025-03-13T03:30:48.782Z","repository":{"id":57338540,"uuid":"335310576","full_name":"WrathChaos/react-native-multi-grid-selection","owner":"WrathChaos","description":"Fully customizable Multi Grid Card Selection component for React Native on both iOS and Android","archived":false,"fork":false,"pushed_at":"2021-03-11T10:16:23.000Z","size":41921,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-20T01:19:16.612Z","etag":null,"topics":["android","apple","application","component","front-end","google","ios","jsx","mobile","mobile-app","programming","react","react-native","reactjs"],"latest_commit_sha":null,"homepage":"https://freakycoder.com","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/WrathChaos.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-02T14:11:53.000Z","updated_at":"2024-11-01T12:02:42.000Z","dependencies_parsed_at":"2022-09-07T11:51:11.857Z","dependency_job_id":null,"html_url":"https://github.com/WrathChaos/react-native-multi-grid-selection","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":"WrathChaos/react-native-typescript-library-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WrathChaos%2Freact-native-multi-grid-selection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WrathChaos%2Freact-native-multi-grid-selection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WrathChaos%2Freact-native-multi-grid-selection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WrathChaos%2Freact-native-multi-grid-selection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WrathChaos","download_url":"https://codeload.github.com/WrathChaos/react-native-multi-grid-selection/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243335089,"owners_count":20274896,"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":["android","apple","application","component","front-end","google","ios","jsx","mobile","mobile-app","programming","react","react-native","reactjs"],"created_at":"2024-10-24T17:43:28.651Z","updated_at":"2025-03-13T03:30:45.463Z","avatar_url":"https://github.com/WrathChaos.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg alt=\"React Native Multi Grid Selection\" src=\"assets/logo.png\" width=\"1050\"/\u003e\n\n[![React Native Multi Grid Selection](https://img.shields.io/badge/-Fully%20customizable%20Multi%20Grid%20Card%20Selection%20component%20for%20React%20Native%20on%20both%20iOS%20and%20Android-orange?style=for-the-badge)](https://github.com/WrathChaos/react-native-multi-grid-selection)\n\n[![npm version](https://img.shields.io/npm/v/react-native-multi-grid-selection.svg?style=for-the-badge)](https://www.npmjs.com/package/react-native-multi-grid-selection)\n[![npm](https://img.shields.io/npm/dt/react-native-multi-grid-selection.svg?style=for-the-badge)](https://www.npmjs.com/package/react-native-multi-grid-selection)\n![Platform - Android and iOS](https://img.shields.io/badge/platform-Android%20%7C%20iOS-blue.svg?style=for-the-badge)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)\n[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg?style=for-the-badge)](https://github.com/prettier/prettier)\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg alt=\"React Native Multi Grid Selection\"\n        src=\"assets/Screenshots/react-native-multi-grid-selection.png\" /\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg alt=\"React Native Multi Grid Selection\"\n        src=\"assets/Screenshots/react-native-multi-grid-selection.gif\" /\u003e\n    \u003c/td\u003e\n   \u003c/tr\u003e\n\u003c/table\u003e\n\n# Installation\n\nAdd the dependency:\n\n```bash\nnpm i react-native-multi-grid-selection\n```\n\n## Peer Dependencies\n\n\u003ch5\u003e\u003ci\u003eIMPORTANT! You need install them\u003c/i\u003e\u003c/h5\u003e\n\n```js\n\"@freakycoder/react-native-bounceable\": \"\u003e= 0.2.4\"\n```\n\n# Usage\n\n## Import\n\n```jsx\nimport MultiGridSingleSelect from \"react-native-multi-grid-selection\";\n```\n\n## Fundamental Usage\n\n```jsx\n\u003cMultiGridSingleSelect\n  data={multiGridData}\n  onSelect={(selectedData: any) =\u003e console.log(\"Selected Data: \", selectedData)}\n/\u003e\n```\n\n## Data Structure\n\nYou **MUST** follow this data structure to use the `react-native-multi-grid-selection`\n\n```js\nconst testData: Array\u003cIMultiSelectionDataType\u003e = [\n  {\n    cardId: 0,\n    title: \"What is your favorite NBA Team?\",\n    data: [\n      { id: 0, name: \"Los Angeles Lakers\" },\n      { id: 1, name: \"Golden State Warriors\" },\n      { id: 2, name: \"Chicago Bulls\" },\n      { id: 3, name: \"Boston Celtics\" },\n      { id: 4, name: \"Cleveland\" },\n      { id: 5, name: \"Miami Heat\" },\n    ],\n  },\n  {\n    cardId: 1,\n    title: \"Who is the GOAT?\",\n    data: [\n      { id: 0, name: \"Micheal Jordan\" },\n      { id: 1, name: \"Wilt Chamberlain\" },\n      { id: 2, name: \"Lebron James\" },\n      { id: 3, name: \"Magic Johnson\" },\n      { id: 4, name: \"Shaquille O'Neal\" },\n      { id: 5, name: \"Kobe Bryant\" },\n    ],\n  },\n  {\n    cardId: 2,\n    title: \"Which team will win NBA in 2021?\",\n    data: [\n      { id: 0, name: \"Grizzlies\" },\n      { id: 1, name: \"Wizards\" },\n      { id: 2, name: \"Mavericks\" },\n      { id: 3, name: \"Spurs\" },\n      { id: 4, name: \"Hornets\" },\n      { id: 5, name: \"Pistons\" },\n    ],\n  },\n];\n```\n\n## Interfaces\n\n### IMultiSelectionDataType\n\n```jsx\ninterface IMultiSelectionDataType {\n  cardId: number;\n  title: string;\n  data: Array\u003cISelectionDataType\u003e;\n}\n```\n\n### ICardSelectionDataType\n\n```jsx\nexport interface ICardSelectionDataType {\n  cardId: number;\n  title: string;\n  selectedData: ISelectionDataType;\n}\n```\n\n### ISelectionDataType\n\n```jsx\nexport interface ISelectionDataType {\n  id: number;\n  name: string;\n  data?: any;\n}\n```\n\n## Example Project 😍\n\nYou can checkout the example project 🥰\n\nSimply run\n\n- `npm i`\n- `react-native run-ios/android`\n\nshould work of the example project.\n\n# Configuration - Props\n\n## Fundamentals\n\n| Property |   Type   |  Default  | Description                                                            |\n| -------- | :------: | :-------: | ---------------------------------------------------------------------- |\n| data     |  string  | undefined | set the data for creating multi grid card system                       |\n| onSelect | function | undefined | set your own logic for the selection functionality when it is selected |\n\n## Customization (Optionals)\n\n| Property             |   Type    |  Default  | Description                                                             |\n| -------------------- | :-------: | :-------: | ----------------------------------------------------------------------- |\n| listStyle            | ViewStyle |  default  | set or override the style object for the list style                     |\n| cardStyle            | ViewStyle |  default  | set or override the style object for the card style                     |\n| headerStyle          | ViewStyle |  default  | set or override the style object for the card header style              |\n| headerTextStyle      | TextStyle |  default  | set or override the style object for the card header's text title style |\n| buttonStyle          | ViewStyle |  default  | set or override the style object for each button style                  |\n| buttonContainerStyle | ViewStyle |  default  | set or override the style object for each button style                  |\n| buttonTextStyle      | TextStyle |  default  | set or override the style object for the card button text title style   |\n| activeColor          |   color   | \"#307ff2\" | change the active color of the buttons                                  |\n\n## Future Plans\n\n- [x] ~~LICENSE~~\n- [ ] Write an article about the lib on Medium\n\n## Author\n\nFreakyCoder, kurayogun@gmail.com\n\n## License\n\nReact Native Multi Grid Selection is available under the MIT license. See the LICENSE file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwrathchaos%2Freact-native-multi-grid-selection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwrathchaos%2Freact-native-multi-grid-selection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwrathchaos%2Freact-native-multi-grid-selection/lists"}