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.
Files changed (36) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/lib/module/components/header/parts/HeaderBar.js +3 -1
  3. package/lib/module/components/header/parts/HeaderBar.js.map +1 -1
  4. package/lib/module/components/header/parts/HeaderGradientOverlay.js +9 -7
  5. package/lib/module/components/header/parts/HeaderGradientOverlay.js.map +1 -1
  6. package/lib/module/components/header/parts/HeaderSurface.js +26 -4
  7. package/lib/module/components/header/parts/HeaderSurface.js.map +1 -1
  8. package/lib/module/components/header/variants/LargeTitleHeader/index.js +1 -0
  9. package/lib/module/components/header/variants/LargeTitleHeader/index.js.map +1 -1
  10. package/lib/module/components/header/variants/TitleHeader/index.js +1 -0
  11. package/lib/module/components/header/variants/TitleHeader/index.js.map +1 -1
  12. package/lib/module/components/input/parts/InputField.js +12 -5
  13. package/lib/module/components/input/parts/InputField.js.map +1 -1
  14. package/lib/module/components/input/variants/SearchInput/SearchCancelButton.js +9 -3
  15. package/lib/module/components/input/variants/SearchInput/SearchCancelButton.js.map +1 -1
  16. package/lib/typescript/src/components/header/parts/HeaderBar.d.ts +3 -1
  17. package/lib/typescript/src/components/header/parts/HeaderBar.d.ts.map +1 -1
  18. package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts +13 -3
  19. package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts.map +1 -1
  20. package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts +12 -3
  21. package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts.map +1 -1
  22. package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts.map +1 -1
  23. package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts.map +1 -1
  24. package/lib/typescript/src/components/input/parts/InputField.d.ts.map +1 -1
  25. package/lib/typescript/src/components/input/types.d.ts +4 -3
  26. package/lib/typescript/src/components/input/types.d.ts.map +1 -1
  27. package/lib/typescript/src/components/input/variants/SearchInput/SearchCancelButton.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/src/components/header/parts/HeaderBar.tsx +4 -1
  30. package/src/components/header/parts/HeaderGradientOverlay.tsx +15 -6
  31. package/src/components/header/parts/HeaderSurface.tsx +28 -9
  32. package/src/components/header/variants/LargeTitleHeader/index.tsx +1 -0
  33. package/src/components/header/variants/TitleHeader/index.tsx +1 -0
  34. package/src/components/input/parts/InputField.tsx +16 -1
  35. package/src/components/input/types.ts +4 -3
  36. 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":"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","ignoreList":[]}
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
- startOpacity = 1,
23
- endOpacity = HEADER_FADE_END_OPACITY
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: "100%",
28
- width: "100%",
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: startOpacity
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: "100%",
48
- height: "100%",
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","startOpacity","endOpacity","gradientId","height","width","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;AAS1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAC;EACpCC,KAAK;EACLC,YAAY,GAAG,CAAC;EAChBC,UAAU,GAAGJ;AACa,CAAC,EAAE;EAC7B,MAAMK,UAAU,GAAGhB,KAAK,CAAC,CAAC;EAE1B,oBACEU,KAAA,CAACT,GAAG;IAACgB,MAAM,EAAC,MAAM;IAACC,KAAK,EAAC,MAAM;IAAAC,QAAA,gBAC7BX,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,EAAEb;QAAa,CAAE,CAAC,eAChEN,IAAA,CAACJ,IAAI;UAACqB,MAAM,EAAE,CAAE;UAACC,SAAS,EAAEb,KAAM;UAACc,WAAW,EAAEZ;QAAW,CAAE,CAAC;MAAA,CAC7C;IAAC,CAChB,CAAC,eACPP,IAAA,CAACL,IAAI;MAACe,KAAK,EAAC,MAAM;MAACD,MAAM,EAAC,MAAM;MAACW,IAAI,EAAE,QAAQZ,UAAU;IAAI,CAAE,CAAC;EAAA,CAC7D,CAAC;AAEV","ignoreList":[]}
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 with matching gradient boundaries for the bar and accessory.
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
- startOpacity: accessory ? HEADER_FADE_END_OPACITY : 1,
24
- endOpacity: accessory ? 0.85 : HEADER_FADE_END_OPACITY
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","children","startOpacity","endOpacity","create","position","top","left","right","bottom"],"sourceRoot":"../../../../../src","sources":["components/header/parts/HeaderSurface.tsx"],"mappings":";;AAAA,OAAOA,QAAQ,MAAiC,yBAAyB;AACzE,SAASC,UAAU,QAAQ,wBAAwB;AAEnD,SAASC,uBAAuB,EAAEC,qBAAqB;AAAkC,SAAAC,GAAA,IAAAC,IAAA;AAazF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAAC;EAAEC,KAAK;EAAEC,aAAa;EAAEC;AAA8B,CAAC,EAAE;EACrF,oBACEJ,IAAA,CAACL,QAAQ,CAACU,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,OAAO,EAAEL,aAAa,CAAE;IAACM,aAAa,EAAC,MAAM;IAAAC,QAAA,eACzEV,IAAA,CAACF,qBAAqB;MACpBI,KAAK,EAAEA,KAAM;MACbS,YAAY,EAAEP,SAAS,GAAGP,uBAAuB,GAAG,CAAE;MACtDe,UAAU,EAAER,SAAS,GAAG,IAAI,GAAGP;IAAwB,CACxD;EAAC,CACW,CAAC;AAEpB;AAEA,MAAMU,MAAM,GAAGX,UAAU,CAACiB,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":[]}
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":"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","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","Portal","useHeaderBackground","SCREEN_HEADER_PORTAL_HOST","useHeaderColor","useLargeTitleHeader","HeaderAccessory","HeaderAccessorySpacer","HeaderBar","LargeTitleContent","jsx","_jsx","jsxs","_jsxs","LargeTitleHeader","title","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,EAAElB,cAAc,KAAKmB,SAAS,GAAGnB,cAAc,GAAGE,WAAY;MACrEkB,QAAQ,EAAEnB,eAAe,KAAKkB,SAAS,GAAGlB,eAAe,GAAGE;IAAa,CAC1E,CAAC,EACDC,SAAS,IAAI,IAAI,iBAChBZ,IAAA,CAACH,eAAe;MACdgC,OAAO,EAAEhB,gBAAiB;MAC1BM,KAAK,EAAEA,KAAM;MACbW,cAAc,EAAEZ,MAAM,EAAEa,wBAAyB;MAAAP,QAAA,EAEhDZ;IAAS,CACK,CAClB;EAAA,CACG,CAAC;AAEX;AAEA,MAAMU,MAAM,GAAG7B,UAAU,CAACuC,MAAM,CAAC,CAACC,CAAC,EAAEC,OAAO,MAAM;EAChDX,SAAS,EAAE;IAAEY,QAAQ,EAAE,UAAU;IAAEC,GAAG,EAAE,CAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAK,CAAC;EAC5Ed,QAAQ,EAAEA,CAACN,KAAa,EAAEqB,YAAqB,MAAM;IACnDC,MAAM,EAAED,YAAY,GAAG,CAAC,GAAGN,OAAO,CAACQ,MAAM,CAACN,GAAG;IAC7CO,eAAe,EAAExB,KAAK;IAAAyB,iBAAA;EACxB,CAAC;AACH,CAAC,CAAC,CAAC","ignoreList":[]}
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: 0,
146
- offsetY: 0,
147
- blurRadius: 4,
148
- spreadDistance: 1,
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","spreadDistance","backgroundColor","borderRadius","flex","paddingVertical","fontFamily","fontSize"],"sourceRoot":"../../../../../src","sources":["components/input/parts/InputField.tsx"],"mappings":"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","ignoreList":[]}
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":";;;;AAAA,SAA4BA,UAAU,QAAQ,OAAO;AAGrD,SAASC,UAAU,EAAEC,YAAY,QAAQ,wBAAwB;AAGjE,SAASC,SAAS;AAClB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB,EAAEC,WAAW;AACvC,SAASC,aAAa;AAAmC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGzD;AACA,OAAO,MAAMC,YAAuC,GAAG;EAAEC,EAAE,EAAE,EAAE;EAAEC,EAAE,EAAE,EAAE;EAAEC,EAAE,EAAE;AAAG,CAAC;;AAEjF;AACA,MAAMC,YAAmE,GAAG;EAC1EH,EAAE,EAAE,aAAa;EACjBC,EAAE,EAAE,SAAS;EACbC,EAAE,EAAE;AACN,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,UAAU,gBAAGjB,UAAU,CAAiD,SAASiB,UAAUA,CACtG;EACEC,IAAI,GAAG,IAAI;EACXC,UAAU,GAAG,KAAK;EAClBC,SAAS,GAAG,KAAK;EACjBC,gBAAgB;EAChBC,gBAAgB;EAChBC,YAAY,GAAG,KAAK;EACpBC,OAAO;EACPC,QAAQ;EACRC,UAAU,GAAG,gBAAgB;EAC7BC,MAAM,GAAG,IAAI;EACbC,KAAK;EACLC,OAAO;EACPC,MAAM;EACN,GAAGC;AACL,CAAC,EACDC,GAAG,EACH;EACA,MAAM;IAAEC,SAAS;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAG5B,aAAa,CAACsB,OAAO,EAAEC,MAAM,CAAC;EAC7E,MAAMM,UAAU,GAAGH,SAAS,IAAI,CAACd,UAAU;;EAE3C;EACA;EACA,MAAM;IAAEkB;EAAM,CAAC,GAAGnC,YAAY,CAAC,CAAC;EAAC,MAAAoC,OAAA,GAAAC,MAAA;EAAA;IAAA,MAAAA,MAAA,GAAAD,OAAA,CAAAE,WAAA,CAEd;MAAEtB,IAAI;MAAEuB,QAAQ,EAAEtB,UAAU;MAAEuB,OAAO,EAAEtB;IAAU,CAAC;IAErE,oBACET,KAAA,CAACgC,IAAI;MACHf,KAAK,EAAE,CACLW,MAAM,CAACK,SAAS,EAChBL,MAAM,CAACM,IAAI,CAACnB,UAAU,EAAEC,MAAM,CAAC,EAC/BS,UAAU,IAAIG,MAAM,CAACO,KAAK,CAACzB,gBAAgB,EAAEC,gBAAgB,EAAEC,YAAY,EAAEH,SAAS,CAAC,EACvFQ,KAAK,CACL;MAAAmB,QAAA,GAEDvB,OAAO,eACRf,IAAA,CAACuC,SAAS;QACRhB,GAAG,EAAEA,GAAI;QACTiB,QAAQ,EAAE,CAAC9B,UAAW;QACtB+B,oBAAoB,EAAEb,KAAK,CAACc,KAAK,CAAC,eAAe,CAAE;QACnDvB,KAAK,EAAEW,MAAM,CAACa;QACd;QACA;QAAA;QACAC,qBAAqB,EAAEhB,KAAK,CAACiB,UAAU,CAACC,QAAQ,CAACvC,YAAY,CAACE,IAAI,CAAC,CAAC,CAACmC,qBAAsB;QAC3FxB,OAAO,EAAEK,WAAY;QACrBJ,MAAM,EAAEK,UAAW;QAAA,GACfJ;MAAI,CACT,CAAC,EACDN,QAAQ;IAAA,CACL,CAAC;EACP;AACJ,CAAC,CAAC;AAEF,MAAMc,MAAM,GAAGtC,UAAU,CAACuD,MAAM,CAAEnB,KAAK,IAAK;EAC1C;EACA;EACA;EACA;EACA,MAAMoB,UAAU,GAAGpB,KAAK,CAACiB,UAAU,CAACC,QAAQ,CAACvC,YAAY,CAACF,EAAE,CAAC,CAAC4C,UAAU;EACxE,MAAMC,QAAQ,GAAGtB,KAAK,CAACiB,UAAU,CAACM,KAAK,CAACH,UAAU,CAAC;EACnD,MAAMI,gBAAgB,GAAGF,QAAQ,KAAKrD,WAAW;EAEjD,OAAO;IACLsC,SAAS,EAAE;MACTkB,aAAa,EAAE,KAAK;MACpBC,UAAU,EAAE,QAAQ;MACpBC,WAAW,EAAE/D,UAAU,CAACgE,aAAa;MACrCC,WAAW,EAAE7B,KAAK,CAACc,KAAK,CAAC,eAAe,CAAC;MACzCI,QAAQ,EAAE;QACRrC,IAAI,EAAE;UACJL,EAAE,EAAE;YAAEsD,MAAM,EAAEvD,YAAY,CAACC,EAAE;YAAEuD,iBAAiB,EAAE/B,KAAK,CAACgC,OAAO,CAAC,GAAG,CAAC;YAAEC,GAAG,EAAE;UAAE,CAAC;UAC9ExD,EAAE,EAAE;YAAEqD,MAAM,EAAEvD,YAAY,CAACE,EAAE;YAAEsD,iBAAiB,EAAE/B,KAAK,CAACgC,OAAO,CAAC,GAAG,CAAC;YAAEC,GAAG,EAAE;UAAE,CAAC;UAC9EvD,EAAE,EAAE;YAAEoD,MAAM,EAAEvD,YAAY,CAACG,EAAE;YAAEqD,iBAAiB,EAAE/B,KAAK,CAACgC,OAAO,CAAC,GAAG,CAAC;YAAEC,GAAG,EAAE;UAAE;QAC/E,CAAC;QACD5B,OAAO,EAAE;UACP6B,IAAI,EAAE;YAAEL,WAAW,EAAE7B,KAAK,CAACc,KAAK,CAAC,aAAa;UAAE,CAAC;UACjDqB,KAAK,EAAE,CAAC;QACV,CAAC;QACD/B,QAAQ,EAAE;UACR8B,IAAI,EAAE;YAAEE,OAAO,EAAEpC,KAAK,CAACoC,OAAO,CAAChC;UAAS,CAAC;UACzC+B,KAAK,EAAE,CAAC;QACV;MACF,CAAC;MAAAE,iBAAA;IACH,CAAC;IACD;IACA;IACA;IACA;IACA5B,KAAK,EAAEA,CACLK,KAA6B,EAC7BwB,KAAyB,EACzBC,OAAgB,EAChBxD,SAAkB,KACf;MACH,MAAMyD,UAAU,GAAGzE,iBAAiB,CAAC+C,KAAK,IAAI,gBAAgB,EAAEd,KAAK,CAAC;MACtE,OAAO;QACL,IAAIsC,KAAK,KAAKG,SAAS,IAAI;UAAEd,WAAW,EAAEW;QAAM,CAAC,CAAC;QAClD,IAAIxB,KAAK,IAAI,CAAC/B,SAAS,IAAI;UAAE8C,WAAW,EAAEW;QAAW,CAAC,CAAC;QACvD;QACA;QACA;QACA;QACA;QACA;QACA;QACA,IAAID,OAAO,IACT,CAACxD,SAAS,IAAI;UACZ2D,SAAS,EAAE,CACT;YACEC,OAAO,EAAE3C,KAAK,CAAC4C,SAAS,CAACC,EAAE,CAACC,YAAY,CAACR,KAAK;YAC9CS,OAAO,EAAE/C,KAAK,CAAC4C,SAAS,CAACC,EAAE,CAACC,YAAY,CAAChB,MAAM;YAC/CkB,UAAU,EAAEhD,KAAK,CAAC4C,SAAS,CAACC,EAAE,CAACI,YAAY,GAAG,CAAC;YAC/CnC,KAAK,EAAEhD,SAAS,CAACkC,KAAK,CAAC4C,SAAS,CAACC,EAAE,CAACK,WAAW,EAAElD,KAAK,CAAC4C,SAAS,CAACC,EAAE,CAACM,aAAa;UACnF,CAAC;QAEL,CAAC,CAAC;QAAAd,iBAAA;MACN,CAAC;IACH,CAAC;IACD;IACA;IACA7B,IAAI,EAAEA,CAACnB,UAAsB,EAAEC,MAAiB,MAAM;MACpD8D,eAAe,EAAErF,iBAAiB,CAACsB,UAAU,EAAEW,KAAK,CAAC;MACrDqD,YAAY,EAAErD,KAAK,CAACV,MAAM,CAACA,MAAM,CAAC;MAAA+C,iBAAA;IACpC,CAAC,CAAC;IACFtB,KAAK,EAAE;MACLuC,IAAI,EAAE,CAAC;MACP;MACA;MACAC,eAAe,EAAE,CAAC;MAClBzC,KAAK,EAAEd,KAAK,CAACc,KAAK,CAAC,cAAc,CAAC;MAClC;MACA;MACA0C,UAAU,EAAEhC,gBAAgB,GAAGiB,SAAS,GAAGnB,QAAQ;MACnDD,UAAU,EAAEG,gBAAgB,GAAGxD,iBAAiB,CAACoD,UAAU,CAAC,GAAGqB,SAAS;MACxEvB,QAAQ,EAAE;QACRrC,IAAI,EAAE;UACJL,EAAE,EAAE;YAAEiF,QAAQ,EAAEzD,KAAK,CAACiB,UAAU,CAACC,QAAQ,CAACvC,YAAY,CAACH,EAAE,CAAC,CAACiF;UAAS,CAAC;UACrEhF,EAAE,EAAE;YAAEgF,QAAQ,EAAEzD,KAAK,CAACiB,UAAU,CAACC,QAAQ,CAACvC,YAAY,CAACF,EAAE,CAAC,CAACgF;UAAS,CAAC;UACrE/E,EAAE,EAAE;YAAE+E,QAAQ,EAAEzD,KAAK,CAACiB,UAAU,CAACC,QAAQ,CAACvC,YAAY,CAACD,EAAE,CAAC,CAAC+E;UAAS;QACtE,CAAC;QACDpD,OAAO,EAAE;UAAE6B,IAAI,EAAE,CAAC,CAAC;UAAEC,KAAK,EAAE,CAAC;QAAE,CAAC;QAChC/B,QAAQ,EAAE;UAAE8B,IAAI,EAAE,CAAC,CAAC;UAAEC,KAAK,EAAE,CAAC;QAAE;MAClC,CAAC;MAAAE,iBAAA;IACH;EACF,CAAC;AACH,CAAC,CAAC","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","overflow","pointerEvents","height","borderRadius","alignItems","backgroundColor","borderWidth","hairlineWidth","borderColor","uni__dependencies"],"sourceRoot":"../../../../../../src","sources":["components/input/variants/SearchInput/SearchCancelButton.tsx"],"mappings":"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","ignoreList":[]}
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 {@link HEADER_FADE_END_OPACITY}. */
8
+ /** Fill color, ramped from opaque to `endOpacity`. */
9
9
  color: string;
10
- startOpacity?: number;
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, startOpacity, endOpacity, }: HeaderGradientOverlayProps): import("react").JSX.Element;
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,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,YAAgB,EAChB,UAAoC,GACrC,EAAE,0BAA0B,+BAc5B"}
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
- /** Continue the bar's gradient from 0.85 to 0.80 beneath an accessory. */
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 with matching gradient boundaries for the bar and accessory.
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":"AAAA,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,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,kBAAkB,+BAUpF"}
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,+BAkDvB"}
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,+BA6BlB"}
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":"AASA,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"}
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
- * Surround the field with a soft glow while focused, tinted by
32
- * `focusBorderColor` or `border.default` when that is unset. Defaults to
33
- * `false`; `Input.Search` turns it on.
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;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B"}
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"}
@@ -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,+BAuCzB"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-terra-ui",
3
- "version": "0.13.8",
3
+ "version": "0.13.10",
4
4
  "description": "Themeable React Native UI components built on react-native-unistyles",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -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 {@link HEADER_FADE_END_OPACITY}. */
13
+ /** Fill color, ramped from opaque to `endOpacity`. */
14
14
  color: string;
15
- startOpacity?: number;
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="100%" width="100%">
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={startOpacity} />
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="100%" height="100%" fill={`url(#${gradientId})`} />
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
- /** Continue the bar's gradient from 0.85 to 0.80 beneath an accessory. */
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 with matching gradient boundaries for the bar and accessory.
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: [{ offsetX: 0, offsetY: 0, blurRadius: 4, spreadDistance: 1, color: focusColor }],
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
- * Surround the field with a soft glow while focused, tinted by
35
- * `focusBorderColor` or `border.default` when that is unset. Defaults to
36
- * `false`; `Input.Search` turns it on.
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
  }));