one 1.2.69 → 1.2.70

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 (266) hide show
  1. package/dist/cjs/__mocks__/@react-navigation/native-stack.cjs +29 -0
  2. package/dist/cjs/__mocks__/@react-navigation/native-stack.js +24 -0
  3. package/dist/cjs/__mocks__/@react-navigation/native-stack.js.map +6 -0
  4. package/dist/cjs/__mocks__/@react-navigation/native-stack.native.js +38 -0
  5. package/dist/cjs/__mocks__/@react-navigation/native-stack.native.js.map +1 -0
  6. package/dist/cjs/__mocks__/@react-navigation/native.js +45 -0
  7. package/dist/cjs/__mocks__/@react-navigation/native.js.map +1 -0
  8. package/dist/cjs/__mocks__/expo-linking.cjs +36 -0
  9. package/dist/cjs/__mocks__/expo-linking.js +25 -0
  10. package/dist/cjs/__mocks__/expo-linking.js.map +6 -0
  11. package/dist/cjs/__mocks__/expo-linking.native.js +47 -0
  12. package/dist/cjs/__mocks__/expo-linking.native.js.map +1 -0
  13. package/dist/cjs/__mocks__/expo-modules-core.cjs +36 -0
  14. package/dist/cjs/__mocks__/expo-modules-core.js +31 -0
  15. package/dist/cjs/__mocks__/expo-modules-core.js.map +6 -0
  16. package/dist/cjs/__mocks__/expo-modules-core.native.js +67 -0
  17. package/dist/cjs/__mocks__/expo-modules-core.native.js.map +1 -0
  18. package/dist/cjs/__mocks__/react-native-screens.cjs +28 -0
  19. package/dist/cjs/__mocks__/react-native-screens.js +22 -0
  20. package/dist/cjs/__mocks__/react-native-screens.js.map +6 -0
  21. package/dist/cjs/__mocks__/react-native-screens.native.js +31 -0
  22. package/dist/cjs/__mocks__/react-native-screens.native.js.map +1 -0
  23. package/dist/cjs/__mocks__/react-native.js +49 -0
  24. package/dist/cjs/__mocks__/react-native.js.map +1 -0
  25. package/dist/cjs/fork/NavigationContainer.js.map +1 -1
  26. package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/layouts/Stack.cjs +6 -1
  29. package/dist/cjs/layouts/Stack.js +5 -2
  30. package/dist/cjs/layouts/Stack.js.map +1 -1
  31. package/dist/cjs/layouts/Stack.native.js +6 -1
  32. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  33. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.cjs +40 -0
  34. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.js +35 -0
  35. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.js.map +6 -0
  36. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js +43 -0
  37. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -0
  38. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.cjs +90 -0
  39. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.js +64 -0
  40. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.js.map +6 -0
  41. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js +99 -0
  42. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -0
  43. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.cjs +35 -0
  44. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.js +30 -0
  45. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.js.map +6 -0
  46. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js +40 -0
  47. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -0
  48. package/dist/cjs/layouts/stack-utils/StackHeaderRight.cjs +35 -0
  49. package/dist/cjs/layouts/stack-utils/StackHeaderRight.js +30 -0
  50. package/dist/cjs/layouts/stack-utils/StackHeaderRight.js.map +6 -0
  51. package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js +40 -0
  52. package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js.map +1 -0
  53. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.cjs +35 -0
  54. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.js +30 -0
  55. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.js.map +6 -0
  56. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js +38 -0
  57. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -0
  58. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.cjs +65 -0
  59. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.js +46 -0
  60. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.js.map +6 -0
  61. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js +68 -0
  62. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -0
  63. package/dist/cjs/layouts/stack-utils/StackScreen.cjs +57 -0
  64. package/dist/cjs/layouts/stack-utils/StackScreen.js +43 -0
  65. package/dist/cjs/layouts/stack-utils/StackScreen.js.map +6 -0
  66. package/dist/cjs/layouts/stack-utils/StackScreen.native.js +64 -0
  67. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -0
  68. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.cjs +455 -0
  69. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.js +406 -0
  70. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.js.map +6 -0
  71. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js +480 -0
  72. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -0
  73. package/dist/cjs/layouts/stack-utils/index.cjs +47 -0
  74. package/dist/cjs/layouts/stack-utils/index.js +36 -0
  75. package/dist/cjs/layouts/stack-utils/index.js.map +6 -0
  76. package/dist/cjs/layouts/stack-utils/index.native.js +50 -0
  77. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -0
  78. package/dist/cjs/layouts/withLayoutContext.cjs +2 -1
  79. package/dist/cjs/layouts/withLayoutContext.js +2 -2
  80. package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
  81. package/dist/cjs/layouts/withLayoutContext.native.js +3 -2
  82. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  83. package/dist/cjs/utils/children.cjs +46 -0
  84. package/dist/cjs/utils/children.js +47 -0
  85. package/dist/cjs/utils/children.js.map +6 -0
  86. package/dist/cjs/utils/children.native.js +76 -0
  87. package/dist/cjs/utils/children.native.js.map +1 -0
  88. package/dist/cjs/utils/style.cjs +28 -0
  89. package/dist/cjs/utils/style.js +24 -0
  90. package/dist/cjs/utils/style.js.map +6 -0
  91. package/dist/cjs/utils/style.native.js +31 -0
  92. package/dist/cjs/utils/style.native.js.map +1 -0
  93. package/dist/esm/__mocks__/@react-navigation/native-stack.js +8 -0
  94. package/dist/esm/__mocks__/@react-navigation/native-stack.js.map +6 -0
  95. package/dist/esm/__mocks__/@react-navigation/native-stack.mjs +6 -0
  96. package/dist/esm/__mocks__/@react-navigation/native-stack.mjs.map +1 -0
  97. package/dist/esm/__mocks__/@react-navigation/native-stack.native.js +12 -0
  98. package/dist/esm/__mocks__/@react-navigation/native-stack.native.js.map +1 -0
  99. package/dist/esm/__mocks__/@react-navigation/native.js +18 -0
  100. package/dist/esm/__mocks__/@react-navigation/native.js.map +1 -0
  101. package/dist/esm/__mocks__/expo-linking.js +9 -0
  102. package/dist/esm/__mocks__/expo-linking.js.map +6 -0
  103. package/dist/esm/__mocks__/expo-linking.mjs +10 -0
  104. package/dist/esm/__mocks__/expo-linking.mjs.map +1 -0
  105. package/dist/esm/__mocks__/expo-linking.native.js +18 -0
  106. package/dist/esm/__mocks__/expo-linking.native.js.map +1 -0
  107. package/dist/esm/__mocks__/expo-modules-core.js +15 -0
  108. package/dist/esm/__mocks__/expo-modules-core.js.map +6 -0
  109. package/dist/esm/__mocks__/expo-modules-core.mjs +10 -0
  110. package/dist/esm/__mocks__/expo-modules-core.mjs.map +1 -0
  111. package/dist/esm/__mocks__/expo-modules-core.native.js +38 -0
  112. package/dist/esm/__mocks__/expo-modules-core.native.js.map +1 -0
  113. package/dist/esm/__mocks__/react-native-screens.js +6 -0
  114. package/dist/esm/__mocks__/react-native-screens.js.map +6 -0
  115. package/dist/esm/__mocks__/react-native-screens.mjs +4 -0
  116. package/dist/esm/__mocks__/react-native-screens.mjs.map +1 -0
  117. package/dist/esm/__mocks__/react-native-screens.native.js +4 -0
  118. package/dist/esm/__mocks__/react-native-screens.native.js.map +1 -0
  119. package/dist/esm/__mocks__/react-native.js +19 -0
  120. package/dist/esm/__mocks__/react-native.js.map +1 -0
  121. package/dist/esm/fork/NavigationContainer.js.map +1 -1
  122. package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
  123. package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
  124. package/dist/esm/index.js.map +1 -1
  125. package/dist/esm/index.mjs.map +1 -1
  126. package/dist/esm/index.native.js.map +1 -1
  127. package/dist/esm/layouts/Stack.js +5 -1
  128. package/dist/esm/layouts/Stack.js.map +1 -1
  129. package/dist/esm/layouts/Stack.mjs +6 -1
  130. package/dist/esm/layouts/Stack.mjs.map +1 -1
  131. package/dist/esm/layouts/Stack.native.js +6 -1
  132. package/dist/esm/layouts/Stack.native.js.map +1 -1
  133. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.js +19 -0
  134. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.js.map +6 -0
  135. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.mjs +16 -0
  136. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.mjs.map +1 -0
  137. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.native.js +16 -0
  138. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -0
  139. package/dist/esm/layouts/stack-utils/StackHeaderComponent.js +61 -0
  140. package/dist/esm/layouts/stack-utils/StackHeaderComponent.js.map +6 -0
  141. package/dist/esm/layouts/stack-utils/StackHeaderComponent.mjs +66 -0
  142. package/dist/esm/layouts/stack-utils/StackHeaderComponent.mjs.map +1 -0
  143. package/dist/esm/layouts/stack-utils/StackHeaderComponent.native.js +72 -0
  144. package/dist/esm/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -0
  145. package/dist/esm/layouts/stack-utils/StackHeaderLeft.js +14 -0
  146. package/dist/esm/layouts/stack-utils/StackHeaderLeft.js.map +6 -0
  147. package/dist/esm/layouts/stack-utils/StackHeaderLeft.mjs +11 -0
  148. package/dist/esm/layouts/stack-utils/StackHeaderLeft.mjs.map +1 -0
  149. package/dist/esm/layouts/stack-utils/StackHeaderLeft.native.js +13 -0
  150. package/dist/esm/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -0
  151. package/dist/esm/layouts/stack-utils/StackHeaderRight.js +14 -0
  152. package/dist/esm/layouts/stack-utils/StackHeaderRight.js.map +6 -0
  153. package/dist/esm/layouts/stack-utils/StackHeaderRight.mjs +11 -0
  154. package/dist/esm/layouts/stack-utils/StackHeaderRight.mjs.map +1 -0
  155. package/dist/esm/layouts/stack-utils/StackHeaderRight.native.js +13 -0
  156. package/dist/esm/layouts/stack-utils/StackHeaderRight.native.js.map +1 -0
  157. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.js +14 -0
  158. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.js.map +6 -0
  159. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.mjs +11 -0
  160. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.mjs.map +1 -0
  161. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.native.js +11 -0
  162. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -0
  163. package/dist/esm/layouts/stack-utils/StackHeaderTitle.js +31 -0
  164. package/dist/esm/layouts/stack-utils/StackHeaderTitle.js.map +6 -0
  165. package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs +41 -0
  166. package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs.map +1 -0
  167. package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js +41 -0
  168. package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -0
  169. package/dist/esm/layouts/stack-utils/StackScreen.js +33 -0
  170. package/dist/esm/layouts/stack-utils/StackScreen.js.map +6 -0
  171. package/dist/esm/layouts/stack-utils/StackScreen.mjs +33 -0
  172. package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -0
  173. package/dist/esm/layouts/stack-utils/StackScreen.native.js +38 -0
  174. package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -0
  175. package/dist/esm/layouts/stack-utils/__tests__/composition.test.js +422 -0
  176. package/dist/esm/layouts/stack-utils/__tests__/composition.test.js.map +6 -0
  177. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs +456 -0
  178. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs.map +1 -0
  179. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js +478 -0
  180. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -0
  181. package/dist/esm/layouts/stack-utils/index.js +26 -0
  182. package/dist/esm/layouts/stack-utils/index.js.map +6 -0
  183. package/dist/esm/layouts/stack-utils/index.mjs +16 -0
  184. package/dist/esm/layouts/stack-utils/index.mjs.map +1 -0
  185. package/dist/esm/layouts/stack-utils/index.native.js +16 -0
  186. package/dist/esm/layouts/stack-utils/index.native.js.map +1 -0
  187. package/dist/esm/layouts/withLayoutContext.js +2 -1
  188. package/dist/esm/layouts/withLayoutContext.js.map +1 -1
  189. package/dist/esm/layouts/withLayoutContext.mjs +2 -1
  190. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  191. package/dist/esm/layouts/withLayoutContext.native.js +2 -1
  192. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  193. package/dist/esm/utils/children.js +33 -0
  194. package/dist/esm/utils/children.js.map +6 -0
  195. package/dist/esm/utils/children.mjs +19 -0
  196. package/dist/esm/utils/children.mjs.map +1 -0
  197. package/dist/esm/utils/children.native.js +46 -0
  198. package/dist/esm/utils/children.native.js.map +1 -0
  199. package/dist/esm/utils/style.js +8 -0
  200. package/dist/esm/utils/style.js.map +6 -0
  201. package/dist/esm/utils/style.mjs +5 -0
  202. package/dist/esm/utils/style.mjs.map +1 -0
  203. package/dist/esm/utils/style.native.js +5 -0
  204. package/dist/esm/utils/style.native.js.map +1 -0
  205. package/package.json +9 -9
  206. package/src/__mocks__/@react-navigation/native-stack.ts +32 -0
  207. package/src/__mocks__/@react-navigation/native.ts +21 -0
  208. package/src/__mocks__/expo-linking.ts +6 -0
  209. package/src/__mocks__/expo-modules-core.ts +11 -0
  210. package/src/__mocks__/react-native-screens.ts +17 -0
  211. package/src/__mocks__/react-native.ts +20 -0
  212. package/src/fork/NavigationContainer.tsx +2 -0
  213. package/src/index.ts +10 -0
  214. package/src/layouts/Stack.tsx +7 -1
  215. package/src/layouts/stack-utils/README.md +211 -0
  216. package/src/layouts/stack-utils/StackHeaderBackButton.tsx +34 -0
  217. package/src/layouts/stack-utils/StackHeaderComponent.tsx +123 -0
  218. package/src/layouts/stack-utils/StackHeaderLeft.tsx +29 -0
  219. package/src/layouts/stack-utils/StackHeaderRight.tsx +29 -0
  220. package/src/layouts/stack-utils/StackHeaderSearchBar.tsx +21 -0
  221. package/src/layouts/stack-utils/StackHeaderTitle.tsx +72 -0
  222. package/src/layouts/stack-utils/StackScreen.tsx +66 -0
  223. package/src/layouts/stack-utils/__tests__/composition.test.tsx +634 -0
  224. package/src/layouts/stack-utils/index.tsx +35 -0
  225. package/src/layouts/withLayoutContext.tsx +3 -2
  226. package/src/router/router.ts +1 -1
  227. package/src/utils/children.ts +72 -0
  228. package/src/utils/style.ts +17 -0
  229. package/types/__mocks__/@react-navigation/native-stack.d.ts +30 -0
  230. package/types/__mocks__/@react-navigation/native-stack.d.ts.map +1 -0
  231. package/types/__mocks__/@react-navigation/native.d.ts +17 -0
  232. package/types/__mocks__/@react-navigation/native.d.ts.map +1 -0
  233. package/types/__mocks__/expo-linking.d.ts +9 -0
  234. package/types/__mocks__/expo-linking.d.ts.map +1 -0
  235. package/types/__mocks__/expo-modules-core.d.ts +11 -0
  236. package/types/__mocks__/expo-modules-core.d.ts.map +1 -0
  237. package/types/__mocks__/react-native-screens.d.ts +14 -0
  238. package/types/__mocks__/react-native-screens.d.ts.map +1 -0
  239. package/types/__mocks__/react-native.d.ts +12 -0
  240. package/types/__mocks__/react-native.d.ts.map +1 -0
  241. package/types/fork/NavigationContainer.d.ts.map +1 -1
  242. package/types/index.d.ts +1 -0
  243. package/types/index.d.ts.map +1 -1
  244. package/types/layouts/Stack.d.ts +10 -0
  245. package/types/layouts/Stack.d.ts.map +1 -1
  246. package/types/layouts/stack-utils/StackHeaderBackButton.d.ts +17 -0
  247. package/types/layouts/stack-utils/StackHeaderBackButton.d.ts.map +1 -0
  248. package/types/layouts/stack-utils/StackHeaderComponent.d.ts +36 -0
  249. package/types/layouts/stack-utils/StackHeaderComponent.d.ts.map +1 -0
  250. package/types/layouts/stack-utils/StackHeaderLeft.d.ts +13 -0
  251. package/types/layouts/stack-utils/StackHeaderLeft.d.ts.map +1 -0
  252. package/types/layouts/stack-utils/StackHeaderRight.d.ts +13 -0
  253. package/types/layouts/stack-utils/StackHeaderRight.d.ts.map +1 -0
  254. package/types/layouts/stack-utils/StackHeaderSearchBar.d.ts +10 -0
  255. package/types/layouts/stack-utils/StackHeaderSearchBar.d.ts.map +1 -0
  256. package/types/layouts/stack-utils/StackHeaderTitle.d.ts +26 -0
  257. package/types/layouts/stack-utils/StackHeaderTitle.d.ts.map +1 -0
  258. package/types/layouts/stack-utils/StackScreen.d.ts +22 -0
  259. package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -0
  260. package/types/layouts/stack-utils/index.d.ts +20 -0
  261. package/types/layouts/stack-utils/index.d.ts.map +1 -0
  262. package/types/layouts/withLayoutContext.d.ts.map +1 -1
  263. package/types/utils/children.d.ts +23 -0
  264. package/types/utils/children.d.ts.map +1 -0
  265. package/types/utils/style.d.ts +7 -0
  266. package/types/utils/style.d.ts.map +1 -0
@@ -0,0 +1,422 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { Platform } from "react-native-web";
3
+ import { StackHeaderTitle, appendStackHeaderTitlePropsToOptions } from "../StackHeaderTitle";
4
+ import { StackHeaderLeft, appendStackHeaderLeftPropsToOptions } from "../StackHeaderLeft";
5
+ import { StackHeaderRight, appendStackHeaderRightPropsToOptions } from "../StackHeaderRight";
6
+ import {
7
+ StackHeaderBackButton,
8
+ appendStackHeaderBackButtonPropsToOptions
9
+ } from "../StackHeaderBackButton";
10
+ import {
11
+ StackHeaderSearchBar,
12
+ appendStackHeaderSearchBarPropsToOptions
13
+ } from "../StackHeaderSearchBar";
14
+ import { StackHeaderComponent, appendStackHeaderPropsToOptions } from "../StackHeaderComponent";
15
+ import { appendScreenStackPropsToOptions } from "../StackScreen";
16
+ import { StackHeader } from "../index";
17
+ import { jsx, jsxs } from "react/jsx-runtime";
18
+ describe("Stack Header Composition", () => {
19
+ describe("StackHeaderTitle", () => {
20
+ it("sets title from children", () => {
21
+ const result = appendStackHeaderTitlePropsToOptions({}, { children: "My Title" });
22
+ expect(result.title).toBe("My Title");
23
+ }), it("sets headerLargeTitle when large is true", () => {
24
+ const result = appendStackHeaderTitlePropsToOptions({}, { large: !0 });
25
+ expect(result.headerLargeTitle).toBe(!0);
26
+ }), it("sets headerTitleAlign from style.textAlign", () => {
27
+ const result = appendStackHeaderTitlePropsToOptions(
28
+ {},
29
+ {
30
+ style: { textAlign: "center" }
31
+ }
32
+ );
33
+ expect(result.headerTitleAlign).toBe("center");
34
+ }), it("converts numeric fontWeight to string", () => {
35
+ const result = appendStackHeaderTitlePropsToOptions(
36
+ {},
37
+ {
38
+ style: { fontWeight: "700" }
39
+ }
40
+ );
41
+ expect(result.headerTitleStyle).toMatchObject({ fontWeight: "700" });
42
+ }), it("preserves existing options", () => {
43
+ const result = appendStackHeaderTitlePropsToOptions(
44
+ { animation: "slide_from_right" },
45
+ { children: "Title" }
46
+ );
47
+ expect(result.animation).toBe("slide_from_right"), expect(result.title).toBe("Title");
48
+ }), it("sets headerTransparent only on iOS when large is true", () => {
49
+ const originalOS = Platform.OS;
50
+ Platform.OS = "ios";
51
+ const iosResult = appendStackHeaderTitlePropsToOptions({}, { large: !0 });
52
+ expect(iosResult.headerTransparent).toBe(!0), Platform.OS = "android";
53
+ const androidResult = appendStackHeaderTitlePropsToOptions({}, { large: !0 });
54
+ expect(androidResult.headerTransparent).toBeUndefined(), Platform.OS = "web";
55
+ const webResult = appendStackHeaderTitlePropsToOptions({}, { large: !0 });
56
+ expect(webResult.headerTransparent).toBeUndefined(), Platform.OS = originalOS;
57
+ });
58
+ }), describe("StackHeaderLeft", () => {
59
+ it("does not set headerLeft without asChild", () => {
60
+ const result = appendStackHeaderLeftPropsToOptions(
61
+ {},
62
+ {
63
+ children: /* @__PURE__ */ jsx("button", { children: "Back" })
64
+ }
65
+ );
66
+ expect(result.headerLeft).toBeUndefined();
67
+ }), it("sets headerLeft with asChild", () => {
68
+ const result = appendStackHeaderLeftPropsToOptions(
69
+ {},
70
+ {
71
+ asChild: !0,
72
+ children: /* @__PURE__ */ jsx(() => /* @__PURE__ */ jsx("button", { children: "Back" }), {})
73
+ }
74
+ );
75
+ expect(result.headerLeft).toBeDefined(), expect(typeof result.headerLeft).toBe("function");
76
+ }), it("sets headerLeft with asChild even without children", () => {
77
+ const result = appendStackHeaderLeftPropsToOptions({}, { asChild: !0 });
78
+ expect(result.headerLeft).toBeDefined(), expect(typeof result.headerLeft).toBe("function");
79
+ }), it("preserves existing options when setting headerLeft", () => {
80
+ const result = appendStackHeaderLeftPropsToOptions(
81
+ { title: "Existing Title", animation: "slide_from_right" },
82
+ {
83
+ asChild: !0,
84
+ children: /* @__PURE__ */ jsx("button", { children: "Back" })
85
+ }
86
+ );
87
+ expect(result.title).toBe("Existing Title"), expect(result.animation).toBe("slide_from_right"), expect(result.headerLeft).toBeDefined();
88
+ }), it("headerLeft function returns children when called", () => {
89
+ const headerLeftResult = appendStackHeaderLeftPropsToOptions(
90
+ {},
91
+ {
92
+ asChild: !0,
93
+ children: /* @__PURE__ */ jsx(() => /* @__PURE__ */ jsx("button", { children: "Back" }), {})
94
+ }
95
+ ).headerLeft?.({});
96
+ expect(headerLeftResult).toBeDefined();
97
+ });
98
+ }), describe("StackHeaderRight", () => {
99
+ it("does not set headerRight without asChild", () => {
100
+ const result = appendStackHeaderRightPropsToOptions(
101
+ {},
102
+ {
103
+ children: /* @__PURE__ */ jsx("button", { children: "Action" })
104
+ }
105
+ );
106
+ expect(result.headerRight).toBeUndefined();
107
+ }), it("sets headerRight with asChild", () => {
108
+ const result = appendStackHeaderRightPropsToOptions(
109
+ {},
110
+ {
111
+ asChild: !0,
112
+ children: /* @__PURE__ */ jsx(() => /* @__PURE__ */ jsx("button", { children: "Action" }), {})
113
+ }
114
+ );
115
+ expect(result.headerRight).toBeDefined(), expect(typeof result.headerRight).toBe("function");
116
+ }), it("sets headerRight with asChild even without children", () => {
117
+ const result = appendStackHeaderRightPropsToOptions({}, { asChild: !0 });
118
+ expect(result.headerRight).toBeDefined(), expect(typeof result.headerRight).toBe("function");
119
+ }), it("preserves existing options when setting headerRight", () => {
120
+ const result = appendStackHeaderRightPropsToOptions(
121
+ { title: "Existing Title", headerLargeTitle: !0 },
122
+ {
123
+ asChild: !0,
124
+ children: /* @__PURE__ */ jsx("button", { children: "Action" })
125
+ }
126
+ );
127
+ expect(result.title).toBe("Existing Title"), expect(result.headerLargeTitle).toBe(!0), expect(result.headerRight).toBeDefined();
128
+ }), it("headerRight function returns children when called", () => {
129
+ const headerRightResult = appendStackHeaderRightPropsToOptions(
130
+ {},
131
+ {
132
+ asChild: !0,
133
+ children: /* @__PURE__ */ jsx(() => /* @__PURE__ */ jsx("button", { children: "Action" }), {})
134
+ }
135
+ ).headerRight?.({});
136
+ expect(headerRightResult).toBeDefined();
137
+ });
138
+ }), describe("StackHeaderBackButton", () => {
139
+ it("sets headerBackTitle from children", () => {
140
+ const result = appendStackHeaderBackButtonPropsToOptions(
141
+ {},
142
+ {
143
+ children: "Go Back"
144
+ }
145
+ );
146
+ expect(result.headerBackTitle).toBe("Go Back");
147
+ }), it("sets headerBackVisible to false when hidden", () => {
148
+ const result = appendStackHeaderBackButtonPropsToOptions(
149
+ {},
150
+ {
151
+ hidden: !0
152
+ }
153
+ );
154
+ expect(result.headerBackVisible).toBe(!1);
155
+ }), it("sets headerBackButtonMenuEnabled", () => {
156
+ const result = appendStackHeaderBackButtonPropsToOptions(
157
+ {},
158
+ {
159
+ withMenu: !0
160
+ }
161
+ );
162
+ expect(result.headerBackButtonMenuEnabled).toBe(!0);
163
+ }), it("sets headerBackButtonDisplayMode", () => {
164
+ const result = appendStackHeaderBackButtonPropsToOptions(
165
+ {},
166
+ {
167
+ displayMode: "minimal"
168
+ }
169
+ );
170
+ expect(result.headerBackButtonDisplayMode).toBe("minimal");
171
+ });
172
+ }), describe("StackHeaderSearchBar", () => {
173
+ it("sets headerSearchBarOptions with placeholder", () => {
174
+ const result = appendStackHeaderSearchBarPropsToOptions(
175
+ {},
176
+ {
177
+ placeholder: "Search..."
178
+ }
179
+ );
180
+ expect(result.headerSearchBarOptions).toMatchObject({
181
+ placeholder: "Search..."
182
+ });
183
+ }), it("sets headerSearchBarOptions with autoCapitalize", () => {
184
+ const result = appendStackHeaderSearchBarPropsToOptions(
185
+ {},
186
+ {
187
+ autoCapitalize: "none"
188
+ }
189
+ );
190
+ expect(result.headerSearchBarOptions).toMatchObject({
191
+ autoCapitalize: "none"
192
+ });
193
+ }), it("sets headerSearchBarOptions with multiple props", () => {
194
+ const result = appendStackHeaderSearchBarPropsToOptions(
195
+ {},
196
+ {
197
+ placeholder: "Search articles...",
198
+ autoCapitalize: "words",
199
+ hideWhenScrolling: !0,
200
+ obscureBackground: !1
201
+ }
202
+ );
203
+ expect(result.headerSearchBarOptions).toMatchObject({
204
+ placeholder: "Search articles...",
205
+ autoCapitalize: "words",
206
+ hideWhenScrolling: !0,
207
+ obscureBackground: !1
208
+ });
209
+ }), it("preserves existing options when setting search bar", () => {
210
+ const result = appendStackHeaderSearchBarPropsToOptions(
211
+ { title: "Articles", headerLargeTitle: !0 },
212
+ {
213
+ placeholder: "Search..."
214
+ }
215
+ );
216
+ expect(result.title).toBe("Articles"), expect(result.headerLargeTitle).toBe(!0), expect(result.headerSearchBarOptions).toMatchObject({
217
+ placeholder: "Search..."
218
+ });
219
+ }), it("sets headerSearchBarOptions with placement prop", () => {
220
+ const result = appendStackHeaderSearchBarPropsToOptions(
221
+ {},
222
+ {
223
+ placeholder: "Search...",
224
+ placement: "stacked"
225
+ }
226
+ );
227
+ expect(result.headerSearchBarOptions).toMatchObject({
228
+ placeholder: "Search...",
229
+ placement: "stacked"
230
+ });
231
+ }), it("sets empty headerSearchBarOptions when no props", () => {
232
+ const result = appendStackHeaderSearchBarPropsToOptions({}, {});
233
+ expect(result.headerSearchBarOptions).toBeDefined(), expect(result.headerSearchBarOptions).toEqual({});
234
+ });
235
+ }), describe("StackHeaderComponent", () => {
236
+ it("sets headerShown false when hidden", () => {
237
+ const result = appendStackHeaderPropsToOptions({}, { hidden: !0 });
238
+ expect(result.headerShown).toBe(!1);
239
+ }), it("sets headerBlurEffect", () => {
240
+ const result = appendStackHeaderPropsToOptions({}, { blurEffect: "regular" });
241
+ expect(result.headerBlurEffect).toBe("regular");
242
+ }), it("sets headerShadowVisible false when shadowColor is transparent", () => {
243
+ const result = appendStackHeaderPropsToOptions(
244
+ {},
245
+ {
246
+ style: { shadowColor: "transparent" }
247
+ }
248
+ );
249
+ expect(result.headerShadowVisible).toBe(!1);
250
+ }), it("sets headerTransparent when backgroundColor is transparent", () => {
251
+ const result = appendStackHeaderPropsToOptions(
252
+ {},
253
+ {
254
+ style: { backgroundColor: "transparent" }
255
+ }
256
+ );
257
+ expect(result.headerTransparent).toBe(!0), expect(result.headerStyle).toMatchObject({ backgroundColor: "transparent" });
258
+ }), it("sets headerTransparent with SearchBar (user controls via options if needed)", () => {
259
+ const result = appendStackHeaderPropsToOptions(
260
+ {},
261
+ {
262
+ style: { backgroundColor: "transparent" },
263
+ children: /* @__PURE__ */ jsx(StackHeaderSearchBar, { placeholder: "Search..." })
264
+ }
265
+ );
266
+ expect(result.headerTransparent).toBe(!0), expect(result.headerSearchBarOptions).toMatchObject({ placeholder: "Search..." });
267
+ }), it("processes child Title component", () => {
268
+ const result = appendStackHeaderPropsToOptions(
269
+ {},
270
+ {
271
+ children: /* @__PURE__ */ jsx(StackHeaderTitle, { large: !0, children: "Test Title" })
272
+ }
273
+ );
274
+ expect(result.title).toBe("Test Title"), expect(result.headerLargeTitle).toBe(!0);
275
+ }), it("processes child BackButton component", () => {
276
+ const result = appendStackHeaderPropsToOptions(
277
+ {},
278
+ {
279
+ children: /* @__PURE__ */ jsx(StackHeaderBackButton, { hidden: !0, children: "Back" })
280
+ }
281
+ );
282
+ expect(result.headerBackTitle).toBe("Back"), expect(result.headerBackVisible).toBe(!1);
283
+ }), it("processes multiple children", () => {
284
+ const result = appendStackHeaderPropsToOptions(
285
+ {},
286
+ {
287
+ children: [
288
+ /* @__PURE__ */ jsx(StackHeaderTitle, { large: !0, children: "My Screen" }, "title"),
289
+ /* @__PURE__ */ jsx(StackHeaderBackButton, { hidden: !0 }, "back")
290
+ ]
291
+ }
292
+ );
293
+ expect(result.title).toBe("My Screen"), expect(result.headerLargeTitle).toBe(!0), expect(result.headerBackVisible).toBe(!1);
294
+ }), it("processes child Left component", () => {
295
+ const result = appendStackHeaderPropsToOptions(
296
+ {},
297
+ {
298
+ children: /* @__PURE__ */ jsx(StackHeaderLeft, { asChild: !0, children: /* @__PURE__ */ jsx("button", { children: "Back" }) })
299
+ }
300
+ );
301
+ expect(result.headerLeft).toBeDefined(), expect(typeof result.headerLeft).toBe("function");
302
+ }), it("processes child Right component", () => {
303
+ const result = appendStackHeaderPropsToOptions(
304
+ {},
305
+ {
306
+ children: /* @__PURE__ */ jsx(StackHeaderRight, { asChild: !0, children: /* @__PURE__ */ jsx("button", { children: "Action" }) })
307
+ }
308
+ );
309
+ expect(result.headerRight).toBeDefined(), expect(typeof result.headerRight).toBe("function");
310
+ }), it("processes child SearchBar component", () => {
311
+ const result = appendStackHeaderPropsToOptions(
312
+ {},
313
+ {
314
+ children: /* @__PURE__ */ jsx(StackHeaderSearchBar, { placeholder: "Search..." })
315
+ }
316
+ );
317
+ expect(result.headerSearchBarOptions).toMatchObject({
318
+ placeholder: "Search..."
319
+ });
320
+ }), it("processes all child components together", () => {
321
+ const result = appendStackHeaderPropsToOptions(
322
+ {},
323
+ {
324
+ children: [
325
+ /* @__PURE__ */ jsx(StackHeaderTitle, { large: !0, children: "Articles" }, "title"),
326
+ /* @__PURE__ */ jsx(StackHeaderLeft, { asChild: !0, children: /* @__PURE__ */ jsx("button", { children: "Back" }) }, "left"),
327
+ /* @__PURE__ */ jsx(StackHeaderRight, { asChild: !0, children: /* @__PURE__ */ jsx("button", { children: "More" }) }, "right"),
328
+ /* @__PURE__ */ jsx(StackHeaderSearchBar, { placeholder: "Search articles..." }, "search"),
329
+ /* @__PURE__ */ jsx(StackHeaderBackButton, { displayMode: "minimal" }, "back")
330
+ ]
331
+ }
332
+ );
333
+ expect(result.title).toBe("Articles"), expect(result.headerLargeTitle).toBe(!0), expect(result.headerLeft).toBeDefined(), expect(result.headerRight).toBeDefined(), expect(result.headerSearchBarOptions).toMatchObject({
334
+ placeholder: "Search articles..."
335
+ }), expect(result.headerBackButtonDisplayMode).toBe("minimal");
336
+ });
337
+ }), describe("StackScreen composition", () => {
338
+ it("StackHeader is same reference as StackHeaderComponent", () => {
339
+ expect(StackHeader).toBe(StackHeaderComponent);
340
+ }), it("merges options with Header composition", () => {
341
+ const result = appendScreenStackPropsToOptions(
342
+ { animation: "slide_from_right" },
343
+ {
344
+ options: { gestureEnabled: !0 },
345
+ children: /* @__PURE__ */ jsx(StackHeaderComponent, { blurEffect: "regular", children: /* @__PURE__ */ jsx(StackHeaderTitle, { large: !0, children: "Composed Title" }) })
346
+ }
347
+ );
348
+ expect(result.animation).toBe("slide_from_right"), expect(result.gestureEnabled).toBe(!0), expect(result.headerBlurEffect).toBe("regular"), expect(result.title).toBe("Composed Title"), expect(result.headerLargeTitle).toBe(!0);
349
+ }), it("works with StackHeader compound component (as used via Stack.Header)", () => {
350
+ const result = appendScreenStackPropsToOptions(
351
+ {},
352
+ {
353
+ children: /* @__PURE__ */ jsx(StackHeader, { children: /* @__PURE__ */ jsx(StackHeader.Title, { large: !0, children: "Large Title Test" }) })
354
+ }
355
+ );
356
+ expect(result.title).toBe("Large Title Test"), expect(result.headerLargeTitle).toBe(!0);
357
+ }), it("works with StackHeader compound component with Left child", () => {
358
+ const result = appendScreenStackPropsToOptions(
359
+ {},
360
+ {
361
+ children: /* @__PURE__ */ jsxs(StackHeader, { children: [
362
+ /* @__PURE__ */ jsx(StackHeader.Title, { large: !0, children: "Articles" }),
363
+ /* @__PURE__ */ jsx(StackHeader.Left, { asChild: !0, children: /* @__PURE__ */ jsx("button", { children: "Back" }) })
364
+ ] })
365
+ }
366
+ );
367
+ expect(result.title).toBe("Articles"), expect(result.headerLargeTitle).toBe(!0), expect(result.headerLeft).toBeDefined();
368
+ }), it("composition overrides options prop", () => {
369
+ const result = appendScreenStackPropsToOptions(
370
+ {},
371
+ {
372
+ options: { title: "Options Title" },
373
+ children: /* @__PURE__ */ jsx(StackHeaderComponent, { children: /* @__PURE__ */ jsx(StackHeaderTitle, { children: "Composed Title" }) })
374
+ }
375
+ );
376
+ expect(result.title).toBe("Composed Title");
377
+ }), it("works with StackHeader compound component with Right child", () => {
378
+ const result = appendScreenStackPropsToOptions(
379
+ {},
380
+ {
381
+ children: /* @__PURE__ */ jsxs(StackHeader, { children: [
382
+ /* @__PURE__ */ jsx(StackHeader.Title, { children: "Settings" }),
383
+ /* @__PURE__ */ jsx(StackHeader.Right, { asChild: !0, children: /* @__PURE__ */ jsx("button", { children: "Save" }) })
384
+ ] })
385
+ }
386
+ );
387
+ expect(result.title).toBe("Settings"), expect(result.headerRight).toBeDefined();
388
+ }), it("works with StackHeader compound component with SearchBar child", () => {
389
+ const result = appendScreenStackPropsToOptions(
390
+ {},
391
+ {
392
+ children: /* @__PURE__ */ jsxs(StackHeader, { children: [
393
+ /* @__PURE__ */ jsx(StackHeader.Title, { large: !0, children: "Articles" }),
394
+ /* @__PURE__ */ jsx(StackHeader.SearchBar, { placeholder: "Search articles..." })
395
+ ] })
396
+ }
397
+ );
398
+ expect(result.title).toBe("Articles"), expect(result.headerLargeTitle).toBe(!0), expect(result.headerSearchBarOptions).toMatchObject({
399
+ placeholder: "Search articles..."
400
+ });
401
+ }), it("works with full compositional setup", () => {
402
+ const result = appendScreenStackPropsToOptions(
403
+ {},
404
+ {
405
+ options: { animation: "slide_from_right" },
406
+ children: /* @__PURE__ */ jsxs(StackHeader, { blurEffect: "regular", children: [
407
+ /* @__PURE__ */ jsx(StackHeader.Title, { large: !0, children: "My App" }),
408
+ /* @__PURE__ */ jsx(StackHeader.Left, { asChild: !0, children: /* @__PURE__ */ jsx("button", { children: "Menu" }) }),
409
+ /* @__PURE__ */ jsx(StackHeader.Right, { asChild: !0, children: /* @__PURE__ */ jsx("button", { children: "Settings" }) }),
410
+ /* @__PURE__ */ jsx(StackHeader.BackButton, { displayMode: "minimal" }),
411
+ /* @__PURE__ */ jsx(StackHeader.SearchBar, { placeholder: "Search...", placement: "stacked" })
412
+ ] })
413
+ }
414
+ );
415
+ expect(result.animation).toBe("slide_from_right"), expect(result.headerBlurEffect).toBe("regular"), expect(result.title).toBe("My App"), expect(result.headerLargeTitle).toBe(!0), expect(result.headerTransparent).toBeUndefined(), expect(result.headerLeft).toBeDefined(), expect(result.headerRight).toBeDefined(), expect(result.headerBackButtonDisplayMode).toBe("minimal"), expect(result.headerSearchBarOptions).toMatchObject({
416
+ placeholder: "Search...",
417
+ placement: "stacked"
418
+ });
419
+ });
420
+ });
421
+ });
422
+ //# sourceMappingURL=composition.test.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/layouts/stack-utils/__tests__/composition.test.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }