react-native-terra-ui 0.13.3 → 0.13.4
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 +6 -0
- package/lib/module/components/header/hooks/use-large-title-header.js +8 -1
- package/lib/module/components/header/hooks/use-large-title-header.js.map +1 -1
- package/lib/module/components/screen/ScreenContext.js +4 -1
- package/lib/module/components/screen/ScreenContext.js.map +1 -1
- package/lib/module/components/screen/ScreenList.js +7 -4
- package/lib/module/components/screen/ScreenList.js.map +1 -1
- package/lib/module/components/screen/ScreenScrollView.js +6 -3
- package/lib/module/components/screen/ScreenScrollView.js.map +1 -1
- package/lib/module/components/screen/parts/ScreenHeaderContent.js +5 -1
- package/lib/module/components/screen/parts/ScreenHeaderContent.js.map +1 -1
- package/lib/typescript/src/components/header/hooks/use-large-title-header.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/ScreenContext.d.ts +8 -0
- package/lib/typescript/src/components/screen/ScreenContext.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/ScreenList.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/ScreenScrollView.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/parts/ScreenHeaderContent.d.ts +5 -1
- package/lib/typescript/src/components/screen/parts/ScreenHeaderContent.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/header/hooks/use-large-title-header.ts +7 -1
- package/src/components/screen/ScreenContext.tsx +12 -0
- package/src/components/screen/ScreenList.tsx +14 -3
- package/src/components/screen/ScreenScrollView.tsx +12 -2
- package/src/components/screen/parts/ScreenHeaderContent.tsx +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.13.4](https://github.com/earthlin9/react-native-terra-ui/compare/v0.13.3...v0.13.4) (2026-10-04)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* **ui:** [header] drop top padding above the large title ([#32](https://github.com/earthlin9/react-native-terra-ui/issues/32)) ([530dc1d](https://github.com/earthlin9/react-native-terra-ui/commit/530dc1dc93537eba439d29f18b33b6f03623c904))
|
|
8
|
+
|
|
3
9
|
## [0.13.3](https://github.com/earthlin9/react-native-terra-ui/compare/v0.13.2...v0.13.3) (2026-10-04)
|
|
4
10
|
|
|
5
11
|
### Features
|
|
@@ -16,7 +16,8 @@ export function useLargeTitleHeader({
|
|
|
16
16
|
const {
|
|
17
17
|
scrollY,
|
|
18
18
|
contentTopPadding,
|
|
19
|
-
setHeaderAccessoryHeight
|
|
19
|
+
setHeaderAccessoryHeight,
|
|
20
|
+
setHasLargeTitle
|
|
20
21
|
} = useScreen();
|
|
21
22
|
const [accessoryHeight, setAccessoryHeight] = useState(0);
|
|
22
23
|
const [largeTitleHeight, setLargeTitleHeight] = useState(0);
|
|
@@ -34,6 +35,12 @@ export function useLargeTitleHeader({
|
|
|
34
35
|
setHeaderAccessoryHeight(isSticky ? 0 : reservedAccessoryHeight);
|
|
35
36
|
return () => setHeaderAccessoryHeight(0);
|
|
36
37
|
}, [isSticky, reservedAccessoryHeight, setHeaderAccessoryHeight]);
|
|
38
|
+
// The large title sits directly under the bar; the screen drops its top
|
|
39
|
+
// padding while one is shown and pays it below the title instead.
|
|
40
|
+
useLayoutEffect(() => {
|
|
41
|
+
setHasLargeTitle(!isLargeTitleHidden);
|
|
42
|
+
return () => setHasLargeTitle(false);
|
|
43
|
+
}, [isLargeTitleHidden, setHasLargeTitle]);
|
|
37
44
|
const accessoryStyle = useAnimatedStyle(() => ({
|
|
38
45
|
transform: [{
|
|
39
46
|
translateY: isSticky && !hidden.value ? Math.max(0, accessoryOffset - scrollY.value) : 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useLayoutEffect","useState","interpolate","useAnimatedStyle","useSharedValue","useUnistyles","useScreen","useLargeTitleHeader","hasAccessory","accessoryBehavior","isLargeTitleHidden","theme","scrollY","contentTopPadding","setHeaderAccessoryHeight","accessoryHeight","setAccessoryHeight","largeTitleHeight","setLargeTitleHeight","hidden","value","barHeight","layout","header","height","isSticky","reservedAccessoryHeight","Math","max","round","spacing","accessoryOffset","accessoryStyle","transform","translateY","surfaceStyle","opacity","distance","compactTitleStyle","progress","largeTitleStyle"],"sourceRoot":"../../../../../src","sources":["components/header/hooks/use-large-title-header.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,eAAe,EAAEC,QAAQ,QAAQ,OAAO;AAE5D,SAASC,WAAW,EAAEC,gBAAgB,EAAEC,cAAc,QAAQ,yBAAyB;AACvF,SAASC,YAAY,QAAQ,wBAAwB;AAErD,SAASC,SAAS;AASlB;AACA,OAAO,SAASC,mBAAmBA,CAAC;EAClCC,YAAY;EACZC,iBAAiB;EACjBC;AACuB,CAAC,EAAE;EAC1B,MAAM;IAAEC;EAAM,CAAC,GAAGN,YAAY,CAAC,CAAC;EAChC,MAAM;IAAEO,OAAO;IAAEC,iBAAiB;IAAEC;
|
|
1
|
+
{"version":3,"names":["useEffect","useLayoutEffect","useState","interpolate","useAnimatedStyle","useSharedValue","useUnistyles","useScreen","useLargeTitleHeader","hasAccessory","accessoryBehavior","isLargeTitleHidden","theme","scrollY","contentTopPadding","setHeaderAccessoryHeight","setHasLargeTitle","accessoryHeight","setAccessoryHeight","largeTitleHeight","setLargeTitleHeight","hidden","value","barHeight","layout","header","height","isSticky","reservedAccessoryHeight","Math","max","round","spacing","accessoryOffset","accessoryStyle","transform","translateY","surfaceStyle","opacity","distance","compactTitleStyle","progress","largeTitleStyle"],"sourceRoot":"../../../../../src","sources":["components/header/hooks/use-large-title-header.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,eAAe,EAAEC,QAAQ,QAAQ,OAAO;AAE5D,SAASC,WAAW,EAAEC,gBAAgB,EAAEC,cAAc,QAAQ,yBAAyB;AACvF,SAASC,YAAY,QAAQ,wBAAwB;AAErD,SAASC,SAAS;AASlB;AACA,OAAO,SAASC,mBAAmBA,CAAC;EAClCC,YAAY;EACZC,iBAAiB;EACjBC;AACuB,CAAC,EAAE;EAC1B,MAAM;IAAEC;EAAM,CAAC,GAAGN,YAAY,CAAC,CAAC;EAChC,MAAM;IAAEO,OAAO;IAAEC,iBAAiB;IAAEC,wBAAwB;IAAEC;EAAiB,CAAC,GAAGT,SAAS,CAAC,CAAC;EAC9F,MAAM,CAACU,eAAe,EAAEC,kBAAkB,CAAC,GAAGhB,QAAQ,CAAC,CAAC,CAAC;EACzD,MAAM,CAACiB,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGlB,QAAQ,CAAC,CAAC,CAAC;EAC3D,MAAMmB,MAAM,GAAGhB,cAAc,CAACM,kBAAkB,CAAC;EACjDX,SAAS,CAAC,MAAM;IACdqB,MAAM,CAACC,KAAK,GAAGX,kBAAkB;EACnC,CAAC,EAAE,CAACU,MAAM,EAAEV,kBAAkB,CAAC,CAAC;EAEhC,MAAMY,SAAS,GAAGX,KAAK,CAACY,MAAM,CAACC,MAAM,CAACC,MAAM;EAC5C,MAAMC,QAAQ,GAAGlB,YAAY,IAAIC,iBAAiB,KAAK,QAAQ,IAAI,CAACC,kBAAkB;EACtF;EACA;EACA,MAAMiB,uBAAuB,GAAGnB,YAAY,GACxCoB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACd,eAAe,IAAIN,kBAAkB,GAAG,CAAC,GAAGC,KAAK,CAACoB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GACxF,CAAC;EACL,MAAMC,eAAe,GAAGN,QAAQ,GAAGE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEhB,iBAAiB,GAAGK,gBAAgB,GAAGI,SAAS,CAAC,GAAG,CAAC;EAEpGtB,eAAe,CAAC,MAAM;IACpBc,wBAAwB,CAACY,QAAQ,GAAG,CAAC,GAAGC,uBAAuB,CAAC;IAChE,OAAO,MAAMb,wBAAwB,CAAC,CAAC,CAAC;EAC1C,CAAC,EAAE,CAACY,QAAQ,EAAEC,uBAAuB,EAAEb,wBAAwB,CAAC,CAAC;EACjE;EACA;EACAd,eAAe,CAAC,MAAM;IACpBe,gBAAgB,CAAC,CAACL,kBAAkB,CAAC;IACrC,OAAO,MAAMK,gBAAgB,CAAC,KAAK,CAAC;EACtC,CAAC,EAAE,CAACL,kBAAkB,EAAEK,gBAAgB,CAAC,CAAC;EAE1C,MAAMkB,cAAc,GAAG9B,gBAAgB,CAAC,OAAO;IAC7C+B,SAAS,EAAE,CAAC;MAAEC,UAAU,EAAET,QAAQ,IAAI,CAACN,MAAM,CAACC,KAAK,GAAGO,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEG,eAAe,GAAGpB,OAAO,CAACS,KAAK,CAAC,GAAG;IAAE,CAAC;EAC1G,CAAC,CAAC,CAAC;EACH,MAAMe,YAAY,GAAGjC,gBAAgB,CAAC,MAAM;IAC1C,IAAIiB,MAAM,CAACC,KAAK,EAAE,OAAO;MAAEgB,OAAO,EAAE;IAAE,CAAC;IACvC,MAAMC,QAAQ,GAAGZ,QAAQ,GAAGM,eAAe,GAAGV,SAAS;IACvD,OAAO;MACLe,OAAO,EAAEC,QAAQ,GAAG,CAAC,GAAGpC,WAAW,CAACU,OAAO,CAACS,KAAK,EAAE,CAAC,CAAC,EAAEiB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,GAAGZ,QAAQ,GAAG,CAAC,GAAG;IACtG,CAAC;EACH,CAAC,CAAC;EACF,MAAMa,iBAAiB,GAAGpC,gBAAgB,CAAC,MAAM;IAC/C,MAAMqC,QAAQ,GAAGpB,MAAM,CAACC,KAAK,GACzB,CAAC,GACDC,SAAS,GAAG,CAAC,GACXpB,WAAW,CAACU,OAAO,CAACS,KAAK,EAAE,CAAC,CAAC,EAAEC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,GAC3D,CAAC;IACP,OAAO;MAAEe,OAAO,EAAEG,QAAQ;MAAEN,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE,CAAC,CAAC,GAAGK,QAAQ,IAAI;MAAE,CAAC;IAAE,CAAC;EAC/E,CAAC,CAAC;EACF,MAAMC,eAAe,GAAGtC,gBAAgB,CAAC,MAAM;IAC7C,MAAMqC,QAAQ,GAAGlB,SAAS,GAAG,CAAC,GAAGpB,WAAW,CAACU,OAAO,CAACS,KAAK,EAAE,CAAC,CAAC,EAAEC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IAChG,OAAO;MAAEe,OAAO,EAAE,CAAC,GAAGG,QAAQ;MAAEN,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE,CAACK,QAAQ,GAAG;MAAE,CAAC;IAAE,CAAC;EAC9E,CAAC,CAAC;EAEF,OAAO;IACLd,QAAQ;IACRM,eAAe;IACfL,uBAAuB;IACvBV,kBAAkB;IAClBE,mBAAmB;IACnBc,cAAc;IACdG,YAAY;IACZG,iBAAiB;IACjBE;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -30,6 +30,7 @@ export function ScreenScrollProvider({
|
|
|
30
30
|
}) {
|
|
31
31
|
const scrollY = useSharedValue(0);
|
|
32
32
|
const [headerAccessoryHeight, setAccessoryHeight] = useState(0);
|
|
33
|
+
const [hasLargeTitle, setHasLargeTitle] = useState(false);
|
|
33
34
|
const [contentTopPadding, setTopPadding] = useState(0);
|
|
34
35
|
const headerCollapseHeight = useSharedValue(0);
|
|
35
36
|
const [headerSnapOffsets, setHeaderSnapOffsets] = useState();
|
|
@@ -64,6 +65,8 @@ export function ScreenScrollProvider({
|
|
|
64
65
|
hasHeader,
|
|
65
66
|
headerAccessoryHeight,
|
|
66
67
|
setHeaderAccessoryHeight,
|
|
68
|
+
hasLargeTitle,
|
|
69
|
+
setHasLargeTitle,
|
|
67
70
|
contentTopPadding,
|
|
68
71
|
setContentTopPadding,
|
|
69
72
|
scrollY,
|
|
@@ -72,7 +75,7 @@ export function ScreenScrollProvider({
|
|
|
72
75
|
setHeaderCollapseHeight,
|
|
73
76
|
scrollRef,
|
|
74
77
|
scrollHandler
|
|
75
|
-
}), [background, contentPadding, safeArea, contentOwnsBottomInset, platformAdjustsInsets, platformInsetsEligible, hasHeader, headerAccessoryHeight, setHeaderAccessoryHeight, contentTopPadding, setContentTopPadding, scrollY, headerCollapseHeight, headerSnapOffsets, setHeaderCollapseHeight, scrollRef, scrollHandler]);
|
|
78
|
+
}), [background, contentPadding, safeArea, contentOwnsBottomInset, platformAdjustsInsets, platformInsetsEligible, hasHeader, headerAccessoryHeight, setHeaderAccessoryHeight, hasLargeTitle, contentTopPadding, setContentTopPadding, scrollY, headerCollapseHeight, headerSnapOffsets, setHeaderCollapseHeight, scrollRef, scrollHandler]);
|
|
76
79
|
return /*#__PURE__*/_jsx(ScreenContext.Provider, {
|
|
77
80
|
value: value,
|
|
78
81
|
children: children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useCallback","useContext","useMemo","useState","useAnimatedRef","useAnimatedScrollHandler","useSharedValue","jsx","_jsx","SCREEN_HEADER_PORTAL_HOST","ScreenContext","ScreenScrollProvider","background","children","contentPadding","safeArea","contentOwnsBottomInset","platformAdjustsInsets","platformInsetsEligible","hasHeader","scrollY","headerAccessoryHeight","setAccessoryHeight","contentTopPadding","setTopPadding","headerCollapseHeight","headerSnapOffsets","setHeaderSnapOffsets","scrollRef","setHeaderCollapseHeight","height","rounded","Math","round","value","undefined","setHeaderAccessoryHeight","max","setContentTopPadding","padding","scrollHandler","onScroll","event","contentOffset","y","margins","Provider","useScreen","context","Error"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAkBC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAEjG,SAIEC,cAAc,EACdC,wBAAwB,EACxBC,cAAc,QACT,yBAAyB;;AAIhC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGA;AACA,OAAO,MAAMC,yBAAyB,GAAG,eAAe;;AAExD;;
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useMemo","useState","useAnimatedRef","useAnimatedScrollHandler","useSharedValue","jsx","_jsx","SCREEN_HEADER_PORTAL_HOST","ScreenContext","ScreenScrollProvider","background","children","contentPadding","safeArea","contentOwnsBottomInset","platformAdjustsInsets","platformInsetsEligible","hasHeader","scrollY","headerAccessoryHeight","setAccessoryHeight","hasLargeTitle","setHasLargeTitle","contentTopPadding","setTopPadding","headerCollapseHeight","headerSnapOffsets","setHeaderSnapOffsets","scrollRef","setHeaderCollapseHeight","height","rounded","Math","round","value","undefined","setHeaderAccessoryHeight","max","setContentTopPadding","padding","scrollHandler","onScroll","event","contentOffset","y","margins","Provider","useScreen","context","Error"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -64,6 +64,7 @@ const ScreenListBase = /*#__PURE__*/forwardRef(function ScreenList({
|
|
|
64
64
|
contentPadding: screenPadding,
|
|
65
65
|
hasHeader,
|
|
66
66
|
headerAccessoryHeight,
|
|
67
|
+
hasLargeTitle,
|
|
67
68
|
setContentTopPadding,
|
|
68
69
|
contentOwnsBottomInset,
|
|
69
70
|
platformAdjustsInsets
|
|
@@ -81,7 +82,7 @@ const ScreenListBase = /*#__PURE__*/forwardRef(function ScreenList({
|
|
|
81
82
|
const {
|
|
82
83
|
y: paddingY
|
|
83
84
|
} = resolveScreenPadding(theme, rt.breakpoint);
|
|
84
|
-
const defaultTopPadding = (hasHeader ? theme.layout.header.height + headerAccessoryHeight : 0) + (hasVerticalPadding(resolvedPadding) ? paddingY : 0);
|
|
85
|
+
const defaultTopPadding = (hasHeader ? theme.layout.header.height + headerAccessoryHeight : 0) + (hasVerticalPadding(resolvedPadding) && !hasLargeTitle ? paddingY : 0);
|
|
85
86
|
const paddingTopOverride = NativeStyleSheet.flatten(contentContainerStyle)?.paddingTop;
|
|
86
87
|
const contentTopPadding = typeof paddingTopOverride === "number" ? paddingTopOverride : defaultTopPadding;
|
|
87
88
|
// ListHeaderComponent is wrapped by the list, so its local layout.y excludes
|
|
@@ -124,7 +125,7 @@ const ScreenListBase = /*#__PURE__*/forwardRef(function ScreenList({
|
|
|
124
125
|
contentInsetAdjustmentBehavior: platformAdjustsInsets ? "automatic" : "never",
|
|
125
126
|
automaticallyAdjustContentInsets: false,
|
|
126
127
|
automaticallyAdjustsScrollIndicatorInsets: false,
|
|
127
|
-
contentContainerStyle: [styles.content(resolvedPadding, hasHeader, bottomInset, extraBottomPadding, headerAccessoryHeight), contentContainerStyle],
|
|
128
|
+
contentContainerStyle: [styles.content(resolvedPadding, hasHeader, hasLargeTitle, bottomInset, extraBottomPadding, headerAccessoryHeight), contentContainerStyle],
|
|
128
129
|
ListHeaderComponent: header,
|
|
129
130
|
ListFooterComponent: footer,
|
|
130
131
|
ListEmptyComponent: placeholder ?? ListEmptyComponent,
|
|
@@ -157,7 +158,7 @@ const ScreenListBase = /*#__PURE__*/forwardRef(function ScreenList({
|
|
|
157
158
|
export const ScreenList = ScreenListBase;
|
|
158
159
|
ScreenList.displayName = "Screen.List";
|
|
159
160
|
const styles = StyleSheet.create((theme, runtime) => ({
|
|
160
|
-
content: (padding, hasHeader, bottomInset, extraBottomPadding, accessoryHeight) => {
|
|
161
|
+
content: (padding, hasHeader, hasLargeTitle, bottomInset, extraBottomPadding, accessoryHeight) => {
|
|
161
162
|
const {
|
|
162
163
|
x,
|
|
163
164
|
y
|
|
@@ -165,7 +166,9 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
165
166
|
return {
|
|
166
167
|
flexGrow: 1,
|
|
167
168
|
// The theme height covers the bar; an accessory pinned under it is extra.
|
|
168
|
-
|
|
169
|
+
// A large title takes the place of the top padding, which the header
|
|
170
|
+
// content host pays below it instead (see ScreenHeaderContent).
|
|
171
|
+
paddingTop: (hasHeader ? theme.layout.header.height + accessoryHeight : 0) + (hasVerticalPadding(padding) && !hasLargeTitle ? y : 0),
|
|
169
172
|
paddingHorizontal: hasHorizontalPadding(padding) ? x : 0,
|
|
170
173
|
paddingBottom: (bottomInset ?? (hasVerticalPadding(padding) ? y : 0)) + extraBottomPadding,
|
|
171
174
|
uni__dependencies: [0, 3]
|
|
@@ -1 +1 @@
|
|
|
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":";;;;AAAA,SAKEA,UAAU,EAIVC,SAAS,EACTC,OAAO,QACF,OAAO;AACd,SAIEC,UAAU,IAAIC,gBAAgB,QAEzB,cAAc;AAErB,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASF,UAAU,EAAEG,YAAY,QAAQ,wBAAwB;AAEjE,SAASC,oBAAoB;AAC7B,SAASC,yBAAyB;AAClC,SAASC,YAAY;AACrB,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAC1B,SAASC,mBAAmB;AAC5B,SAASC,uBAAuB;AAChC,SAASC,SAAS;AAElB,SAASC,oBAAoB,EAAEC,kBAAkB,EAAEC,mBAAmB;;AAEtE;;AAKA;;AAgBA;;AAyBA;;AA+BA;;AAiBA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAiBA,MAAMC,cAAc,gBAAGxB,UAAU,CAAC,SAASyB,UAAUA,CACnD;EACEC,EAAE;EACFC,IAAI;EACJC,UAAU;EACVC,KAAK;EACLC,qBAAqB;EACrBC,mBAAmB;EACnBC,mBAAmB;EACnBC,kBAAkB;EAClBC,UAAU,GAAG,KAAK;EAClBC,SAAS;EACTC,OAAO,GAAG,KAAK;EACfC,cAAc;EACdC,gBAAgB;EAChBC,YAAY;EACZC,cAAc;EACdC,cAAc;EACdC,OAAO;EACPC,WAAW;EACXC,kBAAkB,GAAG,CAAC;EACtBC,aAAa,EAAEC,qBAAqB;EACpCC,QAAQ;EACR,GAAGC;AACgB,CAAC,EACtBC,GAAiB,EACjB;EACA,MAAMC,iBAAiB,GAAGxB,EAAE,KAAKyB,SAAS,IAAIzB,EAAE,KAAK0B,QAAQ;EAC7D,MAAMC,SAAS,GAAI3B,EAAE,IAAI0B,QAAmD;EAC5E;EACA,MAAME,iBAAiB,GAAGpD,OAAO,CAAC,MAAMG,QAAQ,CAACkD,uBAAuB,CAACF,SAAS,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EACjG,MAAM;IACJG,UAAU;IACVC,SAAS;IACTZ,aAAa;IACba,iBAAiB;IACjBjB,cAAc,EAAEkB,aAAa;IAC7BC,SAAS;IACTC,qBAAqB;IACrBC,oBAAoB;IACpBC,sBAAsB;IACtBC;EACF,CAAC,
|
|
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","hasLargeTitle","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":[]}
|
|
@@ -59,6 +59,7 @@ export const ScreenScrollView = /*#__PURE__*/forwardRef(function ScreenScrollVie
|
|
|
59
59
|
contentPadding: screenPadding,
|
|
60
60
|
hasHeader,
|
|
61
61
|
headerAccessoryHeight,
|
|
62
|
+
hasLargeTitle,
|
|
62
63
|
setContentTopPadding,
|
|
63
64
|
background,
|
|
64
65
|
contentOwnsBottomInset,
|
|
@@ -95,7 +96,7 @@ export const ScreenScrollView = /*#__PURE__*/forwardRef(function ScreenScrollVie
|
|
|
95
96
|
automaticallyAdjustsScrollIndicatorInsets: false,
|
|
96
97
|
showsVerticalScrollIndicator: false,
|
|
97
98
|
scrollEventThrottle: 16,
|
|
98
|
-
contentContainerStyle: [styles.scrollContent(hasHeader, resolvedPadding, extraBottomPadding, headerAccessoryHeight), contentContainerStyle],
|
|
99
|
+
contentContainerStyle: [styles.scrollContent(hasHeader, hasLargeTitle, resolvedPadding, extraBottomPadding, headerAccessoryHeight), contentContainerStyle],
|
|
99
100
|
...rest,
|
|
100
101
|
onScroll: composedScrollHandler,
|
|
101
102
|
children: [/*#__PURE__*/_jsx(View, {
|
|
@@ -112,7 +113,7 @@ export const ScreenScrollView = /*#__PURE__*/forwardRef(function ScreenScrollVie
|
|
|
112
113
|
});
|
|
113
114
|
ScreenScrollView.displayName = "Screen.ScrollView";
|
|
114
115
|
const styles = StyleSheet.create((theme, runtime) => ({
|
|
115
|
-
scrollContent: (hasHeader, padding, extraBottomPadding, accessoryHeight) => {
|
|
116
|
+
scrollContent: (hasHeader, hasLargeTitle, padding, extraBottomPadding, accessoryHeight) => {
|
|
116
117
|
const {
|
|
117
118
|
x,
|
|
118
119
|
y
|
|
@@ -120,7 +121,9 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
120
121
|
return {
|
|
121
122
|
flexGrow: 1,
|
|
122
123
|
// The theme height covers the bar; an accessory pinned under it is extra.
|
|
123
|
-
|
|
124
|
+
// A large title takes the place of the top padding, which the header
|
|
125
|
+
// content host pays below it instead (see ScreenHeaderContent).
|
|
126
|
+
paddingTop: (hasHeader ? theme.layout.header.height + accessoryHeight : 0) + (hasVerticalPadding(padding) && !hasLargeTitle ? y : 0),
|
|
124
127
|
paddingHorizontal: hasHorizontalPadding(padding) ? x : 0,
|
|
125
128
|
paddingBottom: (hasVerticalPadding(padding) ? y : 0) + extraBottomPadding,
|
|
126
129
|
uni__dependencies: [0, 3]
|
|
@@ -1 +1 @@
|
|
|
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":";;;AAAA,SAASA,QAAQ,EAAqBC,UAAU,EAAkBC,WAAW,QAAQ,OAAO;AAU5F,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,UAAU,QAAQ,wBAAwB;AAEnD,SAASC,oBAAoB;AAC7B,SAASC,yBAAyB;AAClC,SAASC,YAAY;AACrB,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAC1B,SAASC,mBAAmB;AAC5B,SAASC,uBAAuB;AAChC,SAASC,SAAS;AAElB,SAASC,oBAAoB,EAAEC,kBAAkB;;AAEjD;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,gBAAGlB,UAAU,CACxC,SAASkB,gBAAgBA,CACvB;EACEC,QAAQ;EACRC,KAAK;EACLC,qBAAqB;EACrBC,YAAY;EACZC,aAAa,EAAEC,qBAAqB;EACpCC,QAAQ;EACRC,UAAU,GAAG,KAAK;EAClBC,SAAS;EACTC,OAAO,GAAG,KAAK;EACfC,cAAc;EACdC,gBAAgB;EAChBC,YAAY;EACZC,cAAc;EACdC,cAAc;EACdC,OAAO;EACPC,kBAAkB,GAAG,CAAC;EACtBC,OAAO;EACP,GAAGC;AACL,CAAC,EACDC,GAAG,EACH;EACA,MAAM;IACJC,SAAS;IACThB,aAAa;IACbU,cAAc,EAAEO,aAAa;IAC7BC,SAAS;IACTC,qBAAqB;IACrBC,oBAAoB;IACpBC,UAAU;IACVC,sBAAsB;IACtBC;EACF,CAAC,
|
|
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","hasLargeTitle","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":[]}
|
|
@@ -7,7 +7,11 @@ import { PortalHost } from "../../portal/index.js";
|
|
|
7
7
|
import { SCREEN_HEADER_PORTAL_HOST } from "../ScreenContext.js";
|
|
8
8
|
import { hasVerticalPadding } from "../utils.js";
|
|
9
9
|
|
|
10
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* Hosts the large title and sticky accessory at the top of the scroll content.
|
|
12
|
+
* While it has content it pays the content's vertical padding below itself; the
|
|
13
|
+
* scroll container skips that padding above it (see `hasLargeTitle`).
|
|
14
|
+
*/
|
|
11
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
16
|
export function ScreenHeaderContent({
|
|
13
17
|
contentPadding
|
|
@@ -1 +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;
|
|
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;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA;AAKA,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":"use-large-title-header.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/hooks/use-large-title-header.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAU,CAAC;AAExD,UAAU,uBAAuB;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"use-large-title-header.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/hooks/use-large-title-header.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAU,CAAC;AAExD,UAAU,uBAAuB;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;EAgEzB"}
|
|
@@ -66,6 +66,14 @@ export interface ScreenContextValue {
|
|
|
66
66
|
* accessory; zero releases the reserved space.
|
|
67
67
|
*/
|
|
68
68
|
setHeaderAccessoryHeight: (height: number) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Whether the header renders a large title in the scroll content. The large
|
|
71
|
+
* title then stands in for the content's top padding: scroll containers start
|
|
72
|
+
* it directly under the bar, and the padding is paid below it instead.
|
|
73
|
+
*/
|
|
74
|
+
hasLargeTitle: boolean;
|
|
75
|
+
/** Reported by the header that renders the large title; false releases it. */
|
|
76
|
+
setHasLargeTitle: (value: boolean) => void;
|
|
69
77
|
/**
|
|
70
78
|
* Primary scroll container's resolved top padding in dp, including header clearance.
|
|
71
79
|
* Used to position a sticky accessory below the large title at scroll offset zero.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScreenContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/ScreenContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAA8C,MAAM,OAAO,CAAC;AAElG,OAAO,QAAQ,EAAE,EACf,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAIjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAEpE,6EAA6E;AAC7E,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE/D,yDAAyD;AACzD,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AAEzD,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,cAAc,EAAE,oBAAoB,CAAC;IACrC,6EAA6E;IAC7E,QAAQ,EAAE,cAAc,CAAC;IACzB;;;;;;;;;OASG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;;;;;;;;;OAUG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;;;;;;;OAQG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC,sCAAsC;IACtC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,wFAAwF;IACxF,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,8EAA8E;IAC9E,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B;;;OAGG;IACH,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C;;;OAGG;IACH,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,iGAAiG;IACjG,uBAAuB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD;;;;OAIG;IACH,SAAS,EAAE,eAAe,CAAC;IAC3B,yDAAyD;IACzD,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/D,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,oDAAiD,CAAC;AAE5E,4DAA4D;AAC5D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,SAAS,CAAC;IACpB,sFAAsF;IACtF,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,qFAAqF;IACrF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,0FAA0F;IAC1F,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,UAA0B,EAC1B,QAAQ,EACR,cAAsB,EACtB,QAAiB,EACjB,sBAA8B,EAC9B,qBAA6B,EAC7B,sBAA8B,EAC9B,SAAiB,GAClB,EAAE,yBAAyB,+
|
|
1
|
+
{"version":3,"file":"ScreenContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/ScreenContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAA8C,MAAM,OAAO,CAAC;AAElG,OAAO,QAAQ,EAAE,EACf,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAIjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAEpE,6EAA6E;AAC7E,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE/D,yDAAyD;AACzD,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AAEzD,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,cAAc,EAAE,oBAAoB,CAAC;IACrC,6EAA6E;IAC7E,QAAQ,EAAE,cAAc,CAAC;IACzB;;;;;;;;;OASG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;;;;;;;;;OAUG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;;;;;;;OAQG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC,sCAAsC;IACtC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,wFAAwF;IACxF,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB,8EAA8E;IAC9E,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,8EAA8E;IAC9E,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B;;;OAGG;IACH,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C;;;OAGG;IACH,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,iGAAiG;IACjG,uBAAuB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD;;;;OAIG;IACH,SAAS,EAAE,eAAe,CAAC;IAC3B,yDAAyD;IACzD,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/D,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,oDAAiD,CAAC;AAE5E,4DAA4D;AAC5D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,SAAS,CAAC;IACpB,sFAAsF;IACtF,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,qFAAqF;IACrF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,0FAA0F;IAC1F,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,UAA0B,EAC1B,QAAQ,EACR,cAAsB,EACtB,QAAiB,EACjB,sBAA8B,EAC9B,qBAA6B,EAC7B,sBAA8B,EAC9B,SAAiB,GAClB,EAAE,yBAAyB,+BAgF3B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScreenList.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/ScreenList.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ScreenList.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/ScreenList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScreenScrollView.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/ScreenScrollView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,SAAS,EAAe,MAAM,OAAO,CAAC;AAC7F,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAatB,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,YAAS,CAAC;AAG3E,qFAAqF;AACrF,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,qBAAqB;IACvG,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iEAAiE;IACjE,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ScreenScrollView.d.ts","sourceRoot":"","sources":["../../../../../src/components/screen/ScreenScrollView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,SAAS,EAAe,MAAM,OAAO,CAAC;AAC7F,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAatB,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,YAAS,CAAC;AAG3E,qFAAqF;AACrF,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,qBAAqB;IACvG,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iEAAiE;IACjE,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,8MA2F5B,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { ScreenContentPadding } from "../types.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Hosts the large title and sticky accessory at the top of the scroll content.
|
|
4
|
+
* While it has content it pays the content's vertical padding below itself; the
|
|
5
|
+
* scroll container skips that padding above it (see `hasLargeTitle`).
|
|
6
|
+
*/
|
|
3
7
|
export declare function ScreenHeaderContent({ contentPadding }: {
|
|
4
8
|
contentPadding: ScreenContentPadding;
|
|
5
9
|
}): import("react").JSX.Element;
|
|
@@ -1 +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
|
|
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;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,cAAc,EAAE,EAAE;IAAE,cAAc,EAAE,oBAAoB,CAAA;CAAE,+BAa/F"}
|
package/package.json
CHANGED
|
@@ -19,7 +19,7 @@ export function useLargeTitleHeader({
|
|
|
19
19
|
isLargeTitleHidden,
|
|
20
20
|
}: LargeTitleLayoutOptions) {
|
|
21
21
|
const { theme } = useUnistyles();
|
|
22
|
-
const { scrollY, contentTopPadding, setHeaderAccessoryHeight } = useScreen();
|
|
22
|
+
const { scrollY, contentTopPadding, setHeaderAccessoryHeight, setHasLargeTitle } = useScreen();
|
|
23
23
|
const [accessoryHeight, setAccessoryHeight] = useState(0);
|
|
24
24
|
const [largeTitleHeight, setLargeTitleHeight] = useState(0);
|
|
25
25
|
const hidden = useSharedValue(isLargeTitleHidden);
|
|
@@ -40,6 +40,12 @@ export function useLargeTitleHeader({
|
|
|
40
40
|
setHeaderAccessoryHeight(isSticky ? 0 : reservedAccessoryHeight);
|
|
41
41
|
return () => setHeaderAccessoryHeight(0);
|
|
42
42
|
}, [isSticky, reservedAccessoryHeight, setHeaderAccessoryHeight]);
|
|
43
|
+
// The large title sits directly under the bar; the screen drops its top
|
|
44
|
+
// padding while one is shown and pays it below the title instead.
|
|
45
|
+
useLayoutEffect(() => {
|
|
46
|
+
setHasLargeTitle(!isLargeTitleHidden);
|
|
47
|
+
return () => setHasLargeTitle(false);
|
|
48
|
+
}, [isLargeTitleHidden, setHasLargeTitle]);
|
|
43
49
|
|
|
44
50
|
const accessoryStyle = useAnimatedStyle(() => ({
|
|
45
51
|
transform: [{ translateY: isSticky && !hidden.value ? Math.max(0, accessoryOffset - scrollY.value) : 0 }],
|
|
@@ -78,6 +78,14 @@ export interface ScreenContextValue {
|
|
|
78
78
|
* accessory; zero releases the reserved space.
|
|
79
79
|
*/
|
|
80
80
|
setHeaderAccessoryHeight: (height: number) => void;
|
|
81
|
+
/**
|
|
82
|
+
* Whether the header renders a large title in the scroll content. The large
|
|
83
|
+
* title then stands in for the content's top padding: scroll containers start
|
|
84
|
+
* it directly under the bar, and the padding is paid below it instead.
|
|
85
|
+
*/
|
|
86
|
+
hasLargeTitle: boolean;
|
|
87
|
+
/** Reported by the header that renders the large title; false releases it. */
|
|
88
|
+
setHasLargeTitle: (value: boolean) => void;
|
|
81
89
|
/**
|
|
82
90
|
* Primary scroll container's resolved top padding in dp, including header clearance.
|
|
83
91
|
* Used to position a sticky accessory below the large title at scroll offset zero.
|
|
@@ -149,6 +157,7 @@ export function ScreenScrollProvider({
|
|
|
149
157
|
}: ScreenScrollProviderProps) {
|
|
150
158
|
const scrollY = useSharedValue(0);
|
|
151
159
|
const [headerAccessoryHeight, setAccessoryHeight] = useState(0);
|
|
160
|
+
const [hasLargeTitle, setHasLargeTitle] = useState(false);
|
|
152
161
|
const [contentTopPadding, setTopPadding] = useState(0);
|
|
153
162
|
const headerCollapseHeight = useSharedValue(0);
|
|
154
163
|
const [headerSnapOffsets, setHeaderSnapOffsets] = useState<number[]>();
|
|
@@ -191,6 +200,8 @@ export function ScreenScrollProvider({
|
|
|
191
200
|
hasHeader,
|
|
192
201
|
headerAccessoryHeight,
|
|
193
202
|
setHeaderAccessoryHeight,
|
|
203
|
+
hasLargeTitle,
|
|
204
|
+
setHasLargeTitle,
|
|
194
205
|
contentTopPadding,
|
|
195
206
|
setContentTopPadding,
|
|
196
207
|
scrollY,
|
|
@@ -210,6 +221,7 @@ export function ScreenScrollProvider({
|
|
|
210
221
|
hasHeader,
|
|
211
222
|
headerAccessoryHeight,
|
|
212
223
|
setHeaderAccessoryHeight,
|
|
224
|
+
hasLargeTitle,
|
|
213
225
|
contentTopPadding,
|
|
214
226
|
setContentTopPadding,
|
|
215
227
|
scrollY,
|
|
@@ -182,6 +182,7 @@ const ScreenListBase = forwardRef(function ScreenList(
|
|
|
182
182
|
contentPadding: screenPadding,
|
|
183
183
|
hasHeader,
|
|
184
184
|
headerAccessoryHeight,
|
|
185
|
+
hasLargeTitle,
|
|
185
186
|
setContentTopPadding,
|
|
186
187
|
contentOwnsBottomInset,
|
|
187
188
|
platformAdjustsInsets,
|
|
@@ -196,7 +197,7 @@ const ScreenListBase = forwardRef(function ScreenList(
|
|
|
196
197
|
const { y: paddingY } = resolveScreenPadding(theme, rt.breakpoint);
|
|
197
198
|
const defaultTopPadding =
|
|
198
199
|
(hasHeader ? theme.layout.header.height + headerAccessoryHeight : 0) +
|
|
199
|
-
(hasVerticalPadding(resolvedPadding) ? paddingY : 0);
|
|
200
|
+
(hasVerticalPadding(resolvedPadding) && !hasLargeTitle ? paddingY : 0);
|
|
200
201
|
const paddingTopOverride = NativeStyleSheet.flatten(contentContainerStyle)?.paddingTop;
|
|
201
202
|
const contentTopPadding = typeof paddingTopOverride === "number" ? paddingTopOverride : defaultTopPadding;
|
|
202
203
|
// ListHeaderComponent is wrapped by the list, so its local layout.y excludes
|
|
@@ -245,7 +246,14 @@ const ScreenListBase = forwardRef(function ScreenList(
|
|
|
245
246
|
automaticallyAdjustContentInsets={false}
|
|
246
247
|
automaticallyAdjustsScrollIndicatorInsets={false}
|
|
247
248
|
contentContainerStyle={[
|
|
248
|
-
styles.content(
|
|
249
|
+
styles.content(
|
|
250
|
+
resolvedPadding,
|
|
251
|
+
hasHeader,
|
|
252
|
+
hasLargeTitle,
|
|
253
|
+
bottomInset,
|
|
254
|
+
extraBottomPadding,
|
|
255
|
+
headerAccessoryHeight
|
|
256
|
+
),
|
|
249
257
|
contentContainerStyle,
|
|
250
258
|
]}
|
|
251
259
|
ListHeaderComponent={header}
|
|
@@ -285,6 +293,7 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
285
293
|
content: (
|
|
286
294
|
padding: ScreenContentPadding,
|
|
287
295
|
hasHeader: boolean,
|
|
296
|
+
hasLargeTitle: boolean,
|
|
288
297
|
bottomInset: number | undefined,
|
|
289
298
|
extraBottomPadding: number,
|
|
290
299
|
accessoryHeight: number
|
|
@@ -293,9 +302,11 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
293
302
|
return {
|
|
294
303
|
flexGrow: 1,
|
|
295
304
|
// The theme height covers the bar; an accessory pinned under it is extra.
|
|
305
|
+
// A large title takes the place of the top padding, which the header
|
|
306
|
+
// content host pays below it instead (see ScreenHeaderContent).
|
|
296
307
|
paddingTop:
|
|
297
308
|
(hasHeader ? theme.layout.header.height + accessoryHeight : 0) +
|
|
298
|
-
(hasVerticalPadding(padding) ? y : 0),
|
|
309
|
+
(hasVerticalPadding(padding) && !hasLargeTitle ? y : 0),
|
|
299
310
|
paddingHorizontal: hasHorizontalPadding(padding) ? x : 0,
|
|
300
311
|
paddingBottom: (bottomInset ?? (hasVerticalPadding(padding) ? y : 0)) + extraBottomPadding,
|
|
301
312
|
};
|
|
@@ -79,6 +79,7 @@ export const ScreenScrollView = forwardRef<ComponentRef<typeof ScrollView>, Scre
|
|
|
79
79
|
contentPadding: screenPadding,
|
|
80
80
|
hasHeader,
|
|
81
81
|
headerAccessoryHeight,
|
|
82
|
+
hasLargeTitle,
|
|
82
83
|
setContentTopPadding,
|
|
83
84
|
background,
|
|
84
85
|
contentOwnsBottomInset,
|
|
@@ -119,7 +120,13 @@ export const ScreenScrollView = forwardRef<ComponentRef<typeof ScrollView>, Scre
|
|
|
119
120
|
showsVerticalScrollIndicator={false}
|
|
120
121
|
scrollEventThrottle={16}
|
|
121
122
|
contentContainerStyle={[
|
|
122
|
-
styles.scrollContent(
|
|
123
|
+
styles.scrollContent(
|
|
124
|
+
hasHeader,
|
|
125
|
+
hasLargeTitle,
|
|
126
|
+
resolvedPadding,
|
|
127
|
+
extraBottomPadding,
|
|
128
|
+
headerAccessoryHeight
|
|
129
|
+
),
|
|
123
130
|
contentContainerStyle,
|
|
124
131
|
]}
|
|
125
132
|
{...rest}
|
|
@@ -140,6 +147,7 @@ ScreenScrollView.displayName = "Screen.ScrollView";
|
|
|
140
147
|
const styles = StyleSheet.create((theme, runtime) => ({
|
|
141
148
|
scrollContent: (
|
|
142
149
|
hasHeader: boolean,
|
|
150
|
+
hasLargeTitle: boolean,
|
|
143
151
|
padding: ScreenContentPadding,
|
|
144
152
|
extraBottomPadding: number,
|
|
145
153
|
accessoryHeight: number
|
|
@@ -148,9 +156,11 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
148
156
|
return {
|
|
149
157
|
flexGrow: 1,
|
|
150
158
|
// The theme height covers the bar; an accessory pinned under it is extra.
|
|
159
|
+
// A large title takes the place of the top padding, which the header
|
|
160
|
+
// content host pays below it instead (see ScreenHeaderContent).
|
|
151
161
|
paddingTop:
|
|
152
162
|
(hasHeader ? theme.layout.header.height + accessoryHeight : 0) +
|
|
153
|
-
(hasVerticalPadding(padding) ? y : 0),
|
|
163
|
+
(hasVerticalPadding(padding) && !hasLargeTitle ? y : 0),
|
|
154
164
|
paddingHorizontal: hasHorizontalPadding(padding) ? x : 0,
|
|
155
165
|
paddingBottom: (hasVerticalPadding(padding) ? y : 0) + extraBottomPadding,
|
|
156
166
|
};
|
|
@@ -9,7 +9,11 @@ import { SCREEN_HEADER_PORTAL_HOST } from "../ScreenContext";
|
|
|
9
9
|
import type { ScreenContentPadding } from "../types";
|
|
10
10
|
import { hasVerticalPadding } from "../utils";
|
|
11
11
|
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Hosts the large title and sticky accessory at the top of the scroll content.
|
|
14
|
+
* While it has content it pays the content's vertical padding below itself; the
|
|
15
|
+
* scroll container skips that padding above it (see `hasLargeTitle`).
|
|
16
|
+
*/
|
|
13
17
|
export function ScreenHeaderContent({ contentPadding }: { contentPadding: ScreenContentPadding }) {
|
|
14
18
|
const [hasContent, setHasContent] = useState(false);
|
|
15
19
|
const handleLayout = useCallback((event: LayoutChangeEvent) => {
|