@triniwiz/nativescript-masonkit 1.0.0-beta.1 → 1.0.0-beta.2

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.
Files changed (31) hide show
  1. package/common.d.ts +2 -1
  2. package/common.js +118 -1
  3. package/common.js.map +1 -1
  4. package/index.d.ts +5 -0
  5. package/package.json +1 -1
  6. package/platforms/android/masonkit-release.aar +0 -0
  7. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +4 -0
  8. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  9. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  10. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +23724 -18343
  11. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +187 -183
  12. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +187 -183
  13. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  14. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +3652 -3640
  15. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +8 -0
  16. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  17. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  18. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  19. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +18470 -13089
  20. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +187 -183
  21. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +187 -183
  22. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +18470 -13089
  23. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +187 -183
  24. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +187 -183
  25. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +22 -22
  26. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  27. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +2995 -2982
  28. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +2918 -2905
  29. package/style.d.ts +9 -5
  30. package/style.js +159 -1
  31. package/style.js.map +1 -1
package/style.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { GridAutoFlow, Length, LengthAuto, View } from '.';
1
+ import type { GridAutoFlow, Length, LengthAuto, VerticalAlign, View } from '.';
2
2
  import { CoreTypes } from '@nativescript/core';
3
3
  export type OverFlow = 'visible' | 'hidden' | 'scroll' | 'clip' | 'auto';
4
4
  export declare class Style {
@@ -166,21 +166,25 @@ export declare class Style {
166
166
  set textAlignment(value: 'left' | 'right' | 'center' | 'justify' | 'start' | 'end');
167
167
  get background(): string;
168
168
  set background(value: string);
169
+ get backgroundImage(): string;
170
+ set backgroundImage(value: string);
169
171
  get borderRadius(): string;
170
172
  set borderRadius(value: string);
171
173
  get border(): string;
172
174
  set border(value: string);
173
175
  get filter(): string;
174
176
  set filter(value: string);
177
+ get verticalAlign(): VerticalAlign;
178
+ set verticalAlign(value: VerticalAlign);
175
179
  toJSON(): {
176
180
  display: "none" | "flex" | "grid" | "block" | "inline" | "inline-block" | "inline-flex" | "inline-grid";
177
181
  position: "relative" | "absolute";
178
182
  flexDirection: "row" | "row-reverse" | "column" | "column-reverse";
179
183
  flexWrap: "wrap" | "wrap-reverse" | "no-wrap";
180
- justifyContent: "center" | "normal" | "flex-start" | "flex-end" | "start" | "end" | "stretch" | "space-between" | "space-around" | "space-evenly";
181
- alignItems: "center" | "normal" | "flex-start" | "flex-end" | "start" | "end" | "baseline" | "stretch";
182
- alignContent: "center" | "normal" | "start" | "end" | "stretch" | "space-between" | "space-around" | "space-evenly";
183
- alignSelf: "center" | "normal" | "flex-start" | "flex-end" | "start" | "end" | "baseline" | "stretch";
184
+ justifyContent: "stretch" | "center" | "normal" | "flex-start" | "flex-end" | "start" | "end" | "space-between" | "space-around" | "space-evenly";
185
+ alignItems: "stretch" | "center" | "normal" | "flex-start" | "flex-end" | "start" | "end" | "baseline";
186
+ alignContent: "stretch" | "center" | "normal" | "start" | "end" | "space-between" | "space-around" | "space-evenly";
187
+ alignSelf: "stretch" | "center" | "normal" | "flex-start" | "flex-end" | "start" | "end" | "baseline";
184
188
  flexGrow: number;
185
189
  minWidth: LengthAuto;
186
190
  minHeight: LengthAuto;
package/style.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { layout } from '@nativescript/core/utils';
2
- import { Length as CoreLength } from '@nativescript/core';
2
+ import { Length as CoreLength, PercentLength as CorePercentLength } from '@nativescript/core';
3
3
  var StyleKeys;
4
4
  (function (StyleKeys) {
5
5
  StyleKeys[StyleKeys["DISPLAY"] = 0] = "DISPLAY";
@@ -306,6 +306,8 @@ TextStateKeys.TEXT_JUSTIFY = new TextStateKeys(1n << 13n);
306
306
  TextStateKeys.TEXT_OVERFLOW = new TextStateKeys(1n << 14n);
307
307
  TextStateKeys.LINE_HEIGHT = new TextStateKeys(1n << 15n);
308
308
  TextStateKeys.TEXT_ALIGN = new TextStateKeys(1n << 16n);
309
+ TextStateKeys.VERTICAL_ALIGN = new TextStateKeys(1n << 17n);
310
+ TextStateKeys.DECORATION_THICKNESS = new TextStateKeys(1n << 18n);
309
311
  const getInt8 = (view, offset) => {
310
312
  return view.getInt8(offset);
311
313
  };
@@ -2650,6 +2652,29 @@ export class Style {
2650
2652
  this.nativeView.style.background = value;
2651
2653
  }
2652
2654
  }
2655
+ get backgroundImage() {
2656
+ if (!this.nativeView) {
2657
+ return '';
2658
+ }
2659
+ if (__ANDROID__) {
2660
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getBackgroundImage(this.nativeView);
2661
+ }
2662
+ if (__APPLE__) {
2663
+ return this.nativeView.style.backgroundImage;
2664
+ }
2665
+ return '';
2666
+ }
2667
+ set backgroundImage(value) {
2668
+ if (!this.nativeView) {
2669
+ return;
2670
+ }
2671
+ if (__ANDROID__) {
2672
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setBackgroundImage(this.nativeView, value);
2673
+ }
2674
+ if (__APPLE__) {
2675
+ this.nativeView.style.backgroundImage = value;
2676
+ }
2677
+ }
2653
2678
  get borderRadius() {
2654
2679
  if (!this.nativeView) {
2655
2680
  return '';
@@ -2719,6 +2744,139 @@ export class Style {
2719
2744
  this.nativeView.style.filter = value;
2720
2745
  }
2721
2746
  }
2747
+ get verticalAlign() {
2748
+ const isPercent = getUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET) == 1;
2749
+ const value = getFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET);
2750
+ if (isPercent) {
2751
+ return `${value * 100}%`;
2752
+ }
2753
+ if (value > 0) {
2754
+ return `${value}px`;
2755
+ }
2756
+ switch (getUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET)) {
2757
+ case 0:
2758
+ return 'baseline';
2759
+ case 1:
2760
+ return 'top';
2761
+ case 2:
2762
+ return 'text-top';
2763
+ case 3:
2764
+ return 'middle';
2765
+ case 4:
2766
+ return 'bottom';
2767
+ case 5:
2768
+ return 'text-bottom';
2769
+ case 6:
2770
+ return 'sub';
2771
+ case 7:
2772
+ return 'super';
2773
+ default:
2774
+ // throw ??
2775
+ return 'baseline';
2776
+ }
2777
+ }
2778
+ set verticalAlign(value) {
2779
+ switch (value) {
2780
+ case 'baseline':
2781
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2782
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, 0);
2783
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 0);
2784
+ break;
2785
+ case 'top':
2786
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2787
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, 0);
2788
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 1);
2789
+ break;
2790
+ case 'text-top':
2791
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2792
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, 0);
2793
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 2);
2794
+ break;
2795
+ case 'middle':
2796
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2797
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, 0);
2798
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 3);
2799
+ break;
2800
+ case 'bottom':
2801
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2802
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, 0);
2803
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 4);
2804
+ break;
2805
+ case 'text-bottom':
2806
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2807
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, 0);
2808
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 5);
2809
+ break;
2810
+ case 'sub':
2811
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2812
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, 0);
2813
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 6);
2814
+ break;
2815
+ case 'super':
2816
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2817
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, 0);
2818
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 7);
2819
+ break;
2820
+ default: {
2821
+ switch (typeof value) {
2822
+ case 'number':
2823
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2824
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, value * layout.getDisplayDensity());
2825
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 0);
2826
+ break;
2827
+ case 'string':
2828
+ {
2829
+ try {
2830
+ const parsed = CorePercentLength.parse(value);
2831
+ if (typeof parsed === 'object' && parsed !== null && 'unit' in parsed) {
2832
+ switch (parsed.unit) {
2833
+ case '%':
2834
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 1);
2835
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, parsed.value);
2836
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 0);
2837
+ break;
2838
+ case 'px':
2839
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2840
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, parsed.value);
2841
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 0);
2842
+ break;
2843
+ case 'dip':
2844
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2845
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, parsed.value * layout.getDisplayDensity());
2846
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 0);
2847
+ break;
2848
+ }
2849
+ }
2850
+ }
2851
+ catch (error) { }
2852
+ }
2853
+ break;
2854
+ case 'object':
2855
+ if (value !== null && 'unit' in value) {
2856
+ switch (value.unit) {
2857
+ case '%':
2858
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 1);
2859
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, value.value);
2860
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 0);
2861
+ break;
2862
+ case 'px':
2863
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2864
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, value.value);
2865
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 0);
2866
+ break;
2867
+ case 'dip':
2868
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_IS_PERCENT_OFFSET, 0);
2869
+ setFloat32(this.style_view, StyleKeys.VERTICAL_ALIGN_OFFSET_OFFSET, value.value * layout.getDisplayDensity());
2870
+ setUint8(this.style_view, StyleKeys.VERTICAL_ALIGN_ENUM_OFFSET, 0);
2871
+ break;
2872
+ }
2873
+ }
2874
+ break;
2875
+ }
2876
+ }
2877
+ }
2878
+ this.setOrAppendTextState(TextStateKeys.VERTICAL_ALIGN);
2879
+ }
2722
2880
  toJSON() {
2723
2881
  return {
2724
2882
  display: this.display,