jsbox-cview 1.0.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 (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +19 -0
  3. package/components/alert/input-alert.ts +73 -0
  4. package/components/alert/login-alert.ts +75 -0
  5. package/components/alert/plain-alert.ts +49 -0
  6. package/components/alert/uialert.ts +110 -0
  7. package/components/artificial-flowlayout.ts +321 -0
  8. package/components/base.ts +47 -0
  9. package/components/custom-navigation-bar.ts +570 -0
  10. package/components/dialogs/dialog-sheet.ts +87 -0
  11. package/components/dialogs/form-dialog.ts +23 -0
  12. package/components/dialogs/list-dialog.ts +87 -0
  13. package/components/dialogs/text-dialog.ts +34 -0
  14. package/components/dynamic-itemsize-matrix.ts +190 -0
  15. package/components/dynamic-preference-listview.ts +691 -0
  16. package/components/dynamic-rowheight-list.ts +62 -0
  17. package/components/enhanced-imageview.ts +128 -0
  18. package/components/image-pager.ts +177 -0
  19. package/components/page-control.ts +91 -0
  20. package/components/pageviewer-titlebar.ts +170 -0
  21. package/components/pageviewer.ts +124 -0
  22. package/components/rotating-view.ts +126 -0
  23. package/components/searchbar.ts +373 -0
  24. package/components/sheet.ts +113 -0
  25. package/components/single-views.ts +828 -0
  26. package/components/spinners/loading-double-rings.ts +121 -0
  27. package/components/spinners/loading-dual-ring.ts +90 -0
  28. package/components/spinners/loading-wedges.ts +112 -0
  29. package/components/spinners/spinner-androidstyle.ts +264 -0
  30. package/components/static-preference-listview.ts +991 -0
  31. package/components/symbol-button.ts +105 -0
  32. package/components/tabbar.ts +451 -0
  33. package/controller/base-controller.ts +216 -0
  34. package/controller/controller-router.ts +74 -0
  35. package/controller/pageviewer-controller.ts +86 -0
  36. package/controller/presented-page-controller.ts +57 -0
  37. package/controller/splitview-controller.ts +323 -0
  38. package/controller/tabbar-controller.ts +99 -0
  39. package/package.json +23 -0
  40. package/test.ts +0 -0
  41. package/tsconfig.json +121 -0
  42. package/utils/colors.ts +13 -0
  43. package/utils/cvid.ts +34 -0
  44. package/utils/l10n.ts +42 -0
  45. package/utils/path.ts +100 -0
  46. package/utils/rect.ts +67 -0
  47. package/utils/uitools.ts +117 -0
@@ -0,0 +1,828 @@
1
+ /**
2
+ * 实现单个视图的定义
3
+ */
4
+
5
+ import { Base } from "./base";
6
+
7
+ export class SingleView<
8
+ T extends UiTypes.AllViewTypes,
9
+ V extends UIBaseView,
10
+ P extends UiTypes.BaseViewProps,
11
+ E extends UiTypes.BaseViewEvents<V>,
12
+ O extends UiTypes.AllViewOptions
13
+ > extends Base<V, O> {
14
+ _type: T;
15
+ _props?: P;
16
+ _layout?: (make: MASConstraintMaker, view: V) => void;
17
+ _events?: E;
18
+ _views?: UiTypes.AllViewOptions[];
19
+ _defineView: () => O;
20
+ constructor({ type, props, layout, events, views }: {
21
+ type: T;
22
+ props?: P;
23
+ layout?: (make: MASConstraintMaker, view: V) => void;
24
+ events?: E;
25
+ views?: UiTypes.AllViewOptions[];
26
+ }) {
27
+ super();
28
+ this._type = type || "view";
29
+ this._props = props;
30
+ this._layout = layout;
31
+ this._events = events;
32
+ this._views = views;
33
+ this._defineView = () => {
34
+ return {
35
+ type: this._type,
36
+ props: {
37
+ ...this._props,
38
+ id: this.id
39
+ },
40
+ layout: this._layout,
41
+ events: this._events,
42
+ views: this._views
43
+ } as O;
44
+ }
45
+ }
46
+ }
47
+
48
+ export class RootView extends SingleView<
49
+ "view",
50
+ UIView,
51
+ UiTypes.BaseViewProps,
52
+ UiTypes.BaseViewEvents<UIView>,
53
+ UiTypes.ViewOptions
54
+ > {
55
+ constructor({
56
+ layout = $layout.fill,
57
+ events,
58
+ views
59
+ }: {
60
+ layout?: (make: MASConstraintMaker, view: UIView) => void;
61
+ events?: UiTypes.BaseViewEvents<UIView>;
62
+ views?: UiTypes.AllViewOptions[];
63
+ }) {
64
+ super({
65
+ type: "view",
66
+ props: { bgcolor: $color("clear") },
67
+ layout,
68
+ events,
69
+ views
70
+ });
71
+ }
72
+ }
73
+
74
+ export class ContentView extends SingleView<
75
+ "view",
76
+ UIView,
77
+ UiTypes.BaseViewProps,
78
+ UiTypes.BaseViewEvents<UIView>,
79
+ UiTypes.ViewOptions
80
+ > {
81
+ constructor({
82
+ props,
83
+ layout = $layout.fillSafeArea,
84
+ events = {},
85
+ views
86
+ }: {
87
+ props?: UiTypes.BaseViewProps;
88
+ layout?: (make: MASConstraintMaker, view: UIView) => void;
89
+ events?: UiTypes.BaseViewEvents;
90
+ views?: UiTypes.AllViewOptions[];
91
+ }) {
92
+ super({
93
+ type: "view",
94
+ props: { bgcolor: $color("primarySurface"), ...props },
95
+ layout,
96
+ events,
97
+ views
98
+ });
99
+ }
100
+ }
101
+
102
+ /**
103
+ * 遮挡视图,使得下面的view无法操作并且整体变暗。
104
+ * 设计上此视图不单独使用,而是作为一个子视图
105
+ * events:
106
+ * - tapped 点击事件,通常用于dismiss
107
+ */
108
+ export class MaskView extends SingleView<
109
+ "view",
110
+ UIView,
111
+ UiTypes.BaseViewProps,
112
+ UiTypes.BaseViewEvents<UIView>,
113
+ UiTypes.ViewOptions
114
+ > {
115
+ constructor({
116
+ props,
117
+ layout = $layout.fill,
118
+ events,
119
+ views
120
+ }: {
121
+ props?: UiTypes.BaseViewProps;
122
+ layout?: (make: MASConstraintMaker, view: UIView) => void;
123
+ events?: UiTypes.BaseViewEvents;
124
+ views?: UiTypes.AllViewOptions[];
125
+ }) {
126
+ super({
127
+ type: "view",
128
+ props: {
129
+ bgcolor: $rgba(0, 0, 0, 0.2),
130
+ ...props,
131
+ userInteractionEnabled: true
132
+ },
133
+ layout,
134
+ events,
135
+ views
136
+ });
137
+ }
138
+ }
139
+
140
+ export class Label extends SingleView<
141
+ "label",
142
+ UILabelView,
143
+ UiTypes.LabelProps,
144
+ UiTypes.BaseViewEvents<UILabelView>,
145
+ UiTypes.LabelOptions
146
+ > {
147
+ constructor({ props, layout, events, views }: {
148
+ props?: UiTypes.LabelProps;
149
+ layout?: (make: MASConstraintMaker, view: UILabelView) => void;
150
+ events?: UiTypes.BaseViewEvents<UILabelView>;
151
+ views?: UiTypes.AllViewOptions[];
152
+ }) {
153
+ super({
154
+ type: "label",
155
+ props,
156
+ layout,
157
+ events,
158
+ views
159
+ });
160
+ }
161
+ }
162
+
163
+ export class Button extends SingleView<
164
+ "button",
165
+ UIButtonView,
166
+ UiTypes.ButtonProps,
167
+ UiTypes.BaseViewEvents<UIButtonView>,
168
+ UiTypes.ButtonOptions
169
+ > {
170
+ constructor({ props, layout, events, views }: {
171
+ props?: UiTypes.ButtonProps;
172
+ layout?: (make: MASConstraintMaker, view: UIButtonView) => void;
173
+ events?: UiTypes.BaseViewEvents<UIButtonView>;
174
+ views?: UiTypes.AllViewOptions[];
175
+ }) {
176
+ super({
177
+ type: "button",
178
+ props,
179
+ layout,
180
+ events,
181
+ views
182
+ });
183
+ }
184
+ }
185
+
186
+ export class Input extends SingleView<
187
+ "input",
188
+ UIInputView,
189
+ UiTypes.InputProps,
190
+ UiTypes.InputEvents,
191
+ UiTypes.InputOptions
192
+ > {
193
+ constructor({ props, layout, events, views }: {
194
+ props?: UiTypes.InputProps;
195
+ layout?: (make: MASConstraintMaker, view: UIInputView) => void;
196
+ events?: UiTypes.InputEvents;
197
+ views?: UiTypes.AllViewOptions[];
198
+ }) {
199
+ super({
200
+ type: "input",
201
+ props,
202
+ layout,
203
+ events,
204
+ views
205
+ });
206
+ }
207
+ }
208
+
209
+ export class Slider extends SingleView<
210
+ "slider",
211
+ UISliderView,
212
+ UiTypes.SliderProps,
213
+ UiTypes.SliderEvents,
214
+ UiTypes.SliderOptions
215
+ > {
216
+ constructor({ props, layout, events, views }: {
217
+ props?: UiTypes.SliderProps;
218
+ layout?: (make: MASConstraintMaker, view: UISliderView) => void;
219
+ events?: UiTypes.SliderEvents;
220
+ views?: UiTypes.AllViewOptions[];
221
+ }) {
222
+ super({
223
+ type: "slider",
224
+ props,
225
+ layout,
226
+ events,
227
+ views
228
+ });
229
+ }
230
+ }
231
+
232
+ export class Switch extends SingleView<
233
+ "switch",
234
+ UISwitchView,
235
+ UiTypes.SwitchProps,
236
+ UiTypes.SwitchEvents,
237
+ UiTypes.SwitchOptions
238
+ > {
239
+ constructor({ props, layout, events, views }: {
240
+ props?: UiTypes.SwitchProps;
241
+ layout?: (make: MASConstraintMaker, view: UISwitchView) => void;
242
+ events?: UiTypes.SwitchEvents;
243
+ views?: UiTypes.AllViewOptions[];
244
+ }) {
245
+ super({
246
+ type: "switch",
247
+ props,
248
+ layout,
249
+ events,
250
+ views
251
+ });
252
+ }
253
+ }
254
+
255
+ export class Spinner extends SingleView<
256
+ "spinner",
257
+ UISpinnerView,
258
+ UiTypes.SpinnerProps,
259
+ UiTypes.BaseViewEvents<UISpinnerView>,
260
+ UiTypes.SpinnerOptions
261
+ > {
262
+ constructor({ props, layout, events, views }: {
263
+ props?: UiTypes.SpinnerProps;
264
+ layout?: (make: MASConstraintMaker, view: UISpinnerView) => void;
265
+ events?: UiTypes.BaseViewEvents<UISpinnerView>;
266
+ views?: UiTypes.AllViewOptions[];
267
+ }) {
268
+ super({
269
+ type: "spinner",
270
+ props,
271
+ layout,
272
+ events,
273
+ views
274
+ });
275
+ }
276
+ }
277
+
278
+ export class Progress extends SingleView<
279
+ "progress",
280
+ UIProgressView,
281
+ UiTypes.ProgressProps,
282
+ UiTypes.BaseViewEvents<UIProgressView>,
283
+ UiTypes.ProgressOptions
284
+ > {
285
+ constructor({ props, layout, events, views }: {
286
+ props?: UiTypes.ProgressProps;
287
+ layout?: (make: MASConstraintMaker, view: UIProgressView) => void;
288
+ events?: UiTypes.BaseViewEvents<UIProgressView>;
289
+ views?: UiTypes.AllViewOptions[];
290
+ }) {
291
+ super({
292
+ type: "progress",
293
+ props,
294
+ layout,
295
+ events,
296
+ views
297
+ });
298
+ }
299
+ }
300
+
301
+ export class Gallery extends SingleView<
302
+ "gallery",
303
+ UIGalleryView,
304
+ UiTypes.GalleryProps,
305
+ UiTypes.GalleryEvents,
306
+ UiTypes.GalleryOptions
307
+ > {
308
+ constructor({ props, layout, events, views }: {
309
+ props?: UiTypes.GalleryProps;
310
+ layout?: (make: MASConstraintMaker, view: UIGalleryView) => void;
311
+ events?: UiTypes.GalleryEvents;
312
+ views?: UiTypes.AllViewOptions[];
313
+ }) {
314
+ super({
315
+ type: "gallery",
316
+ props,
317
+ layout,
318
+ events,
319
+ views
320
+ });
321
+ }
322
+ }
323
+
324
+ export class Stepper extends SingleView<
325
+ "stepper",
326
+ UIStepperView,
327
+ UiTypes.StepperProps,
328
+ UiTypes.StepperEvents,
329
+ UiTypes.StepperOptions
330
+ > {
331
+ constructor({ props, layout, events, views }: {
332
+ props?: UiTypes.StepperProps;
333
+ layout?: (make: MASConstraintMaker, view: UIStepperView) => void;
334
+ events?: UiTypes.StepperEvents;
335
+ views?: UiTypes.AllViewOptions[];
336
+ }) {
337
+ super({
338
+ type: "stepper",
339
+ props,
340
+ layout,
341
+ events,
342
+ views
343
+ });
344
+ }
345
+ }
346
+
347
+ export class Text extends SingleView<
348
+ "text",
349
+ UITextView,
350
+ UiTypes.TextProps,
351
+ UiTypes.TextEvents,
352
+ UiTypes.TextOptions
353
+ > {
354
+ constructor({ props, layout, events, views }: {
355
+ props?: UiTypes.TextProps;
356
+ layout?: (make: MASConstraintMaker, view: UITextView) => void;
357
+ events?: UiTypes.TextEvents;
358
+ views?: UiTypes.AllViewOptions[];
359
+ }) {
360
+ super({
361
+ type: "text",
362
+ props,
363
+ layout,
364
+ events,
365
+ views
366
+ });
367
+ }
368
+ }
369
+
370
+ export class Image extends SingleView<
371
+ "image",
372
+ UIImageView,
373
+ UiTypes.ImageProps,
374
+ UiTypes.BaseViewEvents<UIImageView>,
375
+ UiTypes.ImageOptions
376
+ > {
377
+ constructor({ props, layout, events, views }: {
378
+ props?: UiTypes.ImageProps;
379
+ layout?: (make: MASConstraintMaker, view: UIImageView) => void;
380
+ events?: UiTypes.BaseViewEvents<UIImageView>;
381
+ views?: UiTypes.AllViewOptions[];
382
+ }) {
383
+ super({
384
+ type: "image",
385
+ props,
386
+ layout,
387
+ events,
388
+ views
389
+ });
390
+ }
391
+ }
392
+
393
+ export class Video extends SingleView<
394
+ "video",
395
+ UIVideoView,
396
+ UiTypes.VideoProps,
397
+ UiTypes.BaseViewEvents<UIVideoView>,
398
+ UiTypes.VideoOptions
399
+ > {
400
+ constructor({ props, layout, events, views }: {
401
+ props?: UiTypes.VideoProps;
402
+ layout?: (make: MASConstraintMaker, view: UIVideoView) => void;
403
+ events?: UiTypes.BaseViewEvents<UIVideoView>;
404
+ views?: UiTypes.AllViewOptions[];
405
+ }) {
406
+ super({
407
+ type: "video",
408
+ props,
409
+ layout,
410
+ events,
411
+ views
412
+ });
413
+ }
414
+ }
415
+
416
+ export class Scroll extends SingleView<
417
+ "scroll",
418
+ UIScrollView,
419
+ UiTypes.ScrollProps,
420
+ UiTypes.ScrollEvents,
421
+ UiTypes.ScrollOptions
422
+ > {
423
+ constructor({ props, layout, events, views }: {
424
+ props?: UiTypes.ScrollProps;
425
+ layout?: (make: MASConstraintMaker, view: UIScrollView) => void;
426
+ events?: UiTypes.ScrollEvents;
427
+ views?: UiTypes.AllViewOptions[];
428
+ }) {
429
+ super({
430
+ type: "scroll",
431
+ props,
432
+ layout,
433
+ events,
434
+ views
435
+ });
436
+ }
437
+ }
438
+
439
+ export class Stack extends SingleView<
440
+ "stack",
441
+ UIStackView,
442
+ UiTypes.StackProps,
443
+ UiTypes.BaseViewEvents<UIStackView>,
444
+ UiTypes.StackOptions
445
+ > {
446
+ constructor({ props, layout, events, views }: {
447
+ props?: UiTypes.StackProps;
448
+ layout?: (make: MASConstraintMaker, view: UIStackView) => void;
449
+ events?: UiTypes.BaseViewEvents<UIStackView>;
450
+ views?: UiTypes.AllViewOptions[];
451
+ }) {
452
+ super({
453
+ type: "stack",
454
+ props,
455
+ layout,
456
+ events,
457
+ views
458
+ });
459
+ }
460
+ }
461
+
462
+ export class Tab extends SingleView<
463
+ "tab",
464
+ UITabView,
465
+ UiTypes.TabProps,
466
+ UiTypes.TabEvents,
467
+ UiTypes.TabOptions
468
+ > {
469
+ constructor({ props, layout, events, views }: {
470
+ props?: UiTypes.TabProps;
471
+ layout?: (make: MASConstraintMaker, view: UITabView) => void;
472
+ events?: UiTypes.TabEvents;
473
+ views?: UiTypes.AllViewOptions[];
474
+ }) {
475
+ super({
476
+ type: "tab",
477
+ props,
478
+ layout,
479
+ events,
480
+ views
481
+ });
482
+ }
483
+ }
484
+
485
+ export class Menu extends SingleView<
486
+ "menu",
487
+ UIMenuView,
488
+ UiTypes.MenuProps,
489
+ UiTypes.MenuEvents,
490
+ UiTypes.MenuOptions
491
+ > {
492
+ constructor({ props, layout, events, views }: {
493
+ props?: UiTypes.MenuProps;
494
+ layout?: (make: MASConstraintMaker, view: UIMenuView) => void;
495
+ events?: UiTypes.MenuEvents;
496
+ views?: UiTypes.AllViewOptions[];
497
+ }) {
498
+ super({
499
+ type: "menu",
500
+ props,
501
+ layout,
502
+ events,
503
+ views
504
+ });
505
+ }
506
+ }
507
+
508
+ export class Map extends SingleView<
509
+ "map",
510
+ UIMapView,
511
+ UiTypes.MapProps,
512
+ UiTypes.BaseViewEvents<UIMapView>,
513
+ UiTypes.MapOptions
514
+ > {
515
+ constructor({ props, layout, events, views }: {
516
+ props?: UiTypes.MapProps;
517
+ layout?: (make: MASConstraintMaker, view: UIMapView) => void;
518
+ events?: UiTypes.BaseViewEvents<UIMapView>;
519
+ views?: UiTypes.AllViewOptions[];
520
+ }) {
521
+ super({
522
+ type: "map",
523
+ props,
524
+ layout,
525
+ events,
526
+ views
527
+ });
528
+ }
529
+ }
530
+
531
+ export class Web extends SingleView<
532
+ "web",
533
+ UIWebView,
534
+ UiTypes.WebProps,
535
+ UiTypes.WebEvents,
536
+ UiTypes.WebOptions
537
+ > {
538
+ constructor({ props, layout, events, views }: {
539
+ props?: UiTypes.WebProps;
540
+ layout?: (make: MASConstraintMaker, view: UIWebView) => void;
541
+ events?: UiTypes.WebEvents;
542
+ views?: UiTypes.AllViewOptions[];
543
+ }) {
544
+ super({
545
+ type: "web",
546
+ props,
547
+ layout,
548
+ events,
549
+ views
550
+ });
551
+ }
552
+ }
553
+
554
+ export class List extends SingleView<
555
+ "list",
556
+ UIListView,
557
+ UiTypes.ListProps,
558
+ UiTypes.ListEvents,
559
+ UiTypes.ListOptions
560
+ > {
561
+ constructor({ props, layout, events, views }: {
562
+ props?: UiTypes.ListProps;
563
+ layout?: (make: MASConstraintMaker, view: UIListView) => void;
564
+ events?: UiTypes.ListEvents;
565
+ views?: UiTypes.AllViewOptions[];
566
+ }) {
567
+ super({
568
+ type: "list",
569
+ props,
570
+ layout,
571
+ events,
572
+ views
573
+ });
574
+ }
575
+ }
576
+
577
+ export class Matrix extends SingleView<
578
+ "matrix",
579
+ UIMatrixView,
580
+ UiTypes.MatrixProps,
581
+ UiTypes.MatrixEvents,
582
+ UiTypes.MatrixOptions
583
+ > {
584
+ constructor({ props, layout, events, views }: {
585
+ props?: UiTypes.MatrixProps;
586
+ layout?: (make: MASConstraintMaker, view: UIMatrixView) => void;
587
+ events?: UiTypes.MatrixEvents;
588
+ views?: UiTypes.AllViewOptions[];
589
+ }) {
590
+ super({
591
+ type: "matrix",
592
+ props,
593
+ layout,
594
+ events,
595
+ views
596
+ });
597
+ }
598
+ }
599
+
600
+ export class Blur extends SingleView<
601
+ "blur",
602
+ UIBlurView,
603
+ UiTypes.BlurProps,
604
+ UiTypes.BaseViewEvents<UIBlurView>,
605
+ UiTypes.BlurOptions
606
+ > {
607
+ constructor({ props, layout, events, views }: {
608
+ props?: UiTypes.BlurProps;
609
+ layout?: (make: MASConstraintMaker, view: UIBlurView) => void;
610
+ events?: UiTypes.BaseViewEvents<UIBlurView>;
611
+ views?: UiTypes.AllViewOptions[];
612
+ }) {
613
+ super({
614
+ type: "blur",
615
+ props,
616
+ layout,
617
+ events,
618
+ views
619
+ });
620
+ }
621
+ }
622
+
623
+ export class Gradient extends SingleView<
624
+ "gradient",
625
+ UIGradientView,
626
+ UiTypes.GradientProps,
627
+ UiTypes.BaseViewEvents<UIGradientView>,
628
+ UiTypes.GradientOptions
629
+ > {
630
+ constructor({ props, layout, events, views }: {
631
+ props?: UiTypes.GradientProps;
632
+ layout?: (make: MASConstraintMaker, view: UIGradientView) => void;
633
+ events?: UiTypes.BaseViewEvents<UIGradientView>;
634
+ views?: UiTypes.AllViewOptions[];
635
+ }) {
636
+ super({
637
+ type: "gradient",
638
+ props,
639
+ layout,
640
+ events,
641
+ views
642
+ });
643
+ }
644
+ }
645
+
646
+ export class DatePicker extends SingleView<
647
+ "date-picker",
648
+ UIDatePickerView,
649
+ UiTypes.DatePickerProps,
650
+ UiTypes.DatePickerEvents,
651
+ UiTypes.DatePickerOptions
652
+ > {
653
+ constructor({ props, layout, events, views }: {
654
+ props?: UiTypes.DatePickerProps;
655
+ layout?: (make: MASConstraintMaker, view: UIDatePickerView) => void;
656
+ events?: UiTypes.DatePickerEvents;
657
+ views?: UiTypes.AllViewOptions[];
658
+ }) {
659
+ super({
660
+ type: "date-picker",
661
+ props,
662
+ layout,
663
+ events,
664
+ views
665
+ });
666
+ }
667
+ }
668
+
669
+ export class Picker extends SingleView<
670
+ "picker",
671
+ UIPickerView,
672
+ UiTypes.PickerProps,
673
+ UiTypes.PickerEvents,
674
+ UiTypes.PickerOptions
675
+ > {
676
+ constructor({ props, layout, events, views }: {
677
+ props?: UiTypes.PickerProps;
678
+ layout?: (make: MASConstraintMaker, view: UIPickerView) => void;
679
+ events?: UiTypes.PickerEvents;
680
+ views?: UiTypes.AllViewOptions[];
681
+ }) {
682
+ super({
683
+ type: "picker",
684
+ props,
685
+ layout,
686
+ events,
687
+ views
688
+ });
689
+ }
690
+ }
691
+
692
+ export class Canvas extends SingleView<
693
+ "canvas",
694
+ UICanvasView,
695
+ UiTypes.BaseViewProps,
696
+ UiTypes.CanvasEvents,
697
+ UiTypes.CanvasOptions
698
+ > {
699
+ constructor({ props, layout, events, views }: {
700
+ props?: UiTypes.BaseViewProps;
701
+ layout?: (make: MASConstraintMaker, view: UICanvasView) => void;
702
+ events?: UiTypes.CanvasEvents;
703
+ views?: UiTypes.AllViewOptions[];
704
+ }) {
705
+ super({
706
+ type: "canvas",
707
+ props,
708
+ layout,
709
+ events,
710
+ views
711
+ });
712
+ }
713
+ }
714
+
715
+ export class Markdown extends SingleView<
716
+ "markdown",
717
+ UIMarkdownView,
718
+ UiTypes.MarkdownProps,
719
+ UiTypes.BaseViewEvents<UIMarkdownView>,
720
+ UiTypes.MarkdownOptions
721
+ > {
722
+ constructor({ props, layout, events, views }: {
723
+ props?: UiTypes.MarkdownProps;
724
+ layout?: (make: MASConstraintMaker, view: UIMarkdownView) => void;
725
+ events?: UiTypes.BaseViewEvents<UIMarkdownView>;
726
+ views?: UiTypes.AllViewOptions[];
727
+ }) {
728
+ super({
729
+ type: "markdown",
730
+ props,
731
+ layout,
732
+ events,
733
+ views
734
+ });
735
+ }
736
+ }
737
+
738
+ export class Lottie extends SingleView<
739
+ "lottie",
740
+ UILottieView,
741
+ UiTypes.LottieProps,
742
+ UiTypes.BaseViewEvents<UILottieView>,
743
+ UiTypes.LottieOptions
744
+ > {
745
+ constructor({ props, layout, events, views }: {
746
+ props?: UiTypes.LottieProps;
747
+ layout?: (make: MASConstraintMaker, view: UILottieView) => void;
748
+ events?: UiTypes.BaseViewEvents<UILottieView>;
749
+ views?: UiTypes.AllViewOptions[];
750
+ }) {
751
+ super({
752
+ type: "lottie",
753
+ props,
754
+ layout,
755
+ events,
756
+ views
757
+ });
758
+ }
759
+ }
760
+
761
+ export class Chart extends SingleView<
762
+ "chart",
763
+ UIChartView,
764
+ UiTypes.ChartProps,
765
+ UiTypes.ChartEvents,
766
+ UiTypes.ChartOptions
767
+ > {
768
+ constructor({ props, layout, events, views }: {
769
+ props?: UiTypes.ChartProps;
770
+ layout?: (make: MASConstraintMaker, view: UIChartView) => void;
771
+ events?: UiTypes.ChartEvents;
772
+ views?: UiTypes.AllViewOptions[];
773
+ }) {
774
+ super({
775
+ type: "chart",
776
+ props,
777
+ layout,
778
+ events,
779
+ views
780
+ });
781
+ }
782
+ }
783
+
784
+ export class Code extends SingleView<
785
+ "code",
786
+ UICodeView,
787
+ UiTypes.CodeProps,
788
+ UiTypes.BaseViewEvents<UICodeView>,
789
+ UiTypes.CodeOptions
790
+ > {
791
+ constructor({ props, layout, events, views }: {
792
+ props?: UiTypes.CodeProps;
793
+ layout?: (make: MASConstraintMaker, view: UICodeView) => void;
794
+ events?: UiTypes.BaseViewEvents<UICodeView>;
795
+ views?: UiTypes.AllViewOptions[];
796
+ }) {
797
+ super({
798
+ type: "code",
799
+ props,
800
+ layout,
801
+ events,
802
+ views
803
+ });
804
+ }
805
+ }
806
+
807
+ export class Runtime extends SingleView<
808
+ "runtime",
809
+ UIView,
810
+ UiTypes.RuntimeProps,
811
+ UiTypes.BaseViewEvents<UIView>,
812
+ UiTypes.RuntimeOptions
813
+ > {
814
+ constructor({ props, layout, events, views }: {
815
+ props?: UiTypes.RuntimeProps;
816
+ layout?: (make: MASConstraintMaker, view: UIView) => void;
817
+ events?: UiTypes.BaseViewEvents<UIView>;
818
+ views?: UiTypes.AllViewOptions[];
819
+ }) {
820
+ super({
821
+ type: "runtime",
822
+ props,
823
+ layout,
824
+ events,
825
+ views
826
+ });
827
+ }
828
+ }