react-native-terra-ui 0.13.7 → 0.13.9

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 (68) hide show
  1. package/CHANGELOG.md +18 -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 +1 -2
  5. package/lib/module/components/header/parts/HeaderGradientOverlay.js.map +1 -1
  6. package/lib/module/components/header/parts/HeaderSurface.js +9 -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/hooks/use-focus-state.js +25 -0
  13. package/lib/module/components/input/hooks/use-focus-state.js.map +1 -0
  14. package/lib/module/components/input/parts/InputField.js +53 -31
  15. package/lib/module/components/input/parts/InputField.js.map +1 -1
  16. package/lib/module/components/input/variants/SearchInput/SearchCancelButton.js +93 -0
  17. package/lib/module/components/input/variants/SearchInput/SearchCancelButton.js.map +1 -0
  18. package/lib/module/components/input/variants/SearchInput/SearchClearButton.js +52 -0
  19. package/lib/module/components/input/variants/SearchInput/SearchClearButton.js.map +1 -0
  20. package/lib/module/components/input/variants/SearchInput/index.js +85 -30
  21. package/lib/module/components/input/variants/SearchInput/index.js.map +1 -1
  22. package/lib/module/components/input/variants/SearchInput/utils.js +9 -0
  23. package/lib/module/components/input/variants/SearchInput/utils.js.map +1 -0
  24. package/lib/module/components/screen/ScreenList.js +5 -1
  25. package/lib/module/components/screen/ScreenList.js.map +1 -1
  26. package/lib/module/components/screen/ScreenScrollView.js +5 -1
  27. package/lib/module/components/screen/ScreenScrollView.js.map +1 -1
  28. package/lib/module/theme/tokens/light.js +1 -1
  29. package/lib/typescript/src/components/header/parts/HeaderBar.d.ts +3 -1
  30. package/lib/typescript/src/components/header/parts/HeaderBar.d.ts.map +1 -1
  31. package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts +3 -3
  32. package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts.map +1 -1
  33. package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts +12 -3
  34. package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts.map +1 -1
  35. package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts.map +1 -1
  36. package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts.map +1 -1
  37. package/lib/typescript/src/components/input/hooks/use-focus-state.d.ts +15 -0
  38. package/lib/typescript/src/components/input/hooks/use-focus-state.d.ts.map +1 -0
  39. package/lib/typescript/src/components/input/parts/InputField.d.ts +3 -1
  40. package/lib/typescript/src/components/input/parts/InputField.d.ts.map +1 -1
  41. package/lib/typescript/src/components/input/types.d.ts +11 -1
  42. package/lib/typescript/src/components/input/types.d.ts.map +1 -1
  43. package/lib/typescript/src/components/input/variants/SearchInput/SearchCancelButton.d.ts +19 -0
  44. package/lib/typescript/src/components/input/variants/SearchInput/SearchCancelButton.d.ts.map +1 -0
  45. package/lib/typescript/src/components/input/variants/SearchInput/SearchClearButton.d.ts +13 -0
  46. package/lib/typescript/src/components/input/variants/SearchInput/SearchClearButton.d.ts.map +1 -0
  47. package/lib/typescript/src/components/input/variants/SearchInput/index.d.ts +15 -1
  48. package/lib/typescript/src/components/input/variants/SearchInput/index.d.ts.map +1 -1
  49. package/lib/typescript/src/components/input/variants/SearchInput/utils.d.ts +4 -0
  50. package/lib/typescript/src/components/input/variants/SearchInput/utils.d.ts.map +1 -0
  51. package/lib/typescript/src/components/screen/ScreenList.d.ts.map +1 -1
  52. package/lib/typescript/src/components/screen/ScreenScrollView.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/src/components/header/parts/HeaderBar.tsx +4 -1
  55. package/src/components/header/parts/HeaderGradientOverlay.tsx +3 -4
  56. package/src/components/header/parts/HeaderSurface.tsx +14 -8
  57. package/src/components/header/variants/LargeTitleHeader/index.tsx +1 -0
  58. package/src/components/header/variants/TitleHeader/index.tsx +1 -0
  59. package/src/components/input/hooks/use-focus-state.ts +32 -0
  60. package/src/components/input/parts/InputField.tsx +45 -31
  61. package/src/components/input/types.ts +11 -1
  62. package/src/components/input/variants/SearchInput/SearchCancelButton.tsx +109 -0
  63. package/src/components/input/variants/SearchInput/SearchClearButton.tsx +58 -0
  64. package/src/components/input/variants/SearchInput/index.tsx +92 -24
  65. package/src/components/input/variants/SearchInput/utils.ts +4 -0
  66. package/src/components/screen/ScreenList.tsx +3 -0
  67. package/src/components/screen/ScreenScrollView.tsx +3 -0
  68. package/src/theme/tokens/light.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.13.9](https://github.com/earthlin9/react-native-terra-ui/compare/v0.13.8...v0.13.9) (2026-10-05)
4
+
5
+ ### Bug Fixes
6
+
7
+ * **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))
8
+
9
+ ## [0.13.8](https://github.com/earthlin9/react-native-terra-ui/compare/v0.13.7...v0.13.8) (2026-10-05)
10
+
11
+ ### Features
12
+
13
+ * **ui:** [input] add focus border and glow props, and a search cancel button ([c502519](https://github.com/earthlin9/react-native-terra-ui/commit/c50251916dc80669fc2a55933babfb59a1842e0c))
14
+
15
+ ### Bug Fixes
16
+
17
+ * **ui:** [input] call onCancelPress after blur so a cleared query sticks ([2e42186](https://github.com/earthlin9/react-native-terra-ui/commit/2e42186bfcade644710adb89e5efe7a4525679a1))
18
+ * **ui:** [screen] scroll focused inputs above the keyboard on iOS ([8b85d47](https://github.com/earthlin9/react-native-terra-ui/commit/8b85d4795d11fd49410a4c1087c3a3ddc4494f0a))
19
+ * **ui:** [theme] widen light text hierarchy within 4.5:1 contrast ([10f7143](https://github.com/earthlin9/react-native-terra-ui/commit/10f714331fb2ba0d4784dffbd4d6e8bcf13eb47b))
20
+
3
21
  ## [0.13.7](https://github.com/earthlin9/react-native-terra-ui/compare/v0.13.6...v0.13.7) (2026-10-04)
4
22
 
5
23
  ### 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,7 +19,6 @@ export const HEADER_FADE_END_OPACITY = 0.9;
19
19
  */
20
20
  export function HeaderGradientOverlay({
21
21
  color,
22
- startOpacity = 1,
23
22
  endOpacity = HEADER_FADE_END_OPACITY
24
23
  }) {
25
24
  const gradientId = useId();
@@ -36,7 +35,7 @@ export function HeaderGradientOverlay({
36
35
  children: [/*#__PURE__*/_jsx(Stop, {
37
36
  offset: 0,
38
37
  stopColor: color,
39
- stopOpacity: startOpacity
38
+ stopOpacity: 1
40
39
  }), /*#__PURE__*/_jsx(Stop, {
41
40
  offset: 1,
42
41
  stopColor: color,
@@ -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","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,UAAU,GAAGH;AACa,CAAC,EAAE;EAC7B,MAAMI,UAAU,GAAGf,KAAK,CAAC,CAAC;EAE1B,oBACEU,KAAA,CAACT,GAAG;IAACe,MAAM,EAAC,MAAM;IAACC,KAAK,EAAC,MAAM;IAAAC,QAAA,gBAC7BV,IAAA,CAACN,IAAI;MAAAgB,QAAA,eACHR,KAAA,CAACJ,iBAAiB;QAACa,EAAE,EAAEJ,UAAW;QAACK,EAAE,EAAC,GAAG;QAACC,EAAE,EAAC,GAAG;QAACC,EAAE,EAAC,GAAG;QAACC,EAAE,EAAC,GAAG;QAAAL,QAAA,gBAC5DV,IAAA,CAACJ,IAAI;UAACoB,MAAM,EAAE,CAAE;UAACC,SAAS,EAAEZ,KAAM;UAACa,WAAW,EAAE;QAAE,CAAE,CAAC,eACrDlB,IAAA,CAACJ,IAAI;UAACoB,MAAM,EAAE,CAAE;UAACC,SAAS,EAAEZ,KAAM;UAACa,WAAW,EAAEZ;QAAW,CAAE,CAAC;MAAA,CAC7C;IAAC,CAChB,CAAC,eACPN,IAAA,CAACL,IAAI;MAACc,KAAK,EAAC,MAAM;MAACD,MAAM,EAAC,MAAM;MAACW,IAAI,EAAE,QAAQZ,UAAU;IAAI,CAAE,CAAC;EAAA,CAC7D,CAAC;AAEV","ignoreList":[]}
@@ -5,7 +5,11 @@ import { StyleSheet } from "react-native-unistyles";
5
5
  import { HEADER_FADE_END_OPACITY, HeaderGradientOverlay } from "./HeaderGradientOverlay.js";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  /**
8
- * Header background with matching gradient boundaries for the bar and accessory.
8
+ * Header background. One fade per header, at its bottom edge: the bar's when it
9
+ * stands alone, the accessory's when there is one, with the bar solid above it.
10
+ * Content scrolling under a pinned accessory then meets a header as opaque as
11
+ * any other, rather than one that thinned twice, once at each part's edge, and
12
+ * let saturated rows show through around a search field.
9
13
  *
10
14
  * The ramp spans the surface itself: it is sized by the caller and stays inside
11
15
  * those bounds, so a taller surface stretches the fade rather than adding to it.
@@ -13,15 +17,16 @@ import { jsx as _jsx } from "react/jsx-runtime";
13
17
  export function HeaderSurface({
14
18
  color,
15
19
  animatedStyle,
16
- accessory
20
+ accessory,
21
+ hasAccessoryBelow
17
22
  }) {
23
+ const fades = accessory || !hasAccessoryBelow;
18
24
  return /*#__PURE__*/_jsx(Animated.View, {
19
25
  style: [styles.surface, animatedStyle],
20
26
  pointerEvents: "none",
21
27
  children: /*#__PURE__*/_jsx(HeaderGradientOverlay, {
22
28
  color: color,
23
- startOpacity: accessory ? HEADER_FADE_END_OPACITY : 1,
24
- endOpacity: accessory ? 0.85 : HEADER_FADE_END_OPACITY
29
+ endOpacity: fades ? HEADER_FADE_END_OPACITY : 1
25
30
  })
26
31
  });
27
32
  }
@@ -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":["Animated","StyleSheet","HEADER_FADE_END_OPACITY","HeaderGradientOverlay","jsx","_jsx","HeaderSurface","color","animatedStyle","accessory","hasAccessoryBelow","fades","View","style","styles","surface","pointerEvents","children","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;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,oBACEL,IAAA,CAACL,QAAQ,CAACY,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,OAAO,EAAEP,aAAa,CAAE;IAACQ,aAAa,EAAC,MAAM;IAAAC,QAAA,eACzEZ,IAAA,CAACF,qBAAqB;MAACI,KAAK,EAAEA,KAAM;MAACW,UAAU,EAAEP,KAAK,GAAGT,uBAAuB,GAAG;IAAE,CAAE;EAAC,CAC3E,CAAC;AAEpB;AAEA,MAAMY,MAAM,GAAGb,UAAU,CAACkB,MAAM,CAAC,OAAO;EACtCJ,OAAO,EAAE;IACPK,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":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useState } from "react";
4
+ /**
5
+ * Track whether a `TextInput` is focused while still forwarding the caller's
6
+ * own `onFocus` / `onBlur`. Shared by the field (for its focus ring) and by
7
+ * variants that show extra controls while focused.
8
+ */
9
+ export function useFocusState(onFocus, onBlur) {
10
+ const [isFocused, setIsFocused] = useState(false);
11
+ const handleFocus = useCallback(event => {
12
+ setIsFocused(true);
13
+ onFocus?.(event);
14
+ }, [onFocus]);
15
+ const handleBlur = useCallback(event => {
16
+ setIsFocused(false);
17
+ onBlur?.(event);
18
+ }, [onBlur]);
19
+ return {
20
+ isFocused,
21
+ handleFocus,
22
+ handleBlur
23
+ };
24
+ }
25
+ //# sourceMappingURL=use-focus-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useState","useFocusState","onFocus","onBlur","isFocused","setIsFocused","handleFocus","event","handleBlur"],"sourceRoot":"../../../../../src","sources":["components/input/hooks/use-focus-state.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAM7C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,OAAsB,EAAEC,MAAoB,EAAE;EAC1E,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGL,QAAQ,CAAC,KAAK,CAAC;EAEjD,MAAMM,WAAW,GAAGP,WAAW,CAC5BQ,KAAK,IAAK;IACTF,YAAY,CAAC,IAAI,CAAC;IAClBH,OAAO,GAAGK,KAAK,CAAC;EAClB,CAAC,EACD,CAACL,OAAO,CACV,CAAC;EAED,MAAMM,UAAU,GAAGT,WAAW,CAC3BQ,KAAK,IAAK;IACTF,YAAY,CAAC,KAAK,CAAC;IACnBF,MAAM,GAAGI,KAAK,CAAC;EACjB,CAAC,EACD,CAACJ,MAAM,CACT,CAAC;EAED,OAAO;IAAEC,SAAS;IAAEE,WAAW;IAAEE;EAAW,CAAC;AAC/C","ignoreList":[]}
@@ -2,11 +2,19 @@
2
2
 
3
3
  import { View } from "react-native-unistyles/components/native/View";
4
4
  import { TextInput } from "react-native-unistyles/components/native/TextInput";
5
- import { forwardRef, useCallback, useState } from "react";
5
+ import { forwardRef } from "react";
6
6
  import { StyleSheet, useUnistyles } from "react-native-unistyles";
7
7
  import { resolveThemeColor } from "../../../utils/resolve-theme-color.js";
8
8
  import { FONT_WEIGHT_VALUE, SYSTEM_FONT } from "../../../utils/typography.js";
9
+ import { useFocusState } from "../hooks/use-focus-state.js";
9
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ /** Container height per size, in dp. Sibling controls sized to match read from here. */
12
+ export const FIELD_HEIGHT = {
13
+ sm: 36,
14
+ md: 44,
15
+ lg: 52
16
+ };
17
+
10
18
  /** Typographic role of the text, per size. */
11
19
  const TEXT_VARIANT = {
12
20
  sm: "subheadline",
@@ -23,6 +31,9 @@ export const InputField = /*#__PURE__*/forwardRef(function InputField({
23
31
  size = "md",
24
32
  isDisabled = false,
25
33
  isInvalid = false,
34
+ focusBorderColor,
35
+ focusBorderWidth,
36
+ hasFocusGlow = false,
26
37
  leading,
27
38
  trailing,
28
39
  background = "surface.sunken",
@@ -32,31 +43,27 @@ export const InputField = /*#__PURE__*/forwardRef(function InputField({
32
43
  onBlur,
33
44
  ...rest
34
45
  }, ref) {
35
- // The focus ring is a style decision, so it stays a variant; only the
36
- // placeholder colour has to leave the stylesheet, because `TextInput` takes it
37
- // as a prop rather than as a style.
38
- const [isFocused, setIsFocused] = useState(false);
46
+ const {
47
+ isFocused,
48
+ handleFocus,
49
+ handleBlur
50
+ } = useFocusState(onFocus, onBlur);
51
+ const showsFocus = isFocused && !isDisabled;
52
+
53
+ // The placeholder colour has to leave the stylesheet because `TextInput` takes
54
+ // it as a prop rather than as a style.
39
55
  const {
40
56
  theme
41
57
  } = useUnistyles();
42
- const handleFocus = useCallback(event => {
43
- setIsFocused(true);
44
- onFocus?.(event);
45
- }, [onFocus]);
46
- const handleBlur = useCallback(event => {
47
- setIsFocused(false);
48
- onBlur?.(event);
49
- }, [onBlur]);
50
58
  const _styles = styles;
51
59
  {
52
60
  const styles = _styles.useVariants({
53
61
  size,
54
62
  disabled: isDisabled,
55
- invalid: isInvalid,
56
- focused: isFocused && !isDisabled
63
+ invalid: isInvalid
57
64
  });
58
65
  return /*#__PURE__*/_jsxs(View, {
59
- style: [styles.container, styles.fill(background, radius), style],
66
+ style: [styles.container, styles.fill(background, radius), showsFocus && styles.focus(focusBorderColor, focusBorderWidth, hasFocusGlow, isInvalid), style],
60
67
  children: [leading, /*#__PURE__*/_jsx(TextInput, {
61
68
  ref: ref,
62
69
  editable: !isDisabled,
@@ -90,27 +97,21 @@ const styles = StyleSheet.create(theme => {
90
97
  variants: {
91
98
  size: {
92
99
  sm: {
93
- height: 36,
94
- paddingHorizontal: theme.spacing["4"],
100
+ height: FIELD_HEIGHT.sm,
101
+ paddingHorizontal: theme.spacing["3"],
95
102
  gap: 6
96
103
  },
97
104
  md: {
98
- height: 44,
99
- paddingHorizontal: theme.spacing["4"],
105
+ height: FIELD_HEIGHT.md,
106
+ paddingHorizontal: theme.spacing["3"],
100
107
  gap: 6
101
108
  },
102
109
  lg: {
103
- height: 52,
110
+ height: FIELD_HEIGHT.lg,
104
111
  paddingHorizontal: theme.spacing["4"],
105
112
  gap: 6
106
113
  }
107
114
  },
108
- focused: {
109
- true: {
110
- borderColor: theme.color["accent.border"]
111
- },
112
- false: {}
113
- },
114
115
  invalid: {
115
116
  true: {
116
117
  borderColor: theme.color["danger.text"]
@@ -126,6 +127,31 @@ const styles = StyleSheet.create(theme => {
126
127
  },
127
128
  uni__dependencies: [0, 4]
128
129
  },
130
+ // Only the keys that apply are set, so an unset option leaves the resting
131
+ // border alone rather than overriding it with `undefined`. An invalid field
132
+ // keeps its danger border and skips the glow, so the error stays the loudest
133
+ // signal; only the width still follows focus.
134
+ focus: (color, width, hasGlow, isInvalid) => {
135
+ const focusColor = resolveThemeColor(color ?? "border.default", theme);
136
+ return {
137
+ ...(width !== undefined && {
138
+ borderWidth: width
139
+ }),
140
+ ...(color && !isInvalid && {
141
+ borderColor: focusColor
142
+ }),
143
+ ...(hasGlow && !isInvalid && {
144
+ boxShadow: [{
145
+ offsetX: 0,
146
+ offsetY: 0,
147
+ blurRadius: 4,
148
+ spreadDistance: 1,
149
+ color: focusColor
150
+ }]
151
+ }),
152
+ uni__dependencies: [0]
153
+ };
154
+ },
129
155
  // `background` is an open `ColorToken` and `radius` an eight-step scale, so
130
156
  // both resolve in a dynamic function rather than enumerating as variants.
131
157
  fill: (background, radius) => ({
@@ -155,10 +181,6 @@ const styles = StyleSheet.create(theme => {
155
181
  fontSize: theme.typography.variants[TEXT_VARIANT.lg].fontSize
156
182
  }
157
183
  },
158
- focused: {
159
- true: {},
160
- false: {}
161
- },
162
184
  invalid: {
163
185
  true: {},
164
186
  false: {}
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useState","StyleSheet","useUnistyles","resolveThemeColor","FONT_WEIGHT_VALUE","SYSTEM_FONT","jsx","_jsx","jsxs","_jsxs","TEXT_VARIANT","sm","md","lg","InputField","size","isDisabled","isInvalid","leading","trailing","background","radius","style","onFocus","onBlur","rest","ref","isFocused","setIsFocused","theme","handleFocus","event","handleBlur","_styles","styles","useVariants","disabled","invalid","focused","View","container","fill","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","backgroundColor","borderRadius","flex","paddingVertical","fontFamily","undefined","fontSize"],"sourceRoot":"../../../../../src","sources":["components/input/parts/InputField.tsx"],"mappings":"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","ignoreList":[]}
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":";;;;AAAA,SAA4BA,UAAU,QAAQ,OAAO;AAGrD,SAASC,UAAU,EAAEC,YAAY,QAAQ,wBAAwB;AAGjE,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,gBAAGhB,UAAU,CAAiD,SAASgB,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,GAAGlC,YAAY,CAAC,CAAC;EAAC,MAAAmC,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,GAAGrC,UAAU,CAACsD,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,EAAE9D,UAAU,CAAC+D,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,IAAID,OAAO,IACT,CAACxD,SAAS,IAAI;UACZ2D,SAAS,EAAE,CAAC;YAAEC,OAAO,EAAE,CAAC;YAAEC,OAAO,EAAE,CAAC;YAAEC,UAAU,EAAE,CAAC;YAAEC,cAAc,EAAE,CAAC;YAAEhC,KAAK,EAAE0B;UAAW,CAAC;QAC7F,CAAC,CAAC;QAAAH,iBAAA;MACN,CAAC;IACH,CAAC;IACD;IACA;IACA7B,IAAI,EAAEA,CAACnB,UAAsB,EAAEC,MAAiB,MAAM;MACpDyD,eAAe,EAAEhF,iBAAiB,CAACsB,UAAU,EAAEW,KAAK,CAAC;MACrDgD,YAAY,EAAEhD,KAAK,CAACV,MAAM,CAACA,MAAM,CAAC;MAAA+C,iBAAA;IACpC,CAAC,CAAC;IACFtB,KAAK,EAAE;MACLkC,IAAI,EAAE,CAAC;MACP;MACA;MACAC,eAAe,EAAE,CAAC;MAClBpC,KAAK,EAAEd,KAAK,CAACc,KAAK,CAAC,cAAc,CAAC;MAClC;MACA;MACAqC,UAAU,EAAE3B,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;YAAE4E,QAAQ,EAAEpD,KAAK,CAACiB,UAAU,CAACC,QAAQ,CAACvC,YAAY,CAACH,EAAE,CAAC,CAAC4E;UAAS,CAAC;UACrE3E,EAAE,EAAE;YAAE2E,QAAQ,EAAEpD,KAAK,CAACiB,UAAU,CAACC,QAAQ,CAACvC,YAAY,CAACF,EAAE,CAAC,CAAC2E;UAAS,CAAC;UACrE1E,EAAE,EAAE;YAAE0E,QAAQ,EAAEpD,KAAK,CAACiB,UAAU,CAACC,QAAQ,CAACvC,YAAY,CAACD,EAAE,CAAC,CAAC0E;UAAS;QACtE,CAAC;QACD/C,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":[]}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ import { useEffect } from "react";
4
+ import Animated, { Easing, interpolate, useAnimatedStyle, useSharedValue, withTiming } from "react-native-reanimated";
5
+ import { StyleSheet, useUnistyles } from "react-native-unistyles";
6
+ import { resolveThemeColor } from "../../../../utils/resolve-theme-color.js";
7
+ import { Icon } from "../../../icon/index.js";
8
+ import { PressableOpacity } from "../../../pressable/index.js";
9
+ import { FIELD_HEIGHT } from "../../parts/InputField.js";
10
+ import { ICON_SIZE } from "./utils.js";
11
+
12
+ /** How long the button takes to slide in and the field to make room, in ms. */
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ const TRANSITION_MS = 250;
15
+
16
+ /** Scale the button grows from, so it pops in rather than only fading. */
17
+ const START_SCALE = 0.6;
18
+
19
+ /** The x runs a touch larger than the field's glyphs; it has a circle to itself. */
20
+ const GLYPH_EXTRA = 2;
21
+ /**
22
+ * A round button the height of the field, in a slot that opens and closes
23
+ * beside it. The slot stays mounted so it can animate out; while collapsed it
24
+ * is hidden from touch and from screen readers.
25
+ */
26
+ export function SearchCancelButton({
27
+ isVisible,
28
+ size,
29
+ background,
30
+ accessibilityLabel,
31
+ onPress
32
+ }) {
33
+ // One progress value drives the slot's width, so the field (flex: 1) gives
34
+ // up its room frame by frame instead of jumping when the button appears.
35
+ const {
36
+ theme
37
+ } = useUnistyles();
38
+ const progress = useSharedValue(0);
39
+ const diameter = FIELD_HEIGHT[size];
40
+ // The gap lives inside the slot, so it opens with the button and the field
41
+ // sits flush to the edge when the button is gone.
42
+ const slotWidth = diameter + theme.spacing["2"];
43
+ useEffect(() => {
44
+ progress.value = withTiming(isVisible ? 1 : 0, {
45
+ duration: TRANSITION_MS,
46
+ easing: Easing.bezier(0.25, 0.1, 0.25, 1)
47
+ });
48
+ }, [isVisible, progress]);
49
+ const slotStyle = useAnimatedStyle(() => ({
50
+ width: progress.value * slotWidth,
51
+ opacity: progress.value,
52
+ transform: [{
53
+ scale: interpolate(progress.value, [0, 1], [START_SCALE, 1])
54
+ }]
55
+ }));
56
+ return /*#__PURE__*/_jsx(Animated.View, {
57
+ style: [styles.slot(isVisible), slotStyle],
58
+ accessibilityElementsHidden: !isVisible,
59
+ importantForAccessibility: isVisible ? "auto" : "no-hide-descendants",
60
+ children: /*#__PURE__*/_jsx(PressableOpacity, {
61
+ accessibilityLabel: accessibilityLabel,
62
+ accessibilityRole: "button",
63
+ onPress: onPress,
64
+ style: styles.button(diameter, background),
65
+ children: /*#__PURE__*/_jsx(Icon, {
66
+ name: "terra.x",
67
+ size: ICON_SIZE[size] + GLYPH_EXTRA,
68
+ color: "text.primary"
69
+ })
70
+ })
71
+ });
72
+ }
73
+ const styles = StyleSheet.create(theme => ({
74
+ slot: isVisible => ({
75
+ flexDirection: "row",
76
+ justifyContent: "flex-end",
77
+ overflow: "hidden",
78
+ pointerEvents: isVisible ? "auto" : "none"
79
+ }),
80
+ // A circle the height of the field, filled and edged to match it.
81
+ button: (diameter, background) => ({
82
+ width: diameter,
83
+ height: diameter,
84
+ borderRadius: diameter / 2,
85
+ alignItems: "center",
86
+ justifyContent: "center",
87
+ backgroundColor: resolveThemeColor(background, theme),
88
+ borderWidth: StyleSheet.hairlineWidth,
89
+ borderColor: theme.color["border.subtle"],
90
+ uni__dependencies: [0]
91
+ })
92
+ }));
93
+ //# sourceMappingURL=SearchCancelButton.js.map
@@ -0,0 +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":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ import { Pressable } from "react-native-unistyles/components/native/Pressable";
4
+ import { StyleSheet } from "react-native-unistyles";
5
+ import { Icon } from "../../../icon/index.js";
6
+ import { ICON_SIZE } from "./utils.js";
7
+
8
+ /** Touch expansion around the button, in dp — it is smaller than a cell. */
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ const HIT_SLOP = 8;
11
+
12
+ /** The x as a share of its disc, so it reads inside the circle. */
13
+ const GLYPH_RATIO = 0.6;
14
+
15
+ /** Heavier than the icon default so the small glyph stays legible on the disc. */
16
+ const GLYPH_STROKE_WIDTH = 3.3;
17
+ /**
18
+ * A solid disc with an x, like iOS's `xmark.circle.fill`. Sized to the field's
19
+ * glyphs so it sits in the trailing slot without changing the row height.
20
+ */
21
+ export function SearchClearButton({
22
+ size,
23
+ accessibilityLabel,
24
+ onPress
25
+ }) {
26
+ const diameter = ICON_SIZE[size];
27
+ return /*#__PURE__*/_jsx(Pressable, {
28
+ accessibilityLabel: accessibilityLabel,
29
+ accessibilityRole: "button",
30
+ hitSlop: HIT_SLOP,
31
+ onPress: onPress,
32
+ style: styles.disc(diameter),
33
+ children: /*#__PURE__*/_jsx(Icon, {
34
+ name: "terra.x",
35
+ size: Math.round(diameter * GLYPH_RATIO),
36
+ color: "text.inverse",
37
+ strokeWidth: GLYPH_STROKE_WIDTH
38
+ })
39
+ });
40
+ }
41
+ const styles = StyleSheet.create(theme => ({
42
+ disc: diameter => ({
43
+ width: diameter,
44
+ height: diameter,
45
+ borderRadius: diameter / 2,
46
+ alignItems: "center",
47
+ justifyContent: "center",
48
+ backgroundColor: theme.color["text.tertiary"],
49
+ uni__dependencies: [0]
50
+ })
51
+ }));
52
+ //# sourceMappingURL=SearchClearButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Icon","ICON_SIZE","jsx","_jsx","HIT_SLOP","GLYPH_RATIO","GLYPH_STROKE_WIDTH","SearchClearButton","size","accessibilityLabel","onPress","diameter","Pressable","accessibilityRole","hitSlop","style","styles","disc","children","name","Math","round","color","strokeWidth","create","theme","width","height","borderRadius","alignItems","justifyContent","backgroundColor","uni__dependencies"],"sourceRoot":"../../../../../../src","sources":["components/input/variants/SearchInput/SearchClearButton.tsx"],"mappings":";;;AAEA,SAASA,UAAU,QAAQ,wBAAwB;AAEnD,SAASC,IAAI;AAEb,SAASC,SAAS;;AAElB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACA,MAAMC,QAAQ,GAAG,CAAC;;AAElB;AACA,MAAMC,WAAW,GAAG,GAAG;;AAEvB;AACA,MAAMC,kBAAkB,GAAG,GAAG;AAQ9B;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAC;EAAEC,IAAI;EAAEC,kBAAkB;EAAEC;AAAgC,CAAC,EAAE;EAC/F,MAAMC,QAAQ,GAAGV,SAAS,CAACO,IAAI,CAAC;EAEhC,oBACEL,IAAA,CAACS,SAAS;IACRH,kBAAkB,EAAEA,kBAAmB;IACvCI,iBAAiB,EAAC,QAAQ;IAC1BC,OAAO,EAAEV,QAAS;IAClBM,OAAO,EAAEA,OAAQ;IACjBK,KAAK,EAAEC,MAAM,CAACC,IAAI,CAACN,QAAQ,CAAE;IAAAO,QAAA,eAE7Bf,IAAA,CAACH,IAAI;MACHmB,IAAI,EAAC,SAAS;MACdX,IAAI,EAAEY,IAAI,CAACC,KAAK,CAACV,QAAQ,GAAGN,WAAW,CAAE;MACzCiB,KAAK,EAAC,cAAc;MACpBC,WAAW,EAAEjB;IAAmB,CACjC;EAAC,CACO,CAAC;AAEhB;AAEA,MAAMU,MAAM,GAAGjB,UAAU,CAACyB,MAAM,CAAEC,KAAK,KAAM;EAC3CR,IAAI,EAAGN,QAAgB,KAAM;IAC3Be,KAAK,EAAEf,QAAQ;IACfgB,MAAM,EAAEhB,QAAQ;IAChBiB,YAAY,EAAEjB,QAAQ,GAAG,CAAC;IAC1BkB,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,eAAe,EAAEN,KAAK,CAACH,KAAK,CAAC,eAAe,CAAC;IAAAU,iBAAA;EAC/C,CAAC;AACH,CAAC,CAAC,CAAC","ignoreList":[]}