@topogram/starter-hello-ios 0.1.13
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 +28 -0
- package/package.json +26 -0
- package/topogram/actors/actor-visitor.tg +6 -0
- package/topogram/capabilities/cap-view-hello.tg +9 -0
- package/topogram/projections/proj-ios-surface.tg +27 -0
- package/topogram/projections/proj-ui-contract.tg +30 -0
- package/topogram/shapes/shape-output-hello.tg +11 -0
- package/topogram-template.json +8 -0
- package/topogram.project.json +23 -0
package/README.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Topogram Starter: Hello iOS
|
|
2
|
+
|
|
3
|
+
Package-backed SwiftUI native starter for `topogram new`.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
topogram new ./hello-ios --template @topogram/starter-hello-ios
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Contract
|
|
10
|
+
|
|
11
|
+
- Catalog id: `hello-ios`
|
|
12
|
+
- Surfaces: `ios`
|
|
13
|
+
- Generator: `@topogram/generator-swiftui-native`
|
|
14
|
+
- Runtime stack: SwiftUI / SwiftPM
|
|
15
|
+
- Executable implementation: no
|
|
16
|
+
- Purpose: smallest generated native starter with two screens and one workflow.
|
|
17
|
+
|
|
18
|
+
## First Run
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
topogram new ./hello-ios --template hello-ios
|
|
22
|
+
cd ./hello-ios
|
|
23
|
+
npm install
|
|
24
|
+
npm run doctor
|
|
25
|
+
npm run check
|
|
26
|
+
npm run generate
|
|
27
|
+
npm --prefix app run compile
|
|
28
|
+
```
|
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@topogram/starter-hello-ios",
|
|
3
|
+
"version": "0.1.13",
|
|
4
|
+
"description": "SwiftUI native Topogram starter with two screens and one workflow.",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"private": false,
|
|
7
|
+
"type": "module",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/attebury/topogram-starters.git",
|
|
11
|
+
"directory": "packages/hello-ios"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"topogram-template.json",
|
|
15
|
+
"topogram",
|
|
16
|
+
"topogram.project.json",
|
|
17
|
+
"README.md"
|
|
18
|
+
],
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@topogram/generator-swiftui-native": "0.1.4"
|
|
21
|
+
},
|
|
22
|
+
"publishConfig": {
|
|
23
|
+
"registry": "https://registry.npmjs.org",
|
|
24
|
+
"access": "public"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
projection proj_ios_surface {
|
|
2
|
+
name "Hello iOS"
|
|
3
|
+
description "SwiftUI realization for the hello native starter"
|
|
4
|
+
type ios_surface
|
|
5
|
+
|
|
6
|
+
realizes [proj_ui_contract, cap_view_hello]
|
|
7
|
+
outputs [ui_contract, native_app]
|
|
8
|
+
|
|
9
|
+
screen_routes {
|
|
10
|
+
screen hello_home path /
|
|
11
|
+
screen hello_workflow path /workflow
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
ios_hints {
|
|
15
|
+
screen hello_home shell topbar
|
|
16
|
+
screen hello_home layout detail_page
|
|
17
|
+
screen hello_workflow layout detail_page
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
generator_defaults {
|
|
21
|
+
profile swiftui
|
|
22
|
+
language swift
|
|
23
|
+
styling css
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
status active
|
|
27
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
projection proj_ui_contract {
|
|
2
|
+
name "Hello UI Contract"
|
|
3
|
+
description "Platform-neutral UI semantics for the hello native starter"
|
|
4
|
+
type ui_contract
|
|
5
|
+
|
|
6
|
+
realizes [cap_view_hello]
|
|
7
|
+
outputs [ui_contract]
|
|
8
|
+
|
|
9
|
+
app_shell {
|
|
10
|
+
brand "Topogram Hello"
|
|
11
|
+
shell topbar
|
|
12
|
+
global_search false
|
|
13
|
+
notifications false
|
|
14
|
+
account_menu false
|
|
15
|
+
footer none
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
screens {
|
|
19
|
+
screen hello_home kind detail title "Hello Native" load cap_view_hello view_shape shape_output_hello loading_state none
|
|
20
|
+
screen hello_workflow kind detail title "Hello Workflow" load cap_view_hello view_shape shape_output_hello loading_state none
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
navigation {
|
|
24
|
+
group hello label "Hello" placement primary pattern primary
|
|
25
|
+
screen hello_home group hello label "Home" order 10 visible true default true sitemap include pattern primary
|
|
26
|
+
screen hello_workflow group hello label "Workflow" order 20 visible true sitemap include pattern primary
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
status active
|
|
30
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1",
|
|
3
|
+
"outputs": {
|
|
4
|
+
"app": {
|
|
5
|
+
"path": "./app",
|
|
6
|
+
"ownership": "generated"
|
|
7
|
+
}
|
|
8
|
+
},
|
|
9
|
+
"topology": {
|
|
10
|
+
"runtimes": [
|
|
11
|
+
{
|
|
12
|
+
"id": "app_ios",
|
|
13
|
+
"projection": "proj_ios_surface",
|
|
14
|
+
"generator": {
|
|
15
|
+
"id": "@topogram/generator-swiftui-native",
|
|
16
|
+
"version": "1",
|
|
17
|
+
"package": "@topogram/generator-swiftui-native"
|
|
18
|
+
},
|
|
19
|
+
"kind": "ios_surface"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|