@symbiote-native/angular 1.0.0 → 2.0.1
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/README.md +13 -10
- package/babel-register-composed.cjs +41 -19
- package/bin/symbiote-angular-dev.cjs +16 -4
- package/build/angular/anchor-host-registry.js +1 -17
- package/build/angular/anchor-host-registry.js.map +1 -1
- package/build/angular/change-detection-flush.d.ts +31 -0
- package/build/angular/change-detection-flush.js +110 -0
- package/build/angular/change-detection-flush.js.map +1 -0
- package/build/angular/components/activity-indicator-props.d.ts +2 -0
- package/build/angular/components/activity-indicator-props.js +2 -0
- package/build/angular/components/activity-indicator-props.js.map +1 -0
- package/build/angular/components/button-props.d.ts +2 -0
- package/build/angular/components/button-props.js +2 -0
- package/build/angular/components/button-props.js.map +1 -0
- package/build/angular/components/flat-list/index.d.ts +2 -1
- package/build/angular/components/flat-list/index.js +22 -10
- package/build/angular/components/flat-list/index.js.map +1 -1
- package/build/angular/components/image-background-props.d.ts +6 -0
- package/build/angular/components/image-background-props.js +2 -0
- package/build/angular/components/image-background-props.js.map +1 -0
- package/build/angular/components/{image/shared.d.ts → image-shared.d.ts} +1 -1
- package/build/angular/components/{image/shared.js → image-shared.js} +7 -2
- package/build/angular/components/image-shared.js.map +1 -0
- package/build/angular/components/input-accessory-view-props.d.ts +7 -0
- package/build/angular/components/input-accessory-view-props.js +9 -0
- package/build/angular/components/input-accessory-view-props.js.map +1 -0
- package/build/angular/components/keyboard-avoiding-view/index.js +11 -17
- package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
- package/build/angular/components/modal/index.d.ts +1 -0
- package/build/angular/components/modal/index.js +19 -12
- package/build/angular/components/modal/index.js.map +1 -1
- package/build/angular/components/pressable-props.d.ts +32 -0
- package/build/angular/components/pressable-props.js +11 -0
- package/build/angular/components/pressable-props.js.map +1 -0
- package/build/angular/components/refresh-control-props.d.ts +16 -0
- package/build/angular/components/refresh-control-props.js +14 -0
- package/build/angular/components/refresh-control-props.js.map +1 -0
- package/build/angular/components/safe-area-view-props.d.ts +7 -0
- package/build/angular/components/safe-area-view-props.js +11 -0
- package/build/angular/components/safe-area-view-props.js.map +1 -0
- package/build/angular/components/scroll-view-props.d.ts +76 -0
- package/build/angular/components/scroll-view-props.js +18 -0
- package/build/angular/components/scroll-view-props.js.map +1 -0
- package/build/angular/components/text-input-props.d.ts +45 -0
- package/build/angular/components/text-input-props.js +18 -0
- package/build/angular/components/text-input-props.js.map +1 -0
- package/build/angular/components/touchable-native-feedback/touchable-native-feedback-props.d.ts +6 -0
- package/build/angular/components/touchable-native-feedback/touchable-native-feedback-props.js +2 -0
- package/build/angular/components/touchable-native-feedback/touchable-native-feedback-props.js.map +1 -0
- package/build/angular/components/touchable-props.d.ts +14 -0
- package/build/angular/components/touchable-props.js +13 -0
- package/build/angular/components/touchable-props.js.map +1 -0
- package/build/angular/components/touchable-without-feedback/touchable-without-feedback-props.d.ts +3 -0
- package/build/angular/components/touchable-without-feedback/touchable-without-feedback-props.js +2 -0
- package/build/angular/components/touchable-without-feedback/touchable-without-feedback-props.js.map +1 -0
- package/build/angular/components/virtualized-list/index.d.ts +5 -1
- package/build/angular/components/virtualized-list/index.js +366 -280
- package/build/angular/components/virtualized-list/index.js.map +1 -1
- package/build/angular/components.d.ts +20 -26
- package/build/angular/components.js +12 -14
- package/build/angular/components.js.map +1 -1
- package/build/angular/create-portal/index.d.ts +2 -2
- package/build/angular/create-portal/index.js +5 -5
- package/build/angular/create-tunnel/index.js +1 -1
- package/build/angular/element-props.d.ts +53 -0
- package/build/angular/element-props.js +2 -0
- package/build/angular/element-props.js.map +1 -0
- package/build/angular/elements.d.ts +528 -0
- package/build/angular/elements.js +1444 -0
- package/build/angular/elements.js.map +1 -0
- package/build/angular/host-instance/index.js +1 -1
- package/build/angular/index.d.ts +4 -2
- package/build/angular/index.js +15 -1
- package/build/angular/index.js.map +1 -1
- package/build/angular/modules/animated/create-animated-component.d.ts +5 -6
- package/build/angular/modules/animated/create-animated-component.js +60 -73
- package/build/angular/modules/animated/create-animated-component.js.map +1 -1
- package/build/angular/modules/animated/index.js +1 -1
- package/build/angular/modules/animated/index.js.map +1 -1
- package/build/angular/modules/image/index.d.ts +3 -0
- package/build/angular/modules/image/index.js +16 -0
- package/build/angular/modules/image/index.js.map +1 -0
- package/build/angular/primitives/index.d.ts +18 -18
- package/build/angular/primitives/index.js +40 -36
- package/build/angular/primitives/index.js.map +1 -1
- package/build/angular/primitives/shared.d.ts +2 -3
- package/build/angular/primitives/shared.js +8 -53
- package/build/angular/primitives/shared.js.map +1 -1
- package/build/angular/register.d.ts +1 -1
- package/build/angular/register.js +12 -31
- package/build/angular/register.js.map +1 -1
- package/build/angular/render/index.js +3 -3
- package/build/angular/render/index.js.map +1 -1
- package/build/angular/renderer/index.js +113 -67
- package/build/angular/renderer/index.js.map +1 -1
- package/build/angular/renderer/value-change.d.ts +2 -0
- package/build/angular/renderer/value-change.js +9 -0
- package/build/angular/renderer/value-change.js.map +1 -0
- package/metro-config.cjs +54 -20
- package/metro-css-parser.cjs +2 -1
- package/package.json +5 -14
- package/src/anchor-host-registry.ts +1 -17
- package/src/change-detection-flush.ts +120 -0
- package/src/components/activity-indicator-props.ts +21 -0
- package/src/components/button-props.ts +26 -0
- package/src/components/flat-list/index.ts +12 -4
- package/src/components/image-background-props.ts +24 -0
- package/src/components/{image/shared.ts → image-shared.ts} +6 -1
- package/src/components/input-accessory-view-props.ts +21 -0
- package/src/components/keyboard-avoiding-view/index.ts +6 -9
- package/src/components/modal/index.ts +15 -7
- package/src/components/pressable-props.ts +73 -0
- package/src/components/refresh-control-props.ts +43 -0
- package/src/components/safe-area-view-props.ts +28 -0
- package/src/components/scroll-view-props.ts +109 -0
- package/src/components/text-input-props.ts +72 -0
- package/src/components/touchable-native-feedback/touchable-native-feedback-props.ts +23 -0
- package/src/components/touchable-props.ts +30 -0
- package/src/components/touchable-without-feedback/touchable-without-feedback-props.ts +21 -0
- package/src/components/virtualized-list/index.ts +239 -156
- package/src/components.ts +84 -35
- package/src/create-portal/index.ts +5 -5
- package/src/create-tunnel/index.ts +1 -1
- package/src/diagnostics.ts +1 -1
- package/src/element-props.ts +90 -0
- package/src/elements.ts +919 -0
- package/src/host-instance/index.ts +1 -1
- package/src/index.ts +52 -15
- package/src/modules/animated/create-animated-component.ts +50 -55
- package/src/modules/animated/index.ts +1 -1
- package/src/modules/image/index.ts +18 -0
- package/src/primitives/index.ts +22 -18
- package/src/primitives/shared.ts +11 -44
- package/src/register.ts +12 -40
- package/src/render/index.ts +3 -3
- package/src/renderer/index.ts +122 -73
- package/src/renderer/value-change.ts +8 -0
- package/babel-lower-host-primitives.cjs +0 -636
- package/build/angular/components/activity-indicator/index.android.d.ts +0 -13
- package/build/angular/components/activity-indicator/index.android.js +0 -29
- package/build/angular/components/activity-indicator/index.android.js.map +0 -1
- package/build/angular/components/activity-indicator/index.d.ts +0 -1
- package/build/angular/components/activity-indicator/index.ios.d.ts +0 -9
- package/build/angular/components/activity-indicator/index.ios.js +0 -26
- package/build/angular/components/activity-indicator/index.ios.js.map +0 -1
- package/build/angular/components/activity-indicator/index.js +0 -4
- package/build/angular/components/activity-indicator/index.js.map +0 -1
- package/build/angular/components/activity-indicator/shared.d.ts +0 -67
- package/build/angular/components/activity-indicator/shared.js +0 -260
- package/build/angular/components/activity-indicator/shared.js.map +0 -1
- package/build/angular/components/button.d.ts +0 -68
- package/build/angular/components/button.js +0 -360
- package/build/angular/components/button.js.map +0 -1
- package/build/angular/components/image/index.android.d.ts +0 -15
- package/build/angular/components/image/index.android.js +0 -83
- package/build/angular/components/image/index.android.js.map +0 -1
- package/build/angular/components/image/index.d.ts +0 -1
- package/build/angular/components/image/index.ios.d.ts +0 -15
- package/build/angular/components/image/index.ios.js +0 -83
- package/build/angular/components/image/index.ios.js.map +0 -1
- package/build/angular/components/image/index.js +0 -3
- package/build/angular/components/image/index.js.map +0 -1
- package/build/angular/components/image/shared.js.map +0 -1
- package/build/angular/components/image-background.d.ts +0 -85
- package/build/angular/components/image-background.js +0 -443
- package/build/angular/components/image-background.js.map +0 -1
- package/build/angular/components/input-accessory-view/index.d.ts +0 -66
- package/build/angular/components/input-accessory-view/index.js +0 -287
- package/build/angular/components/input-accessory-view/index.js.map +0 -1
- package/build/angular/components/pressable/index.d.ts +0 -134
- package/build/angular/components/pressable/index.js +0 -514
- package/build/angular/components/pressable/index.js.map +0 -1
- package/build/angular/components/refresh-control/index.d.ts +0 -91
- package/build/angular/components/refresh-control/index.js +0 -382
- package/build/angular/components/refresh-control/index.js.map +0 -1
- package/build/angular/components/safe-area-view/index.d.ts +0 -64
- package/build/angular/components/safe-area-view/index.js +0 -287
- package/build/angular/components/safe-area-view/index.js.map +0 -1
- package/build/angular/components/scroll-view/index.android.d.ts +0 -20
- package/build/angular/components/scroll-view/index.android.js +0 -262
- package/build/angular/components/scroll-view/index.android.js.map +0 -1
- package/build/angular/components/scroll-view/index.d.ts +0 -3
- package/build/angular/components/scroll-view/index.ios.d.ts +0 -8
- package/build/angular/components/scroll-view/index.ios.js +0 -92
- package/build/angular/components/scroll-view/index.ios.js.map +0 -1
- package/build/angular/components/scroll-view/index.js +0 -6
- package/build/angular/components/scroll-view/index.js.map +0 -1
- package/build/angular/components/scroll-view/projection.d.ts +0 -67
- package/build/angular/components/scroll-view/projection.js +0 -560
- package/build/angular/components/scroll-view/projection.js.map +0 -1
- package/build/angular/components/scroll-view/shared.d.ts +0 -241
- package/build/angular/components/scroll-view/shared.js +0 -848
- package/build/angular/components/scroll-view/shared.js.map +0 -1
- package/build/angular/components/scroll-view/sticky-header.d.ts +0 -40
- package/build/angular/components/scroll-view/sticky-header.js +0 -224
- package/build/angular/components/scroll-view/sticky-header.js.map +0 -1
- package/build/angular/components/switch/index.android.d.ts +0 -24
- package/build/angular/components/switch/index.android.js +0 -112
- package/build/angular/components/switch/index.android.js.map +0 -1
- package/build/angular/components/switch/index.d.ts +0 -1
- package/build/angular/components/switch/index.ios.d.ts +0 -23
- package/build/angular/components/switch/index.ios.js +0 -111
- package/build/angular/components/switch/index.ios.js.map +0 -1
- package/build/angular/components/switch/index.js +0 -4
- package/build/angular/components/switch/index.js.map +0 -1
- package/build/angular/components/switch/shared.d.ts +0 -49
- package/build/angular/components/switch/shared.js +0 -191
- package/build/angular/components/switch/shared.js.map +0 -1
- package/build/angular/components/text-input.d.ts +0 -167
- package/build/angular/components/text-input.js +0 -684
- package/build/angular/components/text-input.js.map +0 -1
- package/build/angular/components/touchable/index.d.ts +0 -283
- package/build/angular/components/touchable/index.js +0 -1453
- package/build/angular/components/touchable/index.js.map +0 -1
- package/build/angular/components/touchable-native-feedback/index.d.ts +0 -87
- package/build/angular/components/touchable-native-feedback/index.js +0 -409
- package/build/angular/components/touchable-native-feedback/index.js.map +0 -1
- package/build/angular/state-style.d.ts +0 -9
- package/build/angular/state-style.js +0 -39
- package/build/angular/state-style.js.map +0 -1
- package/metro-transformer.cjs +0 -69
- package/src/components/activity-indicator/index.android.ts +0 -23
- package/src/components/activity-indicator/index.ios.ts +0 -21
- package/src/components/activity-indicator/index.ts +0 -4
- package/src/components/activity-indicator/shared.ts +0 -225
- package/src/components/button.ts +0 -237
- package/src/components/image/index.android.ts +0 -95
- package/src/components/image/index.ios.ts +0 -95
- package/src/components/image/index.ts +0 -3
- package/src/components/image-background.ts +0 -308
- package/src/components/input-accessory-view/index.ts +0 -246
- package/src/components/pressable/index.ts +0 -522
- package/src/components/refresh-control/index.ts +0 -349
- package/src/components/safe-area-view/index.ts +0 -247
- package/src/components/scroll-view/index.android.ts +0 -205
- package/src/components/scroll-view/index.ios.ts +0 -81
- package/src/components/scroll-view/index.ts +0 -7
- package/src/components/scroll-view/projection.ts +0 -713
- package/src/components/scroll-view/shared.ts +0 -1093
- package/src/components/scroll-view/sticky-header.ts +0 -267
- package/src/components/switch/index.android.ts +0 -113
- package/src/components/switch/index.ios.ts +0 -112
- package/src/components/switch/index.ts +0 -4
- package/src/components/switch/shared.ts +0 -284
- package/src/components/text-input.ts +0 -669
- package/src/components/touchable/index.ts +0 -956
- package/src/components/touchable-native-feedback/index.ts +0 -327
- package/src/state-style.ts +0 -39
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
// The `<scroll-view>` / `<horizontal-scroll-view>` tag's prop surface — the axis is the TAG you
|
|
2
|
+
// write, not a `horizontal` binding, because Android resolves a different native class per axis.
|
|
3
|
+
//
|
|
4
|
+
// The wrapper was deleted 2026-09-11 and nothing replaced it in the adapter: the ENGINE owns the
|
|
5
|
+
// whole shape now (`core/components/src/behaviors/scroll-view/`). `buildStructure` builds the
|
|
6
|
+
// content node the children go under, `slotProps` routes `contentContainerStyle` onto it as its
|
|
7
|
+
// `style`, `payloadFold` composes the two base styles, and the sticky machinery pins by DOCUMENT
|
|
8
|
+
// ORDER through the `<sticky-header>` tag — so the Angular projection bridge that used to wrap
|
|
9
|
+
// projected children by index is gone with it, along with its renderer hooks.
|
|
10
|
+
//
|
|
11
|
+
// A `<refresh-control>` is an ordinary FIRST CHILD on both platforms; the behavior re-parents it
|
|
12
|
+
// per platform (iOS a sibling before the content, Android the swipe layout WRAPPING the scroll
|
|
13
|
+
// view), which is why the adapter no longer has an `.ios`/`.android` split here.
|
|
14
|
+
//
|
|
15
|
+
// The imperative surface comes from `buildScrollViewHandle` (`@symbiote-native/components`) over
|
|
16
|
+
// the node a template ref hands back.
|
|
17
|
+
|
|
18
|
+
import type {
|
|
19
|
+
IAccessibilityProps,
|
|
20
|
+
IAriaProps,
|
|
21
|
+
} from '@symbiote-native/components';
|
|
22
|
+
import type {
|
|
23
|
+
IStyleProp,
|
|
24
|
+
ISymbioteEvent,
|
|
25
|
+
IViewStyle,
|
|
26
|
+
} from '@symbiote-native/engine';
|
|
27
|
+
|
|
28
|
+
export type { IScrollViewHandle } from '@symbiote-native/components';
|
|
29
|
+
|
|
30
|
+
type IScrollHandler = (event: ISymbioteEvent) => void;
|
|
31
|
+
type IContentSizeHandler = (width: number, height: number) => void;
|
|
32
|
+
|
|
33
|
+
export interface IAngularScrollViewProps
|
|
34
|
+
extends IAccessibilityProps, IAriaProps {
|
|
35
|
+
style?: IStyleProp<IViewStyle>;
|
|
36
|
+
// A bare string resolves through the shared style registry, like `class` on the host node.
|
|
37
|
+
contentContainerStyle?: IStyleProp<IViewStyle> | string;
|
|
38
|
+
scrollEnabled?: boolean;
|
|
39
|
+
showsVerticalScrollIndicator?: boolean;
|
|
40
|
+
showsHorizontalScrollIndicator?: boolean;
|
|
41
|
+
pagingEnabled?: boolean;
|
|
42
|
+
bounces?: boolean;
|
|
43
|
+
decelerationRate?: 'normal' | 'fast' | number;
|
|
44
|
+
scrollEventThrottle?: number;
|
|
45
|
+
contentInset?: {
|
|
46
|
+
top?: number;
|
|
47
|
+
left?: number;
|
|
48
|
+
bottom?: number;
|
|
49
|
+
right?: number;
|
|
50
|
+
};
|
|
51
|
+
contentOffset?: { x: number; y: number };
|
|
52
|
+
removeClippedSubviews?: boolean;
|
|
53
|
+
snapToInterval?: number;
|
|
54
|
+
snapToOffsets?: number[];
|
|
55
|
+
snapToAlignment?: 'start' | 'center' | 'end';
|
|
56
|
+
snapToStart?: boolean;
|
|
57
|
+
snapToEnd?: boolean;
|
|
58
|
+
disableIntervalMomentum?: boolean;
|
|
59
|
+
// Sticky headers: RN implements stickiness PURELY IN JS — the native scroll view does not honor
|
|
60
|
+
// an index array. The engine's behavior resolves the indices against its own content children.
|
|
61
|
+
stickyHeaderIndices?: number[];
|
|
62
|
+
invertStickyHeaders?: boolean;
|
|
63
|
+
keyboardDismissMode?: 'none' | 'on-drag' | 'interactive';
|
|
64
|
+
keyboardShouldPersistTaps?: boolean | 'always' | 'never' | 'handled';
|
|
65
|
+
maintainVisibleContentPosition?: {
|
|
66
|
+
minIndexForVisible: number;
|
|
67
|
+
autoscrollToTopThreshold?: number;
|
|
68
|
+
};
|
|
69
|
+
// iOS-only forwarding props (harmless on Android: its manager ignores unknown props).
|
|
70
|
+
alwaysBounceHorizontal?: boolean;
|
|
71
|
+
alwaysBounceVertical?: boolean;
|
|
72
|
+
centerContent?: boolean;
|
|
73
|
+
scrollIndicatorInsets?: {
|
|
74
|
+
top?: number;
|
|
75
|
+
left?: number;
|
|
76
|
+
bottom?: number;
|
|
77
|
+
right?: number;
|
|
78
|
+
};
|
|
79
|
+
indicatorStyle?: 'default' | 'black' | 'white';
|
|
80
|
+
directionalLockEnabled?: boolean;
|
|
81
|
+
automaticallyAdjustKeyboardInsets?: boolean;
|
|
82
|
+
contentInsetAdjustmentBehavior?:
|
|
83
|
+
'automatic' | 'scrollableAxes' | 'never' | 'always';
|
|
84
|
+
minimumZoomScale?: number;
|
|
85
|
+
maximumZoomScale?: number;
|
|
86
|
+
zoomScale?: number;
|
|
87
|
+
bouncesZoom?: boolean;
|
|
88
|
+
pinchGestureEnabled?: boolean;
|
|
89
|
+
// Android-only forwarding props (harmless on iOS).
|
|
90
|
+
nestedScrollEnabled?: boolean;
|
|
91
|
+
overScrollMode?: 'auto' | 'always' | 'never';
|
|
92
|
+
fadingEdgeLength?: number;
|
|
93
|
+
persistentScrollbar?: boolean;
|
|
94
|
+
endFillColor?: string;
|
|
95
|
+
onLayout?: IScrollHandler;
|
|
96
|
+
onScroll?: IScrollHandler;
|
|
97
|
+
onScrollBeginDrag?: IScrollHandler;
|
|
98
|
+
onScrollEndDrag?: IScrollHandler;
|
|
99
|
+
onMomentumScrollBegin?: IScrollHandler;
|
|
100
|
+
onMomentumScrollEnd?: IScrollHandler;
|
|
101
|
+
// iOS-only: user tapped the status bar to scroll to top. Inert on Android.
|
|
102
|
+
onScrollToTop?: IScrollHandler;
|
|
103
|
+
// Synthesized in JS from the content view's onLayout (RN _handleContentOnLayout); deduped.
|
|
104
|
+
onContentSizeChange?: IContentSizeHandler;
|
|
105
|
+
onAccessibilityAction?: (event: ISymbioteEvent) => void;
|
|
106
|
+
onAccessibilityTap?: (event: ISymbioteEvent) => void;
|
|
107
|
+
onMagicTap?: (event: ISymbioteEvent) => void;
|
|
108
|
+
onAccessibilityEscape?: (event: ISymbioteEvent) => void;
|
|
109
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// The `<text-input>` / `<text-input-multiline>` tag's prop surface. The tags are matched by
|
|
2
|
+
// `TextInputElement` / `MultilineTextInputElement` (`../elements`) and carry the controlled-input
|
|
3
|
+
// machine as an engine behavior (`registerTextInputBehavior`), so the wrapper that used to run the
|
|
4
|
+
// handshake, the imperative handle and the autoFocus command in Angular was deleted 2026-09-11.
|
|
5
|
+
//
|
|
6
|
+
// Which of the two intrinsics a `<text-input multiline>` commits is the ENGINE's decision
|
|
7
|
+
// (`intrinsicWhen` on the spec entry), not a template branch — the wrapper's `@if`/`@else` over two
|
|
8
|
+
// hand-picked hosts is what that replaces.
|
|
9
|
+
//
|
|
10
|
+
// The imperative surface (`focus` / `blur` / `clear` / `isFocused` / `setSelection`) comes from the
|
|
11
|
+
// engine node itself, reached through a template ref, the same way every other adapter reaches it.
|
|
12
|
+
// `[(ngModel)]` / `formControl*` is `TextInputValueAccessor` (`../elements`), which is where the
|
|
13
|
+
// wrapper's `NG_VALUE_ACCESSOR` went.
|
|
14
|
+
//
|
|
15
|
+
// The type stays for a component forwarding a bag, and because `IAngularTextInputProps` is public
|
|
16
|
+
// API.
|
|
17
|
+
|
|
18
|
+
import type {
|
|
19
|
+
IAccessibilityProps,
|
|
20
|
+
IAriaProps,
|
|
21
|
+
IEnterKeyHint,
|
|
22
|
+
IInputMode,
|
|
23
|
+
ISubmitBehavior,
|
|
24
|
+
ITextInputEventHandler,
|
|
25
|
+
ITextInputSelection,
|
|
26
|
+
} from '@symbiote-native/components';
|
|
27
|
+
import type { IStyleProp, ITextStyle } from '@symbiote-native/engine';
|
|
28
|
+
|
|
29
|
+
export interface IAngularTextInputProps
|
|
30
|
+
extends IAccessibilityProps, IAriaProps {
|
|
31
|
+
value?: string;
|
|
32
|
+
defaultValue?: string;
|
|
33
|
+
placeholder?: string;
|
|
34
|
+
placeholderTextColor?: string;
|
|
35
|
+
editable?: boolean;
|
|
36
|
+
keyboardType?: string;
|
|
37
|
+
secureTextEntry?: boolean;
|
|
38
|
+
maxLength?: number;
|
|
39
|
+
multiline?: boolean;
|
|
40
|
+
selection?: ITextInputSelection;
|
|
41
|
+
autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';
|
|
42
|
+
autoCorrect?: boolean;
|
|
43
|
+
autoComplete?: string;
|
|
44
|
+
textContentType?: string;
|
|
45
|
+
autoFocus?: boolean;
|
|
46
|
+
showSoftInputOnFocus?: boolean;
|
|
47
|
+
returnKeyType?: string;
|
|
48
|
+
selectTextOnFocus?: boolean;
|
|
49
|
+
scrollEnabled?: boolean;
|
|
50
|
+
numberOfLines?: number;
|
|
51
|
+
textAlign?: 'left' | 'center' | 'right';
|
|
52
|
+
blurOnSubmit?: boolean;
|
|
53
|
+
inputMode?: IInputMode;
|
|
54
|
+
enterKeyHint?: IEnterKeyHint;
|
|
55
|
+
readOnly?: boolean;
|
|
56
|
+
submitBehavior?: ISubmitBehavior;
|
|
57
|
+
cursorColor?: string;
|
|
58
|
+
selectionColor?: string;
|
|
59
|
+
selectionHandleColor?: string;
|
|
60
|
+
underlineColorAndroid?: string;
|
|
61
|
+
inputAccessoryViewID?: string;
|
|
62
|
+
style?: IStyleProp<ITextStyle>;
|
|
63
|
+
onValueChange?: (text: string) => void;
|
|
64
|
+
onChange?: ITextInputEventHandler;
|
|
65
|
+
onFocus?: ITextInputEventHandler;
|
|
66
|
+
onBlur?: ITextInputEventHandler;
|
|
67
|
+
onEndEditing?: ITextInputEventHandler;
|
|
68
|
+
onSubmitEditing?: ITextInputEventHandler;
|
|
69
|
+
onKeyPress?: ITextInputEventHandler;
|
|
70
|
+
onSelectionChange?: ITextInputEventHandler;
|
|
71
|
+
onContentSizeChange?: ITextInputEventHandler;
|
|
72
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// The prop surface of `<touchable-native-feedback>`, for Angular.
|
|
2
|
+
//
|
|
3
|
+
// No component left to type — the element IS the tag, matched by `TouchableNativeFeedbackElement`
|
|
4
|
+
// (`../../elements.ts`), and RN's own TNF renders nothing (TouchableNativeFeedback.js:289,339); the
|
|
5
|
+
// engine behavior clones these props onto the single child. This stays exported because an app that
|
|
6
|
+
// wraps the tag in its own component types the bag it forwards against something.
|
|
7
|
+
//
|
|
8
|
+
// Declared here rather than shared, over the Angular Pressable INPUT surface: children arrive
|
|
9
|
+
// through content projection, not as a prop, which is the split
|
|
10
|
+
// <prop_types_split_agnostic_vs_per_adapter> describes. `style` is absent because RN's TNF declares
|
|
11
|
+
// none — the drawable is the whole visual, and a `style` on this tag would sit on a node that never
|
|
12
|
+
// commits.
|
|
13
|
+
import type { INativeFeedbackBackground } from '@symbiote-native/components';
|
|
14
|
+
|
|
15
|
+
import type { IAngularPressableInputs } from '../pressable-props';
|
|
16
|
+
|
|
17
|
+
export type IAngularTouchableNativeFeedbackProps = Omit<
|
|
18
|
+
IAngularPressableInputs,
|
|
19
|
+
'style'
|
|
20
|
+
> & {
|
|
21
|
+
background?: INativeFeedbackBackground;
|
|
22
|
+
useForeground?: boolean;
|
|
23
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// The prop surfaces of `<touchable-opacity>` and `<touchable-highlight>`, for Angular.
|
|
2
|
+
//
|
|
3
|
+
// No components left to type — the elements ARE the tags, matched by `TouchableOpacityElement` and
|
|
4
|
+
// `TouchableHighlightElement` (`../elements`), and both machines run on the engine node
|
|
5
|
+
// (`registerTouchableOpacityBehavior` / `registerTouchableHighlightBehavior`): the opacity fade is
|
|
6
|
+
// an engine-side style layer over the responder, and the underlay swap is the same `activeStyle`
|
|
7
|
+
// channel a `:active` rule uses. The wrappers that ran those in Angular were deleted 2026-09-11.
|
|
8
|
+
//
|
|
9
|
+
// Declared per-adapter over the Angular Pressable INPUT surface, since children arrive through
|
|
10
|
+
// content projection rather than as a field — the split
|
|
11
|
+
// <prop_types_split_agnostic_vs_per_adapter> describes. Mirrors React/Vue's ITouchableBaseProps.
|
|
12
|
+
|
|
13
|
+
import type { IPressTimingProps } from '@symbiote-native/components';
|
|
14
|
+
import type { IStyleProp, IViewStyle } from '@symbiote-native/engine';
|
|
15
|
+
|
|
16
|
+
import type { IAngularPressableInputs } from './pressable-props';
|
|
17
|
+
|
|
18
|
+
type IAngularTouchableBaseProps = Omit<IAngularPressableInputs, 'style'> &
|
|
19
|
+
IPressTimingProps & {
|
|
20
|
+
style?: IStyleProp<IViewStyle>;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type IAngularTouchableOpacityProps = IAngularTouchableBaseProps & {
|
|
24
|
+
activeOpacity?: number;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export type IAngularTouchableHighlightProps = IAngularTouchableBaseProps & {
|
|
28
|
+
activeOpacity?: number;
|
|
29
|
+
underlayColor?: string;
|
|
30
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// The prop surface of `<touchable-without-feedback>`, for Angular.
|
|
2
|
+
//
|
|
3
|
+
// No component left to type — the element IS the tag, matched by `TouchableWithoutFeedbackElement`
|
|
4
|
+
// (`../../elements.ts`), and RN's own TWF renders nothing (TouchableWithoutFeedback.js:229,286); the
|
|
5
|
+
// engine behavior clones these props onto the single child. This stays exported because an app that
|
|
6
|
+
// wraps the tag in its own component types the bag it forwards against something.
|
|
7
|
+
//
|
|
8
|
+
// Declared here rather than shared, over the Angular Pressable INPUT surface: children arrive
|
|
9
|
+
// through content projection, not as a prop, which is the split
|
|
10
|
+
// <prop_types_split_agnostic_vs_per_adapter> describes. `style` is absent because RN's TWF never
|
|
11
|
+
// clones it — the prop is declared upstream (:122, tagged "FIXME: not in doc") and left out of
|
|
12
|
+
// `elementProps`, so on the tag it would sit on a node that never commits.
|
|
13
|
+
import type { IPressTimingProps } from '@symbiote-native/components';
|
|
14
|
+
|
|
15
|
+
import type { IAngularPressableInputs } from '../pressable-props';
|
|
16
|
+
|
|
17
|
+
export type IAngularTouchableWithoutFeedbackProps = Omit<
|
|
18
|
+
IAngularPressableInputs,
|
|
19
|
+
'style'
|
|
20
|
+
> &
|
|
21
|
+
IPressTimingProps;
|