u
No files matched your search
@@ -0,0 +1,43 @@
|
||||
# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files
|
||||
|
||||
# dependencies
|
||||
node_modules/
|
||||
|
||||
# Expo
|
||||
.expo/
|
||||
dist/
|
||||
web-build/
|
||||
expo-env.d.ts
|
||||
|
||||
# Native
|
||||
.kotlin/
|
||||
*.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
|
||||
|
||||
app-example
|
||||
|
||||
# generated native folders
|
||||
/ios
|
||||
/android
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "./node_modules/oxfmt/configuration_schema.json",
|
||||
"ignorePatterns": []
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "recommendations": ["expo.vscode-expo-tools"] }
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"oxc.fmt.configPath": ".oxfmtrc.json",
|
||||
"editor.defaultFormatter": "oxc.oxc-vscode",
|
||||
"editor.formatOnSave": true,
|
||||
"[javascript]": {
|
||||
"editor.defaultFormatter": "oxc.oxc-vscode",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "oxc.oxc-vscode",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[typescriptreact]": {
|
||||
"editor.defaultFormatter": "oxc.oxc-vscode",
|
||||
"editor.formatOnSave": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
# Welcome to your Expo app 👋
|
||||
|
||||
This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app).
|
||||
|
||||
## Get started
|
||||
|
||||
1. Install dependencies
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
2. Start the app
|
||||
|
||||
```bash
|
||||
npx expo start
|
||||
```
|
||||
|
||||
In the output, you'll find options to open the app in a
|
||||
|
||||
- [development build](https://docs.expo.dev/develop/development-builds/introduction/)
|
||||
- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/)
|
||||
- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/)
|
||||
- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo
|
||||
|
||||
You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction).
|
||||
|
||||
## Get a fresh project
|
||||
|
||||
When you're ready, run:
|
||||
|
||||
```bash
|
||||
npm run reset-project
|
||||
```
|
||||
|
||||
This command will move the starter code to the **app-example** directory and create a blank **app** directory where you can start developing.
|
||||
|
||||
## Learn more
|
||||
|
||||
To learn more about developing your project with Expo, look at the following resources:
|
||||
|
||||
- [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides).
|
||||
- [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
|
||||
|
||||
## Join the community
|
||||
|
||||
Join our community of developers creating universal apps.
|
||||
|
||||
- [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute.
|
||||
- [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions.
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"expo": {
|
||||
"name": "app-rn2",
|
||||
"slug": "app-rn2",
|
||||
"version": "1.0.0",
|
||||
"orientation": "portrait",
|
||||
"icon": "./assets/images/icon.png",
|
||||
"scheme": "apprn2",
|
||||
"userInterfaceStyle": "automatic",
|
||||
"newArchEnabled": true,
|
||||
"ios": {
|
||||
"supportsTablet": true
|
||||
},
|
||||
"android": {
|
||||
"adaptiveIcon": {
|
||||
"backgroundColor": "#E6F4FE",
|
||||
"foregroundImage": "./assets/images/android-icon-foreground.png",
|
||||
"backgroundImage": "./assets/images/android-icon-background.png",
|
||||
"monochromeImage": "./assets/images/android-icon-monochrome.png"
|
||||
},
|
||||
"edgeToEdgeEnabled": true,
|
||||
"predictiveBackGestureEnabled": false
|
||||
},
|
||||
"web": {
|
||||
"bundler": "metro",
|
||||
"output": "static",
|
||||
"favicon": "./assets/images/favicon.png"
|
||||
},
|
||||
"plugins": [
|
||||
"expo-router",
|
||||
[
|
||||
"expo-splash-screen",
|
||||
{
|
||||
"image": "./assets/images/splash-icon.png",
|
||||
"imageWidth": 200,
|
||||
"resizeMode": "contain",
|
||||
"backgroundColor": "#ffffff",
|
||||
"dark": {
|
||||
"backgroundColor": "#000000"
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"experiments": {
|
||||
"typedRoutes": true,
|
||||
"reactCompiler": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import { useColorScheme } from "@/hooks/use-color-scheme";
|
||||
import { Stack } from "expo-router";
|
||||
import { useEffect } from "react";
|
||||
import "@/styles/global.css";
|
||||
|
||||
export default function RootLayout() {
|
||||
const colorScheme = useColorScheme();
|
||||
|
||||
useEffect(() => {
|
||||
console.log(colorScheme);
|
||||
}, [colorScheme]);
|
||||
|
||||
return <Stack />;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { Text, View } from "react-native";
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<View className="flex-1 items-center justify-center bg-white dark:bg-black">
|
||||
<Text className="text-xl font-bold text-blue-500 dark:text-white">Welcome to Nativewind!</Text>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 384 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1,6 @@
|
||||
module.exports = function (api) {
|
||||
api.cache(true);
|
||||
return {
|
||||
presets: [["babel-preset-expo", { jsxImportSource: "nativewind" }], "nativewind/babel"],
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
export { useColorScheme } from "react-native";
|
||||
@@ -0,0 +1,21 @@
|
||||
import { useEffect, useState } from "react";
|
||||
import { useColorScheme as useRNColorScheme } from "react-native";
|
||||
|
||||
/**
|
||||
* To support static rendering, this value needs to be re-calculated on the client side for web
|
||||
*/
|
||||
export function useColorScheme() {
|
||||
const [hasHydrated, setHasHydrated] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
setHasHydrated(true);
|
||||
}, []);
|
||||
|
||||
const colorScheme = useRNColorScheme();
|
||||
|
||||
if (hasHydrated) {
|
||||
return colorScheme;
|
||||
}
|
||||
|
||||
return "light";
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Learn more about light and dark modes:
|
||||
* https://docs.expo.dev/guides/color-schemes/
|
||||
*/
|
||||
|
||||
import { Colors } from "@/constants/theme";
|
||||
import { useColorScheme } from "@/hooks/use-color-scheme";
|
||||
|
||||
export function useThemeColor(
|
||||
props: { light?: string; dark?: string },
|
||||
colorName: keyof typeof Colors.light & keyof typeof Colors.dark,
|
||||
) {
|
||||
const theme = useColorScheme() ?? "light";
|
||||
const colorFromProps = props[theme];
|
||||
|
||||
if (colorFromProps) {
|
||||
return colorFromProps;
|
||||
} else {
|
||||
return Colors[theme][colorName];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
const { getDefaultConfig } = require("expo/metro-config");
|
||||
const { withNativeWind } = require("nativewind/metro");
|
||||
|
||||
const config = getDefaultConfig(__dirname);
|
||||
|
||||
module.exports = withNativeWind(config, { input: "./styles/global.css" });
|
||||
@@ -0,0 +1,3 @@
|
||||
/// <reference types="nativewind/types" />
|
||||
|
||||
// NOTE: This file should not be edited and should be committed with your source code. It is generated by NativeWind.
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"name": "app-rn2",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"main": "expo-router/entry",
|
||||
"scripts": {
|
||||
"start": "expo start",
|
||||
"reset-project": "node ./scripts/reset-project.js",
|
||||
"android": "expo start --android",
|
||||
"ios": "expo start --ios",
|
||||
"web": "expo start --web",
|
||||
"lint": "expo lint",
|
||||
"fmt": "oxfmt",
|
||||
"fmt:check": "oxfmt --check"
|
||||
},
|
||||
"dependencies": {
|
||||
"@expo/vector-icons": "^15.0.3",
|
||||
"@react-navigation/bottom-tabs": "^7.4.0",
|
||||
"@react-navigation/elements": "^2.6.3",
|
||||
"@react-navigation/native": "^7.1.8",
|
||||
"expo": "~54.0.33",
|
||||
"expo-constants": "~18.0.13",
|
||||
"expo-font": "~14.0.11",
|
||||
"expo-haptics": "~15.0.8",
|
||||
"expo-image": "~3.0.11",
|
||||
"expo-linking": "~8.0.11",
|
||||
"expo-router": "~6.0.23",
|
||||
"expo-splash-screen": "~31.0.13",
|
||||
"expo-status-bar": "~3.0.9",
|
||||
"expo-symbols": "~1.0.8",
|
||||
"expo-system-ui": "~6.0.9",
|
||||
"expo-web-browser": "~15.0.10",
|
||||
"nativewind": "^4.2.3",
|
||||
"react": "19.1.0",
|
||||
"react-dom": "19.1.0",
|
||||
"react-native": "0.81.5",
|
||||
"react-native-css-interop": "^0.2.3",
|
||||
"react-native-gesture-handler": "~2.28.0",
|
||||
"react-native-reanimated": "~4.1.1",
|
||||
"react-native-safe-area-context": "~5.6.0",
|
||||
"react-native-screens": "~4.16.0",
|
||||
"react-native-svg": "15.12.1",
|
||||
"react-native-web": "~0.21.0",
|
||||
"react-native-worklets": "0.5.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "~19.1.0",
|
||||
"babel-preset-expo": "^55.0.16",
|
||||
"oxfmt": "^0.44.0",
|
||||
"prettier-plugin-tailwindcss": "^0.5.14",
|
||||
"tailwindcss": "^3.4.19",
|
||||
"typescript": "~5.9.2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
@@ -0,0 +1,207 @@
|
||||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
darkMode: process.env.DARK_MODE ? process.env.DARK_MODE : "class",
|
||||
content: [
|
||||
"./app/**/*.{html,js,jsx,ts,tsx,mdx}",
|
||||
"./components/**/*.{html,js,jsx,ts,tsx,mdx}",
|
||||
"./utils/**/*.{html,js,jsx,ts,tsx,mdx}",
|
||||
"./*.{html,js,jsx,ts,tsx,mdx}",
|
||||
"./src/**/*.{html,js,jsx,ts,tsx,mdx}",
|
||||
],
|
||||
presets: [require("nativewind/preset")],
|
||||
important: "html",
|
||||
safelist: [
|
||||
{
|
||||
pattern:
|
||||
// eslint-disable-next-line regexp/no-dupe-disjunctions
|
||||
/(bg|border|text|stroke|fill)-(primary|secondary|tertiary|error|success|warning|info|typography|outline|background|indicator)-(0|50|100|200|300|400|500|600|700|800|900|950|white|gray|black|error|warning|muted|success|info|light|dark|primary)/,
|
||||
},
|
||||
],
|
||||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
primary: {
|
||||
0: "rgb(var(--color-primary-0)/<alpha-value>)",
|
||||
50: "rgb(var(--color-primary-50)/<alpha-value>)",
|
||||
100: "rgb(var(--color-primary-100)/<alpha-value>)",
|
||||
200: "rgb(var(--color-primary-200)/<alpha-value>)",
|
||||
300: "rgb(var(--color-primary-300)/<alpha-value>)",
|
||||
400: "rgb(var(--color-primary-400)/<alpha-value>)",
|
||||
500: "rgb(var(--color-primary-500)/<alpha-value>)",
|
||||
600: "rgb(var(--color-primary-600)/<alpha-value>)",
|
||||
700: "rgb(var(--color-primary-700)/<alpha-value>)",
|
||||
800: "rgb(var(--color-primary-800)/<alpha-value>)",
|
||||
900: "rgb(var(--color-primary-900)/<alpha-value>)",
|
||||
950: "rgb(var(--color-primary-950)/<alpha-value>)",
|
||||
},
|
||||
secondary: {
|
||||
0: "rgb(var(--color-secondary-0)/<alpha-value>)",
|
||||
50: "rgb(var(--color-secondary-50)/<alpha-value>)",
|
||||
100: "rgb(var(--color-secondary-100)/<alpha-value>)",
|
||||
200: "rgb(var(--color-secondary-200)/<alpha-value>)",
|
||||
300: "rgb(var(--color-secondary-300)/<alpha-value>)",
|
||||
400: "rgb(var(--color-secondary-400)/<alpha-value>)",
|
||||
500: "rgb(var(--color-secondary-500)/<alpha-value>)",
|
||||
600: "rgb(var(--color-secondary-600)/<alpha-value>)",
|
||||
700: "rgb(var(--color-secondary-700)/<alpha-value>)",
|
||||
800: "rgb(var(--color-secondary-800)/<alpha-value>)",
|
||||
900: "rgb(var(--color-secondary-900)/<alpha-value>)",
|
||||
950: "rgb(var(--color-secondary-950)/<alpha-value>)",
|
||||
},
|
||||
tertiary: {
|
||||
50: "rgb(var(--color-tertiary-50)/<alpha-value>)",
|
||||
100: "rgb(var(--color-tertiary-100)/<alpha-value>)",
|
||||
200: "rgb(var(--color-tertiary-200)/<alpha-value>)",
|
||||
300: "rgb(var(--color-tertiary-300)/<alpha-value>)",
|
||||
400: "rgb(var(--color-tertiary-400)/<alpha-value>)",
|
||||
500: "rgb(var(--color-tertiary-500)/<alpha-value>)",
|
||||
600: "rgb(var(--color-tertiary-600)/<alpha-value>)",
|
||||
700: "rgb(var(--color-tertiary-700)/<alpha-value>)",
|
||||
800: "rgb(var(--color-tertiary-800)/<alpha-value>)",
|
||||
900: "rgb(var(--color-tertiary-900)/<alpha-value>)",
|
||||
950: "rgb(var(--color-tertiary-950)/<alpha-value>)",
|
||||
},
|
||||
error: {
|
||||
0: "rgb(var(--color-error-0)/<alpha-value>)",
|
||||
50: "rgb(var(--color-error-50)/<alpha-value>)",
|
||||
100: "rgb(var(--color-error-100)/<alpha-value>)",
|
||||
200: "rgb(var(--color-error-200)/<alpha-value>)",
|
||||
300: "rgb(var(--color-error-300)/<alpha-value>)",
|
||||
400: "rgb(var(--color-error-400)/<alpha-value>)",
|
||||
500: "rgb(var(--color-error-500)/<alpha-value>)",
|
||||
600: "rgb(var(--color-error-600)/<alpha-value>)",
|
||||
700: "rgb(var(--color-error-700)/<alpha-value>)",
|
||||
800: "rgb(var(--color-error-800)/<alpha-value>)",
|
||||
900: "rgb(var(--color-error-900)/<alpha-value>)",
|
||||
950: "rgb(var(--color-error-950)/<alpha-value>)",
|
||||
},
|
||||
success: {
|
||||
0: "rgb(var(--color-success-0)/<alpha-value>)",
|
||||
50: "rgb(var(--color-success-50)/<alpha-value>)",
|
||||
100: "rgb(var(--color-success-100)/<alpha-value>)",
|
||||
200: "rgb(var(--color-success-200)/<alpha-value>)",
|
||||
300: "rgb(var(--color-success-300)/<alpha-value>)",
|
||||
400: "rgb(var(--color-success-400)/<alpha-value>)",
|
||||
500: "rgb(var(--color-success-500)/<alpha-value>)",
|
||||
600: "rgb(var(--color-success-600)/<alpha-value>)",
|
||||
700: "rgb(var(--color-success-700)/<alpha-value>)",
|
||||
800: "rgb(var(--color-success-800)/<alpha-value>)",
|
||||
900: "rgb(var(--color-success-900)/<alpha-value>)",
|
||||
950: "rgb(var(--color-success-950)/<alpha-value>)",
|
||||
},
|
||||
warning: {
|
||||
0: "rgb(var(--color-warning-0)/<alpha-value>)",
|
||||
50: "rgb(var(--color-warning-50)/<alpha-value>)",
|
||||
100: "rgb(var(--color-warning-100)/<alpha-value>)",
|
||||
200: "rgb(var(--color-warning-200)/<alpha-value>)",
|
||||
300: "rgb(var(--color-warning-300)/<alpha-value>)",
|
||||
400: "rgb(var(--color-warning-400)/<alpha-value>)",
|
||||
500: "rgb(var(--color-warning-500)/<alpha-value>)",
|
||||
600: "rgb(var(--color-warning-600)/<alpha-value>)",
|
||||
700: "rgb(var(--color-warning-700)/<alpha-value>)",
|
||||
800: "rgb(var(--color-warning-800)/<alpha-value>)",
|
||||
900: "rgb(var(--color-warning-900)/<alpha-value>)",
|
||||
950: "rgb(var(--color-warning-950)/<alpha-value>)",
|
||||
},
|
||||
info: {
|
||||
0: "rgb(var(--color-info-0)/<alpha-value>)",
|
||||
50: "rgb(var(--color-info-50)/<alpha-value>)",
|
||||
100: "rgb(var(--color-info-100)/<alpha-value>)",
|
||||
200: "rgb(var(--color-info-200)/<alpha-value>)",
|
||||
300: "rgb(var(--color-info-300)/<alpha-value>)",
|
||||
400: "rgb(var(--color-info-400)/<alpha-value>)",
|
||||
500: "rgb(var(--color-info-500)/<alpha-value>)",
|
||||
600: "rgb(var(--color-info-600)/<alpha-value>)",
|
||||
700: "rgb(var(--color-info-700)/<alpha-value>)",
|
||||
800: "rgb(var(--color-info-800)/<alpha-value>)",
|
||||
900: "rgb(var(--color-info-900)/<alpha-value>)",
|
||||
950: "rgb(var(--color-info-950)/<alpha-value>)",
|
||||
},
|
||||
typography: {
|
||||
0: "rgb(var(--color-typography-0)/<alpha-value>)",
|
||||
50: "rgb(var(--color-typography-50)/<alpha-value>)",
|
||||
100: "rgb(var(--color-typography-100)/<alpha-value>)",
|
||||
200: "rgb(var(--color-typography-200)/<alpha-value>)",
|
||||
300: "rgb(var(--color-typography-300)/<alpha-value>)",
|
||||
400: "rgb(var(--color-typography-400)/<alpha-value>)",
|
||||
500: "rgb(var(--color-typography-500)/<alpha-value>)",
|
||||
600: "rgb(var(--color-typography-600)/<alpha-value>)",
|
||||
700: "rgb(var(--color-typography-700)/<alpha-value>)",
|
||||
800: "rgb(var(--color-typography-800)/<alpha-value>)",
|
||||
900: "rgb(var(--color-typography-900)/<alpha-value>)",
|
||||
950: "rgb(var(--color-typography-950)/<alpha-value>)",
|
||||
white: "#FFFFFF",
|
||||
gray: "#D4D4D4",
|
||||
black: "#181718",
|
||||
},
|
||||
outline: {
|
||||
0: "rgb(var(--color-outline-0)/<alpha-value>)",
|
||||
50: "rgb(var(--color-outline-50)/<alpha-value>)",
|
||||
100: "rgb(var(--color-outline-100)/<alpha-value>)",
|
||||
200: "rgb(var(--color-outline-200)/<alpha-value>)",
|
||||
300: "rgb(var(--color-outline-300)/<alpha-value>)",
|
||||
400: "rgb(var(--color-outline-400)/<alpha-value>)",
|
||||
500: "rgb(var(--color-outline-500)/<alpha-value>)",
|
||||
600: "rgb(var(--color-outline-600)/<alpha-value>)",
|
||||
700: "rgb(var(--color-outline-700)/<alpha-value>)",
|
||||
800: "rgb(var(--color-outline-800)/<alpha-value>)",
|
||||
900: "rgb(var(--color-outline-900)/<alpha-value>)",
|
||||
950: "rgb(var(--color-outline-950)/<alpha-value>)",
|
||||
},
|
||||
background: {
|
||||
0: "rgb(var(--color-background-0)/<alpha-value>)",
|
||||
50: "rgb(var(--color-background-50)/<alpha-value>)",
|
||||
100: "rgb(var(--color-background-100)/<alpha-value>)",
|
||||
200: "rgb(var(--color-background-200)/<alpha-value>)",
|
||||
300: "rgb(var(--color-background-300)/<alpha-value>)",
|
||||
400: "rgb(var(--color-background-400)/<alpha-value>)",
|
||||
500: "rgb(var(--color-background-500)/<alpha-value>)",
|
||||
600: "rgb(var(--color-background-600)/<alpha-value>)",
|
||||
700: "rgb(var(--color-background-700)/<alpha-value>)",
|
||||
800: "rgb(var(--color-background-800)/<alpha-value>)",
|
||||
900: "rgb(var(--color-background-900)/<alpha-value>)",
|
||||
950: "rgb(var(--color-background-950)/<alpha-value>)",
|
||||
error: "rgb(var(--color-background-error)/<alpha-value>)",
|
||||
warning: "rgb(var(--color-background-warning)/<alpha-value>)",
|
||||
muted: "rgb(var(--color-background-muted)/<alpha-value>)",
|
||||
success: "rgb(var(--color-background-success)/<alpha-value>)",
|
||||
info: "rgb(var(--color-background-info)/<alpha-value>)",
|
||||
light: "#FBFBFB",
|
||||
dark: "#181719",
|
||||
},
|
||||
indicator: {
|
||||
primary: "rgb(var(--color-indicator-primary)/<alpha-value>)",
|
||||
info: "rgb(var(--color-indicator-info)/<alpha-value>)",
|
||||
error: "rgb(var(--color-indicator-error)/<alpha-value>)",
|
||||
},
|
||||
},
|
||||
fontFamily: {
|
||||
heading: undefined,
|
||||
body: undefined,
|
||||
mono: undefined,
|
||||
jakarta: ["var(--font-plus-jakarta-sans)"],
|
||||
roboto: ["var(--font-roboto)"],
|
||||
code: ["var(--font-source-code-pro)"],
|
||||
inter: ["var(--font-inter)"],
|
||||
"space-mono": ["var(--font-space-mono)"],
|
||||
},
|
||||
fontWeight: {
|
||||
extrablack: "950",
|
||||
},
|
||||
fontSize: {
|
||||
"2xs": "10px",
|
||||
},
|
||||
boxShadow: {
|
||||
"hard-1": "-2px 2px 8px 0px rgba(38, 38, 38, 0.20)",
|
||||
"hard-2": "0px 3px 10px 0px rgba(38, 38, 38, 0.20)",
|
||||
"hard-3": "2px 2px 8px 0px rgba(38, 38, 38, 0.20)",
|
||||
"hard-4": "0px -3px 10px 0px rgba(38, 38, 38, 0.20)",
|
||||
"hard-5": "0px 2px 10px 0px rgba(38, 38, 38, 0.10)",
|
||||
"soft-1": "0px 0px 10px rgba(38, 38, 38, 0.1)",
|
||||
"soft-2": "0px 0px 20px rgba(38, 38, 38, 0.2)",
|
||||
"soft-3": "0px 0px 30px rgba(38, 38, 38, 0.1)",
|
||||
"soft-4": "0px 0px 40px rgba(38, 38, 38, 0.1)",
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"extends": "expo/tsconfig.base",
|
||||
"compilerOptions": {
|
||||
"strict": true,
|
||||
"paths": {
|
||||
"@/*": [
|
||||
"./*"
|
||||
]
|
||||
}
|
||||
},
|
||||
"include": [
|
||||
"**/*.ts",
|
||||
"**/*.tsx",
|
||||
".expo/types/**/*.ts",
|
||||
"expo-env.d.ts",
|
||||
"nativewind-env.d.ts"
|
||||
]
|
||||
}
|
||||