@ng-native/expo 0.0.1 → 0.1.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 (156) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +413 -1
  3. package/dist/app-info.d.ts +58 -0
  4. package/dist/app-info.js +71 -0
  5. package/dist/app-info.js.map +1 -0
  6. package/dist/apple-sign-in-button.d.ts +16 -0
  7. package/dist/apple-sign-in-button.js +55 -0
  8. package/dist/apple-sign-in-button.js.map +1 -0
  9. package/dist/apple-sign-in.d.ts +68 -0
  10. package/dist/apple-sign-in.js +120 -0
  11. package/dist/apple-sign-in.js.map +1 -0
  12. package/dist/assets.d.ts +24 -0
  13. package/dist/assets.js +47 -0
  14. package/dist/assets.js.map +1 -0
  15. package/dist/background-task.d.ts +66 -0
  16. package/dist/background-task.js +82 -0
  17. package/dist/background-task.js.map +1 -0
  18. package/dist/battery.d.ts +46 -0
  19. package/dist/battery.js +76 -0
  20. package/dist/battery.js.map +1 -0
  21. package/dist/biometrics.d.ts +45 -0
  22. package/dist/biometrics.js +53 -0
  23. package/dist/biometrics.js.map +1 -0
  24. package/dist/brightness.d.ts +38 -0
  25. package/dist/brightness.js +81 -0
  26. package/dist/brightness.js.map +1 -0
  27. package/dist/browser.d.ts +42 -0
  28. package/dist/browser.js +42 -0
  29. package/dist/browser.js.map +1 -0
  30. package/dist/camera.d.ts +48 -0
  31. package/dist/camera.js +59 -0
  32. package/dist/camera.js.map +1 -0
  33. package/dist/clipboard.d.ts +43 -0
  34. package/dist/clipboard.js +60 -0
  35. package/dist/clipboard.js.map +1 -0
  36. package/dist/community-views.d.ts +14 -0
  37. package/dist/community-views.js +76 -0
  38. package/dist/community-views.js.map +1 -0
  39. package/dist/crypto.d.ts +56 -0
  40. package/dist/crypto.js +84 -0
  41. package/dist/crypto.js.map +1 -0
  42. package/dist/database.d.ts +47 -0
  43. package/dist/database.js +108 -0
  44. package/dist/database.js.map +1 -0
  45. package/dist/document-picker.d.ts +34 -0
  46. package/dist/document-picker.js +40 -0
  47. package/dist/document-picker.js.map +1 -0
  48. package/dist/dom-component.d.ts +87 -0
  49. package/dist/dom-component.js +139 -0
  50. package/dist/dom-component.js.map +1 -0
  51. package/dist/expo-image.d.ts +33 -0
  52. package/dist/expo-image.js +57 -0
  53. package/dist/expo-image.js.map +1 -0
  54. package/dist/expo-ui-components.d.ts +327 -0
  55. package/dist/expo-ui-components.js +707 -0
  56. package/dist/expo-ui-components.js.map +1 -0
  57. package/dist/expo-ui.d.ts +46 -0
  58. package/dist/expo-ui.js +128 -0
  59. package/dist/expo-ui.js.map +1 -0
  60. package/dist/file-system.d.ts +63 -0
  61. package/dist/file-system.js +67 -0
  62. package/dist/file-system.js.map +1 -0
  63. package/dist/fonts.d.ts +90 -0
  64. package/dist/fonts.js +118 -0
  65. package/dist/fonts.js.map +1 -0
  66. package/dist/glass.d.ts +33 -0
  67. package/dist/glass.js +72 -0
  68. package/dist/glass.js.map +1 -0
  69. package/dist/haptics.d.ts +49 -0
  70. package/dist/haptics.js +64 -0
  71. package/dist/haptics.js.map +1 -0
  72. package/dist/image-editor.d.ts +62 -0
  73. package/dist/image-editor.js +101 -0
  74. package/dist/image-editor.js.map +1 -0
  75. package/dist/image-picker.d.ts +49 -0
  76. package/dist/image-picker.js +58 -0
  77. package/dist/image-picker.js.map +1 -0
  78. package/dist/index.d.ts +20 -0
  79. package/dist/index.js +21 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/keep-awake.d.ts +39 -0
  82. package/dist/keep-awake.js +80 -0
  83. package/dist/keep-awake.js.map +1 -0
  84. package/dist/language-model.d.ts +129 -0
  85. package/dist/language-model.js +225 -0
  86. package/dist/language-model.js.map +1 -0
  87. package/dist/locale.d.ts +51 -0
  88. package/dist/locale.js +78 -0
  89. package/dist/locale.js.map +1 -0
  90. package/dist/location.d.ts +68 -0
  91. package/dist/location.js +83 -0
  92. package/dist/location.js.map +1 -0
  93. package/dist/map-view.d.ts +203 -0
  94. package/dist/map-view.js +184 -0
  95. package/dist/map-view.js.map +1 -0
  96. package/dist/media-library.d.ts +103 -0
  97. package/dist/media-library.js +160 -0
  98. package/dist/media-library.js.map +1 -0
  99. package/dist/native-state.d.ts +22 -0
  100. package/dist/native-state.js +43 -0
  101. package/dist/native-state.js.map +1 -0
  102. package/dist/native.d.ts +42 -0
  103. package/dist/native.js +73 -0
  104. package/dist/native.js.map +1 -0
  105. package/dist/network.d.ts +35 -0
  106. package/dist/network.js +60 -0
  107. package/dist/network.js.map +1 -0
  108. package/dist/notifications.d.ts +175 -0
  109. package/dist/notifications.js +296 -0
  110. package/dist/notifications.js.map +1 -0
  111. package/dist/observed.d.ts +37 -0
  112. package/dist/observed.js +55 -0
  113. package/dist/observed.js.map +1 -0
  114. package/dist/orientation.d.ts +35 -0
  115. package/dist/orientation.js +78 -0
  116. package/dist/orientation.js.map +1 -0
  117. package/dist/permissions.d.ts +54 -0
  118. package/dist/permissions.js +72 -0
  119. package/dist/permissions.js.map +1 -0
  120. package/dist/player.d.ts +92 -0
  121. package/dist/player.js +141 -0
  122. package/dist/player.js.map +1 -0
  123. package/dist/register-expo-view.d.ts +55 -0
  124. package/dist/register-expo-view.js +110 -0
  125. package/dist/register-expo-view.js.map +1 -0
  126. package/dist/screen-capture.d.ts +58 -0
  127. package/dist/screen-capture.js +78 -0
  128. package/dist/screen-capture.js.map +1 -0
  129. package/dist/segmented-control.d.ts +32 -0
  130. package/dist/segmented-control.js +55 -0
  131. package/dist/segmented-control.js.map +1 -0
  132. package/dist/sensors.d.ts +85 -0
  133. package/dist/sensors.js +115 -0
  134. package/dist/sensors.js.map +1 -0
  135. package/dist/splash-screen.d.ts +73 -0
  136. package/dist/splash-screen.js +115 -0
  137. package/dist/splash-screen.js.map +1 -0
  138. package/dist/store-review.d.ts +43 -0
  139. package/dist/store-review.js +52 -0
  140. package/dist/store-review.js.map +1 -0
  141. package/dist/store.d.ts +108 -0
  142. package/dist/store.js +247 -0
  143. package/dist/store.js.map +1 -0
  144. package/dist/symbol.d.ts +36 -0
  145. package/dist/symbol.js +69 -0
  146. package/dist/symbol.js.map +1 -0
  147. package/dist/tracking.d.ts +45 -0
  148. package/dist/tracking.js +54 -0
  149. package/dist/tracking.js.map +1 -0
  150. package/dist/transforms.d.ts +2 -0
  151. package/dist/transforms.js +13 -0
  152. package/dist/transforms.js.map +1 -0
  153. package/dist/updates.d.ts +61 -0
  154. package/dist/updates.js +97 -0
  155. package/dist/updates.js.map +1 -0
  156. package/package.json +397 -3
@@ -0,0 +1,327 @@
1
+ import type { NativeState } from './native-state.ts';
2
+ import { type NativeSyntheticEvent } from '@ng-native/fabric';
3
+ import * as i0 from "@angular/core";
4
+ /** One SwiftUI modifier, as `@expo/ui`'s modifier functions build them: `{ $type: 'frame', ... }`. */
5
+ export interface UiModifier {
6
+ readonly $type: string;
7
+ readonly [key: string]: unknown;
8
+ }
9
+ /**
10
+ * The bridge from Yoga's layout to SwiftUI's; every other `ui-*` view goes inside one.
11
+ * `matchContents` sizes the host to the SwiftUI content rather than the other way round, on both
12
+ * axes or on the ones named. Native reads a flag per axis, which is what this splits it into, as
13
+ * `@expo/ui`'s own `Host` does: without them the host has no size of its own, and the control
14
+ * drawn in it spills outside it, where it can be seen but not touched or read by VoiceOver.
15
+ */
16
+ export declare class UiHost {
17
+ readonly matchContents: import("@angular/core").InputSignal<boolean | {
18
+ readonly vertical?: boolean;
19
+ readonly horizontal?: boolean;
20
+ } | undefined>;
21
+ protected readonly matchVertical: import("@angular/core").Signal<boolean | undefined>;
22
+ protected readonly matchHorizontal: import("@angular/core").Signal<boolean | undefined>;
23
+ readonly ignoreSafeArea: import("@angular/core").InputSignal<"all" | "keyboard" | "container" | undefined>;
24
+ readonly useViewportSizeMeasurement: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiHost, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiHost, "ui-host", never, { "matchContents": { "alias": "matchContents"; "required": false; "isSignal": true; }; "ignoreSafeArea": { "alias": "ignoreSafeArea"; "required": false; "isSignal": true; }; "useViewportSizeMeasurement": { "alias": "useViewportSizeMeasurement"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
27
+ }
28
+ /** A SwiftUI `Menu`. Its trigger is the `label` or a `<ui-slot name="label">`; its items are children. */
29
+ export declare class UiMenu {
30
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
31
+ /** An SF Symbol name. */
32
+ readonly systemImage: import("@angular/core").InputSignal<string | undefined>;
33
+ readonly accessibilityLabel: import("@angular/core").InputSignal<string | undefined>;
34
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiMenu, never>;
36
+ 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>;
37
+ }
38
+ /** A SwiftUI `Button`, as a menu item or on its own. */
39
+ export declare class UiButton {
40
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
41
+ /** An SF Symbol name. */
42
+ readonly systemImage: import("@angular/core").InputSignal<string | undefined>;
43
+ readonly role: import("@angular/core").InputSignal<"default" | "cancel" | "destructive" | undefined>;
44
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
45
+ readonly buttonPress: import("@angular/core").OutputEmitterRef<NativeSyntheticEvent<Record<string, never>>>;
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiButton, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiButton, "ui-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "systemImage": { "alias": "systemImage"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, { "buttonPress": "buttonPress"; }, never, ["*"], true, never>;
48
+ }
49
+ /** A SwiftUI `Divider`: a separator between groups of menu items. */
50
+ export declare class UiDivider {
51
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiDivider, never>;
53
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiDivider, "ui-divider", never, { "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
54
+ }
55
+ /**
56
+ * Content for a named slot of its parent view, such as a menu's `label`. `extraProps` is what
57
+ * the slot tells its parent about itself: a `ui-swipe-actions` group's `edge` and
58
+ * `allowsFullSwipe`.
59
+ */
60
+ export declare class UiSlot {
61
+ readonly name: import("@angular/core").InputSignal<string>;
62
+ readonly extraProps: import("@angular/core").InputSignal<Readonly<Record<string, unknown>> | undefined>;
63
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiSlot, never>;
64
+ 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>;
65
+ }
66
+ /**
67
+ * A SwiftUI `List`: rows as SwiftUI lays them out, which is what lets a row take the system's own
68
+ * swipe actions through `ui-swipe-actions`.
69
+ */
70
+ export declare class UiList {
71
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
72
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiList, never>;
73
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiList, "ui-list", never, { "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
74
+ }
75
+ /**
76
+ * The system's swipe actions on a list row, iOS only. The first child is the row; the actions go
77
+ * in `<ui-slot name="actions" [extraProps]="{ edge: 'trailing', allowsFullSwipe: true }">`, one
78
+ * slot per edge, as `ui-button`s.
79
+ */
80
+ export declare class UiSwipeActions {
81
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
82
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiSwipeActions, never>;
83
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiSwipeActions, "ui-swipe-actions", never, { "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
84
+ }
85
+ /** What `ui-slider` sends as the thumb moves: its new value. */
86
+ export type UiSliderChangeEvent = NativeSyntheticEvent<{
87
+ readonly value: number;
88
+ }>;
89
+ /**
90
+ * A SwiftUI `Slider`, iOS only. `valueChanged` reports each new value as the thumb moves; note the
91
+ * d, which the native event has and `@expo/ui`'s React prop does not.
92
+ */
93
+ export declare class UiSlider {
94
+ readonly value: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
95
+ readonly min: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
96
+ readonly max: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
97
+ /** How many steps the range is divided into; none moves the thumb continuously. */
98
+ readonly steps: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
99
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
100
+ readonly valueChanged: import("@angular/core").OutputEmitterRef<UiSliderChangeEvent>;
101
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiSlider, never>;
102
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiSlider, "ui-slider", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, { "valueChanged": "valueChanged"; }, never, never, true, never>;
103
+ }
104
+ /** A SwiftUI `VStack`. */
105
+ export declare class UiVStack {
106
+ readonly alignment: import("@angular/core").InputSignal<"leading" | "center" | "trailing" | undefined>;
107
+ readonly spacing: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
108
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
109
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiVStack, never>;
110
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiVStack, "ui-vstack", never, { "alignment": { "alias": "alignment"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
111
+ }
112
+ /** A SwiftUI `Image`: an SF Symbol by `systemName`, or a picture by `uiImage` URL. */
113
+ export declare class UiImage {
114
+ readonly systemName: import("@angular/core").InputSignal<string | undefined>;
115
+ readonly uiImage: import("@angular/core").InputSignal<string | undefined>;
116
+ readonly size: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
117
+ readonly color: import("@angular/core").InputSignal<string | undefined>;
118
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
119
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiImage, never>;
120
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiImage, "ui-image", never, { "systemName": { "alias": "systemName"; "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>;
121
+ }
122
+ /** A SwiftUI `Text`. */
123
+ export declare class UiText {
124
+ readonly text: import("@angular/core").InputSignal<string | undefined>;
125
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
126
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiText, never>;
127
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiText, "ui-text", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
128
+ }
129
+ /**
130
+ * What `ui-date-picker` sends when the user picks: the chosen moment, which SwiftUI reports in
131
+ * milliseconds since the epoch.
132
+ */
133
+ export type UiDateChangeEvent = NativeSyntheticEvent<{
134
+ readonly date: number | string;
135
+ }>;
136
+ /**
137
+ * A date picker: SwiftUI's `DatePicker` on iOS, Compose's on Android.
138
+ *
139
+ * A Signal Forms field as it stands - `<ui-date-picker [formField]="f.arrival" />` - through its
140
+ * `value` model, a `Date` (or null). The two platforms take and report a date differently, and
141
+ * this is where that difference ends: SwiftUI is handed `selection` as ISO text and reports
142
+ * `dateChange`; Compose is handed `initialDate` in milliseconds and reports `dateSelected`. Either
143
+ * way the model gets a `Date`. A `disabled` field adds SwiftUI's `disabled` modifier. SwiftUI's
144
+ * picker always shows a date, today when the field is empty, and the date it reports as it appears
145
+ * is not taken as the user's; an optional date is best asked for behind a button that shows the
146
+ * picker once the user wants to give one.
147
+ *
148
+ * `selection` is still accepted as ISO text, for a picker bound without a form.
149
+ */
150
+ export declare class UiDatePicker {
151
+ readonly title: import("@angular/core").InputSignal<string | undefined>;
152
+ readonly selection: import("@angular/core").InputSignal<string | undefined>;
153
+ readonly displayedComponents: import("@angular/core").InputSignal<readonly ("date" | "hourAndMinute")[] | undefined>;
154
+ readonly range: import("@angular/core").InputSignal<{
155
+ readonly start?: string;
156
+ readonly end?: string;
157
+ } | undefined>;
158
+ readonly accessibilityLabel: import("@angular/core").InputSignal<string | undefined>;
159
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
160
+ /** The picked date: what `[formField]` binds. */
161
+ readonly value: import("@angular/core").ModelSignal<Date | null>;
162
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
163
+ /** The user picked, which is when a form shows a field's errors: a picker has no blur. */
164
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
165
+ readonly dateChange: import("@angular/core").OutputEmitterRef<UiDateChangeEvent>;
166
+ private readonly android;
167
+ protected readonly resolvedSelection: import("@angular/core").Signal<string | undefined>;
168
+ protected readonly initialDate: import("@angular/core").Signal<number | null | undefined>;
169
+ protected readonly resolvedModifiers: import("@angular/core").Signal<readonly UiModifier[] | undefined>;
170
+ /**
171
+ * SwiftUI's picker cannot be empty: it shows today, and reports that as a change the moment it
172
+ * appears. Taken as the user's choice, an empty date field would fill itself in, pass
173
+ * `required` and mark the form dirty before anyone touched it. So the first report, while the
174
+ * field is empty and the picker has only just appeared, is the picker describing itself.
175
+ */
176
+ private readonly appeared;
177
+ private settled;
178
+ constructor();
179
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiDatePicker, never>;
180
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiDatePicker, "ui-date-picker", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "displayedComponents": { "alias": "displayedComponents"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "accessibilityLabel": { "alias": "accessibilityLabel"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; "dateChange": "dateChange"; }, never, never, true, never>;
181
+ }
182
+ /** One choice in a `ui-picker`: what the field is set to, and what the user reads. */
183
+ export interface UiPickerOption {
184
+ readonly value: string | number;
185
+ readonly label: string;
186
+ }
187
+ /**
188
+ * A SwiftUI `Picker`, iOS only, as a Signal Forms field: `<ui-picker [options]="rooms"
189
+ * [formField]="f.room" />`. `options` draws the choices, each tagged with its value, which is the
190
+ * content slot and `tag` modifiers `@expo/ui` otherwise wants written out by hand; children still
191
+ * work for anything richer. `pickerStyle` is SwiftUI's (`menu`, `segmented`, `wheel`, `inline`).
192
+ */
193
+ export declare class UiPicker {
194
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
195
+ /** An SF Symbol name. */
196
+ readonly systemImage: import("@angular/core").InputSignal<string | undefined>;
197
+ readonly options: import("@angular/core").InputSignal<readonly UiPickerOption[] | undefined>;
198
+ readonly pickerStyle: import("@angular/core").InputSignal<"automatic" | "menu" | "segmented" | "wheel" | "inline" | "palette" | undefined>;
199
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
200
+ /** The chosen option's value: what `[formField]` binds. */
201
+ readonly value: import("@angular/core").ModelSignal<string | number | null>;
202
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
203
+ /** The user picked, which is when a form shows a field's errors: a picker has no blur. */
204
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
205
+ readonly selectionChange: import("@angular/core").OutputEmitterRef<NativeSyntheticEvent<{
206
+ readonly selection: string | number;
207
+ }>>;
208
+ /** Each option's `tag`, one array per value, so a pass hands native the same objects. */
209
+ protected readonly tags: import("@angular/core").Signal<Map<string | number, readonly UiModifier[]>>;
210
+ protected readonly resolvedModifiers: import("@angular/core").Signal<readonly UiModifier[] | undefined>;
211
+ constructor();
212
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiPicker, never>;
213
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiPicker, "ui-picker", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "systemImage": { "alias": "systemImage"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "pickerStyle": { "alias": "pickerStyle"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; "selectionChange": "selectionChange"; }, never, ["*"], true, never>;
214
+ }
215
+ /** What `ui-toggle` sends when it is switched: whether it is now on. */
216
+ export type UiToggleChangeEvent = NativeSyntheticEvent<{
217
+ readonly isOn: boolean;
218
+ }>;
219
+ /** A SwiftUI `Toggle`. `isOnChange` reports each flip. */
220
+ export declare class UiToggle {
221
+ readonly isOn: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
222
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
223
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
224
+ readonly isOnChange: import("@angular/core").OutputEmitterRef<UiToggleChangeEvent>;
225
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiToggle, never>;
226
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiToggle, "ui-toggle", never, { "isOn": { "alias": "isOn"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, { "isOnChange": "isOnChange"; }, never, ["*"], true, never>;
227
+ }
228
+ /** What `ui-stepper` sends as it is stepped: its new value. */
229
+ export type UiStepperChangeEvent = NativeSyntheticEvent<{
230
+ readonly value: number;
231
+ }>;
232
+ /** A SwiftUI `Stepper`, between `min` and `max` by `step`. */
233
+ export declare class UiStepper {
234
+ readonly value: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
235
+ readonly min: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
236
+ readonly max: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
237
+ readonly step: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
238
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
239
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
240
+ readonly valueChange: import("@angular/core").OutputEmitterRef<UiStepperChangeEvent>;
241
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiStepper, never>;
242
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiStepper, "ui-stepper", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, ["*"], true, never>;
243
+ }
244
+ /** What `ui-text-field` sends as it is typed into: the text so far. */
245
+ export type UiTextFieldChangeEvent = NativeSyntheticEvent<{
246
+ readonly value: string;
247
+ }>;
248
+ /**
249
+ * A SwiftUI `TextField`. `text` is where it keeps what is typed, a `nativeState('')`: the field
250
+ * writes to it on the UI thread, and `textChange` reports each change.
251
+ */
252
+ export declare class UiTextField {
253
+ readonly text: import("@angular/core").InputSignal<NativeState<string> | null | undefined>;
254
+ readonly placeholder: import("@angular/core").InputSignal<string | undefined>;
255
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
256
+ readonly textChange: import("@angular/core").OutputEmitterRef<UiTextFieldChangeEvent>;
257
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiTextField, never>;
258
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiTextField, "ui-text-field", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, { "textChange": "textChange"; }, never, never, true, never>;
259
+ }
260
+ /** What `ui-color-picker` sends when a colour is picked: the colour, as hex. */
261
+ export type UiColorChangeEvent = NativeSyntheticEvent<{
262
+ readonly value: string;
263
+ }>;
264
+ /** A SwiftUI `ColorPicker`. `selection` is a colour as hex. */
265
+ export declare class UiColorPicker {
266
+ readonly selection: import("@angular/core").InputSignal<string | undefined>;
267
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
268
+ readonly supportsOpacity: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
269
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
270
+ readonly selectionChange: import("@angular/core").OutputEmitterRef<UiColorChangeEvent>;
271
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiColorPicker, never>;
272
+ 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>;
273
+ }
274
+ /** A SwiftUI `Gauge`: `value` between `min` and `max`, drawn as `type` says. */
275
+ export declare class UiGauge {
276
+ readonly value: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
277
+ readonly min: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
278
+ readonly max: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
279
+ readonly type: import("@angular/core").InputSignal<string | undefined>;
280
+ readonly currentValueLabel: import("@angular/core").InputSignal<string | undefined>;
281
+ readonly minimumValueLabel: import("@angular/core").InputSignal<string | undefined>;
282
+ readonly maximumValueLabel: import("@angular/core").InputSignal<string | undefined>;
283
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
284
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiGauge, never>;
285
+ 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>;
286
+ }
287
+ /** A SwiftUI `ProgressView`: a bar filled to `value`, from 0 to 1, or a spinner without one. */
288
+ export declare class UiProgress {
289
+ readonly value: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
290
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
291
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiProgress, never>;
292
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiProgress, "ui-progress", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
293
+ }
294
+ /** A SwiftUI `HStack`. */
295
+ export declare class UiHStack {
296
+ readonly alignment: import("@angular/core").InputSignal<"center" | "top" | "bottom" | "firstTextBaseline" | undefined>;
297
+ readonly spacing: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
298
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
299
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiHStack, never>;
300
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiHStack, "ui-hstack", never, { "alignment": { "alias": "alignment"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
301
+ }
302
+ /** A SwiftUI `Spacer`: the room left over in its stack. */
303
+ export declare class UiSpacer {
304
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
305
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiSpacer, never>;
306
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiSpacer, "ui-spacer", never, { "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
307
+ }
308
+ /** A SwiftUI `LabeledContent`: a label, and its content beside it. */
309
+ export declare class UiLabeledContent {
310
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
311
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
312
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiLabeledContent, never>;
313
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiLabeledContent, "ui-labeled-content", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
314
+ }
315
+ /** A SwiftUI `Form`: settings-style grouped rows. */
316
+ export declare class UiForm {
317
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
318
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiForm, never>;
319
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiForm, "ui-form", never, { "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
320
+ }
321
+ /** A SwiftUI `Section` of a form or a list, under `title`. */
322
+ export declare class UiSection {
323
+ readonly title: import("@angular/core").InputSignal<string | undefined>;
324
+ readonly modifiers: import("@angular/core").InputSignal<readonly UiModifier[] | undefined>;
325
+ static ɵfac: i0.ɵɵFactoryDeclaration<UiSection, never>;
326
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiSection, "ui-section", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "modifiers": { "alias": "modifiers"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
327
+ }