@monimesl/dot-core 0.1.0-alpha.2 → 0.1.0-alpha.4

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/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  //#region src/event/core.d.ts
2
- interface DotEvent<Detail = unknown> {
2
+ interface DotEvent<Detail = unknown, Data = Readonly<Record<string, unknown>>> {
3
3
  readonly type: string;
4
4
  readonly detail: Detail;
5
+ readonly data: Data;
5
6
  }
6
- export declare function createEvent<Detail = Record<string, never>>(type: string, detail?: Detail): DotEvent<Detail>;
7
+ export declare function createEvent<Detail = Record<string, never>>(type: string, detail?: Detail, data?: Readonly<Record<string, unknown>>): DotEvent<Detail>;
7
8
  //#endregion
8
9
  //#region src/view/component.d.ts
9
10
  interface PropTypes {
@@ -53,70 +54,445 @@ type PropsOf<M extends ComponentManifest, Children = never> = { [K in keyof M['p
53
54
  type ComponentRegistry = Readonly<Record<string, ComponentManifest>>;
54
55
  export declare function componentRegistry(manifests: Iterable<ComponentManifest>): ComponentRegistry;
55
56
  //#endregion
57
+ //#region src/view/components/amount-input.d.ts
58
+ export declare const AmountInput: ComponentManifest<"AmountInput", {
59
+ readonly value: "number";
60
+ readonly currency: "string";
61
+ readonly decimals: "number";
62
+ readonly label: "string";
63
+ readonly placeholder: "string";
64
+ readonly hint: "string";
65
+ readonly error: "string";
66
+ readonly disabled: "boolean";
67
+ }, "change", "none">;
68
+ //#endregion
56
69
  //#region src/view/components/button.d.ts
57
70
  export declare const Button: ComponentManifest<"Button", {
58
71
  readonly variant: readonly ["primary", "secondary"];
59
72
  readonly disabled: "boolean";
73
+ readonly loading: "boolean";
60
74
  }, "click", "text">;
61
75
  //#endregion
76
+ //#region src/view/components/carousel.d.ts
77
+ export declare const Carousel: ComponentManifest<"Carousel", {
78
+ readonly autoplay: "boolean";
79
+ readonly interval: "number";
80
+ readonly loop: "boolean";
81
+ readonly indicator: readonly ["dots", "none"];
82
+ readonly gap: readonly ["none", "small", "medium", "large"];
83
+ readonly effect: readonly ["slide", "scale"];
84
+ readonly index: "number";
85
+ }, "change", "elements">;
86
+ //#endregion
87
+ //#region src/view/components/chip.d.ts
88
+ export declare const Chip: ComponentManifest<"Chip", {
89
+ readonly label: "string";
90
+ readonly icon: readonly ["arrow-down", "arrow-left", "arrow-right", "arrow-up", "bank", "bell", "bolt", "calendar", "card", "cart", "cash", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "clock", "close", "copy", "download", "edit", "error", "eye", "eye-off", "file", "gift", "grid", "heart", "help", "history", "home", "image", "info", "list", "location", "lock", "logout", "mail", "minus", "mobile", "more", "phone", "plus", "qr-code", "receipt", "refresh", "search", "send", "settings", "share", "star", "success", "trash", "upload", "user", "users", "wallet", "warning", "water", "wifi"];
91
+ readonly selected: "boolean";
92
+ readonly disabled: "boolean";
93
+ }, "tap", "none">;
94
+ //#endregion
95
+ //#region src/view/components/code-input.d.ts
96
+ export declare const CodeInput: ComponentManifest<"CodeInput", {
97
+ readonly value: "string";
98
+ readonly length: "number";
99
+ readonly label: "string";
100
+ readonly hint: "string";
101
+ readonly error: "string";
102
+ readonly secure: "boolean";
103
+ readonly disabled: "boolean";
104
+ }, "change" | "complete", "none">;
105
+ //#endregion
106
+ //#region src/view/components/divider.d.ts
107
+ export declare const Divider: ComponentManifest<"Divider", Record<never, PropType>, never, "none">;
108
+ //#endregion
109
+ //#region src/view/components/empty-state.d.ts
110
+ export declare const EmptyState: ComponentManifest<"EmptyState", {
111
+ readonly icon: readonly ["arrow-down", "arrow-left", "arrow-right", "arrow-up", "bank", "bell", "bolt", "calendar", "card", "cart", "cash", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "clock", "close", "copy", "download", "edit", "error", "eye", "eye-off", "file", "gift", "grid", "heart", "help", "history", "home", "image", "info", "list", "location", "lock", "logout", "mail", "minus", "mobile", "more", "phone", "plus", "qr-code", "receipt", "refresh", "search", "send", "settings", "share", "star", "success", "trash", "upload", "user", "users", "wallet", "warning", "water", "wifi"];
112
+ readonly title: "string";
113
+ readonly text: "string";
114
+ }, never, "elements">;
115
+ //#endregion
116
+ //#region src/view/components/feedback.d.ts
117
+ export declare const Spinner: ComponentManifest<"Spinner", {
118
+ readonly size: readonly ["small", "medium", "large"];
119
+ }, never, "none">;
120
+ export declare const ProgressBar: ComponentManifest<"ProgressBar", {
121
+ readonly value: "number";
122
+ }, never, "none">;
123
+ export declare const Notice: ComponentManifest<"Notice", {
124
+ readonly tone: readonly ["default", "info", "success", "warning", "danger"];
125
+ readonly title: "string";
126
+ }, never, "text">;
127
+ export declare const Badge: ComponentManifest<"Badge", {
128
+ readonly tone: readonly ["default", "info", "success", "warning", "danger"];
129
+ }, never, "text">;
130
+ //#endregion
131
+ //#region src/view/components/footer.d.ts
132
+ export declare const Footer: ComponentManifest<"Footer", Record<never, PropType>, never, "elements">;
133
+ //#endregion
134
+ //#region src/view/components/grid.d.ts
135
+ export declare const Grid: ComponentManifest<"Grid", {
136
+ readonly columns: "number";
137
+ readonly gap: readonly ["none", "small", "medium", "large"];
138
+ }, never, "elements">;
139
+ export declare const GridItem: ComponentManifest<"GridItem", {
140
+ readonly label: "string";
141
+ readonly icon: readonly ["arrow-down", "arrow-left", "arrow-right", "arrow-up", "bank", "bell", "bolt", "calendar", "card", "cart", "cash", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "clock", "close", "copy", "download", "edit", "error", "eye", "eye-off", "file", "gift", "grid", "heart", "help", "history", "home", "image", "info", "list", "location", "lock", "logout", "mail", "minus", "mobile", "more", "phone", "plus", "qr-code", "receipt", "refresh", "search", "send", "settings", "share", "star", "success", "trash", "upload", "user", "users", "wallet", "warning", "water", "wifi"];
142
+ readonly image: "string";
143
+ readonly badge: "string";
144
+ }, "tap", "none">;
145
+ //#endregion
146
+ //#region src/view/components/icon.d.ts
147
+ export declare const Icon: ComponentManifest<"Icon", {
148
+ readonly name: readonly ["arrow-down", "arrow-left", "arrow-right", "arrow-up", "bank", "bell", "bolt", "calendar", "card", "cart", "cash", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "clock", "close", "copy", "download", "edit", "error", "eye", "eye-off", "file", "gift", "grid", "heart", "help", "history", "home", "image", "info", "list", "location", "lock", "logout", "mail", "minus", "mobile", "more", "phone", "plus", "qr-code", "receipt", "refresh", "search", "send", "settings", "share", "star", "success", "trash", "upload", "user", "users", "wallet", "warning", "water", "wifi"];
149
+ readonly size: readonly ["small", "medium", "large"];
150
+ readonly tone: readonly ["default", "muted", "info", "success", "warning", "danger"];
151
+ }, never, "none">;
152
+ //#endregion
62
153
  //#region src/view/components/image.d.ts
63
154
  export declare const Image: ComponentManifest<"Image", {
64
155
  readonly src: "string";
65
156
  readonly alt: "string";
66
157
  readonly width: "number";
67
158
  readonly height: "number";
68
- }, "load" | "error", "none">;
159
+ readonly fit: readonly ["cover", "contain"];
160
+ readonly shape: readonly ["rounded", "square", "circle"];
161
+ }, "error" | "load", "none">;
69
162
  //#endregion
70
163
  //#region src/view/components/input.d.ts
71
164
  export declare const Input: ComponentManifest<"Input", {
72
165
  readonly value: "string";
73
166
  readonly placeholder: "string";
74
167
  readonly label: "string";
168
+ readonly hint: "string";
169
+ readonly error: "string";
170
+ readonly prefix: "string";
171
+ readonly suffix: "string";
75
172
  readonly type: readonly ["text", "number", "email", "phone", "password"];
76
173
  readonly maxLength: "number";
77
174
  readonly disabled: "boolean";
78
175
  }, "change" | "submit", "none">;
79
176
  //#endregion
177
+ //#region src/view/components/list.d.ts
178
+ export declare const List: ComponentManifest<"List", Record<never, PropType>, never, "elements">;
179
+ export declare const ListItem: ComponentManifest<"ListItem", {
180
+ readonly title: "string";
181
+ readonly subtitle: "string";
182
+ readonly value: "string";
183
+ readonly icon: readonly ["arrow-down", "arrow-left", "arrow-right", "arrow-up", "bank", "bell", "bolt", "calendar", "card", "cart", "cash", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "clock", "close", "copy", "download", "edit", "error", "eye", "eye-off", "file", "gift", "grid", "heart", "help", "history", "home", "image", "info", "list", "location", "lock", "logout", "mail", "minus", "mobile", "more", "phone", "plus", "qr-code", "receipt", "refresh", "search", "send", "settings", "share", "star", "success", "trash", "upload", "user", "users", "wallet", "warning", "water", "wifi"];
184
+ readonly image: "string";
185
+ }, "tap", "elements">;
186
+ //#endregion
187
+ //#region src/view/components/overlays.d.ts
188
+ export declare const Sheet: ComponentManifest<"Sheet", {
189
+ readonly open: "boolean";
190
+ readonly title: "string";
191
+ }, "close", "elements">;
192
+ export declare const Toast: ComponentManifest<"Toast", {
193
+ readonly message: "string";
194
+ readonly tone: readonly ["default", "info", "success", "warning", "danger"];
195
+ readonly duration: "number";
196
+ }, "hide", "none">;
197
+ //#endregion
198
+ //#region src/view/components/qr-code.d.ts
199
+ export declare const QRCode: ComponentManifest<"QRCode", {
200
+ readonly value: "string";
201
+ readonly size: "number";
202
+ readonly label: "string";
203
+ }, never, "none">;
204
+ //#endregion
205
+ //#region src/view/components/select.d.ts
206
+ export declare const Select: ComponentManifest<"Select", {
207
+ readonly value: "string";
208
+ readonly label: "string";
209
+ readonly placeholder: "string";
210
+ readonly hint: "string";
211
+ readonly error: "string";
212
+ readonly disabled: "boolean";
213
+ }, "change", "elements">;
214
+ export declare const Option: ComponentManifest<"Option", {
215
+ readonly value: "string";
216
+ readonly label: "string";
217
+ }, never, "none">;
218
+ //#endregion
219
+ //#region src/view/components/skeleton.d.ts
220
+ export declare const Skeleton: ComponentManifest<"Skeleton", {
221
+ readonly shape: readonly ["text", "circle", "box"];
222
+ readonly lines: "number";
223
+ readonly height: "number";
224
+ }, never, "none">;
225
+ //#endregion
226
+ //#region src/view/components/tabs.d.ts
227
+ export declare const Tabs: ComponentManifest<"Tabs", {
228
+ readonly value: "string";
229
+ readonly variant: readonly ["underline", "segmented"];
230
+ }, "change", "elements">;
231
+ export declare const Tab: ComponentManifest<"Tab", {
232
+ readonly value: "string";
233
+ readonly label: "string";
234
+ readonly badge: "number";
235
+ }, never, "none">;
236
+ //#endregion
80
237
  //#region src/view/components/text.d.ts
81
238
  export declare const Text: ComponentManifest<"Text", {
82
239
  readonly variant: readonly ["title", "body", "caption"];
240
+ readonly tone: readonly ["default", "muted", "info", "success", "warning", "danger"];
241
+ readonly weight: readonly ["regular", "medium", "bold"];
242
+ readonly align: readonly ["start", "center", "end"];
243
+ readonly maxLines: "number";
83
244
  }, never, "text">;
84
245
  //#endregion
246
+ //#region src/view/components/text-area.d.ts
247
+ export declare const TextArea: ComponentManifest<"TextArea", {
248
+ readonly value: "string";
249
+ readonly placeholder: "string";
250
+ readonly label: "string";
251
+ readonly hint: "string";
252
+ readonly error: "string";
253
+ readonly rows: "number";
254
+ readonly maxLength: "number";
255
+ readonly disabled: "boolean";
256
+ }, "change", "none">;
257
+ //#endregion
258
+ //#region src/view/components/toggles.d.ts
259
+ export declare const Switch: ComponentManifest<"Switch", {
260
+ readonly checked: "boolean";
261
+ readonly label: "string";
262
+ readonly disabled: "boolean";
263
+ }, "change", "none">;
264
+ export declare const Checkbox: ComponentManifest<"Checkbox", {
265
+ readonly checked: "boolean";
266
+ readonly label: "string";
267
+ readonly disabled: "boolean";
268
+ }, "change", "none">;
269
+ export declare const RadioGroup: ComponentManifest<"RadioGroup", {
270
+ readonly value: "string";
271
+ readonly label: "string";
272
+ readonly disabled: "boolean";
273
+ }, "change", "elements">;
274
+ export declare const Radio: ComponentManifest<"Radio", {
275
+ readonly value: "string";
276
+ readonly label: "string";
277
+ readonly disabled: "boolean";
278
+ }, never, "none">;
279
+ //#endregion
85
280
  //#region src/view/components/view.d.ts
86
281
  export declare const View: ComponentManifest<"View", {
87
- readonly direction: readonly ["column", "row"];
88
282
  readonly gap: readonly ["none", "small", "medium", "large"];
283
+ readonly direction: readonly ["column", "row"];
89
284
  readonly align: readonly ["stretch", "start", "center", "end"];
285
+ readonly justify: readonly ["start", "center", "end", "between"];
286
+ readonly wrap: "boolean";
287
+ readonly grow: "boolean";
288
+ readonly padding: readonly ["none", "small", "medium", "large"];
289
+ readonly paddingTop: readonly ["none", "small", "medium", "large"];
290
+ readonly paddingStart: readonly ["none", "small", "medium", "large"];
291
+ readonly paddingEnd: readonly ["none", "small", "medium", "large"];
292
+ readonly paddingBottom: readonly ["none", "small", "medium", "large"];
90
293
  readonly variant: readonly ["plain", "card"];
91
294
  }, "tap", "elements">;
92
295
  //#endregion
296
+ //#region src/view/components/options.d.ts
297
+ export declare const SIZES: readonly ["small", "medium", "large"];
298
+ export declare const TONES: readonly ["default", "muted", "info", "success", "warning", "danger"];
299
+ export declare const STATUS_TONES: readonly ["default", "info", "success", "warning", "danger"];
300
+ export declare const ICON_NAMES: readonly ["arrow-down", "arrow-left", "arrow-right", "arrow-up", "bank", "bell", "bolt", "calendar", "card", "cart", "cash", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "clock", "close", "copy", "download", "edit", "error", "eye", "eye-off", "file", "gift", "grid", "heart", "help", "history", "home", "image", "info", "list", "location", "lock", "logout", "mail", "minus", "mobile", "more", "phone", "plus", "qr-code", "receipt", "refresh", "search", "send", "settings", "share", "star", "success", "trash", "upload", "user", "users", "wallet", "warning", "water", "wifi"];
301
+ type IconName = (typeof ICON_NAMES)[number];
302
+ //#endregion
93
303
  //#region src/view/components/index.d.ts
94
304
  export declare const builtinComponents: {
305
+ readonly AmountInput: ComponentManifest<"AmountInput", {
306
+ readonly value: "number";
307
+ readonly currency: "string";
308
+ readonly decimals: "number";
309
+ readonly label: "string";
310
+ readonly placeholder: "string";
311
+ readonly hint: "string";
312
+ readonly error: "string";
313
+ readonly disabled: "boolean";
314
+ }, "change", "none">;
315
+ readonly Badge: ComponentManifest<"Badge", {
316
+ readonly tone: readonly ["default", "info", "success", "warning", "danger"];
317
+ }, never, "text">;
95
318
  readonly Button: ComponentManifest<"Button", {
96
319
  readonly variant: readonly ["primary", "secondary"];
97
320
  readonly disabled: "boolean";
321
+ readonly loading: "boolean";
98
322
  }, "click", "text">;
323
+ readonly Carousel: ComponentManifest<"Carousel", {
324
+ readonly autoplay: "boolean";
325
+ readonly interval: "number";
326
+ readonly loop: "boolean";
327
+ readonly indicator: readonly ["dots", "none"];
328
+ readonly gap: readonly ["none", "small", "medium", "large"];
329
+ readonly effect: readonly ["slide", "scale"];
330
+ readonly index: "number";
331
+ }, "change", "elements">;
332
+ readonly Checkbox: ComponentManifest<"Checkbox", {
333
+ readonly checked: "boolean";
334
+ readonly label: "string";
335
+ readonly disabled: "boolean";
336
+ }, "change", "none">;
337
+ readonly Chip: ComponentManifest<"Chip", {
338
+ readonly label: "string";
339
+ readonly icon: readonly ["arrow-down", "arrow-left", "arrow-right", "arrow-up", "bank", "bell", "bolt", "calendar", "card", "cart", "cash", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "clock", "close", "copy", "download", "edit", "error", "eye", "eye-off", "file", "gift", "grid", "heart", "help", "history", "home", "image", "info", "list", "location", "lock", "logout", "mail", "minus", "mobile", "more", "phone", "plus", "qr-code", "receipt", "refresh", "search", "send", "settings", "share", "star", "success", "trash", "upload", "user", "users", "wallet", "warning", "water", "wifi"];
340
+ readonly selected: "boolean";
341
+ readonly disabled: "boolean";
342
+ }, "tap", "none">;
343
+ readonly CodeInput: ComponentManifest<"CodeInput", {
344
+ readonly value: "string";
345
+ readonly length: "number";
346
+ readonly label: "string";
347
+ readonly hint: "string";
348
+ readonly error: "string";
349
+ readonly secure: "boolean";
350
+ readonly disabled: "boolean";
351
+ }, "change" | "complete", "none">;
352
+ readonly Divider: ComponentManifest<"Divider", Record<never, PropType>, never, "none">;
353
+ readonly EmptyState: ComponentManifest<"EmptyState", {
354
+ readonly icon: readonly ["arrow-down", "arrow-left", "arrow-right", "arrow-up", "bank", "bell", "bolt", "calendar", "card", "cart", "cash", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "clock", "close", "copy", "download", "edit", "error", "eye", "eye-off", "file", "gift", "grid", "heart", "help", "history", "home", "image", "info", "list", "location", "lock", "logout", "mail", "minus", "mobile", "more", "phone", "plus", "qr-code", "receipt", "refresh", "search", "send", "settings", "share", "star", "success", "trash", "upload", "user", "users", "wallet", "warning", "water", "wifi"];
355
+ readonly title: "string";
356
+ readonly text: "string";
357
+ }, never, "elements">;
358
+ readonly Footer: ComponentManifest<"Footer", Record<never, PropType>, never, "elements">;
359
+ readonly Grid: ComponentManifest<"Grid", {
360
+ readonly columns: "number";
361
+ readonly gap: readonly ["none", "small", "medium", "large"];
362
+ }, never, "elements">;
363
+ readonly GridItem: ComponentManifest<"GridItem", {
364
+ readonly label: "string";
365
+ readonly icon: readonly ["arrow-down", "arrow-left", "arrow-right", "arrow-up", "bank", "bell", "bolt", "calendar", "card", "cart", "cash", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "clock", "close", "copy", "download", "edit", "error", "eye", "eye-off", "file", "gift", "grid", "heart", "help", "history", "home", "image", "info", "list", "location", "lock", "logout", "mail", "minus", "mobile", "more", "phone", "plus", "qr-code", "receipt", "refresh", "search", "send", "settings", "share", "star", "success", "trash", "upload", "user", "users", "wallet", "warning", "water", "wifi"];
366
+ readonly image: "string";
367
+ readonly badge: "string";
368
+ }, "tap", "none">;
369
+ readonly Icon: ComponentManifest<"Icon", {
370
+ readonly name: readonly ["arrow-down", "arrow-left", "arrow-right", "arrow-up", "bank", "bell", "bolt", "calendar", "card", "cart", "cash", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "clock", "close", "copy", "download", "edit", "error", "eye", "eye-off", "file", "gift", "grid", "heart", "help", "history", "home", "image", "info", "list", "location", "lock", "logout", "mail", "minus", "mobile", "more", "phone", "plus", "qr-code", "receipt", "refresh", "search", "send", "settings", "share", "star", "success", "trash", "upload", "user", "users", "wallet", "warning", "water", "wifi"];
371
+ readonly size: readonly ["small", "medium", "large"];
372
+ readonly tone: readonly ["default", "muted", "info", "success", "warning", "danger"];
373
+ }, never, "none">;
99
374
  readonly Image: ComponentManifest<"Image", {
100
375
  readonly src: "string";
101
376
  readonly alt: "string";
102
377
  readonly width: "number";
103
378
  readonly height: "number";
104
- }, "load" | "error", "none">;
379
+ readonly fit: readonly ["cover", "contain"];
380
+ readonly shape: readonly ["rounded", "square", "circle"];
381
+ }, "error" | "load", "none">;
105
382
  readonly Input: ComponentManifest<"Input", {
106
383
  readonly value: "string";
107
384
  readonly placeholder: "string";
108
385
  readonly label: "string";
386
+ readonly hint: "string";
387
+ readonly error: "string";
388
+ readonly prefix: "string";
389
+ readonly suffix: "string";
109
390
  readonly type: readonly ["text", "number", "email", "phone", "password"];
110
391
  readonly maxLength: "number";
111
392
  readonly disabled: "boolean";
112
393
  }, "change" | "submit", "none">;
394
+ readonly List: ComponentManifest<"List", Record<never, PropType>, never, "elements">;
395
+ readonly ListItem: ComponentManifest<"ListItem", {
396
+ readonly title: "string";
397
+ readonly subtitle: "string";
398
+ readonly value: "string";
399
+ readonly icon: readonly ["arrow-down", "arrow-left", "arrow-right", "arrow-up", "bank", "bell", "bolt", "calendar", "card", "cart", "cash", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "clock", "close", "copy", "download", "edit", "error", "eye", "eye-off", "file", "gift", "grid", "heart", "help", "history", "home", "image", "info", "list", "location", "lock", "logout", "mail", "minus", "mobile", "more", "phone", "plus", "qr-code", "receipt", "refresh", "search", "send", "settings", "share", "star", "success", "trash", "upload", "user", "users", "wallet", "warning", "water", "wifi"];
400
+ readonly image: "string";
401
+ }, "tap", "elements">;
402
+ readonly Notice: ComponentManifest<"Notice", {
403
+ readonly tone: readonly ["default", "info", "success", "warning", "danger"];
404
+ readonly title: "string";
405
+ }, never, "text">;
406
+ readonly Option: ComponentManifest<"Option", {
407
+ readonly value: "string";
408
+ readonly label: "string";
409
+ }, never, "none">;
410
+ readonly ProgressBar: ComponentManifest<"ProgressBar", {
411
+ readonly value: "number";
412
+ }, never, "none">;
413
+ readonly QRCode: ComponentManifest<"QRCode", {
414
+ readonly value: "string";
415
+ readonly size: "number";
416
+ readonly label: "string";
417
+ }, never, "none">;
418
+ readonly Radio: ComponentManifest<"Radio", {
419
+ readonly value: "string";
420
+ readonly label: "string";
421
+ readonly disabled: "boolean";
422
+ }, never, "none">;
423
+ readonly RadioGroup: ComponentManifest<"RadioGroup", {
424
+ readonly value: "string";
425
+ readonly label: "string";
426
+ readonly disabled: "boolean";
427
+ }, "change", "elements">;
428
+ readonly Select: ComponentManifest<"Select", {
429
+ readonly value: "string";
430
+ readonly label: "string";
431
+ readonly placeholder: "string";
432
+ readonly hint: "string";
433
+ readonly error: "string";
434
+ readonly disabled: "boolean";
435
+ }, "change", "elements">;
436
+ readonly Sheet: ComponentManifest<"Sheet", {
437
+ readonly open: "boolean";
438
+ readonly title: "string";
439
+ }, "close", "elements">;
440
+ readonly Skeleton: ComponentManifest<"Skeleton", {
441
+ readonly shape: readonly ["text", "circle", "box"];
442
+ readonly lines: "number";
443
+ readonly height: "number";
444
+ }, never, "none">;
445
+ readonly Spinner: ComponentManifest<"Spinner", {
446
+ readonly size: readonly ["small", "medium", "large"];
447
+ }, never, "none">;
448
+ readonly Switch: ComponentManifest<"Switch", {
449
+ readonly checked: "boolean";
450
+ readonly label: "string";
451
+ readonly disabled: "boolean";
452
+ }, "change", "none">;
453
+ readonly Tab: ComponentManifest<"Tab", {
454
+ readonly value: "string";
455
+ readonly label: "string";
456
+ readonly badge: "number";
457
+ }, never, "none">;
458
+ readonly Tabs: ComponentManifest<"Tabs", {
459
+ readonly value: "string";
460
+ readonly variant: readonly ["underline", "segmented"];
461
+ }, "change", "elements">;
113
462
  readonly Text: ComponentManifest<"Text", {
114
463
  readonly variant: readonly ["title", "body", "caption"];
464
+ readonly tone: readonly ["default", "muted", "info", "success", "warning", "danger"];
465
+ readonly weight: readonly ["regular", "medium", "bold"];
466
+ readonly align: readonly ["start", "center", "end"];
467
+ readonly maxLines: "number";
115
468
  }, never, "text">;
469
+ readonly TextArea: ComponentManifest<"TextArea", {
470
+ readonly value: "string";
471
+ readonly placeholder: "string";
472
+ readonly label: "string";
473
+ readonly hint: "string";
474
+ readonly error: "string";
475
+ readonly rows: "number";
476
+ readonly maxLength: "number";
477
+ readonly disabled: "boolean";
478
+ }, "change", "none">;
479
+ readonly Toast: ComponentManifest<"Toast", {
480
+ readonly message: "string";
481
+ readonly tone: readonly ["default", "info", "success", "warning", "danger"];
482
+ readonly duration: "number";
483
+ }, "hide", "none">;
116
484
  readonly View: ComponentManifest<"View", {
117
- readonly direction: readonly ["column", "row"];
118
485
  readonly gap: readonly ["none", "small", "medium", "large"];
486
+ readonly direction: readonly ["column", "row"];
119
487
  readonly align: readonly ["stretch", "start", "center", "end"];
488
+ readonly justify: readonly ["start", "center", "end", "between"];
489
+ readonly wrap: "boolean";
490
+ readonly grow: "boolean";
491
+ readonly padding: readonly ["none", "small", "medium", "large"];
492
+ readonly paddingTop: readonly ["none", "small", "medium", "large"];
493
+ readonly paddingStart: readonly ["none", "small", "medium", "large"];
494
+ readonly paddingEnd: readonly ["none", "small", "medium", "large"];
495
+ readonly paddingBottom: readonly ["none", "small", "medium", "large"];
120
496
  readonly variant: readonly ["plain", "card"];
121
497
  }, "tap", "elements">;
122
498
  };
@@ -172,6 +548,29 @@ export declare function connectHost(caller: HostCaller | null): void;
172
548
  export declare function callHost<Result>(method: string, params: unknown, options?: HostCallOptions): HostRequest<Result>;
173
549
  export declare function createHostRequest<Result>(promise: Promise<Result>, cancel?: () => void): HostRequest<Result>;
174
550
  //#endregion
551
+ //#region src/page/bars.d.ts
552
+ interface NavigationBarOptions {
553
+ title?: string | undefined;
554
+ hidden?: boolean | undefined;
555
+ backgroundColor?: string | undefined;
556
+ textColor?: string | undefined;
557
+ }
558
+ interface TabBarOptions {
559
+ hidden?: boolean | undefined;
560
+ }
561
+ interface PageConfigs {
562
+ navigationBar?: NavigationBarOptions | undefined;
563
+ tabBar?: TabBarOptions | undefined;
564
+ }
565
+ interface PageBars {
566
+ navigationBar: NavigationBarOptions;
567
+ tabBar: TabBarOptions;
568
+ }
569
+ export declare function checkNavigationBar(options: NavigationBarOptions): void;
570
+ export declare function checkTabBar(options: TabBarOptions): void;
571
+ export declare function checkConfigs(configs: PageConfigs): void;
572
+ export declare function mergeConfigs(...configs: (PageConfigs | undefined)[]): PageBars;
573
+ //#endregion
175
574
  //#region src/page/navigation.d.ts
176
575
  export declare const MAX_STACK_DEPTH = 8;
177
576
  export declare function isPageId(value: string): boolean;
@@ -254,6 +653,9 @@ interface LogicLayerMessages {
254
653
  hostCancel: {
255
654
  id: number;
256
655
  };
656
+ pageBars: {
657
+ instanceId: number;
658
+ } & PageBars;
257
659
  }
258
660
  interface HostLayerMessages {
259
661
  syncStack: {
@@ -291,10 +693,11 @@ interface RenderContext<Node> {
291
693
  */
292
694
  readonly h: (type: string, props: Record<string, unknown> | null, ...children: (Node | string)[]) => Node;
293
695
  /**
294
- * Returns a stable event callback that forwards UI events
295
- * to the named handler defined in `controller.ts`.
696
+ * Returns an event callback that forwards UI events to the named handler defined in
697
+ * `controller.ts`, with `data` from the component's `data-*` attributes. Without data, the
698
+ * callback is the same object on every render.
296
699
  */
297
- readonly on: (handler: string) => (event: DotEvent) => void;
700
+ readonly on: (handler: string, data?: Readonly<Record<string, unknown>>) => (event: DotEvent) => void;
298
701
  /**
299
702
  * Converts a bound value to the text to display.
300
703
  */
@@ -308,9 +711,9 @@ interface RenderContext<Node> {
308
711
  }
309
712
  /**
310
713
  * The export of a compiled view file: a pure function of the page state that imports no renderer
311
- * code, so any renderer can run it.
714
+ * code, so any renderer can run it. It returns the page's root element, which is always a `<View>`.
312
715
  */
313
- type ViewRender = <Node>(state: PageState, context: RenderContext<Node>) => Node[];
716
+ type ViewRender = <Node>(state: PageState, context: RenderContext<Node>) => Node;
314
717
  //#endregion
315
718
  //#region src/view/values.d.ts
316
719
  export declare function toText(value: unknown): string;
@@ -379,6 +782,18 @@ export declare const PERMISSIONS: readonly ["account"];
379
782
  type DotPermission = (typeof PERMISSIONS)[number];
380
783
  export declare function isPermission(value: string): value is DotPermission;
381
784
  //#endregion
785
+ //#region src/host/files.d.ts
786
+ export declare const DOT_FILE_PATH_MAX_LENGTH = 512;
787
+ export declare function dotFilePathProblem(path: string, { allowRoot }?: {
788
+ allowRoot?: boolean | undefined;
789
+ }): string | null;
790
+ //#endregion
791
+ //#region src/host/network.d.ts
792
+ export declare const NETWORK_HOST_PATTERN: RegExp;
793
+ export declare const NETWORK_HOST_MAX_LENGTH = 253;
794
+ export declare function isNetworkHost(value: string): boolean;
795
+ export declare function allowsHost(hosts: readonly string[], host: string): boolean;
796
+ //#endregion
382
797
  //#region src/host/react.d.ts
383
798
  export declare const REACT_HOST_PATH = "/__dot/react/";
384
799
  export declare const REACT_HOST_MODULES: {
@@ -423,5 +838,5 @@ export declare class MessageChannel<Outgoing extends MessageMap, Incoming extend
423
838
  listen(onError: (error: unknown, message: Envelope) => void): () => void;
424
839
  }
425
840
  //#endregion
426
- export type { AppState, BuiltinComponents, ChildrenType, ColorScheme, ComponentManifest, ComponentRegistry, DotEvent, DotHooks, DotPermission, Envelope, EventProp, HostCallOptions, HostCaller, HostErrorCode, HostLayerMessages, HostRequest, HostResult, LogicLayerMessages, MessageHandler, MessageMap, MessageType, Navigation, PageHooks, PageLaunchOptions, PageState, PropType, PropTypes, PropValue, PropsOf, RenderContext, SchemeColor, SourceLocation, StackEntry, SystemContext, Theme, ThemeColors, Transport, TransportAdapter, UILayerMessages, ViewRender };
841
+ export type { AppState, BuiltinComponents, ChildrenType, ColorScheme, ComponentManifest, ComponentRegistry, DotEvent, DotHooks, DotPermission, Envelope, EventProp, HostCallOptions, HostCaller, HostErrorCode, HostLayerMessages, HostRequest, HostResult, IconName, LogicLayerMessages, MessageHandler, MessageMap, MessageType, Navigation, NavigationBarOptions, PageBars, PageConfigs, PageHooks, PageLaunchOptions, PageState, PropType, PropTypes, PropValue, PropsOf, RenderContext, SchemeColor, SourceLocation, StackEntry, SystemContext, TabBarOptions, Theme, ThemeColors, Transport, TransportAdapter, UILayerMessages, ViewRender };
427
842
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/event/core.ts","../src/view/component.ts","../src/view/components/button.ts","../src/view/components/image.ts","../src/view/components/input.ts","../src/view/components/text.ts","../src/view/components/view.ts","../src/view/components/index.ts","../src/theme/theme.ts","../src/host/context.ts","../src/host/calls.ts","../src/page/navigation.ts","../src/protocol/core.ts","../src/view/renderer.ts","../src/view/values.ts","../src/source/location.ts","../src/source/error.ts","../src/event/emitter.ts","../src/protocol/transport.ts","../src/host/host.ts","../src/host/permissions.ts","../src/host/react.ts","../src/page/lifecycle.ts","../src/page/state.ts","../src/version/semantic-version.ts","../src/messageChannel.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/event/core.ts","../src/view/component.ts","../src/view/components/amount-input.ts","../src/view/components/button.ts","../src/view/components/carousel.ts","../src/view/components/chip.ts","../src/view/components/code-input.ts","../src/view/components/divider.ts","../src/view/components/empty-state.ts","../src/view/components/feedback.ts","../src/view/components/footer.ts","../src/view/components/grid.ts","../src/view/components/icon.ts","../src/view/components/image.ts","../src/view/components/input.ts","../src/view/components/list.ts","../src/view/components/overlays.ts","../src/view/components/qr-code.ts","../src/view/components/select.ts","../src/view/components/skeleton.ts","../src/view/components/tabs.ts","../src/view/components/text.ts","../src/view/components/text-area.ts","../src/view/components/toggles.ts","../src/view/components/view.ts","../src/view/components/options.ts","../src/view/components/index.ts","../src/theme/theme.ts","../src/host/context.ts","../src/host/calls.ts","../src/page/bars.ts","../src/page/navigation.ts","../src/protocol/core.ts","../src/view/renderer.ts","../src/view/values.ts","../src/source/location.ts","../src/source/error.ts","../src/event/emitter.ts","../src/protocol/transport.ts","../src/host/host.ts","../src/host/permissions.ts","../src/host/files.ts","../src/host/network.ts","../src/host/react.ts","../src/page/lifecycle.ts","../src/page/state.ts","../src/version/semantic-version.ts","../src/messageChannel.ts"],"mappings":"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"}