@symbiote-native/angular 3.3.0 → 3.4.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/babel-register-composed.cjs +1 -0
- package/build/angular/accessibility-inputs.d.ts +2 -1
- package/build/angular/accessibility-inputs.js +4 -1
- package/build/angular/accessibility-inputs.js.map +1 -1
- package/build/angular/callback-host.d.ts +1 -1
- package/build/angular/callback-host.js +57 -9
- package/build/angular/callback-host.js.map +1 -1
- package/build/angular/components/flat-list/flat-list-handle.d.ts +35 -0
- package/build/angular/components/flat-list/flat-list-handle.js +48 -0
- package/build/angular/components/flat-list/flat-list-handle.js.map +1 -0
- package/build/angular/components/flat-list/flat-list-template.d.ts +1 -1
- package/build/angular/components/flat-list/flat-list-template.js +16 -0
- package/build/angular/components/flat-list/flat-list-template.js.map +1 -1
- package/build/angular/components/flat-list/index.d.ts +6 -30
- package/build/angular/components/flat-list/index.js +6 -36
- package/build/angular/components/flat-list/index.js.map +1 -1
- package/build/angular/components/image-inputs.d.ts +4 -0
- package/build/angular/components/image-inputs.js +81 -0
- package/build/angular/components/image-inputs.js.map +1 -0
- package/build/angular/components/image-props-resolve.d.ts +3 -0
- package/build/angular/components/image-props-resolve.js +133 -0
- package/build/angular/components/image-props-resolve.js.map +1 -0
- package/build/angular/components/image-shared.d.ts +8 -6
- package/build/angular/components/image-shared.js +23 -212
- package/build/angular/components/image-shared.js.map +1 -1
- package/build/angular/components/input-accessory-view-props.d.ts +4 -4
- package/build/angular/components/keyboard-avoiding-view/index.d.ts +3 -6
- package/build/angular/components/keyboard-avoiding-view/index.js +29 -56
- package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
- package/build/angular/components/layout-conformance-props.d.ts +4 -0
- package/build/angular/components/layout-conformance-props.js +2 -0
- package/build/angular/components/layout-conformance-props.js.map +1 -0
- package/build/angular/components/modal/index.d.ts +6 -5
- package/build/angular/components/modal/index.js +17 -2
- package/build/angular/components/modal/index.js.map +1 -1
- package/build/angular/components/refresh-control-props.d.ts +7 -7
- package/build/angular/components/scroll-view-props.d.ts +8 -5
- package/build/angular/components/section-list/index.d.ts +17 -8
- package/build/angular/components/section-list/index.js +37 -28
- package/build/angular/components/section-list/index.js.map +1 -1
- package/build/angular/components/touchable-props.d.ts +2 -2
- package/build/angular/components/virtualized-list/cell-renderer-context.d.ts +12 -0
- package/build/angular/components/virtualized-list/cell-renderer-context.js +16 -0
- package/build/angular/components/virtualized-list/cell-renderer-context.js.map +1 -0
- package/build/angular/components/virtualized-list/directives.d.ts +26 -6
- package/build/angular/components/virtualized-list/directives.js +59 -5
- package/build/angular/components/virtualized-list/directives.js.map +1 -1
- package/build/angular/components/virtualized-list/index.d.ts +19 -15
- package/build/angular/components/virtualized-list/index.js +91 -61
- package/build/angular/components/virtualized-list/index.js.map +1 -1
- package/build/angular/components/virtualized-list/list-bags.d.ts +5 -1
- package/build/angular/components/virtualized-list/list-bags.js +31 -19
- package/build/angular/components/virtualized-list/list-bags.js.map +1 -1
- package/build/angular/components/virtualized-list/list-effects.d.ts +2 -2
- package/build/angular/components/virtualized-list/list-effects.js +17 -27
- package/build/angular/components/virtualized-list/list-effects.js.map +1 -1
- package/build/angular/components/virtualized-list/list-handle.d.ts +4 -1
- package/build/angular/components/virtualized-list/list-handle.js +13 -3
- package/build/angular/components/virtualized-list/list-handle.js.map +1 -1
- package/build/angular/components/virtualized-list/list-inputs.d.ts +19 -5
- package/build/angular/components/virtualized-list/list-inputs.js +47 -4
- package/build/angular/components/virtualized-list/list-inputs.js.map +1 -1
- package/build/angular/components/virtualized-list/list-props.d.ts +9 -3
- package/build/angular/components/virtualized-list/list-rows.d.ts +25 -0
- package/build/angular/components/virtualized-list/list-rows.js +25 -0
- package/build/angular/components/virtualized-list/list-rows.js.map +1 -0
- package/build/angular/components/virtualized-list/list-styles.d.ts +4 -0
- package/build/angular/components/virtualized-list/list-styles.js +10 -2
- package/build/angular/components/virtualized-list/list-styles.js.map +1 -1
- package/build/angular/components/virtualized-list/list-template.d.ts +1 -1
- package/build/angular/components/virtualized-list/list-template.js +159 -73
- package/build/angular/components/virtualized-list/list-template.js.map +1 -1
- package/build/angular/components/virtualized-list/nested-scope.d.ts +6 -0
- package/build/angular/components/virtualized-list/nested-scope.js +17 -0
- package/build/angular/components/virtualized-list/nested-scope.js.map +1 -0
- package/build/angular/components/virtualized-section-list/directives.d.ts +21 -9
- package/build/angular/components/virtualized-section-list/directives.js +8 -28
- package/build/angular/components/virtualized-section-list/directives.js.map +1 -1
- package/build/angular/components/virtualized-section-list/index.d.ts +39 -60
- package/build/angular/components/virtualized-section-list/index.js +67 -33
- package/build/angular/components/virtualized-section-list/index.js.map +1 -1
- package/build/angular/components/virtualized-section-list/section-cell.d.ts +29 -0
- package/build/angular/components/virtualized-section-list/section-cell.js +82 -0
- package/build/angular/components/virtualized-section-list/section-cell.js.map +1 -0
- package/build/angular/components/virtualized-section-list/section-list-props.d.ts +56 -0
- package/build/angular/components/virtualized-section-list/section-list-props.js +3 -0
- package/build/angular/components/virtualized-section-list/section-list-props.js.map +1 -0
- package/build/angular/components/virtualized-section-list/section-list-template.d.ts +1 -1
- package/build/angular/components/virtualized-section-list/section-list-template.js +34 -26
- package/build/angular/components/virtualized-section-list/section-list-template.js.map +1 -1
- package/build/angular/components.d.ts +7 -3
- package/build/angular/components.js +2 -1
- package/build/angular/components.js.map +1 -1
- package/build/angular/element-base.d.ts +17 -1
- package/build/angular/element-base.js +33 -1
- package/build/angular/element-base.js.map +1 -1
- package/build/angular/element-props.d.ts +7 -7
- package/build/angular/element-text-input-native.d.ts +27 -0
- package/build/angular/element-text-input-native.js +52 -0
- package/build/angular/element-text-input-native.js.map +1 -0
- package/build/angular/elements-controls.d.ts +8 -2
- package/build/angular/elements-controls.js +13 -1
- package/build/angular/elements-controls.js.map +1 -1
- package/build/angular/elements-layout.d.ts +20 -3
- package/build/angular/elements-layout.js +37 -3
- package/build/angular/elements-layout.js.map +1 -1
- package/build/angular/elements-press.d.ts +10 -3
- package/build/angular/elements-press.js +13 -1
- package/build/angular/elements-press.js.map +1 -1
- package/build/angular/elements.d.ts +3 -3
- package/build/angular/elements.js +3 -2
- package/build/angular/elements.js.map +1 -1
- package/build/angular/index.d.ts +14 -7
- package/build/angular/index.js +21 -25
- package/build/angular/index.js.map +1 -1
- package/build/angular/modules/animated/create-animated-component.d.ts +1 -1
- package/build/angular/modules/animated/create-animated-component.js +1 -1
- package/build/angular/modules/animated/create-animated-component.js.map +1 -1
- package/build/angular/modules/animated/index.d.ts +54 -41
- package/build/angular/modules/animated/index.js +2 -26
- package/build/angular/modules/animated/index.js.map +1 -1
- package/build/angular/modules/app-registry/index.d.ts +3 -3
- package/build/angular/modules/app-registry/index.js +2 -2
- package/build/angular/modules/app-registry/index.js.map +1 -1
- package/build/angular/modules/status-bar/index.d.ts +9 -5
- package/build/angular/modules/status-bar/index.js +21 -10
- package/build/angular/modules/status-bar/index.js.map +1 -1
- package/build/angular/primitives/index.d.ts +4 -0
- package/build/angular/primitives/index.js +12 -0
- package/build/angular/primitives/index.js.map +1 -1
- package/build/angular/services/color-scheme.service.d.ts +1 -1
- package/package.json +6 -6
- package/src/accessibility-inputs.ts +3 -0
- package/src/callback-host.ts +56 -8
- package/src/components/flat-list/flat-list-handle.ts +64 -0
- package/src/components/flat-list/flat-list-template.ts +16 -0
- package/src/components/flat-list/index.ts +6 -48
- package/src/components/image-inputs.ts +94 -0
- package/src/components/image-props-resolve.ts +172 -0
- package/src/components/image-shared.ts +26 -291
- package/src/components/input-accessory-view-props.ts +12 -8
- package/src/components/keyboard-avoiding-view/index.ts +39 -79
- package/src/components/layout-conformance-props.ts +8 -0
- package/src/components/modal/index.ts +42 -20
- package/src/components/refresh-control-props.ts +29 -25
- package/src/components/scroll-view-props.ts +84 -76
- package/src/components/section-list/index.ts +34 -37
- package/src/components/touchable-props.ts +6 -2
- package/src/components/virtualized-list/cell-renderer-context.ts +36 -0
- package/src/components/virtualized-list/directives.ts +84 -8
- package/src/components/virtualized-list/index.ts +118 -85
- package/src/components/virtualized-list/list-bags.ts +38 -19
- package/src/components/virtualized-list/list-effects.ts +20 -32
- package/src/components/virtualized-list/list-handle.ts +17 -4
- package/src/components/virtualized-list/list-inputs.ts +47 -0
- package/src/components/virtualized-list/list-props.ts +57 -50
- package/src/components/virtualized-list/list-rows.ts +66 -0
- package/src/components/virtualized-list/list-styles.ts +30 -1
- package/src/components/virtualized-list/list-template.ts +159 -73
- package/src/components/virtualized-list/nested-scope.ts +22 -0
- package/src/components/virtualized-section-list/directives.ts +41 -40
- package/src/components/virtualized-section-list/index.ts +114 -118
- package/src/components/virtualized-section-list/section-cell.ts +109 -0
- package/src/components/virtualized-section-list/section-list-props.ts +79 -0
- package/src/components/virtualized-section-list/section-list-template.ts +34 -26
- package/src/components.ts +8 -0
- package/src/element-base.ts +17 -0
- package/src/element-props.ts +35 -33
- package/src/element-text-input-native.ts +31 -0
- package/src/elements-controls.ts +9 -1
- package/src/elements-layout.ts +27 -0
- package/src/elements-press.ts +10 -2
- package/src/elements.ts +3 -0
- package/src/index.ts +72 -22
- package/src/modules/animated/index.ts +2 -47
- package/src/modules/app-registry/index.ts +3 -1
- package/src/modules/status-bar/index.ts +24 -11
- package/src/primitives/index.ts +7 -0
- package/src/services/color-scheme.service.ts +1 -1
|
@@ -13,6 +13,7 @@ export const VIRTUALIZED_SECTION_LIST_TEMPLATE = `
|
|
|
13
13
|
[stickyHeaderIndices]="stickyHeaderIndices"
|
|
14
14
|
[extraData]="extraData"
|
|
15
15
|
[inverted]="inverted"
|
|
16
|
+
[horizontal]="horizontal"
|
|
16
17
|
[refreshing]="refreshing"
|
|
17
18
|
[progressViewOffset]="progressViewOffset"
|
|
18
19
|
[refreshRequested]="refreshRequested ?? refresh.observed"
|
|
@@ -26,25 +27,32 @@ export const VIRTUALIZED_SECTION_LIST_TEMPLATE = `
|
|
|
26
27
|
[maxToRenderPerBatch]="maxToRenderPerBatch"
|
|
27
28
|
[updateCellsBatchingPeriod]="updateCellsBatchingPeriod"
|
|
28
29
|
[windowSize]="windowSize"
|
|
30
|
+
[disableVirtualization]="disableVirtualization"
|
|
29
31
|
[maintainVisibleContentPosition]="maintainVisibleContentPosition"
|
|
30
32
|
[onScroll]="onScroll"
|
|
31
33
|
[onScrollBeginDrag]="onScrollBeginDrag"
|
|
32
34
|
[onScrollEndDrag]="onScrollEndDrag"
|
|
33
35
|
[onMomentumScrollBegin]="onMomentumScrollBegin"
|
|
34
36
|
[onMomentumScrollEnd]="onMomentumScrollEnd"
|
|
37
|
+
[onContentSizeChange]="onContentSizeChange"
|
|
35
38
|
[scrollEventThrottle]="scrollEventThrottle"
|
|
36
39
|
[keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
|
|
37
40
|
[keyboardDismissMode]="keyboardDismissMode"
|
|
38
41
|
[removeClippedSubviews]="removeClippedSubviews"
|
|
39
42
|
[nestedScrollEnabled]="nestedScrollEnabled"
|
|
43
|
+
[stickyHeaderHiddenOnScroll]="stickyHeaderHiddenOnScroll"
|
|
44
|
+
[innerViewRef]="innerViewRef"
|
|
40
45
|
[style]="resolvedStyle"
|
|
41
46
|
[contentContainerStyle]="contentContainerStyle"
|
|
47
|
+
[listHeaderComponentStyle]="listHeaderComponentStyle"
|
|
48
|
+
[listFooterComponentStyle]="listFooterComponentStyle"
|
|
49
|
+
[cellRendererTemplate]="cellRendererTpl"
|
|
42
50
|
[testID]="testID"
|
|
43
51
|
[nativeID]="nativeID"
|
|
44
52
|
${LIST_ACCESSIBILITY_FORWARD}
|
|
45
53
|
>
|
|
46
54
|
<!-- The single synthesized cell template: dispatch per flattened entry tag -->
|
|
47
|
-
<ng-template vListItem let-entry let-
|
|
55
|
+
<ng-template vListItem let-entry let-index="index">
|
|
48
56
|
@switch (entryKind(entry)) {
|
|
49
57
|
@case ('header') {
|
|
50
58
|
<ng-container
|
|
@@ -58,16 +66,32 @@ export const VIRTUALIZED_SECTION_LIST_TEMPLATE = `
|
|
|
58
66
|
[vListOutletContext]="sectionContextOf(entry)"
|
|
59
67
|
></ng-container>
|
|
60
68
|
}
|
|
61
|
-
@case ('section-separator') {
|
|
62
|
-
<ng-container
|
|
63
|
-
[vListOutlet]="sectionSeparatorDir?.templateRef"
|
|
64
|
-
></ng-container>
|
|
65
|
-
}
|
|
66
69
|
@case ('item') {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
@let plan = cellPlanOf(entry, index);
|
|
71
|
+
@if (plan !== undefined) {
|
|
72
|
+
<ng-container
|
|
73
|
+
vSectionCell
|
|
74
|
+
#cell="vSectionCell"
|
|
75
|
+
[board]="board"
|
|
76
|
+
[cellKey]="plan.cellKey"
|
|
77
|
+
[prevCellKey]="plan.prevCellKey"
|
|
78
|
+
[hasLeading]="plan.hasLeading"
|
|
79
|
+
[hasTrailing]="plan.hasTrailing"
|
|
80
|
+
>
|
|
81
|
+
<ng-container
|
|
82
|
+
[vListOutlet]="plan.first.template"
|
|
83
|
+
[vListOutletContext]="cell.contextOf(plan.first)"
|
|
84
|
+
></ng-container>
|
|
85
|
+
<ng-container
|
|
86
|
+
[vListOutlet]="plan.itemTemplate"
|
|
87
|
+
[vListOutletContext]="itemContextOf(entry, cell.separators)"
|
|
88
|
+
></ng-container>
|
|
89
|
+
<ng-container
|
|
90
|
+
[vListOutlet]="plan.second.template"
|
|
91
|
+
[vListOutletContext]="cell.contextOf(plan.second)"
|
|
92
|
+
></ng-container>
|
|
93
|
+
</ng-container>
|
|
94
|
+
}
|
|
71
95
|
}
|
|
72
96
|
}
|
|
73
97
|
</ng-template>
|
|
@@ -88,21 +112,5 @@ export const VIRTUALIZED_SECTION_LIST_TEMPLATE = `
|
|
|
88
112
|
<ng-container [vListOutlet]="listEmptyDir.templateRef"></ng-container>
|
|
89
113
|
</ng-template>
|
|
90
114
|
}
|
|
91
|
-
<!-- Item separator: unwrap each flattened entry back to its item -->
|
|
92
|
-
@if (itemSeparatorDir !== undefined) {
|
|
93
|
-
<ng-template
|
|
94
|
-
vListSeparator
|
|
95
|
-
let-highlighted
|
|
96
|
-
let-leadingItem="leadingItem"
|
|
97
|
-
let-trailingItem="trailingItem"
|
|
98
|
-
>
|
|
99
|
-
<ng-container
|
|
100
|
-
[vListOutlet]="itemSeparatorDir.templateRef"
|
|
101
|
-
[vListOutletContext]="
|
|
102
|
-
itemSeparatorContextOf(highlighted, leadingItem, trailingItem)
|
|
103
|
-
"
|
|
104
|
-
></ng-container>
|
|
105
|
-
</ng-template>
|
|
106
|
-
}
|
|
107
115
|
</VirtualizedList>
|
|
108
116
|
`;
|
package/src/components.ts
CHANGED
|
@@ -48,6 +48,8 @@ export type {
|
|
|
48
48
|
// an app's `imports: [SafeAreaView]` becomes `imports: [SafeAreaViewElement]`. Only the prop type
|
|
49
49
|
// stays.
|
|
50
50
|
export type { IAngularSafeAreaViewProps } from './components/safe-area-view-props';
|
|
51
|
+
export type { IAngularLayoutConformanceProps } from './components/layout-conformance-props';
|
|
52
|
+
export type { ILayoutConformanceMode } from '@symbiote-native/components';
|
|
51
53
|
// `Switch` is a TAG — `<switch>`, matched by `SwitchElement` — and there is nothing to import in
|
|
52
54
|
// its place. RN gives it no statics, so the name exports nothing at all now; `[(value)]` is handled
|
|
53
55
|
// by the renderer and `[(ngModel)]` by `SwitchValueAccessor` (`../elements`), which is where the
|
|
@@ -126,12 +128,16 @@ export type { IButtonProps } from './components/button-props';
|
|
|
126
128
|
export type { ICheckboxProps } from './components/checkbox-props';
|
|
127
129
|
export {
|
|
128
130
|
VirtualizedList,
|
|
131
|
+
VListCellDirective,
|
|
129
132
|
VListEmptyDirective,
|
|
130
133
|
VListFooterDirective,
|
|
131
134
|
VListHeaderDirective,
|
|
132
135
|
VListItemDirective,
|
|
136
|
+
VListOutletDirective,
|
|
133
137
|
VListSeparatorDirective,
|
|
134
138
|
} from './components/virtualized-list';
|
|
139
|
+
export { injectVirtualizedListScope } from './components/virtualized-list/nested-scope';
|
|
140
|
+
export type { IListScope } from '@symbiote-native/components';
|
|
135
141
|
export type {
|
|
136
142
|
ICellLayout,
|
|
137
143
|
ISeparatorProps,
|
|
@@ -142,6 +148,7 @@ export type {
|
|
|
142
148
|
IViewToken,
|
|
143
149
|
IVirtualizedListHandle,
|
|
144
150
|
IVirtualizedListProps,
|
|
151
|
+
IVListCellContext,
|
|
145
152
|
IVListItemContext,
|
|
146
153
|
IVListSeparatorContext,
|
|
147
154
|
} from './components/virtualized-list';
|
|
@@ -160,6 +167,7 @@ export type {
|
|
|
160
167
|
IVirtualizedSectionListProps,
|
|
161
168
|
IVSectionContext,
|
|
162
169
|
IVSectionItemContext,
|
|
170
|
+
IVSectionSeparatorContext,
|
|
163
171
|
} from './components/virtualized-section-list';
|
|
164
172
|
export { SectionList } from './components/section-list';
|
|
165
173
|
export type {
|
package/src/element-base.ts
CHANGED
|
@@ -57,6 +57,8 @@ export abstract class SymbioteElement implements OnChanges {
|
|
|
57
57
|
@Input() accessibilityState?: IElementProps['accessibilityState'];
|
|
58
58
|
@Input() accessibilityValue?: IElementProps['accessibilityValue'];
|
|
59
59
|
@Input() accessibilityActions?: IElementProps['accessibilityActions'];
|
|
60
|
+
@Input()
|
|
61
|
+
experimental_accessibilityOrder?: IElementProps['experimental_accessibilityOrder'];
|
|
60
62
|
@Input() accessibilityLabelledBy?: IElementProps['accessibilityLabelledBy'];
|
|
61
63
|
@Input()
|
|
62
64
|
importantForAccessibility?: IElementProps['importantForAccessibility'];
|
|
@@ -114,6 +116,21 @@ export abstract class SymbioteElement implements OnChanges {
|
|
|
114
116
|
@Input() onResponderTerminate?: IElementProps['onResponderTerminate'];
|
|
115
117
|
@Input()
|
|
116
118
|
onResponderTerminationRequest?: IElementProps['onResponderTerminationRequest'];
|
|
119
|
+
@Input() onTouchStart?: IElementProps['onTouchStart'];
|
|
120
|
+
@Input() onTouchStartCapture?: IElementProps['onTouchStartCapture'];
|
|
121
|
+
@Input() onTouchMove?: IElementProps['onTouchMove'];
|
|
122
|
+
@Input() onTouchMoveCapture?: IElementProps['onTouchMoveCapture'];
|
|
123
|
+
@Input() onTouchEnd?: IElementProps['onTouchEnd'];
|
|
124
|
+
@Input() onTouchEndCapture?: IElementProps['onTouchEndCapture'];
|
|
125
|
+
@Input() onTouchCancel?: IElementProps['onTouchCancel'];
|
|
126
|
+
@Input() onTouchCancelCapture?: IElementProps['onTouchCancelCapture'];
|
|
127
|
+
@Input() onFocusCapture?: IElementProps['onFocusCapture'];
|
|
128
|
+
@Input() onBlurCapture?: IElementProps['onBlurCapture'];
|
|
129
|
+
@Input() onClickCapture?: IElementProps['onClickCapture'];
|
|
130
|
+
@Input() onKeyDown?: IElementProps['onKeyDown'];
|
|
131
|
+
@Input() onKeyDownCapture?: IElementProps['onKeyDownCapture'];
|
|
132
|
+
@Input() onKeyUp?: IElementProps['onKeyUp'];
|
|
133
|
+
@Input() onKeyUpCapture?: IElementProps['onKeyUpCapture'];
|
|
117
134
|
|
|
118
135
|
@Input() pointerEvents?: IElementProps['pointerEvents'];
|
|
119
136
|
@Input() hitSlop?: IElementProps['hitSlop'];
|
package/src/element-props.ts
CHANGED
|
@@ -17,6 +17,7 @@ import type {
|
|
|
17
17
|
IPressState,
|
|
18
18
|
IRectOffset,
|
|
19
19
|
IResponderProps,
|
|
20
|
+
ITextNativeOnlyProps,
|
|
20
21
|
} from '@symbiote-native/components';
|
|
21
22
|
import type {
|
|
22
23
|
ISymbioteEvent,
|
|
@@ -38,38 +39,39 @@ export type IAngularStyleBinding<TStyle> = TStyle | string | null | undefined;
|
|
|
38
39
|
export type IElementStyleProp =
|
|
39
40
|
IStyleProp<IViewStyle> | ((state: IPressState) => IStyleProp<IViewStyle>);
|
|
40
41
|
|
|
41
|
-
export
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
42
|
+
export type IElementProps = IAccessibilityProps &
|
|
43
|
+
IAriaProps &
|
|
44
|
+
IResponderProps & {
|
|
45
|
+
/** RN's modern W3C-named alias for `nativeID`; the renderer folds it (`PROP_ALIASES`). */
|
|
46
|
+
id?: string;
|
|
47
|
+
pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only';
|
|
48
|
+
hitSlop?: IRectOffset | number;
|
|
49
|
+
focusable?: boolean;
|
|
50
|
+
collapsable?: boolean;
|
|
51
|
+
removeClippedSubviews?: boolean;
|
|
52
|
+
renderToHardwareTextureAndroid?: boolean;
|
|
53
|
+
shouldRasterizeIOS?: boolean;
|
|
54
|
+
needsOffscreenAlphaCompositing?: boolean;
|
|
55
|
+
style?: IAngularStyleBinding<IViewStyle>;
|
|
56
|
+
/**
|
|
57
|
+
* An RN StyleProp as ONE property binding: arrays, falsy entries, and the press-state callback.
|
|
58
|
+
* The callback is in the union because a subclass cannot widen an inherited property and
|
|
59
|
+
* `<pressable>`/`<touchable-*>` are the tags that take one; on every other tag the engine resolves
|
|
60
|
+
* it at `pressed: false`.
|
|
61
|
+
*/
|
|
62
|
+
styleProp?: IElementStyleProp;
|
|
63
|
+
onPress?: IEventHandler;
|
|
64
|
+
onPressIn?: IEventHandler;
|
|
65
|
+
onPressOut?: IEventHandler;
|
|
66
|
+
onPressMove?: IEventHandler;
|
|
67
|
+
onLongPress?: IEventHandler;
|
|
68
|
+
onLayout?: IEventHandler;
|
|
69
|
+
onFocus?: IEventHandler;
|
|
70
|
+
onBlur?: IEventHandler;
|
|
71
|
+
};
|
|
70
72
|
|
|
71
73
|
/** Text's own surface on top of the shared one. `onTextLayout` is an event, so it is not here. */
|
|
72
|
-
export
|
|
74
|
+
export type ITextElementProps = ITextNativeOnlyProps & {
|
|
73
75
|
/** Narrows the shared `style` so `fontSize` / `fontWeight` type-check on a `<text>`. */
|
|
74
76
|
style?: IAngularStyleBinding<ITextStyle>;
|
|
75
77
|
styleProp?: IStyleProp<ITextStyle>;
|
|
@@ -84,12 +86,12 @@ export interface ITextElementProps {
|
|
|
84
86
|
// RN's Text carries it (Text.js) and Button hands it to the label so a screen reader announces
|
|
85
87
|
// the text as disabled along with the button holding it (Button.js:388).
|
|
86
88
|
disabled?: boolean;
|
|
87
|
-
}
|
|
89
|
+
};
|
|
88
90
|
|
|
89
91
|
/** The sticky-header wrapper RN builds in JS (ScrollViewStickyHeader.js). */
|
|
90
|
-
export
|
|
92
|
+
export type IStickyHeaderElementProps = {
|
|
91
93
|
inverted?: boolean;
|
|
92
94
|
nextHeaderLayoutY?: number | null;
|
|
93
95
|
scrollAnimatedValue?: unknown;
|
|
94
96
|
scrollViewHeight?: number | null;
|
|
95
|
-
}
|
|
97
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import type { ITextInputProps } from '@symbiote-native/components';
|
|
3
|
+
import { ValueChangeElement } from './element-base';
|
|
4
|
+
|
|
5
|
+
// The inputs only one platform's native view reads, split from `TextInputElement` for file size
|
|
6
|
+
@Directive()
|
|
7
|
+
export abstract class TextInputNativeInputs extends ValueChangeElement {
|
|
8
|
+
@Input() caretHidden?: ITextInputProps['caretHidden'];
|
|
9
|
+
@Input() clearButtonMode?: ITextInputProps['clearButtonMode'];
|
|
10
|
+
@Input() clearTextOnFocus?: ITextInputProps['clearTextOnFocus'];
|
|
11
|
+
@Input() contextMenuHidden?: ITextInputProps['contextMenuHidden'];
|
|
12
|
+
@Input() dataDetectorTypes?: ITextInputProps['dataDetectorTypes'];
|
|
13
|
+
@Input() disableFullscreenUI?: ITextInputProps['disableFullscreenUI'];
|
|
14
|
+
@Input()
|
|
15
|
+
disableKeyboardShortcuts?: ITextInputProps['disableKeyboardShortcuts'];
|
|
16
|
+
@Input()
|
|
17
|
+
enablesReturnKeyAutomatically?: ITextInputProps['enablesReturnKeyAutomatically'];
|
|
18
|
+
@Input() importantForAutofill?: ITextInputProps['importantForAutofill'];
|
|
19
|
+
@Input() inlineImageLeft?: ITextInputProps['inlineImageLeft'];
|
|
20
|
+
@Input() inlineImagePadding?: ITextInputProps['inlineImagePadding'];
|
|
21
|
+
@Input()
|
|
22
|
+
inputAccessoryViewButtonLabel?: ITextInputProps['inputAccessoryViewButtonLabel'];
|
|
23
|
+
@Input() keyboardAppearance?: ITextInputProps['keyboardAppearance'];
|
|
24
|
+
@Input() lineBreakModeIOS?: ITextInputProps['lineBreakModeIOS'];
|
|
25
|
+
@Input() lineBreakStrategyIOS?: ITextInputProps['lineBreakStrategyIOS'];
|
|
26
|
+
@Input() passwordRules?: ITextInputProps['passwordRules'];
|
|
27
|
+
@Input() returnKeyLabel?: ITextInputProps['returnKeyLabel'];
|
|
28
|
+
@Input() smartInsertDelete?: ITextInputProps['smartInsertDelete'];
|
|
29
|
+
@Input() spellCheck?: ITextInputProps['spellCheck'];
|
|
30
|
+
@Input() textBreakStrategy?: ITextInputProps['textBreakStrategy'];
|
|
31
|
+
}
|
package/src/elements-controls.ts
CHANGED
|
@@ -14,12 +14,14 @@ import { VALUE_CHANGE_EVENT } from './renderer/value-change';
|
|
|
14
14
|
import type {
|
|
15
15
|
IActivityIndicatorProps,
|
|
16
16
|
IInputAccessoryViewViewProps,
|
|
17
|
+
ILayoutConformanceMode,
|
|
17
18
|
IModalViewProps,
|
|
18
19
|
ISwitchProps,
|
|
19
20
|
ITextInputProps,
|
|
20
21
|
} from '@symbiote-native/components';
|
|
21
22
|
import type { IStickyHeaderElementProps } from './element-props';
|
|
22
23
|
import type { IAngularRefreshControlProps } from './components/refresh-control-props';
|
|
24
|
+
import { TextInputNativeInputs } from './element-text-input-native';
|
|
23
25
|
import {
|
|
24
26
|
ReadBackElement,
|
|
25
27
|
SymbioteElement,
|
|
@@ -27,7 +29,7 @@ import {
|
|
|
27
29
|
} from './element-base';
|
|
28
30
|
|
|
29
31
|
@Directive({ selector: 'text-input', standalone: true })
|
|
30
|
-
export class TextInputElement extends
|
|
32
|
+
export class TextInputElement extends TextInputNativeInputs {
|
|
31
33
|
@Input() value?: ITextInputProps['value'];
|
|
32
34
|
@Input() defaultValue?: ITextInputProps['defaultValue'];
|
|
33
35
|
@Input() placeholder?: ITextInputProps['placeholder'];
|
|
@@ -236,6 +238,12 @@ export class ActivityIndicatorSpinnerElement extends ActivityIndicatorElement {}
|
|
|
236
238
|
@Directive({ selector: 'safe-area-view', standalone: true })
|
|
237
239
|
export class SafeAreaViewElement extends SymbioteElement {}
|
|
238
240
|
|
|
241
|
+
// RN's `experimental_LayoutConformance`: the tag paints as `display: contents` through its fold
|
|
242
|
+
@Directive({ selector: 'layout-conformance', standalone: true })
|
|
243
|
+
export class LayoutConformanceElement extends SymbioteElement {
|
|
244
|
+
@Input() mode?: ILayoutConformanceMode;
|
|
245
|
+
}
|
|
246
|
+
|
|
239
247
|
@Directive({ selector: 'modal, symbiote-modal', standalone: true })
|
|
240
248
|
export class ModalElement extends SymbioteElement {
|
|
241
249
|
@Input() visible?: IModalViewProps['visible'];
|
package/src/elements-layout.ts
CHANGED
|
@@ -14,6 +14,7 @@ export class ImageElement extends SymbioteElement {
|
|
|
14
14
|
@Input() height?: IImageProps['height'];
|
|
15
15
|
@Input() resizeMode?: IImageProps['resizeMode'];
|
|
16
16
|
@Input() resizeMethod?: IImageProps['resizeMethod'];
|
|
17
|
+
@Input() resizeMultiplier?: IImageProps['resizeMultiplier'];
|
|
17
18
|
@Input() defaultSource?: IImageProps['defaultSource'];
|
|
18
19
|
@Input() loadingIndicatorSource?: IImageProps['loadingIndicatorSource'];
|
|
19
20
|
@Input() blurRadius?: IImageProps['blurRadius'];
|
|
@@ -47,6 +48,7 @@ export class ImageBackgroundElement extends SymbioteElement {
|
|
|
47
48
|
@Input() height?: IImageProps['height'];
|
|
48
49
|
@Input() resizeMode?: IImageProps['resizeMode'];
|
|
49
50
|
@Input() resizeMethod?: IImageProps['resizeMethod'];
|
|
51
|
+
@Input() resizeMultiplier?: IImageProps['resizeMultiplier'];
|
|
50
52
|
@Input() defaultSource?: IImageProps['defaultSource'];
|
|
51
53
|
@Input() loadingIndicatorSource?: IImageProps['loadingIndicatorSource'];
|
|
52
54
|
@Input() blurRadius?: IImageProps['blurRadius'];
|
|
@@ -129,6 +131,31 @@ export class ScrollViewElement extends SymbioteElement {
|
|
|
129
131
|
@Input() onMomentumScrollEnd?: IAngularScrollViewProps['onMomentumScrollEnd'];
|
|
130
132
|
@Input() onScrollToTop?: IAngularScrollViewProps['onScrollToTop'];
|
|
131
133
|
@Input() onContentSizeChange?: IAngularScrollViewProps['onContentSizeChange'];
|
|
134
|
+
@Input()
|
|
135
|
+
onKeyboardWillShow?: IAngularScrollViewProps['onKeyboardWillShow'];
|
|
136
|
+
@Input()
|
|
137
|
+
onKeyboardWillHide?: IAngularScrollViewProps['onKeyboardWillHide'];
|
|
138
|
+
@Input() onKeyboardDidShow?: IAngularScrollViewProps['onKeyboardDidShow'];
|
|
139
|
+
@Input() onKeyboardDidHide?: IAngularScrollViewProps['onKeyboardDidHide'];
|
|
140
|
+
@Input()
|
|
141
|
+
automaticallyAdjustContentInsets?: IAngularScrollViewProps['automaticallyAdjustContentInsets'];
|
|
142
|
+
@Input()
|
|
143
|
+
automaticallyAdjustsScrollIndicatorInsets?: IAngularScrollViewProps['automaticallyAdjustsScrollIndicatorInsets'];
|
|
144
|
+
@Input()
|
|
145
|
+
canCancelContentTouches?: IAngularScrollViewProps['canCancelContentTouches'];
|
|
146
|
+
@Input()
|
|
147
|
+
experimental_endDraggingSensitivityMultiplier?: IAngularScrollViewProps['experimental_endDraggingSensitivityMultiplier'];
|
|
148
|
+
@Input() innerViewRef?: IAngularScrollViewProps['innerViewRef'];
|
|
149
|
+
@Input()
|
|
150
|
+
onScrollAnimationEnd?: IAngularScrollViewProps['onScrollAnimationEnd'];
|
|
151
|
+
@Input() scrollPerfTag?: IAngularScrollViewProps['scrollPerfTag'];
|
|
152
|
+
@Input()
|
|
153
|
+
scrollToOverflowEnabled?: IAngularScrollViewProps['scrollToOverflowEnabled'];
|
|
154
|
+
@Input()
|
|
155
|
+
scrollsChildToFocus?: IAngularScrollViewProps['scrollsChildToFocus'];
|
|
156
|
+
@Input() scrollsToTop?: IAngularScrollViewProps['scrollsToTop'];
|
|
157
|
+
@Input()
|
|
158
|
+
stickyHeaderHiddenOnScroll?: IAngularScrollViewProps['stickyHeaderHiddenOnScroll'];
|
|
132
159
|
}
|
|
133
160
|
|
|
134
161
|
@Directive({ selector: 'horizontal-scroll-view', standalone: true })
|
package/src/elements-press.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Directive, Input } from '@angular/core';
|
|
2
2
|
import type { INativeFeedbackBackground } from '@symbiote-native/components';
|
|
3
|
+
import type { IColorValue } from '@symbiote-native/engine';
|
|
3
4
|
import type { ITextElementProps } from './element-props';
|
|
4
5
|
import type { ICheckboxProps } from './components/checkbox-props';
|
|
5
6
|
import type { IAngularPressableProps } from './components/pressable-props';
|
|
@@ -73,7 +74,7 @@ export class TouchableOpacityElement extends PressableElement {
|
|
|
73
74
|
@Directive({ selector: 'touchable-highlight', standalone: true })
|
|
74
75
|
export class TouchableHighlightElement extends PressableElement {
|
|
75
76
|
@Input() activeOpacity?: number;
|
|
76
|
-
@Input() underlayColor?:
|
|
77
|
+
@Input() underlayColor?: IColorValue;
|
|
77
78
|
@Input() delayPressIn?: number;
|
|
78
79
|
@Input() delayPressOut?: number;
|
|
79
80
|
@Input() minPressDuration?: number;
|
|
@@ -112,7 +113,7 @@ export class TouchableWithoutFeedbackElement extends PressableElement {
|
|
|
112
113
|
@Directive({ selector: 'button, symbiote-button', standalone: true })
|
|
113
114
|
export class ButtonElement extends TouchableOpacityElement {
|
|
114
115
|
@Input() title?: string;
|
|
115
|
-
@Input() color?:
|
|
116
|
+
@Input() color?: IColorValue;
|
|
116
117
|
@Input() touchSoundDisabled?: boolean;
|
|
117
118
|
}
|
|
118
119
|
|
|
@@ -142,4 +143,11 @@ export class TextElement extends SymbioteElement {
|
|
|
142
143
|
@Input() maxFontSizeMultiplier?: ITextElementProps['maxFontSizeMultiplier'];
|
|
143
144
|
@Input() selectionColor?: ITextElementProps['selectionColor'];
|
|
144
145
|
@Input() disabled?: ITextElementProps['disabled'];
|
|
146
|
+
@Input()
|
|
147
|
+
android_hyphenationFrequency?: ITextElementProps['android_hyphenationFrequency'];
|
|
148
|
+
@Input() dataDetectorType?: ITextElementProps['dataDetectorType'];
|
|
149
|
+
@Input() dynamicTypeRamp?: ITextElementProps['dynamicTypeRamp'];
|
|
150
|
+
@Input() lineBreakMode?: ITextElementProps['lineBreakMode'];
|
|
151
|
+
@Input() lineBreakStrategyIOS?: ITextElementProps['lineBreakStrategyIOS'];
|
|
152
|
+
@Input() textBreakStrategy?: ITextElementProps['textBreakStrategy'];
|
|
145
153
|
}
|
package/src/elements.ts
CHANGED
|
@@ -81,6 +81,7 @@ import {
|
|
|
81
81
|
ActivityIndicatorElement,
|
|
82
82
|
ActivityIndicatorSpinnerElement,
|
|
83
83
|
InputAccessoryViewElement,
|
|
84
|
+
LayoutConformanceElement,
|
|
84
85
|
ModalElement,
|
|
85
86
|
MultilineTextInputElement,
|
|
86
87
|
RefreshControlElement,
|
|
@@ -103,6 +104,7 @@ export {
|
|
|
103
104
|
ImageBackgroundElement,
|
|
104
105
|
ImageElement,
|
|
105
106
|
InputAccessoryViewElement,
|
|
107
|
+
LayoutConformanceElement,
|
|
106
108
|
ModalElement,
|
|
107
109
|
MultilineTextInputElement,
|
|
108
110
|
PressableElement,
|
|
@@ -155,6 +157,7 @@ export const SYMBIOTE_ELEMENTS = [
|
|
|
155
157
|
ActivityIndicatorElement,
|
|
156
158
|
ActivityIndicatorSpinnerElement,
|
|
157
159
|
SafeAreaViewElement,
|
|
160
|
+
LayoutConformanceElement,
|
|
158
161
|
ModalElement,
|
|
159
162
|
RefreshControlElement,
|
|
160
163
|
StickyHeaderElement,
|
package/src/index.ts
CHANGED
|
@@ -36,24 +36,27 @@ export {
|
|
|
36
36
|
Text,
|
|
37
37
|
TouchableNativeFeedback,
|
|
38
38
|
View,
|
|
39
|
+
injectVirtualizedListScope,
|
|
39
40
|
VirtualizedList,
|
|
40
41
|
VirtualizedSectionList,
|
|
42
|
+
VListCellDirective,
|
|
41
43
|
VListEmptyDirective,
|
|
42
44
|
VListFooterDirective,
|
|
43
45
|
VListHeaderDirective,
|
|
44
46
|
VListItemDirective,
|
|
47
|
+
VListOutletDirective,
|
|
45
48
|
VListSeparatorDirective,
|
|
46
49
|
VSectionFooterDirective,
|
|
47
50
|
VSectionHeaderDirective,
|
|
48
51
|
VSectionItemDirective,
|
|
49
52
|
VSectionSeparatorDirective,
|
|
50
53
|
} from './components';
|
|
54
|
+
// What a list built on `FlatList` needs to keep its template and its accessibility gate
|
|
55
|
+
export { FLAT_LIST_TEMPLATE } from './components/flat-list/flat-list-template';
|
|
56
|
+
export { provideGateDemand } from './gate-demand';
|
|
51
57
|
export { Animated } from './modules/animated';
|
|
52
|
-
//
|
|
53
|
-
//
|
|
54
|
-
// namespace object, only through a direct named import binding —
|
|
55
|
-
// so `<AnimatedView>` in a template requires `import { AnimatedView } from '@symbiote-native/angular'`,
|
|
56
|
-
// not `const AnimatedView = Animated.View`. Plain tsc/vitest don't catch this; only a real ngc run does.
|
|
58
|
+
// Named top-level too, as the ngtsc static evaluator cannot trace `Animated.View` property access
|
|
59
|
+
// A template tag like `<AnimatedView>` needs a direct import, only a real ngc run catches it
|
|
57
60
|
export {
|
|
58
61
|
AnimatedFlatList,
|
|
59
62
|
AnimatedImage,
|
|
@@ -62,15 +65,9 @@ export {
|
|
|
62
65
|
AnimatedText,
|
|
63
66
|
AnimatedView,
|
|
64
67
|
} from './modules/animated';
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
// do. It ships anyway because portable code (`createAnimatedComponent(View)`) then compiles and
|
|
69
|
-
// runs identically on all five adapters, and the one case Angular cannot serve fails with a
|
|
70
|
-
// message naming the fix (author a standalone @Component over AnimatedComponentBase) instead of
|
|
71
|
-
// failing as a missing export, which names nothing. Found by the barrel audit in
|
|
72
|
-
// `.claude/rules/adapter-parity-audit.md`: it was implemented and tested here all along and simply
|
|
73
|
-
// never reached this file, so `@symbiote-native/angular` consumers could not reach it at all.
|
|
68
|
+
// Maps only View/Text/Image/ScrollView onto the wrappers above and throws on anything else (no JIT)
|
|
69
|
+
// Portable `createAnimatedComponent(View)` still runs on all five adapters, and the error names
|
|
70
|
+
// the fix: a standalone `@Component` over `AnimatedComponentBase`
|
|
74
71
|
export { createAnimatedComponent } from './modules/animated';
|
|
75
72
|
export type {
|
|
76
73
|
IActivityIndicatorProps,
|
|
@@ -78,6 +75,7 @@ export type {
|
|
|
78
75
|
IAngularImageBackgroundProps,
|
|
79
76
|
IAngularInputAccessoryViewProps,
|
|
80
77
|
IAngularKeyboardAvoidingViewProps,
|
|
78
|
+
IAngularLayoutConformanceProps,
|
|
81
79
|
IAngularModalProps,
|
|
82
80
|
IAngularPressableProps,
|
|
83
81
|
IAngularRefreshControlProps,
|
|
@@ -101,6 +99,7 @@ export type {
|
|
|
101
99
|
IImageSourceProp,
|
|
102
100
|
IInputMode,
|
|
103
101
|
IKeyboardAvoidingBehavior,
|
|
102
|
+
ILayoutConformanceMode,
|
|
104
103
|
IModalAnimationType,
|
|
105
104
|
IModalOrientation,
|
|
106
105
|
IModalOrientationChangeEvent,
|
|
@@ -119,14 +118,17 @@ export type {
|
|
|
119
118
|
IViewabilityConfigCallbackPair,
|
|
120
119
|
IViewableItemsChangedInfo,
|
|
121
120
|
IViewToken,
|
|
121
|
+
IListScope,
|
|
122
122
|
IVirtualizedListHandle,
|
|
123
123
|
IVirtualizedListProps,
|
|
124
124
|
IVirtualizedSectionListHandle,
|
|
125
125
|
IVirtualizedSectionListProps,
|
|
126
|
+
IVListCellContext,
|
|
126
127
|
IVListItemContext,
|
|
127
128
|
IVListSeparatorContext,
|
|
128
129
|
IVSectionContext,
|
|
129
130
|
IVSectionItemContext,
|
|
131
|
+
IVSectionSeparatorContext,
|
|
130
132
|
ISection,
|
|
131
133
|
ISwitchProps,
|
|
132
134
|
ISwitchTrackColor,
|
|
@@ -156,6 +158,7 @@ export {
|
|
|
156
158
|
PressableElement,
|
|
157
159
|
RefreshControlElement,
|
|
158
160
|
SafeAreaViewElement,
|
|
161
|
+
LayoutConformanceElement,
|
|
159
162
|
ScrollContentElement,
|
|
160
163
|
ScrollViewElement,
|
|
161
164
|
StickyHeaderElement,
|
|
@@ -190,12 +193,8 @@ export { mount, unmount } from './render';
|
|
|
190
193
|
// without hand-writing its own Renderer2 walker.
|
|
191
194
|
export { DescriptorOutlet } from './descriptor-to-angular';
|
|
192
195
|
export { DescriptorHost } from './descriptor-to-angular/descriptor-host';
|
|
193
|
-
//
|
|
194
|
-
//
|
|
195
|
-
// Angular can't synthesize components at runtime (no JIT under Metro/Hermes), so both are
|
|
196
|
-
// static, pre-authored structural directives (`*portal`/`*tunnelIn`, the `*ngIf`/`*ngFor`
|
|
197
|
-
// idiom) parameterized by an `@Input()`, rather than a factory returning fresh components per
|
|
198
|
-
// call.
|
|
196
|
+
// Twins of the React/Vue portal and tunnel: same-surface portal, cross-surface tunnel
|
|
197
|
+
// No JIT under Metro/Hermes, so both are pre-authored structural directives (`*portal`/`*tunnelIn`)
|
|
199
198
|
export { PortalDirective, PortalOutletDirective } from './create-portal';
|
|
200
199
|
export {
|
|
201
200
|
createTunnel,
|
|
@@ -215,9 +214,14 @@ export { StatusBar } from './modules/status-bar';
|
|
|
215
214
|
export type { IStatusBarProps, IStatusBarStyle } from './modules/status-bar';
|
|
216
215
|
// AppRegistry: RN's app entry point over `mount`. setHostRegistrar wires RN's own
|
|
217
216
|
// registrar so the native Fabric host finds our runnable by app key.
|
|
218
|
-
export {
|
|
217
|
+
export {
|
|
218
|
+
AppRegistry,
|
|
219
|
+
HeadlessJsTaskError,
|
|
220
|
+
setHostRegistrar,
|
|
221
|
+
} from './modules/app-registry';
|
|
219
222
|
export type {
|
|
220
223
|
IComponentProvider,
|
|
224
|
+
IAppConfig,
|
|
221
225
|
IAppParameters,
|
|
222
226
|
IRunnable,
|
|
223
227
|
IHostRegistrar,
|
|
@@ -238,6 +242,11 @@ export {
|
|
|
238
242
|
connectWatchedSignal,
|
|
239
243
|
PermissionsServiceBase,
|
|
240
244
|
} from './services';
|
|
245
|
+
export {
|
|
246
|
+
createAnimatedColor as injectAnimatedColor,
|
|
247
|
+
createAnimatedValue as injectAnimatedValue,
|
|
248
|
+
createAnimatedValueXY as injectAnimatedValueXY,
|
|
249
|
+
} from '@symbiote-native/engine';
|
|
241
250
|
export { AccessibilityInputsBase } from './accessibility-inputs';
|
|
242
251
|
export { NativeViewBase } from './native-view-base';
|
|
243
252
|
export { anchorStyleProp } from './primitives/shared';
|
|
@@ -258,6 +267,7 @@ export {
|
|
|
258
267
|
AppState,
|
|
259
268
|
Keyboard,
|
|
260
269
|
KEYBOARD_EVENT,
|
|
270
|
+
TextInputState,
|
|
261
271
|
BackHandler,
|
|
262
272
|
PermissionsAndroid,
|
|
263
273
|
PERMISSIONS,
|
|
@@ -333,7 +343,6 @@ export {
|
|
|
333
343
|
Platform,
|
|
334
344
|
processColor,
|
|
335
345
|
setColorProcessor,
|
|
336
|
-
setDeviceEventSource,
|
|
337
346
|
setNativeViewConfigSource,
|
|
338
347
|
StyleSheet,
|
|
339
348
|
} from '@symbiote-native/engine';
|
|
@@ -381,3 +390,44 @@ export {
|
|
|
381
390
|
setAngularProfileDetail,
|
|
382
391
|
} from './diagnostics';
|
|
383
392
|
export type { IAngularProfile, IAngularProfileDetail } from './diagnostics';
|
|
393
|
+
|
|
394
|
+
// The device event bus and the easing curves, shared verbatim from the engine
|
|
395
|
+
export {
|
|
396
|
+
DeviceEventEmitter,
|
|
397
|
+
Easing,
|
|
398
|
+
EventEmitter,
|
|
399
|
+
NativeAppEventEmitter,
|
|
400
|
+
NativeEventEmitter,
|
|
401
|
+
} from '@symbiote-native/engine';
|
|
402
|
+
export type {
|
|
403
|
+
IEasing,
|
|
404
|
+
IEasingFunction,
|
|
405
|
+
IEmitterSubscription,
|
|
406
|
+
IEventEmitter,
|
|
407
|
+
IEventEmitterModule,
|
|
408
|
+
IEventSubscription,
|
|
409
|
+
INativeEventListener,
|
|
410
|
+
} from '@symbiote-native/engine';
|
|
411
|
+
|
|
412
|
+
// RN's dev and native-module utilities, shared verbatim from the engine. The ones RN owns forward
|
|
413
|
+
// to its own module, which `registerApp` hands over
|
|
414
|
+
export {
|
|
415
|
+
codegenNativeCommands,
|
|
416
|
+
codegenNativeComponent,
|
|
417
|
+
DevMenu,
|
|
418
|
+
DevSettings,
|
|
419
|
+
LogBox,
|
|
420
|
+
NativeComponentRegistry,
|
|
421
|
+
NativeModules,
|
|
422
|
+
Networking,
|
|
423
|
+
PushNotificationIOS,
|
|
424
|
+
ReactNativeVersion,
|
|
425
|
+
registerCallableModule,
|
|
426
|
+
requireNativeComponent,
|
|
427
|
+
Systrace,
|
|
428
|
+
Touchable,
|
|
429
|
+
TurboModuleRegistry,
|
|
430
|
+
UIManager,
|
|
431
|
+
UTFSequence,
|
|
432
|
+
} from '@symbiote-native/engine';
|
|
433
|
+
export type { IDevSettings } from '@symbiote-native/engine';
|