react-native-terra-ui 0.11.4 → 0.11.6

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 (101) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/module/components/chip/Chip.js +25 -8
  3. package/lib/module/components/chip/Chip.js.map +1 -1
  4. package/lib/module/components/chip/utils.js +1 -1
  5. package/lib/module/components/chip/utils.js.map +1 -1
  6. package/lib/module/components/header/index.js.map +1 -1
  7. package/lib/module/components/header/parts/HeaderAccessory.js +55 -0
  8. package/lib/module/components/header/parts/HeaderAccessory.js.map +1 -0
  9. package/lib/module/components/header/parts/HeaderSurface.js +65 -0
  10. package/lib/module/components/header/parts/HeaderSurface.js.map +1 -0
  11. package/lib/module/components/header/types.js +2 -0
  12. package/lib/module/components/header/types.js.map +1 -0
  13. package/lib/module/components/header/utils.js +20 -0
  14. package/lib/module/components/header/utils.js.map +1 -0
  15. package/lib/module/components/header/variants/LargeTitleHeader/index.js +33 -30
  16. package/lib/module/components/header/variants/LargeTitleHeader/index.js.map +1 -1
  17. package/lib/module/components/header/variants/TitleHeader/index.js +29 -27
  18. package/lib/module/components/header/variants/TitleHeader/index.js.map +1 -1
  19. package/lib/module/components/index.js +1 -0
  20. package/lib/module/components/index.js.map +1 -1
  21. package/lib/module/components/input/Input.js +32 -0
  22. package/lib/module/components/input/Input.js.map +1 -0
  23. package/lib/module/components/input/index.js +5 -0
  24. package/lib/module/components/input/index.js.map +1 -0
  25. package/lib/module/components/input/parts/InputField.js +161 -0
  26. package/lib/module/components/input/parts/InputField.js.map +1 -0
  27. package/lib/module/components/input/types.js +4 -0
  28. package/lib/module/components/input/types.js.map +1 -0
  29. package/lib/module/components/input/variants/SearchInput/index.js +100 -0
  30. package/lib/module/components/input/variants/SearchInput/index.js.map +1 -0
  31. package/lib/module/components/screen/ScreenContext.js +10 -1
  32. package/lib/module/components/screen/ScreenContext.js.map +1 -1
  33. package/lib/module/components/screen/ScreenList.js +5 -3
  34. package/lib/module/components/screen/ScreenList.js.map +1 -1
  35. package/lib/module/components/screen/ScreenScrollView.js +5 -3
  36. package/lib/module/components/screen/ScreenScrollView.js.map +1 -1
  37. package/lib/module/components/toolbar/Toolbar.js +12 -5
  38. package/lib/module/components/toolbar/Toolbar.js.map +1 -1
  39. package/lib/module/theme/defaults/icons.js +21 -0
  40. package/lib/module/theme/defaults/icons.js.map +1 -1
  41. package/lib/typescript/src/components/chip/Chip.d.ts +8 -0
  42. package/lib/typescript/src/components/chip/Chip.d.ts.map +1 -1
  43. package/lib/typescript/src/components/chip/utils.d.ts +6 -1
  44. package/lib/typescript/src/components/chip/utils.d.ts.map +1 -1
  45. package/lib/typescript/src/components/header/index.d.ts +1 -0
  46. package/lib/typescript/src/components/header/index.d.ts.map +1 -1
  47. package/lib/typescript/src/components/header/parts/HeaderAccessory.d.ts +19 -0
  48. package/lib/typescript/src/components/header/parts/HeaderAccessory.d.ts.map +1 -0
  49. package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts +24 -0
  50. package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts.map +1 -0
  51. package/lib/typescript/src/components/header/types.d.ts +11 -0
  52. package/lib/typescript/src/components/header/types.d.ts.map +1 -0
  53. package/lib/typescript/src/components/header/utils.d.ts +14 -0
  54. package/lib/typescript/src/components/header/utils.d.ts.map +1 -0
  55. package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts +1 -1
  56. package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts.map +1 -1
  57. package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts +21 -2
  58. package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts.map +1 -1
  59. package/lib/typescript/src/components/index.d.ts +1 -0
  60. package/lib/typescript/src/components/index.d.ts.map +1 -1
  61. package/lib/typescript/src/components/input/Input.d.ts +28 -0
  62. package/lib/typescript/src/components/input/Input.d.ts.map +1 -0
  63. package/lib/typescript/src/components/input/index.d.ts +4 -0
  64. package/lib/typescript/src/components/input/index.d.ts.map +1 -0
  65. package/lib/typescript/src/components/input/parts/InputField.d.ts +8 -0
  66. package/lib/typescript/src/components/input/parts/InputField.d.ts.map +1 -0
  67. package/lib/typescript/src/components/input/types.d.ts +29 -0
  68. package/lib/typescript/src/components/input/types.d.ts.map +1 -0
  69. package/lib/typescript/src/components/input/variants/SearchInput/index.d.ts +24 -0
  70. package/lib/typescript/src/components/input/variants/SearchInput/index.d.ts.map +1 -0
  71. package/lib/typescript/src/components/screen/ScreenContext.d.ts +15 -0
  72. package/lib/typescript/src/components/screen/ScreenContext.d.ts.map +1 -1
  73. package/lib/typescript/src/components/screen/ScreenList.d.ts.map +1 -1
  74. package/lib/typescript/src/components/screen/ScreenScrollView.d.ts.map +1 -1
  75. package/lib/typescript/src/components/toolbar/Toolbar.d.ts +8 -3
  76. package/lib/typescript/src/components/toolbar/Toolbar.d.ts.map +1 -1
  77. package/lib/typescript/src/theme/defaults/icons.d.ts.map +1 -1
  78. package/lib/typescript/src/theme/types.d.ts +1 -1
  79. package/lib/typescript/src/theme/types.d.ts.map +1 -1
  80. package/package.json +1 -1
  81. package/src/components/chip/Chip.tsx +22 -9
  82. package/src/components/chip/utils.ts +7 -2
  83. package/src/components/header/index.ts +1 -0
  84. package/src/components/header/parts/HeaderAccessory.tsx +57 -0
  85. package/src/components/header/parts/HeaderSurface.tsx +65 -0
  86. package/src/components/header/types.ts +10 -0
  87. package/src/components/header/utils.ts +19 -0
  88. package/src/components/header/variants/LargeTitleHeader/index.tsx +43 -28
  89. package/src/components/header/variants/TitleHeader/index.tsx +42 -18
  90. package/src/components/index.ts +1 -0
  91. package/src/components/input/Input.tsx +36 -0
  92. package/src/components/input/index.ts +3 -0
  93. package/src/components/input/parts/InputField.tsx +138 -0
  94. package/src/components/input/types.ts +31 -0
  95. package/src/components/input/variants/SearchInput/index.tsx +118 -0
  96. package/src/components/screen/ScreenContext.tsx +26 -0
  97. package/src/components/screen/ScreenList.tsx +8 -3
  98. package/src/components/screen/ScreenScrollView.tsx +12 -3
  99. package/src/components/toolbar/Toolbar.tsx +17 -7
  100. package/src/theme/defaults/icons.tsx +13 -0
  101. package/src/theme/types.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AACf,OAAO,EAAa,KAAK,cAAc,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpF,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA4E1E,UAAU,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,CAAC;IACjF,4DAA4D;IAC5D,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GACrD,CACI;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CACtD,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,QAAa,EACb,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,OAAO,EACP,OAAkB,EAClB,KAAK,EACL,GAAG,IAAI,EACR,EAAE,kBAAkB,+BAyCpB;AAyBD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,mDAAmD;IACnD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,+LAqBvB,CAAC;AAIH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C;;;OAGG;IACH,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,WAAW,0LASf,CAAC;AAEH,KAAK,gBAAgB,GAAG,OAAO,WAAW,GAAG;IAC3C,KAAK,EAAE,OAAO,YAAY,CAAC;IAC3B,MAAM,EAAE,OAAO,aAAa,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAkB,gBAAgB,CAAC"}
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AACf,OAAO,EAAa,KAAK,cAAc,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpF,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA4E1E,UAAU,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;IAC9F,4DAA4D;IAC5D,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GACrD,CACI;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CACtD,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,QAAa,EACb,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,OAAO,EACP,UAAkB,EAClB,OAAkB,EAClB,KAAK,EACL,GAAG,IAAI,EACR,EAAE,kBAAkB,+BA6CpB;AAyBD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,mDAAmD;IACnD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,+LAqBvB,CAAC;AAIH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C;;;OAGG;IACH,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,WAAW,0LASf,CAAC;AAEH,KAAK,gBAAgB,GAAG,OAAO,WAAW,GAAG;IAC3C,KAAK,EAAE,OAAO,YAAY,CAAC;IAC3B,MAAM,EAAE,OAAO,aAAa,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAkB,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../../src/theme/defaults/icons.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,qBAAqB,EAAE,MAAM,aAAU,CAAC;AAkH1F,eAAO,MAAM,UAAU,EAAE,kBAUxB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAU1E,CAAC"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../../src/theme/defaults/icons.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,qBAAqB,EAAE,MAAM,aAAU,CAAC;AAkH1F,eAAO,MAAM,UAAU,EAAE,kBAUxB,CAAC;AAcF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAW1E,CAAC"}
@@ -290,7 +290,7 @@ declare global {
290
290
  }
291
291
  export interface TerraIconRegistry extends TerraUI.IconRegistry {
292
292
  }
293
- export type TerraSemanticIconName = "terra.chevron-left" | "terra.chevron-right" | "terra.x" | "terra.check" | "terra.person" | "status.info" | "status.success" | "status.warning" | "status.danger";
293
+ export type TerraSemanticIconName = "terra.chevron-left" | "terra.chevron-right" | "terra.x" | "terra.check" | "terra.person" | "terra.search" | "status.info" | "status.success" | "status.warning" | "status.danger";
294
294
  export type TerraConfiguredIconName = keyof TerraIconRegistry & string;
295
295
  export type TerraIconName = TerraSemanticIconName | TerraConfiguredIconName;
296
296
  export type ThemeRadiusOverride = DeepPartial<TerraTheme["radius"]> & {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/theme/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/theme/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-terra-ui",
3
- "version": "0.11.4",
3
+ "version": "0.11.6",
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",
@@ -14,6 +14,14 @@ export interface ChipProps extends ViewProps {
14
14
  size?: ChipSize;
15
15
  variant?: ChipVariant;
16
16
  color?: ChipColor;
17
+ /**
18
+ * Fill behind the chip, overriding the one its `variant` would paint.
19
+ *
20
+ * Only `outline` has a fill worth naming a default for — `'surface.default'`,
21
+ * so an outlined chip reads as a solid capsule rather than a ring over
22
+ * whatever it happens to sit on. Pass `'transparent'` to get the ring back.
23
+ */
24
+ background?: ColorToken;
17
25
  children?: ReactNode;
18
26
  }
19
27
 
@@ -177,9 +185,10 @@ function renderChildren(children: ReactNode): ReactNode {
177
185
  // ─── Component ────────────────────────────────────────────────────────────────
178
186
 
179
187
  const ChipRoot = forwardRef<ComponentRef<typeof View>, ChipProps>(function Chip(
180
- { size = "md", variant = "soft", color = "secondary", children, style, ...rest },
188
+ { size = "md", variant = "soft", color = "secondary", background, children, style, ...rest },
181
189
  ref
182
190
  ) {
191
+ const { theme } = useUnistyles();
183
192
  // Compound variants only match the 5 named schemes above — an arbitrary
184
193
  // literal never matches one, so it's cast to satisfy `useVariants`'s
185
194
  // literal-union type while still comparing against the real value below.
@@ -195,15 +204,20 @@ const ChipRoot = forwardRef<ComponentRef<typeof View>, ChipProps>(function Chip(
195
204
  const customPaint =
196
205
  customColors && variant !== "ghost"
197
206
  ? {
198
- backgroundColor: customColors.bg,
207
+ // Absent for outline, whose fill comes from the `outline` style
208
+ // variant — spreading `undefined` here would clear it instead.
209
+ ...(customColors.bg === undefined ? null : { backgroundColor: customColors.bg }),
199
210
  borderColor: customColors.border,
200
211
  borderWidth: customColors.borderWidth,
201
212
  }
202
213
  : null;
214
+ // Last of the paint layers, so an explicit fill beats both the variant's own
215
+ // and the one derived from a custom color literal.
216
+ const backgroundPaint = background ? { backgroundColor: resolveThemeColor(background, theme) } : null;
203
217
 
204
218
  return (
205
219
  <ChipContext.Provider value={{ color: fg, size }}>
206
- <View ref={ref} style={[styles.base, customPaint, style]} {...rest}>
220
+ <View ref={ref} style={[styles.base, customPaint, backgroundPaint, style]} {...rest}>
207
221
  {renderChildren(children)}
208
222
  </View>
209
223
  </ChipContext.Provider>
@@ -314,7 +328,11 @@ const styles = StyleSheet.create((theme) => {
314
328
  variant: {
315
329
  solid: {},
316
330
  soft: {},
317
- outline: {},
331
+ // The fill every outlined chip gets, whatever its color — the
332
+ // compound rows below only add the ring. A named default lives here
333
+ // rather than in each row so a custom color literal, which matches no
334
+ // compound row at all, is filled the same way.
335
+ outline: { backgroundColor: c["surface.default"] },
318
336
  ghost: {
319
337
  backgroundColor: "transparent",
320
338
  borderColor: "transparent",
@@ -343,7 +361,6 @@ const styles = StyleSheet.create((theme) => {
343
361
  color: "primary",
344
362
  variant: "outline",
345
363
  styles: {
346
- backgroundColor: "transparent",
347
364
  borderColor: c["accent.soft.bg"],
348
365
  borderWidth: 1,
349
366
  },
@@ -368,7 +385,6 @@ const styles = StyleSheet.create((theme) => {
368
385
  color: "secondary",
369
386
  variant: "outline",
370
387
  styles: {
371
- backgroundColor: "transparent",
372
388
  borderColor: c["neutral.soft.bg"],
373
389
  borderWidth: 1,
374
390
  },
@@ -393,7 +409,6 @@ const styles = StyleSheet.create((theme) => {
393
409
  color: "success",
394
410
  variant: "outline",
395
411
  styles: {
396
- backgroundColor: "transparent",
397
412
  borderColor: c["success.soft.bg"],
398
413
  borderWidth: 1,
399
414
  },
@@ -418,7 +433,6 @@ const styles = StyleSheet.create((theme) => {
418
433
  color: "warning",
419
434
  variant: "outline",
420
435
  styles: {
421
- backgroundColor: "transparent",
422
436
  borderColor: c["warning.soft.bg"],
423
437
  borderWidth: 1,
424
438
  },
@@ -443,7 +457,6 @@ const styles = StyleSheet.create((theme) => {
443
457
  color: "danger",
444
458
  variant: "outline",
445
459
  styles: {
446
- backgroundColor: "transparent",
447
460
  borderColor: c["danger.soft.bg"],
448
461
  borderWidth: 1,
449
462
  },
@@ -6,7 +6,12 @@ import { readableOn, withAlpha } from "#utils/color-utils";
6
6
  // full color scheme.
7
7
 
8
8
  export interface CustomChipColors {
9
- bg: string;
9
+ /**
10
+ * Undefined for `outline`, which takes the fill its style variant paints
11
+ * rather than deriving one — the outlined chip's fill is a surface, not a
12
+ * tint of the literal, so there is nothing here to derive it from.
13
+ */
14
+ bg: string | undefined;
10
15
  border: string;
11
16
  borderWidth: number;
12
17
  fg: string;
@@ -22,7 +27,7 @@ export function getCustomColorColors(
22
27
  // read as the same weight of colour — one filled, one drawn.
23
28
  if (variant === "outline") {
24
29
  return {
25
- bg: "transparent",
30
+ bg: undefined,
26
31
  border: withAlpha(literal, CUSTOM_COLOR_SOFT_ALPHA),
27
32
  borderWidth: 1,
28
33
  fg: literal,
@@ -7,6 +7,7 @@ export {
7
7
  type HeaderDismissNavigation,
8
8
  type HeaderDismissProps,
9
9
  } from "./header-buttons";
10
+ export type { HeaderAccessoryPadding } from "./types";
10
11
  export type { LargeTitleHeaderProps } from "./variants/LargeTitleHeader";
11
12
  export { LargeTitleHeader } from "./variants/LargeTitleHeader";
12
13
  export type { TitleHeaderProps } from "./variants/TitleHeader";
@@ -0,0 +1,57 @@
1
+ import { type ReactNode, useCallback, useContext, useEffect } from "react";
2
+ import { type LayoutChangeEvent, View } from "react-native";
3
+
4
+ import { StyleSheet } from "react-native-unistyles";
5
+
6
+ import { ScreenContext } from "../../screen/ScreenContext";
7
+ import type { HeaderAccessoryPadding } from "../types";
8
+
9
+ export interface HeaderAccessoryProps {
10
+ children: ReactNode;
11
+ /** Horizontal padding around the accessory. */
12
+ padding: HeaderAccessoryPadding;
13
+ }
14
+
15
+ /**
16
+ * Pinned content below a header bar — a search field, a tab strip.
17
+ *
18
+ * Reports its measured height to the surrounding `Screen` so scroll containers
19
+ * reserve it above their content. The theme header height covers the bar alone
20
+ * and the accessory is whatever the caller passed, so nothing but a measurement
21
+ * can know how far down the content has to start.
22
+ *
23
+ * Outside a `Screen` there is nothing to report to and it simply renders.
24
+ */
25
+ export function HeaderAccessory({ children, padding }: HeaderAccessoryProps) {
26
+ const setHeaderAccessoryHeight = useContext(ScreenContext)?.setHeaderAccessoryHeight;
27
+
28
+ const handleLayout = useCallback(
29
+ (event: LayoutChangeEvent) => {
30
+ setHeaderAccessoryHeight?.(event.nativeEvent.layout.height);
31
+ },
32
+ [setHeaderAccessoryHeight]
33
+ );
34
+
35
+ // An unmounted accessory never lays out again, so without this the screen
36
+ // would keep reserving room for content that is no longer there.
37
+ useEffect(() => () => setHeaderAccessoryHeight?.(0), [setHeaderAccessoryHeight]);
38
+
39
+ styles.useVariants({ padding });
40
+
41
+ return (
42
+ <View style={styles.accessory} onLayout={handleLayout}>
43
+ {children}
44
+ </View>
45
+ );
46
+ }
47
+
48
+ const styles = StyleSheet.create((theme) => ({
49
+ accessory: {
50
+ variants: {
51
+ padding: {
52
+ x: { paddingHorizontal: theme.layout.screen.padding.x },
53
+ none: {},
54
+ },
55
+ },
56
+ },
57
+ }));
@@ -0,0 +1,65 @@
1
+ import { View } from "react-native";
2
+
3
+ import Animated, { type useAnimatedStyle } from "react-native-reanimated";
4
+ import { StyleSheet } from "react-native-unistyles";
5
+
6
+ import { HEADER_FADE_EXTENT, HeaderGradientOverlay } from "./HeaderGradientOverlay";
7
+
8
+ type HeaderOpacityStyle = ReturnType<typeof useAnimatedStyle<{ opacity: number }>>;
9
+
10
+ export interface HeaderSurfaceProps {
11
+ /** Fill color, fading to fully transparent along the bottom edge. */
12
+ color: string;
13
+ /** Opacity style for variants that fade the whole surface in as they collapse. */
14
+ animatedStyle?: HeaderOpacityStyle;
15
+ }
16
+
17
+ /**
18
+ * The painted background behind a header — the bar, any accessory below it, and
19
+ * the fade that releases scrolling content at the bottom edge.
20
+ *
21
+ * Split into a flat fill and a fixed-height ramp rather than one gradient over
22
+ * the whole box, because {@link HeaderGradientOverlay}'s curve is expressed in
23
+ * fractions of its own height. Stretched over a tall accessory the fade would
24
+ * begin partway up it, and content passing behind would show through the thing
25
+ * the caller put there to be read. Pinning the ramp to the bar's height keeps it
26
+ * identical with or without an accessory, and everything above it stays solid.
27
+ */
28
+ export function HeaderSurface({ color, animatedStyle }: HeaderSurfaceProps) {
29
+ return (
30
+ <Animated.View style={[styles.surface, animatedStyle]} pointerEvents="none">
31
+ <View style={styles.fill(color)} />
32
+ <View style={styles.fade}>
33
+ <HeaderGradientOverlay color={color} />
34
+ </View>
35
+ </Animated.View>
36
+ );
37
+ }
38
+
39
+ const styles = StyleSheet.create((theme) => ({
40
+ // Covers the bar and any accessory, overhanging so the fade's tail finishes in
41
+ // open space rather than being clipped at the header's edge.
42
+ surface: {
43
+ position: "absolute",
44
+ top: 0,
45
+ left: 0,
46
+ right: 0,
47
+ bottom: -HEADER_FADE_EXTENT,
48
+ },
49
+ // Collapses to nothing when there is no accessory, leaving the ramp alone.
50
+ fill: (color: string) => ({
51
+ position: "absolute",
52
+ top: 0,
53
+ left: 0,
54
+ right: 0,
55
+ bottom: theme.layout.header.height + HEADER_FADE_EXTENT,
56
+ backgroundColor: color,
57
+ }),
58
+ fade: {
59
+ position: "absolute",
60
+ left: 0,
61
+ right: 0,
62
+ bottom: 0,
63
+ height: theme.layout.header.height + HEADER_FADE_EXTENT,
64
+ },
65
+ }));
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Horizontal padding applied to a header accessory.
3
+ *
4
+ * - `'x'` — the screen's horizontal padding, matching the bar above it. What a
5
+ * field-shaped accessory (a search input, a segmented control) wants.
6
+ * - `'none'` — full bleed. What a horizontally scrolling accessory (a tab strip,
7
+ * a filter row) wants, so its content can run to the screen edge instead of
8
+ * being clipped at an inset the caller cannot scroll past.
9
+ */
10
+ export type HeaderAccessoryPadding = "x" | "none";
@@ -0,0 +1,19 @@
1
+ import type { ReactNode } from "react";
2
+
3
+ /**
4
+ * True when a header title should be painted as themed header text. Every other
5
+ * node — an `Image`, an `Icon`, a row of them — is custom content the caller
6
+ * wants rendered exactly as given, so the header only positions it.
7
+ */
8
+ export function isTextTitle(title: ReactNode): title is string | number {
9
+ return typeof title === "string" || typeof title === "number";
10
+ }
11
+
12
+ /**
13
+ * True when the title is custom content rather than text or nothing. Such a
14
+ * title may be interactive, so its container has to let touches through to it
15
+ * (`box-none`) instead of swallowing them (`none`).
16
+ */
17
+ export function isCustomTitle(title: ReactNode): boolean {
18
+ return title != null && title !== false && !isTextTitle(title);
19
+ }
@@ -11,7 +11,9 @@ import { useHeaderBackground } from "../../../screen/parts/ScreenHeaderAppearanc
11
11
  import { SCREEN_HEADER_PORTAL_HOST, useScreen } from "../../../screen/ScreenContext";
12
12
  import { Toolbar } from "../../../toolbar";
13
13
  import { HeaderDismissButton } from "../../header-buttons";
14
- import { HEADER_FADE_EXTENT, HeaderGradientOverlay } from "../../parts/HeaderGradientOverlay";
14
+ import { HeaderAccessory } from "../../parts/HeaderAccessory";
15
+ import { HeaderSurface } from "../../parts/HeaderSurface";
16
+ import { isCustomTitle, isTextTitle } from "../../utils";
15
17
  import type { TitleHeaderProps } from "../TitleHeader";
16
18
 
17
19
  const AnimatedText = Animated.createAnimatedComponent(Text);
@@ -71,12 +73,16 @@ function LargeTitlePortalContent({
71
73
  {overline}
72
74
  </Text>
73
75
  )}
74
- <Text
75
- style={styles.largeTitle}
76
- maxFontSizeMultiplier={theme.typography.variants["headline-lg"].maxFontSizeMultiplier}
77
- >
78
- {title}
79
- </Text>
76
+ {isTextTitle(title) ? (
77
+ <Text
78
+ style={styles.largeTitle}
79
+ maxFontSizeMultiplier={theme.typography.variants["headline-lg"].maxFontSizeMultiplier}
80
+ >
81
+ {title}
82
+ </Text>
83
+ ) : (
84
+ title
85
+ )}
80
86
  {!!subtitle && (
81
87
  <Text
82
88
  style={styles.subtitle}
@@ -118,6 +124,8 @@ export function LargeTitleHeader({
118
124
  trailingActions,
119
125
  LeftToolbar,
120
126
  RightToolbar,
127
+ accessory,
128
+ accessoryPadding = "x",
121
129
  dismissAction = "none",
122
130
  navigation,
123
131
  onDismiss,
@@ -210,20 +218,33 @@ export function LargeTitleHeader({
210
218
  <LargeTitlePortalContent title={title} overline={overline} subtitle={subtitle} />
211
219
  </Portal>
212
220
  )}
213
- <View style={styles.bar}>
214
- <Animated.View style={[styles.gradient, gradientOpacityStyle]} pointerEvents="none">
215
- <HeaderGradientOverlay color={gradientColor} />
216
- </Animated.View>
217
- {leading != null && <Toolbar>{leading}</Toolbar>}
218
- <Animated.View style={[styles.titleContainer, compactTitleAnimatedStyle]} pointerEvents="none">
219
- <AnimatedText
220
- style={styles.compactTitle}
221
- maxFontSizeMultiplier={theme.typography.variants["title-md"].maxFontSizeMultiplier}
221
+ {/* The fade covers the bar and any accessory as one surface, so content
222
+ scrolling under the header meets a single boundary rather than two. */}
223
+ <View style={styles.barGroup}>
224
+ <HeaderSurface color={gradientColor} animatedStyle={gradientOpacityStyle} />
225
+ <View style={styles.bar}>
226
+ {leading != null && <Toolbar>{leading}</Toolbar>}
227
+ {/* Text can never be the touch target, but custom content may be, so its
228
+ container passes touches through to it instead of swallowing them. */}
229
+ <Animated.View
230
+ style={[styles.titleContainer, compactTitleAnimatedStyle]}
231
+ pointerEvents={isCustomTitle(title) ? "box-none" : "none"}
222
232
  >
223
- {title}
224
- </AnimatedText>
225
- </Animated.View>
226
- {trailing != null && <Toolbar style={styles.trailing}>{trailing}</Toolbar>}
233
+ {isTextTitle(title) ? (
234
+ <AnimatedText
235
+ style={styles.compactTitle}
236
+ maxFontSizeMultiplier={theme.typography.variants["title-md"].maxFontSizeMultiplier}
237
+ >
238
+ {title}
239
+ </AnimatedText>
240
+ ) : (
241
+ title
242
+ )}
243
+ </Animated.View>
244
+ {trailing != null && <Toolbar style={styles.trailing}>{trailing}</Toolbar>}
245
+ </View>
246
+ {/* Pinned, so it stays legible while the large title collapses past it. */}
247
+ {accessory != null && <HeaderAccessory padding={accessoryPadding}>{accessory}</HeaderAccessory>}
227
248
  </View>
228
249
  </View>
229
250
  );
@@ -237,14 +258,8 @@ const styles = StyleSheet.create((theme) => ({
237
258
  right: 0,
238
259
  zIndex: 1000,
239
260
  },
240
- // Let the fade extend below the bar without intercepting touches.
241
- gradient: {
242
- position: "absolute",
243
- top: 0,
244
- left: 0,
245
- right: 0,
246
- bottom: -HEADER_FADE_EXTENT,
247
- },
261
+ // Anchors the absolutely positioned surface over the bar and the accessory both.
262
+ barGroup: { position: "relative" },
248
263
  bar: {
249
264
  height: theme.layout.header.height,
250
265
  flexDirection: "row",
@@ -10,10 +10,18 @@ import { useHeaderBackground } from "../../../screen/parts/ScreenHeaderAppearanc
10
10
  import { ScreenContext } from "../../../screen/ScreenContext";
11
11
  import { Toolbar } from "../../../toolbar";
12
12
  import { HeaderDismissButton, type HeaderDismissProps } from "../../header-buttons";
13
- import { HEADER_FADE_EXTENT, HeaderGradientOverlay } from "../../parts/HeaderGradientOverlay";
13
+ import { HeaderAccessory } from "../../parts/HeaderAccessory";
14
+ import { HeaderSurface } from "../../parts/HeaderSurface";
15
+ import type { HeaderAccessoryPadding } from "../../types";
16
+ import { isCustomTitle, isTextTitle } from "../../utils";
14
17
 
15
18
  export interface TitleHeaderProps extends HeaderDismissProps {
16
- title?: string;
19
+ /**
20
+ * A `string` (or `number`) is painted in the header's own title style. Any
21
+ * other node — a logo, an `Icon`, a segmented control — renders as given, and
22
+ * the header only places it according to `titleAlignment`.
23
+ */
24
+ title?: ReactNode;
17
25
  /**
18
26
  * Leading-side actions, wrapped in a `Toolbar` row. Pass `Toolbar.Group` /
19
27
  * `Toolbar.Button` children directly — no `Toolbar` of your own.
@@ -28,6 +36,19 @@ export interface TitleHeaderProps extends HeaderDismissProps {
28
36
  trailingActions?: ReactNode;
29
37
  /** @deprecated Use trailingActions. */
30
38
  RightToolbar?: ReactNode;
39
+ /**
40
+ * Content pinned directly below the bar — a search field, a scrollable tab
41
+ * strip, a filter row. It stays put while the screen scrolls, and the
42
+ * surrounding `Screen`'s scroll containers reserve its measured height so
43
+ * content starts below it rather than under it.
44
+ */
45
+ accessory?: ReactNode;
46
+ /**
47
+ * Horizontal padding around `accessory`. Use `'none'` for content that should
48
+ * run to the screen edge, such as a horizontally scrolling tab strip.
49
+ * Defaults to `'x'`, matching the bar.
50
+ */
51
+ accessoryPadding?: HeaderAccessoryPadding;
31
52
  /** Title placement within the bar. Defaults to `'center'`. */
32
53
  titleAlignment?: "center" | "left";
33
54
  /** Color token for the top safe area and fading bar overlay. Defaults to the Screen background. */
@@ -59,6 +80,8 @@ export function TitleHeader({
59
80
  trailingActions,
60
81
  LeftToolbar,
61
82
  RightToolbar,
83
+ accessory,
84
+ accessoryPadding = "x",
62
85
  dismissAction = "none",
63
86
  navigation,
64
87
  onDismiss,
@@ -101,15 +124,22 @@ export function TitleHeader({
101
124
  return (
102
125
  <View style={styles.container}>
103
126
  <View style={styles.safeArea(isTransparent, bgColor, screen !== null)} />
104
- <View style={styles.bar}>
105
- <View style={styles.gradient} pointerEvents="none">
106
- <HeaderGradientOverlay color={gradientColor} />
127
+ {/* The fade covers the bar and any accessory as one surface, so content
128
+ scrolling under the header meets a single boundary rather than two. */}
129
+ <View style={styles.barGroup}>
130
+ <HeaderSurface color={gradientColor} />
131
+ <View style={styles.bar}>
132
+ {leading != null && <Toolbar>{leading}</Toolbar>}
133
+ {/* Text can never be the touch target, but custom content may be, so its
134
+ container passes touches through to it instead of swallowing them. */}
135
+ <View style={styles.titleContainer} pointerEvents={isCustomTitle(title) ? "box-none" : "none"}>
136
+ {isTextTitle(title)
137
+ ? String(title).trim().length > 0 && <Text style={styles.title}>{title}</Text>
138
+ : title}
139
+ </View>
140
+ {trailing != null && <Toolbar style={styles.trailing}>{trailing}</Toolbar>}
107
141
  </View>
108
- {leading != null && <Toolbar>{leading}</Toolbar>}
109
- <View style={styles.titleContainer} pointerEvents="none">
110
- {!!title && <Text style={styles.title}>{title}</Text>}
111
- </View>
112
- {trailing != null && <Toolbar style={styles.trailing}>{trailing}</Toolbar>}
142
+ {accessory != null && <HeaderAccessory padding={accessoryPadding}>{accessory}</HeaderAccessory>}
113
143
  </View>
114
144
  </View>
115
145
  );
@@ -127,14 +157,8 @@ const styles = StyleSheet.create((theme, runtime) => ({
127
157
  height: withinScreen ? 0 : runtime.insets.top,
128
158
  backgroundColor: isTransparent ? "transparent" : bgColor,
129
159
  }),
130
- // Extend the fade below the bar without clipping content or intercepting touches.
131
- gradient: {
132
- position: "absolute",
133
- top: 0,
134
- left: 0,
135
- right: 0,
136
- bottom: -HEADER_FADE_EXTENT,
137
- },
160
+ // Anchors the absolutely positioned surface over the bar and the accessory both.
161
+ barGroup: { position: "relative" },
138
162
  bar: {
139
163
  height: theme.layout.header.height,
140
164
  flexDirection: "row",
@@ -8,6 +8,7 @@ export * from "./empty-state";
8
8
  export * from "./header";
9
9
  export * from "./icon";
10
10
  export * from "./image";
11
+ export * from "./input";
11
12
  export * from "./page-indicator";
12
13
  export * from "./portal";
13
14
  export * from "./pressable";
@@ -0,0 +1,36 @@
1
+ import { type ComponentRef, forwardRef } from "react";
2
+ import type { TextInput } from "react-native";
3
+
4
+ import { InputField } from "./parts/InputField";
5
+ import type { InputBaseProps } from "./types";
6
+ import { SearchInput } from "./variants/SearchInput";
7
+
8
+ export interface InputProps extends InputBaseProps {}
9
+
10
+ /**
11
+ * A themed single-line text field. Wraps React Native's `TextInput`, so every
12
+ * one of its props still applies; `style` reaches the container instead, and
13
+ * the text is themed from `size`.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * <Input placeholder="Your name" value={name} onChangeText={setName} />
18
+ * <Input size="lg" leading={<Icon name="terra.person" color="text.tertiary" />} />
19
+ * ```
20
+ */
21
+ const InputRoot = forwardRef<ComponentRef<typeof TextInput>, InputProps>(function Input(props, ref) {
22
+ return <InputField ref={ref} {...props} />;
23
+ });
24
+
25
+ type InputComponent = typeof InputRoot & {
26
+ Search: typeof SearchInput;
27
+ };
28
+
29
+ /**
30
+ * Input namespace.
31
+ *
32
+ * - `Input` — the plain text field.
33
+ * - `Input.Search` — a search field with a leading glyph and a clear button.
34
+ */
35
+ export const Input = InputRoot as InputComponent;
36
+ Input.Search = SearchInput;
@@ -0,0 +1,3 @@
1
+ export { Input, type InputProps } from "./Input";
2
+ export type { InputBaseProps, InputSize } from "./types";
3
+ export { SearchInput, type SearchInputProps } from "./variants/SearchInput";