one 2.0.0-beta.66.1 → 2.0.0-beta.96.1

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 (209) hide show
  1. package/dist/cjs/cli/runAndroid.cjs +8 -1
  2. package/dist/cjs/cli/runAndroid.native.cjs +8 -1
  3. package/dist/cjs/cli/runAndroid.native.js +8 -1
  4. package/dist/cjs/cli/runAndroid.native.js.map +1 -1
  5. package/dist/cjs/cli/runIos.cjs +14 -3
  6. package/dist/cjs/cli/runIos.native.cjs +15 -3
  7. package/dist/cjs/cli/runIos.native.js +15 -3
  8. package/dist/cjs/cli/runIos.native.js.map +1 -1
  9. package/dist/cjs/cli.cjs +10 -1
  10. package/dist/cjs/cli.native.cjs +10 -1
  11. package/dist/cjs/cli.native.js +10 -1
  12. package/dist/cjs/cli.native.js.map +1 -1
  13. package/dist/cjs/{import-mode/index.native.js → head/Head.android.js} +9 -5
  14. package/dist/cjs/head/Head.android.js.map +1 -0
  15. package/dist/cjs/head/Head.ios.js +271 -0
  16. package/dist/cjs/head/Head.ios.js.map +1 -0
  17. package/dist/cjs/head/index.native.cjs +1 -1
  18. package/dist/cjs/head/index.native.js +1 -1
  19. package/dist/cjs/head/index.native.js.map +1 -1
  20. package/dist/cjs/layouts/Stack.cjs +14 -11
  21. package/dist/cjs/layouts/Stack.native.cjs +31 -11
  22. package/dist/cjs/layouts/Stack.native.js +31 -11
  23. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  24. package/dist/cjs/layouts/stack-utils/StackToolbar.cjs +57 -14
  25. package/dist/cjs/layouts/stack-utils/StackToolbar.native.cjs +61 -14
  26. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js +61 -14
  27. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js.map +1 -1
  28. package/dist/cjs/layouts/stack-utils/StackToolbarBottomHost.cjs +82 -23
  29. package/dist/cjs/layouts/stack-utils/StackToolbarBottomHost.native.cjs +86 -25
  30. package/dist/cjs/layouts/stack-utils/StackToolbarBottomHost.native.js +86 -25
  31. package/dist/cjs/layouts/stack-utils/StackToolbarBottomHost.native.js.map +1 -1
  32. package/dist/cjs/layouts/stack-utils/index.cjs +9 -3
  33. package/dist/cjs/layouts/stack-utils/index.native.cjs +9 -3
  34. package/dist/cjs/layouts/stack-utils/index.native.js +9 -3
  35. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
  36. package/dist/cjs/layouts/stack-utils/stackToolbarDescriptors.cjs +354 -160
  37. package/dist/cjs/layouts/stack-utils/stackToolbarDescriptors.native.cjs +374 -169
  38. package/dist/cjs/layouts/stack-utils/stackToolbarDescriptors.native.js +374 -169
  39. package/dist/cjs/layouts/stack-utils/stackToolbarDescriptors.native.js.map +1 -1
  40. package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +7 -0
  41. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.cjs +7 -0
  42. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +7 -0
  43. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  44. package/dist/cjs/one.cjs +18 -2
  45. package/dist/cjs/one.native.cjs +18 -2
  46. package/dist/cjs/one.native.js +18 -2
  47. package/dist/cjs/one.native.js.map +1 -1
  48. package/dist/cjs/router/interceptRoutes.cjs +2 -1
  49. package/dist/cjs/router/interceptRoutes.native.cjs +2 -1
  50. package/dist/cjs/router/interceptRoutes.native.js +2 -1
  51. package/dist/cjs/router/interceptRoutes.native.js.map +1 -1
  52. package/dist/cjs/router/web/WebStackNavigator.cjs +32 -0
  53. package/dist/cjs/router/web/WebStackNavigator.native.cjs +37 -0
  54. package/dist/cjs/router/web/WebStackNavigator.native.js +37 -0
  55. package/dist/cjs/router/web/WebStackNavigator.native.js.map +1 -1
  56. package/dist/cjs/vite/one.cjs +25 -12
  57. package/dist/cjs/vite/one.native.cjs +27 -12
  58. package/dist/cjs/vite/one.native.js +27 -12
  59. package/dist/cjs/vite/one.native.js.map +1 -1
  60. package/dist/cjs/vite/plugins/clientTreeShakePlugin.cjs +1 -1
  61. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.cjs +1 -1
  62. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js +1 -1
  63. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  64. package/dist/cjs/vite/plugins/swiftPackagePlugin.cjs +46 -0
  65. package/dist/cjs/vite/plugins/swiftPackagePlugin.native.cjs +48 -0
  66. package/dist/cjs/vite/plugins/swiftPackagePlugin.native.js +50 -0
  67. package/dist/cjs/vite/plugins/swiftPackagePlugin.native.js.map +1 -0
  68. package/dist/esm/cli/runAndroid.mjs +8 -1
  69. package/dist/esm/cli/runAndroid.mjs.map +1 -1
  70. package/dist/esm/cli/runAndroid.native.js +8 -1
  71. package/dist/esm/cli/runAndroid.native.js.map +1 -1
  72. package/dist/esm/cli/runIos.mjs +14 -3
  73. package/dist/esm/cli/runIos.mjs.map +1 -1
  74. package/dist/esm/cli/runIos.native.js +15 -3
  75. package/dist/esm/cli/runIos.native.js.map +1 -1
  76. package/dist/esm/cli.mjs +10 -1
  77. package/dist/esm/cli.mjs.map +1 -1
  78. package/dist/esm/cli.native.js +10 -1
  79. package/dist/esm/cli.native.js.map +1 -1
  80. package/dist/esm/head/Head.android.js +9 -0
  81. package/dist/esm/head/Head.android.js.map +1 -0
  82. package/dist/esm/head/Head.ios.js +242 -0
  83. package/dist/esm/head/Head.ios.js.map +1 -0
  84. package/dist/esm/head/index.native.js +1 -1
  85. package/dist/esm/layouts/Stack.mjs +15 -12
  86. package/dist/esm/layouts/Stack.mjs.map +1 -1
  87. package/dist/esm/layouts/Stack.native.js +32 -12
  88. package/dist/esm/layouts/Stack.native.js.map +1 -1
  89. package/dist/esm/layouts/stack-utils/StackToolbar.mjs +50 -12
  90. package/dist/esm/layouts/stack-utils/StackToolbar.mjs.map +1 -1
  91. package/dist/esm/layouts/stack-utils/StackToolbar.native.js +54 -12
  92. package/dist/esm/layouts/stack-utils/StackToolbar.native.js.map +1 -1
  93. package/dist/esm/layouts/stack-utils/StackToolbarBottomHost.mjs +83 -24
  94. package/dist/esm/layouts/stack-utils/StackToolbarBottomHost.mjs.map +1 -1
  95. package/dist/esm/layouts/stack-utils/StackToolbarBottomHost.native.js +87 -26
  96. package/dist/esm/layouts/stack-utils/StackToolbarBottomHost.native.js.map +1 -1
  97. package/dist/esm/layouts/stack-utils/index.mjs +3 -2
  98. package/dist/esm/layouts/stack-utils/index.mjs.map +1 -1
  99. package/dist/esm/layouts/stack-utils/index.native.js +3 -2
  100. package/dist/esm/layouts/stack-utils/index.native.js.map +1 -1
  101. package/dist/esm/layouts/stack-utils/stackToolbarDescriptors.mjs +352 -156
  102. package/dist/esm/layouts/stack-utils/stackToolbarDescriptors.mjs.map +1 -1
  103. package/dist/esm/layouts/stack-utils/stackToolbarDescriptors.native.js +372 -165
  104. package/dist/esm/layouts/stack-utils/stackToolbarDescriptors.native.js.map +1 -1
  105. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +7 -0
  106. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
  107. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +7 -0
  108. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  109. package/dist/esm/one.mjs +19 -3
  110. package/dist/esm/one.mjs.map +1 -1
  111. package/dist/esm/one.native.js +19 -3
  112. package/dist/esm/one.native.js.map +1 -1
  113. package/dist/esm/router/interceptRoutes.mjs +2 -1
  114. package/dist/esm/router/interceptRoutes.mjs.map +1 -1
  115. package/dist/esm/router/interceptRoutes.native.js +2 -1
  116. package/dist/esm/router/interceptRoutes.native.js.map +1 -1
  117. package/dist/esm/router/web/WebStackNavigator.mjs +33 -1
  118. package/dist/esm/router/web/WebStackNavigator.mjs.map +1 -1
  119. package/dist/esm/router/web/WebStackNavigator.native.js +38 -1
  120. package/dist/esm/router/web/WebStackNavigator.native.js.map +1 -1
  121. package/dist/esm/vite/one.mjs +26 -13
  122. package/dist/esm/vite/one.mjs.map +1 -1
  123. package/dist/esm/vite/one.native.js +28 -13
  124. package/dist/esm/vite/one.native.js.map +1 -1
  125. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs +1 -1
  126. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs.map +1 -1
  127. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js +1 -1
  128. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  129. package/dist/esm/vite/plugins/swiftPackagePlugin.mjs +27 -0
  130. package/dist/esm/vite/plugins/swiftPackagePlugin.mjs.map +1 -0
  131. package/dist/esm/vite/plugins/swiftPackagePlugin.native.js +27 -0
  132. package/dist/esm/vite/plugins/swiftPackagePlugin.native.js.map +1 -0
  133. package/package.json +13 -13
  134. package/react-native-config.cjs +14 -1
  135. package/src/cli/runAndroid.test.ts +72 -0
  136. package/src/cli/runAndroid.ts +12 -1
  137. package/src/cli/runIos.test.ts +122 -0
  138. package/src/cli/runIos.ts +23 -4
  139. package/src/cli.ts +10 -1
  140. package/src/index.ts +14 -4
  141. package/src/layouts/Stack.tsx +31 -26
  142. package/src/layouts/stack-utils/README.md +50 -34
  143. package/src/layouts/stack-utils/StackToolbar.tsx +97 -32
  144. package/src/layouts/stack-utils/StackToolbarBottomHost.tsx +124 -35
  145. package/src/layouts/stack-utils/__tests__/toolbar.test.tsx +434 -187
  146. package/src/layouts/stack-utils/index.tsx +24 -7
  147. package/src/layouts/stack-utils/stackToolbarDescriptors.ts +752 -305
  148. package/src/metro-config/getViteMetroPluginOptions.integration.test.ts +15 -0
  149. package/src/metro-config/getViteMetroPluginOptions.ts +10 -0
  150. package/src/native/appManifest.test.ts +9 -0
  151. package/src/native/packedClosure.test.ts +19 -1
  152. package/src/one.ts +52 -2
  153. package/src/router/interceptRoutes.test.ts +67 -0
  154. package/src/router/interceptRoutes.ts +4 -1
  155. package/src/router/web/WebStackNavigator.tsx +32 -0
  156. package/src/router/web/stackStateUtils.ts +4 -2
  157. package/src/vite/one.ts +30 -7
  158. package/src/vite/plugins/clientTreeShakePlugin.ts +4 -1
  159. package/src/vite/plugins/swiftPackagePlugin.ts +30 -0
  160. package/types/cli/runAndroid.d.ts.map +1 -1
  161. package/types/cli/runIos.d.ts +4 -1
  162. package/types/cli/runIos.d.ts.map +1 -1
  163. package/types/index.d.ts +1 -1
  164. package/types/index.d.ts.map +1 -1
  165. package/types/layouts/Stack.d.ts +8 -10
  166. package/types/layouts/Stack.d.ts.map +1 -1
  167. package/types/layouts/stack-utils/StackToolbar.d.ts +26 -21
  168. package/types/layouts/stack-utils/StackToolbar.d.ts.map +1 -1
  169. package/types/layouts/stack-utils/StackToolbarBottomHost.d.ts +10 -6
  170. package/types/layouts/stack-utils/StackToolbarBottomHost.d.ts.map +1 -1
  171. package/types/layouts/stack-utils/index.d.ts +2 -1
  172. package/types/layouts/stack-utils/index.d.ts.map +1 -1
  173. package/types/layouts/stack-utils/stackToolbarDescriptors.d.ts +199 -95
  174. package/types/layouts/stack-utils/stackToolbarDescriptors.d.ts.map +1 -1
  175. package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
  176. package/types/one.d.ts +19 -3
  177. package/types/one.d.ts.map +1 -1
  178. package/types/router/interceptRoutes.d.ts.map +1 -1
  179. package/types/router/web/WebStackNavigator.d.ts.map +1 -1
  180. package/types/router/web/stackStateUtils.d.ts +2 -2
  181. package/types/router/web/stackStateUtils.d.ts.map +1 -1
  182. package/types/vite/one.d.ts.map +1 -1
  183. package/types/vite/plugins/clientTreeShakePlugin.d.ts.map +1 -1
  184. package/types/vite/plugins/swiftPackagePlugin.d.ts +3 -0
  185. package/types/vite/plugins/swiftPackagePlugin.d.ts.map +1 -0
  186. package/dist/cjs/import-mode/index.android.cjs +0 -27
  187. package/dist/cjs/import-mode/index.cjs +0 -24
  188. package/dist/cjs/import-mode/index.ios.cjs +0 -27
  189. package/dist/cjs/import-mode/index.native.cjs +0 -26
  190. package/dist/cjs/import-mode/index.native.js.map +0 -1
  191. package/dist/esm/import-mode/index.mjs +0 -4
  192. package/dist/esm/import-mode/index.mjs.map +0 -1
  193. package/dist/esm/import-mode/index.native.js +0 -4
  194. package/dist/esm/import-mode/index.native.js.map +0 -1
  195. package/src/import-mode/index.android.ts +0 -1
  196. package/src/import-mode/index.ios.ts +0 -1
  197. package/src/import-mode/index.native.ts +0 -3
  198. package/src/import-mode/index.ts +0 -1
  199. package/src/import-mode/index.web.ts +0 -1
  200. package/types/import-mode/index.android.d.ts +0 -3
  201. package/types/import-mode/index.android.d.ts.map +0 -1
  202. package/types/import-mode/index.d.ts +0 -3
  203. package/types/import-mode/index.d.ts.map +0 -1
  204. package/types/import-mode/index.ios.d.ts +0 -3
  205. package/types/import-mode/index.ios.d.ts.map +0 -1
  206. package/types/import-mode/index.native.d.ts +0 -3
  207. package/types/import-mode/index.native.d.ts.map +0 -1
  208. package/types/import-mode/index.web.d.ts +0 -3
  209. package/types/import-mode/index.web.d.ts.map +0 -1
@@ -0,0 +1,271 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
25
+ value: mod,
26
+ enumerable: true
27
+ }) : target, mod));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var Head_ios_exports = {};
30
+ __export(Head_ios_exports, { Head: () => Head });
31
+ module.exports = __toCommonJS(Head_ios_exports);
32
+ var import_jsx_runtime = require("react/jsx-runtime");
33
+ var import_core = require("@react-navigation/core");
34
+ var import_react = __toESM(require("react"), 1);
35
+ var import_hooks = require("../hooks.native.js");
36
+ var import_HeadModule = require("./HeadModule.native.js");
37
+ var import_url = require("./url.native.js");
38
+ function urlToId(url) {
39
+ return url.replace(/[^a-zA-Z0-9]/g, "-");
40
+ }
41
+ function getLastSegment(path) {
42
+ var _path_split_pop;
43
+ var lastSegment = (_path_split_pop = path.split("/").pop()) !== null && _path_split_pop !== void 0 ? _path_split_pop : "";
44
+ return lastSegment.replace(/\.[^/.]+$/, "").split("?")[0];
45
+ }
46
+ function useAddressableLink() {
47
+ var pathname = (0, import_hooks.useUnstableGlobalHref)();
48
+ var params = (0, import_hooks.useParams)();
49
+ var url = (0, import_url.getStaticUrlFromOneRouter)(pathname);
50
+ return {
51
+ url,
52
+ pathname,
53
+ params
54
+ };
55
+ }
56
+ function useMetaChildren(children) {
57
+ return import_react.default.useMemo(function() {
58
+ var renderableChildren = [];
59
+ var metaChildren = [];
60
+ import_react.default.Children.forEach(children, function(child) {
61
+ if (!/* @__PURE__ */ import_react.default.isValidElement(child)) {
62
+ return;
63
+ }
64
+ if (typeof child.type === "string") {
65
+ metaChildren.push(child);
66
+ } else {
67
+ renderableChildren.push(child);
68
+ }
69
+ });
70
+ return {
71
+ children: renderableChildren,
72
+ metaChildren
73
+ };
74
+ }, [children]);
75
+ }
76
+ function serializedMetaChildren(meta) {
77
+ var validMeta = meta.filter(function(child) {
78
+ return child.type === "meta" || child.type === "title";
79
+ });
80
+ return validMeta.map(function(child) {
81
+ if (child.type === "title") {
82
+ return {
83
+ type: "title",
84
+ props: { children: child.props && typeof child.props === "object" && "children" in child.props && typeof child.props.children === "string" ? child.props.children : void 0 }
85
+ };
86
+ }
87
+ return {
88
+ type: "meta",
89
+ props: {
90
+ property: child.props && typeof child.props === "object" && "property" in child.props && typeof child.props.property === "string" ? child.props.property : void 0,
91
+ content: child.props && typeof child.props === "object" && "content" in child.props && typeof child.props.content === "string" ? child.props.content : void 0
92
+ }
93
+ };
94
+ });
95
+ }
96
+ function useActivityFromMetaChildren(meta) {
97
+ var { url: href, pathname } = useAddressableLink();
98
+ var previousMeta = import_react.default.useRef([]);
99
+ var cachedActivity = import_react.default.useRef({});
100
+ var sortedMeta = import_react.default.useMemo(function() {
101
+ return serializedMetaChildren(meta);
102
+ }, [meta]);
103
+ var url = import_react.default.useMemo(function() {
104
+ var urlMeta = sortedMeta.find(function(child) {
105
+ return child.type === "meta" && child.props.property === "og:url";
106
+ });
107
+ if (urlMeta) {
108
+ var _urlMeta_props_content;
109
+ if ((_urlMeta_props_content = urlMeta.props.content) === null || _urlMeta_props_content === void 0 ? void 0 : _urlMeta_props_content.startsWith("/")) {
110
+ return (0, import_url.getStaticUrlFromOneRouter)(urlMeta.props.content);
111
+ }
112
+ return urlMeta.props.content;
113
+ }
114
+ return href;
115
+ }, [sortedMeta, href]);
116
+ var title = import_react.default.useMemo(function() {
117
+ var titleTag = sortedMeta.find(function(child) {
118
+ return child.type === "title";
119
+ });
120
+ if (titleTag) {
121
+ var _titleTag_props_children;
122
+ return (_titleTag_props_children = titleTag.props.children) !== null && _titleTag_props_children !== void 0 ? _titleTag_props_children : "";
123
+ }
124
+ var titleMeta = sortedMeta.find(function(child) {
125
+ return child.type === "meta" && child.props.property === "og:title";
126
+ });
127
+ if (titleMeta) {
128
+ var _titleMeta_props_content;
129
+ return (_titleMeta_props_content = titleMeta.props.content) !== null && _titleMeta_props_content !== void 0 ? _titleMeta_props_content : "";
130
+ }
131
+ return getLastSegment(pathname);
132
+ }, [sortedMeta, pathname]);
133
+ var activity = import_react.default.useMemo(function() {
134
+ if (!!previousMeta.current && !!cachedActivity.current && deepObjectCompare(previousMeta.current, sortedMeta)) {
135
+ return cachedActivity.current;
136
+ }
137
+ previousMeta.current = sortedMeta;
138
+ var userActivity = {};
139
+ sortedMeta.forEach(function(child) {
140
+ if (child.type === "meta") {
141
+ var { property, content } = child.props;
142
+ switch (property) {
143
+ case "og:description":
144
+ userActivity.description = content;
145
+ break;
146
+ case "expo:handoff":
147
+ userActivity.isEligibleForHandoff = isTruthy(content);
148
+ break;
149
+ case "expo:spotlight":
150
+ userActivity.isEligibleForSearch = isTruthy(content);
151
+ break;
152
+ }
153
+ }
154
+ });
155
+ cachedActivity.current = userActivity;
156
+ return userActivity;
157
+ }, [sortedMeta]);
158
+ var parsedActivity = {
159
+ keywords: [title],
160
+ ...activity,
161
+ title,
162
+ webpageURL: url,
163
+ activityType: Head.activities.INDEXED_ROUTE,
164
+ userInfo: { href }
165
+ };
166
+ return parsedActivity;
167
+ }
168
+ function isTruthy(value) {
169
+ return [true, "true"].includes(value);
170
+ }
171
+ function HeadNative(props) {
172
+ var isFocused = (0, import_core.useIsFocused)();
173
+ if (!isFocused) {
174
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UnfocusedHead, {});
175
+ }
176
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FocusedHead, { ...props });
177
+ }
178
+ function UnfocusedHead(props) {
179
+ var { children } = useMetaChildren(props.children);
180
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
181
+ }
182
+ function FocusedHead(props) {
183
+ var { metaChildren, children } = useMetaChildren(props.children);
184
+ var activity = useActivityFromMetaChildren(metaChildren);
185
+ useRegisterCurrentActivity(activity);
186
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
187
+ }
188
+ var activities = /* @__PURE__ */ new Map();
189
+ function useRegisterCurrentActivity(activity) {
190
+ var activityId = urlToId((0, import_hooks.usePathname)() || "/");
191
+ var cascadingId = urlToId((0, import_hooks.useSegments)().join("-") || "-");
192
+ var cascadingActivity = import_react.default.useMemo(function() {
193
+ var cascadingActivity2 = activities.has(cascadingId) ? {
194
+ ...activities.get(cascadingId),
195
+ ...activity,
196
+ id: activityId
197
+ } : {
198
+ ...activity,
199
+ id: activityId
200
+ };
201
+ activities.set(cascadingId, cascadingActivity2);
202
+ return cascadingActivity2;
203
+ }, [
204
+ cascadingId,
205
+ activityId,
206
+ activity
207
+ ]);
208
+ var previousActivity = import_react.default.useRef(null);
209
+ import_react.default.useEffect(function() {
210
+ if (!cascadingActivity) {
211
+ return function() {};
212
+ }
213
+ if (!!previousActivity.current && deepObjectCompare(previousActivity.current, cascadingActivity)) {
214
+ return function() {};
215
+ }
216
+ previousActivity.current = cascadingActivity;
217
+ if (!cascadingActivity.id) {
218
+ throw new Error("Activity must have an ID");
219
+ }
220
+ if (cascadingActivity.isEligibleForHandoff || cascadingActivity.isEligibleForSearch) {
221
+ Head === null || Head === void 0 ? void 0 : Head.createActivity(cascadingActivity);
222
+ }
223
+ return function() {};
224
+ }, [cascadingActivity]);
225
+ import_react.default.useEffect(function() {
226
+ return function() {
227
+ if (activityId) {
228
+ import_HeadModule.HeadModule === null || import_HeadModule.HeadModule === void 0 ? void 0 : import_HeadModule.HeadModule.suspendActivity(activityId);
229
+ }
230
+ };
231
+ }, [activityId]);
232
+ }
233
+ function deepObjectCompare(a, b) {
234
+ if (typeof a !== typeof b) {
235
+ return false;
236
+ }
237
+ if (typeof a === "object") {
238
+ if (Array.isArray(a) !== Array.isArray(b)) {
239
+ return false;
240
+ }
241
+ if (Array.isArray(a)) {
242
+ if (a.length !== b.length) {
243
+ return false;
244
+ }
245
+ return a.every(function(item, index) {
246
+ return deepObjectCompare(item, b[index]);
247
+ });
248
+ }
249
+ if (a === null || b === null) {
250
+ return a === b;
251
+ }
252
+ var aKeys = Object.keys(a);
253
+ var bKeys = Object.keys(b);
254
+ if (aKeys.length !== bKeys.length) {
255
+ return false;
256
+ }
257
+ return aKeys.every(function(key) {
258
+ return deepObjectCompare(a[key], b[key]);
259
+ });
260
+ }
261
+ return a === b;
262
+ }
263
+ HeadNative.Provider = import_react.default.Fragment;
264
+ function HeadShim(props) {
265
+ return null;
266
+ }
267
+ HeadShim.Provider = import_react.default.Fragment;
268
+ var Head = import_HeadModule.HeadModule ? HeadNative : HeadShim;
269
+ Object.assign(Head, import_HeadModule.HeadModule);
270
+
271
+ //# sourceMappingURL=Head.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Head.ios.js","names":[],"sources":["cjs/head/Head.ios.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar Head_ios_exports = {};\n__export(Head_ios_exports, {\n Head: () => Head\n});\nmodule.exports = __toCommonJS(Head_ios_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_core = require(\"@react-navigation/core\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_hooks = require(\"../hooks\");\nvar import_HeadModule = require(\"./HeadModule\");\nvar import_url = require(\"./url\");\nfunction urlToId(url) {\n return url.replace(/[^a-zA-Z0-9]/g, \"-\");\n}\nfunction getLastSegment(path) {\n var _path_split_pop;\n var lastSegment = (_path_split_pop = path.split(\"/\").pop()) !== null && _path_split_pop !== void 0 ? _path_split_pop : \"\";\n return lastSegment.replace(/\\.[^/.]+$/, \"\").split(\"?\")[0];\n}\nfunction useAddressableLink() {\n var pathname = (0, import_hooks.useUnstableGlobalHref)();\n var params = (0, import_hooks.useParams)();\n var url = (0, import_url.getStaticUrlFromOneRouter)(pathname);\n return {\n url,\n pathname,\n params\n };\n}\nfunction useMetaChildren(children) {\n return import_react.default.useMemo(function() {\n var renderableChildren = [];\n var metaChildren = [];\n import_react.default.Children.forEach(children, function(child) {\n if (!/* @__PURE__ */ import_react.default.isValidElement(child)) {\n return;\n }\n if (typeof child.type === \"string\") {\n metaChildren.push(child);\n } else {\n renderableChildren.push(child);\n }\n });\n return {\n children: renderableChildren,\n metaChildren\n };\n }, [\n children\n ]);\n}\nfunction serializedMetaChildren(meta) {\n var validMeta = meta.filter(function(child) {\n return child.type === \"meta\" || child.type === \"title\";\n });\n return validMeta.map(function(child) {\n if (child.type === \"title\") {\n return {\n type: \"title\",\n props: {\n children: child.props && typeof child.props === \"object\" && \"children\" in child.props && typeof child.props.children === \"string\" ? child.props.children : void 0\n }\n };\n }\n return {\n type: \"meta\",\n props: {\n property: child.props && typeof child.props === \"object\" && \"property\" in child.props && typeof child.props.property === \"string\" ? child.props.property : void 0,\n content: child.props && typeof child.props === \"object\" && \"content\" in child.props && typeof child.props.content === \"string\" ? child.props.content : void 0\n }\n };\n });\n}\nfunction useActivityFromMetaChildren(meta) {\n var { url: href, pathname } = useAddressableLink();\n var previousMeta = import_react.default.useRef([]);\n var cachedActivity = import_react.default.useRef({});\n var sortedMeta = import_react.default.useMemo(function() {\n return serializedMetaChildren(meta);\n }, [\n meta\n ]);\n var url = import_react.default.useMemo(function() {\n var urlMeta = sortedMeta.find(function(child) {\n return child.type === \"meta\" && child.props.property === \"og:url\";\n });\n if (urlMeta) {\n var _urlMeta_props_content;\n if ((_urlMeta_props_content = urlMeta.props.content) === null || _urlMeta_props_content === void 0 ? void 0 : _urlMeta_props_content.startsWith(\"/\")) {\n return (0, import_url.getStaticUrlFromOneRouter)(urlMeta.props.content);\n }\n return urlMeta.props.content;\n }\n return href;\n }, [\n sortedMeta,\n href\n ]);\n var title = import_react.default.useMemo(function() {\n var titleTag = sortedMeta.find(function(child) {\n return child.type === \"title\";\n });\n if (titleTag) {\n var _titleTag_props_children;\n return (_titleTag_props_children = titleTag.props.children) !== null && _titleTag_props_children !== void 0 ? _titleTag_props_children : \"\";\n }\n var titleMeta = sortedMeta.find(function(child) {\n return child.type === \"meta\" && child.props.property === \"og:title\";\n });\n if (titleMeta) {\n var _titleMeta_props_content;\n return (_titleMeta_props_content = titleMeta.props.content) !== null && _titleMeta_props_content !== void 0 ? _titleMeta_props_content : \"\";\n }\n return getLastSegment(pathname);\n }, [\n sortedMeta,\n pathname\n ]);\n var activity = import_react.default.useMemo(function() {\n if (!!previousMeta.current && !!cachedActivity.current && deepObjectCompare(previousMeta.current, sortedMeta)) {\n return cachedActivity.current;\n }\n previousMeta.current = sortedMeta;\n var userActivity = {};\n sortedMeta.forEach(function(child) {\n if (\n // <meta />\n child.type === \"meta\"\n ) {\n var { property, content } = child.props;\n switch (property) {\n case \"og:description\":\n userActivity.description = content;\n break;\n // Custom properties\n case \"expo:handoff\":\n userActivity.isEligibleForHandoff = isTruthy(content);\n break;\n case \"expo:spotlight\":\n userActivity.isEligibleForSearch = isTruthy(content);\n break;\n }\n }\n });\n cachedActivity.current = userActivity;\n return userActivity;\n }, [\n sortedMeta\n ]);\n var parsedActivity = {\n keywords: [\n title\n ],\n ...activity,\n title,\n webpageURL: url,\n activityType: Head.activities.INDEXED_ROUTE,\n userInfo: {\n // TODO: This may need to be versioned in the future, e.g. `_v1` if we change the format.\n href\n }\n };\n return parsedActivity;\n}\nfunction isTruthy(value) {\n return [\n true,\n \"true\"\n ].includes(value);\n}\nfunction HeadNative(props) {\n var isFocused = (0, import_core.useIsFocused)();\n if (!isFocused) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UnfocusedHead, {});\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FocusedHead, {\n ...props\n });\n}\nfunction UnfocusedHead(props) {\n var { children } = useMetaChildren(props.children);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children\n });\n}\nfunction FocusedHead(props) {\n var { metaChildren, children } = useMetaChildren(props.children);\n var activity = useActivityFromMetaChildren(metaChildren);\n useRegisterCurrentActivity(activity);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children\n });\n}\nvar activities = /* @__PURE__ */ new Map();\nfunction useRegisterCurrentActivity(activity) {\n var activityId = urlToId((0, import_hooks.usePathname)() || \"/\");\n var cascadingId = urlToId((0, import_hooks.useSegments)().join(\"-\") || \"-\");\n var cascadingActivity = import_react.default.useMemo(function() {\n var cascadingActivity2 = activities.has(cascadingId) ? {\n ...activities.get(cascadingId),\n ...activity,\n id: activityId\n } : {\n ...activity,\n id: activityId\n };\n activities.set(cascadingId, cascadingActivity2);\n return cascadingActivity2;\n }, [\n cascadingId,\n activityId,\n activity\n ]);\n var previousActivity = import_react.default.useRef(null);\n import_react.default.useEffect(function() {\n if (!cascadingActivity) {\n return function() {\n };\n }\n if (!!previousActivity.current && deepObjectCompare(previousActivity.current, cascadingActivity)) {\n return function() {\n };\n }\n previousActivity.current = cascadingActivity;\n if (!cascadingActivity.id) {\n throw new Error(\"Activity must have an ID\");\n }\n if (cascadingActivity.isEligibleForHandoff || cascadingActivity.isEligibleForSearch) {\n Head === null || Head === void 0 ? void 0 : Head.createActivity(cascadingActivity);\n }\n return function() {\n };\n }, [\n cascadingActivity\n ]);\n import_react.default.useEffect(function() {\n return function() {\n if (activityId) {\n import_HeadModule.HeadModule === null || import_HeadModule.HeadModule === void 0 ? void 0 : import_HeadModule.HeadModule.suspendActivity(activityId);\n }\n };\n }, [\n activityId\n ]);\n}\nfunction deepObjectCompare(a, b) {\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === \"object\") {\n if (Array.isArray(a) !== Array.isArray(b)) {\n return false;\n }\n if (Array.isArray(a)) {\n if (a.length !== b.length) {\n return false;\n }\n return a.every(function(item, index) {\n return deepObjectCompare(item, b[index]);\n });\n }\n if (a === null || b === null) {\n return a === b;\n }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n return aKeys.every(function(key) {\n return deepObjectCompare(a[key], b[key]);\n });\n }\n return a === b;\n}\nHeadNative.Provider = import_react.default.Fragment;\nfunction HeadShim(props) {\n return null;\n}\nHeadShim.Provider = import_react.default.Fragment;\nvar Head = import_HeadModule.HeadModule ? HeadNative : HeadShim;\nObject.assign(Head, import_HeadModule.HeadModule);\n//# sourceMappingURL=Head.ios.js.map\n"],"mappings":"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"}
@@ -17,4 +17,4 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
  var head_exports = {};
19
19
  module.exports = __toCommonJS(head_exports);
20
- __reExport(head_exports, require("./Head.native.js"), module.exports);
20
+ __reExport(head_exports, require("./Head"), module.exports);
@@ -17,6 +17,6 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
  var head_exports = {};
19
19
  module.exports = __toCommonJS(head_exports);
20
- __reExport(head_exports, require("./Head.native.js"), module.exports);
20
+ __reExport(head_exports, require("./Head"), module.exports);
21
21
 
22
22
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":[],"sources":["cjs/head/index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar head_exports = {};\nmodule.exports = __toCommonJS(head_exports);\n__reExport(head_exports, require(\"./Head\"), module.exports);\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,cAAc,QAAQ,KAAK,kBAAkB,YAAY,QAAQ,KAAK,SAAS,GAAG,gBAAgB,YAAY,cAAc,KAAK,SAAS;AAC9I,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,eAAe,CAAC;AACpB,OAAO,UAAU,aAAa,YAAY;AAC1C,WAAW,cAAc,QAAQ,kBAAQ,GAAG,OAAO,OAAO"}
1
+ {"version":3,"file":"index.native.js","names":[],"sources":["cjs/head/index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar head_exports = {};\nmodule.exports = __toCommonJS(head_exports);\n__reExport(head_exports, require(\"./Head\"), module.exports);\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,cAAc,QAAQ,KAAK,kBAAkB,YAAY,QAAQ,KAAK,SAAS,GAAG,gBAAgB,YAAY,cAAc,KAAK,SAAS;AAC9I,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,eAAe,CAAC;AACpB,OAAO,UAAU,aAAa,YAAY;AAC1C,WAAW,cAAc,QAAQ,QAAQ,GAAG,OAAO,OAAO"}
@@ -36,7 +36,6 @@ var import_Protected = require("../views/Protected.cjs");
36
36
  var import_Screen = require("../views/Screen.cjs");
37
37
  var import_stack_navigator = require("./stack-navigator.cjs");
38
38
  var import_stack_utils = require("./stack-utils/index.cjs");
39
- var import_StackToolbarBottomHost = require("./stack-utils/StackToolbarBottomHost.cjs");
40
39
  var import_withLayoutContext = require("./withLayoutContext.cjs");
41
40
  var import_jsx_runtime = require("react/jsx-runtime");
42
41
  const NativeStackNavigator = (0, import_stack_navigator.createStackNavigator)().Navigator;
@@ -70,10 +69,13 @@ const StackWithComposition = import_react.default.forwardRef((props, ref) => {
70
69
  const { children, screenOptions, ...rest } = props;
71
70
  const screenOptionsWithHeader = (0, import_react.useMemo)(() => {
72
71
  const stackHeader = import_react.Children.toArray(children).find((child) => (0, import_children.isChildOfType)(child, import_stack_utils.StackHeaderComponent));
73
- const stackToolbar = import_react.Children.toArray(children).find((child) => (0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent));
74
- if (!stackHeader && !stackToolbar) return screenOptions;
72
+ const stackToolbars = import_react.Children.toArray(children).filter((child) => (0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent));
73
+ if (!stackHeader && !stackToolbars.length) return screenOptions;
75
74
  const applyComposition = (opts) => {
76
- let result = (0, import_stack_utils.appendStackToolbarPropsToOptions)(opts, stackToolbar && (0, import_children.isChildOfType)(stackToolbar, import_stack_utils.StackToolbarComponent) ? stackToolbar.props : {});
75
+ let result = opts;
76
+ for (const stackToolbar of stackToolbars) {
77
+ result = (0, import_stack_utils.appendStackToolbarPropsToOptions)(result, stackToolbar.props);
78
+ }
77
79
  if (stackHeader && (0, import_children.isChildOfType)(stackHeader, import_stack_utils.StackHeaderComponent)) {
78
80
  const headerProps = { children: stackHeader };
79
81
  result = (0, import_stack_utils.appendScreenStackPropsToOptions)(result, headerProps);
@@ -102,13 +104,14 @@ const StackWithComposition = import_react.default.forwardRef((props, ref) => {
102
104
  });
103
105
  });
104
106
  const StackToolbar = Object.assign(import_stack_utils.StackToolbarComponent, {
105
- Leading: import_stack_utils.StackToolbarLeading,
106
- Left: import_stack_utils.StackToolbarLeading,
107
- Trailing: import_stack_utils.StackToolbarTrailing,
108
- Right: import_stack_utils.StackToolbarTrailing,
109
- Bottom: import_StackToolbarBottomHost.StackToolbarBottom,
110
- Item: import_stack_utils.StackToolbarItem,
111
- Menu: import_stack_utils.StackToolbarMenu
107
+ Button: import_stack_utils.StackToolbarButton,
108
+ Menu: import_stack_utils.StackToolbarMenu,
109
+ MenuAction: import_stack_utils.StackToolbarMenuAction,
110
+ Spacer: import_stack_utils.StackToolbarSpacer,
111
+ SearchBarSlot: import_stack_utils.StackToolbarSearchBarSlot,
112
+ Label: import_stack_utils.StackToolbarLabel,
113
+ Icon: import_stack_utils.StackToolbarIcon,
114
+ Badge: import_stack_utils.StackToolbarBadge
112
115
  });
113
116
  const Stack = Object.assign(StackWithComposition, {
114
117
  Screen: import_stack_utils.StackScreen,
@@ -39,7 +39,6 @@ var import_Protected = require("../views/Protected.native.js");
39
39
  var import_Screen = require("../views/Screen.native.js");
40
40
  var import_stack_navigator = require("./stack-navigator.native.js");
41
41
  var import_stack_utils = require("./stack-utils/index.native.js");
42
- var import_StackToolbarBottomHost = require("./stack-utils/StackToolbarBottomHost.native.js");
43
42
  var import_withLayoutContext = require("./withLayoutContext.native.js");
44
43
  var NativeStackNavigator = (0, import_stack_navigator.createStackNavigator)().Navigator;
45
44
  var RNStack = (0, import_withLayoutContext.withLayoutContext)(NativeStackNavigator);
@@ -75,12 +74,32 @@ var StackWithComposition = /* @__PURE__ */ import_react.default.forwardRef(funct
75
74
  var stackHeader = import_react.Children.toArray(children).find(function(child) {
76
75
  return (0, import_children.isChildOfType)(child, import_stack_utils.StackHeaderComponent);
77
76
  });
78
- var stackToolbar = import_react.Children.toArray(children).find(function(child) {
77
+ var stackToolbars = import_react.Children.toArray(children).filter(function(child) {
79
78
  return (0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent);
80
79
  });
81
- if (!stackHeader && !stackToolbar) return screenOptions;
80
+ if (!stackHeader && !stackToolbars.length) return screenOptions;
82
81
  var applyComposition = function(opts) {
83
- var result = (0, import_stack_utils.appendStackToolbarPropsToOptions)(opts, stackToolbar && (0, import_children.isChildOfType)(stackToolbar, import_stack_utils.StackToolbarComponent) ? stackToolbar.props : {});
82
+ var result = opts;
83
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
84
+ try {
85
+ for (var _iterator = stackToolbars[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
86
+ var stackToolbar = _step.value;
87
+ result = (0, import_stack_utils.appendStackToolbarPropsToOptions)(result, stackToolbar.props);
88
+ }
89
+ } catch (err) {
90
+ _didIteratorError = true;
91
+ _iteratorError = err;
92
+ } finally {
93
+ try {
94
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
95
+ _iterator.return();
96
+ }
97
+ } finally {
98
+ if (_didIteratorError) {
99
+ throw _iteratorError;
100
+ }
101
+ }
102
+ }
84
103
  if (stackHeader && (0, import_children.isChildOfType)(stackHeader, import_stack_utils.StackHeaderComponent)) {
85
104
  var headerProps = { children: stackHeader };
86
105
  result = (0, import_stack_utils.appendScreenStackPropsToOptions)(result, headerProps);
@@ -116,13 +135,14 @@ var StackWithComposition = /* @__PURE__ */ import_react.default.forwardRef(funct
116
135
  });
117
136
  });
118
137
  var StackToolbar = Object.assign(import_stack_utils.StackToolbarComponent, {
119
- Leading: import_stack_utils.StackToolbarLeading,
120
- Left: import_stack_utils.StackToolbarLeading,
121
- Trailing: import_stack_utils.StackToolbarTrailing,
122
- Right: import_stack_utils.StackToolbarTrailing,
123
- Bottom: import_StackToolbarBottomHost.StackToolbarBottom,
124
- Item: import_stack_utils.StackToolbarItem,
125
- Menu: import_stack_utils.StackToolbarMenu
138
+ Button: import_stack_utils.StackToolbarButton,
139
+ Menu: import_stack_utils.StackToolbarMenu,
140
+ MenuAction: import_stack_utils.StackToolbarMenuAction,
141
+ Spacer: import_stack_utils.StackToolbarSpacer,
142
+ SearchBarSlot: import_stack_utils.StackToolbarSearchBarSlot,
143
+ Label: import_stack_utils.StackToolbarLabel,
144
+ Icon: import_stack_utils.StackToolbarIcon,
145
+ Badge: import_stack_utils.StackToolbarBadge
126
146
  });
127
147
  var Stack = Object.assign(StackWithComposition, {
128
148
  Screen: import_stack_utils.StackScreen,
@@ -39,7 +39,6 @@ var import_Protected = require("../views/Protected.native.js");
39
39
  var import_Screen = require("../views/Screen.native.js");
40
40
  var import_stack_navigator = require("./stack-navigator.native.js");
41
41
  var import_stack_utils = require("./stack-utils/index.native.js");
42
- var import_StackToolbarBottomHost = require("./stack-utils/StackToolbarBottomHost.native.js");
43
42
  var import_withLayoutContext = require("./withLayoutContext.native.js");
44
43
  var NativeStackNavigator = (0, import_stack_navigator.createStackNavigator)().Navigator;
45
44
  var RNStack = (0, import_withLayoutContext.withLayoutContext)(NativeStackNavigator);
@@ -75,12 +74,32 @@ var StackWithComposition = /* @__PURE__ */ import_react.default.forwardRef(funct
75
74
  var stackHeader = import_react.Children.toArray(children).find(function(child) {
76
75
  return (0, import_children.isChildOfType)(child, import_stack_utils.StackHeaderComponent);
77
76
  });
78
- var stackToolbar = import_react.Children.toArray(children).find(function(child) {
77
+ var stackToolbars = import_react.Children.toArray(children).filter(function(child) {
79
78
  return (0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent);
80
79
  });
81
- if (!stackHeader && !stackToolbar) return screenOptions;
80
+ if (!stackHeader && !stackToolbars.length) return screenOptions;
82
81
  var applyComposition = function(opts) {
83
- var result = (0, import_stack_utils.appendStackToolbarPropsToOptions)(opts, stackToolbar && (0, import_children.isChildOfType)(stackToolbar, import_stack_utils.StackToolbarComponent) ? stackToolbar.props : {});
82
+ var result = opts;
83
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
84
+ try {
85
+ for (var _iterator = stackToolbars[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
86
+ var stackToolbar = _step.value;
87
+ result = (0, import_stack_utils.appendStackToolbarPropsToOptions)(result, stackToolbar.props);
88
+ }
89
+ } catch (err) {
90
+ _didIteratorError = true;
91
+ _iteratorError = err;
92
+ } finally {
93
+ try {
94
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
95
+ _iterator.return();
96
+ }
97
+ } finally {
98
+ if (_didIteratorError) {
99
+ throw _iteratorError;
100
+ }
101
+ }
102
+ }
84
103
  if (stackHeader && (0, import_children.isChildOfType)(stackHeader, import_stack_utils.StackHeaderComponent)) {
85
104
  var headerProps = { children: stackHeader };
86
105
  result = (0, import_stack_utils.appendScreenStackPropsToOptions)(result, headerProps);
@@ -116,13 +135,14 @@ var StackWithComposition = /* @__PURE__ */ import_react.default.forwardRef(funct
116
135
  });
117
136
  });
118
137
  var StackToolbar = Object.assign(import_stack_utils.StackToolbarComponent, {
119
- Leading: import_stack_utils.StackToolbarLeading,
120
- Left: import_stack_utils.StackToolbarLeading,
121
- Trailing: import_stack_utils.StackToolbarTrailing,
122
- Right: import_stack_utils.StackToolbarTrailing,
123
- Bottom: import_StackToolbarBottomHost.StackToolbarBottom,
124
- Item: import_stack_utils.StackToolbarItem,
125
- Menu: import_stack_utils.StackToolbarMenu
138
+ Button: import_stack_utils.StackToolbarButton,
139
+ Menu: import_stack_utils.StackToolbarMenu,
140
+ MenuAction: import_stack_utils.StackToolbarMenuAction,
141
+ Spacer: import_stack_utils.StackToolbarSpacer,
142
+ SearchBarSlot: import_stack_utils.StackToolbarSearchBarSlot,
143
+ Label: import_stack_utils.StackToolbarLabel,
144
+ Icon: import_stack_utils.StackToolbarIcon,
145
+ Badge: import_stack_utils.StackToolbarBadge
126
146
  });
127
147
  var Stack = Object.assign(StackWithComposition, {
128
148
  Screen: import_stack_utils.StackScreen,
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.native.js","names":[],"sources":["cjs/layouts/Stack.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar Stack_exports = {};\n__export(Stack_exports, {\n Stack: () => Stack,\n default: () => Stack_default\n});\nmodule.exports = __toCommonJS(Stack_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_children = require(\"../utils/children\");\nvar import_Protected = require(\"../views/Protected\");\nvar import_Screen = require(\"../views/Screen\");\nvar import_stack_navigator = require(\"./stack-navigator\");\nvar import_stack_utils = require(\"./stack-utils\");\nvar import_StackToolbarBottomHost = require(\"./stack-utils/StackToolbarBottomHost\");\nvar import_withLayoutContext = require(\"./withLayoutContext\");\nvar NativeStackNavigator = (0, import_stack_navigator.createStackNavigator)().Navigator;\nvar RNStack = (0, import_withLayoutContext.withLayoutContext)(NativeStackNavigator);\nfunction mapChildren(children) {\n return import_react.Children.toArray(children).map(function(child, index) {\n if ((0, import_children.isChildOfType)(child, import_stack_utils.StackScreen)) {\n var _child_props_name;\n var options = (0, import_stack_utils.appendScreenStackPropsToOptions)({}, child.props);\n var { children: _, ...rest } = child.props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Screen.Screen, {\n ...rest,\n options\n }, (_child_props_name = child.props.name) !== null && _child_props_name !== void 0 ? _child_props_name : index);\n }\n if ((0, import_children.isChildOfType)(child, import_Protected.Protected)) {\n return /* @__PURE__ */ import_react.default.cloneElement(child, {\n key: `protected-${index}`\n }, mapChildren(child.props.children));\n }\n if ((0, import_children.isChildOfType)(child, import_stack_utils.StackHeaderComponent)) {\n return null;\n }\n if ((0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent)) {\n return null;\n }\n if ((0, import_children.isChildOfType)(child, import_Screen.Screen)) {\n return child;\n }\n return null;\n }).filter(Boolean);\n}\nvar StackWithComposition = /* @__PURE__ */ import_react.default.forwardRef(function(props, ref) {\n var { children, screenOptions, ...rest } = props;\n var screenOptionsWithHeader = (0, import_react.useMemo)(function() {\n var stackHeader = import_react.Children.toArray(children).find(function(child) {\n return (0, import_children.isChildOfType)(child, import_stack_utils.StackHeaderComponent);\n });\n var stackToolbar = import_react.Children.toArray(children).find(function(child) {\n return (0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent);\n });\n if (!stackHeader && !stackToolbar) return screenOptions;\n var applyComposition = function(opts) {\n var result = (0, import_stack_utils.appendStackToolbarPropsToOptions)(opts, stackToolbar && (0, import_children.isChildOfType)(stackToolbar, import_stack_utils.StackToolbarComponent) ? stackToolbar.props : {});\n if (stackHeader && (0, import_children.isChildOfType)(stackHeader, import_stack_utils.StackHeaderComponent)) {\n var headerProps = {\n children: stackHeader\n };\n result = (0, import_stack_utils.appendScreenStackPropsToOptions)(result, headerProps);\n }\n return result;\n };\n if (screenOptions) {\n if (typeof screenOptions === \"function\") {\n return function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var opts = screenOptions(...args);\n return applyComposition(opts);\n };\n }\n return applyComposition(screenOptions);\n }\n return applyComposition({});\n }, [\n children,\n screenOptions\n ]);\n var processedChildren = (0, import_react.useMemo)(function() {\n return mapChildren(children);\n }, [\n children\n ]);\n var navigatorProps = (0, import_react.useMemo)(function() {\n return (0, import_stack_navigator.getStackNavigatorProps)(children);\n }, [\n children\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNStack, {\n ...rest,\n ...navigatorProps,\n ref,\n screenOptions: screenOptionsWithHeader,\n children: processedChildren\n });\n});\nvar StackToolbar = Object.assign(import_stack_utils.StackToolbarComponent, {\n Leading: import_stack_utils.StackToolbarLeading,\n Left: import_stack_utils.StackToolbarLeading,\n Trailing: import_stack_utils.StackToolbarTrailing,\n Right: import_stack_utils.StackToolbarTrailing,\n Bottom: import_StackToolbarBottomHost.StackToolbarBottom,\n Item: import_stack_utils.StackToolbarItem,\n Menu: import_stack_utils.StackToolbarMenu\n});\nvar Stack = Object.assign(StackWithComposition, {\n Screen: import_stack_utils.StackScreen,\n Header: import_stack_utils.StackHeader,\n Toolbar: StackToolbar,\n Protected: import_Protected.Protected,\n SearchBar: import_stack_utils.StackHeaderSearchBar\n});\nvar Stack_default = Stack;\n//# sourceMappingURL=Stack.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"Stack.native.js","names":[],"sources":["cjs/layouts/Stack.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar Stack_exports = {};\n__export(Stack_exports, {\n Stack: () => Stack,\n default: () => Stack_default\n});\nmodule.exports = __toCommonJS(Stack_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_children = require(\"../utils/children\");\nvar import_Protected = require(\"../views/Protected\");\nvar import_Screen = require(\"../views/Screen\");\nvar import_stack_navigator = require(\"./stack-navigator\");\nvar import_stack_utils = require(\"./stack-utils\");\nvar import_withLayoutContext = require(\"./withLayoutContext\");\nvar NativeStackNavigator = (0, import_stack_navigator.createStackNavigator)().Navigator;\nvar RNStack = (0, import_withLayoutContext.withLayoutContext)(NativeStackNavigator);\nfunction mapChildren(children) {\n return import_react.Children.toArray(children).map(function(child, index) {\n if ((0, import_children.isChildOfType)(child, import_stack_utils.StackScreen)) {\n var _child_props_name;\n var options = (0, import_stack_utils.appendScreenStackPropsToOptions)({}, child.props);\n var { children: _, ...rest } = child.props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Screen.Screen, {\n ...rest,\n options\n }, (_child_props_name = child.props.name) !== null && _child_props_name !== void 0 ? _child_props_name : index);\n }\n if ((0, import_children.isChildOfType)(child, import_Protected.Protected)) {\n return /* @__PURE__ */ import_react.default.cloneElement(child, {\n key: `protected-${index}`\n }, mapChildren(child.props.children));\n }\n if ((0, import_children.isChildOfType)(child, import_stack_utils.StackHeaderComponent)) {\n return null;\n }\n if ((0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent)) {\n return null;\n }\n if ((0, import_children.isChildOfType)(child, import_Screen.Screen)) {\n return child;\n }\n return null;\n }).filter(Boolean);\n}\nvar StackWithComposition = /* @__PURE__ */ import_react.default.forwardRef(function(props, ref) {\n var { children, screenOptions, ...rest } = props;\n var screenOptionsWithHeader = (0, import_react.useMemo)(function() {\n var stackHeader = import_react.Children.toArray(children).find(function(child) {\n return (0, import_children.isChildOfType)(child, import_stack_utils.StackHeaderComponent);\n });\n var stackToolbars = import_react.Children.toArray(children).filter(function(child) {\n return (0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent);\n });\n if (!stackHeader && !stackToolbars.length) return screenOptions;\n var applyComposition = function(opts) {\n var result = opts;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = stackToolbars[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var stackToolbar = _step.value;\n result = (0, import_stack_utils.appendStackToolbarPropsToOptions)(result, stackToolbar.props);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (stackHeader && (0, import_children.isChildOfType)(stackHeader, import_stack_utils.StackHeaderComponent)) {\n var headerProps = {\n children: stackHeader\n };\n result = (0, import_stack_utils.appendScreenStackPropsToOptions)(result, headerProps);\n }\n return result;\n };\n if (screenOptions) {\n if (typeof screenOptions === \"function\") {\n return function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var opts = screenOptions(...args);\n return applyComposition(opts);\n };\n }\n return applyComposition(screenOptions);\n }\n return applyComposition({});\n }, [\n children,\n screenOptions\n ]);\n var processedChildren = (0, import_react.useMemo)(function() {\n return mapChildren(children);\n }, [\n children\n ]);\n var navigatorProps = (0, import_react.useMemo)(function() {\n return (0, import_stack_navigator.getStackNavigatorProps)(children);\n }, [\n children\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNStack, {\n ...rest,\n ...navigatorProps,\n ref,\n screenOptions: screenOptionsWithHeader,\n children: processedChildren\n });\n});\nvar StackToolbar = Object.assign(import_stack_utils.StackToolbarComponent, {\n Button: import_stack_utils.StackToolbarButton,\n Menu: import_stack_utils.StackToolbarMenu,\n MenuAction: import_stack_utils.StackToolbarMenuAction,\n Spacer: import_stack_utils.StackToolbarSpacer,\n SearchBarSlot: import_stack_utils.StackToolbarSearchBarSlot,\n Label: import_stack_utils.StackToolbarLabel,\n Icon: import_stack_utils.StackToolbarIcon,\n Badge: import_stack_utils.StackToolbarBadge\n});\nvar Stack = Object.assign(StackWithComposition, {\n Screen: import_stack_utils.StackScreen,\n Header: import_stack_utils.StackHeader,\n Toolbar: StackToolbar,\n Protected: import_Protected.Protected,\n SearchBar: import_stack_utils.StackHeaderSearchBar\n});\nvar Stack_default = Stack;\n//# sourceMappingURL=Stack.js.map\n"],"mappings":"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"}