@react-navigation/elements 3.0.0-alpha.5 → 3.0.0-alpha.50

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 (213) hide show
  1. package/lib/module/ActivityView.js +90 -0
  2. package/lib/module/ActivityView.js.map +1 -0
  3. package/lib/module/ActivityView.native.js +67 -0
  4. package/lib/module/ActivityView.native.js.map +1 -0
  5. package/lib/module/Badge.js +6 -7
  6. package/lib/module/Badge.js.map +1 -1
  7. package/lib/module/BlurEffectBackground.js +3 -3
  8. package/lib/module/BlurEffectBackground.js.map +1 -1
  9. package/lib/module/Button.js +99 -14
  10. package/lib/module/Button.js.map +1 -1
  11. package/lib/module/Color.js +565 -4
  12. package/lib/module/Color.js.map +1 -1
  13. package/lib/module/Container.js +12 -1
  14. package/lib/module/Container.js.map +1 -1
  15. package/lib/module/Header/Header.js +30 -18
  16. package/lib/module/Header/Header.js.map +1 -1
  17. package/lib/module/Header/HeaderBackButton.js +27 -13
  18. package/lib/module/Header/HeaderBackButton.js.map +1 -1
  19. package/lib/module/Header/HeaderButton.js +4 -5
  20. package/lib/module/Header/HeaderButton.js.map +1 -1
  21. package/lib/module/Header/HeaderButtonBackground.js +1 -2
  22. package/lib/module/Header/HeaderButtonBackground.js.map +1 -1
  23. package/lib/module/Header/HeaderIcon.js +14 -17
  24. package/lib/module/Header/HeaderIcon.js.map +1 -1
  25. package/lib/module/Header/HeaderSearchBar.js +36 -26
  26. package/lib/module/Header/HeaderSearchBar.js.map +1 -1
  27. package/lib/module/Header/getHeaderTitle.js.map +1 -1
  28. package/lib/module/Header/useHeaderHeight.js +1 -1
  29. package/lib/module/Header/useHeaderHeight.js.map +1 -1
  30. package/lib/module/Label/getLabel.js.map +1 -1
  31. package/lib/module/LiquidGlassView.ios.js +1 -2
  32. package/lib/module/LiquidGlassView.ios.js.map +1 -1
  33. package/lib/module/LiquidGlassView.js +0 -4
  34. package/lib/module/LiquidGlassView.js.map +1 -1
  35. package/lib/module/PlatformColor.js +1 -0
  36. package/lib/module/PlatformColor.js.map +1 -1
  37. package/lib/module/PlatformColor.native.js +1 -1
  38. package/lib/module/PlatformColor.native.js.map +1 -1
  39. package/lib/module/PlatformIcon.js +46 -0
  40. package/lib/module/PlatformIcon.js.map +1 -0
  41. package/lib/module/PlatformPressable.js +64 -21
  42. package/lib/module/PlatformPressable.js.map +1 -1
  43. package/lib/module/SafeAreaProviderCompat.js +1 -1
  44. package/lib/module/SafeAreaProviderCompat.js.map +1 -1
  45. package/lib/module/Screen.js +31 -18
  46. package/lib/module/Screen.js.map +1 -1
  47. package/lib/module/index.js +2 -7
  48. package/lib/module/index.js.map +1 -1
  49. package/lib/module/internal.js +1 -1
  50. package/lib/module/internal.js.map +1 -1
  51. package/lib/module/useFrameSize.js +6 -2
  52. package/lib/module/useFrameSize.js.map +1 -1
  53. package/lib/typescript/src/ActivityView.d.ts +31 -0
  54. package/lib/typescript/src/ActivityView.d.ts.map +1 -0
  55. package/lib/typescript/src/ActivityView.native.d.ts +3 -0
  56. package/lib/typescript/src/ActivityView.native.d.ts.map +1 -0
  57. package/lib/typescript/src/Badge.d.ts +7 -6
  58. package/lib/typescript/src/Badge.d.ts.map +1 -1
  59. package/lib/typescript/src/BlurEffectBackground.d.ts +2 -2
  60. package/lib/typescript/src/BlurEffectBackground.d.ts.map +1 -1
  61. package/lib/typescript/src/Button.d.ts +54 -6
  62. package/lib/typescript/src/Button.d.ts.map +1 -1
  63. package/lib/typescript/src/Color.d.ts +4 -4
  64. package/lib/typescript/src/Color.d.ts.map +1 -1
  65. package/lib/typescript/src/Container.d.ts +8 -4
  66. package/lib/typescript/src/Container.d.ts.map +1 -1
  67. package/lib/typescript/src/Header/Header.d.ts +5 -4
  68. package/lib/typescript/src/Header/Header.d.ts.map +1 -1
  69. package/lib/typescript/src/Header/HeaderBackButton.d.ts +3 -2
  70. package/lib/typescript/src/Header/HeaderBackButton.d.ts.map +1 -1
  71. package/lib/typescript/src/Header/HeaderBackground.d.ts +5 -5
  72. package/lib/typescript/src/Header/HeaderBackground.d.ts.map +1 -1
  73. package/lib/typescript/src/Header/HeaderButton.d.ts +7 -2
  74. package/lib/typescript/src/Header/HeaderButton.d.ts.map +1 -1
  75. package/lib/typescript/src/Header/HeaderButtonBackground.d.ts +1 -1
  76. package/lib/typescript/src/Header/HeaderButtonBackground.d.ts.map +1 -1
  77. package/lib/typescript/src/Header/HeaderIcon.d.ts +10 -4
  78. package/lib/typescript/src/Header/HeaderIcon.d.ts.map +1 -1
  79. package/lib/typescript/src/Header/HeaderSearchBar.d.ts +10 -7
  80. package/lib/typescript/src/Header/HeaderSearchBar.d.ts.map +1 -1
  81. package/lib/typescript/src/Header/HeaderTitle.d.ts +4 -4
  82. package/lib/typescript/src/Header/HeaderTitle.d.ts.map +1 -1
  83. package/lib/typescript/src/Header/getHeaderTitle.d.ts +2 -2
  84. package/lib/typescript/src/Header/getHeaderTitle.d.ts.map +1 -1
  85. package/lib/typescript/src/Label/Label.d.ts +1 -1
  86. package/lib/typescript/src/Label/Label.d.ts.map +1 -1
  87. package/lib/typescript/src/Label/getLabel.d.ts +2 -2
  88. package/lib/typescript/src/Label/getLabel.d.ts.map +1 -1
  89. package/lib/typescript/src/LiquidGlassView.d.ts +7 -5
  90. package/lib/typescript/src/LiquidGlassView.d.ts.map +1 -1
  91. package/lib/typescript/src/LiquidGlassView.ios.d.ts +4 -2
  92. package/lib/typescript/src/LiquidGlassView.ios.d.ts.map +1 -1
  93. package/lib/typescript/src/MissingIcon.d.ts +3 -3
  94. package/lib/typescript/src/MissingIcon.d.ts.map +1 -1
  95. package/lib/typescript/src/PlatformColor.d.ts +1 -0
  96. package/lib/typescript/src/PlatformColor.d.ts.map +1 -1
  97. package/lib/typescript/src/PlatformColor.native.d.ts +1 -1
  98. package/lib/typescript/src/PlatformColor.native.d.ts.map +1 -1
  99. package/lib/typescript/src/PlatformIcon.d.ts +11 -0
  100. package/lib/typescript/src/PlatformIcon.d.ts.map +1 -0
  101. package/lib/typescript/src/PlatformPressable.d.ts +12 -15
  102. package/lib/typescript/src/PlatformPressable.d.ts.map +1 -1
  103. package/lib/typescript/src/SafeAreaProviderCompat.d.ts +1 -1
  104. package/lib/typescript/src/SafeAreaProviderCompat.d.ts.map +1 -1
  105. package/lib/typescript/src/Screen.d.ts +7 -7
  106. package/lib/typescript/src/Screen.d.ts.map +1 -1
  107. package/lib/typescript/src/Text.d.ts +1 -1
  108. package/lib/typescript/src/Text.d.ts.map +1 -1
  109. package/lib/typescript/src/index.d.ts +21 -21
  110. package/lib/typescript/src/index.d.ts.map +1 -1
  111. package/lib/typescript/src/internal.d.ts +6 -6
  112. package/lib/typescript/src/internal.d.ts.map +1 -1
  113. package/lib/typescript/src/types.d.ts +120 -70
  114. package/lib/typescript/src/types.d.ts.map +1 -1
  115. package/lib/typescript/src/useFrameSize.d.ts +2 -2
  116. package/lib/typescript/src/useFrameSize.d.ts.map +1 -1
  117. package/package.json +27 -22
  118. package/src/ActivityView.native.tsx +90 -0
  119. package/src/ActivityView.tsx +129 -0
  120. package/src/Badge.tsx +11 -10
  121. package/src/BlurEffectBackground.tsx +3 -3
  122. package/src/Button.tsx +177 -28
  123. package/src/Color.tsx +755 -8
  124. package/src/Container.tsx +21 -4
  125. package/src/Header/Header.tsx +47 -27
  126. package/src/Header/HeaderBackButton.tsx +34 -20
  127. package/src/Header/HeaderBackground.tsx +3 -3
  128. package/src/Header/HeaderButton.tsx +16 -18
  129. package/src/Header/HeaderButtonBackground.tsx +1 -4
  130. package/src/Header/HeaderIcon.tsx +26 -13
  131. package/src/Header/HeaderSearchBar.tsx +58 -49
  132. package/src/Header/HeaderTitle.tsx +3 -3
  133. package/src/Header/getHeaderTitle.tsx +4 -1
  134. package/src/Header/useHeaderHeight.tsx +1 -1
  135. package/src/Label/getLabel.tsx +1 -1
  136. package/src/LiquidGlassView.ios.tsx +14 -9
  137. package/src/LiquidGlassView.tsx +15 -11
  138. package/src/MissingIcon.tsx +2 -2
  139. package/src/PlatformColor.native.tsx +1 -1
  140. package/src/PlatformColor.tsx +4 -0
  141. package/src/PlatformIcon.tsx +70 -0
  142. package/src/PlatformPressable.tsx +108 -48
  143. package/src/SafeAreaProviderCompat.tsx +1 -1
  144. package/src/Screen.tsx +41 -28
  145. package/src/index.tsx +2 -16
  146. package/src/internal.tsx +1 -1
  147. package/src/types.tsx +153 -76
  148. package/src/useFrameSize.tsx +11 -4
  149. package/lib/module/Lazy.js +0 -42
  150. package/lib/module/Lazy.js.map +0 -1
  151. package/lib/module/assets/back-icon.ios.svg +0 -4
  152. package/lib/module/assets/back-icon@1x.android.png +0 -0
  153. package/lib/module/assets/back-icon@1x.ios.png +0 -0
  154. package/lib/module/assets/back-icon@2x.android.png +0 -0
  155. package/lib/module/assets/back-icon@2x.ios.png +0 -0
  156. package/lib/module/assets/back-icon@3x.android.png +0 -0
  157. package/lib/module/assets/back-icon@3x.ios.png +0 -0
  158. package/lib/module/assets/back-icon@4x.android.png +0 -0
  159. package/lib/module/assets/back-icon@4x.ios.png +0 -0
  160. package/lib/module/assets/clear-icon@1x.png +0 -0
  161. package/lib/module/assets/clear-icon@2x.png +0 -0
  162. package/lib/module/assets/clear-icon@3x.png +0 -0
  163. package/lib/module/assets/clear-icon@4x.png +0 -0
  164. package/lib/module/assets/close-icon@1x.png +0 -0
  165. package/lib/module/assets/close-icon@2x.png +0 -0
  166. package/lib/module/assets/close-icon@3x.png +0 -0
  167. package/lib/module/assets/close-icon@4x.png +0 -0
  168. package/lib/module/assets/search-icon-legacy@1x.ios.png +0 -0
  169. package/lib/module/assets/search-icon-legacy@2x.ios.png +0 -0
  170. package/lib/module/assets/search-icon-legacy@3x.ios.png +0 -0
  171. package/lib/module/assets/search-icon-legacy@4x.ios.png +0 -0
  172. package/lib/module/assets/search-icon.ios.svg +0 -4
  173. package/lib/module/assets/search-icon@1x.android.png +0 -0
  174. package/lib/module/assets/search-icon@1x.ios.png +0 -0
  175. package/lib/module/assets/search-icon@2x.android.png +0 -0
  176. package/lib/module/assets/search-icon@2x.ios.png +0 -0
  177. package/lib/module/assets/search-icon@3x.android.png +0 -0
  178. package/lib/module/assets/search-icon@3x.ios.png +0 -0
  179. package/lib/module/assets/search-icon@4x.android.png +0 -0
  180. package/lib/module/assets/search-icon@4x.ios.png +0 -0
  181. package/lib/typescript/src/Lazy.d.ts +0 -31
  182. package/lib/typescript/src/Lazy.d.ts.map +0 -1
  183. package/src/Lazy.tsx +0 -59
  184. package/src/assets/back-icon.ios.svg +0 -4
  185. package/src/assets/back-icon@1x.android.png +0 -0
  186. package/src/assets/back-icon@1x.ios.png +0 -0
  187. package/src/assets/back-icon@2x.android.png +0 -0
  188. package/src/assets/back-icon@2x.ios.png +0 -0
  189. package/src/assets/back-icon@3x.android.png +0 -0
  190. package/src/assets/back-icon@3x.ios.png +0 -0
  191. package/src/assets/back-icon@4x.android.png +0 -0
  192. package/src/assets/back-icon@4x.ios.png +0 -0
  193. package/src/assets/clear-icon@1x.png +0 -0
  194. package/src/assets/clear-icon@2x.png +0 -0
  195. package/src/assets/clear-icon@3x.png +0 -0
  196. package/src/assets/clear-icon@4x.png +0 -0
  197. package/src/assets/close-icon@1x.png +0 -0
  198. package/src/assets/close-icon@2x.png +0 -0
  199. package/src/assets/close-icon@3x.png +0 -0
  200. package/src/assets/close-icon@4x.png +0 -0
  201. package/src/assets/search-icon-legacy@1x.ios.png +0 -0
  202. package/src/assets/search-icon-legacy@2x.ios.png +0 -0
  203. package/src/assets/search-icon-legacy@3x.ios.png +0 -0
  204. package/src/assets/search-icon-legacy@4x.ios.png +0 -0
  205. package/src/assets/search-icon.ios.svg +0 -4
  206. package/src/assets/search-icon@1x.android.png +0 -0
  207. package/src/assets/search-icon@1x.ios.png +0 -0
  208. package/src/assets/search-icon@2x.android.png +0 -0
  209. package/src/assets/search-icon@2x.ios.png +0 -0
  210. package/src/assets/search-icon@3x.android.png +0 -0
  211. package/src/assets/search-icon@3x.ios.png +0 -0
  212. package/src/assets/search-icon@4x.android.png +0 -0
  213. package/src/assets/search-icon@4x.ios.png +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"}
@@ -8,10 +8,10 @@ export declare function useFrameSize<T>(selector: (frame: Frame) => T, throttle?
8
8
  type FrameSizeProviderProps = {
9
9
  initialFrame: Frame;
10
10
  render: (props: {
11
- ref: React.RefObject<View | null>;
11
+ ref: React.RefObject<React.ComponentRef<typeof View> | null>;
12
12
  onLayout: (event: LayoutChangeEvent) => void;
13
13
  }) => React.ReactNode;
14
14
  };
15
- export declare function FrameSizeProvider({ initialFrame, render, }: FrameSizeProviderProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function FrameSizeProvider({ initialFrame, render, }: FrameSizeProviderProps): React.JSX.Element;
16
16
  export {};
17
17
  //# sourceMappingURL=useFrameSize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFrameSize.d.ts","sourceRoot":"","sources":["../../../src/useFrameSize.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,iBAAiB,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAItE,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAgBF,wBAAgB,YAAY,CAAC,CAAC,EAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,EAC7B,QAAQ,CAAC,EAAE,OAAO,GACjB,CAAC,CAeH;AAED,KAAK,sBAAsB,GAAG;IAC5B,YAAY,EAAE,KAAK,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE;QACd,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;KAC9C,KAAK,KAAK,CAAC,SAAS,CAAC;CACvB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,YAAY,EACZ,MAAM,GACP,EAAE,sBAAsB,2CA4GxB"}
1
+ {"version":3,"file":"useFrameSize.d.ts","sourceRoot":"","sources":["../../../src/useFrameSize.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,iBAAiB,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAMtE,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAiBF,wBAAgB,YAAY,CAAC,CAAC,EAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,EAC7B,QAAQ,CAAC,EAAE,OAAO,GACjB,CAAC,CAeH;AAED,KAAK,sBAAsB,GAAG;IAC5B,YAAY,EAAE,KAAK,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE;QACd,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;KAC9C,KAAK,KAAK,CAAC,SAAS,CAAC;CACvB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,YAAY,EACZ,MAAM,GACP,EAAE,sBAAsB,qBA4GxB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/elements",
3
3
  "description": "UI Components for React Navigation",
4
- "version": "3.0.0-alpha.5",
4
+ "version": "3.0.0-alpha.50",
5
5
  "keywords": [
6
6
  "react-native",
7
7
  "react-navigation",
@@ -22,12 +22,12 @@
22
22
  "types": "./lib/typescript/src/index.d.ts",
23
23
  "exports": {
24
24
  ".": {
25
- "source": "./src/index.tsx",
25
+ "@react-navigation/source": "./src/index.tsx",
26
26
  "types": "./lib/typescript/src/index.d.ts",
27
27
  "default": "./lib/module/index.js"
28
28
  },
29
29
  "./internal": {
30
- "source": "./src/internal.tsx",
30
+ "@react-navigation/source": "./src/internal.tsx",
31
31
  "types": "./lib/typescript/src/internal.d.ts",
32
32
  "default": "./lib/module/internal.js"
33
33
  },
@@ -47,32 +47,37 @@
47
47
  "clean": "del lib"
48
48
  },
49
49
  "dependencies": {
50
- "color": "^4.2.3",
51
- "use-latest-callback": "^0.3.2",
52
- "use-sync-external-store": "^1.5.0"
50
+ "sf-symbols-typescript": "^2.2.0",
51
+ "use-latest-callback": "^0.3.5",
52
+ "use-sync-external-store": "^1.6.0"
53
53
  },
54
54
  "devDependencies": {
55
- "@callstack/liquid-glass": "^0.6.0",
56
- "@jest/globals": "^30.0.0",
57
- "@react-navigation/native": "^8.0.0-alpha.5",
58
- "@testing-library/react-native": "^13.2.1",
59
- "@types/react": "~19.1.10",
55
+ "@callstack/liquid-glass": "^0.8.0",
56
+ "@jest/globals": "^30.4.1",
57
+ "@react-navigation/native": "^8.0.0-alpha.46",
58
+ "@testing-library/jest-dom": "^7.0.0",
59
+ "@testing-library/react": "^16.3.2",
60
+ "@testing-library/react-native": "^14.0.0",
61
+ "@testing-library/user-event": "^14.6.1",
62
+ "@types/react": "~19.2.17",
60
63
  "@types/use-sync-external-store": "^1.5.0",
61
- "del-cli": "^6.0.0",
62
- "react": "19.1.0",
63
- "react-native": "0.81.4",
64
- "react-native-builder-bob": "^0.40.12",
65
- "react-native-screens": "^4.20.0",
66
- "react-test-renderer": "19.1.0",
67
- "typescript": "^5.9.2"
64
+ "del-cli": "^7.0.0",
65
+ "react": "19.2.3",
66
+ "react-native": "0.85.3",
67
+ "react-native-builder-bob": "^0.43.0",
68
+ "react-native-safe-area-context": "~5.7.0",
69
+ "react-native-screens": "^4.26.2",
70
+ "react-native-web": "~0.21.2",
71
+ "test-renderer": "1.2.0",
72
+ "typescript": "^6.0.3"
68
73
  },
69
74
  "peerDependencies": {
70
75
  "@callstack/liquid-glass": ">= 0.6.0",
71
- "@react-navigation/native": "^8.0.0-alpha.5",
72
- "react": ">= 19.0.0",
76
+ "@react-navigation/native": "^8.0.0-alpha.46",
77
+ "react": ">= 19.2.0",
73
78
  "react-native": "*",
74
79
  "react-native-safe-area-context": ">= 5.5.0",
75
- "react-native-screens": ">= 4.19.0"
80
+ "react-native-screens": ">= 4.25.0"
76
81
  },
77
82
  "react-native-builder-bob": {
78
83
  "source": "src",
@@ -92,5 +97,5 @@
92
97
  ]
93
98
  ]
94
99
  },
95
- "gitHead": "e70fcf951732df83d28fe5157408974346a1abbc"
100
+ "gitHead": "ac6baf188f7a456429a87b644053e765233f0151"
96
101
  }
@@ -0,0 +1,90 @@
1
+ import { Activity, useEffect, useState } from 'react';
2
+ import {
3
+ type HostComponent,
4
+ NativeComponentRegistry,
5
+ type ViewProps,
6
+ } from 'react-native';
7
+
8
+ // eslint-disable-next-line import-x/extensions
9
+ import type { Props } from './ActivityView.tsx';
10
+ import { Container } from './Container';
11
+
12
+ export function ActivityView({
13
+ mode,
14
+ visible,
15
+ delay = 500,
16
+ style,
17
+ children,
18
+ }: Props) {
19
+ const [delayedMode, setDelayedMode] = useState(mode);
20
+
21
+ useEffect(() => {
22
+ if (!delay) {
23
+ return;
24
+ }
25
+
26
+ const timer = setTimeout(() => {
27
+ setDelayedMode(mode);
28
+ }, delay);
29
+
30
+ return () => clearTimeout(timer);
31
+ }, [delay, mode]);
32
+
33
+ const display = visible ? 'flex' : 'none';
34
+ const activityMode =
35
+ mode !== 'paused' || (delay && delayedMode !== 'paused')
36
+ ? 'visible'
37
+ : 'hidden';
38
+
39
+ return (
40
+ <Activity mode={activityMode}>
41
+ <ActivityContentView style={{ display: 'contents' }}>
42
+ <Container
43
+ inert={mode !== 'normal'}
44
+ style={{
45
+ ...style,
46
+ /**
47
+ * The visibility of the nested view is controlled by `Activity`
48
+ * It'll be overridden to `display: 'none'` when `mode="hidden"` regardless of what we set
49
+ * So we set the visibility on another view instead
50
+ */
51
+ display,
52
+ }}
53
+ >
54
+ {children}
55
+ </Container>
56
+ </ActivityContentView>
57
+ </Activity>
58
+ );
59
+ }
60
+
61
+ const STYLE: Record<string, true | { process?: (arg1: any) => any }> = {
62
+ display: {
63
+ /**
64
+ * React `Activity` sets `display: 'none'` when `mode="hidden"` to unmount effects
65
+ * But we want to keep the content visible, so we switch it to `display: 'contents'`
66
+ */
67
+ process: () => 'contents',
68
+ },
69
+ };
70
+
71
+ const VIEW_CONFIG = {
72
+ uiViewClassName: 'RCTView',
73
+ validAttributes: {
74
+ style: STYLE,
75
+ },
76
+ };
77
+
78
+ type ActivityContentViewProps = Omit<ViewProps, 'style'> & {
79
+ style?:
80
+ | {
81
+ display?: 'contents' | undefined;
82
+ }
83
+ | undefined;
84
+ };
85
+
86
+ const ActivityContentView: HostComponent<ActivityContentViewProps> =
87
+ NativeComponentRegistry.get<ActivityContentViewProps>(
88
+ 'ReactNavigationActivityContentView',
89
+ () => VIEW_CONFIG
90
+ );
@@ -0,0 +1,129 @@
1
+ import { Activity, useCallback, useEffect, useState } from 'react';
2
+ import { Platform, View, type ViewStyle } from 'react-native';
3
+
4
+ import { Container } from './Container';
5
+
6
+ export type Props = {
7
+ /**
8
+ * Mode of the activity view
9
+ * - `normal`: The view renders normally
10
+ * - `inert`: Content is not interactive
11
+ * - `paused`: Effects are unmounted and content is not interactive
12
+ */
13
+ mode: 'normal' | 'inert' | 'paused';
14
+ /**
15
+ * Whether the content is visible or not
16
+ */
17
+ visible: boolean;
18
+ /**
19
+ * Delay before pausing effects.
20
+ * So pending animations have time to finish.
21
+ *
22
+ * Defaults to 500ms.
23
+ */
24
+ delay?: number | undefined;
25
+ /**
26
+ * The style for the container view
27
+ */
28
+ style?: Omit<React.CSSProperties & ViewStyle, 'display'> | undefined;
29
+ /**
30
+ * The content of the activity view
31
+ */
32
+ children: React.ReactNode;
33
+ };
34
+
35
+ export function ActivityView({
36
+ mode,
37
+ visible,
38
+ delay = 500,
39
+ style,
40
+ children,
41
+ }: Props) {
42
+ const [delayedMode, setDelayedMode] = useState(mode);
43
+
44
+ useEffect(() => {
45
+ if (!delay) {
46
+ return;
47
+ }
48
+
49
+ const timer = setTimeout(() => {
50
+ setDelayedMode(mode);
51
+ }, delay);
52
+
53
+ return () => clearTimeout(timer);
54
+ }, [delay, mode]);
55
+
56
+ const display = visible ? 'flex' : 'none';
57
+ const activityMode =
58
+ mode !== 'paused' || (delay && delayedMode !== 'paused')
59
+ ? 'visible'
60
+ : 'hidden';
61
+
62
+ /**
63
+ * Activity has 2 modes, visible and hidden - hidden unmounts effects
64
+ * But what we want is to unmount effects, without hiding content
65
+ * So we use hidden mode, but unset display: none to make content visible
66
+ */
67
+ const onRef = useCallback(
68
+ (node: HTMLDivElement | React.ComponentRef<typeof View> | null) => {
69
+ if (Platform.OS !== 'web' || !(node && node instanceof HTMLElement)) {
70
+ return;
71
+ }
72
+
73
+ const observers: MutationObserver[] = [];
74
+
75
+ const observe = () => {
76
+ // Remove previous observers
77
+ observers.forEach((o) => o.disconnect());
78
+ observers.length = 0;
79
+
80
+ const children = node.childNodes;
81
+
82
+ // When the style attribute for children is updated by React
83
+ // We observe it and update display to make content visible
84
+ children.forEach((child) => {
85
+ if (child instanceof HTMLElement) {
86
+ child.style.display = display;
87
+
88
+ const o = new MutationObserver(() => {
89
+ child.style.display = display;
90
+ });
91
+
92
+ o.observe(child, {
93
+ attributes: true,
94
+ attributeFilter: ['style'],
95
+ });
96
+
97
+ observers.push(o);
98
+ }
99
+ });
100
+ };
101
+
102
+ observe();
103
+
104
+ // React removes refs when `Activity` is hidden
105
+ // So we render outside of the `Activity` and observer child list
106
+ const observer = new MutationObserver(observe);
107
+
108
+ observer.observe(node, {
109
+ childList: true,
110
+ });
111
+
112
+ return () => {
113
+ observer.disconnect();
114
+ observers.forEach((o) => o.disconnect());
115
+ };
116
+ },
117
+ [display]
118
+ );
119
+
120
+ return (
121
+ <Container ref={onRef} style={{ display: 'contents' }}>
122
+ <Activity mode={activityMode}>
123
+ <Container inert={mode !== 'normal'} style={{ ...style, display }}>
124
+ {children}
125
+ </Container>
126
+ </Activity>
127
+ </Container>
128
+ );
129
+ }
package/src/Badge.tsx CHANGED
@@ -11,7 +11,7 @@ import {
11
11
 
12
12
  import { Color } from './Color';
13
13
 
14
- type Props = TextProps & {
14
+ type Props = Omit<TextProps, 'style'> & {
15
15
  /**
16
16
  * Whether the badge is visible
17
17
  */
@@ -19,15 +19,15 @@ type Props = TextProps & {
19
19
  /**
20
20
  * Content of the `Badge`.
21
21
  */
22
- children?: string | number;
22
+ children?: string | number | undefined;
23
23
  /**
24
24
  * Size of the `Badge`.
25
25
  */
26
- size?: number;
26
+ size?: number | undefined;
27
27
  /**
28
28
  * Style object for the tab bar container.
29
29
  */
30
- style?: Animated.WithAnimatedValue<StyleProp<TextStyle>>;
30
+ style?: StyleProp<TextStyle> | undefined;
31
31
  };
32
32
 
33
33
  const useNativeDriver = Platform.OS !== 'web';
@@ -49,17 +49,19 @@ export function Badge({
49
49
  return;
50
50
  }
51
51
 
52
- Animated.timing(opacity, {
52
+ const animation = Animated.timing(opacity, {
53
53
  toValue: visible ? 1 : 0,
54
54
  duration: 150,
55
55
  useNativeDriver,
56
- }).start(({ finished }) => {
56
+ });
57
+
58
+ animation.start(({ finished }) => {
57
59
  if (finished && !visible) {
58
60
  setRendered(false);
59
61
  }
60
62
  });
61
63
 
62
- return () => opacity.stopAnimation();
64
+ return () => animation.stop();
63
65
  }, [opacity, rendered, visible]);
64
66
 
65
67
  if (!rendered) {
@@ -70,10 +72,9 @@ export function Badge({
70
72
  }
71
73
  }
72
74
 
73
- // @ts-expect-error: backgroundColor definitely exists
74
75
  const { backgroundColor = colors.notification, ...restStyle } =
75
- StyleSheet.flatten(style) || {};
76
- const textColor = Color(backgroundColor)?.isLight() ? 'black' : 'white';
76
+ StyleSheet.flatten(style) ?? {};
77
+ const textColor = Color.foreground(backgroundColor);
77
78
 
78
79
  const borderRadius = size / 2;
79
80
  const fontSize = Math.floor((size * 3) / 4);
@@ -31,7 +31,8 @@ export function BlurEffectBackground({
31
31
  children,
32
32
  ...rest
33
33
  }: Props) {
34
- let containerStyle, blurStyle, blurBackground, colorBackground;
34
+ let blurStyle: (ViewStyle & React.CSSProperties) | undefined;
35
+ let containerStyle, blurBackground, colorBackground;
35
36
 
36
37
  if (Platform.OS === 'web' && blurEffect && blurEffect !== 'none') {
37
38
  const blurBackgroundColor = getBlurBackgroundColor(blurEffect);
@@ -40,9 +41,8 @@ export function BlurEffectBackground({
40
41
  const backdropFilter = `saturate(180%) blur(30px)`;
41
42
 
42
43
  blurStyle = {
43
- // @ts-expect-error backdropFilter is web-only
44
44
  backdropFilter,
45
- webkitBackdropFilter: backdropFilter,
45
+ WebkitBackdropFilter: backdropFilter,
46
46
  };
47
47
 
48
48
  blurBackground = (