@hzblj/kara-components 0.25.0 → 0.26.0
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 +22 -0
- package/lib/module/organisms/header/header-title.js +5 -3
- package/lib/module/organisms/header/header-title.js.map +1 -1
- package/lib/module/organisms/header/index.js.map +1 -1
- package/lib/module/organisms/header/native-subtitle.ios.js +4 -2
- package/lib/module/organisms/header/native-subtitle.ios.js.map +1 -1
- package/lib/module/organisms/header/use-header.js +3 -1
- package/lib/module/organisms/header/use-header.js.map +1 -1
- package/lib/module/organisms/header/use-hero-header.js +2 -0
- package/lib/module/organisms/header/use-hero-header.js.map +1 -1
- package/lib/typescript/organisms/header/header-title.d.ts +3 -1
- package/lib/typescript/organisms/header/header.types.d.ts +8 -2
- package/lib/typescript/organisms/header/index.d.ts +1 -0
- package/lib/typescript/organisms/header/native-subtitle.types.d.ts +2 -0
- package/lib/typescript/organisms/header/use-header.d.ts +1 -1
- package/lib/typescript/organisms/header/use-hero-header.d.ts +1 -1
- package/package.json +4 -4
- package/src/organisms/header/header-title.tsx +14 -2
- package/src/organisms/header/header.types.ts +11 -2
- package/src/organisms/header/index.ts +8 -0
- package/src/organisms/header/native-subtitle.ios.tsx +6 -1
- package/src/organisms/header/native-subtitle.types.ts +2 -0
- package/src/organisms/header/use-header.ts +2 -1
- package/src/organisms/header/use-hero-header.tsx +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @hzblj/kara-components
|
|
2
2
|
|
|
3
|
+
## 0.26.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#84](https://github.com/hzblj/kara-ui/pull/84) [`598b21c`](https://github.com/hzblj/kara-ui/commit/598b21c815b20ed3a85dfd00abfbdc18deccd767) Thanks [@hzblj](https://github.com/hzblj)! - A header's revealed title and subtitle on iOS 26 now rise into the bar out of a blur like Mail's title, with the subtitle trailing, and leave the same way backwards. Pick another preset (`blur`, `fade`, `none`) or set offset, blur, scale, delay, spring or easing per line with `titleTransition` on `useHeader` and `useHeroHeader`, or `transition` on `NavigationItemSubtitle`.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [[`598b21c`](https://github.com/hzblj/kara-ui/commit/598b21c815b20ed3a85dfd00abfbdc18deccd767)]:
|
|
12
|
+
- @hzblj/kara-native@0.26.0
|
|
13
|
+
- @hzblj/kara-sx@0.26.0
|
|
14
|
+
- @hzblj/kara-theme@0.26.0
|
|
15
|
+
|
|
16
|
+
## 0.25.1
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Updated dependencies [[`ac467e2`](https://github.com/hzblj/kara-ui/commit/ac467e2395360710f0745ccd49f21434eb101afe)]:
|
|
21
|
+
- @hzblj/kara-native@0.25.1
|
|
22
|
+
- @hzblj/kara-theme@0.25.1
|
|
23
|
+
- @hzblj/kara-sx@0.25.1
|
|
24
|
+
|
|
3
25
|
## 0.25.0
|
|
4
26
|
|
|
5
27
|
### Minor Changes
|
|
@@ -149,7 +149,8 @@ export const useHeaderTitle = ({
|
|
|
149
149
|
subtitle,
|
|
150
150
|
title,
|
|
151
151
|
titleHidden,
|
|
152
|
-
titleRevealProgress
|
|
152
|
+
titleRevealProgress,
|
|
153
|
+
titleTransition
|
|
153
154
|
}) => {
|
|
154
155
|
const scrollY = useSharedValue(0);
|
|
155
156
|
const largeTitleHeight = useSharedValue(0);
|
|
@@ -179,7 +180,8 @@ export const useHeaderTitle = ({
|
|
|
179
180
|
// The subtitle styles the screen's navigation item from inside its tree, which `headerBackground` is.
|
|
180
181
|
titleOptions.headerBackground = () => /*#__PURE__*/_jsx(NativeSubtitle, {
|
|
181
182
|
subtitle: subtitle,
|
|
182
|
-
subtitleHidden: !revealed
|
|
183
|
+
subtitleHidden: !revealed,
|
|
184
|
+
transition: titleTransition
|
|
183
185
|
});
|
|
184
186
|
titleOptions.headerTitle = shownTitle;
|
|
185
187
|
titleOptions.title = shownTitle;
|
|
@@ -215,7 +217,7 @@ export const useHeaderTitle = ({
|
|
|
215
217
|
}
|
|
216
218
|
titleOptions.headerTitle = title;
|
|
217
219
|
return titleOptions;
|
|
218
|
-
}, [isAndroidLargeTitle, largeTitle, largeTitleHeight, revealed, scrollY, subtitle, title, titleHidden, titleRevealProgress]);
|
|
220
|
+
}, [isAndroidLargeTitle, largeTitle, largeTitleHeight, revealed, scrollY, subtitle, title, titleHidden, titleRevealProgress, titleTransition]);
|
|
219
221
|
const largeTitleRow = useMemo(() => isAndroidLargeTitle && title ? /*#__PURE__*/_jsx(LargeTitle, {
|
|
220
222
|
height: largeTitleHeight,
|
|
221
223
|
title: title
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMemo","useState","Platform","StyleSheet","useWindowDimensions","View","Animated","Extrapolation","interpolate","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","scheduleOnRN","RnText","hasNativeSubtitle","NativeSubtitle","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","REVEALED_THRESHOLD","LEADING_TITLE_RESERVED_WIDTH","styles","create","largeTitle","paddingHorizontal","paddingVertical","leadingTitleAndroid","paddingStart","paddingTop","leadingTitleIos","flexShrink","shrink","useIsTitleRevealed","progress","revealed","setRevealed","undefined","value","isRevealed","wasRevealed","Reveal","children","animatedStyle","opacity","style","BarTitle","title","accessibilityRole","allowFontScaling","numberOfLines","variant","LeadingTitle","subtitle","width","content","color","OS","maxWidth","LargeTitle","height","onLayout","event","nativeEvent","layout","CollapsingTitle","scrollY","CLAMP","useHeaderTitle","titleHidden","titleRevealProgress","largeTitleHeight","isAndroidLargeTitle","onScroll","offsetY","options","titleOptions","headerLargeTitleEnabled","headerTitle","shownTitle","headerBackground","subtitleHidden","leadingTitle","largeTitleRow"],"sourceRoot":"../../../../src","sources":["organisms/header/header-title.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useState","Platform","StyleSheet","useWindowDimensions","View","Animated","Extrapolation","interpolate","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","scheduleOnRN","RnText","hasNativeSubtitle","NativeSubtitle","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","REVEALED_THRESHOLD","LEADING_TITLE_RESERVED_WIDTH","styles","create","largeTitle","paddingHorizontal","paddingVertical","leadingTitleAndroid","paddingStart","paddingTop","leadingTitleIos","flexShrink","shrink","useIsTitleRevealed","progress","revealed","setRevealed","undefined","value","isRevealed","wasRevealed","Reveal","children","animatedStyle","opacity","style","BarTitle","title","accessibilityRole","allowFontScaling","numberOfLines","variant","LeadingTitle","subtitle","width","content","color","OS","maxWidth","LargeTitle","height","onLayout","event","nativeEvent","layout","CollapsingTitle","scrollY","CLAMP","useHeaderTitle","titleHidden","titleRevealProgress","titleTransition","largeTitleHeight","isAndroidLargeTitle","onScroll","offsetY","options","titleOptions","headerLargeTitleEnabled","headerTitle","shownTitle","headerBackground","subtitleHidden","transition","leadingTitle","largeTitleRow"],"sourceRoot":"../../../../src","sources":["organisms/header/header-title.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useIsTitleRevealed"],"sourceRoot":"../../../../src","sources":["organisms/header/index.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["useIsTitleRevealed"],"sourceRoot":"../../../../src","sources":["organisms/header/index.ts"],"mappings":";;AAQA,cAAc,mBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,SAAQA,kBAAkB,QAAO,mBAAgB;AACjD,cAAc,iBAAiB;AAE/B,cAAc,iBAAc;AAC5B,cAAc,wBAAwB;AACtC,cAAc,+BAA4B;AAC1C,cAAc,wBAAqB;AACnC,cAAc,sBAAmB;AACjC,cAAc,+BAA4B","ignoreList":[]}
|
|
@@ -8,7 +8,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
8
8
|
export const hasNativeSubtitle = isScrollEdgeEffectAvailable();
|
|
9
9
|
export const NativeSubtitle = ({
|
|
10
10
|
subtitle,
|
|
11
|
-
subtitleHidden
|
|
11
|
+
subtitleHidden,
|
|
12
|
+
transition
|
|
12
13
|
}) => {
|
|
13
14
|
const theme = useAppTheme();
|
|
14
15
|
return /*#__PURE__*/_jsx(NavigationItemSubtitle, {
|
|
@@ -16,7 +17,8 @@ export const NativeSubtitle = ({
|
|
|
16
17
|
fontFamily: theme.typography.label.fontFamily,
|
|
17
18
|
fontSize: theme.typography.label.fontSize,
|
|
18
19
|
subtitle: subtitle,
|
|
19
|
-
subtitleHidden: subtitleHidden
|
|
20
|
+
subtitleHidden: subtitleHidden,
|
|
21
|
+
transition: transition
|
|
20
22
|
});
|
|
21
23
|
};
|
|
22
24
|
//# sourceMappingURL=native-subtitle.ios.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isScrollEdgeEffectAvailable","NavigationItemSubtitle","useAppTheme","jsx","_jsx","hasNativeSubtitle","NativeSubtitle","subtitle","subtitleHidden","theme","color","fontFamily","typography","label","fontSize"],"sourceRoot":"../../../../src","sources":["organisms/header/native-subtitle.ios.tsx"],"mappings":";;AAAA,SAAQA,2BAA2B,QAAO,oBAAoB;AAC9D,SAAQC,sBAAsB,QAAO,6BAA6B;AAClE,SAAQC,WAAW,QAAO,mBAAmB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7C;AACA,OAAO,MAAMC,iBAAiB,GAAGL,2BAA2B,CAAC,CAAC;AAE9D,OAAO,MAAMM,cAAuC,GAAGA,CAAC;
|
|
1
|
+
{"version":3,"names":["isScrollEdgeEffectAvailable","NavigationItemSubtitle","useAppTheme","jsx","_jsx","hasNativeSubtitle","NativeSubtitle","subtitle","subtitleHidden","transition","theme","color","fontFamily","typography","label","fontSize"],"sourceRoot":"../../../../src","sources":["organisms/header/native-subtitle.ios.tsx"],"mappings":";;AAAA,SAAQA,2BAA2B,QAAO,oBAAoB;AAC9D,SAAQC,sBAAsB,QAAO,6BAA6B;AAClE,SAAQC,WAAW,QAAO,mBAAmB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7C;AACA,OAAO,MAAMC,iBAAiB,GAAGL,2BAA2B,CAAC,CAAC;AAE9D,OAAO,MAAMM,cAAuC,GAAGA,CAAC;EACtDC,QAAQ;EACRC,cAAc;EACdC;AACmB,CAAC,KAAK;EACzB,MAAMC,KAAK,GAAGR,WAAW,CAAC,CAAC;EAE3B,oBACEE,IAAA,CAACH,sBAAsB;IACrBU,KAAK,EAAED,KAAK,CAACC,KAAK,CAAC,mBAAmB,CAAE;IACxCC,UAAU,EAAEF,KAAK,CAACG,UAAU,CAACC,KAAK,CAACF,UAAW;IAC9CG,QAAQ,EAAEL,KAAK,CAACG,UAAU,CAACC,KAAK,CAACC,QAAS;IAC1CR,QAAQ,EAAEA,QAAS;IACnBC,cAAc,EAAEA,cAAe;IAC/BC,UAAU,EAAEA;EAAW,CACxB,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -20,6 +20,7 @@ export const useHeaderOptions = ({
|
|
|
20
20
|
title,
|
|
21
21
|
titleHidden = false,
|
|
22
22
|
titleRevealProgress,
|
|
23
|
+
titleTransition,
|
|
23
24
|
trailingActions
|
|
24
25
|
}) => {
|
|
25
26
|
const theme = useAppTheme();
|
|
@@ -28,7 +29,8 @@ export const useHeaderOptions = ({
|
|
|
28
29
|
subtitle,
|
|
29
30
|
title,
|
|
30
31
|
titleHidden,
|
|
31
|
-
titleRevealProgress
|
|
32
|
+
titleRevealProgress,
|
|
33
|
+
titleTransition
|
|
32
34
|
});
|
|
33
35
|
const actionOptions = useMemo(() => toHeaderOptions({
|
|
34
36
|
backHidden,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useAppTheme","useLayoutEffect","useMemo","toHeaderOptions","useHeaderTitle","useHeaderOptions","backHidden","largeTitle","leadingActions","search","subtitle","title","titleHidden","titleRevealProgress","trailingActions","theme","headerTitle","actionOptions","options","Object","assign","headerSearchBarOptions","contentInsetAdjustmentBehavior","onScroll","useHeader","navigation","params","setOptions"],"sourceRoot":"../../../../src","sources":["organisms/header/use-header.ts"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,eAAe,EAAEC,OAAO,QAAO,OAAO;AAG9C,SAAQC,eAAe,QAAO,kBAAkB;AAChD,SAAQC,cAAc,QAAO,mBAAgB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,UAAU;EACVC,UAAU;EACVC,cAAc;EACdC,MAAM;EACNC,QAAQ;EACRC,KAAK;EACLC,WAAW,GAAG,KAAK;EACnBC,mBAAmB;EACnBC;AACY,CAAC,KAA0B;EACvC,MAAMC,KAAK,
|
|
1
|
+
{"version":3,"names":["useAppTheme","useLayoutEffect","useMemo","toHeaderOptions","useHeaderTitle","useHeaderOptions","backHidden","largeTitle","leadingActions","search","subtitle","title","titleHidden","titleRevealProgress","titleTransition","trailingActions","theme","headerTitle","actionOptions","options","Object","assign","headerSearchBarOptions","contentInsetAdjustmentBehavior","onScroll","useHeader","navigation","params","setOptions"],"sourceRoot":"../../../../src","sources":["organisms/header/use-header.ts"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,eAAe,EAAEC,OAAO,QAAO,OAAO;AAG9C,SAAQC,eAAe,QAAO,kBAAkB;AAChD,SAAQC,cAAc,QAAO,mBAAgB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,UAAU;EACVC,UAAU;EACVC,cAAc;EACdC,MAAM;EACNC,QAAQ;EACRC,KAAK;EACLC,WAAW,GAAG,KAAK;EACnBC,mBAAmB;EACnBC,eAAe;EACfC;AACY,CAAC,KAA0B;EACvC,MAAMC,KAAK,GAAGhB,WAAW,CAAC,CAAC;EAC3B,MAAMiB,WAAW,GAAGb,cAAc,CAAC;IAACG,UAAU;IAAEG,QAAQ;IAAEC,KAAK;IAAEC,WAAW;IAAEC,mBAAmB;IAAEC;EAAe,CAAC,CAAC;EAEpH,MAAMI,aAAa,GAAGhB,OAAO,CAC3B,MAAMC,eAAe,CAAC;IAACG,UAAU;IAAEE,cAAc;IAAEO;EAAe,CAAC,EAAEC,KAAK,CAAC,EAC3E,CAACV,UAAU,EAAEE,cAAc,EAAEQ,KAAK,EAAED,eAAe,CACrD,CAAC;EAED,OAAOb,OAAO,CAAC,MAAM;IACnB,MAAMiB,OAAsB,GAAG,CAAC,CAAC;IAEjCC,MAAM,CAACC,MAAM,CAACF,OAAO,EAAEF,WAAW,CAACE,OAAO,EAAED,aAAa,CAAC;IAE1D,IAAIT,MAAM,EAAE;MACVU,OAAO,CAACG,sBAAsB,GAAGb,MAAM;IACzC;IAEA,OAAO;MACLc,8BAA8B,EAAE,WAAW;MAC3ChB,UAAU,EAAEU,WAAW,CAACV,UAAU;MAClCiB,QAAQ,EAAEP,WAAW,CAACO,QAAQ;MAC9BL;IACF,CAAC;EACH,CAAC,EAAE,CAACD,aAAa,EAAED,WAAW,CAACV,UAAU,EAAEU,WAAW,CAACO,QAAQ,EAAEP,WAAW,CAACE,OAAO,EAAEV,MAAM,CAAC,CAAC;AAChG,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMgB,SAAS,GAAGA,CAACC,UAA4B,EAAEC,MAAoB,KAAoB;EAC9F,MAAM;IAACJ,8BAA8B;IAAEhB,UAAU;IAAEiB,QAAQ;IAAEL;EAAO,CAAC,GAAGd,gBAAgB,CAACsB,MAAM,CAAC;EAEhG1B,eAAe,CAAC,MAAM;IACpByB,UAAU,CAACE,UAAU,CAACT,OAAO,CAAC;EAChC,CAAC,EAAE,CAACO,UAAU,EAAEP,OAAO,CAAC,CAAC;EAEzB,OAAOjB,OAAO,CACZ,OAAO;IAACqB,8BAA8B;IAAEhB,UAAU;IAAEiB;EAAQ,CAAC,CAAC,EAC9D,CAACD,8BAA8B,EAAEhB,UAAU,EAAEiB,QAAQ,CACvD,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -117,6 +117,7 @@ export const useHeroHeader = (navigation, {
|
|
|
117
117
|
revealedTrailingActions,
|
|
118
118
|
subtitle,
|
|
119
119
|
title,
|
|
120
|
+
titleTransition,
|
|
120
121
|
trailingActions
|
|
121
122
|
}) => {
|
|
122
123
|
const theme = useAppTheme();
|
|
@@ -151,6 +152,7 @@ export const useHeroHeader = (navigation, {
|
|
|
151
152
|
subtitle,
|
|
152
153
|
title,
|
|
153
154
|
titleRevealProgress: scrollProgress,
|
|
155
|
+
titleTransition,
|
|
154
156
|
trailingActions: visibleTrailingActions
|
|
155
157
|
});
|
|
156
158
|
useLayoutEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isScrollEdgeEffectAvailable","isViewControllerBasedStatusBarAppearance","useAppTheme","useCallback","useEffect","useLayoutEffect","useMemo","useState","Platform","StatusBar","Extrapolation","interpolate","useAnimatedReaction","useDerivedValue","useSharedValue","useSafeAreaInsets","scheduleOnRN","headerColor","useIsTitleRevealed","HeroHeaderBackground","useHeaderOptions","useHeaderBarInset","HERO_HEADER_SCREEN_OPTIONS","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","REVEAL_RANGE","ANDROID_BAR_HEIGHT","useHeroBarHeight","iosBarInset","top","OS","useIsOverHero","progress","overHero","setOverHero","value","isOver","wasOver","useIsScreenFocused","navigation","focused","setFocused","isFocused","unsubscribeFocus","addListener","unsubscribeBlur","BAR_STYLES","dark","light","useHeroStatusBar","overHeroStyle","perScreen","setOptions","statusBarStyle","animated","barStyle","useRevealProgress","barHeight","heroHeight","introProgress","scrollY","heroUnderBar","start","end","scrollProgress","CLAMP","Math","max","onScroll","offsetY","useHeroHeader","backHidden","leadingActions","revealedTrailingActions","subtitle","title","trailingActions","theme","titleShown","scrolledOverHero","statusBar","visibleTrailingActions","actions","action","push","options","titleRevealProgress","appearance","headerTintColor","scrollEdgeEffects","background","children","height","contentInsetAdjustmentBehavior","largeTitle"],"sourceRoot":"../../../../src","sources":["organisms/header/use-hero-header.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["isScrollEdgeEffectAvailable","isViewControllerBasedStatusBarAppearance","useAppTheme","useCallback","useEffect","useLayoutEffect","useMemo","useState","Platform","StatusBar","Extrapolation","interpolate","useAnimatedReaction","useDerivedValue","useSharedValue","useSafeAreaInsets","scheduleOnRN","headerColor","useIsTitleRevealed","HeroHeaderBackground","useHeaderOptions","useHeaderBarInset","HERO_HEADER_SCREEN_OPTIONS","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","REVEAL_RANGE","ANDROID_BAR_HEIGHT","useHeroBarHeight","iosBarInset","top","OS","useIsOverHero","progress","overHero","setOverHero","value","isOver","wasOver","useIsScreenFocused","navigation","focused","setFocused","isFocused","unsubscribeFocus","addListener","unsubscribeBlur","BAR_STYLES","dark","light","useHeroStatusBar","overHeroStyle","perScreen","setOptions","statusBarStyle","animated","barStyle","useRevealProgress","barHeight","heroHeight","introProgress","scrollY","heroUnderBar","start","end","scrollProgress","CLAMP","Math","max","onScroll","offsetY","useHeroHeader","backHidden","leadingActions","revealedTrailingActions","subtitle","title","titleTransition","trailingActions","theme","titleShown","scrolledOverHero","statusBar","visibleTrailingActions","actions","action","push","options","titleRevealProgress","appearance","headerTintColor","scrollEdgeEffects","background","children","height","contentInsetAdjustmentBehavior","largeTitle"],"sourceRoot":"../../../../src","sources":["organisms/header/use-hero-header.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { NavigationTitleTransition } from '@hzblj/kara-native';
|
|
1
2
|
import { type SharedValue } from 'react-native-reanimated';
|
|
2
3
|
import type { HeaderOptions } from './header.types';
|
|
3
4
|
export declare const useIsTitleRevealed: (progress?: SharedValue<number>) => boolean;
|
|
@@ -7,13 +8,14 @@ type TitleParams = {
|
|
|
7
8
|
title?: string;
|
|
8
9
|
titleHidden: boolean;
|
|
9
10
|
titleRevealProgress?: SharedValue<number>;
|
|
11
|
+
titleTransition?: NavigationTitleTransition;
|
|
10
12
|
};
|
|
11
13
|
/**
|
|
12
14
|
* The title half of a header: the options that show the title (centred, leading with a subtitle, revealed on scroll or
|
|
13
15
|
* large), plus on Android the large title row and the scroll worklet that collapses it into the bar, as Material's large
|
|
14
16
|
* top app bar does. iOS needs neither: the large title is UIKit's own.
|
|
15
17
|
*/
|
|
16
|
-
export declare const useHeaderTitle: ({ largeTitle, subtitle, title, titleHidden, titleRevealProgress }: TitleParams) => {
|
|
18
|
+
export declare const useHeaderTitle: ({ largeTitle, subtitle, title, titleHidden, titleRevealProgress, titleTransition, }: TitleParams) => {
|
|
17
19
|
largeTitle: import("react").JSX.Element | null;
|
|
18
20
|
onScroll: (offsetY: number) => void;
|
|
19
21
|
options: HeaderOptions;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { NavigationTitleTransition } from '@hzblj/kara-native';
|
|
1
2
|
import type { ColorToken } from '@hzblj/kara-theme';
|
|
2
3
|
import type { ReactElement, ReactNode, RefObject } from 'react';
|
|
3
4
|
import type { ColorValue, ImageSourcePropType } from 'react-native';
|
|
@@ -158,9 +159,14 @@ export type HeaderParams = {
|
|
|
158
159
|
titleHidden?: boolean;
|
|
159
160
|
/**
|
|
160
161
|
* Fades the title (and subtitle) in as this goes from 0 to 1, for a detail screen whose title appears once its image
|
|
161
|
-
* has scrolled away. Past half, iOS 26
|
|
162
|
+
* has scrolled away. Past half, iOS 26 brings its native title and subtitle in with `titleTransition`.
|
|
162
163
|
*/
|
|
163
164
|
titleRevealProgress?: SharedValue<number>;
|
|
165
|
+
/**
|
|
166
|
+
* iOS 26, with a `subtitle`: how the revealed title and subtitle come in, and leave again. A preset (`rise`, Mail's
|
|
167
|
+
* title, by default; `blur`, `fade`, `none`) or a preset with your own offset, blur, scale, delay and timing per line.
|
|
168
|
+
*/
|
|
169
|
+
titleTransition?: NavigationTitleTransition;
|
|
164
170
|
/**
|
|
165
171
|
* The trailing side's actions, in screen order toward the edge: the close usually last. Unset leaves the side as the
|
|
166
172
|
* stack's options have it; an empty array clears it.
|
|
@@ -335,7 +341,7 @@ export type HeaderSearch = {
|
|
|
335
341
|
};
|
|
336
342
|
/** Whether the header over a hero is light (over a dark image) or dark (over a light one). */
|
|
337
343
|
export type HeroHeaderStyle = 'dark' | 'light';
|
|
338
|
-
export type HeroHeaderParams = Pick<HeaderParams, 'backHidden' | 'leadingActions' | 'subtitle' | 'trailingActions'> & {
|
|
344
|
+
export type HeroHeaderParams = Pick<HeaderParams, 'backHidden' | 'leadingActions' | 'subtitle' | 'titleTransition' | 'trailingActions'> & {
|
|
339
345
|
/** The hero's height: the header fades in while the part of it under the bar scrolls away. */
|
|
340
346
|
heroHeight: number;
|
|
341
347
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type { NavigationTitleEasing, NavigationTitleLineMotion, NavigationTitleTiming, NavigationTitleTransition, NavigationTitleTransitionConfig, NavigationTitleTransitionPreset, } from '@hzblj/kara-native';
|
|
1
2
|
export * from './header.types';
|
|
2
3
|
export * from './header-inset';
|
|
3
4
|
export * from './header-large-title-fade';
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import type { NavigationTitleTransition } from '@hzblj/kara-native';
|
|
1
2
|
import type { ReactNode } from 'react';
|
|
2
3
|
export type NativeSubtitleProps = {
|
|
3
4
|
subtitle: string;
|
|
4
5
|
subtitleHidden: boolean;
|
|
6
|
+
transition?: NavigationTitleTransition;
|
|
5
7
|
};
|
|
6
8
|
export type NativeSubtitleComponent = (props: NativeSubtitleProps) => ReactNode;
|
|
@@ -5,7 +5,7 @@ import type { HeaderContent, HeaderNavigation, HeaderOptionsResult, HeaderParams
|
|
|
5
5
|
* buttons on Android) and a search field. Spread `options` into Expo Router's `<Stack.Screen options>` or a React
|
|
6
6
|
* Navigation screen's `options`. Memoize the action arrays: new arrays build new options on every render.
|
|
7
7
|
*/
|
|
8
|
-
export declare const useHeaderOptions: ({ backHidden, largeTitle, leadingActions, search, subtitle, title, titleHidden, titleRevealProgress, trailingActions, }: HeaderParams) => HeaderOptionsResult;
|
|
8
|
+
export declare const useHeaderOptions: ({ backHidden, largeTitle, leadingActions, search, subtitle, title, titleHidden, titleRevealProgress, titleTransition, trailingActions, }: HeaderParams) => HeaderOptionsResult;
|
|
9
9
|
/**
|
|
10
10
|
* Sets the screen's header through its navigation object, from React Navigation's or Expo Router's `useNavigation()`,
|
|
11
11
|
* before the screen first paints, and returns what its list needs. What a screen has from the moment it is pushed
|
|
@@ -7,4 +7,4 @@ import type { HeroHeader, HeroHeaderNavigation, HeroHeaderParams } from './heade
|
|
|
7
7
|
* bar once the title is shown. Give the screen `HERO_HEADER_SCREEN_OPTIONS` as static options, so its first frame has
|
|
8
8
|
* no large title, render `background` after the list and call `onScroll` with its offset.
|
|
9
9
|
*/
|
|
10
|
-
export declare const useHeroHeader: (navigation: HeroHeaderNavigation, { backHidden, heroHeight, introProgress, leadingActions, overHeroStyle, revealedTrailingActions, subtitle, title, trailingActions, }: HeroHeaderParams) => HeroHeader;
|
|
10
|
+
export declare const useHeroHeader: (navigation: HeroHeaderNavigation, { backHidden, heroHeight, introProgress, leadingActions, overHeroStyle, revealedTrailingActions, subtitle, title, titleTransition, trailingActions, }: HeroHeaderParams) => HeroHeader;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hzblj/kara-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"description": "The atoms, molecules, organisms and templates of @hzblj/kara-ui — real SwiftUI and Jetpack Compose views through @expo/ui.",
|
|
5
5
|
"author": "Jan Blazej",
|
|
6
6
|
"license": "MIT",
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@hzblj/expo-native-icons": "^0.2.0",
|
|
68
68
|
"@hzblj/expo-rich-haptics": "^0.1.0",
|
|
69
|
-
"@hzblj/kara-native": "^0.
|
|
70
|
-
"@hzblj/kara-sx": "^0.
|
|
71
|
-
"@hzblj/kara-theme": "^0.
|
|
69
|
+
"@hzblj/kara-native": "^0.26.0",
|
|
70
|
+
"@hzblj/kara-sx": "^0.26.0",
|
|
71
|
+
"@hzblj/kara-theme": "^0.26.0",
|
|
72
72
|
"sf-symbols-typescript": "^2.2.0"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type {NavigationTitleTransition} from '@hzblj/kara-native'
|
|
1
2
|
import {type ReactNode, useCallback, useMemo, useState} from 'react'
|
|
2
3
|
import {type LayoutChangeEvent, Platform, StyleSheet, useWindowDimensions, View} from 'react-native'
|
|
3
4
|
import Animated, {
|
|
@@ -126,6 +127,7 @@ type TitleParams = {
|
|
|
126
127
|
title?: string
|
|
127
128
|
titleHidden: boolean
|
|
128
129
|
titleRevealProgress?: SharedValue<number>
|
|
130
|
+
titleTransition?: NavigationTitleTransition
|
|
129
131
|
}
|
|
130
132
|
|
|
131
133
|
/**
|
|
@@ -133,7 +135,14 @@ type TitleParams = {
|
|
|
133
135
|
* large), plus on Android the large title row and the scroll worklet that collapses it into the bar, as Material's large
|
|
134
136
|
* top app bar does. iOS needs neither: the large title is UIKit's own.
|
|
135
137
|
*/
|
|
136
|
-
export const useHeaderTitle = ({
|
|
138
|
+
export const useHeaderTitle = ({
|
|
139
|
+
largeTitle,
|
|
140
|
+
subtitle,
|
|
141
|
+
title,
|
|
142
|
+
titleHidden,
|
|
143
|
+
titleRevealProgress,
|
|
144
|
+
titleTransition,
|
|
145
|
+
}: TitleParams) => {
|
|
137
146
|
const scrollY = useSharedValue(0)
|
|
138
147
|
const largeTitleHeight = useSharedValue(0)
|
|
139
148
|
const revealed = useIsTitleRevealed(titleRevealProgress)
|
|
@@ -169,7 +178,9 @@ export const useHeaderTitle = ({largeTitle, subtitle, title, titleHidden, titleR
|
|
|
169
178
|
const shownTitle = revealed ? title : ''
|
|
170
179
|
|
|
171
180
|
// The subtitle styles the screen's navigation item from inside its tree, which `headerBackground` is.
|
|
172
|
-
titleOptions.headerBackground = () =>
|
|
181
|
+
titleOptions.headerBackground = () => (
|
|
182
|
+
<NativeSubtitle subtitle={subtitle} subtitleHidden={!revealed} transition={titleTransition} />
|
|
183
|
+
)
|
|
173
184
|
titleOptions.headerTitle = shownTitle
|
|
174
185
|
titleOptions.title = shownTitle
|
|
175
186
|
return titleOptions
|
|
@@ -209,6 +220,7 @@ export const useHeaderTitle = ({largeTitle, subtitle, title, titleHidden, titleR
|
|
|
209
220
|
title,
|
|
210
221
|
titleHidden,
|
|
211
222
|
titleRevealProgress,
|
|
223
|
+
titleTransition,
|
|
212
224
|
])
|
|
213
225
|
|
|
214
226
|
const largeTitleRow = useMemo(
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type {NavigationTitleTransition} from '@hzblj/kara-native'
|
|
1
2
|
import type {ColorToken} from '@hzblj/kara-theme'
|
|
2
3
|
import type {ReactElement, ReactNode, RefObject} from 'react'
|
|
3
4
|
import type {ColorValue, ImageSourcePropType} from 'react-native'
|
|
@@ -175,9 +176,14 @@ export type HeaderParams = {
|
|
|
175
176
|
titleHidden?: boolean
|
|
176
177
|
/**
|
|
177
178
|
* Fades the title (and subtitle) in as this goes from 0 to 1, for a detail screen whose title appears once its image
|
|
178
|
-
* has scrolled away. Past half, iOS 26
|
|
179
|
+
* has scrolled away. Past half, iOS 26 brings its native title and subtitle in with `titleTransition`.
|
|
179
180
|
*/
|
|
180
181
|
titleRevealProgress?: SharedValue<number>
|
|
182
|
+
/**
|
|
183
|
+
* iOS 26, with a `subtitle`: how the revealed title and subtitle come in, and leave again. A preset (`rise`, Mail's
|
|
184
|
+
* title, by default; `blur`, `fade`, `none`) or a preset with your own offset, blur, scale, delay and timing per line.
|
|
185
|
+
*/
|
|
186
|
+
titleTransition?: NavigationTitleTransition
|
|
181
187
|
/**
|
|
182
188
|
* The trailing side's actions, in screen order toward the edge: the close usually last. Unset leaves the side as the
|
|
183
189
|
* stack's options have it; an empty array clears it.
|
|
@@ -333,7 +339,10 @@ export type HeaderSearch = {
|
|
|
333
339
|
/** Whether the header over a hero is light (over a dark image) or dark (over a light one). */
|
|
334
340
|
export type HeroHeaderStyle = 'dark' | 'light'
|
|
335
341
|
|
|
336
|
-
export type HeroHeaderParams = Pick<
|
|
342
|
+
export type HeroHeaderParams = Pick<
|
|
343
|
+
HeaderParams,
|
|
344
|
+
'backHidden' | 'leadingActions' | 'subtitle' | 'titleTransition' | 'trailingActions'
|
|
345
|
+
> & {
|
|
337
346
|
/** The hero's height: the header fades in while the part of it under the bar scrolls away. */
|
|
338
347
|
heroHeight: number
|
|
339
348
|
/**
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
export type {
|
|
2
|
+
NavigationTitleEasing,
|
|
3
|
+
NavigationTitleLineMotion,
|
|
4
|
+
NavigationTitleTiming,
|
|
5
|
+
NavigationTitleTransition,
|
|
6
|
+
NavigationTitleTransitionConfig,
|
|
7
|
+
NavigationTitleTransitionPreset,
|
|
8
|
+
} from '@hzblj/kara-native'
|
|
1
9
|
export * from './header.types'
|
|
2
10
|
export * from './header-inset'
|
|
3
11
|
export * from './header-large-title-fade'
|
|
@@ -7,7 +7,11 @@ import type {NativeSubtitleComponent, NativeSubtitleProps} from './native-subtit
|
|
|
7
7
|
/** iOS 26 puts a title and its subtitle on the leading side itself (`UINavigationItem.style = .browser`). */
|
|
8
8
|
export const hasNativeSubtitle = isScrollEdgeEffectAvailable()
|
|
9
9
|
|
|
10
|
-
export const NativeSubtitle: NativeSubtitleComponent = ({
|
|
10
|
+
export const NativeSubtitle: NativeSubtitleComponent = ({
|
|
11
|
+
subtitle,
|
|
12
|
+
subtitleHidden,
|
|
13
|
+
transition,
|
|
14
|
+
}: NativeSubtitleProps) => {
|
|
11
15
|
const theme = useAppTheme()
|
|
12
16
|
|
|
13
17
|
return (
|
|
@@ -17,6 +21,7 @@ export const NativeSubtitle: NativeSubtitleComponent = ({subtitle, subtitleHidde
|
|
|
17
21
|
fontSize={theme.typography.label.fontSize}
|
|
18
22
|
subtitle={subtitle}
|
|
19
23
|
subtitleHidden={subtitleHidden}
|
|
24
|
+
transition={transition}
|
|
20
25
|
/>
|
|
21
26
|
)
|
|
22
27
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import type {NavigationTitleTransition} from '@hzblj/kara-native'
|
|
1
2
|
import type {ReactNode} from 'react'
|
|
2
3
|
|
|
3
4
|
export type NativeSubtitleProps = {
|
|
4
5
|
subtitle: string
|
|
5
6
|
subtitleHidden: boolean
|
|
7
|
+
transition?: NavigationTitleTransition
|
|
6
8
|
}
|
|
7
9
|
|
|
8
10
|
export type NativeSubtitleComponent = (props: NativeSubtitleProps) => ReactNode
|
|
@@ -20,10 +20,11 @@ export const useHeaderOptions = ({
|
|
|
20
20
|
title,
|
|
21
21
|
titleHidden = false,
|
|
22
22
|
titleRevealProgress,
|
|
23
|
+
titleTransition,
|
|
23
24
|
trailingActions,
|
|
24
25
|
}: HeaderParams): HeaderOptionsResult => {
|
|
25
26
|
const theme = useAppTheme()
|
|
26
|
-
const headerTitle = useHeaderTitle({largeTitle, subtitle, title, titleHidden, titleRevealProgress})
|
|
27
|
+
const headerTitle = useHeaderTitle({largeTitle, subtitle, title, titleHidden, titleRevealProgress, titleTransition})
|
|
27
28
|
|
|
28
29
|
const actionOptions = useMemo(
|
|
29
30
|
() => toHeaderOptions({backHidden, leadingActions, trailingActions}, theme),
|
|
@@ -142,6 +142,7 @@ export const useHeroHeader = (
|
|
|
142
142
|
revealedTrailingActions,
|
|
143
143
|
subtitle,
|
|
144
144
|
title,
|
|
145
|
+
titleTransition,
|
|
145
146
|
trailingActions,
|
|
146
147
|
}: HeroHeaderParams
|
|
147
148
|
): HeroHeader => {
|
|
@@ -177,6 +178,7 @@ export const useHeroHeader = (
|
|
|
177
178
|
subtitle,
|
|
178
179
|
title,
|
|
179
180
|
titleRevealProgress: scrollProgress,
|
|
181
|
+
titleTransition,
|
|
180
182
|
trailingActions: visibleTrailingActions,
|
|
181
183
|
})
|
|
182
184
|
|