react-native-terra-ui 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/lib/module/components/avatar/Avatar.js +7 -2
  3. package/lib/module/components/avatar/Avatar.js.map +1 -1
  4. package/lib/module/components/header/header-buttons.js +1 -1
  5. package/lib/module/components/header/header-buttons.js.map +1 -1
  6. package/lib/module/components/icon/Icon.js +2 -2
  7. package/lib/module/components/screen/Screen.js +87 -27
  8. package/lib/module/components/screen/Screen.js.map +1 -1
  9. package/lib/module/components/screen/ScreenContext.js +5 -1
  10. package/lib/module/components/screen/ScreenContext.js.map +1 -1
  11. package/lib/module/components/screen/ScreenList.js +11 -3
  12. package/lib/module/components/screen/ScreenList.js.map +1 -1
  13. package/lib/module/components/screen/ScreenScrollView.js +11 -3
  14. package/lib/module/components/screen/ScreenScrollView.js.map +1 -1
  15. package/lib/module/components/screen/hooks/use-nested-container-warning.js +39 -0
  16. package/lib/module/components/screen/hooks/use-nested-container-warning.js.map +1 -0
  17. package/lib/module/components/screen/parts/ScreenFrame.js +1 -0
  18. package/lib/module/components/screen/parts/ScreenFrame.js.map +1 -1
  19. package/lib/module/components/toast/Toast.js +1 -1
  20. package/lib/module/components/toast/Toast.js.map +1 -1
  21. package/lib/module/theme/defaults/icons.js +26 -19
  22. package/lib/module/theme/defaults/icons.js.map +1 -1
  23. package/lib/typescript/src/components/avatar/Avatar.d.ts.map +1 -1
  24. package/lib/typescript/src/components/icon/Icon.d.ts +2 -2
  25. package/lib/typescript/src/components/screen/Screen.d.ts +6 -0
  26. package/lib/typescript/src/components/screen/Screen.d.ts.map +1 -1
  27. package/lib/typescript/src/components/screen/ScreenContext.d.ts +27 -1
  28. package/lib/typescript/src/components/screen/ScreenContext.d.ts.map +1 -1
  29. package/lib/typescript/src/components/screen/ScreenList.d.ts.map +1 -1
  30. package/lib/typescript/src/components/screen/ScreenScrollView.d.ts.map +1 -1
  31. package/lib/typescript/src/components/screen/hooks/use-nested-container-warning.d.ts +24 -0
  32. package/lib/typescript/src/components/screen/hooks/use-nested-container-warning.d.ts.map +1 -0
  33. package/lib/typescript/src/components/screen/parts/ScreenFrame.d.ts.map +1 -1
  34. package/lib/typescript/src/theme/defaults/icons.d.ts.map +1 -1
  35. package/lib/typescript/src/theme/types.d.ts +1 -1
  36. package/lib/typescript/src/theme/types.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/src/components/avatar/Avatar.tsx +6 -1
  39. package/src/components/header/header-buttons.tsx +1 -1
  40. package/src/components/icon/Icon.tsx +2 -2
  41. package/src/components/screen/Screen.tsx +81 -17
  42. package/src/components/screen/ScreenContext.tsx +32 -0
  43. package/src/components/screen/ScreenList.tsx +9 -1
  44. package/src/components/screen/ScreenScrollView.tsx +9 -1
  45. package/src/components/screen/hooks/use-nested-container-warning.ts +40 -0
  46. package/src/components/screen/parts/ScreenFrame.tsx +8 -1
  47. package/src/components/toast/Toast.tsx +1 -1
  48. package/src/theme/defaults/icons.tsx +22 -15
  49. package/src/theme/types.ts +6 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.10.0](https://github.com/earthlin9/react-native-terra-ui/compare/v0.9.1...v0.10.0) (2026-09-08)
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ * **theme:** four semantic icon names have been renamed. Update any
8
+ `<Icon name>`, `Chip.Icon`, `Button.Icon`, `Toolbar.Button icon`, or
9
+ `configureTerraUI({ icons })` override that uses the old names:
10
+
11
+ navigation.back -> terra.chevron-left
12
+ navigation.forward -> terra.chevron-right
13
+ navigation.close -> terra.x
14
+ person -> terra.person
15
+
16
+ ### Features
17
+
18
+ * **theme:** move semantic icons into the terra namespace, add terra.check ([#20](https://github.com/earthlin9/react-native-terra-ui/issues/20))
19
+
20
+ ## [0.9.1](https://github.com/earthlin9/react-native-terra-ui/compare/v0.9.0...v0.9.1) (2026-09-07)
21
+
22
+ ### Bug Fixes
23
+
24
+ * **ui:** [screen] hand vertical insets to UIKit on header-less screens ([4f1a95c](https://github.com/earthlin9/react-native-terra-ui/commit/4f1a95c31bfbcf6d8424095b3961ee28ea1743ab))
25
+ * **ui:** [screen] require both vertical edges before handing insets over ([f135e01](https://github.com/earthlin9/react-native-terra-ui/commit/f135e010c372b0812171bd6b9771503acf094f47))
26
+
3
27
  ## [0.9.0](https://github.com/earthlin9/react-native-terra-ui/compare/v0.8.1...v0.9.0) (2026-09-07)
4
28
 
5
29
  ### ⚠ BREAKING CHANGES
@@ -21,6 +21,11 @@ const INITIALS_FONT_SIZE = {
21
21
  lg: 18,
22
22
  xl: 24
23
23
  };
24
+
25
+ // The person fallback glyph fills 55% of the avatar diameter. The ratio lives
26
+ // here rather than inside the icon so `terra.person` scales like every other
27
+ // registry icon at a given `size`.
28
+ const PERSON_ICON_RATIO = 0.55;
24
29
  function getInitials(name) {
25
30
  const parts = name.trim().split(/\s+/);
26
31
  const first = parts[0]?.[0] ?? "";
@@ -79,8 +84,8 @@ export function Avatar({
79
84
  numberOfLines: 1,
80
85
  children: getInitials(name)
81
86
  }) : /*#__PURE__*/_jsx(Icon, {
82
- name: "person",
83
- size: sizePx,
87
+ name: "terra.person",
88
+ size: sizePx * PERSON_ICON_RATIO,
84
89
  color: fg
85
90
  });
86
91
  return /*#__PURE__*/_jsx(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["useState","StyleSheet","useUnistyles","Icon","Image","jsx","_jsx","SIZE_PX","xs","sm","md","lg","xl","INITIALS_FONT_SIZE","getInitials","name","parts","trim","split","first","last","length","toUpperCase","getBorderRadius","shape","sizePx","radiusMd","getImageRadius","Avatar","size","source","fallback","contentFit","color","variant","style","rest","theme","hasError","setHasError","_styles","styles","useVariants","borderRadius","radius","showFallback","bg","base","backgroundColor","fg","fallbackContent","undefined","Text","fontSize","fontWeight","includeFontPadding","numberOfLines","children","View","width","height","alignItems","justifyContent","overflow","accessibilityLabel","onError","create","c","variants","secondary","primary","success","warning","danger","solid","soft","compoundVariants","uni__dependencies"],"sourceRoot":"../../../../src","sources":["components/avatar/Avatar.tsx"],"mappings":";;;;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAGhC,SAASC,UAAU,EAAEC,YAAY,QAAQ,wBAAwB;AAGjE,SAASC,IAAI;AACb,SAASC,KAAK;AAAmB,SAAAC,GAAA,IAAAC,IAAA;AAGjC,MAAMC,OAAmC,GAAG;EAC1CC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;AAED,MAAMC,kBAA8C,GAAG;EACrDL,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;AAED,SAASE,WAAWA,CAACC,IAAY,EAAU;EACzC,MAAMC,KAAK,GAAGD,IAAI,CAACE,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,KAAK,CAAC;EACtC,MAAMC,KAAK,GAAGH,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;EACjC,MAAMI,IAAI,GAAGJ,KAAK,CAACK,MAAM,GAAG,CAAC,GAAIL,KAAK,CAACA,KAAK,CAACK,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAI,EAAE;EACzE,OAAO,CAACF,KAAK,GAAGC,IAAI,EAAEE,WAAW,CAAC,CAAC;AACrC;AAEA,SAASC,eAAeA,CAACC,KAAkB,EAAEC,MAAc,EAAEC,QAAgB,EAAU;EACrF,IAAIF,KAAK,KAAK,QAAQ,EAAE,OAAOC,MAAM,GAAG,CAAC;EACzC,IAAID,KAAK,KAAK,SAAS,EAAE,OAAOE,QAAQ;EACxC,OAAO,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAACH,KAAkB,EAAa;EACrD,IAAIA,KAAK,KAAK,QAAQ,EAAE,OAAO,MAAM;EACrC,IAAIA,KAAK,KAAK,SAAS,EAAE,OAAO,IAAI;EACpC,OAAO,MAAM;AACf;AAEA,OAAO,SAASI,MAAMA,CAAC;EACrBC,IAAI,GAAG,IAAI;EACXL,KAAK,GAAG,QAAQ;EAChBM,MAAM;EACNf,IAAI;EACJgB,QAAQ;EACRC,UAAU,GAAG,OAAO;EACpBC,KAAK,GAAG,WAAW;EACnBC,OAAO,GAAG,OAAO;EACjBC,KAAK;EACL,GAAGC;AACQ,CAAC,EAAE;EACd,MAAM;IAAEC;EAAM,CAAC,GAAGnC,YAAY,CAAC,CAAC;EAChC,MAAM,CAACoC,QAAQ,EAAEC,WAAW,CAAC,GAAGvC,QAAQ,CAAC,KAAK,CAAC;EAAC,MAAAwC,OAAA,GAAAC,MAAA;EAAA;IAAA,MAAAA,MAAA,GAAAD,OAAA,CAAAE,WAAA,CAC7B;MAAET,KAAK;MAAEC;IAAQ,CAAC;IAErC,MAAMT,MAAM,GAAGlB,OAAO,CAACsB,IAAI,CAAC;IAC5B,MAAMc,YAAY,GAAGpB,eAAe,CAACC,KAAK,EAAEC,MAAM,EAAEY,KAAK,CAACO,MAAM,CAAClC,EAAE,CAAC;IACpE,MAAMmC,YAAY,GAAG,CAACf,MAAM,IAAIQ,QAAQ;IAExC,MAAMQ,EAAE,GAAGL,MAAM,CAACM,IAAI,CAACC,eAAe,IAAI,EAAE;IAC5C,MAAMC,EAAE,GAAGR,MAAM,CAACM,IAAI,CAACd,KAAK,IAAI,EAAE;IAElC,MAAMiB,eAAe,GACnBnB,QAAQ,KAAKoB,SAAS,GACpBpB,QAAQ,GACNhB,IAAI,gBACNT,IAAA,CAAC8C,IAAI;MACHjB,KAAK,EAAE;QACLkB,QAAQ,EAAExC,kBAAkB,CAACgB,IAAI,CAAC;QAClCyB,UAAU,EAAE,KAAK;QACjBrB,KAAK,EAAEgB,EAAE;QACTM,kBAAkB,EAAE;MACtB,CAAE;MACFC,aAAa,EAAE,CAAE;MAAAC,QAAA,EAEhB3C,WAAW,CAACC,IAAI;IAAC,CACd,CAAC,gBAEPT,IAAA,CAACH,IAAI;MAACY,IAAI,EAAC,QAAQ;MAACc,IAAI,EAAEJ,MAAO;MAACQ,KAAK,EAAEgB;IAAG,CAAE,CAC/C;IAEH,oBACE3C,IAAA,CAACoD,IAAI;MAAA,GACCtB,IAAI;MACRD,KAAK,EAAE,CACL;QACEwB,KAAK,EAAElC,MAAM;QACbmC,MAAM,EAAEnC,MAAM;QACdkB,YAAY;QACZK,eAAe,EAAEF,EAAE;QACnBe,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxBC,QAAQ,EAAE;MACZ,CAAC,EACD5B,KAAK,CACL;MAAAsB,QAAA,EAEDZ,YAAY,GACXK,eAAe,gBAEf5C,IAAA,CAACF,KAAK;QACJ0B,MAAM,EAAEA,MAAO;QACfK,KAAK,EAAE;UAAEwB,KAAK,EAAElC,MAAM;UAAEmC,MAAM,EAAEnC;QAAO,CAAE;QACzCmB,MAAM,EAAEjB,cAAc,CAACH,KAAK,CAAE;QAC9BQ,UAAU,EAAEA,UAAW;QACvBgC,kBAAkB,EAAEjD,IAAK;QACzBkD,OAAO,EAAEA,CAAA,KAAM1B,WAAW,CAAC,IAAI;MAAE,CAClC;IACF,CACG,CAAC;EACP;AACJ;;AAEA;;AAEA;AACA;AACA;AACA,MAAME,MAAM,GAAGxC,UAAU,CAACiE,MAAM,CAAE7B,KAAK,IAAK;EAC1C,MAAM8B,CAAC,GAAG9B,KAAK,CAACJ,KAAK;EAErB,OAAO;IACLc,IAAI,EAAE;MACJqB,QAAQ,EAAE;QACRnC,KAAK,EAAE;UACLoC,SAAS,EAAE,CAAC,CAAC;UACbC,OAAO,EAAE,CAAC,CAAC;UACXC,OAAO,EAAE,CAAC,CAAC;UACXC,OAAO,EAAE,CAAC,CAAC;UACXC,MAAM,EAAE,CAAC;QACX,CAAC;QACDvC,OAAO,EAAE;UACPwC,KAAK,EAAE,CAAC,CAAC;UACTC,IAAI,EAAE,CAAC;QACT;MACF,CAAC;MACDC,gBAAgB,EAAE,CAChB;QACE3C,KAAK,EAAE,WAAW;QAClBC,OAAO,EAAE,OAAO;QAChBO,MAAM,EAAE;UACNO,eAAe,EAAEmB,CAAC,CAAC,kBAAkB,CAAC;UACtClC,KAAK,EAAEkC,CAAC,CAAC,kBAAkB;QAC7B;MACF,CAAC,EACD;QACElC,KAAK,EAAE,WAAW;QAClBC,OAAO,EAAE,MAAM;QACfO,MAAM,EAAE;UACNO,eAAe,EAAEmB,CAAC,CAAC,iBAAiB,CAAC;UACrClC,KAAK,EAAEkC,CAAC,CAAC,iBAAiB;QAC5B;MACF,CAAC,EACD;QACElC,KAAK,EAAE,SAAS;QAChBC,OAAO,EAAE,OAAO;QAChBO,MAAM,EAAE;UACNO,eAAe,EAAEmB,CAAC,CAAC,iBAAiB,CAAC;UACrClC,KAAK,EAAEkC,CAAC,CAAC,iBAAiB;QAC5B;MACF,CAAC,EACD;QACElC,KAAK,EAAE,SAAS;QAChBC,OAAO,EAAE,MAAM;QACfO,MAAM,EAAE;UACNO,eAAe,EAAEmB,CAAC,CAAC,gBAAgB,CAAC;UACpClC,KAAK,EAAEkC,CAAC,CAAC,gBAAgB;QAC3B;MACF,CAAC,EACD;QACElC,KAAK,EAAE,SAAS;QAChBC,OAAO,EAAE,OAAO;QAChBO,MAAM,EAAE;UACNO,eAAe,EAAEmB,CAAC,CAAC,kBAAkB,CAAC;UACtClC,KAAK,EAAEkC,CAAC,CAAC,kBAAkB;QAC7B;MACF,CAAC,EACD;QACElC,KAAK,EAAE,SAAS;QAChBC,OAAO,EAAE,MAAM;QACfO,MAAM,EAAE;UACNO,eAAe,EAAEmB,CAAC,CAAC,iBAAiB,CAAC;UACrClC,KAAK,EAAEkC,CAAC,CAAC,iBAAiB;QAC5B;MACF,CAAC,EACD;QACElC,KAAK,EAAE,SAAS;QAChBC,OAAO,EAAE,OAAO;QAChBO,MAAM,EAAE;UACNO,eAAe,EAAEmB,CAAC,CAAC,kBAAkB,CAAC;UACtClC,KAAK,EAAEkC,CAAC,CAAC,kBAAkB;QAC7B;MACF,CAAC,EACD;QACElC,KAAK,EAAE,SAAS;QAChBC,OAAO,EAAE,MAAM;QACfO,MAAM,EAAE;UACNO,eAAe,EAAEmB,CAAC,CAAC,iBAAiB,CAAC;UACrClC,KAAK,EAAEkC,CAAC,CAAC,iBAAiB;QAC5B;MACF,CAAC,EACD;QACElC,KAAK,EAAE,QAAQ;QACfC,OAAO,EAAE,OAAO;QAChBO,MAAM,EAAE;UACNO,eAAe,EAAEmB,CAAC,CAAC,iBAAiB,CAAC;UACrClC,KAAK,EAAEkC,CAAC,CAAC,iBAAiB;QAC5B;MACF,CAAC,EACD;QACElC,KAAK,EAAE,QAAQ;QACfC,OAAO,EAAE,MAAM;QACfO,MAAM,EAAE;UACNO,eAAe,EAAEmB,CAAC,CAAC,gBAAgB,CAAC;UACpClC,KAAK,EAAEkC,CAAC,CAAC,gBAAgB;QAC3B;MACF,CAAC,CACF;MAAAU,iBAAA;IACH;EACF,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useState","StyleSheet","useUnistyles","Icon","Image","jsx","_jsx","SIZE_PX","xs","sm","md","lg","xl","INITIALS_FONT_SIZE","PERSON_ICON_RATIO","getInitials","name","parts","trim","split","first","last","length","toUpperCase","getBorderRadius","shape","sizePx","radiusMd","getImageRadius","Avatar","size","source","fallback","contentFit","color","variant","style","rest","theme","hasError","setHasError","_styles","styles","useVariants","borderRadius","radius","showFallback","bg","base","backgroundColor","fg","fallbackContent","undefined","Text","fontSize","fontWeight","includeFontPadding","numberOfLines","children","View","width","height","alignItems","justifyContent","overflow","accessibilityLabel","onError","create","c","variants","secondary","primary","success","warning","danger","solid","soft","compoundVariants","uni__dependencies"],"sourceRoot":"../../../../src","sources":["components/avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
@@ -29,7 +29,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
29
29
  */
30
30
  export const HeaderButton = Toolbar.Button;
31
31
  const getDismissAccessibilityLabel = dismissAction => dismissAction === "close" ? "Close" : "Back";
32
- const getDismissIconName = dismissAction => dismissAction === "close" ? "navigation.close" : "navigation.back";
32
+ const getDismissIconName = dismissAction => dismissAction === "close" ? "terra.x" : "terra.chevron-left";
33
33
  export function HeaderDismissButton({
34
34
  dismissAction = "none",
35
35
  navigation,
@@ -1 +1 @@
1
- {"version":3,"names":["Toolbar","jsx","_jsx","HeaderButton","Button","getDismissAccessibilityLabel","dismissAction","getDismissIconName","HeaderDismissButton","navigation","onDismiss","handlePress","dismiss","goBack","canGoBack","icon","iconSize","accessibilityLabel","onPress"],"sourceRoot":"../../../../src","sources":["components/header/header-buttons.tsx"],"mappings":";;AACA,SAASA,OAAO;;AAEhB;AACA;AACA;AACA;AACA;AACA;AALA,SAAAC,GAAA,IAAAC,IAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGH,OAAO,CAACI,MAAM;AAmB1C,MAAMC,4BAA4B,GAAIC,aAAkC,IACtEA,aAAa,KAAK,OAAO,GAAG,OAAO,GAAG,MAAM;AAE9C,MAAMC,kBAAkB,GAAID,aAAkC,IAC5DA,aAAa,KAAK,OAAO,GAAG,kBAAkB,GAAG,iBAAiB;AAEpE,OAAO,SAASE,mBAAmBA,CAAC;EAAEF,aAAa,GAAG,MAAM;EAAEG,UAAU;EAAEC;AAA8B,CAAC,EAAE;EACzG,IAAIJ,aAAa,KAAK,MAAM,EAAE,OAAO,IAAI;EAEzC,MAAMK,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAID,SAAS,EAAE;MACbA,SAAS,CAAC,CAAC;MACX;IACF;IAEA,IAAIJ,aAAa,KAAK,OAAO,IAAIG,UAAU,EAAEG,OAAO,EAAE;MACpDH,UAAU,CAACG,OAAO,CAAC,CAAC;MACpB;IACF;IAEA,IAAIH,UAAU,EAAEI,MAAM,IAAIJ,UAAU,CAACK,SAAS,GAAG,CAAC,KAAK,KAAK,EAAE;MAC5DL,UAAU,CAACI,MAAM,CAAC,CAAC;MACnB;IACF;EACF,CAAC;EAED,oBACEX,IAAA,CAACF,OAAO,CAACI,MAAM;IACbW,IAAI,EAAER,kBAAkB,CAACD,aAAa,CAAE;IACxCU,QAAQ,EAAE,EAAG;IACbC,kBAAkB,EAAEZ,4BAA4B,CAACC,aAAa,CAAE;IAChEY,OAAO,EAAEP;EAAY,CACtB,CAAC;AAEN","ignoreList":[]}
1
+ {"version":3,"names":["Toolbar","jsx","_jsx","HeaderButton","Button","getDismissAccessibilityLabel","dismissAction","getDismissIconName","HeaderDismissButton","navigation","onDismiss","handlePress","dismiss","goBack","canGoBack","icon","iconSize","accessibilityLabel","onPress"],"sourceRoot":"../../../../src","sources":["components/header/header-buttons.tsx"],"mappings":";;AACA,SAASA,OAAO;;AAEhB;AACA;AACA;AACA;AACA;AACA;AALA,SAAAC,GAAA,IAAAC,IAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGH,OAAO,CAACI,MAAM;AAmB1C,MAAMC,4BAA4B,GAAIC,aAAkC,IACtEA,aAAa,KAAK,OAAO,GAAG,OAAO,GAAG,MAAM;AAE9C,MAAMC,kBAAkB,GAAID,aAAkC,IAC5DA,aAAa,KAAK,OAAO,GAAG,SAAS,GAAG,oBAAoB;AAE9D,OAAO,SAASE,mBAAmBA,CAAC;EAAEF,aAAa,GAAG,MAAM;EAAEG,UAAU;EAAEC;AAA8B,CAAC,EAAE;EACzG,IAAIJ,aAAa,KAAK,MAAM,EAAE,OAAO,IAAI;EAEzC,MAAMK,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAID,SAAS,EAAE;MACbA,SAAS,CAAC,CAAC;MACX;IACF;IAEA,IAAIJ,aAAa,KAAK,OAAO,IAAIG,UAAU,EAAEG,OAAO,EAAE;MACpDH,UAAU,CAACG,OAAO,CAAC,CAAC;MACpB;IACF;IAEA,IAAIH,UAAU,EAAEI,MAAM,IAAIJ,UAAU,CAACK,SAAS,GAAG,CAAC,KAAK,KAAK,EAAE;MAC5DL,UAAU,CAACI,MAAM,CAAC,CAAC;MACnB;IACF;EACF,CAAC;EAED,oBACEX,IAAA,CAACF,OAAO,CAACI,MAAM;IACbW,IAAI,EAAER,kBAAkB,CAACD,aAAa,CAAE;IACxCU,QAAQ,EAAE,EAAG;IACbC,kBAAkB,EAAEZ,4BAA4B,CAACC,aAAa,CAAE;IAChEY,OAAO,EAAEP;EAAY,CACtB,CAAC;AAEN","ignoreList":[]}
@@ -8,11 +8,11 @@ import { resolveThemeColor } from "../../utils/resolve-theme-color.js";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  /**
10
10
  * Renders an icon from the Terra UI icon registry (`configureTerraUI({ icons })`
11
- * plus built-in semantic names like `navigation.back`).
11
+ * plus built-in semantic names like `terra.chevron-left`).
12
12
  *
13
13
  * @example
14
14
  * ```tsx
15
- * <Icon name="navigation.close" size={24} color="text.primary" />
15
+ * <Icon name="terra.x" size={24} color="text.primary" />
16
16
  * ```
17
17
  */
18
18
  export const Icon = /*#__PURE__*/forwardRef(function Icon({
@@ -2,7 +2,8 @@
2
2
 
3
3
  import { View } from "react-native-unistyles/components/native/View";
4
4
  import { Children, Fragment, forwardRef, isValidElement, useMemo } from "react";
5
- import { StyleSheet, useUnistyles } from "react-native-unistyles";
5
+ import { Platform } from "react-native";
6
+ import { useUnistyles } from "react-native-unistyles";
6
7
  import { resolveThemeColor } from "../../utils/resolve-theme-color.js";
7
8
  import { PortalProvider } from "../portal/index.js";
8
9
  import { ScreenFrame } from "./parts/ScreenFrame.js";
@@ -105,43 +106,108 @@ const ScreenBase = /*#__PURE__*/forwardRef(function Screen({
105
106
  const hasHeader = useMemo(() => hasScreenHeader(children), [children]);
106
107
  const resolvedMargins = contentPadding ?? margins ?? (hasMargins === false ? "none" : "all");
107
108
  const edges = useMemo(() => resolveSafeAreaEdges(safeArea), [safeArea]);
109
+ const hasVerticalScrollContainer = useMemo(() => hasScrollContainerOwningBottom(children), [children]);
108
110
  /*
109
- The bottom edge goes to the scroll container when there is one to take it.
111
+ A screen with no `Screen.Header` wears UIKit's own navigation bar, and only
112
+ UIKit can inset a scroll view for one.
113
+ A native large title changes height on every frame of its collapse, and the
114
+ bar is a sibling view this screen cannot measure — so an inset computed in JS
115
+ is always a frame late and always the wrong size. Worse, UIKit will not
116
+ collapse the title at all unless the scroll view it finds fills the screen:
117
+ padding the top edge on the frame starts that view 168pt down (measured on an
118
+ iPhone 17, expanded title), and the title then stays full size while rows
119
+ scroll up and overprint it.
120
+ So the frame keeps no vertical edge on such a screen, the container turns
121
+ UIKit's `contentInsetAdjustmentBehavior` back on, and UIKit pays the top and
122
+ the bottom both — which is why `ScreenBottomInset` stands down here rather
123
+ than paying that edge a second time. iOS only: this is UIKit's mechanism, and
124
+ Android has no navigation bar to track.
125
+ Both vertical edges have to be protected to hand them over, because UIKit
126
+ adjusts for both or for neither. A policy that asks for one and not the other
127
+ cannot be expressed this way, so it keeps the ordinary treatment below and
128
+ is honoured exactly as written — at the cost of the title collapse, which is
129
+ the better trade: an edge list is an explicit instruction, and silently
130
+ insetting an edge the caller excluded would be the worse surprise.
131
+ */
132
+ const platformInsetsEligible = Platform.OS === "ios" && !hasHeader && edges.top && edges.bottom;
133
+ const platformAdjustsInsets = platformInsetsEligible && hasVerticalScrollContainer;
134
+ /*
135
+ Otherwise the bottom edge goes to the scroll container when there is one to
136
+ take it.
110
137
  Applied to the frame, the bottom inset shrinks the scroll viewport, so content
111
138
  stops above a tab bar rather than passing beneath it — and on iOS that inset
112
139
  includes the bar itself, which UIKit folds into a tab screen's safe area. The
113
140
  container reaches the same resting position by padding the end of its content
114
141
  instead, which is how the platform's own content-inset adjustment behaves.
115
142
  */
116
- const contentOwnsBottomInset = useMemo(() => edges.bottom && hasScrollContainerOwningBottom(children), [edges.bottom, children]);
117
- const frameEdges = useMemo(() => contentOwnsBottomInset ? {
143
+ const contentOwnsBottomInset = !platformAdjustsInsets && edges.bottom && hasVerticalScrollContainer;
144
+ const frameEdges = useMemo(() => platformAdjustsInsets ? {
118
145
  ...edges,
146
+ top: false,
119
147
  bottom: false
120
- } : edges, [contentOwnsBottomInset, edges]);
148
+ } : contentOwnsBottomInset ? {
149
+ ...edges,
150
+ bottom: false
151
+ } : edges, [platformAdjustsInsets, contentOwnsBottomInset, edges]);
121
152
  const {
122
153
  theme
123
154
  } = useUnistyles();
124
155
  const resolvedBackground = resolveThemeColor(background, theme) ?? theme.color["surface.canvas"];
125
- return /*#__PURE__*/_jsx(View, {
126
- ref: ref,
127
- style: [styles.container(resolvedBackground), style],
128
- ...rest,
129
- children: /*#__PURE__*/_jsx(ScreenScrollProvider, {
130
- background: resolvedBackground,
131
- contentPadding: resolvedMargins,
132
- safeArea: safeArea,
133
- contentOwnsBottomInset: contentOwnsBottomInset,
134
- hasHeader: hasHeader,
135
- children: /*#__PURE__*/_jsx(ScreenHeaderAppearanceProvider, {
136
- children: /*#__PURE__*/_jsx(ScreenFrame, {
137
- edges: frameEdges,
138
- children: /*#__PURE__*/_jsx(PortalProvider, {
139
- children: children
156
+ /*
157
+ A plain object, not a Unistyles stylesheet, and the background belongs in it
158
+ rather than arriving later.
159
+ Unistyles applies a dynamic function's style after mount. UIKit resolves a
160
+ screen's scroll view once, while it is being presented, and a scroll area
161
+ that was not yet the size of the screen at that moment never drives the
162
+ navigation bar afterwards — the large title stays expanded for the rest of
163
+ the screen's life.
164
+ */
165
+ const rootStyle = useMemo(() => ({
166
+ flex: 1,
167
+ backgroundColor: resolvedBackground
168
+ }), [resolvedBackground]);
169
+ return (
170
+ /*#__PURE__*/
171
+ /*
172
+ `collapsable={false}`, because a background colour alone is the worst of
173
+ both worlds here.
174
+ Fabric decides two things separately: whether a view is mounted at all, and
175
+ whether it *keeps* its children. A `View` with only layout styles is
176
+ dropped and its children are re-parented to its own parent — harmless. Give
177
+ it a background and it is mounted, but it still does not form a stacking
178
+ context, so the children are mounted *beside* it instead of inside it. The
179
+ screen's view then begins with an empty full-screen view, and UIKit — which
180
+ finds the scroll view by walking first subviews down from the view
181
+ controller (`RNSScrollViewFinder` mirrors the same walk) — reaches that dead
182
+ end and finds nothing. Measured on an iPhone 17: no content-inset
183
+ adjustment and no large-title collapse at all.
184
+ `collapsable={false}` forms the stacking context, so the frame, the safe
185
+ areas, and the scroll container stay in one unbroken first-subview chain.
186
+ */
187
+ _jsx(View, {
188
+ collapsable: false,
189
+ ref: ref,
190
+ style: [rootStyle, style],
191
+ ...rest,
192
+ children: /*#__PURE__*/_jsx(ScreenScrollProvider, {
193
+ background: resolvedBackground,
194
+ contentPadding: resolvedMargins,
195
+ safeArea: safeArea,
196
+ contentOwnsBottomInset: contentOwnsBottomInset,
197
+ platformAdjustsInsets: platformAdjustsInsets,
198
+ platformInsetsEligible: platformInsetsEligible,
199
+ hasHeader: hasHeader,
200
+ children: /*#__PURE__*/_jsx(ScreenHeaderAppearanceProvider, {
201
+ children: /*#__PURE__*/_jsx(ScreenFrame, {
202
+ edges: frameEdges,
203
+ children: /*#__PURE__*/_jsx(PortalProvider, {
204
+ children: children
205
+ })
140
206
  })
141
207
  })
142
208
  })
143
209
  })
144
- });
210
+ );
145
211
  });
146
212
  ScreenBase.Header = ScreenHeader;
147
213
  ScreenBase.ScrollView = ScreenScrollView;
@@ -167,10 +233,4 @@ ScreenBase.List = ScreenList;
167
233
  * ```
168
234
  */
169
235
  export const Screen = ScreenBase;
170
- const styles = StyleSheet.create(() => ({
171
- container: backgroundColor => ({
172
- flex: 1,
173
- backgroundColor
174
- })
175
- }));
176
236
  //# sourceMappingURL=Screen.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Children","Fragment","forwardRef","isValidElement","useMemo","StyleSheet","useUnistyles","resolveThemeColor","PortalProvider","ScreenFrame","ScreenHeaderAppearanceProvider","ScreenHeaderAppearanceSlot","ScreenScrollProvider","ScreenFlatList","ScreenList","ScreenScrollView","resolveSafeAreaEdges","jsx","_jsx","ScreenHeader","children","as","rest","Component","displayName","ownsBottomInset","child","props","horizontal","type","hasScrollContainerOwningBottom","found","forEach","hasScreenHeader","ScreenBase","Screen","background","contentPadding","safeArea","margins","hasMargins","inTabView","_inTabView","style","ref","hasHeader","resolvedMargins","edges","contentOwnsBottomInset","bottom","frameEdges","theme","resolvedBackground","color","View","styles","container","Header","ScrollView","FlatList","List","create","backgroundColor","flex"],"sourceRoot":"../../../../src","sources":["components/screen/Screen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Children","Fragment","forwardRef","isValidElement","useMemo","Platform","useUnistyles","resolveThemeColor","PortalProvider","ScreenFrame","ScreenHeaderAppearanceProvider","ScreenHeaderAppearanceSlot","ScreenScrollProvider","ScreenFlatList","ScreenList","ScreenScrollView","resolveSafeAreaEdges","jsx","_jsx","ScreenHeader","children","as","rest","Component","displayName","ownsBottomInset","child","props","horizontal","type","hasScrollContainerOwningBottom","found","forEach","hasScreenHeader","ScreenBase","Screen","background","contentPadding","safeArea","margins","hasMargins","inTabView","_inTabView","style","ref","hasHeader","resolvedMargins","edges","hasVerticalScrollContainer","platformInsetsEligible","OS","top","bottom","platformAdjustsInsets","contentOwnsBottomInset","frameEdges","theme","resolvedBackground","color","rootStyle","flex","backgroundColor","View","collapsable","Header","ScrollView","FlatList","List"],"sourceRoot":"../../../../src","sources":["components/screen/Screen.tsx"],"mappings":"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","ignoreList":[]}
@@ -24,6 +24,8 @@ export function ScreenScrollProvider({
24
24
  contentPadding = "all",
25
25
  safeArea = "auto",
26
26
  contentOwnsBottomInset = false,
27
+ platformAdjustsInsets = false,
28
+ platformInsetsEligible = false,
27
29
  hasHeader = false
28
30
  }) {
29
31
  const scrollY = useSharedValue(0);
@@ -45,6 +47,8 @@ export function ScreenScrollProvider({
45
47
  contentPadding,
46
48
  safeArea,
47
49
  contentOwnsBottomInset,
50
+ platformAdjustsInsets,
51
+ platformInsetsEligible,
48
52
  margins: contentPadding,
49
53
  hasHeader,
50
54
  scrollY,
@@ -53,7 +57,7 @@ export function ScreenScrollProvider({
53
57
  setHeaderCollapseHeight,
54
58
  scrollRef,
55
59
  scrollHandler
56
- }), [background, contentPadding, safeArea, contentOwnsBottomInset, hasHeader, scrollY, headerCollapseHeight, headerSnapOffsets, setHeaderCollapseHeight, scrollRef, scrollHandler]);
60
+ }), [background, contentPadding, safeArea, contentOwnsBottomInset, platformAdjustsInsets, platformInsetsEligible, hasHeader, scrollY, headerCollapseHeight, headerSnapOffsets, setHeaderCollapseHeight, scrollRef, scrollHandler]);
57
61
  return /*#__PURE__*/_jsx(ScreenContext.Provider, {
58
62
  value: value,
59
63
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useContext","useMemo","useState","useAnimatedRef","useAnimatedScrollHandler","useSharedValue","jsx","_jsx","SCREEN_HEADER_PORTAL_HOST","ScreenContext","ScreenScrollProvider","background","children","contentPadding","safeArea","contentOwnsBottomInset","hasHeader","scrollY","headerCollapseHeight","headerSnapOffsets","setHeaderSnapOffsets","scrollRef","setHeaderCollapseHeight","height","rounded","Math","round","value","undefined","scrollHandler","onScroll","event","contentOffset","y","margins","Provider","useScreen","context","Error"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAkBC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAEjG,SAIEC,cAAc,EACdC,wBAAwB,EACxBC,cAAc,QACT,yBAAyB;;AAIhC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGA;AACA,OAAO,MAAMC,yBAAyB,GAAG,eAAe;;AAExD;;AAmDA,OAAO,MAAMC,aAAa,gBAAGX,aAAa,CAA4B,IAAI,CAAC;;AAE3E;;AAeA;AACA;AACA;AACA;AACA,OAAO,SAASY,oBAAoBA,CAAC;EACnCC,UAAU,GAAG,aAAa;EAC1BC,QAAQ;EACRC,cAAc,GAAG,KAAK;EACtBC,QAAQ,GAAG,MAAM;EACjBC,sBAAsB,GAAG,KAAK;EAC9BC,SAAS,GAAG;AACa,CAAC,EAAE;EAC5B,MAAMC,OAAO,GAAGZ,cAAc,CAAC,CAAC,CAAC;EACjC,MAAMa,oBAAoB,GAAGb,cAAc,CAAC,CAAC,CAAC;EAC9C,MAAM,CAACc,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGlB,QAAQ,CAAW,CAAC;EACtE,MAAMmB,SAAS,GAAGlB,cAAc,CAAsB,CAAC;EAEvD,MAAMmB,uBAAuB,GAAGvB,WAAW,CACxCwB,MAAc,IAAK;IAClB,MAAMC,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,MAAM,CAAC;IAClCL,oBAAoB,CAACS,KAAK,GAAGH,OAAO;IACpCJ,oBAAoB,CAACI,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEA,OAAO,CAAC,GAAGI,SAAS,CAAC;EAC9D,CAAC,EACD,CAACV,oBAAoB,CACvB,CAAC;EAED,MAAMW,aAAa,GAAGzB,wBAAwB,CAAC;IAC7C0B,QAAQ,EAAGC,KAAK,IAAK;MACnBd,OAAO,CAACU,KAAK,GAAGI,KAAK,CAACC,aAAa,CAACC,CAAC;IACvC;EACF,CAAC,CAAC;EAEF,MAAMN,KAAK,GAAG1B,OAAO,CACnB,OAAO;IACLU,UAAU;IACVE,cAAc;IACdC,QAAQ;IACRC,sBAAsB;IACtBmB,OAAO,EAAErB,cAAc;IACvBG,SAAS;IACTC,OAAO;IACPC,oBAAoB;IACpBC,iBAAiB;IACjBG,uBAAuB;IACvBD,SAAS;IACTQ;EACF,CAAC,CAAC,EACF,CACElB,UAAU,EACVE,cAAc,EACdC,QAAQ,EACRC,sBAAsB,EACtBC,SAAS,EACTC,OAAO,EACPC,oBAAoB,EACpBC,iBAAiB,EACjBG,uBAAuB,EACvBD,SAAS,EACTQ,aAAa,CAEjB,CAAC;EAED,oBAAOtB,IAAA,CAACE,aAAa,CAAC0B,QAAQ;IAACR,KAAK,EAAEA,KAAM;IAAAf,QAAA,EAAEA;EAAQ,CAAyB,CAAC;AAClF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASwB,SAASA,CAAA,EAAuB;EAC9C,MAAMC,OAAO,GAAGrC,UAAU,CAACS,aAAa,CAAC;EACzC,IAAI,CAAC4B,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,kDAAkD,CAAC;EACrE;EACA,OAAOD,OAAO;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useContext","useMemo","useState","useAnimatedRef","useAnimatedScrollHandler","useSharedValue","jsx","_jsx","SCREEN_HEADER_PORTAL_HOST","ScreenContext","ScreenScrollProvider","background","children","contentPadding","safeArea","contentOwnsBottomInset","platformAdjustsInsets","platformInsetsEligible","hasHeader","scrollY","headerCollapseHeight","headerSnapOffsets","setHeaderSnapOffsets","scrollRef","setHeaderCollapseHeight","height","rounded","Math","round","value","undefined","scrollHandler","onScroll","event","contentOffset","y","margins","Provider","useScreen","context","Error"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAkBC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAEjG,SAIEC,cAAc,EACdC,wBAAwB,EACxBC,cAAc,QACT,yBAAyB;;AAIhC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGA;AACA,OAAO,MAAMC,yBAAyB,GAAG,eAAe;;AAExD;;AAyEA,OAAO,MAAMC,aAAa,gBAAGX,aAAa,CAA4B,IAAI,CAAC;;AAE3E;;AAmBA;AACA;AACA;AACA;AACA,OAAO,SAASY,oBAAoBA,CAAC;EACnCC,UAAU,GAAG,aAAa;EAC1BC,QAAQ;EACRC,cAAc,GAAG,KAAK;EACtBC,QAAQ,GAAG,MAAM;EACjBC,sBAAsB,GAAG,KAAK;EAC9BC,qBAAqB,GAAG,KAAK;EAC7BC,sBAAsB,GAAG,KAAK;EAC9BC,SAAS,GAAG;AACa,CAAC,EAAE;EAC5B,MAAMC,OAAO,GAAGd,cAAc,CAAC,CAAC,CAAC;EACjC,MAAMe,oBAAoB,GAAGf,cAAc,CAAC,CAAC,CAAC;EAC9C,MAAM,CAACgB,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGpB,QAAQ,CAAW,CAAC;EACtE,MAAMqB,SAAS,GAAGpB,cAAc,CAAsB,CAAC;EAEvD,MAAMqB,uBAAuB,GAAGzB,WAAW,CACxC0B,MAAc,IAAK;IAClB,MAAMC,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,MAAM,CAAC;IAClCL,oBAAoB,CAACS,KAAK,GAAGH,OAAO;IACpCJ,oBAAoB,CAACI,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEA,OAAO,CAAC,GAAGI,SAAS,CAAC;EAC9D,CAAC,EACD,CAACV,oBAAoB,CACvB,CAAC;EAED,MAAMW,aAAa,GAAG3B,wBAAwB,CAAC;IAC7C4B,QAAQ,EAAGC,KAAK,IAAK;MACnBd,OAAO,CAACU,KAAK,GAAGI,KAAK,CAACC,aAAa,CAACC,CAAC;IACvC;EACF,CAAC,CAAC;EAEF,MAAMN,KAAK,GAAG5B,OAAO,CACnB,OAAO;IACLU,UAAU;IACVE,cAAc;IACdC,QAAQ;IACRC,sBAAsB;IACtBC,qBAAqB;IACrBC,sBAAsB;IACtBmB,OAAO,EAAEvB,cAAc;IACvBK,SAAS;IACTC,OAAO;IACPC,oBAAoB;IACpBC,iBAAiB;IACjBG,uBAAuB;IACvBD,SAAS;IACTQ;EACF,CAAC,CAAC,EACF,CACEpB,UAAU,EACVE,cAAc,EACdC,QAAQ,EACRC,sBAAsB,EACtBC,qBAAqB,EACrBC,sBAAsB,EACtBC,SAAS,EACTC,OAAO,EACPC,oBAAoB,EACpBC,iBAAiB,EACjBG,uBAAuB,EACvBD,SAAS,EACTQ,aAAa,CAEjB,CAAC;EAED,oBAAOxB,IAAA,CAACE,aAAa,CAAC4B,QAAQ;IAACR,KAAK,EAAEA,KAAM;IAAAjB,QAAA,EAAEA;EAAQ,CAAyB,CAAC;AAClF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS0B,SAASA,CAAA,EAAuB;EAC9C,MAAMC,OAAO,GAAGvC,UAAU,CAACS,aAAa,CAAC;EACzC,IAAI,CAAC8B,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,kDAAkD,CAAC;EACrE;EACA,OAAOD,OAAO;AAChB","ignoreList":[]}
@@ -7,6 +7,7 @@ import Animated from "react-native-reanimated";
7
7
  import { StyleSheet } from "react-native-unistyles";
8
8
  import { resolveScreenPadding } from "../../theme/screen-padding.js";
9
9
  import { PortalHost } from "../portal/index.js";
10
+ import { useNestedContainerWarning } from "./hooks/use-nested-container-warning.js";
10
11
  import { useScreenRef } from "./hooks/use-screen-ref.js";
11
12
  import { useScreenScrollHandler } from "./hooks/use-screen-scroll-handler.js";
12
13
  import { ScreenBottomInset } from "./parts/ScreenBottomInset";
@@ -61,11 +62,13 @@ const ScreenListBase = /*#__PURE__*/forwardRef(function ScreenList({
61
62
  headerSnapOffsets,
62
63
  contentPadding: screenPadding,
63
64
  hasHeader,
64
- contentOwnsBottomInset
65
+ contentOwnsBottomInset,
66
+ platformAdjustsInsets
65
67
  } = useScreen();
66
68
  // The root yields the bottom edge only to a vertical container, so a horizontal
67
69
  // one here is a secondary container and must not pay the inset a second time.
68
70
  const ownsBottomInset = contentOwnsBottomInset && !horizontal;
71
+ useNestedContainerWarning("Screen.List", horizontal);
69
72
  const mergedRef = useScreenRef(isDefaultFlatList ? scrollRef : undefined, ref);
70
73
  const resolvedPadding = contentPadding ?? margins ?? screenPadding;
71
74
  const resolvedLoading = isLoading ?? loading;
@@ -94,8 +97,13 @@ const ScreenListBase = /*#__PURE__*/forwardRef(function ScreenList({
94
97
  style: [{
95
98
  backgroundColor: background
96
99
  }, style],
97
- horizontal: horizontal,
98
- contentInsetAdjustmentBehavior: "never",
100
+ horizontal: horizontal
101
+ /*
102
+ UIKit owns the vertical insets on a header-less iOS screen — see
103
+ `platformAdjustsInsets`. Everywhere else the frame has already paid them,
104
+ so a second adjustment here would count them twice.
105
+ */,
106
+ contentInsetAdjustmentBehavior: platformAdjustsInsets ? "automatic" : "never",
99
107
  automaticallyAdjustContentInsets: false,
100
108
  automaticallyAdjustsScrollIndicatorInsets: false,
101
109
  contentContainerStyle: [styles.content(resolvedPadding, hasHeader, bottomInset, extraBottomPadding), contentContainerStyle],
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useMemo","Animated","StyleSheet","resolveScreenPadding","PortalHost","useScreenRef","useScreenScrollHandler","ScreenBottomInset","renderScreenPlaceholder","SCREEN_HEADER_PORTAL_HOST","useScreen","hasHorizontalPadding","hasVerticalPadding","renderListComponent","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ScreenListBase","ScreenList","as","data","renderItem","style","contentContainerStyle","ListHeaderComponent","ListFooterComponent","ListEmptyComponent","horizontal","isLoading","loading","loadingContent","LoadingComponent","emptyContent","EmptyComponent","contentPadding","margins","bottomInset","extraBottomPadding","scrollHandler","externalScrollHandler","onScroll","rest","ref","isDefaultFlatList","undefined","FlatList","Component","AnimatedComponent","createAnimatedComponent","background","scrollRef","headerSnapOffsets","screenPadding","hasHeader","contentOwnsBottomInset","ownsBottomInset","mergedRef","resolvedPadding","resolvedLoading","placeholder","isEmpty","length","composedScrollHandler","header","children","View","styles","headerWrapper","name","footer","backgroundColor","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","automaticallyAdjustsScrollIndicatorInsets","content","showsVerticalScrollIndicator","scrollEventThrottle","snapToOffsets","displayName","create","theme","runtime","padding","x","y","breakpoint","flexGrow","paddingTop","layout","height","paddingHorizontal","paddingBottom","uni__dependencies","marginHorizontal"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenList.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useMemo","Animated","StyleSheet","resolveScreenPadding","PortalHost","useNestedContainerWarning","useScreenRef","useScreenScrollHandler","ScreenBottomInset","renderScreenPlaceholder","SCREEN_HEADER_PORTAL_HOST","useScreen","hasHorizontalPadding","hasVerticalPadding","renderListComponent","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ScreenListBase","ScreenList","as","data","renderItem","style","contentContainerStyle","ListHeaderComponent","ListFooterComponent","ListEmptyComponent","horizontal","isLoading","loading","loadingContent","LoadingComponent","emptyContent","EmptyComponent","contentPadding","margins","bottomInset","extraBottomPadding","scrollHandler","externalScrollHandler","onScroll","rest","ref","isDefaultFlatList","undefined","FlatList","Component","AnimatedComponent","createAnimatedComponent","background","scrollRef","headerSnapOffsets","screenPadding","hasHeader","contentOwnsBottomInset","platformAdjustsInsets","ownsBottomInset","mergedRef","resolvedPadding","resolvedLoading","placeholder","isEmpty","length","composedScrollHandler","header","children","View","styles","headerWrapper","name","footer","backgroundColor","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","automaticallyAdjustsScrollIndicatorInsets","content","showsVerticalScrollIndicator","scrollEventThrottle","snapToOffsets","displayName","create","theme","runtime","padding","x","y","breakpoint","flexGrow","paddingTop","layout","height","paddingHorizontal","paddingBottom","uni__dependencies","marginHorizontal"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenList.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ import Animated from "react-native-reanimated";
6
6
  import { StyleSheet } from "react-native-unistyles";
7
7
  import { resolveScreenPadding } from "../../theme/screen-padding.js";
8
8
  import { PortalHost } from "../portal/index.js";
9
+ import { useNestedContainerWarning } from "./hooks/use-nested-container-warning.js";
9
10
  import { useScreenRef } from "./hooks/use-screen-ref.js";
10
11
  import { useScreenScrollHandler } from "./hooks/use-screen-scroll-handler.js";
11
12
  import { ScreenBottomInset } from "./parts/ScreenBottomInset";
@@ -58,11 +59,13 @@ export const ScreenScrollView = /*#__PURE__*/forwardRef(function ScreenScrollVie
58
59
  contentPadding: screenPadding,
59
60
  hasHeader,
60
61
  background,
61
- contentOwnsBottomInset
62
+ contentOwnsBottomInset,
63
+ platformAdjustsInsets
62
64
  } = useScreen();
63
65
  // The root yields the bottom edge only to a vertical container, so a horizontal
64
66
  // one here is a secondary container and must not pay the inset a second time.
65
67
  const ownsBottomInset = contentOwnsBottomInset && !horizontal;
68
+ useNestedContainerWarning("Screen.ScrollView", horizontal);
66
69
  const resolvedPadding = contentPadding ?? margins ?? screenPadding;
67
70
  const mergedRef = useScreenRef(scrollRef, ref);
68
71
  const placeholder = renderScreenPlaceholder({
@@ -77,8 +80,13 @@ export const ScreenScrollView = /*#__PURE__*/forwardRef(function ScreenScrollVie
77
80
  style: [{
78
81
  backgroundColor: background
79
82
  }, style],
80
- horizontal: horizontal,
81
- contentInsetAdjustmentBehavior: "never",
83
+ horizontal: horizontal
84
+ /*
85
+ UIKit owns the vertical insets on a header-less iOS screen — see
86
+ `platformAdjustsInsets`. Everywhere else the frame has already paid
87
+ them, so a second adjustment here would count them twice.
88
+ */,
89
+ contentInsetAdjustmentBehavior: platformAdjustsInsets ? "automatic" : "never",
82
90
  automaticallyAdjustContentInsets: false,
83
91
  automaticallyAdjustsScrollIndicatorInsets: false,
84
92
  showsVerticalScrollIndicator: false,
@@ -1 +1 @@
1
- {"version":3,"names":["Children","forwardRef","Animated","StyleSheet","resolveScreenPadding","PortalHost","useScreenRef","useScreenScrollHandler","ScreenBottomInset","renderScreenPlaceholder","SCREEN_HEADER_PORTAL_HOST","useScreen","hasHorizontalPadding","hasVerticalPadding","jsx","_jsx","jsxs","_jsxs","ScreenScrollView","children","style","contentContainerStyle","contentStyle","scrollHandler","externalScrollHandler","onScroll","horizontal","isLoading","loading","loadingContent","LoadingComponent","emptyContent","EmptyComponent","contentPadding","margins","extraBottomPadding","isEmpty","rest","ref","scrollRef","screenPadding","hasHeader","background","contentOwnsBottomInset","ownsBottomInset","resolvedPadding","mergedRef","placeholder","undefined","toArray","length","composedScrollHandler","ScrollView","backgroundColor","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","automaticallyAdjustsScrollIndicatorInsets","showsVerticalScrollIndicator","scrollEventThrottle","styles","scrollContent","View","headerWrapper","name","content","displayName","create","theme","runtime","padding","x","y","breakpoint","flexGrow","paddingTop","layout","header","height","paddingHorizontal","paddingBottom","uni__dependencies","marginHorizontal","flexDirection"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenScrollView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Children","forwardRef","Animated","StyleSheet","resolveScreenPadding","PortalHost","useNestedContainerWarning","useScreenRef","useScreenScrollHandler","ScreenBottomInset","renderScreenPlaceholder","SCREEN_HEADER_PORTAL_HOST","useScreen","hasHorizontalPadding","hasVerticalPadding","jsx","_jsx","jsxs","_jsxs","ScreenScrollView","children","style","contentContainerStyle","contentStyle","scrollHandler","externalScrollHandler","onScroll","horizontal","isLoading","loading","loadingContent","LoadingComponent","emptyContent","EmptyComponent","contentPadding","margins","extraBottomPadding","isEmpty","rest","ref","scrollRef","screenPadding","hasHeader","background","contentOwnsBottomInset","platformAdjustsInsets","ownsBottomInset","resolvedPadding","mergedRef","placeholder","undefined","toArray","length","composedScrollHandler","ScrollView","backgroundColor","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","automaticallyAdjustsScrollIndicatorInsets","showsVerticalScrollIndicator","scrollEventThrottle","styles","scrollContent","View","headerWrapper","name","content","displayName","create","theme","runtime","padding","x","y","breakpoint","flexGrow","paddingTop","layout","header","height","paddingHorizontal","paddingBottom","uni__dependencies","marginHorizontal","flexDirection"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenScrollView.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ import { useEffect } from "react";
4
+ import { useScreen } from "../ScreenContext.js";
5
+
6
+ /**
7
+ * Warns, in development, when this container is the one the screen root failed
8
+ * to find.
9
+ *
10
+ * The root inspects its own children and fragments but does not execute
11
+ * component children, so a container rendered inside one is invisible to it (see
12
+ * `hasScrollContainerOwningBottom`). On a header-less iOS screen that changes
13
+ * behaviour rather than just bookkeeping: the frame pads the top edge, the scroll
14
+ * view no longer fills the screen, and UIKit stops collapsing the native large
15
+ * title — silently, with the screen otherwise looking correct.
16
+ *
17
+ * The container is the only place that can tell. `platformInsetsEligible` says
18
+ * the screen qualified; a container mounting while `platformAdjustsInsets` is
19
+ * false says the root never saw it. Both true together mean exactly this mistake,
20
+ * so there is nothing here to false-positive on: a screen with no scroll
21
+ * container at all never runs this hook, and a deliberate `safeArea` opt-out is
22
+ * not eligible in the first place.
23
+ *
24
+ * @param container Name to report, e.g. `"Screen.List"`.
25
+ * @param horizontal Whether this container scrolls horizontally; those are never
26
+ * candidates for the vertical insets and never warn.
27
+ */
28
+ export function useNestedContainerWarning(container, horizontal) {
29
+ const {
30
+ platformAdjustsInsets,
31
+ platformInsetsEligible
32
+ } = useScreen();
33
+ const isNested = platformInsetsEligible && !platformAdjustsInsets && !horizontal;
34
+ useEffect(() => {
35
+ if (!__DEV__ || !isNested) return;
36
+ console.warn(`[react-native-terra-ui] ${container} is nested inside another component, so its Screen could not find it. ` + "On iOS a Screen with no Screen.Header hands its vertical insets to UIKit, but only when the scroll " + "container is among its own children — nested, the frame pads the top instead and a native large title " + `will not collapse. Render ${container} as a direct child of Screen; fragments are fine.`);
37
+ }, [container, isNested]);
38
+ }
39
+ //# sourceMappingURL=use-nested-container-warning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useScreen","useNestedContainerWarning","container","horizontal","platformAdjustsInsets","platformInsetsEligible","isNested","__DEV__","console","warn"],"sourceRoot":"../../../../../src","sources":["components/screen/hooks/use-nested-container-warning.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AAEjC,SAASC,SAAS;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CAACC,SAAiB,EAAEC,UAAmB,EAAQ;EACtF,MAAM;IAAEC,qBAAqB;IAAEC;EAAuB,CAAC,GAAGL,SAAS,CAAC,CAAC;EACrE,MAAMM,QAAQ,GAAGD,sBAAsB,IAAI,CAACD,qBAAqB,IAAI,CAACD,UAAU;EAEhFJ,SAAS,CAAC,MAAM;IACd,IAAI,CAACQ,OAAO,IAAI,CAACD,QAAQ,EAAE;IAC3BE,OAAO,CAACC,IAAI,CACV,2BAA2BP,SAAS,wEAAwE,GAC1G,qGAAqG,GACrG,wGAAwG,GACxG,6BAA6BA,SAAS,mDAC1C,CAAC;EACH,CAAC,EAAE,CAACA,SAAS,EAAEI,QAAQ,CAAC,CAAC;AAC3B","ignoreList":[]}
@@ -21,6 +21,7 @@ export function ScreenFrame({
21
21
  children: [/*#__PURE__*/_jsx(ScreenSafeArea, {
22
22
  edges: edges,
23
23
  children: /*#__PURE__*/_jsx(View, {
24
+ collapsable: false,
24
25
  style: styles.content,
25
26
  onLayout: onLayout,
26
27
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useContext","useState","Animated","StyleSheet","ScreenHeaderAppearanceContext","ScreenSafeArea","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ScreenFrame","children","edges","appearance","topInset","setTopInset","onLayout","event","nativeEvent","layout","y","View","style","styles","content","top","background","undefined","pointerEvents","topSafeArea","color","animatedStyle","create","flex","height","backgroundColor","position","left","right"],"sourceRoot":"../../../../../src","sources":["components/screen/parts/ScreenFrame.tsx"],"mappings":";;;AAAA,SAAiCA,WAAW,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,OAAO;AAGjF,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,UAAU,QAAQ,wBAAwB;AAGnD,SAASC,6BAA6B;AACtC,SAASC,cAAc;AAA2B,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAElD,OAAO,SAASC,WAAWA,CAAC;EAAEC,QAAQ;EAAEC;AAAyD,CAAC,EAAE;EAClG,MAAMC,UAAU,GAAGf,UAAU,CAACI,6BAA6B,CAAC;EAC5D,MAAM,CAACY,QAAQ,EAAEC,WAAW,CAAC,GAAGhB,QAAQ,CAAC,CAAC,CAAC;EAC3C,MAAMiB,QAAQ,GAAGnB,WAAW,CAAEoB,KAAwB,IAAK;IACzD;IACAF,WAAW,CAACE,KAAK,CAACC,WAAW,CAACC,MAAM,CAACC,CAAC,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEX,KAAA,CAAAF,SAAA;IAAAI,QAAA,gBACEN,IAAA,CAACF,cAAc;MAACS,KAAK,EAAEA,KAAM;MAAAD,QAAA,eAC3BN,IAAA,CAACgB,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACC,OAAQ;QAACR,QAAQ,EAAEA,QAAS;QAAAL,QAAA,EAC7CA;MAAQ,CACL;IAAC,CACO,CAAC,EAChBC,KAAK,CAACa,GAAG,IAAIZ,UAAU,EAAEa,UAAU,KAAKC,SAAS,iBAChDtB,IAAA,CAACL,QAAQ,CAACqB,IAAI;MACZO,aAAa,EAAC,MAAM;MACpBN,KAAK,EAAE,CACLC,MAAM,CAACM,WAAW,CAACf,QAAQ,EAAED,UAAU,CAACa,UAAU,CAACI,KAAK,CAAC,EACzDjB,UAAU,CAACa,UAAU,CAACK,aAAa;IACnC,CACH,CACF;EAAA,CACD,CAAC;AAEP;AAEA,MAAMR,MAAM,GAAGtB,UAAU,CAAC+B,MAAM,CAAC,OAAO;EACtCR,OAAO,EAAE;IAAES,IAAI,EAAE;EAAE,CAAC;EACpBJ,WAAW,EAAEA,CAACK,MAAc,EAAEC,eAAuB,MAAM;IACzDC,QAAQ,EAAE,UAAU;IACpBX,GAAG,EAAE,CAAC;IACNY,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRJ,MAAM;IACNC;EACF,CAAC;AACH,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useContext","useState","Animated","StyleSheet","ScreenHeaderAppearanceContext","ScreenSafeArea","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ScreenFrame","children","edges","appearance","topInset","setTopInset","onLayout","event","nativeEvent","layout","y","View","collapsable","style","styles","content","top","background","undefined","pointerEvents","topSafeArea","color","animatedStyle","create","flex","height","backgroundColor","position","left","right"],"sourceRoot":"../../../../../src","sources":["components/screen/parts/ScreenFrame.tsx"],"mappings":";;;AAAA,SAAiCA,WAAW,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,OAAO;AAGjF,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,UAAU,QAAQ,wBAAwB;AAGnD,SAASC,6BAA6B;AACtC,SAASC,cAAc;AAA2B,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAElD,OAAO,SAASC,WAAWA,CAAC;EAAEC,QAAQ;EAAEC;AAAyD,CAAC,EAAE;EAClG,MAAMC,UAAU,GAAGf,UAAU,CAACI,6BAA6B,CAAC;EAC5D,MAAM,CAACY,QAAQ,EAAEC,WAAW,CAAC,GAAGhB,QAAQ,CAAC,CAAC,CAAC;EAC3C,MAAMiB,QAAQ,GAAGnB,WAAW,CAAEoB,KAAwB,IAAK;IACzD;IACAF,WAAW,CAACE,KAAK,CAACC,WAAW,CAACC,MAAM,CAACC,CAAC,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEX,KAAA,CAAAF,SAAA;IAAAI,QAAA,gBACEN,IAAA,CAACF,cAAc;MAACS,KAAK,EAAEA,KAAM;MAAAD,QAAA,eAQ3BN,IAAA,CAACgB,IAAI;QAACC,WAAW,EAAE,KAAM;QAACC,KAAK,EAAEC,MAAM,CAACC,OAAQ;QAACT,QAAQ,EAAEA,QAAS;QAAAL,QAAA,EACjEA;MAAQ,CACL;IAAC,CACO,CAAC,EAChBC,KAAK,CAACc,GAAG,IAAIb,UAAU,EAAEc,UAAU,KAAKC,SAAS,iBAChDvB,IAAA,CAACL,QAAQ,CAACqB,IAAI;MACZQ,aAAa,EAAC,MAAM;MACpBN,KAAK,EAAE,CACLC,MAAM,CAACM,WAAW,CAAChB,QAAQ,EAAED,UAAU,CAACc,UAAU,CAACI,KAAK,CAAC,EACzDlB,UAAU,CAACc,UAAU,CAACK,aAAa;IACnC,CACH,CACF;EAAA,CACD,CAAC;AAEP;AAEA,MAAMR,MAAM,GAAGvB,UAAU,CAACgC,MAAM,CAAC,OAAO;EACtCR,OAAO,EAAE;IAAES,IAAI,EAAE;EAAE,CAAC;EACpBJ,WAAW,EAAEA,CAACK,MAAc,EAAEC,eAAuB,MAAM;IACzDC,QAAQ,EAAE,UAAU;IACpBX,GAAG,EAAE,CAAC;IACNY,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRJ,MAAM;IACNC;EACF,CAAC;AACH,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -236,7 +236,7 @@ const ToastClose = /*#__PURE__*/forwardRef(function ToastClose({
236
236
  variant: variant,
237
237
  ...rest,
238
238
  children: children ?? /*#__PURE__*/_jsx(Icon, {
239
- name: "navigation.close",
239
+ name: "terra.x",
240
240
  size: iconProps?.size ?? 20,
241
241
  color: iconProps?.color ?? colors.icon,
242
242
  strokeWidth: iconProps?.strokeWidth,