@wireservers-ui/react-natives 0.1.0 → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -0
- package/package.json +6 -2
- package/tailwind-preset.js +203 -0
- package/assets/logos/react-natives-icon-square-1024.png +0 -0
- package/assets/logos/react-natives-logo-1056x320.png +0 -0
- package/assets/logos/react-natives-logo-1280x320.png +0 -0
- package/assets/logos/react-natives-logo-1840x600.png +0 -0
- package/assets/logos/react-natives-logo-1980x600.png +0 -0
- package/assets/logos/react-natives-logo-2400x600.png +0 -0
- package/assets/logos/react-natives-logo-490x160.png +0 -0
- package/assets/logos/react-natives-logo-528x160.png +0 -0
- package/assets/logos/react-natives-logo-640x160.png +0 -0
- package/assets/logos/react-natives-logo-981x320.png +0 -0
- package/assets/logos/react-natives-logo.svg +0 -45
- package/assets/logos/react-natives-mark-1024.png +0 -0
- package/assets/logos/react-natives-mark-128.png +0 -0
- package/assets/logos/react-natives-mark-256.png +0 -0
- package/assets/logos/react-natives-mark-512.png +0 -0
- package/assets/logos/react-natives-mark.svg +0 -42
package/README.md
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# @wireservers-ui/react-natives
|
|
2
|
+
|
|
3
|
+
70+ production-ready React Native components — TypeScript-first, themeable, accessible.
|
|
4
|
+
|
|
5
|
+
Built with [NativeWind](https://www.nativewind.dev/) and [Tailwind Variants](https://www.tailwind-variants.org/).
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @wireservers-ui/react-natives
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### Peer Dependencies
|
|
14
|
+
|
|
15
|
+
Make sure you have the following installed in your project:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install nativewind tailwind-variants react-native-reanimated react-native-gesture-handler react-native-svg
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
`react-native-reanimated`, `react-native-gesture-handler`, and `react-native-svg` are optional — only needed if you use components that depend on them.
|
|
22
|
+
|
|
23
|
+
## Setup
|
|
24
|
+
|
|
25
|
+
Add the preset to your `tailwind.config.js`:
|
|
26
|
+
|
|
27
|
+
```js
|
|
28
|
+
/** @type {import('tailwindcss').Config} */
|
|
29
|
+
module.exports = {
|
|
30
|
+
content: [
|
|
31
|
+
"./app/**/*.{js,jsx,ts,tsx}",
|
|
32
|
+
// ...your other content paths
|
|
33
|
+
],
|
|
34
|
+
presets: [require("@wireservers-ui/react-natives/tailwind-preset")],
|
|
35
|
+
};
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The preset includes the NativeWind preset, the full color/theme system, and automatic content scanning of the component library — no additional configuration needed.
|
|
39
|
+
|
|
40
|
+
### Theme Variables
|
|
41
|
+
|
|
42
|
+
Components use CSS variables for theming. Define them in your global CSS to customize colors:
|
|
43
|
+
|
|
44
|
+
```css
|
|
45
|
+
@tailwind base;
|
|
46
|
+
@tailwind components;
|
|
47
|
+
@tailwind utilities;
|
|
48
|
+
|
|
49
|
+
:root {
|
|
50
|
+
--color-primary-500: 80 70 230;
|
|
51
|
+
--color-background-0: 255 255 255;
|
|
52
|
+
--color-typography-900: 23 23 23;
|
|
53
|
+
/* ... */
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.dark {
|
|
57
|
+
--color-primary-500: 120 110 255;
|
|
58
|
+
--color-background-0: 24 23 25;
|
|
59
|
+
--color-typography-900: 245 245 245;
|
|
60
|
+
/* ... */
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Usage
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
67
|
+
import { Button, ButtonText } from "@wireservers-ui/react-natives";
|
|
68
|
+
|
|
69
|
+
export function MyComponent() {
|
|
70
|
+
return (
|
|
71
|
+
<Button action="primary" variant="solid" size="md">
|
|
72
|
+
<ButtonText>Get Started</ButtonText>
|
|
73
|
+
</Button>
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Components
|
|
79
|
+
|
|
80
|
+
Includes 70+ components across these categories:
|
|
81
|
+
|
|
82
|
+
**Core** — Text, Heading, Icon, Divider, Badge, Spinner, Image, Avatar, Card, Button, Kbd, Code, Blockquote
|
|
83
|
+
|
|
84
|
+
**Form Controls** — Input, Textarea, Switch, Checkbox, Radio, Slider, Select, FormControl, NumberInput, PasswordInput, SearchInput, Rating, TagsInput, DatePicker, PinInput, ColorPicker
|
|
85
|
+
|
|
86
|
+
**Feedback & Overlay** — Alert, Progress, CircularProgress, Modal, Toast, Tooltip, Drawer, ActionSheet, AlertDialog, Popover, Snackbar, Overlay
|
|
87
|
+
|
|
88
|
+
**Navigation** — Tabs, Accordion, Breadcrumb, Menu, Pagination, Stepper, SegmentedControl, Fab, Link
|
|
89
|
+
|
|
90
|
+
**Data Display** — Tag, Skeleton, Empty, Stat, Table, List, Timeline, Carousel
|
|
91
|
+
|
|
92
|
+
**Layout** — Box, Stack (VStack, HStack), Center, AspectRatio, Container, Pressable, Portal, VisuallyHidden
|
|
93
|
+
|
|
94
|
+
**Interactive** — Toggle, ToggleGroup, Collapsible, Calendar
|
|
95
|
+
|
|
96
|
+
## License
|
|
97
|
+
|
|
98
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wireservers-ui/react-natives",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "1.0.0-rc.1",
|
|
4
4
|
"description": "70+ production-ready React Native components — TypeScript-first, themeable, accessible. Created by WireServers-UI.",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "src/index.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./src/index.ts",
|
|
9
|
+
"./tailwind-preset": "./tailwind-preset.js"
|
|
10
|
+
},
|
|
7
11
|
"publishConfig": {
|
|
8
12
|
"access": "public"
|
|
9
13
|
},
|
|
@@ -31,7 +35,7 @@
|
|
|
31
35
|
},
|
|
32
36
|
"files": [
|
|
33
37
|
"src",
|
|
34
|
-
"
|
|
38
|
+
"tailwind-preset.js",
|
|
35
39
|
"README.md"
|
|
36
40
|
],
|
|
37
41
|
"peerDependencies": {
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
|
|
3
|
+
/** @type {import('tailwindcss').Config} */
|
|
4
|
+
module.exports = {
|
|
5
|
+
darkMode: 'class',
|
|
6
|
+
content: [
|
|
7
|
+
path.join(__dirname, 'src/**/*.{ts,tsx}'),
|
|
8
|
+
],
|
|
9
|
+
presets: [require('nativewind/preset')],
|
|
10
|
+
safelist: [
|
|
11
|
+
{
|
|
12
|
+
pattern:
|
|
13
|
+
/(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)/,
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
theme: {
|
|
17
|
+
extend: {
|
|
18
|
+
colors: {
|
|
19
|
+
primary: {
|
|
20
|
+
0: 'rgb(var(--color-primary-0)/<alpha-value>)',
|
|
21
|
+
50: 'rgb(var(--color-primary-50)/<alpha-value>)',
|
|
22
|
+
100: 'rgb(var(--color-primary-100)/<alpha-value>)',
|
|
23
|
+
200: 'rgb(var(--color-primary-200)/<alpha-value>)',
|
|
24
|
+
300: 'rgb(var(--color-primary-300)/<alpha-value>)',
|
|
25
|
+
400: 'rgb(var(--color-primary-400)/<alpha-value>)',
|
|
26
|
+
500: 'rgb(var(--color-primary-500)/<alpha-value>)',
|
|
27
|
+
600: 'rgb(var(--color-primary-600)/<alpha-value>)',
|
|
28
|
+
700: 'rgb(var(--color-primary-700)/<alpha-value>)',
|
|
29
|
+
800: 'rgb(var(--color-primary-800)/<alpha-value>)',
|
|
30
|
+
900: 'rgb(var(--color-primary-900)/<alpha-value>)',
|
|
31
|
+
950: 'rgb(var(--color-primary-950)/<alpha-value>)',
|
|
32
|
+
},
|
|
33
|
+
secondary: {
|
|
34
|
+
0: 'rgb(var(--color-secondary-0)/<alpha-value>)',
|
|
35
|
+
50: 'rgb(var(--color-secondary-50)/<alpha-value>)',
|
|
36
|
+
100: 'rgb(var(--color-secondary-100)/<alpha-value>)',
|
|
37
|
+
200: 'rgb(var(--color-secondary-200)/<alpha-value>)',
|
|
38
|
+
300: 'rgb(var(--color-secondary-300)/<alpha-value>)',
|
|
39
|
+
400: 'rgb(var(--color-secondary-400)/<alpha-value>)',
|
|
40
|
+
500: 'rgb(var(--color-secondary-500)/<alpha-value>)',
|
|
41
|
+
600: 'rgb(var(--color-secondary-600)/<alpha-value>)',
|
|
42
|
+
700: 'rgb(var(--color-secondary-700)/<alpha-value>)',
|
|
43
|
+
800: 'rgb(var(--color-secondary-800)/<alpha-value>)',
|
|
44
|
+
900: 'rgb(var(--color-secondary-900)/<alpha-value>)',
|
|
45
|
+
950: 'rgb(var(--color-secondary-950)/<alpha-value>)',
|
|
46
|
+
},
|
|
47
|
+
tertiary: {
|
|
48
|
+
50: 'rgb(var(--color-tertiary-50)/<alpha-value>)',
|
|
49
|
+
100: 'rgb(var(--color-tertiary-100)/<alpha-value>)',
|
|
50
|
+
200: 'rgb(var(--color-tertiary-200)/<alpha-value>)',
|
|
51
|
+
300: 'rgb(var(--color-tertiary-300)/<alpha-value>)',
|
|
52
|
+
400: 'rgb(var(--color-tertiary-400)/<alpha-value>)',
|
|
53
|
+
500: 'rgb(var(--color-tertiary-500)/<alpha-value>)',
|
|
54
|
+
600: 'rgb(var(--color-tertiary-600)/<alpha-value>)',
|
|
55
|
+
700: 'rgb(var(--color-tertiary-700)/<alpha-value>)',
|
|
56
|
+
800: 'rgb(var(--color-tertiary-800)/<alpha-value>)',
|
|
57
|
+
900: 'rgb(var(--color-tertiary-900)/<alpha-value>)',
|
|
58
|
+
950: 'rgb(var(--color-tertiary-950)/<alpha-value>)',
|
|
59
|
+
},
|
|
60
|
+
error: {
|
|
61
|
+
0: 'rgb(var(--color-error-0)/<alpha-value>)',
|
|
62
|
+
50: 'rgb(var(--color-error-50)/<alpha-value>)',
|
|
63
|
+
100: 'rgb(var(--color-error-100)/<alpha-value>)',
|
|
64
|
+
200: 'rgb(var(--color-error-200)/<alpha-value>)',
|
|
65
|
+
300: 'rgb(var(--color-error-300)/<alpha-value>)',
|
|
66
|
+
400: 'rgb(var(--color-error-400)/<alpha-value>)',
|
|
67
|
+
500: 'rgb(var(--color-error-500)/<alpha-value>)',
|
|
68
|
+
600: 'rgb(var(--color-error-600)/<alpha-value>)',
|
|
69
|
+
700: 'rgb(var(--color-error-700)/<alpha-value>)',
|
|
70
|
+
800: 'rgb(var(--color-error-800)/<alpha-value>)',
|
|
71
|
+
900: 'rgb(var(--color-error-900)/<alpha-value>)',
|
|
72
|
+
950: 'rgb(var(--color-error-950)/<alpha-value>)',
|
|
73
|
+
},
|
|
74
|
+
success: {
|
|
75
|
+
0: 'rgb(var(--color-success-0)/<alpha-value>)',
|
|
76
|
+
50: 'rgb(var(--color-success-50)/<alpha-value>)',
|
|
77
|
+
100: 'rgb(var(--color-success-100)/<alpha-value>)',
|
|
78
|
+
200: 'rgb(var(--color-success-200)/<alpha-value>)',
|
|
79
|
+
300: 'rgb(var(--color-success-300)/<alpha-value>)',
|
|
80
|
+
400: 'rgb(var(--color-success-400)/<alpha-value>)',
|
|
81
|
+
500: 'rgb(var(--color-success-500)/<alpha-value>)',
|
|
82
|
+
600: 'rgb(var(--color-success-600)/<alpha-value>)',
|
|
83
|
+
700: 'rgb(var(--color-success-700)/<alpha-value>)',
|
|
84
|
+
800: 'rgb(var(--color-success-800)/<alpha-value>)',
|
|
85
|
+
900: 'rgb(var(--color-success-900)/<alpha-value>)',
|
|
86
|
+
950: 'rgb(var(--color-success-950)/<alpha-value>)',
|
|
87
|
+
},
|
|
88
|
+
warning: {
|
|
89
|
+
0: 'rgb(var(--color-warning-0)/<alpha-value>)',
|
|
90
|
+
50: 'rgb(var(--color-warning-50)/<alpha-value>)',
|
|
91
|
+
100: 'rgb(var(--color-warning-100)/<alpha-value>)',
|
|
92
|
+
200: 'rgb(var(--color-warning-200)/<alpha-value>)',
|
|
93
|
+
300: 'rgb(var(--color-warning-300)/<alpha-value>)',
|
|
94
|
+
400: 'rgb(var(--color-warning-400)/<alpha-value>)',
|
|
95
|
+
500: 'rgb(var(--color-warning-500)/<alpha-value>)',
|
|
96
|
+
600: 'rgb(var(--color-warning-600)/<alpha-value>)',
|
|
97
|
+
700: 'rgb(var(--color-warning-700)/<alpha-value>)',
|
|
98
|
+
800: 'rgb(var(--color-warning-800)/<alpha-value>)',
|
|
99
|
+
900: 'rgb(var(--color-warning-900)/<alpha-value>)',
|
|
100
|
+
950: 'rgb(var(--color-warning-950)/<alpha-value>)',
|
|
101
|
+
},
|
|
102
|
+
info: {
|
|
103
|
+
0: 'rgb(var(--color-info-0)/<alpha-value>)',
|
|
104
|
+
50: 'rgb(var(--color-info-50)/<alpha-value>)',
|
|
105
|
+
100: 'rgb(var(--color-info-100)/<alpha-value>)',
|
|
106
|
+
200: 'rgb(var(--color-info-200)/<alpha-value>)',
|
|
107
|
+
300: 'rgb(var(--color-info-300)/<alpha-value>)',
|
|
108
|
+
400: 'rgb(var(--color-info-400)/<alpha-value>)',
|
|
109
|
+
500: 'rgb(var(--color-info-500)/<alpha-value>)',
|
|
110
|
+
600: 'rgb(var(--color-info-600)/<alpha-value>)',
|
|
111
|
+
700: 'rgb(var(--color-info-700)/<alpha-value>)',
|
|
112
|
+
800: 'rgb(var(--color-info-800)/<alpha-value>)',
|
|
113
|
+
900: 'rgb(var(--color-info-900)/<alpha-value>)',
|
|
114
|
+
950: 'rgb(var(--color-info-950)/<alpha-value>)',
|
|
115
|
+
},
|
|
116
|
+
typography: {
|
|
117
|
+
0: 'rgb(var(--color-typography-0)/<alpha-value>)',
|
|
118
|
+
50: 'rgb(var(--color-typography-50)/<alpha-value>)',
|
|
119
|
+
100: 'rgb(var(--color-typography-100)/<alpha-value>)',
|
|
120
|
+
200: 'rgb(var(--color-typography-200)/<alpha-value>)',
|
|
121
|
+
300: 'rgb(var(--color-typography-300)/<alpha-value>)',
|
|
122
|
+
400: 'rgb(var(--color-typography-400)/<alpha-value>)',
|
|
123
|
+
500: 'rgb(var(--color-typography-500)/<alpha-value>)',
|
|
124
|
+
600: 'rgb(var(--color-typography-600)/<alpha-value>)',
|
|
125
|
+
700: 'rgb(var(--color-typography-700)/<alpha-value>)',
|
|
126
|
+
800: 'rgb(var(--color-typography-800)/<alpha-value>)',
|
|
127
|
+
900: 'rgb(var(--color-typography-900)/<alpha-value>)',
|
|
128
|
+
950: 'rgb(var(--color-typography-950)/<alpha-value>)',
|
|
129
|
+
white: '#FFFFFF',
|
|
130
|
+
gray: '#D4D4D4',
|
|
131
|
+
black: '#181718',
|
|
132
|
+
},
|
|
133
|
+
outline: {
|
|
134
|
+
0: 'rgb(var(--color-outline-0)/<alpha-value>)',
|
|
135
|
+
50: 'rgb(var(--color-outline-50)/<alpha-value>)',
|
|
136
|
+
100: 'rgb(var(--color-outline-100)/<alpha-value>)',
|
|
137
|
+
200: 'rgb(var(--color-outline-200)/<alpha-value>)',
|
|
138
|
+
300: 'rgb(var(--color-outline-300)/<alpha-value>)',
|
|
139
|
+
400: 'rgb(var(--color-outline-400)/<alpha-value>)',
|
|
140
|
+
500: 'rgb(var(--color-outline-500)/<alpha-value>)',
|
|
141
|
+
600: 'rgb(var(--color-outline-600)/<alpha-value>)',
|
|
142
|
+
700: 'rgb(var(--color-outline-700)/<alpha-value>)',
|
|
143
|
+
800: 'rgb(var(--color-outline-800)/<alpha-value>)',
|
|
144
|
+
900: 'rgb(var(--color-outline-900)/<alpha-value>)',
|
|
145
|
+
950: 'rgb(var(--color-outline-950)/<alpha-value>)',
|
|
146
|
+
},
|
|
147
|
+
background: {
|
|
148
|
+
0: 'rgb(var(--color-background-0)/<alpha-value>)',
|
|
149
|
+
50: 'rgb(var(--color-background-50)/<alpha-value>)',
|
|
150
|
+
100: 'rgb(var(--color-background-100)/<alpha-value>)',
|
|
151
|
+
200: 'rgb(var(--color-background-200)/<alpha-value>)',
|
|
152
|
+
300: 'rgb(var(--color-background-300)/<alpha-value>)',
|
|
153
|
+
400: 'rgb(var(--color-background-400)/<alpha-value>)',
|
|
154
|
+
500: 'rgb(var(--color-background-500)/<alpha-value>)',
|
|
155
|
+
600: 'rgb(var(--color-background-600)/<alpha-value>)',
|
|
156
|
+
700: 'rgb(var(--color-background-700)/<alpha-value>)',
|
|
157
|
+
800: 'rgb(var(--color-background-800)/<alpha-value>)',
|
|
158
|
+
900: 'rgb(var(--color-background-900)/<alpha-value>)',
|
|
159
|
+
950: 'rgb(var(--color-background-950)/<alpha-value>)',
|
|
160
|
+
error: 'rgb(var(--color-background-error)/<alpha-value>)',
|
|
161
|
+
warning: 'rgb(var(--color-background-warning)/<alpha-value>)',
|
|
162
|
+
muted: 'rgb(var(--color-background-muted)/<alpha-value>)',
|
|
163
|
+
success: 'rgb(var(--color-background-success)/<alpha-value>)',
|
|
164
|
+
info: 'rgb(var(--color-background-info)/<alpha-value>)',
|
|
165
|
+
light: '#FBFBFB',
|
|
166
|
+
dark: '#181719',
|
|
167
|
+
},
|
|
168
|
+
indicator: {
|
|
169
|
+
primary: 'rgb(var(--color-indicator-primary)/<alpha-value>)',
|
|
170
|
+
info: 'rgb(var(--color-indicator-info)/<alpha-value>)',
|
|
171
|
+
error: 'rgb(var(--color-indicator-error)/<alpha-value>)',
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
fontFamily: {
|
|
175
|
+
heading: undefined,
|
|
176
|
+
body: undefined,
|
|
177
|
+
mono: undefined,
|
|
178
|
+
jakarta: ['var(--font-plus-jakarta-sans)'],
|
|
179
|
+
roboto: ['var(--font-roboto)'],
|
|
180
|
+
code: ['var(--font-source-code-pro)'],
|
|
181
|
+
inter: ['var(--font-inter)'],
|
|
182
|
+
'space-mono': ['var(--font-space-mono)'],
|
|
183
|
+
},
|
|
184
|
+
fontWeight: {
|
|
185
|
+
extrablack: '950',
|
|
186
|
+
},
|
|
187
|
+
fontSize: {
|
|
188
|
+
'2xs': '10px',
|
|
189
|
+
},
|
|
190
|
+
boxShadow: {
|
|
191
|
+
'hard-1': '-2px 2px 8px 0px rgba(38, 38, 38, 0.20)',
|
|
192
|
+
'hard-2': '0px 3px 10px 0px rgba(38, 38, 38, 0.20)',
|
|
193
|
+
'hard-3': '2px 2px 8px 0px rgba(38, 38, 38, 0.20)',
|
|
194
|
+
'hard-4': '0px -3px 10px 0px rgba(38, 38, 38, 0.20)',
|
|
195
|
+
'hard-5': '0px 2px 10px 0px rgba(38, 38, 38, 0.10)',
|
|
196
|
+
'soft-1': '0px 0px 10px rgba(38, 38, 38, 0.1)',
|
|
197
|
+
'soft-2': '0px 0px 20px rgba(38, 38, 38, 0.2)',
|
|
198
|
+
'soft-3': '0px 0px 30px rgba(38, 38, 38, 0.1)',
|
|
199
|
+
'soft-4': '0px 0px 40px rgba(38, 38, 38, 0.1)',
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
<svg width="1980" height="600" viewBox="0 60 1980 500" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="title desc">
|
|
2
|
-
<title id="title">React-Natives logo</title>
|
|
3
|
-
<desc id="desc">High-resolution React-Natives horizontal logo with plus signs, italic wordmark, and tilted mobile-device icon.</desc>
|
|
4
|
-
<defs>
|
|
5
|
-
<linearGradient id="orbGradient" x1="84" y1="108" x2="434" y2="458" gradientUnits="userSpaceOnUse">
|
|
6
|
-
<stop stop-color="#61DBFB"/>
|
|
7
|
-
<stop offset="1" stop-color="#2BA8CC"/>
|
|
8
|
-
</linearGradient>
|
|
9
|
-
<linearGradient id="phoneBody" x1="156" y1="154" x2="344" y2="408" gradientUnits="userSpaceOnUse">
|
|
10
|
-
<stop stop-color="#F8FBFF"/>
|
|
11
|
-
<stop offset="1" stop-color="#D9E8F5"/>
|
|
12
|
-
</linearGradient>
|
|
13
|
-
<linearGradient id="phoneScreen" x1="174" y1="184" x2="302" y2="362" gradientUnits="userSpaceOnUse">
|
|
14
|
-
<stop stop-color="#F9FCFF"/>
|
|
15
|
-
<stop offset="1" stop-color="#E4EDF6"/>
|
|
16
|
-
</linearGradient>
|
|
17
|
-
</defs>
|
|
18
|
-
|
|
19
|
-
<circle cx="250" cy="304" r="224" fill="url(#orbGradient)"/>
|
|
20
|
-
<circle cx="250" cy="304" r="224" stroke="#2BA8CC" stroke-width="10"/>
|
|
21
|
-
<circle cx="250" cy="304" r="160" fill="none" stroke="#E8F9FE" stroke-width="10"/>
|
|
22
|
-
|
|
23
|
-
<path d="M162 120H194" stroke="#E8F9FE" stroke-width="10" stroke-linecap="round"/>
|
|
24
|
-
<path d="M178 104V136" stroke="#E8F9FE" stroke-width="10" stroke-linecap="round"/>
|
|
25
|
-
<path d="M204 96H230" stroke="#E8F9FE" stroke-width="8" stroke-linecap="round"/>
|
|
26
|
-
<path d="M217 83V109" stroke="#E8F9FE" stroke-width="8" stroke-linecap="round"/>
|
|
27
|
-
<path d="M130 146H150" stroke="#61DBFB" stroke-width="6" stroke-linecap="round"/>
|
|
28
|
-
<path d="M140 136V156" stroke="#61DBFB" stroke-width="6" stroke-linecap="round"/>
|
|
29
|
-
|
|
30
|
-
<g transform="rotate(-16 246 324)">
|
|
31
|
-
<rect x="154" y="152" width="188" height="282" rx="34" fill="url(#phoneBody)" stroke="#8FA7BA" stroke-width="10"/>
|
|
32
|
-
<rect x="176" y="182" width="144" height="206" rx="20" fill="url(#phoneScreen)"/>
|
|
33
|
-
<rect x="194" y="208" width="108" height="8" rx="4" fill="#C8D4E0"/>
|
|
34
|
-
<rect x="194" y="234" width="96" height="8" rx="4" fill="#C8D4E0"/>
|
|
35
|
-
<rect x="194" y="260" width="102" height="8" rx="4" fill="#C8D4E0"/>
|
|
36
|
-
<rect x="220" y="166" width="56" height="6" rx="3" fill="#C0D2E1"/>
|
|
37
|
-
<circle cx="248" cy="408" r="8" fill="#C0D2E1"/>
|
|
38
|
-
<path d="M188 222L304 350" stroke="#ECF3FA" stroke-width="7" stroke-linecap="round"/>
|
|
39
|
-
</g>
|
|
40
|
-
|
|
41
|
-
<g transform="skewX(-9)">
|
|
42
|
-
<text x="620" y="266" fill="#2BA8CC" font-size="132" font-family="Inter, Segoe UI, Roboto, Helvetica, Arial, sans-serif" font-style="italic" font-weight="800" letter-spacing="16">REACT-NATIVES</text>
|
|
43
|
-
<text x="620" y="376" fill="#61DBFB" font-size="58" font-family="Inter, Segoe UI, Roboto, Helvetica, Arial, sans-serif" font-style="italic" font-weight="600" letter-spacing="14">WIRED FOR SPEED</text>
|
|
44
|
-
</g>
|
|
45
|
-
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<svg width="1024" height="1024" viewBox="100 100 560 560" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="title desc">
|
|
2
|
-
<title id="title">React-Natives icon</title>
|
|
3
|
-
<desc id="desc">High-resolution React-Natives icon with plus signs and tilted mobile-device symbol.</desc>
|
|
4
|
-
<defs>
|
|
5
|
-
<linearGradient id="orb" x1="120" y1="120" x2="590" y2="610" gradientUnits="userSpaceOnUse">
|
|
6
|
-
<stop stop-color="#61DBFB"/>
|
|
7
|
-
<stop offset="1" stop-color="#2BA8CC"/>
|
|
8
|
-
</linearGradient>
|
|
9
|
-
<linearGradient id="phoneBody" x1="226" y1="208" x2="500" y2="564" gradientUnits="userSpaceOnUse">
|
|
10
|
-
<stop stop-color="#F8FBFF"/>
|
|
11
|
-
<stop offset="1" stop-color="#D9E8F5"/>
|
|
12
|
-
</linearGradient>
|
|
13
|
-
<linearGradient id="phoneScreen" x1="254" y1="254" x2="430" y2="500" gradientUnits="userSpaceOnUse">
|
|
14
|
-
<stop stop-color="#F9FCFF"/>
|
|
15
|
-
<stop offset="1" stop-color="#E4EDF6"/>
|
|
16
|
-
</linearGradient>
|
|
17
|
-
</defs>
|
|
18
|
-
|
|
19
|
-
<g transform="translate(50 0)">
|
|
20
|
-
<circle cx="330" cy="378" r="268" fill="url(#orb)"/>
|
|
21
|
-
<circle cx="330" cy="378" r="268" stroke="#2BA8CC" stroke-width="12"/>
|
|
22
|
-
<circle cx="330" cy="378" r="194" fill="none" stroke="#E8F9FE" stroke-width="10"/>
|
|
23
|
-
|
|
24
|
-
<path d="M208 154H248" stroke="#E8F9FE" stroke-width="12" stroke-linecap="round"/>
|
|
25
|
-
<path d="M228 134V174" stroke="#E8F9FE" stroke-width="12" stroke-linecap="round"/>
|
|
26
|
-
<path d="M262 124H292" stroke="#E8F9FE" stroke-width="10" stroke-linecap="round"/>
|
|
27
|
-
<path d="M277 109V139" stroke="#E8F9FE" stroke-width="10" stroke-linecap="round"/>
|
|
28
|
-
<path d="M170 186H194" stroke="#61DBFB" stroke-width="8" stroke-linecap="round"/>
|
|
29
|
-
<path d="M182 174V198" stroke="#61DBFB" stroke-width="8" stroke-linecap="round"/>
|
|
30
|
-
|
|
31
|
-
<g transform="rotate(-17 332 412)">
|
|
32
|
-
<rect x="222" y="216" width="232" height="360" rx="42" fill="url(#phoneBody)" stroke="#8FA7BA" stroke-width="12"/>
|
|
33
|
-
<rect x="250" y="252" width="176" height="262" rx="26" fill="url(#phoneScreen)"/>
|
|
34
|
-
<rect x="272" y="286" width="132" height="10" rx="5" fill="#C8D4E0"/>
|
|
35
|
-
<rect x="272" y="320" width="118" height="10" rx="5" fill="#C8D4E0"/>
|
|
36
|
-
<rect x="272" y="354" width="126" height="10" rx="5" fill="#C8D4E0"/>
|
|
37
|
-
<rect x="306" y="232" width="64" height="8" rx="4" fill="#C0D2E1"/>
|
|
38
|
-
<circle cx="338" cy="542" r="10" fill="#C0D2E1"/>
|
|
39
|
-
<path d="M266 302L410 464" stroke="#ECF3FA" stroke-width="8" stroke-linecap="round"/>
|
|
40
|
-
</g>
|
|
41
|
-
</g>
|
|
42
|
-
</svg>
|