@storybook/react-native 6.5.5 → 6.5.6-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +125 -18
- package/dist/index.js +1591 -41
- package/package.json +7 -8
- package/dist/constants.d.ts +0 -5
- package/dist/constants.js +0 -8
- package/dist/hooks.d.ts +0 -67
- package/dist/hooks.js +0 -168
- package/dist/preview/View.d.ts +0 -50
- package/dist/preview/View.js +0 -183
- package/dist/preview/components/OnDeviceUI/OnDeviceUI.d.ts +0 -12
- package/dist/preview/components/OnDeviceUI/OnDeviceUI.js +0 -163
- package/dist/preview/components/OnDeviceUI/Panel.d.ts +0 -9
- package/dist/preview/components/OnDeviceUI/Panel.js +0 -28
- package/dist/preview/components/OnDeviceUI/absolute-positioned-keyboard-aware-view.d.ts +0 -12
- package/dist/preview/components/OnDeviceUI/absolute-positioned-keyboard-aware-view.js +0 -31
- package/dist/preview/components/OnDeviceUI/addons/Addons.d.ts +0 -6
- package/dist/preview/components/OnDeviceUI/addons/Addons.js +0 -34
- package/dist/preview/components/OnDeviceUI/addons/AddonsSkeleton.d.ts +0 -14
- package/dist/preview/components/OnDeviceUI/addons/AddonsSkeleton.js +0 -78
- package/dist/preview/components/OnDeviceUI/addons/List.d.ts +0 -9
- package/dist/preview/components/OnDeviceUI/addons/List.js +0 -18
- package/dist/preview/components/OnDeviceUI/addons/Wrapper.d.ts +0 -8
- package/dist/preview/components/OnDeviceUI/addons/Wrapper.js +0 -31
- package/dist/preview/components/OnDeviceUI/addons/index.d.ts +0 -1
- package/dist/preview/components/OnDeviceUI/addons/index.js +0 -8
- package/dist/preview/components/OnDeviceUI/animation.d.ts +0 -61
- package/dist/preview/components/OnDeviceUI/animation.js +0 -116
- package/dist/preview/components/OnDeviceUI/index.d.ts +0 -1
- package/dist/preview/components/OnDeviceUI/index.js +0 -8
- package/dist/preview/components/OnDeviceUI/navigation/Navigation.d.ts +0 -9
- package/dist/preview/components/OnDeviceUI/navigation/Navigation.js +0 -54
- package/dist/preview/components/OnDeviceUI/navigation/NavigationBar.d.ts +0 -8
- package/dist/preview/components/OnDeviceUI/navigation/NavigationBar.js +0 -24
- package/dist/preview/components/OnDeviceUI/navigation/NavigationButton.d.ts +0 -2
- package/dist/preview/components/OnDeviceUI/navigation/NavigationButton.js +0 -23
- package/dist/preview/components/OnDeviceUI/navigation/constants.d.ts +0 -3
- package/dist/preview/components/OnDeviceUI/navigation/constants.js +0 -6
- package/dist/preview/components/OnDeviceUI/navigation/index.d.ts +0 -1
- package/dist/preview/components/OnDeviceUI/navigation/index.js +0 -8
- package/dist/preview/components/Shared/icons.d.ts +0 -53
- package/dist/preview/components/Shared/icons.js +0 -72
- package/dist/preview/components/Shared/layout.d.ts +0 -26
- package/dist/preview/components/Shared/layout.js +0 -24
- package/dist/preview/components/Shared/tabs.d.ts +0 -20
- package/dist/preview/components/Shared/tabs.js +0 -48
- package/dist/preview/components/StoryListView/StoryListView.d.ts +0 -7
- package/dist/preview/components/StoryListView/StoryListView.js +0 -201
- package/dist/preview/components/StoryListView/getNestedStories.d.ts +0 -10
- package/dist/preview/components/StoryListView/getNestedStories.js +0 -95
- package/dist/preview/components/StoryListView/getNestedStories.test.d.ts +0 -1
- package/dist/preview/components/StoryListView/getNestedStories.test.js +0 -237
- package/dist/preview/components/StoryListView/index.d.ts +0 -1
- package/dist/preview/components/StoryListView/index.js +0 -8
- package/dist/preview/components/StoryView/StoryView.d.ts +0 -3
- package/dist/preview/components/StoryView/StoryView.js +0 -47
- package/dist/preview/components/StoryView/index.d.ts +0 -1
- package/dist/preview/components/StoryView/index.js +0 -8
- package/dist/preview/executeLoadable.d.ts +0 -27
- package/dist/preview/executeLoadable.js +0 -95
- package/dist/preview/rn-host-detect.d.ts +0 -1
- package/dist/preview/rn-host-detect.js +0 -63
- package/dist/preview/start.d.ts +0 -16
- package/dist/preview/start.js +0 -124
- package/dist/types/types-6.0.d.ts +0 -72
- package/dist/types/types-6.0.js +0 -2
- package/dist/types/types.d.ts +0 -14
- package/dist/types/types.js +0 -2
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.IS_EXPO = void 0;
|
|
41
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
42
|
-
var native_1 = __importDefault(require("@emotion/native"));
|
|
43
|
-
var react_1 = __importStar(require("react"));
|
|
44
|
-
var react_native_1 = require("react-native");
|
|
45
|
-
var hooks_1 = require("../../../hooks");
|
|
46
|
-
var constants_1 = require("../../../constants");
|
|
47
|
-
var StoryListView_1 = __importDefault(require("../StoryListView"));
|
|
48
|
-
var StoryView_1 = __importDefault(require("../StoryView"));
|
|
49
|
-
var absolute_positioned_keyboard_aware_view_1 = __importDefault(require("./absolute-positioned-keyboard-aware-view"));
|
|
50
|
-
var Addons_1 = __importDefault(require("./addons/Addons"));
|
|
51
|
-
var AddonsSkeleton_1 = require("./addons/AddonsSkeleton");
|
|
52
|
-
var animation_1 = require("./animation");
|
|
53
|
-
var navigation_1 = __importDefault(require("./navigation"));
|
|
54
|
-
var constants_2 = require("./navigation/constants");
|
|
55
|
-
var Panel_1 = __importDefault(require("./Panel"));
|
|
56
|
-
var react_native_2 = require("react-native");
|
|
57
|
-
var react_native_safe_area_context_1 = require("react-native-safe-area-context");
|
|
58
|
-
var IS_IOS = react_native_1.Platform.OS === 'ios';
|
|
59
|
-
// @ts-ignore: Property 'Expo' does not exist on type 'Global'
|
|
60
|
-
var getExpoRoot = function () { return global.Expo || global.__expo || global.__exponent; };
|
|
61
|
-
exports.IS_EXPO = getExpoRoot() !== undefined;
|
|
62
|
-
var IS_ANDROID = react_native_1.Platform.OS === 'android';
|
|
63
|
-
var BREAKPOINT = 1024;
|
|
64
|
-
var flex = { flex: 1 };
|
|
65
|
-
/**
|
|
66
|
-
* Story preview container.
|
|
67
|
-
*/
|
|
68
|
-
function Preview(_a) {
|
|
69
|
-
var animatedValue = _a.animatedValue, style = _a.style, children = _a.children;
|
|
70
|
-
var theme = (0, hooks_1.useTheme)();
|
|
71
|
-
var containerStyle = __assign({ backgroundColor: theme.preview.backgroundColor }, (0, animation_1.getPreviewShadowStyle)(animatedValue));
|
|
72
|
-
return ((0, jsx_runtime_1.jsx)(react_native_1.Animated.View, { style: [flex, containerStyle], children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: [flex, style], children: children }) }));
|
|
73
|
-
}
|
|
74
|
-
var styles = react_native_1.StyleSheet.create({
|
|
75
|
-
expoAndroidContainer: { paddingTop: react_native_1.StatusBar.currentHeight },
|
|
76
|
-
});
|
|
77
|
-
var Container = native_1.default.View(function (_a) {
|
|
78
|
-
var theme = _a.theme;
|
|
79
|
-
return (__assign(__assign({ flex: 1, backgroundColor: theme.preview.containerBackgroundColor }, (IS_ANDROID && exports.IS_EXPO ? styles.expoAndroidContainer : undefined)), react_native_1.Platform.select({ web: { overflow: 'hidden' } })));
|
|
80
|
-
});
|
|
81
|
-
var OnDeviceUI = function (_a) {
|
|
82
|
-
var storyIndex = _a.storyIndex, shouldDisableKeyboardAvoidingView = _a.shouldDisableKeyboardAvoidingView, keyboardAvoidingViewVerticalOffset = _a.keyboardAvoidingViewVerticalOffset, initialTabOpen = _a.tabOpen;
|
|
83
|
-
var _b = (0, react_1.useState)(initialTabOpen || constants_2.CANVAS), tabOpen = _b[0], setTabOpen = _b[1];
|
|
84
|
-
var lastTabOpen = react_1.default.useRef(tabOpen);
|
|
85
|
-
var _c = (0, react_1.useState)(function () { return ({
|
|
86
|
-
width: react_native_1.Dimensions.get('window').width,
|
|
87
|
-
height: react_native_1.Dimensions.get('window').height,
|
|
88
|
-
}); }), previewDimensions = _c[0], setPreviewDimensions = _c[1];
|
|
89
|
-
var animatedValue = (0, react_1.useRef)(new react_native_1.Animated.Value(tabOpen));
|
|
90
|
-
var wide = (0, react_native_2.useWindowDimensions)().width >= BREAKPOINT;
|
|
91
|
-
var insets = (0, react_native_safe_area_context_1.useSafeAreaInsets)();
|
|
92
|
-
var handleToggleTab = react_1.default.useCallback(function (newTabOpen) {
|
|
93
|
-
if (newTabOpen === tabOpen) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
lastTabOpen.current = tabOpen;
|
|
97
|
-
react_native_1.Animated.timing(animatedValue.current, {
|
|
98
|
-
toValue: newTabOpen,
|
|
99
|
-
duration: constants_1.ANIMATION_DURATION_TRANSITION,
|
|
100
|
-
easing: react_native_1.Easing.inOut(react_native_1.Easing.cubic),
|
|
101
|
-
useNativeDriver: true,
|
|
102
|
-
}).start();
|
|
103
|
-
setTabOpen(newTabOpen);
|
|
104
|
-
// close the keyboard opened from a TextInput from story list or knobs
|
|
105
|
-
if (newTabOpen === constants_2.CANVAS) {
|
|
106
|
-
react_native_1.Keyboard.dismiss();
|
|
107
|
-
}
|
|
108
|
-
}, [tabOpen]);
|
|
109
|
-
var noSafeArea = (0, hooks_1.useStoryContextParam)('noSafeArea', false);
|
|
110
|
-
var previewWrapperStyles = [
|
|
111
|
-
flex,
|
|
112
|
-
(0, animation_1.getPreviewStyle)({
|
|
113
|
-
animatedValue: animatedValue.current,
|
|
114
|
-
previewDimensions: previewDimensions,
|
|
115
|
-
wide: wide,
|
|
116
|
-
insets: insets,
|
|
117
|
-
tabOpen: tabOpen,
|
|
118
|
-
lastTabOpen: lastTabOpen.current,
|
|
119
|
-
}),
|
|
120
|
-
];
|
|
121
|
-
var isUIVisible = (0, hooks_1.useIsUIVisible)()[0];
|
|
122
|
-
// The initial value is just a guess until the layout calculation has been done.
|
|
123
|
-
var _d = react_1.default.useState(insets.bottom + 40), navBarHeight = _d[0], setNavBarHeight = _d[1];
|
|
124
|
-
var measureNavigation = react_1.default.useCallback(function (_a) {
|
|
125
|
-
var nativeEvent = _a.nativeEvent;
|
|
126
|
-
var inset = insets.bottom;
|
|
127
|
-
setNavBarHeight(isUIVisible ? nativeEvent.layout.height - inset : 0);
|
|
128
|
-
}, [isUIVisible, insets]);
|
|
129
|
-
// There are 4 cases for the additional UI margin:
|
|
130
|
-
// 1. Storybook UI is visible, and `noSafeArea` is false: Include top and
|
|
131
|
-
// bottom safe area insets, and also include the navigation bar height.
|
|
132
|
-
//
|
|
133
|
-
// 2. Storybook UI is not visible, and `noSafeArea` is false: Include top
|
|
134
|
-
// and bottom safe area insets.
|
|
135
|
-
//
|
|
136
|
-
// 3. Storybook UI is visible, and `noSafeArea` is true: Include only the
|
|
137
|
-
// bottom safe area inset and the navigation bar height.
|
|
138
|
-
//
|
|
139
|
-
// 4. Storybook UI is not visible, and `noSafeArea` is true: No margin.
|
|
140
|
-
var safeAreaMargins = {
|
|
141
|
-
paddingBottom: isUIVisible ? insets.bottom + navBarHeight : noSafeArea ? 0 : insets.bottom,
|
|
142
|
-
paddingTop: !noSafeArea ? insets.top : 0,
|
|
143
|
-
overflow: 'hidden',
|
|
144
|
-
};
|
|
145
|
-
// The panels always apply the safe area, regardless of the story parameters.
|
|
146
|
-
var panelSafeAreaMargins = {
|
|
147
|
-
paddingBottom: insets.bottom + navBarHeight,
|
|
148
|
-
paddingTop: insets.top,
|
|
149
|
-
};
|
|
150
|
-
// Adjust the keyboard offset (possibly in a negative direction) to account
|
|
151
|
-
// for the safe area and navigation bar.
|
|
152
|
-
var keyboardVerticalOffset = -panelSafeAreaMargins.paddingBottom + (keyboardAvoidingViewVerticalOffset !== null && keyboardAvoidingViewVerticalOffset !== void 0 ? keyboardAvoidingViewVerticalOffset : 0);
|
|
153
|
-
var isSplitPanelVisible = (0, hooks_1.useIsSplitPanelVisible)()[0];
|
|
154
|
-
var isPreviewInactive = tabOpen !== constants_2.CANVAS;
|
|
155
|
-
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(Container, { children: [(0, jsx_runtime_1.jsx)(react_native_1.KeyboardAvoidingView, { enabled: !shouldDisableKeyboardAvoidingView || isPreviewInactive, behavior: IS_IOS ? 'padding' : null, keyboardVerticalOffset: keyboardVerticalOffset, style: flex, children: (0, jsx_runtime_1.jsxs)(absolute_positioned_keyboard_aware_view_1.default, { onLayout: setPreviewDimensions, previewDimensions: previewDimensions, children: [(0, jsx_runtime_1.jsxs)(react_native_1.Animated.View, { style: previewWrapperStyles, children: [(0, jsx_runtime_1.jsxs)(Preview, { style: safeAreaMargins, animatedValue: animatedValue.current, children: [(0, jsx_runtime_1.jsx)(StoryView_1.default, {}), isSplitPanelVisible ? ((0, jsx_runtime_1.jsxs)(Panel_1.default, { edge: "top", style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)(Addons_1.default, { active: true }), (0, jsx_runtime_1.jsx)(AddonsSkeleton_1.AddonsSkeleton, { visible: isPreviewInactive })] })) : null] }), isPreviewInactive ? ((0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: react_native_1.StyleSheet.absoluteFillObject, onPress: function () { return handleToggleTab(constants_2.CANVAS); } })) : null] }), (0, jsx_runtime_1.jsx)(Panel_1.default, { edge: "right", style: [
|
|
156
|
-
(0, animation_1.getSidebarPanelPosition)(animatedValue.current, previewDimensions.width, wide),
|
|
157
|
-
panelSafeAreaMargins,
|
|
158
|
-
], children: (0, jsx_runtime_1.jsx)(StoryListView_1.default, { storyIndex: storyIndex }) }), (0, jsx_runtime_1.jsx)(Panel_1.default, { edge: "left", style: [
|
|
159
|
-
(0, animation_1.getAddonPanelPosition)(animatedValue.current, previewDimensions.width, wide),
|
|
160
|
-
panelSafeAreaMargins,
|
|
161
|
-
], children: (0, jsx_runtime_1.jsx)(Addons_1.default, { active: tabOpen === constants_2.ADDONS }) })] }) }), (0, jsx_runtime_1.jsx)(navigation_1.default, { onLayout: measureNavigation, tabOpen: tabOpen, onChangeTab: handleToggleTab })] }) }));
|
|
162
|
-
};
|
|
163
|
-
exports.default = react_1.default.memo(OnDeviceUI);
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Animated, StyleProp, ViewStyle } from 'react-native';
|
|
3
|
-
interface PanelProps {
|
|
4
|
-
edge: 'left' | 'right' | 'top';
|
|
5
|
-
style: StyleProp<Animated.AnimatedProps<ViewStyle>>;
|
|
6
|
-
children: React.ReactNode;
|
|
7
|
-
}
|
|
8
|
-
declare const _default: React.MemoExoticComponent<({ edge, children, style }: PanelProps) => import("react/jsx-runtime").JSX.Element>;
|
|
9
|
-
export default _default;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var react_native_1 = require("react-native");
|
|
9
|
-
var native_1 = __importDefault(require("@emotion/native"));
|
|
10
|
-
var Container = (0, native_1.default)(react_native_1.Animated.View)(function (_a) {
|
|
11
|
-
var theme = _a.theme, edge = _a.edge;
|
|
12
|
-
return ({
|
|
13
|
-
backgroundColor: theme.panel.backgroundColor,
|
|
14
|
-
borderTopWidth: edge === 'top' ? theme.panel.borderWidth : undefined,
|
|
15
|
-
borderStartWidth: edge === 'left' ? theme.panel.borderWidth : undefined,
|
|
16
|
-
borderEndWidth: edge === 'right' ? theme.panel.borderWidth : undefined,
|
|
17
|
-
borderColor: theme.panel.borderColor,
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
var Panel = function (_a) {
|
|
21
|
-
var edge = _a.edge, children = _a.children, style = _a.style;
|
|
22
|
-
var containerStyle = react_native_1.StyleSheet.flatten([
|
|
23
|
-
edge === 'top' ? undefined : react_native_1.StyleSheet.absoluteFillObject,
|
|
24
|
-
style,
|
|
25
|
-
]);
|
|
26
|
-
return ((0, jsx_runtime_1.jsx)(Container, { edge: edge, style: containerStyle, children: children }));
|
|
27
|
-
};
|
|
28
|
-
exports.default = react_1.default.memo(Panel);
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React, { ReactNode } from 'react';
|
|
2
|
-
export interface PreviewDimens {
|
|
3
|
-
width: number;
|
|
4
|
-
height: number;
|
|
5
|
-
}
|
|
6
|
-
type Props = {
|
|
7
|
-
onLayout: (dimens: PreviewDimens) => void;
|
|
8
|
-
previewDimensions: PreviewDimens;
|
|
9
|
-
children: ReactNode;
|
|
10
|
-
};
|
|
11
|
-
declare const _default: React.MemoExoticComponent<({ onLayout, previewDimensions: { width, height }, children, }: Props) => import("react/jsx-runtime").JSX.Element>;
|
|
12
|
-
export default _default;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var react_native_1 = require("react-native");
|
|
9
|
-
// Android changes screen size when keyboard opens.
|
|
10
|
-
// To avoid issues we use absolute positioned element with predefined screen size
|
|
11
|
-
var AbsolutePositionedKeyboardAwareView = function (_a) {
|
|
12
|
-
var onLayout = _a.onLayout, _b = _a.previewDimensions, width = _b.width, height = _b.height, children = _a.children;
|
|
13
|
-
var onLayoutHandler = function (_a) {
|
|
14
|
-
var nativeEvent = _a.nativeEvent;
|
|
15
|
-
var _b = nativeEvent.layout, layoutHeight = _b.height, layoutWidth = _b.width;
|
|
16
|
-
if (layoutHeight !== height || layoutWidth !== width) {
|
|
17
|
-
onLayout({
|
|
18
|
-
height: layoutHeight,
|
|
19
|
-
width: layoutWidth,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.container, onLayout: onLayoutHandler, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: width === 0
|
|
24
|
-
? styles.container
|
|
25
|
-
: [styles.absolute, { position: 'absolute', width: width, height: height }], children: children }) }));
|
|
26
|
-
};
|
|
27
|
-
var styles = react_native_1.StyleSheet.create({
|
|
28
|
-
absolute: { position: 'absolute' },
|
|
29
|
-
container: { flex: 1 },
|
|
30
|
-
});
|
|
31
|
-
exports.default = react_1.default.memo(AbsolutePositionedKeyboardAwareView);
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var addons_1 = require("@storybook/addons");
|
|
9
|
-
var hooks_1 = require("../../../../hooks");
|
|
10
|
-
var List_1 = __importDefault(require("./List"));
|
|
11
|
-
var Wrapper_1 = __importDefault(require("./Wrapper"));
|
|
12
|
-
var layout_1 = require("../../Shared/layout");
|
|
13
|
-
var native_1 = __importDefault(require("@emotion/native"));
|
|
14
|
-
var Text = native_1.default.Text(function (_a) {
|
|
15
|
-
var theme = _a.theme;
|
|
16
|
-
return ({
|
|
17
|
-
marginTop: theme.tokens.spacing4,
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
var Addons = function (_a) {
|
|
21
|
-
var active = _a.active;
|
|
22
|
-
var panels = addons_1.addons.getElements('panel');
|
|
23
|
-
var _b = (0, hooks_1.useSelectedAddon)(Object.keys(panels)[0]), addonSelected = _b[0], setAddonSelected = _b[1];
|
|
24
|
-
var context = (0, hooks_1.useStoryContext)();
|
|
25
|
-
var id = context === null || context === void 0 ? void 0 : context.id;
|
|
26
|
-
if (!id) {
|
|
27
|
-
return ((0, jsx_runtime_1.jsx)(layout_1.Box, { alignItems: "center", justifyContent: "center", children: (0, jsx_runtime_1.jsx)(Text, { children: "No Story Selected" }) }));
|
|
28
|
-
}
|
|
29
|
-
if (Object.keys(panels).length === 0) {
|
|
30
|
-
return ((0, jsx_runtime_1.jsx)(layout_1.Box, { alignItems: "center", justifyContent: "center", children: (0, jsx_runtime_1.jsx)(Text, { children: "No addons loaded." }) }));
|
|
31
|
-
}
|
|
32
|
-
return ((0, jsx_runtime_1.jsxs)(layout_1.Box, { flex: true, children: [(0, jsx_runtime_1.jsx)(List_1.default, { onPressAddon: setAddonSelected, panels: panels, addonSelected: active ? addonSelected : null }), (0, jsx_runtime_1.jsx)(Wrapper_1.default, { addonSelected: active ? addonSelected : null, panels: panels })] }));
|
|
33
|
-
};
|
|
34
|
-
exports.default = react_1.default.memo(Addons);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* Component that mimics the addons panel.
|
|
4
|
-
*
|
|
5
|
-
* The main reason this exists is that the scaled addons view feels more
|
|
6
|
-
* cluttered than a more abstract skeleton view, which allows users to focus
|
|
7
|
-
* on the story content rather than become distracted by the addons UI in an
|
|
8
|
-
* already small view.
|
|
9
|
-
*/
|
|
10
|
-
export declare const AddonsSkeleton: React.NamedExoticComponent<AddonsSkeletonProps>;
|
|
11
|
-
interface AddonsSkeletonProps {
|
|
12
|
-
visible: boolean;
|
|
13
|
-
}
|
|
14
|
-
export {};
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.AddonsSkeleton = void 0;
|
|
18
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
|
-
var react_1 = __importDefault(require("react"));
|
|
20
|
-
var native_1 = __importDefault(require("@emotion/native"));
|
|
21
|
-
var react_native_1 = require("react-native");
|
|
22
|
-
var constants_1 = require("../../../../constants");
|
|
23
|
-
/**
|
|
24
|
-
* Component that mimics the addons panel.
|
|
25
|
-
*
|
|
26
|
-
* The main reason this exists is that the scaled addons view feels more
|
|
27
|
-
* cluttered than a more abstract skeleton view, which allows users to focus
|
|
28
|
-
* on the story content rather than become distracted by the addons UI in an
|
|
29
|
-
* already small view.
|
|
30
|
-
*/
|
|
31
|
-
exports.AddonsSkeleton = react_1.default.memo(function AddonsSkeleton(_a) {
|
|
32
|
-
var visible = _a.visible;
|
|
33
|
-
var progress = react_1.default.useRef(new react_native_1.Animated.Value(visible ? 1 : 0));
|
|
34
|
-
react_1.default.useEffect(function () {
|
|
35
|
-
react_native_1.Animated.timing(progress.current, {
|
|
36
|
-
toValue: visible ? 1 : 0,
|
|
37
|
-
duration: constants_1.ANIMATION_DURATION_TRANSITION,
|
|
38
|
-
useNativeDriver: true,
|
|
39
|
-
easing: react_native_1.Easing.inOut(react_native_1.Easing.cubic),
|
|
40
|
-
}).start();
|
|
41
|
-
}, [visible]);
|
|
42
|
-
return ((0, jsx_runtime_1.jsxs)(AddonsSkeletonContainer, { pointerEvents: "none", style: { opacity: progress.current }, children: [(0, jsx_runtime_1.jsx)(TabsSkeleton, {}), (0, jsx_runtime_1.jsx)(AddonsContentSkeleton, {})] }));
|
|
43
|
-
});
|
|
44
|
-
var TabSkeleton = native_1.default.View(function (_a) {
|
|
45
|
-
var theme = _a.theme, active = _a.active;
|
|
46
|
-
return ({
|
|
47
|
-
opacity: active ? 1 : 0.5,
|
|
48
|
-
backgroundColor: active ? theme.tabs.activeBackgroundColor : theme.tokens.color.grey200,
|
|
49
|
-
borderRadius: theme.tokens.borderRadius.round,
|
|
50
|
-
width: active ? 100 : 70,
|
|
51
|
-
height: 30,
|
|
52
|
-
marginRight: 12,
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
var BoxSkeleton = native_1.default.View(function (_a) {
|
|
56
|
-
var theme = _a.theme, width = _a.width, height = _a.height, marginBottom = _a.marginBottom;
|
|
57
|
-
return ({
|
|
58
|
-
backgroundColor: theme.tokens.color.blue200,
|
|
59
|
-
borderRadius: theme.tokens.borderRadius.large,
|
|
60
|
-
height: height,
|
|
61
|
-
marginBottom: marginBottom,
|
|
62
|
-
width: width,
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
function AddonsFieldSkeleton(_a) {
|
|
66
|
-
var _b = _a.long, long = _b === void 0 ? false : _b;
|
|
67
|
-
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: { marginBottom: 32 }, children: [(0, jsx_runtime_1.jsx)(BoxSkeleton, { width: 75, height: 10, marginBottom: 12 }), (0, jsx_runtime_1.jsx)(BoxSkeleton, { width: long ? 200 : 120, height: 15 })] }));
|
|
68
|
-
}
|
|
69
|
-
function AddonsContentSkeleton() {
|
|
70
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(AddonsFieldSkeleton, { long: true }), (0, jsx_runtime_1.jsx)(AddonsFieldSkeleton, { long: true }), (0, jsx_runtime_1.jsx)(AddonsFieldSkeleton, {}), (0, jsx_runtime_1.jsx)(AddonsFieldSkeleton, {})] }));
|
|
71
|
-
}
|
|
72
|
-
function TabsSkeleton() {
|
|
73
|
-
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: { flexDirection: 'row', marginBottom: 16 }, children: [(0, jsx_runtime_1.jsx)(TabSkeleton, {}), (0, jsx_runtime_1.jsx)(TabSkeleton, { active: true }), (0, jsx_runtime_1.jsx)(TabSkeleton, {})] }));
|
|
74
|
-
}
|
|
75
|
-
var AddonsSkeletonContainer = (0, native_1.default)(react_native_1.Animated.View)(function (_a) {
|
|
76
|
-
var theme = _a.theme;
|
|
77
|
-
return (__assign(__assign({}, react_native_1.StyleSheet.absoluteFillObject), { flex: 1, backgroundColor: theme.panel.backgroundColor, borderTopWidth: theme.panel.borderWidth, borderColor: theme.panel.borderColor, padding: theme.panel.paddingHorizontal, overflow: 'hidden' }));
|
|
78
|
-
});
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Collection } from '@storybook/addons';
|
|
3
|
-
export interface Props {
|
|
4
|
-
panels: Collection;
|
|
5
|
-
addonSelected: string;
|
|
6
|
-
onPressAddon: (id: string) => void;
|
|
7
|
-
}
|
|
8
|
-
declare const _default: React.MemoExoticComponent<({ panels, addonSelected, onPressAddon }: Props) => import("react/jsx-runtime").JSX.Element>;
|
|
9
|
-
export default _default;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var tabs_1 = require("../../Shared/tabs");
|
|
9
|
-
var AddonList = function (_a) {
|
|
10
|
-
var panels = _a.panels, addonSelected = _a.addonSelected, onPressAddon = _a.onPressAddon;
|
|
11
|
-
var addonKeys = Object.keys(panels);
|
|
12
|
-
return ((0, jsx_runtime_1.jsx)(tabs_1.TabBar, { scrollable: true, children: addonKeys.map(function (id) {
|
|
13
|
-
var title = panels[id].title;
|
|
14
|
-
var resolvedTitle = typeof title === 'function' ? title() : title;
|
|
15
|
-
return ((0, jsx_runtime_1.jsx)(tabs_1.TabButton, { active: id === addonSelected, id: id, onPress: function () { return onPressAddon(id); }, children: resolvedTitle.toUpperCase() }, id));
|
|
16
|
-
}) }));
|
|
17
|
-
};
|
|
18
|
-
exports.default = react_1.default.memo(AddonList);
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Collection } from '@storybook/addons';
|
|
3
|
-
export interface Props {
|
|
4
|
-
panels: Collection;
|
|
5
|
-
addonSelected: string;
|
|
6
|
-
}
|
|
7
|
-
declare const _default: React.MemoExoticComponent<({ panels, addonSelected }: Props) => import("react/jsx-runtime").JSX.Element>;
|
|
8
|
-
export default _default;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var react_native_1 = require("react-native");
|
|
9
|
-
var native_1 = __importDefault(require("@emotion/native"));
|
|
10
|
-
var hooks_1 = require("../../../../hooks");
|
|
11
|
-
var Container = native_1.default.View(function (_a) {
|
|
12
|
-
var selected = _a.selected;
|
|
13
|
-
return ({
|
|
14
|
-
display: selected ? 'flex' : 'none',
|
|
15
|
-
flex: 1,
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
var Wrapper = function (_a) {
|
|
19
|
-
var panels = _a.panels, addonSelected = _a.addonSelected;
|
|
20
|
-
// Force a re-render when the current story changes, to ensure that the addon
|
|
21
|
-
// panels state is not desynced.
|
|
22
|
-
(0, hooks_1.useUpdateOnStoryChanged)();
|
|
23
|
-
var theme = (0, hooks_1.useTheme)();
|
|
24
|
-
var addonKeys = Object.keys(panels);
|
|
25
|
-
var content = addonKeys.map(function (id) {
|
|
26
|
-
var selected = addonSelected === id;
|
|
27
|
-
return ((0, jsx_runtime_1.jsx)(Container, { selected: selected, children: (0, jsx_runtime_1.jsx)(react_native_1.ScrollView, { contentContainerStyle: { padding: theme.panel.paddingHorizontal }, children: panels[id].render({ active: selected, key: id }) }) }, id));
|
|
28
|
-
});
|
|
29
|
-
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: content });
|
|
30
|
-
};
|
|
31
|
-
exports.default = react_1.default.memo(Wrapper);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from './Addons';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var Addons_1 = require("./Addons");
|
|
8
|
-
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(Addons_1).default; } });
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Animated, Insets } from 'react-native';
|
|
2
|
-
import { PreviewDimens } from './absolute-positioned-keyboard-aware-view';
|
|
3
|
-
export declare const getSidebarPanelPosition: (animatedValue: Animated.Value, previewWidth: number, wide: boolean) => {
|
|
4
|
-
transform: {
|
|
5
|
-
translateX: Animated.AnimatedInterpolation<string | number>;
|
|
6
|
-
}[];
|
|
7
|
-
width: number;
|
|
8
|
-
}[];
|
|
9
|
-
export declare const getAddonPanelPosition: (animatedValue: Animated.Value, previewWidth: number, wide: boolean) => {
|
|
10
|
-
transform: {
|
|
11
|
-
translateX: Animated.AnimatedInterpolation<string | number>;
|
|
12
|
-
}[];
|
|
13
|
-
width: number;
|
|
14
|
-
}[];
|
|
15
|
-
type PreviewPositionArgs = {
|
|
16
|
-
animatedValue: Animated.Value;
|
|
17
|
-
previewDimensions: PreviewDimens;
|
|
18
|
-
wide: boolean;
|
|
19
|
-
insets: Insets;
|
|
20
|
-
tabOpen: number;
|
|
21
|
-
lastTabOpen: number;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Build the animated style for the preview container view.
|
|
25
|
-
*
|
|
26
|
-
* When the sidebar or addons panel is focused, the preview container is
|
|
27
|
-
* scaled down and translated to the left (or right) of the panel.
|
|
28
|
-
*/
|
|
29
|
-
export declare const getPreviewStyle: ({ animatedValue, previewDimensions: { width: previewWidth, height: previewHeight }, wide, insets, tabOpen, lastTabOpen, }: PreviewPositionArgs) => {
|
|
30
|
-
transform: ({
|
|
31
|
-
translateX: Animated.AnimatedInterpolation<string | number>;
|
|
32
|
-
translateY?: undefined;
|
|
33
|
-
scale?: undefined;
|
|
34
|
-
} | {
|
|
35
|
-
translateY: Animated.AnimatedInterpolation<string | number>;
|
|
36
|
-
translateX?: undefined;
|
|
37
|
-
scale?: undefined;
|
|
38
|
-
} | {
|
|
39
|
-
scale: Animated.AnimatedInterpolation<string | number>;
|
|
40
|
-
translateX?: undefined;
|
|
41
|
-
translateY?: undefined;
|
|
42
|
-
})[];
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Build the animated shadow style for the preview.
|
|
46
|
-
*
|
|
47
|
-
* When the sidebar or addons panel are visible the scaled preview will have
|
|
48
|
-
* a shadow, and when going to the preview tab the shadow will be invisible.
|
|
49
|
-
*/
|
|
50
|
-
export declare const getPreviewShadowStyle: (animatedValue: Animated.Value) => {
|
|
51
|
-
elevation: number;
|
|
52
|
-
shadowColor: string;
|
|
53
|
-
shadowOpacity: Animated.AnimatedInterpolation<string | number>;
|
|
54
|
-
shadowRadius: number;
|
|
55
|
-
shadowOffset: {
|
|
56
|
-
width: number;
|
|
57
|
-
height: number;
|
|
58
|
-
};
|
|
59
|
-
overflow: "visible";
|
|
60
|
-
};
|
|
61
|
-
export {};
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPreviewShadowStyle = exports.getPreviewStyle = exports.getAddonPanelPosition = exports.getSidebarPanelPosition = void 0;
|
|
4
|
-
var react_native_1 = require("react-native");
|
|
5
|
-
var constants_1 = require("./navigation/constants");
|
|
6
|
-
// Factor that will flip the animation orientation in RTL locales.
|
|
7
|
-
var RTL_SCALE = react_native_1.I18nManager.isRTL ? -1 : 1;
|
|
8
|
-
// Percentage to scale the preview area by when opening a panel.
|
|
9
|
-
var PREVIEW_SCALE = 0.3;
|
|
10
|
-
// Percentage to scale the preview area by when opening a panel, on wide screens.
|
|
11
|
-
var PREVIEW_SCALE_WIDE = 0.7;
|
|
12
|
-
// Percentage to shrink the visible preview by, without affecting the panel size.
|
|
13
|
-
var PREVIEW_SCALE_SHRINK = 0.9;
|
|
14
|
-
var SCALE_OFFSET = 0.025;
|
|
15
|
-
var TRANSLATE_Y_OFFSET = 12;
|
|
16
|
-
var panelWidth = function (width, wide) {
|
|
17
|
-
var scale = wide ? PREVIEW_SCALE_WIDE : PREVIEW_SCALE;
|
|
18
|
-
return width * (1 - scale - SCALE_OFFSET);
|
|
19
|
-
};
|
|
20
|
-
var getSidebarPanelPosition = function (animatedValue, previewWidth, wide) {
|
|
21
|
-
return [
|
|
22
|
-
{
|
|
23
|
-
transform: [
|
|
24
|
-
{
|
|
25
|
-
translateX: animatedValue.interpolate({
|
|
26
|
-
inputRange: [constants_1.SIDEBAR, constants_1.CANVAS],
|
|
27
|
-
outputRange: [0, (-panelWidth(previewWidth, wide) - 1) * RTL_SCALE],
|
|
28
|
-
}),
|
|
29
|
-
},
|
|
30
|
-
],
|
|
31
|
-
width: panelWidth(previewWidth, wide),
|
|
32
|
-
},
|
|
33
|
-
];
|
|
34
|
-
};
|
|
35
|
-
exports.getSidebarPanelPosition = getSidebarPanelPosition;
|
|
36
|
-
var getAddonPanelPosition = function (animatedValue, previewWidth, wide) {
|
|
37
|
-
return [
|
|
38
|
-
{
|
|
39
|
-
transform: [
|
|
40
|
-
{
|
|
41
|
-
translateX: animatedValue.interpolate({
|
|
42
|
-
inputRange: [constants_1.CANVAS, constants_1.ADDONS],
|
|
43
|
-
outputRange: [
|
|
44
|
-
previewWidth * RTL_SCALE,
|
|
45
|
-
(previewWidth - panelWidth(previewWidth, wide)) * RTL_SCALE,
|
|
46
|
-
],
|
|
47
|
-
}),
|
|
48
|
-
},
|
|
49
|
-
],
|
|
50
|
-
width: panelWidth(previewWidth, wide),
|
|
51
|
-
},
|
|
52
|
-
];
|
|
53
|
-
};
|
|
54
|
-
exports.getAddonPanelPosition = getAddonPanelPosition;
|
|
55
|
-
/**
|
|
56
|
-
* Build the animated style for the preview container view.
|
|
57
|
-
*
|
|
58
|
-
* When the sidebar or addons panel is focused, the preview container is
|
|
59
|
-
* scaled down and translated to the left (or right) of the panel.
|
|
60
|
-
*/
|
|
61
|
-
var getPreviewStyle = function (_a) {
|
|
62
|
-
var animatedValue = _a.animatedValue, _b = _a.previewDimensions, previewWidth = _b.width, previewHeight = _b.height, wide = _a.wide, insets = _a.insets, tabOpen = _a.tabOpen, lastTabOpen = _a.lastTabOpen;
|
|
63
|
-
var scale = (wide ? PREVIEW_SCALE_WIDE : PREVIEW_SCALE) * PREVIEW_SCALE_SHRINK;
|
|
64
|
-
var scaledPreviewWidth = previewWidth * scale;
|
|
65
|
-
var scaledPreviewHeight = previewHeight * scale;
|
|
66
|
-
// Horizontally center the scaled preview in the available space beside the panel.
|
|
67
|
-
var nonPanelWidth = previewWidth - panelWidth(previewWidth, wide);
|
|
68
|
-
var translateXOffset = (nonPanelWidth - scaledPreviewWidth) / 2;
|
|
69
|
-
var translateX = (previewWidth / 2 - (previewWidth * scale) / 2 - translateXOffset) * RTL_SCALE;
|
|
70
|
-
// Translate the preview to the top edge of the screen, move it down by the
|
|
71
|
-
// safe area inset, then by the preview Y offset.
|
|
72
|
-
var translateY = -(previewHeight / 2 - scaledPreviewHeight / 2) + insets.top + TRANSLATE_Y_OFFSET;
|
|
73
|
-
// Is navigation moving from one panel to another, skipping preview?
|
|
74
|
-
var skipPreview = lastTabOpen !== constants_1.CANVAS && tabOpen !== constants_1.CANVAS;
|
|
75
|
-
return {
|
|
76
|
-
transform: [
|
|
77
|
-
{
|
|
78
|
-
translateX: animatedValue.interpolate({
|
|
79
|
-
inputRange: [constants_1.SIDEBAR, constants_1.CANVAS, constants_1.ADDONS],
|
|
80
|
-
outputRange: [translateX, 0, -translateX],
|
|
81
|
-
}),
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
translateY: animatedValue.interpolate({
|
|
85
|
-
inputRange: [constants_1.SIDEBAR, constants_1.CANVAS, constants_1.ADDONS],
|
|
86
|
-
outputRange: [translateY, skipPreview ? translateY : 0, translateY],
|
|
87
|
-
}),
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
scale: animatedValue.interpolate({
|
|
91
|
-
inputRange: [constants_1.SIDEBAR, constants_1.CANVAS, constants_1.ADDONS],
|
|
92
|
-
outputRange: [scale, skipPreview ? scale : 1, scale],
|
|
93
|
-
}),
|
|
94
|
-
},
|
|
95
|
-
],
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
exports.getPreviewStyle = getPreviewStyle;
|
|
99
|
-
/**
|
|
100
|
-
* Build the animated shadow style for the preview.
|
|
101
|
-
*
|
|
102
|
-
* When the sidebar or addons panel are visible the scaled preview will have
|
|
103
|
-
* a shadow, and when going to the preview tab the shadow will be invisible.
|
|
104
|
-
*/
|
|
105
|
-
var getPreviewShadowStyle = function (animatedValue) { return ({
|
|
106
|
-
elevation: 8,
|
|
107
|
-
shadowColor: '#000',
|
|
108
|
-
shadowOpacity: animatedValue.interpolate({
|
|
109
|
-
inputRange: [constants_1.SIDEBAR, constants_1.CANVAS, constants_1.ADDONS],
|
|
110
|
-
outputRange: [0.25, 0, 0.25],
|
|
111
|
-
}),
|
|
112
|
-
shadowRadius: 8,
|
|
113
|
-
shadowOffset: { width: 0, height: 0 },
|
|
114
|
-
overflow: 'visible',
|
|
115
|
-
}); };
|
|
116
|
-
exports.getPreviewShadowStyle = getPreviewShadowStyle;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from './OnDeviceUI';
|