@monimesl/dot-cli 0.1.0-alpha.2 → 0.1.0-alpha.23
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 +91 -17
- package/dist/cli.js +853 -160
- package/dist/cli.js.map +1 -1
- package/dist/server-DMnWDdJ6.js +11308 -0
- package/dist/server-DMnWDdJ6.js.map +1 -0
- package/dist/templates/showcase/.env +3 -0
- package/dist/templates/showcase/dot.ts +60 -0
- package/dist/templates/showcase/pages/basics/bars/controller.ts +47 -0
- package/dist/templates/showcase/pages/basics/bars/state.ts +7 -0
- package/dist/templates/showcase/pages/basics/bars/view.dml +36 -0
- package/dist/templates/showcase/pages/basics/bindings/controller.ts +15 -0
- package/dist/templates/showcase/pages/basics/bindings/state.ts +14 -0
- package/dist/templates/showcase/pages/basics/bindings/view.dml +41 -0
- package/dist/templates/showcase/pages/basics/colors/controller.ts +112 -0
- package/dist/templates/showcase/pages/basics/colors/state.ts +17 -0
- package/dist/templates/showcase/pages/basics/colors/view.dml +142 -0
- package/dist/templates/showcase/pages/basics/concert/controller.ts +16 -0
- package/dist/templates/showcase/pages/basics/concert/state.ts +7 -0
- package/dist/templates/showcase/pages/basics/concert/view.dml +20 -0
- package/dist/templates/showcase/pages/basics/control-flow/controller.ts +18 -0
- package/dist/templates/showcase/pages/basics/control-flow/state.ts +16 -0
- package/dist/templates/showcase/pages/basics/control-flow/view.dml +55 -0
- package/dist/templates/showcase/pages/basics/events/controller.ts +43 -0
- package/dist/templates/showcase/pages/basics/events/state.ts +11 -0
- package/dist/templates/showcase/pages/basics/events/view.dml +51 -0
- package/dist/templates/showcase/pages/basics/hooks/controller.ts +43 -0
- package/dist/templates/showcase/pages/basics/hooks/state.ts +10 -0
- package/dist/templates/showcase/pages/basics/hooks/view.dml +37 -0
- package/dist/templates/showcase/pages/basics/navigation/controller.ts +41 -0
- package/dist/templates/showcase/pages/basics/navigation/state.ts +11 -0
- package/dist/templates/showcase/pages/basics/navigation/view.dml +48 -0
- package/dist/templates/showcase/pages/basics/pick-genre/controller.ts +18 -0
- package/dist/templates/showcase/pages/basics/pick-genre/state.ts +3 -0
- package/dist/templates/showcase/pages/basics/pick-genre/view.dml +10 -0
- package/dist/templates/showcase/pages/basics/share/concerts.ts +31 -0
- package/dist/templates/showcase/pages/basics/share/controller.ts +12 -0
- package/dist/templates/showcase/pages/basics/share/state.ts +5 -0
- package/dist/templates/showcase/pages/basics/share/view.dml +21 -0
- package/dist/templates/showcase/pages/basics/state/controller.ts +23 -0
- package/dist/templates/showcase/pages/basics/state/state.ts +10 -0
- package/dist/templates/showcase/pages/basics/state/view.dml +46 -0
- package/dist/templates/showcase/pages/components/carousel/controller.ts +41 -0
- package/dist/templates/showcase/pages/components/carousel/state.ts +77 -0
- package/dist/templates/showcase/pages/components/carousel/view.dml +42 -0
- package/dist/templates/showcase/pages/components/feedback/controller.ts +32 -0
- package/dist/templates/showcase/pages/components/feedback/state.ts +41 -0
- package/dist/templates/showcase/pages/components/feedback/view.dml +116 -0
- package/dist/templates/showcase/pages/components/forms/controller.ts +72 -0
- package/dist/templates/showcase/pages/components/forms/state.ts +37 -0
- package/dist/templates/showcase/pages/components/forms/view.dml +97 -0
- package/dist/templates/showcase/pages/components/icons/controller.ts +15 -0
- package/dist/templates/showcase/pages/components/icons/state.ts +75 -0
- package/dist/templates/showcase/pages/components/icons/view.dml +36 -0
- package/dist/templates/showcase/pages/components/images/controller.ts +44 -0
- package/dist/templates/showcase/pages/components/images/state.ts +10 -0
- package/dist/templates/showcase/pages/components/images/view.dml +83 -0
- package/dist/templates/showcase/pages/components/layout/controller.ts +61 -0
- package/dist/templates/showcase/pages/components/layout/state.ts +34 -0
- package/dist/templates/showcase/pages/components/layout/view.dml +143 -0
- package/dist/templates/showcase/pages/components/lists/controller.ts +18 -0
- package/dist/templates/showcase/pages/components/lists/state.ts +130 -0
- package/dist/templates/showcase/pages/components/lists/view.dml +88 -0
- package/dist/templates/showcase/pages/components/money/controller.ts +45 -0
- package/dist/templates/showcase/pages/components/money/state.ts +13 -0
- package/dist/templates/showcase/pages/components/money/view.dml +54 -0
- package/dist/templates/showcase/pages/components/reading/controller.ts +6 -0
- package/dist/templates/showcase/pages/components/reading/state.ts +23 -0
- package/dist/templates/showcase/pages/components/reading/view.dml +42 -0
- package/dist/templates/showcase/pages/components/sheets/controller.ts +36 -0
- package/dist/templates/showcase/pages/components/sheets/state.ts +26 -0
- package/dist/templates/showcase/pages/components/sheets/view.dml +38 -0
- package/dist/templates/showcase/pages/components/styles/controller.ts +6 -0
- package/dist/templates/showcase/pages/components/styles/state.ts +3 -0
- package/dist/templates/showcase/pages/components/styles/view.dml +101 -0
- package/dist/templates/showcase/pages/components/tabs/controller.ts +41 -0
- package/dist/templates/showcase/pages/components/tabs/state.ts +127 -0
- package/dist/templates/showcase/pages/components/tabs/view.dml +57 -0
- package/dist/templates/showcase/pages/components/text/controller.ts +10 -0
- package/dist/templates/showcase/pages/components/text/state.ts +3 -0
- package/dist/templates/showcase/pages/components/text/view.dml +95 -0
- package/dist/templates/showcase/pages/dash/account/controller.ts +23 -0
- package/dist/templates/showcase/pages/dash/account/state.ts +7 -0
- package/dist/templates/showcase/pages/dash/account/view.dml +23 -0
- package/dist/templates/showcase/pages/dash/cache/controller.ts +50 -0
- package/dist/templates/showcase/pages/dash/cache/state.ts +17 -0
- package/dist/templates/showcase/pages/dash/cache/view.dml +48 -0
- package/dist/templates/showcase/pages/dash/calls/controller.ts +64 -0
- package/dist/templates/showcase/pages/dash/calls/state.ts +9 -0
- package/dist/templates/showcase/pages/dash/calls/view.dml +67 -0
- package/dist/templates/showcase/pages/dash/contacts/controller.ts +30 -0
- package/dist/templates/showcase/pages/dash/contacts/state.ts +6 -0
- package/dist/templates/showcase/pages/dash/contacts/view.dml +33 -0
- package/dist/templates/showcase/pages/dash/crypto/controller.ts +34 -0
- package/dist/templates/showcase/pages/dash/crypto/state.ts +10 -0
- package/dist/templates/showcase/pages/dash/crypto/view.dml +48 -0
- package/dist/templates/showcase/pages/dash/files/controller.ts +71 -0
- package/dist/templates/showcase/pages/dash/files/state.ts +23 -0
- package/dist/templates/showcase/pages/dash/files/view.dml +78 -0
- package/dist/templates/showcase/pages/dash/media/controller.ts +65 -0
- package/dist/templates/showcase/pages/dash/media/state.ts +12 -0
- package/dist/templates/showcase/pages/dash/media/view.dml +53 -0
- package/dist/templates/showcase/pages/dash/network/controller.ts +215 -0
- package/dist/templates/showcase/pages/dash/network/state.ts +35 -0
- package/dist/templates/showcase/pages/dash/network/view.dml +108 -0
- package/dist/templates/showcase/pages/dash/secrets/controller.ts +44 -0
- package/dist/templates/showcase/pages/dash/secrets/state.ts +5 -0
- package/dist/templates/showcase/pages/dash/secrets/view.dml +26 -0
- package/dist/templates/showcase/pages/dash/system/controller.ts +89 -0
- package/dist/templates/showcase/pages/dash/system/state.ts +13 -0
- package/dist/templates/showcase/pages/dash/system/view.dml +97 -0
- package/dist/templates/showcase/pages/dash/ui/controller.ts +70 -0
- package/dist/templates/showcase/pages/dash/ui/state.ts +8 -0
- package/dist/templates/showcase/pages/dash/ui/view.dml +31 -0
- package/dist/templates/showcase/pages/index/controller.ts +10 -0
- package/dist/templates/showcase/pages/index/state.ts +237 -0
- package/dist/templates/showcase/pages/index/view.dml +23 -0
- package/dist/templates/showcase/statics/logo.png +0 -0
- package/dist/templates/starter/.env +3 -0
- package/dist/templates/starter/dot.ts +3 -0
- package/dist/templates/starter/pages/index/controller.ts +9 -0
- package/dist/templates/starter/pages/index/state.ts +4 -0
- package/dist/templates/starter/pages/index/view.dml +16 -0
- package/package.json +12 -7
- package/dist/template/.env +0 -3
- package/dist/template/dot.ts +0 -6
- package/dist/template/pages/help/tips/controller.ts +0 -30
- package/dist/template/pages/help/tips/state.ts +0 -11
- package/dist/template/pages/help/tips/view.dml +0 -15
- package/dist/template/pages/index/controller.ts +0 -67
- package/dist/template/pages/index/state.ts +0 -17
- package/dist/template/pages/index/view.dml +0 -66
- /package/dist/{template → templates/starter}/statics/logo.png +0 -0
package/dist/template/dot.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import state from './state';
|
|
2
|
-
|
|
3
|
-
export default definePage({
|
|
4
|
-
initialState: state,
|
|
5
|
-
hooks: {
|
|
6
|
-
// The page that opens this one passes its own trail and depth.
|
|
7
|
-
onLoad(options) {
|
|
8
|
-
this.setState({
|
|
9
|
-
count: Number(options.count ?? 0),
|
|
10
|
-
trail: `${options.trail ?? 'Home'} › Tips`,
|
|
11
|
-
depth: Number(options.depth ?? 1) + 1,
|
|
12
|
-
});
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
actions: {
|
|
16
|
-
back() {
|
|
17
|
-
this.navigation.back();
|
|
18
|
-
},
|
|
19
|
-
openAnother(state) {
|
|
20
|
-
this.navigation.push('help/tips', {
|
|
21
|
-
count: String(state.count),
|
|
22
|
-
trail: state.trail,
|
|
23
|
-
depth: String(state.depth),
|
|
24
|
-
});
|
|
25
|
-
},
|
|
26
|
-
startOver() {
|
|
27
|
-
this.navigation.reset('index');
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
});
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
count: 0,
|
|
3
|
-
trail: '',
|
|
4
|
-
depth: 0,
|
|
5
|
-
maxPages: 8,
|
|
6
|
-
tips: [
|
|
7
|
-
'Every tap is handled by controller.ts in a Worker',
|
|
8
|
-
'The view only renders the state it receives',
|
|
9
|
-
'Pages open on top of each other; Back returns to the one below',
|
|
10
|
-
],
|
|
11
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
<Text variant="caption">{{ trail }}</Text>
|
|
2
|
-
<Text variant="title">Tips</Text>
|
|
3
|
-
<Text>Page {{ depth }} of {{ maxPages }}, opened at {{ count }} taps.</Text>
|
|
4
|
-
|
|
5
|
-
<View variant="card" gap="small">
|
|
6
|
-
<For each="{{ tips }}" item="tip" key="*this">
|
|
7
|
-
<Text>{{ tip }}</Text>
|
|
8
|
-
</For>
|
|
9
|
-
</View>
|
|
10
|
-
|
|
11
|
-
<View direction="row">
|
|
12
|
-
<Button onClick="back">Back</Button>
|
|
13
|
-
<Button variant="secondary" onClick="openAnother" disabled="{{ depth >= maxPages }}">Open another</Button>
|
|
14
|
-
<Button variant="secondary" onClick="startOver">Start over</Button>
|
|
15
|
-
</View>
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import state from './state';
|
|
2
|
-
|
|
3
|
-
export default definePage({
|
|
4
|
-
initialState: state,
|
|
5
|
-
hooks: {
|
|
6
|
-
onShow() {
|
|
7
|
-
this.setState((current) => ({ visits: current.visits + 1 }));
|
|
8
|
-
},
|
|
9
|
-
},
|
|
10
|
-
mutations: {
|
|
11
|
-
increment: (state) => {
|
|
12
|
-
const count = state.count + 1;
|
|
13
|
-
return { count, taps: [{ id: count }, ...state.taps] };
|
|
14
|
-
},
|
|
15
|
-
reset: () => ({ count: 0, taps: [] }),
|
|
16
|
-
rename: (_state, event: DotEvent<{ value: string }>) => ({ title: event.detail.value }),
|
|
17
|
-
logoLoaded: (_state, event: DotEvent<{ width: number; height: number }>) => ({
|
|
18
|
-
logoStatus: 'loaded' as const,
|
|
19
|
-
logoSize: `${event.detail.width}x${event.detail.height}`,
|
|
20
|
-
}),
|
|
21
|
-
logoFailed: () => ({ logoStatus: 'failed' as const }),
|
|
22
|
-
},
|
|
23
|
-
actions: {
|
|
24
|
-
fillUp() {
|
|
25
|
-
while (this.state.count < this.state.limit) {
|
|
26
|
-
this.mutations.increment();
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
async sayHello(state) {
|
|
30
|
-
try {
|
|
31
|
-
const { action } = await dash.ui.alert(
|
|
32
|
-
{
|
|
33
|
-
title: `Hello from ${state.title}`,
|
|
34
|
-
message: env.DOT_PUBLIC_GREETING,
|
|
35
|
-
actions: [
|
|
36
|
-
{ id: 'nice', label: 'Nice' },
|
|
37
|
-
{ id: 'close', label: 'Close', role: 'cancel' },
|
|
38
|
-
],
|
|
39
|
-
},
|
|
40
|
-
{ timeout: 30_000 },
|
|
41
|
-
);
|
|
42
|
-
this.setState({ dashNote: `You chose "${action}"` });
|
|
43
|
-
} catch (error) {
|
|
44
|
-
this.setState({ dashNote: errorMessage(error) });
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
async vibrate() {
|
|
48
|
-
await dash.system.vibrate({ style: 'success' });
|
|
49
|
-
},
|
|
50
|
-
async toggleTorch(state) {
|
|
51
|
-
const next = state.torch === 'on' ? 'off' : 'on';
|
|
52
|
-
try {
|
|
53
|
-
await dash.system.torch(next);
|
|
54
|
-
this.setState({ torch: next, dashNote: `Torch ${next}` });
|
|
55
|
-
} catch (error) {
|
|
56
|
-
this.setState({ dashNote: errorMessage(error) });
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
openTips(state) {
|
|
60
|
-
this.navigation.push('help/tips', { count: String(state.count), trail: 'Home', depth: '1' });
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
function errorMessage(error: unknown): string {
|
|
66
|
-
return error instanceof Error ? error.message : String(error);
|
|
67
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface Tap {
|
|
2
|
-
id: number;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
export type LogoStatus = 'loading' | 'loaded' | 'failed';
|
|
6
|
-
|
|
7
|
-
export default {
|
|
8
|
-
title: 'Dot Counter',
|
|
9
|
-
logoStatus: 'loading' as LogoStatus,
|
|
10
|
-
logoSize: '',
|
|
11
|
-
count: 0,
|
|
12
|
-
limit: 5,
|
|
13
|
-
taps: [] as Tap[],
|
|
14
|
-
visits: 0,
|
|
15
|
-
torch: 'off' as 'on' | 'off',
|
|
16
|
-
dashNote: '',
|
|
17
|
-
};
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
<Text variant="caption">Home</Text>
|
|
2
|
-
|
|
3
|
-
<View direction="row" align="center" gap="large">
|
|
4
|
-
<Image src="statics/logo.png" alt="Dot logo" width="48" height="48" onLoad="logoLoaded" onError="logoFailed" />
|
|
5
|
-
<View gap="none">
|
|
6
|
-
<Text variant="title">{{ title }}</Text>
|
|
7
|
-
<If condition="{{ logoStatus === 'loaded' }}">
|
|
8
|
-
<Text variant="caption">Logo loaded at {{ logoSize }}</Text>
|
|
9
|
-
</If>
|
|
10
|
-
<ElseIf condition="{{ logoStatus === 'failed' }}">
|
|
11
|
-
<Text variant="caption">Logo failed to load</Text>
|
|
12
|
-
</ElseIf>
|
|
13
|
-
<Else>
|
|
14
|
-
<Text variant="caption">Loading logo…</Text>
|
|
15
|
-
</Else>
|
|
16
|
-
</View>
|
|
17
|
-
</View>
|
|
18
|
-
|
|
19
|
-
<View variant="card">
|
|
20
|
-
<Text variant="title">{{ count }} / {{ limit }}</Text>
|
|
21
|
-
<If condition="{{ count >= limit }}">
|
|
22
|
-
<Text>Limit reached</Text>
|
|
23
|
-
</If>
|
|
24
|
-
<ElseIf condition="{{ count > 0 }}">
|
|
25
|
-
<Text>Keep tapping</Text>
|
|
26
|
-
</ElseIf>
|
|
27
|
-
<Else>
|
|
28
|
-
<Text>Tap to start 🚀</Text>
|
|
29
|
-
</Else>
|
|
30
|
-
<View direction="row">
|
|
31
|
-
<Button onClick="increment" disabled="{{ count >= limit }}">Add one</Button>
|
|
32
|
-
<Button variant="secondary" onClick="reset" disabled="{{ count === 0 }}">Reset</Button>
|
|
33
|
-
<Button variant="secondary" onClick="fillUp" disabled="{{ count >= limit }}">Fill up</Button>
|
|
34
|
-
</View>
|
|
35
|
-
</View>
|
|
36
|
-
|
|
37
|
-
<View variant="card" gap="small">
|
|
38
|
-
<Text variant="caption">Name your counter</Text>
|
|
39
|
-
<Input label="Counter name" placeholder="Dot Counter" value="{{ title }}" maxLength="24" onChange="rename" />
|
|
40
|
-
</View>
|
|
41
|
-
|
|
42
|
-
<View variant="card" gap="small">
|
|
43
|
-
<Text variant="caption">Dash</Text>
|
|
44
|
-
<View direction="row">
|
|
45
|
-
<Button variant="secondary" onClick="sayHello">Say hello</Button>
|
|
46
|
-
<Button variant="secondary" onClick="vibrate">Vibrate</Button>
|
|
47
|
-
<Button variant="secondary" onClick="toggleTorch">{{ torch === 'on' ? 'Torch off' : 'Torch on' }}</Button>
|
|
48
|
-
</View>
|
|
49
|
-
<If condition="{{ dashNote }}">
|
|
50
|
-
<Text variant="caption">{{ dashNote }}</Text>
|
|
51
|
-
</If>
|
|
52
|
-
</View>
|
|
53
|
-
|
|
54
|
-
<View variant="card" onTap="openTips">
|
|
55
|
-
<Text>Tips -> </Text>
|
|
56
|
-
<Text variant="caption">Shown {{ visits }} {{ visits === 1 ? 'time' : 'times' }}</Text>
|
|
57
|
-
</View>
|
|
58
|
-
|
|
59
|
-
<If condition="{{ taps.length > 0 }}">
|
|
60
|
-
<View variant="card" gap="small">
|
|
61
|
-
<Text variant="caption">History</Text>
|
|
62
|
-
<For each="{{ taps }}" index="i" item="tap" key="id">
|
|
63
|
-
<Text>{{ i + 1 }}. Tap #{{ tap.id }}</Text>
|
|
64
|
-
</For>
|
|
65
|
-
</View>
|
|
66
|
-
</If>
|
|
File without changes
|