@tinkerlandai/indiana-sdk 0.4.0 → 0.5.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +6 -6
  3. package/README.zh-CN.md +4 -4
  4. package/THIRD_PARTY_NOTICES.md +0 -1
  5. package/dist/ai-usage-BzydP8eN.d.ts +11085 -0
  6. package/dist/chunk-3OSMEG44.js +17 -0
  7. package/dist/chunk-GA6X57BO.js +1 -0
  8. package/dist/chunk-GTBD4BJ4.js +11 -0
  9. package/dist/{chunk-2UFPTDCV.js → chunk-QUW4UOKZ.js} +1 -1
  10. package/dist/chunk-RMFH5TWV.js +1 -0
  11. package/dist/chunk-YNUVRZRQ.js +1 -0
  12. package/dist/funnel-runtime-host-RZRB2CY6.js +1 -0
  13. package/dist/{funnel-runtime-start-B93fV5gJ.d.ts → funnel-runtime-start-JHA9ES24.d.ts} +63 -29
  14. package/dist/index.d.ts +108 -53
  15. package/dist/index.js +1 -1
  16. package/dist/native-shell.js +1 -1
  17. package/dist/openrouter.d.ts +3 -2
  18. package/dist/openrouter.js +1 -1
  19. package/dist/page.d.ts +12 -12
  20. package/dist/page.js +1 -1
  21. package/dist/{paywall-M5CIDUIT.js → paywall-MYBEOVTQ.js} +1 -1
  22. package/dist/popup.d.ts +254 -1
  23. package/dist/popup.js +6 -6
  24. package/dist/{screen-Keau_Qa2.d.ts → screen-16d-xADb.d.ts} +354 -463
  25. package/dist/server.d.ts +4 -3
  26. package/dist/server.js +1 -1
  27. package/dist/src-E2GXK6WA.js +1 -0
  28. package/dist/visual-editor-agent-FDCV3BXP.js +1 -0
  29. package/dist/visual.js +1 -1
  30. package/package.json +3 -2
  31. package/dist/ai-usage-D9xVKhvu.d.ts +0 -9953
  32. package/dist/chunk-LFNFVYC2.js +0 -1
  33. package/dist/chunk-PVJKOUNE.js +0 -11
  34. package/dist/chunk-TZ6REIUE.js +0 -17
  35. package/dist/chunk-VTSEZ4GI.js +0 -1
  36. package/dist/funnel-runtime-host-4PQY2MFC.js +0 -1
  37. package/dist/src-XEDJAKEB.js +0 -1
  38. package/dist/visual-editor-agent-PYMKMPY3.js +0 -1
@@ -1,403 +1,5 @@
1
1
  import { z } from 'zod';
2
2
 
3
- declare const capabilityBindingSchema: z.ZodObject<{
4
- plan: z.ZodOptional<z.ZodString>;
5
- coupon: z.ZodOptional<z.ZodUUID>;
6
- promotionCode: z.ZodOptional<z.ZodUUID>;
7
- picker: z.ZodOptional<z.ZodString>;
8
- }, z.core.$strict>;
9
- type CapabilityBinding = z.infer<typeof capabilityBindingSchema>;
10
- declare const surfaceDataSchema: z.ZodObject<{
11
- paywall: z.ZodOptional<z.ZodObject<{
12
- internal_feature_id: z.ZodString;
13
- name: z.ZodString;
14
- kind: z.ZodEnum<{
15
- access: "access";
16
- metered: "metered";
17
- credit: "credit";
18
- }>;
19
- quantity: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
20
- allowed: z.ZodBoolean;
21
- reason: z.ZodNullable<z.ZodEnum<{
22
- unavailable: "unavailable";
23
- insufficient_balance: "insufficient_balance";
24
- limit_exceeded: "limit_exceeded";
25
- awaiting_topup: "awaiting_topup";
26
- authorization_required: "authorization_required";
27
- payment_blocked: "payment_blocked";
28
- cash_budget_exceeded: "cash_budget_exceeded";
29
- not_entitled: "not_entitled";
30
- capacity_exceeded: "capacity_exceeded";
31
- authentication_required: "authentication_required";
32
- }>>;
33
- preview: z.ZodNullable<z.ZodObject<{
34
- scenario: z.ZodEnum<{
35
- feature_flag: "feature_flag";
36
- usage_limit: "usage_limit";
37
- }>;
38
- candidates: z.ZodArray<z.ZodObject<{
39
- productId: z.ZodString;
40
- productVersionId: z.ZodString;
41
- name: z.ZodString;
42
- action: z.ZodEnum<{
43
- purchase: "purchase";
44
- upgrade: "upgrade";
45
- addon: "addon";
46
- topup: "topup";
47
- }>;
48
- membershipId: z.ZodNullable<z.ZodString>;
49
- currency: z.ZodEnum<{
50
- USD: "USD";
51
- EUR: "EUR";
52
- CNY: "CNY";
53
- GBP: "GBP";
54
- JPY: "JPY";
55
- CAD: "CAD";
56
- AUD: "AUD";
57
- NZD: "NZD";
58
- CHF: "CHF";
59
- HKD: "HKD";
60
- SGD: "SGD";
61
- KRW: "KRW";
62
- INR: "INR";
63
- BRL: "BRL";
64
- MXN: "MXN";
65
- TWD: "TWD";
66
- THB: "THB";
67
- IDR: "IDR";
68
- MYR: "MYR";
69
- PHP: "PHP";
70
- VND: "VND";
71
- ZAR: "ZAR";
72
- AED: "AED";
73
- SAR: "SAR";
74
- SEK: "SEK";
75
- NOK: "NOK";
76
- DKK: "DKK";
77
- PLN: "PLN";
78
- CZK: "CZK";
79
- HUF: "HUF";
80
- ILS: "ILS";
81
- TRY: "TRY";
82
- RON: "RON";
83
- }>;
84
- amountMinor: z.ZodString;
85
- interval: z.ZodEnum<{
86
- week: "week";
87
- month: "month";
88
- year: "year";
89
- free: "free";
90
- one_time: "one_time";
91
- }>;
92
- intervalCount: z.ZodNumber;
93
- }, z.core.$strict>>;
94
- }, z.core.$strict>>;
95
- }, z.core.$strict>>;
96
- nodes: z.ZodRecord<z.ZodString, z.ZodObject<{
97
- base: z.ZodObject<{
98
- text: z.ZodOptional<z.ZodString>;
99
- label: z.ZodOptional<z.ZodString>;
100
- alt: z.ZodOptional<z.ZodString>;
101
- html: z.ZodOptional<z.ZodString>;
102
- price: z.ZodOptional<z.ZodObject<{
103
- current: z.ZodString;
104
- original: z.ZodNullable<z.ZodString>;
105
- period: z.ZodString;
106
- }, z.core.$strip>>;
107
- code: z.ZodOptional<z.ZodString>;
108
- countdownAt: z.ZodOptional<z.ZodISODateTime>;
109
- planId: z.ZodOptional<z.ZodString>;
110
- planVersionId: z.ZodOptional<z.ZodString>;
111
- currency: z.ZodOptional<z.ZodEnum<{
112
- USD: "USD";
113
- EUR: "EUR";
114
- CNY: "CNY";
115
- GBP: "GBP";
116
- JPY: "JPY";
117
- CAD: "CAD";
118
- AUD: "AUD";
119
- NZD: "NZD";
120
- CHF: "CHF";
121
- HKD: "HKD";
122
- SGD: "SGD";
123
- KRW: "KRW";
124
- INR: "INR";
125
- BRL: "BRL";
126
- MXN: "MXN";
127
- TWD: "TWD";
128
- THB: "THB";
129
- IDR: "IDR";
130
- MYR: "MYR";
131
- PHP: "PHP";
132
- VND: "VND";
133
- ZAR: "ZAR";
134
- AED: "AED";
135
- SAR: "SAR";
136
- SEK: "SEK";
137
- NOK: "NOK";
138
- DKK: "DKK";
139
- PLN: "PLN";
140
- CZK: "CZK";
141
- HUF: "HUF";
142
- ILS: "ILS";
143
- TRY: "TRY";
144
- RON: "RON";
145
- }>>;
146
- couponId: z.ZodOptional<z.ZodUUID>;
147
- offerId: z.ZodOptional<z.ZodUUID>;
148
- unavailable: z.ZodOptional<z.ZodBoolean>;
149
- unavailableReason: z.ZodOptional<z.ZodString>;
150
- missing: z.ZodOptional<z.ZodArray<z.ZodString>>;
151
- }, z.core.$strict>;
152
- picker: z.ZodOptional<z.ZodString>;
153
- byPlan: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
154
- text: z.ZodOptional<z.ZodString>;
155
- label: z.ZodOptional<z.ZodString>;
156
- alt: z.ZodOptional<z.ZodString>;
157
- html: z.ZodOptional<z.ZodString>;
158
- price: z.ZodOptional<z.ZodObject<{
159
- current: z.ZodString;
160
- original: z.ZodNullable<z.ZodString>;
161
- period: z.ZodString;
162
- }, z.core.$strip>>;
163
- code: z.ZodOptional<z.ZodString>;
164
- countdownAt: z.ZodOptional<z.ZodISODateTime>;
165
- planId: z.ZodOptional<z.ZodString>;
166
- planVersionId: z.ZodOptional<z.ZodString>;
167
- currency: z.ZodOptional<z.ZodEnum<{
168
- USD: "USD";
169
- EUR: "EUR";
170
- CNY: "CNY";
171
- GBP: "GBP";
172
- JPY: "JPY";
173
- CAD: "CAD";
174
- AUD: "AUD";
175
- NZD: "NZD";
176
- CHF: "CHF";
177
- HKD: "HKD";
178
- SGD: "SGD";
179
- KRW: "KRW";
180
- INR: "INR";
181
- BRL: "BRL";
182
- MXN: "MXN";
183
- TWD: "TWD";
184
- THB: "THB";
185
- IDR: "IDR";
186
- MYR: "MYR";
187
- PHP: "PHP";
188
- VND: "VND";
189
- ZAR: "ZAR";
190
- AED: "AED";
191
- SAR: "SAR";
192
- SEK: "SEK";
193
- NOK: "NOK";
194
- DKK: "DKK";
195
- PLN: "PLN";
196
- CZK: "CZK";
197
- HUF: "HUF";
198
- ILS: "ILS";
199
- TRY: "TRY";
200
- RON: "RON";
201
- }>>;
202
- couponId: z.ZodOptional<z.ZodUUID>;
203
- offerId: z.ZodOptional<z.ZodUUID>;
204
- unavailable: z.ZodOptional<z.ZodBoolean>;
205
- unavailableReason: z.ZodOptional<z.ZodString>;
206
- missing: z.ZodOptional<z.ZodArray<z.ZodString>>;
207
- }, z.core.$strict>>>;
208
- }, z.core.$strict>>;
209
- plans: z.ZodRecord<z.ZodString, z.ZodObject<{
210
- id: z.ZodString;
211
- versionId: z.ZodString;
212
- available: z.ZodBoolean;
213
- name: z.ZodString;
214
- price: z.ZodString;
215
- period: z.ZodString;
216
- currency: z.ZodOptional<z.ZodEnum<{
217
- USD: "USD";
218
- EUR: "EUR";
219
- CNY: "CNY";
220
- GBP: "GBP";
221
- JPY: "JPY";
222
- CAD: "CAD";
223
- AUD: "AUD";
224
- NZD: "NZD";
225
- CHF: "CHF";
226
- HKD: "HKD";
227
- SGD: "SGD";
228
- KRW: "KRW";
229
- INR: "INR";
230
- BRL: "BRL";
231
- MXN: "MXN";
232
- TWD: "TWD";
233
- THB: "THB";
234
- IDR: "IDR";
235
- MYR: "MYR";
236
- PHP: "PHP";
237
- VND: "VND";
238
- ZAR: "ZAR";
239
- AED: "AED";
240
- SAR: "SAR";
241
- SEK: "SEK";
242
- NOK: "NOK";
243
- DKK: "DKK";
244
- PLN: "PLN";
245
- CZK: "CZK";
246
- HUF: "HUF";
247
- ILS: "ILS";
248
- TRY: "TRY";
249
- RON: "RON";
250
- }>>;
251
- }, z.core.$strict>>;
252
- pickers: z.ZodRecord<z.ZodString, z.ZodObject<{
253
- options: z.ZodArray<z.ZodString>;
254
- selected: z.ZodNullable<z.ZodString>;
255
- }, z.core.$strict>>;
256
- diagnostics: z.ZodArray<z.ZodObject<{
257
- nodeId: z.ZodString;
258
- message: z.ZodString;
259
- }, z.core.$strict>>;
260
- }, z.core.$strict>;
261
- type SurfaceData = z.infer<typeof surfaceDataSchema>;
262
-
263
- /**
264
- * 组件样式(参照 RevenueCat Paywalls 的通用属性):尺寸、内外边距、子元素间距(容器)、背景(纯色 / 渐变 / 图片)、
265
- * 不透明度、形状、边框、阴影、文字。全部是结构化数值,由渲染器转成 CSS,不接受任意 CSS。
266
- * 样式只存于 node.style;未设置的项沿用组件和主题默认值。
267
- */
268
- declare const styleSchema: z.ZodObject<{
269
- width: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
270
- fill: "fill";
271
- fit: "fit";
272
- }>, z.ZodNumber]>>;
273
- height: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
274
- fill: "fill";
275
- fit: "fit";
276
- }>, z.ZodNumber]>>;
277
- padding: z.ZodOptional<z.ZodObject<{
278
- top: z.ZodNumber;
279
- right: z.ZodNumber;
280
- bottom: z.ZodNumber;
281
- left: z.ZodNumber;
282
- }, z.core.$strict>>;
283
- margin: z.ZodOptional<z.ZodObject<{
284
- top: z.ZodNumber;
285
- right: z.ZodNumber;
286
- bottom: z.ZodNumber;
287
- left: z.ZodNumber;
288
- }, z.core.$strict>>;
289
- gap: z.ZodOptional<z.ZodNumber>;
290
- grow: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodNumber]>>;
291
- background: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
292
- type: z.ZodLiteral<"color">;
293
- color: z.ZodUnion<readonly [z.ZodEnum<{
294
- surface: "surface";
295
- primary: "primary";
296
- background: "background";
297
- text: "text";
298
- muted: "muted";
299
- }>, z.ZodString]>;
300
- }, z.core.$strict>, z.ZodObject<{
301
- type: z.ZodLiteral<"linear">;
302
- angle: z.ZodNumber;
303
- stops: z.ZodArray<z.ZodObject<{
304
- color: z.ZodUnion<readonly [z.ZodEnum<{
305
- surface: "surface";
306
- primary: "primary";
307
- background: "background";
308
- text: "text";
309
- muted: "muted";
310
- }>, z.ZodString]>;
311
- at: z.ZodNumber;
312
- }, z.core.$strict>>;
313
- }, z.core.$strict>, z.ZodObject<{
314
- type: z.ZodLiteral<"image">;
315
- src: z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodString]>;
316
- fit: z.ZodEnum<{
317
- cover: "cover";
318
- contain: "contain";
319
- }>;
320
- position: z.ZodOptional<z.ZodObject<{
321
- x: z.ZodNumber;
322
- y: z.ZodNumber;
323
- }, z.core.$strict>>;
324
- }, z.core.$strict>], "type">>;
325
- opacity: z.ZodOptional<z.ZodNumber>;
326
- clipContent: z.ZodOptional<z.ZodBoolean>;
327
- shape: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
328
- type: z.ZodLiteral<"rect">;
329
- radius: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
330
- topLeft: z.ZodNumber;
331
- topRight: z.ZodNumber;
332
- bottomRight: z.ZodNumber;
333
- bottomLeft: z.ZodNumber;
334
- }, z.core.$strict>]>;
335
- }, z.core.$strict>, z.ZodObject<{
336
- type: z.ZodLiteral<"pill">;
337
- }, z.core.$strict>], "type">>;
338
- border: z.ZodOptional<z.ZodObject<{
339
- width: z.ZodNumber;
340
- color: z.ZodUnion<readonly [z.ZodEnum<{
341
- surface: "surface";
342
- primary: "primary";
343
- background: "background";
344
- text: "text";
345
- muted: "muted";
346
- }>, z.ZodString]>;
347
- style: z.ZodEnum<{
348
- solid: "solid";
349
- dashed: "dashed";
350
- }>;
351
- }, z.core.$strict>>;
352
- shadow: z.ZodOptional<z.ZodObject<{
353
- x: z.ZodNumber;
354
- y: z.ZodNumber;
355
- blur: z.ZodNumber;
356
- spread: z.ZodNumber;
357
- color: z.ZodUnion<readonly [z.ZodEnum<{
358
- surface: "surface";
359
- primary: "primary";
360
- background: "background";
361
- text: "text";
362
- muted: "muted";
363
- }>, z.ZodString]>;
364
- }, z.core.$strict>>;
365
- text: z.ZodOptional<z.ZodObject<{
366
- font: z.ZodOptional<z.ZodEnum<{
367
- system: "system";
368
- serif: "serif";
369
- rounded: "rounded";
370
- mono: "mono";
371
- }>>;
372
- size: z.ZodOptional<z.ZodNumber>;
373
- weight: z.ZodOptional<z.ZodNumber>;
374
- lineHeight: z.ZodOptional<z.ZodNumber>;
375
- letterSpacing: z.ZodOptional<z.ZodNumber>;
376
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
377
- surface: "surface";
378
- primary: "primary";
379
- background: "background";
380
- text: "text";
381
- muted: "muted";
382
- }>, z.ZodString]>>;
383
- align: z.ZodOptional<z.ZodEnum<{
384
- start: "start";
385
- end: "end";
386
- center: "center";
387
- }>>;
388
- italic: z.ZodOptional<z.ZodBoolean>;
389
- decoration: z.ZodOptional<z.ZodEnum<{
390
- none: "none";
391
- underline: "underline";
392
- "line-through": "line-through";
393
- }>>;
394
- transform: z.ZodOptional<z.ZodEnum<{
395
- none: "none";
396
- uppercase: "uppercase";
397
- }>>;
398
- }, z.core.$strict>>;
399
- }, z.core.$strict>;
400
- type ScreenStyle = z.infer<typeof styleSchema>;
401
3
  declare const textNodeSchema: z.ZodObject<{
402
4
  type: z.ZodLiteral<"text">;
403
5
  productField: z.ZodOptional<z.ZodEnum<{
@@ -2601,32 +2203,358 @@ type ButtonNode = z.infer<typeof buttonNodeSchema>;
2601
2203
  type DividerNode = z.infer<typeof dividerNodeSchema>;
2602
2204
  type SpacerNode = z.infer<typeof spacerNodeSchema>;
2603
2205
  type CustomHtmlNode = z.infer<typeof customHtmlNodeSchema>;
2604
- declare const stackInteractionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2605
- type: z.ZodLiteral<"input">;
2606
- label: z.ZodString;
2607
- keyboard: z.ZodEnum<{
2608
- url: "url";
2609
- text: "text";
2610
- email: "email";
2611
- tel: "tel";
2206
+ /** Display selections only. Never use these values as payment, eligibility, price, or customer authentication. */
2207
+ type ScreenSelection = Record<string, string | boolean>;
2208
+ declare const stackNodeFields: {
2209
+ type: z.ZodLiteral<"stack">;
2210
+ direction: z.ZodEnum<{
2211
+ vertical: "vertical";
2212
+ horizontal: "horizontal";
2213
+ overlay: "overlay";
2612
2214
  }>;
2613
- maxLength: z.ZodNumber;
2614
- }, z.core.$strict>, z.ZodObject<{
2615
- type: z.ZodLiteral<"multiselect">;
2616
- label: z.ZodString;
2617
- min: z.ZodNumber;
2618
- max: z.ZodNumber;
2619
- }, z.core.$strict>, z.ZodObject<{
2620
- type: z.ZodLiteral<"select">;
2621
- label: z.ZodString;
2622
- defaultIndex: z.ZodNumber;
2623
- purpose: z.ZodOptional<z.ZodEnum<{
2624
- product: "product";
2625
- tier: "tier";
2626
- option: "option";
2215
+ align: z.ZodEnum<{
2216
+ start: "start";
2217
+ end: "end";
2218
+ center: "center";
2219
+ stretch: "stretch";
2220
+ }>;
2221
+ justify: z.ZodEnum<{
2222
+ start: "start";
2223
+ end: "end";
2224
+ center: "center";
2225
+ between: "between";
2226
+ }>;
2227
+ productSlot: z.ZodOptional<z.ZodObject<{
2228
+ index: z.ZodNumber;
2229
+ period: z.ZodOptional<z.ZodEnum<{
2230
+ month: "month";
2231
+ year: "year";
2232
+ }>>;
2233
+ requireBinding: z.ZodOptional<z.ZodBoolean>;
2234
+ }, z.core.$strict>>;
2235
+ interaction: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2236
+ type: z.ZodLiteral<"input">;
2237
+ label: z.ZodString;
2238
+ keyboard: z.ZodEnum<{
2239
+ url: "url";
2240
+ text: "text";
2241
+ email: "email";
2242
+ tel: "tel";
2243
+ }>;
2244
+ maxLength: z.ZodNumber;
2245
+ }, z.core.$strict>, z.ZodObject<{
2246
+ type: z.ZodLiteral<"multiselect">;
2247
+ label: z.ZodString;
2248
+ min: z.ZodNumber;
2249
+ max: z.ZodNumber;
2250
+ }, z.core.$strict>, z.ZodObject<{
2251
+ type: z.ZodLiteral<"select">;
2252
+ label: z.ZodString;
2253
+ defaultIndex: z.ZodNumber;
2254
+ purpose: z.ZodOptional<z.ZodEnum<{
2255
+ product: "product";
2256
+ tier: "tier";
2257
+ option: "option";
2258
+ }>>;
2259
+ pickerId: z.ZodOptional<z.ZodString>;
2260
+ selectedStyle: z.ZodOptional<z.ZodObject<{
2261
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2262
+ fill: "fill";
2263
+ fit: "fit";
2264
+ }>, z.ZodNumber]>>;
2265
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2266
+ fill: "fill";
2267
+ fit: "fit";
2268
+ }>, z.ZodNumber]>>;
2269
+ padding: z.ZodOptional<z.ZodObject<{
2270
+ top: z.ZodNumber;
2271
+ right: z.ZodNumber;
2272
+ bottom: z.ZodNumber;
2273
+ left: z.ZodNumber;
2274
+ }, z.core.$strict>>;
2275
+ margin: z.ZodOptional<z.ZodObject<{
2276
+ top: z.ZodNumber;
2277
+ right: z.ZodNumber;
2278
+ bottom: z.ZodNumber;
2279
+ left: z.ZodNumber;
2280
+ }, z.core.$strict>>;
2281
+ gap: z.ZodOptional<z.ZodNumber>;
2282
+ grow: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodNumber]>>;
2283
+ background: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2284
+ type: z.ZodLiteral<"color">;
2285
+ color: z.ZodUnion<readonly [z.ZodEnum<{
2286
+ surface: "surface";
2287
+ primary: "primary";
2288
+ background: "background";
2289
+ text: "text";
2290
+ muted: "muted";
2291
+ }>, z.ZodString]>;
2292
+ }, z.core.$strict>, z.ZodObject<{
2293
+ type: z.ZodLiteral<"linear">;
2294
+ angle: z.ZodNumber;
2295
+ stops: z.ZodArray<z.ZodObject<{
2296
+ color: z.ZodUnion<readonly [z.ZodEnum<{
2297
+ surface: "surface";
2298
+ primary: "primary";
2299
+ background: "background";
2300
+ text: "text";
2301
+ muted: "muted";
2302
+ }>, z.ZodString]>;
2303
+ at: z.ZodNumber;
2304
+ }, z.core.$strict>>;
2305
+ }, z.core.$strict>, z.ZodObject<{
2306
+ type: z.ZodLiteral<"image">;
2307
+ src: z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodString]>;
2308
+ fit: z.ZodEnum<{
2309
+ cover: "cover";
2310
+ contain: "contain";
2311
+ }>;
2312
+ position: z.ZodOptional<z.ZodObject<{
2313
+ x: z.ZodNumber;
2314
+ y: z.ZodNumber;
2315
+ }, z.core.$strict>>;
2316
+ }, z.core.$strict>], "type">>;
2317
+ opacity: z.ZodOptional<z.ZodNumber>;
2318
+ clipContent: z.ZodOptional<z.ZodBoolean>;
2319
+ shape: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2320
+ type: z.ZodLiteral<"rect">;
2321
+ radius: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
2322
+ topLeft: z.ZodNumber;
2323
+ topRight: z.ZodNumber;
2324
+ bottomRight: z.ZodNumber;
2325
+ bottomLeft: z.ZodNumber;
2326
+ }, z.core.$strict>]>;
2327
+ }, z.core.$strict>, z.ZodObject<{
2328
+ type: z.ZodLiteral<"pill">;
2329
+ }, z.core.$strict>], "type">>;
2330
+ border: z.ZodOptional<z.ZodObject<{
2331
+ width: z.ZodNumber;
2332
+ color: z.ZodUnion<readonly [z.ZodEnum<{
2333
+ surface: "surface";
2334
+ primary: "primary";
2335
+ background: "background";
2336
+ text: "text";
2337
+ muted: "muted";
2338
+ }>, z.ZodString]>;
2339
+ style: z.ZodEnum<{
2340
+ solid: "solid";
2341
+ dashed: "dashed";
2342
+ }>;
2343
+ }, z.core.$strict>>;
2344
+ shadow: z.ZodOptional<z.ZodObject<{
2345
+ x: z.ZodNumber;
2346
+ y: z.ZodNumber;
2347
+ blur: z.ZodNumber;
2348
+ spread: z.ZodNumber;
2349
+ color: z.ZodUnion<readonly [z.ZodEnum<{
2350
+ surface: "surface";
2351
+ primary: "primary";
2352
+ background: "background";
2353
+ text: "text";
2354
+ muted: "muted";
2355
+ }>, z.ZodString]>;
2356
+ }, z.core.$strict>>;
2357
+ text: z.ZodOptional<z.ZodObject<{
2358
+ font: z.ZodOptional<z.ZodEnum<{
2359
+ system: "system";
2360
+ serif: "serif";
2361
+ rounded: "rounded";
2362
+ mono: "mono";
2363
+ }>>;
2364
+ size: z.ZodOptional<z.ZodNumber>;
2365
+ weight: z.ZodOptional<z.ZodNumber>;
2366
+ lineHeight: z.ZodOptional<z.ZodNumber>;
2367
+ letterSpacing: z.ZodOptional<z.ZodNumber>;
2368
+ color: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2369
+ surface: "surface";
2370
+ primary: "primary";
2371
+ background: "background";
2372
+ text: "text";
2373
+ muted: "muted";
2374
+ }>, z.ZodString]>>;
2375
+ align: z.ZodOptional<z.ZodEnum<{
2376
+ start: "start";
2377
+ end: "end";
2378
+ center: "center";
2379
+ }>>;
2380
+ italic: z.ZodOptional<z.ZodBoolean>;
2381
+ decoration: z.ZodOptional<z.ZodEnum<{
2382
+ none: "none";
2383
+ underline: "underline";
2384
+ "line-through": "line-through";
2385
+ }>>;
2386
+ transform: z.ZodOptional<z.ZodEnum<{
2387
+ none: "none";
2388
+ uppercase: "uppercase";
2389
+ }>>;
2390
+ }, z.core.$strict>>;
2391
+ }, z.core.$strict>>;
2392
+ }, z.core.$strict>, z.ZodObject<{
2393
+ type: z.ZodLiteral<"tabs">;
2394
+ label: z.ZodString;
2395
+ defaultIndex: z.ZodNumber;
2396
+ purpose: z.ZodOptional<z.ZodLiteral<"tier">>;
2397
+ }, z.core.$strict>, z.ZodObject<{
2398
+ type: z.ZodLiteral<"toggle">;
2399
+ label: z.ZodString;
2400
+ defaultEnabled: z.ZodBoolean;
2401
+ }, z.core.$strict>, z.ZodObject<{
2402
+ type: z.ZodLiteral<"carousel">;
2403
+ label: z.ZodString;
2404
+ }, z.core.$strict>], "type">>;
2405
+ states: z.ZodOptional<z.ZodObject<{
2406
+ selected: z.ZodOptional<z.ZodObject<{
2407
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2408
+ fill: "fill";
2409
+ fit: "fit";
2410
+ }>, z.ZodNumber]>>;
2411
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2412
+ fill: "fill";
2413
+ fit: "fit";
2414
+ }>, z.ZodNumber]>>;
2415
+ padding: z.ZodOptional<z.ZodObject<{
2416
+ top: z.ZodNumber;
2417
+ right: z.ZodNumber;
2418
+ bottom: z.ZodNumber;
2419
+ left: z.ZodNumber;
2420
+ }, z.core.$strict>>;
2421
+ margin: z.ZodOptional<z.ZodObject<{
2422
+ top: z.ZodNumber;
2423
+ right: z.ZodNumber;
2424
+ bottom: z.ZodNumber;
2425
+ left: z.ZodNumber;
2426
+ }, z.core.$strict>>;
2427
+ gap: z.ZodOptional<z.ZodNumber>;
2428
+ grow: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodNumber]>>;
2429
+ background: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2430
+ type: z.ZodLiteral<"color">;
2431
+ color: z.ZodUnion<readonly [z.ZodEnum<{
2432
+ surface: "surface";
2433
+ primary: "primary";
2434
+ background: "background";
2435
+ text: "text";
2436
+ muted: "muted";
2437
+ }>, z.ZodString]>;
2438
+ }, z.core.$strict>, z.ZodObject<{
2439
+ type: z.ZodLiteral<"linear">;
2440
+ angle: z.ZodNumber;
2441
+ stops: z.ZodArray<z.ZodObject<{
2442
+ color: z.ZodUnion<readonly [z.ZodEnum<{
2443
+ surface: "surface";
2444
+ primary: "primary";
2445
+ background: "background";
2446
+ text: "text";
2447
+ muted: "muted";
2448
+ }>, z.ZodString]>;
2449
+ at: z.ZodNumber;
2450
+ }, z.core.$strict>>;
2451
+ }, z.core.$strict>, z.ZodObject<{
2452
+ type: z.ZodLiteral<"image">;
2453
+ src: z.ZodUnion<readonly [z.ZodString, z.ZodString, z.ZodString, z.ZodString]>;
2454
+ fit: z.ZodEnum<{
2455
+ cover: "cover";
2456
+ contain: "contain";
2457
+ }>;
2458
+ position: z.ZodOptional<z.ZodObject<{
2459
+ x: z.ZodNumber;
2460
+ y: z.ZodNumber;
2461
+ }, z.core.$strict>>;
2462
+ }, z.core.$strict>], "type">>;
2463
+ opacity: z.ZodOptional<z.ZodNumber>;
2464
+ clipContent: z.ZodOptional<z.ZodBoolean>;
2465
+ shape: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2466
+ type: z.ZodLiteral<"rect">;
2467
+ radius: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
2468
+ topLeft: z.ZodNumber;
2469
+ topRight: z.ZodNumber;
2470
+ bottomRight: z.ZodNumber;
2471
+ bottomLeft: z.ZodNumber;
2472
+ }, z.core.$strict>]>;
2473
+ }, z.core.$strict>, z.ZodObject<{
2474
+ type: z.ZodLiteral<"pill">;
2475
+ }, z.core.$strict>], "type">>;
2476
+ border: z.ZodOptional<z.ZodObject<{
2477
+ width: z.ZodNumber;
2478
+ color: z.ZodUnion<readonly [z.ZodEnum<{
2479
+ surface: "surface";
2480
+ primary: "primary";
2481
+ background: "background";
2482
+ text: "text";
2483
+ muted: "muted";
2484
+ }>, z.ZodString]>;
2485
+ style: z.ZodEnum<{
2486
+ solid: "solid";
2487
+ dashed: "dashed";
2488
+ }>;
2489
+ }, z.core.$strict>>;
2490
+ shadow: z.ZodOptional<z.ZodObject<{
2491
+ x: z.ZodNumber;
2492
+ y: z.ZodNumber;
2493
+ blur: z.ZodNumber;
2494
+ spread: z.ZodNumber;
2495
+ color: z.ZodUnion<readonly [z.ZodEnum<{
2496
+ surface: "surface";
2497
+ primary: "primary";
2498
+ background: "background";
2499
+ text: "text";
2500
+ muted: "muted";
2501
+ }>, z.ZodString]>;
2502
+ }, z.core.$strict>>;
2503
+ text: z.ZodOptional<z.ZodObject<{
2504
+ font: z.ZodOptional<z.ZodEnum<{
2505
+ system: "system";
2506
+ serif: "serif";
2507
+ rounded: "rounded";
2508
+ mono: "mono";
2509
+ }>>;
2510
+ size: z.ZodOptional<z.ZodNumber>;
2511
+ weight: z.ZodOptional<z.ZodNumber>;
2512
+ lineHeight: z.ZodOptional<z.ZodNumber>;
2513
+ letterSpacing: z.ZodOptional<z.ZodNumber>;
2514
+ color: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2515
+ surface: "surface";
2516
+ primary: "primary";
2517
+ background: "background";
2518
+ text: "text";
2519
+ muted: "muted";
2520
+ }>, z.ZodString]>>;
2521
+ align: z.ZodOptional<z.ZodEnum<{
2522
+ start: "start";
2523
+ end: "end";
2524
+ center: "center";
2525
+ }>>;
2526
+ italic: z.ZodOptional<z.ZodBoolean>;
2527
+ decoration: z.ZodOptional<z.ZodEnum<{
2528
+ none: "none";
2529
+ underline: "underline";
2530
+ "line-through": "line-through";
2531
+ }>>;
2532
+ transform: z.ZodOptional<z.ZodEnum<{
2533
+ none: "none";
2534
+ uppercase: "uppercase";
2535
+ }>>;
2536
+ }, z.core.$strict>>;
2537
+ }, z.core.$strict>>;
2538
+ }, z.core.$strict>>;
2539
+ purpose: z.ZodOptional<z.ZodLiteral<"benefits">>;
2540
+ purchaseAction: z.ZodOptional<z.ZodString>;
2541
+ buttonVariant: z.ZodOptional<z.ZodEnum<{
2542
+ link: "link";
2543
+ primary: "primary";
2544
+ secondary: "secondary";
2627
2545
  }>>;
2628
- pickerId: z.ZodOptional<z.ZodString>;
2629
- selectedStyle: z.ZodOptional<z.ZodObject<{
2546
+ bind: z.ZodOptional<z.ZodObject<{
2547
+ plan: z.ZodOptional<z.ZodString>;
2548
+ coupon: z.ZodOptional<z.ZodUUID>;
2549
+ promotionCode: z.ZodOptional<z.ZodUUID>;
2550
+ picker: z.ZodOptional<z.ZodString>;
2551
+ }, z.core.$strict>>;
2552
+ id: z.ZodString;
2553
+ /** 图层树里的显示名;为空时编辑器用内容摘要。 */
2554
+ name: z.ZodOptional<z.ZodString>;
2555
+ /** 隐藏的组件不渲染,但保留在文档里(图层树里的眼睛开关)。 */
2556
+ hidden: z.ZodOptional<z.ZodBoolean>;
2557
+ style: z.ZodOptional<z.ZodObject<{
2630
2558
  width: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2631
2559
  fill: "fill";
2632
2560
  fit: "fit";
@@ -2758,47 +2686,10 @@ declare const stackInteractionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2758
2686
  }>>;
2759
2687
  }, z.core.$strict>>;
2760
2688
  }, z.core.$strict>>;
2761
- }, z.core.$strict>, z.ZodObject<{
2762
- type: z.ZodLiteral<"tabs">;
2763
- label: z.ZodString;
2764
- defaultIndex: z.ZodNumber;
2765
- purpose: z.ZodOptional<z.ZodLiteral<"tier">>;
2766
- }, z.core.$strict>, z.ZodObject<{
2767
- type: z.ZodLiteral<"toggle">;
2768
- label: z.ZodString;
2769
- defaultEnabled: z.ZodBoolean;
2770
- }, z.core.$strict>, z.ZodObject<{
2771
- type: z.ZodLiteral<"carousel">;
2772
- label: z.ZodString;
2773
- }, z.core.$strict>], "type">;
2774
- type StackInteraction = z.infer<typeof stackInteractionSchema>;
2775
- /** Display selections only. Never use these values as payment, eligibility, price, or customer authentication. */
2776
- type ScreenSelection = Record<string, string | boolean>;
2777
- type StackNode = {
2778
- id: string;
2779
- name?: string;
2780
- hidden?: boolean;
2781
- style?: ScreenStyle;
2782
- type: "stack";
2783
- /** overlay:子元素叠在同一位置(做角标、图上文字),位置由 align(纵向)和 justify(横向)决定。 */
2784
- direction: "vertical" | "horizontal" | "overlay";
2785
- align: "start" | "center" | "end" | "stretch";
2786
- justify: "start" | "center" | "end" | "between";
2689
+ fallback: z.ZodOptional<z.ZodString>;
2690
+ };
2691
+ type StackNode = z.infer<z.ZodObject<typeof stackNodeFields>> & {
2787
2692
  children: ScreenNode[];
2788
- productSlot?: {
2789
- index: number;
2790
- period?: "month" | "year";
2791
- requireBinding?: boolean;
2792
- };
2793
- states?: {
2794
- selected?: ScreenStyle;
2795
- };
2796
- purpose?: "benefits";
2797
- purchaseAction?: string;
2798
- buttonVariant?: "primary" | "secondary" | "link";
2799
- interaction?: StackInteraction;
2800
- bind?: CapabilityBinding;
2801
- fallback?: string;
2802
2693
  };
2803
2694
  type ScreenNode = StackNode | TextNode | ImageNode | ButtonNode | DividerNode | SpacerNode | CustomHtmlNode | PriceNode | CouponCodeNode | CountdownNode | PlanPickerNode | CustomerDataNode;
2804
2695
  declare const screenActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -2950,4 +2841,4 @@ declare const screenDocumentShape: z.ZodObject<{
2950
2841
  }, z.core.$strict>;
2951
2842
  type ScreenDocument = z.infer<typeof screenDocumentShape>;
2952
2843
 
2953
- export type { StackNode as S, ScreenAction as a, ScreenNode as b, ScreenDocument as c, SurfaceData as d, ScreenSelection as e };
2844
+ export type { StackNode as S, ScreenAction as a, ScreenNode as b, ScreenDocument as c, ScreenSelection as d };