create-expo-stack 2.22.0 → 2.23.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 +13 -13
- package/build/commands/create-expo-stack.js +17 -6
- package/build/templates/base/App.tsx.ejs +1 -1
- package/build/templates/base/components/TabBarIcon.tsx.ejs +2 -2
- package/build/templates/base/package.json.ejs +14 -0
- package/build/templates/packages/expo-router/drawer/app/modal.tsx.ejs +1 -1
- package/build/templates/packages/expo-router/stack/app/index.tsx.ejs +11 -2
- package/build/templates/packages/expo-router/tabs/app/modal.tsx.ejs +1 -1
- package/build/templates/packages/i18next/translation/index.ts.ejs +3 -3
- package/build/templates/packages/nativewind/components/EditScreenInfo.tsx.ejs +2 -1
- package/build/templates/packages/nativewindui/components/TabBarIcon.tsx.ejs +2 -2
- package/build/templates/packages/nativewindui/drawer/app/(drawer)/index.tsx.ejs +7 -7
- package/build/templates/packages/nativewindui/drawer/app/_layout.tsx.ejs +4 -5
- package/build/templates/packages/nativewindui/drawer/app/modal.tsx.ejs +2 -2
- package/build/templates/packages/nativewindui/lib/useHeaderSearchBar.tsx.ejs +33 -0
- package/build/templates/packages/nativewindui/stack/app/_layout.tsx.ejs +1 -1
- package/build/templates/packages/nativewindui/stack/app/index.tsx.ejs +9 -39
- package/build/templates/packages/nativewindui/tabs/app/(tabs)/index.tsx.ejs +10 -13
- package/build/templates/packages/nativewindui/tabs/app/_layout.tsx.ejs +5 -9
- package/build/templates/packages/nativewindui/tabs/app/modal.tsx.ejs +1 -1
- package/build/templates/packages/nativewindui/theme/index.ts.ejs +1 -1
- package/build/templates/packages/react-navigation/screens/modal.tsx.ejs +1 -1
- package/build/templates/packages/react-navigation/screens/overview.tsx.ejs +1 -1
- package/build/types/types.d.ts +3 -2
- package/build/types/utilities/softwareMansion.d.ts +13 -0
- package/build/types.js +10 -2
- package/build/utilities/configureProjectFiles.js +2 -1
- package/build/utilities/generateNWUI.js +105 -1
- package/build/utilities/runCLI.js +61 -1
- package/build/utilities/showHelp.js +7 -1
- package/build/utilities/softwareMansion.js +48 -0
- package/build/utilities/systemCommand.js +5 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -129,21 +129,28 @@ Thanks go to these wonderful people:
|
|
|
129
129
|
<sub><b>Sam Moore</b></sub>
|
|
130
130
|
</a>
|
|
131
131
|
</td>
|
|
132
|
+
<td align="center">
|
|
133
|
+
<a href="https://github.com/DavidJGrimsley">
|
|
134
|
+
<img src="https://avatars.githubusercontent.com/u/114373822?v=4" width="100;" alt="DavidJGrimsley"/>
|
|
135
|
+
<br />
|
|
136
|
+
<sub><b>David Grimsley</b></sub>
|
|
137
|
+
</a>
|
|
138
|
+
</td>
|
|
132
139
|
<td align="center">
|
|
133
140
|
<a href="https://github.com/ernestoresende">
|
|
134
141
|
<img src="https://avatars.githubusercontent.com/u/55156145?v=4" width="100;" alt="ernestoresende"/>
|
|
135
142
|
<br />
|
|
136
143
|
<sub><b>Ernesto Resende</b></sub>
|
|
137
144
|
</a>
|
|
138
|
-
</td>
|
|
145
|
+
</td></tr>
|
|
146
|
+
<tr>
|
|
139
147
|
<td align="center">
|
|
140
148
|
<a href="https://github.com/PickleNik">
|
|
141
149
|
<img src="https://avatars.githubusercontent.com/u/31113245?v=4" width="100;" alt="PickleNik"/>
|
|
142
150
|
<br />
|
|
143
151
|
<sub><b>Null</b></sub>
|
|
144
152
|
</a>
|
|
145
|
-
</td
|
|
146
|
-
<tr>
|
|
153
|
+
</td>
|
|
147
154
|
<td align="center">
|
|
148
155
|
<a href="https://github.com/frankcalise">
|
|
149
156
|
<img src="https://avatars.githubusercontent.com/u/374022?v=4" width="100;" alt="frankcalise"/>
|
|
@@ -178,15 +185,15 @@ Thanks go to these wonderful people:
|
|
|
178
185
|
<br />
|
|
179
186
|
<sub><b>Gaurav Bhandari</b></sub>
|
|
180
187
|
</a>
|
|
181
|
-
</td>
|
|
188
|
+
</td></tr>
|
|
189
|
+
<tr>
|
|
182
190
|
<td align="center">
|
|
183
191
|
<a href="https://github.com/finnbayer">
|
|
184
192
|
<img src="https://avatars.githubusercontent.com/u/115630860?v=4" width="100;" alt="finnbayer"/>
|
|
185
193
|
<br />
|
|
186
194
|
<sub><b>Finn Bayer</b></sub>
|
|
187
195
|
</a>
|
|
188
|
-
</td
|
|
189
|
-
<tr>
|
|
196
|
+
</td>
|
|
190
197
|
<td align="center">
|
|
191
198
|
<a href="https://github.com/saimon24">
|
|
192
199
|
<img src="https://avatars.githubusercontent.com/u/2514208?v=4" width="100;" alt="saimon24"/>
|
|
@@ -221,13 +228,6 @@ Thanks go to these wonderful people:
|
|
|
221
228
|
<br />
|
|
222
229
|
<sub><b>Jacek Pudysz</b></sub>
|
|
223
230
|
</a>
|
|
224
|
-
</td>
|
|
225
|
-
<td align="center">
|
|
226
|
-
<a href="https://github.com/DavidJGrimsley">
|
|
227
|
-
<img src="https://avatars.githubusercontent.com/u/114373822?v=4" width="100;" alt="DavidJGrimsley"/>
|
|
228
|
-
<br />
|
|
229
|
-
<sub><b>David Grimsley</b></sub>
|
|
230
|
-
</a>
|
|
231
231
|
</td></tr>
|
|
232
232
|
<tr>
|
|
233
233
|
<td align="center">
|
|
@@ -17,6 +17,7 @@ const utilities_1 = require("../utilities");
|
|
|
17
17
|
const constants_1 = require("../constants");
|
|
18
18
|
const types_1 = require("../types");
|
|
19
19
|
const clearStylingPackages_1 = __importDefault(require("../utilities/clearStylingPackages"));
|
|
20
|
+
const softwareMansion_1 = require("../utilities/softwareMansion");
|
|
20
21
|
const systemCommand_1 = require("../utilities/systemCommand");
|
|
21
22
|
const validateProjectName_1 = require("../utilities/validateProjectName");
|
|
22
23
|
const prompts_1 = require("@clack/prompts");
|
|
@@ -272,6 +273,11 @@ const command = {
|
|
|
272
273
|
if (options.vexoAnalytics || options['vexo-analytics'] || options.vexoanalytics) {
|
|
273
274
|
cliResults.packages.push({ name: 'vexo-analytics', type: 'analytics' });
|
|
274
275
|
}
|
|
276
|
+
softwareMansion_1.softwareMansionPackageOptions.forEach(({ name, aliases }) => {
|
|
277
|
+
if (aliases.some((alias) => options[alias]) && (0, softwareMansion_1.shouldAddSoftwareMansionPackage)(name, cliResults)) {
|
|
278
|
+
cliResults.packages.push({ name, type: 'software-mansion' });
|
|
279
|
+
}
|
|
280
|
+
});
|
|
275
281
|
// By this point, all cliResults should be set
|
|
276
282
|
info('');
|
|
277
283
|
highlight('Your project configuration:');
|
|
@@ -309,10 +315,6 @@ const command = {
|
|
|
309
315
|
script += '--drawer+tabs ';
|
|
310
316
|
}
|
|
311
317
|
}
|
|
312
|
-
const stateManagementPackage = cliResults.packages.find((p) => p.type === 'state-management');
|
|
313
|
-
if (stateManagementPackage) {
|
|
314
|
-
script += `--${stateManagementPackage.name} `;
|
|
315
|
-
}
|
|
316
318
|
}
|
|
317
319
|
else {
|
|
318
320
|
// Add the packages
|
|
@@ -330,6 +332,16 @@ const command = {
|
|
|
330
332
|
}
|
|
331
333
|
});
|
|
332
334
|
}
|
|
335
|
+
if (isNativewindUISelected) {
|
|
336
|
+
cliResults.packages.forEach((p) => {
|
|
337
|
+
if (p.type === 'state-management' ||
|
|
338
|
+
p.type === 'internationalization' ||
|
|
339
|
+
p.type === 'analytics' ||
|
|
340
|
+
p.type === 'software-mansion') {
|
|
341
|
+
script += `--${p.name} `;
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
}
|
|
333
345
|
// Check if the user wants to skip installing packages
|
|
334
346
|
if (cliResults.flags.noInstall) {
|
|
335
347
|
script += '--no-install ';
|
|
@@ -361,7 +373,6 @@ const command = {
|
|
|
361
373
|
const stylingPackage = packages.find((p) => p.type === 'styling');
|
|
362
374
|
const internalizationPackage = packages.find((p) => p.type === 'internationalization');
|
|
363
375
|
const analyticsPackage = packages.find((p) => p.type === 'analytics');
|
|
364
|
-
//add the state management package if it is selected
|
|
365
376
|
const stateManagementPackage = packages.find((p) => p.type === 'state-management') || undefined;
|
|
366
377
|
let files = [];
|
|
367
378
|
files = (0, utilities_1.configureProjectFiles)(authenticationPackage, files, navigationPackage, stylingPackage, analyticsPackage, toolbox, cliResults, internalizationPackage, stateManagementPackage);
|
|
@@ -401,4 +412,4 @@ const command = {
|
|
|
401
412
|
})
|
|
402
413
|
};
|
|
403
414
|
exports.default = command;
|
|
404
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWV4cG8tc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY3JlYXRlLWV4cG8tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFDQSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFN0IsNENBVXNCO0FBQ3RCLDRDQU9zQjtBQUN0QixvQ0FBeUQ7QUFDekQsNkZBQXFFO0FBQ3JFLDhEQUEyRDtBQUMzRCwwRUFBdUU7QUFDdkUsNENBQStEO0FBQy9ELG1HQUEyRTtBQUUzRSxNQUFNLE9BQU8sR0FBbUI7SUFDOUIsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixXQUFXLEVBQUUsMkJBQTJCO0lBQ3hDLEdBQUcsRUFBRSxDQUFPLE9BQU8sRUFBRSxFQUFFOztRQUNyQixNQUFNLEVBQ0osVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUNuQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQzlCLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFDbkQsTUFBTSxFQUNQLEdBQUcsT0FBTyxDQUFDO1FBRVosTUFBTSx1QkFBdUIsR0FBRyxHQUFHLEVBQUU7WUFDbkMsSUFBSSxDQUFDLDZEQUE2RCxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUNGLHdIQUF3SCxDQUN6SCxDQUFDO1lBQ0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDO1FBRUYsbUJBQW1CO1FBQ25CLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBQSxvQkFBUSxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkMsT0FBTztRQUNULENBQUM7UUFFRCxzQkFBc0I7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
|
|
415
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWV4cG8tc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvY3JlYXRlLWV4cG8tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFDQSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFN0IsNENBVXNCO0FBQ3RCLDRDQU9zQjtBQUN0QixvQ0FBeUQ7QUFDekQsNkZBQXFFO0FBQ3JFLGtFQUE4RztBQUM5Ryw4REFBMkQ7QUFDM0QsMEVBQXVFO0FBQ3ZFLDRDQUErRDtBQUMvRCxtR0FBMkU7QUFFM0UsTUFBTSxPQUFPLEdBQW1CO0lBQzlCLElBQUksRUFBRSxtQkFBbUI7SUFDekIsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxHQUFHLEVBQUUsQ0FBTyxPQUFPLEVBQUUsRUFBRTs7UUFDckIsTUFBTSxFQUNKLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFDbkMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUM5QixLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQ25ELE1BQU0sRUFDUCxHQUFHLE9BQU8sQ0FBQztRQUVaLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxFQUFFO1lBQ25DLElBQUksQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FDRix3SEFBd0gsQ0FDekgsQ0FBQztZQUNGLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQztRQUVGLG1CQUFtQjtRQUNuQixJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlCLElBQUEsb0JBQVEsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLE9BQU87UUFDVCxDQUFD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
|
|
@@ -6,7 +6,7 @@ import { StatusBar } from 'expo-status-bar';
|
|
|
6
6
|
|
|
7
7
|
<% if (props.internalizationPackage?.name === "i18next") { %>
|
|
8
8
|
import './translation';
|
|
9
|
-
import { InternalizationExample } from 'components/InternalizationExample';
|
|
9
|
+
import { InternalizationExample } from './components/InternalizationExample';
|
|
10
10
|
<% } %>
|
|
11
11
|
|
|
12
12
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import FontAwesome from '@expo/vector-icons/FontAwesome';
|
|
2
|
-
import { StyleSheet } from 'react-native';
|
|
2
|
+
import { ColorValue, StyleSheet } from 'react-native';
|
|
3
3
|
|
|
4
4
|
export const TabBarIcon = (props: {
|
|
5
5
|
name: React.ComponentProps<typeof FontAwesome>['name'];
|
|
6
|
-
color:
|
|
6
|
+
color: ColorValue;
|
|
7
7
|
}) => {
|
|
8
8
|
return <FontAwesome size={28} style={styles.tabBarIcon} {...props} />;
|
|
9
9
|
};
|
|
@@ -72,10 +72,24 @@
|
|
|
72
72
|
|
|
73
73
|
<% if (props.navigationPackage?.type === "navigation") { %>
|
|
74
74
|
"@react-navigation/native": "^7.1.6",
|
|
75
|
+
<% } %>
|
|
76
|
+
|
|
77
|
+
<% if (props.navigationPackage?.type === "navigation" || props.packages?.some((p) => p.name === "react-native-gesture-handler")) { %>
|
|
75
78
|
"react-native-gesture-handler": "~2.31.1",
|
|
79
|
+
<% } %>
|
|
80
|
+
|
|
81
|
+
<% if (props.navigationPackage?.type === "navigation" || props.packages?.some((p) => p.name === "react-native-screens")) { %>
|
|
76
82
|
"react-native-screens": "4.25.2",
|
|
77
83
|
<% } %>
|
|
78
84
|
|
|
85
|
+
<% if (props.packages?.some((p) => p.name === "react-native-svg")) { %>
|
|
86
|
+
"react-native-svg": "15.15.4",
|
|
87
|
+
<% } %>
|
|
88
|
+
|
|
89
|
+
<% if (props.packages?.some((p) => p.name === "react-native-keyboard-controller")) { %>
|
|
90
|
+
"react-native-keyboard-controller": "1.21.6",
|
|
91
|
+
<% } %>
|
|
92
|
+
|
|
79
93
|
<% if (props.navigationPackage?.name === "react-navigation") { %>
|
|
80
94
|
"@react-navigation/stack": "^7.4.8",
|
|
81
95
|
"@expo/vector-icons": "^15.0.2",
|
|
@@ -4,7 +4,7 @@ import { Platform } from 'react-native';
|
|
|
4
4
|
import { ScreenContent } from '@/components/ScreenContent';
|
|
5
5
|
|
|
6
6
|
<% if (props.internalizationPackage?.name === "i18next") { %>
|
|
7
|
-
import { InternalizationExample } from 'components/InternalizationExample';
|
|
7
|
+
import { InternalizationExample } from '../components/InternalizationExample';
|
|
8
8
|
<% } %>
|
|
9
9
|
|
|
10
10
|
export default function Modal() {
|
|
@@ -13,7 +13,7 @@ import { Container } from '@/components/Container';
|
|
|
13
13
|
import { ScreenContent } from '@/components/ScreenContent';
|
|
14
14
|
|
|
15
15
|
<% if (props.internalizationPackage?.name === "i18next") { %>
|
|
16
|
-
import { InternalizationExample } from 'components/InternalizationExample';
|
|
16
|
+
import { InternalizationExample } from '../components/InternalizationExample';
|
|
17
17
|
<% } %>
|
|
18
18
|
|
|
19
19
|
export default function Home() {
|
|
@@ -30,13 +30,21 @@ export default function Home() {
|
|
|
30
30
|
<InternalizationExample />
|
|
31
31
|
<% } %>
|
|
32
32
|
</ScreenContent>
|
|
33
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
34
|
+
<View className={styles.buttonWrapper}>
|
|
35
|
+
<% } %>
|
|
33
36
|
<Link href={{ pathname: '/details', params: { name: 'Dan' } }} asChild>
|
|
34
37
|
<% if (props.stylingPackage?.name === "unistyles") { %>
|
|
35
38
|
<Button title="Show Details" style={styles.button} />
|
|
39
|
+
<% } else if (props.stylingPackage?.name === "nativewind") { %>
|
|
40
|
+
<Button title="Show Details" className="mx-6" />
|
|
36
41
|
<% } else { %>
|
|
37
42
|
<Button title="Show Details" />
|
|
38
43
|
<% } %>
|
|
39
44
|
</Link>
|
|
45
|
+
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
46
|
+
</View>
|
|
47
|
+
<% } %>
|
|
40
48
|
</Container>
|
|
41
49
|
</View>
|
|
42
50
|
);
|
|
@@ -45,7 +53,8 @@ export default function Home() {
|
|
|
45
53
|
<% if (props.stylingPackage?.name === "nativewind") { %>
|
|
46
54
|
const styles = {
|
|
47
55
|
container: "flex flex-1 bg-white",
|
|
48
|
-
|
|
56
|
+
buttonWrapper: "mx-4",
|
|
57
|
+
};
|
|
49
58
|
<% } else if (props.stylingPackage?.name === "stylesheet") { %>
|
|
50
59
|
const styles = StyleSheet.create({
|
|
51
60
|
container: {
|
|
@@ -4,7 +4,7 @@ import { Platform } from 'react-native';
|
|
|
4
4
|
import { ScreenContent } from '@/components/ScreenContent';
|
|
5
5
|
|
|
6
6
|
<% if (props.internalizationPackage?.name === "i18next") { %>
|
|
7
|
-
import { InternalizationExample } from 'components/InternalizationExample';
|
|
7
|
+
import { InternalizationExample } from '../components/InternalizationExample';
|
|
8
8
|
<% } %>
|
|
9
9
|
|
|
10
10
|
export default function Modal() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { init18n } from 'core/i18n/init';
|
|
2
|
-
import en from '
|
|
3
|
-
import fr from '
|
|
1
|
+
import { init18n } from '../core/i18n/init';
|
|
2
|
+
import en from './en.json';
|
|
3
|
+
import fr from './fr.json';
|
|
4
4
|
|
|
5
5
|
export const resources = {
|
|
6
6
|
en: {
|
|
@@ -18,7 +18,7 @@ export const EditScreenInfo: React.FC<EditScreenInfoProps> = ({ path }) => {
|
|
|
18
18
|
const description = "Change any of the text, save the file, and your app will automatically update."
|
|
19
19
|
<% } %>
|
|
20
20
|
return (
|
|
21
|
-
<View>
|
|
21
|
+
<View className={styles.container}>
|
|
22
22
|
<View className={styles.getStartedContainer}>
|
|
23
23
|
<Text className={styles.getStartedText}>{title}</Text>
|
|
24
24
|
<View className={`${styles.codeHighlightContainer} ${styles.homeScreenFilename}`}>
|
|
@@ -33,6 +33,7 @@ export const EditScreenInfo: React.FC<EditScreenInfoProps> = ({ path }) => {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
const styles = {
|
|
36
|
+
container: `w-full`,
|
|
36
37
|
codeHighlightContainer: `rounded-md px-1`,
|
|
37
38
|
getStartedContainer: `items-center mx-12`,
|
|
38
39
|
getStartedText: `text-lg leading-6 text-center`,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import FontAwesome from '@expo/vector-icons/FontAwesome';
|
|
2
|
-
import { StyleSheet } from 'react-native';
|
|
2
|
+
import { ColorValue, StyleSheet } from 'react-native';
|
|
3
3
|
|
|
4
4
|
export const TabBarIcon = (props: {
|
|
5
5
|
name: React.ComponentProps<typeof FontAwesome>['name'];
|
|
6
|
-
color:
|
|
6
|
+
color: ColorValue;
|
|
7
7
|
}) => {
|
|
8
8
|
return <FontAwesome size={28} style={styles.tabBarIcon} {...props} />;
|
|
9
9
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Stack } from 'expo-router';
|
|
2
|
-
import { useHeaderHeight } from '
|
|
2
|
+
import { useHeaderHeight } from 'expo-router/react-navigation';
|
|
3
3
|
import { FlashList } from '@shopify/flash-list';
|
|
4
4
|
import { cssInterop } from 'nativewind';
|
|
5
5
|
import * as React from 'react';
|
|
@@ -27,12 +27,12 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
|
27
27
|
<% if (props.stylingPackage?.options.selectedComponents.includes('action-sheet')) { %>
|
|
28
28
|
import { useActionSheet } from '@expo/react-native-action-sheet';
|
|
29
29
|
<% } %>
|
|
30
|
-
import { Icon } from '@roninoss/icons';
|
|
31
30
|
<% if (props.stylingPackage?.options.selectedComponents.includes('ratings-indicator')) { %>
|
|
32
31
|
import * as StoreReview from 'expo-store-review';
|
|
33
32
|
<% } %>
|
|
34
33
|
|
|
35
34
|
import { Container } from '@/components/Container';
|
|
35
|
+
import { Icon } from '@/components/nativewindui/Icon';
|
|
36
36
|
<% if (props.stylingPackage?.options.selectedComponents.includes('activity-indicator')) { %>
|
|
37
37
|
import { ActivityIndicator } from '@/components/nativewindui/ActivityIndicator';
|
|
38
38
|
<% } %>
|
|
@@ -59,6 +59,7 @@ import { Text } from '@/components/nativewindui/Text';
|
|
|
59
59
|
import { Toggle } from '@/components/nativewindui/Toggle';
|
|
60
60
|
<% } %>
|
|
61
61
|
import { useColorScheme } from '@/lib/useColorScheme';
|
|
62
|
+
import { useHeaderSearchBar } from '@/lib/useHeaderSearchBar';
|
|
62
63
|
|
|
63
64
|
export default function Home() {
|
|
64
65
|
const searchValue = useHeaderSearchBar({ hideWhenScrolling: COMPONENTS.length === 0 });
|
|
@@ -75,7 +76,6 @@ export default function Home() {
|
|
|
75
76
|
contentInsetAdjustmentBehavior="automatic"
|
|
76
77
|
keyboardShouldPersistTaps="handled"
|
|
77
78
|
data={data}
|
|
78
|
-
estimatedItemSize={200}
|
|
79
79
|
contentContainerClassName="py-4 android:pb-12"
|
|
80
80
|
extraData={searchValue}
|
|
81
81
|
keyExtractor={keyExtractor}
|
|
@@ -112,7 +112,7 @@ function ListEmptyComponent() {
|
|
|
112
112
|
|
|
113
113
|
return (
|
|
114
114
|
<View style={{ height }} className="flex-1 items-center justify-center gap-1 px-12">
|
|
115
|
-
<Icon name="
|
|
115
|
+
<Icon name="doc.badge.plus" size={42} color={colors.grey} />
|
|
116
116
|
<Text variant='title3' className='pb-1 text-center font-semibold'>
|
|
117
117
|
No Components Installed
|
|
118
118
|
</Text>
|
|
@@ -226,8 +226,8 @@ const COMPONENTS: ComponentItem[] = [
|
|
|
226
226
|
<DatePicker
|
|
227
227
|
value={date}
|
|
228
228
|
mode='datetime'
|
|
229
|
-
|
|
230
|
-
setDate(
|
|
229
|
+
onValueChange={(_event, selectedDate) => {
|
|
230
|
+
setDate(selectedDate);
|
|
231
231
|
}}
|
|
232
232
|
/>
|
|
233
233
|
</View>
|
|
@@ -532,4 +532,4 @@ const COMPONENTS: ComponentItem[] = [
|
|
|
532
532
|
},
|
|
533
533
|
},
|
|
534
534
|
<% } %>
|
|
535
|
-
];
|
|
535
|
+
];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import '../global.css';
|
|
2
2
|
import 'expo-dev-client';
|
|
3
|
-
import { ThemeProvider as NavThemeProvider } from '
|
|
3
|
+
import { ThemeProvider as NavThemeProvider } from 'expo-router/react-navigation';
|
|
4
4
|
<% if (props.stylingPackage?.options.selectedComponents.includes('action-sheet')) { %>
|
|
5
5
|
import { ActionSheetProvider } from '@expo/react-native-action-sheet';
|
|
6
6
|
<% } %>
|
|
@@ -13,8 +13,8 @@ import { StatusBar } from 'expo-status-bar';
|
|
|
13
13
|
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
14
14
|
<% } %>
|
|
15
15
|
|
|
16
|
-
import { ThemeToggle } from '@/components/ThemeToggle';
|
|
17
|
-
import { useColorScheme
|
|
16
|
+
import { ThemeToggle } from '@/components/nativewindui/ThemeToggle';
|
|
17
|
+
import { useColorScheme } from '@/lib/useColorScheme';
|
|
18
18
|
import { NAV_THEME } from '@/theme';
|
|
19
19
|
|
|
20
20
|
export {
|
|
@@ -23,7 +23,6 @@ export {
|
|
|
23
23
|
} from 'expo-router';
|
|
24
24
|
|
|
25
25
|
export default function RootLayout() {
|
|
26
|
-
useInitialAndroidBarSync();
|
|
27
26
|
const { colorScheme, isDarkColorScheme } = useColorScheme();
|
|
28
27
|
|
|
29
28
|
return (
|
|
@@ -72,4 +71,4 @@ const MODAL_OPTIONS = {
|
|
|
72
71
|
animation: 'fade_from_bottom', // for android
|
|
73
72
|
title: 'Settings',
|
|
74
73
|
headerRight: () => <ThemeToggle />,
|
|
75
|
-
} as const;
|
|
74
|
+
} as const;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Icon } from '@roninoss/icons';
|
|
2
1
|
import { StatusBar } from 'expo-status-bar';
|
|
3
2
|
import { Linking, Platform, View } from 'react-native';
|
|
4
3
|
|
|
4
|
+
import { Icon } from '@/components/nativewindui/Icon';
|
|
5
5
|
import { Text } from '@/components/nativewindui/Text';
|
|
6
6
|
import { useColorScheme } from '@/lib/useColorScheme';
|
|
7
7
|
|
|
@@ -13,7 +13,7 @@ export default function ModalScreen() {
|
|
|
13
13
|
style={Platform.OS === 'ios' ? 'light' : colorScheme === 'dark' ? 'light' : 'dark'}
|
|
14
14
|
/>
|
|
15
15
|
<View className="flex-1 items-center justify-center gap-1 px-12">
|
|
16
|
-
<Icon name="
|
|
16
|
+
<Icon name="doc.badge.plus" size={42} color={colors.grey} />
|
|
17
17
|
<Text variant="title3" className="pb-1 text-center font-semibold">
|
|
18
18
|
NativewindUI
|
|
19
19
|
</Text>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useNavigation } from 'expo-router/react-navigation';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import type { SearchBarProps } from 'react-native-screens';
|
|
4
|
+
|
|
5
|
+
import { useColorScheme } from './useColorScheme';
|
|
6
|
+
|
|
7
|
+
function useHeaderSearchBar(props: SearchBarProps = {}) {
|
|
8
|
+
const { colorScheme, colors } = useColorScheme();
|
|
9
|
+
const navigation = useNavigation();
|
|
10
|
+
const [search, setSearch] = React.useState('');
|
|
11
|
+
|
|
12
|
+
React.useLayoutEffect(() => {
|
|
13
|
+
navigation.setOptions({
|
|
14
|
+
headerSearchBarOptions: {
|
|
15
|
+
placeholder: 'Search...',
|
|
16
|
+
textColor: colors.foreground,
|
|
17
|
+
tintColor: colors.primary,
|
|
18
|
+
headerIconColor: colors.foreground,
|
|
19
|
+
hintTextColor: colors.grey,
|
|
20
|
+
hideWhenScrolling: false,
|
|
21
|
+
onChangeText(event) {
|
|
22
|
+
setSearch(event.nativeEvent.text);
|
|
23
|
+
},
|
|
24
|
+
...props,
|
|
25
|
+
} satisfies SearchBarProps,
|
|
26
|
+
});
|
|
27
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
28
|
+
}, [navigation, colorScheme]);
|
|
29
|
+
|
|
30
|
+
return search;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { useHeaderSearchBar };
|
|
@@ -3,7 +3,7 @@ import '@/global.css';
|
|
|
3
3
|
<% if (props.stylingPackage?.options.selectedComponents.includes('action-sheet')) { %>
|
|
4
4
|
import { ActionSheetProvider } from '@expo/react-native-action-sheet';
|
|
5
5
|
<% } %>
|
|
6
|
-
import { ThemeProvider as NavThemeProvider } from '
|
|
6
|
+
import { ThemeProvider as NavThemeProvider } from 'expo-router/react-navigation';
|
|
7
7
|
import * as Device from 'expo-device';
|
|
8
8
|
import { Link, Stack } from 'expo-router';
|
|
9
9
|
import { StatusBar } from 'expo-status-bar';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useHeaderHeight } from '
|
|
1
|
+
import { useHeaderHeight } from 'expo-router/react-navigation';
|
|
2
2
|
import { FlashList } from '@shopify/flash-list';
|
|
3
3
|
import { cssInterop } from 'nativewind';
|
|
4
4
|
import * as React from 'react';
|
|
@@ -21,11 +21,9 @@ import {
|
|
|
21
21
|
View,
|
|
22
22
|
} from 'react-native';
|
|
23
23
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
24
|
-
import { SearchBarProps } from 'react-native-screens';
|
|
25
24
|
<% if (props.stylingPackage?.options.selectedComponents.includes('action-sheet')) { %>
|
|
26
25
|
import { useActionSheet } from '@expo/react-native-action-sheet';
|
|
27
26
|
<% } %>
|
|
28
|
-
import { useNavigation } from '@react-navigation/native';
|
|
29
27
|
<% if (props.stylingPackage?.options.selectedComponents.includes('button')) { %>
|
|
30
28
|
import * as Haptics from 'expo-haptics';
|
|
31
29
|
<% } else { %>
|
|
@@ -64,6 +62,7 @@ import { Text } from '@/components/nativewindui/Text';
|
|
|
64
62
|
<% if (props.stylingPackage?.options.selectedComponents.includes('toggle')) { %>
|
|
65
63
|
import { Toggle } from '@/components/nativewindui/Toggle';
|
|
66
64
|
<% } %>
|
|
65
|
+
import { useHeaderSearchBar } from '@/lib/useHeaderSearchBar';
|
|
67
66
|
import { useColorScheme } from '@/lib/useColorScheme';
|
|
68
67
|
import { COLORS } from '@/theme/colors';
|
|
69
68
|
|
|
@@ -95,32 +94,6 @@ export default function Screen() {
|
|
|
95
94
|
);
|
|
96
95
|
}
|
|
97
96
|
|
|
98
|
-
function useHeaderSearchBar(props: SearchBarProps = {}) {
|
|
99
|
-
const { colorScheme, colors } = useColorScheme();
|
|
100
|
-
const navigation = useNavigation();
|
|
101
|
-
const [search, setSearch] = React.useState('');
|
|
102
|
-
|
|
103
|
-
React.useLayoutEffect(() => {
|
|
104
|
-
navigation.setOptions({
|
|
105
|
-
headerSearchBarOptions: {
|
|
106
|
-
placeholder: 'Search...',
|
|
107
|
-
textColor: colors.foreground,
|
|
108
|
-
tintColor: colors.primary,
|
|
109
|
-
headerIconColor: colors.foreground,
|
|
110
|
-
hintTextColor: colors.grey,
|
|
111
|
-
hideWhenScrolling: false,
|
|
112
|
-
onChangeText(ev) {
|
|
113
|
-
setSearch(ev.nativeEvent.text);
|
|
114
|
-
},
|
|
115
|
-
...props,
|
|
116
|
-
} satisfies SearchBarProps,
|
|
117
|
-
});
|
|
118
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
119
|
-
}, [navigation, colorScheme]);
|
|
120
|
-
|
|
121
|
-
return search;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
97
|
function ListEmptyComponent() {
|
|
125
98
|
const insets = useSafeAreaInsets();
|
|
126
99
|
const dimensions = useWindowDimensions();
|
|
@@ -315,16 +288,13 @@ const COMPONENTS: ComponentItem[] = [
|
|
|
315
288
|
name: 'Progress Indicator',
|
|
316
289
|
component: function ProgressIndicatorExample() {
|
|
317
290
|
const [progress, setProgress] = React.useState(13);
|
|
291
|
+
React.useEffect(() => {
|
|
292
|
+
const intervalId = setInterval(() => {
|
|
293
|
+
setProgress((prev) => (prev >= 99 ? 0 : prev + 5));
|
|
294
|
+
}, 1000);
|
|
318
295
|
|
|
319
|
-
React.useEffect(() => {
|
|
320
|
-
let id: ReturnType<typeof setInterval> | null = null;
|
|
321
|
-
if (!id) {
|
|
322
|
-
id = setInterval(() => {
|
|
323
|
-
setProgress((prev) => (prev >= 99 ? 0 : prev + 5));
|
|
324
|
-
}, 1000);
|
|
325
|
-
}
|
|
326
296
|
return () => {
|
|
327
|
-
|
|
297
|
+
clearInterval(intervalId);
|
|
328
298
|
};
|
|
329
299
|
}, []);
|
|
330
300
|
return (
|
|
@@ -378,8 +348,8 @@ const COMPONENTS: ComponentItem[] = [
|
|
|
378
348
|
<DatePicker
|
|
379
349
|
value={date}
|
|
380
350
|
mode='datetime'
|
|
381
|
-
|
|
382
|
-
setDate(
|
|
351
|
+
onValueChange={(_event, selectedDate) => {
|
|
352
|
+
setDate(selectedDate);
|
|
383
353
|
}}
|
|
384
354
|
/>
|
|
385
355
|
</View>
|