react-native-terra-ui 0.11.7 → 0.11.9
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/CHANGELOG.md +12 -0
- package/lib/module/components/header/variants/LargeTitleHeader/index.js +31 -9
- package/lib/module/components/header/variants/LargeTitleHeader/index.js.map +1 -1
- package/lib/module/components/screen/ScreenList.js +4 -4
- package/lib/module/components/screen/ScreenList.js.map +1 -1
- package/lib/module/components/screen/ScreenScrollView.js +4 -4
- package/lib/module/components/screen/ScreenScrollView.js.map +1 -1
- package/lib/module/components/screen/parts/ScreenHeaderContent.js +32 -0
- package/lib/module/components/screen/parts/ScreenHeaderContent.js.map +1 -0
- package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/parts/ScreenHeaderContent.d.ts +6 -0
- package/lib/typescript/src/components/screen/parts/ScreenHeaderContent.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/header/variants/LargeTitleHeader/index.tsx +27 -6
- package/src/components/screen/ScreenList.tsx +3 -3
- package/src/components/screen/ScreenScrollView.tsx +3 -3
- package/src/components/screen/parts/ScreenHeaderContent.tsx +33 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.11.9](https://github.com/earthlin9/react-native-terra-ui/compare/v0.11.8...v0.11.9) (2026-09-15)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* **ui:** [screen] separate header content from the body ([29cfc9b](https://github.com/earthlin9/react-native-terra-ui/commit/29cfc9bd5eaeb2130712b8447f1365fced89fbbb))
|
|
8
|
+
|
|
9
|
+
## [0.11.8](https://github.com/earthlin9/react-native-terra-ui/compare/v0.11.7...v0.11.8) (2026-09-15)
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **ui:** [header] carry one background across a sticky accessory ([23ba640](https://github.com/earthlin9/react-native-terra-ui/commit/23ba6400aad6ae31ba91a8b2126c0222c90c3180))
|
|
14
|
+
|
|
3
15
|
## [0.11.7](https://github.com/earthlin9/react-native-terra-ui/compare/v0.11.6...v0.11.7) (2026-09-15)
|
|
4
16
|
|
|
5
17
|
### Features
|
|
@@ -106,7 +106,7 @@ export function LargeTitleHeader({
|
|
|
106
106
|
RightToolbar,
|
|
107
107
|
accessory,
|
|
108
108
|
accessoryPadding = "x",
|
|
109
|
-
accessoryBehavior = "
|
|
109
|
+
accessoryBehavior = "sticky",
|
|
110
110
|
dismissAction = "none",
|
|
111
111
|
navigation,
|
|
112
112
|
onDismiss,
|
|
@@ -130,6 +130,7 @@ export function LargeTitleHeader({
|
|
|
130
130
|
const trailingContent = trailingActions !== undefined ? trailingActions : RightToolbar;
|
|
131
131
|
const gradientColor = bgColor;
|
|
132
132
|
const isSticky = accessoryBehavior === "sticky" && !isLargeTitleHidden;
|
|
133
|
+
const hasStickyAccessory = isSticky && accessory != null;
|
|
133
134
|
// Sticky accessories reserve space below the large title; pinned ones add top padding.
|
|
134
135
|
const [stickyAccessoryHeight, setStickyAccessoryHeight] = useState(0);
|
|
135
136
|
const [largeTitleHeight, setLargeTitleHeight] = useState(0);
|
|
@@ -165,6 +166,16 @@ export function LargeTitleHeader({
|
|
|
165
166
|
const styles = _styles.useVariants({
|
|
166
167
|
titleAlignment
|
|
167
168
|
});
|
|
169
|
+
// Follow the accessory's bottom edge while keeping the background anchored to the bar.
|
|
170
|
+
const stickySurfaceStyle = useAnimatedStyle(() => ({
|
|
171
|
+
height: headerCollapseHeight + stickyAccessoryHeight + Math.max(0, stickyAccessoryOffset - scrollY.value)
|
|
172
|
+
}));
|
|
173
|
+
|
|
174
|
+
// Blend the accessory's resting surface into the shared header background.
|
|
175
|
+
const accessorySurfaceStyle = useAnimatedStyle(() => ({
|
|
176
|
+
opacity: stickyAccessoryOffset > 0 ? interpolate(scrollY.value, [0, stickyAccessoryOffset], [1, 0], "clamp") : 0
|
|
177
|
+
}));
|
|
178
|
+
|
|
168
179
|
// Animate the gradient overlay's opacity: 0 (expanded) → 1 (collapsed).
|
|
169
180
|
const gradientOpacityStyle = useAnimatedStyle(() => {
|
|
170
181
|
if (isLargeTitleHiddenValue.value) {
|
|
@@ -172,10 +183,10 @@ export function LargeTitleHeader({
|
|
|
172
183
|
opacity: 1
|
|
173
184
|
};
|
|
174
185
|
}
|
|
175
|
-
const height = headerCollapseHeight;
|
|
186
|
+
const height = hasStickyAccessory ? stickyAccessoryOffset : headerCollapseHeight;
|
|
176
187
|
if (height <= 0) {
|
|
177
188
|
return {
|
|
178
|
-
opacity: 0
|
|
189
|
+
opacity: hasStickyAccessory ? 1 : 0
|
|
179
190
|
};
|
|
180
191
|
}
|
|
181
192
|
return {
|
|
@@ -241,9 +252,16 @@ export function LargeTitleHeader({
|
|
|
241
252
|
}), isSticky && accessory != null && /*#__PURE__*/_jsx(HeaderAccessorySpacer, {
|
|
242
253
|
height: stickyAccessoryHeight
|
|
243
254
|
})]
|
|
255
|
+
}), hasStickyAccessory && /*#__PURE__*/_jsx(Animated.View, {
|
|
256
|
+
style: [styles.stickySurface, stickySurfaceStyle],
|
|
257
|
+
pointerEvents: "none",
|
|
258
|
+
children: /*#__PURE__*/_jsx(HeaderSurface, {
|
|
259
|
+
color: gradientColor,
|
|
260
|
+
animatedStyle: gradientOpacityStyle
|
|
261
|
+
})
|
|
244
262
|
}), /*#__PURE__*/_jsxs(View, {
|
|
245
263
|
style: styles.barGroup,
|
|
246
|
-
children: [/*#__PURE__*/_jsx(HeaderSurface, {
|
|
264
|
+
children: [!hasStickyAccessory && /*#__PURE__*/_jsx(HeaderSurface, {
|
|
247
265
|
color: gradientColor,
|
|
248
266
|
animatedStyle: gradientOpacityStyle
|
|
249
267
|
}), /*#__PURE__*/_jsxs(View, {
|
|
@@ -267,13 +285,11 @@ export function LargeTitleHeader({
|
|
|
267
285
|
onHeightChange: handleAccessoryHeightChange,
|
|
268
286
|
children: accessory
|
|
269
287
|
})]
|
|
270
|
-
}), accessory != null && isSticky &&
|
|
271
|
-
/*#__PURE__*/
|
|
272
|
-
// The background moves with the sticky accessory.
|
|
273
|
-
_jsxs(Animated.View, {
|
|
288
|
+
}), accessory != null && isSticky && /*#__PURE__*/_jsxs(Animated.View, {
|
|
274
289
|
style: [styles.stickyAccessory, stickyAccessoryStyle],
|
|
275
290
|
children: [/*#__PURE__*/_jsx(HeaderSurface, {
|
|
276
|
-
color:
|
|
291
|
+
color: screenBackground ?? theme.color["surface.canvas"],
|
|
292
|
+
animatedStyle: accessorySurfaceStyle,
|
|
277
293
|
fadeHeight: HEADER_FADE_EXTENT
|
|
278
294
|
}), /*#__PURE__*/_jsx(HeaderAccessory, {
|
|
279
295
|
padding: accessoryPadding,
|
|
@@ -286,6 +302,12 @@ export function LargeTitleHeader({
|
|
|
286
302
|
}
|
|
287
303
|
}
|
|
288
304
|
const styles = StyleSheet.create(theme => ({
|
|
305
|
+
stickySurface: {
|
|
306
|
+
position: "absolute",
|
|
307
|
+
top: 0,
|
|
308
|
+
left: 0,
|
|
309
|
+
right: 0
|
|
310
|
+
},
|
|
289
311
|
// Include the translated accessory in the parent's touchable bounds.
|
|
290
312
|
container: accessoryOffset => ({
|
|
291
313
|
position: "absolute",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useState","Animated","interpolate","useAnimatedStyle","useSharedValue","StyleSheet","useUnistyles","resolveThemeColor","FONT_WEIGHT_VALUE","Portal","useHeaderBackground","SCREEN_HEADER_PORTAL_HOST","useScreen","Toolbar","HeaderDismissButton","HeaderAccessory","HeaderAccessorySpacer","HEADER_FADE_EXTENT","HeaderSurface","isCustomTitle","isTextTitle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AnimatedText","createAnimatedComponent","Text","COMPACT_TITLE_SLIDE_OFFSET","LARGE_TITLE_SLIDE_OFFSET","LargeTitlePortalContent","title","overline","subtitle","onHeightChange","theme","scrollY","headerCollapseHeight","layout","header","height","largeTitleAnimatedStyle","opacity","transform","translateY","value","handleLayout","event","nativeEvent","View","style","styles","portalContent","onLayout","children","maxFontSizeMultiplier","typography","variants","largeTitle","LargeTitleHeader","leadingActions","trailingActions","LeftToolbar","RightToolbar","accessory","accessoryPadding","accessoryBehavior","dismissAction","navigation","onDismiss","titleAlignment","isLargeTitleHidden","background","bg","screenBackground","setHeaderAccessoryHeight","contentTopPadding","colorToken","bgColor","color","leadingContent","undefined","trailingContent","gradientColor","isSticky","stickyAccessoryHeight","setStickyAccessoryHeight","largeTitleHeight","setLargeTitleHeight","isLargeTitleHiddenValue","handleAccessoryHeightChange","Math","max","round","handleLargeTitleHeightChange","stickyAccessoryOffset","stickyAccessoryStyle","_styles","useVariants","gradientOpacityStyle","compactTitleAnimatedStyle","leading","trailing","container","pointerEvents","hostName","barGroup","animatedStyle","bar","titleContainer","compactTitle","padding","stickyAccessory","fadeHeight","create","accessoryOffset","position","top","left","right","zIndex","paddingBottom","flexDirection","alignItems","paddingHorizontal","screen","x","gap","spacing","justifyContent","uni__dependencies","center","marginLeft","minHeight","fontSize","lineHeight","letterSpacing","fontWeight","textAlign","flex"],"sourceRoot":"../../../../../../src","sources":["components/header/variants/LargeTitleHeader/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useState","Animated","interpolate","useAnimatedStyle","useSharedValue","StyleSheet","useUnistyles","resolveThemeColor","FONT_WEIGHT_VALUE","Portal","useHeaderBackground","SCREEN_HEADER_PORTAL_HOST","useScreen","Toolbar","HeaderDismissButton","HeaderAccessory","HeaderAccessorySpacer","HEADER_FADE_EXTENT","HeaderSurface","isCustomTitle","isTextTitle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AnimatedText","createAnimatedComponent","Text","COMPACT_TITLE_SLIDE_OFFSET","LARGE_TITLE_SLIDE_OFFSET","LargeTitlePortalContent","title","overline","subtitle","onHeightChange","theme","scrollY","headerCollapseHeight","layout","header","height","largeTitleAnimatedStyle","opacity","transform","translateY","value","handleLayout","event","nativeEvent","View","style","styles","portalContent","onLayout","children","maxFontSizeMultiplier","typography","variants","largeTitle","LargeTitleHeader","leadingActions","trailingActions","LeftToolbar","RightToolbar","accessory","accessoryPadding","accessoryBehavior","dismissAction","navigation","onDismiss","titleAlignment","isLargeTitleHidden","background","bg","screenBackground","setHeaderAccessoryHeight","contentTopPadding","colorToken","bgColor","color","leadingContent","undefined","trailingContent","gradientColor","isSticky","hasStickyAccessory","stickyAccessoryHeight","setStickyAccessoryHeight","largeTitleHeight","setLargeTitleHeight","isLargeTitleHiddenValue","handleAccessoryHeightChange","Math","max","round","handleLargeTitleHeightChange","stickyAccessoryOffset","stickyAccessoryStyle","_styles","useVariants","stickySurfaceStyle","accessorySurfaceStyle","gradientOpacityStyle","compactTitleAnimatedStyle","leading","trailing","container","pointerEvents","hostName","stickySurface","animatedStyle","barGroup","bar","titleContainer","compactTitle","padding","stickyAccessory","fadeHeight","create","position","top","left","right","accessoryOffset","zIndex","paddingBottom","flexDirection","alignItems","paddingHorizontal","screen","x","gap","spacing","justifyContent","uni__dependencies","center","marginLeft","minHeight","fontSize","lineHeight","letterSpacing","fontWeight","textAlign","flex"],"sourceRoot":"../../../../../../src","sources":["components/header/variants/LargeTitleHeader/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,13 +7,13 @@ import { StyleSheet as NativeStyleSheet } from "react-native";
|
|
|
7
7
|
import Animated from "react-native-reanimated";
|
|
8
8
|
import { StyleSheet, useUnistyles } from "react-native-unistyles";
|
|
9
9
|
import { resolveScreenPadding } from "../../theme/screen-padding.js";
|
|
10
|
-
import { PortalHost } from "../portal/index.js";
|
|
11
10
|
import { useNestedContainerWarning } from "./hooks/use-nested-container-warning.js";
|
|
12
11
|
import { useScreenRef } from "./hooks/use-screen-ref.js";
|
|
13
12
|
import { useScreenScrollHandler } from "./hooks/use-screen-scroll-handler.js";
|
|
14
13
|
import { ScreenBottomInset } from "./parts/ScreenBottomInset";
|
|
14
|
+
import { ScreenHeaderContent } from "./parts/ScreenHeaderContent.js";
|
|
15
15
|
import { renderScreenPlaceholder } from "./parts/ScreenPlaceholder.js";
|
|
16
|
-
import {
|
|
16
|
+
import { useScreen } from "./ScreenContext.js";
|
|
17
17
|
import { hasHorizontalPadding, hasVerticalPadding, renderListComponent } from "./utils.js";
|
|
18
18
|
|
|
19
19
|
/** Minimal row information supported by custom list adapters. FlatList also supplies separators. */
|
|
@@ -100,8 +100,8 @@ const ScreenListBase = /*#__PURE__*/forwardRef(function ScreenList({
|
|
|
100
100
|
const header = /*#__PURE__*/_jsxs(_Fragment, {
|
|
101
101
|
children: [/*#__PURE__*/_jsx(View, {
|
|
102
102
|
style: styles.headerWrapper(resolvedPadding),
|
|
103
|
-
children: /*#__PURE__*/_jsx(
|
|
104
|
-
|
|
103
|
+
children: /*#__PURE__*/_jsx(ScreenHeaderContent, {
|
|
104
|
+
contentPadding: horizontal ? "none" : resolvedPadding
|
|
105
105
|
})
|
|
106
106
|
}), renderListComponent(ListHeaderComponent)]
|
|
107
107
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useEffect","useMemo","StyleSheet","NativeStyleSheet","Animated","useUnistyles","resolveScreenPadding","
|
|
1
|
+
{"version":3,"names":["forwardRef","useEffect","useMemo","StyleSheet","NativeStyleSheet","Animated","useUnistyles","resolveScreenPadding","useNestedContainerWarning","useScreenRef","useScreenScrollHandler","ScreenBottomInset","ScreenHeaderContent","renderScreenPlaceholder","useScreen","hasHorizontalPadding","hasVerticalPadding","renderListComponent","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ScreenListBase","ScreenList","as","data","renderItem","style","contentContainerStyle","ListHeaderComponent","ListFooterComponent","ListEmptyComponent","horizontal","isLoading","loading","loadingContent","LoadingComponent","emptyContent","EmptyComponent","contentPadding","margins","bottomInset","extraBottomPadding","scrollHandler","externalScrollHandler","onScroll","rest","ref","isDefaultFlatList","undefined","FlatList","Component","AnimatedComponent","createAnimatedComponent","background","scrollRef","headerSnapOffsets","screenPadding","hasHeader","headerAccessoryHeight","setContentTopPadding","contentOwnsBottomInset","platformAdjustsInsets","ownsBottomInset","mergedRef","resolvedPadding","theme","rt","y","paddingY","breakpoint","defaultTopPadding","layout","header","height","paddingTopOverride","flatten","paddingTop","contentTopPadding","resolvedLoading","placeholder","isEmpty","length","composedScrollHandler","children","View","styles","headerWrapper","footer","backgroundColor","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","automaticallyAdjustsScrollIndicatorInsets","content","showsVerticalScrollIndicator","scrollEventThrottle","snapToOffsets","displayName","create","runtime","padding","accessoryHeight","x","flexGrow","paddingHorizontal","paddingBottom","uni__dependencies","marginHorizontal"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,13 +5,13 @@ import { Children, forwardRef, useCallback } from "react";
|
|
|
5
5
|
import Animated from "react-native-reanimated";
|
|
6
6
|
import { StyleSheet } from "react-native-unistyles";
|
|
7
7
|
import { resolveScreenPadding } from "../../theme/screen-padding.js";
|
|
8
|
-
import { PortalHost } from "../portal/index.js";
|
|
9
8
|
import { useNestedContainerWarning } from "./hooks/use-nested-container-warning.js";
|
|
10
9
|
import { useScreenRef } from "./hooks/use-screen-ref.js";
|
|
11
10
|
import { useScreenScrollHandler } from "./hooks/use-screen-scroll-handler.js";
|
|
12
11
|
import { ScreenBottomInset } from "./parts/ScreenBottomInset";
|
|
12
|
+
import { ScreenHeaderContent } from "./parts/ScreenHeaderContent.js";
|
|
13
13
|
import { renderScreenPlaceholder } from "./parts/ScreenPlaceholder.js";
|
|
14
|
-
import {
|
|
14
|
+
import { useScreen } from "./ScreenContext.js";
|
|
15
15
|
import { hasHorizontalPadding, hasVerticalPadding } from "./utils.js";
|
|
16
16
|
|
|
17
17
|
/** Native ScrollView props plus Screen layout, placeholders, and worklet support. */
|
|
@@ -101,8 +101,8 @@ export const ScreenScrollView = /*#__PURE__*/forwardRef(function ScreenScrollVie
|
|
|
101
101
|
children: [/*#__PURE__*/_jsx(View, {
|
|
102
102
|
style: styles.headerWrapper(resolvedPadding),
|
|
103
103
|
onLayout: handleHeaderWrapperLayout,
|
|
104
|
-
children: /*#__PURE__*/_jsx(
|
|
105
|
-
|
|
104
|
+
children: /*#__PURE__*/_jsx(ScreenHeaderContent, {
|
|
105
|
+
contentPadding: horizontal ? "none" : resolvedPadding
|
|
106
106
|
})
|
|
107
107
|
}), /*#__PURE__*/_jsx(View, {
|
|
108
108
|
style: [styles.content(horizontal), contentStyle],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Children","forwardRef","useCallback","Animated","StyleSheet","resolveScreenPadding","
|
|
1
|
+
{"version":3,"names":["Children","forwardRef","useCallback","Animated","StyleSheet","resolveScreenPadding","useNestedContainerWarning","useScreenRef","useScreenScrollHandler","ScreenBottomInset","ScreenHeaderContent","renderScreenPlaceholder","useScreen","hasHorizontalPadding","hasVerticalPadding","jsx","_jsx","jsxs","_jsxs","ScreenScrollView","children","style","contentContainerStyle","contentStyle","scrollHandler","externalScrollHandler","onScroll","horizontal","isLoading","loading","loadingContent","LoadingComponent","emptyContent","EmptyComponent","contentPadding","margins","extraBottomPadding","isEmpty","rest","ref","scrollRef","screenPadding","hasHeader","headerAccessoryHeight","setContentTopPadding","background","contentOwnsBottomInset","platformAdjustsInsets","ownsBottomInset","resolvedPadding","mergedRef","placeholder","undefined","toArray","length","composedScrollHandler","handleHeaderWrapperLayout","event","nativeEvent","layout","y","ScrollView","backgroundColor","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","automaticallyAdjustsScrollIndicatorInsets","showsVerticalScrollIndicator","scrollEventThrottle","styles","scrollContent","View","headerWrapper","onLayout","content","displayName","create","theme","runtime","padding","accessoryHeight","x","breakpoint","flexGrow","paddingTop","header","height","paddingHorizontal","paddingBottom","uni__dependencies","marginHorizontal","flexDirection"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenScrollView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useState } from "react";
|
|
4
|
+
import { StyleSheet } from "react-native-unistyles";
|
|
5
|
+
import { resolveScreenPadding } from "../../../theme/screen-padding.js";
|
|
6
|
+
import { PortalHost } from "../../portal/index.js";
|
|
7
|
+
import { SCREEN_HEADER_PORTAL_HOST } from "../ScreenContext.js";
|
|
8
|
+
import { hasVerticalPadding } from "../utils.js";
|
|
9
|
+
|
|
10
|
+
/** Separates the large title and sticky accessory from the screen body. */
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
export function ScreenHeaderContent({
|
|
13
|
+
contentPadding
|
|
14
|
+
}) {
|
|
15
|
+
const [hasContent, setHasContent] = useState(false);
|
|
16
|
+
const handleLayout = useCallback(event => {
|
|
17
|
+
setHasContent(event.nativeEvent.layout.height > 0);
|
|
18
|
+
}, []);
|
|
19
|
+
return /*#__PURE__*/_jsx(PortalHost, {
|
|
20
|
+
name: SCREEN_HEADER_PORTAL_HOST,
|
|
21
|
+
onLayout: handleLayout,
|
|
22
|
+
style: styles.content(hasContent && hasVerticalPadding(contentPadding))
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const styles = StyleSheet.create((theme, runtime) => ({
|
|
26
|
+
// Margin is excluded from the measured height, so an empty host releases the gap.
|
|
27
|
+
content: hasGap => ({
|
|
28
|
+
marginBottom: hasGap ? resolveScreenPadding(theme, runtime.breakpoint).y : 0,
|
|
29
|
+
uni__dependencies: [0, 3]
|
|
30
|
+
})
|
|
31
|
+
}));
|
|
32
|
+
//# sourceMappingURL=ScreenHeaderContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useState","StyleSheet","resolveScreenPadding","PortalHost","SCREEN_HEADER_PORTAL_HOST","hasVerticalPadding","jsx","_jsx","ScreenHeaderContent","contentPadding","hasContent","setHasContent","handleLayout","event","nativeEvent","layout","height","name","onLayout","style","styles","content","create","theme","runtime","hasGap","marginBottom","breakpoint","y","uni__dependencies"],"sourceRoot":"../../../../../src","sources":["components/screen/parts/ScreenHeaderContent.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAG7C,SAASC,UAAU,QAAQ,wBAAwB;AAEnD,SAASC,oBAAoB;AAC7B,SAASC,UAAU;AACnB,SAASC,yBAAyB;AAElC,SAASC,kBAAkB;;AAE3B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACA,OAAO,SAASC,mBAAmBA,CAAC;EAAEC;AAAyD,CAAC,EAAE;EAChG,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGX,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAMY,YAAY,GAAGb,WAAW,CAAEc,KAAwB,IAAK;IAC7DF,aAAa,CAACE,KAAK,CAACC,WAAW,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC,CAAC;EACpD,CAAC,EAAE,EAAE,CAAC;EAEN,oBACET,IAAA,CAACJ,UAAU;IACTc,IAAI,EAAEb,yBAA0B;IAChCc,QAAQ,EAAEN,YAAa;IACvBO,KAAK,EAAEC,MAAM,CAACC,OAAO,CAACX,UAAU,IAAIL,kBAAkB,CAACI,cAAc,CAAC;EAAE,CACzE,CAAC;AAEN;AAEA,MAAMW,MAAM,GAAGnB,UAAU,CAACqB,MAAM,CAAC,CAACC,KAAK,EAAEC,OAAO,MAAM;EACpD;EACAH,OAAO,EAAGI,MAAe,KAAM;IAC7BC,YAAY,EAAED,MAAM,GAAGvB,oBAAoB,CAACqB,KAAK,EAAEC,OAAO,CAACG,UAAU,CAAC,CAACC,CAAC,GAAG,CAAC;IAAAC,iBAAA;EAC9E,CAAC;AACH,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/LargeTitleHeader/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAa,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAgB,CAAC;AASvD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACpC;AAmED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAsB,EACtB,iBAA4B,EAC5B,aAAsB,EACtB,UAAU,EACV,SAAS,EACT,cAAyB,EACzB,kBAA0B,EAC1B,UAAU,EACV,EAAE,GACH,EAAE,qBAAqB,+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/LargeTitleHeader/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAa,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAgB,CAAC;AASvD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACpC;AAmED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAsB,EACtB,iBAA4B,EAC5B,aAAsB,EACtB,UAAU,EACV,SAAS,EACT,cAAyB,EACzB,kBAA0B,EAC1B,UAAU,EACV,EAAE,GACH,EAAE,qBAAqB,+BA0LvB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ScreenContentPadding } from "../types.js";
|
|
2
|
+
/** Separates the large title and sticky accessory from the screen body. */
|
|
3
|
+
export declare function ScreenHeaderContent({ contentPadding }: {
|
|
4
|
+
contentPadding: ScreenContentPadding;
|
|
5
|
+
}): import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=ScreenHeaderContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScreenHeaderContent.d.ts","sourceRoot":"","sources":["../../../../../../src/components/screen/parts/ScreenHeaderContent.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAU,CAAC;AAGrD,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,EAAE,cAAc,EAAE,EAAE;IAAE,cAAc,EAAE,oBAAoB,CAAA;CAAE,+BAa/F"}
|
package/package.json
CHANGED
|
@@ -141,7 +141,7 @@ export function LargeTitleHeader({
|
|
|
141
141
|
RightToolbar,
|
|
142
142
|
accessory,
|
|
143
143
|
accessoryPadding = "x",
|
|
144
|
-
accessoryBehavior = "
|
|
144
|
+
accessoryBehavior = "sticky",
|
|
145
145
|
dismissAction = "none",
|
|
146
146
|
navigation,
|
|
147
147
|
onDismiss,
|
|
@@ -161,6 +161,7 @@ export function LargeTitleHeader({
|
|
|
161
161
|
|
|
162
162
|
const gradientColor = bgColor;
|
|
163
163
|
const isSticky = accessoryBehavior === "sticky" && !isLargeTitleHidden;
|
|
164
|
+
const hasStickyAccessory = isSticky && accessory != null;
|
|
164
165
|
// Sticky accessories reserve space below the large title; pinned ones add top padding.
|
|
165
166
|
const [stickyAccessoryHeight, setStickyAccessoryHeight] = useState(0);
|
|
166
167
|
const [largeTitleHeight, setLargeTitleHeight] = useState(0);
|
|
@@ -196,14 +197,25 @@ export function LargeTitleHeader({
|
|
|
196
197
|
const headerCollapseHeight = theme.layout.header.height;
|
|
197
198
|
styles.useVariants({ titleAlignment });
|
|
198
199
|
|
|
200
|
+
// Follow the accessory's bottom edge while keeping the background anchored to the bar.
|
|
201
|
+
const stickySurfaceStyle = useAnimatedStyle(() => ({
|
|
202
|
+
height: headerCollapseHeight + stickyAccessoryHeight + Math.max(0, stickyAccessoryOffset - scrollY.value),
|
|
203
|
+
}));
|
|
204
|
+
|
|
205
|
+
// Blend the accessory's resting surface into the shared header background.
|
|
206
|
+
const accessorySurfaceStyle = useAnimatedStyle(() => ({
|
|
207
|
+
opacity:
|
|
208
|
+
stickyAccessoryOffset > 0 ? interpolate(scrollY.value, [0, stickyAccessoryOffset], [1, 0], "clamp") : 0,
|
|
209
|
+
}));
|
|
210
|
+
|
|
199
211
|
// Animate the gradient overlay's opacity: 0 (expanded) → 1 (collapsed).
|
|
200
212
|
const gradientOpacityStyle = useAnimatedStyle(() => {
|
|
201
213
|
if (isLargeTitleHiddenValue.value) {
|
|
202
214
|
return { opacity: 1 };
|
|
203
215
|
}
|
|
204
|
-
const height = headerCollapseHeight;
|
|
216
|
+
const height = hasStickyAccessory ? stickyAccessoryOffset : headerCollapseHeight;
|
|
205
217
|
if (height <= 0) {
|
|
206
|
-
return { opacity: 0 };
|
|
218
|
+
return { opacity: hasStickyAccessory ? 1 : 0 };
|
|
207
219
|
}
|
|
208
220
|
return {
|
|
209
221
|
opacity: interpolate(scrollY.value, [0, height], [0, 1], "clamp"),
|
|
@@ -274,9 +286,14 @@ export function LargeTitleHeader({
|
|
|
274
286
|
{isSticky && accessory != null && <HeaderAccessorySpacer height={stickyAccessoryHeight} />}
|
|
275
287
|
</Portal>
|
|
276
288
|
)}
|
|
289
|
+
{hasStickyAccessory && (
|
|
290
|
+
<Animated.View style={[styles.stickySurface, stickySurfaceStyle]} pointerEvents="none">
|
|
291
|
+
<HeaderSurface color={gradientColor} animatedStyle={gradientOpacityStyle} />
|
|
292
|
+
</Animated.View>
|
|
293
|
+
)}
|
|
277
294
|
{/* Share a background between the bar and a pinned accessory. */}
|
|
278
295
|
<View style={styles.barGroup}>
|
|
279
|
-
<HeaderSurface color={gradientColor} animatedStyle={gradientOpacityStyle} />
|
|
296
|
+
{!hasStickyAccessory && <HeaderSurface color={gradientColor} animatedStyle={gradientOpacityStyle} />}
|
|
280
297
|
<View style={styles.bar}>
|
|
281
298
|
{leading != null && <Toolbar>{leading}</Toolbar>}
|
|
282
299
|
{/* Text can never be the touch target, but custom content may be, so its
|
|
@@ -305,9 +322,12 @@ export function LargeTitleHeader({
|
|
|
305
322
|
)}
|
|
306
323
|
</View>
|
|
307
324
|
{accessory != null && isSticky && (
|
|
308
|
-
// The background moves with the sticky accessory.
|
|
309
325
|
<Animated.View style={[styles.stickyAccessory, stickyAccessoryStyle]}>
|
|
310
|
-
<HeaderSurface
|
|
326
|
+
<HeaderSurface
|
|
327
|
+
color={screenBackground ?? theme.color["surface.canvas"]}
|
|
328
|
+
animatedStyle={accessorySurfaceStyle}
|
|
329
|
+
fadeHeight={HEADER_FADE_EXTENT}
|
|
330
|
+
/>
|
|
311
331
|
<HeaderAccessory padding={accessoryPadding} onHeightChange={handleAccessoryHeightChange}>
|
|
312
332
|
{accessory}
|
|
313
333
|
</HeaderAccessory>
|
|
@@ -318,6 +338,7 @@ export function LargeTitleHeader({
|
|
|
318
338
|
}
|
|
319
339
|
|
|
320
340
|
const styles = StyleSheet.create((theme) => ({
|
|
341
|
+
stickySurface: { position: "absolute", top: 0, left: 0, right: 0 },
|
|
321
342
|
// Include the translated accessory in the parent's touchable bounds.
|
|
322
343
|
container: (accessoryOffset: number) => ({
|
|
323
344
|
position: "absolute",
|
|
@@ -22,13 +22,13 @@ import Animated from "react-native-reanimated";
|
|
|
22
22
|
import { StyleSheet, useUnistyles } from "react-native-unistyles";
|
|
23
23
|
|
|
24
24
|
import { resolveScreenPadding } from "#theme/screen-padding";
|
|
25
|
-
import { PortalHost } from "../portal";
|
|
26
25
|
import { useNestedContainerWarning } from "./hooks/use-nested-container-warning";
|
|
27
26
|
import { useScreenRef } from "./hooks/use-screen-ref";
|
|
28
27
|
import { useScreenScrollHandler } from "./hooks/use-screen-scroll-handler";
|
|
29
28
|
import { ScreenBottomInset } from "./parts/ScreenBottomInset";
|
|
29
|
+
import { ScreenHeaderContent } from "./parts/ScreenHeaderContent";
|
|
30
30
|
import { renderScreenPlaceholder } from "./parts/ScreenPlaceholder";
|
|
31
|
-
import {
|
|
31
|
+
import { useScreen } from "./ScreenContext";
|
|
32
32
|
import type { ScreenContentPadding, ScreenScrollableProps } from "./types";
|
|
33
33
|
import { hasHorizontalPadding, hasVerticalPadding, renderListComponent } from "./utils";
|
|
34
34
|
|
|
@@ -215,7 +215,7 @@ const ScreenListBase = forwardRef(function ScreenList(
|
|
|
215
215
|
const header = (
|
|
216
216
|
<>
|
|
217
217
|
<View style={styles.headerWrapper(resolvedPadding)}>
|
|
218
|
-
<
|
|
218
|
+
<ScreenHeaderContent contentPadding={horizontal ? "none" : resolvedPadding} />
|
|
219
219
|
</View>
|
|
220
220
|
{renderListComponent(ListHeaderComponent)}
|
|
221
221
|
</>
|
|
@@ -12,13 +12,13 @@ import Animated from "react-native-reanimated";
|
|
|
12
12
|
import { StyleSheet } from "react-native-unistyles";
|
|
13
13
|
|
|
14
14
|
import { resolveScreenPadding } from "#theme/screen-padding";
|
|
15
|
-
import { PortalHost } from "../portal";
|
|
16
15
|
import { useNestedContainerWarning } from "./hooks/use-nested-container-warning";
|
|
17
16
|
import { useScreenRef } from "./hooks/use-screen-ref";
|
|
18
17
|
import { useScreenScrollHandler } from "./hooks/use-screen-scroll-handler";
|
|
19
18
|
import { ScreenBottomInset } from "./parts/ScreenBottomInset";
|
|
19
|
+
import { ScreenHeaderContent } from "./parts/ScreenHeaderContent";
|
|
20
20
|
import { renderScreenPlaceholder } from "./parts/ScreenPlaceholder";
|
|
21
|
-
import {
|
|
21
|
+
import { useScreen } from "./ScreenContext";
|
|
22
22
|
import type { ScreenContentPadding, ScreenScrollableProps } from "./types";
|
|
23
23
|
import { hasHorizontalPadding, hasVerticalPadding } from "./utils";
|
|
24
24
|
|
|
@@ -126,7 +126,7 @@ export const ScreenScrollView = forwardRef<ComponentRef<typeof ScrollView>, Scre
|
|
|
126
126
|
onScroll={composedScrollHandler}
|
|
127
127
|
>
|
|
128
128
|
<View style={styles.headerWrapper(resolvedPadding)} onLayout={handleHeaderWrapperLayout}>
|
|
129
|
-
<
|
|
129
|
+
<ScreenHeaderContent contentPadding={horizontal ? "none" : resolvedPadding} />
|
|
130
130
|
</View>
|
|
131
131
|
<View style={[styles.content(horizontal), contentStyle]}>{placeholder ?? children}</View>
|
|
132
132
|
{ownsBottomInset && <ScreenBottomInset />}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useCallback, useState } from "react";
|
|
2
|
+
import type { LayoutChangeEvent } from "react-native";
|
|
3
|
+
|
|
4
|
+
import { StyleSheet } from "react-native-unistyles";
|
|
5
|
+
|
|
6
|
+
import { resolveScreenPadding } from "#theme/screen-padding";
|
|
7
|
+
import { PortalHost } from "../../portal";
|
|
8
|
+
import { SCREEN_HEADER_PORTAL_HOST } from "../ScreenContext";
|
|
9
|
+
import type { ScreenContentPadding } from "../types";
|
|
10
|
+
import { hasVerticalPadding } from "../utils";
|
|
11
|
+
|
|
12
|
+
/** Separates the large title and sticky accessory from the screen body. */
|
|
13
|
+
export function ScreenHeaderContent({ contentPadding }: { contentPadding: ScreenContentPadding }) {
|
|
14
|
+
const [hasContent, setHasContent] = useState(false);
|
|
15
|
+
const handleLayout = useCallback((event: LayoutChangeEvent) => {
|
|
16
|
+
setHasContent(event.nativeEvent.layout.height > 0);
|
|
17
|
+
}, []);
|
|
18
|
+
|
|
19
|
+
return (
|
|
20
|
+
<PortalHost
|
|
21
|
+
name={SCREEN_HEADER_PORTAL_HOST}
|
|
22
|
+
onLayout={handleLayout}
|
|
23
|
+
style={styles.content(hasContent && hasVerticalPadding(contentPadding))}
|
|
24
|
+
/>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const styles = StyleSheet.create((theme, runtime) => ({
|
|
29
|
+
// Margin is excluded from the measured height, so an empty host releases the gap.
|
|
30
|
+
content: (hasGap: boolean) => ({
|
|
31
|
+
marginBottom: hasGap ? resolveScreenPadding(theme, runtime.breakpoint).y : 0,
|
|
32
|
+
}),
|
|
33
|
+
}));
|