react-native-terra-ui 0.11.11 → 0.11.12

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.
Files changed (51) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/lib/module/components/header/hooks/use-header-color.js +16 -0
  3. package/lib/module/components/header/hooks/use-header-color.js.map +1 -0
  4. package/lib/module/components/header/hooks/use-large-title-header.js +81 -0
  5. package/lib/module/components/header/hooks/use-large-title-header.js.map +1 -0
  6. package/lib/module/components/header/parts/HeaderAccessory.js +21 -6
  7. package/lib/module/components/header/parts/HeaderAccessory.js.map +1 -1
  8. package/lib/module/components/header/parts/HeaderBar.js +122 -0
  9. package/lib/module/components/header/parts/HeaderBar.js.map +1 -0
  10. package/lib/module/components/header/parts/HeaderGradientOverlay.js +5 -3
  11. package/lib/module/components/header/parts/HeaderGradientOverlay.js.map +1 -1
  12. package/lib/module/components/header/parts/HeaderSurface.js +8 -14
  13. package/lib/module/components/header/parts/HeaderSurface.js.map +1 -1
  14. package/lib/module/components/header/variants/LargeTitleHeader/index.js +51 -386
  15. package/lib/module/components/header/variants/LargeTitleHeader/index.js.map +1 -1
  16. package/lib/module/components/header/variants/LargeTitleHeader/parts/LargeTitleContent.js +72 -0
  17. package/lib/module/components/header/variants/LargeTitleHeader/parts/LargeTitleContent.js.map +1 -0
  18. package/lib/module/components/header/variants/TitleHeader/index.js +32 -160
  19. package/lib/module/components/header/variants/TitleHeader/index.js.map +1 -1
  20. package/lib/module/components/surface/Surface.js +2 -0
  21. package/lib/module/components/surface/Surface.js.map +1 -1
  22. package/lib/typescript/src/components/header/hooks/use-header-color.d.ts +4 -0
  23. package/lib/typescript/src/components/header/hooks/use-header-color.d.ts.map +1 -0
  24. package/lib/typescript/src/components/header/hooks/use-large-title-header.d.ts +36 -0
  25. package/lib/typescript/src/components/header/hooks/use-large-title-header.d.ts.map +1 -0
  26. package/lib/typescript/src/components/header/parts/HeaderAccessory.d.ts +8 -5
  27. package/lib/typescript/src/components/header/parts/HeaderAccessory.d.ts.map +1 -1
  28. package/lib/typescript/src/components/header/parts/HeaderBar.d.ts +17 -0
  29. package/lib/typescript/src/components/header/parts/HeaderBar.d.ts.map +1 -0
  30. package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts +3 -1
  31. package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts.map +1 -1
  32. package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts +5 -9
  33. package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts.map +1 -1
  34. package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts +3 -23
  35. package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts.map +1 -1
  36. package/lib/typescript/src/components/header/variants/LargeTitleHeader/parts/LargeTitleContent.d.ts +11 -0
  37. package/lib/typescript/src/components/header/variants/LargeTitleHeader/parts/LargeTitleContent.d.ts.map +1 -0
  38. package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts +3 -19
  39. package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts.map +1 -1
  40. package/lib/typescript/src/components/surface/Surface.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/src/components/header/hooks/use-header-color.ts +14 -0
  43. package/src/components/header/hooks/use-large-title-header.ts +78 -0
  44. package/src/components/header/parts/HeaderAccessory.tsx +26 -7
  45. package/src/components/header/parts/HeaderBar.tsx +125 -0
  46. package/src/components/header/parts/HeaderGradientOverlay.tsx +9 -3
  47. package/src/components/header/parts/HeaderSurface.tsx +11 -17
  48. package/src/components/header/variants/LargeTitleHeader/index.tsx +44 -369
  49. package/src/components/header/variants/LargeTitleHeader/parts/LargeTitleContent.tsx +88 -0
  50. package/src/components/header/variants/TitleHeader/index.tsx +32 -146
  51. package/src/components/surface/Surface.tsx +2 -1
@@ -1,101 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  import { View } from "react-native-unistyles/components/native/View";
4
- import { Text } from "react-native-unistyles/components/native/Text";
5
- import { useCallback, useEffect, useState } from "react";
6
- import Animated, { interpolate, useAnimatedStyle, useSharedValue } from "react-native-reanimated";
7
- import { StyleSheet, useUnistyles } from "react-native-unistyles";
8
- import { resolveThemeColor } from "../../../../utils/resolve-theme-color.js";
9
- import { FONT_WEIGHT_VALUE } from "../../../../utils/typography.js";
4
+ import { StyleSheet } from "react-native-unistyles";
10
5
  import { Portal } from "../../../portal/index.js";
11
6
  import { useHeaderBackground } from "../../../screen/parts/ScreenHeaderAppearance.js";
12
- import { SCREEN_HEADER_PORTAL_HOST, useScreen } from "../../../screen/ScreenContext.js";
13
- import { Toolbar } from "../../../toolbar/index.js";
14
- import { HeaderDismissButton } from "../../header-buttons.js";
7
+ import { SCREEN_HEADER_PORTAL_HOST } from "../../../screen/ScreenContext.js";
8
+ import { useHeaderColor } from "../../hooks/use-header-color.js";
9
+ import { useLargeTitleHeader } from "../../hooks/use-large-title-header.js";
15
10
  import { HeaderAccessory, HeaderAccessorySpacer } from "../../parts/HeaderAccessory.js";
16
- import { HeaderSurface } from "../../parts/HeaderSurface.js";
17
- import { isCustomTitle, isTextTitle } from "../../utils.js";
18
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
19
- const AnimatedText = Animated.createAnimatedComponent(Text);
20
-
21
- /** Compact title offset (px) when the large title is fully expanded. */
22
- const COMPACT_TITLE_SLIDE_OFFSET = 8;
23
- /** Large title offset (px) when fully collapsed. */
24
- const LARGE_TITLE_SLIDE_OFFSET = 6;
25
- function LargeTitlePortalContent({
26
- title,
27
- overline,
28
- subtitle,
29
- hasAccessoryBelow,
30
- onHeightChange
31
- }) {
32
- const {
33
- theme
34
- } = useUnistyles();
35
- const {
36
- scrollY
37
- } = useScreen();
38
- const headerCollapseHeight = theme.layout.header.height;
39
- const largeTitleAnimatedStyle = useAnimatedStyle(() => {
40
- const height = headerCollapseHeight;
41
- if (height <= 0) {
42
- return {
43
- opacity: 1,
44
- transform: [{
45
- translateY: 0
46
- }]
47
- };
48
- }
49
- return {
50
- opacity: interpolate(scrollY.value, [0, height], [1, 0], "clamp"),
51
- transform: [{
52
- translateY: interpolate(scrollY.value, [0, height], [0, -LARGE_TITLE_SLIDE_OFFSET], "clamp")
53
- }]
54
- };
55
- });
56
-
57
- // Layout height excludes the collapse transform.
58
- const handleLayout = event => onHeightChange?.(event.nativeEvent.layout.height);
59
- return /*#__PURE__*/_jsxs(Animated.View, {
60
- style: [styles.portalContent(hasAccessoryBelow), largeTitleAnimatedStyle],
61
- onLayout: handleLayout,
62
- children: [!!overline && /*#__PURE__*/_jsx(Text, {
63
- style: styles.overline,
64
- maxFontSizeMultiplier: theme.typography.variants["label-sm"].maxFontSizeMultiplier,
65
- children: overline
66
- }), isTextTitle(title) ? /*#__PURE__*/_jsx(Text, {
67
- style: styles.largeTitle,
68
- maxFontSizeMultiplier: theme.typography.variants["headline-lg"].maxFontSizeMultiplier,
69
- children: title
70
- }) : title, !!subtitle && /*#__PURE__*/_jsx(Text, {
71
- style: styles.subtitle,
72
- maxFontSizeMultiplier: theme.typography.variants["body-lg"].maxFontSizeMultiplier,
73
- children: subtitle
74
- })]
75
- });
76
- }
77
-
78
- /**
79
- * iOS-style collapsing large-title header. The large title is injected (via the
80
- * `Screen`'s portal) into the top of the scroll content, so it scrolls away
81
- * naturally; the compact title cross-fades over the theme header height.
82
- * The top safe area and bar overlay fade from transparent when expanded to
83
- * the header background when collapsed. The large-title content stays transparent.
84
- * Snapping is opt-in through the scroll container's snapToOffsets.
85
- *
86
- * Must be used inside a `Screen` with a `Screen.ScrollView` or `Screen.List`.
87
- *
88
- * @example
89
- * ```tsx
90
- * <Screen.Header>
91
- * <Header.LargeTitle
92
- * overline="Today"
93
- * title="Meditate"
94
- * subtitle="Good morning"
95
- * />
96
- * </Screen.Header>
97
- * ```
98
- */
11
+ import { HeaderBar } from "../../parts/HeaderBar.js";
12
+ import { LargeTitleContent } from "./parts/LargeTitleContent.js";
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ /** Collapsing header. The expanded title lives in scroll content; the bar and accessory overlay it. */
99
15
  export function LargeTitleHeader({
100
16
  title,
101
17
  overline,
@@ -107,208 +23,55 @@ export function LargeTitleHeader({
107
23
  accessory,
108
24
  accessoryPadding = "x",
109
25
  accessoryBehavior = "sticky",
110
- dismissAction = "none",
111
- navigation,
112
- onDismiss,
113
26
  titleAlignment = "center",
114
27
  isLargeTitleHidden = false,
115
28
  background,
116
- bg
29
+ bg,
30
+ ...dismissProps
117
31
  }) {
118
- const {
119
- theme
120
- } = useUnistyles();
121
- const {
122
- scrollY,
123
- background: screenBackground,
124
- setHeaderAccessoryHeight,
125
- contentTopPadding
126
- } = useScreen();
127
- const colorToken = background ?? bg;
128
- const bgColor = (colorToken ? resolveThemeColor(colorToken, theme) : screenBackground) ?? theme.color["surface.canvas"];
129
- const leadingContent = leadingActions !== undefined ? leadingActions : LeftToolbar;
130
- const trailingContent = trailingActions !== undefined ? trailingActions : RightToolbar;
131
- const isSticky = accessoryBehavior === "sticky" && !isLargeTitleHidden;
132
- const hasStickyAccessory = isSticky && accessory != null;
133
- // Sticky accessories reserve space below the large title; pinned ones add top padding.
134
- const [stickyAccessoryHeight, setStickyAccessoryHeight] = useState(0);
135
- const [largeTitleHeight, setLargeTitleHeight] = useState(0);
136
- const isLargeTitleHiddenValue = useSharedValue(isLargeTitleHidden);
137
- const handleAccessoryHeightChange = useCallback(height => {
138
- if (isSticky) setStickyAccessoryHeight(Math.max(0, Math.round(height)));else setHeaderAccessoryHeight(height);
139
- }, [isSticky, setHeaderAccessoryHeight]);
140
- const handleLargeTitleHeightChange = useCallback(height => {
141
- setLargeTitleHeight(Math.max(0, Math.round(height)));
142
- }, []);
143
-
144
- // Rest below the title, including the scroll container's top padding.
145
- const stickyAccessoryOffset = Math.max(0, contentTopPadding + largeTitleHeight - theme.layout.header.height);
146
-
147
- // Zero translation places the accessory directly below the compact bar.
148
- const stickyAccessoryStyle = useAnimatedStyle(() => {
149
- if (isLargeTitleHiddenValue.value) {
150
- return {
151
- transform: [{
152
- translateY: 0
153
- }]
154
- };
155
- }
156
- return {
157
- transform: [{
158
- translateY: Math.max(0, stickyAccessoryOffset - scrollY.value)
159
- }]
160
- };
32
+ const color = useHeaderColor(background ?? bg);
33
+ const layout = useLargeTitleHeader({
34
+ hasAccessory: accessory != null,
35
+ accessoryBehavior,
36
+ isLargeTitleHidden
161
37
  });
162
- const headerCollapseHeight = theme.layout.header.height;
163
- const _styles = styles;
164
- {
165
- const styles = _styles.useVariants({
166
- titleAlignment
167
- });
168
- // Follow the accessory's bottom edge while keeping the background anchored to the bar.
169
- const stickySurfaceStyle = useAnimatedStyle(() => ({
170
- height: headerCollapseHeight + stickyAccessoryHeight + Math.max(0, stickyAccessoryOffset - scrollY.value)
171
- }));
172
-
173
- // Blend the accessory's resting surface into the shared header background.
174
- const accessorySurfaceStyle = useAnimatedStyle(() => ({
175
- opacity: stickyAccessoryOffset > 0 ? interpolate(scrollY.value, [0, stickyAccessoryOffset], [1, 0], "clamp") : 0
176
- }));
177
-
178
- // Animate the header surface's opacity: 0 (expanded) → 1 (collapsed).
179
- const surfaceOpacityStyle = useAnimatedStyle(() => {
180
- if (isLargeTitleHiddenValue.value) {
181
- return {
182
- opacity: 1
183
- };
184
- }
185
- const height = hasStickyAccessory ? stickyAccessoryOffset : headerCollapseHeight;
186
- if (height <= 0) {
187
- return {
188
- opacity: hasStickyAccessory ? 1 : 0
189
- };
190
- }
191
- return {
192
- opacity: interpolate(scrollY.value, [0, height], [0, 1], "clamp")
193
- };
194
- });
195
- useHeaderBackground(bgColor, surfaceOpacityStyle);
196
- const compactTitleAnimatedStyle = useAnimatedStyle(() => {
197
- if (isLargeTitleHiddenValue.value) {
198
- return {
199
- opacity: 1,
200
- transform: [{
201
- translateY: 0
202
- }]
203
- };
204
- }
205
- const height = headerCollapseHeight;
206
- if (height <= 0) {
207
- return {
208
- opacity: 0,
209
- transform: [{
210
- translateY: COMPACT_TITLE_SLIDE_OFFSET
211
- }]
212
- };
213
- }
214
- return {
215
- opacity: interpolate(scrollY.value, [0, height], [0, 1], "clamp"),
216
- transform: [{
217
- translateY: interpolate(scrollY.value, [0, height], [COMPACT_TITLE_SLIDE_OFFSET, 0], "clamp")
218
- }]
219
- };
220
- });
221
- useEffect(() => {
222
- isLargeTitleHiddenValue.value = isLargeTitleHidden;
223
- }, [isLargeTitleHidden, isLargeTitleHiddenValue]);
224
- const leading = dismissAction === "back" ? /*#__PURE__*/_jsxs(_Fragment, {
225
- children: [/*#__PURE__*/_jsx(HeaderDismissButton, {
226
- dismissAction: dismissAction,
227
- navigation: navigation,
228
- onDismiss: onDismiss
229
- }), leadingContent]
230
- }) : leadingContent;
231
- const trailing = dismissAction === "close" ? /*#__PURE__*/_jsxs(_Fragment, {
232
- children: [trailingContent, /*#__PURE__*/_jsx(HeaderDismissButton, {
233
- dismissAction: dismissAction,
234
- navigation: navigation,
235
- onDismiss: onDismiss
38
+ useHeaderBackground(color, layout.surfaceStyle);
39
+ return /*#__PURE__*/_jsxs(View, {
40
+ style: styles.container(layout.accessoryOffset),
41
+ pointerEvents: "box-none",
42
+ children: [!isLargeTitleHidden && /*#__PURE__*/_jsxs(Portal, {
43
+ hostName: SCREEN_HEADER_PORTAL_HOST,
44
+ children: [/*#__PURE__*/_jsx(LargeTitleContent, {
45
+ title: title,
46
+ overline: overline,
47
+ subtitle: subtitle,
48
+ hasAccessoryBelow: layout.isSticky,
49
+ onHeightChange: layout.setLargeTitleHeight,
50
+ animatedStyle: layout.largeTitleStyle
51
+ }), layout.isSticky && /*#__PURE__*/_jsx(HeaderAccessorySpacer, {
52
+ height: layout.reservedAccessoryHeight
236
53
  })]
237
- }) : trailingContent;
238
- return (
239
- /*#__PURE__*/
240
- // Let touches in the expanded header's empty space reach the scroll content.
241
- _jsxs(View, {
242
- style: styles.container(isSticky ? stickyAccessoryOffset : 0),
243
- pointerEvents: "box-none",
244
- children: [!isLargeTitleHidden && /*#__PURE__*/_jsxs(Portal, {
245
- hostName: SCREEN_HEADER_PORTAL_HOST,
246
- children: [/*#__PURE__*/_jsx(LargeTitlePortalContent, {
247
- title: title,
248
- overline: overline,
249
- subtitle: subtitle,
250
- hasAccessoryBelow: hasStickyAccessory,
251
- onHeightChange: isSticky ? handleLargeTitleHeightChange : undefined
252
- }), isSticky && accessory != null && /*#__PURE__*/_jsx(HeaderAccessorySpacer, {
253
- height: stickyAccessoryHeight
254
- })]
255
- }), hasStickyAccessory && /*#__PURE__*/_jsx(Animated.View, {
256
- style: [styles.stickySurface, stickySurfaceStyle],
257
- pointerEvents: "none",
258
- children: /*#__PURE__*/_jsx(HeaderSurface, {
259
- color: bgColor,
260
- animatedStyle: surfaceOpacityStyle
261
- })
262
- }), /*#__PURE__*/_jsxs(View, {
263
- style: styles.barGroup,
264
- children: [!hasStickyAccessory && /*#__PURE__*/_jsx(HeaderSurface, {
265
- color: bgColor,
266
- animatedStyle: surfaceOpacityStyle
267
- }), /*#__PURE__*/_jsxs(View, {
268
- style: styles.bar,
269
- children: [leading != null && /*#__PURE__*/_jsx(Toolbar, {
270
- children: leading
271
- }), /*#__PURE__*/_jsx(Animated.View, {
272
- style: [styles.titleContainer, compactTitleAnimatedStyle],
273
- pointerEvents: isCustomTitle(title) ? "box-none" : "none",
274
- children: isTextTitle(title) ? /*#__PURE__*/_jsx(AnimatedText, {
275
- style: styles.compactTitle,
276
- maxFontSizeMultiplier: theme.typography.variants["title-md"].maxFontSizeMultiplier,
277
- children: title
278
- }) : title
279
- }), trailing != null && /*#__PURE__*/_jsx(Toolbar, {
280
- style: styles.trailing,
281
- children: trailing
282
- })]
283
- }), accessory != null && !isSticky && /*#__PURE__*/_jsx(HeaderAccessory, {
284
- padding: accessoryPadding,
285
- onHeightChange: handleAccessoryHeightChange,
286
- children: accessory
287
- })]
288
- }), accessory != null && isSticky && /*#__PURE__*/_jsxs(Animated.View, {
289
- style: [styles.stickyAccessory, stickyAccessoryStyle],
290
- children: [/*#__PURE__*/_jsx(HeaderSurface, {
291
- color: screenBackground ?? theme.color["surface.canvas"],
292
- animatedStyle: accessorySurfaceStyle,
293
- solid: true
294
- }), /*#__PURE__*/_jsx(HeaderAccessory, {
295
- padding: accessoryPadding,
296
- onHeightChange: handleAccessoryHeightChange,
297
- children: accessory
298
- })]
299
- })]
300
- })
301
- );
302
- }
54
+ }), /*#__PURE__*/_jsx(HeaderBar, {
55
+ ...dismissProps,
56
+ title: title,
57
+ titleAlignment: titleAlignment,
58
+ color: color,
59
+ surfaceStyle: layout.surfaceStyle,
60
+ titleStyle: layout.compactTitleStyle,
61
+ leading: leadingActions !== undefined ? leadingActions : LeftToolbar,
62
+ trailing: trailingActions !== undefined ? trailingActions : RightToolbar
63
+ }), accessory != null && /*#__PURE__*/_jsx(HeaderAccessory, {
64
+ padding: accessoryPadding,
65
+ color: color,
66
+ surfaceStyle: layout.surfaceStyle,
67
+ style: layout.accessoryStyle,
68
+ onHeightChange: layout.setAccessoryHeight,
69
+ children: accessory
70
+ })]
71
+ });
303
72
  }
304
- const styles = StyleSheet.create(theme => ({
305
- stickySurface: {
306
- position: "absolute",
307
- top: 0,
308
- left: 0,
309
- right: 0
310
- },
311
- // Include the translated accessory in the parent's touchable bounds.
73
+ const styles = StyleSheet.create(() => ({
74
+ // Keep the translated accessory inside the overlay's touchable bounds.
312
75
  container: accessoryOffset => ({
313
76
  position: "absolute",
314
77
  top: 0,
@@ -316,104 +79,6 @@ const styles = StyleSheet.create(theme => ({
316
79
  right: 0,
317
80
  zIndex: 1000,
318
81
  paddingBottom: accessoryOffset
319
- }),
320
- // Normal flow places the accessory directly below the bar.
321
- stickyAccessory: {
322
- position: "relative"
323
- },
324
- // Anchors the absolutely positioned surface over the bar and the accessory both.
325
- barGroup: {
326
- position: "relative"
327
- },
328
- bar: {
329
- height: theme.layout.header.height,
330
- flexDirection: "row",
331
- alignItems: "center",
332
- paddingHorizontal: theme.layout.screen.padding.x,
333
- gap: theme.spacing["3"],
334
- justifyContent: "space-between",
335
- uni__dependencies: [0]
336
- },
337
- // A centered title is absolutely positioned, so it leaves the flex row. With
338
- // no leading slot the trailing toolbar would be the only in-flow child and
339
- // `space-between` would park it on the left — the auto margin pins it right.
340
- trailing: {
341
- justifyContent: "flex-end",
342
- variants: {
343
- titleAlignment: {
344
- center: {
345
- marginLeft: "auto"
346
- },
347
- left: {}
348
- }
349
- },
350
- uni__dependencies: [4]
351
- },
352
- portalContent: hasAccessoryBelow => ({
353
- gap: 2,
354
- // Include the gap in the measured height used to position the accessory.
355
- paddingBottom: hasAccessoryBelow ? theme.spacing["2"] : 0,
356
- paddingHorizontal: theme.layout.screen.padding.x,
357
- uni__dependencies: [0]
358
- }),
359
- overline: {
360
- fontSize: theme.typography.variants["label-sm"].fontSize,
361
- lineHeight: theme.typography.variants["label-sm"].lineHeight,
362
- letterSpacing: theme.typography.variants["label-sm"].letterSpacing,
363
- fontWeight: FONT_WEIGHT_VALUE[theme.typography.variants["label-sm"].fontWeight],
364
- color: theme.color["text.tertiary"] ?? "",
365
- uni__dependencies: [0]
366
- },
367
- largeTitle: {
368
- fontSize: theme.typography.variants["headline-lg"].fontSize,
369
- lineHeight: theme.typography.variants["headline-lg"].lineHeight,
370
- letterSpacing: theme.typography.variants["headline-lg"].letterSpacing,
371
- fontWeight: FONT_WEIGHT_VALUE[theme.typography.variants["headline-lg"].fontWeight],
372
- color: theme.color["text.primary"] ?? "",
373
- uni__dependencies: [0]
374
- },
375
- subtitle: {
376
- fontSize: theme.typography.variants["body-lg"].fontSize,
377
- lineHeight: theme.typography.variants["body-lg"].lineHeight,
378
- letterSpacing: theme.typography.variants["body-lg"].letterSpacing,
379
- color: theme.color["text.tertiary"] ?? "",
380
- uni__dependencies: [0]
381
- },
382
- compactTitle: {
383
- fontSize: theme.typography.variants["title-md"].fontSize,
384
- lineHeight: theme.typography.variants["title-md"].lineHeight,
385
- letterSpacing: theme.typography.variants["title-md"].letterSpacing,
386
- fontWeight: FONT_WEIGHT_VALUE[theme.typography.variants["title-md"].fontWeight],
387
- color: theme.color["text.primary"] ?? "",
388
- variants: {
389
- titleAlignment: {
390
- center: {
391
- textAlign: "center"
392
- },
393
- left: {
394
- textAlign: "left"
395
- }
396
- }
397
- },
398
- uni__dependencies: [0, 4]
399
- },
400
- titleContainer: {
401
- flex: 1,
402
- variants: {
403
- titleAlignment: {
404
- center: {
405
- position: "absolute",
406
- left: 0,
407
- right: 0,
408
- alignItems: "center"
409
- },
410
- left: {
411
- flex: 1,
412
- alignItems: "flex-start"
413
- }
414
- }
415
- },
416
- uni__dependencies: [4]
417
- }
82
+ })
418
83
  }));
419
84
  //# sourceMappingURL=index.js.map
@@ -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","HeaderSurface","isCustomTitle","isTextTitle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AnimatedText","createAnimatedComponent","Text","COMPACT_TITLE_SLIDE_OFFSET","LARGE_TITLE_SLIDE_OFFSET","LargeTitlePortalContent","title","overline","subtitle","hasAccessoryBelow","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","isSticky","hasStickyAccessory","stickyAccessoryHeight","setStickyAccessoryHeight","largeTitleHeight","setLargeTitleHeight","isLargeTitleHiddenValue","handleAccessoryHeightChange","Math","max","round","handleLargeTitleHeightChange","stickyAccessoryOffset","stickyAccessoryStyle","_styles","useVariants","stickySurfaceStyle","accessorySurfaceStyle","surfaceOpacityStyle","compactTitleAnimatedStyle","leading","trailing","container","pointerEvents","hostName","stickySurface","animatedStyle","barGroup","bar","titleContainer","compactTitle","padding","stickyAccessory","solid","create","position","top","left","right","accessoryOffset","zIndex","paddingBottom","flexDirection","alignItems","paddingHorizontal","screen","x","gap","spacing","justifyContent","uni__dependencies","center","marginLeft","fontSize","lineHeight","letterSpacing","fontWeight","textAlign","flex"],"sourceRoot":"../../../../../../src","sources":["components/header/variants/LargeTitleHeader/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","Portal","useHeaderBackground","SCREEN_HEADER_PORTAL_HOST","useHeaderColor","useLargeTitleHeader","HeaderAccessory","HeaderAccessorySpacer","HeaderBar","LargeTitleContent","jsx","_jsx","jsxs","_jsxs","LargeTitleHeader","title","overline","subtitle","leadingActions","trailingActions","LeftToolbar","RightToolbar","accessory","accessoryPadding","accessoryBehavior","titleAlignment","isLargeTitleHidden","background","bg","dismissProps","color","layout","hasAccessory","surfaceStyle","View","style","styles","container","accessoryOffset","pointerEvents","children","hostName","hasAccessoryBelow","isSticky","onHeightChange","setLargeTitleHeight","animatedStyle","largeTitleStyle","height","reservedAccessoryHeight","titleStyle","compactTitleStyle","leading","undefined","trailing","padding","accessoryStyle","setAccessoryHeight","create","position","top","left","right","zIndex","paddingBottom"],"sourceRoot":"../../../../../../src","sources":["components/header/variants/LargeTitleHeader/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ import { Text } from "react-native-unistyles/components/native/Text";
4
+ import Animated from "react-native-reanimated";
5
+ import { StyleSheet, useUnistyles } from "react-native-unistyles";
6
+ import { FONT_WEIGHT_VALUE } from "../../../../../utils/typography.js";
7
+ import { isTextTitle } from "../../../utils.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export function LargeTitleContent({
10
+ title,
11
+ overline,
12
+ subtitle,
13
+ hasAccessoryBelow,
14
+ onHeightChange,
15
+ animatedStyle
16
+ }) {
17
+ const {
18
+ theme
19
+ } = useUnistyles();
20
+ // Layout height excludes the collapse transform.
21
+ const handleLayout = event => onHeightChange?.(event.nativeEvent.layout.height);
22
+ return /*#__PURE__*/_jsxs(Animated.View, {
23
+ style: [styles.portalContent(hasAccessoryBelow), animatedStyle],
24
+ onLayout: handleLayout,
25
+ children: [!!overline && /*#__PURE__*/_jsx(Text, {
26
+ style: styles.overline,
27
+ maxFontSizeMultiplier: theme.typography.variants["label-sm"].maxFontSizeMultiplier,
28
+ children: overline
29
+ }), isTextTitle(title) ? /*#__PURE__*/_jsx(Text, {
30
+ style: styles.largeTitle,
31
+ maxFontSizeMultiplier: theme.typography.variants["headline-lg"].maxFontSizeMultiplier,
32
+ children: title
33
+ }) : title, !!subtitle && /*#__PURE__*/_jsx(Text, {
34
+ style: styles.subtitle,
35
+ maxFontSizeMultiplier: theme.typography.variants["body-lg"].maxFontSizeMultiplier,
36
+ children: subtitle
37
+ })]
38
+ });
39
+ }
40
+ const styles = StyleSheet.create(theme => ({
41
+ portalContent: hasAccessoryBelow => ({
42
+ gap: theme.spacing["1"] / 2,
43
+ // Include the gap in the measured height used to position the accessory.
44
+ paddingBottom: hasAccessoryBelow ? theme.spacing["2"] : 0,
45
+ paddingHorizontal: theme.layout.screen.padding.x,
46
+ uni__dependencies: [0]
47
+ }),
48
+ overline: {
49
+ fontSize: theme.typography.variants["label-sm"].fontSize,
50
+ lineHeight: theme.typography.variants["label-sm"].lineHeight,
51
+ letterSpacing: theme.typography.variants["label-sm"].letterSpacing,
52
+ fontWeight: FONT_WEIGHT_VALUE[theme.typography.variants["label-sm"].fontWeight],
53
+ color: theme.color["text.tertiary"] ?? "",
54
+ uni__dependencies: [0]
55
+ },
56
+ largeTitle: {
57
+ fontSize: theme.typography.variants["headline-lg"].fontSize,
58
+ lineHeight: theme.typography.variants["headline-lg"].lineHeight,
59
+ letterSpacing: theme.typography.variants["headline-lg"].letterSpacing,
60
+ fontWeight: FONT_WEIGHT_VALUE[theme.typography.variants["headline-lg"].fontWeight],
61
+ color: theme.color["text.primary"] ?? "",
62
+ uni__dependencies: [0]
63
+ },
64
+ subtitle: {
65
+ fontSize: theme.typography.variants["body-lg"].fontSize,
66
+ lineHeight: theme.typography.variants["body-lg"].lineHeight,
67
+ letterSpacing: theme.typography.variants["body-lg"].letterSpacing,
68
+ color: theme.color["text.tertiary"] ?? "",
69
+ uni__dependencies: [0]
70
+ }
71
+ }));
72
+ //# sourceMappingURL=LargeTitleContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Animated","StyleSheet","useUnistyles","FONT_WEIGHT_VALUE","isTextTitle","jsx","_jsx","jsxs","_jsxs","LargeTitleContent","title","overline","subtitle","hasAccessoryBelow","onHeightChange","animatedStyle","theme","handleLayout","event","nativeEvent","layout","height","View","style","styles","portalContent","onLayout","children","Text","maxFontSizeMultiplier","typography","variants","largeTitle","create","gap","spacing","paddingBottom","paddingHorizontal","screen","padding","x","uni__dependencies","fontSize","lineHeight","letterSpacing","fontWeight","color"],"sourceRoot":"../../../../../../../src","sources":["components/header/variants/LargeTitleHeader/parts/LargeTitleContent.tsx"],"mappings":"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","ignoreList":[]}