@symbiote-native/angular 0.6.2 → 0.8.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/README.md +3 -3
- package/bin/symbiote-angular-dev.cjs +20 -19
- package/build/angular/anchor-host-registry.js +2 -2
- package/build/angular/anchor-host-registry.js.map +1 -1
- package/build/angular/bootstrap.js +1 -1
- package/build/angular/bootstrap.js.map +1 -1
- package/build/angular/components/activity-indicator/index.android.d.ts +2 -1
- package/build/angular/components/activity-indicator/index.android.js +12 -4
- package/build/angular/components/activity-indicator/index.android.js.map +1 -1
- package/build/angular/components/activity-indicator/index.ios.d.ts +2 -1
- package/build/angular/components/activity-indicator/index.ios.js +8 -3
- package/build/angular/components/activity-indicator/index.ios.js.map +1 -1
- package/build/angular/components/activity-indicator/shared.d.ts +1 -1
- package/build/angular/components/activity-indicator/shared.js +4 -4
- package/build/angular/components/activity-indicator/shared.js.map +1 -1
- package/build/angular/components/button.d.ts +4 -2
- package/build/angular/components/button.js +41 -22
- package/build/angular/components/button.js.map +1 -1
- package/build/angular/components/flat-list/index.d.ts +6 -4
- package/build/angular/components/flat-list/index.js +80 -50
- package/build/angular/components/flat-list/index.js.map +1 -1
- package/build/angular/components/image/index.android.d.ts +8 -3
- package/build/angular/components/image/index.android.js +42 -10
- package/build/angular/components/image/index.android.js.map +1 -1
- package/build/angular/components/image/index.ios.d.ts +8 -3
- package/build/angular/components/image/index.ios.js +42 -10
- package/build/angular/components/image/index.ios.js.map +1 -1
- package/build/angular/components/image/shared.d.ts +4 -1
- package/build/angular/components/image/shared.js +51 -8
- package/build/angular/components/image/shared.js.map +1 -1
- package/build/angular/components/image-background.d.ts +2 -1
- package/build/angular/components/image-background.js +26 -10
- package/build/angular/components/image-background.js.map +1 -1
- package/build/angular/components/input-accessory-view/index.d.ts +9 -4
- package/build/angular/components/input-accessory-view/index.js +49 -10
- package/build/angular/components/input-accessory-view/index.js.map +1 -1
- package/build/angular/components/keyboard-avoiding-view/index.d.ts +3 -1
- package/build/angular/components/keyboard-avoiding-view/index.js +44 -12
- package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
- package/build/angular/components/modal/index.d.ts +11 -8
- package/build/angular/components/modal/index.js +51 -29
- package/build/angular/components/modal/index.js.map +1 -1
- package/build/angular/components/pressable/index.d.ts +12 -6
- package/build/angular/components/pressable/index.js +66 -13
- package/build/angular/components/pressable/index.js.map +1 -1
- package/build/angular/components/refresh-control/index.d.ts +8 -4
- package/build/angular/components/refresh-control/index.js +54 -16
- package/build/angular/components/refresh-control/index.js.map +1 -1
- package/build/angular/components/safe-area-view/index.d.ts +9 -4
- package/build/angular/components/safe-area-view/index.js +48 -9
- package/build/angular/components/safe-area-view/index.js.map +1 -1
- package/build/angular/components/scroll-view/index.android.d.ts +2 -3
- package/build/angular/components/scroll-view/index.android.js +88 -61
- package/build/angular/components/scroll-view/index.android.js.map +1 -1
- package/build/angular/components/scroll-view/index.ios.d.ts +2 -3
- package/build/angular/components/scroll-view/index.ios.js +24 -18
- package/build/angular/components/scroll-view/index.ios.js.map +1 -1
- package/build/angular/components/scroll-view/projection.d.ts +35 -0
- package/build/angular/components/scroll-view/projection.js +279 -53
- package/build/angular/components/scroll-view/projection.js.map +1 -1
- package/build/angular/components/scroll-view/shared.d.ts +14 -5
- package/build/angular/components/scroll-view/shared.js +225 -75
- package/build/angular/components/scroll-view/shared.js.map +1 -1
- package/build/angular/components/scroll-view/sticky-header.js +21 -22
- package/build/angular/components/scroll-view/sticky-header.js.map +1 -1
- package/build/angular/components/section-list/index.d.ts +7 -1
- package/build/angular/components/section-list/index.js +91 -54
- package/build/angular/components/section-list/index.js.map +1 -1
- package/build/angular/components/switch/index.android.d.ts +7 -3
- package/build/angular/components/switch/index.android.js +52 -10
- package/build/angular/components/switch/index.android.js.map +1 -1
- package/build/angular/components/switch/index.ios.d.ts +7 -3
- package/build/angular/components/switch/index.ios.js +52 -10
- package/build/angular/components/switch/index.ios.js.map +1 -1
- package/build/angular/components/switch/shared.d.ts +13 -4
- package/build/angular/components/switch/shared.js +71 -7
- package/build/angular/components/switch/shared.js.map +1 -1
- package/build/angular/components/text-input.d.ts +11 -3
- package/build/angular/components/text-input.js +68 -8
- package/build/angular/components/text-input.js.map +1 -1
- package/build/angular/components/touchable/index.d.ts +40 -9
- package/build/angular/components/touchable/index.js +303 -67
- package/build/angular/components/touchable/index.js.map +1 -1
- package/build/angular/components/touchable-native-feedback/index.d.ts +6 -3
- package/build/angular/components/touchable-native-feedback/index.js +63 -27
- package/build/angular/components/touchable-native-feedback/index.js.map +1 -1
- package/build/angular/components/virtualized-list/directives.js +22 -18
- package/build/angular/components/virtualized-list/directives.js.map +1 -1
- package/build/angular/components/virtualized-list/index.d.ts +15 -4
- package/build/angular/components/virtualized-list/index.js +326 -94
- package/build/angular/components/virtualized-list/index.js.map +1 -1
- package/build/angular/components/virtualized-section-list/directives.js +12 -12
- package/build/angular/components/virtualized-section-list/directives.js.map +1 -1
- package/build/angular/components/virtualized-section-list/index.d.ts +19 -1
- package/build/angular/components/virtualized-section-list/index.js +93 -22
- package/build/angular/components/virtualized-section-list/index.js.map +1 -1
- package/build/angular/components.d.ts +2 -2
- package/build/angular/components.js +5 -0
- package/build/angular/components.js.map +1 -1
- package/build/angular/create-portal/index.js +34 -36
- package/build/angular/create-portal/index.js.map +1 -1
- package/build/angular/create-tunnel/index.js +19 -22
- package/build/angular/create-tunnel/index.js.map +1 -1
- package/build/angular/descriptor-to-angular/index.js +6 -4
- package/build/angular/descriptor-to-angular/index.js.map +1 -1
- package/build/angular/diagnostics.d.ts +33 -0
- package/build/angular/diagnostics.js +82 -0
- package/build/angular/diagnostics.js.map +1 -0
- package/build/angular/host-instance/index.js +1 -1
- package/build/angular/host-instance/index.js.map +1 -1
- package/build/angular/index.d.ts +9 -4
- package/build/angular/index.js +17 -3
- package/build/angular/index.js.map +1 -1
- package/build/angular/modules/animated/animated-leaf-binder.d.ts +1 -7
- package/build/angular/modules/animated/animated-leaf-binder.js +22 -72
- package/build/angular/modules/animated/animated-leaf-binder.js.map +1 -1
- package/build/angular/modules/animated/create-animated-component.d.ts +11 -6
- package/build/angular/modules/animated/create-animated-component.js +106 -55
- package/build/angular/modules/animated/create-animated-component.js.map +1 -1
- package/build/angular/modules/status-bar/index.js +4 -4
- package/build/angular/modules/status-bar/index.js.map +1 -1
- package/build/angular/primitives/index.d.ts +20 -3
- package/build/angular/primitives/index.js +84 -48
- package/build/angular/primitives/index.js.map +1 -1
- package/build/angular/primitives/shared.d.ts +48 -2
- package/build/angular/primitives/shared.js +158 -11
- package/build/angular/primitives/shared.js.map +1 -1
- package/build/angular/render/index.js +69 -38
- package/build/angular/render/index.js.map +1 -1
- package/build/angular/renderer/index.d.ts +1 -0
- package/build/angular/renderer/index.js +37 -2
- package/build/angular/renderer/index.js.map +1 -1
- package/build/angular/services/color-scheme.service.js +3 -3
- package/build/angular/services/color-scheme.service.js.map +1 -1
- package/build/angular/services/window-dimensions.service.js +4 -4
- package/build/angular/services/window-dimensions.service.js.map +1 -1
- package/package.json +10 -8
- package/src/anchor-host-registry.ts +2 -2
- package/src/bootstrap.ts +4 -1
- package/src/components/activity-indicator/index.android.ts +8 -1
- package/src/components/activity-indicator/index.ios.ts +4 -0
- package/src/components/activity-indicator/shared.ts +32 -13
- package/src/components/button.ts +46 -19
- package/src/components/flat-list/index.ts +122 -62
- package/src/components/image/index.android.ts +58 -7
- package/src/components/image/index.ios.ts +58 -7
- package/src/components/image/shared.ts +92 -21
- package/src/components/image-background.ts +29 -9
- package/src/components/input-accessory-view/index.ts +67 -12
- package/src/components/keyboard-avoiding-view/index.ts +61 -15
- package/src/components/modal/index.ts +72 -33
- package/src/components/pressable/index.ts +117 -28
- package/src/components/refresh-control/index.ts +74 -18
- package/src/components/safe-area-view/index.ts +64 -10
- package/src/components/scroll-view/index.android.ts +62 -47
- package/src/components/scroll-view/index.ios.ts +19 -17
- package/src/components/scroll-view/projection.ts +363 -64
- package/src/components/scroll-view/shared.ts +312 -90
- package/src/components/scroll-view/sticky-header.ts +36 -24
- package/src/components/section-list/index.ts +86 -53
- package/src/components/switch/index.android.ts +60 -8
- package/src/components/switch/index.ios.ts +60 -8
- package/src/components/switch/shared.ts +93 -6
- package/src/components/text-input.ts +95 -13
- package/src/components/touchable/index.ts +348 -64
- package/src/components/touchable-native-feedback/index.ts +94 -31
- package/src/components/virtualized-list/directives.ts +19 -5
- package/src/components/virtualized-list/index.ts +380 -85
- package/src/components/virtualized-section-list/directives.ts +6 -3
- package/src/components/virtualized-section-list/index.ts +146 -33
- package/src/components.ts +9 -1
- package/src/create-portal/index.ts +31 -31
- package/src/create-tunnel/index.ts +16 -17
- package/src/descriptor-to-angular/index.ts +29 -8
- package/src/diagnostics.ts +138 -0
- package/src/host-instance/index.ts +9 -3
- package/src/index.ts +61 -3
- package/src/modules/animated/animated-leaf-binder.ts +28 -77
- package/src/modules/animated/create-animated-component.ts +115 -47
- package/src/modules/app-registry/index.ts +9 -9
- package/src/modules/status-bar/index.ts +13 -4
- package/src/primitives/index.ts +47 -2
- package/src/primitives/shared.ts +170 -10
- package/src/render/index.ts +77 -39
- package/src/renderer/index.ts +76 -14
- package/src/services/color-scheme.service.ts +3 -1
- package/src/services/window-dimensions.service.ts +11 -4
- package/build/angular/modules/animated/animated-leaf-binder/index.d.ts +0 -14
- package/build/angular/modules/animated/animated-leaf-binder/index.js +0 -91
- package/build/angular/modules/animated/animated-leaf-binder/index.js.map +0 -1
- package/src/modules/animated/animated-leaf-binder/index.ts +0 -101
|
@@ -1,49 +1,50 @@
|
|
|
1
1
|
// FlatList, the Angular convenience surface over VirtualizedList. It takes a plain `data` array
|
|
2
2
|
// and derives getItem/getItemCount; numColumns packs items into rows (each row a flex-row of N
|
|
3
|
-
// columns), so the virtualized stream is rows, not items (RN's FlatList).
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
// verbatim from @symbiote-native/components,
|
|
7
|
-
// Angular twin of adapters/vue/src/components/flat-list/index.ts.
|
|
3
|
+
// columns), so the virtualized stream is rows, not items (RN's FlatList). Windowing / viewability /
|
|
4
|
+
// batching / imperative scrolling are inherited from VirtualizedList; the data shaping
|
|
5
|
+
// (chunkIntoRows / rowKeyExtractor / expandRowViewability / row-separator unwrap) is shared
|
|
6
|
+
// verbatim from @symbiote-native/components, same as React/Vue's FlatLists.
|
|
8
7
|
//
|
|
9
|
-
// TEMPLATE FORWARDING — both paths RE-STAMP; neither uses a bare `<ng-content>` passthrough.
|
|
8
|
+
// TEMPLATE FORWARDING — both column paths RE-STAMP; neither uses a bare `<ng-content>` passthrough.
|
|
10
9
|
// Angular's @ContentChild does NOT resolve a directive across a SECOND `<ng-content>` re-projection
|
|
11
|
-
// hop (
|
|
12
|
-
// `<VirtualizedList ...><ng-content></ng-content></VirtualizedList>`
|
|
13
|
-
// itemDir/headerDir/etc. undefined,
|
|
14
|
-
// flat-list.test.ts). Fixed for both column modes
|
|
10
|
+
// hop (only what's projected directly onto the querying component's own tag) — a bare
|
|
11
|
+
// `<VirtualizedList ...><ng-content></ng-content></VirtualizedList>` left VirtualizedList's own
|
|
12
|
+
// itemDir/headerDir/etc. undefined, rendering every cell empty (confirmed device bug, see
|
|
13
|
+
// flat-list.test.ts). Fixed for both column modes:
|
|
15
14
|
// * Single column (numColumns <= 1): FlatList captures the app's `<ng-template vListItem>` (and
|
|
16
15
|
// vListHeader/vListFooter/vListEmpty/vListSeparator) with its OWN @ContentChild — a single,
|
|
17
16
|
// direct projection hop, which always resolves — then re-authors equivalent `<ng-template>`s on
|
|
18
|
-
// `<VirtualizedList>`,
|
|
17
|
+
// `<VirtualizedList>`, forwarding the captured templateRef + context through
|
|
19
18
|
// VListOutletDirective. Item/index/separators pass through 1:1 (no row wrapping).
|
|
20
|
-
// * Multi column (numColumns > 1):
|
|
21
|
-
// while the virtualized stream is rows (IRow<ItemT>), so a plain passthrough couldn't work
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
// renderItem with renderRow.
|
|
19
|
+
// * Multi column (numColumns > 1): same re-stamp, but the app's vListItem is typed for ItemT
|
|
20
|
+
// while the virtualized stream is rows (IRow<ItemT>), so a plain passthrough couldn't work
|
|
21
|
+
// regardless. The row vListItem lays out the N columns side by side (each cell stamps the
|
|
22
|
+
// app's item template via VListOutletDirective with context {item, index: row.startIndex +
|
|
23
|
+
// column, separators}), the row vListSeparator unwraps the flanking rows to their last/first
|
|
24
|
+
// item, and onViewableItemsChanged is wrapped with expandRowViewability so the caller still
|
|
25
|
+
// sees per-item visibility — mirrors how Vue's FlatList intercepts renderItem with renderRow.
|
|
28
26
|
//
|
|
29
27
|
// The imperative handle (scrollToIndex / scrollToOffset / scrollToEnd / scrollToItem /
|
|
30
28
|
// recordInteraction / flashScrollIndicators / getScroll* / getNativeScrollRef) is RN's FlatList
|
|
31
|
-
// surface
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
29
|
+
// surface, delegated straight to the inner VirtualizedList (@ViewChild). The element-returning
|
|
30
|
+
// props (renderItem / ItemSeparatorComponent / List{Header,Footer,Empty}Component) are templates
|
|
31
|
+
// in Angular, so they're absent from IFlatListProps per the per-adapter children/render split;
|
|
32
|
+
// everything else mirrors IVirtualizedListProps.
|
|
35
33
|
import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, Input, Output, ViewChild, inject, } from '@angular/core';
|
|
36
34
|
import { SINGLE_COLUMN, chunkIntoRows, expandRowViewability, firstItemOfRow, lastItemOfRow, rowKeyExtractor, } from '@symbiote-native/components';
|
|
37
35
|
import { dlog, flattenStyle, resolveClassName, } from '@symbiote-native/engine';
|
|
38
36
|
import { VirtualizedList, VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListItemDirective, VListSeparatorDirective, } from '../virtualized-list';
|
|
39
37
|
import { VListOutletDirective } from '../virtualized-list/directives';
|
|
40
|
-
import { stableAnchorStyle, ViewHost } from '../../primitives';
|
|
38
|
+
import { stableAnchorStyle, SymbioteStyleInputDirective, ViewHost, } from '../../primitives';
|
|
41
39
|
import * as i0 from "@angular/core";
|
|
40
|
+
import * as i1 from "../../primitives/shared";
|
|
42
41
|
function isRecord(value) {
|
|
43
42
|
return typeof value === 'object' && value !== null;
|
|
44
43
|
}
|
|
45
44
|
function isRow(value) {
|
|
46
|
-
return (isRecord(value) &&
|
|
45
|
+
return (isRecord(value) &&
|
|
46
|
+
Array.isArray(value['items']) &&
|
|
47
|
+
typeof value['startIndex'] === 'number');
|
|
47
48
|
}
|
|
48
49
|
function isSeparators(value) {
|
|
49
50
|
return (isRecord(value) &&
|
|
@@ -138,28 +139,30 @@ export class FlatList {
|
|
|
138
139
|
get isMultiColumn() {
|
|
139
140
|
return this.columns > SINGLE_COLUMN;
|
|
140
141
|
}
|
|
141
|
-
ngOnChanges
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
// inline from Renderer2.addClass, before this component's own lifecycle hooks). stableAnchorStyle
|
|
148
|
-
// (not a bare flattenStyle) keeps `resolvedStyle`'s REFERENCE stable across ticks where nothing
|
|
149
|
-
// actually changed — `[style]="resolvedStyle"` binds onto VirtualizedList's own `@Input() style`,
|
|
150
|
-
// which feeds its `ngDoCheck` dedup gate; a fresh object every tick would defeat that gate and
|
|
151
|
-
// free-run change detection forever (see stableAnchorStyle's doc comment).
|
|
142
|
+
// ngDoCheck, NOT ngOnChanges: a bare `class=` never becomes an @Input, so ngOnChanges does not
|
|
143
|
+
// RUN for it and the merge froze at its creation value (a stranded tile on the ReactiveStyle
|
|
144
|
+
// canary). stableAnchorStyle, not a bare flattenStyle, keeps `resolvedStyle`'s reference stable
|
|
145
|
+
// across ticks that changed nothing - a fresh object every tick defeats VirtualizedList's own
|
|
146
|
+
// dedup gate and free-runs CD (see stableAnchorStyle's doc comment).
|
|
147
|
+
ngDoCheck() {
|
|
152
148
|
this.resolvedStyle = stableAnchorStyle(this.elementRef, this.style, this.resolvedStyle);
|
|
149
|
+
}
|
|
150
|
+
ngOnChanges(changes) {
|
|
153
151
|
if (changes['columnWrapperStyle'] !== undefined) {
|
|
154
152
|
// A class-name string resolves through the shared registry before flattenStyle, which
|
|
155
153
|
// only understands style objects/arrays.
|
|
156
154
|
const resolvedColumnWrapperStyle = typeof this.columnWrapperStyle === 'string'
|
|
157
155
|
? resolveClassName(this.columnWrapperStyle)
|
|
158
156
|
: this.columnWrapperStyle;
|
|
159
|
-
this.rowStyle = flattenStyle([
|
|
157
|
+
this.rowStyle = flattenStyle([
|
|
158
|
+
{ flexDirection: 'row' },
|
|
159
|
+
resolvedColumnWrapperStyle,
|
|
160
|
+
]);
|
|
160
161
|
}
|
|
161
162
|
if (changes['data'] !== undefined || changes['numColumns'] !== undefined) {
|
|
162
|
-
this.rows = this.isMultiColumn
|
|
163
|
+
this.rows = this.isMultiColumn
|
|
164
|
+
? chunkIntoRows(this.data, this.columns)
|
|
165
|
+
: [];
|
|
163
166
|
dlog(`Angular FlatList over ${this.data?.length ?? 0} items, ${this.columns} column(s)`);
|
|
164
167
|
}
|
|
165
168
|
if (changes['viewabilityConfigCallbackPairs'] !== undefined ||
|
|
@@ -197,7 +200,9 @@ export class FlatList {
|
|
|
197
200
|
const handle = isSeparators(separators) ? separators : NOOP_SEPARATORS;
|
|
198
201
|
return row.items.map((item, column) => {
|
|
199
202
|
const index = row.startIndex + column;
|
|
200
|
-
const key = this.keyExtractor
|
|
203
|
+
const key = this.keyExtractor
|
|
204
|
+
? this.keyExtractor(item, index)
|
|
205
|
+
: String(index);
|
|
201
206
|
return { key, context: { $implicit: item, index, separators: handle } };
|
|
202
207
|
});
|
|
203
208
|
}
|
|
@@ -209,8 +214,12 @@ export class FlatList {
|
|
|
209
214
|
return {
|
|
210
215
|
$implicit: isHighlighted,
|
|
211
216
|
highlighted: isHighlighted,
|
|
212
|
-
leadingItem: isRow(leadingRow)
|
|
213
|
-
|
|
217
|
+
leadingItem: isRow(leadingRow)
|
|
218
|
+
? lastItemOfRow(leadingRow)
|
|
219
|
+
: undefined,
|
|
220
|
+
trailingItem: isRow(trailingRow)
|
|
221
|
+
? firstItemOfRow(trailingRow)
|
|
222
|
+
: undefined,
|
|
214
223
|
};
|
|
215
224
|
}
|
|
216
225
|
// Single-column separator context: leadingItem/trailingItem are already real items (no row
|
|
@@ -255,8 +264,8 @@ export class FlatList {
|
|
|
255
264
|
recordInteraction() {
|
|
256
265
|
this.listRef?.recordInteraction();
|
|
257
266
|
}
|
|
258
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
259
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.
|
|
267
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FlatList, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
268
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: FlatList, isStandalone: true, selector: "FlatList", inputs: { data: "data", numColumns: "numColumns", columnWrapperStyle: "columnWrapperStyle", keyExtractor: "keyExtractor", getItemLayout: "getItemLayout", horizontal: "horizontal", inverted: "inverted", extraData: "extraData", onEndReachedThreshold: "onEndReachedThreshold", onStartReachedThreshold: "onStartReachedThreshold", refreshing: "refreshing", progressViewOffset: "progressViewOffset", viewabilityConfig: "viewabilityConfig", viewabilityConfigCallbackPairs: "viewabilityConfigCallbackPairs", initialNumToRender: "initialNumToRender", initialScrollIndex: "initialScrollIndex", maxToRenderPerBatch: "maxToRenderPerBatch", updateCellsBatchingPeriod: "updateCellsBatchingPeriod", windowSize: "windowSize", stickyHeaderIndices: "stickyHeaderIndices", maintainVisibleContentPosition: "maintainVisibleContentPosition", onScroll: "onScroll", onScrollBeginDrag: "onScrollBeginDrag", onScrollEndDrag: "onScrollEndDrag", onMomentumScrollBegin: "onMomentumScrollBegin", onMomentumScrollEnd: "onMomentumScrollEnd", scrollEventThrottle: "scrollEventThrottle", keyboardShouldPersistTaps: "keyboardShouldPersistTaps", keyboardDismissMode: "keyboardDismissMode", style: "style", contentContainerStyle: "contentContainerStyle" }, outputs: { endReached: "endReached", startReached: "startReached", refresh: "refresh", viewableItemsChanged: "viewableItemsChanged", scrollToIndexFailed: "scrollToIndexFailed" }, queries: [{ propertyName: "itemDir", first: true, predicate: VListItemDirective, descendants: true }, { propertyName: "headerDir", first: true, predicate: VListHeaderDirective, descendants: true }, { propertyName: "footerDir", first: true, predicate: VListFooterDirective, descendants: true }, { propertyName: "emptyDir", first: true, predicate: VListEmptyDirective, descendants: true }, { propertyName: "separatorDir", first: true, predicate: VListSeparatorDirective, descendants: true }], viewQueries: [{ propertyName: "listRef", first: true, predicate: VirtualizedList, descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
|
|
260
269
|
@if (isMultiColumn) {
|
|
261
270
|
<VirtualizedList
|
|
262
271
|
[data]="rows"
|
|
@@ -333,7 +342,9 @@ export class FlatList {
|
|
|
333
342
|
>
|
|
334
343
|
<ng-container
|
|
335
344
|
[vListOutlet]="separatorDir.templateRef"
|
|
336
|
-
[vListOutletContext]="
|
|
345
|
+
[vListOutletContext]="
|
|
346
|
+
rowSeparatorContext(highlighted, leadingItem, trailingItem)
|
|
347
|
+
"
|
|
337
348
|
></ng-container>
|
|
338
349
|
</ng-template>
|
|
339
350
|
}
|
|
@@ -378,7 +389,12 @@ export class FlatList {
|
|
|
378
389
|
[style]="resolvedStyle"
|
|
379
390
|
[contentContainerStyle]="contentContainerStyle"
|
|
380
391
|
>
|
|
381
|
-
<ng-template
|
|
392
|
+
<ng-template
|
|
393
|
+
vListItem
|
|
394
|
+
let-item
|
|
395
|
+
let-index="index"
|
|
396
|
+
let-separators="separators"
|
|
397
|
+
>
|
|
382
398
|
<ng-container
|
|
383
399
|
[vListOutlet]="itemDir?.templateRef"
|
|
384
400
|
[vListOutletContext]="{ $implicit: item, index, separators }"
|
|
@@ -408,7 +424,9 @@ export class FlatList {
|
|
|
408
424
|
>
|
|
409
425
|
<ng-container
|
|
410
426
|
[vListOutlet]="separatorDir.templateRef"
|
|
411
|
-
[vListOutletContext]="
|
|
427
|
+
[vListOutletContext]="
|
|
428
|
+
itemSeparatorContext(highlighted, leadingItem, trailingItem)
|
|
429
|
+
"
|
|
412
430
|
></ng-container>
|
|
413
431
|
</ng-template>
|
|
414
432
|
}
|
|
@@ -416,11 +434,14 @@ export class FlatList {
|
|
|
416
434
|
}
|
|
417
435
|
`, isInline: true, dependencies: [{ kind: "component", type: VirtualizedList, selector: "VirtualizedList", inputs: ["data", "getItem", "getItemCount", "keyExtractor", "getItemLayout", "horizontal", "inverted", "extraData", "onEndReachedThreshold", "onStartReachedThreshold", "refreshing", "progressViewOffset", "refreshRequested", "viewabilityConfig", "viewabilityConfigCallbackPairs", "initialNumToRender", "initialScrollIndex", "maxToRenderPerBatch", "updateCellsBatchingPeriod", "windowSize", "stickyHeaderIndices", "maintainVisibleContentPosition", "onScroll", "onScrollBeginDrag", "onScrollEndDrag", "onMomentumScrollBegin", "onMomentumScrollEnd", "scrollEventThrottle", "keyboardShouldPersistTaps", "keyboardDismissMode", "style", "contentContainerStyle", "testID", "nativeID", "accessible", "accessibilityLabel", "accessibilityHint", "accessibilityRole", "accessibilityState", "accessibilityValue", "accessibilityActions", "accessibilityLabelledBy", "importantForAccessibility", "accessibilityLiveRegion", "screenReaderFocusable", "accessibilityViewIsModal", "accessibilityElementsHidden", "accessibilityIgnoresInvertColors", "accessibilityLanguage", "accessibilityRespondsToUserInteraction", "accessibilityShowsLargeContentViewer", "accessibilityLargeContentTitle", "role", "ariaLabel", "ariaLabelledBy", "ariaLive", "ariaHidden", "ariaBusy", "ariaChecked", "ariaDisabled", "ariaExpanded", "ariaSelected", "ariaModal", "ariaValueMax", "ariaValueMin", "ariaValueNow", "ariaValueText"], outputs: ["endReached", "startReached", "refresh", "viewableItemsChanged", "scrollToIndexFailed", "accessibilityAction", "accessibilityTap", "magicTap", "accessibilityEscape"] }, { kind: "directive", type: VListItemDirective, selector: "[vListItem]" }, { kind: "directive", type: VListHeaderDirective, selector: "[vListHeader]" }, { kind: "directive", type: VListFooterDirective, selector: "[vListFooter]" }, { kind: "directive", type: VListEmptyDirective, selector: "[vListEmpty]" }, { kind: "directive", type: VListSeparatorDirective, selector: "[vListSeparator]" }, { kind: "directive", type: VListOutletDirective, selector: "[vListOutlet]", inputs: ["vListOutlet", "vListOutletContext"] }, { kind: "component", type: ViewHost, selector: "symbiote-view, View" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
418
436
|
}
|
|
419
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
437
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FlatList, decorators: [{
|
|
420
438
|
type: Component,
|
|
421
439
|
args: [{
|
|
422
440
|
selector: 'FlatList',
|
|
423
441
|
standalone: true,
|
|
442
|
+
hostDirectives: [
|
|
443
|
+
{ directive: SymbioteStyleInputDirective, inputs: ['style'] },
|
|
444
|
+
],
|
|
424
445
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
425
446
|
imports: [
|
|
426
447
|
VirtualizedList,
|
|
@@ -510,7 +531,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
510
531
|
>
|
|
511
532
|
<ng-container
|
|
512
533
|
[vListOutlet]="separatorDir.templateRef"
|
|
513
|
-
[vListOutletContext]="
|
|
534
|
+
[vListOutletContext]="
|
|
535
|
+
rowSeparatorContext(highlighted, leadingItem, trailingItem)
|
|
536
|
+
"
|
|
514
537
|
></ng-container>
|
|
515
538
|
</ng-template>
|
|
516
539
|
}
|
|
@@ -555,7 +578,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
555
578
|
[style]="resolvedStyle"
|
|
556
579
|
[contentContainerStyle]="contentContainerStyle"
|
|
557
580
|
>
|
|
558
|
-
<ng-template
|
|
581
|
+
<ng-template
|
|
582
|
+
vListItem
|
|
583
|
+
let-item
|
|
584
|
+
let-index="index"
|
|
585
|
+
let-separators="separators"
|
|
586
|
+
>
|
|
559
587
|
<ng-container
|
|
560
588
|
[vListOutlet]="itemDir?.templateRef"
|
|
561
589
|
[vListOutletContext]="{ $implicit: item, index, separators }"
|
|
@@ -585,7 +613,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
585
613
|
>
|
|
586
614
|
<ng-container
|
|
587
615
|
[vListOutlet]="separatorDir.templateRef"
|
|
588
|
-
[vListOutletContext]="
|
|
616
|
+
[vListOutletContext]="
|
|
617
|
+
itemSeparatorContext(highlighted, leadingItem, trailingItem)
|
|
618
|
+
"
|
|
589
619
|
></ng-container>
|
|
590
620
|
</ng-template>
|
|
591
621
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/flat-list/index.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,+FAA+F;AAC/F,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/flat-list/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
import { type DoCheck, type OnChanges } from '@angular/core';
|
|
1
2
|
import { ImageBase } from './shared';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../primitives/shared";
|
|
3
5
|
export { setImageSourceResolver } from './shared';
|
|
4
6
|
export type { IImageProps, IImageSource, IImageSourceProp, IResizeMode, IImageSize, IImageCacheStatus, } from './shared';
|
|
5
|
-
export declare class Image extends ImageBase {
|
|
7
|
+
export declare class Image extends ImageBase implements OnChanges, DoCheck {
|
|
6
8
|
private readonly elementRef;
|
|
7
|
-
|
|
9
|
+
private readonly anchorStyle;
|
|
10
|
+
ngOnChanges(): void;
|
|
11
|
+
ngDoCheck(): void;
|
|
12
|
+
protected buildImageProps(): Record<string, unknown>;
|
|
8
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<Image, never>;
|
|
9
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<Image, "Image", never, { "source": { "alias": "source"; "required": false; }; "defaultSource": { "alias": "defaultSource"; "required": false; }; "loadingIndicatorSource": { "alias": "loadingIndicatorSource"; "required": false; }; "style": { "alias": "style"; "required": false; }; "resizeMode": { "alias": "resizeMode"; "required": false; }; "resizeMethod": { "alias": "resizeMethod"; "required": false; }; "tintColor": { "alias": "tintColor"; "required": false; }; "blurRadius": { "alias": "blurRadius"; "required": false; }; "capInsets": { "alias": "capInsets"; "required": false; }; "fadeDuration": { "alias": "fadeDuration"; "required": false; }; "progressiveRenderingEnabled": { "alias": "progressiveRenderingEnabled"; "required": false; }; "src": { "alias": "src"; "required": false; }; "srcSet": { "alias": "srcSet"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "crossOrigin": { "alias": "crossOrigin"; "required": false; }; "referrerPolicy": { "alias": "referrerPolicy"; "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": "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; }; "onAccessibilityAction": { "alias": "onAccessibilityAction"; "required": false; }; "onAccessibilityTap": { "alias": "onAccessibilityTap"; "required": false; }; "onMagicTap": { "alias": "onMagicTap"; "required": false; }; "onAccessibilityEscape": { "alias": "onAccessibilityEscape"; "required": false; }; "onLoadStart": { "alias": "onLoadStart"; "required": false; }; "onLoad": { "alias": "onLoad"; "required": false; }; "onLoadEnd": { "alias": "onLoadEnd"; "required": false; }; "onError": { "alias": "onError"; "required": false; }; "onProgress": { "alias": "onProgress"; "required": false; }; "onPartialLoad": { "alias": "onPartialLoad"; "required": false; }; }, { "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; "loadStart": "loadStart"; "load": "load"; "loadEnd": "loadEnd"; "error": "error"; "progress": "progress"; "partialLoad": "partialLoad"; }, never, never, true,
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Image, "Image", never, { "source": { "alias": "source"; "required": false; }; "defaultSource": { "alias": "defaultSource"; "required": false; }; "loadingIndicatorSource": { "alias": "loadingIndicatorSource"; "required": false; }; "style": { "alias": "style"; "required": false; }; "resizeMode": { "alias": "resizeMode"; "required": false; }; "resizeMethod": { "alias": "resizeMethod"; "required": false; }; "tintColor": { "alias": "tintColor"; "required": false; }; "blurRadius": { "alias": "blurRadius"; "required": false; }; "capInsets": { "alias": "capInsets"; "required": false; }; "fadeDuration": { "alias": "fadeDuration"; "required": false; }; "progressiveRenderingEnabled": { "alias": "progressiveRenderingEnabled"; "required": false; }; "src": { "alias": "src"; "required": false; }; "srcSet": { "alias": "srcSet"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "crossOrigin": { "alias": "crossOrigin"; "required": false; }; "referrerPolicy": { "alias": "referrerPolicy"; "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": "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; }; "onAccessibilityAction": { "alias": "onAccessibilityAction"; "required": false; }; "onAccessibilityTap": { "alias": "onAccessibilityTap"; "required": false; }; "onMagicTap": { "alias": "onMagicTap"; "required": false; }; "onAccessibilityEscape": { "alias": "onAccessibilityEscape"; "required": false; }; "onLoadStart": { "alias": "onLoadStart"; "required": false; }; "onLoad": { "alias": "onLoad"; "required": false; }; "onLoadEnd": { "alias": "onLoadEnd"; "required": false; }; "onError": { "alias": "onError"; "required": false; }; "onProgress": { "alias": "onProgress"; "required": false; }; "onPartialLoad": { "alias": "onPartialLoad"; "required": false; }; }, { "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; "loadStart": "loadStart"; "load": "load"; "loadEnd": "loadEnd"; "error": "error"; "progress": "progress"; "partialLoad": "partialLoad"; }, never, never, true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
|
|
10
15
|
}
|
|
@@ -1,22 +1,51 @@
|
|
|
1
|
-
import { CUSTOM_ELEMENTS_SCHEMA, Component, ElementRef, inject } from '@angular/core';
|
|
2
|
-
import { anchorHostStyle, ImageHost, SymbioteHostPropsDirective } from '../../primitives';
|
|
3
|
-
import { IMAGE_INPUTS, IMAGE_OUTPUTS, ImageBase, resolveImageProps } from './shared';
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, Component, ElementRef, inject, signal, } from '@angular/core';
|
|
2
|
+
import { anchorHostStyle, ImageHost, SymbioteHostPropsDirective, SymbioteStyleInputDirective, } from '../../primitives';
|
|
3
|
+
import { IMAGE_INPUTS, IMAGE_OUTPUTS, ImageBase, resolveImageProps, } from './shared';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../primitives/shared";
|
|
5
6
|
export { setImageSourceResolver } from './shared';
|
|
6
7
|
export class Image extends ImageBase {
|
|
7
8
|
// This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
|
|
8
9
|
// onto (see anchorHostStyle's doc comment) — NOT the inner `symbiote-image` one level down.
|
|
9
10
|
elementRef = inject(ElementRef);
|
|
10
|
-
|
|
11
|
+
// The anchor's class-derived style is written by the renderer's addClass/removeClass and never
|
|
12
|
+
// reaches Angular's input pipeline (a bare `class="x"` never appears in SimpleChanges — see
|
|
13
|
+
// anchorHostStyle's doc comment), so ImageBase's inputsRevision cannot see it. Hence its own
|
|
14
|
+
// signal: a plain field read inside a computed() would be untracked and the bag would go stale
|
|
15
|
+
// the moment a `[class.x]`/`[ngClass]` toggled.
|
|
16
|
+
//
|
|
17
|
+
// ngDoCheck is the right cadence: render3's callHooks flushes a node's pre-order hooks at the
|
|
18
|
+
// next `ɵɵadvance` past it (or in refreshView's post-template flush), i.e. AFTER the declaring
|
|
19
|
+
// template's ɵɵclassProp wrote the class onto this element and BEFORE this component's own view
|
|
20
|
+
// refreshes — the exact window a class poll needs. callHooks also runs under
|
|
21
|
+
// setActiveConsumer(null), so the write registers no dependency on the caller's view (no NG0600).
|
|
22
|
+
// commitClassStyle allocates a fresh style array only when a token actually moved, so signal.set's
|
|
23
|
+
// own Object.is check makes an unchanged poll a no-op that dirties nothing.
|
|
24
|
+
//
|
|
25
|
+
// Known gap, shared with every other component polling this way (Pressable, SafeAreaView,
|
|
26
|
+
// TouchableNativeFeedback): `[ngClass]` applies its tokens from NgClass's OWN ngDoCheck, and a
|
|
27
|
+
// node's hooks flush in registration order with the component's first, so an [ngClass] flip lands
|
|
28
|
+
// one pass after this poll reads it. `class=` and `[class.x]` are written by the declaring
|
|
29
|
+
// template's styling instructions and so are always current here.
|
|
30
|
+
anchorStyle = signal(undefined, /* @ts-ignore */
|
|
31
|
+
...(ngDevMode ? [{ debugName: "anchorStyle" }] : /* istanbul ignore next */ []));
|
|
32
|
+
// ImageBase is undecorated, so the input bump is declared here rather than inherited.
|
|
33
|
+
ngOnChanges() {
|
|
34
|
+
this.bumpInputsRevision();
|
|
35
|
+
}
|
|
36
|
+
ngDoCheck() {
|
|
37
|
+
this.anchorStyle.set(anchorHostStyle(this.elementRef));
|
|
38
|
+
}
|
|
39
|
+
buildImageProps() {
|
|
11
40
|
return resolveImageProps({
|
|
12
41
|
...this.imageInputProps,
|
|
13
|
-
style: [
|
|
42
|
+
style: [this.anchorStyle(), this.style],
|
|
14
43
|
});
|
|
15
44
|
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
17
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Image, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: Image, isStandalone: true, selector: "Image", inputs: { source: "source", defaultSource: "defaultSource", loadingIndicatorSource: "loadingIndicatorSource", style: "style", resizeMode: "resizeMode", resizeMethod: "resizeMethod", tintColor: "tintColor", blurRadius: "blurRadius", capInsets: "capInsets", fadeDuration: "fadeDuration", progressiveRenderingEnabled: "progressiveRenderingEnabled", src: "src", srcSet: "srcSet", alt: "alt", width: "width", height: "height", crossOrigin: "crossOrigin", referrerPolicy: "referrerPolicy", 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: ["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"], onAccessibilityAction: "onAccessibilityAction", onAccessibilityTap: "onAccessibilityTap", onMagicTap: "onMagicTap", onAccessibilityEscape: "onAccessibilityEscape", onLoadStart: "onLoadStart", onLoad: "onLoad", onLoadEnd: "onLoadEnd", onError: "onError", onProgress: "onProgress", onPartialLoad: "onPartialLoad" }, outputs: { accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape", loadStart: "loadStart", load: "load", loadEnd: "loadEnd", error: "error", progress: "progress", partialLoad: "partialLoad" }, usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
|
|
18
47
|
<symbiote-image
|
|
19
|
-
[symbioteHostProps]="imageProps"
|
|
48
|
+
[symbioteHostProps]="imageProps()"
|
|
20
49
|
(accessibilityAction)="handleAccessibilityAction($event)"
|
|
21
50
|
(accessibilityTap)="handleAccessibilityTap($event)"
|
|
22
51
|
(magicTap)="handleMagicTap($event)"
|
|
@@ -30,18 +59,21 @@ export class Image extends ImageBase {
|
|
|
30
59
|
/>
|
|
31
60
|
`, isInline: true, dependencies: [{ kind: "component", type: ImageHost, selector: "symbiote-image" }, { kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }] });
|
|
32
61
|
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Image, decorators: [{
|
|
34
63
|
type: Component,
|
|
35
64
|
args: [{
|
|
36
65
|
selector: 'Image',
|
|
37
66
|
standalone: true,
|
|
67
|
+
hostDirectives: [
|
|
68
|
+
{ directive: SymbioteStyleInputDirective, inputs: ['style'] },
|
|
69
|
+
],
|
|
38
70
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
39
71
|
imports: [ImageHost, SymbioteHostPropsDirective],
|
|
40
72
|
inputs: IMAGE_INPUTS,
|
|
41
73
|
outputs: IMAGE_OUTPUTS,
|
|
42
74
|
template: `
|
|
43
75
|
<symbiote-image
|
|
44
|
-
[symbioteHostProps]="imageProps"
|
|
76
|
+
[symbioteHostProps]="imageProps()"
|
|
45
77
|
(accessibilityAction)="handleAccessibilityAction($event)"
|
|
46
78
|
(accessibilityTap)="handleAccessibilityTap($event)"
|
|
47
79
|
(magicTap)="handleMagicTap($event)"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../../src/components/image/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../../src/components/image/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,MAAM,EACN,MAAM,GAGP,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,SAAS,EACT,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,iBAAiB,GAClB,MAAM,UAAU,CAAC;;;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAoClD,MAAM,OAAO,KAAM,SAAQ,SAAS;IAClC,6FAA6F;IAC7F,4FAA4F;IAC3E,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEjD,+FAA+F;IAC/F,4FAA4F;IAC5F,6FAA6F;IAC7F,+FAA+F;IAC/F,gDAAgD;IAChD,EAAE;IACF,8FAA8F;IAC9F,+FAA+F;IAC/F,gGAAgG;IAChG,6EAA6E;IAC7E,kGAAkG;IAClG,mGAAmG;IACnG,4EAA4E;IAC5E,EAAE;IACF,0FAA0F;IAC1F,+FAA+F;IAC/F,kGAAkG;IAClG,2FAA2F;IAC3F,kEAAkE;IACjD,WAAW,GAAG,MAAM,CAAU,SAAS;oFAAC,CAAC;IAE1D,sFAAsF;IACtF,WAAW;QACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,CAAC;IAEkB,eAAe;QAChC,OAAO,iBAAiB,CAAC;YACvB,GAAG,IAAI,CAAC,eAAe;YACvB,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;uGAxCU,KAAK;2FAAL,KAAK,+2FAhBN;;;;;;;;;;;;;;GAcT,4DAjBS,SAAS,2DAAE,0BAA0B;;2FAmBpC,KAAK;kBA1BjB,SAAS;mBAAC;oBACT,QAAQ,EAAE,OAAO;oBACjB,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE;wBACd,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;qBAC9D;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,SAAS,EAAE,0BAA0B,CAAC;oBAChD,MAAM,EAAE,YAAY;oBACpB,OAAO,EAAE,aAAa;oBACtB,QAAQ,EAAE;;;;;;;;;;;;;;GAcT;iBACF"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
import { type DoCheck, type OnChanges } from '@angular/core';
|
|
1
2
|
import { ImageBase } from './shared';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../primitives/shared";
|
|
3
5
|
export { setImageSourceResolver } from './shared';
|
|
4
6
|
export type { IImageProps, IImageSource, IImageSourceProp, IResizeMode, IImageSize, IImageCacheStatus, } from './shared';
|
|
5
|
-
export declare class Image extends ImageBase {
|
|
7
|
+
export declare class Image extends ImageBase implements OnChanges, DoCheck {
|
|
6
8
|
private readonly elementRef;
|
|
7
|
-
|
|
9
|
+
private readonly anchorStyle;
|
|
10
|
+
ngOnChanges(): void;
|
|
11
|
+
ngDoCheck(): void;
|
|
12
|
+
protected buildImageProps(): Record<string, unknown>;
|
|
8
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<Image, never>;
|
|
9
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<Image, "Image", never, { "source": { "alias": "source"; "required": false; }; "defaultSource": { "alias": "defaultSource"; "required": false; }; "loadingIndicatorSource": { "alias": "loadingIndicatorSource"; "required": false; }; "style": { "alias": "style"; "required": false; }; "resizeMode": { "alias": "resizeMode"; "required": false; }; "resizeMethod": { "alias": "resizeMethod"; "required": false; }; "tintColor": { "alias": "tintColor"; "required": false; }; "blurRadius": { "alias": "blurRadius"; "required": false; }; "capInsets": { "alias": "capInsets"; "required": false; }; "fadeDuration": { "alias": "fadeDuration"; "required": false; }; "progressiveRenderingEnabled": { "alias": "progressiveRenderingEnabled"; "required": false; }; "src": { "alias": "src"; "required": false; }; "srcSet": { "alias": "srcSet"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "crossOrigin": { "alias": "crossOrigin"; "required": false; }; "referrerPolicy": { "alias": "referrerPolicy"; "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": "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; }; "onAccessibilityAction": { "alias": "onAccessibilityAction"; "required": false; }; "onAccessibilityTap": { "alias": "onAccessibilityTap"; "required": false; }; "onMagicTap": { "alias": "onMagicTap"; "required": false; }; "onAccessibilityEscape": { "alias": "onAccessibilityEscape"; "required": false; }; "onLoadStart": { "alias": "onLoadStart"; "required": false; }; "onLoad": { "alias": "onLoad"; "required": false; }; "onLoadEnd": { "alias": "onLoadEnd"; "required": false; }; "onError": { "alias": "onError"; "required": false; }; "onProgress": { "alias": "onProgress"; "required": false; }; "onPartialLoad": { "alias": "onPartialLoad"; "required": false; }; }, { "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; "loadStart": "loadStart"; "load": "load"; "loadEnd": "loadEnd"; "error": "error"; "progress": "progress"; "partialLoad": "partialLoad"; }, never, never, true,
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Image, "Image", never, { "source": { "alias": "source"; "required": false; }; "defaultSource": { "alias": "defaultSource"; "required": false; }; "loadingIndicatorSource": { "alias": "loadingIndicatorSource"; "required": false; }; "style": { "alias": "style"; "required": false; }; "resizeMode": { "alias": "resizeMode"; "required": false; }; "resizeMethod": { "alias": "resizeMethod"; "required": false; }; "tintColor": { "alias": "tintColor"; "required": false; }; "blurRadius": { "alias": "blurRadius"; "required": false; }; "capInsets": { "alias": "capInsets"; "required": false; }; "fadeDuration": { "alias": "fadeDuration"; "required": false; }; "progressiveRenderingEnabled": { "alias": "progressiveRenderingEnabled"; "required": false; }; "src": { "alias": "src"; "required": false; }; "srcSet": { "alias": "srcSet"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "crossOrigin": { "alias": "crossOrigin"; "required": false; }; "referrerPolicy": { "alias": "referrerPolicy"; "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": "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; }; "onAccessibilityAction": { "alias": "onAccessibilityAction"; "required": false; }; "onAccessibilityTap": { "alias": "onAccessibilityTap"; "required": false; }; "onMagicTap": { "alias": "onMagicTap"; "required": false; }; "onAccessibilityEscape": { "alias": "onAccessibilityEscape"; "required": false; }; "onLoadStart": { "alias": "onLoadStart"; "required": false; }; "onLoad": { "alias": "onLoad"; "required": false; }; "onLoadEnd": { "alias": "onLoadEnd"; "required": false; }; "onError": { "alias": "onError"; "required": false; }; "onProgress": { "alias": "onProgress"; "required": false; }; "onPartialLoad": { "alias": "onPartialLoad"; "required": false; }; }, { "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; "loadStart": "loadStart"; "load": "load"; "loadEnd": "loadEnd"; "error": "error"; "progress": "progress"; "partialLoad": "partialLoad"; }, never, never, true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
|
|
10
15
|
}
|