react-native-terra-ui 0.13.8 → 0.13.10
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 +13 -0
- package/lib/module/components/header/parts/HeaderBar.js +3 -1
- package/lib/module/components/header/parts/HeaderBar.js.map +1 -1
- package/lib/module/components/header/parts/HeaderGradientOverlay.js +9 -7
- package/lib/module/components/header/parts/HeaderGradientOverlay.js.map +1 -1
- package/lib/module/components/header/parts/HeaderSurface.js +26 -4
- package/lib/module/components/header/parts/HeaderSurface.js.map +1 -1
- package/lib/module/components/header/variants/LargeTitleHeader/index.js +1 -0
- package/lib/module/components/header/variants/LargeTitleHeader/index.js.map +1 -1
- package/lib/module/components/header/variants/TitleHeader/index.js +1 -0
- package/lib/module/components/header/variants/TitleHeader/index.js.map +1 -1
- package/lib/module/components/input/parts/InputField.js +12 -5
- package/lib/module/components/input/parts/InputField.js.map +1 -1
- package/lib/module/components/input/variants/SearchInput/SearchCancelButton.js +9 -3
- package/lib/module/components/input/variants/SearchInput/SearchCancelButton.js.map +1 -1
- package/lib/typescript/src/components/header/parts/HeaderBar.d.ts +3 -1
- package/lib/typescript/src/components/header/parts/HeaderBar.d.ts.map +1 -1
- package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts +13 -3
- package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts.map +1 -1
- package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts +12 -3
- package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts.map +1 -1
- 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.map +1 -1
- package/lib/typescript/src/components/input/parts/InputField.d.ts.map +1 -1
- package/lib/typescript/src/components/input/types.d.ts +4 -3
- package/lib/typescript/src/components/input/types.d.ts.map +1 -1
- package/lib/typescript/src/components/input/variants/SearchInput/SearchCancelButton.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/header/parts/HeaderBar.tsx +4 -1
- package/src/components/header/parts/HeaderGradientOverlay.tsx +15 -6
- package/src/components/header/parts/HeaderSurface.tsx +28 -9
- package/src/components/header/variants/LargeTitleHeader/index.tsx +1 -0
- package/src/components/header/variants/TitleHeader/index.tsx +1 -0
- package/src/components/input/parts/InputField.tsx +16 -1
- package/src/components/input/types.ts +4 -3
- package/src/components/input/variants/SearchInput/SearchCancelButton.tsx +8 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.13.10](https://github.com/earthlin9/react-native-terra-ui/compare/v0.13.9...v0.13.10) (2026-10-05)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* **ui:** [header] size the surface gradient from layout so an accessory that grows after mount is covered ([62b7407](https://github.com/earthlin9/react-native-terra-ui/commit/62b7407e2542a2328817fe341da453f5ccf283fc))
|
|
8
|
+
* **ui:** [input] lift a focused field and its cancel button with the toolbar's xs elevation ([2b4950a](https://github.com/earthlin9/react-native-terra-ui/commit/2b4950a2f39d530012240f1d46e6e7908af35084))
|
|
9
|
+
|
|
10
|
+
## [0.13.9](https://github.com/earthlin9/react-native-terra-ui/compare/v0.13.8...v0.13.9) (2026-10-05)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **ui:** [header] fade only at the accessory's bottom edge, keep the bar solid above it ([fb68248](https://github.com/earthlin9/react-native-terra-ui/commit/fb682482000561edad20656e931bd57abceb0d4e))
|
|
15
|
+
|
|
3
16
|
## [0.13.8](https://github.com/earthlin9/react-native-terra-ui/compare/v0.13.7...v0.13.8) (2026-10-05)
|
|
4
17
|
|
|
5
18
|
### Features
|
|
@@ -26,6 +26,7 @@ export function HeaderBar({
|
|
|
26
26
|
titleAlignment,
|
|
27
27
|
color,
|
|
28
28
|
surfaceStyle,
|
|
29
|
+
hasAccessory = false,
|
|
29
30
|
titleStyle,
|
|
30
31
|
dismissAction = "none",
|
|
31
32
|
navigation,
|
|
@@ -75,7 +76,8 @@ export function HeaderBar({
|
|
|
75
76
|
style: [styles.bar, styles.windowInsets(windowInsets.left, windowInsets.right)],
|
|
76
77
|
children: [/*#__PURE__*/_jsx(HeaderSurface, {
|
|
77
78
|
color: color,
|
|
78
|
-
animatedStyle: surfaceStyle
|
|
79
|
+
animatedStyle: surfaceStyle,
|
|
80
|
+
hasAccessoryBelow: hasAccessory
|
|
79
81
|
}), /*#__PURE__*/_jsx(HeaderWindowInsets, {
|
|
80
82
|
onInsetsChange: setWindowInsets
|
|
81
83
|
}), hasLeading && /*#__PURE__*/_jsxs(Toolbar, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","Animated","ScrollToTopGuard","StyleSheet","useUnistyles","FONT_WEIGHT_VALUE","SYSTEM_FONT","resolveScreenPadding","Text","ThemedText","Toolbar","HeaderDismissButton","isCustomTitle","isTextTitle","HeaderSurface","HeaderWindowInsets","jsx","_jsx","jsxs","_jsxs","HeaderBar","title","titleVariant","titleWeight","subtitle","leading","trailing","titleAlignment","color","surfaceStyle","titleStyle","dismissAction","navigation","onDismiss","theme","windowInsets","setWindowInsets","left","right","leadingWidth","setLeadingWidth","trailingWidth","setTrailingWidth","onLeadingLayout","event","nativeEvent","layout","width","onTrailingLayout","hasLeading","hasTrailing","_styles","styles","useVariants","dismiss","children","View","style","bar","animatedStyle","onInsetsChange","onLayout","titleContainer","titleInsets","pointerEvents","String","trim","length","variant","weight","numberOfLines","maxFontSizeMultiplier","typography","variants","create","runtime","subtitleWeight","fontWeight","subtitleFont","fonts","isSystemSubtitleFont","paddingLeft","Math","max","breakpoint","x","paddingRight","uni__dependencies","alignment","padding","gap","spacing","reachLeft","reachRight","inset","height","header","flexDirection","alignItems","paddingHorizontal","screen","justifyContent","center","marginLeft","position","flex","textAlign","fontSize","lineHeight","letterSpacing","fontFamily","undefined","includeFontPadding"],"sourceRoot":"../../../../../src","sources":["components/header/parts/HeaderBar.tsx"],"mappings":";;;;AAAA,SAA8CA,QAAQ,QAAQ,OAAO;AAGrE,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,SAASC,UAAU,EAAEC,YAAY,QAAQ,wBAAwB;AAGjE,SAASC,iBAAiB,EAAEC,WAAW;AACvC,SAASC,oBAAoB;AAC7B,SAASC,IAAI,IAAIC,UAAU;AAC3B,SAASC,OAAO;AAChB,SAASC,mBAAmB;AAC5B,SAASC,aAAa,EAAEC,WAAW;AACnC,SAASC,aAAa;AACtB,SAASC,kBAAkB;AAA+B,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;
|
|
1
|
+
{"version":3,"names":["useState","Animated","ScrollToTopGuard","StyleSheet","useUnistyles","FONT_WEIGHT_VALUE","SYSTEM_FONT","resolveScreenPadding","Text","ThemedText","Toolbar","HeaderDismissButton","isCustomTitle","isTextTitle","HeaderSurface","HeaderWindowInsets","jsx","_jsx","jsxs","_jsxs","HeaderBar","title","titleVariant","titleWeight","subtitle","leading","trailing","titleAlignment","color","surfaceStyle","hasAccessory","titleStyle","dismissAction","navigation","onDismiss","theme","windowInsets","setWindowInsets","left","right","leadingWidth","setLeadingWidth","trailingWidth","setTrailingWidth","onLeadingLayout","event","nativeEvent","layout","width","onTrailingLayout","hasLeading","hasTrailing","_styles","styles","useVariants","dismiss","children","View","style","bar","animatedStyle","hasAccessoryBelow","onInsetsChange","onLayout","titleContainer","titleInsets","pointerEvents","String","trim","length","variant","weight","numberOfLines","maxFontSizeMultiplier","typography","variants","create","runtime","subtitleWeight","fontWeight","subtitleFont","fonts","isSystemSubtitleFont","paddingLeft","Math","max","breakpoint","x","paddingRight","uni__dependencies","alignment","padding","gap","spacing","reachLeft","reachRight","inset","height","header","flexDirection","alignItems","paddingHorizontal","screen","justifyContent","center","marginLeft","position","flex","textAlign","fontSize","lineHeight","letterSpacing","fontFamily","undefined","includeFontPadding"],"sourceRoot":"../../../../../src","sources":["components/header/parts/HeaderBar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,13 +19,15 @@ export const HEADER_FADE_END_OPACITY = 0.9;
|
|
|
19
19
|
*/
|
|
20
20
|
export function HeaderGradientOverlay({
|
|
21
21
|
color,
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
endOpacity = HEADER_FADE_END_OPACITY,
|
|
23
|
+
size
|
|
24
24
|
}) {
|
|
25
25
|
const gradientId = useId();
|
|
26
|
+
const width = size?.width ?? "100%";
|
|
27
|
+
const height = size?.height ?? "100%";
|
|
26
28
|
return /*#__PURE__*/_jsxs(Svg, {
|
|
27
|
-
height:
|
|
28
|
-
width:
|
|
29
|
+
height: height,
|
|
30
|
+
width: width,
|
|
29
31
|
children: [/*#__PURE__*/_jsx(Defs, {
|
|
30
32
|
children: /*#__PURE__*/_jsxs(SvgLinearGradient, {
|
|
31
33
|
id: gradientId,
|
|
@@ -36,7 +38,7 @@ export function HeaderGradientOverlay({
|
|
|
36
38
|
children: [/*#__PURE__*/_jsx(Stop, {
|
|
37
39
|
offset: 0,
|
|
38
40
|
stopColor: color,
|
|
39
|
-
stopOpacity:
|
|
41
|
+
stopOpacity: 1
|
|
40
42
|
}), /*#__PURE__*/_jsx(Stop, {
|
|
41
43
|
offset: 1,
|
|
42
44
|
stopColor: color,
|
|
@@ -44,8 +46,8 @@ export function HeaderGradientOverlay({
|
|
|
44
46
|
})]
|
|
45
47
|
})
|
|
46
48
|
}), /*#__PURE__*/_jsx(Rect, {
|
|
47
|
-
width:
|
|
48
|
-
height:
|
|
49
|
+
width: width,
|
|
50
|
+
height: height,
|
|
49
51
|
fill: `url(#${gradientId})`
|
|
50
52
|
})]
|
|
51
53
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useId","Svg","Defs","Rect","Stop","LinearGradient","SvgLinearGradient","jsx","_jsx","jsxs","_jsxs","HEADER_FADE_END_OPACITY","HeaderGradientOverlay","color","
|
|
1
|
+
{"version":3,"names":["useId","Svg","Defs","Rect","Stop","LinearGradient","SvgLinearGradient","jsx","_jsx","jsxs","_jsxs","HEADER_FADE_END_OPACITY","HeaderGradientOverlay","color","endOpacity","size","gradientId","width","height","children","id","x1","y1","x2","y2","offset","stopColor","stopOpacity","fill"],"sourceRoot":"../../../../../src","sources":["components/header/parts/HeaderGradientOverlay.tsx"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,OAAO;AAE7B,OAAOC,GAAG,IAAIC,IAAI,EAAEC,IAAI,EAAEC,IAAI,EAAEC,cAAc,IAAIC,iBAAiB,QAAQ,kBAAkB;;AAE7F;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,OAAO,MAAMC,uBAAuB,GAAG,GAAG;AAgB1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAC;EACpCC,KAAK;EACLC,UAAU,GAAGH,uBAAuB;EACpCI;AAC0B,CAAC,EAAE;EAC7B,MAAMC,UAAU,GAAGhB,KAAK,CAAC,CAAC;EAC1B,MAAMiB,KAAK,GAAGF,IAAI,EAAEE,KAAK,IAAI,MAAM;EACnC,MAAMC,MAAM,GAAGH,IAAI,EAAEG,MAAM,IAAI,MAAM;EAErC,oBACER,KAAA,CAACT,GAAG;IAACiB,MAAM,EAAEA,MAAO;IAACD,KAAK,EAAEA,KAAM;IAAAE,QAAA,gBAChCX,IAAA,CAACN,IAAI;MAAAiB,QAAA,eACHT,KAAA,CAACJ,iBAAiB;QAACc,EAAE,EAAEJ,UAAW;QAACK,EAAE,EAAC,GAAG;QAACC,EAAE,EAAC,GAAG;QAACC,EAAE,EAAC,GAAG;QAACC,EAAE,EAAC,GAAG;QAAAL,QAAA,gBAC5DX,IAAA,CAACJ,IAAI;UAACqB,MAAM,EAAE,CAAE;UAACC,SAAS,EAAEb,KAAM;UAACc,WAAW,EAAE;QAAE,CAAE,CAAC,eACrDnB,IAAA,CAACJ,IAAI;UAACqB,MAAM,EAAE,CAAE;UAACC,SAAS,EAAEb,KAAM;UAACc,WAAW,EAAEb;QAAW,CAAE,CAAC;MAAA,CAC7C;IAAC,CAChB,CAAC,eACPN,IAAA,CAACL,IAAI;MAACc,KAAK,EAAEA,KAAM;MAACC,MAAM,EAAEA,MAAO;MAACU,IAAI,EAAE,QAAQZ,UAAU;IAAI,CAAE,CAAC;EAAA,CAChE,CAAC;AAEV","ignoreList":[]}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { useCallback, useState } from "react";
|
|
3
4
|
import Animated from "react-native-reanimated";
|
|
4
5
|
import { StyleSheet } from "react-native-unistyles";
|
|
5
6
|
import { HEADER_FADE_END_OPACITY, HeaderGradientOverlay } from "./HeaderGradientOverlay.js";
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
/**
|
|
8
|
-
* Header background
|
|
9
|
+
* Header background. One fade per header, at its bottom edge: the bar's when it
|
|
10
|
+
* stands alone, the accessory's when there is one, with the bar solid above it.
|
|
11
|
+
* Content scrolling under a pinned accessory then meets a header as opaque as
|
|
12
|
+
* any other, rather than one that thinned twice, once at each part's edge, and
|
|
13
|
+
* let saturated rows show through around a search field.
|
|
9
14
|
*
|
|
10
15
|
* The ramp spans the surface itself: it is sized by the caller and stays inside
|
|
11
16
|
* those bounds, so a taller surface stretches the fade rather than adding to it.
|
|
@@ -13,15 +18,32 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
13
18
|
export function HeaderSurface({
|
|
14
19
|
color,
|
|
15
20
|
animatedStyle,
|
|
16
|
-
accessory
|
|
21
|
+
accessory,
|
|
22
|
+
hasAccessoryBelow
|
|
17
23
|
}) {
|
|
24
|
+
const fades = accessory || !hasAccessoryBelow;
|
|
25
|
+
// Measured so the gradient is drawn at the surface's real size. An accessory
|
|
26
|
+
// can mount a few points tall and grow, and the SVG's percentage lengths
|
|
27
|
+
// would stay resolved against the size it mounted at.
|
|
28
|
+
const [size, setSize] = useState();
|
|
29
|
+
const handleLayout = useCallback(event => {
|
|
30
|
+
const {
|
|
31
|
+
width,
|
|
32
|
+
height
|
|
33
|
+
} = event.nativeEvent.layout;
|
|
34
|
+
setSize(previous => previous && previous.width === width && previous.height === height ? previous : {
|
|
35
|
+
width,
|
|
36
|
+
height
|
|
37
|
+
});
|
|
38
|
+
}, []);
|
|
18
39
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
19
40
|
style: [styles.surface, animatedStyle],
|
|
20
41
|
pointerEvents: "none",
|
|
42
|
+
onLayout: handleLayout,
|
|
21
43
|
children: /*#__PURE__*/_jsx(HeaderGradientOverlay, {
|
|
22
44
|
color: color,
|
|
23
|
-
|
|
24
|
-
|
|
45
|
+
endOpacity: fades ? HEADER_FADE_END_OPACITY : 1,
|
|
46
|
+
size: size
|
|
25
47
|
})
|
|
26
48
|
});
|
|
27
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Animated","StyleSheet","HEADER_FADE_END_OPACITY","HeaderGradientOverlay","jsx","_jsx","HeaderSurface","color","animatedStyle","accessory","View","style","styles","surface","pointerEvents","
|
|
1
|
+
{"version":3,"names":["useCallback","useState","Animated","StyleSheet","HEADER_FADE_END_OPACITY","HeaderGradientOverlay","jsx","_jsx","HeaderSurface","color","animatedStyle","accessory","hasAccessoryBelow","fades","size","setSize","handleLayout","event","width","height","nativeEvent","layout","previous","View","style","styles","surface","pointerEvents","onLayout","children","endOpacity","create","position","top","left","right","bottom"],"sourceRoot":"../../../../../src","sources":["components/header/parts/HeaderSurface.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAG7C,OAAOC,QAAQ,MAAiC,yBAAyB;AACzE,SAASC,UAAU,QAAQ,wBAAwB;AAEnD,SAASC,uBAAuB,EAAEC,qBAAqB;AAAkC,SAAAC,GAAA,IAAAC,IAAA;AAkBzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAAC;EAAEC,KAAK;EAAEC,aAAa;EAAEC,SAAS;EAAEC;AAAsC,CAAC,EAAE;EACxG,MAAMC,KAAK,GAAGF,SAAS,IAAI,CAACC,iBAAiB;EAC7C;EACA;EACA;EACA,MAAM,CAACE,IAAI,EAAEC,OAAO,CAAC,GAAGd,QAAQ,CAAoC,CAAC;EACrE,MAAMe,YAAY,GAAGhB,WAAW,CAAEiB,KAAwB,IAAK;IAC7D,MAAM;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAGF,KAAK,CAACG,WAAW,CAACC,MAAM;IAClDN,OAAO,CAAEO,QAAQ,IACfA,QAAQ,IAAIA,QAAQ,CAACJ,KAAK,KAAKA,KAAK,IAAII,QAAQ,CAACH,MAAM,KAAKA,MAAM,GAAGG,QAAQ,GAAG;MAAEJ,KAAK;MAAEC;IAAO,CAClG,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,oBACEZ,IAAA,CAACL,QAAQ,CAACqB,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,OAAO,EAAEhB,aAAa,CAAE;IAACiB,aAAa,EAAC,MAAM;IAACC,QAAQ,EAAEZ,YAAa;IAAAa,QAAA,eACjGtB,IAAA,CAACF,qBAAqB;MAACI,KAAK,EAAEA,KAAM;MAACqB,UAAU,EAAEjB,KAAK,GAAGT,uBAAuB,GAAG,CAAE;MAACU,IAAI,EAAEA;IAAK,CAAE;EAAC,CACvF,CAAC;AAEpB;AAEA,MAAMW,MAAM,GAAGtB,UAAU,CAAC4B,MAAM,CAAC,OAAO;EACtCL,OAAO,EAAE;IACPM,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -65,6 +65,7 @@ export function LargeTitleHeader({
|
|
|
65
65
|
titleAlignment: titleAlignment,
|
|
66
66
|
color: color,
|
|
67
67
|
surfaceStyle: layout.surfaceStyle,
|
|
68
|
+
hasAccessory: accessory != null,
|
|
68
69
|
titleStyle: layout.compactTitleStyle,
|
|
69
70
|
leading: leadingActions !== undefined ? leadingActions : LeftToolbar,
|
|
70
71
|
trailing: trailingActions !== undefined ? trailingActions : RightToolbar
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","Portal","useHeaderBackground","SCREEN_HEADER_PORTAL_HOST","useHeaderColor","useLargeTitleHeader","HeaderAccessory","HeaderAccessorySpacer","HeaderBar","LargeTitleContent","jsx","_jsx","jsxs","_jsxs","LargeTitleHeader","title","titleVariant","titleWeight","largeTitleVariant","largeTitleWeight","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":";;;AAEA,SAASA,UAAU,QAAQ,wBAAwB;AAGnD,SAASC,MAAM;AACf,SAASC,mBAAmB;AAC5B,SAASC,yBAAyB;AAClC,SAASC,cAAc;AACvB,SAASC,mBAAmB;AAC5B,SAASC,eAAe,EAAEC,qBAAqB;AAC/C,SAASC,SAAS;AAGlB,SAASC,iBAAiB;AAAoC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AA0B9D;AACA,OAAO,SAASC,gBAAgBA,CAAC;EAC/BC,KAAK;EACLC,YAAY;EACZC,WAAW;EACXC,iBAAiB;EACjBC,gBAAgB;EAChBC,QAAQ;EACRC,QAAQ;EACRC,cAAc;EACdC,eAAe;EACfC,WAAW;EACXC,YAAY;EACZC,SAAS;EACTC,gBAAgB,GAAG,GAAG;EACtBC,iBAAiB,GAAG,QAAQ;EAC5BC,cAAc,GAAG,QAAQ;EACzBC,kBAAkB,GAAG,KAAK;EAC1BC,UAAU;EACVC,EAAE;EACF,GAAGC;AACkB,CAAC,EAAE;EACxB,MAAMC,KAAK,GAAG9B,cAAc,CAAC2B,UAAU,IAAIC,EAAE,CAAC;EAC9C,MAAMG,MAAM,GAAG9B,mBAAmB,CAAC;IACjC+B,YAAY,EAAEV,SAAS,IAAI,IAAI;IAC/BE,iBAAiB;IACjBE;EACF,CAAC,CAAC;EACF5B,mBAAmB,CAACgC,KAAK,EAAEC,MAAM,CAACE,YAAY,CAAC;EAC/C,oBACExB,KAAA,CAACyB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAS,CAACN,MAAM,CAACO,eAAe,CAAE;IAACC,aAAa,EAAC,UAAU;IAAAC,QAAA,GAC5E,CAACd,kBAAkB,iBAClBjB,KAAA,CAACZ,MAAM;MAAC4C,QAAQ,EAAE1C,yBAA0B;MAAAyC,QAAA,gBAC1CjC,IAAA,CAACF,iBAAiB;QAChBM,KAAK,EAAEA,KAAM;QACbG,iBAAiB,EAAEA,iBAAkB;QACrCC,gBAAgB,EAAEA,gBAAiB;QACnCC,QAAQ,EAAEA,QAAS;QACnBC,QAAQ,EAAEA,QAAS;QACnByB,iBAAiB,EAAEX,MAAM,CAACY,QAAS;QACnCC,cAAc,EAAEb,MAAM,CAACc,mBAAoB;QAC3CC,aAAa,EAAEf,MAAM,CAACgB;MAAgB,CACvC,CAAC,EACDhB,MAAM,CAACY,QAAQ,iBAAIpC,IAAA,CAACJ,qBAAqB;QAAC6C,MAAM,EAAEjB,MAAM,CAACkB;MAAwB,CAAE,CAAC;IAAA,CAC/E,CACT,eACD1C,IAAA,CAACH,SAAS;MAAA,GACJyB,YAAY;MAChBlB,KAAK,EAAEA,KAAM;MACbC,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA,WAAY;MACzBY,cAAc,EAAEA,cAAe;MAC/BK,KAAK,EAAEA,KAAM;MACbG,YAAY,EAAEF,MAAM,CAACE,YAAa;
|
|
1
|
+
{"version":3,"names":["StyleSheet","Portal","useHeaderBackground","SCREEN_HEADER_PORTAL_HOST","useHeaderColor","useLargeTitleHeader","HeaderAccessory","HeaderAccessorySpacer","HeaderBar","LargeTitleContent","jsx","_jsx","jsxs","_jsxs","LargeTitleHeader","title","titleVariant","titleWeight","largeTitleVariant","largeTitleWeight","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":[]}
|
|
@@ -41,6 +41,7 @@ export function TitleHeader({
|
|
|
41
41
|
subtitle: subtitle,
|
|
42
42
|
titleAlignment: titleAlignment,
|
|
43
43
|
color: color,
|
|
44
|
+
hasAccessory: accessory != null,
|
|
44
45
|
leading: leadingActions !== undefined ? leadingActions : LeftToolbar,
|
|
45
46
|
trailing: trailingActions !== undefined ? trailingActions : RightToolbar
|
|
46
47
|
}), accessory != null && /*#__PURE__*/_jsx(HeaderAccessory, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useContext","StyleSheet","useHeaderBackground","ScreenContext","useHeaderColor","HeaderAccessory","HeaderBar","jsx","_jsx","jsxs","_jsxs","TitleHeader","title","titleVariant","titleWeight","subtitle","leadingActions","trailingActions","LeftToolbar","RightToolbar","accessory","accessoryPadding","titleAlignment","background","bg","dismissProps","screen","color","View","style","styles","container","children","safeArea","leading","undefined","trailing","padding","onHeightChange","setHeaderAccessoryHeight","create","_","runtime","position","top","left","right","zIndex","withinScreen","height","insets","backgroundColor","uni__dependencies"],"sourceRoot":"../../../../../../src","sources":["components/header/variants/TitleHeader/index.tsx"],"mappings":";;;AAAA,SAAyBA,UAAU,QAAQ,OAAO;AAGlD,SAASC,UAAU,QAAQ,wBAAwB;AAGnD,SAASC,mBAAmB;AAC5B,SAASC,aAAa;AAEtB,SAASC,cAAc;AACvB,SAASC,eAAe;AACxB,SAASC,SAAS;AAAgC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAqDlD;AACA,OAAO,SAASC,WAAWA,CAAC;EAC1BC,KAAK;EACLC,YAAY;EACZC,WAAW;EACXC,QAAQ;EACRC,cAAc;EACdC,eAAe;EACfC,WAAW;EACXC,YAAY;EACZC,SAAS;EACTC,gBAAgB,GAAG,GAAG;EACtBC,cAAc,GAAG,QAAQ;EACzBC,UAAU;EACVC,EAAE;EACF,GAAGC;AACa,CAAC,EAAE;EACnB,MAAMC,MAAM,GAAG1B,UAAU,CAACG,aAAa,CAAC;EACxC,MAAMwB,KAAK,GAAGvB,cAAc,CAACmB,UAAU,IAAIC,EAAE,CAAC;EAC9CtB,mBAAmB,CAACyB,KAAK,CAAC;EAC1B,oBACEjB,KAAA,CAACkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5BxB,IAAA,CAACoB,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACG,QAAQ,CAACN,KAAK,EAAED,MAAM,KAAK,IAAI;IAAE,CAAE,CAAC,eACxDlB,IAAA,CAACF,SAAS;MAAA,GACJmB,YAAY;MAChBb,KAAK,EAAEA,KAAM;MACbC,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA,WAAY;MACzBC,QAAQ,EAAEA,QAAS;MACnBO,cAAc,EAAEA,cAAe;MAC/BK,KAAK,EAAEA,KAAM;MACbO,OAAO,
|
|
1
|
+
{"version":3,"names":["useContext","StyleSheet","useHeaderBackground","ScreenContext","useHeaderColor","HeaderAccessory","HeaderBar","jsx","_jsx","jsxs","_jsxs","TitleHeader","title","titleVariant","titleWeight","subtitle","leadingActions","trailingActions","LeftToolbar","RightToolbar","accessory","accessoryPadding","titleAlignment","background","bg","dismissProps","screen","color","View","style","styles","container","children","safeArea","hasAccessory","leading","undefined","trailing","padding","onHeightChange","setHeaderAccessoryHeight","create","_","runtime","position","top","left","right","zIndex","withinScreen","height","insets","backgroundColor","uni__dependencies"],"sourceRoot":"../../../../../../src","sources":["components/header/variants/TitleHeader/index.tsx"],"mappings":";;;AAAA,SAAyBA,UAAU,QAAQ,OAAO;AAGlD,SAASC,UAAU,QAAQ,wBAAwB;AAGnD,SAASC,mBAAmB;AAC5B,SAASC,aAAa;AAEtB,SAASC,cAAc;AACvB,SAASC,eAAe;AACxB,SAASC,SAAS;AAAgC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAqDlD;AACA,OAAO,SAASC,WAAWA,CAAC;EAC1BC,KAAK;EACLC,YAAY;EACZC,WAAW;EACXC,QAAQ;EACRC,cAAc;EACdC,eAAe;EACfC,WAAW;EACXC,YAAY;EACZC,SAAS;EACTC,gBAAgB,GAAG,GAAG;EACtBC,cAAc,GAAG,QAAQ;EACzBC,UAAU;EACVC,EAAE;EACF,GAAGC;AACa,CAAC,EAAE;EACnB,MAAMC,MAAM,GAAG1B,UAAU,CAACG,aAAa,CAAC;EACxC,MAAMwB,KAAK,GAAGvB,cAAc,CAACmB,UAAU,IAAIC,EAAE,CAAC;EAC9CtB,mBAAmB,CAACyB,KAAK,CAAC;EAC1B,oBACEjB,KAAA,CAACkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAC5BxB,IAAA,CAACoB,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACG,QAAQ,CAACN,KAAK,EAAED,MAAM,KAAK,IAAI;IAAE,CAAE,CAAC,eACxDlB,IAAA,CAACF,SAAS;MAAA,GACJmB,YAAY;MAChBb,KAAK,EAAEA,KAAM;MACbC,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA,WAAY;MACzBC,QAAQ,EAAEA,QAAS;MACnBO,cAAc,EAAEA,cAAe;MAC/BK,KAAK,EAAEA,KAAM;MACbO,YAAY,EAAEd,SAAS,IAAI,IAAK;MAChCe,OAAO,EAAEnB,cAAc,KAAKoB,SAAS,GAAGpB,cAAc,GAAGE,WAAY;MACrEmB,QAAQ,EAAEpB,eAAe,KAAKmB,SAAS,GAAGnB,eAAe,GAAGE;IAAa,CAC1E,CAAC,EACDC,SAAS,IAAI,IAAI,iBAChBZ,IAAA,CAACH,eAAe;MACdiC,OAAO,EAAEjB,gBAAiB;MAC1BM,KAAK,EAAEA,KAAM;MACbY,cAAc,EAAEb,MAAM,EAAEc,wBAAyB;MAAAR,QAAA,EAEhDZ;IAAS,CACK,CAClB;EAAA,CACG,CAAC;AAEX;AAEA,MAAMU,MAAM,GAAG7B,UAAU,CAACwC,MAAM,CAAC,CAACC,CAAC,EAAEC,OAAO,MAAM;EAChDZ,SAAS,EAAE;IAAEa,QAAQ,EAAE,UAAU;IAAEC,GAAG,EAAE,CAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAK,CAAC;EAC5Ef,QAAQ,EAAEA,CAACN,KAAa,EAAEsB,YAAqB,MAAM;IACnDC,MAAM,EAAED,YAAY,GAAG,CAAC,GAAGN,OAAO,CAACQ,MAAM,CAACN,GAAG;IAC7CO,eAAe,EAAEzB,KAAK;IAAA0B,iBAAA;EACxB,CAAC;AACH,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import { View } from "react-native-unistyles/components/native/View";
|
|
|
4
4
|
import { TextInput } from "react-native-unistyles/components/native/TextInput";
|
|
5
5
|
import { forwardRef } from "react";
|
|
6
6
|
import { StyleSheet, useUnistyles } from "react-native-unistyles";
|
|
7
|
+
import { withAlpha } from "../../../utils/color-utils.js";
|
|
7
8
|
import { resolveThemeColor } from "../../../utils/resolve-theme-color.js";
|
|
8
9
|
import { FONT_WEIGHT_VALUE, SYSTEM_FONT } from "../../../utils/typography.js";
|
|
9
10
|
import { useFocusState } from "../hooks/use-focus-state.js";
|
|
@@ -140,13 +141,19 @@ const styles = StyleSheet.create(theme => {
|
|
|
140
141
|
...(color && !isInvalid && {
|
|
141
142
|
borderColor: focusColor
|
|
142
143
|
}),
|
|
144
|
+
// The same lift a standalone toolbar button has, so a focused field in
|
|
145
|
+
// a header reads as one family with the buttons beside it, rather than
|
|
146
|
+
// a tinted ring that nothing else in the header wears. Written as a
|
|
147
|
+
// `boxShadow` rather than spreading the preset's `shadow*` props: on
|
|
148
|
+
// iOS those on this container stop the field from taking focus, and
|
|
149
|
+
// the field is the one thing here that must. A blur of twice the Core
|
|
150
|
+
// Animation radius is the closest CSS reading of the same shadow.
|
|
143
151
|
...(hasGlow && !isInvalid && {
|
|
144
152
|
boxShadow: [{
|
|
145
|
-
offsetX:
|
|
146
|
-
offsetY:
|
|
147
|
-
blurRadius:
|
|
148
|
-
|
|
149
|
-
color: focusColor
|
|
153
|
+
offsetX: theme.elevation.xs.shadowOffset.width,
|
|
154
|
+
offsetY: theme.elevation.xs.shadowOffset.height,
|
|
155
|
+
blurRadius: theme.elevation.xs.shadowRadius * 2,
|
|
156
|
+
color: withAlpha(theme.elevation.xs.shadowColor, theme.elevation.xs.shadowOpacity)
|
|
150
157
|
}]
|
|
151
158
|
}),
|
|
152
159
|
uni__dependencies: [0]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","StyleSheet","useUnistyles","resolveThemeColor","FONT_WEIGHT_VALUE","SYSTEM_FONT","useFocusState","jsx","_jsx","jsxs","_jsxs","FIELD_HEIGHT","sm","md","lg","TEXT_VARIANT","InputField","size","isDisabled","isInvalid","focusBorderColor","focusBorderWidth","hasFocusGlow","leading","trailing","background","radius","style","onFocus","onBlur","rest","ref","isFocused","handleFocus","handleBlur","showsFocus","theme","_styles","styles","useVariants","disabled","invalid","View","container","fill","focus","children","TextInput","editable","placeholderTextColor","color","input","maxFontSizeMultiplier","typography","variants","create","bodyWeight","fontWeight","bodyFont","fonts","isSystemBodyFont","flexDirection","alignItems","borderWidth","hairlineWidth","borderColor","height","paddingHorizontal","spacing","gap","true","false","opacity","uni__dependencies","width","hasGlow","focusColor","undefined","boxShadow","offsetX","offsetY","blurRadius","
|
|
1
|
+
{"version":3,"names":["forwardRef","StyleSheet","useUnistyles","withAlpha","resolveThemeColor","FONT_WEIGHT_VALUE","SYSTEM_FONT","useFocusState","jsx","_jsx","jsxs","_jsxs","FIELD_HEIGHT","sm","md","lg","TEXT_VARIANT","InputField","size","isDisabled","isInvalid","focusBorderColor","focusBorderWidth","hasFocusGlow","leading","trailing","background","radius","style","onFocus","onBlur","rest","ref","isFocused","handleFocus","handleBlur","showsFocus","theme","_styles","styles","useVariants","disabled","invalid","View","container","fill","focus","children","TextInput","editable","placeholderTextColor","color","input","maxFontSizeMultiplier","typography","variants","create","bodyWeight","fontWeight","bodyFont","fonts","isSystemBodyFont","flexDirection","alignItems","borderWidth","hairlineWidth","borderColor","height","paddingHorizontal","spacing","gap","true","false","opacity","uni__dependencies","width","hasGlow","focusColor","undefined","boxShadow","offsetX","elevation","xs","shadowOffset","offsetY","blurRadius","shadowRadius","shadowColor","shadowOpacity","backgroundColor","borderRadius","flex","paddingVertical","fontFamily","fontSize"],"sourceRoot":"../../../../../src","sources":["components/input/parts/InputField.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -51,7 +51,11 @@ export function SearchCancelButton({
|
|
|
51
51
|
opacity: progress.value,
|
|
52
52
|
transform: [{
|
|
53
53
|
scale: interpolate(progress.value, [0, 1], [START_SCALE, 1])
|
|
54
|
-
}]
|
|
54
|
+
}],
|
|
55
|
+
// Clipped only while sliding, so the button appears from the field's edge.
|
|
56
|
+
// At rest the slot is exactly the button's size, and a clip there would cut
|
|
57
|
+
// off the shadow that matches it to the toolbar buttons.
|
|
58
|
+
overflow: progress.value >= 1 ? "visible" : "hidden"
|
|
55
59
|
}));
|
|
56
60
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
57
61
|
style: [styles.slot(isVisible), slotStyle],
|
|
@@ -74,10 +78,11 @@ const styles = StyleSheet.create(theme => ({
|
|
|
74
78
|
slot: isVisible => ({
|
|
75
79
|
flexDirection: "row",
|
|
76
80
|
justifyContent: "flex-end",
|
|
77
|
-
overflow: "hidden",
|
|
78
81
|
pointerEvents: isVisible ? "auto" : "none"
|
|
79
82
|
}),
|
|
80
|
-
// A circle the height of the field, filled and edged to match it
|
|
83
|
+
// A circle the height of the field, filled and edged to match it, and
|
|
84
|
+
// lifted like a standalone toolbar button: it only exists while the field is
|
|
85
|
+
// focused, so it wears the same shadow the focused field does.
|
|
81
86
|
button: (diameter, background) => ({
|
|
82
87
|
width: diameter,
|
|
83
88
|
height: diameter,
|
|
@@ -87,6 +92,7 @@ const styles = StyleSheet.create(theme => ({
|
|
|
87
92
|
backgroundColor: resolveThemeColor(background, theme),
|
|
88
93
|
borderWidth: StyleSheet.hairlineWidth,
|
|
89
94
|
borderColor: theme.color["border.subtle"],
|
|
95
|
+
...theme.elevation.xs,
|
|
90
96
|
uni__dependencies: [0]
|
|
91
97
|
})
|
|
92
98
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","Animated","Easing","interpolate","useAnimatedStyle","useSharedValue","withTiming","StyleSheet","useUnistyles","resolveThemeColor","Icon","PressableOpacity","FIELD_HEIGHT","ICON_SIZE","jsx","_jsx","TRANSITION_MS","START_SCALE","GLYPH_EXTRA","SearchCancelButton","isVisible","size","background","accessibilityLabel","onPress","theme","progress","diameter","slotWidth","spacing","value","duration","easing","bezier","slotStyle","width","opacity","transform","scale","View","style","styles","slot","accessibilityElementsHidden","importantForAccessibility","children","accessibilityRole","button","name","color","create","flexDirection","justifyContent","
|
|
1
|
+
{"version":3,"names":["useEffect","Animated","Easing","interpolate","useAnimatedStyle","useSharedValue","withTiming","StyleSheet","useUnistyles","resolveThemeColor","Icon","PressableOpacity","FIELD_HEIGHT","ICON_SIZE","jsx","_jsx","TRANSITION_MS","START_SCALE","GLYPH_EXTRA","SearchCancelButton","isVisible","size","background","accessibilityLabel","onPress","theme","progress","diameter","slotWidth","spacing","value","duration","easing","bezier","slotStyle","width","opacity","transform","scale","overflow","View","style","styles","slot","accessibilityElementsHidden","importantForAccessibility","children","accessibilityRole","button","name","color","create","flexDirection","justifyContent","pointerEvents","height","borderRadius","alignItems","backgroundColor","borderWidth","hairlineWidth","borderColor","elevation","xs","uni__dependencies"],"sourceRoot":"../../../../../../src","sources":["components/input/variants/SearchInput/SearchCancelButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,9 +13,11 @@ interface HeaderBarProps extends HeaderDismissProps {
|
|
|
13
13
|
titleAlignment: "center" | "left";
|
|
14
14
|
color: string;
|
|
15
15
|
surfaceStyle?: HeaderSurfaceProps["animatedStyle"];
|
|
16
|
+
/** An accessory sits under the bar, so the bar's surface stays solid. */
|
|
17
|
+
hasAccessory?: boolean;
|
|
16
18
|
titleStyle?: ComponentProps<typeof Animated.View>["style"];
|
|
17
19
|
}
|
|
18
20
|
/** Shared compact bar. Only the title and background animate; actions stay interactive. */
|
|
19
|
-
export declare function HeaderBar({ title, titleVariant, titleWeight, subtitle, leading, trailing, titleAlignment, color, surfaceStyle, titleStyle, dismissAction, navigation, onDismiss, }: HeaderBarProps): import("react").JSX.Element;
|
|
21
|
+
export declare function HeaderBar({ title, titleVariant, titleWeight, subtitle, leading, trailing, titleAlignment, color, surfaceStyle, hasAccessory, titleStyle, dismissAction, navigation, onDismiss, }: HeaderBarProps): import("react").JSX.Element;
|
|
20
22
|
export {};
|
|
21
23
|
//# sourceMappingURL=HeaderBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderBar.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAGtE,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKjE,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,sBAAmB,CAAC;AAEjF,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,oBAAiB,CAAC;AAGzE,UAAU,cAAe,SAAQ,kBAAkB;IACjD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5D;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAyB,EACzB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,cAAc,EACd,KAAK,EACL,YAAY,EACZ,UAAU,EACV,aAAsB,EACtB,UAAU,EACV,SAAS,GACV,EAAE,cAAc,+BAqFhB"}
|
|
1
|
+
{"version":3,"file":"HeaderBar.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAGtE,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKjE,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,sBAAmB,CAAC;AAEjF,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,oBAAiB,CAAC;AAGzE,UAAU,cAAe,SAAQ,kBAAkB;IACjD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5D;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAyB,EACzB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,cAAc,EACd,KAAK,EACL,YAAY,EACZ,YAAoB,EACpB,UAAU,EACV,aAAsB,EACtB,UAAU,EACV,SAAS,GACV,EAAE,cAAc,+BAqFhB"}
|
|
@@ -5,10 +5,20 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export declare const HEADER_FADE_END_OPACITY = 0.9;
|
|
7
7
|
export interface HeaderGradientOverlayProps {
|
|
8
|
-
/** Fill color, ramped from opaque to
|
|
8
|
+
/** Fill color, ramped from opaque to `endOpacity`. */
|
|
9
9
|
color: string;
|
|
10
|
-
|
|
10
|
+
/** Opacity at the bottom edge. Defaults to {@link HEADER_FADE_END_OPACITY}; `1` is a solid fill. */
|
|
11
11
|
endOpacity?: number;
|
|
12
|
+
/**
|
|
13
|
+
* The overlay's measured size in dp. Until the caller knows it, the SVG sizes
|
|
14
|
+
* itself with percentages, which react-native-svg resolves once, at mount.
|
|
15
|
+
* A surface that grows after mounting (an accessory animating open from
|
|
16
|
+
* nothing) would otherwise keep painting the sliver it was born at.
|
|
17
|
+
*/
|
|
18
|
+
size?: {
|
|
19
|
+
width: number;
|
|
20
|
+
height: number;
|
|
21
|
+
};
|
|
12
22
|
}
|
|
13
23
|
/**
|
|
14
24
|
* Vertical fade behind header content, shared by header variants.
|
|
@@ -17,5 +27,5 @@ export interface HeaderGradientOverlayProps {
|
|
|
17
27
|
* the surface nor reserves a band inside it, so callers size the surface and
|
|
18
28
|
* the ramp simply spans whatever they gave it.
|
|
19
29
|
*/
|
|
20
|
-
export declare function HeaderGradientOverlay({ color,
|
|
30
|
+
export declare function HeaderGradientOverlay({ color, endOpacity, size, }: HeaderGradientOverlayProps): import("react").JSX.Element;
|
|
21
31
|
//# sourceMappingURL=HeaderGradientOverlay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderGradientOverlay.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderGradientOverlay.tsx"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,MAAM,WAAW,0BAA0B;IACzC,
|
|
1
|
+
{"version":3,"file":"HeaderGradientOverlay.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderGradientOverlay.tsx"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,MAAM,WAAW,0BAA0B;IACzC,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,UAAoC,EACpC,IAAI,GACL,EAAE,0BAA0B,+BAgB5B"}
|
|
@@ -7,15 +7,24 @@ export interface HeaderSurfaceProps {
|
|
|
7
7
|
color: string;
|
|
8
8
|
/** Opacity style for variants that fade the whole surface in as they collapse. */
|
|
9
9
|
animatedStyle?: HeaderOpacityStyle;
|
|
10
|
-
/**
|
|
10
|
+
/** This surface is an accessory's: it carries the fade, from solid to the end opacity. */
|
|
11
11
|
accessory?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* An accessory sits under this bar. The bar then stays solid, since the
|
|
14
|
+
* header's bottom edge, where the fade belongs, is the accessory's.
|
|
15
|
+
*/
|
|
16
|
+
hasAccessoryBelow?: boolean;
|
|
12
17
|
}
|
|
13
18
|
/**
|
|
14
|
-
* Header background
|
|
19
|
+
* Header background. One fade per header, at its bottom edge: the bar's when it
|
|
20
|
+
* stands alone, the accessory's when there is one, with the bar solid above it.
|
|
21
|
+
* Content scrolling under a pinned accessory then meets a header as opaque as
|
|
22
|
+
* any other, rather than one that thinned twice, once at each part's edge, and
|
|
23
|
+
* let saturated rows show through around a search field.
|
|
15
24
|
*
|
|
16
25
|
* The ramp spans the surface itself: it is sized by the caller and stays inside
|
|
17
26
|
* those bounds, so a taller surface stretches the fade rather than adding to it.
|
|
18
27
|
*/
|
|
19
|
-
export declare function HeaderSurface({ color, animatedStyle, accessory }: HeaderSurfaceProps): import("react").JSX.Element;
|
|
28
|
+
export declare function HeaderSurface({ color, animatedStyle, accessory, hasAccessoryBelow }: HeaderSurfaceProps): import("react").JSX.Element;
|
|
20
29
|
export {};
|
|
21
30
|
//# sourceMappingURL=HeaderSurface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderSurface.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderSurface.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HeaderSurface.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderSurface.tsx"],"names":[],"mappings":"AAGA,OAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAK1E,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC;AAEnF,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,0FAA0F;IAC1F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,kBAAkB,+BAiBvG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/LargeTitleHeader/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAgB,CAAC;AAGvD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACpC;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAsB,EACtB,iBAA4B,EAC5B,cAAyB,EACzB,kBAA0B,EAC1B,UAAU,EACV,EAAE,EACF,GAAG,YAAY,EAChB,EAAE,qBAAqB,+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/LargeTitleHeader/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAgB,CAAC;AAGvD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACpC;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAsB,EACtB,iBAA4B,EAC5B,cAAyB,EACzB,kBAA0B,EAC1B,UAAU,EACV,EAAE,EACF,GAAG,YAAY,EAChB,EAAE,qBAAqB,+BAmDvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/TitleHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAsB,CAAC;AAI/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAa,CAAC;AAE1D,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,yFAAyF;IACzF,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,sCAAsC;IACtC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,uCAAuC;IACvC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,8DAA8D;IAC9D,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnC,mGAAmG;IACnG,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kCAAkC;IAClC,EAAE,CAAC,EAAE,UAAU,CAAC;CACjB;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAsB,EACtB,cAAyB,EACzB,UAAU,EACV,EAAE,EACF,GAAG,YAAY,EAChB,EAAE,gBAAgB,+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/TitleHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAsB,CAAC;AAI/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAa,CAAC;AAE1D,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,yFAAyF;IACzF,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,sCAAsC;IACtC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,uCAAuC;IACvC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,8DAA8D;IAC9D,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnC,mGAAmG;IACnG,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kCAAkC;IAClC,EAAE,CAAC,EAAE,UAAU,CAAC;CACjB;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAsB,EACtB,cAAyB,EACzB,UAAU,EACV,EAAE,EACF,GAAG,YAAY,EAChB,EAAE,gBAAgB,+BA8BlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/input/parts/InputField.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InputField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/input/parts/InputField.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAU,CAAC;AAE1D,wFAAwF;AACxF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAA8B,CAAC;AASlF;;;;GAIG;AACH,eAAO,MAAM,UAAU,oMAqDrB,CAAC"}
|
|
@@ -28,9 +28,10 @@ export interface InputBaseProps extends Omit<TextInputProps, "style" | "editable
|
|
|
28
28
|
/** Border width while focused, in dp. Defaults to `undefined` — the resting hairline stays. */
|
|
29
29
|
focusBorderWidth?: number;
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
31
|
+
* Lift the field with a soft shadow while focused: the theme's `xs`
|
|
32
|
+
* elevation, the same one a standalone `Toolbar.Button` wears, so a field
|
|
33
|
+
* in a header matches the buttons beside it. Defaults to `false`;
|
|
34
|
+
* `Input.Search` turns it on.
|
|
34
35
|
*/
|
|
35
36
|
hasFocusGlow?: boolean;
|
|
36
37
|
/** Merged over the container's own style. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/input/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,wCAAwC;AACxC,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC;IAChF,sDAAsD;IACtD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/input/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,wCAAwC;AACxC,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC;IAChF,sDAAsD;IACtD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B"}
|
package/lib/typescript/src/components/input/variants/SearchInput/SearchCancelButton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchCancelButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/input/variants/SearchInput/SearchCancelButton.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAa,CAAC;AAY7C,UAAU,uBAAuB;IAC/B,6DAA6D;IAC7D,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,uDAAuD;IACvD,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,IAAI,EACJ,UAAU,EACV,kBAAkB,EAClB,OAAO,GACR,EAAE,uBAAuB,+
|
|
1
|
+
{"version":3,"file":"SearchCancelButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/input/variants/SearchInput/SearchCancelButton.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAa,CAAC;AAY7C,UAAU,uBAAuB;IAC/B,6DAA6D;IAC7D,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,uDAAuD;IACvD,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,IAAI,EACJ,UAAU,EACV,kBAAkB,EAClB,OAAO,GACR,EAAE,uBAAuB,+BA2CzB"}
|
package/package.json
CHANGED
|
@@ -25,6 +25,8 @@ interface HeaderBarProps extends HeaderDismissProps {
|
|
|
25
25
|
titleAlignment: "center" | "left";
|
|
26
26
|
color: string;
|
|
27
27
|
surfaceStyle?: HeaderSurfaceProps["animatedStyle"];
|
|
28
|
+
/** An accessory sits under the bar, so the bar's surface stays solid. */
|
|
29
|
+
hasAccessory?: boolean;
|
|
28
30
|
titleStyle?: ComponentProps<typeof Animated.View>["style"];
|
|
29
31
|
}
|
|
30
32
|
|
|
@@ -39,6 +41,7 @@ export function HeaderBar({
|
|
|
39
41
|
titleAlignment,
|
|
40
42
|
color,
|
|
41
43
|
surfaceStyle,
|
|
44
|
+
hasAccessory = false,
|
|
42
45
|
titleStyle,
|
|
43
46
|
dismissAction = "none",
|
|
44
47
|
navigation,
|
|
@@ -75,7 +78,7 @@ export function HeaderBar({
|
|
|
75
78
|
*/
|
|
76
79
|
<ScrollToTopGuard>
|
|
77
80
|
<View style={[styles.bar, styles.windowInsets(windowInsets.left, windowInsets.right)]}>
|
|
78
|
-
<HeaderSurface color={color} animatedStyle={surfaceStyle} />
|
|
81
|
+
<HeaderSurface color={color} animatedStyle={surfaceStyle} hasAccessoryBelow={hasAccessory} />
|
|
79
82
|
<HeaderWindowInsets onInsetsChange={setWindowInsets} />
|
|
80
83
|
{hasLeading && (
|
|
81
84
|
<Toolbar onLayout={onLeadingLayout}>
|
|
@@ -10,10 +10,17 @@ import Svg, { Defs, Rect, Stop, LinearGradient as SvgLinearGradient } from "reac
|
|
|
10
10
|
export const HEADER_FADE_END_OPACITY = 0.9;
|
|
11
11
|
|
|
12
12
|
export interface HeaderGradientOverlayProps {
|
|
13
|
-
/** Fill color, ramped from opaque to
|
|
13
|
+
/** Fill color, ramped from opaque to `endOpacity`. */
|
|
14
14
|
color: string;
|
|
15
|
-
|
|
15
|
+
/** Opacity at the bottom edge. Defaults to {@link HEADER_FADE_END_OPACITY}; `1` is a solid fill. */
|
|
16
16
|
endOpacity?: number;
|
|
17
|
+
/**
|
|
18
|
+
* The overlay's measured size in dp. Until the caller knows it, the SVG sizes
|
|
19
|
+
* itself with percentages, which react-native-svg resolves once, at mount.
|
|
20
|
+
* A surface that grows after mounting (an accessory animating open from
|
|
21
|
+
* nothing) would otherwise keep painting the sliver it was born at.
|
|
22
|
+
*/
|
|
23
|
+
size?: { width: number; height: number };
|
|
17
24
|
}
|
|
18
25
|
|
|
19
26
|
/**
|
|
@@ -25,20 +32,22 @@ export interface HeaderGradientOverlayProps {
|
|
|
25
32
|
*/
|
|
26
33
|
export function HeaderGradientOverlay({
|
|
27
34
|
color,
|
|
28
|
-
startOpacity = 1,
|
|
29
35
|
endOpacity = HEADER_FADE_END_OPACITY,
|
|
36
|
+
size,
|
|
30
37
|
}: HeaderGradientOverlayProps) {
|
|
31
38
|
const gradientId = useId();
|
|
39
|
+
const width = size?.width ?? "100%";
|
|
40
|
+
const height = size?.height ?? "100%";
|
|
32
41
|
|
|
33
42
|
return (
|
|
34
|
-
<Svg height=
|
|
43
|
+
<Svg height={height} width={width}>
|
|
35
44
|
<Defs>
|
|
36
45
|
<SvgLinearGradient id={gradientId} x1="0" y1="0" x2="0" y2="1">
|
|
37
|
-
<Stop offset={0} stopColor={color} stopOpacity={
|
|
46
|
+
<Stop offset={0} stopColor={color} stopOpacity={1} />
|
|
38
47
|
<Stop offset={1} stopColor={color} stopOpacity={endOpacity} />
|
|
39
48
|
</SvgLinearGradient>
|
|
40
49
|
</Defs>
|
|
41
|
-
<Rect width=
|
|
50
|
+
<Rect width={width} height={height} fill={`url(#${gradientId})`} />
|
|
42
51
|
</Svg>
|
|
43
52
|
);
|
|
44
53
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { useCallback, useState } from "react";
|
|
2
|
+
import type { LayoutChangeEvent } from "react-native";
|
|
3
|
+
|
|
1
4
|
import Animated, { type useAnimatedStyle } from "react-native-reanimated";
|
|
2
5
|
import { StyleSheet } from "react-native-unistyles";
|
|
3
6
|
|
|
@@ -10,24 +13,40 @@ export interface HeaderSurfaceProps {
|
|
|
10
13
|
color: string;
|
|
11
14
|
/** Opacity style for variants that fade the whole surface in as they collapse. */
|
|
12
15
|
animatedStyle?: HeaderOpacityStyle;
|
|
13
|
-
/**
|
|
16
|
+
/** This surface is an accessory's: it carries the fade, from solid to the end opacity. */
|
|
14
17
|
accessory?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* An accessory sits under this bar. The bar then stays solid, since the
|
|
20
|
+
* header's bottom edge, where the fade belongs, is the accessory's.
|
|
21
|
+
*/
|
|
22
|
+
hasAccessoryBelow?: boolean;
|
|
15
23
|
}
|
|
16
24
|
|
|
17
25
|
/**
|
|
18
|
-
* Header background
|
|
26
|
+
* Header background. One fade per header, at its bottom edge: the bar's when it
|
|
27
|
+
* stands alone, the accessory's when there is one, with the bar solid above it.
|
|
28
|
+
* Content scrolling under a pinned accessory then meets a header as opaque as
|
|
29
|
+
* any other, rather than one that thinned twice, once at each part's edge, and
|
|
30
|
+
* let saturated rows show through around a search field.
|
|
19
31
|
*
|
|
20
32
|
* The ramp spans the surface itself: it is sized by the caller and stays inside
|
|
21
33
|
* those bounds, so a taller surface stretches the fade rather than adding to it.
|
|
22
34
|
*/
|
|
23
|
-
export function HeaderSurface({ color, animatedStyle, accessory }: HeaderSurfaceProps) {
|
|
35
|
+
export function HeaderSurface({ color, animatedStyle, accessory, hasAccessoryBelow }: HeaderSurfaceProps) {
|
|
36
|
+
const fades = accessory || !hasAccessoryBelow;
|
|
37
|
+
// Measured so the gradient is drawn at the surface's real size. An accessory
|
|
38
|
+
// can mount a few points tall and grow, and the SVG's percentage lengths
|
|
39
|
+
// would stay resolved against the size it mounted at.
|
|
40
|
+
const [size, setSize] = useState<{ width: number; height: number }>();
|
|
41
|
+
const handleLayout = useCallback((event: LayoutChangeEvent) => {
|
|
42
|
+
const { width, height } = event.nativeEvent.layout;
|
|
43
|
+
setSize((previous) =>
|
|
44
|
+
previous && previous.width === width && previous.height === height ? previous : { width, height }
|
|
45
|
+
);
|
|
46
|
+
}, []);
|
|
24
47
|
return (
|
|
25
|
-
<Animated.View style={[styles.surface, animatedStyle]} pointerEvents="none">
|
|
26
|
-
<HeaderGradientOverlay
|
|
27
|
-
color={color}
|
|
28
|
-
startOpacity={accessory ? HEADER_FADE_END_OPACITY : 1}
|
|
29
|
-
endOpacity={accessory ? 0.85 : HEADER_FADE_END_OPACITY}
|
|
30
|
-
/>
|
|
48
|
+
<Animated.View style={[styles.surface, animatedStyle]} pointerEvents="none" onLayout={handleLayout}>
|
|
49
|
+
<HeaderGradientOverlay color={color} endOpacity={fades ? HEADER_FADE_END_OPACITY : 1} size={size} />
|
|
31
50
|
</Animated.View>
|
|
32
51
|
);
|
|
33
52
|
}
|
|
@@ -92,6 +92,7 @@ export function LargeTitleHeader({
|
|
|
92
92
|
titleAlignment={titleAlignment}
|
|
93
93
|
color={color}
|
|
94
94
|
surfaceStyle={layout.surfaceStyle}
|
|
95
|
+
hasAccessory={accessory != null}
|
|
95
96
|
titleStyle={layout.compactTitleStyle}
|
|
96
97
|
leading={leadingActions !== undefined ? leadingActions : LeftToolbar}
|
|
97
98
|
trailing={trailingActions !== undefined ? trailingActions : RightToolbar}
|
|
@@ -93,6 +93,7 @@ export function TitleHeader({
|
|
|
93
93
|
subtitle={subtitle}
|
|
94
94
|
titleAlignment={titleAlignment}
|
|
95
95
|
color={color}
|
|
96
|
+
hasAccessory={accessory != null}
|
|
96
97
|
leading={leadingActions !== undefined ? leadingActions : LeftToolbar}
|
|
97
98
|
trailing={trailingActions !== undefined ? trailingActions : RightToolbar}
|
|
98
99
|
/>
|
|
@@ -4,6 +4,7 @@ import { TextInput, View } from "react-native";
|
|
|
4
4
|
import { StyleSheet, useUnistyles } from "react-native-unistyles";
|
|
5
5
|
|
|
6
6
|
import type { ColorToken, RadiusKey } from "#theme/types";
|
|
7
|
+
import { withAlpha } from "#utils/color-utils";
|
|
7
8
|
import { resolveThemeColor } from "#utils/resolve-theme-color";
|
|
8
9
|
import { FONT_WEIGHT_VALUE, SYSTEM_FONT } from "#utils/typography";
|
|
9
10
|
import { useFocusState } from "../hooks/use-focus-state";
|
|
@@ -124,9 +125,23 @@ const styles = StyleSheet.create((theme) => {
|
|
|
124
125
|
return {
|
|
125
126
|
...(width !== undefined && { borderWidth: width }),
|
|
126
127
|
...(color && !isInvalid && { borderColor: focusColor }),
|
|
128
|
+
// The same lift a standalone toolbar button has, so a focused field in
|
|
129
|
+
// a header reads as one family with the buttons beside it, rather than
|
|
130
|
+
// a tinted ring that nothing else in the header wears. Written as a
|
|
131
|
+
// `boxShadow` rather than spreading the preset's `shadow*` props: on
|
|
132
|
+
// iOS those on this container stop the field from taking focus, and
|
|
133
|
+
// the field is the one thing here that must. A blur of twice the Core
|
|
134
|
+
// Animation radius is the closest CSS reading of the same shadow.
|
|
127
135
|
...(hasGlow &&
|
|
128
136
|
!isInvalid && {
|
|
129
|
-
boxShadow: [
|
|
137
|
+
boxShadow: [
|
|
138
|
+
{
|
|
139
|
+
offsetX: theme.elevation.xs.shadowOffset.width,
|
|
140
|
+
offsetY: theme.elevation.xs.shadowOffset.height,
|
|
141
|
+
blurRadius: theme.elevation.xs.shadowRadius * 2,
|
|
142
|
+
color: withAlpha(theme.elevation.xs.shadowColor, theme.elevation.xs.shadowOpacity),
|
|
143
|
+
},
|
|
144
|
+
],
|
|
130
145
|
}),
|
|
131
146
|
};
|
|
132
147
|
},
|
|
@@ -31,9 +31,10 @@ export interface InputBaseProps extends Omit<TextInputProps, "style" | "editable
|
|
|
31
31
|
/** Border width while focused, in dp. Defaults to `undefined` — the resting hairline stays. */
|
|
32
32
|
focusBorderWidth?: number;
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
34
|
+
* Lift the field with a soft shadow while focused: the theme's `xs`
|
|
35
|
+
* elevation, the same one a standalone `Toolbar.Button` wears, so a field
|
|
36
|
+
* in a header matches the buttons beside it. Defaults to `false`;
|
|
37
|
+
* `Input.Search` turns it on.
|
|
37
38
|
*/
|
|
38
39
|
hasFocusGlow?: boolean;
|
|
39
40
|
/** Merged over the container's own style. */
|
|
@@ -68,6 +68,10 @@ export function SearchCancelButton({
|
|
|
68
68
|
width: progress.value * slotWidth,
|
|
69
69
|
opacity: progress.value,
|
|
70
70
|
transform: [{ scale: interpolate(progress.value, [0, 1], [START_SCALE, 1]) }],
|
|
71
|
+
// Clipped only while sliding, so the button appears from the field's edge.
|
|
72
|
+
// At rest the slot is exactly the button's size, and a clip there would cut
|
|
73
|
+
// off the shadow that matches it to the toolbar buttons.
|
|
74
|
+
overflow: progress.value >= 1 ? "visible" : "hidden",
|
|
71
75
|
}));
|
|
72
76
|
|
|
73
77
|
return (
|
|
@@ -92,10 +96,11 @@ const styles = StyleSheet.create((theme) => ({
|
|
|
92
96
|
slot: (isVisible: boolean) => ({
|
|
93
97
|
flexDirection: "row",
|
|
94
98
|
justifyContent: "flex-end",
|
|
95
|
-
overflow: "hidden",
|
|
96
99
|
pointerEvents: isVisible ? "auto" : "none",
|
|
97
100
|
}),
|
|
98
|
-
// A circle the height of the field, filled and edged to match it
|
|
101
|
+
// A circle the height of the field, filled and edged to match it, and
|
|
102
|
+
// lifted like a standalone toolbar button: it only exists while the field is
|
|
103
|
+
// focused, so it wears the same shadow the focused field does.
|
|
99
104
|
button: (diameter: number, background: ColorToken) => ({
|
|
100
105
|
width: diameter,
|
|
101
106
|
height: diameter,
|
|
@@ -105,5 +110,6 @@ const styles = StyleSheet.create((theme) => ({
|
|
|
105
110
|
backgroundColor: resolveThemeColor(background, theme),
|
|
106
111
|
borderWidth: StyleSheet.hairlineWidth,
|
|
107
112
|
borderColor: theme.color["border.subtle"],
|
|
113
|
+
...theme.elevation.xs,
|
|
108
114
|
}),
|
|
109
115
|
}));
|