@symbiote-native/angular 0.6.2 → 0.7.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 (162) hide show
  1. package/bin/symbiote-angular-dev.cjs +20 -19
  2. package/build/angular/anchor-host-registry.js +2 -2
  3. package/build/angular/anchor-host-registry.js.map +1 -1
  4. package/build/angular/components/activity-indicator/index.android.d.ts +2 -1
  5. package/build/angular/components/activity-indicator/index.android.js +6 -3
  6. package/build/angular/components/activity-indicator/index.android.js.map +1 -1
  7. package/build/angular/components/activity-indicator/index.ios.d.ts +2 -1
  8. package/build/angular/components/activity-indicator/index.ios.js +6 -3
  9. package/build/angular/components/activity-indicator/index.ios.js.map +1 -1
  10. package/build/angular/components/activity-indicator/shared.js +3 -3
  11. package/build/angular/components/button.d.ts +4 -2
  12. package/build/angular/components/button.js +28 -17
  13. package/build/angular/components/button.js.map +1 -1
  14. package/build/angular/components/flat-list/index.d.ts +5 -3
  15. package/build/angular/components/flat-list/index.js +35 -38
  16. package/build/angular/components/flat-list/index.js.map +1 -1
  17. package/build/angular/components/image/index.android.d.ts +8 -3
  18. package/build/angular/components/image/index.android.js +39 -9
  19. package/build/angular/components/image/index.android.js.map +1 -1
  20. package/build/angular/components/image/index.ios.d.ts +8 -3
  21. package/build/angular/components/image/index.ios.js +39 -9
  22. package/build/angular/components/image/index.ios.js.map +1 -1
  23. package/build/angular/components/image/shared.d.ts +4 -1
  24. package/build/angular/components/image/shared.js +33 -2
  25. package/build/angular/components/image/shared.js.map +1 -1
  26. package/build/angular/components/image-background.d.ts +2 -1
  27. package/build/angular/components/image-background.js +6 -4
  28. package/build/angular/components/image-background.js.map +1 -1
  29. package/build/angular/components/input-accessory-view/index.d.ts +9 -4
  30. package/build/angular/components/input-accessory-view/index.js +43 -9
  31. package/build/angular/components/input-accessory-view/index.js.map +1 -1
  32. package/build/angular/components/keyboard-avoiding-view/index.d.ts +2 -1
  33. package/build/angular/components/keyboard-avoiding-view/index.js +6 -4
  34. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
  35. package/build/angular/components/modal/index.d.ts +11 -8
  36. package/build/angular/components/modal/index.js +45 -28
  37. package/build/angular/components/modal/index.js.map +1 -1
  38. package/build/angular/components/pressable/index.d.ts +11 -5
  39. package/build/angular/components/pressable/index.js +61 -12
  40. package/build/angular/components/pressable/index.js.map +1 -1
  41. package/build/angular/components/refresh-control/index.d.ts +8 -4
  42. package/build/angular/components/refresh-control/index.js +52 -16
  43. package/build/angular/components/refresh-control/index.js.map +1 -1
  44. package/build/angular/components/safe-area-view/index.d.ts +9 -4
  45. package/build/angular/components/safe-area-view/index.js +46 -9
  46. package/build/angular/components/safe-area-view/index.js.map +1 -1
  47. package/build/angular/components/scroll-view/index.android.d.ts +2 -3
  48. package/build/angular/components/scroll-view/index.android.js +49 -52
  49. package/build/angular/components/scroll-view/index.android.js.map +1 -1
  50. package/build/angular/components/scroll-view/index.ios.d.ts +2 -3
  51. package/build/angular/components/scroll-view/index.ios.js +15 -17
  52. package/build/angular/components/scroll-view/index.ios.js.map +1 -1
  53. package/build/angular/components/scroll-view/projection.d.ts +3 -0
  54. package/build/angular/components/scroll-view/projection.js +68 -7
  55. package/build/angular/components/scroll-view/projection.js.map +1 -1
  56. package/build/angular/components/scroll-view/shared.d.ts +14 -5
  57. package/build/angular/components/scroll-view/shared.js +198 -69
  58. package/build/angular/components/scroll-view/shared.js.map +1 -1
  59. package/build/angular/components/scroll-view/sticky-header.js +14 -19
  60. package/build/angular/components/scroll-view/sticky-header.js.map +1 -1
  61. package/build/angular/components/section-list/index.d.ts +2 -1
  62. package/build/angular/components/section-list/index.js +31 -39
  63. package/build/angular/components/section-list/index.js.map +1 -1
  64. package/build/angular/components/switch/index.android.d.ts +7 -3
  65. package/build/angular/components/switch/index.android.js +38 -10
  66. package/build/angular/components/switch/index.android.js.map +1 -1
  67. package/build/angular/components/switch/index.ios.d.ts +7 -3
  68. package/build/angular/components/switch/index.ios.js +38 -10
  69. package/build/angular/components/switch/index.ios.js.map +1 -1
  70. package/build/angular/components/switch/shared.d.ts +12 -3
  71. package/build/angular/components/switch/shared.js +66 -5
  72. package/build/angular/components/switch/shared.js.map +1 -1
  73. package/build/angular/components/text-input.d.ts +10 -2
  74. package/build/angular/components/text-input.js +46 -6
  75. package/build/angular/components/text-input.js.map +1 -1
  76. package/build/angular/components/touchable/index.d.ts +17 -8
  77. package/build/angular/components/touchable/index.js +78 -19
  78. package/build/angular/components/touchable/index.js.map +1 -1
  79. package/build/angular/components/touchable-native-feedback/index.d.ts +6 -3
  80. package/build/angular/components/touchable-native-feedback/index.js +61 -25
  81. package/build/angular/components/touchable-native-feedback/index.js.map +1 -1
  82. package/build/angular/components/virtualized-list/directives.js +18 -18
  83. package/build/angular/components/virtualized-list/index.d.ts +12 -4
  84. package/build/angular/components/virtualized-list/index.js +163 -68
  85. package/build/angular/components/virtualized-list/index.js.map +1 -1
  86. package/build/angular/components/virtualized-section-list/directives.js +12 -12
  87. package/build/angular/components/virtualized-section-list/index.d.ts +2 -1
  88. package/build/angular/components/virtualized-section-list/index.js +6 -4
  89. package/build/angular/components/virtualized-section-list/index.js.map +1 -1
  90. package/build/angular/components.d.ts +1 -1
  91. package/build/angular/components.js +5 -0
  92. package/build/angular/components.js.map +1 -1
  93. package/build/angular/create-portal/index.js +29 -35
  94. package/build/angular/create-portal/index.js.map +1 -1
  95. package/build/angular/create-tunnel/index.js +19 -22
  96. package/build/angular/create-tunnel/index.js.map +1 -1
  97. package/build/angular/descriptor-to-angular/index.js +3 -3
  98. package/build/angular/index.d.ts +4 -2
  99. package/build/angular/index.js +2 -2
  100. package/build/angular/index.js.map +1 -1
  101. package/build/angular/modules/animated/animated-leaf-binder.d.ts +1 -7
  102. package/build/angular/modules/animated/animated-leaf-binder.js +22 -72
  103. package/build/angular/modules/animated/animated-leaf-binder.js.map +1 -1
  104. package/build/angular/modules/animated/create-animated-component.d.ts +11 -6
  105. package/build/angular/modules/animated/create-animated-component.js +83 -50
  106. package/build/angular/modules/animated/create-animated-component.js.map +1 -1
  107. package/build/angular/modules/app-registry/index.js.map +1 -1
  108. package/build/angular/modules/status-bar/index.js +3 -3
  109. package/build/angular/primitives/index.d.ts +1 -1
  110. package/build/angular/primitives/index.js +46 -46
  111. package/build/angular/primitives/index.js.map +1 -1
  112. package/build/angular/primitives/shared.d.ts +39 -1
  113. package/build/angular/primitives/shared.js +110 -9
  114. package/build/angular/primitives/shared.js.map +1 -1
  115. package/build/angular/render/index.js +23 -35
  116. package/build/angular/render/index.js.map +1 -1
  117. package/build/angular/services/color-scheme.service.js +3 -3
  118. package/build/angular/services/window-dimensions.service.js +3 -3
  119. package/package.json +9 -7
  120. package/src/anchor-host-registry.ts +2 -2
  121. package/src/components/activity-indicator/index.android.ts +2 -0
  122. package/src/components/activity-indicator/index.ios.ts +2 -0
  123. package/src/components/button.ts +28 -14
  124. package/src/components/flat-list/index.ts +34 -36
  125. package/src/components/image/index.android.ts +50 -6
  126. package/src/components/image/index.ios.ts +50 -6
  127. package/src/components/image/shared.ts +34 -2
  128. package/src/components/image-background.ts +2 -1
  129. package/src/components/input-accessory-view/index.ts +42 -4
  130. package/src/components/keyboard-avoiding-view/index.ts +7 -1
  131. package/src/components/modal/index.ts +51 -26
  132. package/src/components/pressable/index.ts +67 -8
  133. package/src/components/refresh-control/index.ts +54 -12
  134. package/src/components/safe-area-view/index.ts +50 -5
  135. package/src/components/scroll-view/index.android.ts +34 -41
  136. package/src/components/scroll-view/index.ios.ts +10 -21
  137. package/src/components/scroll-view/projection.ts +79 -7
  138. package/src/components/scroll-view/shared.ts +223 -68
  139. package/src/components/scroll-view/sticky-header.ts +11 -16
  140. package/src/components/section-list/index.ts +27 -36
  141. package/src/components/switch/index.android.ts +48 -7
  142. package/src/components/switch/index.ios.ts +48 -7
  143. package/src/components/switch/shared.ts +79 -3
  144. package/src/components/text-input.ts +52 -2
  145. package/src/components/touchable/index.ts +76 -16
  146. package/src/components/touchable-native-feedback/index.ts +62 -21
  147. package/src/components/virtualized-list/index.ts +137 -44
  148. package/src/components/virtualized-section-list/index.ts +2 -1
  149. package/src/components.ts +5 -0
  150. package/src/create-portal/index.ts +23 -29
  151. package/src/create-tunnel/index.ts +13 -16
  152. package/src/index.ts +30 -1
  153. package/src/modules/animated/animated-leaf-binder.ts +28 -77
  154. package/src/modules/animated/create-animated-component.ts +75 -36
  155. package/src/modules/app-registry/index.ts +6 -8
  156. package/src/primitives/index.ts +1 -0
  157. package/src/primitives/shared.ts +102 -3
  158. package/src/render/index.ts +23 -35
  159. package/build/angular/modules/animated/animated-leaf-binder/index.d.ts +0 -14
  160. package/build/angular/modules/animated/animated-leaf-binder/index.js +0 -91
  161. package/build/angular/modules/animated/animated-leaf-binder/index.js.map +0 -1
  162. package/src/modules/animated/animated-leaf-binder/index.ts +0 -101
@@ -1,27 +1,24 @@
1
- // ScrollView, the Angular lifecycle half. The Fabric tree is nested: a scroll view
2
- // wraps a content view that holds the children (RN's ScrollView.js shape). The platform-invariant
3
- // math (decelerationRate, the per-axis intrinsics/base style, the content-size dedupe, the
4
- // imperative handle, the native sticky scroll-attach, the aria/role fold) lives in
5
- // @symbiote-native/components, shared verbatim with React/Vue. Here Angular supplies only the lifecycle:
6
- // the host node held by IDENTITY through a directive's ElementRef, a forwarded-prop bag set onto
7
- // that node through Renderer2 (-> routeProp), the imperative handle (scrollTo/scrollToEnd/
8
- // flashScrollIndicators), the content-size dedupe, and the native sticky scroll-attach wired
9
- // through whenCommitted. This is the Angular twin of the React useRef + Vue shallowRef host.
1
+ // ScrollView, the Angular lifecycle half. The Fabric tree is nested: a scroll view wraps a
2
+ // content view holding the children (RN's ScrollView.js shape). The platform-invariant math
3
+ // (decelerationRate, per-axis intrinsics, content-size dedupe, imperative handle, native sticky
4
+ // scroll-attach, aria/role fold) lives in @symbiote-native/components, shared with React/Vue.
5
+ // Angular supplies only the lifecycle: the host node held by IDENTITY through a directive's
6
+ // ElementRef, a forwarded-prop bag set via Renderer2 (-> routeProp), and the native sticky attach
7
+ // wired through whenCommitted.
10
8
  //
11
- // What diverges per platform, how a RefreshControl integrates, stays in the
12
- // .ios/.android files (Metro filename-selected): iOS renders the RefreshControl as a SIBLING
13
- // before the content container; on Android an AndroidSwipeRefreshLayout WRAPS the scroll view.
9
+ // RefreshControl integration diverges per platform (.ios/.android, Metro filename-selected): iOS
10
+ // renders it as a SIBLING before the content container; Android WRAPS the scroll view in an
11
+ // AndroidSwipeRefreshLayout.
14
12
  //
15
- // Angular cannot transform <ng-content> children in the template the way React children.map /
16
- // Vue slots() can, so ScrollView owns a tiny projection bridge: the content host registers a
17
- // ScrollViewProjectionController with the Angular renderer, and the renderer wraps direct projected
18
- // children whose indices match stickyHeaderIndices. Android RefreshControl projection is handled by
19
- // re-rendering the projected component's native prop surface as the wrapper around the scroll view
20
- // (RN's Android shape), while excluding the original projected node from the content slot.
21
- import { Directive, ElementRef, EventEmitter, Output, ViewChild, ContentChild, inject, } from '@angular/core';
13
+ // Angular cannot transform <ng-content> children the way React children.map / Vue slots() can, so
14
+ // ScrollView owns a projection bridge: the content host registers a ScrollViewProjectionController
15
+ // with the Angular renderer, which wraps projected children whose indices match
16
+ // stickyHeaderIndices. Android RefreshControl projection re-renders the projected component as the
17
+ // wrapper around the scroll view (RN's Android shape), excluding it from the content slot.
18
+ import { Directive, computed, signal, ElementRef, EventEmitter, Output, ViewChild, ContentChild, inject, } from '@angular/core';
22
19
  import { attachStickyScroll, buildScrollViewHandle, didContentSizeChange, forwardScrollEvent, readLayoutDimension, resolveAccessibilityProps, resolveDecelerationRate, resolveScrollForwarding, selectScrollIntrinsics, splitLayoutProps, } from '@symbiote-native/components';
23
20
  import { AnimatedValue, dlog, event as animatedEvent, isNativeAnimatedAvailable, isSymbioteNode, resolveClassName, whenCommitted, } from '@symbiote-native/engine';
24
- import { SymbioteHostPropsDirective } from '../../primitives';
21
+ import { anchorHostStyle, SymbioteHostPropsDirective } from '../../primitives';
25
22
  import { RefreshControl } from '../refresh-control';
26
23
  import { ScrollViewProjectionController } from './projection';
27
24
  import * as i0 from "@angular/core";
@@ -137,10 +134,10 @@ export class ScrollViewProjectionDirective {
137
134
  if (isSymbioteNode(node))
138
135
  controller.bindContentNode(node);
139
136
  }
140
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollViewProjectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
141
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: ScrollViewProjectionDirective, isStandalone: true, selector: "[symbioteScrollViewProjection]", inputs: { symbioteScrollViewProjection: "symbioteScrollViewProjection" }, ngImport: i0 });
137
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollViewProjectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
138
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: ScrollViewProjectionDirective, isStandalone: true, selector: "[symbioteScrollViewProjection]", inputs: { symbioteScrollViewProjection: "symbioteScrollViewProjection" }, ngImport: i0 });
142
139
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollViewProjectionDirective, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollViewProjectionDirective, decorators: [{
144
141
  type: Directive,
145
142
  args: [{
146
143
  selector: '[symbioteScrollViewProjection]',
@@ -252,6 +249,19 @@ export class ScrollViewBase {
252
249
  // Inherited by the decorated subclass — Angular collects base-class @ViewChild queries.
253
250
  hostDirective;
254
251
  projectedRefreshControl;
252
+ // This component's OWN anchor host — where a `class="..."` at the use site resolves (see
253
+ // anchorHostStyle's doc comment) — NOT `#host` in the platform templates, which targets the real
254
+ // inner scroll-view primitive one level down. Injected in the BASE because both platform
255
+ // subclasses merged the identical anchor style into their `scrollProps` override.
256
+ elementRef = inject(ElementRef);
257
+ // The anchor's class-derived style is written by the RENDERER (addClass/removeClass ->
258
+ // commitClassStyle), never through an @Input, so `inputsRevision` cannot cover it and a bag
259
+ // memoized on plain reads of it would keep a stale class forever. It gets its own signal, polled
260
+ // in ngDoCheck below: that hook runs on exactly the checks that could have changed it (Angular
261
+ // applies the parent's class bindings before flushing this directive's pre-order hooks), which is
262
+ // the same cadence the old `scrollProps` getter was re-read at.
263
+ anchorStyle = signal(undefined, /* @ts-ignore */
264
+ ...(ngDevMode ? [{ debugName: "anchorStyle" }] : /* istanbul ignore next */ []));
255
265
  // A single AnimatedValue tracks the scroll offset and drives every sticky header's translateY
256
266
  // (RN's _scrollAnimatedValue). A stable field (allocated once, held by identity — Angular does
257
267
  // not proxy class fields, so no markRaw needed); the native attach below feeds it on the UI
@@ -262,6 +272,9 @@ export class ScrollViewBase {
262
272
  lastContentSize = null;
263
273
  // Inverted sticky headers stick to the BOTTOM, so they need the viewport height (RN _handleLayout).
264
274
  viewportHeight = undefined;
275
+ // What the projection controller was last told about the projected RefreshControl, so
276
+ // ngAfterContentChecked can tell a real content change from an ordinary check.
277
+ lastHasProjectedRefreshControl = false;
265
278
  projectionController = new ScrollViewProjectionController({
266
279
  stickyHeaderIndices: undefined,
267
280
  invertStickyHeaders: undefined,
@@ -277,6 +290,9 @@ export class ScrollViewBase {
277
290
  // bind runs now if committed, else after the commit that assigns the tag. Detached on destroy.
278
291
  detachStickyScroll;
279
292
  cancelStickyBind;
293
+ // What the current attach was made for, so a re-run that changes nothing stays a no-op.
294
+ stickyAttachedEnabled = false;
295
+ stickyAttachedNode = null;
280
296
  lastLoggedIsHorizontal = undefined;
281
297
  // Stable reference (bound once): inverted sticky headers need the viewport height captured off
282
298
  // the scroll-view's own onLayout before forwarding to the user (RN _handleLayout). A getter that
@@ -287,8 +303,14 @@ export class ScrollViewBase {
287
303
  // (see AnimatedComponentBase.reconcile()'s identical warning).
288
304
  handleInvertedStickyLayout = (event) => {
289
305
  const height = readLayoutDimension(event, 'height');
290
- if (height !== undefined)
306
+ // The projection controller is pushed from here rather than picked up on the next prop-bag
307
+ // read: viewportHeight is internal mutable state, so once `scrollProps` became a memoized
308
+ // computed nothing would re-read it. Guarded on a real change - an onLayout that reports the
309
+ // same height must not cost a sticky reconcile walk.
310
+ if (height !== undefined && height !== this.viewportHeight) {
291
311
  this.viewportHeight = height;
312
+ this.updateProjectionController();
313
+ }
292
314
  this.layout.emit(event);
293
315
  };
294
316
  // Same reasoning as handleInvertedStickyLayout: the content view's onLayout synthesizes
@@ -304,14 +326,11 @@ export class ScrollViewBase {
304
326
  dlog(`Angular ScrollView contentSizeChange ${width}x${height}`);
305
327
  this.contentSizeChange.emit({ width, height });
306
328
  };
307
- // Memoizes the wrapper each `emitterCallback` builds, keyed by the emitter it closes over
308
- // (identity holds across ScrollViewBase's own @Output()s and a projected RefreshControl's,
309
- // since a WeakMap key is just object identity). Without this, `scrollProps`/`refreshControlProps`
310
- // handed a fresh `(event) => emitter.emit(event)` closure to the forwarded prop bag on every
311
- // evaluation the same jsonEqual/Object.is function-leaf problem as the arrow fields above, one
312
- // level further removed. `.observed` is checked BEFORE the cache so an unbound event still
313
- // resolves to `undefined` (the "nobody cares" contract `emitterCallback`'s own comment documents),
314
- // not a stale cached wrapper from before the last subscriber unsubscribed.
329
+ // Memoizes the wrapper each `emitterCallback` builds, keyed by the emitter it closes over.
330
+ // Without this, `scrollProps`/`refreshControlProps` would hand a fresh closure to the forwarded
331
+ // prop bag on every evaluation the same jsonEqual/Object.is function-leaf problem as the arrow
332
+ // fields above. `.observed` is checked BEFORE the cache so an unbound event still resolves to
333
+ // `undefined` rather than a stale wrapper from before the last unsubscribe.
315
334
  emitterCallbackCache = new WeakMap();
316
335
  // The sticky JS-path Animated.event handler depends on a REAL input (onScroll), so it can't be a
317
336
  // plain stable field the way handleInvertedStickyLayout/handleContentLayout are — it must track
@@ -344,12 +363,35 @@ export class ScrollViewBase {
344
363
  return selectScrollIntrinsics(this.isHorizontal, this.resolvedContentContainerStyle)
345
364
  .scrollViewBaseStyle;
346
365
  }
366
+ // Bridges non-reactive @Input fields into the reactive graph, so a computed() can memoize a
367
+ // bag derived from them. Signal inputs would make this unnecessary, but `input()` is visible
368
+ // only to the AOT compiler and this package's unit suite runs on JIT - see the
369
+ // `angular-adapter-change-detection` skill, §6. `signal()`/`computed()` themselves are plain
370
+ // runtime APIs and need no compiler support, which is what makes this bridge possible at all.
371
+ //
372
+ // ONLY safe for a bag whose every dependency is an @Input. A bag that also reads internal
373
+ // mutable state (viewportHeight, lastContentSize, the anchor's class-derived style) would go
374
+ // stale, because nothing bumps this for those - make that state its own signal (see
375
+ // `anchorStyle`) instead of widening this one.
376
+ inputsRevision = signal(0, /* @ts-ignore */
377
+ ...(ngDevMode ? [{ debugName: "inputsRevision" }] : /* istanbul ignore next */ []));
347
378
  // The forwarded host-prop bag for the scroll-view node: aria/role folded, the native pass-through
348
379
  // families, the scroll-event callbacks, then the lifecycle-managed overrides (nestedScrollEnabled
349
380
  // default ON, horizontal when defined, decelerationRate resolved per-platform, the sticky onScroll
350
381
  // path). Base style UNDER user style so an explicit user value still wins. Mirrors Vue's outerProps
351
382
  // + scrollProps assembly.
352
- get scrollProps() {
383
+ //
384
+ // MEASURED 2026-08-16: as a getter this rebuilt the whole bag on every refresh of this view, so
385
+ // the `symbioteHostProps` reference check failed every time and every key was re-pushed through
386
+ // the renderer - once per scroll frame per host binding (2 before `contentProps` was memoized,
387
+ // 1 after, 0 now; the pin lives in prop-bag-stability.test.ts).
388
+ //
389
+ // It is a `computed` on the BASE and no longer overridable: a subclass getter cannot override a
390
+ // field. The platform subclasses used to override it with byte-identical bodies (merge the
391
+ // anchor's class-derived style ahead of the resolved style), so that merge moved down here
392
+ // rather than into a `decorateScrollProps` hook both of them would implement the same way.
393
+ scrollProps = computed(() => {
394
+ this.inputsRevision();
353
395
  const bag = compact({
354
396
  ...resolveAccessibilityProps(this.accessibilityInputs()),
355
397
  scrollEnabled: this.scrollEnabled,
@@ -406,14 +448,11 @@ export class ScrollViewBase {
406
448
  bag.decelerationRate = resolveDecelerationRate(this.decelerationRate);
407
449
  }
408
450
  // onScroll: when sticky headers are active, the offset must reach the AnimatedValue (RN
409
- // _scrollAnimatedValueAttachment). With the native module, the value is driven on the UI thread
410
- // by the post-commit attach below, so onScroll forwards to the user with throttle 1
411
- // (ScrollView.js:1798). Without it, Animated.event drives the value each frame (the JS jitter)
412
- // and forwards the user handler as the listener passthrough.
413
- // The scroll-forwarding DECISIONS (which onScroll path, the 1/16 throttle defaults, whether to
414
- // capture the viewport height) are folded out to the shared resolveScrollForwarding; here Angular
415
- // only EXECUTES them, keeping its stable-reference handlers (stickyOnScrollHandler /
416
- // handleInvertedStickyLayout / emitterCallback) so a fresh closure never forces a re-clone cascade.
451
+ // _scrollAnimatedValueAttachment). With the native module, the post-commit attach below drives
452
+ // it on the UI thread (throttle 1, ScrollView.js:1798); without it, Animated.event drives the
453
+ // value each frame (JS jitter). The DECISIONS (which path, throttle defaults, whether to
454
+ // capture viewport height) are folded out to the shared resolveScrollForwarding; Angular only
455
+ // EXECUTES them, keeping stable-reference handlers so a fresh closure never forces a re-clone.
417
456
  const nativeStickyAvailable = this.hasStickyHeaders && isNativeAnimatedAvailable();
418
457
  const forwarding = resolveScrollForwarding({
419
458
  hasStickyHeaders: this.hasStickyHeaders,
@@ -444,39 +483,57 @@ export class ScrollViewBase {
444
483
  if (layoutCallback !== undefined)
445
484
  bag.onLayout = layoutCallback;
446
485
  }
447
- dlog(`Angular ScrollView -> ${this.isHorizontal ? 'horizontal' : 'vertical'} (sticky=${this.hasStickyHeaders})`);
448
- bag.style = [this.scrollViewBaseStyle, this.style];
449
- this.updateProjectionController();
486
+ // Thunks, not strings: an eagerly built message would be paid with logging off (see dlog's own
487
+ // comment). Less often than it used to fire now that this bag is memoized, but the recompute
488
+ // still rides every real input change.
489
+ dlog(() => `Angular ScrollView -> ${this.isHorizontal ? 'horizontal' : 'vertical'} (sticky=${this.hasStickyHeaders})`);
490
+ dlog(() => `STICKY[sv] forwarding mode=${forwarding.mode} throttle=${forwarding.scrollEventThrottle} ` +
491
+ `nativeStickyAvailable=${nativeStickyAvailable} onScrollBound=${bag.onScroll !== undefined}`);
492
+ // The anchor's class-derived style goes FIRST: flattenStyle's later-wins collapse keeps an
493
+ // explicit [style] winning over the ambient class. Flat rather than the nested
494
+ // `[anchor, [base, style]]` the platform overrides used to build - flattenStyle folds nested
495
+ // arrays in the same order, so the resolved value is unchanged.
496
+ bag.style = [this.anchorStyle(), this.scrollViewBaseStyle, this.style];
450
497
  return bag;
451
- }
498
+ }, /* @ts-ignore */
499
+ ...(ngDevMode ? [{ debugName: "scrollProps" }] : /* istanbul ignore next */ []));
452
500
  // Overridable hook, NOT `this.style` directly: `splitLayoutProps` below decides which layout
453
501
  // properties (flex/height/gap/…) go on the Android outer refresh-control wrapper vs. the inner
454
- // scroll view. `this.style` alone only ever carries the explicit `[style]` @Input — a composed
455
- // component's OWN anchor host (see anchorHostStyle's doc comment in primitives/shared.ts) can
456
- // hold ADDITIONAL class-derived layout style that's otherwise invisible to this split, so its
457
- // wrapper never gets its needed layout (collapses to zero size the Android outer wrapper
458
- // shows literally nothing on screen). This mirrors the Vue adapter's identical
459
- // `layoutSplitStyle` field and the real Android device bug it fixes; the Angular Android
460
- // ScrollView (index.android.ts) overrides this to merge in `anchorHostStyle`. Default here is
461
- // `this.style` alone, preserving current behavior for anything that doesn't override it.
502
+ // scroll view. `this.style` alone only carries the explicit `[style]` @Input — a composed
503
+ // component's own anchor host can hold ADDITIONAL class-derived layout style invisible to this
504
+ // split, so the wrapper collapses to zero size on real Android devices. Angular's Android
505
+ // ScrollView (index.android.ts) overrides this to merge in `anchorHostStyle` (mirrors Vue's
506
+ // identical `layoutSplitStyle` field and the device bug it fixes).
462
507
  get layoutSplitStyle() {
463
508
  return this.style;
464
509
  }
465
- get androidWrappedScrollProps() {
466
- const props = { ...this.scrollProps };
510
+ // Memoizable for the same reasons `scrollProps` is: `layoutSplitStyle` resolves to @Input `style`
511
+ // plus (on Android) the `anchorStyle` signal, both covered. The anchor style is deliberately NOT
512
+ // re-merged into `props.style` here - `splitLayoutProps` already routed its layout half to the
513
+ // outer refresh-control wrapper and left the rest in `inner`.
514
+ androidWrappedScrollProps = computed(() => {
515
+ this.inputsRevision();
516
+ const props = { ...this.scrollProps() };
467
517
  const { inner, outer } = splitLayoutProps(this.layoutSplitStyle);
468
- dlog(`Angular ScrollView splitProbe layoutSplitStyle=${JSON.stringify(this.layoutSplitStyle)} ` +
518
+ dlog(() => `Angular ScrollView splitProbe layoutSplitStyle=${JSON.stringify(this.layoutSplitStyle)} ` +
469
519
  `outer=${JSON.stringify(outer)} inner=${JSON.stringify(inner)}`);
470
520
  props.style = [this.scrollViewBaseStyle, inner];
471
521
  props.nestedScrollEnabled = true;
472
522
  return props;
473
- }
523
+ }, /* @ts-ignore */
524
+ ...(ngDevMode ? [{ debugName: "androidWrappedScrollProps" }] : /* istanbul ignore next */ []));
525
+ // Deliberately still GETTERS, unlike every other bag on this class. Their whole content comes
526
+ // from the PROJECTED RefreshControl's own @Input()s (refreshing, tintColor, colors, …), which
527
+ // Angular routes through THAT component's ngOnChanges - `inputsRevision` here never moves for
528
+ // them. Memoizing on it would freeze `refreshing` at its first value and strand the native
529
+ // spinner forever, which is exactly the silent-staleness class this file avoids elsewhere.
530
+ // Making them memoizable means giving RefreshControl its own revision signal to read here.
474
531
  get iosRefreshControlProps() {
475
532
  return this.refreshControlProps();
476
533
  }
477
534
  get androidRefreshControlProps() {
478
535
  const { outer } = splitLayoutProps(this.layoutSplitStyle);
479
- dlog(`Angular ScrollView refreshControlProbe outer=${JSON.stringify(outer)} ` +
536
+ dlog(() => `Angular ScrollView refreshControlProbe outer=${JSON.stringify(outer)} ` +
480
537
  `hasRefresh=${this.projectedRefreshControl !== undefined}`);
481
538
  return this.refreshControlProps(outer);
482
539
  }
@@ -516,7 +573,8 @@ export class ScrollViewBase {
516
573
  // children of a scroll view that hosts exactly one — an addViewAt crash). collapsableChildren
517
574
  // false preserves the cell views maintainVisibleContentPosition/snapToAlignment anchor against.
518
575
  // onLayout synthesizes onContentSizeChange (deduped). iOS never flattens; both are no-ops there.
519
- get contentProps() {
576
+ contentProps = computed(() => {
577
+ this.inputsRevision();
520
578
  const { contentStyle } = selectScrollIntrinsics(this.isHorizontal, this.resolvedContentContainerStyle);
521
579
  const bag = { style: contentStyle, collapsable: false };
522
580
  if (this.maintainVisibleContentPosition !== undefined || this.snapToAlignment !== undefined) {
@@ -524,12 +582,18 @@ export class ScrollViewBase {
524
582
  }
525
583
  bag.onLayout = this.handleContentLayout;
526
584
  return bag;
527
- }
585
+ }, /* @ts-ignore */
586
+ ...(ngDevMode ? [{ debugName: "contentProps" }] : /* istanbul ignore next */ []));
528
587
  // Wraps an @Output() as a plain callback only while it has a subscriber, so an unbound event
529
588
  // still leaves the forwarded prop bag key absent — the same "undefined means nobody cares"
530
589
  // contract the old @Input() callbacks had. Mirrors Pressable's emitterHandler. The wrapper itself
531
590
  // is memoized per emitter (emitterCallbackCache) rather than rebuilt on every call: see that
532
591
  // field's comment for why an unstable closure here breaks the forwarded prop bag.
592
+ //
593
+ // `.observed` is NOT reactive, and `scrollProps` memoizes over it. That is sound because Angular
594
+ // subscribes a template's (event) listeners in its CREATION pass, before any input is written and
595
+ // before this component's own view is first refreshed - so `observed` is already settled at the
596
+ // first evaluation and cannot flip afterwards without destroying the whole component.
533
597
  emitterCallback(emitter) {
534
598
  if (!emitter.observed)
535
599
  return undefined;
@@ -575,24 +639,89 @@ export class ScrollViewBase {
575
639
  return this.handle.getScrollNode();
576
640
  }
577
641
  ngAfterViewInit() {
642
+ dlog('STICKY[sv] ngAfterViewInit');
643
+ // Runs once the template has bound the content node, so this is the reconcile that actually
644
+ // wraps the sticky children (the ngOnChanges one above fires before the content node exists).
578
645
  this.updateProjectionController();
579
646
  this.attachSticky();
580
647
  }
581
- // Wire the native sticky-scroll attach after the view exists. Re-attaches if the node identity
582
- // changes; no-op when sticky is off or the native module is absent.
648
+ // Re-read the anchor's class-derived style. It is written by the renderer's addClass/removeClass,
649
+ // never through an @Input, so this poll is the only thing that can invalidate a bag holding it -
650
+ // ngOnChanges alone would strand a class toggled after mount (covered by
651
+ // scroll-view-class-style.test.ts's toggle case, which goes red the moment this hook stops
652
+ // polling). ngDoCheck is the right hook, not a near-enough one: render3's `callHooks` flushes a
653
+ // node's pre-order hooks at the next `ɵɵadvance` PAST it, which is after the parent wrote this
654
+ // element's `ɵɵclassProp` and before this component's own view refreshes. It also runs under
655
+ // `setActiveConsumer(null)`, so the write registers no dependency on the caller's view and cannot
656
+ // throw NG0600. And `commitClassStyle` allocates a fresh style array only when a class token
657
+ // actually moved, so `signal.set`'s own Object.is check makes an unchanged poll dirty nothing.
658
+ ngDoCheck() {
659
+ this.anchorStyle.set(anchorHostStyle(this.elementRef));
660
+ }
661
+ // The projected RefreshControl is a @ContentChild, not an @Input, so ngOnChanges never fires when
662
+ // one is added or removed at the use site - and `excludeRefreshControl` decides whether the
663
+ // projection walk pulls it out of the scroll content. Angular resolves the query before this
664
+ // hook. Guarded on the flag itself so a check that changed nothing skips the reconcile walk,
665
+ // which the old getter-driven update could not do.
666
+ ngAfterContentChecked() {
667
+ if (this.hasProjectedRefreshControl === this.lastHasProjectedRefreshControl)
668
+ return;
669
+ this.lastHasProjectedRefreshControl = this.hasProjectedRefreshControl;
670
+ this.updateProjectionController();
671
+ }
672
+ // `stickyHeaderIndices` is an ordinary @Input, so it can arrive AFTER the first change-detection
673
+ // pass - any app deriving it from data rather than writing a literal in the template does exactly
674
+ // that. ngAfterViewInit runs once, so without this the native attach below would be skipped on
675
+ // that first pass and never retried: the wrapper still projects (that half self-heals), the
676
+ // header sits at the right place with the right z-index, and simply never moves. Device-reported
677
+ // 2026-08-16, regression-covered in sticky-native-attach.test.ts. The other three adapters never
678
+ // had this hole because they re-run the attach from a reactive effect keyed on the same
679
+ // condition (Svelte's `$effect` in index.svelte, React's useEffect deps, Vue's watcher).
680
+ ngOnChanges() {
681
+ dlog('STICKY[sv] ngOnChanges');
682
+ // Every computed() prop bag below reads plain @Input fields, which are NOT reactive on their
683
+ // own - this bump is what tells them an input changed. It must stay in ngOnChanges: that is
684
+ // the single moment Angular has finished writing every changed input for this pass.
685
+ this.inputsRevision.update(revision => revision + 1);
686
+ // stickyHeaderIndices / invertStickyHeaders / StickyHeaderComponent are @Inputs, so this is
687
+ // where the projection controller learns about them. It used to be a side effect of reading
688
+ // the `scrollProps` getter - which a memoized computed no longer performs per pass.
689
+ this.updateProjectionController();
690
+ this.attachSticky();
691
+ }
692
+ // Wire the native sticky-scroll attach once the view exists AND sticky is actually on. Re-runs
693
+ // on every input change, so it must be idempotent: see the guard below.
583
694
  attachSticky() {
695
+ const wantsAttach = this.hasStickyHeaders && isNativeAnimatedAvailable();
696
+ const node = wantsAttach ? this.hostNode : null;
697
+ dlog(() => `STICKY[sv] attachSticky indices=${JSON.stringify(this.stickyHeaderIndices)} ` +
698
+ `hasSticky=${this.hasStickyHeaders} nativeAvailable=${isNativeAnimatedAvailable()} ` +
699
+ `wantsAttach=${wantsAttach} hasNode=${node !== null} ` +
700
+ `wasEnabled=${this.stickyAttachedEnabled} nodeChanged=${node !== this.stickyAttachedNode}`);
701
+ // Nothing that decides the attach has changed - return rather than detach and rebind the
702
+ // native scroll event, which every unrelated @Input change would otherwise churn now that
703
+ // ngOnChanges drives this too.
704
+ if (wantsAttach === this.stickyAttachedEnabled && node === this.stickyAttachedNode) {
705
+ dlog('STICKY[sv] attachSticky skipped (nothing about the attach changed)');
706
+ return;
707
+ }
584
708
  this.cancelStickyBind?.();
585
709
  this.cancelStickyBind = undefined;
586
710
  if (this.detachStickyScroll !== undefined) {
587
711
  this.detachStickyScroll();
588
712
  this.detachStickyScroll = undefined;
589
713
  }
590
- if (!this.hasStickyHeaders || !isNativeAnimatedAvailable())
591
- return;
592
- const node = this.hostNode;
593
- if (node === null)
714
+ // Recorded even when the node is not resolved yet, so the NEXT call (which will see a real
715
+ // node) reads as a change and attaches.
716
+ this.stickyAttachedEnabled = wantsAttach;
717
+ this.stickyAttachedNode = node;
718
+ if (!wantsAttach || node === null) {
719
+ dlog(`STICKY[sv] attachSticky NOT attaching (wantsAttach=${wantsAttach} hasNode=${node !== null})`);
594
720
  return;
721
+ }
722
+ dlog('STICKY[sv] attachSticky waiting for commit to bind the native scroll event');
595
723
  this.cancelStickyBind = whenCommitted(node, () => {
724
+ dlog('STICKY[sv] attachSticky node committed -> attachStickyScroll');
596
725
  this.detachStickyScroll = attachStickyScroll(node, this.scrollAnimatedValue);
597
726
  });
598
727
  }
@@ -653,10 +782,10 @@ export class ScrollViewBase {
653
782
  'aria-valuetext': this['aria-valuetext'],
654
783
  };
655
784
  }
656
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollViewBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
657
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: ScrollViewBase, isStandalone: true, outputs: { layout: "layout", scrollToTop: "scrollToTop", contentSizeChange: "contentSizeChange", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, queries: [{ propertyName: "projectedRefreshControl", first: true, predicate: RefreshControl, descendants: true }], viewQueries: [{ propertyName: "hostDirective", first: true, predicate: ["host"], descendants: true, read: SymbioteHostPropsDirective }], ngImport: i0 });
785
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollViewBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
786
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: ScrollViewBase, isStandalone: true, outputs: { layout: "layout", scrollToTop: "scrollToTop", contentSizeChange: "contentSizeChange", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, queries: [{ propertyName: "projectedRefreshControl", first: true, predicate: RefreshControl, descendants: true }], viewQueries: [{ propertyName: "hostDirective", first: true, predicate: ["host"], descendants: true, read: SymbioteHostPropsDirective }], usesOnChanges: true, ngImport: i0 });
658
787
  }
659
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollViewBase, decorators: [{
788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollViewBase, decorators: [{
660
789
  type: Directive
661
790
  }], propDecorators: { layout: [{
662
791
  type: Output
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/components/scroll-view/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/components/scroll-view/shared.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,15 @@
1
- // Sticky headers: the Angular twin of adapters/{react,vue}/src/components/scroll-view/
2
- // sticky-header.{tsx,ts}, the JS layer RN implements in ScrollView.js / ScrollViewStickyHeader.js.
3
- //
4
- // Source-based: RN does stickiness PURELY IN JS. A single `_scrollAnimatedValue` an Animated.event
5
- // drives from `onScroll` feeds each flagged header's translateY through an interpolation that pins
6
- // it to the top (or bottom, inverted) until the next header collides with it. The native Fabric
7
- // scroll view does NOT honor `stickyHeaderIndices` on its own. The load-bearing top/inverted
8
- // interpolation math (computeStickyInterpolation) lives framework-agnostic in @symbiote-native/components
9
- // this file holds the Angular component shell, the layout state, and the interpolation
10
- // build, sharing the math verbatim with React/Vue. Angular supplies only the lifecycle (inputs +
11
- // manual change detection instead of useState/useEffect or refs/watch).
1
+ // Sticky headers: RN does stickiness PURELY IN JS (ScrollView.js / ScrollViewStickyHeader.js).
2
+ // A single `_scrollAnimatedValue` an Animated.event drives from `onScroll` feeds each flagged
3
+ // header's translateY through an interpolation that pins it to the top (or bottom, inverted)
4
+ // until the next header collides with it the native Fabric scroll view does NOT honor
5
+ // `stickyHeaderIndices` on its own. The interpolation math (computeStickyInterpolation) lives
6
+ // framework-agnostic in @symbiote-native/components, shared verbatim with React/Vue; this file
7
+ // holds the Angular component shell, layout state, and interpolation build.
12
8
  //
13
9
  // This is the public sticky-header WRAPPER for explicit composition. ScrollView also auto-wraps
14
- // projected direct children named by stickyHeaderIndices through its projection bridge (see
15
- // projection.ts), because Angular templates cannot map <ng-content> children directly; that auto
16
- // path intentionally uses this built-in wrapper rather than dynamically instantiating arbitrary
17
- // custom component classes.
10
+ // projected children named by stickyHeaderIndices through its projection bridge (projection.ts),
11
+ // because Angular templates cannot map <ng-content> children directly; that auto path
12
+ // intentionally reuses this built-in wrapper rather than instantiating arbitrary component types.
18
13
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, inject, } from '@angular/core';
19
14
  import { AnimatedValue, Platform, dlog, } from '@symbiote-native/engine';
20
15
  import { createInitialStickyState, readLayoutNumber, reduceSticky, STICKY_HEADER_Z_INDEX, } from '@symbiote-native/components';
@@ -131,7 +126,7 @@ export class ScrollViewStickyHeader {
131
126
  this.listenerId = next.addListener(this.animatedValueListener);
132
127
  this.interpolation = next;
133
128
  this.animatedTranslateY = next;
134
- dlog(`Angular ScrollViewStickyHeader interpolation measured=${this.state.measured} y=${this.state.layoutY}`);
129
+ dlog(`STICKY[header] interpolation measured=${this.state.measured} y=${this.state.layoutY}`);
135
130
  break;
136
131
  }
137
132
  case 'schedule-debounce':
@@ -183,8 +178,8 @@ export class ScrollViewStickyHeader {
183
178
  this.debounceTimer = undefined;
184
179
  }
185
180
  }
186
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollViewStickyHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
187
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ScrollViewStickyHeader, isStandalone: true, selector: "ScrollViewStickyHeader, symbiote-sticky-header", inputs: { scrollAnimatedValue: "scrollAnimatedValue", nextHeaderLayoutY: "nextHeaderLayoutY", inverted: "inverted", scrollViewHeight: "scrollViewHeight" }, outputs: { layout: "layout" }, usesOnChanges: true, ngImport: i0, template: `
181
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollViewStickyHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
182
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ScrollViewStickyHeader, isStandalone: true, selector: "ScrollViewStickyHeader, symbiote-sticky-header", inputs: { scrollAnimatedValue: "scrollAnimatedValue", nextHeaderLayoutY: "nextHeaderLayoutY", inverted: "inverted", scrollViewHeight: "scrollViewHeight" }, outputs: { layout: "layout" }, usesOnChanges: true, ngImport: i0, template: `
188
183
  <AnimatedView
189
184
  [style]="headerStyle"
190
185
  [animatedProps]="headerAnimatedProps"
@@ -194,7 +189,7 @@ export class ScrollViewStickyHeader {
194
189
  </AnimatedView>
195
190
  `, isInline: true, dependencies: [{ kind: "component", type: AnimatedView, selector: "AnimatedView, symbiote-animated-view", inputs: ["style", "animatedProps", "passthroughAnimatedPropExplicitValues"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
196
191
  }
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollViewStickyHeader, decorators: [{
192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollViewStickyHeader, decorators: [{
198
193
  type: Component,
199
194
  args: [{
200
195
  selector: 'ScrollViewStickyHeader, symbiote-sticky-header',
@@ -1 +1 @@
1
- {"version":3,"file":"sticky-header.js","sourceRoot":"","sources":["../../../../src/components/scroll-view/sticky-header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sticky-header.js","sourceRoot":"","sources":["../../../../src/components/scroll-view/sticky-header.ts"],"names":[],"mappings":"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"}