@triniwiz/nativescript-masonkit 1.0.0-beta.119 → 1.0.0-beta.120

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 (99) hide show
  1. package/DOCS.md +43 -0
  2. package/button/index.android.js +1 -0
  3. package/button/index.android.js.map +1 -1
  4. package/button/index.ios.js +1 -0
  5. package/button/index.ios.js.map +1 -1
  6. package/button/index.windows.js +13 -2
  7. package/button/index.windows.js.map +1 -1
  8. package/common.d.ts +41 -0
  9. package/common.js +162 -1
  10. package/common.js.map +1 -1
  11. package/foreign-layout.d.ts +4 -0
  12. package/foreign-layout.js +117 -0
  13. package/foreign-layout.js.map +1 -0
  14. package/index.d.ts +34 -0
  15. package/li/index.android.js +1 -0
  16. package/li/index.android.js.map +1 -1
  17. package/li/index.ios.js +1 -0
  18. package/li/index.ios.js.map +1 -1
  19. package/li/index.windows.js +4 -1
  20. package/li/index.windows.js.map +1 -1
  21. package/list/index.windows.js +4 -1
  22. package/list/index.windows.js.map +1 -1
  23. package/package.json +1 -1
  24. package/platforms/android/masonkit-release.aar +0 -0
  25. package/platforms/ios/Mason.xcframework/Info.plist +7 -7
  26. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +9 -0
  27. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  28. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  29. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +14208 -4349
  30. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +20 -0
  31. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  32. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +20 -0
  33. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  34. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8952 -8902
  35. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +18 -0
  36. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  37. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  38. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  39. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +14208 -4349
  40. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +20 -0
  41. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  42. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +20 -0
  43. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +14208 -4349
  44. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +20 -0
  45. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  46. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +20 -0
  47. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +26 -26
  48. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +2 -2
  49. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8946 -8896
  50. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +8528 -8483
  51. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Headers/Mason-Swift.h +9 -0
  52. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Mason +0 -0
  53. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-xros.swiftsourceinfo +0 -0
  54. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.abi.json +14208 -4349
  55. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.private.swiftinterface +20 -0
  56. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.swiftdoc +0 -0
  57. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.swiftinterface +20 -0
  58. package/platforms/ios/Mason.xcframework/xros-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  59. package/platforms/ios/Mason.xcframework/xros-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8442 -8392
  60. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Headers/Mason-Swift.h +9 -0
  61. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Mason +0 -0
  62. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-xros-simulator.swiftsourceinfo +0 -0
  63. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.abi.json +14208 -4349
  64. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.private.swiftinterface +20 -0
  65. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.swiftdoc +0 -0
  66. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.swiftinterface +20 -0
  67. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/_CodeSignature/CodeResources +14 -14
  68. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  69. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8441 -8391
  70. package/platforms/windows/arm64/NativeScript.Mason.dll +0 -0
  71. package/platforms/windows/arm64/NativeScript.Mason.winmd +0 -0
  72. package/platforms/windows/x64/NativeScript.Mason.dll +0 -0
  73. package/platforms/windows/x64/NativeScript.Mason.winmd +0 -0
  74. package/properties.js +33 -4
  75. package/properties.js.map +1 -1
  76. package/scroll/index.android.js +1 -0
  77. package/scroll/index.android.js.map +1 -1
  78. package/scroll/index.ios.js +1 -0
  79. package/scroll/index.ios.js.map +1 -1
  80. package/scroll/index.windows.js +4 -1
  81. package/scroll/index.windows.js.map +1 -1
  82. package/style.d.ts +5 -0
  83. package/style.js +89 -19
  84. package/style.js.map +1 -1
  85. package/text/index.android.js +2 -0
  86. package/text/index.android.js.map +1 -1
  87. package/text/index.ios.js +1 -0
  88. package/text/index.ios.js.map +1 -1
  89. package/text/index.windows.js +3 -2
  90. package/text/index.windows.js.map +1 -1
  91. package/typings/android.d.ts +22 -0
  92. package/typings/objc!ObjectiveC.d.ts +16 -0
  93. package/typings/windows.d.ts +13 -0
  94. package/view/index.android.js +1 -0
  95. package/view/index.android.js.map +1 -1
  96. package/view/index.ios.js +1 -0
  97. package/view/index.ios.js.map +1 -1
  98. package/view/index.windows.js +4 -1
  99. package/view/index.windows.js.map +1 -1
package/DOCS.md CHANGED
@@ -722,6 +722,8 @@ MasonKit components support DOM-like event handling.
722
722
  |-------|----------|-------------|
723
723
  | `input` | `Input` | When the input value changes |
724
724
  | `change` | `Input` | When the input value is committed |
725
+ | `scroll` | Any scrolling element | When its scroll offset changed, at most once per frame. Doesn't bubble |
726
+ | `scrollend` | Any scrolling element | When a drag, momentum or smooth scroll that moved it has stopped. Doesn't bubble |
725
727
 
726
728
  ### Event Class
727
729
 
@@ -771,6 +773,47 @@ input.addEventListener('input', (event) => {
771
773
  });
772
774
  ```
773
775
 
776
+ ### Scrolling
777
+
778
+ Every element has the browser's scroll properties and methods, in CSS pixels. Nothing native
779
+ runs until a property is read or a method is called, and `scroll` / `scrollend` are only raised
780
+ for an element that has a listener for them, so elements that don't use them cost nothing extra.
781
+
782
+ | Member | Description |
783
+ |--------|-------------|
784
+ | `scrollTop`, `scrollLeft` | Scroll offset. Setting it scrolls, clamped to the scroll range |
785
+ | `scrollWidth`, `scrollHeight` | Size of the content, at least the client size. At the end, `scrollTop + clientHeight === scrollHeight` |
786
+ | `clientWidth`, `clientHeight` | Padding box size (scrollbars overlay, so take no room) |
787
+ | `scrollTo(x, y)` / `scrollTo({ left, top, behavior })` | Scroll to a position; `behavior: 'smooth'` animates. `scroll()` is the same |
788
+ | `scrollBy(dx, dy)` / `scrollBy({ left, top, behavior })` | Scroll by a delta |
789
+ | `scrollIntoView(alignToTop?)` / `scrollIntoView({ block, inline, behavior })` | Scroll the containers above this element so it shows |
790
+
791
+ Reading a size, or scrolling, runs a pending layout pass first, as a browser does, so this works
792
+ right after adding children:
793
+
794
+ ```typescript
795
+ list.addChild(row);
796
+ list.scrollTop = list.scrollHeight;
797
+
798
+ list.addEventListener('scroll', () => {
799
+ const atEnd = list.scrollTop + list.clientHeight >= list.scrollHeight - 1;
800
+ if (atEnd) loadMore();
801
+ });
802
+ ```
803
+
804
+ Only elements that scroll (`overflow: scroll | auto`, and `<scroll>`) move; `overflow: hidden`
805
+ can't be scrolled from code.
806
+
807
+ Before an element's first layout:
808
+
809
+ - `scrollTo`, `scrollTop = …` and friends are kept and applied, clamped, right after its first
810
+ layout (a later call replaces an earlier one, per axis). The move raises `scroll` as usual.
811
+ - Offsets read the current position (0) and sizes read 0 until that layout has run.
812
+
813
+ A new `scrollTo` cancels a running smooth scroll and starts from the current position; a touch
814
+ cancels it too. A `scroll` handler reads the position from the element, e.g.
815
+ `event.target.scrollTop`.
816
+
774
817
  ---
775
818
 
776
819
  ## Types Reference
@@ -44,6 +44,7 @@ let Button = class Button extends ButtonBase {
44
44
  child[isTextChild_] = true;
45
45
  const index = atIndex <= -1 ? this._children.indexOf(child) : atIndex;
46
46
  nativeView.addChildAt(child.nativeViewProtected, index);
47
+ this._masonAdoptForeign(child);
47
48
  }
48
49
  return false;
49
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/button/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAY,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3E,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU;IAIpC;QACE,KAAK,EAAE,CAAC;QAHV,aAAQ,GAAG,KAAK,CAAC;QAIf,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5B,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,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAU,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAA2C,CAAC;IACjE,CAAC;IAED,6DAA6D;IAC7D,aAAa;IACb,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,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,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAA+C,CAAC;QACxE,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,aAAa;IACN,0BAA0B,CAAC,KAAiB,EAAE,OAAO,GAAG,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,KAA+C,CAAC;QACxE,IAAI,UAAU,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC5C,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YAC3B,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACtE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAc,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+BAA+B,CAAC,IAAc;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;QAC3B,KAAK,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF,CAAA;AA1DY,MAAM;IADlB,OAAO,CAAC,QAAQ,CAAC;;GACL,MAAM,CA0DlB"}
1
+ {"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/button/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAY,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3E,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU;IAIpC;QACE,KAAK,EAAE,CAAC;QAHV,aAAQ,GAAG,KAAK,CAAC;QAIf,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5B,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,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAU,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAA2C,CAAC;IACjE,CAAC;IAED,6DAA6D;IAC7D,aAAa;IACb,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,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,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAA+C,CAAC;QACxE,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,aAAa;IACN,0BAA0B,CAAC,KAAiB,EAAE,OAAO,GAAG,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,KAA+C,CAAC;QACxE,IAAI,UAAU,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC5C,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;YAC3B,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACtE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAc,CAAC,CAAC;YACjE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+BAA+B,CAAC,IAAc;QAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;QAC3B,KAAK,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF,CAAA;AA3DY,MAAM;IADlB,OAAO,CAAC,QAAQ,CAAC;;GACL,MAAM,CA2DlB"}
@@ -147,6 +147,7 @@ let Button = class Button extends ButtonBase {
147
147
  child[isTextChild_] = true;
148
148
  const index = atIndex <= -1 ? this._children.indexOf(child) : atIndex;
149
149
  nativeView.addViewAt(child.nativeViewProtected, index);
150
+ this._masonAdoptForeign(child);
150
151
  return true;
151
152
  }
152
153
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/button/index.ios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/button/index.ios.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { CSSType, GestureTypes } from '@nativescript/core';
2
2
  import { ButtonBase, textContentProperty } from '../common';
3
3
  import { Style } from '../style';
4
4
  import { Tree } from '../tree';
5
- import { style_, isText_, isMasonView_, native_ } from '../symbols';
5
+ import { style_, isText_, isMasonView_, native_, runMember_ } from '../symbols';
6
6
  import { removeNativeChild } from '../windows-panel-helpers';
7
7
  let Button = class Button extends ButtonBase {
8
8
  constructor() {
@@ -70,7 +70,13 @@ let Button = class Button extends ButtonBase {
70
70
  child._isMasonChild = true;
71
71
  return true;
72
72
  }
73
- return super._addViewToNativeVisualTree(child, atIndex);
73
+ if (!(child?.[isMasonView_] ? child._view : child?.nativeViewProtected))
74
+ return super._addViewToNativeVisualTree(child, atIndex);
75
+ this._view.SetInlineBox(child.nativeViewProtected ?? child._view, this._windowsNativeIndexOf(child, atIndex));
76
+ child[runMember_] = 'box';
77
+ child._isMasonChild = true;
78
+ this._masonAdoptForeign(child);
79
+ return true;
74
80
  }
75
81
  // @ts-ignore
76
82
  _removeViewFromNativeVisualTree(child) {
@@ -78,6 +84,11 @@ let Button = class Button extends ButtonBase {
78
84
  this._view.RemoveInlineText(child._view);
79
85
  child._isMasonChild = false;
80
86
  }
87
+ else if (child?.[runMember_] === 'box') {
88
+ this._view.RemoveInlineBox(child.nativeViewProtected ?? child._view);
89
+ child[runMember_] = undefined;
90
+ child._isMasonChild = false;
91
+ }
81
92
  else {
82
93
  removeNativeChild(this._view, child);
83
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.windows.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/button/index.windows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.windows.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/button/index.windows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGtD,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU;IAGpC;QACE,KAAK,EAAE,CAAC;QAFV,aAAQ,GAAG,KAAK,CAAC;QAGf,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAW,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAqC,CAAC;IAC3D,CAAC;IAED,aAAa;IACb,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,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;IAID,cAAc;QACZ,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,sCAAsC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAC9G,aAAa;QACb,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,aAAa;YACb,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC5B,CAAC;IAED,uFAAuF;IAC/E,YAAY;QAClB,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,YAAY,CAAC,GAAG;YACtB,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACb,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;SACd,CAAC;QACF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACxE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,aAAa;IACN,0BAA0B,CAAC,KAAU,EAAE,OAAO,GAAG,CAAC,CAAC;QACxD,IAAI,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAClF,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,mBAAmB,CAAC;YAAE,OAAO,KAAK,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9G,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa;IACN,+BAA+B,CAAC,KAAU;QAC/C,IAAI,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC9B,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;YACrE,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;YAC9B,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;CACF,CAAA;AA1GY,MAAM;IADlB,OAAO,CAAC,QAAQ,CAAC;;GACL,MAAM,CA0GlB"}
package/common.d.ts CHANGED
@@ -9,6 +9,18 @@ import { isMasonView_, isTextChild_, isText_, native_, pseudoStyles_, eventType_
9
9
  import { TextNode } from './text-node';
10
10
  export interface MasonChild extends ViewBase {
11
11
  }
12
+ export type ScrollBehavior = 'auto' | 'instant' | 'smooth';
13
+ export type ScrollLogicalPosition = 'start' | 'center' | 'end' | 'nearest';
14
+ export interface ScrollToOptions {
15
+ left?: number;
16
+ top?: number;
17
+ behavior?: ScrollBehavior;
18
+ }
19
+ export interface ScrollIntoViewOptions {
20
+ block?: ScrollLogicalPosition;
21
+ inline?: ScrollLogicalPosition;
22
+ behavior?: ScrollBehavior;
23
+ }
12
24
  export declare const textContentProperty: Property<ViewBase, string>;
13
25
  declare module '@nativescript/core/ui/styling/style' {
14
26
  interface Style {
@@ -187,6 +199,8 @@ export declare class ViewBase extends CustomLayoutView implements AddChildFromBu
187
199
  _tearDownUI(force?: boolean): void;
188
200
  _setupUI(context?: any, atIndex?: number, parentIsLoaded?: boolean): void;
189
201
  _removeViewFromNativeVisualTree(child: any): void;
202
+ /** Mirror a plain child's CSS layout into its Mason leaf; containers call this after the native insert. */
203
+ _masonAdoptForeign(child: any): void;
190
204
  private _masonFinishTeardown;
191
205
  private static _drainTeardowns;
192
206
  /**
@@ -232,6 +246,28 @@ export declare class ViewBase extends CustomLayoutView implements AddChildFromBu
232
246
  * `x` and `y` are CSS pixels (dips) on every platform, the unit touch events report.
233
247
  */
234
248
  elementFromPoint(x: number, y: number): ViewBase | NSViewBase | null;
249
+ /** Vertical scroll offset; setting it scrolls, clamped to the scroll range. */
250
+ get scrollTop(): number;
251
+ set scrollTop(value: number);
252
+ /** Horizontal scroll offset; setting it scrolls, clamped to the scroll range. */
253
+ get scrollLeft(): number;
254
+ set scrollLeft(value: number);
255
+ /** Content width, at least `clientWidth`. */
256
+ get scrollWidth(): number;
257
+ /** Content height, at least `clientHeight`. */
258
+ get scrollHeight(): number;
259
+ /** Padding box width. */
260
+ get clientWidth(): number;
261
+ /** Padding box height. */
262
+ get clientHeight(): number;
263
+ scrollTo(options?: ScrollToOptions): void;
264
+ scrollTo(x: number, y: number): void;
265
+ scroll(options?: ScrollToOptions): void;
266
+ scroll(x: number, y: number): void;
267
+ scrollBy(options?: ScrollToOptions): void;
268
+ scrollBy(x: number, y: number): void;
269
+ /** Scrolls the scroll containers above this element so it's visible. */
270
+ scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;
235
271
  _pendingEventsRegistration: Array<{
236
272
  arg: string;
237
273
  callback: any;
@@ -242,6 +278,11 @@ export declare class ViewBase extends CustomLayoutView implements AddChildFromBu
242
278
  [touchAction_]: number | undefined;
243
279
  /** Hands `touch-action` to the native node, where the scroll views read it. */
244
280
  _applyTouchAction(): void;
281
+ _masonPendingScroll: {
282
+ left: number;
283
+ top: number;
284
+ smooth: boolean;
285
+ } | undefined;
245
286
  initNativeView(): void;
246
287
  _setNativeViewFrame(nativeView: any, frame: CGRect): void;
247
288
  /**
package/common.js CHANGED
@@ -11,6 +11,7 @@ import { _forceStyleUpdate } from './utils';
11
11
  import { borderRadiusCorners, composeBorderRadius, isCssLength, parseCornerRadius, toCamelCase } from './css-shorthands';
12
12
  import { originXProperty, originYProperty } from '@nativescript/core/ui/core/view';
13
13
  import { animateTransforms } from './css-keyframes';
14
+ import { adoptForeignLayout, releaseForeignLayout } from './foreign-layout';
14
15
  import { Style, nodeHelper, cssLengthToDip, resolveCssMathIn } from './style';
15
16
  import { encodeBoxShadows, parseBoxShadows } from './box-shadow';
16
17
  import { parseCssTransform } from './css-transform';
@@ -62,11 +63,75 @@ function masonNativeEventName(eventName) {
62
63
  case 'focus':
63
64
  case 'blur':
64
65
  case 'keydown':
66
+ case 'scroll':
67
+ case 'scrollend':
65
68
  return eventName;
66
69
  default:
67
70
  return null;
68
71
  }
69
72
  }
73
+ const SCROLL_POSITIONS = { start: 0, center: 1, end: 2, nearest: 3 };
74
+ // Scroll offsets and sizes are read from the native view on demand, in CSS pixels.
75
+ function nativeScrollOffset(view, vertical) {
76
+ const native = view[native_];
77
+ if (!native)
78
+ return 0;
79
+ if (__ANDROID__) {
80
+ const scroll = org.nativescript.mason.masonkit.WebScroll;
81
+ return Utils.layout.toDeviceIndependentPixels(vertical ? scroll.scrollTop(native) : scroll.scrollLeft(native));
82
+ }
83
+ if (__APPLE__) {
84
+ return (vertical ? native.mason_scrollTop : native.mason_scrollLeft) ?? 0;
85
+ }
86
+ if (__WINDOWS__) {
87
+ return (vertical ? masonEngine().ScrollTop(native) : masonEngine().ScrollLeft(native)) ?? 0;
88
+ }
89
+ return 0;
90
+ }
91
+ function nativeScrollMetric(view, metric) {
92
+ const native = view[native_];
93
+ if (!native)
94
+ return 0;
95
+ let value = 0;
96
+ if (__ANDROID__) {
97
+ value = Utils.layout.toDeviceIndependentPixels(org.nativescript.mason.masonkit.WebScroll[metric](native));
98
+ }
99
+ else if (__APPLE__) {
100
+ value = native[`mason_${metric}`];
101
+ }
102
+ else if (__WINDOWS__) {
103
+ value = masonEngine()[metric.charAt(0).toUpperCase() + metric.slice(1)](native);
104
+ }
105
+ // Whole pixels, as on the web.
106
+ return Math.round(value || 0);
107
+ }
108
+ /** NaN keeps an axis. Before the native view exists, the request is kept for `initNativeView`. */
109
+ function nativeScrollTo(view, left, top, smooth) {
110
+ const native = view[native_];
111
+ if (!native) {
112
+ const pending = (view._masonPendingScroll ?? (view._masonPendingScroll = { left: NaN, top: NaN, smooth }));
113
+ if (!isNaN(left))
114
+ pending.left = left;
115
+ if (!isNaN(top))
116
+ pending.top = top;
117
+ pending.smooth = smooth;
118
+ return;
119
+ }
120
+ if (__ANDROID__) {
121
+ org.nativescript.mason.masonkit.WebScroll.scrollTo(native, isNaN(left) ? NaN : Utils.layout.toDevicePixels(left), isNaN(top) ? NaN : Utils.layout.toDevicePixels(top), smooth);
122
+ }
123
+ else if (__APPLE__) {
124
+ native.mason_scrollTo(left, top, smooth);
125
+ }
126
+ else if (__WINDOWS__) {
127
+ masonEngine().ScrollTo(native, left, top, smooth);
128
+ }
129
+ }
130
+ /** Non-finite scroll coordinates become 0, as on the web. */
131
+ function scrollCoordinate(value) {
132
+ const n = Number(value);
133
+ return Number.isFinite(n) ? n : 0;
134
+ }
70
135
  function findOwnerForNativeView(owner, nativeView) {
71
136
  if (!owner || !nativeView)
72
137
  return null;
@@ -276,12 +341,17 @@ export class ViewBase extends CustomLayoutView {
276
341
  // Core's CustomLayoutView finds the child with a WinRT call per sibling. Mason's containers remove
277
342
  // their children natively themselves, so only core's bookkeeping is kept.
278
343
  _removeViewFromNativeVisualTree(child) {
344
+ releaseForeignLayout(child);
279
345
  if (__WINDOWS__) {
280
346
  child._isAddedToNativeVisualTree = false;
281
347
  return;
282
348
  }
283
349
  super._removeViewFromNativeVisualTree(child);
284
350
  }
351
+ /** Mirror a plain child's CSS layout into its Mason leaf; containers call this after the native insert. */
352
+ _masonAdoptForeign(child) {
353
+ adoptForeignLayout(child);
354
+ }
285
355
  _masonFinishTeardown() {
286
356
  if (!this._masonPendingTeardown) {
287
357
  return;
@@ -445,6 +515,88 @@ export class ViewBase extends CustomLayoutView {
445
515
  found?._rememberNativeOwner?.(nativeHit);
446
516
  return found;
447
517
  }
518
+ // Scrolling. Size reads run a pending layout first; "scroll"/"scrollend" are only raised for
519
+ // an element with a listener.
520
+ /** Vertical scroll offset; setting it scrolls, clamped to the scroll range. */
521
+ get scrollTop() {
522
+ return nativeScrollOffset(this, true);
523
+ }
524
+ set scrollTop(value) {
525
+ nativeScrollTo(this, NaN, scrollCoordinate(value), false);
526
+ }
527
+ /** Horizontal scroll offset; setting it scrolls, clamped to the scroll range. */
528
+ get scrollLeft() {
529
+ return nativeScrollOffset(this, false);
530
+ }
531
+ set scrollLeft(value) {
532
+ nativeScrollTo(this, scrollCoordinate(value), NaN, false);
533
+ }
534
+ /** Content width, at least `clientWidth`. */
535
+ get scrollWidth() {
536
+ return nativeScrollMetric(this, 'scrollWidth');
537
+ }
538
+ /** Content height, at least `clientHeight`. */
539
+ get scrollHeight() {
540
+ return nativeScrollMetric(this, 'scrollHeight');
541
+ }
542
+ /** Padding box width. */
543
+ get clientWidth() {
544
+ return nativeScrollMetric(this, 'clientWidth');
545
+ }
546
+ /** Padding box height. */
547
+ get clientHeight() {
548
+ return nativeScrollMetric(this, 'clientHeight');
549
+ }
550
+ scrollTo(xOrOptions, y) {
551
+ if (xOrOptions !== null && typeof xOrOptions === 'object') {
552
+ const { left, top, behavior } = xOrOptions;
553
+ nativeScrollTo(this, left === undefined ? NaN : scrollCoordinate(left), top === undefined ? NaN : scrollCoordinate(top), behavior === 'smooth');
554
+ }
555
+ else {
556
+ nativeScrollTo(this, scrollCoordinate(xOrOptions), scrollCoordinate(y), false);
557
+ }
558
+ }
559
+ scroll(xOrOptions, y) {
560
+ this.scrollTo(xOrOptions, y);
561
+ }
562
+ scrollBy(xOrOptions, y) {
563
+ let dx;
564
+ let dy;
565
+ let smooth = false;
566
+ if (xOrOptions !== null && typeof xOrOptions === 'object') {
567
+ dx = scrollCoordinate(xOrOptions.left);
568
+ dy = scrollCoordinate(xOrOptions.top);
569
+ smooth = xOrOptions.behavior === 'smooth';
570
+ }
571
+ else {
572
+ dx = scrollCoordinate(xOrOptions);
573
+ dy = scrollCoordinate(y);
574
+ }
575
+ // Relative to a request still waiting for the native view, if any.
576
+ const pending = this._masonPendingScroll;
577
+ const left = !dx ? NaN : (pending && !isNaN(pending.left) ? pending.left : this.scrollLeft) + dx;
578
+ const top = !dy ? NaN : (pending && !isNaN(pending.top) ? pending.top : this.scrollTop) + dy;
579
+ nativeScrollTo(this, left, top, smooth);
580
+ }
581
+ /** Scrolls the scroll containers above this element so it's visible. */
582
+ scrollIntoView(arg) {
583
+ const native = this[native_];
584
+ if (!native)
585
+ return;
586
+ const options = arg !== null && typeof arg === 'object' ? arg : { block: arg === false ? 'end' : 'start' };
587
+ const block = SCROLL_POSITIONS[options.block ?? 'start'] ?? 0;
588
+ const inline = SCROLL_POSITIONS[options.inline ?? 'nearest'] ?? 3;
589
+ const smooth = options.behavior === 'smooth';
590
+ if (__ANDROID__) {
591
+ org.nativescript.mason.masonkit.WebScroll.scrollIntoView(native, block, inline, smooth);
592
+ }
593
+ else if (__APPLE__) {
594
+ native.mason_scrollIntoView(block, inline, smooth);
595
+ }
596
+ else if (__WINDOWS__) {
597
+ masonEngine().ScrollIntoView(native, block, inline, smooth);
598
+ }
599
+ }
448
600
  _registerNativeEvent(arg, callback, thisArg) {
449
601
  if (!this[native_]) {
450
602
  this._pendingEventsRegistration.push({ arg, callback, thisArg });
@@ -610,6 +762,11 @@ export class ViewBase extends CustomLayoutView {
610
762
  initNativeView() {
611
763
  super.initNativeView();
612
764
  this._applyTouchAction();
765
+ const scroll = this._masonPendingScroll;
766
+ if (scroll) {
767
+ this._masonPendingScroll = undefined;
768
+ nativeScrollTo(this, scroll.left, scroll.top, scroll.smooth);
769
+ }
613
770
  if (this._pendingEventsRegistration.length > 0) {
614
771
  const pending = this._pendingEventsRegistration.splice(0);
615
772
  for (const registration of pending) {
@@ -2186,6 +2343,10 @@ export class ViewBase extends CustomLayoutView {
2186
2343
  if (!style) {
2187
2344
  return;
2188
2345
  }
2346
+ if ((__ANDROID__ || __APPLE__) && !isCssLength(value) && style._writeCornerLength(corner, value)) {
2347
+ this[borderRadiusCorners_] = undefined;
2348
+ return;
2349
+ }
2189
2350
  let corners = this[borderRadiusCorners_];
2190
2351
  if (!corners) {
2191
2352
  corners = this[borderRadiusCorners_] = this._nativeBorderRadiusCorners();
@@ -2204,7 +2365,7 @@ export class ViewBase extends CustomLayoutView {
2204
2365
  _nativeCornerRadius(corner) {
2205
2366
  // @ts-ignore
2206
2367
  const style = this._styleHelper;
2207
- if ((__ANDROID__ || __APPLE__) && style && !style.hasBorderRadius()) {
2368
+ if ((__ANDROID__ || __APPLE__) && style && style._cornerRadiusIsZero(corner)) {
2208
2369
  return '0';
2209
2370
  }
2210
2371
  const [h, v] = this._nativeBorderRadiusCorners()[corner];