@symbiote-native/angular 3.1.2 → 3.2.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.
- package/build/angular/accessibility-events.d.ts +12 -0
- package/build/angular/accessibility-events.js +28 -0
- package/build/angular/accessibility-events.js.map +1 -0
- package/build/angular/accessibility-inputs.d.ts +40 -0
- package/build/angular/accessibility-inputs.js +130 -0
- package/build/angular/accessibility-inputs.js.map +1 -0
- package/build/angular/bootstrap.d.ts +3 -1
- package/build/angular/bootstrap.js +4 -1
- package/build/angular/bootstrap.js.map +1 -1
- package/build/angular/components/flat-list/flat-list-template.d.ts +1 -0
- package/build/angular/components/flat-list/flat-list-template.js +158 -0
- package/build/angular/components/flat-list/flat-list-template.js.map +1 -0
- package/build/angular/components/flat-list/index.d.ts +6 -61
- package/build/angular/components/flat-list/index.js +26 -463
- package/build/angular/components/flat-list/index.js.map +1 -1
- package/build/angular/components/keyboard-avoiding-view/index.d.ts +4 -40
- package/build/angular/components/keyboard-avoiding-view/index.js +7 -131
- package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
- package/build/angular/components/modal/index.d.ts +5 -41
- package/build/angular/components/modal/index.js +8 -133
- package/build/angular/components/modal/index.js.map +1 -1
- package/build/angular/components/section-list/index.d.ts +4 -51
- package/build/angular/components/section-list/index.js +18 -335
- package/build/angular/components/section-list/index.js.map +1 -1
- package/build/angular/components/virtualized-list/cell-registry.d.ts +35 -0
- package/build/angular/components/virtualized-list/cell-registry.js +133 -0
- package/build/angular/components/virtualized-list/cell-registry.js.map +1 -0
- package/build/angular/components/virtualized-list/index.d.ts +18 -253
- package/build/angular/components/virtualized-list/index.js +112 -1178
- package/build/angular/components/virtualized-list/index.js.map +1 -1
- package/build/angular/components/virtualized-list/list-a11y-forward.d.ts +1 -0
- package/build/angular/components/virtualized-list/list-a11y-forward.js +42 -0
- package/build/angular/components/virtualized-list/list-a11y-forward.js.map +1 -0
- package/build/angular/components/virtualized-list/list-bags.d.ts +32 -0
- package/build/angular/components/virtualized-list/list-bags.js +120 -0
- package/build/angular/components/virtualized-list/list-bags.js.map +1 -0
- package/build/angular/components/virtualized-list/list-effects.d.ts +31 -0
- package/build/angular/components/virtualized-list/list-effects.js +83 -0
- package/build/angular/components/virtualized-list/list-effects.js.map +1 -0
- package/build/angular/components/virtualized-list/list-events.d.ts +17 -0
- package/build/angular/components/virtualized-list/list-events.js +34 -0
- package/build/angular/components/virtualized-list/list-events.js.map +1 -0
- package/build/angular/components/virtualized-list/list-handle.d.ts +35 -0
- package/build/angular/components/virtualized-list/list-handle.js +61 -0
- package/build/angular/components/virtualized-list/list-handle.js.map +1 -0
- package/build/angular/components/virtualized-list/list-inputs.d.ts +78 -0
- package/build/angular/components/virtualized-list/list-inputs.js +150 -0
- package/build/angular/components/virtualized-list/list-inputs.js.map +1 -0
- package/build/angular/components/virtualized-list/list-props.d.ts +58 -0
- package/build/angular/components/virtualized-list/list-props.js +3 -0
- package/build/angular/components/virtualized-list/list-props.js.map +1 -0
- package/build/angular/components/virtualized-list/list-styles.d.ts +23 -0
- package/build/angular/components/virtualized-list/list-styles.js +26 -0
- package/build/angular/components/virtualized-list/list-styles.js.map +1 -0
- package/build/angular/components/virtualized-list/list-template.d.ts +1 -0
- package/build/angular/components/virtualized-list/list-template.js +176 -0
- package/build/angular/components/virtualized-list/list-template.js.map +1 -0
- package/build/angular/components/virtualized-section-list/index.d.ts +13 -70
- package/build/angular/components/virtualized-section-list/index.js +22 -455
- package/build/angular/components/virtualized-section-list/index.js.map +1 -1
- package/build/angular/components/virtualized-section-list/section-list-template.d.ts +1 -0
- package/build/angular/components/virtualized-section-list/section-list-template.js +107 -0
- package/build/angular/components/virtualized-section-list/section-list-template.js.map +1 -0
- package/build/angular/finalization-registry.d.ts +4 -0
- package/build/angular/finalization-registry.js +17 -0
- package/build/angular/finalization-registry.js.map +1 -0
- package/build/angular/index.d.ts +5 -1
- package/build/angular/index.js +5 -1
- package/build/angular/index.js.map +1 -1
- package/build/angular/native-view-base.d.ts +19 -0
- package/build/angular/native-view-base.js +48 -0
- package/build/angular/native-view-base.js.map +1 -0
- package/build/angular/render/index.d.ts +2 -1
- package/build/angular/render/index.js +46 -73
- package/build/angular/render/index.js.map +1 -1
- package/build/angular/services/connect-watched-signal.d.ts +2 -0
- package/build/angular/services/connect-watched-signal.js +9 -0
- package/build/angular/services/connect-watched-signal.js.map +1 -0
- package/build/angular/services/create-event-value-hook.d.ts +3 -0
- package/build/angular/services/create-event-value-hook.js +17 -0
- package/build/angular/services/create-event-value-hook.js.map +1 -0
- package/build/angular/services/create-resource-hook.d.ts +7 -0
- package/build/angular/services/create-resource-hook.js +20 -0
- package/build/angular/services/create-resource-hook.js.map +1 -0
- package/build/angular/services/index.d.ts +4 -0
- package/build/angular/services/index.js +4 -0
- package/build/angular/services/index.js.map +1 -1
- package/build/angular/services/permissions-service-base.d.ts +14 -0
- package/build/angular/services/permissions-service-base.js +38 -0
- package/build/angular/services/permissions-service-base.js.map +1 -0
- package/package.json +6 -6
- package/src/accessibility-events.ts +13 -0
- package/src/accessibility-inputs.ts +89 -0
- package/src/bootstrap.ts +6 -2
- package/src/components/flat-list/flat-list-template.ts +159 -0
- package/src/components/flat-list/index.ts +30 -307
- package/src/components/keyboard-avoiding-view/index.ts +4 -78
- package/src/components/modal/index.ts +7 -80
- package/src/components/section-list/index.ts +21 -172
- package/src/components/virtualized-list/cell-registry.ts +199 -0
- package/src/components/virtualized-list/index.ts +145 -1181
- package/src/components/virtualized-list/list-a11y-forward.ts +42 -0
- package/src/components/virtualized-list/list-bags.ts +142 -0
- package/src/components/virtualized-list/list-effects.ts +116 -0
- package/src/components/virtualized-list/list-events.ts +31 -0
- package/src/components/virtualized-list/list-handle.ts +92 -0
- package/src/components/virtualized-list/list-inputs.ts +149 -0
- package/src/components/virtualized-list/list-props.ts +81 -0
- package/src/components/virtualized-list/list-styles.ts +62 -0
- package/src/components/virtualized-list/list-template.ts +175 -0
- package/src/components/virtualized-section-list/index.ts +40 -351
- package/src/components/virtualized-section-list/section-list-template.ts +108 -0
- package/src/finalization-registry.ts +18 -0
- package/src/index.ts +12 -1
- package/src/native-view-base.ts +51 -0
- package/src/render/index.ts +76 -77
- package/src/services/connect-watched-signal.ts +15 -0
- package/src/services/create-event-value-hook.ts +24 -0
- package/src/services/create-resource-hook.ts +32 -0
- package/src/services/index.ts +4 -0
- package/src/services/permissions-service-base.ts +46 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import type { ISymbioteEvent } from '@symbiote-native/engine';
|
|
3
|
+
import { AccessibilityInputsBase } from './accessibility-inputs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare abstract class AccessibilityEventsBase extends AccessibilityInputsBase {
|
|
6
|
+
readonly accessibilityAction: EventEmitter<ISymbioteEvent>;
|
|
7
|
+
readonly accessibilityTap: EventEmitter<ISymbioteEvent>;
|
|
8
|
+
readonly magicTap: EventEmitter<ISymbioteEvent>;
|
|
9
|
+
readonly accessibilityEscape: EventEmitter<ISymbioteEvent>;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AccessibilityEventsBase, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AccessibilityEventsBase, never, never, {}, { "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import { AccessibilityInputsBase } from './accessibility-inputs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
// The four accessibility callbacks as real Angular events, for components that expose them as
|
|
5
|
+
// outputs rather than inputs
|
|
6
|
+
export class AccessibilityEventsBase extends AccessibilityInputsBase {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.accessibilityAction = new EventEmitter();
|
|
10
|
+
this.accessibilityTap = new EventEmitter();
|
|
11
|
+
this.magicTap = new EventEmitter();
|
|
12
|
+
this.accessibilityEscape = new EventEmitter();
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AccessibilityEventsBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: AccessibilityEventsBase, isStandalone: true, outputs: { accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, usesInheritance: true, ngImport: i0 }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AccessibilityEventsBase, decorators: [{
|
|
18
|
+
type: Directive
|
|
19
|
+
}], propDecorators: { accessibilityAction: [{
|
|
20
|
+
type: Output
|
|
21
|
+
}], accessibilityTap: [{
|
|
22
|
+
type: Output
|
|
23
|
+
}], magicTap: [{
|
|
24
|
+
type: Output
|
|
25
|
+
}], accessibilityEscape: [{
|
|
26
|
+
type: Output
|
|
27
|
+
}] } });
|
|
28
|
+
//# sourceMappingURL=accessibility-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessibility-events.js","sourceRoot":"","sources":["../../src/accessibility-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;;AAEjE,8FAA8F;AAC9F,6BAA6B;AAE7B,MAAM,OAAgB,uBAAwB,SAAQ,uBAAuB;IAD7E;;QAEqB,wBAAmB,GAAG,IAAI,YAAY,EAAkB,CAAC;QACzD,qBAAgB,GAAG,IAAI,YAAY,EAAkB,CAAC;QACtD,aAAQ,GAAG,IAAI,YAAY,EAAkB,CAAC;QAC9C,wBAAmB,GAAG,IAAI,YAAY,EAAkB,CAAC;KAC7E;8GALqB,uBAAuB;kGAAvB,uBAAuB;;2FAAvB,uBAAuB;kBAD5C,SAAS;;sBAEP,MAAM;;sBACN,MAAM;;sBACN,MAAM;;sBACN,MAAM"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { IAccessibilityProps, IAccessibilityStateValue, IAriaProps } from '@symbiote-native/components';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare abstract class AccessibilityInputsBase {
|
|
4
|
+
accessible?: boolean;
|
|
5
|
+
accessibilityLabel?: string;
|
|
6
|
+
accessibilityHint?: string;
|
|
7
|
+
accessibilityRole?: IAccessibilityProps['accessibilityRole'];
|
|
8
|
+
accessibilityState?: IAccessibilityStateValue;
|
|
9
|
+
accessibilityValue?: IAccessibilityProps['accessibilityValue'];
|
|
10
|
+
accessibilityActions?: IAccessibilityProps['accessibilityActions'];
|
|
11
|
+
accessibilityLabelledBy?: string | string[];
|
|
12
|
+
importantForAccessibility?: IAccessibilityProps['importantForAccessibility'];
|
|
13
|
+
accessibilityLiveRegion?: IAccessibilityProps['accessibilityLiveRegion'];
|
|
14
|
+
screenReaderFocusable?: boolean;
|
|
15
|
+
accessibilityViewIsModal?: boolean;
|
|
16
|
+
accessibilityElementsHidden?: boolean;
|
|
17
|
+
accessibilityIgnoresInvertColors?: boolean;
|
|
18
|
+
accessibilityLanguage?: string;
|
|
19
|
+
accessibilityRespondsToUserInteraction?: boolean;
|
|
20
|
+
accessibilityShowsLargeContentViewer?: boolean;
|
|
21
|
+
accessibilityLargeContentTitle?: string;
|
|
22
|
+
role?: IAriaProps['role'];
|
|
23
|
+
ariaLabel?: string;
|
|
24
|
+
ariaLabelledBy?: string;
|
|
25
|
+
ariaLive?: IAriaProps['aria-live'];
|
|
26
|
+
ariaHidden?: boolean;
|
|
27
|
+
ariaBusy?: boolean;
|
|
28
|
+
ariaChecked?: boolean | 'mixed';
|
|
29
|
+
ariaDisabled?: boolean;
|
|
30
|
+
ariaExpanded?: boolean;
|
|
31
|
+
ariaSelected?: boolean;
|
|
32
|
+
ariaModal?: boolean;
|
|
33
|
+
ariaValueMax?: number;
|
|
34
|
+
ariaValueMin?: number;
|
|
35
|
+
ariaValueNow?: number;
|
|
36
|
+
ariaValueText?: string;
|
|
37
|
+
protected accessibilityInputProps(): IAccessibilityProps & IAriaProps;
|
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AccessibilityInputsBase, never>;
|
|
39
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AccessibilityInputsBase, never, never, { "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": "aria-label"; "required": false; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; }; "ariaLive": { "alias": "aria-live"; "required": false; }; "ariaHidden": { "alias": "aria-hidden"; "required": false; }; "ariaBusy": { "alias": "aria-busy"; "required": false; }; "ariaChecked": { "alias": "aria-checked"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "ariaExpanded": { "alias": "aria-expanded"; "required": false; }; "ariaSelected": { "alias": "aria-selected"; "required": false; }; "ariaModal": { "alias": "aria-modal"; "required": false; }; "ariaValueMax": { "alias": "aria-valuemax"; "required": false; }; "ariaValueMin": { "alias": "aria-valuemin"; "required": false; }; "ariaValueNow": { "alias": "aria-valuenow"; "required": false; }; "ariaValueText": { "alias": "aria-valuetext"; "required": false; }; }, {}, never, never, true, never>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
// Inputs are declared statically, so view-shaped components extend this instead of repeating them
|
|
4
|
+
// The `on*` accessibility callbacks stay per component: some take inputs, others outputs
|
|
5
|
+
export class AccessibilityInputsBase {
|
|
6
|
+
// The bag the shared fold takes, the aria inputs under their web names
|
|
7
|
+
accessibilityInputProps() {
|
|
8
|
+
return {
|
|
9
|
+
accessible: this.accessible,
|
|
10
|
+
accessibilityLabel: this.accessibilityLabel,
|
|
11
|
+
accessibilityHint: this.accessibilityHint,
|
|
12
|
+
accessibilityRole: this.accessibilityRole,
|
|
13
|
+
accessibilityState: this.accessibilityState,
|
|
14
|
+
accessibilityValue: this.accessibilityValue,
|
|
15
|
+
accessibilityActions: this.accessibilityActions,
|
|
16
|
+
accessibilityLabelledBy: this.accessibilityLabelledBy,
|
|
17
|
+
importantForAccessibility: this.importantForAccessibility,
|
|
18
|
+
accessibilityLiveRegion: this.accessibilityLiveRegion,
|
|
19
|
+
screenReaderFocusable: this.screenReaderFocusable,
|
|
20
|
+
accessibilityViewIsModal: this.accessibilityViewIsModal,
|
|
21
|
+
accessibilityElementsHidden: this.accessibilityElementsHidden,
|
|
22
|
+
accessibilityIgnoresInvertColors: this.accessibilityIgnoresInvertColors,
|
|
23
|
+
accessibilityLanguage: this.accessibilityLanguage,
|
|
24
|
+
accessibilityRespondsToUserInteraction: this.accessibilityRespondsToUserInteraction,
|
|
25
|
+
accessibilityShowsLargeContentViewer: this.accessibilityShowsLargeContentViewer,
|
|
26
|
+
accessibilityLargeContentTitle: this.accessibilityLargeContentTitle,
|
|
27
|
+
role: this.role,
|
|
28
|
+
'aria-label': this.ariaLabel,
|
|
29
|
+
'aria-labelledby': this.ariaLabelledBy,
|
|
30
|
+
'aria-live': this.ariaLive,
|
|
31
|
+
'aria-hidden': this.ariaHidden,
|
|
32
|
+
'aria-busy': this.ariaBusy,
|
|
33
|
+
'aria-checked': this.ariaChecked,
|
|
34
|
+
'aria-disabled': this.ariaDisabled,
|
|
35
|
+
'aria-expanded': this.ariaExpanded,
|
|
36
|
+
'aria-selected': this.ariaSelected,
|
|
37
|
+
'aria-modal': this.ariaModal,
|
|
38
|
+
'aria-valuemax': this.ariaValueMax,
|
|
39
|
+
'aria-valuemin': this.ariaValueMin,
|
|
40
|
+
'aria-valuenow': this.ariaValueNow,
|
|
41
|
+
'aria-valuetext': this.ariaValueText,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AccessibilityInputsBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
45
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: AccessibilityInputsBase, isStandalone: true, inputs: { 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: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], ariaLive: ["aria-live", "ariaLive"], ariaHidden: ["aria-hidden", "ariaHidden"], ariaBusy: ["aria-busy", "ariaBusy"], ariaChecked: ["aria-checked", "ariaChecked"], ariaDisabled: ["aria-disabled", "ariaDisabled"], ariaExpanded: ["aria-expanded", "ariaExpanded"], ariaSelected: ["aria-selected", "ariaSelected"], ariaModal: ["aria-modal", "ariaModal"], ariaValueMax: ["aria-valuemax", "ariaValueMax"], ariaValueMin: ["aria-valuemin", "ariaValueMin"], ariaValueNow: ["aria-valuenow", "ariaValueNow"], ariaValueText: ["aria-valuetext", "ariaValueText"] }, ngImport: i0 }); }
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AccessibilityInputsBase, decorators: [{
|
|
48
|
+
type: Directive
|
|
49
|
+
}], propDecorators: { accessible: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], accessibilityLabel: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], accessibilityHint: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], accessibilityRole: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], accessibilityState: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], accessibilityValue: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], accessibilityActions: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], accessibilityLabelledBy: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], importantForAccessibility: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], accessibilityLiveRegion: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], screenReaderFocusable: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], accessibilityViewIsModal: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], accessibilityElementsHidden: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], accessibilityIgnoresInvertColors: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], accessibilityLanguage: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], accessibilityRespondsToUserInteraction: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], accessibilityShowsLargeContentViewer: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], accessibilityLargeContentTitle: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], role: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], ariaLabel: [{
|
|
88
|
+
type: Input,
|
|
89
|
+
args: ['aria-label']
|
|
90
|
+
}], ariaLabelledBy: [{
|
|
91
|
+
type: Input,
|
|
92
|
+
args: ['aria-labelledby']
|
|
93
|
+
}], ariaLive: [{
|
|
94
|
+
type: Input,
|
|
95
|
+
args: ['aria-live']
|
|
96
|
+
}], ariaHidden: [{
|
|
97
|
+
type: Input,
|
|
98
|
+
args: ['aria-hidden']
|
|
99
|
+
}], ariaBusy: [{
|
|
100
|
+
type: Input,
|
|
101
|
+
args: ['aria-busy']
|
|
102
|
+
}], ariaChecked: [{
|
|
103
|
+
type: Input,
|
|
104
|
+
args: ['aria-checked']
|
|
105
|
+
}], ariaDisabled: [{
|
|
106
|
+
type: Input,
|
|
107
|
+
args: ['aria-disabled']
|
|
108
|
+
}], ariaExpanded: [{
|
|
109
|
+
type: Input,
|
|
110
|
+
args: ['aria-expanded']
|
|
111
|
+
}], ariaSelected: [{
|
|
112
|
+
type: Input,
|
|
113
|
+
args: ['aria-selected']
|
|
114
|
+
}], ariaModal: [{
|
|
115
|
+
type: Input,
|
|
116
|
+
args: ['aria-modal']
|
|
117
|
+
}], ariaValueMax: [{
|
|
118
|
+
type: Input,
|
|
119
|
+
args: ['aria-valuemax']
|
|
120
|
+
}], ariaValueMin: [{
|
|
121
|
+
type: Input,
|
|
122
|
+
args: ['aria-valuemin']
|
|
123
|
+
}], ariaValueNow: [{
|
|
124
|
+
type: Input,
|
|
125
|
+
args: ['aria-valuenow']
|
|
126
|
+
}], ariaValueText: [{
|
|
127
|
+
type: Input,
|
|
128
|
+
args: ['aria-valuetext']
|
|
129
|
+
}] } });
|
|
130
|
+
//# sourceMappingURL=accessibility-inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessibility-inputs.js","sourceRoot":"","sources":["../../src/accessibility-inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;AAOjD,kGAAkG;AAClG,yFAAyF;AAEzF,MAAM,OAAgB,uBAAuB;IAsC3C,uEAAuE;IAC7D,uBAAuB;QAC/B,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;YACzD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,gCAAgC,EAAE,IAAI,CAAC,gCAAgC;YACvE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,sCAAsC,EACpC,IAAI,CAAC,sCAAsC;YAC7C,oCAAoC,EAClC,IAAI,CAAC,oCAAoC;YAC3C,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,iBAAiB,EAAE,IAAI,CAAC,cAAc;YACtC,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,aAAa,EAAE,IAAI,CAAC,UAAU;YAC9B,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,cAAc,EAAE,IAAI,CAAC,WAAW;YAChC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,gBAAgB,EAAE,IAAI,CAAC,aAAa;SACrC,CAAC;IACJ,CAAC;8GA7EmB,uBAAuB;kGAAvB,uBAAuB;;2FAAvB,uBAAuB;kBAD5C,SAAS;;sBAEP,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBAEL,KAAK;;sBAEL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBAEL,KAAK;;sBACL,KAAK;uBAAC,YAAY;;sBAClB,KAAK;uBAAC,iBAAiB;;sBACvB,KAAK;uBAAC,WAAW;;sBACjB,KAAK;uBAAC,aAAa;;sBACnB,KAAK;uBAAC,WAAW;;sBACjB,KAAK;uBAAC,cAAc;;sBACpB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,YAAY;;sBAClB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,gBAAgB"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './finalization-registry';
|
|
2
|
+
import type { EnvironmentProviders, Provider, Type } from '@angular/core';
|
|
2
3
|
import { type IBootstrapHostOptions } from '@symbiote-native/components/bootstrap';
|
|
3
4
|
export type { IBootstrapHostOptions } from '@symbiote-native/components/bootstrap';
|
|
4
5
|
export type IBootstrapApplicationOptions = IBootstrapHostOptions & {
|
|
5
6
|
appName: string;
|
|
7
|
+
providers?: (Provider | EnvironmentProviders)[];
|
|
6
8
|
};
|
|
7
9
|
export declare function bootstrapApplication(AppComponent: Type<unknown>, options: IBootstrapApplicationOptions): void;
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
// package's main barrel — see that file's header for why anything importing react-native must
|
|
3
3
|
// stay there. No @Component/@Directive decorators here, so unlike the package's main "." entry
|
|
4
4
|
// this needs no ngc/AOT build step and can stay a plain source reference.
|
|
5
|
+
import './finalization-registry';
|
|
5
6
|
import { AppRegistry as RNAppRegistry } from 'react-native';
|
|
6
7
|
import { bootstrapHost, } from '@symbiote-native/components/bootstrap';
|
|
7
8
|
import { AppRegistry, setHostRegistrar } from './modules/app-registry';
|
|
9
|
+
import { setRootProviders } from './render';
|
|
8
10
|
// Mirrors real Angular's bootstrapApplication(RootComponent, config) idiom.
|
|
9
11
|
export function bootstrapApplication(AppComponent, options) {
|
|
10
|
-
const { appName, ...bootstrapOptions } = options;
|
|
12
|
+
const { appName, providers = [], ...bootstrapOptions } = options;
|
|
13
|
+
setRootProviders(providers);
|
|
11
14
|
bootstrapHost(bootstrapOptions);
|
|
12
15
|
setHostRegistrar(RNAppRegistry);
|
|
13
16
|
AppRegistry.registerComponent(appName, () => AppComponent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,8FAA8F;AAC9F,+FAA+F;AAC/F,0EAA0E;AAE1E,OAAO,EAAE,WAAW,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EACL,aAAa,GAEd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,8FAA8F;AAC9F,+FAA+F;AAC/F,0EAA0E;AAE1E,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EACL,aAAa,GAEd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAS5C,4EAA4E;AAC5E,MAAM,UAAU,oBAAoB,CAClC,YAA2B,EAC3B,OAAqC;IAErC,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACjE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC5B,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAChC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAChC,WAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const FLAT_LIST_TEMPLATE = "\n @if (isMultiColumn) {\n <VirtualizedList\n [data]=\"rows\"\n [getItem]=\"getRow\"\n [getItemCount]=\"getRowCount\"\n [keyExtractor]=\"rowKey\"\n [getItemLayout]=\"getItemLayout\"\n [horizontal]=\"horizontal\"\n [inverted]=\"inverted\"\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 (viewableItemsChanged)=\"rowViewableItemsChanged($event)\"\n [viewabilityConfig]=\"viewabilityConfig\"\n [viewabilityConfigCallbackPairs]=\"rowViewabilityPairs\"\n (scrollToIndexFailed)=\"scrollToIndexFailed.emit($event)\"\n [initialNumToRender]=\"initialNumToRender\"\n [initialScrollIndex]=\"initialScrollIndex\"\n [maxToRenderPerBatch]=\"maxToRenderPerBatch\"\n [updateCellsBatchingPeriod]=\"updateCellsBatchingPeriod\"\n [windowSize]=\"windowSize\"\n [stickyHeaderIndices]=\"stickyHeaderIndices\"\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]=\"resolvedRemoveClippedSubviews\"\n [nestedScrollEnabled]=\"nestedScrollEnabled\"\n [testID]=\"testID\"\n [nativeID]=\"nativeID\"\n [style]=\"resolvedStyle\"\n [contentContainerStyle]=\"contentContainerStyle\"\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 vListItem let-row let-separators=\"separators\">\n <view [style]=\"rowStyle\">\n @for (cell of rowCells(row, separators); track cell.key) {\n <view [style]=\"columnCellStyle\">\n <ng-container\n [vListOutlet]=\"itemDir?.templateRef\"\n [vListOutletContext]=\"cell.context\"\n ></ng-container>\n </view>\n }\n </view>\n </ng-template>\n @if (headerDir !== undefined) {\n <ng-template vListHeader>\n <ng-container [vListOutlet]=\"headerDir.templateRef\"></ng-container>\n </ng-template>\n }\n @if (footerDir !== undefined) {\n <ng-template vListFooter>\n <ng-container [vListOutlet]=\"footerDir.templateRef\"></ng-container>\n </ng-template>\n }\n @if (emptyDir !== undefined) {\n <ng-template vListEmpty>\n <ng-container [vListOutlet]=\"emptyDir.templateRef\"></ng-container>\n </ng-template>\n }\n @if (separatorDir !== undefined) {\n <ng-template\n vListSeparator\n let-highlighted=\"highlighted\"\n let-leadingItem=\"leadingItem\"\n let-trailingItem=\"trailingItem\"\n >\n <ng-container\n [vListOutlet]=\"separatorDir.templateRef\"\n [vListOutletContext]=\"\n rowSeparatorContext(highlighted, leadingItem, trailingItem)\n \"\n ></ng-container>\n </ng-template>\n }\n </VirtualizedList>\n } @else {\n <VirtualizedList\n [data]=\"data\"\n [getItem]=\"getFlatItem\"\n [getItemCount]=\"getFlatCount\"\n [keyExtractor]=\"keyExtractor\"\n [getItemLayout]=\"getItemLayout\"\n [horizontal]=\"horizontal\"\n [inverted]=\"inverted\"\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 (viewableItemsChanged)=\"viewableItemsChanged.emit($event)\"\n [viewabilityConfig]=\"viewabilityConfig\"\n [viewabilityConfigCallbackPairs]=\"viewabilityConfigCallbackPairs\"\n (scrollToIndexFailed)=\"scrollToIndexFailed.emit($event)\"\n [initialNumToRender]=\"initialNumToRender\"\n [initialScrollIndex]=\"initialScrollIndex\"\n [maxToRenderPerBatch]=\"maxToRenderPerBatch\"\n [updateCellsBatchingPeriod]=\"updateCellsBatchingPeriod\"\n [windowSize]=\"windowSize\"\n [stickyHeaderIndices]=\"stickyHeaderIndices\"\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]=\"resolvedRemoveClippedSubviews\"\n [nestedScrollEnabled]=\"nestedScrollEnabled\"\n [testID]=\"testID\"\n [nativeID]=\"nativeID\"\n [style]=\"resolvedStyle\"\n [contentContainerStyle]=\"contentContainerStyle\"\n [itemTemplate]=\"itemDir?.templateRef\"\n [itemSeparatorTemplate]=\"separatorDir?.templateRef\"\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 @if (headerDir !== undefined) {\n <ng-template vListHeader>\n <ng-container [vListOutlet]=\"headerDir.templateRef\"></ng-container>\n </ng-template>\n }\n @if (footerDir !== undefined) {\n <ng-template vListFooter>\n <ng-container [vListOutlet]=\"footerDir.templateRef\"></ng-container>\n </ng-template>\n }\n @if (emptyDir !== undefined) {\n <ng-template vListEmpty>\n <ng-container [vListOutlet]=\"emptyDir.templateRef\"></ng-container>\n </ng-template>\n }\n </VirtualizedList>\n }\n";
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// A content query does not resolve across a second `<ng-content>` hop, so both branches re-stamp
|
|
2
|
+
// the app's templates instead of projecting them (see `flat-list.test.ts`)
|
|
3
|
+
import { LIST_ACCESSIBILITY_FORWARD } from '../virtualized-list/list-a11y-forward';
|
|
4
|
+
export const FLAT_LIST_TEMPLATE = `
|
|
5
|
+
@if (isMultiColumn) {
|
|
6
|
+
<VirtualizedList
|
|
7
|
+
[data]="rows"
|
|
8
|
+
[getItem]="getRow"
|
|
9
|
+
[getItemCount]="getRowCount"
|
|
10
|
+
[keyExtractor]="rowKey"
|
|
11
|
+
[getItemLayout]="getItemLayout"
|
|
12
|
+
[horizontal]="horizontal"
|
|
13
|
+
[inverted]="inverted"
|
|
14
|
+
[extraData]="extraData"
|
|
15
|
+
(endReached)="endReached.emit($event)"
|
|
16
|
+
[onEndReachedThreshold]="onEndReachedThreshold"
|
|
17
|
+
(startReached)="startReached.emit($event)"
|
|
18
|
+
[onStartReachedThreshold]="onStartReachedThreshold"
|
|
19
|
+
(refresh)="refresh.emit()"
|
|
20
|
+
[refreshRequested]="refresh.observed"
|
|
21
|
+
[refreshing]="refreshing"
|
|
22
|
+
[progressViewOffset]="progressViewOffset"
|
|
23
|
+
(viewableItemsChanged)="rowViewableItemsChanged($event)"
|
|
24
|
+
[viewabilityConfig]="viewabilityConfig"
|
|
25
|
+
[viewabilityConfigCallbackPairs]="rowViewabilityPairs"
|
|
26
|
+
(scrollToIndexFailed)="scrollToIndexFailed.emit($event)"
|
|
27
|
+
[initialNumToRender]="initialNumToRender"
|
|
28
|
+
[initialScrollIndex]="initialScrollIndex"
|
|
29
|
+
[maxToRenderPerBatch]="maxToRenderPerBatch"
|
|
30
|
+
[updateCellsBatchingPeriod]="updateCellsBatchingPeriod"
|
|
31
|
+
[windowSize]="windowSize"
|
|
32
|
+
[stickyHeaderIndices]="stickyHeaderIndices"
|
|
33
|
+
[maintainVisibleContentPosition]="maintainVisibleContentPosition"
|
|
34
|
+
[onScroll]="onScroll"
|
|
35
|
+
[onScrollBeginDrag]="onScrollBeginDrag"
|
|
36
|
+
[onScrollEndDrag]="onScrollEndDrag"
|
|
37
|
+
[onMomentumScrollBegin]="onMomentumScrollBegin"
|
|
38
|
+
[onMomentumScrollEnd]="onMomentumScrollEnd"
|
|
39
|
+
[scrollEventThrottle]="scrollEventThrottle"
|
|
40
|
+
[keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
|
|
41
|
+
[keyboardDismissMode]="keyboardDismissMode"
|
|
42
|
+
[removeClippedSubviews]="resolvedRemoveClippedSubviews"
|
|
43
|
+
[nestedScrollEnabled]="nestedScrollEnabled"
|
|
44
|
+
[testID]="testID"
|
|
45
|
+
[nativeID]="nativeID"
|
|
46
|
+
[style]="resolvedStyle"
|
|
47
|
+
[contentContainerStyle]="contentContainerStyle"
|
|
48
|
+
${LIST_ACCESSIBILITY_FORWARD}
|
|
49
|
+
>
|
|
50
|
+
<ng-template vListItem let-row let-separators="separators">
|
|
51
|
+
<view [style]="rowStyle">
|
|
52
|
+
@for (cell of rowCells(row, separators); track cell.key) {
|
|
53
|
+
<view [style]="columnCellStyle">
|
|
54
|
+
<ng-container
|
|
55
|
+
[vListOutlet]="itemDir?.templateRef"
|
|
56
|
+
[vListOutletContext]="cell.context"
|
|
57
|
+
></ng-container>
|
|
58
|
+
</view>
|
|
59
|
+
}
|
|
60
|
+
</view>
|
|
61
|
+
</ng-template>
|
|
62
|
+
@if (headerDir !== undefined) {
|
|
63
|
+
<ng-template vListHeader>
|
|
64
|
+
<ng-container [vListOutlet]="headerDir.templateRef"></ng-container>
|
|
65
|
+
</ng-template>
|
|
66
|
+
}
|
|
67
|
+
@if (footerDir !== undefined) {
|
|
68
|
+
<ng-template vListFooter>
|
|
69
|
+
<ng-container [vListOutlet]="footerDir.templateRef"></ng-container>
|
|
70
|
+
</ng-template>
|
|
71
|
+
}
|
|
72
|
+
@if (emptyDir !== undefined) {
|
|
73
|
+
<ng-template vListEmpty>
|
|
74
|
+
<ng-container [vListOutlet]="emptyDir.templateRef"></ng-container>
|
|
75
|
+
</ng-template>
|
|
76
|
+
}
|
|
77
|
+
@if (separatorDir !== undefined) {
|
|
78
|
+
<ng-template
|
|
79
|
+
vListSeparator
|
|
80
|
+
let-highlighted="highlighted"
|
|
81
|
+
let-leadingItem="leadingItem"
|
|
82
|
+
let-trailingItem="trailingItem"
|
|
83
|
+
>
|
|
84
|
+
<ng-container
|
|
85
|
+
[vListOutlet]="separatorDir.templateRef"
|
|
86
|
+
[vListOutletContext]="
|
|
87
|
+
rowSeparatorContext(highlighted, leadingItem, trailingItem)
|
|
88
|
+
"
|
|
89
|
+
></ng-container>
|
|
90
|
+
</ng-template>
|
|
91
|
+
}
|
|
92
|
+
</VirtualizedList>
|
|
93
|
+
} @else {
|
|
94
|
+
<VirtualizedList
|
|
95
|
+
[data]="data"
|
|
96
|
+
[getItem]="getFlatItem"
|
|
97
|
+
[getItemCount]="getFlatCount"
|
|
98
|
+
[keyExtractor]="keyExtractor"
|
|
99
|
+
[getItemLayout]="getItemLayout"
|
|
100
|
+
[horizontal]="horizontal"
|
|
101
|
+
[inverted]="inverted"
|
|
102
|
+
[extraData]="extraData"
|
|
103
|
+
(endReached)="endReached.emit($event)"
|
|
104
|
+
[onEndReachedThreshold]="onEndReachedThreshold"
|
|
105
|
+
(startReached)="startReached.emit($event)"
|
|
106
|
+
[onStartReachedThreshold]="onStartReachedThreshold"
|
|
107
|
+
(refresh)="refresh.emit()"
|
|
108
|
+
[refreshRequested]="refresh.observed"
|
|
109
|
+
[refreshing]="refreshing"
|
|
110
|
+
[progressViewOffset]="progressViewOffset"
|
|
111
|
+
(viewableItemsChanged)="viewableItemsChanged.emit($event)"
|
|
112
|
+
[viewabilityConfig]="viewabilityConfig"
|
|
113
|
+
[viewabilityConfigCallbackPairs]="viewabilityConfigCallbackPairs"
|
|
114
|
+
(scrollToIndexFailed)="scrollToIndexFailed.emit($event)"
|
|
115
|
+
[initialNumToRender]="initialNumToRender"
|
|
116
|
+
[initialScrollIndex]="initialScrollIndex"
|
|
117
|
+
[maxToRenderPerBatch]="maxToRenderPerBatch"
|
|
118
|
+
[updateCellsBatchingPeriod]="updateCellsBatchingPeriod"
|
|
119
|
+
[windowSize]="windowSize"
|
|
120
|
+
[stickyHeaderIndices]="stickyHeaderIndices"
|
|
121
|
+
[maintainVisibleContentPosition]="maintainVisibleContentPosition"
|
|
122
|
+
[onScroll]="onScroll"
|
|
123
|
+
[onScrollBeginDrag]="onScrollBeginDrag"
|
|
124
|
+
[onScrollEndDrag]="onScrollEndDrag"
|
|
125
|
+
[onMomentumScrollBegin]="onMomentumScrollBegin"
|
|
126
|
+
[onMomentumScrollEnd]="onMomentumScrollEnd"
|
|
127
|
+
[scrollEventThrottle]="scrollEventThrottle"
|
|
128
|
+
[keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
|
|
129
|
+
[keyboardDismissMode]="keyboardDismissMode"
|
|
130
|
+
[removeClippedSubviews]="resolvedRemoveClippedSubviews"
|
|
131
|
+
[nestedScrollEnabled]="nestedScrollEnabled"
|
|
132
|
+
[testID]="testID"
|
|
133
|
+
[nativeID]="nativeID"
|
|
134
|
+
[style]="resolvedStyle"
|
|
135
|
+
[contentContainerStyle]="contentContainerStyle"
|
|
136
|
+
[itemTemplate]="itemDir?.templateRef"
|
|
137
|
+
[itemSeparatorTemplate]="separatorDir?.templateRef"
|
|
138
|
+
${LIST_ACCESSIBILITY_FORWARD}
|
|
139
|
+
>
|
|
140
|
+
@if (headerDir !== undefined) {
|
|
141
|
+
<ng-template vListHeader>
|
|
142
|
+
<ng-container [vListOutlet]="headerDir.templateRef"></ng-container>
|
|
143
|
+
</ng-template>
|
|
144
|
+
}
|
|
145
|
+
@if (footerDir !== undefined) {
|
|
146
|
+
<ng-template vListFooter>
|
|
147
|
+
<ng-container [vListOutlet]="footerDir.templateRef"></ng-container>
|
|
148
|
+
</ng-template>
|
|
149
|
+
}
|
|
150
|
+
@if (emptyDir !== undefined) {
|
|
151
|
+
<ng-template vListEmpty>
|
|
152
|
+
<ng-container [vListOutlet]="emptyDir.templateRef"></ng-container>
|
|
153
|
+
</ng-template>
|
|
154
|
+
}
|
|
155
|
+
</VirtualizedList>
|
|
156
|
+
}
|
|
157
|
+
`;
|
|
158
|
+
//# sourceMappingURL=flat-list-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flat-list-template.js","sourceRoot":"","sources":["../../../../src/components/flat-list/flat-list-template.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,2EAA2E;AAE3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4C1B,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0F1B,0BAA0B;;;;;;;;;;;;;;;;;;;CAmBjC,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type DoCheck, type OnChanges, type SimpleChanges } from '@angular/core';
|
|
2
2
|
import { type IRow, type IScrollViewHandle, type IViewabilityConfigCallbackPair, type IViewableItemsChangedInfo, type IVirtualizedListHandle } from '@symbiote-native/components';
|
|
3
3
|
import { type IStyleProp, type ISymbioteNode, type IViewStyle } from '@symbiote-native/engine';
|
|
4
|
-
import {
|
|
4
|
+
import { type IVirtualizedListProps, type IVListItemContext, type IVListSeparatorContext } from '../virtualized-list';
|
|
5
|
+
import { ListInputsBase } from '../virtualized-list/list-inputs';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "../../primitives/shared";
|
|
7
8
|
export type { ISeparators, IViewableItemsChangedInfo, IViewabilityConfigCallbackPair, IVirtualizedListHandle, } from '@symbiote-native/components';
|
|
@@ -13,68 +14,12 @@ export type IFlatListProps<ItemT> = Omit<IVirtualizedListProps<ItemT>, 'data' |
|
|
|
13
14
|
numColumns?: number;
|
|
14
15
|
columnWrapperStyle?: IStyleProp<IViewStyle> | string;
|
|
15
16
|
};
|
|
16
|
-
export type IFlatListInputs<ItemT> = Omit<IFlatListProps<ItemT>, 'onEndReached' | 'onStartReached' | 'onRefresh' | 'onViewableItemsChanged' | 'onScrollToIndexFailed'>;
|
|
17
|
-
export declare class FlatList<ItemT = unknown> implements IFlatListInputs<ItemT>, IVirtualizedListHandle, DoCheck, OnChanges {
|
|
18
|
-
readonly endReached: EventEmitter<{
|
|
19
|
-
distanceFromEnd: number;
|
|
20
|
-
}>;
|
|
21
|
-
readonly startReached: EventEmitter<{
|
|
22
|
-
distanceFromStart: number;
|
|
23
|
-
}>;
|
|
24
|
-
readonly refresh: EventEmitter<void>;
|
|
25
|
-
readonly viewableItemsChanged: EventEmitter<IViewableItemsChangedInfo<ItemT>>;
|
|
26
|
-
readonly scrollToIndexFailed: EventEmitter<{
|
|
27
|
-
index: number;
|
|
28
|
-
highestMeasuredFrameIndex: number;
|
|
29
|
-
averageItemLength: number;
|
|
30
|
-
}>;
|
|
17
|
+
export type IFlatListInputs<ItemT> = Omit<IFlatListProps<ItemT>, 'onEndReached' | 'onStartReached' | 'onRefresh' | 'onViewableItemsChanged' | 'onScrollToIndexFailed' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
|
|
18
|
+
export declare class FlatList<ItemT = unknown> extends ListInputsBase<ItemT> implements IFlatListInputs<ItemT>, IVirtualizedListHandle, DoCheck, OnChanges {
|
|
31
19
|
data: readonly ItemT[];
|
|
32
|
-
testID?: string;
|
|
33
20
|
numColumns?: number;
|
|
34
21
|
columnWrapperStyle?: IStyleProp<IViewStyle> | string;
|
|
35
|
-
keyExtractor?: (item: ItemT, index: number) => string;
|
|
36
|
-
getItemLayout?: (data: unknown, index: number) => {
|
|
37
|
-
length: number;
|
|
38
|
-
offset: number;
|
|
39
|
-
index: number;
|
|
40
|
-
};
|
|
41
|
-
horizontal?: boolean;
|
|
42
|
-
inverted?: boolean;
|
|
43
|
-
extraData?: unknown;
|
|
44
|
-
onEndReachedThreshold?: number;
|
|
45
|
-
onStartReachedThreshold?: number;
|
|
46
|
-
refreshing?: boolean | null;
|
|
47
|
-
progressViewOffset?: number;
|
|
48
|
-
viewabilityConfig?: IVirtualizedListProps<ItemT>['viewabilityConfig'];
|
|
49
|
-
viewabilityConfigCallbackPairs?: IViewabilityConfigCallbackPair<ItemT>[];
|
|
50
|
-
initialNumToRender?: number;
|
|
51
|
-
initialScrollIndex?: number;
|
|
52
|
-
maxToRenderPerBatch?: number;
|
|
53
|
-
updateCellsBatchingPeriod?: number;
|
|
54
|
-
windowSize?: number;
|
|
55
|
-
stickyHeaderIndices?: number[];
|
|
56
|
-
maintainVisibleContentPosition?: {
|
|
57
|
-
minIndexForVisible: number;
|
|
58
|
-
autoscrollToTopThreshold?: number;
|
|
59
|
-
};
|
|
60
|
-
onScroll?: IVirtualizedListProps<ItemT>['onScroll'];
|
|
61
|
-
onScrollBeginDrag?: IVirtualizedListProps<ItemT>['onScrollBeginDrag'];
|
|
62
|
-
onScrollEndDrag?: IVirtualizedListProps<ItemT>['onScrollEndDrag'];
|
|
63
|
-
onMomentumScrollBegin?: IVirtualizedListProps<ItemT>['onMomentumScrollBegin'];
|
|
64
|
-
onMomentumScrollEnd?: IVirtualizedListProps<ItemT>['onMomentumScrollEnd'];
|
|
65
|
-
scrollEventThrottle?: number;
|
|
66
|
-
keyboardShouldPersistTaps?: boolean | 'always' | 'never' | 'handled';
|
|
67
|
-
keyboardDismissMode?: 'none' | 'on-drag' | 'interactive';
|
|
68
|
-
removeClippedSubviews?: boolean;
|
|
69
|
-
nestedScrollEnabled?: boolean;
|
|
70
|
-
style?: IStyleProp<IViewStyle>;
|
|
71
|
-
contentContainerStyle?: IStyleProp<IViewStyle>;
|
|
72
22
|
get resolvedRemoveClippedSubviews(): boolean;
|
|
73
|
-
itemDir?: VListItemDirective<ItemT>;
|
|
74
|
-
headerDir?: VListHeaderDirective;
|
|
75
|
-
footerDir?: VListFooterDirective;
|
|
76
|
-
emptyDir?: VListEmptyDirective;
|
|
77
|
-
separatorDir?: VListSeparatorDirective<ItemT>;
|
|
78
23
|
private listRef?;
|
|
79
24
|
private readonly elementRef;
|
|
80
25
|
rows: IRow<ItemT>[];
|
|
@@ -123,5 +68,5 @@ export declare class FlatList<ItemT = unknown> implements IFlatListInputs<ItemT>
|
|
|
123
68
|
getScrollNode(): ISymbioteNode | null;
|
|
124
69
|
recordInteraction(): void;
|
|
125
70
|
static ɵfac: i0.ɵɵFactoryDeclaration<FlatList<any>, never>;
|
|
126
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FlatList<any>, "FlatList", never, { "data": { "alias": "data"; "required": true; }; "
|
|
71
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FlatList<any>, "FlatList", never, { "data": { "alias": "data"; "required": true; }; "numColumns": { "alias": "numColumns"; "required": false; }; "columnWrapperStyle": { "alias": "columnWrapperStyle"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
|
|
127
72
|
}
|