@onekeyfe/react-native-native-list 6.7.0-alpha.375 → 6.7.0-alpha.382
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/android/src/main/java/com/onekey/nativelist/HybridNativeList.kt +14 -1
- package/android/src/main/java/com/onekey/nativelist/NativeListAccessoryStack.kt +240 -11
- package/android/src/main/java/com/onekey/nativelist/NativeListActivityDetailsView.kt +7 -4
- package/android/src/main/java/com/onekey/nativelist/NativeListActivityRenderer.kt +6 -3
- package/android/src/main/java/com/onekey/nativelist/NativeListButtonGroupRenderer.kt +102 -0
- package/android/src/main/java/com/onekey/nativelist/NativeListContainerSlotAdapter.kt +12 -0
- package/android/src/main/java/com/onekey/nativelist/NativeListDataRowRenderer.kt +87 -7
- package/android/src/main/java/com/onekey/nativelist/NativeListIdentityRenderer.kt +177 -1
- package/android/src/main/java/com/onekey/nativelist/NativeListLeadingVisual.kt +43 -14
- package/android/src/main/java/com/onekey/nativelist/NativeListMessageRenderer.kt +25 -0
- package/android/src/main/java/com/onekey/nativelist/NativeListModels.kt +33 -2
- package/android/src/main/java/com/onekey/nativelist/NativeListPrimitives.kt +22 -0
- package/android/src/main/java/com/onekey/nativelist/NativeListRendererRegistry.kt +2 -0
- package/android/src/main/java/com/onekey/nativelist/NativeListRendererRowView.kt +2 -0
- package/android/src/main/java/com/onekey/nativelist/NativeListResolvedText.kt +3 -2
- package/android/src/main/java/com/onekey/nativelist/NativeListSectionHeaderRenderer.kt +69 -0
- package/android/src/main/java/com/onekey/nativelist/NativeListTextView.kt +55 -1
- package/android/src/main/java/com/onekey/nativelist/NativeListView.kt +1912 -107
- package/android/src/test/java/com/margelo/nitro/nativelist/NativeListPressPolicyTest.kt +1 -0
- package/docs/ROW_TEMPLATES.md +60 -9
- package/docs/SPEC.md +450 -5
- package/docs/STYLE_SPEC.md +6 -0
- package/ios/HybridNativeList.swift +21 -2
- package/ios/NativeListAccessoryStack.swift +227 -39
- package/ios/NativeListActivityDetailsView.swift +18 -8
- package/ios/NativeListActivityRenderer.swift +8 -2
- package/ios/NativeListButtonGroupRenderer.swift +89 -0
- package/ios/NativeListDataRowRenderer.swift +155 -27
- package/ios/NativeListDesignAssets.swift +3 -0
- package/ios/NativeListIdentityRenderer.swift +166 -30
- package/ios/NativeListLeadingVisual.swift +49 -14
- package/ios/NativeListMessageRenderer.swift +34 -1
- package/ios/NativeListModels.swift +42 -2
- package/ios/NativeListRendererRegistry.swift +1 -0
- package/ios/NativeListResolvedText.swift +2 -1
- package/ios/NativeListRowHost.swift +14 -0
- package/ios/NativeListSectionHeaderRenderer.swift +88 -0
- package/ios/RNCNativeListView.swift +1013 -55
- package/ios/Resources/NativeListIcons.xcassets/onekey_crypto_coin_outline.imageset/Contents.json +15 -0
- package/ios/Resources/NativeListIcons.xcassets/onekey_crypto_coin_outline.imageset/icon.svg +4 -0
- package/ios/Resources/NativeListIcons.xcassets/onekey_gas_solid.imageset/Contents.json +15 -0
- package/ios/Resources/NativeListIcons.xcassets/onekey_gas_solid.imageset/icon.svg +3 -0
- package/ios/Resources/NativeListIcons.xcassets/onekey_refresh_ccw_outline.imageset/Contents.json +15 -0
- package/ios/Resources/NativeListIcons.xcassets/onekey_refresh_ccw_outline.imageset/icon.svg +3 -0
- package/ios/tests/NativeListActivityPresentationTests.swift +56 -0
- package/ios/tests/NativeListLifecycleTests.swift +2720 -3
- package/lib/module/NativeList.js +175 -28
- package/lib/module/NativeList.web.js +129 -30
- package/lib/module/index.js +1 -1
- package/lib/module/models.js +1 -0
- package/lib/module/selection.js +1 -1
- package/lib/module/validation.js +421 -8
- package/lib/module/web/NativeListWebEngine.js +507 -19
- package/lib/module/web/templates/ActivityRowRenderer.js +8 -7
- package/lib/module/web/templates/ButtonGroupRowRenderer.js +47 -0
- package/lib/module/web/templates/DataRowRenderer.js +40 -5
- package/lib/module/web/templates/IdentityRowRenderer.js +90 -4
- package/lib/module/web/templates/MessageRowRenderer.js +18 -2
- package/lib/module/web/templates/RowContainerStyle.js +1 -0
- package/lib/module/web/templates/RowRendererRegistry.js +3 -0
- package/lib/module/web/templates/SectionHeaderRowRenderer.js +36 -2
- package/lib/nitrogen/generated/android/c++/JHybridNativeListSpec.cpp +26 -0
- package/lib/nitrogen/generated/android/c++/JHybridNativeListSpec.hpp +4 -0
- package/lib/nitrogen/generated/android/c++/views/JHybridNativeListStateUpdater.cpp +10 -0
- package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/nativelist/HybridNativeListSpec.kt +20 -0
- package/lib/nitrogen/generated/ios/c++/HybridNativeListSpecSwift.hpp +14 -0
- package/lib/nitrogen/generated/ios/c++/views/HybridNativeListComponent.mm +12 -0
- package/lib/nitrogen/generated/ios/swift/HybridNativeListSpec.swift +2 -0
- package/lib/nitrogen/generated/ios/swift/HybridNativeListSpec_cxx.swift +43 -0
- package/lib/nitrogen/generated/shared/c++/HybridNativeListSpec.cpp +4 -0
- package/lib/nitrogen/generated/shared/c++/HybridNativeListSpec.hpp +4 -0
- package/lib/nitrogen/generated/shared/c++/views/HybridNativeListComponent.cpp +4 -0
- package/lib/nitrogen/generated/shared/c++/views/HybridNativeListComponent.hpp +6 -0
- package/lib/nitrogen/generated/shared/json/NativeListConfig.json +2 -0
- package/lib/typescript/src/NativeList.d.ts +1 -1
- package/lib/typescript/src/NativeList.nitro.d.ts +2 -0
- package/lib/typescript/src/NativeList.types.d.ts +18 -0
- package/lib/typescript/src/index.d.ts +2 -2
- package/lib/typescript/src/models.d.ts +105 -9
- package/lib/typescript/src/validation.d.ts +12 -0
- package/lib/typescript/src/web/NativeListWebEngine.d.ts +32 -0
- package/lib/typescript/src/web/templates/ButtonGroupRowRenderer.d.ts +14 -0
- package/lib/typescript/src/web/templates/IdentityRowRenderer.d.ts +1 -1
- package/lib/typescript/src/web/templates/MessageRowRenderer.d.ts +9 -3
- package/nitrogen/generated/android/c++/JHybridNativeListSpec.cpp +26 -0
- package/nitrogen/generated/android/c++/JHybridNativeListSpec.hpp +4 -0
- package/nitrogen/generated/android/c++/views/JHybridNativeListStateUpdater.cpp +10 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nativelist/HybridNativeListSpec.kt +20 -0
- package/nitrogen/generated/ios/c++/HybridNativeListSpecSwift.hpp +14 -0
- package/nitrogen/generated/ios/c++/views/HybridNativeListComponent.mm +12 -0
- package/nitrogen/generated/ios/swift/HybridNativeListSpec.swift +2 -0
- package/nitrogen/generated/ios/swift/HybridNativeListSpec_cxx.swift +43 -0
- package/nitrogen/generated/shared/c++/HybridNativeListSpec.cpp +4 -0
- package/nitrogen/generated/shared/c++/HybridNativeListSpec.hpp +4 -0
- package/nitrogen/generated/shared/c++/views/HybridNativeListComponent.cpp +4 -0
- package/nitrogen/generated/shared/c++/views/HybridNativeListComponent.hpp +6 -0
- package/nitrogen/generated/shared/json/NativeListConfig.json +2 -0
- package/package.json +3 -3
- package/react-native-native-list.podspec +1 -0
- package/src/NativeList.nitro.ts +2 -0
- package/src/NativeList.tsx +313 -44
- package/src/NativeList.types.ts +22 -0
- package/src/NativeList.web.tsx +204 -48
- package/src/index.ts +2 -0
- package/src/models.ts +117 -3
- package/src/selection.ts +1 -0
- package/src/validation.ts +852 -6
- package/src/web/NativeListWebEngine.ts +803 -20
- package/src/web/templates/ActivityRowRenderer.ts +14 -6
- package/src/web/templates/ButtonGroupRowRenderer.ts +58 -0
- package/src/web/templates/DataRowRenderer.ts +93 -20
- package/src/web/templates/IdentityRowRenderer.ts +150 -5
- package/src/web/templates/MessageRowRenderer.ts +23 -7
- package/src/web/templates/RowContainerStyle.ts +2 -0
- package/src/web/templates/RowRendererRegistry.ts +11 -1
- package/src/web/templates/SectionHeaderRowRenderer.ts +47 -4
|
@@ -3,8 +3,20 @@ import type { NativeListSnapshot, RowPatch } from './models';
|
|
|
3
3
|
export declare function containNativeListInput<T>(operation: () => T): T | undefined;
|
|
4
4
|
export declare function emptyNativeListSnapshot(): NativeListSnapshot;
|
|
5
5
|
export declare function validateSnapshot(snapshot: NativeListSnapshot): NativeListSnapshot;
|
|
6
|
+
/** Capture caller data once before validation, including accessor values. */
|
|
7
|
+
export declare function captureNativeListInput<T>(value: T): T;
|
|
8
|
+
/** Private native-wrapper ownership; exported validators keep their public identity. */
|
|
9
|
+
export declare function ownValidatedNativeSnapshot(snapshot: NativeListSnapshot): NativeListSnapshot;
|
|
6
10
|
export declare function validatePatches(patches: readonly RowPatch[]): readonly RowPatch[];
|
|
11
|
+
/** Plan value-only patches; callers own valid immutable snapshots and commit state. */
|
|
12
|
+
export declare function planNativeListPatches(previous: NativeListSnapshot, next: NativeListSnapshot): readonly RowPatch[] | undefined;
|
|
7
13
|
export declare function applyRowPatches(snapshot: NativeListSnapshot, patches: readonly RowPatch[]): NativeListSnapshot;
|
|
14
|
+
/** Native wrapper only: preserve full public validation for unsupported patches. */
|
|
15
|
+
export declare function applyOwnedNativePatches(snapshot: NativeListSnapshot, patches: readonly RowPatch[]): {
|
|
16
|
+
patches: readonly RowPatch[];
|
|
17
|
+
snapshot: NativeListSnapshot;
|
|
18
|
+
json: string;
|
|
19
|
+
};
|
|
8
20
|
export declare function serializeSnapshot(snapshot: NativeListSnapshot): string;
|
|
9
21
|
export declare function serializePatches(patches: readonly RowPatch[]): string;
|
|
10
22
|
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -145,6 +145,7 @@ export declare class NativeListWebEngine {
|
|
|
145
145
|
private pullDistance;
|
|
146
146
|
private virtualizationEnabled;
|
|
147
147
|
private actionAnchor;
|
|
148
|
+
private pressedHelpElement;
|
|
148
149
|
private readonly actionAnchorInstanceId;
|
|
149
150
|
private actionAnchorCounter;
|
|
150
151
|
private bindingEpochCounter;
|
|
@@ -153,6 +154,26 @@ export declare class NativeListWebEngine {
|
|
|
153
154
|
private lastViewportWidth;
|
|
154
155
|
private lastViewportHeight;
|
|
155
156
|
private destroyed;
|
|
157
|
+
private hasAppliedSnapshot;
|
|
158
|
+
private lastStructuralTransitionId;
|
|
159
|
+
private structuralFrame;
|
|
160
|
+
private structuralFinish;
|
|
161
|
+
private structuralRevision;
|
|
162
|
+
private structuralAnimations;
|
|
163
|
+
private structuralScrollInterrupted;
|
|
164
|
+
private structuralRenderedHeight;
|
|
165
|
+
private structuralTargetHeight;
|
|
166
|
+
private reactFooterHeight;
|
|
167
|
+
private structuralFooterCompensation;
|
|
168
|
+
private structuralFooterExpansion;
|
|
169
|
+
private structuralFooterFromHeight;
|
|
170
|
+
private structuralFooterElement;
|
|
171
|
+
private structuralFooterStyles;
|
|
172
|
+
private structuralProgress;
|
|
173
|
+
private structuralAnchorStyles;
|
|
174
|
+
private structuralContentOverflow;
|
|
175
|
+
private structuralPrefixTransition;
|
|
176
|
+
private structuralTail;
|
|
156
177
|
private sectionIndexAlignStart;
|
|
157
178
|
private measuredRendererHeights;
|
|
158
179
|
private notifyScrollCommandAccepted;
|
|
@@ -168,6 +189,15 @@ export declare class NativeListWebEngine {
|
|
|
168
189
|
updateCallbacks(callbacks: NativeListWebCallbacks): void;
|
|
169
190
|
setVirtualizationEnabled(enabled: boolean): void;
|
|
170
191
|
applySnapshot(snapshot: NativeListSnapshot): void;
|
|
192
|
+
private applyValidatedSnapshot;
|
|
193
|
+
private cancelStructuralAnimation;
|
|
194
|
+
private handleStructuralUserScroll;
|
|
195
|
+
private updateStructuralTailWindow;
|
|
196
|
+
private writeStructuralHeight;
|
|
197
|
+
private reactFooterElement;
|
|
198
|
+
private readReactFooterHeight;
|
|
199
|
+
private applyStructuralFooterVisual;
|
|
200
|
+
private applyStructuralSnapshot;
|
|
171
201
|
currentContentHeight(): number;
|
|
172
202
|
currentSnapshot(): NativeListSnapshot;
|
|
173
203
|
applyPatches(patches: readonly RowPatch[]): void;
|
|
@@ -239,6 +269,8 @@ export declare class NativeListWebEngine {
|
|
|
239
269
|
private handleMarketTouchMove;
|
|
240
270
|
private handleMarketPointerEnd;
|
|
241
271
|
private handleTitlePointerOver;
|
|
272
|
+
private emitHoverAction;
|
|
273
|
+
private handleIconHelpPointerDown;
|
|
242
274
|
private handleTitlePointerOut;
|
|
243
275
|
private handleClick;
|
|
244
276
|
private handleKeyDown;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ButtonGroupRow } from '../../models';
|
|
2
|
+
import type { RowPrimitives } from './RowVisual';
|
|
3
|
+
declare function bind(body: HTMLElement, row: ButtonGroupRow): void;
|
|
4
|
+
declare function create(document: Document, row: ButtonGroupRow, _primitives: RowPrimitives): HTMLDivElement;
|
|
5
|
+
export declare const buttonGroupRowRenderer: {
|
|
6
|
+
key: "buttonGroup";
|
|
7
|
+
create: typeof create;
|
|
8
|
+
bind: typeof bind;
|
|
9
|
+
recycle: (body: HTMLElement) => void;
|
|
10
|
+
measure: (_row: ButtonGroupRow, _width: number) => number;
|
|
11
|
+
measureRendered: (body: HTMLElement) => number;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=ButtonGroupRowRenderer.d.ts.map
|
|
@@ -10,7 +10,7 @@ export declare const identityRowRenderer: {
|
|
|
10
10
|
recycle: typeof recycle;
|
|
11
11
|
appliesSizePreset: (row: IdentityRow) => boolean;
|
|
12
12
|
measure: (row: IdentityRow, _width: number) => number;
|
|
13
|
-
measureRendered: (
|
|
13
|
+
measureRendered: (body: HTMLElement, row: IdentityRow) => number | undefined;
|
|
14
14
|
};
|
|
15
15
|
export {};
|
|
16
16
|
//# sourceMappingURL=IdentityRowRenderer.d.ts.map
|
|
@@ -3,15 +3,21 @@ import type { MessageRow, NativeListTextStyle } from '../../models';
|
|
|
3
3
|
export declare function resolveMessageRow(row: MessageRow): {
|
|
4
4
|
title: Readonly<{
|
|
5
5
|
value: string;
|
|
6
|
-
style: Required<Pick<NativeListTextStyle, "fontSize" | "lineHeight"
|
|
6
|
+
style: Required<Pick<NativeListTextStyle, "fontSize" | "lineHeight">> & Omit<NativeListTextStyle, "lines"> & {
|
|
7
|
+
lines: 0 | 1 | 2 | 3;
|
|
8
|
+
};
|
|
7
9
|
}>;
|
|
8
10
|
body: Readonly<{
|
|
9
11
|
value: string;
|
|
10
|
-
style: Required<Pick<NativeListTextStyle, "fontSize" | "lineHeight"
|
|
12
|
+
style: Required<Pick<NativeListTextStyle, "fontSize" | "lineHeight">> & Omit<NativeListTextStyle, "lines"> & {
|
|
13
|
+
lines: 0 | 1 | 2 | 3;
|
|
14
|
+
};
|
|
11
15
|
}>;
|
|
12
16
|
time: Readonly<{
|
|
13
17
|
value: string;
|
|
14
|
-
style: Required<Pick<NativeListTextStyle, "fontSize" | "lineHeight"
|
|
18
|
+
style: Required<Pick<NativeListTextStyle, "fontSize" | "lineHeight">> & Omit<NativeListTextStyle, "lines"> & {
|
|
19
|
+
lines: 0 | 1 | 2 | 3;
|
|
20
|
+
};
|
|
15
21
|
}>;
|
|
16
22
|
horizontalPadding: number;
|
|
17
23
|
verticalPadding: number;
|
|
@@ -88,6 +88,15 @@ namespace margelo::nitro::nativelist {
|
|
|
88
88
|
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* containerSlotHeightsJson */)>("setContainerSlotHeightsJson");
|
|
89
89
|
method(_javaPart, jni::make_jstring(containerSlotHeightsJson));
|
|
90
90
|
}
|
|
91
|
+
std::string JHybridNativeListSpec::getSidecarLayoutJson() {
|
|
92
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getSidecarLayoutJson");
|
|
93
|
+
auto __result = method(_javaPart);
|
|
94
|
+
return __result->toStdString();
|
|
95
|
+
}
|
|
96
|
+
void JHybridNativeListSpec::setSidecarLayoutJson(const std::string& sidecarLayoutJson) {
|
|
97
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* sidecarLayoutJson */)>("setSidecarLayoutJson");
|
|
98
|
+
method(_javaPart, jni::make_jstring(sidecarLayoutJson));
|
|
99
|
+
}
|
|
91
100
|
NativeListScrollEdgeEffect JHybridNativeListSpec::getTopScrollEdgeEffect() {
|
|
92
101
|
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JNativeListScrollEdgeEffect>()>("getTopScrollEdgeEffect");
|
|
93
102
|
auto __result = method(_javaPart);
|
|
@@ -252,6 +261,23 @@ namespace margelo::nitro::nativelist {
|
|
|
252
261
|
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onVisibleRangeChanged */)>("setOnVisibleRangeChanged_cxx");
|
|
253
262
|
method(_javaPart, onVisibleRangeChanged.has_value() ? JFunc_void_std__string_cxx::fromCpp(onVisibleRangeChanged.value()) : nullptr);
|
|
254
263
|
}
|
|
264
|
+
std::optional<std::function<void(const std::string& /* payloadJson */)>> JHybridNativeListSpec::getOnStructuralTransitionSettled() {
|
|
265
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__string::javaobject>()>("getOnStructuralTransitionSettled_cxx");
|
|
266
|
+
auto __result = method(_javaPart);
|
|
267
|
+
return __result != nullptr ? std::make_optional([&]() -> std::function<void(const std::string& /* payloadJson */)> {
|
|
268
|
+
if (__result->isInstanceOf(JFunc_void_std__string_cxx::javaClassStatic())) [[likely]] {
|
|
269
|
+
auto downcast = jni::static_ref_cast<JFunc_void_std__string_cxx::javaobject>(__result);
|
|
270
|
+
return downcast->cthis()->getFunction();
|
|
271
|
+
} else {
|
|
272
|
+
auto __resultRef = jni::make_global(__result);
|
|
273
|
+
return JNICallable<JFunc_void_std__string, void(std::string)>(std::move(__resultRef));
|
|
274
|
+
}
|
|
275
|
+
}()) : std::nullopt;
|
|
276
|
+
}
|
|
277
|
+
void JHybridNativeListSpec::setOnStructuralTransitionSettled(const std::optional<std::function<void(const std::string& /* payloadJson */)>>& onStructuralTransitionSettled) {
|
|
278
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onStructuralTransitionSettled */)>("setOnStructuralTransitionSettled_cxx");
|
|
279
|
+
method(_javaPart, onStructuralTransitionSettled.has_value() ? JFunc_void_std__string_cxx::fromCpp(onStructuralTransitionSettled.value()) : nullptr);
|
|
280
|
+
}
|
|
255
281
|
|
|
256
282
|
// Methods
|
|
257
283
|
void JHybridNativeListSpec::applySnapshot(const std::string& snapshotJson) {
|
|
@@ -56,6 +56,8 @@ namespace margelo::nitro::nativelist {
|
|
|
56
56
|
void setFontFamiliesJson(const std::string& fontFamiliesJson) override;
|
|
57
57
|
std::string getContainerSlotHeightsJson() override;
|
|
58
58
|
void setContainerSlotHeightsJson(const std::string& containerSlotHeightsJson) override;
|
|
59
|
+
std::string getSidecarLayoutJson() override;
|
|
60
|
+
void setSidecarLayoutJson(const std::string& sidecarLayoutJson) override;
|
|
59
61
|
NativeListScrollEdgeEffect getTopScrollEdgeEffect() override;
|
|
60
62
|
void setTopScrollEdgeEffect(NativeListScrollEdgeEffect topScrollEdgeEffect) override;
|
|
61
63
|
double getTopOverlayHeight() override;
|
|
@@ -80,6 +82,8 @@ namespace margelo::nitro::nativelist {
|
|
|
80
82
|
void setOnEndReached(const std::optional<std::function<void(const std::string& /* payloadJson */)>>& onEndReached) override;
|
|
81
83
|
std::optional<std::function<void(const std::string& /* payloadJson */)>> getOnVisibleRangeChanged() override;
|
|
82
84
|
void setOnVisibleRangeChanged(const std::optional<std::function<void(const std::string& /* payloadJson */)>>& onVisibleRangeChanged) override;
|
|
85
|
+
std::optional<std::function<void(const std::string& /* payloadJson */)>> getOnStructuralTransitionSettled() override;
|
|
86
|
+
void setOnStructuralTransitionSettled(const std::optional<std::function<void(const std::string& /* payloadJson */)>>& onStructuralTransitionSettled) override;
|
|
83
87
|
|
|
84
88
|
public:
|
|
85
89
|
// Methods
|
|
@@ -68,6 +68,11 @@ void JHybridNativeListStateUpdater::updateViewProps(jni::alias_ref<jni::JClass>
|
|
|
68
68
|
: !newProps->containerSlotHeightsJson.hasSameValue(oldProps->containerSlotHeightsJson)) {
|
|
69
69
|
hybridView->setContainerSlotHeightsJson(newProps->containerSlotHeightsJson.get());
|
|
70
70
|
}
|
|
71
|
+
if (oldProps == nullptr
|
|
72
|
+
? newProps->sidecarLayoutJson.isProvided()
|
|
73
|
+
: !newProps->sidecarLayoutJson.hasSameValue(oldProps->sidecarLayoutJson)) {
|
|
74
|
+
hybridView->setSidecarLayoutJson(newProps->sidecarLayoutJson.get());
|
|
75
|
+
}
|
|
71
76
|
if (oldProps == nullptr
|
|
72
77
|
? newProps->topScrollEdgeEffect.isProvided()
|
|
73
78
|
: !newProps->topScrollEdgeEffect.hasSameValue(oldProps->topScrollEdgeEffect)) {
|
|
@@ -128,6 +133,11 @@ void JHybridNativeListStateUpdater::updateViewProps(jni::alias_ref<jni::JClass>
|
|
|
128
133
|
: !newProps->onVisibleRangeChanged.hasSameValue(oldProps->onVisibleRangeChanged)) {
|
|
129
134
|
hybridView->setOnVisibleRangeChanged(newProps->onVisibleRangeChanged.get());
|
|
130
135
|
}
|
|
136
|
+
if (oldProps == nullptr
|
|
137
|
+
? newProps->onStructuralTransitionSettled.isProvided()
|
|
138
|
+
: !newProps->onStructuralTransitionSettled.hasSameValue(oldProps->onStructuralTransitionSettled)) {
|
|
139
|
+
hybridView->setOnStructuralTransitionSettled(newProps->onStructuralTransitionSettled.get());
|
|
140
|
+
}
|
|
131
141
|
|
|
132
142
|
// Update hybridRef if it changed
|
|
133
143
|
if (oldProps == nullptr
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/nativelist/HybridNativeListSpec.kt
CHANGED
|
@@ -45,6 +45,12 @@ abstract class HybridNativeListSpec: HybridView() {
|
|
|
45
45
|
@set:Keep
|
|
46
46
|
abstract var containerSlotHeightsJson: String
|
|
47
47
|
|
|
48
|
+
@get:DoNotStrip
|
|
49
|
+
@get:Keep
|
|
50
|
+
@set:DoNotStrip
|
|
51
|
+
@set:Keep
|
|
52
|
+
abstract var sidecarLayoutJson: String
|
|
53
|
+
|
|
48
54
|
@get:DoNotStrip
|
|
49
55
|
@get:Keep
|
|
50
56
|
@set:DoNotStrip
|
|
@@ -172,6 +178,20 @@ abstract class HybridNativeListSpec: HybridView() {
|
|
|
172
178
|
set(value) {
|
|
173
179
|
onVisibleRangeChanged = value?.let { it }
|
|
174
180
|
}
|
|
181
|
+
|
|
182
|
+
abstract var onStructuralTransitionSettled: ((payloadJson: String) -> Unit)?
|
|
183
|
+
|
|
184
|
+
private var onStructuralTransitionSettled_cxx: Func_void_std__string?
|
|
185
|
+
@Keep
|
|
186
|
+
@DoNotStrip
|
|
187
|
+
get() {
|
|
188
|
+
return onStructuralTransitionSettled?.let { Func_void_std__string_java(it) }
|
|
189
|
+
}
|
|
190
|
+
@Keep
|
|
191
|
+
@DoNotStrip
|
|
192
|
+
set(value) {
|
|
193
|
+
onStructuralTransitionSettled = value?.let { it }
|
|
194
|
+
}
|
|
175
195
|
|
|
176
196
|
// Methods
|
|
177
197
|
@DoNotStrip
|
|
@@ -96,6 +96,13 @@ namespace margelo::nitro::nativelist {
|
|
|
96
96
|
inline void setContainerSlotHeightsJson(const std::string& containerSlotHeightsJson) noexcept override {
|
|
97
97
|
_swiftPart.setContainerSlotHeightsJson(containerSlotHeightsJson);
|
|
98
98
|
}
|
|
99
|
+
inline std::string getSidecarLayoutJson() noexcept override {
|
|
100
|
+
auto __result = _swiftPart.getSidecarLayoutJson();
|
|
101
|
+
return __result;
|
|
102
|
+
}
|
|
103
|
+
inline void setSidecarLayoutJson(const std::string& sidecarLayoutJson) noexcept override {
|
|
104
|
+
_swiftPart.setSidecarLayoutJson(sidecarLayoutJson);
|
|
105
|
+
}
|
|
99
106
|
inline NativeListScrollEdgeEffect getTopScrollEdgeEffect() noexcept override {
|
|
100
107
|
auto __result = _swiftPart.getTopScrollEdgeEffect();
|
|
101
108
|
return static_cast<NativeListScrollEdgeEffect>(__result);
|
|
@@ -179,6 +186,13 @@ namespace margelo::nitro::nativelist {
|
|
|
179
186
|
inline void setOnVisibleRangeChanged(const std::optional<std::function<void(const std::string& /* payloadJson */)>>& onVisibleRangeChanged) noexcept override {
|
|
180
187
|
_swiftPart.setOnVisibleRangeChanged(onVisibleRangeChanged);
|
|
181
188
|
}
|
|
189
|
+
inline std::optional<std::function<void(const std::string& /* payloadJson */)>> getOnStructuralTransitionSettled() noexcept override {
|
|
190
|
+
auto __result = _swiftPart.getOnStructuralTransitionSettled();
|
|
191
|
+
return __result;
|
|
192
|
+
}
|
|
193
|
+
inline void setOnStructuralTransitionSettled(const std::optional<std::function<void(const std::string& /* payloadJson */)>>& onStructuralTransitionSettled) noexcept override {
|
|
194
|
+
_swiftPart.setOnStructuralTransitionSettled(onStructuralTransitionSettled);
|
|
195
|
+
}
|
|
182
196
|
|
|
183
197
|
public:
|
|
184
198
|
// Methods
|
|
@@ -130,6 +130,12 @@ using namespace margelo::nitro::nativelist::views;
|
|
|
130
130
|
: !newViewProps.containerSlotHeightsJson.hasSameValue(oldViewProps->containerSlotHeightsJson)) {
|
|
131
131
|
swiftPart.setContainerSlotHeightsJson(newViewProps.containerSlotHeightsJson.get());
|
|
132
132
|
}
|
|
133
|
+
// sidecarLayoutJson: string
|
|
134
|
+
if (oldViewProps == nullptr
|
|
135
|
+
? newViewProps.sidecarLayoutJson.isProvided()
|
|
136
|
+
: !newViewProps.sidecarLayoutJson.hasSameValue(oldViewProps->sidecarLayoutJson)) {
|
|
137
|
+
swiftPart.setSidecarLayoutJson(newViewProps.sidecarLayoutJson.get());
|
|
138
|
+
}
|
|
133
139
|
// topScrollEdgeEffect: enum
|
|
134
140
|
if (oldViewProps == nullptr
|
|
135
141
|
? newViewProps.topScrollEdgeEffect.isProvided()
|
|
@@ -202,6 +208,12 @@ using namespace margelo::nitro::nativelist::views;
|
|
|
202
208
|
: !newViewProps.onVisibleRangeChanged.hasSameValue(oldViewProps->onVisibleRangeChanged)) {
|
|
203
209
|
swiftPart.setOnVisibleRangeChanged(newViewProps.onVisibleRangeChanged.get());
|
|
204
210
|
}
|
|
211
|
+
// onStructuralTransitionSettled: optional
|
|
212
|
+
if (oldViewProps == nullptr
|
|
213
|
+
? newViewProps.onStructuralTransitionSettled.isProvided()
|
|
214
|
+
: !newViewProps.onStructuralTransitionSettled.hasSameValue(oldViewProps->onStructuralTransitionSettled)) {
|
|
215
|
+
swiftPart.setOnStructuralTransitionSettled(newViewProps.onStructuralTransitionSettled.get());
|
|
216
|
+
}
|
|
205
217
|
|
|
206
218
|
// Update hybridRef if it changed
|
|
207
219
|
if (oldViewProps == nullptr
|
|
@@ -13,6 +13,7 @@ public protocol HybridNativeListSpec_protocol: HybridObject, HybridView {
|
|
|
13
13
|
var snapshotJson: String { get set }
|
|
14
14
|
var fontFamiliesJson: String { get set }
|
|
15
15
|
var containerSlotHeightsJson: String { get set }
|
|
16
|
+
var sidecarLayoutJson: String { get set }
|
|
16
17
|
var topScrollEdgeEffect: NativeListScrollEdgeEffect { get set }
|
|
17
18
|
var topOverlayHeight: Double { get set }
|
|
18
19
|
var scrollPositionThresholdsJson: String { get set }
|
|
@@ -25,6 +26,7 @@ public protocol HybridNativeListSpec_protocol: HybridObject, HybridView {
|
|
|
25
26
|
var onReorder: ((_ payloadJson: String) -> Void)? { get set }
|
|
26
27
|
var onEndReached: ((_ payloadJson: String) -> Void)? { get set }
|
|
27
28
|
var onVisibleRangeChanged: ((_ payloadJson: String) -> Void)? { get set }
|
|
29
|
+
var onStructuralTransitionSettled: ((_ payloadJson: String) -> Void)? { get set }
|
|
28
30
|
|
|
29
31
|
// Methods
|
|
30
32
|
func applySnapshot(snapshotJson: String) throws -> Void
|
|
@@ -154,6 +154,17 @@ open class HybridNativeListSpec_cxx {
|
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
+
public final var sidecarLayoutJson: std.string {
|
|
158
|
+
@inline(__always)
|
|
159
|
+
get {
|
|
160
|
+
return std.string(self.__implementation.sidecarLayoutJson)
|
|
161
|
+
}
|
|
162
|
+
@inline(__always)
|
|
163
|
+
set {
|
|
164
|
+
self.__implementation.sidecarLayoutJson = String(newValue)
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
157
168
|
public final var topScrollEdgeEffect: Int32 {
|
|
158
169
|
@inline(__always)
|
|
159
170
|
get {
|
|
@@ -432,6 +443,38 @@ open class HybridNativeListSpec_cxx {
|
|
|
432
443
|
}()
|
|
433
444
|
}
|
|
434
445
|
}
|
|
446
|
+
|
|
447
|
+
public final var onStructuralTransitionSettled: bridge.std__optional_std__function_void_const_std__string_____payloadJson______ {
|
|
448
|
+
@inline(__always)
|
|
449
|
+
get {
|
|
450
|
+
return { () -> bridge.std__optional_std__function_void_const_std__string_____payloadJson______ in
|
|
451
|
+
if let __unwrappedValue = self.__implementation.onStructuralTransitionSettled {
|
|
452
|
+
return bridge.create_std__optional_std__function_void_const_std__string_____payloadJson______({ () -> bridge.Func_void_std__string in
|
|
453
|
+
let __closureWrapper = Func_void_std__string(__unwrappedValue)
|
|
454
|
+
return bridge.create_Func_void_std__string(__closureWrapper.toUnsafe())
|
|
455
|
+
}())
|
|
456
|
+
} else {
|
|
457
|
+
return .init()
|
|
458
|
+
}
|
|
459
|
+
}()
|
|
460
|
+
}
|
|
461
|
+
@inline(__always)
|
|
462
|
+
set {
|
|
463
|
+
self.__implementation.onStructuralTransitionSettled = { () -> ((_ payloadJson: String) -> Void)? in
|
|
464
|
+
if bridge.has_value_std__optional_std__function_void_const_std__string_____payloadJson______(newValue) {
|
|
465
|
+
let __unwrapped = bridge.get_std__optional_std__function_void_const_std__string_____payloadJson______(newValue)
|
|
466
|
+
return { () -> (String) -> Void in
|
|
467
|
+
let __wrappedFunction = bridge.wrap_Func_void_std__string(__unwrapped)
|
|
468
|
+
return { (__payloadJson: String) -> Void in
|
|
469
|
+
__wrappedFunction.call(std.string(__payloadJson))
|
|
470
|
+
}
|
|
471
|
+
}()
|
|
472
|
+
} else {
|
|
473
|
+
return nil
|
|
474
|
+
}
|
|
475
|
+
}()
|
|
476
|
+
}
|
|
477
|
+
}
|
|
435
478
|
|
|
436
479
|
// Methods
|
|
437
480
|
@inline(__always)
|
|
@@ -20,6 +20,8 @@ namespace margelo::nitro::nativelist {
|
|
|
20
20
|
prototype.registerHybridSetter("fontFamiliesJson", &HybridNativeListSpec::setFontFamiliesJson);
|
|
21
21
|
prototype.registerHybridGetter("containerSlotHeightsJson", &HybridNativeListSpec::getContainerSlotHeightsJson);
|
|
22
22
|
prototype.registerHybridSetter("containerSlotHeightsJson", &HybridNativeListSpec::setContainerSlotHeightsJson);
|
|
23
|
+
prototype.registerHybridGetter("sidecarLayoutJson", &HybridNativeListSpec::getSidecarLayoutJson);
|
|
24
|
+
prototype.registerHybridSetter("sidecarLayoutJson", &HybridNativeListSpec::setSidecarLayoutJson);
|
|
23
25
|
prototype.registerHybridGetter("topScrollEdgeEffect", &HybridNativeListSpec::getTopScrollEdgeEffect);
|
|
24
26
|
prototype.registerHybridSetter("topScrollEdgeEffect", &HybridNativeListSpec::setTopScrollEdgeEffect);
|
|
25
27
|
prototype.registerHybridGetter("topOverlayHeight", &HybridNativeListSpec::getTopOverlayHeight);
|
|
@@ -44,6 +46,8 @@ namespace margelo::nitro::nativelist {
|
|
|
44
46
|
prototype.registerHybridSetter("onEndReached", &HybridNativeListSpec::setOnEndReached);
|
|
45
47
|
prototype.registerHybridGetter("onVisibleRangeChanged", &HybridNativeListSpec::getOnVisibleRangeChanged);
|
|
46
48
|
prototype.registerHybridSetter("onVisibleRangeChanged", &HybridNativeListSpec::setOnVisibleRangeChanged);
|
|
49
|
+
prototype.registerHybridGetter("onStructuralTransitionSettled", &HybridNativeListSpec::getOnStructuralTransitionSettled);
|
|
50
|
+
prototype.registerHybridSetter("onStructuralTransitionSettled", &HybridNativeListSpec::setOnStructuralTransitionSettled);
|
|
47
51
|
prototype.registerHybridMethod("applySnapshot", &HybridNativeListSpec::applySnapshot);
|
|
48
52
|
prototype.registerHybridMethod("applyPatches", &HybridNativeListSpec::applyPatches);
|
|
49
53
|
prototype.registerHybridMethod("reconcileSelection", &HybridNativeListSpec::reconcileSelection);
|
|
@@ -63,6 +63,8 @@ namespace margelo::nitro::nativelist {
|
|
|
63
63
|
virtual void setFontFamiliesJson(const std::string& fontFamiliesJson) = 0;
|
|
64
64
|
virtual std::string getContainerSlotHeightsJson() = 0;
|
|
65
65
|
virtual void setContainerSlotHeightsJson(const std::string& containerSlotHeightsJson) = 0;
|
|
66
|
+
virtual std::string getSidecarLayoutJson() = 0;
|
|
67
|
+
virtual void setSidecarLayoutJson(const std::string& sidecarLayoutJson) = 0;
|
|
66
68
|
virtual NativeListScrollEdgeEffect getTopScrollEdgeEffect() = 0;
|
|
67
69
|
virtual void setTopScrollEdgeEffect(NativeListScrollEdgeEffect topScrollEdgeEffect) = 0;
|
|
68
70
|
virtual double getTopOverlayHeight() = 0;
|
|
@@ -87,6 +89,8 @@ namespace margelo::nitro::nativelist {
|
|
|
87
89
|
virtual void setOnEndReached(const std::optional<std::function<void(const std::string& /* payloadJson */)>>& onEndReached) = 0;
|
|
88
90
|
virtual std::optional<std::function<void(const std::string& /* payloadJson */)>> getOnVisibleRangeChanged() = 0;
|
|
89
91
|
virtual void setOnVisibleRangeChanged(const std::optional<std::function<void(const std::string& /* payloadJson */)>>& onVisibleRangeChanged) = 0;
|
|
92
|
+
virtual std::optional<std::function<void(const std::string& /* payloadJson */)>> getOnStructuralTransitionSettled() = 0;
|
|
93
|
+
virtual void setOnStructuralTransitionSettled(const std::optional<std::function<void(const std::string& /* payloadJson */)>>& onStructuralTransitionSettled) = 0;
|
|
90
94
|
|
|
91
95
|
public:
|
|
92
96
|
// Methods
|
|
@@ -23,6 +23,7 @@ namespace margelo::nitro::nativelist::views {
|
|
|
23
23
|
snapshotJson(nitro::ReactProp<std::string>::fromRawValue("NativeList", "snapshotJson", rawProps, sourceProps.snapshotJson)),
|
|
24
24
|
fontFamiliesJson(nitro::ReactProp<std::string>::fromRawValue("NativeList", "fontFamiliesJson", rawProps, sourceProps.fontFamiliesJson)),
|
|
25
25
|
containerSlotHeightsJson(nitro::ReactProp<std::string>::fromRawValue("NativeList", "containerSlotHeightsJson", rawProps, sourceProps.containerSlotHeightsJson)),
|
|
26
|
+
sidecarLayoutJson(nitro::ReactProp<std::string>::fromRawValue("NativeList", "sidecarLayoutJson", rawProps, sourceProps.sidecarLayoutJson)),
|
|
26
27
|
topScrollEdgeEffect(nitro::ReactProp<NativeListScrollEdgeEffect>::fromRawValue("NativeList", "topScrollEdgeEffect", rawProps, sourceProps.topScrollEdgeEffect)),
|
|
27
28
|
topOverlayHeight(nitro::ReactProp<double>::fromRawValue("NativeList", "topOverlayHeight", rawProps, sourceProps.topOverlayHeight)),
|
|
28
29
|
scrollPositionThresholdsJson(nitro::ReactProp<std::string>::fromRawValue("NativeList", "scrollPositionThresholdsJson", rawProps, sourceProps.scrollPositionThresholdsJson)),
|
|
@@ -35,6 +36,7 @@ namespace margelo::nitro::nativelist::views {
|
|
|
35
36
|
onReorder(nitro::ReactProp<std::optional<std::function<void(const std::string& /* payloadJson */)>>>::fromRawValue("NativeList", "onReorder", rawProps, sourceProps.onReorder)),
|
|
36
37
|
onEndReached(nitro::ReactProp<std::optional<std::function<void(const std::string& /* payloadJson */)>>>::fromRawValue("NativeList", "onEndReached", rawProps, sourceProps.onEndReached)),
|
|
37
38
|
onVisibleRangeChanged(nitro::ReactProp<std::optional<std::function<void(const std::string& /* payloadJson */)>>>::fromRawValue("NativeList", "onVisibleRangeChanged", rawProps, sourceProps.onVisibleRangeChanged)),
|
|
39
|
+
onStructuralTransitionSettled(nitro::ReactProp<std::optional<std::function<void(const std::string& /* payloadJson */)>>>::fromRawValue("NativeList", "onStructuralTransitionSettled", rawProps, sourceProps.onStructuralTransitionSettled)),
|
|
38
40
|
hybridRef(nitro::ReactProp<std::optional<std::function<void(const std::shared_ptr<HybridNativeListSpec>& /* ref */)>>>::fromRawValue("NativeList", "hybridRef", rawProps, sourceProps.hybridRef)) { }
|
|
39
41
|
|
|
40
42
|
bool HybridNativeListProps::filterObjectKeys(const std::string& propName) {
|
|
@@ -42,6 +44,7 @@ namespace margelo::nitro::nativelist::views {
|
|
|
42
44
|
case hashString("snapshotJson"): return true;
|
|
43
45
|
case hashString("fontFamiliesJson"): return true;
|
|
44
46
|
case hashString("containerSlotHeightsJson"): return true;
|
|
47
|
+
case hashString("sidecarLayoutJson"): return true;
|
|
45
48
|
case hashString("topScrollEdgeEffect"): return true;
|
|
46
49
|
case hashString("topOverlayHeight"): return true;
|
|
47
50
|
case hashString("scrollPositionThresholdsJson"): return true;
|
|
@@ -54,6 +57,7 @@ namespace margelo::nitro::nativelist::views {
|
|
|
54
57
|
case hashString("onReorder"): return true;
|
|
55
58
|
case hashString("onEndReached"): return true;
|
|
56
59
|
case hashString("onVisibleRangeChanged"): return true;
|
|
60
|
+
case hashString("onStructuralTransitionSettled"): return true;
|
|
57
61
|
case hashString("hybridRef"): return true;
|
|
58
62
|
default: return false;
|
|
59
63
|
}
|
|
@@ -49,6 +49,7 @@ namespace margelo::nitro::nativelist::views {
|
|
|
49
49
|
nitro::ReactProp<std::string> snapshotJson;
|
|
50
50
|
nitro::ReactProp<std::string> fontFamiliesJson;
|
|
51
51
|
nitro::ReactProp<std::string> containerSlotHeightsJson;
|
|
52
|
+
nitro::ReactProp<std::string> sidecarLayoutJson;
|
|
52
53
|
nitro::ReactProp<NativeListScrollEdgeEffect> topScrollEdgeEffect;
|
|
53
54
|
nitro::ReactProp<double> topOverlayHeight;
|
|
54
55
|
nitro::ReactProp<std::string> scrollPositionThresholdsJson;
|
|
@@ -61,6 +62,7 @@ namespace margelo::nitro::nativelist::views {
|
|
|
61
62
|
nitro::ReactProp<std::optional<std::function<void(const std::string& /* payloadJson */)>>> onReorder;
|
|
62
63
|
nitro::ReactProp<std::optional<std::function<void(const std::string& /* payloadJson */)>>> onEndReached;
|
|
63
64
|
nitro::ReactProp<std::optional<std::function<void(const std::string& /* payloadJson */)>>> onVisibleRangeChanged;
|
|
65
|
+
nitro::ReactProp<std::optional<std::function<void(const std::string& /* payloadJson */)>>> onStructuralTransitionSettled;
|
|
64
66
|
nitro::ReactProp<std::optional<std::function<void(const std::shared_ptr<HybridNativeListSpec>& /* ref */)>>> hybridRef;
|
|
65
67
|
|
|
66
68
|
[[nodiscard]]
|
|
@@ -68,6 +70,7 @@ namespace margelo::nitro::nativelist::views {
|
|
|
68
70
|
return snapshotJson.hasSameValue(other.snapshotJson) &&
|
|
69
71
|
fontFamiliesJson.hasSameValue(other.fontFamiliesJson) &&
|
|
70
72
|
containerSlotHeightsJson.hasSameValue(other.containerSlotHeightsJson) &&
|
|
73
|
+
sidecarLayoutJson.hasSameValue(other.sidecarLayoutJson) &&
|
|
71
74
|
topScrollEdgeEffect.hasSameValue(other.topScrollEdgeEffect) &&
|
|
72
75
|
topOverlayHeight.hasSameValue(other.topOverlayHeight) &&
|
|
73
76
|
scrollPositionThresholdsJson.hasSameValue(other.scrollPositionThresholdsJson) &&
|
|
@@ -80,6 +83,7 @@ namespace margelo::nitro::nativelist::views {
|
|
|
80
83
|
onReorder.hasSameValue(other.onReorder) &&
|
|
81
84
|
onEndReached.hasSameValue(other.onEndReached) &&
|
|
82
85
|
onVisibleRangeChanged.hasSameValue(other.onVisibleRangeChanged) &&
|
|
86
|
+
onStructuralTransitionSettled.hasSameValue(other.onStructuralTransitionSettled) &&
|
|
83
87
|
hybridRef.hasSameValue(other.hybridRef);
|
|
84
88
|
}
|
|
85
89
|
|
|
@@ -88,6 +92,7 @@ namespace margelo::nitro::nativelist::views {
|
|
|
88
92
|
return snapshotJson.isProvided() ||
|
|
89
93
|
fontFamiliesJson.isProvided() ||
|
|
90
94
|
containerSlotHeightsJson.isProvided() ||
|
|
95
|
+
sidecarLayoutJson.isProvided() ||
|
|
91
96
|
topScrollEdgeEffect.isProvided() ||
|
|
92
97
|
topOverlayHeight.isProvided() ||
|
|
93
98
|
scrollPositionThresholdsJson.isProvided() ||
|
|
@@ -100,6 +105,7 @@ namespace margelo::nitro::nativelist::views {
|
|
|
100
105
|
onReorder.isProvided() ||
|
|
101
106
|
onEndReached.isProvided() ||
|
|
102
107
|
onVisibleRangeChanged.isProvided() ||
|
|
108
|
+
onStructuralTransitionSettled.isProvided() ||
|
|
103
109
|
hybridRef.isProvided();
|
|
104
110
|
}
|
|
105
111
|
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
"snapshotJson": true,
|
|
8
8
|
"fontFamiliesJson": true,
|
|
9
9
|
"containerSlotHeightsJson": true,
|
|
10
|
+
"sidecarLayoutJson": true,
|
|
10
11
|
"topScrollEdgeEffect": true,
|
|
11
12
|
"topOverlayHeight": true,
|
|
12
13
|
"scrollPositionThresholdsJson": true,
|
|
@@ -19,6 +20,7 @@
|
|
|
19
20
|
"onReorder": true,
|
|
20
21
|
"onEndReached": true,
|
|
21
22
|
"onVisibleRangeChanged": true,
|
|
23
|
+
"onStructuralTransitionSettled": true,
|
|
22
24
|
"hybridRef": true
|
|
23
25
|
}
|
|
24
26
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/react-native-native-list",
|
|
3
|
-
"version": "6.7.0-alpha.
|
|
3
|
+
"version": "6.7.0-alpha.382",
|
|
4
4
|
"description": "Template-driven native RecyclerView and UICollectionView for React Native",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"main": "./lib/module/index.js",
|
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
"typescript": "^5.9.2"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"@onekeyfe/react-native-image": "6.7.0-alpha.
|
|
90
|
-
"@onekeyfe/react-native-native-logger": "6.7.0-alpha.
|
|
89
|
+
"@onekeyfe/react-native-image": "6.7.0-alpha.382",
|
|
90
|
+
"@onekeyfe/react-native-native-logger": "6.7.0-alpha.382",
|
|
91
91
|
"react": "*",
|
|
92
92
|
"react-native": "*",
|
|
93
93
|
"react-native-nitro-modules": "0.37.0"
|
|
@@ -33,6 +33,7 @@ Pod::Spec.new do |s|
|
|
|
33
33
|
s.dependency "React-callinvoker"
|
|
34
34
|
|
|
35
35
|
s.test_spec "Tests" do |test_spec|
|
|
36
|
+
test_spec.requires_app_host = true
|
|
36
37
|
test_spec.source_files = "ios/tests/**/*.swift"
|
|
37
38
|
test_spec.pod_target_xcconfig = {
|
|
38
39
|
"PRODUCT_MODULE_NAME" => "NativeListModuleTests",
|
package/src/NativeList.nitro.ts
CHANGED
|
@@ -13,6 +13,7 @@ export interface NativeListNativeProps extends HybridViewProps {
|
|
|
13
13
|
snapshotJson: string;
|
|
14
14
|
fontFamiliesJson: string;
|
|
15
15
|
containerSlotHeightsJson: string;
|
|
16
|
+
sidecarLayoutJson: string;
|
|
16
17
|
topScrollEdgeEffect: NativeListScrollEdgeEffect;
|
|
17
18
|
topOverlayHeight: number;
|
|
18
19
|
scrollPositionThresholdsJson: string;
|
|
@@ -25,6 +26,7 @@ export interface NativeListNativeProps extends HybridViewProps {
|
|
|
25
26
|
onReorder?: (payloadJson: string) => void;
|
|
26
27
|
onEndReached?: (payloadJson: string) => void;
|
|
27
28
|
onVisibleRangeChanged?: (payloadJson: string) => void;
|
|
29
|
+
onStructuralTransitionSettled?: (payloadJson: string) => void;
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
export type NativeListKeyboardDismissMode = 'none' | 'on-drag' | 'interactive';
|