@triniwiz/nativescript-masonkit 1.0.0-beta.108 → 1.0.0-beta.109

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 (120) hide show
  1. package/box-shadow.d.ts +10 -0
  2. package/box-shadow.js +49 -0
  3. package/box-shadow.js.map +1 -0
  4. package/button/index.windows.js +0 -2
  5. package/button/index.windows.js.map +1 -1
  6. package/common.d.ts +31 -7
  7. package/common.js +625 -184
  8. package/common.js.map +1 -1
  9. package/css-filter.d.ts +17 -0
  10. package/css-filter.js +141 -0
  11. package/css-filter.js.map +1 -0
  12. package/css-transform.d.ts +6 -0
  13. package/css-transform.js +101 -0
  14. package/css-transform.js.map +1 -0
  15. package/html-windows.d.ts +1 -0
  16. package/html-windows.js +163 -0
  17. package/html-windows.js.map +1 -0
  18. package/html.d.ts +8 -0
  19. package/html.js +134 -0
  20. package/html.js.map +1 -0
  21. package/index.d.ts +6 -4
  22. package/index.windows.d.ts +2 -0
  23. package/index.windows.js +2 -0
  24. package/index.windows.js.map +1 -1
  25. package/input/common.d.ts +16 -0
  26. package/input/common.js +45 -3
  27. package/input/common.js.map +1 -1
  28. package/input/index.android.d.ts +8 -3
  29. package/input/index.android.js +24 -7
  30. package/input/index.android.js.map +1 -1
  31. package/input/index.ios.d.ts +7 -3
  32. package/input/index.ios.js +18 -7
  33. package/input/index.ios.js.map +1 -1
  34. package/input/index.windows.d.ts +14 -2
  35. package/input/index.windows.js +143 -4
  36. package/input/index.windows.js.map +1 -1
  37. package/li/index.windows.js +4 -2
  38. package/li/index.windows.js.map +1 -1
  39. package/list/index.windows.d.ts +5 -2
  40. package/list/index.windows.js +26 -4
  41. package/list/index.windows.js.map +1 -1
  42. package/package.json +1 -1
  43. package/platforms/android/masonkit-release.aar +0 -0
  44. package/platforms/ios/Mason.xcframework/Info.plist +11 -11
  45. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +14 -1
  46. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  47. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  48. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +5091 -13148
  49. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +28 -0
  50. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  51. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +28 -0
  52. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  53. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8874 -8713
  54. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +28 -2
  55. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  56. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  57. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  58. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +5091 -13148
  59. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +28 -0
  60. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  61. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +28 -0
  62. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +5091 -13148
  63. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +28 -0
  64. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  65. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +28 -0
  66. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +26 -26
  67. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  68. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8868 -8708
  69. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +8467 -8310
  70. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Headers/Mason-Swift.h +14 -1
  71. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Mason +0 -0
  72. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-xros.swiftsourceinfo +0 -0
  73. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.abi.json +5091 -13148
  74. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.private.swiftinterface +28 -0
  75. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.swiftdoc +0 -0
  76. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.swiftinterface +28 -0
  77. package/platforms/ios/Mason.xcframework/xros-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  78. package/platforms/ios/Mason.xcframework/xros-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8366 -8204
  79. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Headers/Mason-Swift.h +14 -1
  80. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Mason +0 -0
  81. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-xros-simulator.swiftsourceinfo +0 -0
  82. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.abi.json +5091 -13148
  83. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.private.swiftinterface +28 -0
  84. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.swiftdoc +0 -0
  85. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.swiftinterface +28 -0
  86. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/_CodeSignature/CodeResources +14 -14
  87. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  88. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8365 -8204
  89. package/platforms/windows/arm64/NativeScript.Mason.dll +0 -0
  90. package/platforms/windows/arm64/NativeScript.Mason.winmd +0 -0
  91. package/platforms/windows/x64/NativeScript.Mason.dll +0 -0
  92. package/platforms/windows/x64/NativeScript.Mason.winmd +0 -0
  93. package/properties.js +1 -1
  94. package/properties.js.map +1 -1
  95. package/scroll/index.windows.js +4 -2
  96. package/scroll/index.windows.js.map +1 -1
  97. package/style.d.ts +28 -2
  98. package/style.js +291 -69
  99. package/style.js.map +1 -1
  100. package/symbols.d.ts +4 -0
  101. package/symbols.js +6 -2
  102. package/symbols.js.map +1 -1
  103. package/text/index.windows.d.ts +3 -0
  104. package/text/index.windows.js +39 -10
  105. package/text/index.windows.js.map +1 -1
  106. package/textarea/index.windows.d.ts +2 -0
  107. package/textarea/index.windows.js +5 -1
  108. package/textarea/index.windows.js.map +1 -1
  109. package/typings/android.d.ts +3 -0
  110. package/typings/objc!Mason.d.ts +4 -0
  111. package/typings/windows.d.ts +29 -1
  112. package/view/index.windows.js +4 -2
  113. package/view/index.windows.js.map +1 -1
  114. package/vue/src/element-registry.d.ts.map +1 -1
  115. package/vue/src/element-registry.js +4 -1
  116. package/vue/src/element-registry.js.map +1 -1
  117. package/vue/src/v-model.d.ts +27 -0
  118. package/vue/src/v-model.d.ts.map +1 -0
  119. package/vue/src/v-model.js +70 -0
  120. package/vue/src/v-model.js.map +1 -0
package/symbols.d.ts CHANGED
@@ -12,6 +12,10 @@ export declare const pseudoStyles_: unique symbol;
12
12
  export declare const emptyTextNode_: unique symbol;
13
13
  export declare const breakRun_: unique symbol;
14
14
  export declare const anonymousText_: unique symbol;
15
+ export declare const runMember_: unique symbol;
16
+ export declare const runsInline_: unique symbol;
17
+ export declare const blockified_: unique symbol;
18
+ export declare const runsSettled_: unique symbol;
15
19
  export declare const windowsFontSource_: unique symbol;
16
20
  export declare const hostsRuns_: unique symbol;
17
21
  export declare const needsAnonymousText_: unique symbol;
package/symbols.js CHANGED
@@ -16,9 +16,13 @@ export const pseudoStyles_ = Symbol('[[pseudoStyles]]');
16
16
  export const emptyTextNode_ = Symbol('[[emptyTextNode]]');
17
17
  // The break run a Windows `<br>` placeholder becomes inside a text container.
18
18
  export const breakRun_ = Symbol('[[breakRun]]');
19
- // On a text-run entry: the anonymous Windows Text that renders it inside a container that can't host
20
- // runs itself. Consecutive entries share one.
19
+ // On a child of a Windows container: the anonymous Text drawing it as part of an inline run.
21
20
  export const anonymousText_ = Symbol('[[anonymousText]]');
21
+ // How it is held: 'run', 'break', 'text' or 'box', or 'solo' for a lone element laid out directly.
22
+ export const runMember_ = Symbol('[[runMember]]');
23
+ export const runsInline_ = Symbol('[[runsInline]]');
24
+ export const blockified_ = Symbol('[[blockified]]');
25
+ export const runsSettled_ = Symbol('[[runsSettled]]');
22
26
  // The resolved Windows font source a container's anonymous Text uses.
23
27
  export const windowsFontSource_ = Symbol('[[windowsFontSource]]');
24
28
  // Whether a view's Windows native view lays out text runs itself, and whether it is any other
package/symbols.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../packages/nativescript-masonkit/symbols.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACxD,8EAA8E;AAC9E,2EAA2E;AAC3E,6EAA6E;AAC7E,QAAQ;AACR,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC1D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAChD,qGAAqG;AACrG,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC1D,sEAAsE;AACtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAClE,8FAA8F;AAC9F,kFAAkF;AAClF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEpE,mEAAmE;AACnE,mEAAmE;AACnE,6EAA6E;AAC7E,0CAA0C;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEhE,yEAAyE;AACzE,iEAAiE;AACjE,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../packages/nativescript-masonkit/symbols.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACxD,8EAA8E;AAC9E,2EAA2E;AAC3E,6EAA6E;AAC7E,QAAQ;AACR,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC1D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAChD,6FAA6F;AAC7F,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC1D,mGAAmG;AACnG,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACtD,sEAAsE;AACtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAClE,8FAA8F;AAC9F,kFAAkF;AAClF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEpE,mEAAmE;AACnE,mEAAmE;AACnE,6EAA6E;AAC7E,0CAA0C;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEhE,yEAAyE;AACzE,iEAAiE;AACjE,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC"}
@@ -15,4 +15,7 @@ export declare class Text extends TextBase {
15
15
  createNativeView(): NativeScript.Mason.Text;
16
16
  _addViewToNativeVisualTree(child: any, atIndex?: number): boolean;
17
17
  _removeViewFromNativeVisualTree(child: any): void;
18
+ private _windowsHost;
19
+ private _windowsUnhost;
20
+ _windowsRehost(child: any): void;
18
21
  }
@@ -1,7 +1,7 @@
1
- import { TextBase, textContentProperty } from '../common';
1
+ import { TextBase, textContentProperty, windowsMemberKind } from '../common';
2
2
  import { Style } from '../style';
3
3
  import { Tree } from '../tree';
4
- import { style_, isText_, isMasonView_, native_ } from '../symbols';
4
+ import { style_, isText_, isMasonView_, native_, runMember_ } from '../symbols';
5
5
  import { removeNativeChild } from '../windows-panel-helpers';
6
6
  // crates/mason-core/src/utils/ua_defaults.rs as [font size, margin top, bottom, left, right] in CSS
7
7
  // px, a font size of 0 leaving it inherited. Android and iOS read it over FFI;
@@ -18,7 +18,7 @@ export const UA_DEFAULTS = {
18
18
  pre: [0, 16, 16, 0, 0],
19
19
  };
20
20
  // By web.ts TextType value.
21
- const TAGS = { 1: 'p', 3: 'code', 4: 'h1', 5: 'h2', 6: 'h3', 7: 'h4', 8: 'h5', 9: 'h6', 11: 'blockquote', 12: 'b', 13: 'pre', 14: 'strong', 15: 'em', 16: 'i' };
21
+ const TAGS = { 1: 'p', 3: 'code', 10: 'li', 4: 'h1', 5: 'h2', 6: 'h3', 7: 'h4', 8: 'h5', 9: 'h6', 11: 'blockquote', 12: 'b', 13: 'pre', 14: 'strong', 15: 'em', 16: 'i' };
22
22
  const BOLD = new Set(['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'b', 'strong']);
23
23
  export class Text extends TextBase {
24
24
  constructor(type = 0) {
@@ -28,6 +28,8 @@ export class Text extends TextBase {
28
28
  this[isText_] = true;
29
29
  this[isMasonView_] = true;
30
30
  this._applyTagDefaults();
31
+ if (type === 17)
32
+ this._view.IsLink = true;
31
33
  }
32
34
  // What TextView.kt sets per TextType, minus display: inline, which Windows text doesn't lay out.
33
35
  _applyTagDefaults() {
@@ -47,12 +49,18 @@ export class Text extends TextBase {
47
49
  style.marginRight = ua[4];
48
50
  }
49
51
  }
52
+ if (tag === 'li') {
53
+ style.display = 'block';
54
+ this._view.IsListItem = true;
55
+ }
50
56
  if (BOLD.has(tag))
51
57
  style.fontWeight = 'bold';
52
58
  if (tag === 'em' || tag === 'i')
53
59
  style.fontStyle = 'italic';
54
60
  if (tag === 'code' || tag === 'pre')
55
61
  this._view.SetFontFamily('monospace');
62
+ if (tag === 'pre')
63
+ style.whiteSpace = 'pre';
56
64
  }
57
65
  get _view() {
58
66
  if (!this[native_]) {
@@ -73,27 +81,48 @@ export class Text extends TextBase {
73
81
  createNativeView() {
74
82
  return this._view;
75
83
  }
76
- // Text lays out runs, not child panels, so a nested text element renders inside this one's runs.
84
+ // Text lays out runs, not child panels: a nested inline text element renders inside this one's
85
+ // runs, and any other Mason element is an inline box placed in the text.
77
86
  // @ts-ignore
78
87
  _addViewToNativeVisualTree(child, atIndex = -1) {
79
- if (child?.[isText_] && child._view && !child._view.IsButton) {
80
- this._view.SetInlineText(child._view, this._windowsNativeIndexOf(child, atIndex));
81
- child._isMasonChild = true;
88
+ if (child?.[isMasonView_] && child._view) {
89
+ this._windowsHost(child, this._windowsNativeIndexOf(child, atIndex));
82
90
  return true;
83
91
  }
84
92
  return super._addViewToNativeVisualTree(child, atIndex);
85
93
  }
86
94
  // @ts-ignore
87
95
  _removeViewFromNativeVisualTree(child) {
88
- if (child?.[isText_] && child._view && !child._view.IsButton) {
89
- this._view.RemoveInlineText(child._view);
90
- child._isMasonChild = false;
96
+ if (child?.[runMember_]) {
97
+ this._windowsUnhost(child);
91
98
  }
92
99
  else {
93
100
  removeNativeChild(this._view, child);
94
101
  }
95
102
  super._removeViewFromNativeVisualTree(child);
96
103
  }
104
+ _windowsHost(child, index) {
105
+ const kind = windowsMemberKind(child);
106
+ if (kind === 'text')
107
+ this._view.SetInlineText(child._view, index);
108
+ else
109
+ this._view.SetInlineBox(child.nativeViewProtected ?? child._view, index);
110
+ child[runMember_] = kind;
111
+ child._isMasonChild = true;
112
+ }
113
+ _windowsUnhost(child) {
114
+ if (child[runMember_] === 'text')
115
+ this._view.RemoveInlineText(child._view);
116
+ else
117
+ this._view.RemoveInlineBox(child.nativeViewProtected ?? child._view);
118
+ child[runMember_] = undefined;
119
+ child._isMasonChild = false;
120
+ }
121
+ _windowsRehost(child) {
122
+ const index = this._windowsNativeIndexOf(child, -1);
123
+ this._windowsUnhost(child);
124
+ this._windowsHost(child, index);
125
+ }
97
126
  [textContentProperty.setNative](value) {
98
127
  const nativeView = this._view;
99
128
  if (nativeView) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.windows.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/text/index.windows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.windows.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/text/index.windows.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { fontInternalProperty } from '@nativescript/core';
1
2
  import { TextAreaBase, rowsProperty, colsProperty, maxLengthProperty } from './common';
2
3
  import { defaultValueProperty, getValueProperty, setValueProperty, placeholderProperty } from '../input/common';
3
4
  import { style_ } from '../symbols';
@@ -7,6 +8,7 @@ export declare class TextArea extends TextAreaBase {
7
8
  [rowsProperty.setNative]: (value: any) => void;
8
9
  [colsProperty.setNative]: (value: any) => void;
9
10
  [maxLengthProperty.setNative]: (value: any) => void;
11
+ [fontInternalProperty.setNative]: (value: any) => void;
10
12
  [style_]: any;
11
13
  constructor();
12
14
  get _view(): NativeScript.Mason.TextArea;
@@ -1,4 +1,5 @@
1
- import { CSSType } from '@nativescript/core';
1
+ import { CSSType, fontInternalProperty } from '@nativescript/core';
2
+ import { windowsFontSource } from '../common';
2
3
  import { TextAreaBase, rowsProperty, colsProperty, maxLengthProperty } from './common';
3
4
  import { defaultValueProperty, getValueProperty, setValueProperty, placeholderProperty } from '../input/common';
4
5
  import { style_, isMasonView_, native_ } from '../symbols';
@@ -54,6 +55,9 @@ let TextArea = class TextArea extends TextAreaBase {
54
55
  if (this._view)
55
56
  this._view.MaxLength = value | 0;
56
57
  }
58
+ [fontInternalProperty.setNative](value) {
59
+ this._view?.SetFontFamily(windowsFontSource(value));
60
+ }
57
61
  };
58
62
  TextArea = __decorate([
59
63
  CSSType('textarea'),
@@ -1 +1 @@
1
- {"version":3,"file":"index.windows.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/textarea/index.windows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAChH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAG1B,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,YAAY;IAExC;QACE,KAAK,EAAE,CAAC;QACR,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,cAAc,EAAW,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAyC,CAAC;IAC/D,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;IAED,CAAC,oBAAoB,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,CAAC,gBAAgB,CAAC;QAChB,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,CAAC,gBAAgB,CAAC,CAAC,KAAK;QACtB,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK;QACnC,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK;QAC5B,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK;QAC5B,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,KAAK;QACjC,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;IACnD,CAAC;CACF,CAAA;AAzDY,QAAQ;IADpB,OAAO,CAAC,UAAU,CAAC;;GACP,QAAQ,CAyDpB"}
1
+ {"version":3,"file":"index.windows.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/textarea/index.windows.ts"],"names":[],"mappings":"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"}
@@ -2087,6 +2087,7 @@ declare module org {
2087
2087
  public computeMinContent(): void;
2088
2088
  public compute(): void;
2089
2089
  public getPlaceholder(): string;
2090
+ public getPlaceholderTextColors(): android.content.res.ColorStateList;
2090
2091
  public configure(block: any): org.nativescript.mason.masonkit.Element;
2091
2092
  public setMaxLength(this_: number): void;
2092
2093
  public prepend(param0: org.nativescript.mason.masonkit.Element): void;
@@ -2171,6 +2172,8 @@ declare module org {
2171
2172
  public layoutChild$masonkit_release(height: number, this_: number, l: number, t: number): void;
2172
2173
  public prepend(elements: androidNative.Array<org.nativescript.mason.masonkit.Element>): void;
2173
2174
  public setPlaceholder(value: string): void;
2175
+ public setPlaceholderTextColor(color: number): void;
2176
+ public setPlaceholderTextColor(colors: android.content.res.ColorStateList): void;
2174
2177
  public getType(): org.nativescript.mason.masonkit.Input.Type;
2175
2178
  public setName(value: string): void;
2176
2179
  public addChildAt(param0: org.nativescript.mason.masonkit.Element, param1: number): void;
@@ -817,12 +817,16 @@ declare class MasonInput extends UIView {
817
817
 
818
818
  accept: string;
819
819
 
820
+ checked: boolean;
821
+
820
822
  readonly mason: NSCMason;
821
823
 
822
824
  multiple: boolean;
823
825
 
824
826
  readonly node: MasonNode;
825
827
 
828
+ placeholderColor: UIColor;
829
+
826
830
  placeholder: string;
827
831
 
828
832
  size: number;
@@ -181,6 +181,10 @@ declare namespace NativeScript.Mason {
181
181
  // Percentage size (0-1, NaN clears) of a core (non-Mason) child.
182
182
  SetPercentWidth(element: any, fraction: number): void;
183
183
  SetPercentHeight(element: any, fraction: number): void;
184
+ // Events Mason dispatches (click), bubbling through the element tree; returns a listener id.
185
+ AddEventListener(element: any, type: string, listener: any): number;
186
+ ElementFromPoint(element: any, x: number, y: number): any;
187
+ RemoveEventListener(element: any, type: string, id: number): void;
184
188
  }
185
189
 
186
190
  // Implemented by every Mason element (View + the leaf controls). A parent View pulls any child's
@@ -188,7 +192,7 @@ declare namespace NativeScript.Mason {
188
192
  interface IMasonElement {
189
193
  readonly Node: Node;
190
194
  readonly Style: Style;
191
- SyncStyle(dirtyLow: string, dirtyHigh: string): void;
195
+ SyncStyle(d0: number, d1: number, d2: number, d3: number): void;
192
196
  }
193
197
 
194
198
  // Rasterized visual result (Image + size + overhang) returned by Css.CreateShadow/CreateBorder.
@@ -203,6 +207,8 @@ declare namespace NativeScript.Mason {
203
207
  class Css {
204
208
  static ApplyBackground(element: any, argb: number): void;
205
209
  static ClearBackground(element: any): void;
210
+ static ApplyRadialGradientAt(element: any, centerX: number, centerY: number, radiusX: number, radiusY: number, stops: string, interpolation: string): void;
211
+ static ApplyBackgroundImage(element: any, source: string, fit: number, alignX: number, alignY: number): void;
206
212
  static ApplyOpacity(element: any, opacity: number): void;
207
213
  static ApplyTransform(element: any, m11: number, m12: number, m21: number, m22: number, offsetX: number, offsetY: number): void;
208
214
  static ClearTransform(element: any): void;
@@ -215,6 +221,9 @@ declare namespace NativeScript.Mason {
215
221
  static ReparentChild(parent: any, child: any, index: number): void;
216
222
  static RemoveChild(parent: any, child: any): void;
217
223
  static ApplyShadow(element: any, offsetX: number, offsetY: number, blurRadius: number, argb: number, cornerRadius: number): void;
224
+ static SetBoxShadow(element: any, shadows: string): void;
225
+ static SetFilter(element: any, filter: string): void;
226
+ static SetBackdropFilter(element: any, filter: string): void;
218
227
  static ClearShadow(element: any): void;
219
228
  }
220
229
 
@@ -257,6 +266,16 @@ declare namespace NativeScript.Mason {
257
266
  // A nested text element rendered inside this one's runs; the index counts runs and nested elements.
258
267
  SetInlineText(child: Text, index: number): void;
259
268
  RemoveInlineText(child: Text): void;
269
+ // An inline-level element placed in the text and arranged where the text puts it.
270
+ SetInlineBox(child: any, index: number): void;
271
+ RemoveInlineBox(child: any): void;
272
+ // Holds a block's inline content, so it is never an event target.
273
+ IsAnonymous: boolean;
274
+ // An <a>, exposed to UI Automation as a hyperlink.
275
+ IsLink: boolean;
276
+ IsListItem: boolean;
277
+ SetFontFeatureSettings(value: string): void;
278
+ SetTextShadow(shadows: string): void;
260
279
  }
261
280
 
262
281
  // Frame and layout-pass counters for benchmarks; JS-assigned EventHandler<Object> handlers never fire.
@@ -331,6 +350,9 @@ declare namespace NativeScript.Mason {
331
350
  Rows: number;
332
351
  Cols: number;
333
352
  MaxLength: number;
353
+ SetFontFamily(families: string): void;
354
+ AddEventListener(type: string, listener: any): number;
355
+ RemoveEventListener(type: string, id: number): boolean;
334
356
  }
335
357
 
336
358
  // <input> — hosts a stock control chosen by Type (MasonInputType raw value).
@@ -340,9 +362,15 @@ declare namespace NativeScript.Mason {
340
362
  readonly Style: Style;
341
363
  Type: number;
342
364
  Value: string;
365
+ Checked: boolean;
343
366
  Placeholder: string;
344
367
  Multiple: boolean;
345
368
  Accept: string;
369
+ SetFontFamily(families: string): void;
370
+ SetPlaceholderColor(argb: number): void;
371
+ ClearPlaceholderColor(): void;
372
+ AddEventListener(type: string, listener: any): number;
373
+ RemoveEventListener(type: string, id: number): boolean;
346
374
  }
347
375
  }
348
376
 
@@ -3,7 +3,7 @@ import { ViewBase } from '../common';
3
3
  import { Style } from '../style';
4
4
  import { Tree } from '../tree';
5
5
  import { isMasonView_, native_, style_ } from '../symbols';
6
- import { appendNativeChild, removeNativeChild } from '../windows-panel-helpers';
6
+ import { appendNativeChild } from '../windows-panel-helpers';
7
7
  let View = class View extends ViewBase {
8
8
  constructor() {
9
9
  super();
@@ -32,14 +32,16 @@ let View = class View extends ViewBase {
32
32
  }
33
33
  // @ts-ignore
34
34
  _addViewToNativeVisualTree(child, atIndex = -1) {
35
+ if (this._windowsAttach(child))
36
+ return true;
35
37
  const index = this._windowsNativeIndexOf(child, atIndex);
36
38
  super._addViewToNativeVisualTree(child, index);
37
39
  return appendNativeChild(this._view, child, index);
38
40
  }
39
41
  // @ts-ignore
40
42
  _removeViewFromNativeVisualTree(child) {
43
+ this._windowsDetachChild(child);
41
44
  child._isMasonChild = false;
42
- removeNativeChild(this._view, child);
43
45
  // @ts-ignore
44
46
  super._removeViewFromNativeVisualTree(child);
45
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.windows.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/view/index.windows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGzE,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,QAAQ;IAIhC;QACE,KAAK,EAAE,CAAC;QAkBV,aAAQ,GAAG,KAAK,CAAC;QAjBf,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,UAAU,EAAW,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAqC,CAAC;IAC3D,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;IAID,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,6DAA6D;IAC7D,aAAa;IACb,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,aAAa;IACN,0BAA0B,CAAC,KAAU,EAAE,OAAO,GAAG,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzD,KAAK,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,aAAa;IACN,+BAA+B,CAAC,KAAU;QAC/C,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC5B,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrC,aAAa;QACb,KAAK,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AAjDY,IAAI;IADhB,OAAO,CAAC,MAAM,CAAC;;GACH,IAAI,CAiDhB"}
1
+ {"version":3,"file":"index.windows.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/view/index.windows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGtD,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,QAAQ;IAIhC;QACE,KAAK,EAAE,CAAC;QAkBV,aAAQ,GAAG,KAAK,CAAC;QAjBf,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,UAAU,EAAW,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAqC,CAAC;IAC3D,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;IAID,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,6DAA6D;IAC7D,aAAa;IACb,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,aAAa;IACN,0BAA0B,CAAC,KAAU,EAAE,OAAO,GAAG,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzD,KAAK,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,aAAa;IACN,+BAA+B,CAAC,KAAU;QAC/C,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC5B,aAAa;QACb,KAAK,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AAlDY,IAAI;IADhB,OAAO,CAAC,MAAM,CAAC;;GACH,IAAI,CAkDhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"element-registry.d.ts","sourceRoot":"","sources":["../../../../../packages/nativescript-masonkit/vue/src/element-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAInI,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAuChE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,IAAI,CAI1E"}
1
+ {"version":3,"file":"element-registry.d.ts","sourceRoot":"","sources":["../../../../../packages/nativescript-masonkit/vue/src/element-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAKnI,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAyChE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,IAAI,CAI1E"}
@@ -1,6 +1,7 @@
1
1
  import { getViewClass, getViewMeta, isKnownView, normalizeElementName, registerElement } from 'nativescript-vue';
2
2
  import { getMasonKitElements } from '@triniwiz/nativescript-masonkit/elements';
3
3
  import { masonMeta } from './mason-meta';
4
+ import { MODEL_PROP, modelMeta, withVueModel } from './v-model';
4
5
  /** Names this integration owns, normalized exactly as NativeScript-Vue does. */
5
6
  const registered = new Set();
6
7
  /**
@@ -28,8 +29,10 @@ function register(tag, cls, isContainer) {
28
29
  return;
29
30
  }
30
31
  preserveCoreElement(tag);
31
- registerElement(tag, () => cls, {
32
+ const viewClass = modelMeta[key]?.prop === MODEL_PROP ? withVueModel(cls) : cls;
33
+ registerElement(tag, () => viewClass, {
32
34
  ...(isContainer ? masonMeta : undefined),
35
+ model: modelMeta[key],
33
36
  overwriteExisting: isKnownView(tag),
34
37
  });
35
38
  registered.add(key);
@@ -1 +1 @@
1
- {"version":3,"file":"element-registry.js","sourceRoot":"","sources":["../../../../../packages/nativescript-masonkit/vue/src/element-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjH,OAAO,EAAE,mBAAmB,EAAsD,MAAM,0CAA0C,CAAC;AAEnI,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,gFAAgF;AAChF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;AAErC;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,wEAAwE;IACxE,mCAAmC;IACnC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACpC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAiB,EAAE,WAAoB;IACpE,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;QAC9B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACxC,iBAAiB,EAAE,WAAW,CAAC,GAAG,CAAC;KACpC,CAAC,CAAC;IACH,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkC,EAAE;IAClE,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"element-registry.js","sourceRoot":"","sources":["../../../../../packages/nativescript-masonkit/vue/src/element-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjH,OAAO,EAAE,mBAAmB,EAAsD,MAAM,0CAA0C,CAAC;AAEnI,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIhE,gFAAgF;AAChF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;AAErC;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,wEAAwE;IACxE,mCAAmC;IACnC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACpC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAiB,EAAE,WAAoB;IACpE,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,GAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACzF,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;QACpC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACxC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC;QACrB,iBAAiB,EAAE,WAAW,CAAC,GAAG,CAAC;KACpC,CAAC,CAAC;IACH,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkC,EAAE;IAClE,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * NativeScript-Vue's patchProp maps `modelValue` / `onUpdate:modelValue` through the
3
+ * element's `meta.model`: one prop and one event per tag. An `<input>` binds by type,
4
+ * so its model prop is an accessor rather than `checked` or `value`.
5
+ */
6
+ export declare const MODEL_PROP = "vueModelValue";
7
+ /** Model metadata per normalized tag name. */
8
+ export declare const modelMeta: Record<string, {
9
+ prop: string;
10
+ event: string;
11
+ }>;
12
+ export interface Bindable {
13
+ type?: string;
14
+ value: string;
15
+ checked: boolean;
16
+ nativeViewProtected?: unknown;
17
+ on(eventName: string, callback: () => void): void;
18
+ }
19
+ type BindableClass = new (...args: any[]) => Bindable;
20
+ /**
21
+ * Vue patches props in template order, so `v-model` can arrive before `type`. The
22
+ * model is held and routed once the mount pass has set `type`, and again whenever
23
+ * `type` changes.
24
+ */
25
+ export declare function withVueModel<T extends BindableClass>(Base: T): T;
26
+ export {};
27
+ //# sourceMappingURL=v-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v-model.d.ts","sourceRoot":"","sources":["../../../../../packages/nativescript-masonkit/vue/src/v-model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,UAAU,kBAAkB,CAAC;AAE1C,8CAA8C;AAC9C,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAGrE,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACnD;AAED,KAAK,aAAa,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,QAAQ,CAAC;AA0BtD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CA0BhE"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * NativeScript-Vue's patchProp maps `modelValue` / `onUpdate:modelValue` through the
3
+ * element's `meta.model`: one prop and one event per tag. An `<input>` binds by type,
4
+ * so its model prop is an accessor rather than `checked` or `value`.
5
+ */
6
+ export const MODEL_PROP = 'vueModelValue';
7
+ /** Model metadata per normalized tag name. */
8
+ export const modelMeta = {
9
+ input: { prop: MODEL_PROP, event: 'input' },
10
+ textarea: { prop: 'value', event: 'input' },
11
+ };
12
+ // A checkbox binds its checked state. A radio binds the picked radio's value, as in Vue
13
+ // on the web: every radio sharing the model re-renders, so no native group is needed.
14
+ function read(target) {
15
+ switch (target.type) {
16
+ case 'checkbox':
17
+ return target.checked;
18
+ default:
19
+ return target.value;
20
+ }
21
+ }
22
+ function write(target, model) {
23
+ switch (target.type) {
24
+ case 'checkbox':
25
+ target.checked = !!model;
26
+ break;
27
+ case 'radio':
28
+ target.checked = model != null && String(model) === target.value;
29
+ break;
30
+ default:
31
+ target.value = model;
32
+ }
33
+ }
34
+ /**
35
+ * Vue patches props in template order, so `v-model` can arrive before `type`. The
36
+ * model is held and routed once the mount pass has set `type`, and again whenever
37
+ * `type` changes.
38
+ */
39
+ export function withVueModel(Base) {
40
+ var _instances, _model, _watchingType, _route, _a;
41
+ return _a = class extends Base {
42
+ constructor() {
43
+ super(...arguments);
44
+ _instances.add(this);
45
+ _model.set(this, void 0);
46
+ _watchingType.set(this, false);
47
+ }
48
+ get [(_model = new WeakMap(), _watchingType = new WeakMap(), _instances = new WeakSet(), MODEL_PROP)]() {
49
+ return read(this);
50
+ }
51
+ set [MODEL_PROP](model) {
52
+ __classPrivateFieldSet(this, _model, model, "f");
53
+ if (!__classPrivateFieldGet(this, _watchingType, "f")) {
54
+ __classPrivateFieldSet(this, _watchingType, true, "f");
55
+ this.on('typeChange', () => __classPrivateFieldGet(this, _instances, "m", _route).call(this));
56
+ }
57
+ if (this.nativeViewProtected) {
58
+ __classPrivateFieldGet(this, _instances, "m", _route).call(this);
59
+ }
60
+ else {
61
+ Promise.resolve().then(() => __classPrivateFieldGet(this, _instances, "m", _route).call(this));
62
+ }
63
+ }
64
+ },
65
+ _route = function _route() {
66
+ write(this, __classPrivateFieldGet(this, _model, "f"));
67
+ },
68
+ _a;
69
+ }
70
+ //# sourceMappingURL=v-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v-model.js","sourceRoot":"","sources":["../../../../../packages/nativescript-masonkit/vue/src/v-model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;AAE1C,8CAA8C;AAC9C,MAAM,CAAC,MAAM,SAAS,GAAoD;IACxE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE;IAC3C,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;CAC5C,CAAC;AAYF,wFAAwF;AACxF,sFAAsF;AACtF,SAAS,IAAI,CAAC,MAAgB;IAC5B,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB;YACE,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,MAAgB,EAAE,KAAc;IAC7C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,UAAU;YACb,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;YACzB,MAAM;QACR,KAAK,OAAO;YACV,MAAM,CAAC,OAAO,GAAG,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC;YACjE,MAAM;QACR;YACE,MAAM,CAAC,KAAK,GAAG,KAAe,CAAC;IACnC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAA0B,IAAO;;IAC3D,YAAO,KAAM,SAAQ,IAAI;YAAlB;;;gBACL,yBAAgB;gBAChB,wBAAgB,KAAK,EAAC;YAsBxB,CAAC;YApBC,IAAI,qFAAC,UAAU,EAAC;gBACd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,CAAC,KAAc;gBAC7B,uBAAA,IAAI,UAAU,KAAK,MAAA,CAAC;gBACpB,IAAI,CAAC,uBAAA,IAAI,qBAAc,EAAE,CAAC;oBACxB,uBAAA,IAAI,iBAAiB,IAAI,MAAA,CAAC;oBAC1B,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,uBAAA,IAAI,0BAAO,MAAX,IAAI,CAAS,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC7B,uBAAA,IAAI,0BAAO,MAAX,IAAI,CAAS,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,uBAAA,IAAI,0BAAO,MAAX,IAAI,CAAS,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;SAKF;;YAFG,KAAK,CAAC,IAAI,EAAE,uBAAA,IAAI,cAAO,CAAC,CAAC;QAC3B,CAAC;WACD;AACJ,CAAC"}