one 1.2.69 → 1.2.71

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 (292) 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/cli/build.cjs +9 -1
  26. package/dist/cjs/cli/build.js +8 -1
  27. package/dist/cjs/cli/build.js.map +1 -1
  28. package/dist/cjs/cli/build.native.js +13 -1
  29. package/dist/cjs/cli/build.native.js.map +1 -1
  30. package/dist/cjs/fork/NavigationContainer.js.map +1 -1
  31. package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
  32. package/dist/cjs/index.js.map +1 -1
  33. package/dist/cjs/layouts/Stack.cjs +75 -6
  34. package/dist/cjs/layouts/Stack.js +44 -4
  35. package/dist/cjs/layouts/Stack.js.map +2 -2
  36. package/dist/cjs/layouts/Stack.native.js +81 -6
  37. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  38. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.cjs +40 -0
  39. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.js +35 -0
  40. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.js.map +6 -0
  41. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js +43 -0
  42. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -0
  43. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.cjs +90 -0
  44. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.js +68 -0
  45. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.js.map +6 -0
  46. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js +99 -0
  47. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -0
  48. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.cjs +35 -0
  49. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.js +30 -0
  50. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.js.map +6 -0
  51. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js +40 -0
  52. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -0
  53. package/dist/cjs/layouts/stack-utils/StackHeaderRight.cjs +35 -0
  54. package/dist/cjs/layouts/stack-utils/StackHeaderRight.js +30 -0
  55. package/dist/cjs/layouts/stack-utils/StackHeaderRight.js.map +6 -0
  56. package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js +40 -0
  57. package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js.map +1 -0
  58. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.cjs +35 -0
  59. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.js +30 -0
  60. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.js.map +6 -0
  61. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js +38 -0
  62. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -0
  63. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.cjs +65 -0
  64. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.js +52 -0
  65. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.js.map +6 -0
  66. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js +68 -0
  67. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -0
  68. package/dist/cjs/layouts/stack-utils/StackScreen.cjs +57 -0
  69. package/dist/cjs/layouts/stack-utils/StackScreen.js +43 -0
  70. package/dist/cjs/layouts/stack-utils/StackScreen.js.map +6 -0
  71. package/dist/cjs/layouts/stack-utils/StackScreen.native.js +64 -0
  72. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -0
  73. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.cjs +455 -0
  74. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.js +406 -0
  75. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.js.map +6 -0
  76. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js +480 -0
  77. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -0
  78. package/dist/cjs/layouts/stack-utils/index.cjs +47 -0
  79. package/dist/cjs/layouts/stack-utils/index.js +36 -0
  80. package/dist/cjs/layouts/stack-utils/index.js.map +6 -0
  81. package/dist/cjs/layouts/stack-utils/index.native.js +50 -0
  82. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -0
  83. package/dist/cjs/layouts/withLayoutContext.cjs +2 -1
  84. package/dist/cjs/layouts/withLayoutContext.js +2 -2
  85. package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
  86. package/dist/cjs/layouts/withLayoutContext.native.js +3 -2
  87. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  88. package/dist/cjs/useLoader.cjs +4 -2
  89. package/dist/cjs/useLoader.js +4 -2
  90. package/dist/cjs/useLoader.js.map +1 -1
  91. package/dist/cjs/useLoader.native.js +4 -2
  92. package/dist/cjs/useLoader.native.js.map +1 -1
  93. package/dist/cjs/utils/children.cjs +46 -0
  94. package/dist/cjs/utils/children.js +47 -0
  95. package/dist/cjs/utils/children.js.map +6 -0
  96. package/dist/cjs/utils/children.native.js +76 -0
  97. package/dist/cjs/utils/children.native.js.map +1 -0
  98. package/dist/cjs/utils/style.cjs +28 -0
  99. package/dist/cjs/utils/style.js +24 -0
  100. package/dist/cjs/utils/style.js.map +6 -0
  101. package/dist/cjs/utils/style.native.js +31 -0
  102. package/dist/cjs/utils/style.native.js.map +1 -0
  103. package/dist/esm/__mocks__/@react-navigation/native-stack.js +8 -0
  104. package/dist/esm/__mocks__/@react-navigation/native-stack.js.map +6 -0
  105. package/dist/esm/__mocks__/@react-navigation/native-stack.mjs +6 -0
  106. package/dist/esm/__mocks__/@react-navigation/native-stack.mjs.map +1 -0
  107. package/dist/esm/__mocks__/@react-navigation/native-stack.native.js +12 -0
  108. package/dist/esm/__mocks__/@react-navigation/native-stack.native.js.map +1 -0
  109. package/dist/esm/__mocks__/@react-navigation/native.js +18 -0
  110. package/dist/esm/__mocks__/@react-navigation/native.js.map +1 -0
  111. package/dist/esm/__mocks__/expo-linking.js +9 -0
  112. package/dist/esm/__mocks__/expo-linking.js.map +6 -0
  113. package/dist/esm/__mocks__/expo-linking.mjs +10 -0
  114. package/dist/esm/__mocks__/expo-linking.mjs.map +1 -0
  115. package/dist/esm/__mocks__/expo-linking.native.js +18 -0
  116. package/dist/esm/__mocks__/expo-linking.native.js.map +1 -0
  117. package/dist/esm/__mocks__/expo-modules-core.js +15 -0
  118. package/dist/esm/__mocks__/expo-modules-core.js.map +6 -0
  119. package/dist/esm/__mocks__/expo-modules-core.mjs +10 -0
  120. package/dist/esm/__mocks__/expo-modules-core.mjs.map +1 -0
  121. package/dist/esm/__mocks__/expo-modules-core.native.js +38 -0
  122. package/dist/esm/__mocks__/expo-modules-core.native.js.map +1 -0
  123. package/dist/esm/__mocks__/react-native-screens.js +6 -0
  124. package/dist/esm/__mocks__/react-native-screens.js.map +6 -0
  125. package/dist/esm/__mocks__/react-native-screens.mjs +4 -0
  126. package/dist/esm/__mocks__/react-native-screens.mjs.map +1 -0
  127. package/dist/esm/__mocks__/react-native-screens.native.js +4 -0
  128. package/dist/esm/__mocks__/react-native-screens.native.js.map +1 -0
  129. package/dist/esm/__mocks__/react-native.js +19 -0
  130. package/dist/esm/__mocks__/react-native.js.map +1 -0
  131. package/dist/esm/cli/build.js +8 -1
  132. package/dist/esm/cli/build.js.map +1 -1
  133. package/dist/esm/cli/build.mjs +9 -1
  134. package/dist/esm/cli/build.mjs.map +1 -1
  135. package/dist/esm/cli/build.native.js +13 -1
  136. package/dist/esm/cli/build.native.js.map +1 -1
  137. package/dist/esm/fork/NavigationContainer.js.map +1 -1
  138. package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
  139. package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
  140. package/dist/esm/index.js.map +1 -1
  141. package/dist/esm/index.mjs.map +1 -1
  142. package/dist/esm/index.native.js.map +1 -1
  143. package/dist/esm/layouts/Stack.js +45 -1
  144. package/dist/esm/layouts/Stack.js.map +1 -1
  145. package/dist/esm/layouts/Stack.mjs +59 -1
  146. package/dist/esm/layouts/Stack.mjs.map +1 -1
  147. package/dist/esm/layouts/Stack.native.js +65 -1
  148. package/dist/esm/layouts/Stack.native.js.map +1 -1
  149. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.js +19 -0
  150. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.js.map +6 -0
  151. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.mjs +16 -0
  152. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.mjs.map +1 -0
  153. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.native.js +16 -0
  154. package/dist/esm/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -0
  155. package/dist/esm/layouts/stack-utils/StackHeaderComponent.js +71 -0
  156. package/dist/esm/layouts/stack-utils/StackHeaderComponent.js.map +6 -0
  157. package/dist/esm/layouts/stack-utils/StackHeaderComponent.mjs +66 -0
  158. package/dist/esm/layouts/stack-utils/StackHeaderComponent.mjs.map +1 -0
  159. package/dist/esm/layouts/stack-utils/StackHeaderComponent.native.js +72 -0
  160. package/dist/esm/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -0
  161. package/dist/esm/layouts/stack-utils/StackHeaderLeft.js +14 -0
  162. package/dist/esm/layouts/stack-utils/StackHeaderLeft.js.map +6 -0
  163. package/dist/esm/layouts/stack-utils/StackHeaderLeft.mjs +11 -0
  164. package/dist/esm/layouts/stack-utils/StackHeaderLeft.mjs.map +1 -0
  165. package/dist/esm/layouts/stack-utils/StackHeaderLeft.native.js +13 -0
  166. package/dist/esm/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -0
  167. package/dist/esm/layouts/stack-utils/StackHeaderRight.js +14 -0
  168. package/dist/esm/layouts/stack-utils/StackHeaderRight.js.map +6 -0
  169. package/dist/esm/layouts/stack-utils/StackHeaderRight.mjs +11 -0
  170. package/dist/esm/layouts/stack-utils/StackHeaderRight.mjs.map +1 -0
  171. package/dist/esm/layouts/stack-utils/StackHeaderRight.native.js +13 -0
  172. package/dist/esm/layouts/stack-utils/StackHeaderRight.native.js.map +1 -0
  173. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.js +14 -0
  174. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.js.map +6 -0
  175. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.mjs +11 -0
  176. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.mjs.map +1 -0
  177. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.native.js +11 -0
  178. package/dist/esm/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -0
  179. package/dist/esm/layouts/stack-utils/StackHeaderTitle.js +37 -0
  180. package/dist/esm/layouts/stack-utils/StackHeaderTitle.js.map +6 -0
  181. package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs +41 -0
  182. package/dist/esm/layouts/stack-utils/StackHeaderTitle.mjs.map +1 -0
  183. package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js +41 -0
  184. package/dist/esm/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -0
  185. package/dist/esm/layouts/stack-utils/StackScreen.js +33 -0
  186. package/dist/esm/layouts/stack-utils/StackScreen.js.map +6 -0
  187. package/dist/esm/layouts/stack-utils/StackScreen.mjs +33 -0
  188. package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -0
  189. package/dist/esm/layouts/stack-utils/StackScreen.native.js +38 -0
  190. package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -0
  191. package/dist/esm/layouts/stack-utils/__tests__/composition.test.js +431 -0
  192. package/dist/esm/layouts/stack-utils/__tests__/composition.test.js.map +6 -0
  193. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs +456 -0
  194. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs.map +1 -0
  195. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js +478 -0
  196. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -0
  197. package/dist/esm/layouts/stack-utils/index.js +33 -0
  198. package/dist/esm/layouts/stack-utils/index.js.map +6 -0
  199. package/dist/esm/layouts/stack-utils/index.mjs +16 -0
  200. package/dist/esm/layouts/stack-utils/index.mjs.map +1 -0
  201. package/dist/esm/layouts/stack-utils/index.native.js +16 -0
  202. package/dist/esm/layouts/stack-utils/index.native.js.map +1 -0
  203. package/dist/esm/layouts/withLayoutContext.js +2 -1
  204. package/dist/esm/layouts/withLayoutContext.js.map +1 -1
  205. package/dist/esm/layouts/withLayoutContext.mjs +2 -1
  206. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  207. package/dist/esm/layouts/withLayoutContext.native.js +2 -1
  208. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  209. package/dist/esm/useLoader.js +4 -2
  210. package/dist/esm/useLoader.js.map +1 -1
  211. package/dist/esm/useLoader.mjs +4 -2
  212. package/dist/esm/useLoader.mjs.map +1 -1
  213. package/dist/esm/useLoader.native.js +4 -2
  214. package/dist/esm/useLoader.native.js.map +1 -1
  215. package/dist/esm/utils/children.js +33 -0
  216. package/dist/esm/utils/children.js.map +6 -0
  217. package/dist/esm/utils/children.mjs +19 -0
  218. package/dist/esm/utils/children.mjs.map +1 -0
  219. package/dist/esm/utils/children.native.js +46 -0
  220. package/dist/esm/utils/children.native.js.map +1 -0
  221. package/dist/esm/utils/style.js +8 -0
  222. package/dist/esm/utils/style.js.map +6 -0
  223. package/dist/esm/utils/style.mjs +5 -0
  224. package/dist/esm/utils/style.mjs.map +1 -0
  225. package/dist/esm/utils/style.native.js +5 -0
  226. package/dist/esm/utils/style.native.js.map +1 -0
  227. package/package.json +9 -9
  228. package/src/__mocks__/@react-navigation/native-stack.ts +32 -0
  229. package/src/__mocks__/@react-navigation/native.ts +21 -0
  230. package/src/__mocks__/expo-linking.ts +6 -0
  231. package/src/__mocks__/expo-modules-core.ts +11 -0
  232. package/src/__mocks__/react-native-screens.ts +17 -0
  233. package/src/__mocks__/react-native.ts +20 -0
  234. package/src/cli/build.ts +27 -2
  235. package/src/fork/NavigationContainer.tsx +2 -0
  236. package/src/index.ts +10 -0
  237. package/src/layouts/Stack.tsx +96 -1
  238. package/src/layouts/stack-utils/README.md +211 -0
  239. package/src/layouts/stack-utils/StackHeaderBackButton.tsx +34 -0
  240. package/src/layouts/stack-utils/StackHeaderComponent.tsx +136 -0
  241. package/src/layouts/stack-utils/StackHeaderLeft.tsx +29 -0
  242. package/src/layouts/stack-utils/StackHeaderRight.tsx +29 -0
  243. package/src/layouts/stack-utils/StackHeaderSearchBar.tsx +21 -0
  244. package/src/layouts/stack-utils/StackHeaderTitle.tsx +79 -0
  245. package/src/layouts/stack-utils/StackScreen.tsx +69 -0
  246. package/src/layouts/stack-utils/__tests__/composition.test.tsx +643 -0
  247. package/src/layouts/stack-utils/index.tsx +45 -0
  248. package/src/layouts/withLayoutContext.tsx +6 -2
  249. package/src/router/router.ts +1 -1
  250. package/src/useLoader.ts +14 -6
  251. package/src/utils/children.ts +74 -0
  252. package/src/utils/style.ts +17 -0
  253. package/types/__mocks__/@react-navigation/native-stack.d.ts +30 -0
  254. package/types/__mocks__/@react-navigation/native-stack.d.ts.map +1 -0
  255. package/types/__mocks__/@react-navigation/native.d.ts +17 -0
  256. package/types/__mocks__/@react-navigation/native.d.ts.map +1 -0
  257. package/types/__mocks__/expo-linking.d.ts +9 -0
  258. package/types/__mocks__/expo-linking.d.ts.map +1 -0
  259. package/types/__mocks__/expo-modules-core.d.ts +11 -0
  260. package/types/__mocks__/expo-modules-core.d.ts.map +1 -0
  261. package/types/__mocks__/react-native-screens.d.ts +14 -0
  262. package/types/__mocks__/react-native-screens.d.ts.map +1 -0
  263. package/types/__mocks__/react-native.d.ts +12 -0
  264. package/types/__mocks__/react-native.d.ts.map +1 -0
  265. package/types/cli/build.d.ts.map +1 -1
  266. package/types/fork/NavigationContainer.d.ts.map +1 -1
  267. package/types/index.d.ts +1 -0
  268. package/types/index.d.ts.map +1 -1
  269. package/types/layouts/Stack.d.ts +14 -3
  270. package/types/layouts/Stack.d.ts.map +1 -1
  271. package/types/layouts/stack-utils/StackHeaderBackButton.d.ts +17 -0
  272. package/types/layouts/stack-utils/StackHeaderBackButton.d.ts.map +1 -0
  273. package/types/layouts/stack-utils/StackHeaderComponent.d.ts +36 -0
  274. package/types/layouts/stack-utils/StackHeaderComponent.d.ts.map +1 -0
  275. package/types/layouts/stack-utils/StackHeaderLeft.d.ts +13 -0
  276. package/types/layouts/stack-utils/StackHeaderLeft.d.ts.map +1 -0
  277. package/types/layouts/stack-utils/StackHeaderRight.d.ts +13 -0
  278. package/types/layouts/stack-utils/StackHeaderRight.d.ts.map +1 -0
  279. package/types/layouts/stack-utils/StackHeaderSearchBar.d.ts +10 -0
  280. package/types/layouts/stack-utils/StackHeaderSearchBar.d.ts.map +1 -0
  281. package/types/layouts/stack-utils/StackHeaderTitle.d.ts +26 -0
  282. package/types/layouts/stack-utils/StackHeaderTitle.d.ts.map +1 -0
  283. package/types/layouts/stack-utils/StackScreen.d.ts +22 -0
  284. package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -0
  285. package/types/layouts/stack-utils/index.d.ts +20 -0
  286. package/types/layouts/stack-utils/index.d.ts.map +1 -0
  287. package/types/layouts/withLayoutContext.d.ts.map +1 -1
  288. package/types/useLoader.d.ts.map +1 -1
  289. package/types/utils/children.d.ts +23 -0
  290. package/types/utils/children.d.ts.map +1 -0
  291. package/types/utils/style.d.ts +7 -0
  292. package/types/utils/style.d.ts.map +1 -0
@@ -0,0 +1,45 @@
1
+ import {
2
+ StackHeaderBackButton,
3
+ type StackHeaderBackButtonProps,
4
+ } from './StackHeaderBackButton'
5
+ import { StackHeaderComponent, type StackHeaderProps } from './StackHeaderComponent'
6
+ import { StackHeaderLeft, type StackHeaderLeftProps } from './StackHeaderLeft'
7
+ import { StackHeaderRight, type StackHeaderRightProps } from './StackHeaderRight'
8
+ import {
9
+ StackHeaderSearchBar,
10
+ type StackHeaderSearchBarProps,
11
+ } from './StackHeaderSearchBar'
12
+ import { StackHeaderTitle, type StackHeaderTitleProps } from './StackHeaderTitle'
13
+
14
+ /**
15
+ * Compound component for configuring stack headers.
16
+ * Attach to Stack as `Stack.Header`.
17
+ */
18
+ export const StackHeader = Object.assign(StackHeaderComponent, {
19
+ Left: StackHeaderLeft,
20
+ Right: StackHeaderRight,
21
+ BackButton: StackHeaderBackButton,
22
+ Title: StackHeaderTitle,
23
+ SearchBar: StackHeaderSearchBar,
24
+ })
25
+
26
+ export {
27
+ StackHeaderBackButton,
28
+ type StackHeaderBackButtonProps,
29
+ StackHeaderComponent,
30
+ type StackHeaderProps,
31
+ StackHeaderLeft,
32
+ type StackHeaderLeftProps,
33
+ StackHeaderRight,
34
+ type StackHeaderRightProps,
35
+ StackHeaderSearchBar,
36
+ type StackHeaderSearchBarProps,
37
+ StackHeaderTitle,
38
+ type StackHeaderTitleProps,
39
+ }
40
+
41
+ export {
42
+ StackScreen,
43
+ appendScreenStackPropsToOptions,
44
+ type StackScreenProps,
45
+ } from './StackScreen'
@@ -7,6 +7,7 @@ import type { PickPartial } from '../types'
7
7
  import { withStaticProperties } from '../utils/withStaticProperties'
8
8
  import { isProtectedElement } from '../views/Protected'
9
9
  import { Screen } from '../views/Screen'
10
+ import { StackScreen } from './stack-utils/StackScreen'
10
11
 
11
12
  export function useFilterScreenChildren(
12
13
  children: React.ReactNode,
@@ -29,8 +30,11 @@ export function useFilterScreenChildren(
29
30
  * When exclude is true, all Screen children are added to protectedScreens instead of screens.
30
31
  */
31
32
  function flattenChild(child: React.ReactNode, exclude = false) {
32
- // Handle Screen elements
33
- if (React.isValidElement(child) && child.type === Screen) {
33
+ // Handle Screen or StackScreen elements
34
+ if (
35
+ React.isValidElement(child) &&
36
+ (child.type === Screen || child.type === StackScreen)
37
+ ) {
34
38
  if (
35
39
  typeof child.props === 'object' &&
36
40
  child.props &&
@@ -224,7 +224,7 @@ export function initialize(
224
224
  console.info(`[one] 📍 Route structure:\n${formatRouteTree(routeNode)}`)
225
225
  }
226
226
 
227
- navigationRef = ref
227
+ navigationRef = ref as unknown as OneRouter.NavigationRef
228
228
  setupLinkingAndRouteInfo(initialLocation)
229
229
  subscribeToNavigationChanges()
230
230
  }
package/src/useLoader.ts CHANGED
@@ -257,8 +257,9 @@ export function useLoaderState<
257
257
  loader
258
258
  ) {
259
259
  // check for already-resolved preloaded data first (synchronous)
260
+ // use != null to also exclude null values (which indicate preload failures)
260
261
  const resolvedPreloadData = preloadedLoaderData[currentPath]
261
- if (resolvedPreloadData !== undefined) {
262
+ if (resolvedPreloadData != null) {
262
263
  // Data was preloaded and already resolved - use it directly
263
264
  delete preloadedLoaderData[currentPath]
264
265
  delete preloadingLoader[currentPath]
@@ -271,11 +272,18 @@ export function useLoaderState<
271
272
  .then((val: any) => {
272
273
  delete preloadingLoader[currentPath]
273
274
  delete preloadedLoaderData[currentPath]
274
- updateState(currentPath, {
275
- data: val,
276
- hasLoadedOnce: true,
277
- promise: undefined,
278
- })
275
+ // null means preload failed - don't mark as loaded, let initial load handle it
276
+ if (val != null) {
277
+ updateState(currentPath, {
278
+ data: val,
279
+ hasLoadedOnce: true,
280
+ promise: undefined,
281
+ })
282
+ } else {
283
+ updateState(currentPath, {
284
+ promise: undefined,
285
+ })
286
+ }
279
287
  })
280
288
  .catch((err: any) => {
281
289
  console.error(`Error running loader()`, err)
@@ -0,0 +1,74 @@
1
+ import {
2
+ isValidElement,
3
+ type JSXElementConstructor,
4
+ type ReactElement,
5
+ type ReactNode,
6
+ } from 'react'
7
+
8
+ /**
9
+ * Type-safe check if a React element is of a specific component type.
10
+ * Used for filtering children in compositional APIs.
11
+ */
12
+ export function isChildOfType<ComponentT extends JSXElementConstructor<any>>(
13
+ element: ReactNode,
14
+ type: ComponentT
15
+ ): element is ReactElement<React.ComponentProps<ComponentT>, ComponentT> {
16
+ return isValidElement(element) && element.type === type
17
+ }
18
+
19
+ /**
20
+ * Get the first child element of a specific type.
21
+ */
22
+ export function getFirstChildOfType<ComponentT extends JSXElementConstructor<any>>(
23
+ children: ReactNode,
24
+ type: ComponentT
25
+ ): ReactElement<React.ComponentProps<ComponentT>, ComponentT> | undefined {
26
+ const childArray = Array.isArray(children) ? children : [children]
27
+ for (const child of childArray) {
28
+ if (isChildOfType(child, type)) {
29
+ return child
30
+ }
31
+ }
32
+ return undefined
33
+ }
34
+
35
+ /**
36
+ * Get all children of a specific type.
37
+ */
38
+ export function getAllChildrenOfType<ComponentT extends JSXElementConstructor<any>>(
39
+ children: ReactNode,
40
+ type: ComponentT
41
+ ): ReactElement<React.ComponentProps<ComponentT>, ComponentT>[] {
42
+ const childArray = Array.isArray(children) ? children : [children]
43
+ return childArray.filter(
44
+ (child): child is ReactElement<React.ComponentProps<ComponentT>, ComponentT> =>
45
+ isChildOfType(child, type)
46
+ )
47
+ }
48
+
49
+ /**
50
+ * Get all children that are NOT of a specific type.
51
+ */
52
+ export function getAllChildrenNotOfType<ComponentT extends JSXElementConstructor<any>>(
53
+ children: ReactNode,
54
+ type: ComponentT
55
+ ): ReactNode[] {
56
+ const childArray = Array.isArray(children) ? children : [children]
57
+ return childArray.filter((child) => !isChildOfType(child, type))
58
+ }
59
+
60
+ /**
61
+ * Filter children to only include elements of allowed types.
62
+ */
63
+ export function filterAllowedChildrenElements<
64
+ ComponentT extends JSXElementConstructor<any>,
65
+ >(
66
+ children: ReactNode,
67
+ allowedTypes: ComponentT[]
68
+ ): ReactElement<React.ComponentProps<ComponentT>, ComponentT>[] {
69
+ const childArray = Array.isArray(children) ? children : [children]
70
+ return childArray.filter(
71
+ (child): child is ReactElement<React.ComponentProps<ComponentT>, ComponentT> =>
72
+ isValidElement(child) && allowedTypes.some((type) => child.type === type)
73
+ )
74
+ }
@@ -0,0 +1,17 @@
1
+ import type { TextStyle } from 'react-native'
2
+
3
+ /**
4
+ * Convert numeric font weights to string format for React Navigation compatibility.
5
+ * React Navigation only accepts string font weights, not numbers.
6
+ */
7
+ export function convertFontWeightToStringFontWeight(
8
+ fontWeight: TextStyle['fontWeight']
9
+ ): Exclude<TextStyle['fontWeight'], number> | undefined {
10
+ if (fontWeight === undefined) {
11
+ return undefined
12
+ }
13
+ if (typeof fontWeight === 'number') {
14
+ return String(fontWeight) as Exclude<TextStyle['fontWeight'], number>
15
+ }
16
+ return fontWeight
17
+ }
@@ -0,0 +1,30 @@
1
+ export type NativeStackNavigationOptions = {
2
+ title?: string;
3
+ headerLargeTitle?: boolean;
4
+ headerTitleAlign?: 'left' | 'center';
5
+ headerTitleStyle?: any;
6
+ headerLargeTitleStyle?: any;
7
+ headerBackTitle?: string;
8
+ headerBackTitleStyle?: any;
9
+ headerBackImageSource?: any;
10
+ headerBackButtonDisplayMode?: string;
11
+ headerBackButtonMenuEnabled?: boolean;
12
+ headerBackVisible?: boolean;
13
+ headerSearchBarOptions?: any;
14
+ headerShown?: boolean;
15
+ headerBlurEffect?: string;
16
+ headerStyle?: any;
17
+ headerLargeStyle?: any;
18
+ headerShadowVisible?: boolean;
19
+ headerLargeTitleShadowVisible?: boolean;
20
+ headerLeft?: () => any;
21
+ headerRight?: () => any;
22
+ header?: () => any;
23
+ animation?: string;
24
+ gestureEnabled?: boolean;
25
+ };
26
+ export declare const createNativeStackNavigator: () => {
27
+ Navigator: () => null;
28
+ Screen: () => null;
29
+ };
30
+ //# sourceMappingURL=native-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-stack.d.ts","sourceRoot":"","sources":["../../../src/__mocks__/@react-navigation/native-stack.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IACpC,gBAAgB,CAAC,EAAE,GAAG,CAAA;IACtB,qBAAqB,CAAC,EAAE,GAAG,CAAA;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,oBAAoB,CAAC,EAAE,GAAG,CAAA;IAC1B,qBAAqB,CAAC,EAAE,GAAG,CAAA;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,sBAAsB,CAAC,EAAE,GAAG,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,GAAG,CAAA;IACjB,gBAAgB,CAAC,EAAE,GAAG,CAAA;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,UAAU,CAAC,EAAE,MAAM,GAAG,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,0BAA0B;;;CAGrC,CAAA"}
@@ -0,0 +1,17 @@
1
+ export declare const useNavigation: () => {
2
+ navigate: () => void;
3
+ goBack: () => void;
4
+ setOptions: () => void;
5
+ getParent: () => null;
6
+ };
7
+ export declare const NavigationContainer: ({ children }: any) => any;
8
+ export type NavigationProp<T = any> = {
9
+ navigate: (route: string, params?: any) => void;
10
+ goBack: () => void;
11
+ setOptions: (options: any) => void;
12
+ getParent: (id?: string) => any;
13
+ };
14
+ export type ParamListBase = Record<string, object | undefined>;
15
+ export type StackNavigationState<T> = any;
16
+ export type EventMapBase = any;
17
+ //# sourceMappingURL=native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/__mocks__/@react-navigation/native.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;;;CAKxB,CAAA;AAEF,eAAO,MAAM,mBAAmB,GAAI,cAAc,GAAG,QAAa,CAAA;AAElE,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAA;IAC/C,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,UAAU,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;IAClC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,GAAG,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AAC9D,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,GAAG,CAAA;AACzC,MAAM,MAAM,YAAY,GAAG,GAAG,CAAA"}
@@ -0,0 +1,9 @@
1
+ export declare const createURL: (path: string) => string;
2
+ export declare const parse: (url: string) => {
3
+ path: string;
4
+ };
5
+ export declare const addEventListener: () => {
6
+ remove: () => void;
7
+ };
8
+ export declare const getInitialURL: () => Promise<null>;
9
+ //# sourceMappingURL=expo-linking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expo-linking.d.ts","sourceRoot":"","sources":["../../src/__mocks__/expo-linking.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,WAA8B,CAAA;AACpE,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM;;CAAoB,CAAA;AACrD,eAAO,MAAM,gBAAgB;;CAA+B,CAAA;AAC5D,eAAO,MAAM,aAAa,qBAAmB,CAAA"}
@@ -0,0 +1,11 @@
1
+ export declare const EventEmitter: {
2
+ new (): {
3
+ addListener(): void;
4
+ removeListener(): void;
5
+ emit(): void;
6
+ };
7
+ };
8
+ export declare const NativeModulesProxy: {};
9
+ export declare const requireNativeModule: () => {};
10
+ export declare const requireOptionalNativeModule: () => null;
11
+ //# sourceMappingURL=expo-modules-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expo-modules-core.d.ts","sourceRoot":"","sources":["../../src/__mocks__/expo-modules-core.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;CAIxB,CAAA;AAED,eAAO,MAAM,kBAAkB,IAAK,CAAA;AACpC,eAAO,MAAM,mBAAmB,UAAa,CAAA;AAC7C,eAAO,MAAM,2BAA2B,YAAa,CAAA"}
@@ -0,0 +1,14 @@
1
+ export declare const Screen = "Screen";
2
+ export declare const ScreenContainer = "ScreenContainer";
3
+ export type ScreenStackHeaderConfigProps = {
4
+ blurEffect?: string;
5
+ backgroundColor?: string;
6
+ largeTitleBackgroundColor?: string;
7
+ backButtonDisplayMode?: 'default' | 'minimal' | 'generic';
8
+ };
9
+ export type SearchBarProps = {
10
+ placeholder?: string;
11
+ onChangeText?: (text: string) => void;
12
+ autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';
13
+ };
14
+ //# sourceMappingURL=react-native-screens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-native-screens.d.ts","sourceRoot":"","sources":["../../src/__mocks__/react-native-screens.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,eAAO,MAAM,eAAe,oBAAoB,CAAA;AAEhD,MAAM,MAAM,4BAA4B,GAAG;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,qBAAqB,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;CAC1D,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,cAAc,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,CAAA;CAC/D,CAAA"}
@@ -0,0 +1,12 @@
1
+ export declare const StyleSheet: {
2
+ create: <T extends Record<string, any>>(styles: T) => T;
3
+ flatten: (style: any) => any;
4
+ };
5
+ export declare const Platform: {
6
+ OS: string;
7
+ select: (obj: any) => any;
8
+ };
9
+ export declare const View = "View";
10
+ export declare const Text = "Text";
11
+ export declare const Pressable = "Pressable";
12
+ //# sourceMappingURL=react-native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-native.d.ts","sourceRoot":"","sources":["../../src/__mocks__/react-native.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;aACZ,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,KAAG,CAAC;qBACpC,GAAG,KAAG,GAAG;CAM3B,CAAA;AAED,eAAO,MAAM,QAAQ;;kBAEL,GAAG;CAClB,CAAA;AAED,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,SAAS,cAAc,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAqCA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;CACrC,iBA23BA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAqCA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;CACrC,iBAo5BA"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationContainer.d.ts","sourceRoot":"","sources":["../../src/fork/NavigationContainer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAKL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAK5B,MAAM,wBAAwB,CAAA;AAO/B,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,cAAc,EAEnB,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,yBAAyB,EAAE,OAAO,CACpC,sBAAsB,CAAC,GAAG,CAAC,EAC3B;QAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAA;KAAE,CAC1C,CAAA;CACF;AAID,KAAK,KAAK,CAAC,SAAS,SAAS,EAAE,IAAI,wBAAwB,GAAG;IAC5D,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,aAAa,CAAC,EAAE,oBAAoB,CAAA;CACrC,CAAA;AA+ID,eAAO,MAAM,mBAAmB,EAAiD,CAC/E,aAAa,SAAS,EAAE,GAAG,eAAe,CAAC,aAAa,EAExD,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAA;CACvD,KACE,KAAK,CAAC,YAAY,CAAA"}
1
+ {"version":3,"file":"NavigationContainer.d.ts","sourceRoot":"","sources":["../../src/fork/NavigationContainer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAKL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAK5B,MAAM,wBAAwB,CAAA;AAO/B,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,cAAc,EAEnB,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,OAAO,CAAC,MAAM,CAAC;IAGb,IAAI,yBAAyB,EAAE,OAAO,CACpC,sBAAsB,CAAC,GAAG,CAAC,EAC3B;QAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAA;KAAE,CAC1C,CAAA;CACF;AAID,KAAK,KAAK,CAAC,SAAS,SAAS,EAAE,IAAI,wBAAwB,GAAG;IAC5D,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,aAAa,CAAC,EAAE,oBAAoB,CAAA;CACrC,CAAA;AAgJD,eAAO,MAAM,mBAAmB,EAAiD,CAC/E,aAAa,SAAS,EAAE,GAAG,eAAe,CAAC,aAAa,EAExD,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAA;CACvD,KACE,KAAK,CAAC,YAAY,CAAA"}
package/types/index.d.ts CHANGED
@@ -44,6 +44,7 @@ export { href } from './href';
44
44
  export { Stack } from './layouts/Stack';
45
45
  export { Tabs } from './layouts/Tabs';
46
46
  export { Protected, type ProtectedProps } from './views/Protected';
47
+ export type { StackHeaderProps, StackHeaderBackButtonProps, StackHeaderTitleProps, StackHeaderLeftProps, StackHeaderRightProps, StackHeaderSearchBarProps, StackScreenProps, } from './layouts/stack-utils';
47
48
  export { withLayoutContext } from './layouts/withLayoutContext';
48
49
  export { Link } from './link/Link';
49
50
  export { Redirect } from './link/Redirect';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEzD;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGpD,MAAM,MAAM,IAAI,GAAG,aAAa,SAAS,MAAM,SAAS,CAAC,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,IAAI,CAAA;AAEvF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAElF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,cAAc,oBAAoB,CAAA;AAIlC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAG9D,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,WAAW,EACX,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElE,YAAY,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEpD,OAAO,EACL,UAAU,EACV,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,SAAS,EACT,cAAc,EACd,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,2BAA2B,EAChC,sBAAsB,GACvB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA"}
@@ -1,6 +1,8 @@
1
1
  import type { ParamListBase, StackNavigationState } from '@react-navigation/native';
2
2
  import { type NativeStackNavigationEventMap, type NativeStackNavigationOptions } from '@react-navigation/native-stack';
3
- export declare const Stack: import("react").ForwardRefExoticComponent<Omit<Omit<import("@react-navigation/native-stack").NativeStackNavigatorProps, "children" | "id" | "initialRouteName" | "layout" | "screenOptions" | "screenListeners" | "screenLayout" | "UNSTABLE_router" | "UNSTABLE_routeNamesChangeBehavior"> & import("@react-navigation/routers").DefaultRouterOptions<string> & {
3
+ import React from 'react';
4
+ import { StackScreen, StackHeaderComponent, StackHeaderSearchBar } from './stack-utils';
5
+ export declare const Stack: React.ForwardRefExoticComponent<Omit<Omit<Omit<import("@react-navigation/native-stack").NativeStackNavigatorProps, "children" | "id" | "initialRouteName" | "layout" | "screenOptions" | "screenListeners" | "screenLayout" | "UNSTABLE_router" | "UNSTABLE_routeNamesChangeBehavior"> & import("@react-navigation/routers").DefaultRouterOptions<string> & {
4
6
  children: React.ReactNode;
5
7
  layout?: ((props: {
6
8
  state: StackNavigationState<ParamListBase>;
@@ -90,8 +92,17 @@ export declare const Stack: import("react").ForwardRefExoticComponent<Omit<Omit<
90
92
  UNSTABLE_routeNamesChangeBehavior?: "firstMatch" | "lastUnhandled";
91
93
  } & {
92
94
  id?: undefined;
93
- }, "children">> & import("react").RefAttributes<unknown>> & {
94
- Screen: typeof import("../views/Screen").Screen;
95
+ }, "children">> & React.RefAttributes<unknown>, "ref"> & React.RefAttributes<unknown>> & {
96
+ Screen: typeof StackScreen;
97
+ Header: typeof StackHeaderComponent & {
98
+ Left: typeof import("./stack-utils").StackHeaderLeft;
99
+ Right: typeof import("./stack-utils").StackHeaderRight;
100
+ BackButton: typeof import("./stack-utils").StackHeaderBackButton;
101
+ Title: typeof import("./stack-utils").StackHeaderTitle;
102
+ SearchBar: typeof StackHeaderSearchBar;
103
+ };
104
+ Protected: React.FunctionComponent<import("..").ProtectedProps>;
105
+ SearchBar: typeof StackHeaderSearchBar;
95
106
  };
96
107
  export default Stack;
97
108
  //# sourceMappingURL=Stack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../../src/layouts/Stack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AACnF,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EAClC,MAAM,gCAAgC,CAAA;AAMvC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKK,CAAA;AAEvB,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../../src/layouts/Stack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AACnF,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EAClC,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAiD,MAAM,OAAO,CAAA;AAErE,OAAO,EACL,WAAW,EAEX,oBAAoB,EACpB,oBAAoB,EAGrB,MAAM,eAAe,CAAA;AA2FtB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKhB,CAAA;AAEF,eAAe,KAAK,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
2
+ import type { ImageSourcePropType } from 'react-native';
3
+ import type { ScreenStackHeaderConfigProps } from 'react-native-screens';
4
+ export interface StackHeaderBackButtonProps {
5
+ children?: string;
6
+ style?: NativeStackNavigationOptions['headerBackTitleStyle'];
7
+ withMenu?: boolean;
8
+ displayMode?: ScreenStackHeaderConfigProps['backButtonDisplayMode'];
9
+ hidden?: boolean;
10
+ src?: ImageSourcePropType;
11
+ }
12
+ /**
13
+ * Configuration component for the back button in stack headers.
14
+ */
15
+ export declare function StackHeaderBackButton(_props: StackHeaderBackButtonProps): null;
16
+ export declare function appendStackHeaderBackButtonPropsToOptions(options: NativeStackNavigationOptions, props: StackHeaderBackButtonProps): NativeStackNavigationOptions;
17
+ //# sourceMappingURL=StackHeaderBackButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackHeaderBackButton.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackHeaderBackButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AAExE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,4BAA4B,CAAC,sBAAsB,CAAC,CAAA;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,4BAA4B,CAAC,uBAAuB,CAAC,CAAA;IACnE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,mBAAmB,CAAA;CAC1B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,0BAA0B,QAEvE;AAED,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,4BAA4B,EACrC,KAAK,EAAE,0BAA0B,GAChC,4BAA4B,CAU9B"}
@@ -0,0 +1,36 @@
1
+ import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
2
+ import { type ReactNode } from 'react';
3
+ import { type ColorValue, type StyleProp } from 'react-native';
4
+ import type { ScreenStackHeaderConfigProps } from 'react-native-screens';
5
+ export interface StackHeaderProps {
6
+ children?: ReactNode;
7
+ hidden?: boolean;
8
+ asChild?: boolean;
9
+ blurEffect?: ScreenStackHeaderConfigProps['blurEffect'];
10
+ style?: StyleProp<{
11
+ color?: ColorValue;
12
+ backgroundColor?: ScreenStackHeaderConfigProps['backgroundColor'];
13
+ shadowColor?: undefined | 'transparent';
14
+ }>;
15
+ largeStyle?: StyleProp<{
16
+ backgroundColor?: ScreenStackHeaderConfigProps['largeTitleBackgroundColor'];
17
+ shadowColor?: undefined | 'transparent';
18
+ }>;
19
+ }
20
+ /**
21
+ * Configuration component for stack headers.
22
+ * Use child components to configure different parts of the header.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * <Stack.Header blurEffect="regular">
27
+ * <Stack.Header.Title large>My Title</Stack.Header.Title>
28
+ * <Stack.Header.Right asChild>
29
+ * <Button>Action</Button>
30
+ * </Stack.Header.Right>
31
+ * </Stack.Header>
32
+ * ```
33
+ */
34
+ export declare function StackHeaderComponent(_props: StackHeaderProps): null;
35
+ export declare function appendStackHeaderPropsToOptions(options: NativeStackNavigationOptions, props: StackHeaderProps): NativeStackNavigationOptions;
36
+ //# sourceMappingURL=StackHeaderComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackHeaderComponent.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackHeaderComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChE,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AAqBxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,4BAA4B,CAAC,YAAY,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC;QAChB,KAAK,CAAC,EAAE,UAAU,CAAA;QAClB,eAAe,CAAC,EAAE,4BAA4B,CAAC,iBAAiB,CAAC,CAAA;QACjE,WAAW,CAAC,EAAE,SAAS,GAAG,aAAa,CAAA;KACxC,CAAC,CAAA;IACF,UAAU,CAAC,EAAE,SAAS,CAAC;QACrB,eAAe,CAAC,EAAE,4BAA4B,CAAC,2BAA2B,CAAC,CAAA;QAC3E,WAAW,CAAC,EAAE,SAAS,GAAG,aAAa,CAAA;KACxC,CAAC,CAAA;CACH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,QAE5D;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,4BAA4B,EACrC,KAAK,EAAE,gBAAgB,GACtB,4BAA4B,CA0E9B"}
@@ -0,0 +1,13 @@
1
+ import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
2
+ import type { ReactNode } from 'react';
3
+ export interface StackHeaderLeftProps {
4
+ children?: ReactNode;
5
+ asChild?: boolean;
6
+ }
7
+ /**
8
+ * Configuration component for custom left header content.
9
+ * Use `asChild` to render custom components in the left header area.
10
+ */
11
+ export declare function StackHeaderLeft(_props: StackHeaderLeftProps): null;
12
+ export declare function appendStackHeaderLeftPropsToOptions(options: NativeStackNavigationOptions, props: StackHeaderLeftProps): NativeStackNavigationOptions;
13
+ //# sourceMappingURL=StackHeaderLeft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackHeaderLeft.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackHeaderLeft.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,oBAAoB,QAE3D;AAED,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,4BAA4B,EACrC,KAAK,EAAE,oBAAoB,GAC1B,4BAA4B,CAS9B"}
@@ -0,0 +1,13 @@
1
+ import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
2
+ import type { ReactNode } from 'react';
3
+ export interface StackHeaderRightProps {
4
+ children?: ReactNode;
5
+ asChild?: boolean;
6
+ }
7
+ /**
8
+ * Configuration component for custom right header content.
9
+ * Use `asChild` to render custom components in the right header area.
10
+ */
11
+ export declare function StackHeaderRight(_props: StackHeaderRightProps): null;
12
+ export declare function appendStackHeaderRightPropsToOptions(options: NativeStackNavigationOptions, props: StackHeaderRightProps): NativeStackNavigationOptions;
13
+ //# sourceMappingURL=StackHeaderRight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackHeaderRight.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackHeaderRight.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,QAE7D;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,4BAA4B,EACrC,KAAK,EAAE,qBAAqB,GAC3B,4BAA4B,CAS9B"}
@@ -0,0 +1,10 @@
1
+ import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
2
+ import type { SearchBarProps } from 'react-native-screens';
3
+ export interface StackHeaderSearchBarProps extends SearchBarProps {
4
+ }
5
+ /**
6
+ * Configuration component for adding a search bar to stack headers.
7
+ */
8
+ export declare function StackHeaderSearchBar(_props: StackHeaderSearchBarProps): null;
9
+ export declare function appendStackHeaderSearchBarPropsToOptions(options: NativeStackNavigationOptions, props: StackHeaderSearchBarProps): NativeStackNavigationOptions;
10
+ //# sourceMappingURL=StackHeaderSearchBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackHeaderSearchBar.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackHeaderSearchBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,WAAW,yBAA0B,SAAQ,cAAc;CAAG;AAEpE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,yBAAyB,QAErE;AAED,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,4BAA4B,EACrC,KAAK,EAAE,yBAAyB,GAC/B,4BAA4B,CAK9B"}
@@ -0,0 +1,26 @@
1
+ import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
2
+ import { type StyleProp, type TextStyle } from 'react-native';
3
+ export type StackHeaderTitleProps = {
4
+ children?: string;
5
+ style?: StyleProp<{
6
+ fontFamily?: TextStyle['fontFamily'];
7
+ fontSize?: TextStyle['fontSize'];
8
+ fontWeight?: Exclude<TextStyle['fontWeight'], number>;
9
+ color?: string;
10
+ textAlign?: 'left' | 'center';
11
+ }>;
12
+ largeStyle?: StyleProp<{
13
+ fontFamily?: TextStyle['fontFamily'];
14
+ fontSize?: TextStyle['fontSize'];
15
+ fontWeight?: Exclude<TextStyle['fontWeight'], number>;
16
+ color?: string;
17
+ }>;
18
+ large?: boolean;
19
+ };
20
+ /**
21
+ * Configuration component for stack header title.
22
+ * This component doesn't render anything - it's used to configure the header.
23
+ */
24
+ export declare function StackHeaderTitle(_props: StackHeaderTitleProps): null;
25
+ export declare function appendStackHeaderTitlePropsToOptions(options: NativeStackNavigationOptions, props: StackHeaderTitleProps): NativeStackNavigationOptions;
26
+ //# sourceMappingURL=StackHeaderTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackHeaderTitle.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackHeaderTitle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,EAAwB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAInF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;QAChB,UAAU,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;QACpC,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;QAChC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;QACrD,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAC9B,CAAC,CAAA;IACF,UAAU,CAAC,EAAE,SAAS,CAAC;QACrB,UAAU,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;QACpC,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;QAChC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;QACrD,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAC,CAAA;IACF,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,QAE7D;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,4BAA4B,EACrC,KAAK,EAAE,qBAAqB,GAC3B,4BAA4B,CA4C9B"}
@@ -0,0 +1,22 @@
1
+ import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
2
+ import { type PropsWithChildren } from 'react';
3
+ export interface StackScreenProps extends PropsWithChildren {
4
+ name?: string;
5
+ options?: NativeStackNavigationOptions;
6
+ }
7
+ /**
8
+ * Stack screen component with support for compositional header configuration.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <Stack.Screen name="home" options={{ title: 'Home' }}>
13
+ * <Stack.Header>
14
+ * <Stack.Header.Title large>Welcome</Stack.Header.Title>
15
+ * <Stack.Header.SearchBar placeholder="Search..." />
16
+ * </Stack.Header>
17
+ * </Stack.Screen>
18
+ * ```
19
+ */
20
+ export declare function StackScreen({ children, options, ...rest }: StackScreenProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function appendScreenStackPropsToOptions(options: NativeStackNavigationOptions, props: StackScreenProps): NativeStackNavigationOptions;
22
+ //# sourceMappingURL=StackScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackScreen.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/StackScreen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,EAAqC,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAA;AASjF,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,4BAA4B,CAAA;CACvC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,gBAAgB,2CAS3E;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,4BAA4B,EACrC,KAAK,EAAE,gBAAgB,GACtB,4BAA4B,CAwB9B"}
@@ -0,0 +1,20 @@
1
+ import { StackHeaderBackButton, type StackHeaderBackButtonProps } from './StackHeaderBackButton';
2
+ import { StackHeaderComponent, type StackHeaderProps } from './StackHeaderComponent';
3
+ import { StackHeaderLeft, type StackHeaderLeftProps } from './StackHeaderLeft';
4
+ import { StackHeaderRight, type StackHeaderRightProps } from './StackHeaderRight';
5
+ import { StackHeaderSearchBar, type StackHeaderSearchBarProps } from './StackHeaderSearchBar';
6
+ import { StackHeaderTitle, type StackHeaderTitleProps } from './StackHeaderTitle';
7
+ /**
8
+ * Compound component for configuring stack headers.
9
+ * Attach to Stack as `Stack.Header`.
10
+ */
11
+ export declare const StackHeader: typeof StackHeaderComponent & {
12
+ Left: typeof StackHeaderLeft;
13
+ Right: typeof StackHeaderRight;
14
+ BackButton: typeof StackHeaderBackButton;
15
+ Title: typeof StackHeaderTitle;
16
+ SearchBar: typeof StackHeaderSearchBar;
17
+ };
18
+ export { StackHeaderBackButton, type StackHeaderBackButtonProps, StackHeaderComponent, type StackHeaderProps, StackHeaderLeft, type StackHeaderLeftProps, StackHeaderRight, type StackHeaderRightProps, StackHeaderSearchBar, type StackHeaderSearchBarProps, StackHeaderTitle, type StackHeaderTitleProps, };
19
+ export { StackScreen, appendScreenStackPropsToOptions, type StackScreenProps, } from './StackScreen';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/stack-utils/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AACjF,OAAO,EACL,oBAAoB,EACpB,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;CAMtB,CAAA;AAEF,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,CAAA;AAED,OAAO,EACL,WAAW,EACX,+BAA+B,EAC/B,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"withLayoutContext.d.ts","sourceRoot":"","sources":["../../src/layouts/withLayoutContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,sBAAsB,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,EACzB,EACE,iBAAiB,EACjB,UAAU,GACX,GAAE;IACD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAA;CACf;;;;EAmFP;AAED,2JAA2J;AAC3J,wBAAgB,iBAAiB,CAC/B,QAAQ,SAAS,MAAM,EACvB,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAClC,KAAK,SAAS,eAAe,EAC7B,QAAQ,SAAS,YAAY,EAE7B,GAAG,EAAE,CAAC,EACN,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,KAC9C,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAC7C,OAAO,CAAC,EAAE;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE;;EA4CzB"}
1
+ {"version":3,"file":"withLayoutContext.d.ts","sourceRoot":"","sources":["../../src/layouts/withLayoutContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,sBAAsB,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGxC,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,EACzB,EACE,iBAAiB,EACjB,UAAU,GACX,GAAE;IACD,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAA;CACf;;;;EAsFP;AAED,2JAA2J;AAC3J,wBAAgB,iBAAiB,CAC/B,QAAQ,SAAS,MAAM,EACvB,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAClC,KAAK,SAAS,eAAe,EAC7B,QAAQ,SAAS,YAAY,EAE7B,GAAG,EAAE,CAAC,EACN,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,KAC9C,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAC7C,OAAO,CAAC,EAAE;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE;;EA4CzB"}