@nativescript/core 9.0.0-alpha.23 → 9.0.0-alpha.25
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/application/application.android.d.ts +9 -2
- package/application/application.android.js +83 -6
- package/application/application.android.js.map +1 -1
- package/application/application.d.ts +8 -1
- package/application/application.ios.d.ts +13 -1
- package/application/application.ios.js +30 -3
- package/application/application.ios.js.map +1 -1
- package/application/helpers.android.d.ts +0 -9
- package/application/helpers.android.js +0 -54
- package/application/helpers.android.js.map +1 -1
- package/application/helpers.d.ts +0 -10
- package/application/helpers.ios.d.ts +0 -19
- package/application/helpers.ios.js +0 -38
- package/application/helpers.ios.js.map +1 -1
- package/connectivity/index.android.js +3 -3
- package/connectivity/index.android.js.map +1 -1
- package/core-types/index.d.ts +68 -63
- package/core-types/index.js.map +1 -1
- package/image-source/index.d.ts +2 -2
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/inspector_modules.js +72 -5
- package/inspector_modules.js.map +1 -1
- package/package.json +1 -1
- package/platforms/android/widgets-release.aar +0 -0
- package/references.d.ts +1 -1
- package/ui/button/index.ios.js.map +1 -1
- package/ui/core/view/index.android.d.ts +4 -6
- package/ui/core/view/index.android.js +126 -271
- package/ui/core/view/index.android.js.map +1 -1
- package/ui/core/view/index.d.ts +1 -1
- package/ui/core/view/index.ios.d.ts +7 -0
- package/ui/core/view/index.ios.js +74 -35
- package/ui/core/view/index.ios.js.map +1 -1
- package/ui/core/view/view-common.d.ts +37 -5
- package/ui/core/view/view-common.js +21 -0
- package/ui/core/view/view-common.js.map +1 -1
- package/ui/core/view/view-interfaces.d.ts +3 -0
- package/ui/frame/index.android.js +55 -2
- package/ui/frame/index.android.js.map +1 -1
- package/ui/index.d.ts +1 -1
- package/ui/layouts/index.d.ts +2 -0
- package/ui/layouts/index.js +2 -0
- package/ui/layouts/index.js.map +1 -1
- package/ui/layouts/liquid-glass/index.android.d.ts +5 -0
- package/ui/layouts/liquid-glass/index.android.js +8 -0
- package/ui/layouts/liquid-glass/index.android.js.map +1 -0
- package/ui/layouts/liquid-glass/index.d.ts +10 -0
- package/ui/layouts/liquid-glass/index.ios.d.ts +10 -0
- package/ui/layouts/liquid-glass/index.ios.js +59 -0
- package/ui/layouts/liquid-glass/index.ios.js.map +1 -0
- package/ui/layouts/liquid-glass/liquid-glass-common.d.ts +3 -0
- package/ui/layouts/liquid-glass/liquid-glass-common.js +4 -0
- package/ui/layouts/liquid-glass/liquid-glass-common.js.map +1 -0
- package/ui/layouts/liquid-glass-container/index.android.d.ts +3 -0
- package/ui/layouts/liquid-glass-container/index.android.js +4 -0
- package/ui/layouts/liquid-glass-container/index.android.js.map +1 -0
- package/ui/layouts/liquid-glass-container/index.d.ts +3 -0
- package/ui/layouts/liquid-glass-container/index.ios.d.ts +14 -0
- package/ui/layouts/liquid-glass-container/index.ios.js +121 -0
- package/ui/layouts/liquid-glass-container/index.ios.js.map +1 -0
- package/ui/layouts/liquid-glass-container/liquid-glass-container-common.d.ts +4 -0
- package/ui/layouts/liquid-glass-container/liquid-glass-container-common.js +5 -0
- package/ui/layouts/liquid-glass-container/liquid-glass-container-common.js.map +1 -0
- package/ui/list-view/index.android.d.ts +26 -1
- package/ui/list-view/index.android.js +701 -23
- package/ui/list-view/index.android.js.map +1 -1
- package/ui/list-view/index.d.ts +122 -0
- package/ui/list-view/index.ios.d.ts +34 -2
- package/ui/list-view/index.ios.js +560 -9
- package/ui/list-view/index.ios.js.map +1 -1
- package/ui/list-view/list-view-common.d.ts +22 -1
- package/ui/list-view/list-view-common.js +85 -0
- package/ui/list-view/list-view-common.js.map +1 -1
- package/ui/styling/background-common.d.ts +4 -4
- package/ui/styling/background-common.js +8 -8
- package/ui/styling/background-common.js.map +1 -1
- package/ui/styling/background.d.ts +0 -3
- package/ui/styling/background.ios.d.ts +2 -1
- package/ui/styling/background.ios.js +47 -38
- package/ui/styling/background.ios.js.map +1 -1
- package/ui/styling/css-utils.d.ts +1 -0
- package/ui/styling/css-utils.js +15 -4
- package/ui/styling/css-utils.js.map +1 -1
- package/ui/styling/style/index.d.ts +2 -1
- package/ui/styling/style/index.js.map +1 -1
- package/ui/styling/style-properties.js +23 -11
- package/ui/styling/style-properties.js.map +1 -1
- package/ui/tab-view/index.android.js +22 -8
- package/ui/tab-view/index.android.js.map +1 -1
- package/ui/tab-view/index.ios.d.ts +1 -1
- package/ui/tab-view/index.ios.js +28 -9
- package/ui/tab-view/index.ios.js.map +1 -1
- package/ui/tab-view/tab-view-common.d.ts +2 -0
- package/ui/tab-view/tab-view-common.js +5 -0
- package/ui/tab-view/tab-view-common.js.map +1 -1
- package/utils/common.d.ts +3 -1
- package/utils/common.js +9 -3
- package/utils/common.js.map +1 -1
- package/utils/index.d.ts +6 -0
- package/utils/native-helper-for-android.d.ts +14 -3
- package/utils/native-helper-for-android.js +57 -54
- package/utils/native-helper-for-android.js.map +1 -1
- package/utils/native-helper.android.d.ts +3 -3
- package/utils/native-helper.android.js +2 -2
- package/utils/native-helper.android.js.map +1 -1
- package/utils/native-helper.d.ts +22 -5
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { supportsGlass } from '../../../utils/constants';
|
|
2
|
+
import { iosGlassEffectProperty } from '../../core/view';
|
|
3
|
+
import { LiquidGlassCommon } from './liquid-glass-common';
|
|
4
|
+
export class LiquidGlass extends LiquidGlassCommon {
|
|
5
|
+
createNativeView() {
|
|
6
|
+
// Use UIVisualEffectView as the root so interactive effects can track touches
|
|
7
|
+
const effect = UIGlassEffect.effectWithStyle(1 /* UIGlassEffectStyle.Clear */);
|
|
8
|
+
effect.interactive = true;
|
|
9
|
+
const effectView = UIVisualEffectView.alloc().initWithEffect(effect);
|
|
10
|
+
effectView.frame = CGRectMake(0, 0, 0, 0);
|
|
11
|
+
effectView.autoresizingMask = 2 /* UIViewAutoresizing.FlexibleWidth */ | 16 /* UIViewAutoresizing.FlexibleHeight */;
|
|
12
|
+
effectView.clipsToBounds = true;
|
|
13
|
+
// Host for all children so parent layout works as usual
|
|
14
|
+
const host = UIView.new();
|
|
15
|
+
host.frame = effectView.bounds;
|
|
16
|
+
host.autoresizingMask = 2 /* UIViewAutoresizing.FlexibleWidth */ | 16 /* UIViewAutoresizing.FlexibleHeight */;
|
|
17
|
+
host.userInteractionEnabled = true;
|
|
18
|
+
effectView.contentView.addSubview(host);
|
|
19
|
+
this._contentHost = host;
|
|
20
|
+
return effectView;
|
|
21
|
+
}
|
|
22
|
+
_addViewToNativeVisualTree(child, atIndex) {
|
|
23
|
+
const parentNativeView = this._contentHost;
|
|
24
|
+
const childNativeView = child.nativeViewProtected;
|
|
25
|
+
if (parentNativeView && childNativeView) {
|
|
26
|
+
if (typeof atIndex !== 'number' || atIndex >= parentNativeView.subviews.count) {
|
|
27
|
+
parentNativeView.addSubview(childNativeView);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
parentNativeView.insertSubviewAtIndex(childNativeView, atIndex);
|
|
31
|
+
}
|
|
32
|
+
// If the child has an outer shadow layer, ensure it is attached under the child's layer
|
|
33
|
+
if (childNativeView.outerShadowContainerLayer && !childNativeView.outerShadowContainerLayer.superlayer) {
|
|
34
|
+
this.nativeViewProtected.layer.insertSublayerBelow(childNativeView.outerShadowContainerLayer, childNativeView.layer);
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
[iosGlassEffectProperty.setNative](value) {
|
|
41
|
+
this._applyGlassEffect(value, {
|
|
42
|
+
effectType: 'glass',
|
|
43
|
+
targetView: this.nativeViewProtected,
|
|
44
|
+
toGlassStyleFn: toUIGlassStyle,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export function toUIGlassStyle(value) {
|
|
49
|
+
if (supportsGlass()) {
|
|
50
|
+
switch (value) {
|
|
51
|
+
case 'regular':
|
|
52
|
+
return 0 /* UIGlassEffectStyle?.Regular */ ?? 0;
|
|
53
|
+
case 'clear':
|
|
54
|
+
return 1 /* UIGlassEffectStyle?.Clear */ ?? 1;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return 1;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=index.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../../../packages/core/ui/layouts/liquid-glass/index.ios.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAiD,sBAAsB,EAAQ,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAIjD,gBAAgB;QACf,8EAA8E;QAC9E,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,kCAA0B,CAAC;QACvE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,UAAU,CAAC,gBAAgB,GAAG,qFAAoE,CAAC;QACnG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;QAEhC,wDAAwD;QACxD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,qFAAoE,CAAC;QAC7F,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,OAAO,UAAU,CAAC;IACnB,CAAC;IAEM,0BAA0B,CAAC,KAAW,EAAE,OAAe;QAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC3C,MAAM,eAAe,GAA2C,KAAK,CAAC,mBAAmB,CAAC;QAE1F,IAAI,gBAAgB,IAAI,eAAe,EAAE,CAAC;YACzC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC/E,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACP,gBAAgB,CAAC,oBAAoB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;YAED,wFAAwF;YACxF,IAAI,eAAe,CAAC,yBAAyB,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,UAAU,EAAE,CAAC;gBACxG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,CAAC,eAAe,CAAC,yBAAyB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;YACtH,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,KAAsB;QACxD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;YAC7B,UAAU,EAAE,OAAO;YACnB,UAAU,EAAE,IAAI,CAAC,mBAAmB;YACpC,cAAc,EAAE,cAAc;SAC9B,CAAC,CAAC;IACJ,CAAC;CACD;AAED,MAAM,UAAU,cAAc,CAAC,KAA0B;IACxD,IAAI,aAAa,EAAE,EAAE,CAAC;QACrB,QAAQ,KAAK,EAAE,CAAC;YACf,KAAK,SAAS;gBACb,OAAO,uCAA+B,CAAC,CAAC;YACzC,KAAK,OAAO;gBACX,OAAO,qCAA6B,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liquid-glass-common.js","sourceRoot":"","sources":["../../../../../../packages/core/ui/layouts/liquid-glass/liquid-glass-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,OAAO,iBAAkB,SAAQ,UAAU;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../../../../packages/core/ui/layouts/liquid-glass-container/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,MAAM,OAAO,oBAAqB,SAAQ,0BAA0B;CAAG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GlassEffectType, iosGlassEffectProperty, View } from '../../core/view';
|
|
2
|
+
import { LiquidGlassContainerCommon } from './liquid-glass-container-common';
|
|
3
|
+
export declare class LiquidGlassContainer extends LiquidGlassContainerCommon {
|
|
4
|
+
[iosGlassEffectProperty.setNative]: (value: GlassEffectType) => void;
|
|
5
|
+
nativeViewProtected: UIVisualEffectView;
|
|
6
|
+
private _contentHost;
|
|
7
|
+
private _normalizing;
|
|
8
|
+
createNativeView(): UIVisualEffectView;
|
|
9
|
+
_addViewToNativeVisualTree(child: View, atIndex: number): boolean;
|
|
10
|
+
onLayout(left: number, top: number, right: number, bottom: number): void;
|
|
11
|
+
stabilizeLayout(): void;
|
|
12
|
+
private _scheduleNormalize;
|
|
13
|
+
private _normalizeChildrenTransforms;
|
|
14
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { iosGlassEffectProperty } from '../../core/view';
|
|
2
|
+
import { LiquidGlassContainerCommon } from './liquid-glass-container-common';
|
|
3
|
+
import { toUIGlassStyle } from '../liquid-glass';
|
|
4
|
+
export class LiquidGlassContainer extends LiquidGlassContainerCommon {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this._normalizing = false;
|
|
8
|
+
}
|
|
9
|
+
createNativeView() {
|
|
10
|
+
// Keep UIVisualEffectView as the root to preserve interactive container effect
|
|
11
|
+
const effect = UIGlassContainerEffect.alloc().init();
|
|
12
|
+
effect.spacing = 8;
|
|
13
|
+
const effectView = UIVisualEffectView.alloc().initWithEffect(effect);
|
|
14
|
+
effectView.overrideUserInterfaceStyle = 2 /* UIUserInterfaceStyle.Dark */;
|
|
15
|
+
effectView.clipsToBounds = true;
|
|
16
|
+
effectView.autoresizingMask = 2 /* UIViewAutoresizing.FlexibleWidth */ | 16 /* UIViewAutoresizing.FlexibleHeight */;
|
|
17
|
+
// Add a host view for children so parent can lay them out normally
|
|
18
|
+
const host = UIView.new();
|
|
19
|
+
host.frame = effectView.bounds;
|
|
20
|
+
host.autoresizingMask = 2 /* UIViewAutoresizing.FlexibleWidth */ | 16 /* UIViewAutoresizing.FlexibleHeight */;
|
|
21
|
+
host.userInteractionEnabled = true;
|
|
22
|
+
effectView.contentView.addSubview(host);
|
|
23
|
+
this._contentHost = host;
|
|
24
|
+
return effectView;
|
|
25
|
+
}
|
|
26
|
+
_addViewToNativeVisualTree(child, atIndex) {
|
|
27
|
+
const parentNativeView = this._contentHost;
|
|
28
|
+
const childNativeView = child.nativeViewProtected;
|
|
29
|
+
if (parentNativeView && childNativeView) {
|
|
30
|
+
if (typeof atIndex !== 'number' || atIndex >= parentNativeView.subviews.count) {
|
|
31
|
+
parentNativeView.addSubview(childNativeView);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
parentNativeView.insertSubviewAtIndex(childNativeView, atIndex);
|
|
35
|
+
}
|
|
36
|
+
// Add outer shadow layer manually as it belongs to parent layer tree (this is needed for reusable views)
|
|
37
|
+
if (childNativeView.outerShadowContainerLayer && !childNativeView.outerShadowContainerLayer.superlayer) {
|
|
38
|
+
this.nativeViewProtected.layer.insertSublayerBelow(childNativeView.outerShadowContainerLayer, childNativeView.layer);
|
|
39
|
+
}
|
|
40
|
+
// Normalize in case the child comes in with a residual translate from a previous state
|
|
41
|
+
this._scheduleNormalize();
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
// When children animate with translate (layer transform), UIVisualEffectView-based
|
|
47
|
+
// container effects may recompute based on the underlying frames (not transforms),
|
|
48
|
+
// which can cause jumps. Normalize any residual translation into the
|
|
49
|
+
// child's frame so the effect uses the final visual positions.
|
|
50
|
+
onLayout(left, top, right, bottom) {
|
|
51
|
+
super.onLayout(left, top, right, bottom);
|
|
52
|
+
// Try to fold any pending translates into frames on each layout pass
|
|
53
|
+
this._normalizeChildrenTransforms();
|
|
54
|
+
}
|
|
55
|
+
// Allow callers to stabilize layout after custom animations
|
|
56
|
+
stabilizeLayout() {
|
|
57
|
+
this._normalizeChildrenTransforms(true);
|
|
58
|
+
}
|
|
59
|
+
_scheduleNormalize() {
|
|
60
|
+
if (this._normalizing)
|
|
61
|
+
return;
|
|
62
|
+
this._normalizing = true;
|
|
63
|
+
// Next tick to allow any pending frame/transform updates to settle
|
|
64
|
+
setTimeout(() => {
|
|
65
|
+
try {
|
|
66
|
+
this._normalizeChildrenTransforms();
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
this._normalizing = false;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
_normalizeChildrenTransforms(force = false) {
|
|
74
|
+
let changed = false;
|
|
75
|
+
const count = this.getChildrenCount?.() ?? 0;
|
|
76
|
+
for (let i = 0; i < count; i++) {
|
|
77
|
+
const child = this.getChildAt(i);
|
|
78
|
+
if (!child)
|
|
79
|
+
continue;
|
|
80
|
+
const tx = child.translateX || 0;
|
|
81
|
+
const ty = child.translateY || 0;
|
|
82
|
+
if (!tx && !ty)
|
|
83
|
+
continue;
|
|
84
|
+
const native = child.nativeViewProtected;
|
|
85
|
+
if (!native)
|
|
86
|
+
continue;
|
|
87
|
+
// Skip if the child is still animating (unless forced)
|
|
88
|
+
if (!force) {
|
|
89
|
+
const keys = native.layer.animationKeys ? native.layer.animationKeys() : null;
|
|
90
|
+
const hasAnimations = !!(keys && keys.count > 0);
|
|
91
|
+
if (hasAnimations)
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
const frame = native.frame;
|
|
95
|
+
native.transform = CGAffineTransformIdentity;
|
|
96
|
+
native.frame = CGRectMake(frame.origin.x + tx, frame.origin.y + ty, frame.size.width, frame.size.height);
|
|
97
|
+
child.translateX = 0;
|
|
98
|
+
child.translateY = 0;
|
|
99
|
+
changed = true;
|
|
100
|
+
}
|
|
101
|
+
if (changed) {
|
|
102
|
+
// Ask the effect view to re-evaluate its internal state using updated frames
|
|
103
|
+
const nv = this.nativeViewProtected;
|
|
104
|
+
if (nv) {
|
|
105
|
+
nv.setNeedsLayout();
|
|
106
|
+
nv.layoutIfNeeded();
|
|
107
|
+
// Also request layout on contentView in case the effect inspects it directly
|
|
108
|
+
nv.contentView?.setNeedsLayout?.();
|
|
109
|
+
nv.contentView?.layoutIfNeeded?.();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
[iosGlassEffectProperty.setNative](value) {
|
|
114
|
+
this._applyGlassEffect(value, {
|
|
115
|
+
effectType: 'container',
|
|
116
|
+
targetView: this.nativeViewProtected,
|
|
117
|
+
toGlassStyleFn: toUIGlassStyle,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=index.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../../../packages/core/ui/layouts/liquid-glass-container/index.ios.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liquid-glass-container-common.js","sourceRoot":"","sources":["../../../../../../packages/core/ui/layouts/liquid-glass-container/liquid-glass-container-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,0BAA2B,SAAQ,cAAc;IAC7D,eAAe,KAAI,CAAC;CACpB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ListViewBase, separatorColorProperty, itemTemplatesProperty } from './list-view-common';
|
|
1
|
+
import { ListViewBase, separatorColorProperty, itemTemplatesProperty, stickyHeaderProperty, stickyHeaderTemplateProperty, sectionedProperty, showSearchProperty } from './list-view-common';
|
|
2
2
|
import { View, KeyedTemplate } from '../core/view';
|
|
3
3
|
import { Color } from '../../color';
|
|
4
4
|
export * from './list-view-common';
|
|
@@ -13,6 +13,10 @@ export declare class ListView extends ListViewBase {
|
|
|
13
13
|
}) => void;
|
|
14
14
|
[itemTemplatesProperty.getDefault]: () => KeyedTemplate[];
|
|
15
15
|
[itemTemplatesProperty.setNative]: (value: KeyedTemplate[]) => void;
|
|
16
|
+
[stickyHeaderProperty.setNative]: (value: boolean) => void;
|
|
17
|
+
[stickyHeaderTemplateProperty.setNative]: (value: string) => void;
|
|
18
|
+
[sectionedProperty.setNative]: (value: boolean) => void;
|
|
19
|
+
[showSearchProperty.setNative]: (value: boolean) => void;
|
|
16
20
|
nativeViewProtected: android.widget.ListView;
|
|
17
21
|
private _androidViewId;
|
|
18
22
|
_realizedItems: Map<globalAndroid.view.View, {
|
|
@@ -21,6 +25,13 @@ export declare class ListView extends ListViewBase {
|
|
|
21
25
|
}>;
|
|
22
26
|
_availableViews: Map<string, Set<globalAndroid.view.View>>;
|
|
23
27
|
_realizedTemplates: Map<string, Map<globalAndroid.view.View, View>>;
|
|
28
|
+
private _stickyHeaderView;
|
|
29
|
+
private _stickyHeaderHeight;
|
|
30
|
+
private _scrollListener;
|
|
31
|
+
_hiddenHeaderPositions: Set<number>;
|
|
32
|
+
private _searchView;
|
|
33
|
+
private _searchListener;
|
|
34
|
+
get hasSearchView(): boolean;
|
|
24
35
|
private _ensureAvailableViews;
|
|
25
36
|
_registerViewToTemplate(templateKey: string, nativeView: android.view.View, view: View): void;
|
|
26
37
|
_markViewUsed(nativeView: android.view.View): void;
|
|
@@ -31,6 +42,7 @@ export declare class ListView extends ListViewBase {
|
|
|
31
42
|
createNativeView(): globalAndroid.widget.ListView;
|
|
32
43
|
initNativeView(): void;
|
|
33
44
|
disposeNativeView(): void;
|
|
45
|
+
private _cleanupStickyHeader;
|
|
34
46
|
onLoaded(): void;
|
|
35
47
|
refresh(): void;
|
|
36
48
|
scrollToIndex(index: number): void;
|
|
@@ -40,4 +52,17 @@ export declare class ListView extends ListViewBase {
|
|
|
40
52
|
_dumpRealizedTemplates(): void;
|
|
41
53
|
private clearRealizedCells;
|
|
42
54
|
isItemAtIndexVisible(index: number): boolean;
|
|
55
|
+
private _setupStickyHeader;
|
|
56
|
+
private _createStickyHeaderView;
|
|
57
|
+
private _addStickyHeaderToParent;
|
|
58
|
+
private _addListViewPadding;
|
|
59
|
+
private _setupScrollListener;
|
|
60
|
+
private _getCurrentSection;
|
|
61
|
+
private _updateStickyHeader;
|
|
62
|
+
private _updateHiddenHeaders;
|
|
63
|
+
private _setupSearchView;
|
|
64
|
+
private _addSearchPadding;
|
|
65
|
+
private _addSearchToParent;
|
|
66
|
+
private _cleanupSearchView;
|
|
67
|
+
private _repositionStickyHeader;
|
|
43
68
|
}
|