@symbiote-native/angular 3.1.3 → 3.3.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 (165) hide show
  1. package/babel-register-composed.cjs +1 -0
  2. package/build/angular/accessibility-events.d.ts +12 -0
  3. package/build/angular/accessibility-events.js +28 -0
  4. package/build/angular/accessibility-events.js.map +1 -0
  5. package/build/angular/accessibility-inputs.d.ts +40 -0
  6. package/build/angular/accessibility-inputs.js +130 -0
  7. package/build/angular/accessibility-inputs.js.map +1 -0
  8. package/build/angular/bootstrap.d.ts +3 -1
  9. package/build/angular/bootstrap.js +4 -1
  10. package/build/angular/bootstrap.js.map +1 -1
  11. package/build/angular/components/checkbox-props.d.ts +2 -0
  12. package/build/angular/components/checkbox-props.js +2 -0
  13. package/build/angular/components/checkbox-props.js.map +1 -0
  14. package/build/angular/components/flat-list/flat-list-template.d.ts +1 -0
  15. package/build/angular/components/flat-list/flat-list-template.js +158 -0
  16. package/build/angular/components/flat-list/flat-list-template.js.map +1 -0
  17. package/build/angular/components/flat-list/index.d.ts +6 -61
  18. package/build/angular/components/flat-list/index.js +26 -463
  19. package/build/angular/components/flat-list/index.js.map +1 -1
  20. package/build/angular/components/keyboard-avoiding-view/index.d.ts +4 -40
  21. package/build/angular/components/keyboard-avoiding-view/index.js +7 -131
  22. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
  23. package/build/angular/components/modal/index.d.ts +5 -41
  24. package/build/angular/components/modal/index.js +8 -133
  25. package/build/angular/components/modal/index.js.map +1 -1
  26. package/build/angular/components/section-list/index.d.ts +4 -51
  27. package/build/angular/components/section-list/index.js +18 -335
  28. package/build/angular/components/section-list/index.js.map +1 -1
  29. package/build/angular/components/virtualized-list/cell-registry.d.ts +35 -0
  30. package/build/angular/components/virtualized-list/cell-registry.js +133 -0
  31. package/build/angular/components/virtualized-list/cell-registry.js.map +1 -0
  32. package/build/angular/components/virtualized-list/index.d.ts +18 -253
  33. package/build/angular/components/virtualized-list/index.js +112 -1178
  34. package/build/angular/components/virtualized-list/index.js.map +1 -1
  35. package/build/angular/components/virtualized-list/list-a11y-forward.d.ts +1 -0
  36. package/build/angular/components/virtualized-list/list-a11y-forward.js +42 -0
  37. package/build/angular/components/virtualized-list/list-a11y-forward.js.map +1 -0
  38. package/build/angular/components/virtualized-list/list-bags.d.ts +32 -0
  39. package/build/angular/components/virtualized-list/list-bags.js +120 -0
  40. package/build/angular/components/virtualized-list/list-bags.js.map +1 -0
  41. package/build/angular/components/virtualized-list/list-effects.d.ts +31 -0
  42. package/build/angular/components/virtualized-list/list-effects.js +83 -0
  43. package/build/angular/components/virtualized-list/list-effects.js.map +1 -0
  44. package/build/angular/components/virtualized-list/list-events.d.ts +17 -0
  45. package/build/angular/components/virtualized-list/list-events.js +34 -0
  46. package/build/angular/components/virtualized-list/list-events.js.map +1 -0
  47. package/build/angular/components/virtualized-list/list-handle.d.ts +35 -0
  48. package/build/angular/components/virtualized-list/list-handle.js +61 -0
  49. package/build/angular/components/virtualized-list/list-handle.js.map +1 -0
  50. package/build/angular/components/virtualized-list/list-inputs.d.ts +78 -0
  51. package/build/angular/components/virtualized-list/list-inputs.js +150 -0
  52. package/build/angular/components/virtualized-list/list-inputs.js.map +1 -0
  53. package/build/angular/components/virtualized-list/list-props.d.ts +58 -0
  54. package/build/angular/components/virtualized-list/list-props.js +3 -0
  55. package/build/angular/components/virtualized-list/list-props.js.map +1 -0
  56. package/build/angular/components/virtualized-list/list-styles.d.ts +23 -0
  57. package/build/angular/components/virtualized-list/list-styles.js +26 -0
  58. package/build/angular/components/virtualized-list/list-styles.js.map +1 -0
  59. package/build/angular/components/virtualized-list/list-template.d.ts +1 -0
  60. package/build/angular/components/virtualized-list/list-template.js +176 -0
  61. package/build/angular/components/virtualized-list/list-template.js.map +1 -0
  62. package/build/angular/components/virtualized-section-list/index.d.ts +13 -70
  63. package/build/angular/components/virtualized-section-list/index.js +22 -455
  64. package/build/angular/components/virtualized-section-list/index.js.map +1 -1
  65. package/build/angular/components/virtualized-section-list/section-list-template.d.ts +1 -0
  66. package/build/angular/components/virtualized-section-list/section-list-template.js +107 -0
  67. package/build/angular/components/virtualized-section-list/section-list-template.js.map +1 -0
  68. package/build/angular/components.d.ts +1 -0
  69. package/build/angular/components.js.map +1 -1
  70. package/build/angular/descriptor-to-angular/descriptor-host.d.ts +8 -0
  71. package/build/angular/descriptor-to-angular/descriptor-host.js +38 -0
  72. package/build/angular/descriptor-to-angular/descriptor-host.js.map +1 -0
  73. package/build/angular/descriptor-to-angular/index.d.ts +1 -0
  74. package/build/angular/descriptor-to-angular/index.js +4 -0
  75. package/build/angular/descriptor-to-angular/index.js.map +1 -1
  76. package/build/angular/element-base.d.ts +153 -0
  77. package/build/angular/element-base.js +272 -0
  78. package/build/angular/element-base.js.map +1 -0
  79. package/build/angular/elements-controls.d.ts +165 -0
  80. package/build/angular/elements-controls.js +382 -0
  81. package/build/angular/elements-controls.js.map +1 -0
  82. package/build/angular/elements-layout.d.ts +122 -0
  83. package/build/angular/elements-layout.js +242 -0
  84. package/build/angular/elements-layout.js.map +1 -0
  85. package/build/angular/elements-press.d.ts +96 -0
  86. package/build/angular/elements-press.js +227 -0
  87. package/build/angular/elements-press.js.map +1 -0
  88. package/build/angular/elements.d.ts +6 -516
  89. package/build/angular/elements.js +8 -1091
  90. package/build/angular/elements.js.map +1 -1
  91. package/build/angular/finalization-registry.d.ts +4 -0
  92. package/build/angular/finalization-registry.js +17 -0
  93. package/build/angular/finalization-registry.js.map +1 -0
  94. package/build/angular/host-instance/index.d.ts +2 -0
  95. package/build/angular/host-instance/index.js +4 -4
  96. package/build/angular/host-instance/index.js.map +1 -1
  97. package/build/angular/index.d.ts +9 -4
  98. package/build/angular/index.js +8 -3
  99. package/build/angular/index.js.map +1 -1
  100. package/build/angular/native-view-base.d.ts +27 -0
  101. package/build/angular/native-view-base.js +69 -0
  102. package/build/angular/native-view-base.js.map +1 -0
  103. package/build/angular/render/index.d.ts +2 -1
  104. package/build/angular/render/index.js +46 -73
  105. package/build/angular/render/index.js.map +1 -1
  106. package/build/angular/services/connect-watched-signal.d.ts +2 -0
  107. package/build/angular/services/connect-watched-signal.js +9 -0
  108. package/build/angular/services/connect-watched-signal.js.map +1 -0
  109. package/build/angular/services/create-event-value-hook.d.ts +3 -0
  110. package/build/angular/services/create-event-value-hook.js +17 -0
  111. package/build/angular/services/create-event-value-hook.js.map +1 -0
  112. package/build/angular/services/create-resource-hook.d.ts +7 -0
  113. package/build/angular/services/create-resource-hook.js +20 -0
  114. package/build/angular/services/create-resource-hook.js.map +1 -0
  115. package/build/angular/services/index.d.ts +5 -0
  116. package/build/angular/services/index.js +5 -0
  117. package/build/angular/services/index.js.map +1 -1
  118. package/build/angular/services/inject-event.d.ts +6 -0
  119. package/build/angular/services/inject-event.js +24 -0
  120. package/build/angular/services/inject-event.js.map +1 -0
  121. package/build/angular/services/permissions-service-base.d.ts +14 -0
  122. package/build/angular/services/permissions-service-base.js +38 -0
  123. package/build/angular/services/permissions-service-base.js.map +1 -0
  124. package/package.json +6 -6
  125. package/src/accessibility-events.ts +13 -0
  126. package/src/accessibility-inputs.ts +89 -0
  127. package/src/bootstrap.ts +6 -2
  128. package/src/components/checkbox-props.ts +12 -0
  129. package/src/components/flat-list/flat-list-template.ts +159 -0
  130. package/src/components/flat-list/index.ts +30 -307
  131. package/src/components/keyboard-avoiding-view/index.ts +4 -78
  132. package/src/components/modal/index.ts +7 -80
  133. package/src/components/section-list/index.ts +21 -172
  134. package/src/components/virtualized-list/cell-registry.ts +199 -0
  135. package/src/components/virtualized-list/index.ts +145 -1181
  136. package/src/components/virtualized-list/list-a11y-forward.ts +42 -0
  137. package/src/components/virtualized-list/list-bags.ts +142 -0
  138. package/src/components/virtualized-list/list-effects.ts +116 -0
  139. package/src/components/virtualized-list/list-events.ts +31 -0
  140. package/src/components/virtualized-list/list-handle.ts +92 -0
  141. package/src/components/virtualized-list/list-inputs.ts +149 -0
  142. package/src/components/virtualized-list/list-props.ts +81 -0
  143. package/src/components/virtualized-list/list-styles.ts +62 -0
  144. package/src/components/virtualized-list/list-template.ts +175 -0
  145. package/src/components/virtualized-section-list/index.ts +40 -351
  146. package/src/components/virtualized-section-list/section-list-template.ts +108 -0
  147. package/src/components.ts +1 -0
  148. package/src/descriptor-to-angular/descriptor-host.ts +27 -0
  149. package/src/descriptor-to-angular/index.ts +5 -0
  150. package/src/element-base.ts +272 -0
  151. package/src/elements-controls.ts +282 -0
  152. package/src/elements-layout.ts +141 -0
  153. package/src/elements-press.ts +145 -0
  154. package/src/elements.ts +73 -788
  155. package/src/finalization-registry.ts +18 -0
  156. package/src/host-instance/index.ts +4 -4
  157. package/src/index.ts +18 -2
  158. package/src/native-view-base.ts +86 -0
  159. package/src/render/index.ts +76 -77
  160. package/src/services/connect-watched-signal.ts +15 -0
  161. package/src/services/create-event-value-hook.ts +24 -0
  162. package/src/services/create-resource-hook.ts +32 -0
  163. package/src/services/index.ts +5 -0
  164. package/src/services/inject-event.ts +52 -0
  165. package/src/services/permissions-service-base.ts +46 -0
@@ -1,9 +1,8 @@
1
- import { EventEmitter } from '@angular/core';
2
- import type { IAccessibilityProps, IAccessibilityStateValue, IAriaProps, IScrollViewHandle, ISection, IVirtualizedSectionListHandle } from '@symbiote-native/components';
1
+ import type { IScrollViewHandle, ISection, IVirtualizedSectionListHandle } from '@symbiote-native/components';
3
2
  import { type IStyleProp, type ISymbioteEvent, type ISymbioteNode, type IViewStyle } from '@symbiote-native/engine';
4
3
  import { VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListSeparatorDirective, type IVListSeparatorContext } from '../virtualized-list';
4
+ import { ListEventsBase } from '../virtualized-list/list-events';
5
5
  import { VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective, VSectionSeparatorDirective, type IVirtualizedSectionListProps } from '../virtualized-section-list';
6
- import { type IGatedAccessibilityEvent } from '../../gate-demand';
7
6
  import * as i0 from "@angular/core";
8
7
  import * as i1 from "../../primitives/shared";
9
8
  export type { ISection } from '@symbiote-native/components';
@@ -12,7 +11,7 @@ export { VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective
12
11
  export { VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListSeparatorDirective, } from '../virtualized-list';
13
12
  export type ISectionListProps<ItemT> = IVirtualizedSectionListProps<ItemT>;
14
13
  export type ISectionListInputs<ItemT> = Omit<ISectionListProps<ItemT>, 'onEndReached' | 'onStartReached' | 'onRefresh' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
15
- export declare class SectionList<ItemT = unknown> implements ISectionListInputs<ItemT>, IVirtualizedSectionListHandle {
14
+ export declare class SectionList<ItemT = unknown> extends ListEventsBase implements ISectionListInputs<ItemT>, IVirtualizedSectionListHandle {
16
15
  sections: ReadonlyArray<ISection<ItemT>>;
17
16
  keyExtractor?: (item: ItemT, index: number) => string;
18
17
  getItemLayout?: (data: ReadonlyArray<ISection<ItemT>> | null, index: number) => {
@@ -22,15 +21,8 @@ export declare class SectionList<ItemT = unknown> implements ISectionListInputs<
22
21
  };
23
22
  stickySectionHeadersEnabled?: boolean;
24
23
  extraData?: unknown;
25
- readonly endReached: EventEmitter<{
26
- distanceFromEnd: number;
27
- }>;
28
24
  onEndReachedThreshold?: number;
29
- readonly startReached: EventEmitter<{
30
- distanceFromStart: number;
31
- }>;
32
25
  onStartReachedThreshold?: number;
33
- readonly refresh: EventEmitter<void>;
34
26
  refreshing?: boolean | null;
35
27
  progressViewOffset?: number;
36
28
  initialNumToRender?: number;
@@ -59,45 +51,6 @@ export declare class SectionList<ItemT = unknown> implements ISectionListInputs<
59
51
  nativeID?: string;
60
52
  private cachedResolvedStyle;
61
53
  get resolvedStyle(): IViewStyle;
62
- accessible?: boolean;
63
- accessibilityLabel?: string;
64
- accessibilityHint?: string;
65
- accessibilityRole?: IAccessibilityProps['accessibilityRole'];
66
- accessibilityState?: IAccessibilityStateValue;
67
- accessibilityValue?: IAccessibilityProps['accessibilityValue'];
68
- accessibilityActions?: IAccessibilityProps['accessibilityActions'];
69
- accessibilityLabelledBy?: string | string[];
70
- importantForAccessibility?: IAccessibilityProps['importantForAccessibility'];
71
- accessibilityLiveRegion?: IAccessibilityProps['accessibilityLiveRegion'];
72
- screenReaderFocusable?: boolean;
73
- accessibilityViewIsModal?: boolean;
74
- accessibilityElementsHidden?: boolean;
75
- accessibilityIgnoresInvertColors?: boolean;
76
- accessibilityLanguage?: string;
77
- accessibilityRespondsToUserInteraction?: boolean;
78
- accessibilityShowsLargeContentViewer?: boolean;
79
- accessibilityLargeContentTitle?: string;
80
- readonly accessibilityAction: EventEmitter<ISymbioteEvent>;
81
- readonly accessibilityTap: EventEmitter<ISymbioteEvent>;
82
- readonly magicTap: EventEmitter<ISymbioteEvent>;
83
- readonly accessibilityEscape: EventEmitter<ISymbioteEvent>;
84
- private readonly gateDemandAbove;
85
- wantsGate(name: IGatedAccessibilityEvent): boolean;
86
- role?: IAriaProps['role'];
87
- ariaLabel?: string;
88
- ariaLabelledBy?: string;
89
- ariaLive?: IAriaProps['aria-live'];
90
- ariaHidden?: boolean;
91
- ariaBusy?: boolean;
92
- ariaChecked?: boolean | 'mixed';
93
- ariaDisabled?: boolean;
94
- ariaExpanded?: boolean;
95
- ariaSelected?: boolean;
96
- ariaModal?: boolean;
97
- ariaValueMax?: number;
98
- ariaValueMin?: number;
99
- ariaValueNow?: number;
100
- ariaValueText?: string;
101
54
  sectionItemDir?: VSectionItemDirective<ItemT>;
102
55
  sectionHeaderDir?: VSectionHeaderDirective<ItemT>;
103
56
  sectionFooterDir?: VSectionFooterDirective<ItemT>;
@@ -123,5 +76,5 @@ export declare class SectionList<ItemT = unknown> implements ISectionListInputs<
123
76
  getScrollNode(): ISymbioteNode | null;
124
77
  recordInteraction(): void;
125
78
  static ɵfac: i0.ɵɵFactoryDeclaration<SectionList<any>, never>;
126
- static ɵcmp: i0.ɵɵComponentDeclaration<SectionList<any>, "SectionList", 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; }; "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; }; "removeClippedSubviews": { "alias": "removeClippedSubviews"; "required": false; }; "nestedScrollEnabled": { "alias": "nestedScrollEnabled"; "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: {}; }]>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<SectionList<any>, "SectionList", 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; }; "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; }; "removeClippedSubviews": { "alias": "removeClippedSubviews"; "required": false; }; "nestedScrollEnabled": { "alias": "nestedScrollEnabled"; "required": false; }; "style": { "alias": "style"; "required": false; }; "contentContainerStyle": { "alias": "contentContainerStyle"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "required": false; }; }, {}, ["sectionItemDir", "sectionHeaderDir", "sectionFooterDir", "sectionSeparatorDir", "listHeaderDir", "listFooterDir", "listEmptyDir", "itemSeparatorDir"], never, true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
127
80
  }
@@ -1,79 +1,37 @@
1
- // SectionList, the Angular public list-of-sections component. A thin convenience surface over
2
- // VirtualizedSectionList, mirroring RN's layering (SectionList -> VirtualizedSectionList ->
3
- // VirtualizedList). All section-flattening / windowing / sticky-header / imperative-scroll logic
4
- // lives below; this layer re-exposes the same surface under the SectionList name and delegates
5
- // the handle to the inner VirtualizedSectionList.
6
- //
7
- // SectionList is a PURE FORWARDER: its public prop surface IS VirtualizedSectionList's (RN layers
8
- // them one-for-one), and the SectionList-flavour defaults (stickySectionHeadersEnabled per
9
- // Platform.OS, the section entry keyExtractor) already live INSIDE VirtualizedSectionList — double-
10
- // applying them here would fight it. Angular has no attrs-spread (unlike Vue's $attrs), so every
11
- // prop is forwarded as an explicit @Input binding, except the seven list-lifecycle events
12
- // (endReached/startReached/refresh/accessibilityAction/accessibilityTap/magicTap/
13
- // accessibilityEscape), which are real @Output() EventEmitters re-emitted via a listener binding.
14
- //
15
- // TEMPLATE FORWARDING — RE-STAMP, the same pattern FlatList's single-column branch uses (see
16
- // flat-list/index.ts). A bare `<ng-content></ng-content>` passthrough does NOT let
17
- // VirtualizedSectionList's own @ContentChild resolve directives across a SECOND projection hop —
18
- // Angular's content queries resolve only against what was projected directly onto the querying
19
- // component's OWN tag. So SectionList captures the app's `<ng-template vSectionItem>` /
20
- // vSectionHeader / vSectionFooter / vSectionSeparator / vListHeader / vListFooter / vListEmpty /
21
- // vListSeparator with its OWN @ContentChild (a single, direct hop — always resolves) and
22
- // re-authors equivalent `<ng-template>`s on `<VirtualizedSectionList>`, forwarding the captured
23
- // templateRef + context through VListOutletDirective — mirroring how VirtualizedSectionList itself
24
- // re-stamps its own captured directives onto its inner VirtualizedList.
25
- import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, Input, Output, ViewChild, inject, } from '@angular/core';
1
+ // SectionList, a pure forwarder over VirtualizedSectionList, mirroring RN's layering
2
+ // A content query does not resolve across a second `<ng-content>` hop, so the app's templates are
3
+ // captured here and re-stamped onto the inner list
4
+ import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, Input, ViewChild, inject, } from '@angular/core';
26
5
  import {} from '@symbiote-native/engine';
27
6
  import { VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListSeparatorDirective, } from '../virtualized-list';
28
7
  import { VListOutletDirective } from '../virtualized-list/directives';
8
+ import { LIST_ACCESSIBILITY_FORWARD } from '../virtualized-list/list-a11y-forward';
9
+ import { ListEventsBase } from '../virtualized-list/list-events';
10
+ import { provideGateDemand } from '../../gate-demand';
29
11
  import { stableAnchorStyle, SymbioteStyleInputDirective, } from '../../primitives';
30
12
  import { VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective, VSectionSeparatorDirective, VirtualizedSectionList, } from '../virtualized-section-list';
31
- import { gateWanted, injectGateDemandAbove, provideGateDemand, } from '../../gate-demand';
32
13
  import * as i0 from "@angular/core";
33
14
  import * as i1 from "../../primitives/shared";
34
- // Angular cannot preserve VListSeparatorDirective<ItemT>'s type parameter across this re-stamp
35
- // reuse (the directive is matched structurally in SectionList's own template with no explicit type
36
- // argument to pin ItemT to, so `let-leadingItem`/`let-trailingItem` arrive typed `unknown`) — even
37
- // though VirtualizedSectionList's own unwrap always supplies a real ItemT value. The narrowest
38
- // possible I/O-boundary cast for that gap; not a general-purpose unknown-to-T narrowing (mirrors
39
- // flat-list/index.ts's identical asItem helper).
15
+ // The separator context arrives typed `unknown`, the directive is matched structurally in the
16
+ // template with no type argument to pin the item type. The narrowest cast for that gap
40
17
  function asItem(value) {
41
18
  return value;
42
19
  }
43
- // Re-export the section authoring directives + the list-level slot directives so app code importing
44
- // from '@symbiote-native/angular' gets the full `<ng-template vSection*>` / `vList*` authoring surface
45
- // alongside SectionList (mirrors how virtualized-section-list/index re-exports the section ones and
46
- // FlatList re-exports the list-level ones).
20
+ // Re-exported so app code gets the whole `vSection*` and `vList*` authoring surface from here
47
21
  export { VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective, VSectionSeparatorDirective, } from '../virtualized-section-list';
48
22
  export { VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListSeparatorDirective, } from '../virtualized-list';
49
- export class SectionList {
23
+ export class SectionList extends ListEventsBase {
50
24
  constructor() {
51
- this.endReached = new EventEmitter();
52
- this.startReached = new EventEmitter();
53
- this.refresh = new EventEmitter();
54
- this.accessibilityAction = new EventEmitter();
55
- this.accessibilityTap = new EventEmitter();
56
- this.magicTap = new EventEmitter();
57
- this.accessibilityEscape = new EventEmitter();
58
- // This wrapper binds the four gated accessibility events on the component it renders, which
59
- // Angular forces to be unconditional and which would light that component's gates on every
60
- // instance. It answers for them instead — see `gate-demand.ts`.
61
- this.gateDemandAbove = injectGateDemandAbove();
62
- // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
63
- // onto (see anchorHostStyle's doc comment) — NOT `list` above, which targets the real inner
64
- // `<VirtualizedSectionList>` one level down (itself its own separate anchor host).
25
+ super(...arguments);
26
+ // This component's own host, the anchor `class="..."` resolves onto, not the inner list's
65
27
  this.elementRef = inject(ElementRef);
66
28
  }
67
29
  get resolvedStyle() {
68
30
  this.cachedResolvedStyle = stableAnchorStyle(this.elementRef, this.style, this.cachedResolvedStyle);
69
31
  return this.cachedResolvedStyle;
70
32
  }
71
- wantsGate(name) {
72
- return gateWanted(this.gateDemandAbove, name, this[name]);
73
- }
74
- // The item separator context: leadingItem/trailingItem arrive `unknown` from the template's `let`
75
- // bindings (see the asItem boundary comment above), already-unwrapped real items (no envelope to
76
- // narrow through, unlike a section header/footer entry).
33
+ // The leading and trailing items arrive `unknown` from the template's `let` bindings, already
34
+ // unwrapped to real items
77
35
  itemSeparatorContext(highlighted, leadingItem, trailingItem) {
78
36
  const isHighlighted = highlighted === true;
79
37
  return {
@@ -83,7 +41,6 @@ export class SectionList {
83
41
  trailingItem: asItem(trailingItem),
84
42
  };
85
43
  }
86
- // ---- imperative handle (the shared IVirtualizedSectionListHandle surface) — delegates down ----
87
44
  scrollToLocation(params) {
88
45
  this.list?.scrollToLocation(params);
89
46
  }
@@ -105,162 +62,8 @@ export class SectionList {
105
62
  recordInteraction() {
106
63
  this.list?.recordInteraction();
107
64
  }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SectionList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SectionList, isStandalone: true, selector: "SectionList", inputs: { sections: "sections", keyExtractor: "keyExtractor", getItemLayout: "getItemLayout", stickySectionHeadersEnabled: "stickySectionHeadersEnabled", extraData: "extraData", onEndReachedThreshold: "onEndReachedThreshold", onStartReachedThreshold: "onStartReachedThreshold", refreshing: "refreshing", progressViewOffset: "progressViewOffset", 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", removeClippedSubviews: "removeClippedSubviews", nestedScrollEnabled: "nestedScrollEnabled", 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: VirtualizedSectionList, descendants: true }], hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
110
- <VirtualizedSectionList
111
- [sections]="sections"
112
- [keyExtractor]="keyExtractor"
113
- [getItemLayout]="getItemLayout"
114
- [stickySectionHeadersEnabled]="stickySectionHeadersEnabled"
115
- [extraData]="extraData"
116
- (endReached)="endReached.emit($event)"
117
- [onEndReachedThreshold]="onEndReachedThreshold"
118
- (startReached)="startReached.emit($event)"
119
- [onStartReachedThreshold]="onStartReachedThreshold"
120
- (refresh)="refresh.emit()"
121
- [refreshRequested]="refresh.observed"
122
- [refreshing]="refreshing"
123
- [progressViewOffset]="progressViewOffset"
124
- [initialNumToRender]="initialNumToRender"
125
- [initialScrollIndex]="initialScrollIndex"
126
- [maxToRenderPerBatch]="maxToRenderPerBatch"
127
- [updateCellsBatchingPeriod]="updateCellsBatchingPeriod"
128
- [windowSize]="windowSize"
129
- [inverted]="inverted"
130
- [maintainVisibleContentPosition]="maintainVisibleContentPosition"
131
- [onScroll]="onScroll"
132
- [onScrollBeginDrag]="onScrollBeginDrag"
133
- [onScrollEndDrag]="onScrollEndDrag"
134
- [onMomentumScrollBegin]="onMomentumScrollBegin"
135
- [onMomentumScrollEnd]="onMomentumScrollEnd"
136
- [scrollEventThrottle]="scrollEventThrottle"
137
- [keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
138
- [keyboardDismissMode]="keyboardDismissMode"
139
- [removeClippedSubviews]="removeClippedSubviews"
140
- [nestedScrollEnabled]="nestedScrollEnabled"
141
- [style]="resolvedStyle"
142
- [contentContainerStyle]="contentContainerStyle"
143
- [testID]="testID"
144
- [nativeID]="nativeID"
145
- [accessible]="accessible"
146
- [accessibilityLabel]="accessibilityLabel"
147
- [accessibilityHint]="accessibilityHint"
148
- [accessibilityRole]="accessibilityRole"
149
- [accessibilityState]="accessibilityState"
150
- [accessibilityValue]="accessibilityValue"
151
- [accessibilityActions]="accessibilityActions"
152
- [accessibilityLabelledBy]="accessibilityLabelledBy"
153
- [importantForAccessibility]="importantForAccessibility"
154
- [accessibilityLiveRegion]="accessibilityLiveRegion"
155
- [screenReaderFocusable]="screenReaderFocusable"
156
- [accessibilityViewIsModal]="accessibilityViewIsModal"
157
- [accessibilityElementsHidden]="accessibilityElementsHidden"
158
- [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
159
- [accessibilityLanguage]="accessibilityLanguage"
160
- [accessibilityRespondsToUserInteraction]="
161
- accessibilityRespondsToUserInteraction
162
- "
163
- [accessibilityShowsLargeContentViewer]="
164
- accessibilityShowsLargeContentViewer
165
- "
166
- [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
167
- (accessibilityAction)="accessibilityAction.emit($event)"
168
- (accessibilityTap)="accessibilityTap.emit($event)"
169
- (magicTap)="magicTap.emit($event)"
170
- (accessibilityEscape)="accessibilityEscape.emit($event)"
171
- [role]="role"
172
- [ariaLabel]="ariaLabel"
173
- [ariaLabelledBy]="ariaLabelledBy"
174
- [ariaLive]="ariaLive"
175
- [ariaHidden]="ariaHidden"
176
- [ariaBusy]="ariaBusy"
177
- [ariaChecked]="ariaChecked"
178
- [ariaDisabled]="ariaDisabled"
179
- [ariaExpanded]="ariaExpanded"
180
- [ariaSelected]="ariaSelected"
181
- [ariaModal]="ariaModal"
182
- [ariaValueMax]="ariaValueMax"
183
- [ariaValueMin]="ariaValueMin"
184
- [ariaValueNow]="ariaValueNow"
185
- [ariaValueText]="ariaValueText"
186
- >
187
- <ng-template
188
- vSectionItem
189
- let-item
190
- let-index="index"
191
- let-section="section"
192
- let-separators="separators"
193
- >
194
- <ng-container
195
- [vListOutlet]="sectionItemDir?.templateRef"
196
- [vListOutletContext]="{
197
- $implicit: item,
198
- item,
199
- index,
200
- section,
201
- separators,
202
- }"
203
- ></ng-container>
204
- </ng-template>
205
- @if (sectionHeaderDir !== undefined) {
206
- <ng-template vSectionHeader let-section>
207
- <ng-container
208
- [vListOutlet]="sectionHeaderDir.templateRef"
209
- [vListOutletContext]="{ $implicit: section, section }"
210
- ></ng-container>
211
- </ng-template>
212
- }
213
- @if (sectionFooterDir !== undefined) {
214
- <ng-template vSectionFooter let-section>
215
- <ng-container
216
- [vListOutlet]="sectionFooterDir.templateRef"
217
- [vListOutletContext]="{ $implicit: section, section }"
218
- ></ng-container>
219
- </ng-template>
220
- }
221
- @if (sectionSeparatorDir !== undefined) {
222
- <ng-template vSectionSeparator>
223
- <ng-container
224
- [vListOutlet]="sectionSeparatorDir.templateRef"
225
- ></ng-container>
226
- </ng-template>
227
- }
228
- @if (listHeaderDir !== undefined) {
229
- <ng-template vListHeader>
230
- <ng-container
231
- [vListOutlet]="listHeaderDir.templateRef"
232
- ></ng-container>
233
- </ng-template>
234
- }
235
- @if (listFooterDir !== undefined) {
236
- <ng-template vListFooter>
237
- <ng-container
238
- [vListOutlet]="listFooterDir.templateRef"
239
- ></ng-container>
240
- </ng-template>
241
- }
242
- @if (listEmptyDir !== undefined) {
243
- <ng-template vListEmpty>
244
- <ng-container [vListOutlet]="listEmptyDir.templateRef"></ng-container>
245
- </ng-template>
246
- }
247
- @if (itemSeparatorDir !== undefined) {
248
- <ng-template
249
- vListSeparator
250
- let-highlighted="highlighted"
251
- let-leadingItem="leadingItem"
252
- let-trailingItem="trailingItem"
253
- >
254
- <ng-container
255
- [vListOutlet]="itemSeparatorDir.templateRef"
256
- [vListOutletContext]="
257
- itemSeparatorContext(highlighted, leadingItem, trailingItem)
258
- "
259
- ></ng-container>
260
- </ng-template>
261
- }
262
- </VirtualizedSectionList>
263
- `, isInline: true, dependencies: [{ kind: "component", type: VirtualizedSectionList, selector: "VirtualizedSectionList", inputs: ["sections", "keyExtractor", "getItemLayout", "stickySectionHeadersEnabled", "extraData", "onEndReachedThreshold", "onStartReachedThreshold", "refreshing", "progressViewOffset", "refreshRequested", "initialNumToRender", "initialScrollIndex", "maxToRenderPerBatch", "updateCellsBatchingPeriod", "windowSize", "inverted", "maintainVisibleContentPosition", "onScroll", "onScrollBeginDrag", "onScrollEndDrag", "onMomentumScrollBegin", "onMomentumScrollEnd", "scrollEventThrottle", "keyboardShouldPersistTaps", "keyboardDismissMode", "removeClippedSubviews", "nestedScrollEnabled", "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", "accessibilityAction", "accessibilityTap", "magicTap", "accessibilityEscape"] }, { kind: "directive", type: VSectionItemDirective, selector: "[vSectionItem]" }, { kind: "directive", type: VSectionHeaderDirective, selector: "[vSectionHeader]" }, { kind: "directive", type: VSectionFooterDirective, selector: "[vSectionFooter]" }, { kind: "directive", type: VSectionSeparatorDirective, selector: "[vSectionSeparator]" }, { 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(() => SectionList)], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SectionList, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SectionList, isStandalone: true, selector: "SectionList", inputs: { sections: "sections", keyExtractor: "keyExtractor", getItemLayout: "getItemLayout", stickySectionHeadersEnabled: "stickySectionHeadersEnabled", extraData: "extraData", onEndReachedThreshold: "onEndReachedThreshold", onStartReachedThreshold: "onStartReachedThreshold", refreshing: "refreshing", progressViewOffset: "progressViewOffset", 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", removeClippedSubviews: "removeClippedSubviews", nestedScrollEnabled: "nestedScrollEnabled", style: "style", contentContainerStyle: "contentContainerStyle", testID: "testID", nativeID: "nativeID" }, 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: VirtualizedSectionList, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: "\n <VirtualizedSectionList\n [sections]=\"sections\"\n [keyExtractor]=\"keyExtractor\"\n [getItemLayout]=\"getItemLayout\"\n [stickySectionHeadersEnabled]=\"stickySectionHeadersEnabled\"\n [extraData]=\"extraData\"\n (endReached)=\"endReached.emit($event)\"\n [onEndReachedThreshold]=\"onEndReachedThreshold\"\n (startReached)=\"startReached.emit($event)\"\n [onStartReachedThreshold]=\"onStartReachedThreshold\"\n (refresh)=\"refresh.emit()\"\n [refreshRequested]=\"refresh.observed\"\n [refreshing]=\"refreshing\"\n [progressViewOffset]=\"progressViewOffset\"\n [initialNumToRender]=\"initialNumToRender\"\n [initialScrollIndex]=\"initialScrollIndex\"\n [maxToRenderPerBatch]=\"maxToRenderPerBatch\"\n [updateCellsBatchingPeriod]=\"updateCellsBatchingPeriod\"\n [windowSize]=\"windowSize\"\n [inverted]=\"inverted\"\n [maintainVisibleContentPosition]=\"maintainVisibleContentPosition\"\n [onScroll]=\"onScroll\"\n [onScrollBeginDrag]=\"onScrollBeginDrag\"\n [onScrollEndDrag]=\"onScrollEndDrag\"\n [onMomentumScrollBegin]=\"onMomentumScrollBegin\"\n [onMomentumScrollEnd]=\"onMomentumScrollEnd\"\n [scrollEventThrottle]=\"scrollEventThrottle\"\n [keyboardShouldPersistTaps]=\"keyboardShouldPersistTaps\"\n [keyboardDismissMode]=\"keyboardDismissMode\"\n [removeClippedSubviews]=\"removeClippedSubviews\"\n [nestedScrollEnabled]=\"nestedScrollEnabled\"\n [style]=\"resolvedStyle\"\n [contentContainerStyle]=\"contentContainerStyle\"\n [testID]=\"testID\"\n [nativeID]=\"nativeID\"\n \n [accessible]=\"accessible\"\n [accessibilityLabel]=\"accessibilityLabel\"\n [accessibilityHint]=\"accessibilityHint\"\n [accessibilityRole]=\"accessibilityRole\"\n [accessibilityState]=\"accessibilityState\"\n [accessibilityValue]=\"accessibilityValue\"\n [accessibilityActions]=\"accessibilityActions\"\n [accessibilityLabelledBy]=\"accessibilityLabelledBy\"\n [importantForAccessibility]=\"importantForAccessibility\"\n [accessibilityLiveRegion]=\"accessibilityLiveRegion\"\n [screenReaderFocusable]=\"screenReaderFocusable\"\n [accessibilityViewIsModal]=\"accessibilityViewIsModal\"\n [accessibilityElementsHidden]=\"accessibilityElementsHidden\"\n [accessibilityIgnoresInvertColors]=\"accessibilityIgnoresInvertColors\"\n [accessibilityLanguage]=\"accessibilityLanguage\"\n [accessibilityRespondsToUserInteraction]=\"accessibilityRespondsToUserInteraction\"\n [accessibilityShowsLargeContentViewer]=\"accessibilityShowsLargeContentViewer\"\n [accessibilityLargeContentTitle]=\"accessibilityLargeContentTitle\"\n (accessibilityAction)=\"accessibilityAction.emit($event)\"\n (accessibilityTap)=\"accessibilityTap.emit($event)\"\n (magicTap)=\"magicTap.emit($event)\"\n (accessibilityEscape)=\"accessibilityEscape.emit($event)\"\n [role]=\"role\"\n [aria-label]=\"ariaLabel\"\n [aria-labelledby]=\"ariaLabelledBy\"\n [aria-live]=\"ariaLive\"\n [aria-hidden]=\"ariaHidden\"\n [aria-busy]=\"ariaBusy\"\n [aria-checked]=\"ariaChecked\"\n [aria-disabled]=\"ariaDisabled\"\n [aria-expanded]=\"ariaExpanded\"\n [aria-selected]=\"ariaSelected\"\n [aria-modal]=\"ariaModal\"\n [aria-valuemax]=\"ariaValueMax\"\n [aria-valuemin]=\"ariaValueMin\"\n [aria-valuenow]=\"ariaValueNow\"\n [aria-valuetext]=\"ariaValueText\"\n\n >\n <ng-template\n vSectionItem\n let-item\n let-index=\"index\"\n let-section=\"section\"\n let-separators=\"separators\"\n >\n <ng-container\n [vListOutlet]=\"sectionItemDir?.templateRef\"\n [vListOutletContext]=\"{\n $implicit: item,\n item,\n index,\n section,\n separators,\n }\"\n ></ng-container>\n </ng-template>\n @if (sectionHeaderDir !== undefined) {\n <ng-template vSectionHeader let-section>\n <ng-container\n [vListOutlet]=\"sectionHeaderDir.templateRef\"\n [vListOutletContext]=\"{ $implicit: section, section }\"\n ></ng-container>\n </ng-template>\n }\n @if (sectionFooterDir !== undefined) {\n <ng-template vSectionFooter let-section>\n <ng-container\n [vListOutlet]=\"sectionFooterDir.templateRef\"\n [vListOutletContext]=\"{ $implicit: section, section }\"\n ></ng-container>\n </ng-template>\n }\n @if (sectionSeparatorDir !== undefined) {\n <ng-template vSectionSeparator>\n <ng-container\n [vListOutlet]=\"sectionSeparatorDir.templateRef\"\n ></ng-container>\n </ng-template>\n }\n @if (listHeaderDir !== undefined) {\n <ng-template vListHeader>\n <ng-container\n [vListOutlet]=\"listHeaderDir.templateRef\"\n ></ng-container>\n </ng-template>\n }\n @if (listFooterDir !== undefined) {\n <ng-template vListFooter>\n <ng-container\n [vListOutlet]=\"listFooterDir.templateRef\"\n ></ng-container>\n </ng-template>\n }\n @if (listEmptyDir !== undefined) {\n <ng-template vListEmpty>\n <ng-container [vListOutlet]=\"listEmptyDir.templateRef\"></ng-container>\n </ng-template>\n }\n @if (itemSeparatorDir !== undefined) {\n <ng-template\n vListSeparator\n let-highlighted=\"highlighted\"\n let-leadingItem=\"leadingItem\"\n let-trailingItem=\"trailingItem\"\n >\n <ng-container\n [vListOutlet]=\"itemSeparatorDir.templateRef\"\n [vListOutletContext]=\"\n itemSeparatorContext(highlighted, leadingItem, trailingItem)\n \"\n ></ng-container>\n </ng-template>\n }\n </VirtualizedSectionList>\n ", isInline: true, dependencies: [{ kind: "component", type: VirtualizedSectionList, selector: "VirtualizedSectionList", inputs: ["sections", "keyExtractor", "getItemLayout", "stickySectionHeadersEnabled", "extraData", "onEndReachedThreshold", "onStartReachedThreshold", "refreshing", "progressViewOffset", "refreshRequested", "initialNumToRender", "initialScrollIndex", "maxToRenderPerBatch", "updateCellsBatchingPeriod", "windowSize", "inverted", "maintainVisibleContentPosition", "onScroll", "onScrollBeginDrag", "onScrollEndDrag", "onMomentumScrollBegin", "onMomentumScrollEnd", "scrollEventThrottle", "keyboardShouldPersistTaps", "keyboardDismissMode", "removeClippedSubviews", "nestedScrollEnabled", "style", "contentContainerStyle", "testID", "nativeID"] }, { kind: "directive", type: VSectionItemDirective, selector: "[vSectionItem]" }, { kind: "directive", type: VSectionHeaderDirective, selector: "[vSectionHeader]" }, { kind: "directive", type: VSectionFooterDirective, selector: "[vSectionFooter]" }, { kind: "directive", type: VSectionSeparatorDirective, selector: "[vSectionSeparator]" }, { 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(() => SectionList)], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
264
67
  }
265
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SectionList, decorators: [{
266
69
  type: Component,
@@ -320,47 +123,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
320
123
  [contentContainerStyle]="contentContainerStyle"
321
124
  [testID]="testID"
322
125
  [nativeID]="nativeID"
323
- [accessible]="accessible"
324
- [accessibilityLabel]="accessibilityLabel"
325
- [accessibilityHint]="accessibilityHint"
326
- [accessibilityRole]="accessibilityRole"
327
- [accessibilityState]="accessibilityState"
328
- [accessibilityValue]="accessibilityValue"
329
- [accessibilityActions]="accessibilityActions"
330
- [accessibilityLabelledBy]="accessibilityLabelledBy"
331
- [importantForAccessibility]="importantForAccessibility"
332
- [accessibilityLiveRegion]="accessibilityLiveRegion"
333
- [screenReaderFocusable]="screenReaderFocusable"
334
- [accessibilityViewIsModal]="accessibilityViewIsModal"
335
- [accessibilityElementsHidden]="accessibilityElementsHidden"
336
- [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
337
- [accessibilityLanguage]="accessibilityLanguage"
338
- [accessibilityRespondsToUserInteraction]="
339
- accessibilityRespondsToUserInteraction
340
- "
341
- [accessibilityShowsLargeContentViewer]="
342
- accessibilityShowsLargeContentViewer
343
- "
344
- [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
345
- (accessibilityAction)="accessibilityAction.emit($event)"
346
- (accessibilityTap)="accessibilityTap.emit($event)"
347
- (magicTap)="magicTap.emit($event)"
348
- (accessibilityEscape)="accessibilityEscape.emit($event)"
349
- [role]="role"
350
- [ariaLabel]="ariaLabel"
351
- [ariaLabelledBy]="ariaLabelledBy"
352
- [ariaLive]="ariaLive"
353
- [ariaHidden]="ariaHidden"
354
- [ariaBusy]="ariaBusy"
355
- [ariaChecked]="ariaChecked"
356
- [ariaDisabled]="ariaDisabled"
357
- [ariaExpanded]="ariaExpanded"
358
- [ariaSelected]="ariaSelected"
359
- [ariaModal]="ariaModal"
360
- [ariaValueMax]="ariaValueMax"
361
- [ariaValueMin]="ariaValueMin"
362
- [ariaValueNow]="ariaValueNow"
363
- [ariaValueText]="ariaValueText"
126
+ ${LIST_ACCESSIBILITY_FORWARD}
364
127
  >
365
128
  <ng-template
366
129
  vSectionItem
@@ -451,16 +214,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
451
214
  type: Input
452
215
  }], extraData: [{
453
216
  type: Input
454
- }], endReached: [{
455
- type: Output
456
217
  }], onEndReachedThreshold: [{
457
218
  type: Input
458
- }], startReached: [{
459
- type: Output
460
219
  }], onStartReachedThreshold: [{
461
220
  type: Input
462
- }], refresh: [{
463
- type: Output
464
221
  }], refreshing: [{
465
222
  type: Input
466
223
  }], progressViewOffset: [{
@@ -507,80 +264,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
507
264
  type: Input
508
265
  }], nativeID: [{
509
266
  type: Input
510
- }], accessible: [{
511
- type: Input
512
- }], accessibilityLabel: [{
513
- type: Input
514
- }], accessibilityHint: [{
515
- type: Input
516
- }], accessibilityRole: [{
517
- type: Input
518
- }], accessibilityState: [{
519
- type: Input
520
- }], accessibilityValue: [{
521
- type: Input
522
- }], accessibilityActions: [{
523
- type: Input
524
- }], accessibilityLabelledBy: [{
525
- type: Input
526
- }], importantForAccessibility: [{
527
- type: Input
528
- }], accessibilityLiveRegion: [{
529
- type: Input
530
- }], screenReaderFocusable: [{
531
- type: Input
532
- }], accessibilityViewIsModal: [{
533
- type: Input
534
- }], accessibilityElementsHidden: [{
535
- type: Input
536
- }], accessibilityIgnoresInvertColors: [{
537
- type: Input
538
- }], accessibilityLanguage: [{
539
- type: Input
540
- }], accessibilityRespondsToUserInteraction: [{
541
- type: Input
542
- }], accessibilityShowsLargeContentViewer: [{
543
- type: Input
544
- }], accessibilityLargeContentTitle: [{
545
- type: Input
546
- }], accessibilityAction: [{
547
- type: Output
548
- }], accessibilityTap: [{
549
- type: Output
550
- }], magicTap: [{
551
- type: Output
552
- }], accessibilityEscape: [{
553
- type: Output
554
- }], role: [{
555
- type: Input
556
- }], ariaLabel: [{
557
- type: Input
558
- }], ariaLabelledBy: [{
559
- type: Input
560
- }], ariaLive: [{
561
- type: Input
562
- }], ariaHidden: [{
563
- type: Input
564
- }], ariaBusy: [{
565
- type: Input
566
- }], ariaChecked: [{
567
- type: Input
568
- }], ariaDisabled: [{
569
- type: Input
570
- }], ariaExpanded: [{
571
- type: Input
572
- }], ariaSelected: [{
573
- type: Input
574
- }], ariaModal: [{
575
- type: Input
576
- }], ariaValueMax: [{
577
- type: Input
578
- }], ariaValueMin: [{
579
- type: Input
580
- }], ariaValueNow: [{
581
- type: Input
582
- }], ariaValueText: [{
583
- type: Input
584
267
  }], sectionItemDir: [{
585
268
  type: ContentChild,
586
269
  args: [VSectionItemDirective]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/section-list/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/section-list/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { type ISymbioteEvent } from '@symbiote-native/engine';
2
+ import type { IVListItemContext, IVListSeparatorContext } from './directives';
3
+ export interface IWindowCell<ItemT> {
4
+ key: string;
5
+ index: number;
6
+ context: IVListItemContext<ItemT>;
7
+ measure: (event: ISymbioteEvent) => void;
8
+ separatorContext?: IVListSeparatorContext<ItemT>;
9
+ isSticky: boolean;
10
+ }
11
+ export type ICellHost<ItemT> = {
12
+ itemAt: (index: number) => ItemT;
13
+ itemCount: () => number;
14
+ isHorizontal: () => boolean;
15
+ markForCheck: () => void;
16
+ measured: (index: number, length: number, offset: number | undefined) => void;
17
+ };
18
+ export declare class CellRegistry<ItemT> {
19
+ private readonly host;
20
+ private contexts;
21
+ private nextContexts;
22
+ private epoch;
23
+ private readonly separatorOverrides;
24
+ private readonly measures;
25
+ constructor(host: ICellHost<ItemT>);
26
+ beginPass(epoch: unknown[]): void;
27
+ clear(): void;
28
+ endPass(): void;
29
+ windowCell(index: number, key: string, includeSeparator: boolean, isSticky: boolean): IWindowCell<ItemT>;
30
+ private contextFor;
31
+ private separatorContextFor;
32
+ private measureFor;
33
+ private mergeSeparator;
34
+ private makeSeparators;
35
+ }