@iternio/react-native-auto-play 0.5.14-beta.1 → 0.6.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 +270 -36
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoSession.kt +5 -0
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplate.kt +9 -2
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/NativeBackdrop.kt +40 -0
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/VirtualRenderer.kt +52 -0
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/GridTemplate.kt +47 -13
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/Parser.kt +69 -15
- package/ios/Types.swift +3 -0
- package/ios/extensions/UIImage+Toggle.swift +5 -2
- package/ios/hybrid/HybridAutoPlay.swift +28 -16
- package/ios/hybrid/HybridMapTemplate.swift +22 -5
- package/ios/scenes/AutoPlayInterfaceController.swift +261 -72
- package/ios/templates/AutoPlayMapPanelDelegate.swift +190 -0
- package/ios/templates/AutoPlayTemplate.swift +24 -2
- package/ios/templates/GridTemplate.swift +57 -57
- package/ios/templates/InformationTemplate.swift +84 -9
- package/ios/templates/ListTemplate.swift +66 -11
- package/ios/templates/MapTemplate.swift +83 -68
- package/ios/templates/MessageTemplate.swift +72 -6
- package/ios/templates/Parser.swift +564 -69
- package/ios/templates/SearchTemplate.swift +1 -1
- package/ios/templates/TemplateStore.swift +5 -15
- package/ios/utils/SymbolFont.swift +13 -28
- package/jest.js +2 -0
- package/lib/Constants.d.ts +4 -0
- package/lib/Constants.js +6 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.web.d.ts +73 -0
- package/lib/index.web.js +72 -1
- package/lib/specs/MapTemplate.nitro.d.ts +3 -1
- package/lib/templates/GridTemplate.d.ts +23 -3
- package/lib/templates/GridTemplate.js +8 -0
- package/lib/templates/InformationTemplate.d.ts +38 -12
- package/lib/templates/ListTemplate.d.ts +16 -47
- package/lib/templates/MapTemplate.d.ts +26 -2
- package/lib/templates/MapTemplate.js +16 -2
- package/lib/templates/MessageTemplate.d.ts +52 -11
- package/lib/templates/MessageTemplate.js +1 -1
- package/lib/types/Image.d.ts +6 -1
- package/lib/utils/NitroColor.d.ts +1 -0
- package/lib/utils/NitroColor.js +8 -0
- package/lib/utils/NitroImage.js +1 -1
- package/lib/utils/NitroManeuver.js +1 -3
- package/lib/utils/NitroOptionsPanel.d.ts +103 -0
- package/lib/utils/NitroOptionsPanel.js +63 -0
- package/lib/utils/NitroSection.d.ts +89 -2
- package/lib/utils/NitroSection.js +49 -2
- package/lib-cjs/AutoPlayHeadlessJsTask.js +16 -0
- package/lib-cjs/Constants.js +9 -0
- package/lib-cjs/components/MapTemplateContext.js +10 -0
- package/lib-cjs/components/SafeAreaInsetsContext.js +21 -0
- package/lib-cjs/components/SafeAreaView.js +22 -0
- package/lib-cjs/components/WindowInformationWrapper.js +20 -0
- package/lib-cjs/hooks/useAndroidAutoTelemetry.js +115 -0
- package/lib-cjs/hooks/useFocusedEffect.js +35 -0
- package/lib-cjs/hooks/useMapTemplate.js +13 -0
- package/lib-cjs/hooks/useSafeAreaInsets.js +9 -0
- package/lib-cjs/hooks/useVoiceInput.js +42 -0
- package/lib-cjs/hybrid/HybridAndroidAutoTelemetry.js +4 -0
- package/lib-cjs/hybrid/HybridAndroidWindowInformation.js +4 -0
- package/lib-cjs/hybrid/HybridAutoPlay.js +5 -0
- package/lib-cjs/hybrid/HybridVoice.js +61 -0
- package/lib-cjs/index.js +76 -0
- package/lib-cjs/index.web.js +98 -0
- package/lib-cjs/scenes/AutoPlayCluster.js +140 -0
- package/lib-cjs/scenes/CarPlayDashboardScene.js +100 -0
- package/lib-cjs/specs/AndroidAutoTelemetry.nitro.js +2 -0
- package/lib-cjs/specs/AndroidAutomotive.nitro.js +16 -0
- package/lib-cjs/specs/AndroidWindowInformation.nitro.js +2 -0
- package/lib-cjs/specs/AutoPlay.nitro.js +2 -0
- package/lib-cjs/specs/CarPlayDashboard.nitro.js +2 -0
- package/lib-cjs/specs/Cluster.nitro.js +2 -0
- package/lib-cjs/specs/GridTemplate.nitro.js +2 -0
- package/lib-cjs/specs/InformationTemplate.nitro.js +2 -0
- package/lib-cjs/specs/ListTemplate.nitro.js +2 -0
- package/lib-cjs/specs/MapTemplate.nitro.js +2 -0
- package/lib-cjs/specs/MessageTemplate.nitro.js +2 -0
- package/lib-cjs/specs/SearchTemplate.nitro.js +2 -0
- package/lib-cjs/specs/SignInTemplate.nitro.js +2 -0
- package/lib-cjs/specs/Voice.nitro.js +2 -0
- package/lib-cjs/templates/GridTemplate.js +41 -0
- package/lib-cjs/templates/InformationTemplate.js +49 -0
- package/lib-cjs/templates/ListTemplate.js +33 -0
- package/lib-cjs/templates/MapTemplate.js +168 -0
- package/lib-cjs/templates/MessageTemplate.js +50 -0
- package/lib-cjs/templates/SearchTemplate.js +32 -0
- package/lib-cjs/templates/SignInTemplate.js +55 -0
- package/lib-cjs/templates/Template.js +40 -0
- package/lib-cjs/types/Button.js +12 -0
- package/lib-cjs/types/Event.js +2 -0
- package/lib-cjs/types/Image.js +2 -0
- package/lib-cjs/types/Maneuver.js +77 -0
- package/lib-cjs/types/RootComponent.js +2 -0
- package/lib-cjs/types/SignInMethod.js +22 -0
- package/lib-cjs/types/Telemetry.js +24 -0
- package/lib-cjs/types/Text.js +8 -0
- package/lib-cjs/types/Trip.js +2 -0
- package/lib-cjs/types/Voice.js +2 -0
- package/lib-cjs/utils/ErrorUtil.js +34 -0
- package/lib-cjs/utils/NitroAction.js +129 -0
- package/lib-cjs/utils/NitroAlert.js +19 -0
- package/lib-cjs/utils/NitroAttributedString.js +14 -0
- package/lib-cjs/utils/NitroColor.js +32 -0
- package/lib-cjs/utils/NitroGrid.js +12 -0
- package/lib-cjs/utils/NitroImage.js +97 -0
- package/lib-cjs/utils/NitroManeuver.js +79 -0
- package/lib-cjs/utils/NitroMapButton.js +33 -0
- package/lib-cjs/utils/NitroOptionsPanel.js +66 -0
- package/lib-cjs/utils/NitroSection.js +112 -0
- package/nitrogen/generated/android/ReactNativeAutoPlay+autolinking.cmake +1 -0
- package/nitrogen/generated/android/c++/JChargingConnector.hpp +79 -0
- package/nitrogen/generated/android/c++/JGridImageSize.hpp +64 -0
- package/nitrogen/generated/android/c++/JGridTemplateConfig.hpp +7 -1
- package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.cpp +4 -0
- package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.cpp +12 -0
- package/nitrogen/generated/android/c++/JHybridListTemplateSpec.cpp +12 -0
- package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.cpp +78 -3
- package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.hpp +2 -1
- package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.cpp +12 -0
- package/nitrogen/generated/android/c++/JInformationTemplateConfig.hpp +6 -0
- package/nitrogen/generated/android/c++/JListImageType.hpp +67 -0
- package/nitrogen/generated/android/c++/JListTemplateConfig.hpp +6 -0
- package/nitrogen/generated/android/c++/JNitroChargerLocation.hpp +115 -0
- package/nitrogen/generated/android/c++/JNitroChargerOutlet.hpp +82 -0
- package/nitrogen/generated/android/c++/JNitroColor.hpp +8 -4
- package/nitrogen/generated/android/c++/JNitroOptionsPanelChargerSection.hpp +112 -0
- package/nitrogen/generated/android/c++/JNitroOptionsPanelConfig.hpp +157 -0
- package/nitrogen/generated/android/c++/JNitroOptionsPanelGridSection.hpp +102 -0
- package/nitrogen/generated/android/c++/JNitroOptionsPanelSection.cpp +30 -0
- package/nitrogen/generated/android/c++/JNitroOptionsPanelSection.hpp +129 -0
- package/nitrogen/generated/android/c++/JNitroRow.hpp +33 -3
- package/nitrogen/generated/android/c++/JNitroSection.hpp +6 -0
- package/nitrogen/generated/android/c++/JSearchTemplateConfig.hpp +6 -0
- package/nitrogen/generated/android/c++/JWaypointCoordinate.hpp +65 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ChargingConnector.kt +30 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GridImageSize.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/GridTemplateConfig.kt +9 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplateSpec.kt +5 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/ListImageType.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroChargerLocation.kt +90 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroChargerOutlet.kt +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroColor.kt +9 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroOptionsPanelChargerSection.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroOptionsPanelConfig.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroOptionsPanelGridSection.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroOptionsPanelSection.kt +75 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroRow.kt +36 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/WaypointCoordinate.kt +61 -0
- package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.hpp +174 -0
- package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Umbrella.hpp +27 -0
- package/nitrogen/generated/ios/c++/HybridGridTemplateSpecSwift.hpp +3 -0
- package/nitrogen/generated/ios/c++/HybridInformationTemplateSpecSwift.hpp +9 -0
- package/nitrogen/generated/ios/c++/HybridListTemplateSpecSwift.hpp +9 -0
- package/nitrogen/generated/ios/c++/HybridMapTemplateSpecSwift.hpp +47 -1
- package/nitrogen/generated/ios/c++/HybridSearchTemplateSpecSwift.hpp +9 -0
- package/nitrogen/generated/ios/swift/ChargingConnector.swift +68 -0
- package/nitrogen/generated/ios/swift/GridImageSize.swift +48 -0
- package/nitrogen/generated/ios/swift/GridTemplateConfig.swift +12 -1
- package/nitrogen/generated/ios/swift/HybridMapTemplateSpec.swift +2 -1
- package/nitrogen/generated/ios/swift/HybridMapTemplateSpec_cxx.swift +31 -4
- package/nitrogen/generated/ios/swift/ListImageType.swift +52 -0
- package/nitrogen/generated/ios/swift/NitroChargerLocation.swift +161 -0
- package/nitrogen/generated/ios/swift/NitroChargerOutlet.swift +65 -0
- package/nitrogen/generated/ios/swift/NitroColor.swift +20 -2
- package/nitrogen/generated/ios/swift/NitroOptionsPanelChargerSection.swift +64 -0
- package/nitrogen/generated/ios/swift/NitroOptionsPanelConfig.swift +94 -0
- package/nitrogen/generated/ios/swift/NitroOptionsPanelGridSection.swift +53 -0
- package/nitrogen/generated/ios/swift/NitroOptionsPanelSection.swift +32 -0
- package/nitrogen/generated/ios/swift/NitroRow.swift +81 -1
- package/nitrogen/generated/ios/swift/WaypointCoordinate.swift +52 -0
- package/nitrogen/generated/shared/c++/ChargingConnector.hpp +104 -0
- package/nitrogen/generated/shared/c++/GridImageSize.hpp +84 -0
- package/nitrogen/generated/shared/c++/GridTemplateConfig.hpp +8 -1
- package/nitrogen/generated/shared/c++/HybridMapTemplateSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridMapTemplateSpec.hpp +5 -1
- package/nitrogen/generated/shared/c++/ListImageType.hpp +88 -0
- package/nitrogen/generated/shared/c++/NitroChargerLocation.hpp +131 -0
- package/nitrogen/generated/shared/c++/NitroChargerOutlet.hpp +98 -0
- package/nitrogen/generated/shared/c++/NitroColor.hpp +7 -3
- package/nitrogen/generated/shared/c++/NitroOptionsPanelChargerSection.hpp +98 -0
- package/nitrogen/generated/shared/c++/NitroOptionsPanelConfig.hpp +107 -0
- package/nitrogen/generated/shared/c++/NitroOptionsPanelGridSection.hpp +91 -0
- package/nitrogen/generated/shared/c++/NitroRow.hpp +39 -2
- package/nitrogen/generated/shared/c++/WaypointCoordinate.hpp +91 -0
- package/package.json +7 -3
- package/src/Constants.ts +9 -0
- package/src/index.ts +1 -0
- package/src/index.web.ts +166 -0
- package/src/specs/MapTemplate.nitro.ts +3 -1
- package/src/templates/GridTemplate.ts +38 -3
- package/src/templates/InformationTemplate.ts +60 -29
- package/src/templates/ListTemplate.ts +27 -55
- package/src/templates/MapTemplate.ts +60 -2
- package/src/templates/MessageTemplate.ts +71 -24
- package/src/types/Image.ts +6 -1
- package/src/utils/NitroColor.ts +10 -1
- package/src/utils/NitroImage.ts +1 -5
- package/src/utils/NitroManeuver.ts +1 -4
- package/src/utils/NitroOptionsPanel.ts +218 -0
- package/src/utils/NitroSection.ts +160 -5
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NitroManeuverUtil = void 0;
|
|
4
|
+
const Maneuver_1 = require("../types/Maneuver");
|
|
5
|
+
const NitroColor_1 = require("./NitroColor");
|
|
6
|
+
const NitroImage_1 = require("./NitroImage");
|
|
7
|
+
function convertManeuverImage(image) {
|
|
8
|
+
if (image == null) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
if (image.type === 'glyph') {
|
|
12
|
+
const color = typeof image.color === 'string' ? image.color : (image.color ?? 'default');
|
|
13
|
+
return NitroImage_1.NitroImageUtil.convert({
|
|
14
|
+
...image,
|
|
15
|
+
color: color,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return NitroImage_1.NitroImageUtil.convert(image);
|
|
19
|
+
}
|
|
20
|
+
function convert(autoManeuver) {
|
|
21
|
+
if (autoManeuver.type === 'message') {
|
|
22
|
+
const { title, image, text } = autoManeuver;
|
|
23
|
+
return {
|
|
24
|
+
title,
|
|
25
|
+
text,
|
|
26
|
+
image: convertManeuverImage(image),
|
|
27
|
+
cardBackgroundColor: NitroColor_1.NitroColorUtil.convert(autoManeuver.cardBackgroundColor),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const { symbolImage, junctionImage, attributedInstructionVariants, id, maneuverType, trafficSide, travelEstimates, highwayExitLabel, linkedLaneGuidance, roadName, cardBackgroundColor, } = autoManeuver;
|
|
31
|
+
const elementAngles = maneuverType === Maneuver_1.ManeuverType.Turn || maneuverType === Maneuver_1.ManeuverType.Roundabout
|
|
32
|
+
? autoManeuver.elementAngles
|
|
33
|
+
: undefined;
|
|
34
|
+
const angle = maneuverType === Maneuver_1.ManeuverType.Turn || maneuverType === Maneuver_1.ManeuverType.Roundabout
|
|
35
|
+
? autoManeuver.angle
|
|
36
|
+
: undefined;
|
|
37
|
+
const turnType = maneuverType === Maneuver_1.ManeuverType.Turn ? autoManeuver.turnType : undefined;
|
|
38
|
+
const exitNumber = maneuverType === Maneuver_1.ManeuverType.Roundabout ? autoManeuver.exitNumber : undefined;
|
|
39
|
+
const offRampType = maneuverType === Maneuver_1.ManeuverType.OffRamp ? autoManeuver.offRampType : undefined;
|
|
40
|
+
const onRampType = maneuverType === Maneuver_1.ManeuverType.OnRamp ? autoManeuver.onRampType : undefined;
|
|
41
|
+
const forkType = maneuverType === Maneuver_1.ManeuverType.Fork ? autoManeuver.forkType : undefined;
|
|
42
|
+
const keepType = maneuverType === Maneuver_1.ManeuverType.Keep ? autoManeuver.keepType : undefined;
|
|
43
|
+
return {
|
|
44
|
+
id,
|
|
45
|
+
maneuverType,
|
|
46
|
+
trafficSide,
|
|
47
|
+
travelEstimates,
|
|
48
|
+
linkedLaneGuidance: linkedLaneGuidance
|
|
49
|
+
? {
|
|
50
|
+
...linkedLaneGuidance,
|
|
51
|
+
lanes: linkedLaneGuidance.lanes.map((lane) => ({
|
|
52
|
+
...lane,
|
|
53
|
+
image: convertManeuverImage(lane.image),
|
|
54
|
+
})),
|
|
55
|
+
}
|
|
56
|
+
: undefined,
|
|
57
|
+
highwayExitLabel,
|
|
58
|
+
roadName,
|
|
59
|
+
attributedInstructionVariants: attributedInstructionVariants.map((variant) => ({
|
|
60
|
+
text: variant.text,
|
|
61
|
+
images: variant.images?.map(({ image, position }) => ({
|
|
62
|
+
image: convertManeuverImage(image),
|
|
63
|
+
position,
|
|
64
|
+
})),
|
|
65
|
+
})),
|
|
66
|
+
junctionImage: convertManeuverImage(junctionImage),
|
|
67
|
+
symbolImage: convertManeuverImage(symbolImage),
|
|
68
|
+
elementAngles,
|
|
69
|
+
angle,
|
|
70
|
+
turnType,
|
|
71
|
+
exitNumber,
|
|
72
|
+
offRampType,
|
|
73
|
+
onRampType,
|
|
74
|
+
forkType,
|
|
75
|
+
keepType,
|
|
76
|
+
cardBackgroundColor: NitroColor_1.NitroColorUtil.convert(cardBackgroundColor),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
exports.NitroManeuverUtil = { convert };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NitroMapButton = void 0;
|
|
4
|
+
const react_native_1 = require("react-native");
|
|
5
|
+
const NitroImage_1 = require("./NitroImage");
|
|
6
|
+
const convert = (template, mapButtons) => {
|
|
7
|
+
if (mapButtons == null) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
return mapButtons?.map((button) => {
|
|
11
|
+
const { type } = button;
|
|
12
|
+
const onPress = button.type === 'custom' ? () => button.onPress(template) : undefined;
|
|
13
|
+
if (button.image.type === 'glyph') {
|
|
14
|
+
const backgroundColor = react_native_1.Platform.OS === 'android'
|
|
15
|
+
? 'transparent'
|
|
16
|
+
: 'backgroundColor' in button.image
|
|
17
|
+
? button.image.backgroundColor
|
|
18
|
+
: 'transparent';
|
|
19
|
+
const fontScale = button.image.fontScale ?? (react_native_1.Platform.OS === 'android' ? 1.0 : 0.65);
|
|
20
|
+
return {
|
|
21
|
+
type,
|
|
22
|
+
onPress,
|
|
23
|
+
image: NitroImage_1.NitroImageUtil.convert({ ...button.image, backgroundColor, fontScale }),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
type,
|
|
28
|
+
onPress,
|
|
29
|
+
image: NitroImage_1.NitroImageUtil.convert(button.image),
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
exports.NitroMapButton = { convert };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NitroOptionsPanelUtil = void 0;
|
|
4
|
+
const NitroAction_1 = require("./NitroAction");
|
|
5
|
+
const NitroGrid_1 = require("./NitroGrid");
|
|
6
|
+
const NitroImage_1 = require("./NitroImage");
|
|
7
|
+
const NitroSection_1 = require("./NitroSection");
|
|
8
|
+
const isRadioSection = (items) => {
|
|
9
|
+
return items.length > 0 && items.every((item) => item.type === 'radio');
|
|
10
|
+
};
|
|
11
|
+
const convertSection = (template, section) => {
|
|
12
|
+
if (section.type === 'grid') {
|
|
13
|
+
return {
|
|
14
|
+
title: section.title,
|
|
15
|
+
buttons: NitroGrid_1.NitroGridUtil.convert(template, section.buttons),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
if (section.type === 'charger') {
|
|
19
|
+
const { location } = section;
|
|
20
|
+
return {
|
|
21
|
+
title: section.title,
|
|
22
|
+
outlets: section.outlets.map((outlet) => ({
|
|
23
|
+
connector: outlet.connector,
|
|
24
|
+
voltage: outlet.voltage,
|
|
25
|
+
powerKw: outlet.powerKw,
|
|
26
|
+
onPress: outlet.onPress ? () => outlet.onPress?.(template) : undefined,
|
|
27
|
+
})),
|
|
28
|
+
location: location
|
|
29
|
+
? {
|
|
30
|
+
name: location.name,
|
|
31
|
+
address: location.address,
|
|
32
|
+
coordinate: location.coordinate,
|
|
33
|
+
distance: location.travelEstimates.distance,
|
|
34
|
+
duration: location.travelEstimates.duration,
|
|
35
|
+
visible: location.travelEstimates.visible,
|
|
36
|
+
image: NitroImage_1.NitroImageUtil.convert(location.image),
|
|
37
|
+
onPress: location.onPress ? () => location.onPress?.(template) : undefined,
|
|
38
|
+
}
|
|
39
|
+
: undefined,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const { items, title = '' } = section;
|
|
43
|
+
const multiSection = isRadioSection(items)
|
|
44
|
+
? { type: 'radio', title, items }
|
|
45
|
+
: {
|
|
46
|
+
type: 'default',
|
|
47
|
+
title,
|
|
48
|
+
items,
|
|
49
|
+
};
|
|
50
|
+
const [nitroSection] = NitroSection_1.NitroSectionUtil.convert(template, [multiSection]) ?? [];
|
|
51
|
+
if (nitroSection == null) {
|
|
52
|
+
throw new Error('converting sections failed');
|
|
53
|
+
}
|
|
54
|
+
return nitroSection;
|
|
55
|
+
};
|
|
56
|
+
const convert = (template, config) => {
|
|
57
|
+
if (config == null) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
title: config.title,
|
|
62
|
+
sections: config.sections.map((section) => convertSection(template, section)),
|
|
63
|
+
actions: NitroAction_1.NitroActionUtil.convert(template, config.actions),
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
exports.NitroOptionsPanelUtil = { convert };
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NitroSectionUtil = void 0;
|
|
4
|
+
const Text_1 = require("../types/Text");
|
|
5
|
+
const NitroImage_1 = require("./NitroImage");
|
|
6
|
+
const validateRadioItems = (type, items) => {
|
|
7
|
+
if (__DEV__ &&
|
|
8
|
+
type === 'radio' &&
|
|
9
|
+
(items.filter((item) => item.selected).length > 1 || items.every((item) => !item.selected))) {
|
|
10
|
+
throw new Error('radio lists must have one selected item');
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const convert = (template, sections) => {
|
|
14
|
+
if (sections == null) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
if (Array.isArray(sections)) {
|
|
18
|
+
return sections.map((section) => {
|
|
19
|
+
const { title, type } = section;
|
|
20
|
+
const items = section.items.map((item) => convertRow(template, item));
|
|
21
|
+
validateRadioItems(type, items);
|
|
22
|
+
return {
|
|
23
|
+
items,
|
|
24
|
+
type,
|
|
25
|
+
title,
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const items = sections.items.map((item) => convertRow(template, item));
|
|
30
|
+
validateRadioItems(sections.type, items);
|
|
31
|
+
return [
|
|
32
|
+
{
|
|
33
|
+
items,
|
|
34
|
+
type: sections.type,
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* `AutoText.distance`/`.duration` only take effect if `text` actually uses the matching
|
|
40
|
+
* `TextPlaceholders` marker — populate whichever of those the text references, leaving the rest
|
|
41
|
+
* of `text` untouched, so a title/address that doesn't opt in via a placeholder is unaffected.
|
|
42
|
+
*/
|
|
43
|
+
const withTravelEstimates = (text, distance, durationSeconds) => {
|
|
44
|
+
const hasDistance = text.text.includes(Text_1.TextPlaceholders.Distance);
|
|
45
|
+
const hasDuration = text.text.includes(Text_1.TextPlaceholders.Duration);
|
|
46
|
+
if (!hasDistance && !hasDuration) {
|
|
47
|
+
return text;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
...text,
|
|
51
|
+
distance: hasDistance ? distance : text.distance,
|
|
52
|
+
duration: hasDuration ? durationSeconds : text.duration,
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
const convertRow = (template, item) => {
|
|
56
|
+
const { type, enabled = true, image, imageType } = item;
|
|
57
|
+
// `WaypointRow` has no `detailedText` of its own — `address` doubles as the detail line
|
|
58
|
+
// whenever this falls back to a plain row (non-panel context, Android).
|
|
59
|
+
let title = item.title;
|
|
60
|
+
let detailedText = item.type === 'waypoint'
|
|
61
|
+
? item.address != null
|
|
62
|
+
? { text: item.address }
|
|
63
|
+
: undefined
|
|
64
|
+
: 'detailedText' in item
|
|
65
|
+
? item.detailedText
|
|
66
|
+
: undefined;
|
|
67
|
+
// Opt-in only: a title/address using `{distance}`/`{duration}` gets those values filled in,
|
|
68
|
+
// via the same substitution `AutoText` already does everywhere else — no separate "estimate"
|
|
69
|
+
// UI element needed for a row embedded in a list alongside other rows. Deliberately NOT gated
|
|
70
|
+
// on `travelEstimates.visible` — that flag only controls the panel-only sibling
|
|
71
|
+
// `CPTravelEstimates` item (see `Parser.swift`'s `travelEstimatesVisible` check), which has no
|
|
72
|
+
// bearing on the non-panel/Android fallback text this feeds; a placeholder in the text is
|
|
73
|
+
// already its own explicit opt-in regardless of `visible`.
|
|
74
|
+
if (item.type === 'waypoint') {
|
|
75
|
+
const { distance, duration } = item.travelEstimates;
|
|
76
|
+
title = withTravelEstimates(title, distance, duration.seconds);
|
|
77
|
+
if (detailedText != null) {
|
|
78
|
+
detailedText = withTravelEstimates(detailedText, distance, duration.seconds);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const selected = type === 'radio' ? (item.selected ?? false) : undefined;
|
|
82
|
+
const onTogglePress = item.type === 'toggle' ? item.onPress : undefined;
|
|
83
|
+
const onRowPress = item.type !== 'text' && item.type !== 'toggle' ? item.onPress : undefined;
|
|
84
|
+
const onPress = item.type === 'text'
|
|
85
|
+
? undefined
|
|
86
|
+
: (checked) => {
|
|
87
|
+
if (onTogglePress != null && checked != null) {
|
|
88
|
+
onTogglePress(template, checked);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (onRowPress != null) {
|
|
92
|
+
onRowPress(template);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
return {
|
|
96
|
+
browsable: type === 'default' ? item.browsable : undefined,
|
|
97
|
+
detailedText,
|
|
98
|
+
enabled,
|
|
99
|
+
image: NitroImage_1.NitroImageUtil.convert(image),
|
|
100
|
+
imageType,
|
|
101
|
+
title,
|
|
102
|
+
checked: type === 'toggle' ? item.checked : undefined,
|
|
103
|
+
onPress,
|
|
104
|
+
selected,
|
|
105
|
+
coordinate: item.type === 'waypoint' ? item.coordinate : undefined,
|
|
106
|
+
distance: item.type === 'waypoint' ? item.travelEstimates.distance : undefined,
|
|
107
|
+
duration: item.type === 'waypoint' ? item.travelEstimates.duration : undefined,
|
|
108
|
+
travelEstimatesVisible: item.type === 'waypoint' ? item.travelEstimates.visible : undefined,
|
|
109
|
+
address: item.type === 'waypoint' ? item.address : undefined,
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
exports.NitroSectionUtil = { convert };
|
|
@@ -61,6 +61,7 @@ target_sources(
|
|
|
61
61
|
../nitrogen/generated/android/c++/JHybridMapTemplateSpec.cpp
|
|
62
62
|
../nitrogen/generated/android/c++/JNitroManeuver.cpp
|
|
63
63
|
../nitrogen/generated/android/c++/JVariant_PreferredImageLane_ImageLane.cpp
|
|
64
|
+
../nitrogen/generated/android/c++/JNitroOptionsPanelSection.cpp
|
|
64
65
|
../nitrogen/generated/android/c++/JHybridMessageTemplateSpec.cpp
|
|
65
66
|
../nitrogen/generated/android/c++/JHybridSearchTemplateSpec.cpp
|
|
66
67
|
../nitrogen/generated/android/c++/JHybridSignInTemplateSpec.cpp
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JChargingConnector.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "ChargingConnector.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::swe::iternio::reactnativeautoplay {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "ChargingConnector" and the the Kotlin enum "ChargingConnector".
|
|
19
|
+
*/
|
|
20
|
+
struct JChargingConnector final: public jni::JavaClass<JChargingConnector> {
|
|
21
|
+
public:
|
|
22
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/ChargingConnector;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum ChargingConnector.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
ChargingConnector toCpp() const {
|
|
31
|
+
static const auto clazz = javaClassStatic();
|
|
32
|
+
static const auto fieldOrdinal = clazz->getField<int>("value");
|
|
33
|
+
int ordinal = this->getFieldValue(fieldOrdinal);
|
|
34
|
+
return static_cast<ChargingConnector>(ordinal);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Create a Java/Kotlin-based enum with the given C++ enum's value.
|
|
40
|
+
*/
|
|
41
|
+
[[maybe_unused]]
|
|
42
|
+
static jni::alias_ref<JChargingConnector> fromCpp(ChargingConnector value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
switch (value) {
|
|
45
|
+
case ChargingConnector::CCS1:
|
|
46
|
+
static const auto fieldCCS1 = clazz->getStaticField<JChargingConnector>("CCS1");
|
|
47
|
+
return clazz->getStaticFieldValue(fieldCCS1);
|
|
48
|
+
case ChargingConnector::CCS2:
|
|
49
|
+
static const auto fieldCCS2 = clazz->getStaticField<JChargingConnector>("CCS2");
|
|
50
|
+
return clazz->getStaticFieldValue(fieldCCS2);
|
|
51
|
+
case ChargingConnector::J1772:
|
|
52
|
+
static const auto fieldJ1772 = clazz->getStaticField<JChargingConnector>("J1772");
|
|
53
|
+
return clazz->getStaticFieldValue(fieldJ1772);
|
|
54
|
+
case ChargingConnector::CHADEMO:
|
|
55
|
+
static const auto fieldCHADEMO = clazz->getStaticField<JChargingConnector>("CHADEMO");
|
|
56
|
+
return clazz->getStaticFieldValue(fieldCHADEMO);
|
|
57
|
+
case ChargingConnector::MENNEKES:
|
|
58
|
+
static const auto fieldMENNEKES = clazz->getStaticField<JChargingConnector>("MENNEKES");
|
|
59
|
+
return clazz->getStaticFieldValue(fieldMENNEKES);
|
|
60
|
+
case ChargingConnector::GBTDC:
|
|
61
|
+
static const auto fieldGBTDC = clazz->getStaticField<JChargingConnector>("GBTDC");
|
|
62
|
+
return clazz->getStaticFieldValue(fieldGBTDC);
|
|
63
|
+
case ChargingConnector::GBTAC:
|
|
64
|
+
static const auto fieldGBTAC = clazz->getStaticField<JChargingConnector>("GBTAC");
|
|
65
|
+
return clazz->getStaticFieldValue(fieldGBTAC);
|
|
66
|
+
case ChargingConnector::NACSDC:
|
|
67
|
+
static const auto fieldNACSDC = clazz->getStaticField<JChargingConnector>("NACSDC");
|
|
68
|
+
return clazz->getStaticFieldValue(fieldNACSDC);
|
|
69
|
+
case ChargingConnector::NACSAC:
|
|
70
|
+
static const auto fieldNACSAC = clazz->getStaticField<JChargingConnector>("NACSAC");
|
|
71
|
+
return clazz->getStaticFieldValue(fieldNACSAC);
|
|
72
|
+
default:
|
|
73
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
74
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
} // namespace margelo::nitro::swe::iternio::reactnativeautoplay
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JGridImageSize.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "GridImageSize.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::swe::iternio::reactnativeautoplay {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "GridImageSize" and the the Kotlin enum "GridImageSize".
|
|
19
|
+
*/
|
|
20
|
+
struct JGridImageSize final: public jni::JavaClass<JGridImageSize> {
|
|
21
|
+
public:
|
|
22
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/swe/iternio/reactnativeautoplay/GridImageSize;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum GridImageSize.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
GridImageSize toCpp() const {
|
|
31
|
+
static const auto clazz = javaClassStatic();
|
|
32
|
+
static const auto fieldOrdinal = clazz->getField<int>("value");
|
|
33
|
+
int ordinal = this->getFieldValue(fieldOrdinal);
|
|
34
|
+
return static_cast<GridImageSize>(ordinal);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Create a Java/Kotlin-based enum with the given C++ enum's value.
|
|
40
|
+
*/
|
|
41
|
+
[[maybe_unused]]
|
|
42
|
+
static jni::alias_ref<JGridImageSize> fromCpp(GridImageSize value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
switch (value) {
|
|
45
|
+
case GridImageSize::UNSET:
|
|
46
|
+
static const auto fieldUNSET = clazz->getStaticField<JGridImageSize>("UNSET");
|
|
47
|
+
return clazz->getStaticFieldValue(fieldUNSET);
|
|
48
|
+
case GridImageSize::LARGE:
|
|
49
|
+
static const auto fieldLARGE = clazz->getStaticField<JGridImageSize>("LARGE");
|
|
50
|
+
return clazz->getStaticFieldValue(fieldLARGE);
|
|
51
|
+
case GridImageSize::MEDIUM:
|
|
52
|
+
static const auto fieldMEDIUM = clazz->getStaticField<JGridImageSize>("MEDIUM");
|
|
53
|
+
return clazz->getStaticFieldValue(fieldMEDIUM);
|
|
54
|
+
case GridImageSize::SMALL:
|
|
55
|
+
static const auto fieldSMALL = clazz->getStaticField<JGridImageSize>("SMALL");
|
|
56
|
+
return clazz->getStaticFieldValue(fieldSMALL);
|
|
57
|
+
default:
|
|
58
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
59
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
} // namespace margelo::nitro::swe::iternio::reactnativeautoplay
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
#include "Distance.hpp"
|
|
16
16
|
#include "DistanceUnits.hpp"
|
|
17
17
|
#include "GlyphImage.hpp"
|
|
18
|
+
#include "GridImageSize.hpp"
|
|
18
19
|
#include "JAssetImage.hpp"
|
|
19
20
|
#include "JAutoText.hpp"
|
|
20
21
|
#include "JDistance.hpp"
|
|
@@ -23,6 +24,7 @@
|
|
|
23
24
|
#include "JFunc_void_bool.hpp"
|
|
24
25
|
#include "JFunc_void_std__optional_bool_.hpp"
|
|
25
26
|
#include "JGlyphImage.hpp"
|
|
27
|
+
#include "JGridImageSize.hpp"
|
|
26
28
|
#include "JNitroAction.hpp"
|
|
27
29
|
#include "JNitroActionType.hpp"
|
|
28
30
|
#include "JNitroAlignment.hpp"
|
|
@@ -91,6 +93,8 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
|
|
|
91
93
|
jni::local_ref<JAutoText> title = this->getFieldValue(fieldTitle);
|
|
92
94
|
static const auto fieldButtons = clazz->getField<jni::JArrayClass<JNitroGridButton>>("buttons");
|
|
93
95
|
jni::local_ref<jni::JArrayClass<JNitroGridButton>> buttons = this->getFieldValue(fieldButtons);
|
|
96
|
+
static const auto fieldImageSize = clazz->getField<JGridImageSize>("imageSize");
|
|
97
|
+
jni::local_ref<JGridImageSize> imageSize = this->getFieldValue(fieldImageSize);
|
|
94
98
|
static const auto fieldMapConfig = clazz->getField<JNitroBaseMapTemplateConfig>("mapConfig");
|
|
95
99
|
jni::local_ref<JNitroBaseMapTemplateConfig> mapConfig = this->getFieldValue(fieldMapConfig);
|
|
96
100
|
return GridTemplateConfig(
|
|
@@ -162,6 +166,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
|
|
|
162
166
|
}
|
|
163
167
|
return __vector;
|
|
164
168
|
}(buttons),
|
|
169
|
+
imageSize != nullptr ? std::make_optional(imageSize->toCpp()) : std::nullopt,
|
|
165
170
|
mapConfig != nullptr ? std::make_optional(mapConfig->toCpp()) : std::nullopt
|
|
166
171
|
);
|
|
167
172
|
}
|
|
@@ -172,7 +177,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
|
|
|
172
177
|
*/
|
|
173
178
|
[[maybe_unused]]
|
|
174
179
|
static jni::local_ref<JGridTemplateConfig::javaobject> fromCpp(const GridTemplateConfig& value) {
|
|
175
|
-
using JSignature = JGridTemplateConfig(jni::alias_ref<jni::JString>, jni::alias_ref<JFunc_void_std__optional_bool_::javaobject>, jni::alias_ref<JFunc_void_std__optional_bool_::javaobject>, jni::alias_ref<JFunc_void_std__optional_bool_::javaobject>, jni::alias_ref<JFunc_void_std__optional_bool_::javaobject>, jni::alias_ref<JFunc_void::javaobject>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JArrayClass<JNitroAction>>, jni::alias_ref<JAutoText>, jni::alias_ref<jni::JArrayClass<JNitroGridButton>>, jni::alias_ref<JNitroBaseMapTemplateConfig>);
|
|
180
|
+
using JSignature = JGridTemplateConfig(jni::alias_ref<jni::JString>, jni::alias_ref<JFunc_void_std__optional_bool_::javaobject>, jni::alias_ref<JFunc_void_std__optional_bool_::javaobject>, jni::alias_ref<JFunc_void_std__optional_bool_::javaobject>, jni::alias_ref<JFunc_void_std__optional_bool_::javaobject>, jni::alias_ref<JFunc_void::javaobject>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JArrayClass<JNitroAction>>, jni::alias_ref<JAutoText>, jni::alias_ref<jni::JArrayClass<JNitroGridButton>>, jni::alias_ref<JGridImageSize>, jni::alias_ref<JNitroBaseMapTemplateConfig>);
|
|
176
181
|
static const auto clazz = javaClassStatic();
|
|
177
182
|
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
178
183
|
return create(
|
|
@@ -205,6 +210,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
|
|
|
205
210
|
}
|
|
206
211
|
return __array;
|
|
207
212
|
}(value.buttons),
|
|
213
|
+
value.imageSize.has_value() ? JGridImageSize::fromCpp(value.imageSize.value()) : nullptr,
|
|
208
214
|
value.mapConfig.has_value() ? JNitroBaseMapTemplateConfig::fromCpp(value.mapConfig.value()) : nullptr
|
|
209
215
|
);
|
|
210
216
|
}
|
|
@@ -33,6 +33,8 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct Distance; }
|
|
|
33
33
|
namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class DistanceUnits; }
|
|
34
34
|
// Forward declaration of `NitroGridButton` to properly resolve imports.
|
|
35
35
|
namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroGridButton; }
|
|
36
|
+
// Forward declaration of `GridImageSize` to properly resolve imports.
|
|
37
|
+
namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class GridImageSize; }
|
|
36
38
|
// Forward declaration of `NitroBaseMapTemplateConfig` to properly resolve imports.
|
|
37
39
|
namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroBaseMapTemplateConfig; }
|
|
38
40
|
// Forward declaration of `NitroMapButton` to properly resolve imports.
|
|
@@ -79,6 +81,8 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class NitroMa
|
|
|
79
81
|
#include "NitroGridButton.hpp"
|
|
80
82
|
#include "JNitroGridButton.hpp"
|
|
81
83
|
#include "JNitroImage.hpp"
|
|
84
|
+
#include "GridImageSize.hpp"
|
|
85
|
+
#include "JGridImageSize.hpp"
|
|
82
86
|
#include "NitroBaseMapTemplateConfig.hpp"
|
|
83
87
|
#include "JNitroBaseMapTemplateConfig.hpp"
|
|
84
88
|
#include "NitroMapButton.hpp"
|
|
@@ -35,6 +35,12 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class Distanc
|
|
|
35
35
|
namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroSection; }
|
|
36
36
|
// Forward declaration of `NitroRow` to properly resolve imports.
|
|
37
37
|
namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroRow; }
|
|
38
|
+
// Forward declaration of `ListImageType` to properly resolve imports.
|
|
39
|
+
namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class ListImageType; }
|
|
40
|
+
// Forward declaration of `WaypointCoordinate` to properly resolve imports.
|
|
41
|
+
namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct WaypointCoordinate; }
|
|
42
|
+
// Forward declaration of `DurationWithTimeZone` to properly resolve imports.
|
|
43
|
+
namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct DurationWithTimeZone; }
|
|
38
44
|
// Forward declaration of `NitroSectionType` to properly resolve imports.
|
|
39
45
|
namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class NitroSectionType; }
|
|
40
46
|
// Forward declaration of `NitroBaseMapTemplateConfig` to properly resolve imports.
|
|
@@ -84,6 +90,12 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class NitroMa
|
|
|
84
90
|
#include "JNitroSection.hpp"
|
|
85
91
|
#include "NitroRow.hpp"
|
|
86
92
|
#include "JNitroRow.hpp"
|
|
93
|
+
#include "ListImageType.hpp"
|
|
94
|
+
#include "JListImageType.hpp"
|
|
95
|
+
#include "WaypointCoordinate.hpp"
|
|
96
|
+
#include "JWaypointCoordinate.hpp"
|
|
97
|
+
#include "DurationWithTimeZone.hpp"
|
|
98
|
+
#include "JDurationWithTimeZone.hpp"
|
|
87
99
|
#include "NitroSectionType.hpp"
|
|
88
100
|
#include "JNitroSectionType.hpp"
|
|
89
101
|
#include "NitroBaseMapTemplateConfig.hpp"
|
|
@@ -35,6 +35,12 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class Distanc
|
|
|
35
35
|
namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroSection; }
|
|
36
36
|
// Forward declaration of `NitroRow` to properly resolve imports.
|
|
37
37
|
namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct NitroRow; }
|
|
38
|
+
// Forward declaration of `ListImageType` to properly resolve imports.
|
|
39
|
+
namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class ListImageType; }
|
|
40
|
+
// Forward declaration of `WaypointCoordinate` to properly resolve imports.
|
|
41
|
+
namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct WaypointCoordinate; }
|
|
42
|
+
// Forward declaration of `DurationWithTimeZone` to properly resolve imports.
|
|
43
|
+
namespace margelo::nitro::swe::iternio::reactnativeautoplay { struct DurationWithTimeZone; }
|
|
38
44
|
// Forward declaration of `NitroSectionType` to properly resolve imports.
|
|
39
45
|
namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class NitroSectionType; }
|
|
40
46
|
// Forward declaration of `NitroBaseMapTemplateConfig` to properly resolve imports.
|
|
@@ -84,6 +90,12 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay { enum class NitroMa
|
|
|
84
90
|
#include "JNitroSection.hpp"
|
|
85
91
|
#include "NitroRow.hpp"
|
|
86
92
|
#include "JNitroRow.hpp"
|
|
93
|
+
#include "ListImageType.hpp"
|
|
94
|
+
#include "JListImageType.hpp"
|
|
95
|
+
#include "WaypointCoordinate.hpp"
|
|
96
|
+
#include "JWaypointCoordinate.hpp"
|
|
97
|
+
#include "DurationWithTimeZone.hpp"
|
|
98
|
+
#include "JDurationWithTimeZone.hpp"
|
|
87
99
|
#include "NitroSectionType.hpp"
|
|
88
100
|
#include "JNitroSectionType.hpp"
|
|
89
101
|
#include "NitroBaseMapTemplateConfig.hpp"
|