react-native-screen-transitions 3.11.3 → 3.12.0

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 (221) hide show
  1. package/lib/commonjs/blank-stack/components/stack-view.js +1 -2
  2. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
  3. package/lib/commonjs/component-stack/components/stack-view.js +1 -2
  4. package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
  5. package/lib/commonjs/native-stack/views/NativeStackView.native.js +2 -3
  6. package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
  7. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +1 -1
  8. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  9. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +7 -4
  10. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  11. package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +30 -0
  12. package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -0
  13. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +40 -22
  14. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  15. package/lib/commonjs/shared/components/overlay/helpers/retain-ready-overlay-resources.js +21 -0
  16. package/lib/commonjs/shared/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -0
  17. package/lib/commonjs/shared/components/overlay/helpers/run-overlay-slot-interpolator.js +41 -0
  18. package/lib/commonjs/shared/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -0
  19. package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js +85 -0
  20. package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -0
  21. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +14 -65
  22. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
  23. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +89 -16
  24. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
  25. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +4 -1
  26. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  27. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +10 -7
  28. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
  29. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -8
  30. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  31. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +8 -2
  32. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  33. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +9 -5
  34. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  35. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +1 -3
  36. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  37. package/lib/commonjs/shared/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.js → gesture-ownership-bridge.js} +36 -50
  38. package/lib/commonjs/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -0
  39. package/lib/commonjs/shared/providers/screen/styles/constants.js +1 -0
  40. package/lib/commonjs/shared/providers/screen/styles/constants.js.map +1 -1
  41. package/lib/commonjs/shared/providers/screen/styles/helpers/transition-visual-state.js +20 -1
  42. package/lib/commonjs/shared/providers/screen/styles/helpers/transition-visual-state.js.map +1 -1
  43. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +14 -15
  44. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  45. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +34 -11
  46. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  47. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +18 -29
  48. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
  49. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js +18 -0
  50. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js.map +1 -0
  51. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js +2 -1
  52. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js.map +1 -1
  53. package/lib/commonjs/shared/utils/create-provider.js +119 -10
  54. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  55. package/lib/module/blank-stack/components/stack-view.js +1 -2
  56. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  57. package/lib/module/component-stack/components/stack-view.js +1 -2
  58. package/lib/module/component-stack/components/stack-view.js.map +1 -1
  59. package/lib/module/native-stack/views/NativeStackView.native.js +2 -3
  60. package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
  61. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +1 -1
  62. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  63. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +7 -4
  64. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  65. package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +25 -0
  66. package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -0
  67. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +37 -21
  68. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  69. package/lib/module/shared/components/overlay/helpers/retain-ready-overlay-resources.js +17 -0
  70. package/lib/module/shared/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -0
  71. package/lib/module/shared/components/overlay/helpers/run-overlay-slot-interpolator.js +36 -0
  72. package/lib/module/shared/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -0
  73. package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js +80 -0
  74. package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -0
  75. package/lib/module/shared/components/overlay/variations/float-overlay.js +15 -66
  76. package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
  77. package/lib/module/shared/components/overlay/variations/overlay-host.js +90 -18
  78. package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
  79. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +4 -1
  80. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  81. package/lib/module/shared/providers/screen/animation/animation.provider.js +10 -7
  82. package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -1
  83. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -8
  84. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  85. package/lib/module/shared/providers/screen/animation/use-screen-animation.js +8 -2
  86. package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  87. package/lib/module/shared/providers/screen/gestures/gestures.provider.js +10 -6
  88. package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  89. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +1 -3
  90. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  91. package/lib/module/shared/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.js → gesture-ownership-bridge.js} +35 -49
  92. package/lib/module/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -0
  93. package/lib/module/shared/providers/screen/styles/constants.js +1 -0
  94. package/lib/module/shared/providers/screen/styles/constants.js.map +1 -1
  95. package/lib/module/shared/providers/screen/styles/helpers/transition-visual-state.js +18 -0
  96. package/lib/module/shared/providers/screen/styles/helpers/transition-visual-state.js.map +1 -1
  97. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +14 -15
  98. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  99. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +35 -12
  100. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  101. package/lib/module/shared/providers/screen/styles/slot.provider.js +19 -30
  102. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
  103. package/lib/module/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js +14 -0
  104. package/lib/module/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js.map +1 -0
  105. package/lib/module/shared/providers/stack/blank-stack.provider.js +2 -1
  106. package/lib/module/shared/providers/stack/blank-stack.provider.js.map +1 -1
  107. package/lib/module/shared/types/animation.types.js.map +1 -1
  108. package/lib/module/shared/utils/create-provider.js +119 -10
  109. package/lib/module/shared/utils/create-provider.js.map +1 -1
  110. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  111. package/lib/typescript/blank-stack/types.d.ts +1 -1
  112. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  113. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
  114. package/lib/typescript/component-stack/types.d.ts +1 -1
  115. package/lib/typescript/component-stack/types.d.ts.map +1 -1
  116. package/lib/typescript/native-stack/types.d.ts +1 -1
  117. package/lib/typescript/native-stack/types.d.ts.map +1 -1
  118. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  119. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  120. package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts +7 -0
  121. package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts.map +1 -0
  122. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +17 -7
  123. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  124. package/lib/typescript/shared/components/overlay/helpers/retain-ready-overlay-resources.d.ts +11 -0
  125. package/lib/typescript/shared/components/overlay/helpers/retain-ready-overlay-resources.d.ts.map +1 -0
  126. package/lib/typescript/shared/components/overlay/helpers/run-overlay-slot-interpolator.d.ts +8 -0
  127. package/lib/typescript/shared/components/overlay/helpers/run-overlay-slot-interpolator.d.ts.map +1 -0
  128. package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts +15 -0
  129. package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -0
  130. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts +1 -1
  131. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
  132. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +7 -6
  133. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  134. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  135. package/lib/typescript/shared/index.d.ts +12 -12
  136. package/lib/typescript/shared/index.d.ts.map +1 -1
  137. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +4 -0
  138. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts.map +1 -1
  139. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts +4 -1
  140. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +1 -1
  141. package/lib/typescript/shared/providers/screen/animation/use-screen-animation.d.ts.map +1 -1
  142. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
  143. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts +2 -2
  144. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
  145. package/lib/typescript/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts +3 -0
  146. package/lib/typescript/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts.map +1 -0
  147. package/lib/typescript/shared/providers/screen/styles/constants.d.ts.map +1 -1
  148. package/lib/typescript/shared/providers/screen/styles/helpers/transition-visual-state.d.ts +7 -0
  149. package/lib/typescript/shared/providers/screen/styles/helpers/transition-visual-state.d.ts.map +1 -1
  150. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -1
  151. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +1 -1
  152. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  153. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +5 -5
  154. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
  155. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.d.ts +3 -0
  156. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.d.ts.map +1 -0
  157. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts.map +1 -1
  158. package/lib/typescript/shared/types/animation.types.d.ts +8 -0
  159. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  160. package/lib/typescript/shared/types/index.d.ts +1 -1
  161. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  162. package/lib/typescript/shared/types/overlay.types.d.ts +26 -11
  163. package/lib/typescript/shared/types/overlay.types.d.ts.map +1 -1
  164. package/lib/typescript/shared/types/screen.types.d.ts +2 -2
  165. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  166. package/lib/typescript/shared/utils/create-provider.d.ts +21 -6
  167. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  168. package/package.json +1 -1
  169. package/src/blank-stack/components/stack-view.tsx +1 -4
  170. package/src/blank-stack/types.ts +8 -2
  171. package/src/component-stack/components/stack-view.tsx +1 -4
  172. package/src/component-stack/types.ts +8 -2
  173. package/src/native-stack/types.ts +8 -2
  174. package/src/native-stack/views/NativeStackView.native.tsx +3 -9
  175. package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +1 -1
  176. package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +9 -4
  177. package/src/shared/components/overlay/helpers/create-overlay-interpolator-frame.ts +29 -0
  178. package/src/shared/components/overlay/helpers/get-active-overlay.ts +62 -20
  179. package/src/shared/components/overlay/helpers/retain-ready-overlay-resources.ts +38 -0
  180. package/src/shared/components/overlay/helpers/run-overlay-slot-interpolator.ts +48 -0
  181. package/src/shared/components/overlay/hooks/use-overlay-slot.ts +103 -0
  182. package/src/shared/components/overlay/variations/float-overlay.tsx +22 -64
  183. package/src/shared/components/overlay/variations/overlay-host.tsx +135 -28
  184. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +5 -1
  185. package/src/shared/index.ts +1 -0
  186. package/src/shared/providers/screen/animation/animation.provider.tsx +24 -11
  187. package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +15 -9
  188. package/src/shared/providers/screen/animation/use-screen-animation.tsx +12 -2
  189. package/src/shared/providers/screen/gestures/gestures.provider.tsx +18 -7
  190. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +4 -4
  191. package/src/shared/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.ts → gesture-ownership-bridge.tsx} +44 -54
  192. package/src/shared/providers/screen/styles/constants.ts +1 -0
  193. package/src/shared/providers/screen/styles/helpers/transition-visual-state.ts +26 -0
  194. package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +17 -5
  195. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +51 -12
  196. package/src/shared/providers/screen/styles/slot.provider.tsx +46 -70
  197. package/src/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.ts +22 -0
  198. package/src/shared/providers/stack/blank-stack.provider.tsx +6 -1
  199. package/src/shared/types/animation.types.ts +8 -0
  200. package/src/shared/types/index.ts +1 -1
  201. package/src/shared/types/overlay.types.ts +41 -14
  202. package/src/shared/types/screen.types.ts +2 -2
  203. package/src/shared/utils/create-provider.tsx +221 -19
  204. package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +0 -1
  205. package/lib/commonjs/shared/providers/screen/styles/components/floating-overlay-layer.js +0 -28
  206. package/lib/commonjs/shared/providers/screen/styles/components/floating-overlay-layer.js.map +0 -1
  207. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js +0 -53
  208. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js.map +0 -1
  209. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +0 -1
  210. package/lib/module/shared/providers/screen/styles/components/floating-overlay-layer.js +0 -24
  211. package/lib/module/shared/providers/screen/styles/components/floating-overlay-layer.js.map +0 -1
  212. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js +0 -47
  213. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js.map +0 -1
  214. package/lib/typescript/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts +0 -14
  215. package/lib/typescript/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts.map +0 -1
  216. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts +0 -7
  217. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts.map +0 -1
  218. package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts +0 -6
  219. package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts.map +0 -1
  220. package/src/shared/providers/screen/styles/components/floating-overlay-layer.tsx +0 -29
  221. package/src/shared/providers/screen/styles/stores/slot-references.store.ts +0 -72
@@ -14,6 +14,10 @@
14
14
  * - `children`: passed-through children keep their identity across
15
15
  * provider-local renders. Factories that wrap children should use a
16
16
  * module-level memoized component for the wrapper.
17
+ *
18
+ * Providers created with `global: true` return a `key` from their factory.
19
+ * Their generated store hook accepts that key to subscribe to the original
20
+ * provider store from outside its React context.
17
21
  */
18
22
  import {
19
23
  createContext,
@@ -41,6 +45,27 @@ type ProviderStoreHook<ContextValue, Guarded extends boolean> = {
41
45
  ): Selected;
42
46
  };
43
47
 
48
+ type GlobalProviderStoreHook<ContextValue> = {
49
+ (key: string): ContextValue | null;
50
+ <Selected>(
51
+ key: string,
52
+ selector: (value: ContextValue) => Selected,
53
+ ): Selected | null;
54
+ };
55
+
56
+ type ResolvedProviderStoreHook<
57
+ ContextValue,
58
+ Guarded extends boolean,
59
+ Global extends boolean,
60
+ > = ProviderStoreHook<ContextValue, Guarded> &
61
+ (Global extends true ? GlobalProviderStoreHook<ContextValue> : unknown);
62
+
63
+ type ProviderFactoryResult<ContextValue, Global extends boolean> = {
64
+ value?: ContextValue;
65
+ enabled?: boolean;
66
+ children?: ReactNode;
67
+ } & (Global extends true ? { key: string } : { key?: never });
68
+
44
69
  export type ProviderFactoryInternals<ContextValue> = {
45
70
  useParentStore: ProviderStoreHook<ContextValue, false>;
46
71
  };
@@ -56,6 +81,12 @@ interface MutableProviderStoreApi<ContextValue>
56
81
  setSnapshot: (snapshot: ContextValue | null) => boolean;
57
82
  }
58
83
 
84
+ interface ProviderStoreRegistry<ContextValue> {
85
+ getStore: (key: string) => ProviderStoreApi<ContextValue> | null;
86
+ register: (key: string, store: ProviderStoreApi<ContextValue>) => () => void;
87
+ subscribe: (key: string, listener: () => void) => () => void;
88
+ }
89
+
59
90
  const NullProviderStore: ProviderStoreApi<never> = {
60
91
  getSnapshot: () => null,
61
92
  subscribe: () => () => {},
@@ -127,40 +158,186 @@ const createProviderStore = <ContextValue,>(
127
158
  };
128
159
  };
129
160
 
161
+ const createProviderStoreRegistry = <
162
+ ContextValue,
163
+ >(): ProviderStoreRegistry<ContextValue> => {
164
+ type Registration = {
165
+ store: ProviderStoreApi<ContextValue>;
166
+ };
167
+
168
+ const listenersByKey = new Map<string, Set<() => void>>();
169
+ const registrationsByKey = new Map<string, Registration[]>();
170
+
171
+ const getStore = (key: string) => {
172
+ const registrations = registrationsByKey.get(key);
173
+ return registrations?.[registrations.length - 1]?.store ?? null;
174
+ };
175
+
176
+ const notify = (key: string) => {
177
+ for (const listener of listenersByKey.get(key) ?? []) {
178
+ listener();
179
+ }
180
+ };
181
+
182
+ return {
183
+ getStore,
184
+ register: (key, store) => {
185
+ const registration: Registration = { store };
186
+ const registrations = registrationsByKey.get(key) ?? [];
187
+ registrationsByKey.set(key, [...registrations, registration]);
188
+ notify(key);
189
+
190
+ return () => {
191
+ const currentRegistrations = registrationsByKey.get(key);
192
+ if (!currentRegistrations?.includes(registration)) {
193
+ return;
194
+ }
195
+
196
+ const previousStore = getStore(key);
197
+ const nextRegistrations = currentRegistrations.filter(
198
+ (currentRegistration) => currentRegistration !== registration,
199
+ );
200
+
201
+ if (nextRegistrations.length === 0) {
202
+ registrationsByKey.delete(key);
203
+ } else {
204
+ registrationsByKey.set(key, nextRegistrations);
205
+ }
206
+
207
+ if (getStore(key) !== previousStore) {
208
+ notify(key);
209
+ }
210
+ };
211
+ },
212
+ subscribe: (key, listener) => {
213
+ const listeners = listenersByKey.get(key) ?? new Set<() => void>();
214
+ listeners.add(listener);
215
+ listenersByKey.set(key, listeners);
216
+
217
+ return () => {
218
+ listeners.delete(listener);
219
+ if (listeners.size === 0) {
220
+ listenersByKey.delete(key);
221
+ }
222
+ };
223
+ },
224
+ };
225
+ };
226
+
130
227
  export default function createProvider<
131
228
  ProviderName extends string,
132
229
  Guarded extends boolean = true,
133
- >(name: ProviderName, options?: { guarded?: Guarded }) {
230
+ Global extends boolean = false,
231
+ >(name: ProviderName, options?: { guarded?: Guarded; global?: Global }) {
134
232
  return <ProviderProps extends object, ContextValue>(
135
233
  factory: (
136
234
  props: ProviderProps,
137
235
  internals: ProviderFactoryInternals<ContextValue>,
138
- ) => {
139
- value?: ContextValue;
140
- enabled?: boolean;
141
- children?: ReactNode;
142
- },
236
+ ) => ProviderFactoryResult<ContextValue, Global>,
143
237
  ) => {
144
- const { guarded = true } = options ?? {};
238
+ const { guarded = true, global = false } = options ?? {};
145
239
  const providerDisplayName = `${name}Provider`;
240
+ const globalRegistry = global
241
+ ? createProviderStoreRegistry<ContextValue>()
242
+ : null;
243
+ const keyByStore = global
244
+ ? new WeakMap<ProviderStoreApi<ContextValue>, string>()
245
+ : null;
146
246
 
147
247
  const StoreContext = createContext<ProviderStoreApi<ContextValue> | null>(
148
248
  null,
149
249
  );
150
250
  StoreContext.displayName = `${name}Store`;
151
251
 
152
- const createStoreHook = (strict: boolean) => {
252
+ const useRegisteredStore = (
253
+ key: string | null,
254
+ fallbackStore: ProviderStoreApi<ContextValue> | null = null,
255
+ ) => {
256
+ const subscribe = useCallback(
257
+ (listener: () => void) => {
258
+ if (key === null || !globalRegistry) {
259
+ return () => {};
260
+ }
261
+
262
+ return globalRegistry.subscribe(key, listener);
263
+ },
264
+ [key],
265
+ );
266
+ const getSnapshot = useCallback(
267
+ () =>
268
+ key !== null && globalRegistry
269
+ ? (globalRegistry.getStore(key) ?? fallbackStore)
270
+ : null,
271
+ [key, fallbackStore],
272
+ );
273
+
274
+ return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
275
+ };
276
+
277
+ const createStoreHook = (strict: boolean, allowGlobalLookup: boolean) => {
278
+ if (!allowGlobalLookup || !globalRegistry) {
279
+ return <Selected,>(
280
+ selector?: (value: ContextValue | null) => Selected,
281
+ ): Selected | ContextValue | null => {
282
+ const store = useContext(StoreContext);
283
+ const resolvedStore =
284
+ store ?? (NullProviderStore as ProviderStoreApi<ContextValue>);
285
+ const selectorRef = useRef(selector);
286
+ selectorRef.current = selector;
287
+
288
+ const getSelectedSnapshot = useCallback(() => {
289
+ if (strict && store === null) {
290
+ throw new Error(
291
+ `${name} store must be used within a ${name}Provider`,
292
+ );
293
+ }
294
+
295
+ const snapshot = resolvedStore.getSnapshot();
296
+
297
+ if (strict && snapshot === null) {
298
+ throw new Error(
299
+ `${name} store must be used within an enabled ${name}Provider`,
300
+ );
301
+ }
302
+
303
+ return selectorRef.current
304
+ ? selectorRef.current(snapshot)
305
+ : snapshot;
306
+ }, [resolvedStore, store]);
307
+
308
+ return useSyncExternalStore(
309
+ resolvedStore.subscribe,
310
+ getSelectedSnapshot,
311
+ getSelectedSnapshot,
312
+ );
313
+ };
314
+ }
315
+
153
316
  return <Selected,>(
154
- selector?: (value: ContextValue | null) => Selected,
317
+ selectorOrKey?: string | ((value: ContextValue | null) => Selected),
318
+ globalSelector?: (value: ContextValue) => Selected,
155
319
  ): Selected | ContextValue | null => {
156
- const store = useContext(StoreContext);
320
+ const isGlobalLookup = typeof selectorOrKey === "string";
321
+ const key = isGlobalLookup ? selectorOrKey : null;
322
+ const selector = (isGlobalLookup ? globalSelector : selectorOrKey) as
323
+ | ((value: ContextValue | null) => Selected)
324
+ | undefined;
325
+ const contextStore = useContext(StoreContext);
326
+ const matchingContextStore =
327
+ key !== null &&
328
+ contextStore !== null &&
329
+ keyByStore?.get(contextStore) === key
330
+ ? contextStore
331
+ : null;
332
+ const registeredStore = useRegisteredStore(key, matchingContextStore);
333
+ const store = isGlobalLookup ? registeredStore : contextStore;
157
334
  const resolvedStore =
158
335
  store ?? (NullProviderStore as ProviderStoreApi<ContextValue>);
159
- const selectorRef = useRef<typeof selector>(selector);
336
+ const selectorRef = useRef(selector);
160
337
  selectorRef.current = selector;
161
338
 
162
339
  const getSelectedSnapshot = useCallback(() => {
163
- if (strict && store === null) {
340
+ if (!isGlobalLookup && strict && store === null) {
164
341
  throw new Error(
165
342
  `${name} store must be used within a ${name}Provider`,
166
343
  );
@@ -168,14 +345,20 @@ export default function createProvider<
168
345
 
169
346
  const snapshot = resolvedStore.getSnapshot();
170
347
 
171
- if (strict && snapshot === null) {
348
+ if (isGlobalLookup && snapshot === null) {
349
+ return null;
350
+ }
351
+
352
+ if (!isGlobalLookup && strict && snapshot === null) {
172
353
  throw new Error(
173
354
  `${name} store must be used within an enabled ${name}Provider`,
174
355
  );
175
356
  }
176
357
 
177
- return selectorRef.current ? selectorRef.current(snapshot) : snapshot;
178
- }, [resolvedStore, store]);
358
+ return typeof selectorRef.current === "function"
359
+ ? selectorRef.current(snapshot)
360
+ : snapshot;
361
+ }, [isGlobalLookup, resolvedStore, store]);
179
362
 
180
363
  return useSyncExternalStore(
181
364
  resolvedStore.subscribe,
@@ -185,9 +368,9 @@ export default function createProvider<
185
368
  };
186
369
  };
187
370
 
188
- const useStoreSelector = createStoreHook(guarded);
371
+ const useStoreSelector = createStoreHook(guarded, global);
189
372
  const factoryInternals: ProviderFactoryInternals<ContextValue> = {
190
- useParentStore: createStoreHook(false) as ProviderStoreHook<
373
+ useParentStore: createStoreHook(false, false) as ProviderStoreHook<
191
374
  ContextValue,
192
375
  false
193
376
  >,
@@ -197,6 +380,7 @@ export default function createProvider<
197
380
  const {
198
381
  children = (props as { children?: ReactNode }).children,
199
382
  enabled = true,
383
+ key,
200
384
  value,
201
385
  } = factory(props, factoryInternals);
202
386
 
@@ -216,6 +400,23 @@ export default function createProvider<
216
400
  storeRef.current = createProviderStore<ContextValue>(snapshotValue);
217
401
  }
218
402
  const store = storeRef.current;
403
+ if (keyByStore && typeof key === "string") {
404
+ keyByStore.set(store, key);
405
+ }
406
+
407
+ useLayoutEffect(() => {
408
+ if (!globalRegistry) {
409
+ return;
410
+ }
411
+
412
+ if (typeof key !== "string") {
413
+ throw new Error(
414
+ `${name}Provider must return a key when global mode is enabled`,
415
+ );
416
+ }
417
+
418
+ return globalRegistry.register(key, store);
419
+ }, [key, store]);
219
420
 
220
421
  pendingNotifyRef.current =
221
422
  store.setSnapshot(snapshotValue) || pendingNotifyRef.current;
@@ -241,9 +442,10 @@ export default function createProvider<
241
442
  } as {
242
443
  [P in ProviderName as `${P}Provider`]: React.FC<ProviderProps>;
243
444
  } & {
244
- [P in ProviderName as `use${P}Store`]: ProviderStoreHook<
445
+ [P in ProviderName as `use${P}Store`]: ResolvedProviderStoreHook<
245
446
  ContextValue,
246
- Guarded
447
+ Guarded,
448
+ Global
247
449
  >;
248
450
  };
249
451
  };
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_gesture","_ownership","_descriptors","_blankStack","_gestures","_ancestors","_policy","_shadowingClaims","NO_SHADOWED_ANCESTORS","findShadowedDirections","claimedDirections","ancestorDirections","shadowedDirections","dir","DIRECTIONS","push","findShadowedAncestors","parentContext","ancestors","ancestor","walkGestureAncestors","directions","length","registerShadowingClaims","shadowedAncestors","currentScreenKey","isDismissing","GestureStore","getValue","newClaims","childDirectionClaims","get","routeKey","set","clearShadowingClaims","currentClaims","needsUpdate","getDescriptorIsFirstKey","descriptor","navigationState","navigation","getState","routes","findIndex","route","key","getDescriptorClaimedDirections","gestureContext","NO_CLAIMS","resolveScreenGestureConfig","options","isFirstKey","participation","useWalkUpAndRegisterShadowingClaims","useGestureStore","previous","useDescriptorsStore","store","isTopMostScreen","derivations","isCurrentScreenClosing","useBlankStackStore","scenesByKey","activity","effectiveClaimedDirections","useMemo","resolveShadowingClaimDirections","currentClaimedDirections","previousClaimedDirections","useLayoutEffect"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts"],"mappings":"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","ignoreList":[]}
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.FloatingOverlayLayer = void 0;
7
- var _react = require("react");
8
- var _reactNative = require("react-native");
9
- var _jsxRuntime = require("react/jsx-runtime");
10
- const FloatingOverlayLayer = exports.FloatingOverlayLayer = /*#__PURE__*/(0, _react.memo)(function FloatingOverlayLayer({
11
- children,
12
- enabled
13
- }) {
14
- if (!enabled) {
15
- return children;
16
- }
17
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
18
- style: [_reactNative.StyleSheet.absoluteFill, styles.float],
19
- pointerEvents: "box-none",
20
- children: children
21
- });
22
- });
23
- const styles = _reactNative.StyleSheet.create({
24
- float: {
25
- zIndex: 999
26
- }
27
- });
28
- //# sourceMappingURL=floating-overlay-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNative","_jsxRuntime","FloatingOverlayLayer","exports","memo","children","enabled","jsx","View","style","StyleSheet","absoluteFill","styles","float","pointerEvents","create","zIndex"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/components/floating-overlay-layer.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAgD,IAAAE,WAAA,GAAAF,OAAA;AAMzC,MAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,gBAAG,IAAAE,WAAI,EAAC,SAASF,oBAAoBA,CAAC;EACtEG,QAAQ;EACRC;AAC0B,CAAC,EAAE;EAC7B,IAAI,CAACA,OAAO,EAAE;IACb,OAAOD,QAAQ;EAChB;EACA,oBACC,IAAAJ,WAAA,CAAAM,GAAA,EAACP,YAAA,CAAAQ,IAAI;IACJC,KAAK,EAAE,CAACC,uBAAU,CAACC,YAAY,EAAEC,MAAM,CAACC,KAAK,CAAE;IAC/CC,aAAa,EAAC,UAAU;IAAAT,QAAA,EAEvBA;EAAQ,CACJ,CAAC;AAET,CAAC,CAAC;AAEF,MAAMO,MAAM,GAAGF,uBAAU,CAACK,MAAM,CAAC;EAChCF,KAAK,EAAE;IACNG,MAAM,EAAE;EACT;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1,53 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useRegisteredScreenSlots = exports.unregisterScreenSlots = exports.registerScreenSlots = void 0;
7
- var _react = require("react");
8
- /**
9
- * Screen-owned slot reference registry.
10
- *
11
- * This is important for portals: a teleported component can render outside the
12
- * screen provider that owns its active transition, but it still needs references
13
- * to that provider's shared values. This store does not copy or own styles; it
14
- * only exposes the existing ScreenSlotProvider value by screen key.
15
- */
16
-
17
- const listeners = new Set();
18
- const slotsByScreenKey = new Map();
19
- let snapshot = {};
20
- const emit = () => {
21
- snapshot = Object.fromEntries(slotsByScreenKey);
22
- for (const listener of listeners) {
23
- listener();
24
- }
25
- };
26
- const registerScreenSlots = (screenKey, slots) => {
27
- const previous = slotsByScreenKey.get(screenKey);
28
- if (previous?.localStylesMaps === slots.localStylesMaps && previous.nextInterpolatorReady === slots.nextInterpolatorReady && previous.slotsMap === slots.slotsMap && previous.visibilityBlocked === slots.visibilityBlocked) {
29
- return;
30
- }
31
- slotsByScreenKey.set(screenKey, slots);
32
- emit();
33
- };
34
- exports.registerScreenSlots = registerScreenSlots;
35
- const unregisterScreenSlots = (screenKey, slots) => {
36
- if (slotsByScreenKey.get(screenKey) !== slots) {
37
- return;
38
- }
39
- slotsByScreenKey.delete(screenKey);
40
- emit();
41
- };
42
- exports.unregisterScreenSlots = unregisterScreenSlots;
43
- const subscribe = listener => {
44
- listeners.add(listener);
45
- return () => {
46
- listeners.delete(listener);
47
- };
48
- };
49
- const useRegisteredScreenSlots = screenKey => {
50
- return (0, _react.useSyncExternalStore)(subscribe, () => screenKey ? snapshot[screenKey] ?? null : null, () => null);
51
- };
52
- exports.useRegisteredScreenSlots = useRegisteredScreenSlots;
53
- //# sourceMappingURL=slot-references.store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","listeners","Set","slotsByScreenKey","Map","snapshot","emit","Object","fromEntries","listener","registerScreenSlots","screenKey","slots","previous","get","localStylesMaps","nextInterpolatorReady","slotsMap","visibilityBlocked","set","exports","unregisterScreenSlots","delete","subscribe","add","useRegisteredScreenSlots","useSyncExternalStore"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/stores/slot-references.store.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;AACvC,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAoC,CAAC;AAErE,IAAIC,QAA6B,GAAG,CAAC,CAAC;AAEtC,MAAMC,IAAI,GAAGA,CAAA,KAAM;EAClBD,QAAQ,GAAGE,MAAM,CAACC,WAAW,CAACL,gBAAgB,CAAC;EAE/C,KAAK,MAAMM,QAAQ,IAAIR,SAAS,EAAE;IACjCQ,QAAQ,CAAC,CAAC;EACX;AACD,CAAC;AAEM,MAAMC,mBAAmB,GAAGA,CAClCC,SAAoB,EACpBC,KAA6B,KACzB;EACJ,MAAMC,QAAQ,GAAGV,gBAAgB,CAACW,GAAG,CAACH,SAAS,CAAC;EAChD,IACCE,QAAQ,EAAEE,eAAe,KAAKH,KAAK,CAACG,eAAe,IACnDF,QAAQ,CAACG,qBAAqB,KAAKJ,KAAK,CAACI,qBAAqB,IAC9DH,QAAQ,CAACI,QAAQ,KAAKL,KAAK,CAACK,QAAQ,IACpCJ,QAAQ,CAACK,iBAAiB,KAAKN,KAAK,CAACM,iBAAiB,EACrD;IACD;EACD;EAEAf,gBAAgB,CAACgB,GAAG,CAACR,SAAS,EAAEC,KAAK,CAAC;EACtCN,IAAI,CAAC,CAAC;AACP,CAAC;AAACc,OAAA,CAAAV,mBAAA,GAAAA,mBAAA;AAEK,MAAMW,qBAAqB,GAAGA,CACpCV,SAAoB,EACpBC,KAA6B,KACzB;EACJ,IAAIT,gBAAgB,CAACW,GAAG,CAACH,SAAS,CAAC,KAAKC,KAAK,EAAE;IAC9C;EACD;EAEAT,gBAAgB,CAACmB,MAAM,CAACX,SAAS,CAAC;EAClCL,IAAI,CAAC,CAAC;AACP,CAAC;AAACc,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAEF,MAAME,SAAS,GAAId,QAAoB,IAAK;EAC3CR,SAAS,CAACuB,GAAG,CAACf,QAAQ,CAAC;EAEvB,OAAO,MAAM;IACZR,SAAS,CAACqB,MAAM,CAACb,QAAQ,CAAC;EAC3B,CAAC;AACF,CAAC;AAEM,MAAMgB,wBAAwB,GAAId,SAA4B,IAAK;EACzE,OAAO,IAAAe,2BAAoB,EAC1BH,SAAS,EACT,MAAOZ,SAAS,GAAIN,QAAQ,CAACM,SAAS,CAAC,IAAI,IAAI,GAAI,IAAK,EACxD,MAAM,IACP,CAAC;AACF,CAAC;AAACS,OAAA,CAAAK,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["useLayoutEffect","useMemo","GestureStore","DIRECTIONS","NO_CLAIMS","useDescriptorsStore","useBlankStackStore","useGestureStore","walkGestureAncestors","resolveScreenGestureConfig","resolveShadowingClaimDirections","NO_SHADOWED_ANCESTORS","findShadowedDirections","claimedDirections","ancestorDirections","shadowedDirections","dir","push","findShadowedAncestors","parentContext","ancestors","ancestor","directions","length","registerShadowingClaims","shadowedAncestors","currentScreenKey","isDismissing","getValue","newClaims","childDirectionClaims","get","routeKey","set","clearShadowingClaims","currentClaims","needsUpdate","getDescriptorIsFirstKey","descriptor","navigationState","navigation","getState","routes","findIndex","route","key","getDescriptorClaimedDirections","gestureContext","options","isFirstKey","participation","useWalkUpAndRegisterShadowingClaims","previous","store","isTopMostScreen","derivations","isCurrentScreenClosing","scenesByKey","activity","effectiveClaimedDirections","currentClaimedDirections","previousClaimedDirections"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts"],"mappings":"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","ignoreList":[]}
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- import { memo } from "react";
4
- import { StyleSheet, View } from "react-native";
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- export const FloatingOverlayLayer = /*#__PURE__*/memo(function FloatingOverlayLayer({
7
- children,
8
- enabled
9
- }) {
10
- if (!enabled) {
11
- return children;
12
- }
13
- return /*#__PURE__*/_jsx(View, {
14
- style: [StyleSheet.absoluteFill, styles.float],
15
- pointerEvents: "box-none",
16
- children: children
17
- });
18
- });
19
- const styles = StyleSheet.create({
20
- float: {
21
- zIndex: 999
22
- }
23
- });
24
- //# sourceMappingURL=floating-overlay-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["memo","StyleSheet","View","jsx","_jsx","FloatingOverlayLayer","children","enabled","style","absoluteFill","styles","float","pointerEvents","create","zIndex"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/components/floating-overlay-layer.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMhD,OAAO,MAAMC,oBAAoB,gBAAGL,IAAI,CAAC,SAASK,oBAAoBA,CAAC;EACtEC,QAAQ;EACRC;AAC0B,CAAC,EAAE;EAC7B,IAAI,CAACA,OAAO,EAAE;IACb,OAAOD,QAAQ;EAChB;EACA,oBACCF,IAAA,CAACF,IAAI;IACJM,KAAK,EAAE,CAACP,UAAU,CAACQ,YAAY,EAAEC,MAAM,CAACC,KAAK,CAAE;IAC/CC,aAAa,EAAC,UAAU;IAAAN,QAAA,EAEvBA;EAAQ,CACJ,CAAC;AAET,CAAC,CAAC;AAEF,MAAMI,MAAM,GAAGT,UAAU,CAACY,MAAM,CAAC;EAChCF,KAAK,EAAE;IACNG,MAAM,EAAE;EACT;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1,47 +0,0 @@
1
- "use strict";
2
-
3
- import { useSyncExternalStore } from "react";
4
-
5
- /**
6
- * Screen-owned slot reference registry.
7
- *
8
- * This is important for portals: a teleported component can render outside the
9
- * screen provider that owns its active transition, but it still needs references
10
- * to that provider's shared values. This store does not copy or own styles; it
11
- * only exposes the existing ScreenSlotProvider value by screen key.
12
- */
13
-
14
- const listeners = new Set();
15
- const slotsByScreenKey = new Map();
16
- let snapshot = {};
17
- const emit = () => {
18
- snapshot = Object.fromEntries(slotsByScreenKey);
19
- for (const listener of listeners) {
20
- listener();
21
- }
22
- };
23
- export const registerScreenSlots = (screenKey, slots) => {
24
- const previous = slotsByScreenKey.get(screenKey);
25
- if (previous?.localStylesMaps === slots.localStylesMaps && previous.nextInterpolatorReady === slots.nextInterpolatorReady && previous.slotsMap === slots.slotsMap && previous.visibilityBlocked === slots.visibilityBlocked) {
26
- return;
27
- }
28
- slotsByScreenKey.set(screenKey, slots);
29
- emit();
30
- };
31
- export const unregisterScreenSlots = (screenKey, slots) => {
32
- if (slotsByScreenKey.get(screenKey) !== slots) {
33
- return;
34
- }
35
- slotsByScreenKey.delete(screenKey);
36
- emit();
37
- };
38
- const subscribe = listener => {
39
- listeners.add(listener);
40
- return () => {
41
- listeners.delete(listener);
42
- };
43
- };
44
- export const useRegisteredScreenSlots = screenKey => {
45
- return useSyncExternalStore(subscribe, () => screenKey ? snapshot[screenKey] ?? null : null, () => null);
46
- };
47
- //# sourceMappingURL=slot-references.store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useSyncExternalStore","listeners","Set","slotsByScreenKey","Map","snapshot","emit","Object","fromEntries","listener","registerScreenSlots","screenKey","slots","previous","get","localStylesMaps","nextInterpolatorReady","slotsMap","visibilityBlocked","set","unregisterScreenSlots","delete","subscribe","add","useRegisteredScreenSlots"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/stores/slot-references.store.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,OAAO;;AAI5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;AACvC,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAoC,CAAC;AAErE,IAAIC,QAA6B,GAAG,CAAC,CAAC;AAEtC,MAAMC,IAAI,GAAGA,CAAA,KAAM;EAClBD,QAAQ,GAAGE,MAAM,CAACC,WAAW,CAACL,gBAAgB,CAAC;EAE/C,KAAK,MAAMM,QAAQ,IAAIR,SAAS,EAAE;IACjCQ,QAAQ,CAAC,CAAC;EACX;AACD,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAGA,CAClCC,SAAoB,EACpBC,KAA6B,KACzB;EACJ,MAAMC,QAAQ,GAAGV,gBAAgB,CAACW,GAAG,CAACH,SAAS,CAAC;EAChD,IACCE,QAAQ,EAAEE,eAAe,KAAKH,KAAK,CAACG,eAAe,IACnDF,QAAQ,CAACG,qBAAqB,KAAKJ,KAAK,CAACI,qBAAqB,IAC9DH,QAAQ,CAACI,QAAQ,KAAKL,KAAK,CAACK,QAAQ,IACpCJ,QAAQ,CAACK,iBAAiB,KAAKN,KAAK,CAACM,iBAAiB,EACrD;IACD;EACD;EAEAf,gBAAgB,CAACgB,GAAG,CAACR,SAAS,EAAEC,KAAK,CAAC;EACtCN,IAAI,CAAC,CAAC;AACP,CAAC;AAED,OAAO,MAAMc,qBAAqB,GAAGA,CACpCT,SAAoB,EACpBC,KAA6B,KACzB;EACJ,IAAIT,gBAAgB,CAACW,GAAG,CAACH,SAAS,CAAC,KAAKC,KAAK,EAAE;IAC9C;EACD;EAEAT,gBAAgB,CAACkB,MAAM,CAACV,SAAS,CAAC;EAClCL,IAAI,CAAC,CAAC;AACP,CAAC;AAED,MAAMgB,SAAS,GAAIb,QAAoB,IAAK;EAC3CR,SAAS,CAACsB,GAAG,CAACd,QAAQ,CAAC;EAEvB,OAAO,MAAM;IACZR,SAAS,CAACoB,MAAM,CAACZ,QAAQ,CAAC;EAC3B,CAAC;AACF,CAAC;AAED,OAAO,MAAMe,wBAAwB,GAAIb,SAA4B,IAAK;EACzE,OAAOX,oBAAoB,CAC1BsB,SAAS,EACT,MAAOX,SAAS,GAAIN,QAAQ,CAACM,SAAS,CAAC,IAAI,IAAI,GAAI,IAAK,EACxD,MAAM,IACP,CAAC;AACF,CAAC","ignoreList":[]}
@@ -1,14 +0,0 @@
1
- import { type ClaimedDirections } from "../../../../types/ownership.types";
2
- /**
3
- * Registers this screen with ancestors that claim the same direction.
4
- *
5
- * Example, when C is top-most:
6
- * A claims vertical
7
- * └─ B claims horizontal
8
- * └─ C claims vertical
9
- *
10
- * C walks up the tree and writes itself into A.childDirectionClaims.vertical.
11
- * B is skipped because it does not claim vertical.
12
- */
13
- export declare function useWalkUpAndRegisterShadowingClaims(claimedDirections: ClaimedDirections): void;
14
- //# sourceMappingURL=use-walk-up-and-register-shadowing-claims.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-walk-up-and-register-shadowing-claims.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,iBAAiB,EAItB,MAAM,mCAAmC,CAAC;AAoH3C;;;;;;;;;;GAUG;AACH,wBAAgB,mCAAmC,CAClD,iBAAiB,EAAE,iBAAiB,GAClC,IAAI,CA6DN"}
@@ -1,7 +0,0 @@
1
- interface FloatingOverlayLayerProps {
2
- children: React.ReactNode;
3
- enabled?: boolean;
4
- }
5
- export declare const FloatingOverlayLayer: import("react").MemoExoticComponent<({ children, enabled, }: FloatingOverlayLayerProps) => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined>;
6
- export {};
7
- //# sourceMappingURL=floating-overlay-layer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"floating-overlay-layer.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/components/floating-overlay-layer.tsx"],"names":[],"mappings":"AAGA,UAAU,yBAAyB;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AACD,eAAO,MAAM,oBAAoB,+DAG9B,yBAAyB,6WAY1B,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { ScreenKey } from "../../../../stores/bounds/types";
2
- import type { ScreenSlotContextValue } from "../slot.provider";
3
- export declare const registerScreenSlots: (screenKey: ScreenKey, slots: ScreenSlotContextValue) => void;
4
- export declare const unregisterScreenSlots: (screenKey: ScreenKey, slots: ScreenSlotContextValue) => void;
5
- export declare const useRegisteredScreenSlots: (screenKey?: ScreenKey | null) => ScreenSlotContextValue | null;
6
- //# sourceMappingURL=slot-references.store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot-references.store.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/stores/slot-references.store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAyB/D,eAAO,MAAM,mBAAmB,GAC/B,WAAW,SAAS,EACpB,OAAO,sBAAsB,SAc7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GACjC,WAAW,SAAS,EACpB,OAAO,sBAAsB,SAQ7B,CAAC;AAUF,eAAO,MAAM,wBAAwB,GAAI,YAAY,SAAS,GAAG,IAAI,kCAMpE,CAAC"}
@@ -1,29 +0,0 @@
1
- import { memo } from "react";
2
- import { StyleSheet, View } from "react-native";
3
-
4
- interface FloatingOverlayLayerProps {
5
- children: React.ReactNode;
6
- enabled?: boolean;
7
- }
8
- export const FloatingOverlayLayer = memo(function FloatingOverlayLayer({
9
- children,
10
- enabled,
11
- }: FloatingOverlayLayerProps) {
12
- if (!enabled) {
13
- return children;
14
- }
15
- return (
16
- <View
17
- style={[StyleSheet.absoluteFill, styles.float]}
18
- pointerEvents="box-none"
19
- >
20
- {children}
21
- </View>
22
- );
23
- });
24
-
25
- const styles = StyleSheet.create({
26
- float: {
27
- zIndex: 999,
28
- },
29
- });