@oxyhq/bloom 1.14.0 → 1.14.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 (55) hide show
  1. package/docs/media-flight.mdx +15 -6
  2. package/lib/commonjs/media-flight/MediaSurface.js +51 -10
  3. package/lib/commonjs/media-flight/MediaSurface.js.map +1 -1
  4. package/lib/commonjs/media-flight/constants.js +32 -7
  5. package/lib/commonjs/media-flight/constants.js.map +1 -1
  6. package/lib/commonjs/tab-bar/TabBarBase.js +34 -6
  7. package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -1
  8. package/lib/commonjs/theme/color-scope/ColorScope.js +42 -12
  9. package/lib/commonjs/theme/color-scope/ColorScope.js.map +1 -1
  10. package/lib/commonjs/theme/color-scope/ColorScope.web.js +2 -8
  11. package/lib/commonjs/theme/color-scope/ColorScope.web.js.map +1 -1
  12. package/lib/module/media-flight/MediaSurface.js +52 -11
  13. package/lib/module/media-flight/MediaSurface.js.map +1 -1
  14. package/lib/module/media-flight/constants.js +31 -6
  15. package/lib/module/media-flight/constants.js.map +1 -1
  16. package/lib/module/tab-bar/TabBarBase.js +35 -7
  17. package/lib/module/tab-bar/TabBarBase.js.map +1 -1
  18. package/lib/module/theme/color-scope/ColorScope.js +45 -13
  19. package/lib/module/theme/color-scope/ColorScope.js.map +1 -1
  20. package/lib/module/theme/color-scope/ColorScope.web.js +3 -9
  21. package/lib/module/theme/color-scope/ColorScope.web.js.map +1 -1
  22. package/lib/typescript/commonjs/media-flight/MediaSurface.d.ts.map +1 -1
  23. package/lib/typescript/commonjs/media-flight/constants.d.ts +30 -6
  24. package/lib/typescript/commonjs/media-flight/constants.d.ts.map +1 -1
  25. package/lib/typescript/commonjs/media-flight/types.d.ts +7 -2
  26. package/lib/typescript/commonjs/media-flight/types.d.ts.map +1 -1
  27. package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -1
  28. package/lib/typescript/commonjs/theme/color-scope/ColorScope.d.ts +36 -2
  29. package/lib/typescript/commonjs/theme/color-scope/ColorScope.d.ts.map +1 -1
  30. package/lib/typescript/commonjs/theme/color-scope/ColorScope.web.d.ts +6 -2
  31. package/lib/typescript/commonjs/theme/color-scope/ColorScope.web.d.ts.map +1 -1
  32. package/lib/typescript/module/media-flight/MediaSurface.d.ts.map +1 -1
  33. package/lib/typescript/module/media-flight/constants.d.ts +30 -6
  34. package/lib/typescript/module/media-flight/constants.d.ts.map +1 -1
  35. package/lib/typescript/module/media-flight/types.d.ts +7 -2
  36. package/lib/typescript/module/media-flight/types.d.ts.map +1 -1
  37. package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -1
  38. package/lib/typescript/module/theme/color-scope/ColorScope.d.ts +36 -2
  39. package/lib/typescript/module/theme/color-scope/ColorScope.d.ts.map +1 -1
  40. package/lib/typescript/module/theme/color-scope/ColorScope.web.d.ts +6 -2
  41. package/lib/typescript/module/theme/color-scope/ColorScope.web.d.ts.map +1 -1
  42. package/package.json +1 -1
  43. package/src/__tests__/support/collision-fixture-barrel.ts +20 -0
  44. package/src/__tests__/support/constructed-style-sheets.ts +68 -0
  45. package/src/__tests__/support/press-host.ts +30 -0
  46. package/src/__tests__/support/rendered-style.ts +99 -0
  47. package/src/__tests__/support/unread-hook-fixture.ts +33 -0
  48. package/src/media-flight/MediaSurface.tsx +60 -14
  49. package/src/media-flight/constants.ts +31 -6
  50. package/src/media-flight/types.ts +7 -2
  51. package/src/tab-bar/TabBarBase.tsx +41 -7
  52. package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +7682 -0
  53. package/src/theme/__tests__/fixtures/color-engine-golden.json +1 -0
  54. package/src/theme/color-scope/ColorScope.tsx +53 -12
  55. package/src/theme/color-scope/ColorScope.web.tsx +10 -8
@@ -372,14 +372,23 @@ Three things about the props Bloom passes:
372
372
  and expo-video answers it by emptying the source — which pauses the element
373
373
  without an event, which is what stops an outgoing surface from pausing the one
374
374
  the viewer just landed on.
375
- - **Memoise the slot.** It is part of what a host publishes to the layer,
376
- compared by identity.
375
+ - **Memoise the slot.** It is compared by identity, and on web it is part of
376
+ what a host publishes to the layer. Listing the state it reads — `isWatched`
377
+ above — is the whole requirement: a slot that changes when those change is
378
+ memoised, and Bloom does not ask for more.
377
379
 
378
380
  All three fail silently and only in production, so Bloom says so in development
379
- instead: a slot that changes identity five times warns once about `useCallback`,
380
- and a media element that does not fill its wrapper warns once with both
381
- rectangles. Neither is a gate — they are the three trap-doors of this contract
382
- turned into three messages.
381
+ instead: a slot that arrives NEW on five consecutive renders inside half a
382
+ second warns once about `useCallback`, and a media element that does not fill
383
+ its wrapper warns once with both rectangles. Neither is a gate — they are the
384
+ three trap-doors of this contract turned into three messages.
385
+
386
+ Consecutive and fast, never a lifetime total. A slot rebuilt per render changes
387
+ as fast as its row renders; one memoised over changing state changes at the
388
+ speed of a finger, however long the surface lives. Counting total changes cannot
389
+ tell them apart, so it eventually accuses every correct consumer of the one
390
+ thing it is already doing — measured against a reel, where each activation of a
391
+ slide legitimately rebuilt the slot and four of them tripped the old counter.
383
392
 
384
393
  **The invariant that keeps this a primitive and not a coupling:** Bloom decides
385
394
  `player`, `style` and `contentFit`, and those three are exactly the three that
@@ -77,17 +77,58 @@ const MediaSurface = exports.MediaSurface = /*#__PURE__*/(0, _react.memo)(functi
77
77
  // supports.
78
78
  const [mountedSurfaceType] = (0, _react.useState)(surfaceType);
79
79
 
80
- // A slot rebuilt on every render republishes this surface to the layer on
81
- // every render, which nothing at runtime reports the picture is correct and
82
- // the app is doing work in proportion to how often its rows re-render. The
83
- // counter lives in an effect rather than in render: a render-phase ref write
84
- // makes the React Compiler bail on the whole component.
85
- const slotChurn = (0, _react.useRef)(0);
80
+ // A slot rebuilt on every render re-renders this surface and on web
81
+ // republishes the shared node every time the row it lives in renders, which
82
+ // nothing at runtime reports: the picture is correct and the app is just
83
+ // doing work in proportion to its render count.
84
+ //
85
+ // What is counted is a RUN of consecutive commits that each carried a new
86
+ // slot, NOT how many times the slot has ever changed. The lifetime count
87
+ // cannot tell the defect from a correctly memoised slot: Bloom's own
88
+ // documented example lists `isWatched` in its deps, so its identity changes
89
+ // once per activation of a long-lived surface, and any such consumer reaches
90
+ // any fixed lifetime total eventually. It would then be told to do the thing
91
+ // it is already doing, with no way to make the warning stop — which is worse
92
+ // than not warning, because the advice is unsatisfiable. A slot rebuilt per
93
+ // render is different in kind: it is new on EVERY commit, including the ones
94
+ // where nothing it reads changed.
95
+ //
96
+ // The run must also be FAST, and that second condition is what covers the
97
+ // consumer who memoised everything else too. With `content` and the rest
98
+ // stable, `memo` skips the renders where only the parent changed, so this
99
+ // component commits ONLY when the slot changes — every commit carries a new
100
+ // slot and the run never breaks, even though there is nothing to fix and no
101
+ // cost to pay. Rate is what tells them apart, and it is what the warning was
102
+ // ever about: a slot rebuilt per render churns as fast as its row renders,
103
+ // while one rebuilt when its state changes moves at the speed of a finger.
104
+ //
105
+ // All three refs are written from effects rather than in render: a
106
+ // render-phase ref write makes the React Compiler bail on the whole
107
+ // component. The first effect fires only when the identity changed, and the
108
+ // second — declared after it, and with no dependency array, so it runs on
109
+ // every commit — is what reads that mark and either extends the run or
110
+ // clears it.
111
+ const slotChangedInCommit = (0, _react.useRef)(false);
112
+ const slotChurnRun = (0, _react.useRef)(0);
113
+ const slotChurnRunStartedAt = (0, _react.useRef)(0);
86
114
  (0, _react.useEffect)(() => {
87
- if (renderVideo === undefined) return;
88
- slotChurn.current += 1;
89
- if (slotChurn.current === _constants.SLOT_IDENTITY_CHURN_LIMIT) warnSlotNotMemoised();
115
+ slotChangedInCommit.current = true;
90
116
  }, [renderVideo]);
117
+ (0, _react.useEffect)(() => {
118
+ if (renderVideo === undefined || !slotChangedInCommit.current) {
119
+ slotChurnRun.current = 0;
120
+ return;
121
+ }
122
+ slotChangedInCommit.current = false;
123
+ const now = Date.now();
124
+ if (slotChurnRun.current === 0 || now - slotChurnRunStartedAt.current > _constants.SLOT_IDENTITY_CHURN_WINDOW_MS) {
125
+ slotChurnRun.current = 1;
126
+ slotChurnRunStartedAt.current = now;
127
+ return;
128
+ }
129
+ slotChurnRun.current += 1;
130
+ if (slotChurnRun.current === _constants.SLOT_IDENTITY_CHURN_LIMIT) warnSlotNotMemoised();
131
+ });
91
132
 
92
133
  // Both arms report the same fact — "there is a picture here now" — because the
93
134
  // destination of a flight can be either, and a caller should not have to know
@@ -172,7 +213,7 @@ function warnSlotNotMemoised() {
172
213
  if (process.env.NODE_ENV === 'production' || hasWarnedAboutSlotChurn) return;
173
214
  hasWarnedAboutSlotChurn = true;
174
215
  // eslint-disable-next-line no-console
175
- console.warn(`[Bloom] A \`renderVideo\` slot changed identity ${_constants.SLOT_IDENTITY_CHURN_LIMIT} times. ` + 'It is part of what a media host publishes to the flight layer and is compared by ' + 'identity, so a slot rebuilt on every render republishes the surface on every render. ' + 'Wrap it in `useCallback` with the props it actually reads.');
216
+ console.warn(`[Bloom] A \`renderVideo\` slot was a NEW function on ${_constants.SLOT_IDENTITY_CHURN_LIMIT} ` + 'consecutive renders, including ones where nothing it reads changed. The slot is ' + 'compared by identity — on web it is part of what a media host publishes to the ' + 'flight layer — so one rebuilt per render re-renders the surface per render. Wrap ' + 'it in `useCallback` with the props it actually reads. A slot that changes when ' + 'those props change is fine and does not reach this.');
176
217
  }
177
218
 
178
219
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_expoImage","_reactNativeReanimated","_interopRequireDefault","_constants","_store","_expoVideoModule","_jsxRuntime","e","__esModule","default","webDraggableProps","Platform","OS","draggable","MediaSurface","exports","memo","content","style","contentFit","surfaceType","renderVideo","nativeControls","accessibilityLabel","pointerEvents","flightId","detached","mountedSurfaceType","useState","slotChurn","useRef","useEffect","undefined","current","SLOT_IDENTITY_CHURN_LIMIT","warnSlotNotMemoised","reportLive","useCallback","handOffFlight","still","kind","poster","uri","expoVideo","loadExpoVideo","warnExpoVideoUnavailable","jsxs","View","styles","box","children","jsx","Image","source","StyleSheet","absoluteFill","transition","onLoad","player","fillReplaced","VideoView","onFirstFrameRender","displayName","hasWarnedAboutSlotChurn","process","env","NODE_ENV","console","warn","MediaPoster","EmptyMediaSurface","empty","create","width","height","overflow","backgroundColor"],"sourceRoot":"../../../src","sources":["media-flight/MediaSurface.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_expoImage","_reactNativeReanimated","_interopRequireDefault","_constants","_store","_expoVideoModule","_jsxRuntime","e","__esModule","default","webDraggableProps","Platform","OS","draggable","MediaSurface","exports","memo","content","style","contentFit","surfaceType","renderVideo","nativeControls","accessibilityLabel","pointerEvents","flightId","detached","mountedSurfaceType","useState","slotChangedInCommit","useRef","slotChurnRun","slotChurnRunStartedAt","useEffect","current","undefined","now","Date","SLOT_IDENTITY_CHURN_WINDOW_MS","SLOT_IDENTITY_CHURN_LIMIT","warnSlotNotMemoised","reportLive","useCallback","handOffFlight","still","kind","poster","uri","expoVideo","loadExpoVideo","warnExpoVideoUnavailable","jsxs","View","styles","box","children","jsx","Image","source","StyleSheet","absoluteFill","transition","onLoad","player","fillReplaced","VideoView","onFirstFrameRender","displayName","hasWarnedAboutSlotChurn","process","env","NODE_ENV","console","warn","MediaPoster","EmptyMediaSurface","empty","create","width","height","overflow","backgroundColor"],"sourceRoot":"../../../src","sources":["media-flight/MediaSurface.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SURFACE_MOUNT_TIMEOUT_MS = exports.SLOT_IDENTITY_CHURN_LIMIT = exports.SLOT_FILL_TOLERANCE_PX = void 0;
6
+ exports.SURFACE_MOUNT_TIMEOUT_MS = exports.SLOT_IDENTITY_CHURN_WINDOW_MS = exports.SLOT_IDENTITY_CHURN_LIMIT = exports.SLOT_FILL_TOLERANCE_PX = void 0;
7
7
  /**
8
8
  * How long `flyTo` will wait for `<MediaFlightLayer>` to commit the surface
9
9
  * before letting the caller carry on regardless (ms).
@@ -38,16 +38,41 @@ const SURFACE_MOUNT_TIMEOUT_MS = exports.SURFACE_MOUNT_TIMEOUT_MS = 250;
38
38
  */
39
39
 
40
40
  /**
41
- * How many times a video slot may change identity before Bloom says so.
41
+ * How many CONSECUTIVE renders a video slot may arrive new on before Bloom says
42
+ * so.
42
43
  *
43
- * `renderVideo` is part of what a host publishes to the layer and is compared
44
- * by identity, so an unmemoised slot republishes on every render of the row it
45
- * lives in silently, and only under load. Five is well past any legitimate
46
- * cause (a mute toggle, a fit change) and far below the churn of a slot rebuilt
47
- * per render in a scrolling feed.
44
+ * `renderVideo` is compared by identity and on web it is part of what a host
45
+ * publishes to the layer — so an unmemoised slot re-renders the surface on
46
+ * every render of the row it lives in, silently and only under load.
47
+ *
48
+ * Consecutive, never a lifetime total. A correctly memoised slot changes
49
+ * identity whenever the state it reads changes (`isWatched` on a reel slide,
50
+ * say), so ANY fixed lifetime total is reached eventually by a consumer with
51
+ * nothing to fix — and the warning's own advice, `useCallback` over the props
52
+ * the slot reads, is what such a consumer already wrote. Five in a row is
53
+ * unreachable that way: it takes five commits where nothing the slot reads
54
+ * changed and the slot was rebuilt anyway.
48
55
  */
49
56
  const SLOT_IDENTITY_CHURN_LIMIT = exports.SLOT_IDENTITY_CHURN_LIMIT = 5;
50
57
 
58
+ /**
59
+ * How long a run of {@link SLOT_IDENTITY_CHURN_LIMIT} new slots may take and
60
+ * still be reported (ms).
61
+ *
62
+ * "Consecutive" alone is not enough for the consumer who memoised the surface's
63
+ * other props as well: `memo` then skips every render where only the parent
64
+ * changed, so the surface commits ONLY when the slot changes and the run never
65
+ * breaks — with nothing to fix and, because the renders were skipped, no cost
66
+ * paid either.
67
+ *
68
+ * Rate is what separates them, and it is what the warning was always about. A
69
+ * slot rebuilt per render changes as fast as its row renders, which in a
70
+ * scrolling feed is five times in a fraction of a frame budget. A slot rebuilt
71
+ * when the state it reads changes moves at the speed of a finger, and half a
72
+ * second is far too short for five activations of ONE surface.
73
+ */
74
+ const SLOT_IDENTITY_CHURN_WINDOW_MS = exports.SLOT_IDENTITY_CHURN_WINDOW_MS = 500;
75
+
51
76
  /**
52
77
  * How far a media element may sit from the box it is supposed to fill, in px,
53
78
  * before Bloom says so.
@@ -1 +1 @@
1
- {"version":3,"names":["SURFACE_MOUNT_TIMEOUT_MS","exports","SLOT_IDENTITY_CHURN_LIMIT","SLOT_FILL_TOLERANCE_PX"],"sourceRoot":"../../../src","sources":["media-flight/constants.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,GAAG;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,yBAAyB,GAAAD,OAAA,CAAAC,yBAAA,GAAG,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,sBAAsB,GAAAF,OAAA,CAAAE,sBAAA,GAAG,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["SURFACE_MOUNT_TIMEOUT_MS","exports","SLOT_IDENTITY_CHURN_LIMIT","SLOT_IDENTITY_CHURN_WINDOW_MS","SLOT_FILL_TOLERANCE_PX"],"sourceRoot":"../../../src","sources":["media-flight/constants.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,GAAG;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,yBAAyB,GAAAD,OAAA,CAAAC,yBAAA,GAAG,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,6BAA6B,GAAAF,OAAA,CAAAE,6BAAA,GAAG,GAAG;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,sBAAsB,GAAAH,OAAA,CAAAG,sBAAA,GAAG,CAAC","ignoreList":[]}
@@ -185,8 +185,14 @@ function TabBarBody({
185
185
  // Scrubbing: the highlight tracks the finger 1:1 while dragging (no spring —
186
186
  // it must feel attached), haptic ticks fire on boundary crossings, and
187
187
  // navigation happens only on release. Taps are handled by a Tap gesture
188
- // racing the pan — the detector consumes the bar's touches, so the inner
189
- // Pressables never receive them.
188
+ // racing the pan.
189
+ //
190
+ // THE DETECTOR DOES NOT CONSUME THE PRESS, which this file assumed for a long
191
+ // time. A `Tap` gesture activates on RELEASE, by which point the inner
192
+ // `Pressable` has already fired `onPress`, and RNGH's cancellation of the RN
193
+ // responder comes too late to stop it. Measured on a Pixel 10 Pro: ONE tap
194
+ // produced both, ~600ms apart on a busy JS thread, so every consumer got two
195
+ // selections per tap. `TabBarButtonBody` is where that is resolved.
190
196
  const gesture = (0, _react.useMemo)(() => {
191
197
  const indexAtX = (x, minimizedValue) => {
192
198
  'worklet';
@@ -424,6 +430,10 @@ function TabBarBody({
424
430
  });
425
431
  }
426
432
  /** One tab trigger: icon + label that fades out when the bar minimizes. */
433
+ /** Stable identity: a new array each render would re-send the actions to the OS. */
434
+ const ACTIVATE_ACTIONS = [{
435
+ name: 'activate'
436
+ }];
427
437
  function TabBarButtonBody({
428
438
  Glyph,
429
439
  item,
@@ -513,6 +523,15 @@ function TabBarButtonBody({
513
523
  "aria-selected": focused,
514
524
  accessibilityLabel: item.label,
515
525
  ...pressableProps,
526
+ // ASSISTIVE TECHNOLOGY, on native, is the one activation the bar's gesture
527
+ // cannot see: TalkBack and VoiceOver activate a view without ever
528
+ // producing a touch, so the `Tap` gesture never runs and the selection has
529
+ // to come from here.
530
+ accessibilityActions: ACTIVATE_ACTIONS,
531
+ onAccessibilityAction: event => {
532
+ if (event.nativeEvent.actionName !== 'activate') return;
533
+ if (isFocused === undefined) bar?.selectIndex(index);
534
+ },
516
535
  onPress: event => {
517
536
  // The bar's GestureDetector normally consumes touches; this still fires
518
537
  // for assistive-technology activation (VoiceOver) and keyboard focus.
@@ -527,10 +546,19 @@ function TabBarButtonBody({
527
546
  bar.highlightOpacity.value = (0, _reactNativeReanimated.withTiming)(1, _shared.HIGHLIGHT_FADE);
528
547
  }
529
548
  (0, _context.setMinimized)(minimized, 0);
530
- // Controlled path only. On the focus-driven path the trigger's own
531
- // `onPress` below performs the navigation, so reporting the selection
532
- // here as well would navigate twice.
533
- if (isFocused === undefined) bar?.selectIndex(index);
549
+ // Controlled path only, and NOT on Android. On the focus-driven path the
550
+ // trigger's own `onPress` below performs the navigation, so reporting
551
+ // the selection here as well would navigate twice.
552
+ //
553
+ // ANDROID IS THE ONE PLATFORM THAT DOUBLES. RNGH sets
554
+ // `cancelsTouchesInView` on iOS, so a recognised tap cancels this press
555
+ // and the gesture above is the only reporter there; react-native-web
556
+ // likewise routes a keyboard Enter or Space through this press and
557
+ // nothing else. Android cancels nothing — measured on a Pixel 10 Pro,
558
+ // one tap produced `PRESSABLE selectIndex(1)` AND `GESTURE tap
559
+ // selectIndex(1)` ~600ms apart on a busy JS thread — so there, and only
560
+ // there, this press stands down.
561
+ if (isFocused === undefined && _reactNative.Platform.OS !== 'android') bar?.selectIndex(index);
534
562
  onPress?.(event);
535
563
  }
536
564
  // `Pressable`'s `style` also accepts a function of the press state; both
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_useHaptics","_bottomEdge","_edge","_context","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BarContext","createContext","TabBarBody","Surface","Blur","children","activeIndex","activeProgress","onIndexChange","onIndexLongPress","theme","themeOverrides","haptics","blur","maxWidth","style","viewProps","insets","useSafeAreaInsets","width","windowWidth","useWindowDimensions","minimized","useMinimizeState","progress","tabCount","Math","max","Children","count","hasSelection","undefined","Number","isInteger","slideIndex","useSharedValue","highlightOpacity","isDragging","lastTicked","useTabBarTheme","impact","useHaptics","barOuterWidth","BAR_MARGIN","min","tick","useCallback","selectIndex","index","longPressIndex","hasLongPress","idleProgress","driven","source","useAnimatedReaction","value","useEffect","withTiming","HIGHLIGHT_FADE","withSpring","SLIDE_SPRING","gesture","useMemo","indexAtX","x","minimizedValue","sideInset","interpolate","MINIMIZED_INSET","Extrapolation","CLAMP","barWidth","itemWidth","ROW_PAD_H","raw","pan","Gesture","Pan","activeOffsetX","failOffsetY","onStart","event","round","setMinimized","onUpdate","rounded","runOnJS","onFinalize","tap","Tap","maxDistance","maxDuration","onEnd","success","Race","longPress","LongPress","minDuration","LONG_PRESS_MIN_DURATION","barStyle","useAnimatedStyle","height","EXPANDED_HEIGHT","MINIMIZED_HEIGHT","inset","marginLeft","marginRight","shapeStyle","borderRadius","highlightStyle","barHeight","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","top","opacity","transform","translateX","bottomOffset","windowEdgeGap","bottom","useClaimBottomEdge","constrainedWrapStyle","alignSelf","barContext","jsxs","View","pointerEvents","styles","root","jsx","direction","intensity","position","left","right","BLUR_BLEED","barWrap","marginBottom","GestureDetector","highlight","backgroundColor","accessibilityRole","itemRow","Provider","TabBarButtonBody","Glyph","item","isFocused","onPress","pressableProps","bar","useContext","standaloneTheme","focused","activeGlyphStyle","proximity","abs","labelStyle","color","activeTint","inactiveTint","interpolateColor","boxStyle","Pressable","accessibilityLabel","label","state","button","itemBox","tint","size","ICON_SIZE","active","StyleSheet","absoluteFill","glyphLayer","Text","numberOfLines","createTabBar","TabBar","props","displayName","createTabBarButton","TabBarButton","create","marginHorizontal","borderCurve","flex","flexDirection","alignItems","paddingHorizontal","justifyContent","paddingTop","ITEM_PAD_V","overflow","fontSize","LABEL_FONT_SIZE","fontWeight","marginTop","ITEM_GAP"],"sourceRoot":"../../../src","sources":["tab-bar/TabBarBase.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSafeAreaContext","_useHaptics","_bottomEdge","_edge","_context","_shared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BarContext","createContext","TabBarBody","Surface","Blur","children","activeIndex","activeProgress","onIndexChange","onIndexLongPress","theme","themeOverrides","haptics","blur","maxWidth","style","viewProps","insets","useSafeAreaInsets","width","windowWidth","useWindowDimensions","minimized","useMinimizeState","progress","tabCount","Math","max","Children","count","hasSelection","undefined","Number","isInteger","slideIndex","useSharedValue","highlightOpacity","isDragging","lastTicked","useTabBarTheme","impact","useHaptics","barOuterWidth","BAR_MARGIN","min","tick","useCallback","selectIndex","index","longPressIndex","hasLongPress","idleProgress","driven","source","useAnimatedReaction","value","useEffect","withTiming","HIGHLIGHT_FADE","withSpring","SLIDE_SPRING","gesture","useMemo","indexAtX","x","minimizedValue","sideInset","interpolate","MINIMIZED_INSET","Extrapolation","CLAMP","barWidth","itemWidth","ROW_PAD_H","raw","pan","Gesture","Pan","activeOffsetX","failOffsetY","onStart","event","round","setMinimized","onUpdate","rounded","runOnJS","onFinalize","tap","Tap","maxDistance","maxDuration","onEnd","success","Race","longPress","LongPress","minDuration","LONG_PRESS_MIN_DURATION","barStyle","useAnimatedStyle","height","EXPANDED_HEIGHT","MINIMIZED_HEIGHT","inset","marginLeft","marginRight","shapeStyle","borderRadius","highlightStyle","barHeight","HIGHLIGHT_EXPANDED","HIGHLIGHT_MINIMIZED","top","opacity","transform","translateX","bottomOffset","windowEdgeGap","bottom","useClaimBottomEdge","constrainedWrapStyle","alignSelf","barContext","jsxs","View","pointerEvents","styles","root","jsx","direction","intensity","position","left","right","BLUR_BLEED","barWrap","marginBottom","GestureDetector","highlight","backgroundColor","accessibilityRole","itemRow","Provider","ACTIVATE_ACTIONS","name","TabBarButtonBody","Glyph","item","isFocused","onPress","pressableProps","bar","useContext","standaloneTheme","focused","activeGlyphStyle","proximity","abs","labelStyle","color","activeTint","inactiveTint","interpolateColor","boxStyle","Pressable","accessibilityLabel","label","accessibilityActions","onAccessibilityAction","nativeEvent","actionName","Platform","OS","state","button","itemBox","tint","size","ICON_SIZE","active","StyleSheet","absoluteFill","glyphLayer","Text","numberOfLines","createTabBar","TabBar","props","displayName","createTabBarButton","TabBarButton","create","marginHorizontal","borderCurve","flex","flexDirection","alignItems","paddingHorizontal","justifyContent","paddingTop","ITEM_PAD_V","overflow","fontSize","LABEL_FONT_SIZE","fontWeight","marginTop","ITEM_GAP"],"sourceRoot":"../../../src","sources":["tab-bar/TabBarBase.tsx"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,43 @@ var _buildTheme = require("../build-theme.js");
12
12
  var _styleBuilder = require("./style-builder.js");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ /**
16
+ * The variables a scope publishes when it carries no preset of its own.
17
+ *
18
+ * Empty and shared at module scope, both deliberately: react-native-css's
19
+ * `VariableContextProvider` MERGES its value over the inherited one, so an empty
20
+ * record leaves the parent scope's variables exactly as they were, and one
21
+ * shared identity keeps that provider's `useMemo` from recomputing every render.
22
+ */const NO_VARS = Object.freeze({});
23
+ /**
24
+ * A subtree themed by one color preset.
25
+ *
26
+ * THE SHAPE OF WHAT THIS RETURNS DOES NOT DEPEND ON `colorPreset`. Both
27
+ * providers are mounted unconditionally, and an absent preset is expressed as
28
+ * pass-through VALUES ({@link NO_VARS}, the parent's own theme) rather than as a
29
+ * shorter tree. That is a correctness requirement, not a tidiness one, and it
30
+ * cost a real bug to learn:
31
+ *
32
+ * The no-preset path used to be `return <>{children}</>` — two provider levels
33
+ * shallower than the preset path. React reconciles by POSITION, so the first
34
+ * render after a preset arrives finds different element types at that position
35
+ * and unmounts the whole subtree to mount a new one. Every consumer that resolves
36
+ * its preset asynchronously — a profile screen learning the account's color a
37
+ * few hundred milliseconds after it opens — therefore remounted everything below
38
+ * the scope, including its own navigator.
39
+ *
40
+ * In Mention that scope sits above the app's route stack: the remount rebuilt
41
+ * the `[username]` navigator from scratch, which dropped the pushed child route
42
+ * AND its `username` param, and the profile a reader had just tapped rendered
43
+ * itself as "Profile not found" (mention#…, reproduced from the reel on a Pixel
44
+ * 10 Pro; the A/B was pinning `colorPreset` and watching the collapse stop).
45
+ * Remounting also throws away scroll positions, video players and in-flight
46
+ * state, so the same bug was costing far more than the one visible symptom.
47
+ *
48
+ * If a future change wants the no-preset case to render less, it has to keep the
49
+ * element types at this position identical across a preset change, or the
50
+ * remount comes back.
51
+ */
15
52
  function BloomColorScope({
16
53
  colorPreset,
17
54
  asChild = false,
@@ -19,10 +56,9 @@ function BloomColorScope({
19
56
  children
20
57
  }) {
21
58
  // All hooks are called UNCONDITIONALLY, in the same order on every render —
22
- // never gate a hook behind an early return (rules of hooks). The conditional
23
- // no-op/throw behavior is applied AFTER every hook has run, using the values
24
- // the hooks produced. `resolvedMode` falls back harmlessly when the provider
25
- // is absent (that render path throws below anyway).
59
+ // never gate a hook behind an early return (rules of hooks). The throw below
60
+ // happens AFTER every hook has run. `resolvedMode` falls back harmlessly when
61
+ // the provider is absent (that render path throws anyway).
26
62
  const parent = (0, _react.useContext)(_BloomThemeProvider.BloomThemeContext);
27
63
  const resolvedMode = parent?.theme.mode ?? 'light';
28
64
  const contextValue = (0, _react.useMemo)(() => {
@@ -43,12 +79,6 @@ function BloomColorScope({
43
79
  if (!parent) {
44
80
  throw new Error('BloomColorScope must be used within a <BloomThemeProvider>');
45
81
  }
46
- // `colorPreset` undefined => the scope is a no-op; children inherit the
47
- // parent scope. With `parent` present, `contextValue`/`nativeVars` are null
48
- // iff `colorPreset` is absent, so this guard also narrows them to non-null.
49
- if (!contextValue || !nativeVars) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
50
- children: children
51
- });
52
82
  const VariableProvider = (0, _styleBuilder.getVariableContextProvider)();
53
83
  let content;
54
84
  if (asChild) {
@@ -75,11 +105,11 @@ function BloomColorScope({
75
105
  // Wrap the subtree in the variable provider when NativeWind is available;
76
106
  // otherwise render as-is so we never crash on web/non-NativeWind hosts.
77
107
  const scoped = VariableProvider ? /*#__PURE__*/(0, _jsxRuntime.jsx)(VariableProvider, {
78
- value: nativeVars,
108
+ value: nativeVars ?? NO_VARS,
79
109
  children: content
80
110
  }) : content;
81
111
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BloomThemeProvider.BloomThemeContext.Provider, {
82
- value: contextValue,
112
+ value: contextValue ?? parent,
83
113
  children: scoped
84
114
  });
85
115
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_BloomThemeProvider","_buildTheme","_styleBuilder","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BloomColorScope","colorPreset","asChild","style","children","parent","useContext","BloomThemeContext","resolvedMode","theme","mode","contextValue","useMemo","buildTheme","nativeVars","buildScopeVars","Error","jsx","Fragment","VariableProvider","getVariableContextProvider","content","child","Children","only","isValidElement","childStyle","props","mergedStyle","cloneElement","View","flex","scoped","value","Provider","useColorScopeStyle","scopeStyle","buildNativePresetStyle"],"sourceRoot":"../../../../src","sources":["theme/color-scope/ColorScope.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_BloomThemeProvider","_buildTheme","_styleBuilder","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NO_VARS","freeze","BloomColorScope","colorPreset","asChild","style","children","parent","useContext","BloomThemeContext","resolvedMode","theme","mode","contextValue","useMemo","buildTheme","nativeVars","buildScopeVars","Error","VariableProvider","getVariableContextProvider","content","child","Children","only","isValidElement","childStyle","props","mergedStyle","cloneElement","jsx","View","flex","scoped","value","Provider","useColorScopeStyle","scopeStyle","buildNativePresetStyle"],"sourceRoot":"../../../../src","sources":["theme/color-scope/ColorScope.tsx"],"mappings":"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","ignoreList":[]}
@@ -64,12 +64,6 @@ function BloomColorScope({
64
64
  if (!parent) {
65
65
  throw new Error('BloomColorScope must be used within a <BloomThemeProvider>');
66
66
  }
67
- // `colorPreset` undefined => the scope is a no-op; children inherit the
68
- // parent scope. With `parent` present, `contextValue`/`varsStyle` are null
69
- // iff `colorPreset` is absent, so this guard also narrows them to non-null.
70
- if (!contextValue || !varsStyle) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
71
- children: children
72
- });
73
67
  let content;
74
68
  if (asChild) {
75
69
  const child = _react.Children.only(children);
@@ -82,7 +76,7 @@ function BloomColorScope({
82
76
  // otherwise — an array reaching a DOM node throws on commit.
83
77
  const childStyle = child.props.style;
84
78
  const childIsRnStyled = Array.isArray(childStyle) || typeof childStyle === 'number';
85
- const mergedStyle = childIsRnStyled ? [varsStyle, style, childStyle] : {
79
+ const mergedStyle = childIsRnStyled ? [varsStyle ?? undefined, style, childStyle] : {
86
80
  ...varsStyle,
87
81
  ...style,
88
82
  ...(childStyle || undefined)
@@ -103,7 +97,7 @@ function BloomColorScope({
103
97
  });
104
98
  }
105
99
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BloomThemeProvider.BloomThemeContext.Provider, {
106
- value: contextValue,
100
+ value: contextValue ?? parent,
107
101
  children: content
108
102
  });
109
103
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_BloomThemeProvider","_buildTheme","_styleBuilder","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","buildWebScopeVars","colorPreset","mode","buildScopeVars","BloomColorScope","asChild","style","children","parent","useContext","BloomThemeContext","resolvedMode","theme","contextValue","useMemo","buildTheme","varsStyle","Error","jsx","Fragment","content","child","Children","only","isValidElement","childStyle","props","childIsRnStyled","Array","isArray","mergedStyle","undefined","cloneElement","Provider","value","useColorScopeStyle","scopeStyle"],"sourceRoot":"../../../../src","sources":["theme/color-scope/ColorScope.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_BloomThemeProvider","_buildTheme","_styleBuilder","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","buildWebScopeVars","colorPreset","mode","buildScopeVars","BloomColorScope","asChild","style","children","parent","useContext","BloomThemeContext","resolvedMode","theme","contextValue","useMemo","buildTheme","varsStyle","Error","content","child","Children","only","isValidElement","childStyle","props","childIsRnStyled","Array","isArray","mergedStyle","undefined","cloneElement","jsx","Provider","value","useColorScopeStyle","scopeStyle"],"sourceRoot":"../../../../src","sources":["theme/color-scope/ColorScope.web.tsx"],"mappings":"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","ignoreList":[]}