react-native-collapsible-sticky-header 0.0.0-stage → 0.1.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/LICENSE +21 -0
- package/README.md +569 -2
- package/lib/commonjs/Badge.js +65 -0
- package/lib/commonjs/Badge.js.map +1 -0
- package/lib/commonjs/CollapsibleStickyHeaderScreen.js +386 -0
- package/lib/commonjs/CollapsibleStickyHeaderScreen.js.map +1 -0
- package/lib/commonjs/HeaderGreeting.js +122 -0
- package/lib/commonjs/HeaderGreeting.js.map +1 -0
- package/lib/commonjs/HeaderNavBar.js +219 -0
- package/lib/commonjs/HeaderNavBar.js.map +1 -0
- package/lib/commonjs/ImageOrNode.js +40 -0
- package/lib/commonjs/ImageOrNode.js.map +1 -0
- package/lib/commonjs/animations.js +34 -0
- package/lib/commonjs/animations.js.map +1 -0
- package/lib/commonjs/index.js +122 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/optionalGradient.js +24 -0
- package/lib/commonjs/optionalGradient.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/theme.js +93 -0
- package/lib/commonjs/theme.js.map +1 -0
- package/lib/commonjs/types.js +6 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/useStickyHeader.js +143 -0
- package/lib/commonjs/useStickyHeader.js.map +1 -0
- package/lib/commonjs/utils.js +90 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/module/Badge.js +61 -0
- package/lib/module/Badge.js.map +1 -0
- package/lib/module/CollapsibleStickyHeaderScreen.js +379 -0
- package/lib/module/CollapsibleStickyHeaderScreen.js.map +1 -0
- package/lib/module/HeaderGreeting.js +118 -0
- package/lib/module/HeaderGreeting.js.map +1 -0
- package/lib/module/HeaderNavBar.js +215 -0
- package/lib/module/HeaderNavBar.js.map +1 -0
- package/lib/module/ImageOrNode.js +36 -0
- package/lib/module/ImageOrNode.js.map +1 -0
- package/lib/module/animations.js +28 -0
- package/lib/module/animations.js.map +1 -0
- package/lib/module/index.js +11 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/optionalGradient.js +20 -0
- package/lib/module/optionalGradient.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/theme.js +88 -0
- package/lib/module/theme.js.map +1 -0
- package/lib/module/types.js +4 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/useStickyHeader.js +138 -0
- package/lib/module/useStickyHeader.js.map +1 -0
- package/lib/module/utils.js +78 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/src/Badge.d.ts +20 -0
- package/lib/typescript/commonjs/src/Badge.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/CollapsibleStickyHeaderScreen.d.ts +10 -0
- package/lib/typescript/commonjs/src/CollapsibleStickyHeaderScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/HeaderGreeting.d.ts +33 -0
- package/lib/typescript/commonjs/src/HeaderGreeting.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/HeaderNavBar.d.ts +48 -0
- package/lib/typescript/commonjs/src/HeaderNavBar.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ImageOrNode.d.ts +16 -0
- package/lib/typescript/commonjs/src/ImageOrNode.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/animations.d.ts +9 -0
- package/lib/typescript/commonjs/src/animations.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +10 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/optionalGradient.d.ts +13 -0
- package/lib/typescript/commonjs/src/optionalGradient.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/theme.d.ts +81 -0
- package/lib/typescript/commonjs/src/theme.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types.d.ts +244 -0
- package/lib/typescript/commonjs/src/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/useStickyHeader.d.ts +12 -0
- package/lib/typescript/commonjs/src/useStickyHeader.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/utils.d.ts +30 -0
- package/lib/typescript/commonjs/src/utils.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/src/Badge.d.ts +20 -0
- package/lib/typescript/module/src/Badge.d.ts.map +1 -0
- package/lib/typescript/module/src/CollapsibleStickyHeaderScreen.d.ts +10 -0
- package/lib/typescript/module/src/CollapsibleStickyHeaderScreen.d.ts.map +1 -0
- package/lib/typescript/module/src/HeaderGreeting.d.ts +33 -0
- package/lib/typescript/module/src/HeaderGreeting.d.ts.map +1 -0
- package/lib/typescript/module/src/HeaderNavBar.d.ts +48 -0
- package/lib/typescript/module/src/HeaderNavBar.d.ts.map +1 -0
- package/lib/typescript/module/src/ImageOrNode.d.ts +16 -0
- package/lib/typescript/module/src/ImageOrNode.d.ts.map +1 -0
- package/lib/typescript/module/src/animations.d.ts +9 -0
- package/lib/typescript/module/src/animations.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +10 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -0
- package/lib/typescript/module/src/optionalGradient.d.ts +13 -0
- package/lib/typescript/module/src/optionalGradient.d.ts.map +1 -0
- package/lib/typescript/module/src/theme.d.ts +81 -0
- package/lib/typescript/module/src/theme.d.ts.map +1 -0
- package/lib/typescript/module/src/types.d.ts +244 -0
- package/lib/typescript/module/src/types.d.ts.map +1 -0
- package/lib/typescript/module/src/useStickyHeader.d.ts +12 -0
- package/lib/typescript/module/src/useStickyHeader.d.ts.map +1 -0
- package/lib/typescript/module/src/utils.d.ts +30 -0
- package/lib/typescript/module/src/utils.d.ts.map +1 -0
- package/package.json +142 -4
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CollapsibleStickyHeaderScreen = CollapsibleStickyHeaderScreen;
|
|
7
|
+
exports.DEFAULT_FADE_HEIGHT = exports.DEFAULT_BACKGROUND_OVERHANG = void 0;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
11
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
12
|
+
var _HeaderGreeting = require("./HeaderGreeting.js");
|
|
13
|
+
var _HeaderNavBar = require("./HeaderNavBar.js");
|
|
14
|
+
var _optionalGradient = require("./optionalGradient.js");
|
|
15
|
+
var _theme = require("./theme.js");
|
|
16
|
+
var _useStickyHeader = require("./useStickyHeader.js");
|
|
17
|
+
var _utils = require("./utils.js");
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
var cache;
|
|
20
|
+
function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
|
|
21
|
+
const AnimatedSectionList = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.SectionList);
|
|
22
|
+
const DEFAULT_BACKGROUND_OVERHANG = exports.DEFAULT_BACKGROUND_OVERHANG = 60;
|
|
23
|
+
const DEFAULT_FADE_HEIGHT = exports.DEFAULT_FADE_HEIGHT = 60;
|
|
24
|
+
const DEFAULT_STICKY_CONTENT = ['logo', 'title', 'actions'];
|
|
25
|
+
const DEFAULT_ENTERING = {
|
|
26
|
+
duration: 650,
|
|
27
|
+
stagger: 70,
|
|
28
|
+
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)
|
|
29
|
+
};
|
|
30
|
+
const DEFAULT_SHADOW = {
|
|
31
|
+
shadowOpacity: 0.08,
|
|
32
|
+
shadowRadius: 6,
|
|
33
|
+
shadowOffset: {
|
|
34
|
+
width: 0,
|
|
35
|
+
height: 2
|
|
36
|
+
},
|
|
37
|
+
elevation: 4
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* A scrollable screen with a hero header that collapses as you scroll, and a
|
|
42
|
+
* compact sticky bar that fades in once the expanded nav bar has scrolled away.
|
|
43
|
+
*/
|
|
44
|
+
function CollapsibleStickyHeaderScreen(props) {
|
|
45
|
+
const {
|
|
46
|
+
// background
|
|
47
|
+
backgroundImage,
|
|
48
|
+
backgroundColor,
|
|
49
|
+
backgroundStyle,
|
|
50
|
+
backgroundImageStyle,
|
|
51
|
+
renderBackground,
|
|
52
|
+
backgroundOverhang,
|
|
53
|
+
headerBottomRadius,
|
|
54
|
+
showFade,
|
|
55
|
+
fadeColors,
|
|
56
|
+
fadeHeight = DEFAULT_FADE_HEIGHT,
|
|
57
|
+
renderBackgroundFade,
|
|
58
|
+
// content
|
|
59
|
+
logo,
|
|
60
|
+
stickyLogo,
|
|
61
|
+
logoSize,
|
|
62
|
+
logoStyle,
|
|
63
|
+
logoAccessibilityLabel,
|
|
64
|
+
onLogoPress,
|
|
65
|
+
greeting,
|
|
66
|
+
title,
|
|
67
|
+
subtitle,
|
|
68
|
+
avatar,
|
|
69
|
+
avatarPosition,
|
|
70
|
+
avatarSize,
|
|
71
|
+
onAvatarPress,
|
|
72
|
+
avatarAccessibilityLabel,
|
|
73
|
+
greetingStyle,
|
|
74
|
+
titleStyle,
|
|
75
|
+
subtitleStyle,
|
|
76
|
+
avatarStyle,
|
|
77
|
+
stickyTitle,
|
|
78
|
+
stickyTitleStyle,
|
|
79
|
+
stickyContent,
|
|
80
|
+
stickyAvatarSize,
|
|
81
|
+
stickyAvatarStyle,
|
|
82
|
+
actions: actionsProp,
|
|
83
|
+
// slots
|
|
84
|
+
renderExpandedNav,
|
|
85
|
+
renderCollapsible,
|
|
86
|
+
renderStickyNav,
|
|
87
|
+
renderStickyBackground,
|
|
88
|
+
children,
|
|
89
|
+
ListHeaderExtra,
|
|
90
|
+
// behaviour
|
|
91
|
+
thresholdOffset,
|
|
92
|
+
stickyFadeDistance,
|
|
93
|
+
stickyPointerOffset,
|
|
94
|
+
collapseTranslateY,
|
|
95
|
+
collapseAnimation,
|
|
96
|
+
stickyAnimation,
|
|
97
|
+
respectSafeArea = true,
|
|
98
|
+
enteringAnimations = true,
|
|
99
|
+
onStickyChange,
|
|
100
|
+
// styling
|
|
101
|
+
theme: themeOverrides,
|
|
102
|
+
stickyBarStyle,
|
|
103
|
+
stickyBarBackground,
|
|
104
|
+
stickyShadow = true,
|
|
105
|
+
containerStyle,
|
|
106
|
+
headerStyle,
|
|
107
|
+
testID = 'sticky-header-screen'
|
|
108
|
+
} = props;
|
|
109
|
+
const theme = (0, _react.useMemo)(() => (0, _theme.createTheme)(themeOverrides), [themeOverrides]);
|
|
110
|
+
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
111
|
+
const topPadding = respectSafeArea ? insets.top : 0;
|
|
112
|
+
const scrollProps = props.scrollProps ?? {};
|
|
113
|
+
const sticky = (0, _useStickyHeader.useStickyHeader)({
|
|
114
|
+
thresholdOffset,
|
|
115
|
+
stickyFadeDistance,
|
|
116
|
+
stickyPointerOffset,
|
|
117
|
+
collapseTranslateY,
|
|
118
|
+
collapseAnimation,
|
|
119
|
+
stickyAnimation,
|
|
120
|
+
respectSafeArea,
|
|
121
|
+
onStickyChange,
|
|
122
|
+
onScroll: scrollProps.onScroll
|
|
123
|
+
});
|
|
124
|
+
const {
|
|
125
|
+
isSticky,
|
|
126
|
+
reducedMotion
|
|
127
|
+
} = sticky;
|
|
128
|
+
const {
|
|
129
|
+
actions,
|
|
130
|
+
overflow
|
|
131
|
+
} = (0, _react.useMemo)(() => (0, _utils.limitActions)(actionsProp), [actionsProp]);
|
|
132
|
+
(0, _react.useEffect)(() => (0, _utils.warnActionOverflow)(overflow), [overflow]);
|
|
133
|
+
const entering = (0, _react.useMemo)(() => {
|
|
134
|
+
if (enteringAnimations === false || reducedMotion) return () => undefined;
|
|
135
|
+
const cfg = {
|
|
136
|
+
...DEFAULT_ENTERING,
|
|
137
|
+
...(typeof enteringAnimations === 'object' ? enteringAnimations : null)
|
|
138
|
+
};
|
|
139
|
+
return index => _reactNativeReanimated.FadeInUp.duration(cfg.duration).delay(index * cfg.stagger).easing(cfg.easing);
|
|
140
|
+
}, [enteringAnimations, reducedMotion]);
|
|
141
|
+
const expandedCtx = (0, _react.useMemo)(() => ({
|
|
142
|
+
progress: sticky.collapseProgress,
|
|
143
|
+
isSticky,
|
|
144
|
+
variant: 'overlay',
|
|
145
|
+
theme,
|
|
146
|
+
insets,
|
|
147
|
+
actions
|
|
148
|
+
}), [sticky.collapseProgress, isSticky, theme, insets, actions]);
|
|
149
|
+
const stickyCtx = (0, _react.useMemo)(() => ({
|
|
150
|
+
...expandedCtx,
|
|
151
|
+
progress: sticky.stickyProgress,
|
|
152
|
+
variant: 'solid'
|
|
153
|
+
}), [expandedCtx, sticky.stickyProgress]);
|
|
154
|
+
const expandedNav = (0, _react.useMemo)(() => renderExpandedNav ? renderExpandedNav(expandedCtx) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_HeaderNavBar.HeaderNavBar, {
|
|
155
|
+
variant: "overlay",
|
|
156
|
+
resolvedTheme: theme,
|
|
157
|
+
logo: logo,
|
|
158
|
+
logoSize: logoSize?.expanded,
|
|
159
|
+
logoStyle: logoStyle,
|
|
160
|
+
logoAccessibilityLabel: logoAccessibilityLabel,
|
|
161
|
+
onLogoPress: onLogoPress ? () => onLogoPress('overlay') : undefined,
|
|
162
|
+
actions: actions
|
|
163
|
+
}), [renderExpandedNav, expandedCtx, theme, logo, logoSize?.expanded, logoStyle, logoAccessibilityLabel, onLogoPress, actions]);
|
|
164
|
+
const hasGreeting = greeting != null || title != null || subtitle != null || avatar != null;
|
|
165
|
+
const collapsible = (0, _react.useMemo)(() => {
|
|
166
|
+
if (renderCollapsible) return renderCollapsible(expandedCtx);
|
|
167
|
+
if (!hasGreeting) return null;
|
|
168
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_HeaderGreeting.HeaderGreeting, {
|
|
169
|
+
resolvedTheme: theme,
|
|
170
|
+
greeting: greeting,
|
|
171
|
+
title: title,
|
|
172
|
+
subtitle: subtitle,
|
|
173
|
+
avatar: avatar,
|
|
174
|
+
avatarPosition: avatarPosition,
|
|
175
|
+
avatarSize: avatarSize,
|
|
176
|
+
onAvatarPress: onAvatarPress,
|
|
177
|
+
avatarAccessibilityLabel: avatarAccessibilityLabel,
|
|
178
|
+
greetingStyle: greetingStyle,
|
|
179
|
+
titleStyle: titleStyle,
|
|
180
|
+
subtitleStyle: subtitleStyle,
|
|
181
|
+
avatarStyle: avatarStyle
|
|
182
|
+
});
|
|
183
|
+
}, [renderCollapsible, expandedCtx, hasGreeting, theme, greeting, title, subtitle, avatar, avatarPosition, avatarSize, onAvatarPress, avatarAccessibilityLabel, greetingStyle, titleStyle, subtitleStyle, avatarStyle]);
|
|
184
|
+
const stickyNav = (0, _react.useMemo)(() => renderStickyNav ? renderStickyNav(stickyCtx) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_HeaderNavBar.HeaderNavBar, {
|
|
185
|
+
variant: "solid",
|
|
186
|
+
resolvedTheme: theme,
|
|
187
|
+
logo: stickyLogo === false ? null : stickyLogo ?? logo,
|
|
188
|
+
logoSize: logoSize?.compact,
|
|
189
|
+
logoStyle: logoStyle,
|
|
190
|
+
logoAccessibilityLabel: logoAccessibilityLabel,
|
|
191
|
+
onLogoPress: onLogoPress ? () => onLogoPress('solid') : undefined,
|
|
192
|
+
title: stickyTitle,
|
|
193
|
+
titleStyle: stickyTitleStyle,
|
|
194
|
+
avatar: avatar,
|
|
195
|
+
avatarSize: stickyAvatarSize,
|
|
196
|
+
avatarStyle: stickyAvatarStyle,
|
|
197
|
+
onAvatarPress: onAvatarPress,
|
|
198
|
+
avatarAccessibilityLabel: avatarAccessibilityLabel,
|
|
199
|
+
show: stickyContent ?? DEFAULT_STICKY_CONTENT,
|
|
200
|
+
actions: actions
|
|
201
|
+
}), [renderStickyNav, stickyCtx, theme, stickyLogo, logo, logoSize?.compact, logoStyle, logoAccessibilityLabel, onLogoPress, stickyTitle, stickyTitleStyle, avatar, stickyAvatarSize, stickyAvatarStyle, onAvatarPress, avatarAccessibilityLabel, stickyContent, actions]);
|
|
202
|
+
const stickyBackground = (0, _react.useMemo)(() => renderStickyBackground ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
203
|
+
pointerEvents: "none",
|
|
204
|
+
style: styles.fill,
|
|
205
|
+
children: renderStickyBackground(stickyCtx)
|
|
206
|
+
}) : null, [renderStickyBackground, stickyCtx]);
|
|
207
|
+
|
|
208
|
+
// Background
|
|
209
|
+
const radius = headerBottomRadius ?? theme.radius.headerBottom;
|
|
210
|
+
const rounded = radius > 0;
|
|
211
|
+
const overhang = backgroundOverhang ?? (rounded ? 0 : DEFAULT_BACKGROUND_OVERHANG);
|
|
212
|
+
const fadeEnabled = showFade ?? !rounded;
|
|
213
|
+
const resolvedFadeColors = fadeColors ?? theme.colors.fade;
|
|
214
|
+
const background = (0, _react.useMemo)(() => {
|
|
215
|
+
let fade = null;
|
|
216
|
+
if (fadeEnabled && fadeHeight > 0) {
|
|
217
|
+
const style = _reactNative.StyleSheet.absoluteFill;
|
|
218
|
+
if (renderBackgroundFade) {
|
|
219
|
+
fade = renderBackgroundFade({
|
|
220
|
+
colors: resolvedFadeColors,
|
|
221
|
+
height: fadeHeight,
|
|
222
|
+
style
|
|
223
|
+
});
|
|
224
|
+
} else {
|
|
225
|
+
const LinearGradient = (0, _optionalGradient.getLinearGradient)();
|
|
226
|
+
fade = LinearGradient ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LinearGradient, {
|
|
227
|
+
colors: resolvedFadeColors,
|
|
228
|
+
style: style,
|
|
229
|
+
pointerEvents: "none"
|
|
230
|
+
}) : null;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
const content = renderBackground ? renderBackground({
|
|
234
|
+
theme,
|
|
235
|
+
insets,
|
|
236
|
+
collapseProgress: sticky.collapseProgress
|
|
237
|
+
}) : backgroundImage != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
|
|
238
|
+
testID: "sticky-header-background-image",
|
|
239
|
+
source: backgroundImage,
|
|
240
|
+
resizeMode: "cover",
|
|
241
|
+
style: [styles.fill, backgroundImageStyle]
|
|
242
|
+
}) : null;
|
|
243
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
244
|
+
testID: "sticky-header-background",
|
|
245
|
+
pointerEvents: "none",
|
|
246
|
+
style: [styles.background, {
|
|
247
|
+
bottom: -overhang,
|
|
248
|
+
backgroundColor: backgroundColor ?? theme.colors.headerBg
|
|
249
|
+
}, backgroundStyle],
|
|
250
|
+
children: [content, fade != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
251
|
+
testID: "sticky-header-fade",
|
|
252
|
+
pointerEvents: "none",
|
|
253
|
+
style: [styles.fade, {
|
|
254
|
+
height: fadeHeight
|
|
255
|
+
}],
|
|
256
|
+
children: fade
|
|
257
|
+
}) : null]
|
|
258
|
+
});
|
|
259
|
+
}, [fadeEnabled, fadeHeight, renderBackgroundFade, resolvedFadeColors, renderBackground, theme, insets, sticky.collapseProgress, backgroundImage, backgroundImageStyle, overhang, backgroundColor, backgroundStyle]);
|
|
260
|
+
const {
|
|
261
|
+
onNavLayout,
|
|
262
|
+
collapseStyle,
|
|
263
|
+
stickyStyle
|
|
264
|
+
} = sticky;
|
|
265
|
+
const headerElement = (0, _react.useMemo)(() => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
266
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
267
|
+
testID: "sticky-header-expanded",
|
|
268
|
+
style: [rounded && {
|
|
269
|
+
borderBottomLeftRadius: radius,
|
|
270
|
+
borderBottomRightRadius: radius,
|
|
271
|
+
overflow: 'hidden'
|
|
272
|
+
}, headerStyle],
|
|
273
|
+
children: [background, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
274
|
+
style: {
|
|
275
|
+
paddingTop: topPadding
|
|
276
|
+
},
|
|
277
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
278
|
+
entering: entering(0),
|
|
279
|
+
onLayout: onNavLayout,
|
|
280
|
+
children: expandedNav
|
|
281
|
+
}), collapsible != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
282
|
+
entering: entering(1),
|
|
283
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
284
|
+
testID: "sticky-header-collapsible",
|
|
285
|
+
style: collapseStyle,
|
|
286
|
+
children: collapsible
|
|
287
|
+
})
|
|
288
|
+
}) : null, children != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
289
|
+
entering: entering(2),
|
|
290
|
+
children: children
|
|
291
|
+
}) : null]
|
|
292
|
+
})]
|
|
293
|
+
}), ListHeaderExtra]
|
|
294
|
+
}), [rounded, radius, headerStyle, background, topPadding, entering, onNavLayout, expandedNav, collapsible, collapseStyle, children, ListHeaderExtra]);
|
|
295
|
+
const shadow = stickyShadow === false ? null : {
|
|
296
|
+
shadowColor: theme.colors.shadow,
|
|
297
|
+
...DEFAULT_SHADOW,
|
|
298
|
+
...(typeof stickyShadow === 'object' ? stickyShadow : null)
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
// Scroll container
|
|
302
|
+
const as = props.as ?? 'FlatList';
|
|
303
|
+
let Scrollable;
|
|
304
|
+
let placement = 'ListHeaderComponent';
|
|
305
|
+
if (as === 'FlatList') {
|
|
306
|
+
Scrollable = _reactNativeReanimated.default.FlatList;
|
|
307
|
+
} else if (as === 'SectionList') {
|
|
308
|
+
Scrollable = AnimatedSectionList;
|
|
309
|
+
} else if (as === 'ScrollView') {
|
|
310
|
+
Scrollable = _reactNativeReanimated.default.ScrollView;
|
|
311
|
+
placement = 'children';
|
|
312
|
+
} else {
|
|
313
|
+
Scrollable = as;
|
|
314
|
+
placement = ('headerPlacement' in props ? props.headerPlacement : undefined) ?? 'ListHeaderComponent';
|
|
315
|
+
}
|
|
316
|
+
const {
|
|
317
|
+
onScroll: _onScroll,
|
|
318
|
+
scrollEventThrottle = 16,
|
|
319
|
+
children: scrollChildren,
|
|
320
|
+
...restScrollProps
|
|
321
|
+
} = scrollProps;
|
|
322
|
+
const placementProps = placement === 'children' ? {
|
|
323
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
324
|
+
children: [headerElement, scrollChildren]
|
|
325
|
+
})
|
|
326
|
+
} : {
|
|
327
|
+
ListHeaderComponent: headerElement,
|
|
328
|
+
children: scrollChildren
|
|
329
|
+
};
|
|
330
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
331
|
+
testID: testID,
|
|
332
|
+
style: [styles.container, containerStyle],
|
|
333
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Scrollable, {
|
|
334
|
+
ref: props.listRef,
|
|
335
|
+
...restScrollProps,
|
|
336
|
+
...placementProps,
|
|
337
|
+
onScroll: sticky.scrollHandler,
|
|
338
|
+
scrollEventThrottle: scrollEventThrottle
|
|
339
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
|
|
340
|
+
testID: "sticky-header-sticky-bar",
|
|
341
|
+
pointerEvents: isSticky ? 'auto' : 'none',
|
|
342
|
+
importantForAccessibility: isSticky ? 'auto' : 'no-hide-descendants',
|
|
343
|
+
accessibilityElementsHidden: !isSticky,
|
|
344
|
+
style: [styles.sticky, {
|
|
345
|
+
paddingTop: topPadding,
|
|
346
|
+
backgroundColor: stickyBarBackground ?? (renderStickyBackground ? 'transparent' : theme.colors.stickyBg)
|
|
347
|
+
}, shadow, stickyBarStyle, stickyStyle],
|
|
348
|
+
children: [stickyBackground, stickyNav]
|
|
349
|
+
})]
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
const styles = _reactNative.StyleSheet.create({
|
|
353
|
+
container: {
|
|
354
|
+
flex: 1
|
|
355
|
+
},
|
|
356
|
+
background: {
|
|
357
|
+
position: 'absolute',
|
|
358
|
+
top: 0,
|
|
359
|
+
left: 0,
|
|
360
|
+
right: 0,
|
|
361
|
+
overflow: 'hidden'
|
|
362
|
+
},
|
|
363
|
+
fill: {
|
|
364
|
+
position: 'absolute',
|
|
365
|
+
top: 0,
|
|
366
|
+
left: 0,
|
|
367
|
+
right: 0,
|
|
368
|
+
bottom: 0,
|
|
369
|
+
width: '100%',
|
|
370
|
+
height: '100%'
|
|
371
|
+
},
|
|
372
|
+
fade: {
|
|
373
|
+
position: 'absolute',
|
|
374
|
+
left: 0,
|
|
375
|
+
right: 0,
|
|
376
|
+
bottom: 0
|
|
377
|
+
},
|
|
378
|
+
sticky: {
|
|
379
|
+
position: 'absolute',
|
|
380
|
+
top: 0,
|
|
381
|
+
left: 0,
|
|
382
|
+
right: 0,
|
|
383
|
+
zIndex: 20
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
//# sourceMappingURL=CollapsibleStickyHeaderScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_HeaderGreeting","_HeaderNavBar","_optionalGradient","_theme","_useStickyHeader","_utils","_jsxRuntime","cache","e","t","__esModule","r","c","a","Object","defineProperty","n","__proto__","default","WeakMap","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","AnimatedSectionList","Animated","createAnimatedComponent","SectionList","DEFAULT_BACKGROUND_OVERHANG","exports","DEFAULT_FADE_HEIGHT","DEFAULT_STICKY_CONTENT","DEFAULT_ENTERING","duration","stagger","easing","Easing","out","cubic","DEFAULT_SHADOW","shadowOpacity","shadowRadius","shadowOffset","width","height","elevation","CollapsibleStickyHeaderScreen","props","backgroundImage","backgroundColor","backgroundStyle","backgroundImageStyle","renderBackground","backgroundOverhang","headerBottomRadius","showFade","fadeColors","fadeHeight","renderBackgroundFade","logo","stickyLogo","logoSize","logoStyle","logoAccessibilityLabel","onLogoPress","greeting","title","subtitle","avatar","avatarPosition","avatarSize","onAvatarPress","avatarAccessibilityLabel","greetingStyle","titleStyle","subtitleStyle","avatarStyle","stickyTitle","stickyTitleStyle","stickyContent","stickyAvatarSize","stickyAvatarStyle","actions","actionsProp","renderExpandedNav","renderCollapsible","renderStickyNav","renderStickyBackground","children","ListHeaderExtra","thresholdOffset","stickyFadeDistance","stickyPointerOffset","collapseTranslateY","collapseAnimation","stickyAnimation","respectSafeArea","enteringAnimations","onStickyChange","theme","themeOverrides","stickyBarStyle","stickyBarBackground","stickyShadow","containerStyle","headerStyle","testID","useMemo","createTheme","insets","useSafeAreaInsets","topPadding","top","scrollProps","sticky","useStickyHeader","onScroll","isSticky","reducedMotion","overflow","limitActions","useEffect","warnActionOverflow","entering","undefined","cfg","index","FadeInUp","delay","expandedCtx","progress","collapseProgress","variant","stickyCtx","stickyProgress","expandedNav","jsx","HeaderNavBar","resolvedTheme","expanded","hasGreeting","collapsible","HeaderGreeting","stickyNav","compact","show","stickyBackground","View","pointerEvents","style","styles","fill","radius","headerBottom","rounded","overhang","fadeEnabled","resolvedFadeColors","colors","fade","background","StyleSheet","absoluteFill","LinearGradient","getLinearGradient","content","Image","source","resizeMode","jsxs","bottom","headerBg","onNavLayout","collapseStyle","stickyStyle","headerElement","Fragment","borderBottomLeftRadius","borderBottomRightRadius","paddingTop","onLayout","shadow","shadowColor","as","Scrollable","placement","FlatList","ScrollView","headerPlacement","_onScroll","scrollEventThrottle","scrollChildren","restScrollProps","placementProps","ListHeaderComponent","container","ref","listRef","scrollHandler","importantForAccessibility","accessibilityElementsHidden","stickyBg","create","flex","position","left","right","zIndex"],"sourceRoot":"../../src","sources":["CollapsibleStickyHeaderScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.HeaderGreeting = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _ImageOrNode = require("./ImageOrNode.js");
|
|
10
|
+
var _theme = require("./theme.js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function renderLine(value, style, testID, isHeader = false, numberOfLines) {
|
|
13
|
+
if (value == null || value === false || value === '') return null;
|
|
14
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
15
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
16
|
+
testID: testID,
|
|
17
|
+
accessibilityRole: isHeader ? 'header' : undefined,
|
|
18
|
+
numberOfLines: numberOfLines,
|
|
19
|
+
style: style,
|
|
20
|
+
children: value
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** The default collapsible block: greeting, title, subtitle and an optional avatar. */
|
|
27
|
+
const HeaderGreeting = exports.HeaderGreeting = /*#__PURE__*/(0, _react.memo)(function HeaderGreeting({
|
|
28
|
+
greeting,
|
|
29
|
+
title,
|
|
30
|
+
subtitle,
|
|
31
|
+
avatar,
|
|
32
|
+
avatarPosition = 'right',
|
|
33
|
+
avatarSize,
|
|
34
|
+
onAvatarPress,
|
|
35
|
+
avatarAccessibilityLabel = 'Profile',
|
|
36
|
+
greetingStyle,
|
|
37
|
+
titleStyle,
|
|
38
|
+
subtitleStyle,
|
|
39
|
+
avatarStyle,
|
|
40
|
+
theme: themeOverrides,
|
|
41
|
+
resolvedTheme,
|
|
42
|
+
children,
|
|
43
|
+
style,
|
|
44
|
+
testID = 'sticky-header-greeting'
|
|
45
|
+
}) {
|
|
46
|
+
const theme = (0, _react.useMemo)(() => resolvedTheme ?? (0, _theme.createTheme)(themeOverrides), [resolvedTheme, themeOverrides]);
|
|
47
|
+
const size = avatarSize ?? theme.avatarSize;
|
|
48
|
+
const {
|
|
49
|
+
colors,
|
|
50
|
+
typography
|
|
51
|
+
} = theme;
|
|
52
|
+
const text = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
53
|
+
style: styles.text,
|
|
54
|
+
testID: `${testID}-text`,
|
|
55
|
+
children: [renderLine(greeting, [{
|
|
56
|
+
color: colors.greeting,
|
|
57
|
+
fontSize: typography.greetingSize
|
|
58
|
+
}, greetingStyle], `${testID}-greeting`), renderLine(title, [styles.title, {
|
|
59
|
+
color: colors.title,
|
|
60
|
+
fontSize: typography.titleSize
|
|
61
|
+
}, titleStyle], `${testID}-title`, true, 2), renderLine(subtitle, [{
|
|
62
|
+
color: colors.subtitle,
|
|
63
|
+
fontSize: typography.subtitleSize
|
|
64
|
+
}, subtitleStyle], `${testID}-subtitle`), children]
|
|
65
|
+
}, "text");
|
|
66
|
+
let avatarNode = null;
|
|
67
|
+
if (avatar != null && avatar !== false) {
|
|
68
|
+
const image = /*#__PURE__*/(0, _jsxRuntime.jsx)(_ImageOrNode.ImageOrNode, {
|
|
69
|
+
value: avatar,
|
|
70
|
+
resizeMode: "cover",
|
|
71
|
+
accessibilityLabel: onAvatarPress ? undefined : avatarAccessibilityLabel,
|
|
72
|
+
style: [{
|
|
73
|
+
width: size,
|
|
74
|
+
height: size,
|
|
75
|
+
borderRadius: size / 2,
|
|
76
|
+
overflow: 'hidden'
|
|
77
|
+
}, avatarStyle]
|
|
78
|
+
});
|
|
79
|
+
const gap = avatarPosition === 'left' ? {
|
|
80
|
+
marginEnd: theme.spacing.avatarGap
|
|
81
|
+
} : {
|
|
82
|
+
marginStart: theme.spacing.avatarGap
|
|
83
|
+
};
|
|
84
|
+
avatarNode = onAvatarPress ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
85
|
+
testID: `${testID}-avatar`,
|
|
86
|
+
onPress: onAvatarPress,
|
|
87
|
+
accessibilityRole: "button",
|
|
88
|
+
accessibilityLabel: avatarAccessibilityLabel,
|
|
89
|
+
style: [styles.avatar, gap],
|
|
90
|
+
children: image
|
|
91
|
+
}, "avatar") : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
92
|
+
testID: `${testID}-avatar`,
|
|
93
|
+
style: [styles.avatar, gap],
|
|
94
|
+
children: image
|
|
95
|
+
}, "avatar");
|
|
96
|
+
}
|
|
97
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
98
|
+
testID: testID,
|
|
99
|
+
style: [styles.row, {
|
|
100
|
+
paddingHorizontal: theme.spacing.horizontal
|
|
101
|
+
}, style],
|
|
102
|
+
children: avatarPosition === 'left' ? [avatarNode, text] : [text, avatarNode]
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
const styles = _reactNative.StyleSheet.create({
|
|
106
|
+
row: {
|
|
107
|
+
flexDirection: 'row',
|
|
108
|
+
alignItems: 'center',
|
|
109
|
+
paddingVertical: 8
|
|
110
|
+
},
|
|
111
|
+
text: {
|
|
112
|
+
flex: 1
|
|
113
|
+
},
|
|
114
|
+
avatar: {
|
|
115
|
+
flexShrink: 0
|
|
116
|
+
},
|
|
117
|
+
title: {
|
|
118
|
+
fontWeight: '700',
|
|
119
|
+
marginTop: 2
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=HeaderGreeting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_ImageOrNode","_theme","_jsxRuntime","renderLine","value","style","testID","isHeader","numberOfLines","jsx","Text","accessibilityRole","undefined","children","HeaderGreeting","exports","memo","greeting","title","subtitle","avatar","avatarPosition","avatarSize","onAvatarPress","avatarAccessibilityLabel","greetingStyle","titleStyle","subtitleStyle","avatarStyle","theme","themeOverrides","resolvedTheme","useMemo","createTheme","size","colors","typography","text","jsxs","View","styles","color","fontSize","greetingSize","titleSize","subtitleSize","avatarNode","image","ImageOrNode","resizeMode","accessibilityLabel","width","height","borderRadius","overflow","gap","marginEnd","spacing","avatarGap","marginStart","Pressable","onPress","row","paddingHorizontal","horizontal","StyleSheet","create","flexDirection","alignItems","paddingVertical","flex","flexShrink","fontWeight","marginTop"],"sourceRoot":"../../src","sources":["HeaderGreeting.tsx"],"mappings":"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","ignoreList":[]}
|