@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.
- package/dist/expo-ui-components.d.ts +47 -3
- package/dist/expo-ui-components.js +152 -48
- package/dist/expo-ui-components.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -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
|
|
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
|
-
/**
|
|
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
|
}
|