From 8b2c4a38a461ff5ecc95972291bc711e2c5dec9a Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Fri, 28 Apr 2023 01:47:57 +0800 Subject: --- .../with-react-native-web/packages/ui/.gitignore | 28 ++++++++++++++++ .../with-react-native-web/packages/ui/package.json | 22 +++++++++++++ .../packages/ui/src/button.tsx | 37 ++++++++++++++++++++++ .../packages/ui/src/index.tsx | 1 + .../packages/ui/tsconfig.json | 8 +++++ 5 files changed, 96 insertions(+) create mode 100644 examples/with-react-native-web/packages/ui/.gitignore create mode 100644 examples/with-react-native-web/packages/ui/package.json create mode 100644 examples/with-react-native-web/packages/ui/src/button.tsx create mode 100644 examples/with-react-native-web/packages/ui/src/index.tsx create mode 100644 examples/with-react-native-web/packages/ui/tsconfig.json (limited to 'examples/with-react-native-web/packages/ui') diff --git a/examples/with-react-native-web/packages/ui/.gitignore b/examples/with-react-native-web/packages/ui/.gitignore new file mode 100644 index 0000000..cf309c2 --- /dev/null +++ b/examples/with-react-native-web/packages/ui/.gitignore @@ -0,0 +1,28 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +node_modules +.pnp +.pnp.js + + +# misc +.DS_Store +*.pem + +# build +dist + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env.local +.env.development.local +.env.test.local +.env.production.local + +# turbo +.turbo \ No newline at end of file diff --git a/examples/with-react-native-web/packages/ui/package.json b/examples/with-react-native-web/packages/ui/package.json new file mode 100644 index 0000000..1915593 --- /dev/null +++ b/examples/with-react-native-web/packages/ui/package.json @@ -0,0 +1,22 @@ +{ + "name": "ui", + "version": "0.0.0", + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "scripts": { + "build": "tsup src/index.tsx --format esm,cjs --dts --external react", + "dev": "tsup src/index.tsx --format esm,cjs --watch --dts --external react", + "clean": "rm -rf dist" + }, + "devDependencies": { + "@types/react": "^18.0.22", + "@types/react-native": "^0.69.15", + "tsconfig": "*", + "tsup": "^6.0.1", + "typescript": "^4.7.4" + }, + "dependencies": { + "react": "^18.1.0", + "react-native": "^0.70.3" + } +} diff --git a/examples/with-react-native-web/packages/ui/src/button.tsx b/examples/with-react-native-web/packages/ui/src/button.tsx new file mode 100644 index 0000000..a94f4ec --- /dev/null +++ b/examples/with-react-native-web/packages/ui/src/button.tsx @@ -0,0 +1,37 @@ +import * as React from "react"; +import { + TouchableOpacity, + StyleSheet, + GestureResponderEvent, + Text, +} from "react-native"; + +export interface ButtonProps { + text: string; + onClick?: (event: GestureResponderEvent) => void; +} + +export function Button({ text, onClick }: ButtonProps) { + return ( + + {text} + + ); +} + +const styles = StyleSheet.create({ + button: { + maxWidth: 200, + textAlign: "center", + borderRadius: 10, + paddingTop: 14, + paddingBottom: 14, + paddingLeft: 30, + paddingRight: 30, + fontSize: "15px", + backgroundColor: "#2f80ed", + }, + text: { + color: "white", + }, +}); diff --git a/examples/with-react-native-web/packages/ui/src/index.tsx b/examples/with-react-native-web/packages/ui/src/index.tsx new file mode 100644 index 0000000..f4ea832 --- /dev/null +++ b/examples/with-react-native-web/packages/ui/src/index.tsx @@ -0,0 +1 @@ +export { Button, type ButtonProps } from "./button"; diff --git a/examples/with-react-native-web/packages/ui/tsconfig.json b/examples/with-react-native-web/packages/ui/tsconfig.json new file mode 100644 index 0000000..f0455ac --- /dev/null +++ b/examples/with-react-native-web/packages/ui/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "tsconfig/react-native-library", + "include": ["."], + "exclude": ["dist", "build", "node_modules"], + "compilerOptions": { + "strict": true + } +} -- cgit v1.2.3-70-g09d2