From 142fdea10c7539063bc3796d540fc193c60dc526 Mon Sep 17 00:00:00 2001 From: Tom <28008958+taeh98@users.noreply.github.com> Date: Tue, 5 Sep 2023 22:04:50 +0100 Subject: [PATCH] chore: added runnable examples subdir and updated README accordingly (#706) --- .npmignore | 2 +- README.md | 36 +- examples/.gitignore | 35 + examples/App.tsx | 159 + examples/app.json | 28 + examples/assets/adaptive-icon.png | Bin 0 -> 17547 bytes examples/assets/favicon.png | Bin 0 -> 1466 bytes examples/assets/icon.png | Bin 0 -> 22380 bytes examples/assets/splash.png | Bin 0 -> 47346 bytes examples/babel.config.js | 6 + .../javascript-class-example.jsx | 116 + .../javascript-function-example.jsx | 82 + .../typescript-class-example.tsx | 128 + .../typescript-function-example.tsx | 84 + examples/package-lock.json | 13686 ++++++++++++++++ examples/package.json | 24 + examples/tsconfig.json | 6 + index.d.ts | 4 +- package-lock.json | 554 +- package.json | 4 +- 20 files changed, 14666 insertions(+), 288 deletions(-) create mode 100644 examples/.gitignore create mode 100644 examples/App.tsx create mode 100644 examples/app.json create mode 100644 examples/assets/adaptive-icon.png create mode 100644 examples/assets/favicon.png create mode 100644 examples/assets/icon.png create mode 100644 examples/assets/splash.png create mode 100644 examples/babel.config.js create mode 100644 examples/example-src-files/javascript-class-example.jsx create mode 100644 examples/example-src-files/javascript-function-example.jsx create mode 100644 examples/example-src-files/typescript-class-example.tsx create mode 100644 examples/example-src-files/typescript-function-example.tsx create mode 100644 examples/package-lock.json create mode 100644 examples/package.json create mode 100644 examples/tsconfig.json diff --git a/.npmignore b/.npmignore index 960e504f..375e7d7f 100644 --- a/.npmignore +++ b/.npmignore @@ -1,4 +1,4 @@ .github/ node_modules/ - +examples package-lock.json \ No newline at end of file diff --git a/README.md b/README.md index cba73820..fe396b1b 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,11 @@ # React Native Dropdown Picker -
+[![react-native-dropdown-picker is released under the MIT license.](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/hossein-zare/react-native-dropdown-picker/blob/dev-5.x/LICENSE) +[![Current npm package version.](https://img.shields.io/npm/v/react-native-dropdown-picker?color=brightgreen&label=npm%20package)](https://www.npmjs.org/package/react-native-dropdown-picker) + +[//]: # (TODO: add badge linking to GitHub repo) + +--- ## Screenshots @@ -22,17 +18,24 @@ width="270" alt="Screenshot showing dark theme and parent items" /> -The above screenshots are taken from the following -example: [https://snack.expo.dev/8mHmLfcZf](https://snack.expo.dev/8mHmLfcZf) +The above screenshots were taken +from [this example](https://snack.expo.dev/8mHmLfcZf). ## Usage -See [the relevant documentation](https://hossein-zare.github.io/react-native-dropdown-picker-website/docs/usage). +You can find runnable examples in the `examples` subdirectory, which is a +working [Expo](https://github.com/expo/expo) project demonstrating this library. +Navigate into the `examples` subdirectory, run `npm install`, and then run +`npx expo start` to see the examples working. + +For further information on how to use this library, +read [the relevant documentation](https://hossein-zare.github.io/react-native-dropdown-picker-website/docs/usage). ## Further documentation The docs can be read -at: [https://hossein-zare.github.io/react-native-dropdown-picker-website](https://hossein-zare.github.io/react-native-dropdown-picker-website). +at: [https://hossein-zare.github.io/react-native-dropdown-picker-website](https://hossein-zare.github.io/react-native-dropdown-picker-website) + The docs can be edited at: [https://github.com/hossein-zare/react-native-dropdown-picker-website](https://github.com/hossein-zare/react-native-dropdown-picker-website) @@ -60,9 +63,8 @@ To make a new release, follow these steps: works well * You can test changes to the library and experiment easily with [patch-package](https://www.npmjs.com/package/patch-package) -* Use `npm pack` to test the new version of the library locally and check it - works correctly; - see [https://dev.to/scooperdev/use-npm-pack-to-test-your-packages-locally-486e](https://dev.to/scooperdev/use-npm-pack-to-test-your-packages-locally-486e) +* Once you have made changes, and after finalizing them, use `npm pack` + to [test your new, changed version of the library locally and check it works correctly](https://dev.to/scooperdev/use-npm-pack-to-test-your-packages-locally-486e) * Make and merge a final PR into the development branch that increments the version number in `package.json` * Make and merge a PR from the development branch to the release branch diff --git a/examples/.gitignore b/examples/.gitignore new file mode 100644 index 00000000..05647d55 --- /dev/null +++ b/examples/.gitignore @@ -0,0 +1,35 @@ +# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files + +# dependencies +node_modules/ + +# Expo +.expo/ +dist/ +web-build/ + +# Native +*.orig.* +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision + +# Metro +.metro-health-check* + +# debug +npm-debug.* +yarn-debug.* +yarn-error.* + +# macOS +.DS_Store +*.pem + +# local env files +.env*.local + +# typescript +*.tsbuildinfo diff --git a/examples/App.tsx b/examples/App.tsx new file mode 100644 index 00000000..83243383 --- /dev/null +++ b/examples/App.tsx @@ -0,0 +1,159 @@ +import React, { JSX } from 'react'; +import { StyleSheet, Text, View } from 'react-native'; +import DropDownPicker, { ItemType } from 'react-native-dropdown-picker'; +import JavascriptClassExample from './example-src-files/javascript-class-example'; +import JavascriptFunctionExample from './example-src-files/javascript-function-example'; +import TypescriptClassExample from './example-src-files/typescript-class-example'; +import TypescriptFunctionExample from './example-src-files/typescript-function-example'; + +enum ExampleComponent { + JavaScriptClassSingleValue, + JavaScriptClassMultiValue, + JavaScriptFunctionSingleValue, + JavaScriptFunctionMultiValue, + TypeScriptClassSingleValue, + TypeScriptClassMultiValue, + TypeScriptFunctionSingleValue, + TypeScriptFunctionMultiValue, +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + // backgroundColor: "#fff", + // alignItems: "center", + // justifyContent: "center", + flexDirection: 'column', + margin: 3, + marginTop: 20, + padding: 3, + }, +}); + +const EXAMPLE_COMPONENT_ITEMS: Arraygk(*nG6_q=^VO{)x0`lqq2GV~}@c!>8{Rh%N*#!Md
zcK;8gf67wupJn>jNdIgNpZR|v@cIA03H<+(hK<+%dm4_({I~3;yCGk?+3uu{%&A)1
zP|cr?l KFzaTY@vvKH7%3fMd5>K7Hf1!``V7EA{
z1wfp4Pd!A;Kstvm^z=AAQ1*5zEXWGy2d _m_Cz!aI|OA~=>rP h%0{}|+DPWgk|($2LaYkVi1EqD))Ngy$!?Ey_Khw=N$
z0*>LrfiNG=fipoI@PGEb=ZJztU+<|21z=DLF=KlMJ2zm4_5;FT06CGWu2!NR2eAwR
zbOz1gYQ0;g)<1&;g4q~H!I!3*&s`CKwL$eom8B(_m6ZJICl14gPoJ8jl?}@^^A^>C
z$e~861#yJ}%zF{{H>1(kb7
z4)}@b!KeU2)@MzR_YE%3o4g*xJG?EcRK5kXSbz@E+m@qx9_R7a^9cb
UB)$2x>!>nfd_<&42MzO_oU^Cuw3W1U>C8k4Z-;I)Hwz}clprW*1#cN9Eb
zc+)>qHS%7}9^t&jOjsczIIrb)IhH|7_FvnJ#3iry6`pc8JS^|zdc`sIrW~1v44uAu
z4cXW$3L?~kE9>1tR}nrfv_T83-xr!;EgYul%$1fy>9C%r0(M(5`Ww>Z8eY8jc)$22
z79&%(H(PfzKGg~3+n=o
f0^4m~AUeAv={cet7m*{2|~6vVAM=vpL?8r|>+7ZfuT;*FKMLJGNyc
z)!M?FJlzd>mzyrCJi3SQM$eUS@xCJioofaUwqrzeQ%S|R`Aa6u$h3~pn3ge8H;U0%
z+Z~w$tX*TF3?Bia(5OK1--uI#gzJ;b5uLoH{ZFw&E0w}REn0XA!4#HLjdvE}GHCBT
zMj7g$9;PwAHTUKI5ZL0?jTRutws}W@-^ZQvY+I`RRUq^H(;hro2sF&qX0$Sn8yjq1
zS-XgbgdmyQukGKXhM9c#5rJ(q^!e2^A|dvfiB5oGPSLeAt5%D5*PeG3-*&*guZuuC
zJBU$e7TQYCv=P5Uu*IQUHW?0y%33xDZpbd98PO};2E)HxOQKujAq3if83>i5Pu
zYMyimE!m+Pmb_Cldje-6xU_|0Y~>W12^QzJUQ%KCfn-h(j9E~e3Rza5+0iCjw=GkR
zllb*}Z;86cW~@;2#H$^c?SJZ&~V2j?k
zG|`DtuOZxpw-AY`^ORuoHM0{}8K&Q|>4z}_GxXGN26MhH(*yL)Wh#Wq)~aU7Y+-t>
z2Gi$X&&c{>T-F`5Id&^R_U(!2wJTKOCLLzNOV-BSUQ;j8Q_q&Bo)TCfrbifrN`A(C
zsH8<9&qKAN7yoI|fj4+LZmmi
8H<#Jdj6-1?y&;5J~8X2
zz7CuJk}fVIaFPY~et#fWJ{T*j#nWee)9-McpR-W6OkCGj*gu<&Tv=bu3J1H0#ve0mwiSZ6
zR0Vwj+-m(w-WooXk=Hkl)m~qjKbT<&y0h$2gl8Qr#(JfoEZLZWVuB->i=`_OmFHed!L&*^B0azpeu!a9XuMHX{b&M!monL+>QR!DW>6J%bs#d@QG;{2YEo5Y(^V;Uy
z_b_1qCEf|3;9iHmuGY95K{bnX7xa3=-`mF=o3?L4=9R3>c=4mL>B#bz{#SeUWZv?0
z=KN~};zrBgYL+nvThul&KZEWEVP|W-y}cPR2_$}&STL(mApmvKJ<~J$X4q5Hs;B)<
z2zC8XG(ZSDGCX}5fI+FWsbTyn4H4;{n*E!X?ij*{AgF!A%UUgV1oP)^=;?8qoFDcd
z#g?mHMJx1268mZ>*8tZI!nW1e(wyt0RIhQq))G}VpHbmv9WmDVzbjCy6uC=K50C!o
zxBqxI8B1Eug2U