aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/examples/with-react-native-web/packages/ui
diff options
context:
space:
mode:
Diffstat (limited to 'examples/with-react-native-web/packages/ui')
-rw-r--r--examples/with-react-native-web/packages/ui/.gitignore28
-rw-r--r--examples/with-react-native-web/packages/ui/package.json22
-rw-r--r--examples/with-react-native-web/packages/ui/src/button.tsx37
-rw-r--r--examples/with-react-native-web/packages/ui/src/index.tsx1
-rw-r--r--examples/with-react-native-web/packages/ui/tsconfig.json8
5 files changed, 96 insertions, 0 deletions
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 (
+ <TouchableOpacity style={styles.button} onPress={onClick}>
+ <Text style={styles.text}>{text}</Text>
+ </TouchableOpacity>
+ );
+}
+
+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
+ }
+}