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 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 = "pinned",
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: gradientColor,
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":";;;;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAGxD,OAAOC,QAAQ,IAAIC,WAAW,EAAEC,gBAAgB,EAAEC,cAAc,QAAQ,yBAAyB;AACjG,SAASC,UAAU,EAAEC,YAAY,QAAQ,wBAAwB;AAEjE,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,MAAM;AACf,SAASC,mBAAmB;AAC5B,SAASC,yBAAyB,EAAEC,SAAS;AAC7C,SAASC,OAAO;AAChB,SAASC,mBAAmB;AAC5B,SAASC,eAAe,EAAEC,qBAAqB;AAC/C,SAASC,kBAAkB;AAC3B,SAASC,aAAa;AAEtB,SAASC,aAAa,EAAEC,WAAW;AAAsB,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAGzD,MAAMC,YAAY,GAAG1B,QAAQ,CAAC2B,uBAAuB,CAACC,IAAI,CAAC;;AAE3D;AACA,MAAMC,0BAA0B,GAAG,CAAC;AACpC;AACA,MAAMC,wBAAwB,GAAG,CAAC;AAsBlC,SAASC,uBAAuBA,CAAC;EAC/BC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACRC;AAIF,CAAC,EAAE;EACD,MAAM;IAAEC;EAAM,CAAC,GAAG/B,YAAY,CAAC,CAAC;EAChC,MAAM;IAAEgC;EAAQ,CAAC,GAAG1B,SAAS,CAAC,CAAC;EAE/B,MAAM2B,oBAAoB,GAAGF,KAAK,CAACG,MAAM,CAACC,MAAM,CAACC,MAAM;EAEvD,MAAMC,uBAAuB,GAAGxC,gBAAgB,CAAC,MAAM;IACrD,MAAMuC,MAAM,GAAGH,oBAAoB;IACnC,IAAIG,MAAM,IAAI,CAAC,EAAE;MACf,OAAO;QAAEE,OAAO,EAAE,CAAC;QAAEC,SAAS,EAAE,CAAC;UAAEC,UAAU,EAAE;QAAE,CAAC;MAAE,CAAC;IACvD;IAEA,OAAO;MACLF,OAAO,EAAE1C,WAAW,CAACoC,OAAO,CAACS,KAAK,EAAE,CAAC,CAAC,EAAEL,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;MACjEG,SAAS,EAAE,CACT;QACEC,UAAU,EAAE5C,WAAW,CAACoC,OAAO,CAACS,KAAK,EAAE,CAAC,CAAC,EAAEL,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAACX,wBAAwB,CAAC,EAAE,OAAO;MAC7F,CAAC;IAEL,CAAC;EACH,CAAC,CAAC;;EAEF;EACA,MAAMiB,YAAY,GAAIC,KAAwB,IAAKb,cAAc,GAAGa,KAAK,CAACC,WAAW,CAACV,MAAM,CAACE,MAAM,CAAC;EAEpG,oBACElB,KAAA,CAACvB,QAAQ,CAACkD,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,aAAa,EAAEX,uBAAuB,CAAE;IAACY,QAAQ,EAAEP,YAAa;IAAAQ,QAAA,GAC3F,CAAC,CAACtB,QAAQ,iBACTZ,IAAA,CAACO,IAAI;MACHuB,KAAK,EAAEC,MAAM,CAACnB,QAAS;MACvBuB,qBAAqB,EAAEpB,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,UAAU,CAAC,CAACF,qBAAsB;MAAAD,QAAA,EAElFtB;IAAQ,CACL,CACP,EACAd,WAAW,CAACa,KAAK,CAAC,gBACjBX,IAAA,CAACO,IAAI;MACHuB,KAAK,EAAEC,MAAM,CAACO,UAAW;MACzBH,qBAAqB,EAAEpB,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,aAAa,CAAC,CAACF,qBAAsB;MAAAD,QAAA,EAErFvB;IAAK,CACF,CAAC,GAEPA,KACD,EACA,CAAC,CAACE,QAAQ,iBACTb,IAAA,CAACO,IAAI;MACHuB,KAAK,EAAEC,MAAM,CAAClB,QAAS;MACvBsB,qBAAqB,EAAEpB,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,SAAS,CAAC,CAACF,qBAAsB;MAAAD,QAAA,EAEjFrB;IAAQ,CACL,CACP;EAAA,CACY,CAAC;AAEpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS0B,gBAAgBA,CAAC;EAC/B5B,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACR2B,cAAc;EACdC,eAAe;EACfC,WAAW;EACXC,YAAY;EACZC,SAAS;EACTC,gBAAgB,GAAG,GAAG;EACtBC,iBAAiB,GAAG,QAAQ;EAC5BC,aAAa,GAAG,MAAM;EACtBC,UAAU;EACVC,SAAS;EACTC,cAAc,GAAG,QAAQ;EACzBC,kBAAkB,GAAG,KAAK;EAC1BC,UAAU;EACVC;AACqB,CAAC,EAAE;EACxB,MAAM;IAAEtC;EAAM,CAAC,GAAG/B,YAAY,CAAC,CAAC;EAEhC,MAAM;IAAEgC,OAAO;IAAEoC,UAAU,EAAEE,gBAAgB;IAAEC,wBAAwB;IAAEC;EAAkB,CAAC,GAAGlE,SAAS,CAAC,CAAC;EAC1G,MAAMmE,UAAU,GAAGL,UAAU,IAAIC,EAAE;EACnC,MAAMK,OAAO,GACX,CAACD,UAAU,GAAGxE,iBAAiB,CAACwE,UAAU,EAAE1C,KAAK,CAAC,GAAGuC,gBAAgB,KAAKvC,KAAK,CAAC4C,KAAK,CAAC,gBAAgB,CAAC;EACzG,MAAMC,cAAc,GAAGpB,cAAc,KAAKqB,SAAS,GAAGrB,cAAc,GAAGE,WAAW;EAClF,MAAMoB,eAAe,GAAGrB,eAAe,KAAKoB,SAAS,GAAGpB,eAAe,GAAGE,YAAY;EAEtF,MAAMoB,aAAa,GAAGL,OAAO;EAC7B,MAAMM,QAAQ,GAAGlB,iBAAiB,KAAK,QAAQ,IAAI,CAACK,kBAAkB;EACtE;EACA,MAAM,CAACc,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGxF,QAAQ,CAAC,CAAC,CAAC;EACrE,MAAM,CAACyF,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG1F,QAAQ,CAAC,CAAC,CAAC;EAC3D,MAAM2F,uBAAuB,GAAGvF,cAAc,CAACqE,kBAAkB,CAAC;EAElE,MAAMmB,2BAA2B,GAAG9F,WAAW,CAC5C4C,MAAc,IAAK;IAClB,IAAI4C,QAAQ,EAAEE,wBAAwB,CAACK,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACrD,MAAM,CAAC,CAAC,CAAC,CAAC,KACnEmC,wBAAwB,CAACnC,MAAM,CAAC;EACvC,CAAC,EACD,CAAC4C,QAAQ,EAAET,wBAAwB,CACrC,CAAC;EAED,MAAMmB,4BAA4B,GAAGlG,WAAW,CAAE4C,MAAc,IAAK;IACnEgD,mBAAmB,CAACG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACrD,MAAM,CAAC,CAAC,CAAC;EACtD,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAMuD,qBAAqB,GAAGJ,IAAI,CAACC,GAAG,CACpC,CAAC,EACDhB,iBAAiB,GAAGW,gBAAgB,GAAGpD,KAAK,CAACG,MAAM,CAACC,MAAM,CAACC,MAC7D,CAAC;;EAED;EACA,MAAMwD,oBAAoB,GAAG/F,gBAAgB,CAAC,MAAM;IAClD,IAAIwF,uBAAuB,CAAC5C,KAAK,EAAE;MACjC,OAAO;QAAEF,SAAS,EAAE,CAAC;UAAEC,UAAU,EAAE;QAAE,CAAC;MAAE,CAAC;IAC3C;IACA,OAAO;MACLD,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE+C,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEG,qBAAqB,GAAG3D,OAAO,CAACS,KAAK;MAAE,CAAC;IAChF,CAAC;EACH,CAAC,CAAC;EACF,MAAMR,oBAAoB,GAAGF,KAAK,CAACG,MAAM,CAACC,MAAM,CAACC,MAAM;EAAC,MAAAyD,OAAA,GAAA9C,MAAA;EAAA;IAAA,MAAAA,MAAA,GAAA8C,OAAA,CAAAC,WAAA,CACrC;MAAE5B;IAAe,CAAC;IAErC;IACA,MAAM6B,oBAAoB,GAAGlG,gBAAgB,CAAC,MAAM;MAClD,IAAIwF,uBAAuB,CAAC5C,KAAK,EAAE;QACjC,OAAO;UAAEH,OAAO,EAAE;QAAE,CAAC;MACvB;MACA,MAAMF,MAAM,GAAGH,oBAAoB;MACnC,IAAIG,MAAM,IAAI,CAAC,EAAE;QACf,OAAO;UAAEE,OAAO,EAAE;QAAE,CAAC;MACvB;MACA,OAAO;QACLA,OAAO,EAAE1C,WAAW,CAACoC,OAAO,CAACS,KAAK,EAAE,CAAC,CAAC,EAAEL,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO;MAClE,CAAC;IACH,CAAC,CAAC;IAEFhC,mBAAmB,CAACsE,OAAO,EAAEqB,oBAAoB,CAAC;IAElD,MAAMC,yBAAyB,GAAGnG,gBAAgB,CAAC,MAAM;MACvD,IAAIwF,uBAAuB,CAAC5C,KAAK,EAAE;QACjC,OAAO;UAAEH,OAAO,EAAE,CAAC;UAAEC,SAAS,EAAE,CAAC;YAAEC,UAAU,EAAE;UAAE,CAAC;QAAE,CAAC;MACvD;MAEA,MAAMJ,MAAM,GAAGH,oBAAoB;MACnC,IAAIG,MAAM,IAAI,CAAC,EAAE;QACf,OAAO;UACLE,OAAO,EAAE,CAAC;UACVC,SAAS,EAAE,CAAC;YAAEC,UAAU,EAAEhB;UAA2B,CAAC;QACxD,CAAC;MACH;MAEA,OAAO;QACLc,OAAO,EAAE1C,WAAW,CAACoC,OAAO,CAACS,KAAK,EAAE,CAAC,CAAC,EAAEL,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;QACjEG,SAAS,EAAE,CACT;UACEC,UAAU,EAAE5C,WAAW,CAACoC,OAAO,CAACS,KAAK,EAAE,CAAC,CAAC,EAAEL,MAAM,CAAC,EAAE,CAACZ,0BAA0B,EAAE,CAAC,CAAC,EAAE,OAAO;QAC9F,CAAC;MAEL,CAAC;IACH,CAAC,CAAC;IAEF/B,SAAS,CAAC,MAAM;MACd4F,uBAAuB,CAAC5C,KAAK,GAAG0B,kBAAkB;IACpD,CAAC,EAAE,CAACA,kBAAkB,EAAEkB,uBAAuB,CAAC,CAAC;IAEjD,MAAMY,OAAO,GACXlC,aAAa,KAAK,MAAM,gBACtB7C,KAAA,CAAAE,SAAA;MAAA8B,QAAA,gBACElC,IAAA,CAACR,mBAAmB;QAACuD,aAAa,EAAEA,aAAc;QAACC,UAAU,EAAEA,UAAW;QAACC,SAAS,EAAEA;MAAU,CAAE,CAAC,EAClGW,cAAc;IAAA,CACf,CAAC,GAEHA,cACD;IAEH,MAAMsB,QAAQ,GACZnC,aAAa,KAAK,OAAO,gBACvB7C,KAAA,CAAAE,SAAA;MAAA8B,QAAA,GACG4B,eAAe,eAChB9D,IAAA,CAACR,mBAAmB;QAACuD,aAAa,EAAEA,aAAc;QAACC,UAAU,EAAEA,UAAW;QAACC,SAAS,EAAEA;MAAU,CAAE,CAAC;IAAA,CACnG,CAAC,GAEHa,eACD;IAEH;MAAA;MACE;MACA5D,KAAA,CAAC2B,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACoD,SAAS,CAACnB,QAAQ,GAAGW,qBAAqB,GAAG,CAAC,CAAE;QAACS,aAAa,EAAC,UAAU;QAAAlD,QAAA,GAC1F,CAACiB,kBAAkB,iBAClBjD,KAAA,CAACf,MAAM;UAACkG,QAAQ,EAAEhG,yBAA0B;UAAA6C,QAAA,gBAC1ClC,IAAA,CAACU,uBAAuB;YACtBC,KAAK,EAAEA,KAAM;YACbC,QAAQ,EAAEA,QAAS;YACnBC,QAAQ,EAAEA,QAAS;YACnBC,cAAc,EAAEkD,QAAQ,GAAGU,4BAA4B,GAAGb;UAAU,CACrE,CAAC,EAEDG,QAAQ,IAAIpB,SAAS,IAAI,IAAI,iBAAI5C,IAAA,CAACN,qBAAqB;YAAC0B,MAAM,EAAE6C;UAAsB,CAAE,CAAC;QAAA,CACpF,CACT,eAED/D,KAAA,CAAC2B,IAAI;UAACC,KAAK,EAAEC,MAAM,CAACuD,QAAS;UAAApD,QAAA,gBAC3BlC,IAAA,CAACJ,aAAa;YAAC+D,KAAK,EAAEI,aAAc;YAACwB,aAAa,EAAER;UAAqB,CAAE,CAAC,eAC5E7E,KAAA,CAAC2B,IAAI;YAACC,KAAK,EAAEC,MAAM,CAACyD,GAAI;YAAAtD,QAAA,GACrB+C,OAAO,IAAI,IAAI,iBAAIjF,IAAA,CAACT,OAAO;cAAA2C,QAAA,EAAE+C;YAAO,CAAU,CAAC,eAGhDjF,IAAA,CAACrB,QAAQ,CAACkD,IAAI;cACZC,KAAK,EAAE,CAACC,MAAM,CAAC0D,cAAc,EAAET,yBAAyB,CAAE;cAC1DI,aAAa,EAAEvF,aAAa,CAACc,KAAK,CAAC,GAAG,UAAU,GAAG,MAAO;cAAAuB,QAAA,EAEzDpC,WAAW,CAACa,KAAK,CAAC,gBACjBX,IAAA,CAACK,YAAY;gBACXyB,KAAK,EAAEC,MAAM,CAAC2D,YAAa;gBAC3BvD,qBAAqB,EAAEpB,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,UAAU,CAAC,CAACF,qBAAsB;gBAAAD,QAAA,EAElFvB;cAAK,CACM,CAAC,GAEfA;YACD,CACY,CAAC,EACfuE,QAAQ,IAAI,IAAI,iBAAIlF,IAAA,CAACT,OAAO;cAACuC,KAAK,EAAEC,MAAM,CAACmD,QAAS;cAAAhD,QAAA,EAAEgD;YAAQ,CAAU,CAAC;UAAA,CACtE,CAAC,EACNtC,SAAS,IAAI,IAAI,IAAI,CAACoB,QAAQ,iBAC7BhE,IAAA,CAACP,eAAe;YAACkG,OAAO,EAAE9C,gBAAiB;YAAC/B,cAAc,EAAEwD,2BAA4B;YAAApC,QAAA,EACrFU;UAAS,CACK,CAClB;QAAA,CACG,CAAC,EACNA,SAAS,IAAI,IAAI,IAAIoB,QAAQ;QAAA;QAC5B;QACA9D,KAAA,CAACvB,QAAQ,CAACkD,IAAI;UAACC,KAAK,EAAE,CAACC,MAAM,CAAC6D,eAAe,EAAEhB,oBAAoB,CAAE;UAAA1C,QAAA,gBACnElC,IAAA,CAACJ,aAAa;YAAC+D,KAAK,EAAEI,aAAc;YAAC8B,UAAU,EAAElG;UAAmB,CAAE,CAAC,eACvEK,IAAA,CAACP,eAAe;YAACkG,OAAO,EAAE9C,gBAAiB;YAAC/B,cAAc,EAAEwD,2BAA4B;YAAApC,QAAA,EACrFU;UAAS,CACK,CAAC;QAAA,CACL,CAChB;MAAA,CACG;IAAC;EACP;AACJ;AAEA,MAAMb,MAAM,GAAGhD,UAAU,CAAC+G,MAAM,CAAE/E,KAAK,KAAM;EAC3C;EACAoE,SAAS,EAAGY,eAAuB,KAAM;IACvCC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,IAAI;IACZC,aAAa,EAAEN;EACjB,CAAC,CAAC;EACF;EACAH,eAAe,EAAE;IAAEI,QAAQ,EAAE;EAAW,CAAC;EACzC;EACAV,QAAQ,EAAE;IAAEU,QAAQ,EAAE;EAAW,CAAC;EAClCR,GAAG,EAAE;IACHpE,MAAM,EAAEL,KAAK,CAACG,MAAM,CAACC,MAAM,CAACC,MAAM;IAClCkF,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,iBAAiB,EAAEzF,KAAK,CAACG,MAAM,CAACuF,MAAM,CAACd,OAAO,CAACe,CAAC;IAChDC,GAAG,EAAE5F,KAAK,CAAC6F,OAAO,CAAC,GAAG,CAAC;IACvBC,cAAc,EAAE,eAAe;IAAAC,iBAAA;EACjC,CAAC;EACD;EACA;EACA;EACA5B,QAAQ,EAAE;IACR2B,cAAc,EAAE,UAAU;IAC1BxE,QAAQ,EAAE;MACRa,cAAc,EAAE;QACd6D,MAAM,EAAE;UAAEC,UAAU,EAAE;QAAO,CAAC;QAC9Bd,IAAI,EAAE,CAAC;MACT;IACF,CAAC;IAAAY,iBAAA;EACH,CAAC;EACD9E,aAAa,EAAE;IACb2E,GAAG,EAAE,CAAC;IACNM,SAAS,EAAElG,KAAK,CAACG,MAAM,CAACC,MAAM,CAACC,MAAM;IACrCiF,aAAa,EAAEtF,KAAK,CAAC6F,OAAO,CAAC,GAAG,CAAC;IACjCJ,iBAAiB,EAAEzF,KAAK,CAACG,MAAM,CAACuF,MAAM,CAACd,OAAO,CAACe,CAAC;IAAAI,iBAAA;EAClD,CAAC;EACDlG,QAAQ,EAAE;IACRsG,QAAQ,EAAEnG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAC6E,QAAQ;IACxDC,UAAU,EAAEpG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAC8E,UAAU;IAC5DC,aAAa,EAAErG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAC+E,aAAa;IAClEC,UAAU,EAAEnI,iBAAiB,CAAC6B,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,UAAU,CAAC,CAACgF,UAAU,CAAC;IAC/E1D,KAAK,EAAG5C,KAAK,CAAC4C,KAAK,CAAmD,eAAe,CAAC,IAAI,EAAE;IAAAmD,iBAAA;EAC9F,CAAC;EACDxE,UAAU,EAAE;IACV4E,QAAQ,EAAEnG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,aAAa,CAAC,CAAC6E,QAAQ;IAC3DC,UAAU,EAAEpG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,aAAa,CAAC,CAAC8E,UAAU;IAC/DC,aAAa,EAAErG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,aAAa,CAAC,CAAC+E,aAAa;IACrEC,UAAU,EAAEnI,iBAAiB,CAAC6B,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,aAAa,CAAC,CAACgF,UAAU,CAAC;IAClF1D,KAAK,EAAG5C,KAAK,CAAC4C,KAAK,CAAmD,cAAc,CAAC,IAAI,EAAE;IAAAmD,iBAAA;EAC7F,CAAC;EACDjG,QAAQ,EAAE;IACRqG,QAAQ,EAAEnG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,SAAS,CAAC,CAAC6E,QAAQ;IACvDC,UAAU,EAAEpG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,SAAS,CAAC,CAAC8E,UAAU;IAC3DC,aAAa,EAAErG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,SAAS,CAAC,CAAC+E,aAAa;IACjEzD,KAAK,EAAG5C,KAAK,CAAC4C,KAAK,CAAmD,eAAe,CAAC,IAAI,EAAE;IAAAmD,iBAAA;EAC9F,CAAC;EACDpB,YAAY,EAAE;IACZwB,QAAQ,EAAEnG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAC6E,QAAQ;IACxDC,UAAU,EAAEpG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAC8E,UAAU;IAC5DC,aAAa,EAAErG,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAC+E,aAAa;IAClEC,UAAU,EAAEnI,iBAAiB,CAAC6B,KAAK,CAACqB,UAAU,CAACC,QAAQ,CAAC,UAAU,CAAC,CAACgF,UAAU,CAAC;IAC/E1D,KAAK,EAAG5C,KAAK,CAAC4C,KAAK,CAAmD,cAAc,CAAC,IAAI,EAAE;IAC3FtB,QAAQ,EAAE;MACRa,cAAc,EAAE;QACd6D,MAAM,EAAE;UAAEO,SAAS,EAAE;QAAS,CAAC;QAC/BpB,IAAI,EAAE;UAAEoB,SAAS,EAAE;QAAO;MAC5B;IACF,CAAC;IAAAR,iBAAA;EACH,CAAC;EACDrB,cAAc,EAAE;IACd8B,IAAI,EAAE,CAAC;IACPlF,QAAQ,EAAE;MACRa,cAAc,EAAE;QACd6D,MAAM,EAAE;UACNf,QAAQ,EAAE,UAAU;UACpBE,IAAI,EAAE,CAAC;UACPC,KAAK,EAAE,CAAC;UACRI,UAAU,EAAE;QACd,CAAC;QACDL,IAAI,EAAE;UACJqB,IAAI,EAAE,CAAC;UACPhB,UAAU,EAAE;QACd;MACF;IACF,CAAC;IAAAO,iBAAA;EACH;AACF,CAAC,CAAC,CAAC","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 { SCREEN_HEADER_PORTAL_HOST, useScreen } from "./ScreenContext.js";
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(PortalHost, {
104
- name: SCREEN_HEADER_PORTAL_HOST
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","PortalHost","useNestedContainerWarning","useScreenRef","useScreenScrollHandler","ScreenBottomInset","renderScreenPlaceholder","SCREEN_HEADER_PORTAL_HOST","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","name","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":[]}
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 { SCREEN_HEADER_PORTAL_HOST, useScreen } from "./ScreenContext.js";
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(PortalHost, {
105
- name: SCREEN_HEADER_PORTAL_HOST
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","PortalHost","useNestedContainerWarning","useScreenRef","useScreenScrollHandler","ScreenBottomInset","renderScreenPlaceholder","SCREEN_HEADER_PORTAL_HOST","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","name","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":[]}
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,+BAsKvB"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-terra-ui",
3
- "version": "0.11.7",
3
+ "version": "0.11.9",
4
4
  "description": "Themeable React Native UI components built on react-native-unistyles",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -141,7 +141,7 @@ export function LargeTitleHeader({
141
141
  RightToolbar,
142
142
  accessory,
143
143
  accessoryPadding = "x",
144
- accessoryBehavior = "pinned",
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 color={gradientColor} fadeHeight={HEADER_FADE_EXTENT} />
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 { SCREEN_HEADER_PORTAL_HOST, useScreen } from "./ScreenContext";
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
- <PortalHost name={SCREEN_HEADER_PORTAL_HOST} />
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 { SCREEN_HEADER_PORTAL_HOST, useScreen } from "./ScreenContext";
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
- <PortalHost name={SCREEN_HEADER_PORTAL_HOST} />
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
+ }));