@triniwiz/nativescript-masonkit 1.0.0-beta.104 → 1.0.0-beta.106
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/angular/fesm2022/triniwiz-nativescript-masonkit-angular.mjs.map +1 -1
- package/common.d.ts +15 -7
- package/common.js +94 -17
- 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/Info.plist +9 -9
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +2 -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 +11898 -2974
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +2 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +2 -0
- 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 +8166 -8161
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +4 -0
- 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 +11898 -2974
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +2 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +2 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +11898 -2974
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +2 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +2 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +22 -22
- 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 +8160 -8155
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +7800 -7795
- package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Headers/Mason-Swift.h +2 -0
- 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 +11898 -2974
- package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.private.swiftinterface +2 -0
- package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.swiftinterface +2 -0
- 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 +7659 -7654
- package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Headers/Mason-Swift.h +2 -0
- 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 +11898 -2974
- package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.private.swiftinterface +2 -0
- package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.swiftinterface +2 -0
- package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/_CodeSignature/CodeResources +12 -12
- 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 +7659 -7654
- 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/properties.d.ts +0 -5
- package/properties.js +23 -13
- package/properties.js.map +1 -1
- 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 +10 -0
- package/style.js +229 -115
- 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/typings/android.d.ts +2 -0
- package/typings/objc!Mason.d.ts +4 -0
- package/utils/index.ios.d.ts +2 -2
- 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
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('%')) {
|
|
@@ -1114,6 +1152,21 @@ function queueStyleSync(style) {
|
|
|
1114
1152
|
queueMicrotask(flushStyleSyncs);
|
|
1115
1153
|
}
|
|
1116
1154
|
}
|
|
1155
|
+
let nodeHelperShared;
|
|
1156
|
+
export function nodeHelper() {
|
|
1157
|
+
return (nodeHelperShared ?? (nodeHelperShared = org.nativescript.mason.masonkit.NodeHelper.getShared()));
|
|
1158
|
+
}
|
|
1159
|
+
function androidWritableStyleBuffer(nativeView) {
|
|
1160
|
+
if (typeof nativeView?.getWritableStyleBuffer === 'function') {
|
|
1161
|
+
return nativeView.getWritableStyleBuffer();
|
|
1162
|
+
}
|
|
1163
|
+
let style = nativeView?.getStyle?.();
|
|
1164
|
+
if (!style) {
|
|
1165
|
+
// if a non mason view is passed
|
|
1166
|
+
style = org.nativescript.mason.masonkit.Mason.getShared().styleForViewOrNode(nativeView);
|
|
1167
|
+
}
|
|
1168
|
+
return typeof style.getWritableValue === 'function' ? style.getWritableValue() : style.getValues();
|
|
1169
|
+
}
|
|
1117
1170
|
function windowsStyleValues(nativeView) {
|
|
1118
1171
|
if (nativeView?.Node)
|
|
1119
1172
|
return masonEngine().StyleValues(nativeView);
|
|
@@ -1143,6 +1196,7 @@ export class Style {
|
|
|
1143
1196
|
// each render); if the bytes end up unchanged the native sync is skipped.
|
|
1144
1197
|
// `false` means a write happened without a snapshot, so always sync.
|
|
1145
1198
|
this._turnSnapshot = undefined;
|
|
1199
|
+
this._synced = false;
|
|
1146
1200
|
}
|
|
1147
1201
|
static fromView(view, nativeView) {
|
|
1148
1202
|
//console.time('fromView');
|
|
@@ -1150,13 +1204,7 @@ export class Style {
|
|
|
1150
1204
|
ret.view_ = view;
|
|
1151
1205
|
ret.nativeView = nativeView;
|
|
1152
1206
|
if (__ANDROID__) {
|
|
1153
|
-
|
|
1154
|
-
if (!style) {
|
|
1155
|
-
// if a non mason view is passed
|
|
1156
|
-
style = org.nativescript.mason.masonkit.Mason.getShared().styleForViewOrNode(nativeView);
|
|
1157
|
-
}
|
|
1158
|
-
const styleBuffer = style.getValues();
|
|
1159
|
-
const buffer = ArrayBuffer.from(styleBuffer);
|
|
1207
|
+
const buffer = ArrayBuffer.from(androidWritableStyleBuffer(nativeView));
|
|
1160
1208
|
ret.style_view = new DataView(buffer);
|
|
1161
1209
|
ret.i8View = new Int8Array(buffer);
|
|
1162
1210
|
ret.u8View = new Uint8Array(buffer);
|
|
@@ -1356,7 +1404,7 @@ export class Style {
|
|
|
1356
1404
|
if (name === 'border-radius') {
|
|
1357
1405
|
const r = parseBorderRadiusShorthand(value, this.emBasis());
|
|
1358
1406
|
this.prepareMut();
|
|
1359
|
-
for (const [corner, keys] of
|
|
1407
|
+
for (const [corner, keys] of RADIUS_KEYS) {
|
|
1360
1408
|
const { type, value: v } = r[corner];
|
|
1361
1409
|
setFloat32(this.style_view, keys.xValue, v);
|
|
1362
1410
|
setFloat32(this.style_view, keys.yValue, v);
|
|
@@ -1455,7 +1503,7 @@ export class Style {
|
|
|
1455
1503
|
}
|
|
1456
1504
|
}
|
|
1457
1505
|
setBorderColor(value) {
|
|
1458
|
-
if (!__WINDOWS__ || !this.style_view)
|
|
1506
|
+
if (!(__WINDOWS__ || __ANDROID__) || !this.style_view)
|
|
1459
1507
|
return;
|
|
1460
1508
|
const c = parseSidesColorShorthand(String(value ?? ''));
|
|
1461
1509
|
this.writeBorderSide('top', null, null, c.t);
|
|
@@ -1464,16 +1512,30 @@ export class Style {
|
|
|
1464
1512
|
this.writeBorderSide('left', null, null, c.l);
|
|
1465
1513
|
this.commitState(StateKeys.BORDER_COLOR);
|
|
1466
1514
|
}
|
|
1515
|
+
setBorderSideColor(side, value) {
|
|
1516
|
+
if (!this.style_view)
|
|
1517
|
+
return;
|
|
1518
|
+
const color = normalizeColorValue(value);
|
|
1519
|
+
if (color == null)
|
|
1520
|
+
return;
|
|
1521
|
+
this.writeBorderSide(side, null, null, color);
|
|
1522
|
+
this.commitState(StateKeys.BORDER_COLOR);
|
|
1523
|
+
}
|
|
1467
1524
|
resetState() {
|
|
1468
1525
|
this.isDirty = -1n;
|
|
1469
1526
|
}
|
|
1470
1527
|
syncStyle() {
|
|
1528
|
+
this._synced = true;
|
|
1471
1529
|
const snapshot = this._turnSnapshot;
|
|
1472
1530
|
this._turnSnapshot = undefined;
|
|
1473
1531
|
if (snapshot && this.isDirty !== -1n && bytesEqual(snapshot, this.u8View)) {
|
|
1474
1532
|
this.resetState();
|
|
1475
1533
|
return;
|
|
1476
1534
|
}
|
|
1535
|
+
this._sendSync();
|
|
1536
|
+
this.resetState();
|
|
1537
|
+
}
|
|
1538
|
+
_sendSync() {
|
|
1477
1539
|
if (__ANDROID__) {
|
|
1478
1540
|
const [lowLow, lowHigh, highLow, highHigh] = splitBigIntToInt32Parts(this.isDirty);
|
|
1479
1541
|
//@ts-ignore
|
|
@@ -1495,7 +1557,6 @@ export class Style {
|
|
|
1495
1557
|
view.SyncStyle('', '');
|
|
1496
1558
|
this.view?._windowsSyncAnonymousText?.();
|
|
1497
1559
|
}
|
|
1498
|
-
this.resetState();
|
|
1499
1560
|
}
|
|
1500
1561
|
/** The anonymous Windows Text holding a container's own runs inherits the container's text styles. */
|
|
1501
1562
|
copyTextStyleTo(text) {
|
|
@@ -1564,7 +1625,7 @@ export class Style {
|
|
|
1564
1625
|
return;
|
|
1565
1626
|
}
|
|
1566
1627
|
if (this._turnSnapshot === undefined && this.isDirty === -1n && this.u8View) {
|
|
1567
|
-
this._turnSnapshot = this.u8View.slice();
|
|
1628
|
+
this._turnSnapshot = this._synced ? this.u8View.slice() : false;
|
|
1568
1629
|
}
|
|
1569
1630
|
const ref = getUint32(this.style_view, StyleKeys.REF_COUNT);
|
|
1570
1631
|
if (ref !== 1) {
|
|
@@ -1581,14 +1642,7 @@ export class Style {
|
|
|
1581
1642
|
this.u8View = new Uint8Array(buffer);
|
|
1582
1643
|
}
|
|
1583
1644
|
if (__ANDROID__) {
|
|
1584
|
-
|
|
1585
|
-
if (!style) {
|
|
1586
|
-
// if a non mason view is passed
|
|
1587
|
-
style = org.nativescript.mason.masonkit.Mason.getShared().styleForViewOrNode(this.nativeView);
|
|
1588
|
-
}
|
|
1589
|
-
style.prepareMut();
|
|
1590
|
-
const styleBuffer = style.getValues();
|
|
1591
|
-
const buffer = ArrayBuffer.from(styleBuffer);
|
|
1645
|
+
const buffer = ArrayBuffer.from(androidWritableStyleBuffer(this.nativeView));
|
|
1592
1646
|
this.style_view = new DataView(buffer);
|
|
1593
1647
|
this.i8View = new Int8Array(buffer);
|
|
1594
1648
|
this.u8View = new Uint8Array(buffer);
|
|
@@ -3663,7 +3717,7 @@ export class Style {
|
|
|
3663
3717
|
return '';
|
|
3664
3718
|
}
|
|
3665
3719
|
if (__ANDROID__) {
|
|
3666
|
-
return
|
|
3720
|
+
return nodeHelper().getGridAutoRows(this.nativeView);
|
|
3667
3721
|
}
|
|
3668
3722
|
if (__APPLE__) {
|
|
3669
3723
|
return this.nativeView.style.gridAutoRows;
|
|
@@ -3677,7 +3731,7 @@ export class Style {
|
|
|
3677
3731
|
// A bare number can't marshal over JNI into the native String setter.
|
|
3678
3732
|
value = value == null ? '' : String(value);
|
|
3679
3733
|
if (__ANDROID__) {
|
|
3680
|
-
|
|
3734
|
+
nodeHelper().setGridAutoRows(this.nativeView, value);
|
|
3681
3735
|
}
|
|
3682
3736
|
if (__APPLE__) {
|
|
3683
3737
|
this.nativeView.style.gridAutoRows = value;
|
|
@@ -3691,7 +3745,7 @@ export class Style {
|
|
|
3691
3745
|
return '';
|
|
3692
3746
|
}
|
|
3693
3747
|
if (__ANDROID__) {
|
|
3694
|
-
return
|
|
3748
|
+
return nodeHelper().getGridAutoColumns(this.nativeView);
|
|
3695
3749
|
}
|
|
3696
3750
|
if (__APPLE__) {
|
|
3697
3751
|
return this.nativeView.style.gridAutoColumns;
|
|
@@ -3705,7 +3759,7 @@ export class Style {
|
|
|
3705
3759
|
// See gridAutoRows above.
|
|
3706
3760
|
value = value == null ? '' : String(value);
|
|
3707
3761
|
if (__ANDROID__) {
|
|
3708
|
-
|
|
3762
|
+
nodeHelper().setGridAutoColumns(this.nativeView, value);
|
|
3709
3763
|
}
|
|
3710
3764
|
if (__APPLE__) {
|
|
3711
3765
|
this.nativeView.style.gridAutoColumns = value;
|
|
@@ -3753,7 +3807,7 @@ export class Style {
|
|
|
3753
3807
|
// See gridAutoRows above.
|
|
3754
3808
|
value = value == null ? '' : String(value);
|
|
3755
3809
|
if (__ANDROID__) {
|
|
3756
|
-
|
|
3810
|
+
nodeHelper().setGridColumn(this.nativeView, value);
|
|
3757
3811
|
}
|
|
3758
3812
|
if (__APPLE__) {
|
|
3759
3813
|
this.nativeView.style.gridColumn = value;
|
|
@@ -3767,7 +3821,7 @@ export class Style {
|
|
|
3767
3821
|
return '';
|
|
3768
3822
|
}
|
|
3769
3823
|
if (__ANDROID__) {
|
|
3770
|
-
return
|
|
3824
|
+
return nodeHelper().getGridColumn(this.nativeView);
|
|
3771
3825
|
}
|
|
3772
3826
|
if (__APPLE__) {
|
|
3773
3827
|
return this.nativeView.style.gridColumn;
|
|
@@ -3779,7 +3833,7 @@ export class Style {
|
|
|
3779
3833
|
return '';
|
|
3780
3834
|
}
|
|
3781
3835
|
if (__ANDROID__) {
|
|
3782
|
-
return
|
|
3836
|
+
return nodeHelper().getGridColumnStart(this.nativeView);
|
|
3783
3837
|
}
|
|
3784
3838
|
if (__APPLE__) {
|
|
3785
3839
|
return this.nativeView.style.gridColumnStart;
|
|
@@ -3793,7 +3847,7 @@ export class Style {
|
|
|
3793
3847
|
// See gridAutoRows above.
|
|
3794
3848
|
value = value == null ? '' : String(value);
|
|
3795
3849
|
if (__ANDROID__) {
|
|
3796
|
-
|
|
3850
|
+
nodeHelper().setGridColumnStart(this.nativeView, value);
|
|
3797
3851
|
}
|
|
3798
3852
|
if (__APPLE__) {
|
|
3799
3853
|
this.nativeView.style.gridColumnStart = value;
|
|
@@ -3807,7 +3861,7 @@ export class Style {
|
|
|
3807
3861
|
return '';
|
|
3808
3862
|
}
|
|
3809
3863
|
if (__ANDROID__) {
|
|
3810
|
-
return
|
|
3864
|
+
return nodeHelper().getGridColumnEnd(this.nativeView);
|
|
3811
3865
|
}
|
|
3812
3866
|
if (__APPLE__) {
|
|
3813
3867
|
return this.nativeView.style.gridColumnEnd;
|
|
@@ -3821,7 +3875,7 @@ export class Style {
|
|
|
3821
3875
|
// See gridAutoRows above.
|
|
3822
3876
|
value = value == null ? '' : String(value);
|
|
3823
3877
|
if (__ANDROID__) {
|
|
3824
|
-
|
|
3878
|
+
nodeHelper().setGridColumnEnd(this.nativeView, value);
|
|
3825
3879
|
}
|
|
3826
3880
|
if (__APPLE__) {
|
|
3827
3881
|
this.nativeView.style.gridColumnEnd = value;
|
|
@@ -3837,7 +3891,7 @@ export class Style {
|
|
|
3837
3891
|
// See gridAutoRows above.
|
|
3838
3892
|
value = value == null ? '' : String(value);
|
|
3839
3893
|
if (__ANDROID__) {
|
|
3840
|
-
|
|
3894
|
+
nodeHelper().setGridRow(this.nativeView, value);
|
|
3841
3895
|
}
|
|
3842
3896
|
if (__APPLE__) {
|
|
3843
3897
|
this.nativeView.style.gridRow = value;
|
|
@@ -3851,7 +3905,7 @@ export class Style {
|
|
|
3851
3905
|
return '';
|
|
3852
3906
|
}
|
|
3853
3907
|
if (__ANDROID__) {
|
|
3854
|
-
return
|
|
3908
|
+
return nodeHelper().getGridRow(this.nativeView);
|
|
3855
3909
|
}
|
|
3856
3910
|
if (__APPLE__) {
|
|
3857
3911
|
return this.nativeView.style.gridRow;
|
|
@@ -3863,7 +3917,7 @@ export class Style {
|
|
|
3863
3917
|
return '';
|
|
3864
3918
|
}
|
|
3865
3919
|
if (__ANDROID__) {
|
|
3866
|
-
return
|
|
3920
|
+
return nodeHelper().getGridRowStart(this.nativeView);
|
|
3867
3921
|
}
|
|
3868
3922
|
if (__APPLE__) {
|
|
3869
3923
|
return this.nativeView.style.gridRowStart;
|
|
@@ -3877,7 +3931,7 @@ export class Style {
|
|
|
3877
3931
|
// See gridAutoRows above.
|
|
3878
3932
|
value = value == null ? '' : String(value);
|
|
3879
3933
|
if (__ANDROID__) {
|
|
3880
|
-
|
|
3934
|
+
nodeHelper().setGridRowStart(this.nativeView, value);
|
|
3881
3935
|
}
|
|
3882
3936
|
if (__APPLE__) {
|
|
3883
3937
|
this.nativeView.style.gridRowStart = value;
|
|
@@ -3891,7 +3945,7 @@ export class Style {
|
|
|
3891
3945
|
return '';
|
|
3892
3946
|
}
|
|
3893
3947
|
if (__ANDROID__) {
|
|
3894
|
-
return
|
|
3948
|
+
return nodeHelper().getGridRowEnd(this.nativeView);
|
|
3895
3949
|
}
|
|
3896
3950
|
if (__APPLE__) {
|
|
3897
3951
|
return this.nativeView.style.gridRowEnd;
|
|
@@ -3905,7 +3959,7 @@ export class Style {
|
|
|
3905
3959
|
// See gridAutoRows above.
|
|
3906
3960
|
value = value == null ? '' : String(value);
|
|
3907
3961
|
if (__ANDROID__) {
|
|
3908
|
-
|
|
3962
|
+
nodeHelper().setGridRowEnd(this.nativeView, value);
|
|
3909
3963
|
}
|
|
3910
3964
|
if (__APPLE__) {
|
|
3911
3965
|
this.nativeView.style.gridRowEnd = value;
|
|
@@ -3921,7 +3975,7 @@ export class Style {
|
|
|
3921
3975
|
// See gridAutoRows above.
|
|
3922
3976
|
value = value == null ? '' : String(value);
|
|
3923
3977
|
if (__ANDROID__) {
|
|
3924
|
-
|
|
3978
|
+
nodeHelper().setGridArea(this.nativeView, value);
|
|
3925
3979
|
}
|
|
3926
3980
|
if (__APPLE__) {
|
|
3927
3981
|
this.nativeView.style.gridArea = value;
|
|
@@ -3935,7 +3989,7 @@ export class Style {
|
|
|
3935
3989
|
return '';
|
|
3936
3990
|
}
|
|
3937
3991
|
if (__ANDROID__) {
|
|
3938
|
-
return
|
|
3992
|
+
return nodeHelper().getGridArea(this.nativeView);
|
|
3939
3993
|
}
|
|
3940
3994
|
if (__APPLE__) {
|
|
3941
3995
|
return this.nativeView.style.gridArea;
|
|
@@ -3949,7 +4003,7 @@ export class Style {
|
|
|
3949
4003
|
// null clears the template; also guards against a bare number (see gridAutoRows above).
|
|
3950
4004
|
value = value == null ? '' : String(value);
|
|
3951
4005
|
if (__ANDROID__) {
|
|
3952
|
-
|
|
4006
|
+
nodeHelper().setGridTemplateRows(this.nativeView, value);
|
|
3953
4007
|
}
|
|
3954
4008
|
if (__APPLE__) {
|
|
3955
4009
|
this.nativeView.style.gridTemplateRows = value;
|
|
@@ -3963,7 +4017,7 @@ export class Style {
|
|
|
3963
4017
|
return '';
|
|
3964
4018
|
}
|
|
3965
4019
|
if (__ANDROID__) {
|
|
3966
|
-
return
|
|
4020
|
+
return nodeHelper().getGridTemplateRows(this.nativeView);
|
|
3967
4021
|
}
|
|
3968
4022
|
if (__APPLE__) {
|
|
3969
4023
|
return this.nativeView.style.gridTemplateRows;
|
|
@@ -3975,7 +4029,7 @@ export class Style {
|
|
|
3975
4029
|
return '';
|
|
3976
4030
|
}
|
|
3977
4031
|
if (__ANDROID__) {
|
|
3978
|
-
return
|
|
4032
|
+
return nodeHelper().getGridTemplateColumns(this.nativeView);
|
|
3979
4033
|
}
|
|
3980
4034
|
if (__APPLE__) {
|
|
3981
4035
|
return this.nativeView.style.gridTemplateColumns;
|
|
@@ -3989,7 +4043,7 @@ export class Style {
|
|
|
3989
4043
|
// null clears the template; also guards against a bare number (see gridAutoRows above).
|
|
3990
4044
|
value = value == null ? '' : String(value);
|
|
3991
4045
|
if (__ANDROID__) {
|
|
3992
|
-
|
|
4046
|
+
nodeHelper().setGridTemplateColumns(this.nativeView, value);
|
|
3993
4047
|
}
|
|
3994
4048
|
if (__APPLE__) {
|
|
3995
4049
|
this.nativeView.style.gridTemplateColumns = value;
|
|
@@ -4003,7 +4057,7 @@ export class Style {
|
|
|
4003
4057
|
return '';
|
|
4004
4058
|
}
|
|
4005
4059
|
if (__ANDROID__) {
|
|
4006
|
-
return
|
|
4060
|
+
return nodeHelper().getGridTemplateAreas(this.nativeView);
|
|
4007
4061
|
}
|
|
4008
4062
|
if (__APPLE__) {
|
|
4009
4063
|
return this.nativeView.style.gridTemplateAreas;
|
|
@@ -4017,7 +4071,7 @@ export class Style {
|
|
|
4017
4071
|
// null clears it; also guards against a bare number (see gridAutoRows above).
|
|
4018
4072
|
value = value == null ? '' : String(value);
|
|
4019
4073
|
if (__ANDROID__) {
|
|
4020
|
-
|
|
4074
|
+
nodeHelper().setGridTemplateAreas(this.nativeView, value);
|
|
4021
4075
|
}
|
|
4022
4076
|
if (__APPLE__) {
|
|
4023
4077
|
this.nativeView.style.gridTemplateAreas = value;
|
|
@@ -4369,7 +4423,7 @@ export class Style {
|
|
|
4369
4423
|
return '';
|
|
4370
4424
|
}
|
|
4371
4425
|
if (__ANDROID__) {
|
|
4372
|
-
return
|
|
4426
|
+
return nodeHelper().getBackground(this.nativeView);
|
|
4373
4427
|
}
|
|
4374
4428
|
if (__APPLE__) {
|
|
4375
4429
|
return this.nativeView.style.background;
|
|
@@ -4378,14 +4432,14 @@ export class Style {
|
|
|
4378
4432
|
}
|
|
4379
4433
|
set background(value) {
|
|
4380
4434
|
value = this.coerceCssStringValue(value);
|
|
4381
|
-
this.setPseudoCssStringValue('background', value, () =>
|
|
4435
|
+
this.setPseudoCssStringValue('background', value, () => nodeHelper().setBackground(this.nativeView, value), () => (this.nativeView.style.background = value));
|
|
4382
4436
|
}
|
|
4383
4437
|
get backgroundImage() {
|
|
4384
4438
|
if (!this.nativeView) {
|
|
4385
4439
|
return '';
|
|
4386
4440
|
}
|
|
4387
4441
|
if (__ANDROID__) {
|
|
4388
|
-
return
|
|
4442
|
+
return nodeHelper().getBackgroundImage(this.nativeView);
|
|
4389
4443
|
}
|
|
4390
4444
|
if (__APPLE__) {
|
|
4391
4445
|
return this.nativeView.style.backgroundImage;
|
|
@@ -4394,14 +4448,14 @@ export class Style {
|
|
|
4394
4448
|
}
|
|
4395
4449
|
set backgroundImage(value) {
|
|
4396
4450
|
value = this.coerceCssStringValue(value);
|
|
4397
|
-
this.setPseudoCssStringValue('background-image', value, () =>
|
|
4451
|
+
this.setPseudoCssStringValue('background-image', value, () => nodeHelper().setBackgroundImage(this.nativeView, value), () => (this.nativeView.style.backgroundImage = value));
|
|
4398
4452
|
}
|
|
4399
4453
|
get backgroundRepeat() {
|
|
4400
4454
|
if (!this.nativeView) {
|
|
4401
4455
|
return '';
|
|
4402
4456
|
}
|
|
4403
4457
|
if (__ANDROID__) {
|
|
4404
|
-
return
|
|
4458
|
+
return nodeHelper().getBackgroundRepeat(this.nativeView);
|
|
4405
4459
|
}
|
|
4406
4460
|
if (__APPLE__) {
|
|
4407
4461
|
return this.nativeView.style.backgroundRepeat;
|
|
@@ -4410,14 +4464,14 @@ export class Style {
|
|
|
4410
4464
|
}
|
|
4411
4465
|
set backgroundRepeat(value) {
|
|
4412
4466
|
value = this.coerceCssStringValue(value);
|
|
4413
|
-
this.setPseudoCssStringValue('background-repeat', value, () =>
|
|
4467
|
+
this.setPseudoCssStringValue('background-repeat', value, () => nodeHelper().setBackgroundRepeat(this.nativeView, value), () => (this.nativeView.style.backgroundRepeat = value));
|
|
4414
4468
|
}
|
|
4415
4469
|
get backgroundPosition() {
|
|
4416
4470
|
if (!this.nativeView) {
|
|
4417
4471
|
return '';
|
|
4418
4472
|
}
|
|
4419
4473
|
if (__ANDROID__) {
|
|
4420
|
-
return
|
|
4474
|
+
return nodeHelper().getBackgroundPosition(this.nativeView);
|
|
4421
4475
|
}
|
|
4422
4476
|
if (__APPLE__) {
|
|
4423
4477
|
return this.nativeView.style.backgroundPosition;
|
|
@@ -4426,14 +4480,14 @@ export class Style {
|
|
|
4426
4480
|
}
|
|
4427
4481
|
set backgroundPosition(value) {
|
|
4428
4482
|
value = this.coerceCssStringValue(value);
|
|
4429
|
-
this.setPseudoCssStringValue('background-position', value, () =>
|
|
4483
|
+
this.setPseudoCssStringValue('background-position', value, () => nodeHelper().setBackgroundPosition(this.nativeView, value), () => (this.nativeView.style.backgroundPosition = value));
|
|
4430
4484
|
}
|
|
4431
4485
|
get backgroundSize() {
|
|
4432
4486
|
if (!this.nativeView) {
|
|
4433
4487
|
return '';
|
|
4434
4488
|
}
|
|
4435
4489
|
if (__ANDROID__) {
|
|
4436
|
-
return
|
|
4490
|
+
return nodeHelper().getBackgroundSize(this.nativeView);
|
|
4437
4491
|
}
|
|
4438
4492
|
if (__APPLE__) {
|
|
4439
4493
|
return this.nativeView.style.backgroundSize;
|
|
@@ -4442,14 +4496,14 @@ export class Style {
|
|
|
4442
4496
|
}
|
|
4443
4497
|
set backgroundSize(value) {
|
|
4444
4498
|
value = this.coerceCssStringValue(value);
|
|
4445
|
-
this.setPseudoCssStringValue('background-size', value, () =>
|
|
4499
|
+
this.setPseudoCssStringValue('background-size', value, () => nodeHelper().setBackgroundSize(this.nativeView, value), () => (this.nativeView.style.backgroundSize = value));
|
|
4446
4500
|
}
|
|
4447
4501
|
get backgroundClip() {
|
|
4448
4502
|
if (!this.nativeView) {
|
|
4449
4503
|
return '';
|
|
4450
4504
|
}
|
|
4451
4505
|
if (__ANDROID__) {
|
|
4452
|
-
return
|
|
4506
|
+
return nodeHelper().getBackgroundClip(this.nativeView);
|
|
4453
4507
|
}
|
|
4454
4508
|
if (__APPLE__) {
|
|
4455
4509
|
return this.nativeView.style.backgroundClip;
|
|
@@ -4458,14 +4512,14 @@ export class Style {
|
|
|
4458
4512
|
}
|
|
4459
4513
|
set backgroundClip(value) {
|
|
4460
4514
|
value = this.coerceCssStringValue(value);
|
|
4461
|
-
this.setPseudoCssStringValue('background-clip', value, () =>
|
|
4515
|
+
this.setPseudoCssStringValue('background-clip', value, () => nodeHelper().setBackgroundClip(this.nativeView, value), () => (this.nativeView.style.backgroundClip = value));
|
|
4462
4516
|
}
|
|
4463
4517
|
get backgroundPositionX() {
|
|
4464
4518
|
if (!this.nativeView) {
|
|
4465
4519
|
return '';
|
|
4466
4520
|
}
|
|
4467
4521
|
if (__ANDROID__) {
|
|
4468
|
-
return
|
|
4522
|
+
return nodeHelper().getBackgroundPositionX(this.nativeView);
|
|
4469
4523
|
}
|
|
4470
4524
|
if (__APPLE__) {
|
|
4471
4525
|
return this.nativeView.style.backgroundPositionX;
|
|
@@ -4474,14 +4528,14 @@ export class Style {
|
|
|
4474
4528
|
}
|
|
4475
4529
|
set backgroundPositionX(value) {
|
|
4476
4530
|
value = cssInitialIfReset(this.coerceCssStringValue(value), '0%');
|
|
4477
|
-
this.setPseudoCssStringValue('background-position-x', value, () =>
|
|
4531
|
+
this.setPseudoCssStringValue('background-position-x', value, () => nodeHelper().setBackgroundPositionX(this.nativeView, value), () => (this.nativeView.style.backgroundPositionX = value));
|
|
4478
4532
|
}
|
|
4479
4533
|
get backgroundPositionY() {
|
|
4480
4534
|
if (!this.nativeView) {
|
|
4481
4535
|
return '';
|
|
4482
4536
|
}
|
|
4483
4537
|
if (__ANDROID__) {
|
|
4484
|
-
return
|
|
4538
|
+
return nodeHelper().getBackgroundPositionY(this.nativeView);
|
|
4485
4539
|
}
|
|
4486
4540
|
if (__APPLE__) {
|
|
4487
4541
|
return this.nativeView.style.backgroundPositionY;
|
|
@@ -4490,14 +4544,14 @@ export class Style {
|
|
|
4490
4544
|
}
|
|
4491
4545
|
set backgroundPositionY(value) {
|
|
4492
4546
|
value = cssInitialIfReset(this.coerceCssStringValue(value), '0%');
|
|
4493
|
-
this.setPseudoCssStringValue('background-position-y', value, () =>
|
|
4547
|
+
this.setPseudoCssStringValue('background-position-y', value, () => nodeHelper().setBackgroundPositionY(this.nativeView, value), () => (this.nativeView.style.backgroundPositionY = value));
|
|
4494
4548
|
}
|
|
4495
4549
|
get backgroundOrigin() {
|
|
4496
4550
|
if (!this.nativeView) {
|
|
4497
4551
|
return '';
|
|
4498
4552
|
}
|
|
4499
4553
|
if (__ANDROID__) {
|
|
4500
|
-
return
|
|
4554
|
+
return nodeHelper().getBackgroundOrigin(this.nativeView);
|
|
4501
4555
|
}
|
|
4502
4556
|
if (__APPLE__) {
|
|
4503
4557
|
return this.nativeView.style.backgroundOrigin;
|
|
@@ -4506,14 +4560,14 @@ export class Style {
|
|
|
4506
4560
|
}
|
|
4507
4561
|
set backgroundOrigin(value) {
|
|
4508
4562
|
value = cssInitialIfReset(this.coerceCssStringValue(value), 'padding-box');
|
|
4509
|
-
this.setPseudoCssStringValue('background-origin', value, () =>
|
|
4563
|
+
this.setPseudoCssStringValue('background-origin', value, () => nodeHelper().setBackgroundOrigin(this.nativeView, value), () => (this.nativeView.style.backgroundOrigin = value));
|
|
4510
4564
|
}
|
|
4511
4565
|
get backgroundAttachment() {
|
|
4512
4566
|
if (!this.nativeView) {
|
|
4513
4567
|
return '';
|
|
4514
4568
|
}
|
|
4515
4569
|
if (__ANDROID__) {
|
|
4516
|
-
return
|
|
4570
|
+
return nodeHelper().getBackgroundAttachment(this.nativeView);
|
|
4517
4571
|
}
|
|
4518
4572
|
if (__APPLE__) {
|
|
4519
4573
|
return this.nativeView.style.backgroundAttachment;
|
|
@@ -4522,14 +4576,14 @@ export class Style {
|
|
|
4522
4576
|
}
|
|
4523
4577
|
set backgroundAttachment(value) {
|
|
4524
4578
|
value = cssInitialIfReset(this.coerceCssStringValue(value), 'scroll');
|
|
4525
|
-
this.setPseudoCssStringValue('background-attachment', value, () =>
|
|
4579
|
+
this.setPseudoCssStringValue('background-attachment', value, () => nodeHelper().setBackgroundAttachment(this.nativeView, value), () => (this.nativeView.style.backgroundAttachment = value));
|
|
4526
4580
|
}
|
|
4527
4581
|
get backgroundBlendMode() {
|
|
4528
4582
|
if (!this.nativeView) {
|
|
4529
4583
|
return '';
|
|
4530
4584
|
}
|
|
4531
4585
|
if (__ANDROID__) {
|
|
4532
|
-
return
|
|
4586
|
+
return nodeHelper().getBackgroundBlendMode(this.nativeView);
|
|
4533
4587
|
}
|
|
4534
4588
|
if (__APPLE__) {
|
|
4535
4589
|
return this.nativeView.style.backgroundBlendMode;
|
|
@@ -4538,21 +4592,31 @@ export class Style {
|
|
|
4538
4592
|
}
|
|
4539
4593
|
set backgroundBlendMode(value) {
|
|
4540
4594
|
value = cssInitialIfReset(this.coerceCssStringValue(value), 'normal');
|
|
4541
|
-
this.setPseudoCssStringValue('background-blend-mode', value, () =>
|
|
4595
|
+
this.setPseudoCssStringValue('background-blend-mode', value, () => nodeHelper().setBackgroundBlendMode(this.nativeView, value), () => (this.nativeView.style.backgroundBlendMode = value));
|
|
4596
|
+
}
|
|
4597
|
+
hasBorderRadius() {
|
|
4598
|
+
const view = this.style_view;
|
|
4599
|
+
if (!view)
|
|
4600
|
+
return true;
|
|
4601
|
+
for (const [, keys] of RADIUS_KEYS) {
|
|
4602
|
+
if (getFloat32(view, keys.xValue) !== 0 || getFloat32(view, keys.yValue) !== 0)
|
|
4603
|
+
return true;
|
|
4604
|
+
}
|
|
4605
|
+
return false;
|
|
4542
4606
|
}
|
|
4543
4607
|
get borderRadius() {
|
|
4544
4608
|
if (!this.nativeView) {
|
|
4545
4609
|
return '';
|
|
4546
4610
|
}
|
|
4547
4611
|
if (__ANDROID__) {
|
|
4548
|
-
return
|
|
4612
|
+
return this._borderRadiusCss ?? nodeHelper().getBorderRadius(this.nativeView);
|
|
4549
4613
|
}
|
|
4550
4614
|
if (__APPLE__) {
|
|
4551
4615
|
return this.nativeView.style.borderRadius;
|
|
4552
4616
|
}
|
|
4553
4617
|
if (__WINDOWS__ && this.style_view) {
|
|
4554
4618
|
// Read back so a single corner longhand keeps the other three instead of resetting them to 0.
|
|
4555
|
-
return
|
|
4619
|
+
return RADIUS_KEYS.map(([, keys]) => {
|
|
4556
4620
|
const v = getFloat32(this.style_view, keys.xValue);
|
|
4557
4621
|
return getUint8(this.style_view, keys.xType) === 1 ? `${v * 100}%` : `${v}px`;
|
|
4558
4622
|
}).join(' ');
|
|
@@ -4561,7 +4625,57 @@ export class Style {
|
|
|
4561
4625
|
}
|
|
4562
4626
|
set borderRadius(value) {
|
|
4563
4627
|
value = this.coerceCssStringValue(value);
|
|
4564
|
-
|
|
4628
|
+
if (__ANDROID__ && this.nativeView && !this._pseudo && this._writeBorderRadius(value, deviceScale())) {
|
|
4629
|
+
return;
|
|
4630
|
+
}
|
|
4631
|
+
if (!this._pseudo)
|
|
4632
|
+
this._borderRadiusCss = undefined;
|
|
4633
|
+
this.setPseudoCssStringValue('border-radius', value, () => nodeHelper().setBorderRadius(this.nativeView, value), () => (this.nativeView.style.borderRadius = value));
|
|
4634
|
+
}
|
|
4635
|
+
_writeCornerRadius(corner, radius, shorthand, scale = deviceScale()) {
|
|
4636
|
+
if (!this.nativeView || this._pseudo || !this.style_view)
|
|
4637
|
+
return false;
|
|
4638
|
+
const h = fastRadiusTokens(radius[0], scale);
|
|
4639
|
+
const v = radius[1] === radius[0] ? h : fastRadiusTokens(radius[1], scale);
|
|
4640
|
+
if (!h || h.length !== 1 || !v || v.length !== 1)
|
|
4641
|
+
return false;
|
|
4642
|
+
this._borderRadiusCss = shorthand;
|
|
4643
|
+
this.prepareMut();
|
|
4644
|
+
const keys = RADIUS_KEYS[corner][1];
|
|
4645
|
+
setUint8(this.style_view, keys.xType, h[0].type);
|
|
4646
|
+
setFloat32(this.style_view, keys.xValue, h[0].value);
|
|
4647
|
+
setUint8(this.style_view, keys.yType, v[0].type);
|
|
4648
|
+
setFloat32(this.style_view, keys.yValue, v[0].value);
|
|
4649
|
+
this.commitState(StateKeys.BORDER_RADIUS);
|
|
4650
|
+
return true;
|
|
4651
|
+
}
|
|
4652
|
+
_writeBorderRadius(value, scale) {
|
|
4653
|
+
let cleaned = value.trim();
|
|
4654
|
+
if (cleaned.endsWith(';'))
|
|
4655
|
+
cleaned = cleaned.slice(0, -1);
|
|
4656
|
+
const slash = cleaned.indexOf('/');
|
|
4657
|
+
const h = fastRadiusTokens(slash < 0 ? cleaned : cleaned.slice(0, slash).trim(), scale);
|
|
4658
|
+
if (!h)
|
|
4659
|
+
return false;
|
|
4660
|
+
const vPart = slash < 0 ? '' : cleaned.slice(slash + 1).trim();
|
|
4661
|
+
const v = vPart ? fastRadiusTokens(vPart, scale) : h;
|
|
4662
|
+
if (!v)
|
|
4663
|
+
return false;
|
|
4664
|
+
this._borderRadiusCss = value;
|
|
4665
|
+
const hm = radiusCorners(h);
|
|
4666
|
+
const vm = v.length ? radiusCorners(v) : hm;
|
|
4667
|
+
if (!hm || !vm)
|
|
4668
|
+
return true;
|
|
4669
|
+
this.prepareMut();
|
|
4670
|
+
for (let i = 0; i < 4; i++) {
|
|
4671
|
+
const keys = RADIUS_KEYS[i][1];
|
|
4672
|
+
setUint8(this.style_view, keys.xType, hm[i].type);
|
|
4673
|
+
setFloat32(this.style_view, keys.xValue, hm[i].value);
|
|
4674
|
+
setUint8(this.style_view, keys.yType, vm[i].type);
|
|
4675
|
+
setFloat32(this.style_view, keys.yValue, vm[i].value);
|
|
4676
|
+
}
|
|
4677
|
+
this.commitState(StateKeys.BORDER_RADIUS);
|
|
4678
|
+
return true;
|
|
4565
4679
|
}
|
|
4566
4680
|
get whiteSpace() {
|
|
4567
4681
|
const map = ['normal', 'pre', 'pre-wrap', 'pre-line', 'nowrap', 'break-spaces'];
|
|
@@ -4624,7 +4738,7 @@ export class Style {
|
|
|
4624
4738
|
if (!this.nativeView)
|
|
4625
4739
|
return '';
|
|
4626
4740
|
if (__ANDROID__) {
|
|
4627
|
-
return
|
|
4741
|
+
return nodeHelper().getFontFamily(this.nativeView);
|
|
4628
4742
|
}
|
|
4629
4743
|
if (__APPLE__) {
|
|
4630
4744
|
return this.nativeView.style.fontFamily;
|
|
@@ -4635,18 +4749,18 @@ export class Style {
|
|
|
4635
4749
|
// style-buffer field, so it can't be written through the shared buffer.
|
|
4636
4750
|
set fontFamily(value) {
|
|
4637
4751
|
value = this.coerceCssStringValue(value);
|
|
4638
|
-
this.setPseudoCssStringValue('font-family', value, () =>
|
|
4752
|
+
this.setPseudoCssStringValue('font-family', value, () => nodeHelper().setFontFamily(this.nativeView, value), () => (this.nativeView.style.fontFamily = value));
|
|
4639
4753
|
}
|
|
4640
4754
|
set textDecoration(value) {
|
|
4641
4755
|
value = this.coerceCssStringValue(value);
|
|
4642
|
-
this.setPseudoCssStringValue('text-decoration', value, () =>
|
|
4756
|
+
this.setPseudoCssStringValue('text-decoration', value, () => nodeHelper().setTextDecoration(this.nativeView, value), () => this.nativeView.style.setTextDecoration(value));
|
|
4643
4757
|
}
|
|
4644
4758
|
get textDecorationLine() {
|
|
4645
4759
|
if (!this.nativeView) {
|
|
4646
4760
|
return '';
|
|
4647
4761
|
}
|
|
4648
4762
|
if (__ANDROID__) {
|
|
4649
|
-
return
|
|
4763
|
+
return nodeHelper().getTextDecorationLine(this.nativeView);
|
|
4650
4764
|
}
|
|
4651
4765
|
if (__APPLE__) {
|
|
4652
4766
|
return this.nativeView.style.textDecorationLine;
|
|
@@ -4658,14 +4772,14 @@ export class Style {
|
|
|
4658
4772
|
}
|
|
4659
4773
|
set textDecorationLine(value) {
|
|
4660
4774
|
value = cssInitialIfReset(this.coerceCssStringValue(value), 'none');
|
|
4661
|
-
this.setPseudoCssStringValue('text-decoration-line', value, () =>
|
|
4775
|
+
this.setPseudoCssStringValue('text-decoration-line', value, () => nodeHelper().setTextDecorationLine(this.nativeView, value), () => (this.nativeView.style.textDecorationLine = value));
|
|
4662
4776
|
}
|
|
4663
4777
|
get textDecorationStyle() {
|
|
4664
4778
|
if (!this.nativeView) {
|
|
4665
4779
|
return '';
|
|
4666
4780
|
}
|
|
4667
4781
|
if (__ANDROID__) {
|
|
4668
|
-
return
|
|
4782
|
+
return nodeHelper().getTextDecorationStyle(this.nativeView);
|
|
4669
4783
|
}
|
|
4670
4784
|
if (__APPLE__) {
|
|
4671
4785
|
return this.nativeView.style.textDecorationStyle;
|
|
@@ -4677,14 +4791,14 @@ export class Style {
|
|
|
4677
4791
|
}
|
|
4678
4792
|
set textDecorationStyle(value) {
|
|
4679
4793
|
value = cssInitialIfReset(this.coerceCssStringValue(value), 'solid');
|
|
4680
|
-
this.setPseudoCssStringValue('text-decoration-style', value, () =>
|
|
4794
|
+
this.setPseudoCssStringValue('text-decoration-style', value, () => nodeHelper().setTextDecorationStyle(this.nativeView, value), () => (this.nativeView.style.textDecorationStyle = value));
|
|
4681
4795
|
}
|
|
4682
4796
|
get textDecorationColor() {
|
|
4683
4797
|
if (!this.nativeView) {
|
|
4684
4798
|
return '';
|
|
4685
4799
|
}
|
|
4686
4800
|
if (__ANDROID__) {
|
|
4687
|
-
return
|
|
4801
|
+
return nodeHelper().getTextDecorationColor(this.nativeView);
|
|
4688
4802
|
}
|
|
4689
4803
|
if (__APPLE__) {
|
|
4690
4804
|
return this.nativeView.style.textDecorationColor;
|
|
@@ -4697,14 +4811,14 @@ export class Style {
|
|
|
4697
4811
|
}
|
|
4698
4812
|
set textDecorationColor(value) {
|
|
4699
4813
|
value = cssInitialIfReset(this.coerceCssStringValue(value), 'currentcolor');
|
|
4700
|
-
this.setPseudoCssStringValue('text-decoration-color', value, () =>
|
|
4814
|
+
this.setPseudoCssStringValue('text-decoration-color', value, () => nodeHelper().setTextDecorationColor(this.nativeView, value), () => (this.nativeView.style.textDecorationColor = value));
|
|
4701
4815
|
}
|
|
4702
4816
|
get border() {
|
|
4703
4817
|
if (!this.nativeView) {
|
|
4704
4818
|
return '';
|
|
4705
4819
|
}
|
|
4706
4820
|
if (__ANDROID__) {
|
|
4707
|
-
return
|
|
4821
|
+
return nodeHelper().getBorder(this.nativeView);
|
|
4708
4822
|
}
|
|
4709
4823
|
if (__APPLE__) {
|
|
4710
4824
|
return this.nativeView.style.border;
|
|
@@ -4713,13 +4827,13 @@ export class Style {
|
|
|
4713
4827
|
}
|
|
4714
4828
|
set border(value) {
|
|
4715
4829
|
value = this.coerceCssStringValue(value);
|
|
4716
|
-
this.setPseudoCssStringValue('border', value, () =>
|
|
4830
|
+
this.setPseudoCssStringValue('border', value, () => nodeHelper().setBorder(this.nativeView, value), () => (this.nativeView.style.border = value));
|
|
4717
4831
|
}
|
|
4718
4832
|
get paddingCss() {
|
|
4719
4833
|
if (!this.nativeView)
|
|
4720
4834
|
return '';
|
|
4721
4835
|
if (__ANDROID__) {
|
|
4722
|
-
return
|
|
4836
|
+
return nodeHelper().getPaddingCssValue(this.nativeView);
|
|
4723
4837
|
}
|
|
4724
4838
|
if (__APPLE__) {
|
|
4725
4839
|
return this.nativeView.style.paddingCss;
|
|
@@ -4730,13 +4844,13 @@ export class Style {
|
|
|
4730
4844
|
// a bare number is dip, matching other numeric setters; Android's
|
|
4731
4845
|
// native parser treats "px" as unscaled device pixels, "dip" as scaled
|
|
4732
4846
|
const strValue = typeof value === 'number' ? `${value}dip` : value;
|
|
4733
|
-
this.setPseudoCssStringValue('padding', strValue, () =>
|
|
4847
|
+
this.setPseudoCssStringValue('padding', strValue, () => nodeHelper().setPaddingCss(this.nativeView, strValue), () => (this.nativeView.style.paddingCss = strValue));
|
|
4734
4848
|
}
|
|
4735
4849
|
get marginCss() {
|
|
4736
4850
|
if (!this.nativeView)
|
|
4737
4851
|
return '';
|
|
4738
4852
|
if (__ANDROID__) {
|
|
4739
|
-
return
|
|
4853
|
+
return nodeHelper().getMarginCssValue(this.nativeView);
|
|
4740
4854
|
}
|
|
4741
4855
|
if (__APPLE__) {
|
|
4742
4856
|
return this.nativeView.style.marginCss;
|
|
@@ -4746,13 +4860,13 @@ export class Style {
|
|
|
4746
4860
|
set marginCss(value) {
|
|
4747
4861
|
// See the comment on `paddingCss` above — same dip-vs-px mislabeling fix.
|
|
4748
4862
|
const strValue = typeof value === 'number' ? `${value}dip` : value;
|
|
4749
|
-
this.setPseudoCssStringValue('margin', strValue, () =>
|
|
4863
|
+
this.setPseudoCssStringValue('margin', strValue, () => nodeHelper().setMarginCss(this.nativeView, strValue), () => (this.nativeView.style.marginCss = strValue));
|
|
4750
4864
|
}
|
|
4751
4865
|
get insetCss() {
|
|
4752
4866
|
if (!this.nativeView)
|
|
4753
4867
|
return '';
|
|
4754
4868
|
if (__ANDROID__) {
|
|
4755
|
-
return
|
|
4869
|
+
return nodeHelper().getInsetCssValue(this.nativeView);
|
|
4756
4870
|
}
|
|
4757
4871
|
if (__APPLE__) {
|
|
4758
4872
|
return this.nativeView.style.insetCss;
|
|
@@ -4762,42 +4876,42 @@ export class Style {
|
|
|
4762
4876
|
set insetCss(value) {
|
|
4763
4877
|
// See the comment on `paddingCss` above — same dip-vs-px mislabeling fix.
|
|
4764
4878
|
const strValue = typeof value === 'number' ? `${value}dip` : value;
|
|
4765
|
-
this.setPseudoCssStringValue('inset', strValue, () =>
|
|
4879
|
+
this.setPseudoCssStringValue('inset', strValue, () => nodeHelper().setInsetCss(this.nativeView, strValue), () => (this.nativeView.style.insetCss = strValue));
|
|
4766
4880
|
}
|
|
4767
4881
|
get borderLeft() {
|
|
4768
4882
|
return '';
|
|
4769
4883
|
}
|
|
4770
4884
|
set borderLeft(value) {
|
|
4771
4885
|
value = this.coerceCssStringValue(value);
|
|
4772
|
-
this.setPseudoCssStringValue('border-left', value, () =>
|
|
4886
|
+
this.setPseudoCssStringValue('border-left', value, () => nodeHelper().setBorderLeft(this.nativeView, value), () => (this.nativeView.style.borderLeft = value));
|
|
4773
4887
|
}
|
|
4774
4888
|
get borderTop() {
|
|
4775
4889
|
return '';
|
|
4776
4890
|
}
|
|
4777
4891
|
set borderTop(value) {
|
|
4778
4892
|
value = this.coerceCssStringValue(value);
|
|
4779
|
-
this.setPseudoCssStringValue('border-top', value, () =>
|
|
4893
|
+
this.setPseudoCssStringValue('border-top', value, () => nodeHelper().setBorderTop(this.nativeView, value), () => (this.nativeView.style.borderTop = value));
|
|
4780
4894
|
}
|
|
4781
4895
|
get borderRight() {
|
|
4782
4896
|
return '';
|
|
4783
4897
|
}
|
|
4784
4898
|
set borderRight(value) {
|
|
4785
4899
|
value = this.coerceCssStringValue(value);
|
|
4786
|
-
this.setPseudoCssStringValue('border-right', value, () =>
|
|
4900
|
+
this.setPseudoCssStringValue('border-right', value, () => nodeHelper().setBorderRight(this.nativeView, value), () => (this.nativeView.style.borderRight = value));
|
|
4787
4901
|
}
|
|
4788
4902
|
get borderBottom() {
|
|
4789
4903
|
return '';
|
|
4790
4904
|
}
|
|
4791
4905
|
set borderBottom(value) {
|
|
4792
4906
|
value = this.coerceCssStringValue(value);
|
|
4793
|
-
this.setPseudoCssStringValue('border-bottom', value, () =>
|
|
4907
|
+
this.setPseudoCssStringValue('border-bottom', value, () => nodeHelper().setBorderBottom(this.nativeView, value), () => (this.nativeView.style.borderBottom = value));
|
|
4794
4908
|
}
|
|
4795
4909
|
get filter() {
|
|
4796
4910
|
if (!this.nativeView) {
|
|
4797
4911
|
return '';
|
|
4798
4912
|
}
|
|
4799
4913
|
if (__ANDROID__) {
|
|
4800
|
-
return
|
|
4914
|
+
return nodeHelper().getFilter(this.nativeView);
|
|
4801
4915
|
}
|
|
4802
4916
|
if (__APPLE__) {
|
|
4803
4917
|
return this.nativeView.style.filter;
|
|
@@ -4806,14 +4920,14 @@ export class Style {
|
|
|
4806
4920
|
}
|
|
4807
4921
|
set filter(value) {
|
|
4808
4922
|
value = this.coerceCssStringValue(value);
|
|
4809
|
-
this.setPseudoCssStringValue('filter', value, () =>
|
|
4923
|
+
this.setPseudoCssStringValue('filter', value, () => nodeHelper().setFilter(this.nativeView, value), () => (this.nativeView.style.filter = value));
|
|
4810
4924
|
}
|
|
4811
4925
|
get boxShadow() {
|
|
4812
4926
|
if (!this.nativeView) {
|
|
4813
4927
|
return '';
|
|
4814
4928
|
}
|
|
4815
4929
|
if (__ANDROID__) {
|
|
4816
|
-
return
|
|
4930
|
+
return nodeHelper().getBoxShadow(this.nativeView);
|
|
4817
4931
|
}
|
|
4818
4932
|
if (__APPLE__) {
|
|
4819
4933
|
return this.nativeView.style.boxShadow;
|
|
@@ -4828,14 +4942,14 @@ export class Style {
|
|
|
4828
4942
|
}
|
|
4829
4943
|
set boxShadow(value) {
|
|
4830
4944
|
value = this.coerceCssStringValue(value);
|
|
4831
|
-
this.setPseudoCssStringValue('box-shadow', value, () =>
|
|
4945
|
+
this.setPseudoCssStringValue('box-shadow', value, () => nodeHelper().setBoxShadow(this.nativeView, value), () => (this.nativeView.style.boxShadow = value));
|
|
4832
4946
|
}
|
|
4833
4947
|
get transform() {
|
|
4834
4948
|
if (!this.nativeView) {
|
|
4835
4949
|
return '';
|
|
4836
4950
|
}
|
|
4837
4951
|
if (__ANDROID__) {
|
|
4838
|
-
return
|
|
4952
|
+
return nodeHelper().getTransform(this.nativeView);
|
|
4839
4953
|
}
|
|
4840
4954
|
if (__APPLE__) {
|
|
4841
4955
|
return this.nativeView.style.transform;
|
|
@@ -4844,7 +4958,7 @@ export class Style {
|
|
|
4844
4958
|
}
|
|
4845
4959
|
set transform(value) {
|
|
4846
4960
|
value = this.coerceCssStringValue(value);
|
|
4847
|
-
this.setPseudoCssStringValue('transform', value, () =>
|
|
4961
|
+
this.setPseudoCssStringValue('transform', value, () => nodeHelper().setTransform(this.nativeView, value), () => (this.nativeView.style.transform = value));
|
|
4848
4962
|
}
|
|
4849
4963
|
get verticalAlign() {
|
|
4850
4964
|
const isPercent = getUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET) == 1;
|
|
@@ -4999,7 +5113,7 @@ export class Style {
|
|
|
4999
5113
|
return '';
|
|
5000
5114
|
}
|
|
5001
5115
|
if (__ANDROID__) {
|
|
5002
|
-
return
|
|
5116
|
+
return nodeHelper().getTextShadow(this.nativeView);
|
|
5003
5117
|
}
|
|
5004
5118
|
if (__APPLE__) {
|
|
5005
5119
|
return this.nativeView.style.textShadow;
|
|
@@ -5008,7 +5122,7 @@ export class Style {
|
|
|
5008
5122
|
}
|
|
5009
5123
|
set textShadow(value) {
|
|
5010
5124
|
value = this.coerceCssStringValue(value);
|
|
5011
|
-
this.setPseudoCssStringValue('text-shadow', value, () =>
|
|
5125
|
+
this.setPseudoCssStringValue('text-shadow', value, () => nodeHelper().setTextShadow(this.nativeView, value), () => (this.nativeView.style.textShadow = value));
|
|
5012
5126
|
}
|
|
5013
5127
|
get zIndex() {
|
|
5014
5128
|
return getInt32(this.style_view, StyleKeys.Z_INDEX);
|
|
@@ -5090,14 +5204,14 @@ export class Style {
|
|
|
5090
5204
|
}
|
|
5091
5205
|
set cornerShape(value) {
|
|
5092
5206
|
value = this.coerceCssStringValue(value);
|
|
5093
|
-
this.setPseudoCssStringValue('corner-shape', value, () =>
|
|
5207
|
+
this.setPseudoCssStringValue('corner-shape', value, () => nodeHelper().setCornerShape(this.nativeView, value), () => (this.nativeView.style.cornerShape = value));
|
|
5094
5208
|
}
|
|
5095
5209
|
get cornerShape() {
|
|
5096
5210
|
if (!this.nativeView) {
|
|
5097
5211
|
return '';
|
|
5098
5212
|
}
|
|
5099
5213
|
if (__ANDROID__) {
|
|
5100
|
-
return
|
|
5214
|
+
return nodeHelper().getCornerShape(this.nativeView);
|
|
5101
5215
|
}
|
|
5102
5216
|
if (__APPLE__) {
|
|
5103
5217
|
return this.nativeView.style.cornerShape;
|
|
@@ -5108,7 +5222,7 @@ export class Style {
|
|
|
5108
5222
|
if (!this.nativeView)
|
|
5109
5223
|
return '';
|
|
5110
5224
|
if (__ANDROID__) {
|
|
5111
|
-
return
|
|
5225
|
+
return nodeHelper().getCornerShapeTopLeft(this.nativeView);
|
|
5112
5226
|
}
|
|
5113
5227
|
if (__APPLE__) {
|
|
5114
5228
|
return this.nativeView.style.cornerShapeTopLeft;
|
|
@@ -5117,13 +5231,13 @@ export class Style {
|
|
|
5117
5231
|
}
|
|
5118
5232
|
set cornerShapeTopLeft(value) {
|
|
5119
5233
|
value = this.coerceCssStringValue(value);
|
|
5120
|
-
this.setPseudoCssStringValue('corner-shape-top-left', value, () =>
|
|
5234
|
+
this.setPseudoCssStringValue('corner-shape-top-left', value, () => nodeHelper().setCornerShapeTopLeft(this.nativeView, value), () => (this.nativeView.style.cornerShapeTopLeft = value));
|
|
5121
5235
|
}
|
|
5122
5236
|
get cornerShapeTopRight() {
|
|
5123
5237
|
if (!this.nativeView)
|
|
5124
5238
|
return '';
|
|
5125
5239
|
if (__ANDROID__) {
|
|
5126
|
-
return
|
|
5240
|
+
return nodeHelper().getCornerShapeTopRight(this.nativeView);
|
|
5127
5241
|
}
|
|
5128
5242
|
if (__APPLE__) {
|
|
5129
5243
|
return this.nativeView.style.cornerShapeTopRight;
|
|
@@ -5132,13 +5246,13 @@ export class Style {
|
|
|
5132
5246
|
}
|
|
5133
5247
|
set cornerShapeTopRight(value) {
|
|
5134
5248
|
value = this.coerceCssStringValue(value);
|
|
5135
|
-
this.setPseudoCssStringValue('corner-shape-top-right', value, () =>
|
|
5249
|
+
this.setPseudoCssStringValue('corner-shape-top-right', value, () => nodeHelper().setCornerShapeTopRight(this.nativeView, value), () => (this.nativeView.style.cornerShapeTopRight = value));
|
|
5136
5250
|
}
|
|
5137
5251
|
get cornerShapeBottomRight() {
|
|
5138
5252
|
if (!this.nativeView)
|
|
5139
5253
|
return '';
|
|
5140
5254
|
if (__ANDROID__) {
|
|
5141
|
-
return
|
|
5255
|
+
return nodeHelper().getCornerShapeBottomRight(this.nativeView);
|
|
5142
5256
|
}
|
|
5143
5257
|
if (__APPLE__) {
|
|
5144
5258
|
return this.nativeView.style.cornerShapeBottomRight;
|
|
@@ -5147,13 +5261,13 @@ export class Style {
|
|
|
5147
5261
|
}
|
|
5148
5262
|
set cornerShapeBottomRight(value) {
|
|
5149
5263
|
value = this.coerceCssStringValue(value);
|
|
5150
|
-
this.setPseudoCssStringValue('corner-shape-bottom-right', value, () =>
|
|
5264
|
+
this.setPseudoCssStringValue('corner-shape-bottom-right', value, () => nodeHelper().setCornerShapeBottomRight(this.nativeView, value), () => (this.nativeView.style.cornerShapeBottomRight = value));
|
|
5151
5265
|
}
|
|
5152
5266
|
get cornerShapeBottomLeft() {
|
|
5153
5267
|
if (!this.nativeView)
|
|
5154
5268
|
return '';
|
|
5155
5269
|
if (__ANDROID__) {
|
|
5156
|
-
return
|
|
5270
|
+
return nodeHelper().getCornerShapeBottomLeft(this.nativeView);
|
|
5157
5271
|
}
|
|
5158
5272
|
if (__APPLE__) {
|
|
5159
5273
|
return this.nativeView.style.cornerShapeBottomLeft;
|
|
@@ -5162,7 +5276,7 @@ export class Style {
|
|
|
5162
5276
|
}
|
|
5163
5277
|
set cornerShapeBottomLeft(value) {
|
|
5164
5278
|
value = this.coerceCssStringValue(value);
|
|
5165
|
-
this.setPseudoCssStringValue('corner-shape-bottom-left', value, () =>
|
|
5279
|
+
this.setPseudoCssStringValue('corner-shape-bottom-left', value, () => nodeHelper().setCornerShapeBottomLeft(this.nativeView, value), () => (this.nativeView.style.cornerShapeBottomLeft = value));
|
|
5166
5280
|
}
|
|
5167
5281
|
get objectPosition() {
|
|
5168
5282
|
if (!this.style_view)
|
|
@@ -5301,7 +5415,7 @@ export class Style {
|
|
|
5301
5415
|
if (!this.nativeView)
|
|
5302
5416
|
return '';
|
|
5303
5417
|
if (__ANDROID__) {
|
|
5304
|
-
return
|
|
5418
|
+
return nodeHelper().getBorderImage(this.nativeView);
|
|
5305
5419
|
}
|
|
5306
5420
|
if (__APPLE__) {
|
|
5307
5421
|
return this.nativeView.style.borderImage;
|
|
@@ -5310,7 +5424,7 @@ export class Style {
|
|
|
5310
5424
|
}
|
|
5311
5425
|
set borderImage(value) {
|
|
5312
5426
|
value = this.coerceCssStringValue(value);
|
|
5313
|
-
this.setPseudoCssStringValue('border-image', value, () =>
|
|
5427
|
+
this.setPseudoCssStringValue('border-image', value, () => nodeHelper().setBorderImage(this.nativeView, value), () => (this.nativeView.style.borderImage = value));
|
|
5314
5428
|
}
|
|
5315
5429
|
set 'border-image'(value) {
|
|
5316
5430
|
this.borderImage = value;
|
|
@@ -5348,7 +5462,7 @@ export class Style {
|
|
|
5348
5462
|
if (!this.nativeView)
|
|
5349
5463
|
return 'normal';
|
|
5350
5464
|
if (__ANDROID__) {
|
|
5351
|
-
return
|
|
5465
|
+
return nodeHelper().getFontFeatureSettings(this.nativeView);
|
|
5352
5466
|
}
|
|
5353
5467
|
if (__APPLE__) {
|
|
5354
5468
|
return this.nativeView.style.fontFeatureSettings;
|
|
@@ -5357,7 +5471,7 @@ export class Style {
|
|
|
5357
5471
|
}
|
|
5358
5472
|
set fontFeatureSettings(value) {
|
|
5359
5473
|
value = this.coerceCssStringValue(value);
|
|
5360
|
-
this.setPseudoCssStringValue('font-feature-settings', value, () =>
|
|
5474
|
+
this.setPseudoCssStringValue('font-feature-settings', value, () => nodeHelper().setFontFeatureSettings(this.nativeView, value), () => (this.nativeView.style.fontFeatureSettings = value));
|
|
5361
5475
|
}
|
|
5362
5476
|
set 'font-feature-settings'(value) {
|
|
5363
5477
|
this.fontFeatureSettings = value;
|
|
@@ -5454,7 +5568,7 @@ export class Style {
|
|
|
5454
5568
|
if (!this.nativeView)
|
|
5455
5569
|
return '';
|
|
5456
5570
|
if (__ANDROID__) {
|
|
5457
|
-
return
|
|
5571
|
+
return nodeHelper().getBackdropFilter(this.nativeView);
|
|
5458
5572
|
}
|
|
5459
5573
|
if (__APPLE__) {
|
|
5460
5574
|
return this.nativeView.style.backdropFilter;
|
|
@@ -5463,7 +5577,7 @@ export class Style {
|
|
|
5463
5577
|
}
|
|
5464
5578
|
set backdropFilter(value) {
|
|
5465
5579
|
value = this.coerceCssStringValue(value);
|
|
5466
|
-
this.setPseudoCssStringValue('backdrop-filter', value, () =>
|
|
5580
|
+
this.setPseudoCssStringValue('backdrop-filter', value, () => nodeHelper().setBackdropFilter(this.nativeView, value), () => (this.nativeView.style.backdropFilter = value));
|
|
5467
5581
|
}
|
|
5468
5582
|
set 'backdrop-filter'(value) {
|
|
5469
5583
|
this.backdropFilter = value;
|