{"id":30060108,"url":"https://github.com/tiaanduplessis/react-native-datepicker-modal","last_synced_at":"2025-10-04T05:21:49.844Z","repository":{"id":57336439,"uuid":"127287483","full_name":"tiaanduplessis/react-native-datepicker-modal","owner":"tiaanduplessis","description":"React Native DatePicker Modal Component for iOS/Android","archived":false,"fork":false,"pushed_at":"2020-07-31T11:18:37.000Z","size":280,"stargazers_count":50,"open_issues_count":3,"forks_count":21,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-27T01:53:30.947Z","etag":null,"topics":["component","datepicker","react","react-native"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tiaanduplessis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-29T12:21:14.000Z","updated_at":"2025-08-21T09:12:21.000Z","dependencies_parsed_at":"2022-09-03T08:00:37.714Z","dependency_job_id":null,"html_url":"https://github.com/tiaanduplessis/react-native-datepicker-modal","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/tiaanduplessis/react-native-datepicker-modal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiaanduplessis%2Freact-native-datepicker-modal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiaanduplessis%2Freact-native-datepicker-modal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiaanduplessis%2Freact-native-datepicker-modal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiaanduplessis%2Freact-native-datepicker-modal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tiaanduplessis","download_url":"https://codeload.github.com/tiaanduplessis/react-native-datepicker-modal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiaanduplessis%2Freact-native-datepicker-modal/sbom","scorecard":{"id":883957,"data":{"date":"2025-08-11","repo":{"name":"github.com/tiaanduplessis/react-native-datepicker-modal","commit":"ba186bd66e6bffe74cce9ec0fadc8cc99710f2b8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.3,"checks":[{"name":"Code-Review","score":4,"reason":"Found 6/14 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"19 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-6chw-6frg-f759","Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-ww39-953v-wcq6","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-24T09:19:32.930Z","repository_id":57336439,"created_at":"2025-08-24T09:19:32.930Z","updated_at":"2025-08-24T09:19:32.930Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278266896,"owners_count":25958733,"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-10-04T02:00:05.491Z","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":["component","datepicker","react","react-native"],"created_at":"2025-08-08T01:41:54.745Z","updated_at":"2025-10-04T05:21:49.804Z","avatar_url":"https://github.com/tiaanduplessis.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"30%\"  src=\"ios-example.png\" alt=\"ios\"\u003e\n  \u003cimg width=\"30%\" src=\"android-example.png\" alt=\"android\"\u003e\n\u003c/div\u003e\n\n# react-native-datepicker-modal\n[![package version](https://img.shields.io/npm/v/react-native-datepicker-modal.svg?style=flat-square)](https://npmjs.org/package/react-native-datepicker-modal)\n[![package downloads](https://img.shields.io/npm/dm/react-native-datepicker-modal.svg?style=flat-square)](https://npmjs.org/package/react-native-datepicker-modal)\n[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)\n[![package license](https://img.shields.io/npm/l/react-native-datepicker-modal.svg?style=flat-square)](https://npmjs.org/package/react-native-datepicker-modal)\n[![make a pull request](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n\n\u003e React Native DatePicker Modal Component for iOS/Android\n\n## Table of Contents\n\n- [Install](#install)\n- [Usage](#usage)\n- [Properties](#properties)\n- [Contribute](#contribute)\n- [License](#License)\n\n## Install\n\nThis project uses [node](https://nodejs.org) and [npm](https://www.npmjs.com). \n\n```sh\n$ npm install react-native-datepicker-modal\n$ # OR\n$ yarn add react-native-datepicker-modal\n```\n\n## Usage\n\n```js\nimport React from 'react'\nimport { StyleSheet, Text } from 'react-native'\n\nimport ModalDatePicker from 'react-native-datepicker-modal'\n\nimport colors from './config/colors'\nimport spacing from './config/spacing'\nimport fontSize from './config/fontSize'\n\nconst DatePicker = ({ style, ...props }) =\u003e (\n  \u003cModalDatePicker\n    style={[styles.container, style]}\n    renderDate={({ year, month, day, date }) =\u003e {\n      if (!date) {\n        return \u003cText style={[styles.text, styles.placeholderText]}\u003eDate of birth\u003c/Text\u003e\n      }\n\n      const dateStr = `${day}-${month}-${year}`\n      return \u003cText style={styles.text}\u003e{dateStr}\u003c/Text\u003e\n    }}\n    {...props}\n  /\u003e\n)\n\nconst styles = StyleSheet.create({\n  container: {\n    backgroundColor: colors.white,\n    borderBottomColor: colors.gray.veryLight,\n    borderBottomWidth: 1,\n    marginVertical: spacing[1],\n    marginHorizontal: spacing[0],\n    justifyContent: 'center',\n    borderRadius: 2,\n    height: 50\n  },\n  placeholderText: {\n    color: colors.gray.light\n  },\n  text: {\n    width: '100%',\n    paddingHorizontal: spacing[1],\n    paddingVertical: spacing[0],\n    fontFamily: 'Montserrat',\n    fontSize: fontSize.medium,\n    color: colors.gray.dark\n  }\n})\n\nexport default DatePicker\n\n```\n\n## Properties\n\nComponent accepts the following propeties. Please see [propTypes](index.js) for more detail.\n\n### `renderDate`\n\nFunction to render Component for date. Receives object with selected `date`, `year`, `day` and `month`.\n\n### `startDate`\n\nStart date for DatePicker (Default: Current Date `new Date()`).\n\n### `onError`\n\nFunction called with error argument if there is error setting date.\n\n### `onDateChanged`\n\nFunction called when new date has been selected. Receives object with selected `date`, `year`, `day` and `month`.\n\n### `minDate`\n\nMinimum date that can be selected.\n\n### `maxDate`\n\nMaximum date that can be selected.\n\n### `modalButtonText`\n\nText string for the iOS modal button (default: \"Done\")\n\n### Styling\n\nStyling for different sub-components can also be configured:\n\n| Name                        | Description                                               |\n| --------------------------- | --------------------------------------------------------- |\n| style                       | Styles for the container of `renderDate`                  |\n| modalButtonStyle            | Styles for the modal button on iOS                        |\n| modalBtnContainerStyle      | Styles for the modal button container on iOS              |\n| modalStyle                  | Styles for the modal on iOS                               |\n| modalOverlayStyle           | Styles for the modal overlay on iOS                       |\n\nStyling on Android:\n\nWe use `DatePickerAndroid` is and API for the native DatePicker Android module and this cannot be directly styled through JS props like real React Native components. \n\nHowever, you can style the native android modules by changing the styles.xml in your android folder. It is located at `android/app/src/main/res/values/styles.xml` relative to your react-native project. \n\nExample:\n```xml\n\u003cresources xmlns:tools=\"http://schemas.android.com/tools\"\u003e\n\n    \u003c!-- Base application theme. --\u003e\n    \u003cstyle name=\"AppTheme\" parent=\"Theme.AppCompat.Light.NoActionBar\"\u003e\n        \u003c!-- Customize your theme here. --\u003e\n        \u003citem name=\"android:datePickerDialogTheme\"\u003e@style/Picker.Theme\u003c/item\u003e\n    \u003c/style\u003e\n\n    \u003cstyle name=\"Picker.Theme\" parent=\"Theme.AppCompat.Light.Dialog\"\u003e\n        \u003citem name=\"colorPrimary\"\u003e#3F51B5\u003c/item\u003e\n        \u003citem name=\"colorPrimaryDark\"\u003e#303F9F\u003c/item\u003e\n        \u003citem name=\"colorAccent\"\u003e#448AFF\u003c/item\u003e\n        \u003citem name=\"android:textColorPrimary\"\u003e#212121\u003c/item\u003e\n    \u003c/style\u003e\n\n\u003c/resources\u003e\n```\n\n## Contribute\n\n1. Fork it and create your feature branch: git checkout -b my-new-feature\n2. Commit your changes: git commit -am 'Add some feature'\n3.Push to the branch: git push origin my-new-feature \n4. Submit a pull request\n\n## License\n\nMIT\n    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiaanduplessis%2Freact-native-datepicker-modal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftiaanduplessis%2Freact-native-datepicker-modal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiaanduplessis%2Freact-native-datepicker-modal/lists"}