react-native-terra-ui 0.7.2 → 0.8.1
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 +34 -0
- package/README.md +1 -1
- package/lib/module/components/avatar/Avatar.js +20 -20
- package/lib/module/components/avatar/Avatar.js.map +1 -1
- package/lib/module/components/button/Button.js +11 -11
- package/lib/module/components/button/Button.js.map +1 -1
- package/lib/module/components/chip/Chip.js +32 -32
- package/lib/module/components/chip/Chip.js.map +1 -1
- package/lib/module/components/empty-state/EmptyState.js +3 -3
- package/lib/module/components/empty-state/EmptyState.js.map +1 -1
- package/lib/module/components/header/variants/LargeTitleHeader/index.js +30 -32
- package/lib/module/components/header/variants/LargeTitleHeader/index.js.map +1 -1
- package/lib/module/components/header/variants/TitleHeader/index.js +26 -18
- package/lib/module/components/header/variants/TitleHeader/index.js.map +1 -1
- package/lib/module/components/icon/Icon.js +3 -3
- package/lib/module/components/page-indicator/hooks/use-page-indicator-colors.js +2 -2
- package/lib/module/components/screen/Screen.js +63 -34
- package/lib/module/components/screen/Screen.js.map +1 -1
- package/lib/module/components/screen/ScreenContext.js +28 -9
- package/lib/module/components/screen/ScreenContext.js.map +1 -1
- package/lib/module/components/screen/ScreenFlatList.js +4 -162
- package/lib/module/components/screen/ScreenFlatList.js.map +1 -1
- package/lib/module/components/screen/ScreenList.js +81 -97
- package/lib/module/components/screen/ScreenList.js.map +1 -1
- package/lib/module/components/screen/ScreenScrollView.js +64 -115
- package/lib/module/components/screen/ScreenScrollView.js.map +1 -1
- package/lib/module/components/screen/hooks/use-screen-ref.js +18 -0
- package/lib/module/components/screen/hooks/use-screen-ref.js.map +1 -0
- package/lib/module/components/screen/hooks/use-screen-scroll-handler.js +19 -0
- package/lib/module/components/screen/hooks/use-screen-scroll-handler.js.map +1 -0
- package/lib/module/components/screen/index.js.map +1 -1
- package/lib/module/components/screen/parts/ScreenFrame.js +47 -0
- package/lib/module/components/screen/parts/ScreenFrame.js.map +1 -0
- package/lib/module/components/screen/parts/ScreenHeaderAppearance.js +43 -0
- package/lib/module/components/screen/parts/ScreenHeaderAppearance.js.map +1 -0
- package/lib/module/components/screen/parts/ScreenPlaceholder.js +11 -13
- package/lib/module/components/screen/parts/ScreenPlaceholder.js.map +1 -1
- package/lib/module/components/screen/parts/ScreenSafeArea.android.js +27 -0
- package/lib/module/components/screen/parts/ScreenSafeArea.android.js.map +1 -0
- package/lib/module/components/screen/parts/ScreenSafeArea.js +26 -0
- package/lib/module/components/screen/parts/ScreenSafeArea.js.map +1 -0
- package/lib/module/components/screen/utils.js +18 -9
- package/lib/module/components/screen/utils.js.map +1 -1
- package/lib/module/components/spinner/Spinner.js +2 -2
- package/lib/module/components/text/Text.js +1 -1
- package/lib/module/components/toast/Toast.js +13 -13
- package/lib/module/components/toast/Toast.js.map +1 -1
- package/lib/module/components/toolbar/Toolbar.js +2 -2
- package/lib/module/context/ThemeProvider.js +22 -39
- package/lib/module/context/ThemeProvider.js.map +1 -1
- package/lib/module/context/index.js +1 -1
- package/lib/module/context/index.js.map +1 -1
- package/lib/module/theme/breakpoints.js +1 -1
- package/lib/module/theme/define-config.js +21 -0
- package/lib/module/theme/define-config.js.map +1 -0
- package/lib/module/theme/diagnostics.js +13 -0
- package/lib/module/theme/diagnostics.js.map +1 -0
- package/lib/module/theme/errors.js +15 -0
- package/lib/module/theme/errors.js.map +1 -0
- package/lib/module/theme/index.js +7 -1
- package/lib/module/theme/index.js.map +1 -1
- package/lib/module/theme/legacy-tokens.js +119 -0
- package/lib/module/theme/legacy-tokens.js.map +1 -0
- package/lib/module/theme/registry.js +122 -130
- package/lib/module/theme/registry.js.map +1 -1
- package/lib/module/theme/resolve-config.js +346 -0
- package/lib/module/theme/resolve-config.js.map +1 -0
- package/lib/module/theme/runtime.js +57 -12
- package/lib/module/theme/runtime.js.map +1 -1
- package/lib/module/theme/screen-margin.js +6 -14
- package/lib/module/theme/screen-margin.js.map +1 -1
- package/lib/module/theme/screen-padding.js +17 -0
- package/lib/module/theme/screen-padding.js.map +1 -0
- package/lib/module/theme/selection-store.js +75 -0
- package/lib/module/theme/selection-store.js.map +1 -0
- package/lib/module/theme/theme.js +81 -36
- package/lib/module/theme/theme.js.map +1 -1
- package/lib/module/theme/tokens/canonical-color-keys.js +102 -0
- package/lib/module/theme/tokens/canonical-color-keys.js.map +1 -0
- package/lib/module/theme/tokens/dark.js +72 -88
- package/lib/module/theme/tokens/dark.js.map +1 -1
- package/lib/module/theme/tokens/light.js +69 -83
- package/lib/module/theme/tokens/light.js.map +1 -1
- package/lib/module/theme/tokens/primitives.js +14 -14
- package/lib/module/theme/tokens/primitives.js.map +1 -1
- package/lib/module/theme/tokens/validate.js +238 -0
- package/lib/module/theme/tokens/validate.js.map +1 -0
- package/lib/module/theme/unistyles-adapter.js +77 -0
- package/lib/module/theme/unistyles-adapter.js.map +1 -0
- package/lib/module/utils/accent-generator.js +476 -0
- package/lib/module/utils/accent-generator.js.map +1 -0
- package/lib/module/utils/accent-utils.js +52 -35
- package/lib/module/utils/accent-utils.js.map +1 -1
- package/lib/module/utils/color-utils.js +224 -7
- package/lib/module/utils/color-utils.js.map +1 -1
- package/lib/module/utils/deep-merge.js +1 -1
- package/lib/module/utils/deep-merge.js.map +1 -1
- package/lib/module/utils/resolve-theme-color.js +2 -2
- package/lib/typescript/src/components/chip/types.d.ts +1 -1
- package/lib/typescript/src/components/empty-state/EmptyState.d.ts +1 -1
- package/lib/typescript/src/components/empty-state/EmptyState.d.ts.map +1 -1
- package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts +6 -5
- package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts.map +1 -1
- package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts +11 -5
- package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts.map +1 -1
- package/lib/typescript/src/components/icon/Icon.d.ts +2 -2
- package/lib/typescript/src/components/screen/Screen.d.ts +45 -16
- package/lib/typescript/src/components/screen/Screen.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/ScreenContext.d.ts +42 -26
- package/lib/typescript/src/components/screen/ScreenContext.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/ScreenFlatList.d.ts +5 -46
- package/lib/typescript/src/components/screen/ScreenFlatList.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/ScreenList.d.ts +62 -50
- package/lib/typescript/src/components/screen/ScreenList.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/ScreenScrollView.d.ts +18 -58
- package/lib/typescript/src/components/screen/ScreenScrollView.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/hooks/use-screen-ref.d.ts +5 -0
- package/lib/typescript/src/components/screen/hooks/use-screen-ref.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/hooks/use-screen-scroll-handler.d.ts +53 -0
- package/lib/typescript/src/components/screen/hooks/use-screen-scroll-handler.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/index.d.ts +2 -2
- package/lib/typescript/src/components/screen/index.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/parts/ScreenFrame.d.ts +6 -0
- package/lib/typescript/src/components/screen/parts/ScreenFrame.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/parts/ScreenHeaderAppearance.d.ts +21 -0
- package/lib/typescript/src/components/screen/parts/ScreenHeaderAppearance.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/parts/ScreenPlaceholder.d.ts +6 -8
- package/lib/typescript/src/components/screen/parts/ScreenPlaceholder.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/parts/ScreenSafeArea.android.d.ts +7 -0
- package/lib/typescript/src/components/screen/parts/ScreenSafeArea.android.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/parts/ScreenSafeArea.d.ts +6 -0
- package/lib/typescript/src/components/screen/parts/ScreenSafeArea.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/types.d.ts +27 -32
- package/lib/typescript/src/components/screen/types.d.ts.map +1 -1
- package/lib/typescript/src/components/screen/utils.d.ts +9 -8
- package/lib/typescript/src/components/screen/utils.d.ts.map +1 -1
- package/lib/typescript/src/components/text/Text.d.ts +1 -1
- package/lib/typescript/src/components/text/Text.d.ts.map +1 -1
- package/lib/typescript/src/components/toolbar/Toolbar.d.ts +2 -2
- package/lib/typescript/src/context/ThemeProvider.d.ts +29 -12
- package/lib/typescript/src/context/ThemeProvider.d.ts.map +1 -1
- package/lib/typescript/src/context/index.d.ts +1 -1
- package/lib/typescript/src/context/index.d.ts.map +1 -1
- package/lib/typescript/src/theme/breakpoints.d.ts +1 -1
- package/lib/typescript/src/theme/define-config.d.ts +23 -0
- package/lib/typescript/src/theme/define-config.d.ts.map +1 -0
- package/lib/typescript/src/theme/diagnostics.d.ts +4 -0
- package/lib/typescript/src/theme/diagnostics.d.ts.map +1 -0
- package/lib/typescript/src/theme/errors.d.ts +10 -0
- package/lib/typescript/src/theme/errors.d.ts.map +1 -0
- package/lib/typescript/src/theme/index.d.ts +10 -2
- package/lib/typescript/src/theme/index.d.ts.map +1 -1
- package/lib/typescript/src/theme/legacy-tokens.d.ts +187 -0
- package/lib/typescript/src/theme/legacy-tokens.d.ts.map +1 -0
- package/lib/typescript/src/theme/registry.d.ts +12 -17
- package/lib/typescript/src/theme/registry.d.ts.map +1 -1
- package/lib/typescript/src/theme/resolve-config.d.ts +99 -0
- package/lib/typescript/src/theme/resolve-config.d.ts.map +1 -0
- package/lib/typescript/src/theme/runtime.d.ts +25 -4
- package/lib/typescript/src/theme/runtime.d.ts.map +1 -1
- package/lib/typescript/src/theme/screen-margin.d.ts +6 -14
- package/lib/typescript/src/theme/screen-margin.d.ts.map +1 -1
- package/lib/typescript/src/theme/screen-padding.d.ts +15 -0
- package/lib/typescript/src/theme/screen-padding.d.ts.map +1 -0
- package/lib/typescript/src/theme/selection-store.d.ts +41 -0
- package/lib/typescript/src/theme/selection-store.d.ts.map +1 -0
- package/lib/typescript/src/theme/theme.d.ts +54 -1
- package/lib/typescript/src/theme/theme.d.ts.map +1 -1
- package/lib/typescript/src/theme/tokens/canonical-color-keys.d.ts +95 -0
- package/lib/typescript/src/theme/tokens/canonical-color-keys.d.ts.map +1 -0
- package/lib/typescript/src/theme/tokens/dark.d.ts +56 -63
- package/lib/typescript/src/theme/tokens/dark.d.ts.map +1 -1
- package/lib/typescript/src/theme/tokens/light.d.ts +56 -71
- package/lib/typescript/src/theme/tokens/light.d.ts.map +1 -1
- package/lib/typescript/src/theme/tokens/primitives.d.ts +11 -10
- package/lib/typescript/src/theme/tokens/primitives.d.ts.map +1 -1
- package/lib/typescript/src/theme/tokens/validate.d.ts +34 -0
- package/lib/typescript/src/theme/tokens/validate.d.ts.map +1 -0
- package/lib/typescript/src/theme/types.d.ts +166 -86
- package/lib/typescript/src/theme/types.d.ts.map +1 -1
- package/lib/typescript/src/theme/unistyles-adapter.d.ts +33 -0
- package/lib/typescript/src/theme/unistyles-adapter.d.ts.map +1 -0
- package/lib/typescript/src/utils/accent-generator.d.ts +103 -0
- package/lib/typescript/src/utils/accent-generator.d.ts.map +1 -0
- package/lib/typescript/src/utils/accent-utils.d.ts +15 -2
- package/lib/typescript/src/utils/accent-utils.d.ts.map +1 -1
- package/lib/typescript/src/utils/color-utils.d.ts +59 -2
- package/lib/typescript/src/utils/color-utils.d.ts.map +1 -1
- package/lib/typescript/src/utils/deep-merge.d.ts +1 -0
- package/lib/typescript/src/utils/deep-merge.d.ts.map +1 -1
- package/lib/typescript/src/utils/resolve-theme-color.d.ts +2 -2
- package/package.json +1 -1
- package/src/components/avatar/Avatar.tsx +20 -20
- package/src/components/button/Button.tsx +11 -11
- package/src/components/chip/Chip.tsx +32 -32
- package/src/components/chip/types.ts +1 -1
- package/src/components/empty-state/EmptyState.tsx +4 -4
- package/src/components/header/variants/LargeTitleHeader/index.tsx +31 -30
- package/src/components/header/variants/TitleHeader/index.tsx +33 -22
- package/src/components/icon/Icon.tsx +4 -4
- package/src/components/page-indicator/hooks/use-page-indicator-colors.ts +2 -2
- package/src/components/screen/Screen.tsx +89 -43
- package/src/components/screen/ScreenContext.tsx +48 -28
- package/src/components/screen/ScreenFlatList.tsx +5 -191
- package/src/components/screen/ScreenList.tsx +197 -175
- package/src/components/screen/ScreenScrollView.tsx +92 -167
- package/src/components/screen/hooks/use-screen-ref.ts +24 -0
- package/src/components/screen/hooks/use-screen-scroll-handler.ts +31 -0
- package/src/components/screen/index.ts +8 -2
- package/src/components/screen/parts/ScreenFrame.tsx +49 -0
- package/src/components/screen/parts/ScreenHeaderAppearance.tsx +52 -0
- package/src/components/screen/parts/ScreenPlaceholder.tsx +16 -16
- package/src/components/screen/parts/ScreenSafeArea.android.tsx +22 -0
- package/src/components/screen/parts/ScreenSafeArea.tsx +20 -0
- package/src/components/screen/types.ts +29 -32
- package/src/components/screen/utils.ts +24 -11
- package/src/components/spinner/Spinner.tsx +2 -2
- package/src/components/text/Text.tsx +2 -2
- package/src/components/toast/Toast.tsx +13 -13
- package/src/components/toolbar/Toolbar.tsx +4 -4
- package/src/context/ThemeProvider.tsx +47 -51
- package/src/context/index.ts +1 -1
- package/src/theme/breakpoints.ts +1 -1
- package/src/theme/define-config.ts +27 -0
- package/src/theme/diagnostics.ts +11 -0
- package/src/theme/errors.ts +14 -0
- package/src/theme/index.ts +40 -1
- package/src/theme/legacy-tokens.ts +227 -0
- package/src/theme/registry.ts +119 -137
- package/src/theme/resolve-config.ts +406 -0
- package/src/theme/runtime.ts +52 -14
- package/src/theme/screen-margin.ts +6 -25
- package/src/theme/screen-padding.ts +26 -0
- package/src/theme/selection-store.ts +76 -0
- package/src/theme/theme.ts +104 -39
- package/src/theme/tokens/canonical-color-keys.ts +107 -0
- package/src/theme/tokens/dark.ts +91 -98
- package/src/theme/tokens/light.ts +88 -93
- package/src/theme/tokens/primitives.ts +14 -14
- package/src/theme/tokens/validate.ts +271 -0
- package/src/theme/types.ts +184 -95
- package/src/theme/unistyles-adapter.ts +75 -0
- package/src/utils/accent-generator.ts +530 -0
- package/src/utils/accent-utils.ts +66 -39
- package/src/utils/color-utils.ts +225 -8
- package/src/utils/deep-merge.ts +1 -1
- package/src/utils/resolve-theme-color.ts +2 -2
- package/lib/module/components/screen/parts/BottomSafeArea.js +0 -62
- package/lib/module/components/screen/parts/BottomSafeArea.js.map +0 -1
- package/lib/typescript/src/components/screen/parts/BottomSafeArea.d.ts +0 -30
- package/lib/typescript/src/components/screen/parts/BottomSafeArea.d.ts.map +0 -1
- package/src/components/screen/parts/BottomSafeArea.tsx +0 -59
|
@@ -8,6 +8,7 @@ import { StyleSheet, useUnistyles } from "react-native-unistyles";
|
|
|
8
8
|
import { resolveThemeColor } from "../../../../utils/resolve-theme-color.js";
|
|
9
9
|
import { FONT_WEIGHT_VALUE } from "../../../../utils/typography.js";
|
|
10
10
|
import { Portal } from "../../../portal/index.js";
|
|
11
|
+
import { useHeaderBackground } from "../../../screen/parts/ScreenHeaderAppearance.js";
|
|
11
12
|
import { SCREEN_HEADER_PORTAL_HOST, useScreen } from "../../../screen/ScreenContext.js";
|
|
12
13
|
import { Toolbar } from "../../../toolbar/index.js";
|
|
13
14
|
import { HeaderDismissButton } from "../../header-buttons.js";
|
|
@@ -76,11 +77,12 @@ function LargeTitlePortalContent({
|
|
|
76
77
|
/**
|
|
77
78
|
* iOS-style collapsing large-title header. The large title is injected (via the
|
|
78
79
|
* `Screen`'s portal) into the top of the scroll content, so it scrolls away
|
|
79
|
-
* naturally; the compact
|
|
80
|
-
*
|
|
81
|
-
*
|
|
80
|
+
* naturally; the compact title cross-fades over the theme header height.
|
|
81
|
+
* The top safe area and bar overlay fade from transparent when expanded to
|
|
82
|
+
* the header background when collapsed. The large-title content stays transparent.
|
|
83
|
+
* Snapping is opt-in through the scroll container's snapToOffsets.
|
|
82
84
|
*
|
|
83
|
-
* Must be used inside a `Screen` with a `Screen.ScrollView`
|
|
85
|
+
* Must be used inside a `Screen` with a `Screen.ScrollView` or `Screen.List`.
|
|
84
86
|
*
|
|
85
87
|
* @example
|
|
86
88
|
* ```tsx
|
|
@@ -97,6 +99,8 @@ export function LargeTitleHeader({
|
|
|
97
99
|
title,
|
|
98
100
|
overline,
|
|
99
101
|
subtitle,
|
|
102
|
+
leadingActions,
|
|
103
|
+
trailingActions,
|
|
100
104
|
LeftToolbar,
|
|
101
105
|
RightToolbar,
|
|
102
106
|
dismissAction = "none",
|
|
@@ -104,17 +108,21 @@ export function LargeTitleHeader({
|
|
|
104
108
|
onDismiss,
|
|
105
109
|
titleAlignment = "center",
|
|
106
110
|
isLargeTitleHidden = false,
|
|
107
|
-
|
|
111
|
+
background,
|
|
112
|
+
bg
|
|
108
113
|
}) {
|
|
109
114
|
const {
|
|
110
115
|
theme
|
|
111
116
|
} = useUnistyles();
|
|
112
|
-
const bgColor = resolveThemeColor(bg, theme) ?? "";
|
|
113
|
-
const isTransparent = bgColor === "transparent";
|
|
114
|
-
const gradientColor = isTransparent ? theme.color.background : bgColor;
|
|
115
117
|
const {
|
|
116
|
-
scrollY
|
|
118
|
+
scrollY,
|
|
119
|
+
background: screenBackground
|
|
117
120
|
} = useScreen();
|
|
121
|
+
const colorToken = background ?? bg;
|
|
122
|
+
const bgColor = (colorToken ? resolveThemeColor(colorToken, theme) : screenBackground) ?? theme.color["surface.canvas"];
|
|
123
|
+
const leadingContent = leadingActions !== undefined ? leadingActions : LeftToolbar;
|
|
124
|
+
const trailingContent = trailingActions !== undefined ? trailingActions : RightToolbar;
|
|
125
|
+
const gradientColor = bgColor;
|
|
118
126
|
const isLargeTitleHiddenValue = useSharedValue(isLargeTitleHidden);
|
|
119
127
|
const headerCollapseHeight = theme.layout.header.height;
|
|
120
128
|
const _styles2 = styles;
|
|
@@ -139,6 +147,7 @@ export function LargeTitleHeader({
|
|
|
139
147
|
opacity: interpolate(scrollY.value, [0, height], [0, 1], "clamp")
|
|
140
148
|
};
|
|
141
149
|
});
|
|
150
|
+
useHeaderBackground(bgColor, gradientOpacityStyle);
|
|
142
151
|
const compactTitleAnimatedStyle = useAnimatedStyle(() => {
|
|
143
152
|
if (isLargeTitleHiddenValue.value) {
|
|
144
153
|
return {
|
|
@@ -172,15 +181,15 @@ export function LargeTitleHeader({
|
|
|
172
181
|
dismissAction: dismissAction,
|
|
173
182
|
navigation: navigation,
|
|
174
183
|
onDismiss: onDismiss
|
|
175
|
-
}),
|
|
176
|
-
}) :
|
|
184
|
+
}), leadingContent]
|
|
185
|
+
}) : leadingContent;
|
|
177
186
|
const trailing = dismissAction === "close" ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
178
|
-
children: [
|
|
187
|
+
children: [trailingContent, /*#__PURE__*/_jsx(HeaderDismissButton, {
|
|
179
188
|
dismissAction: dismissAction,
|
|
180
189
|
navigation: navigation,
|
|
181
190
|
onDismiss: onDismiss
|
|
182
191
|
})]
|
|
183
|
-
}) :
|
|
192
|
+
}) : trailingContent;
|
|
184
193
|
return /*#__PURE__*/_jsxs(View, {
|
|
185
194
|
style: styles.container,
|
|
186
195
|
children: [!isLargeTitleHidden && /*#__PURE__*/_jsx(Portal, {
|
|
@@ -191,8 +200,6 @@ export function LargeTitleHeader({
|
|
|
191
200
|
subtitle: subtitle,
|
|
192
201
|
titleAlignment: titleAlignment
|
|
193
202
|
})
|
|
194
|
-
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
195
|
-
style: [styles.safeArea(gradientColor), gradientOpacityStyle]
|
|
196
203
|
}), /*#__PURE__*/_jsxs(View, {
|
|
197
204
|
style: styles.bar,
|
|
198
205
|
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
@@ -219,7 +226,7 @@ export function LargeTitleHeader({
|
|
|
219
226
|
});
|
|
220
227
|
}
|
|
221
228
|
}
|
|
222
|
-
const styles = StyleSheet.create(
|
|
229
|
+
const styles = StyleSheet.create(theme => ({
|
|
223
230
|
container: {
|
|
224
231
|
position: "absolute",
|
|
225
232
|
top: 0,
|
|
@@ -227,15 +234,7 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
227
234
|
right: 0,
|
|
228
235
|
zIndex: 1000
|
|
229
236
|
},
|
|
230
|
-
|
|
231
|
-
height: runtime.insets.top,
|
|
232
|
-
backgroundColor: bgColor,
|
|
233
|
-
uni__dependencies: [9]
|
|
234
|
-
}),
|
|
235
|
-
// Overhangs the bar by `HEADER_FADE_EXTENT` so the fade has room to finish
|
|
236
|
-
// below it — confined to the bar, the curve would be steep enough to read as a
|
|
237
|
-
// band. Nothing on the path clips and the overlay is `pointerEvents="none"`,
|
|
238
|
-
// so the spill costs neither layout nor touches.
|
|
237
|
+
// Let the fade extend below the bar without intercepting touches.
|
|
239
238
|
gradient: {
|
|
240
239
|
position: "absolute",
|
|
241
240
|
top: 0,
|
|
@@ -247,7 +246,7 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
247
246
|
height: theme.layout.header.height,
|
|
248
247
|
flexDirection: "row",
|
|
249
248
|
alignItems: "center",
|
|
250
|
-
paddingHorizontal: theme.layout.screen.
|
|
249
|
+
paddingHorizontal: theme.layout.screen.padding.x,
|
|
251
250
|
gap: theme.spacing["3"],
|
|
252
251
|
justifyContent: "space-between",
|
|
253
252
|
uni__dependencies: [0]
|
|
@@ -258,9 +257,8 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
258
257
|
portalContent: {
|
|
259
258
|
gap: 2,
|
|
260
259
|
minHeight: theme.layout.header.height,
|
|
261
|
-
// paddingTop: theme.spacing['1'],
|
|
262
260
|
paddingBottom: theme.spacing["3"],
|
|
263
|
-
paddingHorizontal: theme.layout.screen.
|
|
261
|
+
paddingHorizontal: theme.layout.screen.padding.x,
|
|
264
262
|
uni__dependencies: [0]
|
|
265
263
|
},
|
|
266
264
|
overline: {
|
|
@@ -268,7 +266,7 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
268
266
|
lineHeight: theme.typography.variants["label-sm"].lineHeight,
|
|
269
267
|
letterSpacing: theme.typography.variants["label-sm"].letterSpacing,
|
|
270
268
|
fontWeight: FONT_WEIGHT_VALUE[theme.typography.variants["label-sm"].fontWeight],
|
|
271
|
-
color: theme.color["text.
|
|
269
|
+
color: theme.color["text.tertiary"] ?? "",
|
|
272
270
|
variants: {
|
|
273
271
|
titleAlignment: {
|
|
274
272
|
center: {
|
|
@@ -286,7 +284,7 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
286
284
|
lineHeight: theme.typography.variants["headline-lg"].lineHeight,
|
|
287
285
|
letterSpacing: theme.typography.variants["headline-lg"].letterSpacing,
|
|
288
286
|
fontWeight: FONT_WEIGHT_VALUE[theme.typography.variants["headline-lg"].fontWeight],
|
|
289
|
-
color: theme.color["text.
|
|
287
|
+
color: theme.color["text.primary"] ?? "",
|
|
290
288
|
variants: {
|
|
291
289
|
titleAlignment: {
|
|
292
290
|
center: {
|
|
@@ -303,7 +301,7 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
303
301
|
fontSize: theme.typography.variants["body-lg"].fontSize,
|
|
304
302
|
lineHeight: theme.typography.variants["body-lg"].lineHeight,
|
|
305
303
|
letterSpacing: theme.typography.variants["body-lg"].letterSpacing,
|
|
306
|
-
color: theme.color["text.
|
|
304
|
+
color: theme.color["text.tertiary"] ?? "",
|
|
307
305
|
variants: {
|
|
308
306
|
titleAlignment: {
|
|
309
307
|
center: {
|
|
@@ -321,7 +319,7 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
321
319
|
lineHeight: theme.typography.variants["title-md"].lineHeight,
|
|
322
320
|
letterSpacing: theme.typography.variants["title-md"].letterSpacing,
|
|
323
321
|
fontWeight: FONT_WEIGHT_VALUE[theme.typography.variants["title-md"].fontWeight],
|
|
324
|
-
color: theme.color["text.
|
|
322
|
+
color: theme.color["text.primary"] ?? "",
|
|
325
323
|
variants: {
|
|
326
324
|
titleAlignment: {
|
|
327
325
|
center: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","Animated","interpolate","useAnimatedStyle","useSharedValue","StyleSheet","useUnistyles","resolveThemeColor","FONT_WEIGHT_VALUE","Portal","SCREEN_HEADER_PORTAL_HOST","useScreen","Toolbar","HeaderDismissButton","HEADER_FADE_EXTENT","HeaderGradientOverlay","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AnimatedText","createAnimatedComponent","Text","COMPACT_TITLE_SLIDE_OFFSET","LARGE_TITLE_SLIDE_OFFSET","LargeTitlePortalContent","title","overline","subtitle","titleAlignment","theme","scrollY","_styles","styles","useVariants","headerCollapseHeight","layout","header","height","largeTitleAnimatedStyle","opacity","transform","translateY","value","View","style","portalContent","children","maxFontSizeMultiplier","typography","variants","largeTitle","LargeTitleHeader","LeftToolbar","RightToolbar","dismissAction","navigation","onDismiss","isLargeTitleHidden","bg","bgColor","isTransparent","gradientColor","color","background","isLargeTitleHiddenValue","_styles2","gradientOpacityStyle","compactTitleAnimatedStyle","leading","trailing","container","hostName","safeArea","bar","gradient","pointerEvents","titleContainer","compactTitle","create","runtime","position","top","left","right","zIndex","insets","backgroundColor","uni__dependencies","bottom","flexDirection","alignItems","paddingHorizontal","screen","margin","x","gap","spacing","justifyContent","minHeight","paddingBottom","fontSize","lineHeight","letterSpacing","fontWeight","center","textAlign","flex"],"sourceRoot":"../../../../../../src","sources":["components/header/variants/LargeTitleHeader/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useEffect","Animated","interpolate","useAnimatedStyle","useSharedValue","StyleSheet","useUnistyles","resolveThemeColor","FONT_WEIGHT_VALUE","Portal","useHeaderBackground","SCREEN_HEADER_PORTAL_HOST","useScreen","Toolbar","HeaderDismissButton","HEADER_FADE_EXTENT","HeaderGradientOverlay","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AnimatedText","createAnimatedComponent","Text","COMPACT_TITLE_SLIDE_OFFSET","LARGE_TITLE_SLIDE_OFFSET","LargeTitlePortalContent","title","overline","subtitle","titleAlignment","theme","scrollY","_styles","styles","useVariants","headerCollapseHeight","layout","header","height","largeTitleAnimatedStyle","opacity","transform","translateY","value","View","style","portalContent","children","maxFontSizeMultiplier","typography","variants","largeTitle","LargeTitleHeader","leadingActions","trailingActions","LeftToolbar","RightToolbar","dismissAction","navigation","onDismiss","isLargeTitleHidden","background","bg","screenBackground","colorToken","bgColor","color","leadingContent","undefined","trailingContent","gradientColor","isLargeTitleHiddenValue","_styles2","gradientOpacityStyle","compactTitleAnimatedStyle","leading","trailing","container","hostName","bar","gradient","pointerEvents","titleContainer","compactTitle","create","position","top","left","right","zIndex","bottom","flexDirection","alignItems","paddingHorizontal","screen","padding","x","gap","spacing","justifyContent","uni__dependencies","minHeight","paddingBottom","fontSize","lineHeight","letterSpacing","fontWeight","center","textAlign","flex"],"sourceRoot":"../../../../../../src","sources":["components/header/variants/LargeTitleHeader/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,16 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
import { View } from "react-native-unistyles/components/native/View";
|
|
4
4
|
import { Text } from "react-native-unistyles/components/native/Text";
|
|
5
|
+
import { useContext } from "react";
|
|
5
6
|
import { StyleSheet, useUnistyles } from "react-native-unistyles";
|
|
6
7
|
import { resolveThemeColor } from "../../../../utils/resolve-theme-color.js";
|
|
7
8
|
import { FONT_WEIGHT_VALUE } from "../../../../utils/typography.js";
|
|
9
|
+
import { useHeaderBackground } from "../../../screen/parts/ScreenHeaderAppearance.js";
|
|
10
|
+
import { ScreenContext } from "../../../screen/ScreenContext.js";
|
|
8
11
|
import { Toolbar } from "../../../toolbar/index.js";
|
|
9
12
|
import { HeaderDismissButton } from "../../header-buttons.js";
|
|
10
13
|
import { HEADER_FADE_EXTENT, HeaderGradientOverlay } from "../../parts/HeaderGradientOverlay.js";
|
|
11
14
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
15
|
/**
|
|
13
16
|
* Compact title bar (leading slot · title · trailing slot) with a top safe-area
|
|
14
|
-
* inset. The inline counterpart to `Header.LargeTitle`; use it for screens that
|
|
17
|
+
* inset outside Screen. Within Screen, the root owns safe-area clearance. The inline counterpart to `Header.LargeTitle`; use it for screens that
|
|
15
18
|
* don't need a collapsing large title.
|
|
16
19
|
*
|
|
17
20
|
* @example
|
|
@@ -19,7 +22,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
19
22
|
* <Screen.Header>
|
|
20
23
|
* <Header.Title
|
|
21
24
|
* title="Stats"
|
|
22
|
-
*
|
|
25
|
+
* trailingActions={
|
|
23
26
|
* <Toolbar.Button icon="add" accessibilityLabel="Add" onPress={add} />
|
|
24
27
|
* }
|
|
25
28
|
* />
|
|
@@ -28,20 +31,28 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
28
31
|
*/
|
|
29
32
|
export function TitleHeader({
|
|
30
33
|
title,
|
|
34
|
+
leadingActions,
|
|
35
|
+
trailingActions,
|
|
31
36
|
LeftToolbar,
|
|
32
37
|
RightToolbar,
|
|
33
38
|
dismissAction = "none",
|
|
34
39
|
navigation,
|
|
35
40
|
onDismiss,
|
|
36
41
|
titleAlignment = "center",
|
|
37
|
-
|
|
42
|
+
background,
|
|
43
|
+
bg
|
|
38
44
|
}) {
|
|
39
45
|
const {
|
|
40
46
|
theme
|
|
41
47
|
} = useUnistyles();
|
|
42
|
-
const
|
|
48
|
+
const screen = useContext(ScreenContext);
|
|
49
|
+
const colorToken = background ?? bg;
|
|
50
|
+
const bgColor = (colorToken ? resolveThemeColor(colorToken, theme) : screen?.background) ?? theme.color["surface.canvas"];
|
|
51
|
+
useHeaderBackground(bgColor);
|
|
52
|
+
const leadingContent = leadingActions !== undefined ? leadingActions : LeftToolbar;
|
|
53
|
+
const trailingContent = trailingActions !== undefined ? trailingActions : RightToolbar;
|
|
43
54
|
const isTransparent = bgColor === "transparent";
|
|
44
|
-
const gradientColor =
|
|
55
|
+
const gradientColor = bgColor;
|
|
45
56
|
const _styles = styles;
|
|
46
57
|
{
|
|
47
58
|
const styles = _styles.useVariants({
|
|
@@ -52,19 +63,19 @@ export function TitleHeader({
|
|
|
52
63
|
dismissAction: dismissAction,
|
|
53
64
|
navigation: navigation,
|
|
54
65
|
onDismiss: onDismiss
|
|
55
|
-
}),
|
|
56
|
-
}) :
|
|
66
|
+
}), leadingContent]
|
|
67
|
+
}) : leadingContent;
|
|
57
68
|
const trailing = dismissAction === "close" ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
58
|
-
children: [
|
|
69
|
+
children: [trailingContent, /*#__PURE__*/_jsx(HeaderDismissButton, {
|
|
59
70
|
dismissAction: dismissAction,
|
|
60
71
|
navigation: navigation,
|
|
61
72
|
onDismiss: onDismiss
|
|
62
73
|
})]
|
|
63
|
-
}) :
|
|
74
|
+
}) : trailingContent;
|
|
64
75
|
return /*#__PURE__*/_jsxs(View, {
|
|
65
76
|
style: styles.container,
|
|
66
77
|
children: [/*#__PURE__*/_jsx(View, {
|
|
67
|
-
style: styles.safeArea(isTransparent, bgColor)
|
|
78
|
+
style: styles.safeArea(isTransparent, bgColor, screen !== null)
|
|
68
79
|
}), /*#__PURE__*/_jsxs(View, {
|
|
69
80
|
style: styles.bar,
|
|
70
81
|
children: [/*#__PURE__*/_jsx(View, {
|
|
@@ -98,15 +109,12 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
98
109
|
right: 0,
|
|
99
110
|
zIndex: 1000
|
|
100
111
|
},
|
|
101
|
-
safeArea: (isTransparent, bgColor) => ({
|
|
102
|
-
height: runtime.insets.top,
|
|
112
|
+
safeArea: (isTransparent, bgColor, withinScreen) => ({
|
|
113
|
+
height: withinScreen ? 0 : runtime.insets.top,
|
|
103
114
|
backgroundColor: isTransparent ? "transparent" : bgColor,
|
|
104
115
|
uni__dependencies: [9]
|
|
105
116
|
}),
|
|
106
|
-
//
|
|
107
|
-
// below it — confined to the bar, the curve would be steep enough to read as a
|
|
108
|
-
// band. Nothing on the path clips and the overlay is `pointerEvents="none"`,
|
|
109
|
-
// so the spill costs neither layout nor touches.
|
|
117
|
+
// Extend the fade below the bar without clipping content or intercepting touches.
|
|
110
118
|
gradient: {
|
|
111
119
|
position: "absolute",
|
|
112
120
|
top: 0,
|
|
@@ -118,7 +126,7 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
118
126
|
height: theme.layout.header.height,
|
|
119
127
|
flexDirection: "row",
|
|
120
128
|
alignItems: "center",
|
|
121
|
-
paddingHorizontal: theme.layout.screen.
|
|
129
|
+
paddingHorizontal: theme.layout.screen.padding.x,
|
|
122
130
|
gap: theme.spacing["3"],
|
|
123
131
|
justifyContent: "space-between",
|
|
124
132
|
uni__dependencies: [0]
|
|
@@ -148,7 +156,7 @@ const styles = StyleSheet.create((theme, runtime) => ({
|
|
|
148
156
|
lineHeight: theme.typography.variants["title-md"].lineHeight,
|
|
149
157
|
letterSpacing: theme.typography.variants["title-md"].letterSpacing,
|
|
150
158
|
fontWeight: FONT_WEIGHT_VALUE[theme.typography.variants["title-md"].fontWeight],
|
|
151
|
-
color: theme.color["text.
|
|
159
|
+
color: theme.color["text.primary"] ?? "",
|
|
152
160
|
variants: {
|
|
153
161
|
titleAlignment: {
|
|
154
162
|
center: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","useUnistyles","resolveThemeColor","FONT_WEIGHT_VALUE","Toolbar","HeaderDismissButton","HEADER_FADE_EXTENT","HeaderGradientOverlay","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","TitleHeader","title","LeftToolbar","RightToolbar","dismissAction","navigation","onDismiss","titleAlignment","bg","theme","bgColor","color","isTransparent","gradientColor","_styles","styles","useVariants","leading","children","trailing","View","style","container","safeArea","bar","gradient","pointerEvents","titleContainer","Text","create","runtime","position","top","left","right","zIndex","height","insets","backgroundColor","uni__dependencies","bottom","layout","header","flexDirection","alignItems","paddingHorizontal","
|
|
1
|
+
{"version":3,"names":["useContext","StyleSheet","useUnistyles","resolveThemeColor","FONT_WEIGHT_VALUE","useHeaderBackground","ScreenContext","Toolbar","HeaderDismissButton","HEADER_FADE_EXTENT","HeaderGradientOverlay","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","TitleHeader","title","leadingActions","trailingActions","LeftToolbar","RightToolbar","dismissAction","navigation","onDismiss","titleAlignment","background","bg","theme","screen","colorToken","bgColor","color","leadingContent","undefined","trailingContent","isTransparent","gradientColor","_styles","styles","useVariants","leading","children","trailing","View","style","container","safeArea","bar","gradient","pointerEvents","titleContainer","Text","create","runtime","position","top","left","right","zIndex","withinScreen","height","insets","backgroundColor","uni__dependencies","bottom","layout","header","flexDirection","alignItems","paddingHorizontal","padding","x","gap","spacing","justifyContent","variants","center","flex","fontSize","typography","lineHeight","letterSpacing","fontWeight","textAlign"],"sourceRoot":"../../../../../../src","sources":["components/header/variants/TitleHeader/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,13 +12,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* ```tsx
|
|
15
|
-
* <Icon name="navigation.close" size={24} color="text.
|
|
15
|
+
* <Icon name="navigation.close" size={24} color="text.primary" />
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
export const Icon = /*#__PURE__*/forwardRef(function Icon({
|
|
19
19
|
name,
|
|
20
20
|
size = 20,
|
|
21
|
-
color = "text.
|
|
21
|
+
color = "text.primary",
|
|
22
22
|
strokeWidth,
|
|
23
23
|
style,
|
|
24
24
|
...rest
|
|
@@ -33,7 +33,7 @@ export const Icon = /*#__PURE__*/forwardRef(function Icon({
|
|
|
33
33
|
}
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
|
-
const resolvedColor = resolveThemeColor(color, theme) ?? theme.color["text.
|
|
36
|
+
const resolvedColor = resolveThemeColor(color, theme) ?? theme.color["text.primary"] ?? "";
|
|
37
37
|
return /*#__PURE__*/_jsx(View, {
|
|
38
38
|
ref: ref,
|
|
39
39
|
style: [styles.container(size), style],
|
|
@@ -7,7 +7,7 @@ import { resolveThemeColor } from "../../../utils/resolve-theme-color.js";
|
|
|
7
7
|
/** Resolved color strings for Reanimated and SVG (worklets cannot use theme tokens). */
|
|
8
8
|
|
|
9
9
|
const DEFAULT_COLOR_TOKENS = {
|
|
10
|
-
activeColor: "text.
|
|
10
|
+
activeColor: "text.primary",
|
|
11
11
|
inactiveColor: "text.disabled",
|
|
12
12
|
loadingColor: "text.disabled"
|
|
13
13
|
};
|
|
@@ -16,7 +16,7 @@ export function usePageIndicatorColors(colors = {}) {
|
|
|
16
16
|
theme
|
|
17
17
|
} = useUnistyles();
|
|
18
18
|
return useMemo(() => ({
|
|
19
|
-
activeColor: resolveThemeColor(colors.activeColor ?? DEFAULT_COLOR_TOKENS.activeColor, theme) ?? theme.color["text.
|
|
19
|
+
activeColor: resolveThemeColor(colors.activeColor ?? DEFAULT_COLOR_TOKENS.activeColor, theme) ?? theme.color["text.primary"] ?? "",
|
|
20
20
|
inactiveColor: resolveThemeColor(colors.inactiveColor ?? DEFAULT_COLOR_TOKENS.inactiveColor, theme) ?? theme.color["text.disabled"] ?? "",
|
|
21
21
|
loadingColor: resolveThemeColor(colors.loadingColor ?? DEFAULT_COLOR_TOKENS.loadingColor, theme) ?? theme.color["text.disabled"] ?? ""
|
|
22
22
|
}), [colors.activeColor, colors.inactiveColor, colors.loadingColor, theme]);
|
|
@@ -5,17 +5,22 @@ import { Children, Fragment, forwardRef, isValidElement, useMemo } from "react";
|
|
|
5
5
|
import { StyleSheet, useUnistyles } from "react-native-unistyles";
|
|
6
6
|
import { resolveThemeColor } from "../../utils/resolve-theme-color.js";
|
|
7
7
|
import { PortalProvider } from "../portal/index.js";
|
|
8
|
+
import { ScreenFrame } from "./parts/ScreenFrame.js";
|
|
9
|
+
import { ScreenHeaderAppearanceProvider, ScreenHeaderAppearanceSlot } from "./parts/ScreenHeaderAppearance.js";
|
|
8
10
|
import { ScreenScrollProvider } from "./ScreenContext.js";
|
|
9
11
|
import { ScreenFlatList } from "./ScreenFlatList.js";
|
|
10
12
|
import { ScreenList } from "./ScreenList.js";
|
|
11
13
|
import { ScreenScrollView } from "./ScreenScrollView.js";
|
|
14
|
+
import { resolveSafeAreaEdges } from "./utils.js";
|
|
15
|
+
|
|
16
|
+
/** Props for `Screen.Header`, including the props accepted by its `as` component. */
|
|
12
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
18
|
/**
|
|
14
|
-
*
|
|
15
|
-
* `Screen` detect a header synchronously and drop the `top` safe-area edge
|
|
16
|
-
* (the header manages its own top inset).
|
|
19
|
+
* Marks a child as the screen header so scroll containers reserve the header bar height.
|
|
17
20
|
*
|
|
18
|
-
* Place
|
|
21
|
+
* Place this slot under `Screen`, optionally inside fragments. Custom wrapper
|
|
22
|
+
* components are not inspected. Use `as` to render a reusable custom header. Reserved
|
|
23
|
+
* space uses the theme's header height, not the custom header's measured height.
|
|
19
24
|
*
|
|
20
25
|
* @example
|
|
21
26
|
* ```tsx
|
|
@@ -28,58 +33,64 @@ function ScreenHeader({
|
|
|
28
33
|
...rest
|
|
29
34
|
}) {
|
|
30
35
|
const Component = as ?? Fragment;
|
|
31
|
-
return /*#__PURE__*/_jsx(
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
return /*#__PURE__*/_jsx(ScreenHeaderAppearanceSlot, {
|
|
37
|
+
children: /*#__PURE__*/_jsx(Component, {
|
|
38
|
+
...rest,
|
|
39
|
+
children: children
|
|
40
|
+
})
|
|
34
41
|
});
|
|
35
42
|
}
|
|
36
43
|
ScreenHeader.displayName = "Screen.Header";
|
|
37
44
|
|
|
38
|
-
/**
|
|
45
|
+
/** Inspect fragments, but do not execute arbitrary child components. */
|
|
39
46
|
function hasScreenHeader(children) {
|
|
40
47
|
let found = false;
|
|
41
48
|
Children.forEach(children, child => {
|
|
42
49
|
if (found) return;
|
|
43
|
-
if (/*#__PURE__*/isValidElement(child)
|
|
50
|
+
if (! /*#__PURE__*/isValidElement(child)) return;
|
|
51
|
+
// Fast Refresh can retain an older function identity in existing child elements.
|
|
52
|
+
if (child.type === ScreenHeader || child.type.displayName === "Screen.Header") found = true;
|
|
53
|
+
if (child.type === Fragment) found = hasScreenHeader(child.props.children);
|
|
44
54
|
});
|
|
45
55
|
return found;
|
|
46
56
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
* `Screen.List` and a `Header.LargeTitle` / `Header.Title`.
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* ```tsx
|
|
54
|
-
* <Screen>
|
|
55
|
-
* <Screen.Header as={Header.LargeTitle} title="Meditate" />
|
|
56
|
-
* <Screen.ScrollView>{content}</Screen.ScrollView>
|
|
57
|
-
* </Screen>
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
57
|
+
|
|
58
|
+
/** Props for the screen root. Additional View props are forwarded to the root View. */
|
|
59
|
+
|
|
60
60
|
const ScreenBase = /*#__PURE__*/forwardRef(function Screen({
|
|
61
61
|
children,
|
|
62
|
-
background = "
|
|
62
|
+
background = "surface.canvas",
|
|
63
|
+
contentPadding,
|
|
64
|
+
safeArea = "auto",
|
|
63
65
|
margins,
|
|
64
66
|
hasMargins,
|
|
67
|
+
inTabView: _inTabView,
|
|
65
68
|
style,
|
|
66
69
|
...rest
|
|
67
|
-
},
|
|
70
|
+
}, ref) {
|
|
68
71
|
const hasHeader = useMemo(() => hasScreenHeader(children), [children]);
|
|
69
|
-
const resolvedMargins = margins ?? (hasMargins === false ? "none" : "all");
|
|
72
|
+
const resolvedMargins = contentPadding ?? margins ?? (hasMargins === false ? "none" : "all");
|
|
73
|
+
const edges = useMemo(() => resolveSafeAreaEdges(safeArea), [safeArea]);
|
|
70
74
|
const {
|
|
71
75
|
theme
|
|
72
76
|
} = useUnistyles();
|
|
73
|
-
const resolvedBackground = resolveThemeColor(background, theme) ?? theme.color.
|
|
77
|
+
const resolvedBackground = resolveThemeColor(background, theme) ?? theme.color["surface.canvas"];
|
|
74
78
|
return /*#__PURE__*/_jsx(View, {
|
|
75
|
-
|
|
79
|
+
ref: ref,
|
|
80
|
+
style: [styles.container(resolvedBackground), style],
|
|
76
81
|
...rest,
|
|
77
82
|
children: /*#__PURE__*/_jsx(ScreenScrollProvider, {
|
|
78
83
|
background: resolvedBackground,
|
|
79
|
-
|
|
84
|
+
contentPadding: resolvedMargins,
|
|
85
|
+
safeArea: safeArea,
|
|
80
86
|
hasHeader: hasHeader,
|
|
81
|
-
children: /*#__PURE__*/_jsx(
|
|
82
|
-
children:
|
|
87
|
+
children: /*#__PURE__*/_jsx(ScreenHeaderAppearanceProvider, {
|
|
88
|
+
children: /*#__PURE__*/_jsx(ScreenFrame, {
|
|
89
|
+
edges: edges,
|
|
90
|
+
children: /*#__PURE__*/_jsx(PortalProvider, {
|
|
91
|
+
children: children
|
|
92
|
+
})
|
|
93
|
+
})
|
|
83
94
|
})
|
|
84
95
|
})
|
|
85
96
|
});
|
|
@@ -88,10 +99,28 @@ ScreenBase.Header = ScreenHeader;
|
|
|
88
99
|
ScreenBase.ScrollView = ScreenScrollView;
|
|
89
100
|
ScreenBase.FlatList = ScreenFlatList;
|
|
90
101
|
ScreenBase.List = ScreenList;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Themed screen root with shared scroll state and a local header portal.
|
|
105
|
+
*
|
|
106
|
+
* Pair a `Screen.Header` child with one primary `Screen.ScrollView`
|
|
107
|
+
* or `Screen.List`. The root applies safe-area clearance to all children;
|
|
108
|
+
* scroll containers add themed content padding and header clearance. The ref targets
|
|
109
|
+
* the root View, not the scroll container.
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```tsx
|
|
113
|
+
* <Screen contentPadding="x" safeArea="auto">
|
|
114
|
+
* <Screen.Header as={Header.LargeTitle} title="Meditate" />
|
|
115
|
+
* <Screen.ScrollView>{content}</Screen.ScrollView>
|
|
116
|
+
* </Screen>
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
91
119
|
export const Screen = ScreenBase;
|
|
92
|
-
const styles = StyleSheet.create((
|
|
93
|
-
container: {
|
|
94
|
-
flex: 1
|
|
95
|
-
|
|
120
|
+
const styles = StyleSheet.create(() => ({
|
|
121
|
+
container: backgroundColor => ({
|
|
122
|
+
flex: 1,
|
|
123
|
+
backgroundColor
|
|
124
|
+
})
|
|
96
125
|
}));
|
|
97
126
|
//# sourceMappingURL=Screen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Children","Fragment","forwardRef","isValidElement","useMemo","StyleSheet","useUnistyles","resolveThemeColor","PortalProvider","ScreenScrollProvider","ScreenFlatList","ScreenList","ScreenScrollView","jsx","_jsx","ScreenHeader","children","as","rest","Component","displayName","hasScreenHeader","found","forEach","child","type","ScreenBase","Screen","background","margins","hasMargins","style","
|
|
1
|
+
{"version":3,"names":["Children","Fragment","forwardRef","isValidElement","useMemo","StyleSheet","useUnistyles","resolveThemeColor","PortalProvider","ScreenFrame","ScreenHeaderAppearanceProvider","ScreenHeaderAppearanceSlot","ScreenScrollProvider","ScreenFlatList","ScreenList","ScreenScrollView","resolveSafeAreaEdges","jsx","_jsx","ScreenHeader","children","as","rest","Component","displayName","hasScreenHeader","found","forEach","child","type","props","ScreenBase","Screen","background","contentPadding","safeArea","margins","hasMargins","inTabView","_inTabView","style","ref","hasHeader","resolvedMargins","edges","theme","resolvedBackground","color","View","styles","container","Header","ScrollView","FlatList","List","create","backgroundColor","flex"],"sourceRoot":"../../../../src","sources":["components/screen/Screen.tsx"],"mappings":"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","ignoreList":[]}
|