one 1.23.1 → 1.24.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 (181) hide show
  1. package/dist/cjs/__tests__/polyfills-mobile.test.cjs +58 -0
  2. package/dist/cjs/__tests__/polyfills-mobile.test.native.js +106 -0
  3. package/dist/cjs/__tests__/polyfills-mobile.test.native.js.map +1 -0
  4. package/dist/cjs/headless/__tests__/useStack.test.cjs +79 -0
  5. package/dist/cjs/headless/__tests__/useStack.test.native.js +85 -0
  6. package/dist/cjs/headless/__tests__/useStack.test.native.js.map +1 -0
  7. package/dist/cjs/headless/useStack.cjs +2 -1
  8. package/dist/cjs/headless/useStack.native.js +2 -1
  9. package/dist/cjs/headless/useStack.native.js.map +1 -1
  10. package/dist/cjs/index.native.js.map +1 -1
  11. package/dist/cjs/layouts/Stack.cjs +12 -9
  12. package/dist/cjs/layouts/Stack.native.js +13 -10
  13. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  14. package/dist/cjs/layouts/stack-utils/StackScreen.cjs +6 -3
  15. package/dist/cjs/layouts/stack-utils/StackScreen.native.js +7 -4
  16. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
  17. package/dist/cjs/layouts/stack-utils/StackToolbar.cjs +124 -0
  18. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js +129 -0
  19. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js.map +1 -0
  20. package/dist/cjs/layouts/stack-utils/StackToolbar.shared.cjs +57 -0
  21. package/dist/cjs/layouts/stack-utils/StackToolbar.shared.native.js +61 -0
  22. package/dist/cjs/layouts/stack-utils/StackToolbar.shared.native.js.map +1 -0
  23. package/dist/cjs/layouts/stack-utils/StackToolbar.types.cjs +18 -0
  24. package/dist/cjs/layouts/stack-utils/StackToolbar.types.native.js +21 -0
  25. package/dist/cjs/layouts/stack-utils/StackToolbar.types.native.js.map +1 -0
  26. package/dist/cjs/layouts/stack-utils/StackToolbarImplementation.cjs +39 -0
  27. package/dist/cjs/layouts/stack-utils/StackToolbarImplementation.native.js +41 -0
  28. package/dist/cjs/layouts/stack-utils/StackToolbarImplementation.native.js.map +1 -0
  29. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.test.cjs +66 -0
  30. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.test.native.js +99 -0
  31. package/dist/cjs/layouts/stack-utils/__tests__/StackToolbar.test.native.js.map +1 -0
  32. package/dist/cjs/layouts/stack-utils/index.cjs +2 -0
  33. package/dist/cjs/layouts/stack-utils/index.native.js +2 -0
  34. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
  35. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.cjs +9 -3
  36. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.js +9 -4
  37. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.js.map +1 -1
  38. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.test.cjs +84 -0
  39. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.test.native.js +91 -0
  40. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.test.native.js.map +1 -0
  41. package/dist/cjs/polyfills-mobile.cjs +1 -0
  42. package/dist/cjs/polyfills-mobile.native.js +1 -0
  43. package/dist/cjs/polyfills-mobile.native.js.map +1 -1
  44. package/dist/cjs/router/router.native.js.map +1 -1
  45. package/dist/cjs/router/useInitializeOneRouter.cjs +2 -2
  46. package/dist/cjs/router/useInitializeOneRouter.native.js +2 -2
  47. package/dist/cjs/router/useInitializeOneRouter.native.js.map +1 -1
  48. package/dist/cjs/router/useInitializeOneRouter.preview-lifecycle.test.cjs +1 -1
  49. package/dist/cjs/router/useInitializeOneRouter.preview-lifecycle.test.native.js +1 -1
  50. package/dist/cjs/router/useInitializeOneRouter.preview-lifecycle.test.native.js.map +1 -1
  51. package/dist/cjs/stack-toolbar-implementation.cjs +30 -0
  52. package/dist/cjs/stack-toolbar-implementation.native.js +33 -0
  53. package/dist/cjs/stack-toolbar-implementation.native.js.map +1 -0
  54. package/dist/esm/__tests__/polyfills-mobile.test.mjs +35 -0
  55. package/dist/esm/__tests__/polyfills-mobile.test.mjs.map +1 -0
  56. package/dist/esm/__tests__/polyfills-mobile.test.native.js +80 -0
  57. package/dist/esm/__tests__/polyfills-mobile.test.native.js.map +1 -0
  58. package/dist/esm/createApp.native.js +1 -0
  59. package/dist/esm/createApp.native.js.map +1 -1
  60. package/dist/esm/headless/__tests__/useStack.test.mjs +56 -0
  61. package/dist/esm/headless/__tests__/useStack.test.mjs.map +1 -0
  62. package/dist/esm/headless/__tests__/useStack.test.native.js +59 -0
  63. package/dist/esm/headless/__tests__/useStack.test.native.js.map +1 -0
  64. package/dist/esm/headless/useStack.mjs +2 -1
  65. package/dist/esm/headless/useStack.mjs.map +1 -1
  66. package/dist/esm/headless/useStack.native.js +2 -1
  67. package/dist/esm/headless/useStack.native.js.map +1 -1
  68. package/dist/esm/index.js.map +1 -1
  69. package/dist/esm/index.mjs.map +1 -1
  70. package/dist/esm/index.native.js.map +1 -1
  71. package/dist/esm/layouts/Stack.mjs +13 -10
  72. package/dist/esm/layouts/Stack.mjs.map +1 -1
  73. package/dist/esm/layouts/Stack.native.js +14 -11
  74. package/dist/esm/layouts/Stack.native.js.map +1 -1
  75. package/dist/esm/layouts/stack-utils/StackScreen.mjs +6 -3
  76. package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -1
  77. package/dist/esm/layouts/stack-utils/StackScreen.native.js +7 -4
  78. package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -1
  79. package/dist/esm/layouts/stack-utils/StackToolbar.mjs +89 -0
  80. package/dist/esm/layouts/stack-utils/StackToolbar.mjs.map +1 -0
  81. package/dist/esm/layouts/stack-utils/StackToolbar.native.js +92 -0
  82. package/dist/esm/layouts/stack-utils/StackToolbar.native.js.map +1 -0
  83. package/dist/esm/layouts/stack-utils/StackToolbar.shared.mjs +31 -0
  84. package/dist/esm/layouts/stack-utils/StackToolbar.shared.mjs.map +1 -0
  85. package/dist/esm/layouts/stack-utils/StackToolbar.shared.native.js +32 -0
  86. package/dist/esm/layouts/stack-utils/StackToolbar.shared.native.js.map +1 -0
  87. package/dist/esm/layouts/stack-utils/StackToolbar.types.mjs +2 -0
  88. package/dist/esm/layouts/stack-utils/StackToolbar.types.mjs.map +1 -0
  89. package/dist/esm/layouts/stack-utils/StackToolbar.types.native.js +2 -0
  90. package/dist/esm/layouts/stack-utils/StackToolbar.types.native.js.map +1 -0
  91. package/dist/esm/layouts/stack-utils/StackToolbarImplementation.mjs +12 -0
  92. package/dist/esm/layouts/stack-utils/StackToolbarImplementation.mjs.map +1 -0
  93. package/dist/esm/layouts/stack-utils/StackToolbarImplementation.native.js +12 -0
  94. package/dist/esm/layouts/stack-utils/StackToolbarImplementation.native.js.map +1 -0
  95. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.mjs +67 -0
  96. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.mjs.map +1 -0
  97. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.native.js +73 -0
  98. package/dist/esm/layouts/stack-utils/__tests__/StackToolbar.test.native.js.map +1 -0
  99. package/dist/esm/layouts/stack-utils/index.mjs +2 -1
  100. package/dist/esm/layouts/stack-utils/index.mjs.map +1 -1
  101. package/dist/esm/layouts/stack-utils/index.native.js +2 -1
  102. package/dist/esm/layouts/stack-utils/index.native.js.map +1 -1
  103. package/dist/esm/metro-config/buildOneMetroResolverOverrides.mjs +9 -3
  104. package/dist/esm/metro-config/buildOneMetroResolverOverrides.mjs.map +1 -1
  105. package/dist/esm/metro-config/buildOneMetroResolverOverrides.native.js +9 -4
  106. package/dist/esm/metro-config/buildOneMetroResolverOverrides.native.js.map +1 -1
  107. package/dist/esm/metro-config/buildOneMetroResolverOverrides.test.mjs +61 -0
  108. package/dist/esm/metro-config/buildOneMetroResolverOverrides.test.mjs.map +1 -0
  109. package/dist/esm/metro-config/buildOneMetroResolverOverrides.test.native.js +65 -0
  110. package/dist/esm/metro-config/buildOneMetroResolverOverrides.test.native.js.map +1 -0
  111. package/dist/esm/polyfills-mobile.mjs +4 -0
  112. package/dist/esm/polyfills-mobile.mjs.map +1 -1
  113. package/dist/esm/polyfills-mobile.native.js +4 -0
  114. package/dist/esm/polyfills-mobile.native.js.map +1 -1
  115. package/dist/esm/router/useInitializeOneRouter.mjs +1 -1
  116. package/dist/esm/router/useInitializeOneRouter.mjs.map +1 -1
  117. package/dist/esm/router/useInitializeOneRouter.native.js +1 -1
  118. package/dist/esm/router/useInitializeOneRouter.preview-lifecycle.test.mjs +1 -1
  119. package/dist/esm/router/useInitializeOneRouter.preview-lifecycle.test.mjs.map +1 -1
  120. package/dist/esm/router/useInitializeOneRouter.preview-lifecycle.test.native.js +1 -1
  121. package/dist/esm/router/useInitializeOneRouter.preview-lifecycle.test.native.js.map +1 -1
  122. package/dist/esm/stack-toolbar-implementation.mjs +3 -0
  123. package/dist/esm/stack-toolbar-implementation.mjs.map +1 -0
  124. package/dist/esm/stack-toolbar-implementation.native.js +3 -0
  125. package/dist/esm/stack-toolbar-implementation.native.js.map +1 -0
  126. package/package.json +33 -21
  127. package/src/__tests__/polyfills-mobile.test.ts +37 -0
  128. package/src/headless/__tests__/useStack.test.tsx +54 -0
  129. package/src/headless/types.ts +2 -1
  130. package/src/headless/useStack.ts +2 -1
  131. package/src/index.ts +12 -0
  132. package/src/layouts/Stack.tsx +33 -8
  133. package/src/layouts/stack-utils/README.md +1 -0
  134. package/src/layouts/stack-utils/StackScreen.tsx +26 -5
  135. package/src/layouts/stack-utils/StackToolbar.shared.ts +44 -0
  136. package/src/layouts/stack-utils/StackToolbar.tsx +134 -0
  137. package/src/layouts/stack-utils/StackToolbar.types.ts +100 -0
  138. package/src/layouts/stack-utils/StackToolbarImplementation.tsx +39 -0
  139. package/src/layouts/stack-utils/__tests__/StackToolbar.test.tsx +70 -0
  140. package/src/layouts/stack-utils/index.tsx +17 -0
  141. package/src/metro-config/buildOneMetroResolverOverrides.test.ts +88 -0
  142. package/src/metro-config/buildOneMetroResolverOverrides.ts +20 -8
  143. package/src/polyfills-mobile.ts +5 -0
  144. package/src/router/router.ts +5 -5
  145. package/src/router/useInitializeOneRouter.preview-lifecycle.test.ts +1 -1
  146. package/src/router/useInitializeOneRouter.ts +2 -2
  147. package/src/stack-toolbar-implementation.ts +8 -0
  148. package/types/headless/types.d.ts +4 -1
  149. package/types/headless/types.d.ts.map +1 -1
  150. package/types/headless/useStack.d.ts.map +1 -1
  151. package/types/index.d.ts +1 -1
  152. package/types/index.d.ts.map +1 -1
  153. package/types/layouts/Stack.d.ts +12 -0
  154. package/types/layouts/Stack.d.ts.map +1 -1
  155. package/types/layouts/stack-utils/StackScreen.d.ts +2 -1
  156. package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
  157. package/types/layouts/stack-utils/StackToolbar.d.ts +28 -0
  158. package/types/layouts/stack-utils/StackToolbar.d.ts.map +1 -0
  159. package/types/layouts/stack-utils/StackToolbar.shared.d.ts +5 -0
  160. package/types/layouts/stack-utils/StackToolbar.shared.d.ts.map +1 -0
  161. package/types/layouts/stack-utils/StackToolbar.types.d.ts +83 -0
  162. package/types/layouts/stack-utils/StackToolbar.types.d.ts.map +1 -0
  163. package/types/layouts/stack-utils/StackToolbarImplementation.d.ts +12 -0
  164. package/types/layouts/stack-utils/StackToolbarImplementation.d.ts.map +1 -0
  165. package/types/layouts/stack-utils/index.d.ts +3 -1
  166. package/types/layouts/stack-utils/index.d.ts.map +1 -1
  167. package/types/metro-config/buildOneMetroResolverOverrides.d.ts +2 -1
  168. package/types/metro-config/buildOneMetroResolverOverrides.d.ts.map +1 -1
  169. package/types/metro-config/buildOneMetroResolverOverrides.test.d.ts +2 -0
  170. package/types/metro-config/buildOneMetroResolverOverrides.test.d.ts.map +1 -0
  171. package/types/polyfills-mobile.d.ts +1 -0
  172. package/types/polyfills-mobile.d.ts.map +1 -1
  173. package/types/router/router.d.ts +1 -1
  174. package/types/router/router.d.ts.map +1 -1
  175. package/types/stack-toolbar-implementation.d.ts +3 -0
  176. package/types/stack-toolbar-implementation.d.ts.map +1 -0
  177. package/types/ui/TabContext.d.ts +2 -10
  178. package/types/ui/TabContext.d.ts.map +1 -1
  179. package/types/ui/TabRouter.d.ts.map +1 -1
  180. package/types/ui/Tabs.shared.d.ts +1 -1
  181. package/types/ui/Tabs.shared.d.ts.map +1 -1
@@ -0,0 +1,92 @@
1
+ "use client";
2
+
3
+ import { useMemo } from "react";
4
+ import { useIsomorphicLayoutEffect } from "@vxrn/use-isomorphic-layout-effect";
5
+ import { NAVIGATOR_CONFIG } from "../../headless/children.native.js";
6
+ import { useNavigation } from "../../router/useNavigation.native.js";
7
+ import { STACK_TOOLBAR_CHILD, getStackToolbarImplementation } from "./StackToolbarImplementation.native.js";
8
+ import { appendStackToolbarConfig } from "./StackToolbar.shared.native.js";
9
+ function appendStackToolbarPropsToOptions(options, props, implementation) {
10
+ var optionsWithConfig = appendStackToolbarConfig(options, props);
11
+ return implementation ? implementation.appendPropsToOptions(optionsWithConfig, props) : optionsWithConfig;
12
+ }
13
+ function StackToolbarComponent(props) {
14
+ var _ref;
15
+ var navigation = useNavigation();
16
+ var implementation = getStackToolbarImplementation();
17
+ var options = useMemo(function () {
18
+ return appendStackToolbarPropsToOptions({}, props, implementation);
19
+ }, [implementation, props.placement, props.asChild, props.children, props.disableImePadding, props.tintColor, props.backgroundColor]);
20
+ useIsomorphicLayoutEffect(function () {
21
+ navigation.setOptions(options);
22
+ }, [navigation, options]);
23
+ return (_ref = implementation === null || implementation === void 0 ? void 0 : implementation.render(props)) !== null && _ref !== void 0 ? _ref : null;
24
+ }
25
+ function StackToolbarButton(_props) {
26
+ return null;
27
+ }
28
+ function StackToolbarMenu(_props) {
29
+ return null;
30
+ }
31
+ function StackToolbarMenuAction(_props) {
32
+ return null;
33
+ }
34
+ function StackToolbarSpacer(_props) {
35
+ return null;
36
+ }
37
+ function StackToolbarSearchBarSlot(_props) {
38
+ return null;
39
+ }
40
+ function StackToolbarView(_props) {
41
+ return null;
42
+ }
43
+ function StackToolbarLabel(_props) {
44
+ return null;
45
+ }
46
+ function StackToolbarIcon(_props) {
47
+ return null;
48
+ }
49
+ function StackToolbarBadge(_props) {
50
+ return null;
51
+ }
52
+ Object.assign(StackToolbarButton, {
53
+ [STACK_TOOLBAR_CHILD]: "button"
54
+ });
55
+ Object.assign(StackToolbarMenu, {
56
+ [STACK_TOOLBAR_CHILD]: "menu"
57
+ });
58
+ Object.assign(StackToolbarMenuAction, {
59
+ [STACK_TOOLBAR_CHILD]: "menuAction"
60
+ });
61
+ Object.assign(StackToolbarSpacer, {
62
+ [STACK_TOOLBAR_CHILD]: "spacer"
63
+ });
64
+ Object.assign(StackToolbarSearchBarSlot, {
65
+ [STACK_TOOLBAR_CHILD]: "searchBarSlot"
66
+ });
67
+ Object.assign(StackToolbarView, {
68
+ [STACK_TOOLBAR_CHILD]: "view"
69
+ });
70
+ Object.assign(StackToolbarLabel, {
71
+ [STACK_TOOLBAR_CHILD]: "label"
72
+ });
73
+ Object.assign(StackToolbarIcon, {
74
+ [STACK_TOOLBAR_CHILD]: "icon"
75
+ });
76
+ Object.assign(StackToolbarBadge, {
77
+ [STACK_TOOLBAR_CHILD]: "badge"
78
+ });
79
+ var StackToolbar = Object.assign(StackToolbarComponent, {
80
+ [NAVIGATOR_CONFIG]: true,
81
+ Button: StackToolbarButton,
82
+ Menu: StackToolbarMenu,
83
+ MenuAction: StackToolbarMenuAction,
84
+ Spacer: StackToolbarSpacer,
85
+ SearchBarSlot: StackToolbarSearchBarSlot,
86
+ View: StackToolbarView,
87
+ Label: StackToolbarLabel,
88
+ Icon: StackToolbarIcon,
89
+ Badge: StackToolbarBadge
90
+ });
91
+ export { StackToolbar, StackToolbarBadge, StackToolbarButton, StackToolbarIcon, StackToolbarLabel, StackToolbarMenu, StackToolbarMenuAction, StackToolbarSearchBarSlot, StackToolbarSpacer, StackToolbarView, appendStackToolbarPropsToOptions };
92
+ //# sourceMappingURL=StackToolbar.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useIsomorphicLayoutEffect","NAVIGATOR_CONFIG","useNavigation","STACK_TOOLBAR_CHILD","getStackToolbarImplementation","appendStackToolbarConfig","appendStackToolbarPropsToOptions","options","props","implementation","optionsWithConfig","appendPropsToOptions","StackToolbarComponent","_ref","navigation","placement","asChild","children","disableImePadding","tintColor","backgroundColor","setOptions","render","StackToolbarButton","_props","StackToolbarMenu","StackToolbarMenuAction","StackToolbarSpacer","StackToolbarSearchBarSlot","StackToolbarView","StackToolbarLabel","StackToolbarIcon","StackToolbarBadge","Object","assign"],"sources":["../../../../src/layouts/stack-utils/StackToolbar.tsx"],"sourcesContent":[null],"mappings":";;AAGA,SAASA,OAAA,QAAe;AAExB,SAASC,yBAAA,QAAiC;AAC1C,SAASC,gBAAA,QAAwB;AACjC,SAASC,aAAA,QAAqB;AAC9B,SAAAC,mBAAA,EAAAC,6BAAA;AAAA,SACEC,wBAAA;AAAA,SACAC,iCAAAC,OAAA,EAAAC,KAAA,EAAAC,cAAA;EAAA,IAAAC,iBAEK,GAAAL,wBAAA,CAAAE,OAAA,EAAAC,KAAA;EACP,OAASC,cAAA,GAAAA,cAAA,CAAgCE,oBAAA,CAAAD,iBAAA,EAAAF,KAAA,IAAAE,iBAAA;AAclC;AAKL,SAAME,qBAAoBA,CAAAJ,KAAA;EAC1B,IAAAK,IAAO;EAGT,IAAAC,UAAA,GAAAZ,aAAA;EAEA,IAAAO,cAAS,GAAAL,6BAAgD;EACvD,IAAAG,OAAM,GAAAR,OAAa,aAAc;IACjC,OAAMO,gCAAiB,KAAAE,KAAA,EAA8BC,cAAA;EACrD,IACEA,cAAM,EACND,KAAA,CAAAO,SAAA,EAAAP,KACE,CAAAQ,OAAA,EAAAR,KACA,CAAAS,QAAM,EAAAT,KACN,CAAAU,iBAAM,EAAAV,KACN,CAAAW,SAAM,EAAAX,KACN,CAAAY,eAAM;EACApB,yBACA;IACRc,UAAA,CAAAO,UAAA,CAAAd,OAAA;EACF,IAEAO,UAAA,EACEP,OAAA,CACF;EAEA,OAAO,CAAAM,IAAA,GAAAJ,cAAgB,KAAO,IAAK,IAAKA,cAAA,uBAAAA,cAAA,CAAAa,MAAA,CAAAd,KAAA,eAAAK,IAAA,cAAAA,IAAA;AAC1C;AAEO,SAASU,mBAAmBC,MAAA,EAAiC;EAClE,OAAO;AACT;AAEO,SAASC,iBAAiBD,MAAA,EAA+B;EAC9D,OAAO;AACT;AAEO,SAASE,uBAAuBF,MAAA,EAAqC;EAC1E,OAAO;AACT;AAEO,SAASG,mBAAmBH,MAAA,EAAiC;EAClE,OAAO;AACT;AAEO,SAASI,0BAA0BJ,MAAA,EAAwC;EAChF,OAAO;AACT;AAEO,SAASK,iBAAiBL,MAAA,EAA+B;EAC9D,OAAO;AACT;AAEO,SAASM,kBAAkBN,MAAA,EAAgC;EAChE,OAAO;AACT;AAEO,SAASO,iBAAiBP,MAAA,EAA+B;EAC9D,OAAO;AACT;AAEO,SAASQ,kBAAkBR,MAAA,EAAgC;EAChE,OAAO;AACT;AAEAS,MAAA,CAAOC,MAAA,CAAOX,kBAAA,EAAoB;EAClC,CAAApB,mBAAc;AACd;AACA8B,MAAA,CAAOC,MAAA,CAAOT,gBAAA;EACd,CAAAtB,mBAAc;AACd;AACA8B,MAAA,CAAOC,MAAA,CAAOR,sBAAsB;EACpC,CAAAvB,mBAAc;AACd;AAEO8B,MAAM,CAAAC,MAAA,CAAAP,kBAAsB;EACjC,CAACxB,mBAAmB;AAAA,EACpB;AAAQ8B,MACR,CAAAC,MAAM,CAAAN,yBAAA;EACN,CAAAzB,mBAAY;AAAA,EACZ;AAAQ8B,MACR,CAAAC,MAAA,CAAAL,gBAAe;EACf,CAAA1B,mBAAM;AAAA,EACN;AAAO8B,MACP,CAAAC,MAAM,CAAAJ,iBAAA;EACN,CAAA3B,mBAAO;AACT,CAAC","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ const optionKeys = {
2
+ left: "__oneStackToolbarLeft",
3
+ right: "__oneStackToolbarRight",
4
+ bottom: "__oneStackToolbarBottom"
5
+ };
6
+ function appendStackToolbarConfig(options, props) {
7
+ return {
8
+ ...options,
9
+ [optionKeys[props.placement ?? "bottom"]]: props
10
+ };
11
+ }
12
+ function exposeStackToolbarConfig(options) {
13
+ const toolbar = {
14
+ left: options[optionKeys.left],
15
+ right: options[optionKeys.right],
16
+ bottom: options[optionKeys.bottom]
17
+ };
18
+ if (!toolbar.left && !toolbar.right && !toolbar.bottom) return options;
19
+ const {
20
+ [optionKeys.left]: _left,
21
+ [optionKeys.right]: _right,
22
+ [optionKeys.bottom]: _bottom,
23
+ ...publicOptions
24
+ } = options;
25
+ return {
26
+ ...publicOptions,
27
+ toolbar
28
+ };
29
+ }
30
+ export { appendStackToolbarConfig, exposeStackToolbarConfig };
31
+ //# sourceMappingURL=StackToolbar.shared.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["optionKeys","left","right","bottom","appendStackToolbarConfig","options","props","placement","exposeStackToolbarConfig","toolbar","_left","_right","_bottom","publicOptions"],"sources":["../../../../src/layouts/stack-utils/StackToolbar.shared.ts"],"sourcesContent":[null],"mappings":"AAQA,MAAMA,UAAA,GAAa;EACjBC,IAAA,EAAM;EACNC,KAAA,EAAO;EACPC,MAAA,EAAQ;AACV;AAEO,SAASC,yBACdC,OAAA,EACAC,KAAA,EAC8B;EAC9B,OAAO;IACL,GAAGD,OAAA;IACH,CAACL,UAAA,CAAWM,KAAA,CAAMC,SAAA,IAAa,QAAQ,CAAC,GAAGD;EAC7C;AACF;AAEO,SAASE,yBACdH,OAAA,EACqB;EACrB,MAAMI,OAAA,GAA8B;IAClCR,IAAA,EAAMI,OAAA,CAAQL,UAAA,CAAWC,IAAI;IAC7BC,KAAA,EAAOG,OAAA,CAAQL,UAAA,CAAWE,KAAK;IAC/BC,MAAA,EAAQE,OAAA,CAAQL,UAAA,CAAWG,MAAM;EACnC;EAEA,IAAI,CAACM,OAAA,CAAQR,IAAA,IAAQ,CAACQ,OAAA,CAAQP,KAAA,IAAS,CAACO,OAAA,CAAQN,MAAA,EAAQ,OAAOE,OAAA;EAE/D,MAAM;IACJ,CAACL,UAAA,CAAWC,IAAI,GAAGS,KAAA;IACnB,CAACV,UAAA,CAAWE,KAAK,GAAGS,MAAA;IACpB,CAACX,UAAA,CAAWG,MAAM,GAAGS,OAAA;IACrB,GAAGC;EACL,IAAIR,OAAA;EAEJ,OAAO;IAAE,GAAGQ,aAAA;IAAeJ;EAAQ;AACrC","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ var optionKeys = {
2
+ left: "__oneStackToolbarLeft",
3
+ right: "__oneStackToolbarRight",
4
+ bottom: "__oneStackToolbarBottom"
5
+ };
6
+ function appendStackToolbarConfig(options, props) {
7
+ var _props_placement;
8
+ return {
9
+ ...options,
10
+ [optionKeys[(_props_placement = props.placement) !== null && _props_placement !== void 0 ? _props_placement : "bottom"]]: props
11
+ };
12
+ }
13
+ function exposeStackToolbarConfig(options) {
14
+ var toolbar = {
15
+ left: options[optionKeys.left],
16
+ right: options[optionKeys.right],
17
+ bottom: options[optionKeys.bottom]
18
+ };
19
+ if (!toolbar.left && !toolbar.right && !toolbar.bottom) return options;
20
+ var {
21
+ [optionKeys.left]: _left,
22
+ [optionKeys.right]: _right,
23
+ [optionKeys.bottom]: _bottom,
24
+ ...publicOptions
25
+ } = options;
26
+ return {
27
+ ...publicOptions,
28
+ toolbar
29
+ };
30
+ }
31
+ export { appendStackToolbarConfig, exposeStackToolbarConfig };
32
+ //# sourceMappingURL=StackToolbar.shared.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["optionKeys","left","right","bottom","appendStackToolbarConfig","options","props","_props_placement","placement","exposeStackToolbarConfig","toolbar","_left","_right","_bottom","publicOptions"],"sources":["../../../../src/layouts/stack-utils/StackToolbar.shared.ts"],"sourcesContent":[null],"mappings":"AAQA,IAAAA,UAAM;EACJC,IAAA,EAAM;EACNC,KAAA,EAAO;EACPC,MAAA,EAAQ;AACV;AAEO,SAASC,yBACdC,OAAA,EACAC,KAAA,EAC8B;EAC9B,IAAAC,gBAAO;EAAA,OACF;IACH,GAACF,OAAA;IACH,CAAAL,UAAA,EAAAO,gBAAA,GAAAD,KAAA,CAAAE,SAAA,cAAAD,gBAAA,cAAAA,gBAAA,eAAAD;EACF;AAEO;AAGL,SAAMG,wBAA8BA,CAAAJ,OAAA;EAAA,IAClCK,OAAM;IACNT,IAAA,EAAAI,OAAO,CAAAL,UAAQ,CAAAC,IAAW;IAC1BC,KAAA,EAAAG,OAAQ,CAAAL,UAAQ,CAAAE,KAAW;IAC7BC,MAAA,EAAAE,OAAA,CAAAL,UAAA,CAAAG,MAAA;EAEA;EAEA,KAAAO,OAAM,CAAAT,IAAA,KAAAS,OAAA,CAAAR,KAAA,KAAAQ,OAAA,CAAAP,MAAA,SAAAE,OAAA;EAAA,IACH;IAAA,CAAAL,UAAW,CAAIC,IAAG,GAAAU,KAAA;IAAA,CAAAX,UAAA,CAAAE,KAAA,GAAAU,MAAA;IAAA,CAAAZ,UAAA,CAAAG,MAAA,GAAAU,OAAA;IAAA,GAAAC;EAAA,IAAAT,OAAA;EAAA,OAClB;IACD,GAACS,aAAW;IACZJ;EACF;AAEA;AACF,S","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=StackToolbar.types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=StackToolbar.types.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use client";
2
+
3
+ const STACK_TOOLBAR_CHILD = /* @__PURE__ */Symbol.for("one.stack-toolbar.child");
4
+ let stackToolbarImplementation = null;
5
+ function registerStackToolbarImplementation(implementation) {
6
+ stackToolbarImplementation = implementation;
7
+ }
8
+ function getStackToolbarImplementation() {
9
+ return stackToolbarImplementation;
10
+ }
11
+ export { STACK_TOOLBAR_CHILD, getStackToolbarImplementation, registerStackToolbarImplementation };
12
+ //# sourceMappingURL=StackToolbarImplementation.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["STACK_TOOLBAR_CHILD","Symbol","for","stackToolbarImplementation","registerStackToolbarImplementation","implementation","getStackToolbarImplementation"],"sources":["../../../../src/layouts/stack-utils/StackToolbarImplementation.tsx"],"sourcesContent":[null],"mappings":";;AAOO,MAAMA,mBAAA,GAAsB,eAAAC,MAAA,CAAOC,GAAA,CAAI,yBAAyB;AAqBvE,IAAIC,0BAAA,GAAgE;AAE7D,SAASC,mCACdC,cAAA,EACA;EACAF,0BAAA,GAA6BE,cAAA;AAC/B;AAEO,SAASC,8BAAA,EAAgC;EAC9C,OAAOH,0BAAA;AACT","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use client";
2
+
3
+ var STACK_TOOLBAR_CHILD = /* @__PURE__ */Symbol.for("one.stack-toolbar.child");
4
+ var stackToolbarImplementation = null;
5
+ function registerStackToolbarImplementation(implementation) {
6
+ stackToolbarImplementation = implementation;
7
+ }
8
+ function getStackToolbarImplementation() {
9
+ return stackToolbarImplementation;
10
+ }
11
+ export { STACK_TOOLBAR_CHILD, getStackToolbarImplementation, registerStackToolbarImplementation };
12
+ //# sourceMappingURL=StackToolbarImplementation.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["STACK_TOOLBAR_CHILD","Symbol","for","stackToolbarImplementation","registerStackToolbarImplementation","implementation","getStackToolbarImplementation"],"sources":["../../../../src/layouts/stack-utils/StackToolbarImplementation.tsx"],"sourcesContent":[null],"mappings":";;AAOO,IAAAA,mBAAM,kBAAsBC,MAAA,CAAAC,GAAO,0BAAI;AAqB9C,IAAIC,0BAAA,GAAgE;AAE7D,SAASC,mCACdC,cAAA,EACA;EACAF,0BAAA,GAA6BE,cAAA;AAC/B;AAEO,SAASC,8BAAA,EAAgC;EAC9C,OAAOH,0BAAA;AACT","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import { StackToolbar } from "../StackToolbar.mjs";
3
+ import { STACK_TOOLBAR_CHILD } from "../StackToolbarImplementation.mjs";
4
+ import { exposeStackToolbarConfig } from "../StackToolbar.shared.mjs";
5
+ import { appendScreenStackPropsToOptions } from "../StackScreen.mjs";
6
+ import { jsx } from "react/jsx-runtime";
7
+ describe("Stack.Toolbar headless config", () => {
8
+ it("marks declaration children for installed implementations", () => {
9
+ expect(StackToolbar.Button[STACK_TOOLBAR_CHILD]).toBe("button");
10
+ expect(StackToolbar.MenuAction[STACK_TOOLBAR_CHILD]).toBe("menuAction");
11
+ });
12
+ it("preserves every placement for the headless stack implementation", () => {
13
+ const options = appendScreenStackPropsToOptions({
14
+ title: "Inbox"
15
+ }, {
16
+ children: [/* @__PURE__ */jsx(StackToolbar, {
17
+ placement: "left",
18
+ children: /* @__PURE__ */jsx(StackToolbar.Button, {
19
+ icon: "sidebar.left"
20
+ })
21
+ }, "left"), /* @__PURE__ */jsx(StackToolbar, {
22
+ placement: "right",
23
+ children: /* @__PURE__ */jsx(StackToolbar.Button, {
24
+ icon: "square.and.arrow.up"
25
+ })
26
+ }, "right")]
27
+ });
28
+ expect(exposeStackToolbarConfig(options)).toMatchObject({
29
+ title: "Inbox",
30
+ toolbar: {
31
+ left: {
32
+ placement: "left"
33
+ },
34
+ right: {
35
+ placement: "right"
36
+ }
37
+ }
38
+ });
39
+ });
40
+ it("hands toolbar declarations to an installed implementation", () => {
41
+ const appendPropsToOptions = vi.fn(options2 => ({
42
+ ...options2,
43
+ headerShown: true
44
+ }));
45
+ const implementation = {
46
+ appendPropsToOptions,
47
+ render: () => null
48
+ };
49
+ const toolbar = /* @__PURE__ */jsx(StackToolbar, {
50
+ placement: "right",
51
+ children: /* @__PURE__ */jsx(StackToolbar.Button, {
52
+ icon: "square.and.arrow.up",
53
+ children: "Share"
54
+ })
55
+ });
56
+ const options = appendScreenStackPropsToOptions({
57
+ title: "Inbox"
58
+ }, {
59
+ children: toolbar
60
+ }, implementation);
61
+ expect(options.headerShown).toBe(true);
62
+ expect(appendPropsToOptions).toHaveBeenCalledOnce();
63
+ expect(appendPropsToOptions.mock.calls[0]?.[1]).toBe(toolbar.props);
64
+ expect(exposeStackToolbarConfig(options).toolbar.right).toBe(toolbar.props);
65
+ });
66
+ });
67
+ //# sourceMappingURL=StackToolbar.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","vi","StackToolbar","STACK_TOOLBAR_CHILD","exposeStackToolbarConfig","appendScreenStackPropsToOptions","jsx","Button","toBe","MenuAction","options","title","children","placement","icon","toMatchObject","toolbar","left","right","appendPropsToOptions","fn","headerShown","implementation","render","toHaveBeenCalledOnce","mock","calls","props"],"sources":["../../../../../src/layouts/stack-utils/__tests__/StackToolbar.test.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAGzC,SAASC,YAAA,QAAoB;AAC7B,SAASC,mBAAA,QAA2B;AACpC,SAASC,wBAAA,QAAgC;AACzC,SAASC,+BAAA,QAAuC;AAkBpC,SAAAC,GAAA;AAhBZR,QAAA,CAAS,iCAAiC,MAAM;EAC9CE,EAAA,CAAG,4DAA4D,MAAM;IACnED,MAAA,CACGG,YAAA,CAAaK,MAAA,CAA6CJ,mBAAmB,CAChF,EAAEK,IAAA,CAAK,QAAQ;IACfT,MAAA,CACGG,YAAA,CAAaO,UAAA,CAAiDN,mBAAmB,CACpF,EAAEK,IAAA,CAAK,YAAY;EACrB,CAAC;EAEDR,EAAA,CAAG,mEAAmE,MAAM;IAC1E,MAAMU,OAAA,GAAUL,+BAAA,CACd;MAAEM,KAAA,EAAO;IAAQ,GACjB;MACEC,QAAA,EAAU,CACR,eAAAN,GAAA,CAACJ,YAAA;QAAwBW,SAAA,EAAU;QACjCD,QAAA,iBAAAN,GAAA,CAACJ,YAAA,CAAaK,MAAA,EAAb;UAAoBO,IAAA,EAAK;QAAA,CAAe;MAAA,GADzB,MAElB,GACA,eAAAR,GAAA,CAACJ,YAAA;QAAyBW,SAAA,EAAU;QAClCD,QAAA,iBAAAN,GAAA,CAACJ,YAAA,CAAaK,MAAA,EAAb;UAAoBO,IAAA,EAAK;QAAA,CAAsB;MAAA,GADhC,OAElB;IAEJ,CACF;IAEAf,MAAA,CAAOK,wBAAA,CAAyBM,OAAO,CAAC,EAAEK,aAAA,CAAc;MACtDJ,KAAA,EAAO;MACPK,OAAA,EAAS;QACPC,IAAA,EAAM;UAAEJ,SAAA,EAAW;QAAO;QAC1BK,KAAA,EAAO;UAAEL,SAAA,EAAW;QAAQ;MAC9B;IACF,CAAC;EACH,CAAC;EAEDb,EAAA,CAAG,6DAA6D,MAAM;IACpE,MAAMmB,oBAAA,GAAuBlB,EAAA,CAAGmB,EAAA,CAAIV,QAAA,KAAa;MAC/C,GAAGA,QAAA;MACHW,WAAA,EAAa;IACf,EAAE;IACF,MAAMC,cAAA,GAA6C;MACjDH,oBAAA;MACAI,MAAA,EAAQA,CAAA,KAAM;IAChB;IACA,MAAMP,OAAA,GACJ,eAAAV,GAAA,CAACJ,YAAA;MAAaW,SAAA,EAAU;MACtBD,QAAA,iBAAAN,GAAA,CAACJ,YAAA,CAAaK,MAAA,EAAb;QAAoBO,IAAA,EAAK;QAAsBF,QAAA;MAAA,CAAK;IAAA,CACvD;IAGF,MAAMF,OAAA,GAAUL,+BAAA,CACd;MAAEM,KAAA,EAAO;IAAQ,GACjB;MAAEC,QAAA,EAAUI;IAAQ,GACpBM,cACF;IAEAvB,MAAA,CAAOW,OAAA,CAAQW,WAAW,EAAEb,IAAA,CAAK,IAAI;IACrCT,MAAA,CAAOoB,oBAAoB,EAAEK,oBAAA,CAAqB;IAClDzB,MAAA,CAAOoB,oBAAA,CAAqBM,IAAA,CAAKC,KAAA,CAAM,CAAC,IAAI,CAAC,CAAC,EAAElB,IAAA,CAAKQ,OAAA,CAAQW,KAAK;IAClE5B,MAAA,CAAOK,wBAAA,CAAyBM,OAAO,EAAEM,OAAA,CAAQE,KAAK,EAAEV,IAAA,CAAKQ,OAAA,CAAQW,KAAK;EAC5E,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { describe, expect, it, vi } from "vitest";
4
+ import { StackToolbar } from "../StackToolbar.native.js";
5
+ import { STACK_TOOLBAR_CHILD } from "../StackToolbarImplementation.native.js";
6
+ import { exposeStackToolbarConfig } from "../StackToolbar.shared.native.js";
7
+ import { appendScreenStackPropsToOptions } from "../StackScreen.native.js";
8
+ describe("Stack.Toolbar headless config", function () {
9
+ it("marks declaration children for installed implementations", function () {
10
+ expect(StackToolbar.Button[STACK_TOOLBAR_CHILD]).toBe("button");
11
+ expect(StackToolbar.MenuAction[STACK_TOOLBAR_CHILD]).toBe("menuAction");
12
+ });
13
+ it("preserves every placement for the headless stack implementation", function () {
14
+ var options = appendScreenStackPropsToOptions({
15
+ title: "Inbox"
16
+ }, {
17
+ children: [/* @__PURE__ */_jsx(StackToolbar, {
18
+ placement: "left",
19
+ children: /* @__PURE__ */_jsx(StackToolbar.Button, {
20
+ icon: "sidebar.left"
21
+ })
22
+ }, "left"), /* @__PURE__ */_jsx(StackToolbar, {
23
+ placement: "right",
24
+ children: /* @__PURE__ */_jsx(StackToolbar.Button, {
25
+ icon: "square.and.arrow.up"
26
+ })
27
+ }, "right")]
28
+ });
29
+ expect(exposeStackToolbarConfig(options)).toMatchObject({
30
+ title: "Inbox",
31
+ toolbar: {
32
+ left: {
33
+ placement: "left"
34
+ },
35
+ right: {
36
+ placement: "right"
37
+ }
38
+ }
39
+ });
40
+ });
41
+ it("hands toolbar declarations to an installed implementation", function () {
42
+ var _appendPropsToOptions_mock_calls_;
43
+ var appendPropsToOptions = vi.fn(function (options2) {
44
+ return {
45
+ ...options2,
46
+ headerShown: true
47
+ };
48
+ });
49
+ var implementation = {
50
+ appendPropsToOptions,
51
+ render: function () {
52
+ return null;
53
+ }
54
+ };
55
+ var toolbar = /* @__PURE__ */_jsx(StackToolbar, {
56
+ placement: "right",
57
+ children: /* @__PURE__ */_jsx(StackToolbar.Button, {
58
+ icon: "square.and.arrow.up",
59
+ children: "Share"
60
+ })
61
+ });
62
+ var options = appendScreenStackPropsToOptions({
63
+ title: "Inbox"
64
+ }, {
65
+ children: toolbar
66
+ }, implementation);
67
+ expect(options.headerShown).toBe(true);
68
+ expect(appendPropsToOptions).toHaveBeenCalledOnce();
69
+ expect((_appendPropsToOptions_mock_calls_ = appendPropsToOptions.mock.calls[0]) === null || _appendPropsToOptions_mock_calls_ === void 0 ? void 0 : _appendPropsToOptions_mock_calls_[1]).toBe(toolbar.props);
70
+ expect(exposeStackToolbarConfig(options).toolbar.right).toBe(toolbar.props);
71
+ });
72
+ });
73
+ //# sourceMappingURL=StackToolbar.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","React","describe","expect","it","vi","StackToolbar","STACK_TOOLBAR_CHILD","exposeStackToolbarConfig","appendScreenStackPropsToOptions","Button","toBe","MenuAction","options","title","children","placement","icon","toMatchObject","toolbar","left","right","_appendPropsToOptions_mock_calls_","appendPropsToOptions","fn","options2","headerShown","implementation","render"],"sources":["../../../../../src/layouts/stack-utils/__tests__/StackToolbar.test.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAAC,IAAU,QAAQ,mBAAc;AAGzC,OAAAC,KAAS;AACT,SAASC,QAAA,EAAAC,MAAA,EAAAC,EAAA,EAAAC,EAAA,QAA2B;AACpC,SAASC,YAAA,mCAAgC;AACzC,SAASC,mBAAA,iDAAuC;AAkBpC,SAAAC,wBAAA;AAhBZ,SAASC,+BAAA,QAAuC;AAC9CP,QAAG;EACDE,EAAA;IAAAD,MACG,CAAAG,YAAa,CAAAI,MAA6C,CAAAH,mBAAmB,GAAAI,IAAA;IAChFR,MAAE,CAAKG,YAAQ,CAAAM,UAAA,CAAAL,mBAAA,GAAAI,IAAA;EACf;EAAAP,EAAA,kEACoF;IACpF,IAAES,OAAK,GAAAJ,+BAAY;MACpBK,KAAA;IAED,CAAG;MACDC,QAAM,GACF,eAAef,IAAA,CAAAM,YAAA;QACjBU,SAAA;QACED,QAAU,iBAAAf,IAAA,CAAAM,YAAA,CAAAI,MAAA;UACRO,IAAA;QAGA;MAGF,YACF,eAAAjB,IAAA,CAAAM,YAAA;QACFU,SAAA;QAEAD,QAAO,iBAAyBf,IAAA,CAAAM,YAAU,CAAAI,MAAc;UACtDO,IAAO;QACP;MACE,UAAQ;IACoB,EAC9B;IACFd,MAAC,CAAAK,wBAAA,CAAAK,OAAA,GAAAK,aAAA;MACFJ,KAAA;MAEEK,OAAA;QACDC,IAAM;UACDJ,SAAA;QACH;QACAK,KAAA;UACIL,SAAA;QACJ;MACA;IACF;EACA;EAMAZ,EAAA,4DAAgB;IAAA,IACZkB,iCAAe;IAAA,IACfC,oBAAkB,GAAAlB,EAAA,CAAAmB,EAAA,WAAAC,QAAA;MACpB;QACF,GAAAA,QAAA;QAEAC,WAAe;MACf;IACA;IACA,IAAAC,cAAO;MACRJ,oBAAA;MACFK,MAAA,WAAAA,CAAA","ignoreList":[]}
@@ -4,6 +4,7 @@ import { StackHeaderLeft } from "./StackHeaderLeft.mjs";
4
4
  import { StackHeaderRight } from "./StackHeaderRight.mjs";
5
5
  import { StackHeaderSearchBar } from "./StackHeaderSearchBar.mjs";
6
6
  import { StackHeaderTitle } from "./StackHeaderTitle.mjs";
7
+ import { StackToolbar } from "./StackToolbar.mjs";
7
8
  import { NAVIGATOR_CONFIG } from "../../headless/children.mjs";
8
9
  import { StackScreen, appendScreenStackPropsToOptions, validateStackPresentation } from "./StackScreen.mjs";
9
10
  const StackHeader = Object.assign(StackHeaderComponent, {
@@ -14,5 +15,5 @@ const StackHeader = Object.assign(StackHeaderComponent, {
14
15
  Title: StackHeaderTitle,
15
16
  SearchBar: StackHeaderSearchBar
16
17
  });
17
- export { StackHeader, StackHeaderBackButton, StackHeaderComponent, StackHeaderLeft, StackHeaderRight, StackHeaderSearchBar, StackHeaderTitle, StackScreen, appendScreenStackPropsToOptions, validateStackPresentation };
18
+ export { StackHeader, StackHeaderBackButton, StackHeaderComponent, StackHeaderLeft, StackHeaderRight, StackHeaderSearchBar, StackHeaderTitle, StackScreen, StackToolbar, appendScreenStackPropsToOptions, validateStackPresentation };
18
19
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["StackHeaderBackButton","StackHeaderComponent","StackHeaderLeft","StackHeaderRight","StackHeaderSearchBar","StackHeaderTitle","NAVIGATOR_CONFIG","StackScreen","appendScreenStackPropsToOptions","validateStackPresentation","StackHeader","Object","assign","Left","Right","BackButton","Title","SearchBar"],"sources":["../../../../src/layouts/stack-utils/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SACEA,qBAAA,QAEK;AACP,SAASC,oBAAA,QAAmD;AAC5D,SAASC,eAAA,QAAkD;AAC3D,SAASC,gBAAA,QAAoD;AAC7D,SACEC,oBAAA,QAEK;AACP,SAASC,gBAAA,QAAoD;AAC7D,SAASC,gBAAA,QAAwB;AA8BjC,SACEC,WAAA,EACAC,+BAAA,EACAC,yBAAA,QAGK;AA9BA,MAAMC,WAAA,GAAcC,MAAA,CAAOC,MAAA,CAAOX,oBAAA,EAAsB;EAC7D,CAACK,gBAAgB,GAAG;EACpBO,IAAA,EAAMX,eAAA;EACNY,KAAA,EAAOX,gBAAA;EACPY,UAAA,EAAYf,qBAAA;EACZgB,KAAA,EAAOX,gBAAA;EACPY,SAAA,EAAWb;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StackHeaderBackButton","StackHeaderComponent","StackHeaderLeft","StackHeaderRight","StackHeaderSearchBar","StackHeaderTitle","StackToolbar","NAVIGATOR_CONFIG","StackScreen","appendScreenStackPropsToOptions","validateStackPresentation","StackHeader","Object","assign","Left","Right","BackButton","Title","SearchBar"],"sources":["../../../../src/layouts/stack-utils/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SACEA,qBAAA,QAEK;AACP,SAASC,oBAAA,QAAmD;AAC5D,SAASC,eAAA,QAAkD;AAC3D,SAASC,gBAAA,QAAoD;AAC7D,SACEC,oBAAA,QAEK;AACP,SAASC,gBAAA,QAAoD;AAC7D,SAASC,YAAA,QAAoB;AAC7B,SAASC,gBAAA,QAAwB;AA8CjC,SACEC,WAAA,EACAC,+BAAA,EACAC,yBAAA,QAGK;AA9CA,MAAMC,WAAA,GAAcC,MAAA,CAAOC,MAAA,CAAOZ,oBAAA,EAAsB;EAC7D,CAACM,gBAAgB,GAAG;EACpBO,IAAA,EAAMZ,eAAA;EACNa,KAAA,EAAOZ,gBAAA;EACPa,UAAA,EAAYhB,qBAAA;EACZiB,KAAA,EAAOZ,gBAAA;EACPa,SAAA,EAAWd;AACb,CAAC","ignoreList":[]}
@@ -4,6 +4,7 @@ import { StackHeaderLeft } from "./StackHeaderLeft.native.js";
4
4
  import { StackHeaderRight } from "./StackHeaderRight.native.js";
5
5
  import { StackHeaderSearchBar } from "./StackHeaderSearchBar.native.js";
6
6
  import { StackHeaderTitle } from "./StackHeaderTitle.native.js";
7
+ import { StackToolbar } from "./StackToolbar.native.js";
7
8
  import { NAVIGATOR_CONFIG } from "../../headless/children.native.js";
8
9
  import { StackScreen, appendScreenStackPropsToOptions, validateStackPresentation } from "./StackScreen.native.js";
9
10
  var StackHeader = Object.assign(StackHeaderComponent, {
@@ -14,5 +15,5 @@ var StackHeader = Object.assign(StackHeaderComponent, {
14
15
  Title: StackHeaderTitle,
15
16
  SearchBar: StackHeaderSearchBar
16
17
  });
17
- export { StackHeader, StackHeaderBackButton, StackHeaderComponent, StackHeaderLeft, StackHeaderRight, StackHeaderSearchBar, StackHeaderTitle, StackScreen, appendScreenStackPropsToOptions, validateStackPresentation };
18
+ export { StackHeader, StackHeaderBackButton, StackHeaderComponent, StackHeaderLeft, StackHeaderRight, StackHeaderSearchBar, StackHeaderTitle, StackScreen, StackToolbar, appendScreenStackPropsToOptions, validateStackPresentation };
18
19
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StackHeaderBackButton","StackHeaderComponent","StackHeaderLeft","StackHeaderRight","StackHeaderSearchBar","StackHeaderTitle","NAVIGATOR_CONFIG","StackScreen","appendScreenStackPropsToOptions","validateStackPresentation","StackHeader","Object","assign","Left","Right","BackButton","Title","SearchBar"],"sources":["../../../../src/layouts/stack-utils/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,qBAAA;AAAA,SACEC,oBAAA;AAAA,SAEKC,eAAA;AACP,SAASC,gBAAA,sCAAmD;AAC5D,SAASC,oBAAA,QAAkD;AAC3D,SAASC,gBAAA,QAAoD;AAC7D,SAAAC,gBAAA;AAAA,SACEC,WAAA,EAAAC,+BAAA,EAAAC,yBAAA;AAAA,IAAAC,WAEK,GAAAC,MAAA,CAAAC,MAAA,CAAAX,oBAAA;EACP,CAAAK,gBAAS;EACTO,IAAA,EAAAX,eAAS;EA8BTY,KAAA,EAAAX,gBAAA;EACEY,UAAA,EAAAf,qBAAA;EACAgB,KAAA,EAAAX,gBAAA;EACAY,SAAA,EAAAb;AAAA;AA3BK,SACLM,WAAC,EACDV,qBAAM,EACNC,oBAAO,EACPC,eAAY,EACZC,gBAAO,EACPC,oBAAW,EACZC,gBAAA,E","ignoreList":[]}
1
+ {"version":3,"names":["StackHeaderBackButton","StackHeaderComponent","StackHeaderLeft","StackHeaderRight","StackHeaderSearchBar","StackHeaderTitle","StackToolbar","NAVIGATOR_CONFIG","StackScreen","appendScreenStackPropsToOptions","validateStackPresentation","StackHeader","Object","assign","Left","Right","BackButton","Title","SearchBar"],"sources":["../../../../src/layouts/stack-utils/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,qBAAA;AAAA,SACEC,oBAAA;AAAA,SAEKC,eAAA;AACP,SAASC,gBAAA,sCAAmD;AAC5D,SAASC,oBAAA,QAAkD;AAC3D,SAASC,gBAAA,QAAoD;AAC7D,SAAAC,YAAA;AAAA,SACEC,gBAAA;AAAA,SAEKC,WAAA,EAAAC,+BAAA,EAAAC,yBAAA;AACP,IAAAC,WAAS,GAAAC,MAAA,CAAAC,MAAA,CAAAZ,oBAAoD;EAC7D,CAAAM,gBAAS;EACTO,IAAA,EAAAZ,eAAS;EA8CTa,KAAA,EAAAZ,gBAAA;EACEa,UAAA,EAAAhB,qBAAA;EACAiB,KAAA,EAAAZ,gBAAA;EACAa,SAAA,EAAAd;AAAA;AA3CK,SACLO,WAAC,EACDX,qBAAM,EACNC,oBAAO,EACPC,eAAY,EACZC,gBAAO,EACPC,oBAAW,EACZC,gBAAA,E","ignoreList":[]}
@@ -7,6 +7,7 @@ function buildOneMetroResolverOverrides({
7
7
  const emptyPath = require2.resolve("@vxrn/vite-plugin-metro/empty", {
8
8
  paths: [projectRoot]
9
9
  });
10
+ const projectPackagePath = path.join(projectRoot, "package.json");
10
11
  return defaultConfig => {
11
12
  const resolver = {
12
13
  ...defaultConfig?.resolver,
@@ -15,6 +16,13 @@ function buildOneMetroResolverOverrides({
15
16
  },
16
17
  nodeModulesPaths: defaultConfig?.resolver?.nodeModulesPaths,
17
18
  resolveRequest: (context, moduleName, platform) => {
19
+ const defaultResolveRequest = defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
20
+ if (moduleName === "react-native-worklets" || moduleName.startsWith("react-native-worklets/")) {
21
+ return defaultResolveRequest({
22
+ ...context,
23
+ originModulePath: projectPackagePath
24
+ }, moduleName, platform);
25
+ }
18
26
  if (moduleName.endsWith(".css")) {
19
27
  return {
20
28
  type: "sourceFile",
@@ -34,8 +42,7 @@ function buildOneMetroResolverOverrides({
34
42
  };
35
43
  }
36
44
  if (moduleName === "react-native-svg") {
37
- const defaultResolveRequest2 = defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
38
- const res2 = defaultResolveRequest2(context, moduleName, platform);
45
+ const res2 = defaultResolveRequest(context, moduleName, platform);
39
46
  const svgSrcSuffix = `${path.sep}src${path.sep}index.ts`;
40
47
  if (res2 && "filePath" in res2 && res2.filePath.includes(svgSrcSuffix)) {
41
48
  return {
@@ -45,7 +52,6 @@ function buildOneMetroResolverOverrides({
45
52
  }
46
53
  return res2;
47
54
  }
48
- const defaultResolveRequest = defaultConfig?.resolver?.resolveRequest || context.resolveRequest;
49
55
  const res = defaultResolveRequest(context, moduleName, platform);
50
56
  if (res && "filePath" in res && /\.server\.[jt]sx?$/.test(res.filePath)) {
51
57
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["module","path","buildOneMetroResolverOverrides","projectRoot","require","createRequire","emptyPath","resolve","paths","defaultConfig","resolver","extraNodeModules","nodeModulesPaths","resolveRequest","context","moduleName","platform","endsWith","type","filePath","test","defaultResolveRequest","res","defaultResolveRequest2","svgSrcSuffix","sep","res2","includes","replace"],"sources":["../../../src/metro-config/buildOneMetroResolverOverrides.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AACnB,OAAOC,IAAA,MAAU;AAoBV,SAASC,+BAA+B;EAC7CC;AACF,GAEO;EACL,MAAMC,QAAA,GAAUJ,MAAA,CAAOK,aAAA,CAAcF,WAAA,GAAc,GAAG;EACtD,MAAMG,SAAA,GAAYF,QAAA,CAAQG,OAAA,CAAQ,iCAAiC;IACjEC,KAAA,EAAO,CAACL,WAAW;EACrB,CAAC;EAED,OAAmCM,aAAA,IAAwB;IACzD,MAAMC,QAAA,GAAgC;MACpC,GAAGD,aAAA,EAAeC,QAAA;MAClBC,gBAAA,EAAkB;QAChB,GAAGF,aAAA,EAAeC,QAAA,EAAUC;MAC9B;MACAC,gBAAA,EAAkBH,aAAA,EAAeC,QAAA,EAAUE,gBAAA;MAC3CC,cAAA,EAAgBA,CAACC,OAAA,EAAcC,UAAA,EAAoBC,QAAA,KAAqB;QACtE,IAAID,UAAA,CAAWE,QAAA,CAAS,MAAM,GAAG;UAC/B,OAAO;YACLC,IAAA,EAAM;YACNC,QAAA,EAAUb;UACZ;QACF;QAGA,IAAI,oBAAoBc,IAAA,CAAKL,UAAU,GAAG;UACxC,OAAO;YACLG,IAAA,EAAM;YACNC,QAAA,EAAUb;UACZ;QACF;QAMA,IAAI,wBAAwBc,IAAA,CAAKL,UAAU,GAAG;UAC5C,OAAO;YACLG,IAAA,EAAM;YACNC,QAAA,EAAUb;UACZ;QACF;QAKA,IAAIS,UAAA,KAAe,oBAAoB;UACrC,MAAMM,sBAAA,GACJZ,aAAA,EAAeC,QAAA,EAAUG,cAAA,IAAkBC,OAAA,CAAQD,cAAA;UACrD,MAAMS,IAAA,GAAMC,sBAAA,CAAsBT,OAAA,EAASC,UAAA,EAAYC,QAAQ;UAC/D,MAAMQ,YAAA,GAAe,GAAGvB,IAAA,CAAKwB,GAAG,MAAMxB,IAAA,CAAKwB,GAAG;UAC9C,IAAIH,IAAA,IAAO,cAAcI,IAAA,IAAOA,IAAA,CAAIP,QAAA,CAASQ,QAAA,CAASH,YAAY,GAAG;YACnE,OAAO;cACL,GAAGF,IAAA;cACHH,QAAA,EAAUG,IAAA,CAAIH,QAAA,CAASS,OAAA,CACrBJ,YAAA,EACA,GAAGvB,IAAA,CAAKwB,GAAG,MAAMxB,IAAA,CAAKwB,GAAG,WAAWxB,IAAA,CAAKwB,GAAG,UAC9C;YACF;UACF;UACA,OAAOH,IAAA;QACT;QAEA,MAAMD,qBAAA,GACJZ,aAAA,EAAeC,QAAA,EAAUG,cAAA,IAAkBC,OAAA,CAAQD,cAAA;QACrD,MAAMS,GAAA,GAAMD,qBAAA,CAAsBP,OAAA,EAASC,UAAA,EAAYC,QAAQ;QAG/D,IAAIM,GAAA,IAAO,cAAcA,GAAA,IAAO,qBAAqBF,IAAA,CAAKE,GAAA,CAAIH,QAAQ,GAAG;UACvE,OAAO;YAAED,IAAA,EAAM;YAAcC,QAAA,EAAUb;UAAU;QACnD;QAEA,OAAOgB,GAAA;MACT;IACF;IAEA,OAAO;MACL,GAAIb,aAAA;MACJC;IACF;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["module","path","buildOneMetroResolverOverrides","projectRoot","require","createRequire","emptyPath","resolve","paths","projectPackagePath","join","defaultConfig","resolver","extraNodeModules","nodeModulesPaths","resolveRequest","context","moduleName","platform","defaultResolveRequest","startsWith","originModulePath","endsWith","type","filePath","test","res","svgSrcSuffix","sep","res2","includes","replace"],"sources":["../../../src/metro-config/buildOneMetroResolverOverrides.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AACnB,OAAOC,IAAA,MAAU;AAqBV,SAASC,+BAA+B;EAC7CC;AACF,GAEO;EACL,MAAMC,QAAA,GAAUJ,MAAA,CAAOK,aAAA,CAAcF,WAAA,GAAc,GAAG;EACtD,MAAMG,SAAA,GAAYF,QAAA,CAAQG,OAAA,CAAQ,iCAAiC;IACjEC,KAAA,EAAO,CAACL,WAAW;EACrB,CAAC;EACD,MAAMM,kBAAA,GAAqBR,IAAA,CAAKS,IAAA,CAAKP,WAAA,EAAa,cAAc;EAEhE,OAAmCQ,aAAA,IAAwB;IACzD,MAAMC,QAAA,GAAgC;MACpC,GAAGD,aAAA,EAAeC,QAAA;MAClBC,gBAAA,EAAkB;QAChB,GAAGF,aAAA,EAAeC,QAAA,EAAUC;MAC9B;MACAC,gBAAA,EAAkBH,aAAA,EAAeC,QAAA,EAAUE,gBAAA;MAC3CC,cAAA,EAAgBA,CAACC,OAAA,EAAcC,UAAA,EAAoBC,QAAA,KAAqB;QACtE,MAAMC,qBAAA,GACJR,aAAA,EAAeC,QAAA,EAAUG,cAAA,IAAkBC,OAAA,CAAQD,cAAA;QAGrD,IACEE,UAAA,KAAe,2BACfA,UAAA,CAAWG,UAAA,CAAW,wBAAwB,GAC9C;UACA,OAAOD,qBAAA,CACL;YAAE,GAAGH,OAAA;YAASK,gBAAA,EAAkBZ;UAAmB,GACnDQ,UAAA,EACAC,QACF;QACF;QAEA,IAAID,UAAA,CAAWK,QAAA,CAAS,MAAM,GAAG;UAC/B,OAAO;YACLC,IAAA,EAAM;YACNC,QAAA,EAAUlB;UACZ;QACF;QAGA,IAAI,oBAAoBmB,IAAA,CAAKR,UAAU,GAAG;UACxC,OAAO;YACLM,IAAA,EAAM;YACNC,QAAA,EAAUlB;UACZ;QACF;QAMA,IAAI,wBAAwBmB,IAAA,CAAKR,UAAU,GAAG;UAC5C,OAAO;YACLM,IAAA,EAAM;YACNC,QAAA,EAAUlB;UACZ;QACF;QAIA,IAAIW,UAAA,KAAe,oBAAoB;UACrC,MAAMS,IAAA,GAAMP,qBAAA,CAAsBH,OAAA,EAASC,UAAA,EAAYC,QAAQ;UAC/D,MAAMS,YAAA,GAAe,GAAG1B,IAAA,CAAK2B,GAAG,MAAM3B,IAAA,CAAK2B,GAAG;UAC9C,IAAIF,IAAA,IAAO,cAAcG,IAAA,IAAOA,IAAA,CAAIL,QAAA,CAASM,QAAA,CAASH,YAAY,GAAG;YACnE,OAAO;cACL,GAAGD,IAAA;cACHF,QAAA,EAAUE,IAAA,CAAIF,QAAA,CAASO,OAAA,CACrBJ,YAAA,EACA,GAAG1B,IAAA,CAAK2B,GAAG,MAAM3B,IAAA,CAAK2B,GAAG,WAAW3B,IAAA,CAAK2B,GAAG,UAC9C;YACF;UACF;UACA,OAAOF,IAAA;QACT;QAEA,MAAMA,GAAA,GAAMP,qBAAA,CAAsBH,OAAA,EAASC,UAAA,EAAYC,QAAQ;QAG/D,IAAIQ,GAAA,IAAO,cAAcA,GAAA,IAAO,qBAAqBD,IAAA,CAAKC,GAAA,CAAIF,QAAQ,GAAG;UACvE,OAAO;YAAED,IAAA,EAAM;YAAcC,QAAA,EAAUlB;UAAU;QACnD;QAEA,OAAOoB,GAAA;MACT;IACF;IAEA,OAAO;MACL,GAAIf,aAAA;MACJC;IACF;EACF;AACF","ignoreList":[]}
@@ -8,6 +8,7 @@ function buildOneMetroResolverOverrides(param) {
8
8
  var emptyPath = require2.resolve("@vxrn/vite-plugin-metro/empty", {
9
9
  paths: [projectRoot]
10
10
  });
11
+ var projectPackagePath = path.join(projectRoot, "package.json");
11
12
  return function (defaultConfig) {
12
13
  var _defaultConfig_resolver, _defaultConfig_resolver1;
13
14
  var resolver = {
@@ -18,6 +19,13 @@ function buildOneMetroResolverOverrides(param) {
18
19
  nodeModulesPaths: defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver1 = defaultConfig.resolver) === null || _defaultConfig_resolver1 === void 0 ? void 0 : _defaultConfig_resolver1.nodeModulesPaths,
19
20
  resolveRequest: function (context, moduleName, platform) {
20
21
  var _defaultConfig_resolver2;
22
+ var defaultResolveRequest = (defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
23
+ if (moduleName === "react-native-worklets" || moduleName.startsWith("react-native-worklets/")) {
24
+ return defaultResolveRequest({
25
+ ...context,
26
+ originModulePath: projectPackagePath
27
+ }, moduleName, platform);
28
+ }
21
29
  if (moduleName.endsWith(".css")) {
22
30
  return {
23
31
  type: "sourceFile",
@@ -37,8 +45,6 @@ function buildOneMetroResolverOverrides(param) {
37
45
  };
38
46
  }
39
47
  if (moduleName === "react-native-svg") {
40
- var _defaultConfig_resolver12;
41
- var defaultResolveRequest = (defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver12 = defaultConfig.resolver) === null || _defaultConfig_resolver12 === void 0 ? void 0 : _defaultConfig_resolver12.resolveRequest) || context.resolveRequest;
42
48
  var res = defaultResolveRequest(context, moduleName, platform);
43
49
  var svgSrcSuffix = `${path.sep}src${path.sep}index.ts`;
44
50
  if (res && "filePath" in res && res.filePath.includes(svgSrcSuffix)) {
@@ -49,8 +55,7 @@ function buildOneMetroResolverOverrides(param) {
49
55
  }
50
56
  return res;
51
57
  }
52
- var defaultResolveRequest1 = (defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
53
- var res1 = defaultResolveRequest1(context, moduleName, platform);
58
+ var res1 = defaultResolveRequest(context, moduleName, platform);
54
59
  if (res1 && "filePath" in res1 && /\.server\.[jt]sx?$/.test(res1.filePath)) {
55
60
  return {
56
61
  type: "sourceFile",
@@ -1 +1 @@
1
- {"version":3,"names":["module","path","buildOneMetroResolverOverrides","param","projectRoot","require2","createRequire","emptyPath","resolve","paths","defaultConfig","_defaultConfig_resolver","_defaultConfig_resolver1","resolver","extraNodeModules","nodeModulesPaths","resolveRequest","context","moduleName","platform","_defaultConfig_resolver2","endsWith","type","filePath","test","res","defaultResolveRequest","_defaultConfig_resolver12","svgSrcSuffix","sep","includes","replace","defaultResolveRequest1","res1"],"sources":["../../../src/metro-config/buildOneMetroResolverOverrides.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AACnB,OAAOC,IAAA,MAAU;AAoBV,SAASC,+BAA+BC,KAAA;EAC7C;IAAAC;EAAA,IAAAD,KAAA;EACF,IAEOE,QAAA,GAAAL,MAAA,CAAAM,aAAA,CAAAF,WAAA;EACL,IAAAG,SAAM,GAAAF,QAAiB,CAAAG,OAAA,gCAA+B;IACtDC,KAAM,GACJL,WAAQ;EAGV;EACE,iBAAMM,aAAgC;IAAA,IACpCC,uBAAkB,EAAAC,wBAAA;IAAA,IAClBC,QAAA;MAAkB,IAChBH,aAAG,KAAe,QAAAA,aAAU,uBAAAA,aAAA,CAAAG,QAAA;MAC9BC,gBAAA;QACA,IAAAJ,aAAkB,aAAAA,aAAyB,wBAAAC,uBAAA,GAAAD,aAAA,CAAAG,QAAA,cAAAF,uBAAA,uBAAAA,uBAAA,CAAAG,gBAAA;MAC3C;MACEC,gBAAI,EAAWL,aAAS,KAAS,QAAAA,aAAA,wBAAAE,wBAAA,GAAAF,aAAA,CAAAG,QAAA,cAAAD,wBAAA,uBAAAA,wBAAA,CAAAG,gBAAA;MAC/BC,cAAO,WAAAA,CAAAC,OAAA,EAAAC,UAAA,EAAAC,QAAA;QAAA,IACLC,wBAAM;QAAA,IACNF,UAAU,CAAAG,QAAA;UACZ;YACFC,IAAA;YAGIC,QAAA,EAAAhB;UACF;QAAO;QACC,IACN,mBAAU,CAAAiB,IAAA,CAAAN,UAAA;UACZ;YACFI,IAAA;YAMIC,QAAA,EAAAhB;UACF;QAAO;QACC,IACN,uBAAU,CAAAiB,IAAA,CAAAN,UAAA;UACZ;YACFI,IAAA;YAKIC,QAAA,EAAAhB;UACF;QAEA;QACA,IAAAW,UAAM,uBAA0B;UAChC,IAAIO,yBAAqB;UACvB,IAAAC,qBAAO,IAAAhB,aAAA,aAAAA,aAAA,wBAAAiB,yBAAA,GAAAjB,aAAA,CAAAG,QAAA,cAAAc,yBAAA,uBAAAA,yBAAA,CAAAX,cAAA,KAAAC,OAAA,CAAAD,cAAA;UAAA,IACLS,GAAG,GAAAC,qBAAA,CAAAT,OAAA,EAAAC,UAAA,EAAAC,QAAA;UAAA,IACHS,YAAU,GAAI,GAAA3B,IAAA,CAAA4B,GAAS,MAAA5B,IAAA,CAAA4B,GAAA;UAAA,IAAAJ,GACrB,kBAAAA,GAAA,IAAAA,GAAA,CAAAF,QAAA,CAAAO,QAAA,CAAAF,YAAA;YAAA,OACG;cACL,GAAAH,GAAA;cACFF,QAAA,EAAAE,GAAA,CAAAF,QAAA,CAAAQ,OAAA,CAAAH,YAAA,KAAA3B,IAAA,CAAA4B,GAAA,MAAA5B,IAAA,CAAA4B,GAAA,WAAA5B,IAAA,CAAA4B,GAAA;YACF;UACA;UACF,OAAAJ,GAAA;QAEA;QAEA,IAAAO,sBAAY,IAAAtB,aAA+B,aAAYA,aAAQ,wBAAAU,wBAAA,GAAAV,aAAA,CAAAG,QAAA,cAAAO,wBAAA,uBAAAA,wBAAA,CAAAJ,cAAA,KAAAC,OAAA,CAAAD,cAAA;QAG/D,IAAIiB,IAAA,GAAOD,sBAAqB,CAAAf,OAAA,EAAAC,UAAqB,EAAAC,QAAS;QAC5D,IAAAc,IAAA,IAAS,UAAM,IAAAA,IAAA,IAAc,oBAAoB,CAAAT,IAAA,CAAAS,IAAA,CAAAV,QAAA;UACnD;YAEAD,IAAO;YACTC,QAAA,EAAAhB;UACF;QAEA;QACE,OAAI0B,IAAA;MACJ;IACF;IACF;MACF,GAAAvB,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["module","path","buildOneMetroResolverOverrides","param","projectRoot","require2","createRequire","emptyPath","resolve","paths","projectPackagePath","join","defaultConfig","_defaultConfig_resolver","_defaultConfig_resolver1","resolver","extraNodeModules","nodeModulesPaths","resolveRequest","context","moduleName","platform","_defaultConfig_resolver2","defaultResolveRequest","startsWith","originModulePath","endsWith","type","filePath","test","res","svgSrcSuffix","sep","includes","replace","res1"],"sources":["../../../src/metro-config/buildOneMetroResolverOverrides.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AACnB,OAAOC,IAAA,MAAU;AAqBV,SAASC,+BAA+BC,KAAA;EAC7C;IAAAC;EAAA,IAAAD,KAAA;EACF,IAEOE,QAAA,GAAAL,MAAA,CAAAM,aAAA,CAAAF,WAAA;EACL,IAAAG,SAAM,GAAAF,QAAiB,CAAAG,OAAA,gCAA+B;IACtDC,KAAM,GACJL,WAAQ;EAEV;EAEA,IAAAM,kBAAmC,GAAAT,IAAwB,CAAAU,IAAA,CAAAP,WAAA;EACzD,iBAAMQ,aAAgC;IAAA,IACpCC,uBAAkB,EAAAC,wBAAA;IAAA,IAClBC,QAAA;MAAkB,IAChBH,aAAG,KAAe,QAAAA,aAAU,uBAAAA,aAAA,CAAAG,QAAA;MAC9BC,gBAAA;QACA,IAAAJ,aAAkB,aAAAA,aAAyB,wBAAAC,uBAAA,GAAAD,aAAA,CAAAG,QAAA,cAAAF,uBAAA,uBAAAA,uBAAA,CAAAG,gBAAA;MAC3C;MACEC,gBAAM,EAAAL,aAAA,KACJ,QAAAA,aAAyB,mBAAkB,KAAAE,wBAAQ,GAAAF,aAAA,CAAAG,QAAA,cAAAD,wBAAA,uBAAAA,wBAAA,CAAAG,gBAAA;MAGrDC,cACE,WAAAA,CAAeC,OAAA,EAAAC,UAAA,EAAAC,QACf;QAEA,IAAAC,wBAAO;QAAA,IACLC,qBAAc,IAAAX,aAAkB,aAAmBA,aAAA,wBAAAU,wBAAA,GAAAV,aAAA,CAAAG,QAAA,cAAAO,wBAAA,uBAAAA,wBAAA,CAAAJ,cAAA,KAAAC,OAAA,CAAAD,cAAA;QAAA,IACnDE,UAAA,gCAAAA,UAAA,CAAAI,UAAA;UAAA,OACAD,qBAAA;YACF,GAAAJ,OAAA;YACFM,gBAAA,EAAAf;UAEA,GAAIU,UAAW,EAAAC,QAAS;QACtB;QAAO,IACLD,UAAM,CAAAM,QAAA;UAAA,OACN;YACFC,IAAA;YACFC,QAAA,EAAArB;UAGA;QACE;QAAO,IACL,mBAAM,CAAAsB,IAAA,CAAAT,UAAA;UAAA,OACN;YACFO,IAAA;YACFC,QAAA,EAAArB;UAMA;QACE;QAAO,IACL,uBAAM,CAAAsB,IAAA,CAAAT,UAAA;UAAA,OACN;YACFO,IAAA;YACFC,QAAA,EAAArB;UAIA;QACE;QACA,IAAAa,UAAM,uBAA0B;UAChC,IAAIU,GAAA,GAAAP,qBAAqB,CAAAJ,OAAW,EAAAC,UAAS,EAAAC,QAAS;UACpD,IAAAU,YAAO,MAAA9B,IAAA,CAAA+B,GAAA,MAAA/B,IAAA,CAAA+B,GAAA;UAAA,IACLF,GAAG,kBAAAA,GAAA,IAAAA,GAAA,CAAAF,QAAA,CAAAK,QAAA,CAAAF,YAAA;YAAA,OACH;cAAuB,GACrBD,GAAA;cAAAF,QACG,EAAKE,GAAG,CAAAF,QAAM,CAAAM,OAAQ,CAAAH,YAAgB,KAAG9B,IAAA,CAAA+B,GAAA,MAAA/B,IAAA,CAAA+B,GAAA,WAAA/B,IAAA,CAAA+B,GAAA;YAAA;UAC9C;UAEJ,OAAAF,GAAA;QACA;QACF,IAAAK,IAAA,GAAAZ,qBAAA,CAAAJ,OAAA,EAAAC,UAAA,EAAAC,QAAA;QAEA,IAAAc,IAAM,IAAM,cAAAA,IAAA,IAAsB,oBAAS,CAAYN,IAAA,CAAAM,IAAQ,CAAAP,QAAA;UAG/D,OAAI;YACFD,IAAA,EAAO,YAAQ;YACjBC,QAAA,EAAArB;UAEA;QACF;QACF,OAAA4B,IAAA;MAEA;IAAO;IACD,OACJ;MACF,GAAAvB,aAAA;MACFG;IACF","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ import path from "node:path";
2
+ import { describe, expect, it } from "vitest";
3
+ import { buildOneMetroResolverOverrides } from "./buildOneMetroResolverOverrides.mjs";
4
+ describe("buildOneMetroResolverOverrides", () => {
5
+ it("resolves every react-native-worklets import from the app root", () => {
6
+ const projectRoot = path.resolve(__dirname, "../../");
7
+ const nestedOrigin = path.join(projectRoot, "node_modules/react-native-reanimated/src/index.ts");
8
+ const resolvedOrigins = [];
9
+ const config = buildOneMetroResolverOverrides({
10
+ projectRoot
11
+ })({
12
+ resolver: {
13
+ resolveRequest: (context, moduleName, _platform) => {
14
+ resolvedOrigins.push(`${moduleName}:${context.originModulePath}`);
15
+ return {
16
+ type: "sourceFile",
17
+ filePath: moduleName
18
+ };
19
+ }
20
+ }
21
+ });
22
+ const resolveRequest = config.resolver?.resolveRequest;
23
+ if (!resolveRequest) {
24
+ throw new Error("expected a Metro resolver override");
25
+ }
26
+ resolveRequest({
27
+ originModulePath: nestedOrigin
28
+ }, "react-native-worklets", "ios");
29
+ resolveRequest({
30
+ originModulePath: nestedOrigin
31
+ }, "react-native-worklets/package.json", "ios");
32
+ resolveRequest({
33
+ originModulePath: nestedOrigin
34
+ }, "react-native-safe-area-context", "ios");
35
+ expect(resolvedOrigins).toEqual([`react-native-worklets:${path.join(projectRoot, "package.json")}`, `react-native-worklets/package.json:${path.join(projectRoot, "package.json")}`, `react-native-safe-area-context:${nestedOrigin}`]);
36
+ });
37
+ it("keeps the compiled react-native-svg native entry point", () => {
38
+ const projectRoot = path.resolve(__dirname, "../../");
39
+ const config = buildOneMetroResolverOverrides({
40
+ projectRoot
41
+ })({
42
+ resolver: {
43
+ resolveRequest: (_context, moduleName, _platform) => ({
44
+ type: "sourceFile",
45
+ filePath: path.join(projectRoot, "node_modules", moduleName, "src", "index.ts")
46
+ })
47
+ }
48
+ });
49
+ const resolveRequest = config.resolver?.resolveRequest;
50
+ if (!resolveRequest) {
51
+ throw new Error("expected a Metro resolver override");
52
+ }
53
+ expect(resolveRequest({
54
+ originModulePath: path.join(projectRoot, "app.tsx")
55
+ }, "react-native-svg", "ios")).toEqual({
56
+ type: "sourceFile",
57
+ filePath: path.join(projectRoot, "node_modules", "react-native-svg", "lib", "commonjs", "index.js")
58
+ });
59
+ });
60
+ });
61
+ //# sourceMappingURL=buildOneMetroResolverOverrides.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["path","describe","expect","it","buildOneMetroResolverOverrides","projectRoot","resolve","__dirname","nestedOrigin","join","resolvedOrigins","config","resolver","resolveRequest","context","moduleName","_platform","push","originModulePath","type","filePath","Error","toEqual","_context"],"sources":["../../../src/metro-config/buildOneMetroResolverOverrides.test.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,SAASC,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAASC,8BAAA,QAAsC;AAE/CH,QAAA,CAAS,kCAAkC,MAAM;EAC/CE,EAAA,CAAG,iEAAiE,MAAM;IACxE,MAAME,WAAA,GAAcL,IAAA,CAAKM,OAAA,CAAQC,SAAA,EAAW,QAAQ;IACpD,MAAMC,YAAA,GAAeR,IAAA,CAAKS,IAAA,CACxBJ,WAAA,EACA,mDACF;IACA,MAAMK,eAAA,GAA4B,EAAC;IACnC,MAAMC,MAAA,GAASP,8BAAA,CAA+B;MAAEC;IAAY,CAAC,EAAE;MAC7DO,QAAA,EAAU;QACRC,cAAA,EAAgBA,CACdC,OAAA,EACAC,UAAA,EACAC,SAAA,KACG;UACHN,eAAA,CAAgBO,IAAA,CAAK,GAAGF,UAAU,IAAID,OAAA,CAAQI,gBAAgB,EAAE;UAChE,OAAO;YAAEC,IAAA,EAAM;YAAcC,QAAA,EAAUL;UAAW;QACpD;MACF;IACF,CAAC;IACD,MAAMF,cAAA,GAAiBF,MAAA,CAAOC,QAAA,EAAUC,cAAA;IAExC,IAAI,CAACA,cAAA,EAAgB;MACnB,MAAM,IAAIQ,KAAA,CAAM,oCAAoC;IACtD;IAEAR,cAAA,CAAe;MAAEK,gBAAA,EAAkBV;IAAa,GAAG,yBAAyB,KAAK;IACjFK,cAAA,CACE;MAAEK,gBAAA,EAAkBV;IAAa,GACjC,sCACA,KACF;IACAK,cAAA,CACE;MAAEK,gBAAA,EAAkBV;IAAa,GACjC,kCACA,KACF;IAEAN,MAAA,CAAOQ,eAAe,EAAEY,OAAA,CAAQ,CAC9B,yBAAyBtB,IAAA,CAAKS,IAAA,CAAKJ,WAAA,EAAa,cAAc,CAAC,IAC/D,sCAAsCL,IAAA,CAAKS,IAAA,CAAKJ,WAAA,EAAa,cAAc,CAAC,IAC5E,kCAAkCG,YAAY,GAC/C;EACH,CAAC;EAEDL,EAAA,CAAG,0DAA0D,MAAM;IACjE,MAAME,WAAA,GAAcL,IAAA,CAAKM,OAAA,CAAQC,SAAA,EAAW,QAAQ;IACpD,MAAMI,MAAA,GAASP,8BAAA,CAA+B;MAAEC;IAAY,CAAC,EAAE;MAC7DO,QAAA,EAAU;QACRC,cAAA,EAAgBA,CACdU,QAAA,EACAR,UAAA,EACAC,SAAA,MACI;UACJG,IAAA,EAAM;UACNC,QAAA,EAAUpB,IAAA,CAAKS,IAAA,CAAKJ,WAAA,EAAa,gBAAgBU,UAAA,EAAY,OAAO,UAAU;QAChF;MACF;IACF,CAAC;IACD,MAAMF,cAAA,GAAiBF,MAAA,CAAOC,QAAA,EAAUC,cAAA;IAExC,IAAI,CAACA,cAAA,EAAgB;MACnB,MAAM,IAAIQ,KAAA,CAAM,oCAAoC;IACtD;IAEAnB,MAAA,CACEW,cAAA,CACE;MAAEK,gBAAA,EAAkBlB,IAAA,CAAKS,IAAA,CAAKJ,WAAA,EAAa,SAAS;IAAE,GACtD,oBACA,KACF,CACF,EAAEiB,OAAA,CAAQ;MACRH,IAAA,EAAM;MACNC,QAAA,EAAUpB,IAAA,CAAKS,IAAA,CACbJ,WAAA,EACA,gBACA,oBACA,OACA,YACA,UACF;IACF,CAAC;EACH,CAAC;AACH,CAAC","ignoreList":[]}