@moltzap/protocol 2026.327.0
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/dist/helpers.d.ts +24 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +31 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/schema/contacts.d.ts +20 -0
- package/dist/schema/contacts.d.ts.map +1 -0
- package/dist/schema/contacts.js +21 -0
- package/dist/schema/contacts.js.map +1 -0
- package/dist/schema/conversations.d.ts +43 -0
- package/dist/schema/conversations.d.ts.map +1 -0
- package/dist/schema/conversations.js +34 -0
- package/dist/schema/conversations.js.map +1 -0
- package/dist/schema/delivery.d.ts +15 -0
- package/dist/schema/delivery.d.ts.map +1 -0
- package/dist/schema/delivery.js +14 -0
- package/dist/schema/delivery.js.map +1 -0
- package/dist/schema/errors.d.ts +25 -0
- package/dist/schema/errors.d.ts.map +1 -0
- package/dist/schema/errors.js +25 -0
- package/dist/schema/errors.js.map +1 -0
- package/dist/schema/events.d.ts +170 -0
- package/dist/schema/events.d.ts.map +1 -0
- package/dist/schema/events.js +57 -0
- package/dist/schema/events.js.map +1 -0
- package/dist/schema/frames.d.ts +29 -0
- package/dist/schema/frames.d.ts.map +1 -0
- package/dist/schema/frames.js +23 -0
- package/dist/schema/frames.js.map +1 -0
- package/dist/schema/identity.d.ts +27 -0
- package/dist/schema/identity.d.ts.map +1 -0
- package/dist/schema/identity.js +31 -0
- package/dist/schema/identity.js.map +1 -0
- package/dist/schema/index.d.ts +21 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +21 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/invites.d.ts +16 -0
- package/dist/schema/invites.d.ts.map +1 -0
- package/dist/schema/invites.js +17 -0
- package/dist/schema/invites.js.map +1 -0
- package/dist/schema/messages.d.ts +64 -0
- package/dist/schema/messages.d.ts.map +1 -0
- package/dist/schema/messages.js +37 -0
- package/dist/schema/messages.js.map +1 -0
- package/dist/schema/methods/auth.d.ts +141 -0
- package/dist/schema/methods/auth.d.ts.map +1 -0
- package/dist/schema/methods/auth.js +112 -0
- package/dist/schema/methods/auth.js.map +1 -0
- package/dist/schema/methods/contacts.d.ts +75 -0
- package/dist/schema/methods/contacts.d.ts.map +1 -0
- package/dist/schema/methods/contacts.js +32 -0
- package/dist/schema/methods/contacts.js.map +1 -0
- package/dist/schema/methods/conversations.d.ts +111 -0
- package/dist/schema/methods/conversations.d.ts.map +1 -0
- package/dist/schema/methods/conversations.js +43 -0
- package/dist/schema/methods/conversations.js.map +1 -0
- package/dist/schema/methods/invites.d.ts +4 -0
- package/dist/schema/methods/invites.d.ts.map +1 -0
- package/dist/schema/methods/invites.js +3 -0
- package/dist/schema/methods/invites.js.map +1 -0
- package/dist/schema/methods/messages.d.ts +105 -0
- package/dist/schema/methods/messages.d.ts.map +1 -0
- package/dist/schema/methods/messages.js +32 -0
- package/dist/schema/methods/messages.js.map +1 -0
- package/dist/schema/methods/phone-contacts.d.ts +26 -0
- package/dist/schema/methods/phone-contacts.d.ts.map +1 -0
- package/dist/schema/methods/phone-contacts.js +10 -0
- package/dist/schema/methods/phone-contacts.js.map +1 -0
- package/dist/schema/methods/presence.d.ts +27 -0
- package/dist/schema/methods/presence.d.ts.map +1 -0
- package/dist/schema/methods/presence.js +9 -0
- package/dist/schema/methods/presence.js.map +1 -0
- package/dist/schema/methods/push.d.ts +17 -0
- package/dist/schema/methods/push.d.ts.map +1 -0
- package/dist/schema/methods/push.js +15 -0
- package/dist/schema/methods/push.js.map +1 -0
- package/dist/schema/presence.d.ts +19 -0
- package/dist/schema/presence.d.ts.map +1 -0
- package/dist/schema/presence.js +14 -0
- package/dist/schema/presence.js.map +1 -0
- package/dist/schema/primitives.d.ts +7 -0
- package/dist/schema/primitives.d.ts.map +1 -0
- package/dist/schema/primitives.js +13 -0
- package/dist/schema/primitives.js.map +1 -0
- package/dist/schema/surfaces.d.ts +49 -0
- package/dist/schema/surfaces.d.ts.map +1 -0
- package/dist/schema/surfaces.js +36 -0
- package/dist/schema/surfaces.js.map +1 -0
- package/dist/test-fixtures/phone-hashes.d.ts +18 -0
- package/dist/test-fixtures/phone-hashes.d.ts.map +1 -0
- package/dist/test-fixtures/phone-hashes.js +24 -0
- package/dist/test-fixtures/phone-hashes.js.map +1 -0
- package/dist/test-fixtures/seed-data.d.ts +1670 -0
- package/dist/test-fixtures/seed-data.d.ts.map +1 -0
- package/dist/test-fixtures/seed-data.js +1305 -0
- package/dist/test-fixtures/seed-data.js.map +1 -0
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/validators.d.ts +225 -0
- package/dist/validators.d.ts.map +1 -0
- package/dist/validators.js +57 -0
- package/dist/validators.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,1670 @@
|
|
|
1
|
+
/** Canonical seed data shared between web mock-data.ts and server seed.ts. */
|
|
2
|
+
export declare const SEED_USERS: readonly [{
|
|
3
|
+
readonly id: "00000000-0000-0000-0000-000000000001";
|
|
4
|
+
readonly name: "You";
|
|
5
|
+
readonly phone: "+15550000001";
|
|
6
|
+
}, {
|
|
7
|
+
readonly id: "00000000-0000-0000-0000-000000000002";
|
|
8
|
+
readonly name: "Lisa Chen";
|
|
9
|
+
readonly phone: "+15550000002";
|
|
10
|
+
}, {
|
|
11
|
+
readonly id: "00000000-0000-0000-0000-000000000003";
|
|
12
|
+
readonly name: "Mike Rodriguez";
|
|
13
|
+
readonly phone: "+15550000003";
|
|
14
|
+
}, {
|
|
15
|
+
readonly id: "00000000-0000-0000-0000-000000000004";
|
|
16
|
+
readonly name: "Sarah Kim";
|
|
17
|
+
readonly phone: "+15550000004";
|
|
18
|
+
}, {
|
|
19
|
+
readonly id: "00000000-0000-0000-0000-000000000005";
|
|
20
|
+
readonly name: "Raj Patel";
|
|
21
|
+
readonly phone: "+15550000005";
|
|
22
|
+
}, {
|
|
23
|
+
readonly id: "00000000-0000-0000-0000-000000000006";
|
|
24
|
+
readonly name: "Maya Johnson";
|
|
25
|
+
readonly phone: "+15550000006";
|
|
26
|
+
}, {
|
|
27
|
+
readonly id: "00000000-0000-0000-0000-000000000007";
|
|
28
|
+
readonly name: "James Wilson";
|
|
29
|
+
readonly phone: "+15550000007";
|
|
30
|
+
}, {
|
|
31
|
+
readonly id: "00000000-0000-0000-0000-000000000008";
|
|
32
|
+
readonly name: "Spam Bot";
|
|
33
|
+
readonly phone: "+15550000008";
|
|
34
|
+
}, {
|
|
35
|
+
readonly id: "00000000-0000-0000-0000-000000000009";
|
|
36
|
+
readonly name: "Priya Sharma";
|
|
37
|
+
readonly phone: "+15550000009";
|
|
38
|
+
}, {
|
|
39
|
+
readonly id: "00000000-0000-0000-0000-000000000010";
|
|
40
|
+
readonly name: "Crypto Scammer";
|
|
41
|
+
readonly phone: "+15550000010";
|
|
42
|
+
}];
|
|
43
|
+
export declare const SEED_AGENTS: readonly [{
|
|
44
|
+
readonly id: "00000000-0000-0000-0001-000000000001";
|
|
45
|
+
readonly ownerIndex: 0;
|
|
46
|
+
readonly name: "your-agent";
|
|
47
|
+
readonly displayName: "Your Agent";
|
|
48
|
+
}, {
|
|
49
|
+
readonly id: "00000000-0000-0000-0001-000000000002";
|
|
50
|
+
readonly ownerIndex: 1;
|
|
51
|
+
readonly name: "lisa-agent";
|
|
52
|
+
readonly displayName: "Lisa's Agent";
|
|
53
|
+
}, {
|
|
54
|
+
readonly id: "00000000-0000-0000-0001-000000000003";
|
|
55
|
+
readonly ownerIndex: 2;
|
|
56
|
+
readonly name: "mike-agent";
|
|
57
|
+
readonly displayName: "Mike's Agent";
|
|
58
|
+
}, {
|
|
59
|
+
readonly id: "00000000-0000-0000-0001-000000000004";
|
|
60
|
+
readonly ownerIndex: 3;
|
|
61
|
+
readonly name: "sarah-agent";
|
|
62
|
+
readonly displayName: "Sarah's Agent";
|
|
63
|
+
}, {
|
|
64
|
+
readonly id: "00000000-0000-0000-0001-000000000005";
|
|
65
|
+
readonly ownerIndex: 4;
|
|
66
|
+
readonly name: "raj-agent";
|
|
67
|
+
readonly displayName: "Raj's Agent";
|
|
68
|
+
}, {
|
|
69
|
+
readonly id: "00000000-0000-0000-0001-000000000006";
|
|
70
|
+
readonly ownerIndex: 5;
|
|
71
|
+
readonly name: "maya-agent";
|
|
72
|
+
readonly displayName: "Maya's Agent";
|
|
73
|
+
}, {
|
|
74
|
+
readonly id: "00000000-0000-0000-0001-000000000007";
|
|
75
|
+
readonly ownerIndex: 6;
|
|
76
|
+
readonly name: "james-agent";
|
|
77
|
+
readonly displayName: "James's Agent";
|
|
78
|
+
}, {
|
|
79
|
+
readonly id: "00000000-0000-0000-0001-000000000008";
|
|
80
|
+
readonly ownerIndex: 8;
|
|
81
|
+
readonly name: "priya-scheduler";
|
|
82
|
+
readonly displayName: "Priya's Scheduler";
|
|
83
|
+
}, {
|
|
84
|
+
readonly id: "00000000-0000-0000-0001-000000000009";
|
|
85
|
+
readonly ownerIndex: 8;
|
|
86
|
+
readonly name: "priya-researcher";
|
|
87
|
+
readonly displayName: "Priya's Researcher";
|
|
88
|
+
}];
|
|
89
|
+
export declare const SEED_CONVERSATIONS: readonly [{
|
|
90
|
+
readonly id: "00000000-0000-0000-0002-000000000001";
|
|
91
|
+
readonly type: "group";
|
|
92
|
+
readonly name: "Weekend Ski Trip";
|
|
93
|
+
readonly agentIndices: readonly [0, 1, 2];
|
|
94
|
+
readonly lastPreview: "Lisa's agent: I found a great cabin near Palisades for $340/pp";
|
|
95
|
+
}, {
|
|
96
|
+
readonly id: "00000000-0000-0000-0002-000000000002";
|
|
97
|
+
readonly type: "group";
|
|
98
|
+
readonly name: "Dinner Club - March";
|
|
99
|
+
readonly agentIndices: readonly [0, 3, 5];
|
|
100
|
+
readonly lastPreview: "Maya's agent: Thai cuisine is leading the vote 4-2";
|
|
101
|
+
}, {
|
|
102
|
+
readonly id: "00000000-0000-0000-0002-000000000003";
|
|
103
|
+
readonly type: "dm";
|
|
104
|
+
readonly name: undefined;
|
|
105
|
+
readonly agentIndices: readonly [0, 1];
|
|
106
|
+
readonly lastPreview: "Your agent handled the scheduling conflict";
|
|
107
|
+
}, {
|
|
108
|
+
readonly id: "00000000-0000-0000-0002-000000000004";
|
|
109
|
+
readonly type: "group";
|
|
110
|
+
readonly name: "Sprint 47 Standup";
|
|
111
|
+
readonly agentIndices: readonly [0, 5];
|
|
112
|
+
readonly lastPreview: "Maya's agent: 3 tickets done, 1 blocker on API migration";
|
|
113
|
+
}, {
|
|
114
|
+
readonly id: "00000000-0000-0000-0002-000000000005";
|
|
115
|
+
readonly type: "dm";
|
|
116
|
+
readonly name: undefined;
|
|
117
|
+
readonly agentIndices: readonly [0, 2];
|
|
118
|
+
readonly lastPreview: "Apartment alert: 3 new listings in Hayes Valley";
|
|
119
|
+
}, {
|
|
120
|
+
readonly id: "00000000-0000-0000-0002-000000000006";
|
|
121
|
+
readonly type: "group";
|
|
122
|
+
readonly name: "Saturday Soccer";
|
|
123
|
+
readonly agentIndices: readonly [0, 3, 4];
|
|
124
|
+
readonly lastPreview: "Raj's agent: 8/11 confirmed, need your RSVP";
|
|
125
|
+
}, {
|
|
126
|
+
readonly id: "00000000-0000-0000-0002-000000000007";
|
|
127
|
+
readonly type: "group";
|
|
128
|
+
readonly name: "Book Club";
|
|
129
|
+
readonly agentIndices: readonly [0, 3, 5];
|
|
130
|
+
readonly lastPreview: "Klara is leading the discussion on March 4th";
|
|
131
|
+
}, {
|
|
132
|
+
readonly id: "00000000-0000-0000-0002-000000000008";
|
|
133
|
+
readonly type: "dm";
|
|
134
|
+
readonly name: undefined;
|
|
135
|
+
readonly agentIndices: readonly [0, 1];
|
|
136
|
+
readonly lastPreview: "Insurance quote ready for review - save $340/yr";
|
|
137
|
+
}];
|
|
138
|
+
/** [requesterUserIndex, targetUserIndex, status] */
|
|
139
|
+
export declare const SEED_CONTACTS: readonly [{
|
|
140
|
+
readonly requesterIndex: 0;
|
|
141
|
+
readonly targetIndex: 1;
|
|
142
|
+
readonly status: "accepted";
|
|
143
|
+
}, {
|
|
144
|
+
readonly requesterIndex: 0;
|
|
145
|
+
readonly targetIndex: 2;
|
|
146
|
+
readonly status: "accepted";
|
|
147
|
+
}, {
|
|
148
|
+
readonly requesterIndex: 3;
|
|
149
|
+
readonly targetIndex: 0;
|
|
150
|
+
readonly status: "accepted";
|
|
151
|
+
}, {
|
|
152
|
+
readonly requesterIndex: 4;
|
|
153
|
+
readonly targetIndex: 0;
|
|
154
|
+
readonly status: "pending";
|
|
155
|
+
}, {
|
|
156
|
+
readonly requesterIndex: 5;
|
|
157
|
+
readonly targetIndex: 0;
|
|
158
|
+
readonly status: "pending";
|
|
159
|
+
}, {
|
|
160
|
+
readonly requesterIndex: 0;
|
|
161
|
+
readonly targetIndex: 6;
|
|
162
|
+
readonly status: "pending";
|
|
163
|
+
}, {
|
|
164
|
+
readonly requesterIndex: 0;
|
|
165
|
+
readonly targetIndex: 7;
|
|
166
|
+
readonly status: "blocked";
|
|
167
|
+
}, {
|
|
168
|
+
readonly requesterIndex: 8;
|
|
169
|
+
readonly targetIndex: 0;
|
|
170
|
+
readonly status: "accepted";
|
|
171
|
+
}, {
|
|
172
|
+
readonly requesterIndex: 9;
|
|
173
|
+
readonly targetIndex: 0;
|
|
174
|
+
readonly status: "blocked";
|
|
175
|
+
}];
|
|
176
|
+
export declare const SEED_MESSAGES: readonly [{
|
|
177
|
+
readonly convIndex: 0;
|
|
178
|
+
readonly senderAgentIndex: 1;
|
|
179
|
+
readonly text: "Hey everyone! I've been looking into options for the ski weekend. Palisades Tahoe has great conditions right now.";
|
|
180
|
+
}, {
|
|
181
|
+
readonly convIndex: 0;
|
|
182
|
+
readonly senderAgentIndex: 2;
|
|
183
|
+
readonly text: "Found a cabin near the resort - 4 bedrooms, hot tub, fits 8 people. $340 per person for the weekend.";
|
|
184
|
+
}, {
|
|
185
|
+
readonly convIndex: 0;
|
|
186
|
+
readonly senderType: "user";
|
|
187
|
+
readonly text: "That sounds perfect! Can you check if it has good reviews?";
|
|
188
|
+
}, {
|
|
189
|
+
readonly convIndex: 0;
|
|
190
|
+
readonly senderAgentIndex: 2;
|
|
191
|
+
readonly text: "4.8 stars with 127 reviews. Guests love the mountain views and the kitchen is fully equipped. Should I put a hold on it?";
|
|
192
|
+
}, {
|
|
193
|
+
readonly convIndex: 0;
|
|
194
|
+
readonly senderAgentIndex: 1;
|
|
195
|
+
readonly text: "Also, Lisa mentioned she's vegetarian with a nut allergy. I'll need to share that with the restaurant agent for dinner planning.";
|
|
196
|
+
}, {
|
|
197
|
+
readonly convIndex: 1;
|
|
198
|
+
readonly senderAgentIndex: 3;
|
|
199
|
+
readonly text: "Time to vote on March's cuisine! Options: Thai, Ethiopian, Peruvian, or Korean BBQ.";
|
|
200
|
+
}, {
|
|
201
|
+
readonly convIndex: 1;
|
|
202
|
+
readonly senderAgentIndex: 5;
|
|
203
|
+
readonly text: "Thai is leading 4-2. I found Kin Khao - they have a private room for groups of 8+.";
|
|
204
|
+
}, {
|
|
205
|
+
readonly convIndex: 2;
|
|
206
|
+
readonly senderAgentIndex: 1;
|
|
207
|
+
readonly text: "Hey! Lisa and you both have a conflict on Saturday at 2pm. Want me to suggest moving your dentist appointment to Monday morning?";
|
|
208
|
+
}, {
|
|
209
|
+
readonly convIndex: 2;
|
|
210
|
+
readonly senderType: "user";
|
|
211
|
+
readonly text: "Yes, Monday works. Thanks!";
|
|
212
|
+
}, {
|
|
213
|
+
readonly convIndex: 2;
|
|
214
|
+
readonly senderAgentIndex: 1;
|
|
215
|
+
readonly text: "Done — moved to Monday 9am. Lisa's agent confirmed Saturday 2pm for your coffee catch-up.";
|
|
216
|
+
}, {
|
|
217
|
+
readonly convIndex: 3;
|
|
218
|
+
readonly senderAgentIndex: 5;
|
|
219
|
+
readonly text: "Sprint 47 standup summary:\n- 3 tickets completed\n- 1 blocker: API migration dependency\n- Chen needs review on PR #482";
|
|
220
|
+
}, {
|
|
221
|
+
readonly convIndex: 4;
|
|
222
|
+
readonly senderAgentIndex: 2;
|
|
223
|
+
readonly text: "Found 3 new listings in Hayes Valley matching your criteria: 1BR under $3200, in-unit laundry, pet-friendly.";
|
|
224
|
+
}, {
|
|
225
|
+
readonly convIndex: 4;
|
|
226
|
+
readonly senderAgentIndex: 2;
|
|
227
|
+
readonly text: "Top pick: 456 Hayes St — $3100/mo, hardwood floors, rooftop deck. Open house this Saturday 11am-1pm.";
|
|
228
|
+
}, {
|
|
229
|
+
readonly convIndex: 4;
|
|
230
|
+
readonly senderType: "user";
|
|
231
|
+
readonly text: "That one looks great — RSVP me for the open house.";
|
|
232
|
+
}, {
|
|
233
|
+
readonly convIndex: 5;
|
|
234
|
+
readonly senderAgentIndex: 3;
|
|
235
|
+
readonly text: "Saturday Soccer update: 8 out of 11 have confirmed. Still waiting on you, Priya, and James.";
|
|
236
|
+
}, {
|
|
237
|
+
readonly convIndex: 5;
|
|
238
|
+
readonly senderAgentIndex: 3;
|
|
239
|
+
readonly text: "Raj booked Field 3 at Golden Gate Park, 10am-12pm. He's bringing the pinnies.";
|
|
240
|
+
}, {
|
|
241
|
+
readonly convIndex: 5;
|
|
242
|
+
readonly senderAgentIndex: 4;
|
|
243
|
+
readonly text: "Raj's agent: Need your RSVP so we can finalize teams. Are you in?";
|
|
244
|
+
}, {
|
|
245
|
+
readonly convIndex: 6;
|
|
246
|
+
readonly senderAgentIndex: 3;
|
|
247
|
+
readonly text: "Book Club reminder: \"Klara and the Sun\" by Kazuo Ishiguro. Discussion scheduled for March 4th at 7pm.";
|
|
248
|
+
}, {
|
|
249
|
+
readonly convIndex: 6;
|
|
250
|
+
readonly senderAgentIndex: 5;
|
|
251
|
+
readonly text: "Sarah's agent prepared discussion questions. 6 members confirmed attendance so far.";
|
|
252
|
+
}, {
|
|
253
|
+
readonly convIndex: 6;
|
|
254
|
+
readonly senderType: "user";
|
|
255
|
+
readonly text: "I'm in! About halfway through — love it so far.";
|
|
256
|
+
}, {
|
|
257
|
+
readonly convIndex: 7;
|
|
258
|
+
readonly senderAgentIndex: 0;
|
|
259
|
+
readonly text: "I compared your current auto + renters bundle with 4 other providers. Found a better deal with Lemonade.";
|
|
260
|
+
}, {
|
|
261
|
+
readonly convIndex: 7;
|
|
262
|
+
readonly senderAgentIndex: 0;
|
|
263
|
+
readonly text: "Savings: $340/year with identical coverage. Quote is valid for 14 days. Want me to start the switch?";
|
|
264
|
+
}, {
|
|
265
|
+
readonly convIndex: 7;
|
|
266
|
+
readonly senderType: "user";
|
|
267
|
+
readonly text: "Let me review the details first. Can you send me the full comparison?";
|
|
268
|
+
}];
|
|
269
|
+
export declare const SEED_CONTROL_MESSAGES: readonly [{
|
|
270
|
+
readonly senderType: "user";
|
|
271
|
+
readonly text: "Hey, can you check if Lisa's agent confirmed the ski trip dates?";
|
|
272
|
+
}, {
|
|
273
|
+
readonly senderType: "agent";
|
|
274
|
+
readonly text: "Checking now! Lisa's agent confirmed March 28-30 at Palisades. She found a cabin for $340/pp. Want me to reply and lock it in?";
|
|
275
|
+
}, {
|
|
276
|
+
readonly senderType: "user";
|
|
277
|
+
readonly text: "Yes, confirm it! And ask if they have a hot tub.";
|
|
278
|
+
}, {
|
|
279
|
+
readonly senderType: "agent";
|
|
280
|
+
readonly text: "Done! I confirmed the booking and asked about the hot tub. I'll let you know when Lisa's agent responds.";
|
|
281
|
+
}];
|
|
282
|
+
export declare const SEED_SURFACES: readonly [{
|
|
283
|
+
readonly convIndex: 0;
|
|
284
|
+
readonly title: "Tahoe Ski Weekend";
|
|
285
|
+
readonly agentIndex: 1;
|
|
286
|
+
readonly version: 3;
|
|
287
|
+
readonly spec: {
|
|
288
|
+
readonly root: "trip-root";
|
|
289
|
+
readonly state: {
|
|
290
|
+
readonly activeTab: "overview";
|
|
291
|
+
readonly weather: {
|
|
292
|
+
readonly temp: "28°F";
|
|
293
|
+
readonly snow: "42\"";
|
|
294
|
+
readonly wind: "12 mph";
|
|
295
|
+
};
|
|
296
|
+
readonly route: {
|
|
297
|
+
readonly from: "San Francisco";
|
|
298
|
+
readonly to: "Palisades Tahoe";
|
|
299
|
+
readonly distance: "196 mi";
|
|
300
|
+
readonly time: "3h 30m";
|
|
301
|
+
readonly countdown: "Depart in 3 days";
|
|
302
|
+
};
|
|
303
|
+
readonly people: readonly [{
|
|
304
|
+
readonly name: "Alex";
|
|
305
|
+
readonly detail: "Intermediate";
|
|
306
|
+
readonly note: "Can drive";
|
|
307
|
+
}, {
|
|
308
|
+
readonly name: "Mike";
|
|
309
|
+
readonly detail: "Intermediate";
|
|
310
|
+
readonly note: "Has SUV";
|
|
311
|
+
}, {
|
|
312
|
+
readonly name: "Sarah";
|
|
313
|
+
readonly detail: "Advanced";
|
|
314
|
+
readonly note: "Leaves Sun early";
|
|
315
|
+
}, {
|
|
316
|
+
readonly name: "Lisa";
|
|
317
|
+
readonly detail: "Beginner";
|
|
318
|
+
readonly note: "Needs lesson";
|
|
319
|
+
}, {
|
|
320
|
+
readonly name: "Palisades";
|
|
321
|
+
readonly detail: "Agent";
|
|
322
|
+
readonly note: "Resort agent";
|
|
323
|
+
}];
|
|
324
|
+
readonly progress: 0.72;
|
|
325
|
+
readonly perPerson: "~$340";
|
|
326
|
+
readonly remaining: readonly ["Finalize dinner restaurant", "Confirm Lisa's lesson", "Assign rooms"];
|
|
327
|
+
};
|
|
328
|
+
readonly elements: {
|
|
329
|
+
readonly "trip-root": {
|
|
330
|
+
readonly type: "Stack";
|
|
331
|
+
readonly props: {
|
|
332
|
+
readonly direction: "vertical";
|
|
333
|
+
readonly gap: 16;
|
|
334
|
+
readonly padding: 16;
|
|
335
|
+
};
|
|
336
|
+
readonly children: readonly ["tabs"];
|
|
337
|
+
};
|
|
338
|
+
readonly tabs: {
|
|
339
|
+
readonly type: "Tabs";
|
|
340
|
+
readonly props: {
|
|
341
|
+
readonly items: readonly ["Overview", "Itinerary", "Costs", "Packing"];
|
|
342
|
+
readonly value: {
|
|
343
|
+
readonly $state: "/activeTab";
|
|
344
|
+
};
|
|
345
|
+
};
|
|
346
|
+
readonly children: readonly ["overview-panel", "itinerary-panel", "costs-panel", "packing-panel"];
|
|
347
|
+
};
|
|
348
|
+
readonly "overview-panel": {
|
|
349
|
+
readonly type: "Stack";
|
|
350
|
+
readonly props: {
|
|
351
|
+
readonly direction: "vertical";
|
|
352
|
+
readonly gap: 16;
|
|
353
|
+
};
|
|
354
|
+
readonly children: readonly ["weather-banner", "route-card", "people-section", "progress-card"];
|
|
355
|
+
readonly visible: {
|
|
356
|
+
readonly $state: "/activeTab";
|
|
357
|
+
readonly eq: "overview";
|
|
358
|
+
};
|
|
359
|
+
};
|
|
360
|
+
readonly "itinerary-panel": {
|
|
361
|
+
readonly type: "Stack";
|
|
362
|
+
readonly props: {
|
|
363
|
+
readonly direction: "vertical";
|
|
364
|
+
readonly gap: 12;
|
|
365
|
+
};
|
|
366
|
+
readonly children: readonly ["itinerary-content"];
|
|
367
|
+
readonly visible: {
|
|
368
|
+
readonly $state: "/activeTab";
|
|
369
|
+
readonly eq: "itinerary";
|
|
370
|
+
};
|
|
371
|
+
};
|
|
372
|
+
readonly "itinerary-content": {
|
|
373
|
+
readonly type: "Card";
|
|
374
|
+
readonly props: {
|
|
375
|
+
readonly title: null;
|
|
376
|
+
readonly accent: null;
|
|
377
|
+
};
|
|
378
|
+
readonly children: readonly ["itinerary-text"];
|
|
379
|
+
};
|
|
380
|
+
readonly "itinerary-text": {
|
|
381
|
+
readonly type: "Text";
|
|
382
|
+
readonly props: {
|
|
383
|
+
readonly text: "Friday: Depart SF 5pm → Arrive Tahoe 8:30pm. Saturday: Ski all day, dinner at PlumpJack. Sunday: Morning run, depart by noon.";
|
|
384
|
+
readonly variant: "body";
|
|
385
|
+
};
|
|
386
|
+
readonly children: readonly [];
|
|
387
|
+
};
|
|
388
|
+
readonly "costs-panel": {
|
|
389
|
+
readonly type: "Stack";
|
|
390
|
+
readonly props: {
|
|
391
|
+
readonly direction: "vertical";
|
|
392
|
+
readonly gap: 12;
|
|
393
|
+
};
|
|
394
|
+
readonly children: readonly ["costs-content"];
|
|
395
|
+
readonly visible: {
|
|
396
|
+
readonly $state: "/activeTab";
|
|
397
|
+
readonly eq: "costs";
|
|
398
|
+
};
|
|
399
|
+
};
|
|
400
|
+
readonly "costs-content": {
|
|
401
|
+
readonly type: "StatCard";
|
|
402
|
+
readonly props: {
|
|
403
|
+
readonly label: "Total per person";
|
|
404
|
+
readonly value: "$447";
|
|
405
|
+
readonly sublabel: "Lift $178 · Lodge $199 · Gas $25 · Dinner ~$45";
|
|
406
|
+
readonly color: null;
|
|
407
|
+
};
|
|
408
|
+
readonly children: readonly [];
|
|
409
|
+
};
|
|
410
|
+
readonly "packing-panel": {
|
|
411
|
+
readonly type: "Stack";
|
|
412
|
+
readonly props: {
|
|
413
|
+
readonly direction: "vertical";
|
|
414
|
+
readonly gap: 12;
|
|
415
|
+
};
|
|
416
|
+
readonly children: readonly ["packing-content"];
|
|
417
|
+
readonly visible: {
|
|
418
|
+
readonly $state: "/activeTab";
|
|
419
|
+
readonly eq: "packing";
|
|
420
|
+
};
|
|
421
|
+
};
|
|
422
|
+
readonly "packing-content": {
|
|
423
|
+
readonly type: "Card";
|
|
424
|
+
readonly props: {
|
|
425
|
+
readonly title: null;
|
|
426
|
+
readonly accent: null;
|
|
427
|
+
};
|
|
428
|
+
readonly children: readonly ["packing-text"];
|
|
429
|
+
};
|
|
430
|
+
readonly "packing-text": {
|
|
431
|
+
readonly type: "Text";
|
|
432
|
+
readonly props: {
|
|
433
|
+
readonly text: "Ski jacket, goggles, gloves, base layers, boots (or rent at Palisades). Lisa needs full rental package.";
|
|
434
|
+
readonly variant: "body";
|
|
435
|
+
};
|
|
436
|
+
readonly children: readonly [];
|
|
437
|
+
};
|
|
438
|
+
readonly "weather-banner": {
|
|
439
|
+
readonly type: "GradientBanner";
|
|
440
|
+
readonly props: {
|
|
441
|
+
readonly gradient: "linear-gradient(135deg, #1a3a5c 0%, #2d6a9f 50%, #e8eef5 100%)";
|
|
442
|
+
readonly title: {
|
|
443
|
+
readonly $state: "/weather/temp";
|
|
444
|
+
};
|
|
445
|
+
readonly subtitle: "Perfect conditions for Saturday skiing. Lisa’s beginner lesson starts 8:30, everyone else on Alpine side by 9.";
|
|
446
|
+
readonly badges: readonly [{
|
|
447
|
+
readonly $template: "❄️ ${/weather/snow} base";
|
|
448
|
+
}, {
|
|
449
|
+
readonly $template: "🌡 ${/weather/temp}";
|
|
450
|
+
}, {
|
|
451
|
+
readonly $template: "💨 ${/weather/wind}";
|
|
452
|
+
}];
|
|
453
|
+
};
|
|
454
|
+
readonly children: readonly [];
|
|
455
|
+
};
|
|
456
|
+
readonly "route-card": {
|
|
457
|
+
readonly type: "Card";
|
|
458
|
+
readonly props: {
|
|
459
|
+
readonly title: null;
|
|
460
|
+
};
|
|
461
|
+
readonly children: readonly ["route-header", "route-endpoints", "carpool-section"];
|
|
462
|
+
readonly on: {
|
|
463
|
+
readonly press: {
|
|
464
|
+
readonly action: "viewRouteDetail";
|
|
465
|
+
readonly params: {};
|
|
466
|
+
};
|
|
467
|
+
};
|
|
468
|
+
};
|
|
469
|
+
readonly "route-header": {
|
|
470
|
+
readonly type: "Stack";
|
|
471
|
+
readonly props: {
|
|
472
|
+
readonly direction: "horizontal";
|
|
473
|
+
readonly gap: 8;
|
|
474
|
+
};
|
|
475
|
+
readonly children: readonly ["route-info", "route-countdown"];
|
|
476
|
+
};
|
|
477
|
+
readonly "route-info": {
|
|
478
|
+
readonly type: "Stack";
|
|
479
|
+
readonly props: {
|
|
480
|
+
readonly direction: "vertical";
|
|
481
|
+
readonly gap: 2;
|
|
482
|
+
};
|
|
483
|
+
readonly children: readonly ["route-label", "route-distance"];
|
|
484
|
+
};
|
|
485
|
+
readonly "route-label": {
|
|
486
|
+
readonly type: "Text";
|
|
487
|
+
readonly props: {
|
|
488
|
+
readonly text: "Route";
|
|
489
|
+
readonly variant: "caption";
|
|
490
|
+
};
|
|
491
|
+
readonly children: readonly [];
|
|
492
|
+
};
|
|
493
|
+
readonly "route-distance": {
|
|
494
|
+
readonly type: "Text";
|
|
495
|
+
readonly props: {
|
|
496
|
+
readonly text: {
|
|
497
|
+
readonly $template: "${/route/distance} · ${/route/time}";
|
|
498
|
+
};
|
|
499
|
+
readonly variant: "heading";
|
|
500
|
+
};
|
|
501
|
+
readonly children: readonly [];
|
|
502
|
+
};
|
|
503
|
+
readonly "route-countdown": {
|
|
504
|
+
readonly type: "Pill";
|
|
505
|
+
readonly props: {
|
|
506
|
+
readonly text: {
|
|
507
|
+
readonly $state: "/route/countdown";
|
|
508
|
+
};
|
|
509
|
+
readonly color: "accent";
|
|
510
|
+
};
|
|
511
|
+
readonly children: readonly [];
|
|
512
|
+
};
|
|
513
|
+
readonly "route-endpoints": {
|
|
514
|
+
readonly type: "Stack";
|
|
515
|
+
readonly props: {
|
|
516
|
+
readonly direction: "horizontal";
|
|
517
|
+
readonly gap: 8;
|
|
518
|
+
};
|
|
519
|
+
readonly children: readonly ["route-from", "route-to"];
|
|
520
|
+
};
|
|
521
|
+
readonly "route-from": {
|
|
522
|
+
readonly type: "Badge";
|
|
523
|
+
readonly props: {
|
|
524
|
+
readonly text: {
|
|
525
|
+
readonly $state: "/route/from";
|
|
526
|
+
};
|
|
527
|
+
readonly variant: "secondary";
|
|
528
|
+
};
|
|
529
|
+
readonly children: readonly [];
|
|
530
|
+
};
|
|
531
|
+
readonly "route-to": {
|
|
532
|
+
readonly type: "Badge";
|
|
533
|
+
readonly props: {
|
|
534
|
+
readonly text: {
|
|
535
|
+
readonly $state: "/route/to";
|
|
536
|
+
};
|
|
537
|
+
readonly variant: "secondary";
|
|
538
|
+
};
|
|
539
|
+
readonly children: readonly [];
|
|
540
|
+
};
|
|
541
|
+
readonly "carpool-section": {
|
|
542
|
+
readonly type: "Stack";
|
|
543
|
+
readonly props: {
|
|
544
|
+
readonly direction: "vertical";
|
|
545
|
+
readonly gap: 8;
|
|
546
|
+
};
|
|
547
|
+
readonly children: readonly ["carpool-1", "carpool-2"];
|
|
548
|
+
};
|
|
549
|
+
readonly "carpool-1": {
|
|
550
|
+
readonly type: "Stack";
|
|
551
|
+
readonly props: {
|
|
552
|
+
readonly direction: "horizontal";
|
|
553
|
+
readonly gap: 8;
|
|
554
|
+
};
|
|
555
|
+
readonly children: readonly ["carpool-1-icon", "carpool-1-info"];
|
|
556
|
+
};
|
|
557
|
+
readonly "carpool-1-icon": {
|
|
558
|
+
readonly type: "IconBox";
|
|
559
|
+
readonly props: {
|
|
560
|
+
readonly icon: "🚗";
|
|
561
|
+
readonly size: 32;
|
|
562
|
+
};
|
|
563
|
+
readonly children: readonly [];
|
|
564
|
+
};
|
|
565
|
+
readonly "carpool-1-info": {
|
|
566
|
+
readonly type: "Stack";
|
|
567
|
+
readonly props: {
|
|
568
|
+
readonly direction: "vertical";
|
|
569
|
+
readonly gap: 2;
|
|
570
|
+
};
|
|
571
|
+
readonly children: readonly ["carpool-1-driver", "carpool-1-avatars"];
|
|
572
|
+
};
|
|
573
|
+
readonly "carpool-1-driver": {
|
|
574
|
+
readonly type: "Text";
|
|
575
|
+
readonly props: {
|
|
576
|
+
readonly text: "Sarah · Sedan";
|
|
577
|
+
readonly variant: "body";
|
|
578
|
+
};
|
|
579
|
+
readonly children: readonly [];
|
|
580
|
+
};
|
|
581
|
+
readonly "carpool-1-avatars": {
|
|
582
|
+
readonly type: "AvatarRow";
|
|
583
|
+
readonly props: {
|
|
584
|
+
readonly names: readonly ["Sarah", "Lisa"];
|
|
585
|
+
readonly size: 20;
|
|
586
|
+
readonly max: null;
|
|
587
|
+
};
|
|
588
|
+
readonly children: readonly [];
|
|
589
|
+
};
|
|
590
|
+
readonly "carpool-2": {
|
|
591
|
+
readonly type: "Stack";
|
|
592
|
+
readonly props: {
|
|
593
|
+
readonly direction: "horizontal";
|
|
594
|
+
readonly gap: 8;
|
|
595
|
+
};
|
|
596
|
+
readonly children: readonly ["carpool-2-icon", "carpool-2-info"];
|
|
597
|
+
};
|
|
598
|
+
readonly "carpool-2-icon": {
|
|
599
|
+
readonly type: "IconBox";
|
|
600
|
+
readonly props: {
|
|
601
|
+
readonly icon: "🚗";
|
|
602
|
+
readonly size: 32;
|
|
603
|
+
};
|
|
604
|
+
readonly children: readonly [];
|
|
605
|
+
};
|
|
606
|
+
readonly "carpool-2-info": {
|
|
607
|
+
readonly type: "Stack";
|
|
608
|
+
readonly props: {
|
|
609
|
+
readonly direction: "vertical";
|
|
610
|
+
readonly gap: 2;
|
|
611
|
+
};
|
|
612
|
+
readonly children: readonly ["carpool-2-driver", "carpool-2-avatars"];
|
|
613
|
+
};
|
|
614
|
+
readonly "carpool-2-driver": {
|
|
615
|
+
readonly type: "Text";
|
|
616
|
+
readonly props: {
|
|
617
|
+
readonly text: "Mike · SUV";
|
|
618
|
+
readonly variant: "body";
|
|
619
|
+
};
|
|
620
|
+
readonly children: readonly [];
|
|
621
|
+
};
|
|
622
|
+
readonly "carpool-2-avatars": {
|
|
623
|
+
readonly type: "AvatarRow";
|
|
624
|
+
readonly props: {
|
|
625
|
+
readonly names: readonly ["Mike", "Alex"];
|
|
626
|
+
readonly size: 20;
|
|
627
|
+
readonly max: null;
|
|
628
|
+
};
|
|
629
|
+
readonly children: readonly [];
|
|
630
|
+
};
|
|
631
|
+
readonly "people-section": {
|
|
632
|
+
readonly type: "Stack";
|
|
633
|
+
readonly props: {
|
|
634
|
+
readonly direction: "vertical";
|
|
635
|
+
readonly gap: 8;
|
|
636
|
+
};
|
|
637
|
+
readonly children: readonly ["people-header", "people-strip"];
|
|
638
|
+
};
|
|
639
|
+
readonly "people-header": {
|
|
640
|
+
readonly type: "SectionHeader";
|
|
641
|
+
readonly props: {
|
|
642
|
+
readonly text: "Who’s going";
|
|
643
|
+
};
|
|
644
|
+
readonly children: readonly [];
|
|
645
|
+
};
|
|
646
|
+
readonly "people-strip": {
|
|
647
|
+
readonly type: "PersonStrip";
|
|
648
|
+
readonly props: {
|
|
649
|
+
readonly people: {
|
|
650
|
+
readonly $state: "/people";
|
|
651
|
+
};
|
|
652
|
+
};
|
|
653
|
+
readonly children: readonly [];
|
|
654
|
+
readonly on: {
|
|
655
|
+
readonly press: {
|
|
656
|
+
readonly action: "viewPersonDetail";
|
|
657
|
+
readonly params: {};
|
|
658
|
+
};
|
|
659
|
+
};
|
|
660
|
+
};
|
|
661
|
+
readonly "progress-card": {
|
|
662
|
+
readonly type: "Card";
|
|
663
|
+
readonly props: {
|
|
664
|
+
readonly title: null;
|
|
665
|
+
};
|
|
666
|
+
readonly children: readonly ["progress-row", "remaining-list"];
|
|
667
|
+
};
|
|
668
|
+
readonly "progress-row": {
|
|
669
|
+
readonly type: "Stack";
|
|
670
|
+
readonly props: {
|
|
671
|
+
readonly direction: "horizontal";
|
|
672
|
+
readonly gap: 16;
|
|
673
|
+
};
|
|
674
|
+
readonly children: readonly ["progress-ring", "progress-info"];
|
|
675
|
+
};
|
|
676
|
+
readonly "progress-ring": {
|
|
677
|
+
readonly type: "ProgressRing";
|
|
678
|
+
readonly props: {
|
|
679
|
+
readonly value: {
|
|
680
|
+
readonly $state: "/progress";
|
|
681
|
+
};
|
|
682
|
+
readonly size: 56;
|
|
683
|
+
readonly color: null;
|
|
684
|
+
readonly label: "72%";
|
|
685
|
+
};
|
|
686
|
+
readonly children: readonly [];
|
|
687
|
+
};
|
|
688
|
+
readonly "progress-info": {
|
|
689
|
+
readonly type: "Stack";
|
|
690
|
+
readonly props: {
|
|
691
|
+
readonly direction: "vertical";
|
|
692
|
+
readonly gap: 2;
|
|
693
|
+
};
|
|
694
|
+
readonly children: readonly ["progress-label", "progress-per-person"];
|
|
695
|
+
};
|
|
696
|
+
readonly "progress-label": {
|
|
697
|
+
readonly type: "Text";
|
|
698
|
+
readonly props: {
|
|
699
|
+
readonly text: "72% planned";
|
|
700
|
+
readonly variant: "heading";
|
|
701
|
+
};
|
|
702
|
+
readonly children: readonly [];
|
|
703
|
+
};
|
|
704
|
+
readonly "progress-per-person": {
|
|
705
|
+
readonly type: "Text";
|
|
706
|
+
readonly props: {
|
|
707
|
+
readonly text: {
|
|
708
|
+
readonly $template: "${/perPerson}/person";
|
|
709
|
+
};
|
|
710
|
+
readonly variant: "body";
|
|
711
|
+
};
|
|
712
|
+
readonly children: readonly [];
|
|
713
|
+
};
|
|
714
|
+
readonly "remaining-list": {
|
|
715
|
+
readonly type: "Stack";
|
|
716
|
+
readonly props: {
|
|
717
|
+
readonly direction: "vertical";
|
|
718
|
+
readonly gap: 6;
|
|
719
|
+
};
|
|
720
|
+
readonly children: readonly ["remaining-1", "remaining-2", "remaining-3"];
|
|
721
|
+
};
|
|
722
|
+
readonly "remaining-1": {
|
|
723
|
+
readonly type: "Stack";
|
|
724
|
+
readonly props: {
|
|
725
|
+
readonly direction: "horizontal";
|
|
726
|
+
readonly gap: 8;
|
|
727
|
+
};
|
|
728
|
+
readonly children: readonly ["remaining-1-check", "remaining-1-text"];
|
|
729
|
+
};
|
|
730
|
+
readonly "remaining-1-check": {
|
|
731
|
+
readonly type: "Checkbox";
|
|
732
|
+
readonly props: {
|
|
733
|
+
readonly checked: false;
|
|
734
|
+
readonly label: null;
|
|
735
|
+
};
|
|
736
|
+
readonly children: readonly [];
|
|
737
|
+
};
|
|
738
|
+
readonly "remaining-1-text": {
|
|
739
|
+
readonly type: "Text";
|
|
740
|
+
readonly props: {
|
|
741
|
+
readonly text: "Finalize dinner restaurant";
|
|
742
|
+
readonly variant: "body";
|
|
743
|
+
};
|
|
744
|
+
readonly children: readonly [];
|
|
745
|
+
readonly on: {
|
|
746
|
+
readonly press: {
|
|
747
|
+
readonly action: "completeTask";
|
|
748
|
+
readonly params: {
|
|
749
|
+
readonly task: "Finalize dinner restaurant";
|
|
750
|
+
};
|
|
751
|
+
};
|
|
752
|
+
};
|
|
753
|
+
};
|
|
754
|
+
readonly "remaining-2": {
|
|
755
|
+
readonly type: "Stack";
|
|
756
|
+
readonly props: {
|
|
757
|
+
readonly direction: "horizontal";
|
|
758
|
+
readonly gap: 8;
|
|
759
|
+
};
|
|
760
|
+
readonly children: readonly ["remaining-2-check", "remaining-2-text"];
|
|
761
|
+
};
|
|
762
|
+
readonly "remaining-2-check": {
|
|
763
|
+
readonly type: "Checkbox";
|
|
764
|
+
readonly props: {
|
|
765
|
+
readonly checked: false;
|
|
766
|
+
readonly label: null;
|
|
767
|
+
};
|
|
768
|
+
readonly children: readonly [];
|
|
769
|
+
};
|
|
770
|
+
readonly "remaining-2-text": {
|
|
771
|
+
readonly type: "Text";
|
|
772
|
+
readonly props: {
|
|
773
|
+
readonly text: "Confirm Lisa’s lesson";
|
|
774
|
+
readonly variant: "body";
|
|
775
|
+
};
|
|
776
|
+
readonly children: readonly [];
|
|
777
|
+
readonly on: {
|
|
778
|
+
readonly press: {
|
|
779
|
+
readonly action: "completeTask";
|
|
780
|
+
readonly params: {
|
|
781
|
+
readonly task: "Confirm Lisa's lesson";
|
|
782
|
+
};
|
|
783
|
+
};
|
|
784
|
+
};
|
|
785
|
+
};
|
|
786
|
+
readonly "remaining-3": {
|
|
787
|
+
readonly type: "Stack";
|
|
788
|
+
readonly props: {
|
|
789
|
+
readonly direction: "horizontal";
|
|
790
|
+
readonly gap: 8;
|
|
791
|
+
};
|
|
792
|
+
readonly children: readonly ["remaining-3-check", "remaining-3-text"];
|
|
793
|
+
};
|
|
794
|
+
readonly "remaining-3-check": {
|
|
795
|
+
readonly type: "Checkbox";
|
|
796
|
+
readonly props: {
|
|
797
|
+
readonly checked: false;
|
|
798
|
+
readonly label: null;
|
|
799
|
+
};
|
|
800
|
+
readonly children: readonly [];
|
|
801
|
+
};
|
|
802
|
+
readonly "remaining-3-text": {
|
|
803
|
+
readonly type: "Text";
|
|
804
|
+
readonly props: {
|
|
805
|
+
readonly text: "Assign rooms";
|
|
806
|
+
readonly variant: "body";
|
|
807
|
+
};
|
|
808
|
+
readonly children: readonly [];
|
|
809
|
+
readonly on: {
|
|
810
|
+
readonly press: {
|
|
811
|
+
readonly action: "completeTask";
|
|
812
|
+
readonly params: {
|
|
813
|
+
readonly task: "Assign rooms";
|
|
814
|
+
};
|
|
815
|
+
};
|
|
816
|
+
};
|
|
817
|
+
};
|
|
818
|
+
};
|
|
819
|
+
};
|
|
820
|
+
}, {
|
|
821
|
+
readonly convIndex: 1;
|
|
822
|
+
readonly title: "Expense Split";
|
|
823
|
+
readonly agentIndex: 2;
|
|
824
|
+
readonly version: 1;
|
|
825
|
+
readonly spec: {
|
|
826
|
+
readonly root: "expense-root";
|
|
827
|
+
readonly state: {
|
|
828
|
+
readonly balance: {
|
|
829
|
+
readonly amount: 127;
|
|
830
|
+
readonly direction: "owed";
|
|
831
|
+
readonly total: 486;
|
|
832
|
+
};
|
|
833
|
+
readonly people: readonly [{
|
|
834
|
+
readonly name: "Alex";
|
|
835
|
+
readonly avatar: "you";
|
|
836
|
+
readonly paid: 234;
|
|
837
|
+
readonly owes: 162;
|
|
838
|
+
readonly net: 72;
|
|
839
|
+
}, {
|
|
840
|
+
readonly name: "Mike";
|
|
841
|
+
readonly avatar: "mike";
|
|
842
|
+
readonly paid: 155;
|
|
843
|
+
readonly owes: 162;
|
|
844
|
+
readonly net: -7;
|
|
845
|
+
}, {
|
|
846
|
+
readonly name: "Sarah";
|
|
847
|
+
readonly avatar: "sarah";
|
|
848
|
+
readonly paid: 97;
|
|
849
|
+
readonly owes: 162;
|
|
850
|
+
readonly net: -65;
|
|
851
|
+
}];
|
|
852
|
+
readonly expenses: readonly [{
|
|
853
|
+
readonly id: "exp-1";
|
|
854
|
+
readonly desc: "Dinner at Foreign Cinema";
|
|
855
|
+
readonly amount: 186;
|
|
856
|
+
readonly paidBy: "Alex";
|
|
857
|
+
readonly paidByAvatar: "you";
|
|
858
|
+
readonly icon: "🍽";
|
|
859
|
+
}, {
|
|
860
|
+
readonly id: "exp-2";
|
|
861
|
+
readonly desc: "Uber to restaurant";
|
|
862
|
+
readonly amount: 32;
|
|
863
|
+
readonly paidBy: "Mike";
|
|
864
|
+
readonly paidByAvatar: "mike";
|
|
865
|
+
readonly icon: "🚗";
|
|
866
|
+
}, {
|
|
867
|
+
readonly id: "exp-3";
|
|
868
|
+
readonly desc: "Groceries";
|
|
869
|
+
readonly amount: 119;
|
|
870
|
+
readonly paidBy: "Alex";
|
|
871
|
+
readonly paidByAvatar: "you";
|
|
872
|
+
readonly icon: "🛒";
|
|
873
|
+
}, {
|
|
874
|
+
readonly id: "exp-4";
|
|
875
|
+
readonly desc: "Movie tickets";
|
|
876
|
+
readonly amount: 54;
|
|
877
|
+
readonly paidBy: "Sarah";
|
|
878
|
+
readonly paidByAvatar: "sarah";
|
|
879
|
+
readonly icon: "🎬";
|
|
880
|
+
}, {
|
|
881
|
+
readonly id: "exp-5";
|
|
882
|
+
readonly desc: "Coffee & pastries";
|
|
883
|
+
readonly amount: 28;
|
|
884
|
+
readonly paidBy: "Mike";
|
|
885
|
+
readonly paidByAvatar: "mike";
|
|
886
|
+
readonly icon: "☕";
|
|
887
|
+
}, {
|
|
888
|
+
readonly id: "exp-6";
|
|
889
|
+
readonly desc: "Gas for road trip";
|
|
890
|
+
readonly amount: 67;
|
|
891
|
+
readonly paidBy: "Alex";
|
|
892
|
+
readonly paidByAvatar: "you";
|
|
893
|
+
readonly icon: "⛽";
|
|
894
|
+
}];
|
|
895
|
+
readonly settlements: readonly [{
|
|
896
|
+
readonly from: "Mike";
|
|
897
|
+
readonly fromAvatar: "mike";
|
|
898
|
+
readonly to: "Alex";
|
|
899
|
+
readonly toAvatar: "you";
|
|
900
|
+
readonly amount: 7;
|
|
901
|
+
}, {
|
|
902
|
+
readonly from: "Sarah";
|
|
903
|
+
readonly fromAvatar: "sarah";
|
|
904
|
+
readonly to: "Alex";
|
|
905
|
+
readonly toAvatar: "you";
|
|
906
|
+
readonly amount: 65;
|
|
907
|
+
}];
|
|
908
|
+
};
|
|
909
|
+
readonly elements: {
|
|
910
|
+
readonly "expense-root": {
|
|
911
|
+
readonly type: "Stack";
|
|
912
|
+
readonly props: {
|
|
913
|
+
readonly direction: "vertical";
|
|
914
|
+
readonly gap: 16;
|
|
915
|
+
readonly padding: 16;
|
|
916
|
+
};
|
|
917
|
+
readonly children: readonly ["balance-hero", "people-strip", "expenses-section", "settle-section"];
|
|
918
|
+
};
|
|
919
|
+
readonly "balance-hero": {
|
|
920
|
+
readonly type: "StatCard";
|
|
921
|
+
readonly props: {
|
|
922
|
+
readonly label: "You’re owed";
|
|
923
|
+
readonly value: {
|
|
924
|
+
readonly $template: "$${/balance/amount}";
|
|
925
|
+
};
|
|
926
|
+
readonly sublabel: {
|
|
927
|
+
readonly $template: "from $${/balance/total} total";
|
|
928
|
+
};
|
|
929
|
+
readonly color: "green";
|
|
930
|
+
};
|
|
931
|
+
readonly children: readonly [];
|
|
932
|
+
};
|
|
933
|
+
readonly "people-strip": {
|
|
934
|
+
readonly type: "PersonStrip";
|
|
935
|
+
readonly props: {
|
|
936
|
+
readonly people: readonly [{
|
|
937
|
+
readonly name: "Alex";
|
|
938
|
+
readonly detail: "+$72";
|
|
939
|
+
readonly note: null;
|
|
940
|
+
}, {
|
|
941
|
+
readonly name: "Mike";
|
|
942
|
+
readonly detail: "-$7";
|
|
943
|
+
readonly note: null;
|
|
944
|
+
}, {
|
|
945
|
+
readonly name: "Sarah";
|
|
946
|
+
readonly detail: "-$65";
|
|
947
|
+
readonly note: null;
|
|
948
|
+
}];
|
|
949
|
+
};
|
|
950
|
+
readonly children: readonly [];
|
|
951
|
+
readonly on: {
|
|
952
|
+
readonly press: {
|
|
953
|
+
readonly action: "viewPersonExpenses";
|
|
954
|
+
readonly params: {};
|
|
955
|
+
};
|
|
956
|
+
};
|
|
957
|
+
};
|
|
958
|
+
readonly "expenses-section": {
|
|
959
|
+
readonly type: "Stack";
|
|
960
|
+
readonly props: {
|
|
961
|
+
readonly direction: "vertical";
|
|
962
|
+
readonly gap: 8;
|
|
963
|
+
};
|
|
964
|
+
readonly children: readonly ["expenses-header", "expense-1", "expense-2", "expense-3", "expense-4", "expense-5", "expense-6"];
|
|
965
|
+
};
|
|
966
|
+
readonly "expenses-header": {
|
|
967
|
+
readonly type: "SectionHeader";
|
|
968
|
+
readonly props: {
|
|
969
|
+
readonly text: "Expenses";
|
|
970
|
+
};
|
|
971
|
+
readonly children: readonly [];
|
|
972
|
+
};
|
|
973
|
+
readonly "expense-1": {
|
|
974
|
+
readonly type: "Card";
|
|
975
|
+
readonly props: {
|
|
976
|
+
readonly title: null;
|
|
977
|
+
};
|
|
978
|
+
readonly children: readonly ["expense-1-row"];
|
|
979
|
+
readonly on: {
|
|
980
|
+
readonly press: {
|
|
981
|
+
readonly action: "viewExpenseDetail";
|
|
982
|
+
readonly params: {
|
|
983
|
+
readonly expenseId: "exp-1";
|
|
984
|
+
};
|
|
985
|
+
};
|
|
986
|
+
};
|
|
987
|
+
};
|
|
988
|
+
readonly "expense-1-row": {
|
|
989
|
+
readonly type: "Stack";
|
|
990
|
+
readonly props: {
|
|
991
|
+
readonly direction: "horizontal";
|
|
992
|
+
readonly gap: 10;
|
|
993
|
+
};
|
|
994
|
+
readonly children: readonly ["expense-1-icon", "expense-1-info", "expense-1-amount"];
|
|
995
|
+
};
|
|
996
|
+
readonly "expense-1-icon": {
|
|
997
|
+
readonly type: "IconBox";
|
|
998
|
+
readonly props: {
|
|
999
|
+
readonly icon: "🍽";
|
|
1000
|
+
readonly size: 38;
|
|
1001
|
+
};
|
|
1002
|
+
readonly children: readonly [];
|
|
1003
|
+
};
|
|
1004
|
+
readonly "expense-1-info": {
|
|
1005
|
+
readonly type: "Stack";
|
|
1006
|
+
readonly props: {
|
|
1007
|
+
readonly direction: "vertical";
|
|
1008
|
+
readonly gap: 2;
|
|
1009
|
+
};
|
|
1010
|
+
readonly children: readonly ["expense-1-desc", "expense-1-paid-by"];
|
|
1011
|
+
};
|
|
1012
|
+
readonly "expense-1-desc": {
|
|
1013
|
+
readonly type: "Text";
|
|
1014
|
+
readonly props: {
|
|
1015
|
+
readonly text: "Dinner at Foreign Cinema";
|
|
1016
|
+
readonly variant: "body";
|
|
1017
|
+
};
|
|
1018
|
+
readonly children: readonly [];
|
|
1019
|
+
};
|
|
1020
|
+
readonly "expense-1-paid-by": {
|
|
1021
|
+
readonly type: "Stack";
|
|
1022
|
+
readonly props: {
|
|
1023
|
+
readonly direction: "horizontal";
|
|
1024
|
+
readonly gap: 4;
|
|
1025
|
+
};
|
|
1026
|
+
readonly children: readonly ["expense-1-paid-label", "expense-1-paid-avatar", "expense-1-paid-name"];
|
|
1027
|
+
};
|
|
1028
|
+
readonly "expense-1-paid-label": {
|
|
1029
|
+
readonly type: "Text";
|
|
1030
|
+
readonly props: {
|
|
1031
|
+
readonly text: "Paid by";
|
|
1032
|
+
readonly variant: "caption";
|
|
1033
|
+
};
|
|
1034
|
+
readonly children: readonly [];
|
|
1035
|
+
};
|
|
1036
|
+
readonly "expense-1-paid-avatar": {
|
|
1037
|
+
readonly type: "Avatar";
|
|
1038
|
+
readonly props: {
|
|
1039
|
+
readonly name: "Alex";
|
|
1040
|
+
readonly size: 16;
|
|
1041
|
+
};
|
|
1042
|
+
readonly children: readonly [];
|
|
1043
|
+
};
|
|
1044
|
+
readonly "expense-1-paid-name": {
|
|
1045
|
+
readonly type: "Text";
|
|
1046
|
+
readonly props: {
|
|
1047
|
+
readonly text: "Alex";
|
|
1048
|
+
readonly variant: "caption";
|
|
1049
|
+
};
|
|
1050
|
+
readonly children: readonly [];
|
|
1051
|
+
};
|
|
1052
|
+
readonly "expense-1-amount": {
|
|
1053
|
+
readonly type: "Heading";
|
|
1054
|
+
readonly props: {
|
|
1055
|
+
readonly text: "$186";
|
|
1056
|
+
readonly level: 3;
|
|
1057
|
+
};
|
|
1058
|
+
readonly children: readonly [];
|
|
1059
|
+
};
|
|
1060
|
+
readonly "expense-2": {
|
|
1061
|
+
readonly type: "Card";
|
|
1062
|
+
readonly props: {
|
|
1063
|
+
readonly title: null;
|
|
1064
|
+
};
|
|
1065
|
+
readonly children: readonly ["expense-2-row"];
|
|
1066
|
+
readonly on: {
|
|
1067
|
+
readonly press: {
|
|
1068
|
+
readonly action: "viewExpenseDetail";
|
|
1069
|
+
readonly params: {
|
|
1070
|
+
readonly expenseId: "exp-2";
|
|
1071
|
+
};
|
|
1072
|
+
};
|
|
1073
|
+
};
|
|
1074
|
+
};
|
|
1075
|
+
readonly "expense-2-row": {
|
|
1076
|
+
readonly type: "Stack";
|
|
1077
|
+
readonly props: {
|
|
1078
|
+
readonly direction: "horizontal";
|
|
1079
|
+
readonly gap: 10;
|
|
1080
|
+
};
|
|
1081
|
+
readonly children: readonly ["expense-2-icon", "expense-2-info", "expense-2-amount"];
|
|
1082
|
+
};
|
|
1083
|
+
readonly "expense-2-icon": {
|
|
1084
|
+
readonly type: "IconBox";
|
|
1085
|
+
readonly props: {
|
|
1086
|
+
readonly icon: "🚗";
|
|
1087
|
+
readonly size: 38;
|
|
1088
|
+
};
|
|
1089
|
+
readonly children: readonly [];
|
|
1090
|
+
};
|
|
1091
|
+
readonly "expense-2-info": {
|
|
1092
|
+
readonly type: "Stack";
|
|
1093
|
+
readonly props: {
|
|
1094
|
+
readonly direction: "vertical";
|
|
1095
|
+
readonly gap: 2;
|
|
1096
|
+
};
|
|
1097
|
+
readonly children: readonly ["expense-2-desc", "expense-2-paid-by"];
|
|
1098
|
+
};
|
|
1099
|
+
readonly "expense-2-desc": {
|
|
1100
|
+
readonly type: "Text";
|
|
1101
|
+
readonly props: {
|
|
1102
|
+
readonly text: "Uber to restaurant";
|
|
1103
|
+
readonly variant: "body";
|
|
1104
|
+
};
|
|
1105
|
+
readonly children: readonly [];
|
|
1106
|
+
};
|
|
1107
|
+
readonly "expense-2-paid-by": {
|
|
1108
|
+
readonly type: "Stack";
|
|
1109
|
+
readonly props: {
|
|
1110
|
+
readonly direction: "horizontal";
|
|
1111
|
+
readonly gap: 4;
|
|
1112
|
+
};
|
|
1113
|
+
readonly children: readonly ["expense-2-paid-label", "expense-2-paid-avatar", "expense-2-paid-name"];
|
|
1114
|
+
};
|
|
1115
|
+
readonly "expense-2-paid-label": {
|
|
1116
|
+
readonly type: "Text";
|
|
1117
|
+
readonly props: {
|
|
1118
|
+
readonly text: "Paid by";
|
|
1119
|
+
readonly variant: "caption";
|
|
1120
|
+
};
|
|
1121
|
+
readonly children: readonly [];
|
|
1122
|
+
};
|
|
1123
|
+
readonly "expense-2-paid-avatar": {
|
|
1124
|
+
readonly type: "Avatar";
|
|
1125
|
+
readonly props: {
|
|
1126
|
+
readonly name: "Mike";
|
|
1127
|
+
readonly size: 16;
|
|
1128
|
+
};
|
|
1129
|
+
readonly children: readonly [];
|
|
1130
|
+
};
|
|
1131
|
+
readonly "expense-2-paid-name": {
|
|
1132
|
+
readonly type: "Text";
|
|
1133
|
+
readonly props: {
|
|
1134
|
+
readonly text: "Mike";
|
|
1135
|
+
readonly variant: "caption";
|
|
1136
|
+
};
|
|
1137
|
+
readonly children: readonly [];
|
|
1138
|
+
};
|
|
1139
|
+
readonly "expense-2-amount": {
|
|
1140
|
+
readonly type: "Heading";
|
|
1141
|
+
readonly props: {
|
|
1142
|
+
readonly text: "$32";
|
|
1143
|
+
readonly level: 3;
|
|
1144
|
+
};
|
|
1145
|
+
readonly children: readonly [];
|
|
1146
|
+
};
|
|
1147
|
+
readonly "expense-3": {
|
|
1148
|
+
readonly type: "Card";
|
|
1149
|
+
readonly props: {
|
|
1150
|
+
readonly title: null;
|
|
1151
|
+
};
|
|
1152
|
+
readonly children: readonly ["expense-3-row"];
|
|
1153
|
+
readonly on: {
|
|
1154
|
+
readonly press: {
|
|
1155
|
+
readonly action: "viewExpenseDetail";
|
|
1156
|
+
readonly params: {
|
|
1157
|
+
readonly expenseId: "exp-3";
|
|
1158
|
+
};
|
|
1159
|
+
};
|
|
1160
|
+
};
|
|
1161
|
+
};
|
|
1162
|
+
readonly "expense-3-row": {
|
|
1163
|
+
readonly type: "Stack";
|
|
1164
|
+
readonly props: {
|
|
1165
|
+
readonly direction: "horizontal";
|
|
1166
|
+
readonly gap: 10;
|
|
1167
|
+
};
|
|
1168
|
+
readonly children: readonly ["expense-3-icon", "expense-3-info", "expense-3-amount"];
|
|
1169
|
+
};
|
|
1170
|
+
readonly "expense-3-icon": {
|
|
1171
|
+
readonly type: "IconBox";
|
|
1172
|
+
readonly props: {
|
|
1173
|
+
readonly icon: "🛒";
|
|
1174
|
+
readonly size: 38;
|
|
1175
|
+
};
|
|
1176
|
+
readonly children: readonly [];
|
|
1177
|
+
};
|
|
1178
|
+
readonly "expense-3-info": {
|
|
1179
|
+
readonly type: "Stack";
|
|
1180
|
+
readonly props: {
|
|
1181
|
+
readonly direction: "vertical";
|
|
1182
|
+
readonly gap: 2;
|
|
1183
|
+
};
|
|
1184
|
+
readonly children: readonly ["expense-3-desc", "expense-3-paid-by"];
|
|
1185
|
+
};
|
|
1186
|
+
readonly "expense-3-desc": {
|
|
1187
|
+
readonly type: "Text";
|
|
1188
|
+
readonly props: {
|
|
1189
|
+
readonly text: "Groceries";
|
|
1190
|
+
readonly variant: "body";
|
|
1191
|
+
};
|
|
1192
|
+
readonly children: readonly [];
|
|
1193
|
+
};
|
|
1194
|
+
readonly "expense-3-paid-by": {
|
|
1195
|
+
readonly type: "Stack";
|
|
1196
|
+
readonly props: {
|
|
1197
|
+
readonly direction: "horizontal";
|
|
1198
|
+
readonly gap: 4;
|
|
1199
|
+
};
|
|
1200
|
+
readonly children: readonly ["expense-3-paid-label", "expense-3-paid-avatar", "expense-3-paid-name"];
|
|
1201
|
+
};
|
|
1202
|
+
readonly "expense-3-paid-label": {
|
|
1203
|
+
readonly type: "Text";
|
|
1204
|
+
readonly props: {
|
|
1205
|
+
readonly text: "Paid by";
|
|
1206
|
+
readonly variant: "caption";
|
|
1207
|
+
};
|
|
1208
|
+
readonly children: readonly [];
|
|
1209
|
+
};
|
|
1210
|
+
readonly "expense-3-paid-avatar": {
|
|
1211
|
+
readonly type: "Avatar";
|
|
1212
|
+
readonly props: {
|
|
1213
|
+
readonly name: "Alex";
|
|
1214
|
+
readonly size: 16;
|
|
1215
|
+
};
|
|
1216
|
+
readonly children: readonly [];
|
|
1217
|
+
};
|
|
1218
|
+
readonly "expense-3-paid-name": {
|
|
1219
|
+
readonly type: "Text";
|
|
1220
|
+
readonly props: {
|
|
1221
|
+
readonly text: "Alex";
|
|
1222
|
+
readonly variant: "caption";
|
|
1223
|
+
};
|
|
1224
|
+
readonly children: readonly [];
|
|
1225
|
+
};
|
|
1226
|
+
readonly "expense-3-amount": {
|
|
1227
|
+
readonly type: "Heading";
|
|
1228
|
+
readonly props: {
|
|
1229
|
+
readonly text: "$119";
|
|
1230
|
+
readonly level: 3;
|
|
1231
|
+
};
|
|
1232
|
+
readonly children: readonly [];
|
|
1233
|
+
};
|
|
1234
|
+
readonly "expense-4": {
|
|
1235
|
+
readonly type: "Card";
|
|
1236
|
+
readonly props: {
|
|
1237
|
+
readonly title: null;
|
|
1238
|
+
};
|
|
1239
|
+
readonly children: readonly ["expense-4-row"];
|
|
1240
|
+
readonly on: {
|
|
1241
|
+
readonly press: {
|
|
1242
|
+
readonly action: "viewExpenseDetail";
|
|
1243
|
+
readonly params: {
|
|
1244
|
+
readonly expenseId: "exp-4";
|
|
1245
|
+
};
|
|
1246
|
+
};
|
|
1247
|
+
};
|
|
1248
|
+
};
|
|
1249
|
+
readonly "expense-4-row": {
|
|
1250
|
+
readonly type: "Stack";
|
|
1251
|
+
readonly props: {
|
|
1252
|
+
readonly direction: "horizontal";
|
|
1253
|
+
readonly gap: 10;
|
|
1254
|
+
};
|
|
1255
|
+
readonly children: readonly ["expense-4-icon", "expense-4-info", "expense-4-amount"];
|
|
1256
|
+
};
|
|
1257
|
+
readonly "expense-4-icon": {
|
|
1258
|
+
readonly type: "IconBox";
|
|
1259
|
+
readonly props: {
|
|
1260
|
+
readonly icon: "🎬";
|
|
1261
|
+
readonly size: 38;
|
|
1262
|
+
};
|
|
1263
|
+
readonly children: readonly [];
|
|
1264
|
+
};
|
|
1265
|
+
readonly "expense-4-info": {
|
|
1266
|
+
readonly type: "Stack";
|
|
1267
|
+
readonly props: {
|
|
1268
|
+
readonly direction: "vertical";
|
|
1269
|
+
readonly gap: 2;
|
|
1270
|
+
};
|
|
1271
|
+
readonly children: readonly ["expense-4-desc", "expense-4-paid-by"];
|
|
1272
|
+
};
|
|
1273
|
+
readonly "expense-4-desc": {
|
|
1274
|
+
readonly type: "Text";
|
|
1275
|
+
readonly props: {
|
|
1276
|
+
readonly text: "Movie tickets";
|
|
1277
|
+
readonly variant: "body";
|
|
1278
|
+
};
|
|
1279
|
+
readonly children: readonly [];
|
|
1280
|
+
};
|
|
1281
|
+
readonly "expense-4-paid-by": {
|
|
1282
|
+
readonly type: "Stack";
|
|
1283
|
+
readonly props: {
|
|
1284
|
+
readonly direction: "horizontal";
|
|
1285
|
+
readonly gap: 4;
|
|
1286
|
+
};
|
|
1287
|
+
readonly children: readonly ["expense-4-paid-label", "expense-4-paid-avatar", "expense-4-paid-name"];
|
|
1288
|
+
};
|
|
1289
|
+
readonly "expense-4-paid-label": {
|
|
1290
|
+
readonly type: "Text";
|
|
1291
|
+
readonly props: {
|
|
1292
|
+
readonly text: "Paid by";
|
|
1293
|
+
readonly variant: "caption";
|
|
1294
|
+
};
|
|
1295
|
+
readonly children: readonly [];
|
|
1296
|
+
};
|
|
1297
|
+
readonly "expense-4-paid-avatar": {
|
|
1298
|
+
readonly type: "Avatar";
|
|
1299
|
+
readonly props: {
|
|
1300
|
+
readonly name: "Sarah";
|
|
1301
|
+
readonly size: 16;
|
|
1302
|
+
};
|
|
1303
|
+
readonly children: readonly [];
|
|
1304
|
+
};
|
|
1305
|
+
readonly "expense-4-paid-name": {
|
|
1306
|
+
readonly type: "Text";
|
|
1307
|
+
readonly props: {
|
|
1308
|
+
readonly text: "Sarah";
|
|
1309
|
+
readonly variant: "caption";
|
|
1310
|
+
};
|
|
1311
|
+
readonly children: readonly [];
|
|
1312
|
+
};
|
|
1313
|
+
readonly "expense-4-amount": {
|
|
1314
|
+
readonly type: "Heading";
|
|
1315
|
+
readonly props: {
|
|
1316
|
+
readonly text: "$54";
|
|
1317
|
+
readonly level: 3;
|
|
1318
|
+
};
|
|
1319
|
+
readonly children: readonly [];
|
|
1320
|
+
};
|
|
1321
|
+
readonly "expense-5": {
|
|
1322
|
+
readonly type: "Card";
|
|
1323
|
+
readonly props: {
|
|
1324
|
+
readonly title: null;
|
|
1325
|
+
};
|
|
1326
|
+
readonly children: readonly ["expense-5-row"];
|
|
1327
|
+
readonly on: {
|
|
1328
|
+
readonly press: {
|
|
1329
|
+
readonly action: "viewExpenseDetail";
|
|
1330
|
+
readonly params: {
|
|
1331
|
+
readonly expenseId: "exp-5";
|
|
1332
|
+
};
|
|
1333
|
+
};
|
|
1334
|
+
};
|
|
1335
|
+
};
|
|
1336
|
+
readonly "expense-5-row": {
|
|
1337
|
+
readonly type: "Stack";
|
|
1338
|
+
readonly props: {
|
|
1339
|
+
readonly direction: "horizontal";
|
|
1340
|
+
readonly gap: 10;
|
|
1341
|
+
};
|
|
1342
|
+
readonly children: readonly ["expense-5-icon", "expense-5-info", "expense-5-amount"];
|
|
1343
|
+
};
|
|
1344
|
+
readonly "expense-5-icon": {
|
|
1345
|
+
readonly type: "IconBox";
|
|
1346
|
+
readonly props: {
|
|
1347
|
+
readonly icon: "☕";
|
|
1348
|
+
readonly size: 38;
|
|
1349
|
+
};
|
|
1350
|
+
readonly children: readonly [];
|
|
1351
|
+
};
|
|
1352
|
+
readonly "expense-5-info": {
|
|
1353
|
+
readonly type: "Stack";
|
|
1354
|
+
readonly props: {
|
|
1355
|
+
readonly direction: "vertical";
|
|
1356
|
+
readonly gap: 2;
|
|
1357
|
+
};
|
|
1358
|
+
readonly children: readonly ["expense-5-desc", "expense-5-paid-by"];
|
|
1359
|
+
};
|
|
1360
|
+
readonly "expense-5-desc": {
|
|
1361
|
+
readonly type: "Text";
|
|
1362
|
+
readonly props: {
|
|
1363
|
+
readonly text: "Coffee & pastries";
|
|
1364
|
+
readonly variant: "body";
|
|
1365
|
+
};
|
|
1366
|
+
readonly children: readonly [];
|
|
1367
|
+
};
|
|
1368
|
+
readonly "expense-5-paid-by": {
|
|
1369
|
+
readonly type: "Stack";
|
|
1370
|
+
readonly props: {
|
|
1371
|
+
readonly direction: "horizontal";
|
|
1372
|
+
readonly gap: 4;
|
|
1373
|
+
};
|
|
1374
|
+
readonly children: readonly ["expense-5-paid-label", "expense-5-paid-avatar", "expense-5-paid-name"];
|
|
1375
|
+
};
|
|
1376
|
+
readonly "expense-5-paid-label": {
|
|
1377
|
+
readonly type: "Text";
|
|
1378
|
+
readonly props: {
|
|
1379
|
+
readonly text: "Paid by";
|
|
1380
|
+
readonly variant: "caption";
|
|
1381
|
+
};
|
|
1382
|
+
readonly children: readonly [];
|
|
1383
|
+
};
|
|
1384
|
+
readonly "expense-5-paid-avatar": {
|
|
1385
|
+
readonly type: "Avatar";
|
|
1386
|
+
readonly props: {
|
|
1387
|
+
readonly name: "Mike";
|
|
1388
|
+
readonly size: 16;
|
|
1389
|
+
};
|
|
1390
|
+
readonly children: readonly [];
|
|
1391
|
+
};
|
|
1392
|
+
readonly "expense-5-paid-name": {
|
|
1393
|
+
readonly type: "Text";
|
|
1394
|
+
readonly props: {
|
|
1395
|
+
readonly text: "Mike";
|
|
1396
|
+
readonly variant: "caption";
|
|
1397
|
+
};
|
|
1398
|
+
readonly children: readonly [];
|
|
1399
|
+
};
|
|
1400
|
+
readonly "expense-5-amount": {
|
|
1401
|
+
readonly type: "Heading";
|
|
1402
|
+
readonly props: {
|
|
1403
|
+
readonly text: "$28";
|
|
1404
|
+
readonly level: 3;
|
|
1405
|
+
};
|
|
1406
|
+
readonly children: readonly [];
|
|
1407
|
+
};
|
|
1408
|
+
readonly "expense-6": {
|
|
1409
|
+
readonly type: "Card";
|
|
1410
|
+
readonly props: {
|
|
1411
|
+
readonly title: null;
|
|
1412
|
+
};
|
|
1413
|
+
readonly children: readonly ["expense-6-row"];
|
|
1414
|
+
readonly on: {
|
|
1415
|
+
readonly press: {
|
|
1416
|
+
readonly action: "viewExpenseDetail";
|
|
1417
|
+
readonly params: {
|
|
1418
|
+
readonly expenseId: "exp-6";
|
|
1419
|
+
};
|
|
1420
|
+
};
|
|
1421
|
+
};
|
|
1422
|
+
};
|
|
1423
|
+
readonly "expense-6-row": {
|
|
1424
|
+
readonly type: "Stack";
|
|
1425
|
+
readonly props: {
|
|
1426
|
+
readonly direction: "horizontal";
|
|
1427
|
+
readonly gap: 10;
|
|
1428
|
+
};
|
|
1429
|
+
readonly children: readonly ["expense-6-icon", "expense-6-info", "expense-6-amount"];
|
|
1430
|
+
};
|
|
1431
|
+
readonly "expense-6-icon": {
|
|
1432
|
+
readonly type: "IconBox";
|
|
1433
|
+
readonly props: {
|
|
1434
|
+
readonly icon: "⛽";
|
|
1435
|
+
readonly size: 38;
|
|
1436
|
+
};
|
|
1437
|
+
readonly children: readonly [];
|
|
1438
|
+
};
|
|
1439
|
+
readonly "expense-6-info": {
|
|
1440
|
+
readonly type: "Stack";
|
|
1441
|
+
readonly props: {
|
|
1442
|
+
readonly direction: "vertical";
|
|
1443
|
+
readonly gap: 2;
|
|
1444
|
+
};
|
|
1445
|
+
readonly children: readonly ["expense-6-desc", "expense-6-paid-by"];
|
|
1446
|
+
};
|
|
1447
|
+
readonly "expense-6-desc": {
|
|
1448
|
+
readonly type: "Text";
|
|
1449
|
+
readonly props: {
|
|
1450
|
+
readonly text: "Gas for road trip";
|
|
1451
|
+
readonly variant: "body";
|
|
1452
|
+
};
|
|
1453
|
+
readonly children: readonly [];
|
|
1454
|
+
};
|
|
1455
|
+
readonly "expense-6-paid-by": {
|
|
1456
|
+
readonly type: "Stack";
|
|
1457
|
+
readonly props: {
|
|
1458
|
+
readonly direction: "horizontal";
|
|
1459
|
+
readonly gap: 4;
|
|
1460
|
+
};
|
|
1461
|
+
readonly children: readonly ["expense-6-paid-label", "expense-6-paid-avatar", "expense-6-paid-name"];
|
|
1462
|
+
};
|
|
1463
|
+
readonly "expense-6-paid-label": {
|
|
1464
|
+
readonly type: "Text";
|
|
1465
|
+
readonly props: {
|
|
1466
|
+
readonly text: "Paid by";
|
|
1467
|
+
readonly variant: "caption";
|
|
1468
|
+
};
|
|
1469
|
+
readonly children: readonly [];
|
|
1470
|
+
};
|
|
1471
|
+
readonly "expense-6-paid-avatar": {
|
|
1472
|
+
readonly type: "Avatar";
|
|
1473
|
+
readonly props: {
|
|
1474
|
+
readonly name: "Alex";
|
|
1475
|
+
readonly size: 16;
|
|
1476
|
+
};
|
|
1477
|
+
readonly children: readonly [];
|
|
1478
|
+
};
|
|
1479
|
+
readonly "expense-6-paid-name": {
|
|
1480
|
+
readonly type: "Text";
|
|
1481
|
+
readonly props: {
|
|
1482
|
+
readonly text: "Alex";
|
|
1483
|
+
readonly variant: "caption";
|
|
1484
|
+
};
|
|
1485
|
+
readonly children: readonly [];
|
|
1486
|
+
};
|
|
1487
|
+
readonly "expense-6-amount": {
|
|
1488
|
+
readonly type: "Heading";
|
|
1489
|
+
readonly props: {
|
|
1490
|
+
readonly text: "$67";
|
|
1491
|
+
readonly level: 3;
|
|
1492
|
+
};
|
|
1493
|
+
readonly children: readonly [];
|
|
1494
|
+
};
|
|
1495
|
+
readonly "settle-section": {
|
|
1496
|
+
readonly type: "Stack";
|
|
1497
|
+
readonly props: {
|
|
1498
|
+
readonly direction: "vertical";
|
|
1499
|
+
readonly gap: 8;
|
|
1500
|
+
};
|
|
1501
|
+
readonly children: readonly ["settle-header", "settle-1", "settle-2"];
|
|
1502
|
+
};
|
|
1503
|
+
readonly "settle-header": {
|
|
1504
|
+
readonly type: "SectionHeader";
|
|
1505
|
+
readonly props: {
|
|
1506
|
+
readonly text: "Settle Up";
|
|
1507
|
+
};
|
|
1508
|
+
readonly children: readonly [];
|
|
1509
|
+
};
|
|
1510
|
+
readonly "settle-1": {
|
|
1511
|
+
readonly type: "Card";
|
|
1512
|
+
readonly props: {
|
|
1513
|
+
readonly title: null;
|
|
1514
|
+
};
|
|
1515
|
+
readonly children: readonly ["settle-1-row", "settle-1-btn"];
|
|
1516
|
+
};
|
|
1517
|
+
readonly "settle-1-row": {
|
|
1518
|
+
readonly type: "Stack";
|
|
1519
|
+
readonly props: {
|
|
1520
|
+
readonly direction: "horizontal";
|
|
1521
|
+
readonly gap: 10;
|
|
1522
|
+
};
|
|
1523
|
+
readonly children: readonly ["settle-1-from", "settle-1-info", "settle-1-to"];
|
|
1524
|
+
};
|
|
1525
|
+
readonly "settle-1-from": {
|
|
1526
|
+
readonly type: "Avatar";
|
|
1527
|
+
readonly props: {
|
|
1528
|
+
readonly name: "Mike";
|
|
1529
|
+
readonly size: 32;
|
|
1530
|
+
};
|
|
1531
|
+
readonly children: readonly [];
|
|
1532
|
+
};
|
|
1533
|
+
readonly "settle-1-info": {
|
|
1534
|
+
readonly type: "Stack";
|
|
1535
|
+
readonly props: {
|
|
1536
|
+
readonly direction: "vertical";
|
|
1537
|
+
readonly gap: 2;
|
|
1538
|
+
};
|
|
1539
|
+
readonly children: readonly ["settle-1-label", "settle-1-amount"];
|
|
1540
|
+
};
|
|
1541
|
+
readonly "settle-1-label": {
|
|
1542
|
+
readonly type: "Text";
|
|
1543
|
+
readonly props: {
|
|
1544
|
+
readonly text: "Mike owes";
|
|
1545
|
+
readonly variant: "caption";
|
|
1546
|
+
};
|
|
1547
|
+
readonly children: readonly [];
|
|
1548
|
+
};
|
|
1549
|
+
readonly "settle-1-amount": {
|
|
1550
|
+
readonly type: "Heading";
|
|
1551
|
+
readonly props: {
|
|
1552
|
+
readonly text: "$7";
|
|
1553
|
+
readonly level: 3;
|
|
1554
|
+
};
|
|
1555
|
+
readonly children: readonly [];
|
|
1556
|
+
};
|
|
1557
|
+
readonly "settle-1-to": {
|
|
1558
|
+
readonly type: "Avatar";
|
|
1559
|
+
readonly props: {
|
|
1560
|
+
readonly name: "Alex";
|
|
1561
|
+
readonly size: 32;
|
|
1562
|
+
};
|
|
1563
|
+
readonly children: readonly [];
|
|
1564
|
+
};
|
|
1565
|
+
readonly "settle-1-btn": {
|
|
1566
|
+
readonly type: "Button";
|
|
1567
|
+
readonly props: {
|
|
1568
|
+
readonly label: "Settle $7";
|
|
1569
|
+
readonly variant: "primary";
|
|
1570
|
+
};
|
|
1571
|
+
readonly children: readonly [];
|
|
1572
|
+
readonly on: {
|
|
1573
|
+
readonly press: {
|
|
1574
|
+
readonly action: "settleUp";
|
|
1575
|
+
readonly params: {
|
|
1576
|
+
readonly from: "mike";
|
|
1577
|
+
readonly to: "you";
|
|
1578
|
+
readonly amount: 7;
|
|
1579
|
+
};
|
|
1580
|
+
};
|
|
1581
|
+
};
|
|
1582
|
+
};
|
|
1583
|
+
readonly "settle-2": {
|
|
1584
|
+
readonly type: "Card";
|
|
1585
|
+
readonly props: {
|
|
1586
|
+
readonly title: null;
|
|
1587
|
+
};
|
|
1588
|
+
readonly children: readonly ["settle-2-row", "settle-2-btn"];
|
|
1589
|
+
};
|
|
1590
|
+
readonly "settle-2-row": {
|
|
1591
|
+
readonly type: "Stack";
|
|
1592
|
+
readonly props: {
|
|
1593
|
+
readonly direction: "horizontal";
|
|
1594
|
+
readonly gap: 10;
|
|
1595
|
+
};
|
|
1596
|
+
readonly children: readonly ["settle-2-from", "settle-2-info", "settle-2-to"];
|
|
1597
|
+
};
|
|
1598
|
+
readonly "settle-2-from": {
|
|
1599
|
+
readonly type: "Avatar";
|
|
1600
|
+
readonly props: {
|
|
1601
|
+
readonly name: "Sarah";
|
|
1602
|
+
readonly size: 32;
|
|
1603
|
+
};
|
|
1604
|
+
readonly children: readonly [];
|
|
1605
|
+
};
|
|
1606
|
+
readonly "settle-2-info": {
|
|
1607
|
+
readonly type: "Stack";
|
|
1608
|
+
readonly props: {
|
|
1609
|
+
readonly direction: "vertical";
|
|
1610
|
+
readonly gap: 2;
|
|
1611
|
+
};
|
|
1612
|
+
readonly children: readonly ["settle-2-label", "settle-2-amount"];
|
|
1613
|
+
};
|
|
1614
|
+
readonly "settle-2-label": {
|
|
1615
|
+
readonly type: "Text";
|
|
1616
|
+
readonly props: {
|
|
1617
|
+
readonly text: "Sarah owes";
|
|
1618
|
+
readonly variant: "caption";
|
|
1619
|
+
};
|
|
1620
|
+
readonly children: readonly [];
|
|
1621
|
+
};
|
|
1622
|
+
readonly "settle-2-amount": {
|
|
1623
|
+
readonly type: "Heading";
|
|
1624
|
+
readonly props: {
|
|
1625
|
+
readonly text: "$65";
|
|
1626
|
+
readonly level: 3;
|
|
1627
|
+
};
|
|
1628
|
+
readonly children: readonly [];
|
|
1629
|
+
};
|
|
1630
|
+
readonly "settle-2-to": {
|
|
1631
|
+
readonly type: "Avatar";
|
|
1632
|
+
readonly props: {
|
|
1633
|
+
readonly name: "Alex";
|
|
1634
|
+
readonly size: 32;
|
|
1635
|
+
};
|
|
1636
|
+
readonly children: readonly [];
|
|
1637
|
+
};
|
|
1638
|
+
readonly "settle-2-btn": {
|
|
1639
|
+
readonly type: "Button";
|
|
1640
|
+
readonly props: {
|
|
1641
|
+
readonly label: "Settle $65";
|
|
1642
|
+
readonly variant: "primary";
|
|
1643
|
+
};
|
|
1644
|
+
readonly children: readonly [];
|
|
1645
|
+
readonly on: {
|
|
1646
|
+
readonly press: {
|
|
1647
|
+
readonly action: "settleUp";
|
|
1648
|
+
readonly params: {
|
|
1649
|
+
readonly from: "sarah";
|
|
1650
|
+
readonly to: "you";
|
|
1651
|
+
readonly amount: 65;
|
|
1652
|
+
};
|
|
1653
|
+
};
|
|
1654
|
+
};
|
|
1655
|
+
};
|
|
1656
|
+
};
|
|
1657
|
+
};
|
|
1658
|
+
}];
|
|
1659
|
+
export declare const SEED_SURFACE_HISTORY: readonly [{
|
|
1660
|
+
readonly convIndex: 0;
|
|
1661
|
+
readonly version: 2;
|
|
1662
|
+
readonly title: "Tahoe Ski Weekend";
|
|
1663
|
+
readonly agentIndex: 1;
|
|
1664
|
+
readonly spec: {
|
|
1665
|
+
readonly root: "trip-root";
|
|
1666
|
+
readonly elements: {};
|
|
1667
|
+
readonly state: {};
|
|
1668
|
+
};
|
|
1669
|
+
}];
|
|
1670
|
+
//# sourceMappingURL=seed-data.d.ts.map
|