@ng-native/expo 0.15.0 → 0.16.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.
@@ -42,12 +42,14 @@ export interface UiModifier {
42
42
  */
43
43
  export declare class UiHost {
44
44
  protected readonly nativeView: true;
45
+ protected readonly android: boolean;
45
46
  readonly matchContents: import("@angular/core").InputSignal<boolean | {
46
47
  readonly vertical?: boolean;
47
48
  readonly horizontal?: boolean;
48
49
  } | undefined>;
49
50
  protected readonly matchVertical: Signal<boolean | undefined>;
50
51
  protected readonly matchHorizontal: Signal<boolean | undefined>;
52
+ /** The safe area SwiftUI's host ignores, iOS only: Compose's host has no such prop. */
51
53
  readonly ignoreSafeArea: import("@angular/core").InputSignal<"all" | "keyboard" | "container" | undefined>;
52
54
  readonly useViewportSizeMeasurement: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
53
55
  static ɵfac: i0.ɵɵFactoryDeclaration<UiHost, never>;
@@ -56,11 +58,14 @@ export declare class UiHost {
56
58
  /** A SwiftUI `Menu`. Its trigger is the `label` or a `<ui-slot name="label">`; its items are children. */
57
59
  export declare class UiMenu {
58
60
  protected readonly nativeView: true;
61
+ protected readonly android: boolean;
59
62
  readonly label: import("@angular/core").InputSignal<string | undefined>;
60
63
  /** An SF Symbol name. */
61
64
  readonly systemImage: import("@angular/core").InputSignal<string | undefined>;
65
+ /** What VoiceOver reads for the menu's trigger: SwiftUI's `accessibilityLabel` modifier. */
62
66
  readonly accessibilityLabel: import("@angular/core").InputSignal<string | undefined>;
63
67
  readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
68
+ protected readonly resolvedModifiers: Signal<readonly UiModifier[] | undefined>;
64
69
  static ɵfac: i0.ɵɵFactoryDeclaration<UiMenu, never>;
65
70
  static ɵcmp: i0.ɵɵComponentDeclaration<UiMenu, "ui-menu", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "systemImage": { "alias": "systemImage"; "required": false; "isSignal": true; }; "accessibilityLabel": { "alias": "accessibilityLabel"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
66
71
  }
@@ -75,6 +80,7 @@ export declare class UiMenu {
75
80
  * and no height.
76
81
  */
77
82
  export declare class UiViewHost {
83
+ protected readonly android: boolean;
78
84
  protected readonly nativeView: true;
79
85
  readonly matchContents: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
80
86
  /**
@@ -82,6 +88,7 @@ export declare class UiViewHost {
82
88
  * delivers its touches: it then takes them itself, and is measured from itself.
83
89
  */
84
90
  readonly layoutRoot: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
91
+ /** Compose's modifiers for the view host, Android only: SwiftUI's view host takes none. */
85
92
  readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
86
93
  static ɵfac: i0.ɵɵFactoryDeclaration<UiViewHost, never>;
87
94
  static ɵcmp: i0.ɵɵComponentDeclaration<UiViewHost, "ui-view-host", never, { "matchContents": { "alias": "matchContents"; "required": false; "isSignal": true; }; "layoutRoot": { "alias": "layoutRoot"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
@@ -115,7 +122,8 @@ export declare class UiButton {
115
122
  readonly role: import("@angular/core").InputSignal<"default" | "cancel" | "destructive" | "close" | undefined>;
116
123
  /**
117
124
  * In a home-screen widget's or a Live Activity's layout, what a tap on it hands the app: see
118
- * `@ng-native/expo/widget` and `@ng-native/expo/live-activity`.
125
+ * `@ng-native/expo/widget` and `@ng-native/expo/live-activity`. The layout's build reads it, so
126
+ * an app's own button is not sent it: `@expo/ui`'s button there has no target.
119
127
  */
120
128
  readonly target: import("@angular/core").InputSignal<string | undefined>;
121
129
  readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
@@ -139,6 +147,7 @@ export declare class UiSlot {
139
147
  protected readonly nativeView: true;
140
148
  protected readonly android: boolean;
141
149
  readonly name: import("@angular/core").InputSignal<string>;
150
+ /** What the slot tells its SwiftUI parent about itself, iOS only. */
142
151
  readonly extraProps: import("@angular/core").InputSignal<Readonly<Record<string, unknown>> | undefined>;
143
152
  static ɵfac: i0.ɵɵFactoryDeclaration<UiSlot, never>;
144
153
  static ɵcmp: i0.ɵɵComponentDeclaration<UiSlot, "ui-slot", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "extraProps": { "alias": "extraProps"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
@@ -213,12 +222,22 @@ export declare class UiVStack {
213
222
  */
214
223
  export declare class UiImage {
215
224
  protected readonly nativeView: true;
225
+ /** Compose's image is another control, which takes a `source`: none of these are its. */
226
+ protected readonly android: boolean;
216
227
  readonly systemName: import("@angular/core").InputSignal<string | undefined>;
217
228
  readonly assetName: import("@angular/core").InputSignal<string | undefined>;
218
229
  readonly uiImage: import("@angular/core").InputSignal<string | undefined>;
230
+ /**
231
+ * A symbol's size in points, as a `font` modifier of that size, which does not scale with
232
+ * Dynamic Type. A `font` modifier in `modifiers` wins over it. Without either, the symbol is
233
+ * SwiftUI's default size, where `@expo/ui`'s own `Image` and a widget layout draw it at 24.
234
+ */
219
235
  readonly size: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
236
+ /** A symbol's colour, as a `foregroundStyle` modifier. */
220
237
  readonly color: import("@angular/core").InputSignal<string | undefined>;
221
238
  readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
239
+ /** SwiftUI's image reads neither `size` nor `color`: `@expo/ui`'s `Image` makes them modifiers. */
240
+ protected readonly resolvedModifiers: Signal<readonly UiModifier[] | undefined>;
222
241
  static ɵfac: i0.ɵɵFactoryDeclaration<UiImage, never>;
223
242
  static ɵcmp: i0.ɵɵComponentDeclaration<UiImage, "ui-image", never, { "systemName": { "alias": "systemName"; "required": false; "isSignal": true; }; "assetName": { "alias": "assetName"; "required": false; "isSignal": true; }; "uiImage": { "alias": "uiImage"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
224
243
  }
@@ -299,7 +318,16 @@ export declare class UiDatePicker {
299
318
  protected readonly resolvedSelection: Signal<string | undefined>;
300
319
  /** SwiftUI takes a list of what to show, and Compose one word for it. */
301
320
  protected readonly resolvedComponents: Signal<"date" | "hourAndMinute" | readonly ("date" | "hourAndMinute")[] | "dateAndTime" | undefined>;
302
- protected readonly initialDate: Signal<number | null | undefined>;
321
+ protected readonly initialDate: Signal<number | null>;
322
+ /** Compose takes `range` as `selectableDates`, each end in milliseconds. */
323
+ protected readonly selectableDates: Signal<{
324
+ start: number | null;
325
+ end: number | null;
326
+ } | undefined>;
327
+ /**
328
+ * SwiftUI's picker reads `disabled` and `accessibilityLabel` as modifiers, and Compose's reads
329
+ * `accessibilityLabel` as the `semantics` modifier's `contentDescription`.
330
+ */
303
331
  protected readonly resolvedModifiers: Signal<readonly UiModifier[] | undefined>;
304
332
  /**
305
333
  * SwiftUI's picker cannot be empty: it shows today, and reports that as a change the moment it
@@ -397,6 +425,8 @@ export declare class UiPicker {
397
425
  /** Each option's `tag`, one array per value, so a pass hands native the same objects. */
398
426
  protected readonly tags: Signal<Map<string | number, readonly UiModifier[]>>;
399
427
  protected readonly android: boolean;
428
+ /** SwiftUI's picker view draws nothing without a label, and a segmented one never shows it. */
429
+ protected readonly shownLabel: Signal<string>;
400
430
  /** Whether Android's dropdown is open. */
401
431
  protected readonly open: import("@angular/core").WritableSignal<boolean>;
402
432
  /**
@@ -488,17 +518,25 @@ export declare class UiColorPicker {
488
518
  static ɵfac: i0.ɵɵFactoryDeclaration<UiColorPicker, never>;
489
519
  static ɵcmp: i0.ɵɵComponentDeclaration<UiColorPicker, "ui-color-picker", never, { "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "supportsOpacity": { "alias": "supportsOpacity"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
490
520
  }
491
- /** A SwiftUI `Gauge`: `value` between `min` and `max`, drawn as `type` says. */
521
+ /**
522
+ * A SwiftUI `Gauge`: `value` between `min` and `max`, drawn as `type` says, with its labels drawn as
523
+ * text in the slots SwiftUI reads them from, as `@expo/ui`'s `Gauge` draws them.
524
+ */
492
525
  export declare class UiGauge {
493
526
  protected readonly nativeView: true;
494
527
  readonly value: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
495
528
  readonly min: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
496
529
  readonly max: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
530
+ /**
531
+ * How it is drawn, as the `gaugeStyle` modifier: `'automatic'`, `'circular'`,
532
+ * `'circularCapacity'`, `'linear'` or `'linearCapacity'`.
533
+ */
497
534
  readonly type: import("@angular/core").InputSignal<string | undefined>;
498
535
  readonly currentValueLabel: import("@angular/core").InputSignal<string | undefined>;
499
536
  readonly minimumValueLabel: import("@angular/core").InputSignal<string | undefined>;
500
537
  readonly maximumValueLabel: import("@angular/core").InputSignal<string | undefined>;
501
538
  readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
539
+ protected readonly resolvedModifiers: Signal<readonly UiModifier[] | undefined>;
502
540
  static ɵfac: i0.ɵɵFactoryDeclaration<UiGauge, never>;
503
541
  static ɵcmp: i0.ɵɵComponentDeclaration<UiGauge, "ui-gauge", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "currentValueLabel": { "alias": "currentValueLabel"; "required": false; "isSignal": true; }; "minimumValueLabel": { "alias": "minimumValueLabel"; "required": false; "isSignal": true; }; "maximumValueLabel": { "alias": "maximumValueLabel"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
504
542
  }
@@ -698,8 +736,14 @@ export declare class UiLabel {
698
736
  readonly title: import("@angular/core").InputSignal<string | undefined>;
699
737
  /** An SF Symbol name. */
700
738
  readonly systemImage: import("@angular/core").InputSignal<string | undefined>;
739
+ /**
740
+ * The colour of the symbol alone, drawn as the label's icon in that colour, since SwiftUI's
741
+ * label takes no colour. The `foregroundStyle` modifier colours the title too.
742
+ */
701
743
  readonly color: import("@angular/core").InputSignal<string | undefined>;
702
744
  readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
745
+ /** The icon's colour, when there is a symbol to draw in it. */
746
+ protected readonly iconColor: Signal<UiModifier | undefined>;
703
747
  static ɵfac: i0.ɵɵFactoryDeclaration<UiLabel, never>;
704
748
  static ɵcmp: i0.ɵɵComponentDeclaration<UiLabel, "ui-label", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "systemImage": { "alias": "systemImage"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
705
749
  }