@symbiote-native/cli 0.1.0 → 0.1.2

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.
Files changed (120) hide show
  1. package/bundle.js +4 -33
  2. package/package.json +1 -1
  3. package/templates/js/angular/index.js +2 -0
  4. package/templates/js/angular/src/App.css +2 -4
  5. package/templates/js/react/App.css +1 -1
  6. package/templates/js/react/index.js +2 -0
  7. package/templates/js/solid/App.css +2 -4
  8. package/templates/js/solid/index.js +2 -0
  9. package/templates/js/svelte/App.svelte +2 -2
  10. package/templates/js/svelte/App.typescript.svelte +2 -2
  11. package/templates/js/svelte/index.js +2 -0
  12. package/templates/js/vue-sfc/App.typescript.vue +2 -2
  13. package/templates/js/vue-sfc/App.vue +2 -2
  14. package/templates/js/vue-sfc/index.js +2 -0
  15. package/templates/js/vue-tsx/App.css +2 -4
  16. package/templates/js/vue-tsx/index.js +2 -0
  17. package/templates/layers/navigation/app/angular/src/App.css +2 -4
  18. package/templates/layers/navigation/app/react/App.css +1 -1
  19. package/templates/layers/navigation/app/solid/App.css +2 -4
  20. package/templates/layers/navigation/app/svelte/App.css +2 -4
  21. package/templates/layers/navigation/app/vue-sfc/App.css +2 -4
  22. package/templates/layers/navigation/app/vue-tsx/App.css +2 -4
  23. package/templates/styling/js/angular/css-modules/src/App.module.css +78 -0
  24. package/templates/styling/js/angular/css-modules/src/App.ts +30 -6
  25. package/templates/styling/js/angular/stylesheet/src/App.ts +56 -6
  26. package/templates/styling/js/react/css-modules/App.jsx +17 -5
  27. package/templates/styling/js/react/css-modules/App.module.css +60 -0
  28. package/templates/styling/js/react/css-modules/App.tsx +17 -5
  29. package/templates/styling/js/react/stylesheet/App.jsx +48 -6
  30. package/templates/styling/js/react/stylesheet/App.tsx +48 -6
  31. package/templates/styling/js/solid/css-modules/App.jsx +29 -5
  32. package/templates/styling/js/solid/css-modules/App.module.css +78 -0
  33. package/templates/styling/js/solid/css-modules/App.tsx +29 -5
  34. package/templates/styling/js/solid/stylesheet/App.jsx +60 -6
  35. package/templates/styling/js/solid/stylesheet/App.tsx +60 -6
  36. package/templates/styling/js/svelte/css-modules/App.module.css +78 -0
  37. package/templates/styling/js/svelte/css-modules/App.svelte +27 -5
  38. package/templates/styling/js/svelte/css-modules/App.typescript.svelte +27 -5
  39. package/templates/styling/js/svelte/stylesheet/App.svelte +62 -6
  40. package/templates/styling/js/svelte/stylesheet/App.typescript.svelte +62 -6
  41. package/templates/styling/js/vue-sfc/css-modules/App.module.css +78 -0
  42. package/templates/styling/js/vue-sfc/css-modules/App.typescript.vue +29 -5
  43. package/templates/styling/js/vue-sfc/css-modules/App.vue +29 -5
  44. package/templates/styling/js/vue-sfc/stylesheet/App.typescript.vue +60 -6
  45. package/templates/styling/js/vue-sfc/stylesheet/App.vue +60 -6
  46. package/templates/styling/js/vue-tsx/css-modules/App.jsx +29 -5
  47. package/templates/styling/js/vue-tsx/css-modules/App.module.css +78 -0
  48. package/templates/styling/js/vue-tsx/css-modules/App.tsx +29 -5
  49. package/templates/styling/js/vue-tsx/stylesheet/App.jsx +60 -6
  50. package/templates/styling/js/vue-tsx/stylesheet/App.tsx +60 -6
  51. package/templates/styling/navigation/angular/css-modules/src/App.module.css +118 -0
  52. package/templates/styling/navigation/angular/css-modules/src/DetailsScreen.ts +12 -4
  53. package/templates/styling/navigation/angular/css-modules/src/MenuScreen.ts +38 -8
  54. package/templates/styling/navigation/angular/stylesheet/src/DetailsScreen.ts +39 -4
  55. package/templates/styling/navigation/angular/stylesheet/src/MenuScreen.ts +75 -8
  56. package/templates/styling/navigation/react/css-modules/App.jsx +56 -11
  57. package/templates/styling/navigation/react/css-modules/App.module.css +100 -0
  58. package/templates/styling/navigation/react/css-modules/App.tsx +56 -11
  59. package/templates/styling/navigation/react/stylesheet/App.jsx +107 -12
  60. package/templates/styling/navigation/react/stylesheet/App.tsx +107 -12
  61. package/templates/styling/navigation/solid/css-modules/App.jsx +68 -11
  62. package/templates/styling/navigation/solid/css-modules/App.module.css +118 -0
  63. package/templates/styling/navigation/solid/css-modules/App.tsx +68 -11
  64. package/templates/styling/navigation/solid/stylesheet/App.jsx +119 -12
  65. package/templates/styling/navigation/solid/stylesheet/App.tsx +119 -12
  66. package/templates/styling/navigation/svelte/css-modules/App.module.css +118 -0
  67. package/templates/styling/navigation/svelte/css-modules/DetailsScreen.svelte +14 -3
  68. package/templates/styling/navigation/svelte/css-modules/DetailsScreen.typescript.svelte +14 -3
  69. package/templates/styling/navigation/svelte/css-modules/MenuScreen.svelte +34 -6
  70. package/templates/styling/navigation/svelte/css-modules/MenuScreen.typescript.svelte +34 -6
  71. package/templates/styling/navigation/svelte/stylesheet/DetailsScreen.svelte +41 -4
  72. package/templates/styling/navigation/svelte/stylesheet/DetailsScreen.typescript.svelte +41 -4
  73. package/templates/styling/navigation/svelte/stylesheet/MenuScreen.svelte +80 -7
  74. package/templates/styling/navigation/svelte/stylesheet/MenuScreen.typescript.svelte +80 -7
  75. package/templates/styling/navigation/vue-sfc/css-modules/App.module.css +118 -0
  76. package/templates/styling/navigation/vue-sfc/css-modules/DetailsScreen.typescript.vue +12 -3
  77. package/templates/styling/navigation/vue-sfc/css-modules/DetailsScreen.vue +12 -3
  78. package/templates/styling/navigation/vue-sfc/css-modules/MenuScreen.typescript.vue +38 -6
  79. package/templates/styling/navigation/vue-sfc/css-modules/MenuScreen.vue +38 -6
  80. package/templates/styling/navigation/vue-sfc/stylesheet/DetailsScreen.typescript.vue +39 -4
  81. package/templates/styling/navigation/vue-sfc/stylesheet/DetailsScreen.vue +39 -4
  82. package/templates/styling/navigation/vue-sfc/stylesheet/MenuScreen.typescript.vue +80 -7
  83. package/templates/styling/navigation/vue-sfc/stylesheet/MenuScreen.vue +80 -7
  84. package/templates/styling/navigation/vue-tsx/css-modules/App.jsx +63 -18
  85. package/templates/styling/navigation/vue-tsx/css-modules/App.module.css +118 -0
  86. package/templates/styling/navigation/vue-tsx/css-modules/App.tsx +63 -18
  87. package/templates/styling/navigation/vue-tsx/stylesheet/App.jsx +116 -21
  88. package/templates/styling/navigation/vue-tsx/stylesheet/App.tsx +116 -21
  89. /package/templates/{native/bootsplash-logo → bootsplash-logo}/angular/android/app/src/main/res/drawable-hdpi/bootsplash_logo.png +0 -0
  90. /package/templates/{native/bootsplash-logo → bootsplash-logo}/angular/android/app/src/main/res/drawable-mdpi/bootsplash_logo.png +0 -0
  91. /package/templates/{native/bootsplash-logo → bootsplash-logo}/angular/android/app/src/main/res/drawable-xhdpi/bootsplash_logo.png +0 -0
  92. /package/templates/{native/bootsplash-logo → bootsplash-logo}/angular/android/app/src/main/res/drawable-xxhdpi/bootsplash_logo.png +0 -0
  93. /package/templates/{native/bootsplash-logo → bootsplash-logo}/angular/android/app/src/main/res/drawable-xxxhdpi/bootsplash_logo.png +0 -0
  94. /package/templates/{native/bootsplash-logo → bootsplash-logo}/angular/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55.png +0 -0
  95. /package/templates/{native/bootsplash-logo → bootsplash-logo}/angular/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55@2x.png +0 -0
  96. /package/templates/{native/bootsplash-logo → bootsplash-logo}/angular/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55@3x.png +0 -0
  97. /package/templates/{native/bootsplash-logo → bootsplash-logo}/solid/android/app/src/main/res/drawable-hdpi/bootsplash_logo.png +0 -0
  98. /package/templates/{native/bootsplash-logo → bootsplash-logo}/solid/android/app/src/main/res/drawable-mdpi/bootsplash_logo.png +0 -0
  99. /package/templates/{native/bootsplash-logo → bootsplash-logo}/solid/android/app/src/main/res/drawable-xhdpi/bootsplash_logo.png +0 -0
  100. /package/templates/{native/bootsplash-logo → bootsplash-logo}/solid/android/app/src/main/res/drawable-xxhdpi/bootsplash_logo.png +0 -0
  101. /package/templates/{native/bootsplash-logo → bootsplash-logo}/solid/android/app/src/main/res/drawable-xxxhdpi/bootsplash_logo.png +0 -0
  102. /package/templates/{native/bootsplash-logo → bootsplash-logo}/solid/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55.png +0 -0
  103. /package/templates/{native/bootsplash-logo → bootsplash-logo}/solid/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55@2x.png +0 -0
  104. /package/templates/{native/bootsplash-logo → bootsplash-logo}/solid/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55@3x.png +0 -0
  105. /package/templates/{native/bootsplash-logo → bootsplash-logo}/svelte/android/app/src/main/res/drawable-hdpi/bootsplash_logo.png +0 -0
  106. /package/templates/{native/bootsplash-logo → bootsplash-logo}/svelte/android/app/src/main/res/drawable-mdpi/bootsplash_logo.png +0 -0
  107. /package/templates/{native/bootsplash-logo → bootsplash-logo}/svelte/android/app/src/main/res/drawable-xhdpi/bootsplash_logo.png +0 -0
  108. /package/templates/{native/bootsplash-logo → bootsplash-logo}/svelte/android/app/src/main/res/drawable-xxhdpi/bootsplash_logo.png +0 -0
  109. /package/templates/{native/bootsplash-logo → bootsplash-logo}/svelte/android/app/src/main/res/drawable-xxxhdpi/bootsplash_logo.png +0 -0
  110. /package/templates/{native/bootsplash-logo → bootsplash-logo}/svelte/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55.png +0 -0
  111. /package/templates/{native/bootsplash-logo → bootsplash-logo}/svelte/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55@2x.png +0 -0
  112. /package/templates/{native/bootsplash-logo → bootsplash-logo}/svelte/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55@3x.png +0 -0
  113. /package/templates/{native/bootsplash-logo → bootsplash-logo}/vue/android/app/src/main/res/drawable-hdpi/bootsplash_logo.png +0 -0
  114. /package/templates/{native/bootsplash-logo → bootsplash-logo}/vue/android/app/src/main/res/drawable-mdpi/bootsplash_logo.png +0 -0
  115. /package/templates/{native/bootsplash-logo → bootsplash-logo}/vue/android/app/src/main/res/drawable-xhdpi/bootsplash_logo.png +0 -0
  116. /package/templates/{native/bootsplash-logo → bootsplash-logo}/vue/android/app/src/main/res/drawable-xxhdpi/bootsplash_logo.png +0 -0
  117. /package/templates/{native/bootsplash-logo → bootsplash-logo}/vue/android/app/src/main/res/drawable-xxxhdpi/bootsplash_logo.png +0 -0
  118. /package/templates/{native/bootsplash-logo → bootsplash-logo}/vue/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55.png +0 -0
  119. /package/templates/{native/bootsplash-logo → bootsplash-logo}/vue/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55@2x.png +0 -0
  120. /package/templates/{native/bootsplash-logo → bootsplash-logo}/vue/ios/Canary/Images.xcassets/BootSplashLogo-498e55.imageset/logo-498e55@3x.png +0 -0
@@ -1,26 +1,67 @@
1
1
  import { Screen, Stack, useStackNavigation } from '@symbiote-native/navigation/vue';
2
+ import { ref } from 'vue';
2
3
  import { StyleSheet } from '@symbiote-native/vue';
3
4
 
4
- function MenuScreen() {
5
- const navigation = useStackNavigation();
6
-
7
- return (
8
- <view style={styles.container}>
9
- <text>Welcome to SymbioteNative!</text>
10
- <pressable onPress={() => navigation.push('Details')}>
11
- <text>Go to Details</text>
12
- </pressable>
13
- </view>
14
- );
15
- }
16
-
17
- function DetailsScreen() {
18
- return (
19
- <view style={styles.container}>
20
- <text>Details screen</text>
21
- </view>
22
- );
23
- }
5
+ const MenuScreen = {
6
+ setup() {
7
+ const navigation = useStackNavigation();
8
+ const count = ref(0);
9
+
10
+ return () => (
11
+ <safe-area-view style={styles.screen}>
12
+ <view style={styles.brandRow}>
13
+ <image
14
+ style={[styles.brandLogo, styles.brandLogoReact]}
15
+ resizeMode="contain"
16
+ source={require('./assets/react-native-logo.png')}
17
+ />
18
+ <image style={styles.plusIcon} resizeMode="contain" source={require('./assets/plus-icon.png')} />
19
+ <image
20
+ style={[styles.brandLogo, styles.brandLogoVue]}
21
+ resizeMode="contain"
22
+ source={require('./assets/vue-logo.png')}
23
+ />
24
+ </view>
25
+ <text style={styles.title}>Welcome to SymbioteNative!</text>
26
+ <text style={styles.subtitle}>Framework-agnostic React Native, driven by Vue.</text>
27
+
28
+ <view style={styles.counterCard}>
29
+ <text style={styles.counterLabel}>TAPS</text>
30
+ <text style={styles.counterValue}>{count.value}</text>
31
+ </view>
32
+
33
+ <view style={styles.buttonRow}>
34
+ <pressable style={styles.buttonPrimary} onPress={() => count.value++}>
35
+ <text style={styles.buttonPrimaryText}>Tap me</text>
36
+ </pressable>
37
+ <pressable style={styles.buttonSecondary} onPress={() => navigation.value.push('Details')}>
38
+ <text style={styles.buttonSecondaryText}>Go to Details</text>
39
+ </pressable>
40
+ </view>
41
+ </safe-area-view>
42
+ );
43
+ },
44
+ };
45
+
46
+ const DetailsScreen = {
47
+ setup() {
48
+ const navigation = useStackNavigation();
49
+
50
+ return () => (
51
+ <safe-area-view style={styles.screen}>
52
+ <view style={styles.detailsCard}>
53
+ <text style={styles.detailsTitle}>You made it!</text>
54
+ <text style={styles.detailsBody}>
55
+ This screen was pushed by the Stack navigator — proof navigation actually works.
56
+ </text>
57
+ </view>
58
+ <pressable style={styles.buttonSecondary} onPress={() => navigation.value.pop()}>
59
+ <text style={styles.buttonSecondaryText}>Go back</text>
60
+ </pressable>
61
+ </safe-area-view>
62
+ );
63
+ },
64
+ };
24
65
 
25
66
  export default {
26
67
  setup() {
@@ -34,5 +75,59 @@ export default {
34
75
  };
35
76
 
36
77
  const styles = StyleSheet.create({
37
- container: { flex: 1, alignItems: 'center', justifyContent: 'center' },
78
+ screen: {
79
+ flex: 1,
80
+ backgroundColor: '#0b1622',
81
+ alignItems: 'center',
82
+ justifyContent: 'center',
83
+ gap: 24,
84
+ paddingVertical: 24,
85
+ paddingHorizontal: 32,
86
+ },
87
+ brandRow: { flexDirection: 'row', alignItems: 'center', gap: 28 },
88
+ brandLogo: { height: 64 },
89
+ brandLogoReact: { width: 70 },
90
+ brandLogoVue: { width: 74 },
91
+ plusIcon: { width: 48, height: 48 },
92
+ title: { color: '#ffffff', fontSize: 22, fontWeight: 'bold', textAlign: 'center' },
93
+ subtitle: { color: '#cbd5e1', fontSize: 14, textAlign: 'center' },
94
+ counterCard: {
95
+ alignItems: 'center',
96
+ gap: 4,
97
+ paddingVertical: 20,
98
+ paddingHorizontal: 28,
99
+ borderRadius: 16,
100
+ backgroundColor: '#13243a',
101
+ },
102
+ counterLabel: { color: '#41506a', fontSize: 12, letterSpacing: 1 },
103
+ counterValue: { color: '#42b883', fontSize: 32, fontWeight: 'bold' },
104
+ buttonRow: { flexDirection: 'row', gap: 12 },
105
+ buttonPrimary: {
106
+ alignItems: 'center',
107
+ justifyContent: 'center',
108
+ borderRadius: 12,
109
+ paddingVertical: 14,
110
+ paddingHorizontal: 22,
111
+ backgroundColor: '#42b883',
112
+ },
113
+ buttonSecondary: {
114
+ alignItems: 'center',
115
+ justifyContent: 'center',
116
+ borderRadius: 12,
117
+ paddingVertical: 14,
118
+ paddingHorizontal: 22,
119
+ borderWidth: 1.5,
120
+ borderColor: '#41506a',
121
+ },
122
+ buttonPrimaryText: { color: '#0b1622', fontSize: 15, fontWeight: 'bold' },
123
+ buttonSecondaryText: { color: '#ffffff', fontSize: 15, fontWeight: 'bold' },
124
+ detailsCard: {
125
+ alignItems: 'center',
126
+ gap: 10,
127
+ padding: 24,
128
+ borderRadius: 16,
129
+ backgroundColor: '#13243a',
130
+ },
131
+ detailsTitle: { color: '#ffffff', fontSize: 18, fontWeight: 'bold' },
132
+ detailsBody: { color: '#cbd5e1', fontSize: 14, textAlign: 'center' },
38
133
  });