@triniwiz/nativescript-masonkit 1.0.0-beta.103 → 1.0.0-beta.105
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/common.d.ts +17 -0
- package/common.js +138 -15
- package/common.js.map +1 -1
- package/index.d.ts +17 -3
- package/list/common.d.ts +2 -0
- package/list/common.js +9 -0
- package/list/common.js.map +1 -1
- package/list/index.android.js +2 -1
- package/list/index.android.js.map +1 -1
- package/list/index.ios.d.ts +1 -0
- package/list/index.ios.js +9 -3
- package/list/index.ios.js.map +1 -1
- package/package.json +1 -1
- package/platforms/android/masonkit-release.aar +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +12939 -4082
- package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +7471 -7471
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +12939 -4082
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +12939 -4082
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +12 -12
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +7457 -7457
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +7147 -7147
- package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Mason +0 -0
- package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-xros.swiftsourceinfo +0 -0
- package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.abi.json +12939 -4082
- package/platforms/ios/Mason.xcframework/xros-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
- package/platforms/ios/Mason.xcframework/xros-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +6960 -6960
- package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Mason +0 -0
- package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-xros-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.abi.json +12939 -4082
- package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/_CodeSignature/CodeResources +6 -6
- package/platforms/ios/Mason.xcframework/xros-arm64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
- package/platforms/ios/Mason.xcframework/xros-arm64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +6968 -6968
- package/platforms/windows/arm64/NativeScript.Mason.dll +0 -0
- package/platforms/windows/arm64/NativeScript.Mason.winmd +0 -0
- package/platforms/windows/x64/NativeScript.Mason.dll +0 -0
- package/platforms/windows/x64/NativeScript.Mason.winmd +0 -0
- package/scroll/index.android.js +2 -2
- package/scroll/index.android.js.map +1 -1
- package/scroll/index.ios.js +2 -2
- package/scroll/index.ios.js.map +1 -1
- package/style.d.ts +7 -0
- package/style.js +100 -15
- package/style.js.map +1 -1
- package/text/index.android.js +3 -3
- package/text/index.android.js.map +1 -1
- package/text/index.ios.js +2 -2
- package/text/index.ios.js.map +1 -1
- package/text-runs.d.ts +1 -0
- package/text-runs.js +1 -0
- package/text-runs.js.map +1 -1
- package/view/index.android.js +2 -2
- package/view/index.android.js.map +1 -1
- package/view/index.ios.js +2 -2
- package/view/index.ios.js.map +1 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/scroll/index.android.js
CHANGED
|
@@ -41,10 +41,9 @@ let Scroll = class Scroll extends ViewBase {
|
|
|
41
41
|
const nativeView = this._view;
|
|
42
42
|
if (nativeView && (child.nativeViewProtected || child.android)) {
|
|
43
43
|
child._hasNativeView = true;
|
|
44
|
-
const jsIndex = atIndex <= -1 ? this._children.indexOf(child) : atIndex;
|
|
45
44
|
// Map the JS index onto the native children list (views attach lazily,
|
|
46
45
|
// so the raw index can run ahead of native state).
|
|
47
|
-
const
|
|
46
|
+
const { nativeIndex: index } = this._nativeAttachIndex(child, atIndex);
|
|
48
47
|
child._isMasonChild = true;
|
|
49
48
|
if (child[isPlaceholder_]) {
|
|
50
49
|
nativeView.addChildAt(child.android, index);
|
|
@@ -58,6 +57,7 @@ let Scroll = class Scroll extends ViewBase {
|
|
|
58
57
|
}
|
|
59
58
|
// @ts-ignore
|
|
60
59
|
_removeViewFromNativeVisualTree(view) {
|
|
60
|
+
this._invalidateAttachCursor();
|
|
61
61
|
// @ts-ignore
|
|
62
62
|
super._removeViewFromNativeVisualTree(view);
|
|
63
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/scroll/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGpE,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,QAAQ;IAGlC;QACE,KAAK,EAAE,CAAC;QAFV,aAAQ,GAAG,KAAK,CAAC;QAGf,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,6FAA6F;IAC7F,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC5F,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAoD,CAAC;YACxG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,GAAG,IAAa,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAoD,CAAC;IAC1E,CAAC;IAED,IAAI,YAAY;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,6DAA6D;IAC7D,aAAa;IACb,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAA+C,CAAC;IAC9D,CAAC;IAED,aAAa;IACN,0BAA0B,CAAC,KAAiB,EAAE,OAAO,GAAG,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,KAA+C,CAAC;QAExE,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5B,
|
|
1
|
+
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/scroll/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGpE,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,QAAQ;IAGlC;QACE,KAAK,EAAE,CAAC;QAFV,aAAQ,GAAG,KAAK,CAAC;QAGf,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,6FAA6F;IAC7F,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAC5F,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAoD,CAAC;YACxG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,GAAG,IAAa,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAoD,CAAC;IAC1E,CAAC;IAED,IAAI,YAAY;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,6DAA6D;IAC7D,aAAa;IACb,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAA+C,CAAC;IAC9D,CAAC;IAED,aAAa;IACN,0BAA0B,CAAC,KAAiB,EAAE,OAAO,GAAG,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,KAA+C,CAAC;QAExE,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5B,uEAAuE;YACvE,mDAAmD;YACnD,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAI,IAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAChF,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;YAC3B,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAc,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAc,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,aAAa;IACN,+BAA+B,CAAC,IAAgB;QACpD,IAAY,CAAC,uBAAuB,EAAE,CAAC;QACxC,aAAa;QACb,KAAK,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF,CAAA;AAnEY,MAAM;IADlB,OAAO,CAAC,QAAQ,CAAC;;GACL,MAAM,CAmElB"}
|
package/scroll/index.ios.js
CHANGED
|
@@ -115,10 +115,9 @@ let Scroll = class Scroll extends ViewBase {
|
|
|
115
115
|
const nativeView = this._view;
|
|
116
116
|
if (nativeView && (child.nativeViewProtected || child.ios)) {
|
|
117
117
|
child._hasNativeView = true;
|
|
118
|
-
const jsIndex = atIndex <= -1 ? this._children.indexOf(child) : atIndex;
|
|
119
118
|
// Map the JS index onto the native children list (views attach lazily,
|
|
120
119
|
// so the raw index can run ahead of native state).
|
|
121
|
-
const
|
|
120
|
+
const { nativeIndex: index } = this._nativeAttachIndex(child, atIndex);
|
|
122
121
|
child._isMasonChild = true;
|
|
123
122
|
if (child[isPlaceholder_]) {
|
|
124
123
|
// @ts-ignore
|
|
@@ -137,6 +136,7 @@ let Scroll = class Scroll extends ViewBase {
|
|
|
137
136
|
}
|
|
138
137
|
// @ts-ignore
|
|
139
138
|
_removeViewFromNativeVisualTree(view) {
|
|
139
|
+
this._invalidateAttachCursor();
|
|
140
140
|
// Inverse of `_addViewToNativeVisualTree` — unlink the mason node so
|
|
141
141
|
// removal detaches the Rust node + native view rather than orphaning it.
|
|
142
142
|
const nativeView = this._view;
|
package/scroll/index.ios.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/scroll/index.ios.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/scroll/index.ios.ts"],"names":[],"mappings":"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"}
|
package/style.d.ts
CHANGED
|
@@ -157,9 +157,11 @@ export declare class Style {
|
|
|
157
157
|
private inBatch;
|
|
158
158
|
private _syncScheduled;
|
|
159
159
|
private _turnSnapshot;
|
|
160
|
+
private _synced;
|
|
160
161
|
private nativeView;
|
|
161
162
|
private nativeNode;
|
|
162
163
|
private _pseudo;
|
|
164
|
+
private _borderRadiusCss;
|
|
163
165
|
static fromView(view: View, nativeView: any): Style;
|
|
164
166
|
static fromPseudo(pseudo: string, view: View, nativeView: any): Style;
|
|
165
167
|
private clearPseudoSetMask;
|
|
@@ -171,8 +173,12 @@ export declare class Style {
|
|
|
171
173
|
private writeBorderSide;
|
|
172
174
|
private writeWindowsTextDecoration;
|
|
173
175
|
setBorderColor(value: string): void;
|
|
176
|
+
setBorderSideColor(side: 'top' | 'right' | 'bottom' | 'left', value: number | string | {
|
|
177
|
+
argb?: number;
|
|
178
|
+
}): void;
|
|
174
179
|
resetState(): void;
|
|
175
180
|
private syncStyle;
|
|
181
|
+
private _sendSync;
|
|
176
182
|
/** The anonymous Windows Text holding a container's own runs inherits the container's text styles. */
|
|
177
183
|
copyTextStyleTo(text: NativeScript.Mason.Text): void;
|
|
178
184
|
private setOrAppendState;
|
|
@@ -378,6 +384,7 @@ export declare class Style {
|
|
|
378
384
|
set backgroundBlendMode(value: string);
|
|
379
385
|
get borderRadius(): string;
|
|
380
386
|
set borderRadius(value: string);
|
|
387
|
+
_writeBorderRadius(value: string, scale: number): boolean;
|
|
381
388
|
get whiteSpace(): string;
|
|
382
389
|
set whiteSpace(value: 'normal' | 'pre' | 'pre-wrap' | 'pre-line' | 'nowrap' | 'break-spaces');
|
|
383
390
|
get objectFit(): string;
|
package/style.js
CHANGED
|
@@ -3,7 +3,7 @@ import { cssUnits } from './units';
|
|
|
3
3
|
import { masonEngine } from './windows-panel-helpers';
|
|
4
4
|
import { reportCssDiagnostic } from './diagnostics';
|
|
5
5
|
import { expandColorStops, resolveStopPositions } from './gradient-stops';
|
|
6
|
-
import { Color, Length as CoreLength, PercentLength as CorePercentLength } from '@nativescript/core';
|
|
6
|
+
import { Color, Length as CoreLength, PercentLength as CorePercentLength, Screen } from '@nativescript/core';
|
|
7
7
|
// The Windows shell lays out in XAML DIPs, so its style buffer holds DIPs. Core's Windows density
|
|
8
8
|
// is 1 until the window has a XamlRoot, so converting stored early styles unscaled and later ones scaled.
|
|
9
9
|
const layout = __WINDOWS__ ? { ...coreLayout, getDisplayDensity: () => 1, toDevicePixels: (value) => value, toDeviceIndependentPixels: (value) => value } : coreLayout;
|
|
@@ -780,12 +780,50 @@ function expandSidesShorthand(value) {
|
|
|
780
780
|
}
|
|
781
781
|
}
|
|
782
782
|
/** Corners in CSS shorthand order. */
|
|
783
|
-
const
|
|
783
|
+
const RADIUS_KEYS = [
|
|
784
784
|
['tl', { xType: StyleKeys.BORDER_RADIUS_TOP_LEFT_X_TYPE, yType: StyleKeys.BORDER_RADIUS_TOP_LEFT_Y_TYPE, xValue: StyleKeys.BORDER_RADIUS_TOP_LEFT_X_VALUE, yValue: StyleKeys.BORDER_RADIUS_TOP_LEFT_Y_VALUE }],
|
|
785
785
|
['tr', { xType: StyleKeys.BORDER_RADIUS_TOP_RIGHT_X_TYPE, yType: StyleKeys.BORDER_RADIUS_TOP_RIGHT_Y_TYPE, xValue: StyleKeys.BORDER_RADIUS_TOP_RIGHT_X_VALUE, yValue: StyleKeys.BORDER_RADIUS_TOP_RIGHT_Y_VALUE }],
|
|
786
786
|
['br', { xType: StyleKeys.BORDER_RADIUS_BOTTOM_RIGHT_X_TYPE, yType: StyleKeys.BORDER_RADIUS_BOTTOM_RIGHT_Y_TYPE, xValue: StyleKeys.BORDER_RADIUS_BOTTOM_RIGHT_X_VALUE, yValue: StyleKeys.BORDER_RADIUS_BOTTOM_RIGHT_Y_VALUE }],
|
|
787
787
|
['bl', { xType: StyleKeys.BORDER_RADIUS_BOTTOM_LEFT_X_TYPE, yType: StyleKeys.BORDER_RADIUS_BOTTOM_LEFT_Y_TYPE, xValue: StyleKeys.BORDER_RADIUS_BOTTOM_LEFT_X_VALUE, yValue: StyleKeys.BORDER_RADIUS_BOTTOM_LEFT_Y_VALUE }],
|
|
788
788
|
];
|
|
789
|
+
const FAST_RADIUS_TOKEN = /^(-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)(px|dip|dppx|%)?$/;
|
|
790
|
+
function fastRadiusTokens(part, scale) {
|
|
791
|
+
const out = [];
|
|
792
|
+
for (const token of part.split(/\s+/)) {
|
|
793
|
+
if (!token)
|
|
794
|
+
continue;
|
|
795
|
+
const m = FAST_RADIUS_TOKEN.exec(token);
|
|
796
|
+
if (!m)
|
|
797
|
+
return null;
|
|
798
|
+
const raw = parseFloat(m[1]);
|
|
799
|
+
const num = Math.min(9999, Math.max(-9999, raw));
|
|
800
|
+
if (m[2] === '%')
|
|
801
|
+
out.push({ type: 1, value: raw / 100 });
|
|
802
|
+
else if (m[2] === 'dppx')
|
|
803
|
+
out.push({ type: 0, value: num });
|
|
804
|
+
else
|
|
805
|
+
out.push({ type: 0, value: num * scale });
|
|
806
|
+
}
|
|
807
|
+
return out;
|
|
808
|
+
}
|
|
809
|
+
function radiusCorners(t) {
|
|
810
|
+
switch (t.length) {
|
|
811
|
+
case 1:
|
|
812
|
+
return [t[0], t[0], t[0], t[0]];
|
|
813
|
+
case 2:
|
|
814
|
+
return [t[0], t[1], t[0], t[1]];
|
|
815
|
+
case 3:
|
|
816
|
+
return [t[0], t[1], t[2], t[1]];
|
|
817
|
+
case 4:
|
|
818
|
+
return t;
|
|
819
|
+
default:
|
|
820
|
+
return null;
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
let deviceScaleCache = 0;
|
|
824
|
+
function deviceScale() {
|
|
825
|
+
return deviceScaleCache || (deviceScaleCache = Screen.mainScreen.scale);
|
|
826
|
+
}
|
|
789
827
|
function parseWindowsRadius(token, emBasis) {
|
|
790
828
|
const t = token.trim();
|
|
791
829
|
if (t.endsWith('%')) {
|
|
@@ -1143,6 +1181,7 @@ export class Style {
|
|
|
1143
1181
|
// each render); if the bytes end up unchanged the native sync is skipped.
|
|
1144
1182
|
// `false` means a write happened without a snapshot, so always sync.
|
|
1145
1183
|
this._turnSnapshot = undefined;
|
|
1184
|
+
this._synced = false;
|
|
1146
1185
|
}
|
|
1147
1186
|
static fromView(view, nativeView) {
|
|
1148
1187
|
//console.time('fromView');
|
|
@@ -1155,7 +1194,7 @@ export class Style {
|
|
|
1155
1194
|
// if a non mason view is passed
|
|
1156
1195
|
style = org.nativescript.mason.masonkit.Mason.getShared().styleForViewOrNode(nativeView);
|
|
1157
1196
|
}
|
|
1158
|
-
const styleBuffer = style.getValues();
|
|
1197
|
+
const styleBuffer = typeof style.getWritableValue === 'function' ? style.getWritableValue() : style.getValues();
|
|
1159
1198
|
const buffer = ArrayBuffer.from(styleBuffer);
|
|
1160
1199
|
ret.style_view = new DataView(buffer);
|
|
1161
1200
|
ret.i8View = new Int8Array(buffer);
|
|
@@ -1356,7 +1395,7 @@ export class Style {
|
|
|
1356
1395
|
if (name === 'border-radius') {
|
|
1357
1396
|
const r = parseBorderRadiusShorthand(value, this.emBasis());
|
|
1358
1397
|
this.prepareMut();
|
|
1359
|
-
for (const [corner, keys] of
|
|
1398
|
+
for (const [corner, keys] of RADIUS_KEYS) {
|
|
1360
1399
|
const { type, value: v } = r[corner];
|
|
1361
1400
|
setFloat32(this.style_view, keys.xValue, v);
|
|
1362
1401
|
setFloat32(this.style_view, keys.yValue, v);
|
|
@@ -1455,7 +1494,7 @@ export class Style {
|
|
|
1455
1494
|
}
|
|
1456
1495
|
}
|
|
1457
1496
|
setBorderColor(value) {
|
|
1458
|
-
if (!__WINDOWS__ || !this.style_view)
|
|
1497
|
+
if (!(__WINDOWS__ || __ANDROID__) || !this.style_view)
|
|
1459
1498
|
return;
|
|
1460
1499
|
const c = parseSidesColorShorthand(String(value ?? ''));
|
|
1461
1500
|
this.writeBorderSide('top', null, null, c.t);
|
|
@@ -1464,16 +1503,30 @@ export class Style {
|
|
|
1464
1503
|
this.writeBorderSide('left', null, null, c.l);
|
|
1465
1504
|
this.commitState(StateKeys.BORDER_COLOR);
|
|
1466
1505
|
}
|
|
1506
|
+
setBorderSideColor(side, value) {
|
|
1507
|
+
if (!this.style_view)
|
|
1508
|
+
return;
|
|
1509
|
+
const color = normalizeColorValue(value);
|
|
1510
|
+
if (color == null)
|
|
1511
|
+
return;
|
|
1512
|
+
this.writeBorderSide(side, null, null, color);
|
|
1513
|
+
this.commitState(StateKeys.BORDER_COLOR);
|
|
1514
|
+
}
|
|
1467
1515
|
resetState() {
|
|
1468
1516
|
this.isDirty = -1n;
|
|
1469
1517
|
}
|
|
1470
1518
|
syncStyle() {
|
|
1519
|
+
this._synced = true;
|
|
1471
1520
|
const snapshot = this._turnSnapshot;
|
|
1472
1521
|
this._turnSnapshot = undefined;
|
|
1473
1522
|
if (snapshot && this.isDirty !== -1n && bytesEqual(snapshot, this.u8View)) {
|
|
1474
1523
|
this.resetState();
|
|
1475
1524
|
return;
|
|
1476
1525
|
}
|
|
1526
|
+
this._sendSync();
|
|
1527
|
+
this.resetState();
|
|
1528
|
+
}
|
|
1529
|
+
_sendSync() {
|
|
1477
1530
|
if (__ANDROID__) {
|
|
1478
1531
|
const [lowLow, lowHigh, highLow, highHigh] = splitBigIntToInt32Parts(this.isDirty);
|
|
1479
1532
|
//@ts-ignore
|
|
@@ -1495,7 +1548,6 @@ export class Style {
|
|
|
1495
1548
|
view.SyncStyle('', '');
|
|
1496
1549
|
this.view?._windowsSyncAnonymousText?.();
|
|
1497
1550
|
}
|
|
1498
|
-
this.resetState();
|
|
1499
1551
|
}
|
|
1500
1552
|
/** The anonymous Windows Text holding a container's own runs inherits the container's text styles. */
|
|
1501
1553
|
copyTextStyleTo(text) {
|
|
@@ -1564,7 +1616,7 @@ export class Style {
|
|
|
1564
1616
|
return;
|
|
1565
1617
|
}
|
|
1566
1618
|
if (this._turnSnapshot === undefined && this.isDirty === -1n && this.u8View) {
|
|
1567
|
-
this._turnSnapshot = this.u8View.slice();
|
|
1619
|
+
this._turnSnapshot = this._synced ? this.u8View.slice() : false;
|
|
1568
1620
|
}
|
|
1569
1621
|
const ref = getUint32(this.style_view, StyleKeys.REF_COUNT);
|
|
1570
1622
|
if (ref !== 1) {
|
|
@@ -1888,7 +1940,7 @@ export class Style {
|
|
|
1888
1940
|
// BLACK ?
|
|
1889
1941
|
return 0;
|
|
1890
1942
|
}
|
|
1891
|
-
return
|
|
1943
|
+
return getUint8(this.style_view, StyleKeys.TEXT_WRAP);
|
|
1892
1944
|
}
|
|
1893
1945
|
set textWrap(value) {
|
|
1894
1946
|
if (!this.style_view) {
|
|
@@ -1897,10 +1949,10 @@ export class Style {
|
|
|
1897
1949
|
let wrap = -1;
|
|
1898
1950
|
switch (value) {
|
|
1899
1951
|
case 'nowrap':
|
|
1900
|
-
wrap =
|
|
1952
|
+
wrap = 1;
|
|
1901
1953
|
break;
|
|
1902
1954
|
case 'wrap':
|
|
1903
|
-
wrap =
|
|
1955
|
+
wrap = 0;
|
|
1904
1956
|
break;
|
|
1905
1957
|
case 'balance':
|
|
1906
1958
|
wrap = 2;
|
|
@@ -1911,7 +1963,7 @@ export class Style {
|
|
|
1911
1963
|
}
|
|
1912
1964
|
if (wrap !== -1) {
|
|
1913
1965
|
this.prepareMut();
|
|
1914
|
-
|
|
1966
|
+
setUint8(this.style_view, StyleKeys.TEXT_WRAP, wrap);
|
|
1915
1967
|
setInt8(this.style_view, StyleKeys.TEXT_WRAP_STATE, 1);
|
|
1916
1968
|
this.commitState(StateKeys.TEXT_WRAP);
|
|
1917
1969
|
}
|
|
@@ -4227,7 +4279,7 @@ export class Style {
|
|
|
4227
4279
|
// clip ?
|
|
4228
4280
|
return 'clip';
|
|
4229
4281
|
}
|
|
4230
|
-
const type =
|
|
4282
|
+
const type = getUint8(this.style_view, StyleKeys.TEXT_OVERFLOW);
|
|
4231
4283
|
switch (type) {
|
|
4232
4284
|
case 0:
|
|
4233
4285
|
return 'clip';
|
|
@@ -4255,7 +4307,7 @@ export class Style {
|
|
|
4255
4307
|
}
|
|
4256
4308
|
if (flow !== -1) {
|
|
4257
4309
|
this.prepareMut();
|
|
4258
|
-
|
|
4310
|
+
setUint8(this.style_view, StyleKeys.TEXT_OVERFLOW, flow);
|
|
4259
4311
|
setInt8(this.style_view, StyleKeys.TEXT_OVERFLOW_STATE, 1);
|
|
4260
4312
|
this.commitState(StateKeys.TEXT_OVERFLOW);
|
|
4261
4313
|
}
|
|
@@ -4545,14 +4597,14 @@ export class Style {
|
|
|
4545
4597
|
return '';
|
|
4546
4598
|
}
|
|
4547
4599
|
if (__ANDROID__) {
|
|
4548
|
-
return org.nativescript.mason.masonkit.NodeHelper.getShared().getBorderRadius(this.nativeView);
|
|
4600
|
+
return this._borderRadiusCss ?? org.nativescript.mason.masonkit.NodeHelper.getShared().getBorderRadius(this.nativeView);
|
|
4549
4601
|
}
|
|
4550
4602
|
if (__APPLE__) {
|
|
4551
4603
|
return this.nativeView.style.borderRadius;
|
|
4552
4604
|
}
|
|
4553
4605
|
if (__WINDOWS__ && this.style_view) {
|
|
4554
4606
|
// Read back so a single corner longhand keeps the other three instead of resetting them to 0.
|
|
4555
|
-
return
|
|
4607
|
+
return RADIUS_KEYS.map(([, keys]) => {
|
|
4556
4608
|
const v = getFloat32(this.style_view, keys.xValue);
|
|
4557
4609
|
return getUint8(this.style_view, keys.xType) === 1 ? `${v * 100}%` : `${v}px`;
|
|
4558
4610
|
}).join(' ');
|
|
@@ -4561,8 +4613,41 @@ export class Style {
|
|
|
4561
4613
|
}
|
|
4562
4614
|
set borderRadius(value) {
|
|
4563
4615
|
value = this.coerceCssStringValue(value);
|
|
4616
|
+
if (__ANDROID__ && this.nativeView && !this._pseudo && this._writeBorderRadius(value, deviceScale())) {
|
|
4617
|
+
return;
|
|
4618
|
+
}
|
|
4619
|
+
if (!this._pseudo)
|
|
4620
|
+
this._borderRadiusCss = undefined;
|
|
4564
4621
|
this.setPseudoCssStringValue('border-radius', value, () => org.nativescript.mason.masonkit.NodeHelper.getShared().setBorderRadius(this.nativeView, value), () => (this.nativeView.style.borderRadius = value));
|
|
4565
4622
|
}
|
|
4623
|
+
_writeBorderRadius(value, scale) {
|
|
4624
|
+
let cleaned = value.trim();
|
|
4625
|
+
if (cleaned.endsWith(';'))
|
|
4626
|
+
cleaned = cleaned.slice(0, -1);
|
|
4627
|
+
const slash = cleaned.indexOf('/');
|
|
4628
|
+
const h = fastRadiusTokens(slash < 0 ? cleaned : cleaned.slice(0, slash).trim(), scale);
|
|
4629
|
+
if (!h)
|
|
4630
|
+
return false;
|
|
4631
|
+
const vPart = slash < 0 ? '' : cleaned.slice(slash + 1).trim();
|
|
4632
|
+
const v = vPart ? fastRadiusTokens(vPart, scale) : h;
|
|
4633
|
+
if (!v)
|
|
4634
|
+
return false;
|
|
4635
|
+
this._borderRadiusCss = value;
|
|
4636
|
+
const hm = radiusCorners(h);
|
|
4637
|
+
const vm = v.length ? radiusCorners(v) : hm;
|
|
4638
|
+
if (!hm || !vm)
|
|
4639
|
+
return true;
|
|
4640
|
+
this.prepareMut();
|
|
4641
|
+
for (let i = 0; i < 4; i++) {
|
|
4642
|
+
const keys = RADIUS_KEYS[i][1];
|
|
4643
|
+
setUint8(this.style_view, keys.xType, hm[i].type);
|
|
4644
|
+
setFloat32(this.style_view, keys.xValue, hm[i].value);
|
|
4645
|
+
setUint8(this.style_view, keys.yType, vm[i].type);
|
|
4646
|
+
setFloat32(this.style_view, keys.yValue, vm[i].value);
|
|
4647
|
+
}
|
|
4648
|
+
this.commitState(StateKeys.BORDER_RADIUS);
|
|
4649
|
+
return true;
|
|
4650
|
+
}
|
|
4566
4651
|
get whiteSpace() {
|
|
4567
4652
|
const map = ['normal', 'pre', 'pre-wrap', 'pre-line', 'nowrap', 'break-spaces'];
|
|
4568
4653
|
return map[getUint8(this.style_view, StyleKeys.WHITE_SPACE)] ?? 'normal';
|