@symbiote-native/angular 0.7.0 → 1.0.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 (188) hide show
  1. package/README.md +3 -3
  2. package/babel-lower-host-primitives.cjs +636 -0
  3. package/babel-register-composed.cjs +21 -3
  4. package/build/angular/anchor-host-registry.js +3 -1
  5. package/build/angular/anchor-host-registry.js.map +1 -1
  6. package/build/angular/bootstrap.js +1 -1
  7. package/build/angular/bootstrap.js.map +1 -1
  8. package/build/angular/components/activity-indicator/index.android.js +7 -2
  9. package/build/angular/components/activity-indicator/index.android.js.map +1 -1
  10. package/build/angular/components/activity-indicator/index.ios.js +3 -1
  11. package/build/angular/components/activity-indicator/index.ios.js.map +1 -1
  12. package/build/angular/components/activity-indicator/shared.d.ts +1 -1
  13. package/build/angular/components/activity-indicator/shared.js +1 -1
  14. package/build/angular/components/activity-indicator/shared.js.map +1 -1
  15. package/build/angular/components/button.d.ts +3 -0
  16. package/build/angular/components/button.js +22 -5
  17. package/build/angular/components/button.js.map +1 -1
  18. package/build/angular/components/flat-list/index.d.ts +1 -1
  19. package/build/angular/components/flat-list/index.js +47 -14
  20. package/build/angular/components/flat-list/index.js.map +1 -1
  21. package/build/angular/components/image/index.android.js +4 -10
  22. package/build/angular/components/image/index.android.js.map +1 -1
  23. package/build/angular/components/image/index.ios.js +4 -10
  24. package/build/angular/components/image/index.ios.js.map +1 -1
  25. package/build/angular/components/image/shared.d.ts +4 -4
  26. package/build/angular/components/image/shared.js +51 -33
  27. package/build/angular/components/image/shared.js.map +1 -1
  28. package/build/angular/components/image-background.d.ts +3 -0
  29. package/build/angular/components/image-background.js +32 -9
  30. package/build/angular/components/image-background.js.map +1 -1
  31. package/build/angular/components/input-accessory-view/index.d.ts +2 -1
  32. package/build/angular/components/input-accessory-view/index.js +18 -16
  33. package/build/angular/components/input-accessory-view/index.js.map +1 -1
  34. package/build/angular/components/keyboard-avoiding-view/index.d.ts +3 -1
  35. package/build/angular/components/keyboard-avoiding-view/index.js +56 -19
  36. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
  37. package/build/angular/components/modal/index.d.ts +1 -0
  38. package/build/angular/components/modal/index.js +21 -10
  39. package/build/angular/components/modal/index.js.map +1 -1
  40. package/build/angular/components/pressable/index.d.ts +10 -5
  41. package/build/angular/components/pressable/index.js +61 -16
  42. package/build/angular/components/pressable/index.js.map +1 -1
  43. package/build/angular/components/refresh-control/index.d.ts +2 -1
  44. package/build/angular/components/refresh-control/index.js +13 -9
  45. package/build/angular/components/refresh-control/index.js.map +1 -1
  46. package/build/angular/components/safe-area-view/index.d.ts +3 -1
  47. package/build/angular/components/safe-area-view/index.js +22 -20
  48. package/build/angular/components/safe-area-view/index.js.map +1 -1
  49. package/build/angular/components/scroll-view/index.android.js +44 -14
  50. package/build/angular/components/scroll-view/index.android.js.map +1 -1
  51. package/build/angular/components/scroll-view/index.ios.js +13 -5
  52. package/build/angular/components/scroll-view/index.ios.js.map +1 -1
  53. package/build/angular/components/scroll-view/projection.d.ts +32 -0
  54. package/build/angular/components/scroll-view/projection.js +212 -47
  55. package/build/angular/components/scroll-view/projection.js.map +1 -1
  56. package/build/angular/components/scroll-view/shared.d.ts +2 -0
  57. package/build/angular/components/scroll-view/shared.js +48 -11
  58. package/build/angular/components/scroll-view/shared.js.map +1 -1
  59. package/build/angular/components/scroll-view/sticky-header.js +7 -3
  60. package/build/angular/components/scroll-view/sticky-header.js.map +1 -1
  61. package/build/angular/components/section-list/index.d.ts +9 -1
  62. package/build/angular/components/section-list/index.js +72 -18
  63. package/build/angular/components/section-list/index.js.map +1 -1
  64. package/build/angular/components/switch/index.android.js +23 -9
  65. package/build/angular/components/switch/index.android.js.map +1 -1
  66. package/build/angular/components/switch/index.ios.js +23 -9
  67. package/build/angular/components/switch/index.ios.js.map +1 -1
  68. package/build/angular/components/switch/shared.d.ts +1 -1
  69. package/build/angular/components/switch/shared.js +5 -2
  70. package/build/angular/components/switch/shared.js.map +1 -1
  71. package/build/angular/components/text-input.d.ts +8 -2
  72. package/build/angular/components/text-input.js +79 -34
  73. package/build/angular/components/text-input.js.map +1 -1
  74. package/build/angular/components/touchable/index.d.ts +36 -7
  75. package/build/angular/components/touchable/index.js +280 -72
  76. package/build/angular/components/touchable/index.js.map +1 -1
  77. package/build/angular/components/touchable-native-feedback/index.d.ts +2 -1
  78. package/build/angular/components/touchable-native-feedback/index.js +19 -17
  79. package/build/angular/components/touchable-native-feedback/index.js.map +1 -1
  80. package/build/angular/components/virtualized-list/directives.js +4 -0
  81. package/build/angular/components/virtualized-list/directives.js.map +1 -1
  82. package/build/angular/components/virtualized-list/index.d.ts +8 -2
  83. package/build/angular/components/virtualized-list/index.js +207 -61
  84. package/build/angular/components/virtualized-list/index.js.map +1 -1
  85. package/build/angular/components/virtualized-section-list/directives.js.map +1 -1
  86. package/build/angular/components/virtualized-section-list/index.d.ts +21 -1
  87. package/build/angular/components/virtualized-section-list/index.js +100 -22
  88. package/build/angular/components/virtualized-section-list/index.js.map +1 -1
  89. package/build/angular/components.d.ts +2 -2
  90. package/build/angular/components.js +1 -1
  91. package/build/angular/components.js.map +1 -1
  92. package/build/angular/create-portal/index.d.ts +11 -2
  93. package/build/angular/create-portal/index.js +42 -12
  94. package/build/angular/create-portal/index.js.map +1 -1
  95. package/build/angular/create-tunnel/index.js.map +1 -1
  96. package/build/angular/descriptor-to-angular/index.js +3 -1
  97. package/build/angular/descriptor-to-angular/index.js.map +1 -1
  98. package/build/angular/diagnostics.d.ts +33 -0
  99. package/build/angular/diagnostics.js +82 -0
  100. package/build/angular/diagnostics.js.map +1 -0
  101. package/build/angular/gate-demand.d.ts +37 -0
  102. package/build/angular/gate-demand.js +84 -0
  103. package/build/angular/gate-demand.js.map +1 -0
  104. package/build/angular/host-instance/index.js +1 -1
  105. package/build/angular/host-instance/index.js.map +1 -1
  106. package/build/angular/index.d.ts +6 -2
  107. package/build/angular/index.js +16 -1
  108. package/build/angular/index.js.map +1 -1
  109. package/build/angular/modules/animated/create-animated-component.d.ts +1 -0
  110. package/build/angular/modules/animated/create-animated-component.js +41 -18
  111. package/build/angular/modules/animated/create-animated-component.js.map +1 -1
  112. package/build/angular/modules/app-registry/index.js.map +1 -1
  113. package/build/angular/modules/status-bar/index.js +1 -1
  114. package/build/angular/modules/status-bar/index.js.map +1 -1
  115. package/build/angular/primitives/index.d.ts +31 -2
  116. package/build/angular/primitives/index.js +81 -3
  117. package/build/angular/primitives/index.js.map +1 -1
  118. package/build/angular/primitives/shared.d.ts +9 -1
  119. package/build/angular/primitives/shared.js +49 -3
  120. package/build/angular/primitives/shared.js.map +1 -1
  121. package/build/angular/register.d.ts +1 -0
  122. package/build/angular/register.js +35 -0
  123. package/build/angular/register.js.map +1 -0
  124. package/build/angular/render/index.js +51 -6
  125. package/build/angular/render/index.js.map +1 -1
  126. package/build/angular/renderer/index.d.ts +1 -0
  127. package/build/angular/renderer/index.js +157 -21
  128. package/build/angular/renderer/index.js.map +1 -1
  129. package/build/angular/services/color-scheme.service.js.map +1 -1
  130. package/build/angular/services/window-dimensions.service.js +1 -1
  131. package/build/angular/services/window-dimensions.service.js.map +1 -1
  132. package/build/angular/state-style.d.ts +9 -0
  133. package/build/angular/state-style.js +39 -0
  134. package/build/angular/state-style.js.map +1 -0
  135. package/metro-transformer.cjs +69 -0
  136. package/package.json +27 -8
  137. package/src/anchor-host-registry.ts +3 -1
  138. package/src/bootstrap.ts +4 -1
  139. package/src/components/activity-indicator/index.android.ts +7 -2
  140. package/src/components/activity-indicator/index.ios.ts +3 -1
  141. package/src/components/activity-indicator/shared.ts +32 -13
  142. package/src/components/button.ts +36 -6
  143. package/src/components/flat-list/index.ts +91 -29
  144. package/src/components/image/index.android.ts +9 -6
  145. package/src/components/image/index.ios.ts +9 -6
  146. package/src/components/image/shared.ts +110 -45
  147. package/src/components/image-background.ts +47 -10
  148. package/src/components/input-accessory-view/index.ts +41 -18
  149. package/src/components/keyboard-avoiding-view/index.ts +76 -22
  150. package/src/components/modal/index.ts +39 -12
  151. package/src/components/pressable/index.ts +121 -31
  152. package/src/components/refresh-control/index.ts +36 -13
  153. package/src/components/safe-area-view/index.ts +44 -19
  154. package/src/components/scroll-view/index.android.ts +31 -9
  155. package/src/components/scroll-view/index.ios.ts +17 -4
  156. package/src/components/scroll-view/projection.ts +290 -63
  157. package/src/components/scroll-view/shared.ts +124 -30
  158. package/src/components/scroll-view/sticky-header.ts +25 -8
  159. package/src/components/section-list/index.ts +79 -19
  160. package/src/components/switch/index.android.ts +18 -7
  161. package/src/components/switch/index.ios.ts +18 -7
  162. package/src/components/switch/shared.ts +15 -4
  163. package/src/components/text-input.ts +119 -31
  164. package/src/components/touchable/index.ts +339 -72
  165. package/src/components/touchable-native-feedback/index.ts +50 -18
  166. package/src/components/virtualized-list/directives.ts +19 -5
  167. package/src/components/virtualized-list/index.ts +292 -72
  168. package/src/components/virtualized-section-list/directives.ts +6 -3
  169. package/src/components/virtualized-section-list/index.ts +164 -34
  170. package/src/components.ts +6 -1
  171. package/src/create-portal/index.ts +47 -11
  172. package/src/create-tunnel/index.ts +3 -1
  173. package/src/descriptor-to-angular/index.ts +29 -8
  174. package/src/diagnostics.ts +138 -0
  175. package/src/gate-demand.ts +109 -0
  176. package/src/host-instance/index.ts +9 -3
  177. package/src/index.ts +33 -2
  178. package/src/modules/animated/create-animated-component.ts +67 -19
  179. package/src/modules/app-registry/index.ts +3 -1
  180. package/src/modules/status-bar/index.ts +13 -4
  181. package/src/primitives/index.ts +73 -2
  182. package/src/primitives/shared.ts +70 -9
  183. package/src/register.ts +43 -0
  184. package/src/render/index.ts +59 -7
  185. package/src/renderer/index.ts +209 -37
  186. package/src/services/color-scheme.service.ts +3 -1
  187. package/src/services/window-dimensions.service.ts +11 -4
  188. package/src/state-style.ts +39 -0
@@ -1 +1 @@
1
- {"version":3,"file":"directives.js","sourceRoot":"","sources":["../../../../src/components/virtualized-section-list/directives.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8FAA8F;AAC9F,iGAAiG;AACjG,kGAAkG;AAClG,+FAA+F;AAC/F,iHAAiH;AACjH,0FAA0F;AAC1F,EAAE;AACF,uEAAuE;AACvE,mDAAmD;AACnD,+HAA+H;AAC/H,gEAAgE;AAChE,gEAAgE;AAChE,qGAAqG;AACrG,wEAAwE;AACxE,iDAAiD;AACjD,iDAAiD;AACjD,gDAAgD;AAChD,0HAA0H;AAC1H,8BAA8B;AAC9B,EAAE;AACF,kGAAkG;AAClG,gFAAgF;AAEhF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;AAqB/D,mGAAmG;AAEnG,MAAM,OAAO,qBAAqB;IACvB,WAAW,GAAG,MAAM,CAA2C,WAAW,CAAC,CAAC;IAErF,MAAM,CAAC,sBAAsB,CAC3B,IAA8B,EAC9B,IAAa;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;uGARU,qBAAqB;2FAArB,qBAAqB;;2FAArB,qBAAqB;kBADjC,SAAS;mBAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE;;AAY3D,iGAAiG;AAEjG,MAAM,OAAO,uBAAuB;IACzB,WAAW,GAAG,MAAM,CAAuC,WAAW,CAAC,CAAC;IAEjF,MAAM,CAAC,sBAAsB,CAC3B,IAAgC,EAChC,IAAa;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;uGARU,uBAAuB;2FAAvB,uBAAuB;;2FAAvB,uBAAuB;kBADnC,SAAS;mBAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE;;AAY7D,iGAAiG;AAEjG,MAAM,OAAO,uBAAuB;IACzB,WAAW,GAAG,MAAM,CAAuC,WAAW,CAAC,CAAC;IAEjF,MAAM,CAAC,sBAAsB,CAC3B,IAAgC,EAChC,IAAa;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;uGARU,uBAAuB;2FAAvB,uBAAuB;;2FAAvB,uBAAuB;kBADnC,SAAS;mBAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE;;AAY7D,qGAAqG;AACrG,iGAAiG;AAEjG,MAAM,OAAO,0BAA0B;IAC5B,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;uGADhC,0BAA0B;2FAA1B,0BAA0B;;2FAA1B,0BAA0B;kBADtC,SAAS;mBAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,UAAU,EAAE,IAAI,EAAE"}
1
+ {"version":3,"file":"directives.js","sourceRoot":"","sources":["../../../../src/components/virtualized-section-list/directives.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8FAA8F;AAC9F,iGAAiG;AACjG,kGAAkG;AAClG,+FAA+F;AAC/F,iHAAiH;AACjH,0FAA0F;AAC1F,EAAE;AACF,uEAAuE;AACvE,mDAAmD;AACnD,+HAA+H;AAC/H,gEAAgE;AAChE,gEAAgE;AAChE,qGAAqG;AACrG,wEAAwE;AACxE,iDAAiD;AACjD,iDAAiD;AACjD,gDAAgD;AAChD,0HAA0H;AAC1H,8BAA8B;AAC9B,EAAE;AACF,kGAAkG;AAClG,gFAAgF;AAEhF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;AAqB/D,mGAAmG;AAEnG,MAAM,OAAO,qBAAqB;IACvB,WAAW,GAClB,MAAM,CAA2C,WAAW,CAAC,CAAC;IAEhE,MAAM,CAAC,sBAAsB,CAC3B,IAA8B,EAC9B,IAAa;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;uGATU,qBAAqB;2FAArB,qBAAqB;;2FAArB,qBAAqB;kBADjC,SAAS;mBAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE;;AAa3D,iGAAiG;AAEjG,MAAM,OAAO,uBAAuB;IACzB,WAAW,GAClB,MAAM,CAAuC,WAAW,CAAC,CAAC;IAE5D,MAAM,CAAC,sBAAsB,CAC3B,IAAgC,EAChC,IAAa;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;uGATU,uBAAuB;2FAAvB,uBAAuB;;2FAAvB,uBAAuB;kBADnC,SAAS;mBAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE;;AAa7D,iGAAiG;AAEjG,MAAM,OAAO,uBAAuB;IACzB,WAAW,GAClB,MAAM,CAAuC,WAAW,CAAC,CAAC;IAE5D,MAAM,CAAC,sBAAsB,CAC3B,IAAgC,EAChC,IAAa;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;uGATU,uBAAuB;2FAAvB,uBAAuB;;2FAAvB,uBAAuB;kBADnC,SAAS;mBAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE;;AAa7D,qGAAqG;AACrG,iGAAiG;AAEjG,MAAM,OAAO,0BAA0B;IAC5B,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;uGADhC,0BAA0B;2FAA1B,0BAA0B;;2FAA1B,0BAA0B;kBADtC,SAAS;mBAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,UAAU,EAAE,IAAI,EAAE"}
@@ -3,6 +3,7 @@ import { type IAccessibilityProps, type IAccessibilityStateValue, type IAriaProp
3
3
  import { type IStyleProp, type ISymbioteEvent, type ISymbioteNode, type IViewStyle } from '@symbiote-native/engine';
4
4
  import { VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListSeparatorDirective, type IVListSeparatorContext } from '../virtualized-list';
5
5
  import { VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective, VSectionSeparatorDirective, type IVSectionContext, type IVSectionItemContext } from './directives';
6
+ import { type IGatedAccessibilityEvent } from '../../gate-demand';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../../primitives/shared";
8
9
  export type { ISection } from '@symbiote-native/components';
@@ -12,6 +13,11 @@ export type { IVSectionContext, IVSectionItemContext } from './directives';
12
13
  export interface IVirtualizedSectionListProps<ItemT> extends IAccessibilityProps, IAriaProps {
13
14
  sections: ReadonlyArray<ISection<ItemT>>;
14
15
  keyExtractor?: (item: ItemT, index: number) => string;
16
+ getItemLayout?: (data: ReadonlyArray<ISection<ItemT>> | null, index: number) => {
17
+ length: number;
18
+ offset: number;
19
+ index: number;
20
+ };
15
21
  stickySectionHeadersEnabled?: boolean;
16
22
  extraData?: unknown;
17
23
  onEndReached?: (info: {
@@ -50,6 +56,11 @@ export type IVirtualizedSectionListInputs<ItemT> = Omit<IVirtualizedSectionListP
50
56
  export declare class VirtualizedSectionList<ItemT = unknown> implements IVirtualizedSectionListInputs<ItemT>, IVirtualizedSectionListHandle, DoCheck {
51
57
  sections: ReadonlyArray<ISection<ItemT>>;
52
58
  keyExtractor?: (item: ItemT, index: number) => string;
59
+ getItemLayout?: (data: ReadonlyArray<ISection<ItemT>> | null, index: number) => {
60
+ length: number;
61
+ offset: number;
62
+ index: number;
63
+ };
53
64
  stickySectionHeadersEnabled?: boolean;
54
65
  extraData?: unknown;
55
66
  readonly endReached: EventEmitter<{
@@ -110,6 +121,8 @@ export declare class VirtualizedSectionList<ItemT = unknown> implements IVirtual
110
121
  readonly accessibilityTap: EventEmitter<ISymbioteEvent>;
111
122
  readonly magicTap: EventEmitter<ISymbioteEvent>;
112
123
  readonly accessibilityEscape: EventEmitter<ISymbioteEvent>;
124
+ private readonly gateDemandAbove;
125
+ wantsGate(name: IGatedAccessibilityEvent): boolean;
113
126
  role?: IAriaProps['role'];
114
127
  ariaLabel?: string;
115
128
  ariaLabelledBy?: string;
@@ -145,6 +158,13 @@ export declare class VirtualizedSectionList<ItemT = unknown> implements IVirtual
145
158
  getEntry: (_source: unknown, index: number) => ISectionEntry<ItemT>;
146
159
  getEntryCount: () => number;
147
160
  entryKeyExtractor: (entry: ISectionEntry<ItemT>, index: number) => string;
161
+ private cachedEntryItemLayout?;
162
+ private lastGetItemLayout?;
163
+ get entryItemLayout(): ((data: unknown, index: number) => {
164
+ length: number;
165
+ offset: number;
166
+ index: number;
167
+ }) | undefined;
148
168
  get resolvedOnEndReached(): ((info: {
149
169
  distanceFromEnd: number;
150
170
  }) => void) | undefined;
@@ -175,5 +195,5 @@ export declare class VirtualizedSectionList<ItemT = unknown> implements IVirtual
175
195
  getScrollNode(): ISymbioteNode | null;
176
196
  recordInteraction(): void;
177
197
  static ɵfac: i0.ɵɵFactoryDeclaration<VirtualizedSectionList<any>, never>;
178
- static ɵcmp: i0.ɵɵComponentDeclaration<VirtualizedSectionList<any>, "VirtualizedSectionList", never, { "sections": { "alias": "sections"; "required": true; }; "keyExtractor": { "alias": "keyExtractor"; "required": false; }; "stickySectionHeadersEnabled": { "alias": "stickySectionHeadersEnabled"; "required": false; }; "extraData": { "alias": "extraData"; "required": false; }; "onEndReachedThreshold": { "alias": "onEndReachedThreshold"; "required": false; }; "onStartReachedThreshold": { "alias": "onStartReachedThreshold"; "required": false; }; "refreshing": { "alias": "refreshing"; "required": false; }; "progressViewOffset": { "alias": "progressViewOffset"; "required": false; }; "refreshRequested": { "alias": "refreshRequested"; "required": false; }; "initialNumToRender": { "alias": "initialNumToRender"; "required": false; }; "initialScrollIndex": { "alias": "initialScrollIndex"; "required": false; }; "maxToRenderPerBatch": { "alias": "maxToRenderPerBatch"; "required": false; }; "updateCellsBatchingPeriod": { "alias": "updateCellsBatchingPeriod"; "required": false; }; "windowSize": { "alias": "windowSize"; "required": false; }; "inverted": { "alias": "inverted"; "required": false; }; "maintainVisibleContentPosition": { "alias": "maintainVisibleContentPosition"; "required": false; }; "onScroll": { "alias": "onScroll"; "required": false; }; "onScrollBeginDrag": { "alias": "onScrollBeginDrag"; "required": false; }; "onScrollEndDrag": { "alias": "onScrollEndDrag"; "required": false; }; "onMomentumScrollBegin": { "alias": "onMomentumScrollBegin"; "required": false; }; "onMomentumScrollEnd": { "alias": "onMomentumScrollEnd"; "required": false; }; "scrollEventThrottle": { "alias": "scrollEventThrottle"; "required": false; }; "keyboardShouldPersistTaps": { "alias": "keyboardShouldPersistTaps"; "required": false; }; "keyboardDismissMode": { "alias": "keyboardDismissMode"; "required": false; }; "style": { "alias": "style"; "required": false; }; "contentContainerStyle": { "alias": "contentContainerStyle"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "required": false; }; "accessible": { "alias": "accessible"; "required": false; }; "accessibilityLabel": { "alias": "accessibilityLabel"; "required": false; }; "accessibilityHint": { "alias": "accessibilityHint"; "required": false; }; "accessibilityRole": { "alias": "accessibilityRole"; "required": false; }; "accessibilityState": { "alias": "accessibilityState"; "required": false; }; "accessibilityValue": { "alias": "accessibilityValue"; "required": false; }; "accessibilityActions": { "alias": "accessibilityActions"; "required": false; }; "accessibilityLabelledBy": { "alias": "accessibilityLabelledBy"; "required": false; }; "importantForAccessibility": { "alias": "importantForAccessibility"; "required": false; }; "accessibilityLiveRegion": { "alias": "accessibilityLiveRegion"; "required": false; }; "screenReaderFocusable": { "alias": "screenReaderFocusable"; "required": false; }; "accessibilityViewIsModal": { "alias": "accessibilityViewIsModal"; "required": false; }; "accessibilityElementsHidden": { "alias": "accessibilityElementsHidden"; "required": false; }; "accessibilityIgnoresInvertColors": { "alias": "accessibilityIgnoresInvertColors"; "required": false; }; "accessibilityLanguage": { "alias": "accessibilityLanguage"; "required": false; }; "accessibilityRespondsToUserInteraction": { "alias": "accessibilityRespondsToUserInteraction"; "required": false; }; "accessibilityShowsLargeContentViewer": { "alias": "accessibilityShowsLargeContentViewer"; "required": false; }; "accessibilityLargeContentTitle": { "alias": "accessibilityLargeContentTitle"; "required": false; }; "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLive": { "alias": "ariaLive"; "required": false; }; "ariaHidden": { "alias": "ariaHidden"; "required": false; }; "ariaBusy": { "alias": "ariaBusy"; "required": false; }; "ariaChecked": { "alias": "ariaChecked"; "required": false; }; "ariaDisabled": { "alias": "ariaDisabled"; "required": false; }; "ariaExpanded": { "alias": "ariaExpanded"; "required": false; }; "ariaSelected": { "alias": "ariaSelected"; "required": false; }; "ariaModal": { "alias": "ariaModal"; "required": false; }; "ariaValueMax": { "alias": "ariaValueMax"; "required": false; }; "ariaValueMin": { "alias": "ariaValueMin"; "required": false; }; "ariaValueNow": { "alias": "ariaValueNow"; "required": false; }; "ariaValueText": { "alias": "ariaValueText"; "required": false; }; }, { "endReached": "endReached"; "startReached": "startReached"; "refresh": "refresh"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, ["sectionItemDir", "sectionHeaderDir", "sectionFooterDir", "sectionSeparatorDir", "listHeaderDir", "listFooterDir", "listEmptyDir", "itemSeparatorDir"], never, true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
198
+ static ɵcmp: i0.ɵɵComponentDeclaration<VirtualizedSectionList<any>, "VirtualizedSectionList", never, { "sections": { "alias": "sections"; "required": true; }; "keyExtractor": { "alias": "keyExtractor"; "required": false; }; "getItemLayout": { "alias": "getItemLayout"; "required": false; }; "stickySectionHeadersEnabled": { "alias": "stickySectionHeadersEnabled"; "required": false; }; "extraData": { "alias": "extraData"; "required": false; }; "onEndReachedThreshold": { "alias": "onEndReachedThreshold"; "required": false; }; "onStartReachedThreshold": { "alias": "onStartReachedThreshold"; "required": false; }; "refreshing": { "alias": "refreshing"; "required": false; }; "progressViewOffset": { "alias": "progressViewOffset"; "required": false; }; "refreshRequested": { "alias": "refreshRequested"; "required": false; }; "initialNumToRender": { "alias": "initialNumToRender"; "required": false; }; "initialScrollIndex": { "alias": "initialScrollIndex"; "required": false; }; "maxToRenderPerBatch": { "alias": "maxToRenderPerBatch"; "required": false; }; "updateCellsBatchingPeriod": { "alias": "updateCellsBatchingPeriod"; "required": false; }; "windowSize": { "alias": "windowSize"; "required": false; }; "inverted": { "alias": "inverted"; "required": false; }; "maintainVisibleContentPosition": { "alias": "maintainVisibleContentPosition"; "required": false; }; "onScroll": { "alias": "onScroll"; "required": false; }; "onScrollBeginDrag": { "alias": "onScrollBeginDrag"; "required": false; }; "onScrollEndDrag": { "alias": "onScrollEndDrag"; "required": false; }; "onMomentumScrollBegin": { "alias": "onMomentumScrollBegin"; "required": false; }; "onMomentumScrollEnd": { "alias": "onMomentumScrollEnd"; "required": false; }; "scrollEventThrottle": { "alias": "scrollEventThrottle"; "required": false; }; "keyboardShouldPersistTaps": { "alias": "keyboardShouldPersistTaps"; "required": false; }; "keyboardDismissMode": { "alias": "keyboardDismissMode"; "required": false; }; "style": { "alias": "style"; "required": false; }; "contentContainerStyle": { "alias": "contentContainerStyle"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "required": false; }; "accessible": { "alias": "accessible"; "required": false; }; "accessibilityLabel": { "alias": "accessibilityLabel"; "required": false; }; "accessibilityHint": { "alias": "accessibilityHint"; "required": false; }; "accessibilityRole": { "alias": "accessibilityRole"; "required": false; }; "accessibilityState": { "alias": "accessibilityState"; "required": false; }; "accessibilityValue": { "alias": "accessibilityValue"; "required": false; }; "accessibilityActions": { "alias": "accessibilityActions"; "required": false; }; "accessibilityLabelledBy": { "alias": "accessibilityLabelledBy"; "required": false; }; "importantForAccessibility": { "alias": "importantForAccessibility"; "required": false; }; "accessibilityLiveRegion": { "alias": "accessibilityLiveRegion"; "required": false; }; "screenReaderFocusable": { "alias": "screenReaderFocusable"; "required": false; }; "accessibilityViewIsModal": { "alias": "accessibilityViewIsModal"; "required": false; }; "accessibilityElementsHidden": { "alias": "accessibilityElementsHidden"; "required": false; }; "accessibilityIgnoresInvertColors": { "alias": "accessibilityIgnoresInvertColors"; "required": false; }; "accessibilityLanguage": { "alias": "accessibilityLanguage"; "required": false; }; "accessibilityRespondsToUserInteraction": { "alias": "accessibilityRespondsToUserInteraction"; "required": false; }; "accessibilityShowsLargeContentViewer": { "alias": "accessibilityShowsLargeContentViewer"; "required": false; }; "accessibilityLargeContentTitle": { "alias": "accessibilityLargeContentTitle"; "required": false; }; "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLive": { "alias": "ariaLive"; "required": false; }; "ariaHidden": { "alias": "ariaHidden"; "required": false; }; "ariaBusy": { "alias": "ariaBusy"; "required": false; }; "ariaChecked": { "alias": "ariaChecked"; "required": false; }; "ariaDisabled": { "alias": "ariaDisabled"; "required": false; }; "ariaExpanded": { "alias": "ariaExpanded"; "required": false; }; "ariaSelected": { "alias": "ariaSelected"; "required": false; }; "ariaModal": { "alias": "ariaModal"; "required": false; }; "ariaValueMax": { "alias": "ariaValueMax"; "required": false; }; "ariaValueMin": { "alias": "ariaValueMin"; "required": false; }; "ariaValueNow": { "alias": "ariaValueNow"; "required": false; }; "ariaValueText": { "alias": "ariaValueText"; "required": false; }; }, { "endReached": "endReached"; "startReached": "startReached"; "refresh": "refresh"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, ["sectionItemDir", "sectionHeaderDir", "sectionFooterDir", "sectionSeparatorDir", "listHeaderDir", "listFooterDir", "listEmptyDir", "itemSeparatorDir"], never, true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
179
199
  }
@@ -22,8 +22,9 @@ import { flattenSections, resolveStickySectionHeaders, scrollLocationToFlatIndex
22
22
  import { Platform, dlog, } from '@symbiote-native/engine';
23
23
  import { VirtualizedList, VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListItemDirective, VListSeparatorDirective, } from '../virtualized-list';
24
24
  import { VListOutletDirective } from '../virtualized-list/directives';
25
- import { stableAnchorStyle, SymbioteStyleInputDirective } from '../../primitives';
25
+ import { stableAnchorStyle, SymbioteStyleInputDirective, } from '../../primitives';
26
26
  import { VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective, VSectionSeparatorDirective, } from './directives';
27
+ import { gateWanted, injectGateDemandAbove, provideGateDemand, } from '../../gate-demand';
27
28
  import * as i0 from "@angular/core";
28
29
  import * as i1 from "../../primitives/shared";
29
30
  // Re-export the section authoring directives + their contexts so flat consumers (and SectionList)
@@ -32,6 +33,7 @@ export { VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective
32
33
  export class VirtualizedSectionList {
33
34
  sections;
34
35
  keyExtractor;
36
+ getItemLayout;
35
37
  stickySectionHeadersEnabled;
36
38
  extraData;
37
39
  endReached = new EventEmitter();
@@ -103,6 +105,13 @@ export class VirtualizedSectionList {
103
105
  accessibilityTap = new EventEmitter();
104
106
  magicTap = new EventEmitter();
105
107
  accessibilityEscape = new EventEmitter();
108
+ // This wrapper binds the four gated accessibility events on the component it renders, which
109
+ // Angular forces to be unconditional and which would light that component's gates on every
110
+ // instance. It answers for them instead — see `gate-demand.ts`.
111
+ gateDemandAbove = injectGateDemandAbove();
112
+ wantsGate(name) {
113
+ return gateWanted(this.gateDemandAbove, name, this[name]);
114
+ }
106
115
  role;
107
116
  ariaLabel;
108
117
  ariaLabelledBy;
@@ -170,15 +179,45 @@ export class VirtualizedSectionList {
170
179
  getEntry = (_source, index) => this.flatEntries[index];
171
180
  getEntryCount = () => this.flatEntries.length;
172
181
  entryKeyExtractor = (entry, index) => sectionEntryKey(entry, index, this.keyExtractor);
182
+ // Hand the callback `sections`, not the entries: RN's inner VirtualizedList gets
183
+ // `data={this.props.sections}` (VirtualizedSectionList.js:216) while ours streams the FLATTENED
184
+ // entries, so the same user code would otherwise see a different argument here than on RN.
185
+ //
186
+ // UPSTREAM-DIVERGENCE(react-native): the flat INDEX matches RN's (two rows per section, header
187
+ // and footer) only while the vSectionSeparator template is unset. With it, flattenSections emits
188
+ // an extra 'section-separator' row per boundary that RN renders inside the neighbouring cell, so
189
+ // indices shift by one per boundary from the second section on. Deliberate - that row is how this
190
+ // adapter paints the separator; a caller combining the two must account for it.
191
+ //
192
+ // Cached on the input's own identity, like resolvedStyle above: the inner VirtualizedList folds
193
+ // getItemLayout into its ngDoCheck dedup array, so a wrapper allocated per getter read would
194
+ // re-run its whole recompute every CD.
195
+ cachedEntryItemLayout;
196
+ lastGetItemLayout;
197
+ get entryItemLayout() {
198
+ if (this.getItemLayout !== this.lastGetItemLayout) {
199
+ const getItemLayout = this.getItemLayout;
200
+ this.lastGetItemLayout = getItemLayout;
201
+ this.cachedEntryItemLayout =
202
+ getItemLayout === undefined
203
+ ? undefined
204
+ : (_entries, index) => getItemLayout(this.sections, index);
205
+ }
206
+ return this.cachedEntryItemLayout;
207
+ }
173
208
  // Adapts each @Output() into the plain callback VirtualizedList's own @Input() still wants,
174
209
  // gated on `.observed` so an unlistened event forwards `undefined` — the same "nobody cares"
175
210
  // contract the old @Input() callback passthrough had (e.g. onRefresh presence gates whether a
176
211
  // RefreshControl is built downstream; see the Vue twin's `listens('onRefresh')` gate).
177
212
  get resolvedOnEndReached() {
178
- return this.endReached.observed ? info => this.endReached.emit(info) : undefined;
213
+ return this.endReached.observed
214
+ ? info => this.endReached.emit(info)
215
+ : undefined;
179
216
  }
180
217
  get resolvedOnStartReached() {
181
- return this.startReached.observed ? info => this.startReached.emit(info) : undefined;
218
+ return this.startReached.observed
219
+ ? info => this.startReached.emit(info)
220
+ : undefined;
182
221
  }
183
222
  get resolvedOnRefresh() {
184
223
  return this.refresh.observed ? () => this.refresh.emit() : undefined;
@@ -189,10 +228,14 @@ export class VirtualizedSectionList {
189
228
  : undefined;
190
229
  }
191
230
  get resolvedOnAccessibilityTap() {
192
- return this.accessibilityTap.observed ? event => this.accessibilityTap.emit(event) : undefined;
231
+ return this.accessibilityTap.observed
232
+ ? event => this.accessibilityTap.emit(event)
233
+ : undefined;
193
234
  }
194
235
  get resolvedOnMagicTap() {
195
- return this.magicTap.observed ? event => this.magicTap.emit(event) : undefined;
236
+ return this.magicTap.observed
237
+ ? event => this.magicTap.emit(event)
238
+ : undefined;
196
239
  }
197
240
  get resolvedOnAccessibilityEscape() {
198
241
  return this.accessibilityEscape.observed
@@ -233,8 +276,12 @@ export class VirtualizedSectionList {
233
276
  return {
234
277
  $implicit: highlighted === true,
235
278
  highlighted: highlighted === true,
236
- leadingItem: this.isEntry(leadingItem) ? unwrapEntryItem(leadingItem) : undefined,
237
- trailingItem: this.isEntry(trailingItem) ? unwrapEntryItem(trailingItem) : undefined,
279
+ leadingItem: this.isEntry(leadingItem)
280
+ ? unwrapEntryItem(leadingItem)
281
+ : undefined,
282
+ trailingItem: this.isEntry(trailingItem)
283
+ ? unwrapEntryItem(trailingItem)
284
+ : undefined,
238
285
  };
239
286
  }
240
287
  // ---- imperative handle (the shared IVirtualizedSectionListHandle surface) ----
@@ -272,12 +319,13 @@ export class VirtualizedSectionList {
272
319
  this.list?.recordInteraction();
273
320
  }
274
321
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: VirtualizedSectionList, deps: [], target: i0.ɵɵFactoryTarget.Component });
275
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: VirtualizedSectionList, isStandalone: true, selector: "VirtualizedSectionList", inputs: { sections: "sections", keyExtractor: "keyExtractor", stickySectionHeadersEnabled: "stickySectionHeadersEnabled", extraData: "extraData", onEndReachedThreshold: "onEndReachedThreshold", onStartReachedThreshold: "onStartReachedThreshold", refreshing: "refreshing", progressViewOffset: "progressViewOffset", refreshRequested: "refreshRequested", initialNumToRender: "initialNumToRender", initialScrollIndex: "initialScrollIndex", maxToRenderPerBatch: "maxToRenderPerBatch", updateCellsBatchingPeriod: "updateCellsBatchingPeriod", windowSize: "windowSize", inverted: "inverted", maintainVisibleContentPosition: "maintainVisibleContentPosition", onScroll: "onScroll", onScrollBeginDrag: "onScrollBeginDrag", onScrollEndDrag: "onScrollEndDrag", onMomentumScrollBegin: "onMomentumScrollBegin", onMomentumScrollEnd: "onMomentumScrollEnd", scrollEventThrottle: "scrollEventThrottle", keyboardShouldPersistTaps: "keyboardShouldPersistTaps", keyboardDismissMode: "keyboardDismissMode", style: "style", contentContainerStyle: "contentContainerStyle", testID: "testID", nativeID: "nativeID", accessible: "accessible", accessibilityLabel: "accessibilityLabel", accessibilityHint: "accessibilityHint", accessibilityRole: "accessibilityRole", accessibilityState: "accessibilityState", accessibilityValue: "accessibilityValue", accessibilityActions: "accessibilityActions", accessibilityLabelledBy: "accessibilityLabelledBy", importantForAccessibility: "importantForAccessibility", accessibilityLiveRegion: "accessibilityLiveRegion", screenReaderFocusable: "screenReaderFocusable", accessibilityViewIsModal: "accessibilityViewIsModal", accessibilityElementsHidden: "accessibilityElementsHidden", accessibilityIgnoresInvertColors: "accessibilityIgnoresInvertColors", accessibilityLanguage: "accessibilityLanguage", accessibilityRespondsToUserInteraction: "accessibilityRespondsToUserInteraction", accessibilityShowsLargeContentViewer: "accessibilityShowsLargeContentViewer", accessibilityLargeContentTitle: "accessibilityLargeContentTitle", role: "role", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaLive: "ariaLive", ariaHidden: "ariaHidden", ariaBusy: "ariaBusy", ariaChecked: "ariaChecked", ariaDisabled: "ariaDisabled", ariaExpanded: "ariaExpanded", ariaSelected: "ariaSelected", ariaModal: "ariaModal", ariaValueMax: "ariaValueMax", ariaValueMin: "ariaValueMin", ariaValueNow: "ariaValueNow", ariaValueText: "ariaValueText" }, outputs: { endReached: "endReached", startReached: "startReached", refresh: "refresh", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, queries: [{ propertyName: "sectionItemDir", first: true, predicate: VSectionItemDirective, descendants: true }, { propertyName: "sectionHeaderDir", first: true, predicate: VSectionHeaderDirective, descendants: true }, { propertyName: "sectionFooterDir", first: true, predicate: VSectionFooterDirective, descendants: true }, { propertyName: "sectionSeparatorDir", first: true, predicate: VSectionSeparatorDirective, descendants: true }, { propertyName: "listHeaderDir", first: true, predicate: VListHeaderDirective, descendants: true }, { propertyName: "listFooterDir", first: true, predicate: VListFooterDirective, descendants: true }, { propertyName: "listEmptyDir", first: true, predicate: VListEmptyDirective, descendants: true }, { propertyName: "itemSeparatorDir", first: true, predicate: VListSeparatorDirective, descendants: true }], viewQueries: [{ propertyName: "list", first: true, predicate: VirtualizedList, descendants: true }], hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
322
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: VirtualizedSectionList, isStandalone: true, selector: "VirtualizedSectionList", inputs: { sections: "sections", keyExtractor: "keyExtractor", getItemLayout: "getItemLayout", stickySectionHeadersEnabled: "stickySectionHeadersEnabled", extraData: "extraData", onEndReachedThreshold: "onEndReachedThreshold", onStartReachedThreshold: "onStartReachedThreshold", refreshing: "refreshing", progressViewOffset: "progressViewOffset", refreshRequested: "refreshRequested", initialNumToRender: "initialNumToRender", initialScrollIndex: "initialScrollIndex", maxToRenderPerBatch: "maxToRenderPerBatch", updateCellsBatchingPeriod: "updateCellsBatchingPeriod", windowSize: "windowSize", inverted: "inverted", maintainVisibleContentPosition: "maintainVisibleContentPosition", onScroll: "onScroll", onScrollBeginDrag: "onScrollBeginDrag", onScrollEndDrag: "onScrollEndDrag", onMomentumScrollBegin: "onMomentumScrollBegin", onMomentumScrollEnd: "onMomentumScrollEnd", scrollEventThrottle: "scrollEventThrottle", keyboardShouldPersistTaps: "keyboardShouldPersistTaps", keyboardDismissMode: "keyboardDismissMode", style: "style", contentContainerStyle: "contentContainerStyle", testID: "testID", nativeID: "nativeID", accessible: "accessible", accessibilityLabel: "accessibilityLabel", accessibilityHint: "accessibilityHint", accessibilityRole: "accessibilityRole", accessibilityState: "accessibilityState", accessibilityValue: "accessibilityValue", accessibilityActions: "accessibilityActions", accessibilityLabelledBy: "accessibilityLabelledBy", importantForAccessibility: "importantForAccessibility", accessibilityLiveRegion: "accessibilityLiveRegion", screenReaderFocusable: "screenReaderFocusable", accessibilityViewIsModal: "accessibilityViewIsModal", accessibilityElementsHidden: "accessibilityElementsHidden", accessibilityIgnoresInvertColors: "accessibilityIgnoresInvertColors", accessibilityLanguage: "accessibilityLanguage", accessibilityRespondsToUserInteraction: "accessibilityRespondsToUserInteraction", accessibilityShowsLargeContentViewer: "accessibilityShowsLargeContentViewer", accessibilityLargeContentTitle: "accessibilityLargeContentTitle", role: "role", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaLive: "ariaLive", ariaHidden: "ariaHidden", ariaBusy: "ariaBusy", ariaChecked: "ariaChecked", ariaDisabled: "ariaDisabled", ariaExpanded: "ariaExpanded", ariaSelected: "ariaSelected", ariaModal: "ariaModal", ariaValueMax: "ariaValueMax", ariaValueMin: "ariaValueMin", ariaValueNow: "ariaValueNow", ariaValueText: "ariaValueText" }, outputs: { endReached: "endReached", startReached: "startReached", refresh: "refresh", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, queries: [{ propertyName: "sectionItemDir", first: true, predicate: VSectionItemDirective, descendants: true }, { propertyName: "sectionHeaderDir", first: true, predicate: VSectionHeaderDirective, descendants: true }, { propertyName: "sectionFooterDir", first: true, predicate: VSectionFooterDirective, descendants: true }, { propertyName: "sectionSeparatorDir", first: true, predicate: VSectionSeparatorDirective, descendants: true }, { propertyName: "listHeaderDir", first: true, predicate: VListHeaderDirective, descendants: true }, { propertyName: "listFooterDir", first: true, predicate: VListFooterDirective, descendants: true }, { propertyName: "listEmptyDir", first: true, predicate: VListEmptyDirective, descendants: true }, { propertyName: "itemSeparatorDir", first: true, predicate: VListSeparatorDirective, descendants: true }], viewQueries: [{ propertyName: "list", first: true, predicate: VirtualizedList, descendants: true }], hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
276
323
  <VirtualizedList
277
324
  [data]="flatEntries"
278
325
  [getItem]="getEntry"
279
326
  [getItemCount]="getEntryCount"
280
327
  [keyExtractor]="entryKeyExtractor"
328
+ [getItemLayout]="entryItemLayout"
281
329
  [stickyHeaderIndices]="stickyHeaderIndices"
282
330
  [extraData]="extraData"
283
331
  [inverted]="inverted"
@@ -322,8 +370,12 @@ export class VirtualizedSectionList {
322
370
  [accessibilityElementsHidden]="accessibilityElementsHidden"
323
371
  [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
324
372
  [accessibilityLanguage]="accessibilityLanguage"
325
- [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
326
- [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
373
+ [accessibilityRespondsToUserInteraction]="
374
+ accessibilityRespondsToUserInteraction
375
+ "
376
+ [accessibilityShowsLargeContentViewer]="
377
+ accessibilityShowsLargeContentViewer
378
+ "
327
379
  [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
328
380
  (accessibilityAction)="resolvedOnAccessibilityAction?.($event)"
329
381
  (accessibilityTap)="resolvedOnAccessibilityTap?.($event)"
@@ -361,7 +413,9 @@ export class VirtualizedSectionList {
361
413
  ></ng-container>
362
414
  }
363
415
  @case ('section-separator') {
364
- <ng-container [vListOutlet]="sectionSeparatorDir?.templateRef"></ng-container>
416
+ <ng-container
417
+ [vListOutlet]="sectionSeparatorDir?.templateRef"
418
+ ></ng-container>
365
419
  }
366
420
  @case ('item') {
367
421
  <ng-container
@@ -375,12 +429,16 @@ export class VirtualizedSectionList {
375
429
  <!-- list-level slots: forward the app's VirtualizedList directives to the inner list. -->
376
430
  @if (listHeaderDir !== undefined) {
377
431
  <ng-template vListHeader>
378
- <ng-container [vListOutlet]="listHeaderDir.templateRef"></ng-container>
432
+ <ng-container
433
+ [vListOutlet]="listHeaderDir.templateRef"
434
+ ></ng-container>
379
435
  </ng-template>
380
436
  }
381
437
  @if (listFooterDir !== undefined) {
382
438
  <ng-template vListFooter>
383
- <ng-container [vListOutlet]="listFooterDir.templateRef"></ng-container>
439
+ <ng-container
440
+ [vListOutlet]="listFooterDir.templateRef"
441
+ ></ng-container>
384
442
  </ng-template>
385
443
  }
386
444
  @if (listEmptyDir !== undefined) {
@@ -398,19 +456,24 @@ export class VirtualizedSectionList {
398
456
  >
399
457
  <ng-container
400
458
  [vListOutlet]="itemSeparatorDir.templateRef"
401
- [vListOutletContext]="itemSeparatorContextOf(highlighted, leadingItem, trailingItem)"
459
+ [vListOutletContext]="
460
+ itemSeparatorContextOf(highlighted, leadingItem, trailingItem)
461
+ "
402
462
  ></ng-container>
403
463
  </ng-template>
404
464
  }
405
465
  </VirtualizedList>
406
- `, isInline: true, dependencies: [{ kind: "component", type: VirtualizedList, selector: "VirtualizedList", inputs: ["data", "getItem", "getItemCount", "keyExtractor", "getItemLayout", "horizontal", "inverted", "extraData", "onEndReachedThreshold", "onStartReachedThreshold", "refreshing", "progressViewOffset", "refreshRequested", "viewabilityConfig", "viewabilityConfigCallbackPairs", "initialNumToRender", "initialScrollIndex", "maxToRenderPerBatch", "updateCellsBatchingPeriod", "windowSize", "stickyHeaderIndices", "maintainVisibleContentPosition", "onScroll", "onScrollBeginDrag", "onScrollEndDrag", "onMomentumScrollBegin", "onMomentumScrollEnd", "scrollEventThrottle", "keyboardShouldPersistTaps", "keyboardDismissMode", "style", "contentContainerStyle", "testID", "nativeID", "accessible", "accessibilityLabel", "accessibilityHint", "accessibilityRole", "accessibilityState", "accessibilityValue", "accessibilityActions", "accessibilityLabelledBy", "importantForAccessibility", "accessibilityLiveRegion", "screenReaderFocusable", "accessibilityViewIsModal", "accessibilityElementsHidden", "accessibilityIgnoresInvertColors", "accessibilityLanguage", "accessibilityRespondsToUserInteraction", "accessibilityShowsLargeContentViewer", "accessibilityLargeContentTitle", "role", "ariaLabel", "ariaLabelledBy", "ariaLive", "ariaHidden", "ariaBusy", "ariaChecked", "ariaDisabled", "ariaExpanded", "ariaSelected", "ariaModal", "ariaValueMax", "ariaValueMin", "ariaValueNow", "ariaValueText"], outputs: ["endReached", "startReached", "refresh", "viewableItemsChanged", "scrollToIndexFailed", "accessibilityAction", "accessibilityTap", "magicTap", "accessibilityEscape"] }, { kind: "directive", type: VListItemDirective, selector: "[vListItem]" }, { kind: "directive", type: VListHeaderDirective, selector: "[vListHeader]" }, { kind: "directive", type: VListFooterDirective, selector: "[vListFooter]" }, { kind: "directive", type: VListEmptyDirective, selector: "[vListEmpty]" }, { kind: "directive", type: VListSeparatorDirective, selector: "[vListSeparator]" }, { kind: "directive", type: VListOutletDirective, selector: "[vListOutlet]", inputs: ["vListOutlet", "vListOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
466
+ `, isInline: true, dependencies: [{ kind: "component", type: VirtualizedList, selector: "VirtualizedList", inputs: ["data", "getItem", "getItemCount", "keyExtractor", "getItemLayout", "horizontal", "inverted", "extraData", "onEndReachedThreshold", "onStartReachedThreshold", "refreshing", "progressViewOffset", "refreshRequested", "viewabilityConfig", "viewabilityConfigCallbackPairs", "initialNumToRender", "initialScrollIndex", "maxToRenderPerBatch", "updateCellsBatchingPeriod", "windowSize", "stickyHeaderIndices", "maintainVisibleContentPosition", "onScroll", "onScrollBeginDrag", "onScrollEndDrag", "onMomentumScrollBegin", "onMomentumScrollEnd", "scrollEventThrottle", "keyboardShouldPersistTaps", "keyboardDismissMode", "style", "contentContainerStyle", "testID", "nativeID", "accessible", "accessibilityLabel", "accessibilityHint", "accessibilityRole", "accessibilityState", "accessibilityValue", "accessibilityActions", "accessibilityLabelledBy", "importantForAccessibility", "accessibilityLiveRegion", "screenReaderFocusable", "accessibilityViewIsModal", "accessibilityElementsHidden", "accessibilityIgnoresInvertColors", "accessibilityLanguage", "accessibilityRespondsToUserInteraction", "accessibilityShowsLargeContentViewer", "accessibilityLargeContentTitle", "role", "ariaLabel", "ariaLabelledBy", "ariaLive", "ariaHidden", "ariaBusy", "ariaChecked", "ariaDisabled", "ariaExpanded", "ariaSelected", "ariaModal", "ariaValueMax", "ariaValueMin", "ariaValueNow", "ariaValueText"], outputs: ["endReached", "startReached", "refresh", "viewableItemsChanged", "scrollToIndexFailed", "accessibilityAction", "accessibilityTap", "magicTap", "accessibilityEscape"] }, { kind: "directive", type: VListItemDirective, selector: "[vListItem]" }, { kind: "directive", type: VListHeaderDirective, selector: "[vListHeader]" }, { kind: "directive", type: VListFooterDirective, selector: "[vListFooter]" }, { kind: "directive", type: VListEmptyDirective, selector: "[vListEmpty]" }, { kind: "directive", type: VListSeparatorDirective, selector: "[vListSeparator]" }, { kind: "directive", type: VListOutletDirective, selector: "[vListOutlet]", inputs: ["vListOutlet", "vListOutletContext"] }], viewProviders: [provideGateDemand(() => VirtualizedSectionList)], changeDetection: i0.ChangeDetectionStrategy.OnPush });
407
467
  }
408
468
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: VirtualizedSectionList, decorators: [{
409
469
  type: Component,
410
470
  args: [{
411
471
  selector: 'VirtualizedSectionList',
412
472
  standalone: true,
413
- hostDirectives: [{ directive: SymbioteStyleInputDirective, inputs: ['style'] }],
473
+ viewProviders: [provideGateDemand(() => VirtualizedSectionList)],
474
+ hostDirectives: [
475
+ { directive: SymbioteStyleInputDirective, inputs: ['style'] },
476
+ ],
414
477
  imports: [
415
478
  VirtualizedList,
416
479
  VListItemDirective,
@@ -427,6 +490,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
427
490
  [getItem]="getEntry"
428
491
  [getItemCount]="getEntryCount"
429
492
  [keyExtractor]="entryKeyExtractor"
493
+ [getItemLayout]="entryItemLayout"
430
494
  [stickyHeaderIndices]="stickyHeaderIndices"
431
495
  [extraData]="extraData"
432
496
  [inverted]="inverted"
@@ -471,8 +535,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
471
535
  [accessibilityElementsHidden]="accessibilityElementsHidden"
472
536
  [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
473
537
  [accessibilityLanguage]="accessibilityLanguage"
474
- [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
475
- [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
538
+ [accessibilityRespondsToUserInteraction]="
539
+ accessibilityRespondsToUserInteraction
540
+ "
541
+ [accessibilityShowsLargeContentViewer]="
542
+ accessibilityShowsLargeContentViewer
543
+ "
476
544
  [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
477
545
  (accessibilityAction)="resolvedOnAccessibilityAction?.($event)"
478
546
  (accessibilityTap)="resolvedOnAccessibilityTap?.($event)"
@@ -510,7 +578,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
510
578
  ></ng-container>
511
579
  }
512
580
  @case ('section-separator') {
513
- <ng-container [vListOutlet]="sectionSeparatorDir?.templateRef"></ng-container>
581
+ <ng-container
582
+ [vListOutlet]="sectionSeparatorDir?.templateRef"
583
+ ></ng-container>
514
584
  }
515
585
  @case ('item') {
516
586
  <ng-container
@@ -524,12 +594,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
524
594
  <!-- list-level slots: forward the app's VirtualizedList directives to the inner list. -->
525
595
  @if (listHeaderDir !== undefined) {
526
596
  <ng-template vListHeader>
527
- <ng-container [vListOutlet]="listHeaderDir.templateRef"></ng-container>
597
+ <ng-container
598
+ [vListOutlet]="listHeaderDir.templateRef"
599
+ ></ng-container>
528
600
  </ng-template>
529
601
  }
530
602
  @if (listFooterDir !== undefined) {
531
603
  <ng-template vListFooter>
532
- <ng-container [vListOutlet]="listFooterDir.templateRef"></ng-container>
604
+ <ng-container
605
+ [vListOutlet]="listFooterDir.templateRef"
606
+ ></ng-container>
533
607
  </ng-template>
534
608
  }
535
609
  @if (listEmptyDir !== undefined) {
@@ -547,7 +621,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
547
621
  >
548
622
  <ng-container
549
623
  [vListOutlet]="itemSeparatorDir.templateRef"
550
- [vListOutletContext]="itemSeparatorContextOf(highlighted, leadingItem, trailingItem)"
624
+ [vListOutletContext]="
625
+ itemSeparatorContextOf(highlighted, leadingItem, trailingItem)
626
+ "
551
627
  ></ng-container>
552
628
  </ng-template>
553
629
  }
@@ -559,6 +635,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
559
635
  args: [{ required: true }]
560
636
  }], keyExtractor: [{
561
637
  type: Input
638
+ }], getItemLayout: [{
639
+ type: Input
562
640
  }], stickySectionHeadersEnabled: [{
563
641
  type: Input
564
642
  }], extraData: [{
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/virtualized-section-list/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/virtualized-section-list/index.ts"],"names":[],"mappings":"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"}
@@ -35,5 +35,5 @@ export type { IFlatListHandle, IFlatListProps } from './components/flat-list';
35
35
  export { VirtualizedSectionList, VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective, VSectionSeparatorDirective, } from './components/virtualized-section-list';
36
36
  export type { ISection, IVirtualizedSectionListHandle, IVirtualizedSectionListProps, IVSectionContext, IVSectionItemContext, } from './components/virtualized-section-list';
37
37
  export { SectionList } from './components/section-list';
38
- export type { ISectionListHandle, ISectionListProps } from './components/section-list';
39
- export { ViewHost, ViewHost as View, TextHost, TextHost as Text, ImageHost, ScrollViewHost, ScrollContentView, HorizontalScrollView, HorizontalScrollContentView, TextInputHost, MultilineTextInputHost, SwitchHost, ActivityIndicatorHost, SafeAreaViewHost, ModalHost, RefreshControlHost, InputAccessoryViewHost, SymbioteHostPropsDirective, SymbioteStyleInputDirective, anchorHostStyle, stableAnchorStyle, } from './primitives/index';
38
+ export type { ISectionListHandle, ISectionListProps, } from './components/section-list';
39
+ export { ViewHost, ViewHost as View, TextHost, TextHost as Text, ImageHost, ScrollViewHost, ScrollContentView, HorizontalScrollView, HorizontalScrollContentView, TextInputHost, MultilineTextInputHost, ManagedTextInputHost, ManagedMultilineTextInputHost, SwitchHost, ActivityIndicatorHost, SafeAreaViewHost, ModalHost, RefreshControlHost, InputAccessoryViewHost, SymbioteHostPropsDirective, SymbioteStyleInputDirective, anchorHostStyle, stableAnchorStyle, } from './primitives/index';
@@ -23,7 +23,7 @@ export { FlatList } from './components/flat-list';
23
23
  export { VirtualizedSectionList, VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective, VSectionSeparatorDirective, } from './components/virtualized-section-list';
24
24
  export { SectionList } from './components/section-list';
25
25
  // Re-export primitive hosts so composed components can import them from the public barrel too.
26
- export { ViewHost, ViewHost as View, TextHost, TextHost as Text, ImageHost, ScrollViewHost, ScrollContentView, HorizontalScrollView, HorizontalScrollContentView, TextInputHost, MultilineTextInputHost, SwitchHost, ActivityIndicatorHost, SafeAreaViewHost, ModalHost, RefreshControlHost, InputAccessoryViewHost, SymbioteHostPropsDirective,
26
+ export { ViewHost, ViewHost as View, TextHost, TextHost as Text, ImageHost, ScrollViewHost, ScrollContentView, HorizontalScrollView, HorizontalScrollContentView, TextInputHost, MultilineTextInputHost, ManagedTextInputHost, ManagedMultilineTextInputHost, SwitchHost, ActivityIndicatorHost, SafeAreaViewHost, ModalHost, RefreshControlHost, InputAccessoryViewHost, SymbioteHostPropsDirective,
27
27
  // Public even though no app names it: it rides `hostDirectives` on every component declaring a
28
28
  // `style` input, so ngtsc writes it into their public type metadata and a consuming app's AOT
29
29
  // build fails with NG3004 without it. Invisible to tsc and vitest; only a consumer's ngc catches
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,gGAAgG;AAChG,+FAA+F;AAC/F,8FAA8F;AAC9F,kFAAkF;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAgB3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAK3E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AASpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAOjF,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAM9E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAcvC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uCAAuC,CAAC;AAQ/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,+FAA+F;AAC/F,OAAO,EACL,QAAQ,EACR,QAAQ,IAAI,IAAI,EAChB,QAAQ,EACR,QAAQ,IAAI,IAAI,EAChB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,EACtB,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B;AAC1B,+FAA+F;AAC/F,8FAA8F;AAC9F,iGAAiG;AACjG,MAAM;AACN,2BAA2B;AAC3B,oGAAoG;AACpG,+FAA+F;AAC/F,6FAA6F;AAC7F,eAAe;AACf,4FAA4F;AAC5F,0FAA0F;AAC1F,oDAAoD;AACpD,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,sFAAsF;AACtF,wFAAwF;AACxF,4CAA4C"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,gGAAgG;AAChG,+FAA+F;AAC/F,8FAA8F;AAC9F,kFAAkF;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAgB3C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAK3E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AASpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAOjF,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAM9E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAcvC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uCAAuC,CAAC;AAQ/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAMxD,+FAA+F;AAC/F,OAAO,EACL,QAAQ,EACR,QAAQ,IAAI,IAAI,EAChB,QAAQ,EACR,QAAQ,IAAI,IAAI,EAChB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,6BAA6B,EAC7B,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B;AAC1B,+FAA+F;AAC/F,8FAA8F;AAC9F,iGAAiG;AACjG,MAAM;AACN,2BAA2B;AAC3B,oGAAoG;AACpG,+FAA+F;AAC/F,6FAA6F;AAC7F,eAAe;AACf,4FAA4F;AAC5F,0FAA0F;AAC1F,oDAAoD;AACpD,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,sFAAsF;AACtF,wFAAwF;AACxF,4CAA4C"}
@@ -1,10 +1,19 @@
1
1
  import { ViewContainerRef, type OnChanges, type OnDestroy } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  /** Marks the destination for `*portal` — place it on whichever already-mounted host should
4
- * paint the portaled content (e.g. a persistent overlay-host View near the app root), then
5
- * export it to a template variable and pass that variable as `*portal`'s target. */
4
+ * paint the portaled content on an `<ng-container>` INSIDE that host, never on the host
5
+ * element itself (see the file header) — then export it to a template variable and pass that
6
+ * variable as `*portal`'s target:
7
+ *
8
+ * ```html
9
+ * <View class="overlay-host">
10
+ * <ng-container portalOutlet #overlayHost="portalOutlet"></ng-container>
11
+ * </View>
12
+ * ```
13
+ */
6
14
  export declare class PortalOutletDirective {
7
15
  readonly viewContainerRef: ViewContainerRef;
16
+ constructor();
8
17
  static ɵfac: i0.ɵɵFactoryDeclaration<PortalOutletDirective, never>;
9
18
  static ɵdir: i0.ɵɵDirectiveDeclaration<PortalOutletDirective, "[portalOutlet]", ["portalOutlet"], {}, {}, never, never, true, never>;
10
19
  }
@@ -20,27 +20,57 @@
20
20
  //
21
21
  // The safe, fully-public-API mechanism: create the embedded view DIRECTLY inside a
22
22
  // ViewContainerRef anchored at the destination, so there is nothing to move at all. That
23
- // ViewContainerRef comes from `PortalOutletDirective`, a marker placed on the target host
24
- // (`<View portalOutlet #overlayHost="portalOutlet">`) purely to expose its ViewContainerRef, the
25
- // same export-as-template-variable idiom `#form="ngForm"` uses. This also replaces the
26
- // `isSymbioteNode` runtime guard React/Vue need (there `to` is an arbitrary JS value until
27
- // validated): here `to` is typed as `PortalOutletDirective` the only way to construct one is
28
- // Angular's own template compiler resolving a template reference variable, so `strictTemplates`
29
- // rejects anything else at compile time and there is nothing left to guard at runtime.
30
- import { Directive, inject, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
23
+ // ViewContainerRef comes from `PortalOutletDirective`, exported to a template variable with the
24
+ // same idiom `#form="ngForm"` uses. This also replaces the `isSymbioteNode` runtime guard
25
+ // React/Vue need (there `to` is an arbitrary JS value until validated): here `to` is typed as
26
+ // `PortalOutletDirective` the only way to construct one is Angular's own template compiler
27
+ // resolving a template reference variable, so `strictTemplates` rejects anything else at compile
28
+ // time and there is nothing left to guard at runtime.
29
+ //
30
+ // THE MARKER GOES ON AN `<ng-container>` INSIDE THE TARGET, never on the target element. A
31
+ // ViewContainerRef anchors AT its host and `createEmbeddedView` inserts after that anchor, so
32
+ // `<View portalOutlet>` delivers a SIBLING where React's `createPortal(node, host)` and Vue's
33
+ // `<Teleport to>` deliver a child. Device-reported 2026-09-02: a card portaled into an absolutely
34
+ // positioned overlay laid out in the scroll flow, since the overlay cannot centre a node that is
35
+ // not in it.
36
+ import { Directive, ElementRef, inject, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
37
+ import { isAnchor, isSymbioteNode } from '@symbiote-native/engine';
31
38
  import * as i0 from "@angular/core";
32
39
  /** Marks the destination for `*portal` — place it on whichever already-mounted host should
33
- * paint the portaled content (e.g. a persistent overlay-host View near the app root), then
34
- * export it to a template variable and pass that variable as `*portal`'s target. */
40
+ * paint the portaled content on an `<ng-container>` INSIDE that host, never on the host
41
+ * element itself (see the file header) — then export it to a template variable and pass that
42
+ * variable as `*portal`'s target:
43
+ *
44
+ * ```html
45
+ * <View class="overlay-host">
46
+ * <ng-container portalOutlet #overlayHost="portalOutlet"></ng-container>
47
+ * </View>
48
+ * ```
49
+ */
35
50
  export class PortalOutletDirective {
36
51
  viewContainerRef = inject(ViewContainerRef);
52
+ constructor() {
53
+ // The wrong placement commits a valid tree that simply differs from React's, so nothing
54
+ // downstream can catch it. It has to fail where it is written.
55
+ const host = inject(ElementRef).nativeElement;
56
+ if (!isSymbioteNode(host) || !isAnchor(host)) {
57
+ throw new Error('portalOutlet must sit on an <ng-container> inside the target host, not on the host ' +
58
+ 'element: a ViewContainerRef anchored at an element inserts AFTER it, so the ported ' +
59
+ 'content would become the host\'s sibling. Write <View class="…">' +
60
+ '<ng-container portalOutlet #x="portalOutlet"></ng-container></View>.');
61
+ }
62
+ }
37
63
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: PortalOutletDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
38
64
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: PortalOutletDirective, isStandalone: true, selector: "[portalOutlet]", exportAs: ["portalOutlet"], ngImport: i0 });
39
65
  }
40
66
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: PortalOutletDirective, decorators: [{
41
67
  type: Directive,
42
- args: [{ selector: '[portalOutlet]', standalone: true, exportAs: 'portalOutlet' }]
43
- }] });
68
+ args: [{
69
+ selector: '[portalOutlet]',
70
+ standalone: true,
71
+ exportAs: 'portalOutlet',
72
+ }]
73
+ }], ctorParameters: () => [] });
44
74
  /** `*portal="overlayHost"` — renders the host element into whichever `PortalOutletDirective`
45
75
  * `overlayHost` refers to, same surface only (see the file header). Combine with `@if` for
46
76
  * conditional visibility, exactly like `*ngIf`. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create-portal/index.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,iGAAiG;AACjG,8FAA8F;AAC9F,0FAA0F;AAC1F,6DAA6D;AAC7D,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,kGAAkG;AAClG,iGAAiG;AACjG,kGAAkG;AAClG,kGAAkG;AAClG,8CAA8C;AAC9C,EAAE;AACF,gGAAgG;AAChG,0FAA0F;AAC1F,kGAAkG;AAClG,gGAAgG;AAChG,+BAA+B;AAC/B,EAAE;AACF,mFAAmF;AACnF,yFAAyF;AACzF,0FAA0F;AAC1F,iGAAiG;AACjG,uFAAuF;AACvF,2FAA2F;AAC3F,+FAA+F;AAC/F,gGAAgG;AAChG,uFAAuF;AAEvF,OAAO,EACL,SAAS,EACT,MAAM,EACN,KAAK,EACL,WAAW,EACX,gBAAgB,GAIjB,MAAM,eAAe,CAAC;;AAEvB;;qFAEqF;AAErF,MAAM,OAAO,qBAAqB;IACvB,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;uGAD1C,qBAAqB;2FAArB,qBAAqB;;2FAArB,qBAAqB;kBADjC,SAAS;mBAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE;;AAKrF;;oDAEoD;AAEpD,MAAM,OAAO,eAAe;IACC,MAAM,CAAyB;IAEzC,WAAW,GAAG,MAAM,CAAuB,WAAW,CAAC,CAAC;IACjE,OAAO,GAAoC,IAAI,CAAC;IAExD,WAAW;QACT,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnF,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IAC1B,CAAC;uGAbU,eAAe;2FAAf,eAAe;;2FAAf,eAAe;kBAD3B,SAAS;mBAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE;;sBAElD,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create-portal/index.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,iGAAiG;AACjG,8FAA8F;AAC9F,0FAA0F;AAC1F,6DAA6D;AAC7D,EAAE;AACF,gGAAgG;AAChG,gGAAgG;AAChG,kGAAkG;AAClG,iGAAiG;AACjG,kGAAkG;AAClG,kGAAkG;AAClG,8CAA8C;AAC9C,EAAE;AACF,gGAAgG;AAChG,0FAA0F;AAC1F,kGAAkG;AAClG,gGAAgG;AAChG,+BAA+B;AAC/B,EAAE;AACF,mFAAmF;AACnF,yFAAyF;AACzF,gGAAgG;AAChG,0FAA0F;AAC1F,8FAA8F;AAC9F,6FAA6F;AAC7F,iGAAiG;AACjG,sDAAsD;AACtD,EAAE;AACF,2FAA2F;AAC3F,8FAA8F;AAC9F,8FAA8F;AAC9F,kGAAkG;AAClG,iGAAiG;AACjG,aAAa;AAEb,OAAO,EACL,SAAS,EACT,UAAU,EACV,MAAM,EACN,KAAK,EACL,WAAW,EACX,gBAAgB,GAIjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;;AAEnE;;;;;;;;;;GAUG;AAMH,MAAM,OAAO,qBAAqB;IACvB,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAErD;QACE,wFAAwF;QACxF,+DAA+D;QAC/D,MAAM,IAAI,GAAY,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,qFAAqF;gBACnF,qFAAqF;gBACrF,kEAAkE;gBAClE,sEAAsE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;uGAfU,qBAAqB;2FAArB,qBAAqB;;2FAArB,qBAAqB;kBALjC,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,cAAc;iBACzB;;AAmBD;;oDAEoD;AAEpD,MAAM,OAAO,eAAe;IACC,MAAM,CAAyB;IAEzC,WAAW,GAAG,MAAM,CAAuB,WAAW,CAAC,CAAC;IACjE,OAAO,GAAoC,IAAI,CAAC;IAExD,WAAW;QACT,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAC5D,IAAI,CAAC,WAAW,CACjB,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IAC1B,CAAC;uGAfU,eAAe;2FAAf,eAAe;;2FAAf,eAAe;kBAD3B,SAAS;mBAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE;;sBAElD,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create-tunnel/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create-tunnel/index.ts"],"names":[],"mappings":"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"}