@ohos-ports/react-native-navigation 8.9.0-beta.12 → 8.9.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -11
- package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt +212 -0
- package/lib/module/ARCHITECTURE.md +331 -0
- package/lib/module/Mock/Application.js +33 -0
- package/lib/module/Mock/Application.js.map +1 -0
- package/lib/module/Mock/ComponentProps.js +4 -0
- package/lib/module/Mock/ComponentProps.js.map +1 -0
- package/lib/module/Mock/Components/BottomTabs.js +16 -0
- package/lib/module/Mock/Components/BottomTabs.js.map +1 -0
- package/lib/module/Mock/Components/ComponentScreen.js +101 -0
- package/lib/module/Mock/Components/ComponentScreen.js.map +1 -0
- package/lib/module/Mock/Components/LayoutComponent.js +50 -0
- package/lib/module/Mock/Components/LayoutComponent.js.map +1 -0
- package/lib/module/Mock/Components/Modals.js +22 -0
- package/lib/module/Mock/Components/Modals.js.map +1 -0
- package/lib/module/Mock/Components/NavigationButton.js +72 -0
- package/lib/module/Mock/Components/NavigationButton.js.map +1 -0
- package/lib/module/Mock/Components/Overlays.js +23 -0
- package/lib/module/Mock/Components/Overlays.js.map +1 -0
- package/lib/module/Mock/Components/SideMenu.js +29 -0
- package/lib/module/Mock/Components/SideMenu.js.map +1 -0
- package/lib/module/Mock/Components/Stack.js +18 -0
- package/lib/module/Mock/Components/Stack.js.map +1 -0
- package/lib/module/Mock/Components/TopBar.js +81 -0
- package/lib/module/Mock/Components/TopBar.js.map +1 -0
- package/lib/module/Mock/Layouts/BottomTabsNode.js +30 -0
- package/lib/module/Mock/Layouts/BottomTabsNode.js.map +1 -0
- package/lib/module/Mock/Layouts/ComponentNode.js +102 -0
- package/lib/module/Mock/Layouts/ComponentNode.js.map +1 -0
- package/lib/module/Mock/Layouts/LayoutNodeFactory.js +28 -0
- package/lib/module/Mock/Layouts/LayoutNodeFactory.js.map +1 -0
- package/lib/module/Mock/Layouts/Node.js +14 -0
- package/lib/module/Mock/Layouts/Node.js.map +1 -0
- package/lib/module/Mock/Layouts/ParentNode.js +66 -0
- package/lib/module/Mock/Layouts/ParentNode.js.map +1 -0
- package/lib/module/Mock/Layouts/SideMenu.js +72 -0
- package/lib/module/Mock/Layouts/SideMenu.js.map +1 -0
- package/lib/module/Mock/Layouts/StackNode.js +12 -0
- package/lib/module/Mock/Layouts/StackNode.js.map +1 -0
- package/lib/module/Mock/Stores/EventsStore.js +53 -0
- package/lib/module/Mock/Stores/EventsStore.js.map +1 -0
- package/lib/{cjs → module}/Mock/Stores/LayoutStore.js +24 -56
- package/lib/module/Mock/Stores/LayoutStore.js.map +1 -0
- package/lib/module/Mock/actions/layoutActions.js +19 -0
- package/lib/module/Mock/actions/layoutActions.js.map +1 -0
- package/lib/module/Mock/connect.js +8 -0
- package/lib/module/Mock/connect.js.map +1 -0
- package/lib/module/Mock/constants.js +5 -0
- package/lib/module/Mock/constants.js.map +1 -0
- package/lib/module/Mock/index.js +20 -0
- package/lib/module/Mock/index.js.map +1 -0
- package/lib/module/Mock/mocks/AppRegistryService.js +6 -0
- package/lib/module/Mock/mocks/AppRegistryService.js.map +1 -0
- package/lib/module/Mock/mocks/NativeCommandsSender.js +146 -0
- package/lib/module/Mock/mocks/NativeCommandsSender.js.map +1 -0
- package/lib/module/Mock/mocks/NativeEventsReceiver.js +103 -0
- package/lib/module/Mock/mocks/NativeEventsReceiver.js.map +1 -0
- package/lib/module/Navigation.js +250 -0
- package/lib/module/Navigation.js.map +1 -0
- package/lib/{cjs → module}/NavigationDelegate.js +34 -33
- package/lib/module/NavigationDelegate.js.map +1 -0
- package/lib/module/adapters/AndroidCustomRowForwarder.js +75 -0
- package/lib/module/adapters/AndroidCustomRowForwarder.js.map +1 -0
- package/lib/module/adapters/AppRegistryService.js +9 -0
- package/lib/module/adapters/AppRegistryService.js.map +1 -0
- package/lib/module/adapters/AssetResolver.js +9 -0
- package/lib/module/adapters/AssetResolver.js.map +1 -0
- package/lib/module/adapters/ColorService.js +9 -0
- package/lib/module/adapters/ColorService.js.map +1 -0
- package/lib/module/adapters/Constants.js +19 -0
- package/lib/module/adapters/Constants.js.map +1 -0
- package/lib/{cjs → module}/adapters/NativeCommandsSender.js +5 -39
- package/lib/module/adapters/NativeCommandsSender.js.map +1 -0
- package/lib/module/adapters/NativeEventsReceiver.js +65 -0
- package/lib/module/adapters/NativeEventsReceiver.js.map +1 -0
- package/lib/module/adapters/NativeEventsReceiver.mock.js +6 -0
- package/lib/module/adapters/NativeEventsReceiver.mock.js.map +1 -0
- package/lib/module/adapters/NativeRNNTurboEventEmitter.js +7 -0
- package/lib/module/adapters/NativeRNNTurboEventEmitter.js.map +1 -0
- package/lib/module/adapters/NativeRNNTurboModule.js +6 -0
- package/lib/module/adapters/NativeRNNTurboModule.js.map +1 -0
- package/lib/module/adapters/TouchablePreview.js +115 -0
- package/lib/module/adapters/TouchablePreview.js.map +1 -0
- package/lib/module/adapters/UniqueIdProvider.js +9 -0
- package/lib/module/adapters/UniqueIdProvider.js.map +1 -0
- package/lib/module/commands/Commands.js +241 -0
- package/lib/module/commands/Commands.js.map +1 -0
- package/lib/module/commands/Commands.test.js +759 -0
- package/lib/module/commands/Commands.test.js.map +1 -0
- package/lib/module/commands/Deprecations.js +66 -0
- package/lib/module/commands/Deprecations.js.map +1 -0
- package/lib/module/commands/LayoutTreeCrawler.js +32 -0
- package/lib/module/commands/LayoutTreeCrawler.js.map +1 -0
- package/lib/module/commands/LayoutTreeCrawler.test.js +82 -0
- package/lib/module/commands/LayoutTreeCrawler.test.js.map +1 -0
- package/lib/module/commands/LayoutTreeParser.js +130 -0
- package/lib/module/commands/LayoutTreeParser.js.map +1 -0
- package/lib/module/commands/LayoutTreeParser.test.js +359 -0
- package/lib/module/commands/LayoutTreeParser.test.js.map +1 -0
- package/lib/module/commands/LayoutType.js +16 -0
- package/lib/module/commands/LayoutType.js.map +1 -0
- package/lib/module/commands/LayoutType.test.js +12 -0
- package/lib/module/commands/LayoutType.test.js.map +1 -0
- package/lib/module/commands/OptionsCrawler.js +72 -0
- package/lib/module/commands/OptionsCrawler.js.map +1 -0
- package/lib/module/commands/OptionsCrawler.test.js +351 -0
- package/lib/module/commands/OptionsCrawler.test.js.map +1 -0
- package/lib/{cjs → module}/commands/OptionsProcessor.js +67 -102
- package/lib/module/commands/OptionsProcessor.js.map +1 -0
- package/lib/module/commands/OptionsProcessor.test.js +1234 -0
- package/lib/module/commands/OptionsProcessor.test.js.map +1 -0
- package/lib/{cjs → module}/components/ComponentRegistry.js +3 -27
- package/lib/module/components/ComponentRegistry.js.map +1 -0
- package/lib/module/components/ComponentRegistry.test.js +57 -0
- package/lib/module/components/ComponentRegistry.test.js.map +1 -0
- package/lib/module/components/ComponentWrapper.js +80 -0
- package/lib/module/components/ComponentWrapper.js.map +1 -0
- package/lib/module/components/ComponentWrapper.test.js +333 -0
- package/lib/module/components/ComponentWrapper.test.js.map +1 -0
- package/lib/module/components/Modal.js +125 -0
- package/lib/module/components/Modal.js.map +1 -0
- package/lib/{cjs → module}/components/Store.js +3 -27
- package/lib/module/components/Store.js.map +1 -0
- package/lib/module/components/Store.test.js +148 -0
- package/lib/module/components/Store.test.js.map +1 -0
- package/lib/module/events/CommandsObserver.js +19 -0
- package/lib/module/events/CommandsObserver.js.map +1 -0
- package/lib/module/events/CommandsObserver.test.js +43 -0
- package/lib/module/events/CommandsObserver.test.js.map +1 -0
- package/lib/module/events/ComponentEventsObserver.js +94 -0
- package/lib/module/events/ComponentEventsObserver.js.map +1 -0
- package/lib/module/events/ComponentEventsObserver.test.js +391 -0
- package/lib/module/events/ComponentEventsObserver.test.js.map +1 -0
- package/lib/{cjs → module}/events/EventsRegistry.js +3 -27
- package/lib/module/events/EventsRegistry.js.map +1 -0
- package/lib/module/events/EventsRegistry.test.js +131 -0
- package/lib/module/events/EventsRegistry.test.js.map +1 -0
- package/lib/module/index.js +22 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/interfaces/CommandName.js +22 -0
- package/lib/module/interfaces/CommandName.js.map +1 -0
- package/lib/module/interfaces/ComponentEvents.js +2 -0
- package/lib/module/interfaces/ComponentEvents.js.map +1 -0
- package/lib/module/interfaces/EventSubscription.js +2 -0
- package/lib/module/interfaces/EventSubscription.js.map +1 -0
- package/lib/module/interfaces/Events.js +2 -0
- package/lib/module/interfaces/Events.js.map +1 -0
- package/lib/module/interfaces/Layout.js +4 -0
- package/lib/module/interfaces/Layout.js.map +1 -0
- package/lib/module/interfaces/NavigationComponent.js +21 -0
- package/lib/module/interfaces/NavigationComponent.js.map +1 -0
- package/lib/module/interfaces/NavigationComponentListener.js +4 -0
- package/lib/module/interfaces/NavigationComponentListener.js.map +1 -0
- package/lib/module/interfaces/NavigationComponentProps.js +2 -0
- package/lib/module/interfaces/NavigationComponentProps.js.map +1 -0
- package/lib/module/interfaces/NavigationFunctionComponent.js +4 -0
- package/lib/module/interfaces/NavigationFunctionComponent.js.map +1 -0
- package/lib/module/interfaces/Options.js +47 -0
- package/lib/module/interfaces/Options.js.map +1 -0
- package/lib/module/interfaces/ProcessorSubscription.js +2 -0
- package/lib/module/interfaces/ProcessorSubscription.js.map +1 -0
- package/lib/module/interfaces/Processors.js +4 -0
- package/lib/module/interfaces/Processors.js.map +1 -0
- package/lib/module/linking/DeferredLinkQueue.js +52 -0
- package/lib/module/linking/DeferredLinkQueue.js.map +1 -0
- package/lib/module/linking/DeferredLinkQueue.test.js +54 -0
- package/lib/module/linking/DeferredLinkQueue.test.js.map +1 -0
- package/lib/{cjs → module}/linking/LinkingHandler.js +43 -40
- package/lib/module/linking/LinkingHandler.js.map +1 -0
- package/lib/module/linking/LinkingHandler.test.js +384 -0
- package/lib/module/linking/LinkingHandler.test.js.map +1 -0
- package/lib/module/linking/ModalLayoutBuilder.js +56 -0
- package/lib/module/linking/ModalLayoutBuilder.js.map +1 -0
- package/lib/module/linking/ModalLayoutBuilder.test.js +154 -0
- package/lib/module/linking/ModalLayoutBuilder.test.js.map +1 -0
- package/lib/{cjs → module}/linking/RouteMatcher.js +15 -31
- package/lib/module/linking/RouteMatcher.js.map +1 -0
- package/lib/module/linking/RouteMatcher.test.js +164 -0
- package/lib/module/linking/RouteMatcher.test.js.map +1 -0
- package/lib/module/linking/URLParser.js +56 -0
- package/lib/module/linking/URLParser.js.map +1 -0
- package/lib/module/linking/URLParser.test.js +100 -0
- package/lib/module/linking/URLParser.test.js.map +1 -0
- package/lib/module/linking/types.js +4 -0
- package/lib/module/linking/types.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/processors/LayoutProcessor.js +15 -0
- package/lib/module/processors/LayoutProcessor.js.map +1 -0
- package/lib/module/processors/LayoutProcessor.test.js +53 -0
- package/lib/module/processors/LayoutProcessor.test.js.map +1 -0
- package/lib/module/processors/LayoutProcessorsStore.js +18 -0
- package/lib/module/processors/LayoutProcessorsStore.js.map +1 -0
- package/lib/module/processors/LayoutProcessorsStore.test.js +31 -0
- package/lib/module/processors/LayoutProcessorsStore.test.js.map +1 -0
- package/lib/module/processors/OptionProcessorsStore.js +19 -0
- package/lib/module/processors/OptionProcessorsStore.js.map +1 -0
- package/lib/module/processors/OptionProcessorsStore.test.js +31 -0
- package/lib/module/processors/OptionProcessorsStore.test.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/package.json +7 -12
- package/lib/cjs/Mock/Application.js +0 -67
- package/lib/cjs/Mock/ComponentProps.js +0 -16
- package/lib/cjs/Mock/Components/BottomTabs.js +0 -50
- package/lib/cjs/Mock/Components/ComponentScreen.js +0 -135
- package/lib/cjs/Mock/Components/LayoutComponent.js +0 -85
- package/lib/cjs/Mock/Components/Modals.js +0 -56
- package/lib/cjs/Mock/Components/NavigationButton.js +0 -104
- package/lib/cjs/Mock/Components/Overlays.js +0 -57
- package/lib/cjs/Mock/Components/SideMenu.js +0 -69
- package/lib/cjs/Mock/Components/Stack.js +0 -52
- package/lib/cjs/Mock/Components/TopBar.js +0 -115
- package/lib/cjs/Mock/Layouts/BottomTabsNode.js +0 -60
- package/lib/cjs/Mock/Layouts/ComponentNode.js +0 -132
- package/lib/cjs/Mock/Layouts/LayoutNodeFactory.js +0 -59
- package/lib/cjs/Mock/Layouts/Node.js +0 -32
- package/lib/cjs/Mock/Layouts/ParentNode.js +0 -99
- package/lib/cjs/Mock/Layouts/SideMenu.js +0 -112
- package/lib/cjs/Mock/Layouts/StackNode.js +0 -42
- package/lib/cjs/Mock/Stores/EventsStore.js +0 -85
- package/lib/cjs/Mock/actions/layoutActions.js +0 -47
- package/lib/cjs/Mock/connect.js +0 -31
- package/lib/cjs/Mock/constants.js +0 -31
- package/lib/cjs/Mock/index.js +0 -48
- package/lib/cjs/Mock/mocks/AppRegistryService.js +0 -31
- package/lib/cjs/Mock/mocks/NativeCommandsSender.js +0 -181
- package/lib/cjs/Mock/mocks/NativeEventsReceiver.js +0 -146
- package/lib/cjs/Navigation.js +0 -259
- package/lib/cjs/adapters/AndroidCustomRowForwarder.js +0 -84
- package/lib/cjs/adapters/AppRegistryService.js +0 -33
- package/lib/cjs/adapters/AssetResolver.js +0 -33
- package/lib/cjs/adapters/ColorService.js +0 -33
- package/lib/cjs/adapters/Constants.js +0 -43
- package/lib/cjs/adapters/NativeEventsReceiver.js +0 -99
- package/lib/cjs/adapters/NativeEventsReceiver.mock.js +0 -30
- package/lib/cjs/adapters/NativeRNNTurboEventEmitter.js +0 -27
- package/lib/cjs/adapters/NativeRNNTurboModule.js +0 -26
- package/lib/cjs/adapters/TouchablePreview.js +0 -137
- package/lib/cjs/adapters/UniqueIdProvider.js +0 -43
- package/lib/cjs/commands/Commands.js +0 -276
- package/lib/cjs/commands/Deprecations.js +0 -101
- package/lib/cjs/commands/LayoutTreeCrawler.js +0 -56
- package/lib/cjs/commands/LayoutTreeParser.js +0 -154
- package/lib/cjs/commands/LayoutType.js +0 -40
- package/lib/cjs/commands/OptionsCrawler.js +0 -106
- package/lib/cjs/components/ComponentWrapper.js +0 -114
- package/lib/cjs/components/Modal.js +0 -159
- package/lib/cjs/events/CommandsObserver.js +0 -43
- package/lib/cjs/events/ComponentEventsObserver.js +0 -128
- package/lib/cjs/index.js +0 -63
- package/lib/cjs/interfaces/CommandName.js +0 -46
- package/lib/cjs/interfaces/ComponentEvents.js +0 -1
- package/lib/cjs/interfaces/EventSubscription.js +0 -1
- package/lib/cjs/interfaces/Events.js +0 -1
- package/lib/cjs/interfaces/Layout.js +0 -16
- package/lib/cjs/interfaces/NavigationComponent.js +0 -62
- package/lib/cjs/interfaces/NavigationComponentListener.js +0 -16
- package/lib/cjs/interfaces/NavigationComponentProps.js +0 -1
- package/lib/cjs/interfaces/NavigationFunctionComponent.js +0 -16
- package/lib/cjs/interfaces/Options.js +0 -47
- package/lib/cjs/interfaces/ProcessorSubscription.js +0 -1
- package/lib/cjs/interfaces/Processors.js +0 -16
- package/lib/cjs/linking/DeferredLinkQueue.js +0 -66
- package/lib/cjs/linking/ModalLayoutBuilder.js +0 -59
- package/lib/cjs/linking/URLParser.js +0 -70
- package/lib/cjs/linking/types.js +0 -16
- package/lib/cjs/processors/LayoutProcessor.js +0 -39
- package/lib/cjs/processors/LayoutProcessorsStore.js +0 -42
- package/lib/cjs/processors/OptionProcessorsStore.js +0 -43
- package/lib/cjs/types.js +0 -1
- package/postinstall.js +0 -53
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { Component } from 'react';
|
|
4
|
+
import { View, Text, TouchableOpacity, Image } from 'react-native';
|
|
5
|
+
import { Navigation } from 'react-native-navigation';
|
|
6
|
+
import { VISIBLE_SCREEN_TEST_ID } from "../constants.js";
|
|
7
|
+
import { LayoutStore } from "../Stores/LayoutStore.js";
|
|
8
|
+
import { connect } from "../connect.js";
|
|
9
|
+
import { TopBar } from "./TopBar.js";
|
|
10
|
+
import { events } from "../Stores/EventsStore.js";
|
|
11
|
+
import _ from 'lodash';
|
|
12
|
+
import { switchTabByIndex } from "../actions/layoutActions.js";
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
function isURISource(src) {
|
|
15
|
+
return !!src && typeof src === 'object' && 'uri' in src;
|
|
16
|
+
}
|
|
17
|
+
export const ComponentScreen = connect(class extends Component {
|
|
18
|
+
constructor(props) {
|
|
19
|
+
super(props);
|
|
20
|
+
}
|
|
21
|
+
componentDidMount() {
|
|
22
|
+
this.props.layoutNode.componentDidMount();
|
|
23
|
+
}
|
|
24
|
+
isVisible() {
|
|
25
|
+
const isVisible = LayoutStore.isVisibleLayout(this.props.layoutNode);
|
|
26
|
+
return isVisible;
|
|
27
|
+
}
|
|
28
|
+
renderTabBar() {
|
|
29
|
+
const bottomTabs = this.props.layoutNode.getBottomTabs();
|
|
30
|
+
if (!bottomTabs) return null;
|
|
31
|
+
const bottomTabsOptions = bottomTabs.resolveOptions().bottomTabs;
|
|
32
|
+
if (bottomTabsOptions?.visible === false) return null;
|
|
33
|
+
const buttons = bottomTabs.children.map((child, i) => {
|
|
34
|
+
const bottomTabOptions = child.resolveOptions().bottomTab;
|
|
35
|
+
const icon = bottomTabs.selectedIndex === i ? bottomTabOptions?.selectedIcon : bottomTabOptions?.icon;
|
|
36
|
+
const iconURI = isURISource(icon) ? icon.uri : undefined;
|
|
37
|
+
return /*#__PURE__*/_jsx(View, {
|
|
38
|
+
children: /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
39
|
+
style: {
|
|
40
|
+
padding: 10
|
|
41
|
+
},
|
|
42
|
+
testID: bottomTabOptions?.testID,
|
|
43
|
+
onPress: () => {
|
|
44
|
+
events.invokeBottomTabPressed({
|
|
45
|
+
tabIndex: i
|
|
46
|
+
});
|
|
47
|
+
if (_.defaultTo(bottomTabOptions?.selectTabOnPress, true)) switchTabByIndex(this.props.layoutNode.getBottomTabs(), i);
|
|
48
|
+
},
|
|
49
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
50
|
+
style: {
|
|
51
|
+
justifyContent: 'center',
|
|
52
|
+
alignItems: 'center'
|
|
53
|
+
},
|
|
54
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
55
|
+
children: bottomTabOptions?.badge
|
|
56
|
+
}), iconURI && /*#__PURE__*/_jsx(Image, {
|
|
57
|
+
style: {
|
|
58
|
+
width: 18,
|
|
59
|
+
height: 18,
|
|
60
|
+
marginBottom: 5
|
|
61
|
+
},
|
|
62
|
+
source: {
|
|
63
|
+
uri: iconURI
|
|
64
|
+
}
|
|
65
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
66
|
+
style: {
|
|
67
|
+
fontSize: 12
|
|
68
|
+
},
|
|
69
|
+
children: bottomTabOptions?.text || ''
|
|
70
|
+
})]
|
|
71
|
+
})
|
|
72
|
+
})
|
|
73
|
+
}, `tab-${i}`);
|
|
74
|
+
});
|
|
75
|
+
return /*#__PURE__*/_jsx(View, {
|
|
76
|
+
testID: bottomTabsOptions?.testID,
|
|
77
|
+
style: {
|
|
78
|
+
flexDirection: 'row',
|
|
79
|
+
justifyContent: 'center',
|
|
80
|
+
width: '100%',
|
|
81
|
+
backgroundColor: '#F0F2F5'
|
|
82
|
+
},
|
|
83
|
+
children: buttons
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
render() {
|
|
87
|
+
const Component = Navigation.mock.store.getWrappedComponent(this.props.layoutNode.data.name);
|
|
88
|
+
if (!Component) throw new Error(`${this.props.layoutNode.data.name} has not been registered.`);
|
|
89
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
90
|
+
testID: this.isVisible() ? VISIBLE_SCREEN_TEST_ID : undefined,
|
|
91
|
+
children: [this.props.layoutNode.getStack() && /*#__PURE__*/_jsx(TopBar, {
|
|
92
|
+
layoutNode: this.props.layoutNode,
|
|
93
|
+
topBarOptions: this.props.layoutNode.resolveOptions().topBar,
|
|
94
|
+
backButtonOptions: this.props.layoutNode.resolveOptions().topBar?.backButton
|
|
95
|
+
}), /*#__PURE__*/_jsx(Component, {
|
|
96
|
+
componentId: this.props.layoutNode.nodeId
|
|
97
|
+
}), this.renderTabBar()]
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=ComponentScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Component","View","Text","TouchableOpacity","Image","Navigation","VISIBLE_SCREEN_TEST_ID","LayoutStore","connect","TopBar","events","_","switchTabByIndex","jsx","_jsx","jsxs","_jsxs","isURISource","src","ComponentScreen","constructor","props","componentDidMount","layoutNode","isVisible","isVisibleLayout","renderTabBar","bottomTabs","getBottomTabs","bottomTabsOptions","resolveOptions","visible","buttons","children","map","child","i","bottomTabOptions","bottomTab","icon","selectedIndex","selectedIcon","iconURI","uri","undefined","style","padding","testID","onPress","invokeBottomTabPressed","tabIndex","defaultTo","selectTabOnPress","justifyContent","alignItems","badge","width","height","marginBottom","source","fontSize","text","flexDirection","backgroundColor","render","mock","store","getWrappedComponent","data","name","Error","getStack","topBarOptions","topBar","backButtonOptions","backButton","componentId","nodeId"],"sourceRoot":"../../../../src","sources":["Mock/Components/ComponentScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { Component } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { BottomTabs } from "./BottomTabs.js";
|
|
6
|
+
import { ComponentScreen } from "./ComponentScreen.js";
|
|
7
|
+
import { Stack } from "./Stack.js";
|
|
8
|
+
import { SideMenuRoot, SideMenuCenter, SideMenuLeft, SideMenuRight } from "./SideMenu.js";
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
export const LayoutComponent = class extends Component {
|
|
11
|
+
render() {
|
|
12
|
+
switch (this.props.layoutNode.type) {
|
|
13
|
+
case 'BottomTabs':
|
|
14
|
+
return /*#__PURE__*/_jsx(BottomTabs, {
|
|
15
|
+
layoutNode: this.props.layoutNode
|
|
16
|
+
});
|
|
17
|
+
case 'Stack':
|
|
18
|
+
return /*#__PURE__*/_jsx(Stack, {
|
|
19
|
+
layoutNode: this.props.layoutNode
|
|
20
|
+
});
|
|
21
|
+
case 'Component':
|
|
22
|
+
return /*#__PURE__*/_jsx(ComponentScreen, {
|
|
23
|
+
layoutNode: this.props.layoutNode
|
|
24
|
+
});
|
|
25
|
+
case 'SideMenuRoot':
|
|
26
|
+
return /*#__PURE__*/_jsx(SideMenuRoot, {
|
|
27
|
+
layoutNode: this.props.layoutNode
|
|
28
|
+
});
|
|
29
|
+
case 'SideMenuLeft':
|
|
30
|
+
return /*#__PURE__*/_jsx(SideMenuLeft, {
|
|
31
|
+
layoutNode: this.props.layoutNode
|
|
32
|
+
});
|
|
33
|
+
case 'SideMenuCenter':
|
|
34
|
+
return /*#__PURE__*/_jsx(SideMenuCenter, {
|
|
35
|
+
layoutNode: this.props.layoutNode
|
|
36
|
+
});
|
|
37
|
+
case 'SideMenuRight':
|
|
38
|
+
return /*#__PURE__*/_jsx(SideMenuRight, {
|
|
39
|
+
layoutNode: this.props.layoutNode
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return /*#__PURE__*/_jsx(View, {});
|
|
43
|
+
}
|
|
44
|
+
componentDidCatch(error, errorInfo) {
|
|
45
|
+
const err = new Error(`Error while trying to render layout ${this.props.layoutNode.nodeId} of type ${this.props.layoutNode.type}: ${error}\n${errorInfo?.componentStack}`);
|
|
46
|
+
err.cause = error;
|
|
47
|
+
throw err;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=LayoutComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Component","View","BottomTabs","ComponentScreen","Stack","SideMenuRoot","SideMenuCenter","SideMenuLeft","SideMenuRight","jsx","_jsx","LayoutComponent","render","props","layoutNode","type","componentDidCatch","error","errorInfo","err","Error","nodeId","componentStack","cause"],"sourceRoot":"../../../../src","sources":["Mock/Components/LayoutComponent.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,UAAU,QAAQ,iBAAc;AAEzC,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,YAAY,EAAEC,cAAc,EAAEC,YAAY,EAAEC,aAAa,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEvF,OAAO,MAAMC,eAAe,GAAG,cAAcX,SAAS,CAAiB;EACrEY,MAAMA,CAAA,EAAG;IACP,QAAQ,IAAI,CAACC,KAAK,CAACC,UAAU,CAACC,IAAI;MAChC,KAAK,YAAY;QACf,oBAAOL,IAAA,CAACR,UAAU;UAACY,UAAU,EAAE,IAAI,CAACD,KAAK,CAACC;QAAW,CAAE,CAAC;MAC1D,KAAK,OAAO;QACV,oBAAOJ,IAAA,CAACN,KAAK;UAACU,UAAU,EAAE,IAAI,CAACD,KAAK,CAACC;QAAW,CAAE,CAAC;MACrD,KAAK,WAAW;QACd,oBAAOJ,IAAA,CAACP,eAAe;UAACW,UAAU,EAAE,IAAI,CAACD,KAAK,CAACC;QAAW,CAAE,CAAC;MAC/D,KAAK,cAAc;QACjB,oBAAOJ,IAAA,CAACL,YAAY;UAACS,UAAU,EAAE,IAAI,CAACD,KAAK,CAACC;QAAW,CAAE,CAAC;MAC5D,KAAK,cAAc;QACjB,oBAAOJ,IAAA,CAACH,YAAY;UAACO,UAAU,EAAE,IAAI,CAACD,KAAK,CAACC;QAAW,CAAE,CAAC;MAC5D,KAAK,gBAAgB;QACnB,oBAAOJ,IAAA,CAACJ,cAAc;UAACQ,UAAU,EAAE,IAAI,CAACD,KAAK,CAACC;QAAW,CAAE,CAAC;MAC9D,KAAK,eAAe;QAClB,oBAAOJ,IAAA,CAACF,aAAa;UAACM,UAAU,EAAE,IAAI,CAACD,KAAK,CAACC;QAAW,CAAE,CAAC;IAC/D;IAEA,oBAAOJ,IAAA,CAACT,IAAI,IAAE,CAAC;EACjB;EACAe,iBAAiBA,CAACC,KAAY,EAAEC,SAA0B,EAAE;IAC1D,MAAMC,GAAG,GAAG,IAAIC,KAAK,CACnB,uCAAuC,IAAI,CAACP,KAAK,CAACC,UAAU,CAACO,MAAM,YAAY,IAAI,CAACR,KAAK,CAACC,UAAU,CAACC,IAAI,KAAKE,KAAK,KAAKC,SAAS,EAAEI,cAAc,EACnJ,CAAC;IACAH,GAAG,CAASI,KAAK,GAAGN,KAAK;IAC1B,MAAME,GAAG;EACX;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { Component } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { LayoutComponent } from "./LayoutComponent.js";
|
|
6
|
+
import { LayoutStore } from "../Stores/LayoutStore.js";
|
|
7
|
+
import { connect } from "../connect.js";
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
export const Modals = connect(class extends Component {
|
|
10
|
+
render() {
|
|
11
|
+
const children = LayoutStore.getModals();
|
|
12
|
+
return /*#__PURE__*/_jsx(View, {
|
|
13
|
+
testID: 'MODALS',
|
|
14
|
+
children: children.map(child => {
|
|
15
|
+
return /*#__PURE__*/_jsx(LayoutComponent, {
|
|
16
|
+
layoutNode: child
|
|
17
|
+
}, child.nodeId);
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=Modals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Component","View","LayoutComponent","LayoutStore","connect","jsx","_jsx","Modals","render","children","getModals","testID","map","child","layoutNode","nodeId"],"sourceRoot":"../../../../src","sources":["Mock/Components/Modals.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,SAASC,WAAW,QAAQ,0BAAuB;AACnD,SAASC,OAAO,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErC,OAAO,MAAMC,MAAM,GAAGH,OAAO,CAC3B,cAAcJ,SAAS,CAAiB;EACtCQ,MAAMA,CAAA,EAAG;IACP,MAAMC,QAAQ,GAAGN,WAAW,CAACO,SAAS,CAAC,CAAC;IACxC,oBACEJ,IAAA,CAACL,IAAI;MAACU,MAAM,EAAE,QAAS;MAAAF,QAAA,EACpBA,QAAQ,CAACG,GAAG,CAAEC,KAAiB,IAAK;QACnC,oBAAOP,IAAA,CAACJ,eAAe;UAAoBY,UAAU,EAAED;QAAM,GAAhCA,KAAK,CAACE,MAA4B,CAAC;MAClE,CAAC;IAAC,CACE,CAAC;EAEX;AACF,CACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { Component } from 'react';
|
|
4
|
+
import { Button, TouchableOpacity } from 'react-native';
|
|
5
|
+
import { Navigation } from 'react-native-navigation';
|
|
6
|
+
import { events } from "../Stores/EventsStore.js";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
export const NavigationButton = class extends Component {
|
|
9
|
+
ref = undefined;
|
|
10
|
+
render() {
|
|
11
|
+
const {
|
|
12
|
+
button,
|
|
13
|
+
componentId
|
|
14
|
+
} = this.props;
|
|
15
|
+
if (button.component) return this.renderButtonComponent();
|
|
16
|
+
return /*#__PURE__*/_jsx(Button, {
|
|
17
|
+
testID: button.testID,
|
|
18
|
+
title: button.text || '',
|
|
19
|
+
disabled: button.enabled === false,
|
|
20
|
+
onPress: () => button.enabled !== false && events.invokeNavigationButtonPressed({
|
|
21
|
+
buttonId: button.id,
|
|
22
|
+
componentId
|
|
23
|
+
})
|
|
24
|
+
}, button.id);
|
|
25
|
+
}
|
|
26
|
+
renderButtonComponent() {
|
|
27
|
+
const {
|
|
28
|
+
button,
|
|
29
|
+
componentId
|
|
30
|
+
} = this.props;
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
const buttonComponentId = button.component.componentId;
|
|
33
|
+
// @ts-ignore
|
|
34
|
+
const ComponentClass = Navigation.mock.store.getComponentClassForName(button.component.name);
|
|
35
|
+
if (!ComponentClass) {
|
|
36
|
+
throw new Error(`Cannot find registered component for: ${button.component?.name}`);
|
|
37
|
+
}
|
|
38
|
+
const ButtonComponent = ComponentClass();
|
|
39
|
+
const props = Navigation.mock.store.getPropsForId(buttonComponentId);
|
|
40
|
+
return /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
41
|
+
onPress: () => {
|
|
42
|
+
if (this.ref) {
|
|
43
|
+
this.invokeOnClick(
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
(this.ref._reactInternalFiber || this.ref._reactInternals).return.stateNode);
|
|
46
|
+
}
|
|
47
|
+
events.invokeNavigationButtonPressed({
|
|
48
|
+
buttonId: button.id,
|
|
49
|
+
componentId: componentId
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
testID: button.testID,
|
|
53
|
+
children: /*#__PURE__*/_jsx(ButtonComponent, {
|
|
54
|
+
...props,
|
|
55
|
+
componentId: buttonComponentId,
|
|
56
|
+
ref: ref => this.ref = ref
|
|
57
|
+
}, buttonComponentId)
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
invokeOnClick(stateNode) {
|
|
61
|
+
if (stateNode.children) {
|
|
62
|
+
// @ts-ignore
|
|
63
|
+
stateNode.children.forEach(instance => {
|
|
64
|
+
if (instance.internalInstanceHandle && instance.internalInstanceHandle.stateNode.props.onClick) {
|
|
65
|
+
instance.internalInstanceHandle.stateNode.props.onClick();
|
|
66
|
+
}
|
|
67
|
+
this.invokeOnClick(instance);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=NavigationButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Component","Button","TouchableOpacity","Navigation","events","jsx","_jsx","NavigationButton","ref","undefined","render","button","componentId","props","component","renderButtonComponent","testID","title","text","disabled","enabled","onPress","invokeNavigationButtonPressed","buttonId","id","buttonComponentId","ComponentClass","mock","store","getComponentClassForName","name","Error","ButtonComponent","getPropsForId","invokeOnClick","_reactInternalFiber","_reactInternals","return","stateNode","children","forEach","instance","internalInstanceHandle","onClick"],"sourceRoot":"../../../../src","sources":["Mock/Components/NavigationButton.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,cAAc;AACvD,SAASC,UAAU,QAA6B,yBAAyB;AACzE,SAASC,MAAM,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO/C,OAAO,MAAMC,gBAAgB,GAAG,cAAcP,SAAS,CAAc;EACnEQ,GAAG,GAAGC,SAAS;EACfC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,MAAM;MAAEC;IAAY,CAAC,GAAG,IAAI,CAACC,KAAK;IAC1C,IAAIF,MAAM,CAACG,SAAS,EAAE,OAAO,IAAI,CAACC,qBAAqB,CAAC,CAAC;IACzD,oBACET,IAAA,CAACL,MAAM;MACLe,MAAM,EAAEL,MAAM,CAACK,MAAO;MAEtBC,KAAK,EAAEN,MAAM,CAACO,IAAI,IAAI,EAAG;MACzBC,QAAQ,EAAER,MAAM,CAACS,OAAO,KAAK,KAAM;MACnCC,OAAO,EAAEA,CAAA,KACPV,MAAM,CAACS,OAAO,KAAK,KAAK,IACxBhB,MAAM,CAACkB,6BAA6B,CAAC;QACnCC,QAAQ,EAAEZ,MAAM,CAACa,EAAE;QACnBZ;MACF,CAAC;IACF,GATID,MAAM,CAACa,EAUb,CAAC;EAEN;EAEAT,qBAAqBA,CAAA,EAAG;IACtB,MAAM;MAAEJ,MAAM;MAAEC;IAAY,CAAC,GAAG,IAAI,CAACC,KAAK;IAC1C;IACA,MAAMY,iBAAiB,GAAGd,MAAM,CAACG,SAAS,CAAEF,WAAW;IACvD;IACA,MAAMc,cAAc,GAAGvB,UAAU,CAACwB,IAAI,CAACC,KAAK,CAACC,wBAAwB,CAAClB,MAAM,CAACG,SAAS,CAACgB,IAAI,CAAC;IAC5F,IAAI,CAACJ,cAAc,EAAE;MACnB,MAAM,IAAIK,KAAK,CAAC,yCAAyCpB,MAAM,CAACG,SAAS,EAAEgB,IAAI,EAAE,CAAC;IACpF;IACA,MAAME,eAAe,GAAGN,cAAc,CAAC,CAAC;IACxC,MAAMb,KAAK,GAAGV,UAAU,CAACwB,IAAI,CAACC,KAAK,CAACK,aAAa,CAACR,iBAAiB,CAAC;IACpE,oBACEnB,IAAA,CAACJ,gBAAgB;MACfmB,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,IAAI,CAACb,GAAG,EAAE;UACZ,IAAI,CAAC0B,aAAa;UAChB;UACA,CAAC,IAAI,CAAC1B,GAAG,CAAE2B,mBAAmB,IAAI,IAAI,CAAC3B,GAAG,CAAE4B,eAAe,EAAEC,MAAM,CAACC,SACtE,CAAC;QACH;QAEAlC,MAAM,CAACkB,6BAA6B,CAAC;UACnCC,QAAQ,EAAEZ,MAAM,CAACa,EAAE;UACnBZ,WAAW,EAAEA;QACf,CAAC,CAAC;MACJ,CAAE;MACFI,MAAM,EAAEL,MAAM,CAACK,MAAO;MAAAuB,QAAA,eAEtBjC,IAAA,CAAC0B,eAAe;QAAA,GAEVnB,KAAK;QACTD,WAAW,EAAEa,iBAAkB;QAC/BjB,GAAG,EAAGA,GAAQ,IAAM,IAAI,CAACA,GAAG,GAAGA;MAAK,GAH/BiB,iBAIN;IAAC,CACc,CAAC;EAEvB;EAEAS,aAAaA,CAACI,SAAc,EAAE;IAC5B,IAAIA,SAAS,CAACC,QAAQ,EAAE;MACtB;MACAD,SAAS,CAACC,QAAQ,CAACC,OAAO,CAAEC,QAAQ,IAAK;QACvC,IACEA,QAAQ,CAACC,sBAAsB,IAC/BD,QAAQ,CAACC,sBAAsB,CAACJ,SAAS,CAACzB,KAAK,CAAC8B,OAAO,EACvD;UACAF,QAAQ,CAACC,sBAAsB,CAACJ,SAAS,CAACzB,KAAK,CAAC8B,OAAO,CAAC,CAAC;QAC3D;QAEA,IAAI,CAACT,aAAa,CAACO,QAAQ,CAAC;MAC9B,CAAC,CAAC;IACJ;EACF;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { Component } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { VISIBLE_OVERLAY_TEST_ID } from "../constants.js";
|
|
6
|
+
import { LayoutComponent } from "./LayoutComponent.js";
|
|
7
|
+
import { LayoutStore } from "../Stores/LayoutStore.js";
|
|
8
|
+
import { connect } from "../connect.js";
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
export const Overlays = connect(class extends Component {
|
|
11
|
+
render() {
|
|
12
|
+
const children = LayoutStore.getOverlays();
|
|
13
|
+
return /*#__PURE__*/_jsx(View, {
|
|
14
|
+
testID: VISIBLE_OVERLAY_TEST_ID,
|
|
15
|
+
children: children.map(child => {
|
|
16
|
+
return /*#__PURE__*/_jsx(LayoutComponent, {
|
|
17
|
+
layoutNode: child
|
|
18
|
+
}, child.nodeId);
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=Overlays.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Component","View","VISIBLE_OVERLAY_TEST_ID","LayoutComponent","LayoutStore","connect","jsx","_jsx","Overlays","render","children","getOverlays","testID","map","child","layoutNode","nodeId"],"sourceRoot":"../../../../src","sources":["Mock/Components/Overlays.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,uBAAuB,QAAQ,iBAAc;AACtD,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,SAASC,WAAW,QAAQ,0BAAuB;AACnD,SAASC,OAAO,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErC,OAAO,MAAMC,QAAQ,GAAGH,OAAO,CAC7B,cAAcL,SAAS,CAAiB;EACtCS,MAAMA,CAAA,EAAG;IACP,MAAMC,QAAQ,GAAGN,WAAW,CAACO,WAAW,CAAC,CAAC;IAC1C,oBACEJ,IAAA,CAACN,IAAI;MAACW,MAAM,EAAEV,uBAAwB;MAAAQ,QAAA,EACnCA,QAAQ,CAACG,GAAG,CAAEC,KAAiB,IAAK;QACnC,oBAAOP,IAAA,CAACJ,eAAe;UAAoBY,UAAU,EAAED;QAAM,GAAhCA,KAAK,CAACE,MAA4B,CAAC;MAClE,CAAC;IAAC,CACE,CAAC;EAEX;AACF,CACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { Component } from 'react';
|
|
4
|
+
import { connect } from "../connect.js";
|
|
5
|
+
import { LayoutComponent } from "./LayoutComponent.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export const SideMenuRoot = connect(class extends Component {
|
|
8
|
+
render() {
|
|
9
|
+
const children = this.props.layoutNode.children;
|
|
10
|
+
return children.map(child => {
|
|
11
|
+
return /*#__PURE__*/_jsx(LayoutComponent, {
|
|
12
|
+
layoutNode: child
|
|
13
|
+
}, child.nodeId);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
const SideMenuComponent = connect(class extends Component {
|
|
18
|
+
render() {
|
|
19
|
+
const children = this.props.layoutNode.children;
|
|
20
|
+
const component = children[0];
|
|
21
|
+
return /*#__PURE__*/_jsx(LayoutComponent, {
|
|
22
|
+
layoutNode: component
|
|
23
|
+
}, component.nodeId);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
export const SideMenuLeft = SideMenuComponent;
|
|
27
|
+
export const SideMenuCenter = SideMenuComponent;
|
|
28
|
+
export const SideMenuRight = SideMenuComponent;
|
|
29
|
+
//# sourceMappingURL=SideMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Component","connect","LayoutComponent","jsx","_jsx","SideMenuRoot","render","children","props","layoutNode","map","child","nodeId","SideMenuComponent","component","SideMenuLeft","SideMenuCenter","SideMenuRight"],"sourceRoot":"../../../../src","sources":["Mock/Components/SideMenu.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,OAAO,QAAQ,eAAY;AAEpC,SAASC,eAAe,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGpD,OAAO,MAAMC,YAAY,GAAGJ,OAAO,CACjC,cAAcD,SAAS,CAAiB;EACtCM,MAAMA,CAAA,EAAG;IACP,MAAMC,QAAQ,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAACF,QAAQ;IAC/C,OAAOA,QAAQ,CAACG,GAAG,CAAEC,KAAiB,IAAK;MACzC,oBAAOP,IAAA,CAACF,eAAe;QAAoBO,UAAU,EAAEE;MAAM,GAAhCA,KAAK,CAACC,MAA4B,CAAC;IAClE,CAAC,CAAC;EACJ;AACF,CACF,CAAC;AAED,MAAMC,iBAAiB,GAAGZ,OAAO,CAAC,cAAcD,SAAS,CAAiB;EACxEM,MAAMA,CAAA,EAAG;IACP,MAAMC,QAAQ,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAACF,QAAQ;IAC/C,MAAMO,SAAS,GAAGP,QAAQ,CAAC,CAAC,CAAC;IAC7B,oBAAOH,IAAA,CAACF,eAAe;MAAwBO,UAAU,EAAEK;IAAU,GAAxCA,SAAS,CAACF,MAAgC,CAAC;EAC1E;AACF,CAAC,CAAC;AACF,OAAO,MAAMG,YAAY,GAAGF,iBAAiB;AAC7C,OAAO,MAAMG,cAAc,GAAGH,iBAAiB;AAC/C,OAAO,MAAMI,aAAa,GAAGJ,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { Component } from 'react';
|
|
4
|
+
import { LayoutComponent } from "./LayoutComponent.js";
|
|
5
|
+
import { connect } from "../connect.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export const Stack = connect(class extends Component {
|
|
8
|
+
render() {
|
|
9
|
+
const children = this.props.layoutNode.children;
|
|
10
|
+
return children.map((child, i) => {
|
|
11
|
+
return /*#__PURE__*/_jsx(LayoutComponent, {
|
|
12
|
+
layoutNode: child,
|
|
13
|
+
backButton: i > 0
|
|
14
|
+
}, child.nodeId);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=Stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Component","LayoutComponent","connect","jsx","_jsx","Stack","render","children","props","layoutNode","map","child","i","backButton","nodeId"],"sourceRoot":"../../../../src","sources":["Mock/Components/Stack.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AAExC,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,SAASC,OAAO,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErC,OAAO,MAAMC,KAAK,GAAGH,OAAO,CAC1B,cAAcF,SAAS,CAAiB;EACtCM,MAAMA,CAAA,EAAG;IACP,MAAMC,QAAQ,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAACF,QAAQ;IAC/C,OAAOA,QAAQ,CAACG,GAAG,CAAC,CAACC,KAAiB,EAAEC,CAAS,KAAK;MACpD,oBAAOR,IAAA,CAACH,eAAe;QAAoBQ,UAAU,EAAEE,KAAM;QAACE,UAAU,EAAED,CAAC,GAAG;MAAE,GAAnDD,KAAK,CAACG,MAA+C,CAAC;IACrF,CAAC,CAAC;EACJ;AACF,CACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { Component } from 'react';
|
|
4
|
+
import { Button, View, Text } from 'react-native';
|
|
5
|
+
import { Navigation } from 'react-native-navigation';
|
|
6
|
+
import { LayoutStore } from "../Stores/LayoutStore.js";
|
|
7
|
+
import { NavigationButton } from "./NavigationButton.js";
|
|
8
|
+
import { events } from "../Stores/EventsStore.js";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
const DEFAULT_BACK_BUTTON_ID = 'RNN.back';
|
|
11
|
+
export const TopBar = class extends Component {
|
|
12
|
+
constructor(props) {
|
|
13
|
+
super(props);
|
|
14
|
+
}
|
|
15
|
+
render() {
|
|
16
|
+
const topBarOptions = this.props.topBarOptions;
|
|
17
|
+
const topbarTestId = topBarOptions?.testID;
|
|
18
|
+
const titleTestId = topbarTestId ? {
|
|
19
|
+
testID: `${topbarTestId}.title`
|
|
20
|
+
} : {};
|
|
21
|
+
const subtitleTestId = topbarTestId ? {
|
|
22
|
+
testID: `${topbarTestId}.subtitle`
|
|
23
|
+
} : {};
|
|
24
|
+
if (topBarOptions?.visible === false) return null;else {
|
|
25
|
+
const component = topBarOptions?.title?.component;
|
|
26
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
27
|
+
testID: topbarTestId,
|
|
28
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
29
|
+
...titleTestId,
|
|
30
|
+
children: topBarOptions?.title?.text
|
|
31
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
32
|
+
...subtitleTestId,
|
|
33
|
+
children: topBarOptions?.subtitle?.text
|
|
34
|
+
}), this.renderButtons(topBarOptions?.leftButtons), this.renderButtons(topBarOptions?.rightButtons), component &&
|
|
35
|
+
//@ts-ignore
|
|
36
|
+
this.renderComponent(component.componentId, component.name), this.shouldRenderBackButton(this.props.layoutNode) && this.renderBackButton()]
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
shouldRenderBackButton(layoutNode) {
|
|
41
|
+
const backButtonVisible = layoutNode.resolveOptions().topBar?.backButton?.visible;
|
|
42
|
+
return layoutNode.getStack().children.length > 1 && backButtonVisible !== false;
|
|
43
|
+
}
|
|
44
|
+
renderButtons(buttons = []) {
|
|
45
|
+
return buttons.map((button, i) => {
|
|
46
|
+
return /*#__PURE__*/_jsx(NavigationButton, {
|
|
47
|
+
button: button,
|
|
48
|
+
componentId: this.props.layoutNode.nodeId
|
|
49
|
+
}, button.id || i);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
renderBackButton() {
|
|
53
|
+
const backButtonOptions = this.props.backButtonOptions;
|
|
54
|
+
return /*#__PURE__*/_jsx(Button, {
|
|
55
|
+
testID: backButtonOptions?.testID,
|
|
56
|
+
title: backButtonOptions && backButtonOptions.title ? backButtonOptions.title : '',
|
|
57
|
+
onPress: () => {
|
|
58
|
+
if (backButtonOptions?.popStackOnPress === false) {
|
|
59
|
+
events.invokeNavigationButtonPressed({
|
|
60
|
+
buttonId: backButtonOptions?.id || DEFAULT_BACK_BUTTON_ID,
|
|
61
|
+
componentId: this.props.layoutNode.nodeId
|
|
62
|
+
});
|
|
63
|
+
} else {
|
|
64
|
+
LayoutStore.pop(this.props.layoutNode.nodeId);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
renderComponent(id, name, testID) {
|
|
70
|
+
const Component = Navigation.mock.store.getComponentClassForName(name)();
|
|
71
|
+
const props = Navigation.mock.store.getPropsForId(id);
|
|
72
|
+
return /*#__PURE__*/_jsx(View, {
|
|
73
|
+
testID: testID,
|
|
74
|
+
children: /*#__PURE__*/_jsx(Component, {
|
|
75
|
+
...props,
|
|
76
|
+
componentId: id
|
|
77
|
+
})
|
|
78
|
+
}, id);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=TopBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Component","Button","View","Text","Navigation","LayoutStore","NavigationButton","events","jsx","_jsx","jsxs","_jsxs","DEFAULT_BACK_BUTTON_ID","TopBar","constructor","props","render","topBarOptions","topbarTestId","testID","titleTestId","subtitleTestId","visible","component","title","children","text","subtitle","renderButtons","leftButtons","rightButtons","renderComponent","componentId","name","shouldRenderBackButton","layoutNode","renderBackButton","backButtonVisible","resolveOptions","topBar","backButton","getStack","length","buttons","map","button","i","nodeId","id","backButtonOptions","onPress","popStackOnPress","invokeNavigationButtonPressed","buttonId","pop","mock","store","getComponentClassForName","getPropsForId"],"sourceRoot":"../../../../src","sources":["Mock/Components/TopBar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import _ from 'lodash';
|
|
4
|
+
import { switchTabByIndex } from "../actions/layoutActions.js";
|
|
5
|
+
import ParentNode from "./ParentNode.js";
|
|
6
|
+
export default class BottomTabsNode extends ParentNode {
|
|
7
|
+
constructor(layout, parentNode) {
|
|
8
|
+
super(layout, 'BottomTabs', parentNode);
|
|
9
|
+
this.selectedIndex = layout.data?.options?.bottomTabs?.currentTabIndex || 0;
|
|
10
|
+
}
|
|
11
|
+
mergeOptions(_options) {
|
|
12
|
+
super.mergeOptions(_options);
|
|
13
|
+
const {
|
|
14
|
+
options
|
|
15
|
+
} = this.data;
|
|
16
|
+
if (options.bottomTabs?.currentTabIndex) {
|
|
17
|
+
this.selectedIndex = options.bottomTabs?.currentTabIndex;
|
|
18
|
+
switchTabByIndex(this, this.selectedIndex);
|
|
19
|
+
}
|
|
20
|
+
if (options.bottomTabs?.currentTabId) {
|
|
21
|
+
const index = _.findIndex(this.children, child => child.nodeId === options?.bottomTabs?.currentTabId);
|
|
22
|
+
if (index !== -1) this.selectedIndex = index;
|
|
23
|
+
switchTabByIndex(this, this.selectedIndex);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
getVisibleLayout() {
|
|
27
|
+
return this.children[this.selectedIndex].getVisibleLayout();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=BottomTabsNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_","switchTabByIndex","ParentNode","BottomTabsNode","constructor","layout","parentNode","selectedIndex","data","options","bottomTabs","currentTabIndex","mergeOptions","_options","currentTabId","index","findIndex","children","child","nodeId","getVisibleLayout"],"sourceRoot":"../../../../src","sources":["Mock/Layouts/BottomTabsNode.ts"],"mappings":";;AAAA,OAAOA,CAAC,MAAM,QAAQ;AAEtB,SAASC,gBAAgB,QAAQ,6BAA0B;AAC3D,OAAOC,UAAU,MAAM,iBAAc;AAErC,eAAe,MAAMC,cAAc,SAASD,UAAU,CAAC;EAErDE,WAAWA,CAACC,MAAW,EAAEC,UAAuB,EAAE;IAChD,KAAK,CAACD,MAAM,EAAE,YAAY,EAAEC,UAAU,CAAC;IACvC,IAAI,CAACC,aAAa,GAAGF,MAAM,CAACG,IAAI,EAAEC,OAAO,EAAEC,UAAU,EAAEC,eAAe,IAAI,CAAC;EAC7E;EAEAC,YAAYA,CAACC,QAAiB,EAAE;IAC9B,KAAK,CAACD,YAAY,CAACC,QAAQ,CAAC;IAE5B,MAAM;MAAEJ;IAAQ,CAAC,GAAG,IAAI,CAACD,IAAI;IAC7B,IAAIC,OAAO,CAACC,UAAU,EAAEC,eAAe,EAAE;MACvC,IAAI,CAACJ,aAAa,GAAGE,OAAO,CAACC,UAAU,EAAEC,eAAe;MACxDV,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAACM,aAAa,CAAC;IAC5C;IACA,IAAIE,OAAO,CAACC,UAAU,EAAEI,YAAY,EAAE;MACpC,MAAMC,KAAK,GAAGf,CAAC,CAACgB,SAAS,CACvB,IAAI,CAACC,QAAQ,EACZC,KAAK,IAAKA,KAAK,CAACC,MAAM,KAAKV,OAAO,EAAEC,UAAU,EAAEI,YACnD,CAAC;MACD,IAAIC,KAAK,KAAK,CAAC,CAAC,EAAE,IAAI,CAACR,aAAa,GAAGQ,KAAK;MAC5Cd,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAACM,aAAa,CAAC;IAC5C;EACF;EAEAa,gBAAgBA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACH,QAAQ,CAAC,IAAI,CAACV,aAAa,CAAC,CAACa,gBAAgB,CAAC,CAAC;EAC7D;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import _ from 'lodash';
|
|
4
|
+
import { events } from "../Stores/EventsStore.js";
|
|
5
|
+
import ParentNode from "./ParentNode.js";
|
|
6
|
+
export default class ComponentNode extends ParentNode {
|
|
7
|
+
componentDidMountOnce = false;
|
|
8
|
+
componentDidAppearPending = false;
|
|
9
|
+
constructor(layout, parentNode) {
|
|
10
|
+
super(layout, 'Component', parentNode);
|
|
11
|
+
}
|
|
12
|
+
componentDidMount() {
|
|
13
|
+
this.componentDidMountOnce = true;
|
|
14
|
+
this.componentDidAppearPending && setImmediate(() => this.componentDidAppear());
|
|
15
|
+
}
|
|
16
|
+
componentDidAppear() {
|
|
17
|
+
if (this.componentDidMountOnce) {
|
|
18
|
+
events.invokeComponentWillAppear({
|
|
19
|
+
componentName: this.data.name,
|
|
20
|
+
componentId: this.nodeId,
|
|
21
|
+
componentType: 'Component'
|
|
22
|
+
});
|
|
23
|
+
events.invokeComponentDidAppear({
|
|
24
|
+
componentName: this.data.name,
|
|
25
|
+
componentId: this.nodeId,
|
|
26
|
+
componentType: 'Component'
|
|
27
|
+
});
|
|
28
|
+
this.buttonsDidAppear(_.concat(this.data.options.topBar?.rightButtons || [], this.data.options.topBar?.leftButtons || []));
|
|
29
|
+
this.titleChanged(undefined, this.data.options.topBar?.title);
|
|
30
|
+
} else {
|
|
31
|
+
this.componentDidAppearPending = true;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
componentDidDisappear() {
|
|
35
|
+
events.invokeComponentDidDisappear({
|
|
36
|
+
componentName: this.data.name,
|
|
37
|
+
componentId: this.nodeId,
|
|
38
|
+
componentType: 'Component'
|
|
39
|
+
});
|
|
40
|
+
this.buttonsDidDisappear(_.concat(this.data.options.topBar?.rightButtons || [], this.data.options.topBar?.leftButtons || []));
|
|
41
|
+
this.titleChanged(this.data.options.topBar?.title);
|
|
42
|
+
}
|
|
43
|
+
titleChanged(oldTitle, newTitle) {
|
|
44
|
+
if (oldTitle && oldTitle.component) {
|
|
45
|
+
events.invokeComponentDidDisappear({
|
|
46
|
+
componentName: oldTitle.component.name,
|
|
47
|
+
componentId: oldTitle.component.componentId,
|
|
48
|
+
componentType: 'TopBarTitle'
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
if (newTitle && newTitle.component) {
|
|
52
|
+
events.invokeComponentWillAppear({
|
|
53
|
+
componentName: newTitle.component.name,
|
|
54
|
+
componentId: newTitle.component.componentId,
|
|
55
|
+
componentType: 'TopBarTitle'
|
|
56
|
+
});
|
|
57
|
+
events.invokeComponentDidAppear({
|
|
58
|
+
componentName: newTitle.component.name,
|
|
59
|
+
componentId: newTitle.component.componentId,
|
|
60
|
+
componentType: 'TopBarTitle'
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
buttonsChanged(oldButtons, newButtons) {
|
|
65
|
+
this.buttonsDidDisappear(oldButtons);
|
|
66
|
+
this.buttonsDidAppear(newButtons);
|
|
67
|
+
}
|
|
68
|
+
buttonsDidAppear(buttons = []) {
|
|
69
|
+
buttons.forEach(button => {
|
|
70
|
+
if (button.component) {
|
|
71
|
+
events.invokeComponentWillAppear({
|
|
72
|
+
componentName: button.component.name,
|
|
73
|
+
// @ts-ignore
|
|
74
|
+
componentId: button.component.componentId,
|
|
75
|
+
componentType: 'TopBarButton'
|
|
76
|
+
});
|
|
77
|
+
events.invokeComponentDidAppear({
|
|
78
|
+
componentName: button.component.name,
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
componentId: button.component.componentId,
|
|
81
|
+
componentType: 'TopBarButton'
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
buttonsDidDisappear(buttons = []) {
|
|
87
|
+
buttons.forEach(button => {
|
|
88
|
+
if (button.component) {
|
|
89
|
+
events.invokeComponentDidDisappear({
|
|
90
|
+
componentName: button.component.name,
|
|
91
|
+
// @ts-ignore
|
|
92
|
+
componentId: button.component.componentId,
|
|
93
|
+
componentType: 'TopBarButton'
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
getVisibleLayout() {
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=ComponentNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_","events","ParentNode","ComponentNode","componentDidMountOnce","componentDidAppearPending","constructor","layout","parentNode","componentDidMount","setImmediate","componentDidAppear","invokeComponentWillAppear","componentName","data","name","componentId","nodeId","componentType","invokeComponentDidAppear","buttonsDidAppear","concat","options","topBar","rightButtons","leftButtons","titleChanged","undefined","title","componentDidDisappear","invokeComponentDidDisappear","buttonsDidDisappear","oldTitle","newTitle","component","buttonsChanged","oldButtons","newButtons","buttons","forEach","button","getVisibleLayout"],"sourceRoot":"../../../../src","sources":["Mock/Layouts/ComponentNode.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import BottomTabs from "./BottomTabsNode.js";
|
|
4
|
+
import ComponentNode from "./ComponentNode.js";
|
|
5
|
+
import Stack from "./StackNode.js";
|
|
6
|
+
import SideMenuRootNode, { SideMenuLeftNode, SideMenuRightNode, SideMenuCenterNode } from "./SideMenu.js";
|
|
7
|
+
export default class LayoutNodeFactory {
|
|
8
|
+
static create(layout, parentNode) {
|
|
9
|
+
switch (layout.type) {
|
|
10
|
+
case 'Component':
|
|
11
|
+
return new ComponentNode(layout, parentNode);
|
|
12
|
+
case 'Stack':
|
|
13
|
+
return new Stack(layout, parentNode);
|
|
14
|
+
case 'SideMenuRoot':
|
|
15
|
+
return new SideMenuRootNode(layout, parentNode);
|
|
16
|
+
case 'SideMenuLeft':
|
|
17
|
+
return new SideMenuLeftNode(layout, parentNode);
|
|
18
|
+
case 'SideMenuCenter':
|
|
19
|
+
return new SideMenuCenterNode(layout, parentNode);
|
|
20
|
+
case 'SideMenuRight':
|
|
21
|
+
return new SideMenuRightNode(layout, parentNode);
|
|
22
|
+
default: // TODO Undo
|
|
23
|
+
case 'BottomTabs':
|
|
24
|
+
return new BottomTabs(layout, parentNode);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=LayoutNodeFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BottomTabs","ComponentNode","Stack","SideMenuRootNode","SideMenuLeftNode","SideMenuRightNode","SideMenuCenterNode","LayoutNodeFactory","create","layout","parentNode","type"],"sourceRoot":"../../../../src","sources":["Mock/Layouts/LayoutNodeFactory.ts"],"mappings":";;AAAA,OAAOA,UAAU,MAAM,qBAAkB;AACzC,OAAOC,aAAa,MAAM,oBAAiB;AAC3C,OAAOC,KAAK,MAAM,gBAAa;AAE/B,OAAOC,gBAAgB,IACrBC,gBAAgB,EAChBC,iBAAiB,EACjBC,kBAAkB,QACb,eAAY;AAEnB,eAAe,MAAMC,iBAAiB,CAAC;EACrC,OAAOC,MAAMA,CAACC,MAAW,EAAEC,UAAuB,EAAE;IAClD,QAAQD,MAAM,CAACE,IAAI;MACjB,KAAK,WAAW;QACd,OAAO,IAAIV,aAAa,CAACQ,MAAM,EAAEC,UAAU,CAAC;MAC9C,KAAK,OAAO;QACV,OAAO,IAAIR,KAAK,CAACO,MAAM,EAAEC,UAAU,CAAC;MACtC,KAAK,cAAc;QACjB,OAAO,IAAIP,gBAAgB,CAACM,MAAM,EAAEC,UAAU,CAAC;MACjD,KAAK,cAAc;QACjB,OAAO,IAAIN,gBAAgB,CAACK,MAAM,EAAEC,UAAU,CAAC;MACjD,KAAK,gBAAgB;QACnB,OAAO,IAAIJ,kBAAkB,CAACG,MAAM,EAAEC,UAAU,CAAC;MACnD,KAAK,eAAe;QAClB,OAAO,IAAIL,iBAAiB,CAACI,MAAM,EAAEC,UAAU,CAAC;MAClD,QAAQ,CAAC;MACT,KAAK,YAAY;QACf,OAAO,IAAIV,UAAU,CAACS,MAAM,EAAEC,UAAU,CAAC;IAC7C;EACF;AACF","ignoreList":[]}
|