nativescript-vue 3.0.0-beta.5 → 3.0.0-beta.6

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 (41) hide show
  1. package/dist/compiler.d.ts +1 -1
  2. package/dist/compiler.js +1 -1
  3. package/dist/compiler.js.map +1 -1
  4. package/dist/components/ListView.d.ts +1 -1
  5. package/dist/components/ListView.js +1 -2
  6. package/dist/components/ListView.js.map +1 -1
  7. package/dist/components/index.d.ts +3 -0
  8. package/dist/components/index.js +1 -0
  9. package/dist/components/index.js.map +1 -1
  10. package/dist/directives/vModel.d.ts +8 -0
  11. package/dist/directives/vModel.js +38 -0
  12. package/dist/directives/vModel.js.map +1 -0
  13. package/dist/index.d.ts +3 -2
  14. package/dist/index.js +8 -17
  15. package/dist/index.js.map +1 -1
  16. package/dist/plugins/modals.d.ts +7 -3
  17. package/dist/plugins/modals.js +11 -15
  18. package/dist/plugins/modals.js.map +1 -1
  19. package/dist/plugins/navigation.d.ts +3 -3
  20. package/dist/plugins/navigation.js +16 -15
  21. package/dist/plugins/navigation.js.map +1 -1
  22. package/dist/registry/index.d.ts +2 -2
  23. package/dist/registry/index.js +1 -1
  24. package/dist/registry/index.js.map +1 -1
  25. package/dist/renderer/modules/events.d.ts +1 -1
  26. package/dist/renderer/modules/events.js +1 -1
  27. package/dist/renderer/modules/events.js.map +1 -1
  28. package/dist/renderer/modules/style.d.ts +1 -1
  29. package/dist/renderer/modules/style.js +24 -4
  30. package/dist/renderer/modules/style.js.map +1 -1
  31. package/dist/renderer/nodeOps.d.ts +3 -2
  32. package/dist/renderer/nodeOps.js +4 -1
  33. package/dist/renderer/nodeOps.js.map +1 -1
  34. package/dist/renderer/patchProp.js +18 -1
  35. package/dist/renderer/patchProp.js.map +1 -1
  36. package/dist/runtimeHelpers.d.ts +19 -0
  37. package/dist/runtimeHelpers.js +36 -0
  38. package/dist/runtimeHelpers.js.map +1 -1
  39. package/dist/withCompiler.js +1 -1
  40. package/dist/withCompiler.js.map +1 -1
  41. package/package.json +1 -2
@@ -1,4 +1,4 @@
1
1
  import { CompilerOptions } from "@vue/compiler-dom";
2
- import { RenderFunction } from "@vue/runtime-dom";
2
+ import { RenderFunction } from "@vue/runtime-core";
3
3
  export declare function compileToFunction(template: string, options?: CompilerOptions): RenderFunction;
4
4
  export { compileToFunction as compile };
package/dist/compiler.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { compile } from "@vue/compiler-dom";
2
- import { warn } from "@vue/runtime-dom";
2
+ import { warn } from "@vue/runtime-core";
3
3
  import * as runtime from "./index";
4
4
  const NOOP = () => { };
5
5
  const compileCache = Object.create(null);
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkC,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAkB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AACtB,MAAM,YAAY,GAAmC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAEzE,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,OAAyB;IAEzB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;KACb;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC;IACrB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,CAAC;KACf;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE;QACjC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI;QAC1B,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,IAAI;QACvB,MAAM,CAAC,IAAmB;YACxB,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,GAAkB;YACxB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAmB,CAAC;IAEpE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,OAAO,EACL,iBAAiB,IAAI,OAAO,EAC7B,CAAA"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkC,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAkB,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AACtB,MAAM,YAAY,GAAmC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAEzE,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,OAAyB;IAEzB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;KACb;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC;IACrB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,MAAM,EAAE;QACV,OAAO,MAAM,CAAC;KACf;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE;QACjC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI;QAC1B,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,IAAI;QACvB,MAAM,CAAC,IAAmB;YACxB,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,GAAkB;YACxB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAmB,CAAC;IAEpE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,OAAO,EACL,iBAAiB,IAAI,OAAO,EAC7B,CAAA"}
@@ -1,4 +1,4 @@
1
- import { VNode } from "..";
1
+ import { VNode } from "@vue/runtime-core";
2
2
  export interface ListItem<T = any> {
3
3
  item: T;
4
4
  index: number;
@@ -1,6 +1,5 @@
1
- import { defineComponent, h, warn } from "@vue/runtime-core";
1
+ import { defineComponent, getCurrentInstance, h, warn, watch, ref } from "@vue/runtime-core";
2
2
  import { ListView as NSCListView, ObservableArray, } from "@nativescript/core";
3
- import { getCurrentInstance, ref, watch } from "..";
4
3
  import { registerElement } from "../registry";
5
4
  import { ELEMENT_REF } from "../runtimeHelpers";
6
5
  registerElement("NSCListView", () => NSCListView, {
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../src/components/ListView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAEL,QAAQ,IAAI,WAAW,EACvB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAS,KAAK,EAAY,MAAM,IAAI,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;IAChD,SAAS,kCAA0B;CACpC,CAAC,CAAC;AASH,IAAI;AAEJ,SAAS,WAAW,CAAC,IAAS,EAAE,KAAa;IAC3C,OAAO;QACL,IAAI;QACJ,KAAK;QACL,IAAI,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC;QACrB,GAAG,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC;IACpD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,SAAS,CAAC,KAAK;gBACb,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,eAAe,CAAC;YAClE,CAAC;SACF;QACD,oBAAoB,EAAE,QAAQ;KAC/B;IACD,KAAK,CAAC,KAAK,EAAE,GAAG;QACd,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC5D,OAAO;gBACL,GAAG,EAAE,QAAQ;gBACb,UAAU;oBACR,kCAAkC;gBACpC,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,CAAC,OAAiB,EAAE,EAAE,CACxC,KAAK,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QAErD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAE3B,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;QAEhC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;YAChB,IAAI;gBACF,IAAI,KAAK,CAAC,KAAK,YAAY,eAAe,EAAE;oBAC1C,OAAO;iBACR;gBAED,MAAM,EAAE,GAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;gBACnD,EAAE,EAAE,OAAO,EAAE,CAAC;aACf;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;aACvD;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,CAAC,CAAC;QAKf,MAAM,KAAK,GAAG,GAAG,CAA+B,EAAE,CAAC,CAAC;QAEpD,SAAS,aAAa,CAAC,KAAoB;YACzC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,CAAe,CAAC;YACnD,MAAM,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,YAAY,CAAC,IAAI,aAAa,MAAM,EAAE,EAAE,CAAC;YAEnE,MAAM,OAAO,GAAa,WAAW,CACnC,KAAK,CAAC,KAAK,YAAY,eAAe;gBACpC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gBAClC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAC5B,KAAK,CAAC,KAAK,CACZ,CAAC;YAEF,4CAA4C;YAC5C,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;gBAChB,OAAO;gBACP,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC;aAC/B,CAAC;YAEF,qBAAqB;YACrB,EAAE,CAAC,MAAM,EAAE,CAAC;YAEZ,qCAAqC;YACrC,MAAM,KAAK,GAAI,EAAE,CAAC,OAAO,CAAC,QAAoB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5D,OAAO,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,wFAAwF;YACxF,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC;YACnC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YAE1B,qDAAqD;YACrD,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,SAAS,oBAAoB,CAAC,IAAI,EAAE,KAAK;YACvC,+DAA+D;YAC/D,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,4CAA4C;QAC5C,MAAM,UAAU,GAAG,GAAG,EAAE,CACtB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAY,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;gBACpE,mCAAmC;gBACnC,CAAC,CAAC,OAAO,EAAE;oBACT,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;iBACzB,CAAC;aACH,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,IAAI,CACF,gEAAgE,MAAM,CAAC,MAAM,oCAAoC,CAClH,CAAC;aACH;YAED,MAAM,KAAK,GAAU,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,qEAAqE;YACrE,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;YAEf,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,CACN,aAAa,EACb;gBACE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,aAAa;gBACb,oBAAoB;gBACpB,aAAa;aACd,EACD,UAAU,EAAE,CACb,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../src/components/ListView.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,CAAC,EAED,IAAI,EACJ,KAAK,EACL,GAAG,EACJ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,QAAQ,IAAI,WAAW,EACvB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;IAChD,SAAS,kCAA0B;CACpC,CAAC,CAAC;AASH,IAAI;AAEJ,SAAS,WAAW,CAAC,IAAS,EAAE,KAAa;IAC3C,OAAO;QACL,IAAI;QACJ,KAAK;QACL,IAAI,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC;QACrB,GAAG,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC;IACpD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,SAAS,CAAC,KAAK;gBACb,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,eAAe,CAAC;YAClE,CAAC;SACF;QACD,oBAAoB,EAAE,QAAQ;KAC/B;IACD,KAAK,CAAC,KAAK,EAAE,GAAG;QACd,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC5D,OAAO;gBACL,GAAG,EAAE,QAAQ;gBACb,UAAU;oBACR,kCAAkC;gBACpC,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,CAAC,OAAiB,EAAE,EAAE,CACxC,KAAK,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QAErD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAE3B,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;QAEhC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;YAChB,IAAI;gBACF,IAAI,KAAK,CAAC,KAAK,YAAY,eAAe,EAAE;oBAC1C,OAAO;iBACR;gBAED,MAAM,EAAE,GAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;gBACnD,EAAE,EAAE,OAAO,EAAE,CAAC;aACf;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;aACvD;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,CAAC,CAAC;QAKf,MAAM,KAAK,GAAG,GAAG,CAA+B,EAAE,CAAC,CAAC;QAEpD,SAAS,aAAa,CAAC,KAAoB;YACzC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,CAAe,CAAC;YACnD,MAAM,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,YAAY,CAAC,IAAI,aAAa,MAAM,EAAE,EAAE,CAAC;YAEnE,MAAM,OAAO,GAAa,WAAW,CACnC,KAAK,CAAC,KAAK,YAAY,eAAe;gBACpC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gBAClC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAC5B,KAAK,CAAC,KAAK,CACZ,CAAC;YAEF,4CAA4C;YAC5C,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;gBAChB,OAAO;gBACP,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC;aAC/B,CAAC;YAEF,qBAAqB;YACrB,EAAE,CAAC,MAAM,EAAE,CAAC;YAEZ,qCAAqC;YACrC,MAAM,KAAK,GAAI,EAAE,CAAC,OAAO,CAAC,QAAoB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5D,OAAO,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,wFAAwF;YACxF,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC;YACnC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YAE1B,qDAAqD;YACrD,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,SAAS,oBAAoB,CAAC,IAAI,EAAE,KAAK;YACvC,+DAA+D;YAC/D,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,4CAA4C;QAC5C,MAAM,UAAU,GAAG,GAAG,EAAE,CACtB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAY,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;gBACpE,mCAAmC;gBACnC,CAAC,CAAC,OAAO,EAAE;oBACT,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;iBACzB,CAAC;aACH,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,IAAI,CACF,gEAAgE,MAAM,CAAC,MAAM,oCAAoC,CAClH,CAAC;aACH;YAED,MAAM,KAAK,GAAU,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,qEAAqE;YACrE,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;YAEf,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,CACN,aAAa,EACb;gBACE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,aAAa;gBACb,oBAAoB;gBACpB,aAAa;aACd,EACD,UAAU,EAAE,CACb,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { ActionBar } from "./ActionBar";
2
+ import { ListView, ListItem } from "./ListView";
1
3
  export declare const BUILT_IN_COMPONENTS: {
2
4
  ActionBar: import("@vue/runtime-core").DefineComponent<{}, () => import("@vue/runtime-core").VNode<import("@vue/runtime-core").RendererNode, import("@vue/runtime-core").RendererElement, {
3
5
  [key: string]: any;
@@ -16,3 +18,4 @@ export declare const BUILT_IN_COMPONENTS: {
16
18
  itemTemplateSelector: FunctionConstructor;
17
19
  }>>, {}>;
18
20
  };
21
+ export { ActionBar, ListView, ListItem };
@@ -4,4 +4,5 @@ export const BUILT_IN_COMPONENTS = {
4
4
  ActionBar,
5
5
  ListView,
6
6
  };
7
+ export { ActionBar, ListView };
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,QAAQ;CACT,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAY,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,QAAQ;CACT,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ObjectDirective } from "@vue/runtime-core";
2
+ import { NSVElement } from "../dom";
3
+ type AssignerFn = (value: any) => void;
4
+ type ModelDirective<T> = ObjectDirective<T & {
5
+ _assign: AssignerFn;
6
+ }>;
7
+ export declare const vModel: ModelDirective<NSVElement>;
8
+ export {};
@@ -0,0 +1,38 @@
1
+ import { invokeArrayFns, isArray } from "@vue/shared";
2
+ import { getViewMeta } from "../registry";
3
+ const getModelAssigner = (vnode) => {
4
+ const fn = vnode.props["onUpdate:modelValue"];
5
+ return isArray(fn) ? (value) => invokeArrayFns(fn, value) : fn;
6
+ };
7
+ function toNumber(val) {
8
+ const n = parseFloat(val);
9
+ return isNaN(n) ? val : n;
10
+ }
11
+ export const vModel = {
12
+ beforeMount(el, { value, modifiers: { trim, number } }, vnode) {
13
+ el._assign = getModelAssigner(vnode);
14
+ const castToNumber = number;
15
+ const { prop, event } = getViewMeta(el.tagName).model;
16
+ el._assign(value);
17
+ el.setAttribute(prop, value);
18
+ el.addEventListener(event, () => {
19
+ let propValue = el.getAttribute(prop);
20
+ if (trim && typeof propValue === "string") {
21
+ propValue = propValue.trim();
22
+ }
23
+ else if (castToNumber && typeof propValue === "string") {
24
+ propValue = toNumber(propValue);
25
+ }
26
+ el._assign(propValue);
27
+ });
28
+ },
29
+ beforeUpdate(el, { value, oldValue }, vnode) {
30
+ const { prop } = getViewMeta(el.tagName).model;
31
+ el._assign = getModelAssigner(vnode);
32
+ if (value === oldValue) {
33
+ return;
34
+ }
35
+ el.setAttribute(prop, value);
36
+ },
37
+ };
38
+ //# sourceMappingURL=vModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vModel.js","sourceRoot":"","sources":["../../src/directives/vModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAC;AAI9D,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAc,EAAE;IACpD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAM,CAAC,qBAAqB,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC,CAAC;AAEF,SAAS,QAAQ,CAAC,GAAW;IAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAID,MAAM,CAAC,MAAM,MAAM,GAA+B;IAChD,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK;QAC3D,EAAE,CAAC,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,YAAY,GAAG,MAAM,CAAC;QAC5B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAA2B,CAAC;QAC5E,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClB,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7B,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE;YAC9B,IAAI,SAAS,GAAY,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;gBACzC,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;aAC9B;iBAAM,IAAI,YAAY,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;gBACxD,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;aACjC;YACD,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK;QACzC,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAA2B,CAAC;QACrE,EAAE,CAAC,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,QAAQ,EAAE;YACtB,OAAO;SACR;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -11,11 +11,12 @@ declare module "@vue/runtime-core" {
11
11
  export * from "./dom";
12
12
  export * from "./registry";
13
13
  export * from "./renderer";
14
- export * from "@vue/runtime-dom";
14
+ export * from "./components";
15
+ export { createNativeView } from "./runtimeHelpers";
16
+ export * from "@vue/runtime-core";
15
17
  export { vShow } from "./directives/vShow";
16
18
  export { $showModal } from "./plugins/modals";
17
19
  export { $navigateTo, $navigateBack } from "./plugins/navigation";
18
- export declare const APP_USES: unique symbol;
19
20
  export declare const render: import("@vue/runtime-core").RootRenderFunction<import("@vue/runtime-core").RendererElement>;
20
21
  export declare const createApp: CreateAppFunction<NSVElement>;
21
22
  export declare function resolveComponent(name: string, maybeSelReference: boolean): any;
package/dist/index.js CHANGED
@@ -6,15 +6,17 @@ import { renderer } from "./renderer";
6
6
  import { install as modalsPlugin } from "./plugins/modals";
7
7
  import { install as navigationPlugin } from "./plugins/navigation";
8
8
  import { isKnownView, registerElement } from "./registry";
9
+ import { setRootContext } from "./runtimeHelpers";
9
10
  init();
10
11
  export * from "./dom";
11
12
  export * from "./registry";
12
13
  export * from "./renderer";
13
- export * from "@vue/runtime-dom";
14
+ export * from "./components";
15
+ export { createNativeView } from "./runtimeHelpers";
16
+ export * from "@vue/runtime-core";
14
17
  export { vShow } from "./directives/vShow";
15
18
  export { $showModal } from "./plugins/modals";
16
19
  export { $navigateTo, $navigateBack } from "./plugins/navigation";
17
- export const APP_USES = Symbol("app_uses");
18
20
  // creates a special root container that calls resetRoot whenever it's children change
19
21
  function createAppRoot() {
20
22
  const defaultRoot = new NSVRoot();
@@ -35,12 +37,10 @@ function createAppRoot() {
35
37
  };
36
38
  return defaultRoot;
37
39
  }
38
- // plugins applied to the root app
39
- let rootAppUses = [];
40
40
  export const render = renderer.render;
41
41
  export const createApp = ((...args) => {
42
42
  const app = renderer.createApp(...args);
43
- const { mount, use } = app;
43
+ const { mount } = app;
44
44
  app.registerElement = registerElement;
45
45
  app.mount = (...args) => {
46
46
  if (!args.length) {
@@ -51,20 +51,11 @@ export const createApp = ((...args) => {
51
51
  app.start = () => {
52
52
  const componentInstance = app.mount(createAppRoot(), false, false);
53
53
  startApp(componentInstance);
54
- rootAppUses = app[APP_USES];
54
+ setRootContext(componentInstance.$.appContext);
55
55
  return componentInstance;
56
56
  };
57
- app[APP_USES] = [];
58
- app.use = (...args) => {
59
- app[APP_USES].push([...args]);
60
- return use(...args);
61
- };
62
- // always added core plugins, no need to track them through app.use...
63
- use(modalsPlugin);
64
- use(navigationPlugin);
65
- rootAppUses.forEach((args) => {
66
- use(...args);
67
- });
57
+ app.use(modalsPlugin);
58
+ app.use(navigationPlugin);
68
59
  return app;
69
60
  });
70
61
  export function resolveComponent(name, maybeSelReference) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,19 @@
1
- import { App, Component, ComponentInternalInstance, ComponentPublicInstance, Ref } from "@vue/runtime-core";
2
1
  import { ShowModalOptions, View } from "@nativescript/core";
3
- import { NSVElement } from "..";
2
+ import { App, Component, ComponentInternalInstance, ComponentPublicInstance, Ref } from "@vue/runtime-core";
3
+ import { NSVElement } from "../dom";
4
4
  declare module "@vue/runtime-core" {
5
5
  interface ComponentCustomProperties {
6
6
  /**
7
7
  * todo: update docblock
8
8
  */
9
9
  $showModal: <T = any>(component: Component, options?: ModalOptions) => Promise<T | false | undefined>;
10
+ $closeModal: (arg: any) => void;
11
+ $modal: {
12
+ close: (arg: any) => void;
13
+ };
10
14
  }
11
15
  }
12
- declare type ResolvableModalTarget = Ref | ComponentInternalInstance | ComponentPublicInstance | NSVElement | View | any;
16
+ type ResolvableModalTarget = Ref | ComponentInternalInstance | ComponentPublicInstance | NSVElement | View | any;
13
17
  export interface ModalOptions extends Partial<ShowModalOptions> {
14
18
  props?: Record<string, any>;
15
19
  target?: ResolvableModalTarget;
@@ -1,7 +1,8 @@
1
- import { warn, } from "@vue/runtime-core";
2
1
  import { Application, View } from "@nativescript/core";
3
- import { createApp, NSVElement } from "..";
2
+ import { warn, } from "@vue/runtime-core";
4
3
  import { isObject } from "@vue/shared";
4
+ import { NSVElement } from "../dom";
5
+ import { createNativeView } from "../runtimeHelpers";
5
6
  /**
6
7
  * @internal
7
8
  */
@@ -29,28 +30,23 @@ export async function $showModal(component, options) {
29
30
  if (__DEV__) {
30
31
  warn(`could not open modal because the target does not exist`);
31
32
  }
32
- return false;
33
+ return;
33
34
  }
34
35
  return new Promise((resolve) => {
35
- const modalApp = createApp(component, options ? options.props : null);
36
36
  let isResolved = false;
37
+ let view = createNativeView(component, options.props);
38
+ const closeModal = (...args) => modalContent.closeModal(...args);
37
39
  const closeCallback = (data) => {
38
40
  if (isResolved)
39
41
  return;
40
42
  isResolved = true;
41
- try {
42
- modalContent.closeModal();
43
- }
44
- catch (e) {
45
- // ignore?
46
- }
47
- modalApp.unmount();
43
+ view.unmount();
44
+ view = null;
48
45
  resolve(data);
49
46
  };
50
- modalApp.config.globalProperties.$modal = {
51
- close: closeCallback,
52
- };
53
- const modalContent = modalApp.mount().$el.nativeView;
47
+ view.context.config.globalProperties.$closeModal = closeModal;
48
+ view.context.config.globalProperties.$modal = { close: closeModal };
49
+ const modalContent = view.mount();
54
50
  modalTarget.showModal(modalContent, {
55
51
  ...options,
56
52
  context: null,
@@ -1 +1 @@
1
- {"version":3,"file":"modals.js","sourceRoot":"","sources":["../../src/plugins/modals.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,IAAI,GACL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAoB,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2BvC;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA6B;IACvD,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;KAC9B;SAAM,IAAI,MAAM,YAAY,UAAU,EAAE;QACvC,OAAO,MAAM,CAAC,UAAU,CAAC;KAC1B;SAAM,IAAI,MAAM,YAAY,IAAI,EAAE;QACjC,OAAO,MAAM,CAAC;KACf;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,SAAoB,EACpB,OAAsB;IAEtB,OAAO,GAAG,MAAM,CAAC,MAAM,CACrB;QACE,MAAM,EAAE,WAAW,CAAC,WAAW,EAAE;KAClC,EACD,OAAO,CACR,CAAC;IAEF,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD,IAAI,CAAC,WAAW,EAAE;QAChB,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,wDAAwD,CAAC,CAAC;SAChE;QACD,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,aAAa,GAAG,CAAC,IAAQ,EAAE,EAAE;YACjC,IAAI,UAAU;gBAAE,OAAO;YACvB,UAAU,GAAG,IAAI,CAAC;YAElB,IAAI;gBACF,YAAY,CAAC,UAAU,EAAE,CAAC;aAC3B;YAAC,OAAO,CAAC,EAAE;gBACV,UAAU;aACX;YAED,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG;YACxC,KAAK,EAAE,aAAa;SACrB,CAAC;QAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;QAErD,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE;YAClC,GAAG,OAAO;YACV,OAAO,EAAE,IAAI;YACb,aAAa;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"modals.js","sourceRoot":"","sources":["../../src/plugins/modals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAML,IAAI,GACL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA+BrD;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,GAAQ;IAC9B,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,GAAG,UAAU,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA6B;IACvD,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;KAC9B;SAAM,IAAI,MAAM,YAAY,UAAU,EAAE;QACvC,OAAO,MAAM,CAAC,UAAU,CAAC;KAC1B;SAAM,IAAI,MAAM,YAAY,IAAI,EAAE;QACjC,OAAO,MAAM,CAAC;KACf;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,SAAoB,EACpB,OAAsB;IAEtB,OAAO,GAAG,MAAM,CAAC,MAAM,CACrB;QACE,MAAM,EAAE,WAAW,CAAC,WAAW,EAAE;KAClC,EACD,OAAO,CACR,CAAC;IAEF,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD,IAAI,CAAC,WAAW,EAAE;QAChB,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,wDAAwD,CAAC,CAAC;SAChE;QACD,OAAO;KACR;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,GAAG,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtD,MAAM,UAAU,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,CAAC,IAAQ,EAAE,EAAE;YACjC,IAAG,UAAU;gBAAE,OAAO;YACtB,UAAU,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,GAAG,IAAI,CAAC;YAEZ,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAEpE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAElC,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE;YAClC,GAAG,OAAO;YACV,OAAO,EAAE,IAAI;YACb,aAAa;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,6 @@
1
- import { App, Component, Ref } from "@vue/runtime-core";
2
1
  import { Frame, NavigationEntry, Page } from "@nativescript/core";
3
- import { NSVElement } from "..";
2
+ import { App, Component, Ref } from "@vue/runtime-core";
3
+ import { NSVElement } from "../dom";
4
4
  declare module "@vue/runtime-core" {
5
5
  interface ComponentCustomProperties {
6
6
  /**
@@ -15,7 +15,7 @@ declare module "@vue/runtime-core" {
15
15
  $navigateBack: (options?: NavigationOptions) => void;
16
16
  }
17
17
  }
18
- declare type ResolvableFrame = string | Ref | NSVElement | Frame | undefined;
18
+ type ResolvableFrame = string | Ref | NSVElement | Frame | undefined;
19
19
  export interface NavigationOptions extends NavigationEntry {
20
20
  props?: Record<string, any>;
21
21
  frame?: ResolvableFrame;
@@ -1,6 +1,7 @@
1
- import { isRef } from "@vue/runtime-core";
2
1
  import { Frame } from "@nativescript/core";
3
- import { createApp, NSVElement, NSVRoot } from "..";
2
+ import { unref } from "@vue/runtime-core";
3
+ import { NSVElement, NSVRoot } from "../dom";
4
+ import { createNativeView } from "../runtimeHelpers";
4
5
  /**
5
6
  * @internal
6
7
  */
@@ -12,20 +13,17 @@ function resolveFrame(frame) {
12
13
  if (!frame) {
13
14
  return Frame.topmost();
14
15
  }
15
- if (frame instanceof Frame) {
16
- return frame;
16
+ const ob = unref(frame);
17
+ if (ob instanceof Frame) {
18
+ return ob;
17
19
  }
18
- // todo: check if refs work this way or not
19
- if (isRef(frame)) {
20
- return frame.value;
21
- }
22
- if (frame instanceof NSVElement) {
23
- return frame.nativeView;
20
+ if (ob instanceof NSVElement) {
21
+ return ob.nativeView;
24
22
  }
25
23
  // todo: either change core Frame to add frames to the stack when they are created
26
24
  // or do as we did in 2.x - handle a Map of frames.
27
25
  // right now, empty frames can't be navigated as they are not recognized by `getFrameById`
28
- return Frame.getFrameById(frame);
26
+ return Frame.getFrameById(ob);
29
27
  }
30
28
  function createNavigationRoot(cb) {
31
29
  const defaultRoot = new NSVRoot();
@@ -76,14 +74,15 @@ export async function $navigateTo(target, options) {
76
74
  const cleanup = (page) => {
77
75
  if (page === latestPage) {
78
76
  // console.log("DISPOSE NAVIGATION APP");
79
- navigationApp.unmount();
77
+ view.unmount();
78
+ view = null;
79
+ navRoot = null;
80
80
  }
81
81
  else {
82
82
  // console.log("no dispose we have replaced page");
83
83
  }
84
84
  };
85
- const navigationApp = createApp(target, options.props);
86
- const targetPage = navigationApp.mount(createNavigationRoot((newPage) => {
85
+ let navRoot = createNavigationRoot((newPage) => {
87
86
  latestPage = newPage;
88
87
  attachDisposeCallbacks(newPage, cleanup);
89
88
  // cache the original transition of the current page
@@ -101,7 +100,9 @@ export async function $navigateTo(target, options) {
101
100
  frame.once("navigatedTo", () => {
102
101
  frame.currentEntry.transition = originalTransition;
103
102
  });
104
- })).$el.nativeView;
103
+ });
104
+ let view = createNativeView(target, options.props);
105
+ const targetPage = view.mount(navRoot);
105
106
  let latestPage = targetPage;
106
107
  attachDisposeCallbacks(targetPage, cleanup);
107
108
  frame.navigate({
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/plugins/navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/plugins/navigation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { NSVElement, NSVViewFlags } from "../dom";
2
- export declare type NSVElementResolver = () => any;
3
- export declare type NSVModelDescriptor = {
2
+ export type NSVElementResolver = () => any;
3
+ export type NSVModelDescriptor = {
4
4
  prop: string;
5
5
  event: string;
6
6
  };
@@ -1,5 +1,5 @@
1
1
  export let defaultViewMeta = {
2
- viewFlags: 0 // NSVViewFlags.NONE, // tsx can't resolve NSVViewFlags here?
2
+ viewFlags: 0, // NSVViewFlags.NONE, // tsx can't resolve NSVViewFlags here?
3
3
  };
4
4
  let elementMap = {};
5
5
  export function getViewMeta(elementName) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,IAAI,eAAe,GAAgB;IACxC,SAAS,EAAE,CAAC,CAAC,6DAA6D;CAC3E,CAAC;AAEF,IAAI,UAAU,GAAyC,EAAE,CAAC;AAE1D,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,+CAA+C;IAE/C,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,kCAAkC,WAAW,GAAG,CAAC,CAAC;KACnE;IAED,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,IAAI,mBAAmB,CAAC;AAExB,MAAM,UAAU,2BAA2B,CAAC,QAA+B;IACzE,mBAAmB,GAAG,QAAQ,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,gDAAgD;IAChD,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,CAAC;SACjB;QAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,WAAW,GAAG,CAAC,CAAC;KACnE;IAED,IAAI;QACF,OAAO,KAAK,CAAC,QAAS,EAAE,CAAC;KAC1B;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,4BAA4B,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC;KAClE;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,QAA6B,EAC7B,IAA2B;IAE3B,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAE5D,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;QAC/D,MAAM,IAAI,KAAK,CACb,eAAe,WAAW,wBAAwB;YAChD,gEAAgE,CACnE,CAAC;KACH;IAED,UAAU,CAAC,cAAc,CAAC,GAAG;QAC3B,IAAI,EAAE,UAAU;QAChB,QAAQ;KACT,CAAC;IACF,mDAAmD;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,IAAI,eAAe,GAAgB;IACxC,SAAS,EAAE,CAAC,EAAE,6DAA6D;CAC5E,CAAC;AAEF,IAAI,UAAU,GAAyC,EAAE,CAAC;AAE1D,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,+CAA+C;IAE/C,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,kCAAkC,WAAW,GAAG,CAAC,CAAC;KACnE;IAED,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,IAAI,mBAAmB,CAAC;AAExB,MAAM,UAAU,2BAA2B,CAAC,QAA+B;IACzE,mBAAmB,GAAG,QAAQ,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,gDAAgD;IAChD,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAEzC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,CAAC;SACjB;QAED,MAAM,IAAI,KAAK,CAAC,kCAAkC,WAAW,GAAG,CAAC,CAAC;KACnE;IAED,IAAI;QACF,OAAO,KAAK,CAAC,QAAS,EAAE,CAAC;KAC1B;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,4BAA4B,WAAW,KAAK,CAAC,EAAE,CAAC,CAAC;KAClE;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,QAA6B,EAC7B,IAA2B;IAE3B,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAE5D,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;QAC/D,MAAM,IAAI,KAAK,CACb,eAAe,WAAW,wBAAwB;YAChD,gEAAgE,CACnE,CAAC;KACH;IAED,UAAU,CAAC,cAAc,CAAC,GAAG;QAC3B,IAAI,EAAE,UAAU;QAChB,QAAQ;KACT,CAAC;IACF,mDAAmD;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;AACtE,CAAC"}
@@ -3,7 +3,7 @@ import { ComponentInternalInstance } from "@vue/runtime-core";
3
3
  interface Invoker extends EventListener {
4
4
  value: EventValue;
5
5
  }
6
- declare type EventValue = Function | Function[];
6
+ type EventValue = Function | Function[];
7
7
  export declare function addEventListener(el: NSVElement, event: string, handler: EventListener, options?: EventListenerOptions): void;
8
8
  export declare function removeEventListener(el: NSVElement, event: string, handler: EventListener, options?: EventListenerOptions): void;
9
9
  export declare function patchEvent(el: NSVElement & {
@@ -40,7 +40,7 @@ function parseName(name) {
40
40
  }
41
41
  }
42
42
  // todo: optimise if necessary
43
- // this isn't technically perfect,
43
+ // this isn't technically perfect,
44
44
  // since if the event name was UPPER then we'll convert it to uPPER
45
45
  // but for the majority of cases, this should be the right thing to do.
46
46
  name = name.slice(name.startsWith("on:") ? 3 : 2);
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/renderer/modules/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/renderer/modules/events.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { NSVElement } from "../../dom";
2
- declare type Style = string | null;
2
+ type Style = string | Record<string, string | number> | null;
3
3
  export declare const STYLE_ORIGINAL_VALUE: unique symbol;
4
4
  export declare function patchStyle(el: NSVElement, prev: Style, next: Style): void;
5
5
  export {};
@@ -1,11 +1,23 @@
1
+ import { parseStringStyle, isArray, isString, isObject, } from "@vue/shared";
1
2
  function normalizeStyle(style) {
2
3
  if (!style) {
3
4
  return null;
4
5
  }
5
- if (typeof style === "string" && style?.trim().charAt(0) === "{") {
6
- return JSON.parse(style);
6
+ if (isString(style)) {
7
+ if (style.trim().charAt(0) === "{") {
8
+ return JSON.parse(style);
9
+ }
10
+ return parseStringStyle(style);
7
11
  }
8
- return style;
12
+ if (isArray(style)) {
13
+ return style.reduce((normalizedStyle, currentStyle) => {
14
+ return Object.assign(normalizedStyle, normalizeStyle(currentStyle));
15
+ }, {});
16
+ }
17
+ if (isObject(style)) {
18
+ return style;
19
+ }
20
+ return {};
9
21
  }
10
22
  function normalizeProperty(property) {
11
23
  if (property.endsWith("Align")) {
@@ -34,7 +46,15 @@ function removeStyleProperty(el, property) {
34
46
  // changing the attribute will not update our originalValue, so when removing
35
47
  // the previous color will be applied. Fixing this would involve listening to
36
48
  // individual attribute changes, and it's not worth the overhead.
37
- el.style[property] = originalValue;
49
+ try {
50
+ el.style[property] = originalValue;
51
+ }
52
+ catch (err) {
53
+ // hack: if the original value is invalid, we can't set it back to it's original value
54
+ // instead we set it to null, which will remove the style, however this may
55
+ // still lead to incorrect styling in some cases.
56
+ el.style[property] = null;
57
+ }
38
58
  }
39
59
  }
40
60
  // todo: perhaps mimic dom version with prefixing stripped out: https://github.com/vuejs/core/blob/main/packages/runtime-dom/src/modules/style.ts
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/renderer/modules/style.ts"],"names":[],"mappings":"AAKA,SAAS,cAAc,CAAC,KAA8B;IACpD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC1B;IAED,OAAO,KAAwB,CAAC;AAClC,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC9B,mFAAmF;QACnF,QAAQ,IAAI,MAAM,CAAC;KACpB;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEnE,SAAS,gBAAgB,CAAC,EAAc,EAAE,QAAgB,EAAE,KAAU;IACpE,MAAM,IAAI,GACR,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;IACrE,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACvB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;KACxC;IAED,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAc,EAAE,QAAgB;IAC3D,MAAM,IAAI,GACR,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;IACrE,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEvC,8BAA8B;IAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACtB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtB,kFAAkF;QAClF,6EAA6E;QAC7E,6EAA6E;QAC7E,iEAAiE;QACjE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;KACpC;AACH,CAAC;AAED,iJAAiJ;AACjJ,MAAM,UAAU,UAAU,CAAC,EAAc,EAAE,IAAW,EAAE,IAAW;IACjE,IAAI,IAAI,EAAE;QACR,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACnC,kBAAkB;QAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,IAAI,EAAE;QACT,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;KAC7B;SAAM;QACL,iBAAiB;QACjB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;KACJ;AACH,CAAC"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/renderer/modules/style.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { VNodeProps, RendererOptions } from "@vue/runtime-dom";
1
+ import { VNodeProps, RendererOptions } from "@vue/runtime-core";
2
2
  import { NSVElement, NSVNode } from "../dom";
3
3
  export declare function insert(el: NSVNode, parent: NSVElement, anchor?: NSVNode | null | undefined): void;
4
4
  export declare function remove(el: NSVNode): void;
@@ -13,4 +13,5 @@ export declare function parentNode(node: NSVNode): NSVElement | null;
13
13
  export declare function nextSibling(node: NSVNode): NSVNode | null;
14
14
  export declare function cloneNode(node: NSVNode): NSVNode;
15
15
  export declare function insertStaticContent(content: string, parent: NSVElement, anchor: NSVNode, isSvg: boolean, start?: NSVNode, end?: NSVNode): [NSVNode, NSVNode];
16
- export declare const nodeOps: Omit<RendererOptions, 'patchProp'>;
16
+ export declare function setScopeId(el: NSVElement, scopeId: string): void;
17
+ export declare const nodeOps: Omit<RendererOptions, "patchProp">;
@@ -50,6 +50,9 @@ export function insertStaticContent(content, parent, anchor, isSvg, start, end)
50
50
  console.log("insert static content - not implemented.");
51
51
  return [undefined, undefined];
52
52
  }
53
+ export function setScopeId(el, scopeId) {
54
+ el.setAttribute(scopeId, "");
55
+ }
53
56
  export const nodeOps = {
54
57
  insert,
55
58
  remove,
@@ -62,7 +65,7 @@ export const nodeOps = {
62
65
  nextSibling,
63
66
  cloneNode,
64
67
  insertStaticContent,
68
+ setScopeId,
65
69
  // querySelector,
66
- // setScopeId,
67
70
  };
68
71
  //# sourceMappingURL=nodeOps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeOps.js","sourceRoot":"","sources":["../../src/renderer/nodeOps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAW,OAAO,EAAE,MAAM,QAAQ,CAAC;AAElE,MAAM,UAAU,MAAM,CACpB,EAAW,EACX,MAAkB,EAClB,MAAmC;IAEnC,qDAAqD;IACrD,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,gCAAgC;QAChC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACjC;SAAM;QACL,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KACxB;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAW;IAChC,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE;QACzB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KAC/B;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,KAA2B,EAC3B,mBAAwC,EACxC,UAAqE;IAErE,sCAAsC;IACtC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,6BAA6B;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,gCAAgC;IAChC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAa,EAAE,IAAY;IACjD,uCAAuC;IACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAgB,EAAE,IAAY;IAC3D,+CAA+C;IAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,6CAA6C;IAC7C,OAAO,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,IAAI,CAAC,WAAW,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AACD,6KAA6K;AAC7K,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,MAAkB,EAClB,MAAe,EACf,KAAc,EACd,KAAe,EACf,GAAa;IAEb,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAExD,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAuC;IACzD,MAAM;IACN,MAAM;IACN,aAAa;IACb,UAAU;IACV,aAAa;IACb,OAAO;IACP,cAAc;IACd,UAAU;IACV,WAAW;IAEX,SAAS;IACT,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;CACjB,CAAC"}
1
+ {"version":3,"file":"nodeOps.js","sourceRoot":"","sources":["../../src/renderer/nodeOps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAW,OAAO,EAAE,MAAM,QAAQ,CAAC;AAElE,MAAM,UAAU,MAAM,CACpB,EAAW,EACX,MAAkB,EAClB,MAAmC;IAEnC,qDAAqD;IACrD,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,gCAAgC;QAChC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACjC;SAAM;QACL,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KACxB;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAW;IAChC,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE;QACzB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KAC/B;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,KAA2B,EAC3B,mBAAwC,EACxC,UAAqE;IAErE,sCAAsC;IACtC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,6BAA6B;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,gCAAgC;IAChC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAa,EAAE,IAAY;IACjD,uCAAuC;IACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAgB,EAAE,IAAY;IAC3D,+CAA+C;IAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,6CAA6C;IAC7C,OAAO,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,IAAI,CAAC,WAAW,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AACD,6KAA6K;AAC7K,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,MAAkB,EAClB,MAAe,EACf,KAAc,EACd,KAAe,EACf,GAAa;IAEb,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAExD,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAc,EAAE,OAAe;IACxD,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAuC;IACzD,MAAM;IACN,MAAM;IACN,aAAa;IACb,UAAU;IACV,aAAa;IACb,OAAO;IACP,cAAc;IACd,UAAU;IACV,WAAW;IAEX,SAAS;IACT,mBAAmB;IAEnB,UAAU;IAEV,mBAAmB;CACpB,CAAC"}
@@ -3,6 +3,7 @@ import { patchClass } from "./modules/class";
3
3
  import { patchEvent } from "./modules/events";
4
4
  import { patchStyle } from "./modules/style";
5
5
  import { isOn } from "../runtimeHelpers";
6
+ import { getViewMeta } from "../registry";
6
7
  export function patchProp(el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) {
7
8
  switch (key) {
8
9
  // special
@@ -16,7 +17,23 @@ export function patchProp(el, key, prevValue, nextValue, isSVG = false, prevChil
16
17
  break;
17
18
  case "modelValue":
18
19
  case "onUpdate:modelValue":
19
- // handled by v-model directive
20
+ try {
21
+ // v-model - maps modelValue/onUpdate:modelValue to the correct prop/events from the registry meta
22
+ const { prop, event } = getViewMeta(el.tagName)
23
+ .model;
24
+ if (key === "modelValue") {
25
+ patchAttr(el, prop, prevValue, nextValue);
26
+ }
27
+ else {
28
+ const cb = nextValue
29
+ ? ($event) => nextValue($event.object[prop])
30
+ : nextValue;
31
+ patchEvent(el, `on:${event}`, prevValue, cb);
32
+ }
33
+ }
34
+ catch (err) {
35
+ // ignore if the view meta can't be found.
36
+ }
20
37
  break;
21
38
  default:
22
39
  if (isOn(key)) {
@@ -1 +1 @@
1
- {"version":3,"file":"patchProp.js","sourceRoot":"","sources":["../../src/renderer/patchProp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,SAAS,CACvB,EAAc,EACd,GAAW,EACX,SAAc,EACd,SAAc,EACd,KAAK,GAAG,KAAK,EACb,YAAiB,EACjB,eAAoB,EACpB,cAAmB,EACnB,eAAoB;IAEpB,QAAQ,GAAG,EAAE;QACX,UAAU;QACV,KAAK,OAAO;YACV,mCAAmC;YACnC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,OAAO;YACV,mCAAmC;YACnC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,YAAY,CAAC;QAClB,KAAK,qBAAqB;YACxB,+BAA+B;YAC/B,MAAM;QACR;YACE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;gBACb,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;aAC5D;iBAAM;gBACL,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;aAC1C;KACJ;AACH,CAAC"}
1
+ {"version":3,"file":"patchProp.js","sourceRoot":"","sources":["../../src/renderer/patchProp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAC;AAE9D,MAAM,UAAU,SAAS,CACvB,EAAc,EACd,GAAW,EACX,SAAc,EACd,SAAc,EACd,KAAK,GAAG,KAAK,EACb,YAAiB,EACjB,eAAoB,EACpB,cAAmB,EACnB,eAAoB;IAEpB,QAAQ,GAAG,EAAE;QACX,UAAU;QACV,KAAK,OAAO;YACV,mCAAmC;YACnC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,OAAO;YACV,mCAAmC;YACnC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,YAAY,CAAC;QAClB,KAAK,qBAAqB;YACxB,IAAI;gBACF,kGAAkG;gBAClG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC;qBAC5C,KAA2B,CAAC;gBAC/B,IAAI,GAAG,KAAK,YAAY,EAAE;oBACxB,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;iBAC3C;qBAAM;oBACL,MAAM,EAAE,GAAG,SAAS;wBAClB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC5C,CAAC,CAAC,SAAS,CAAC;oBACd,UAAU,CAAC,EAAE,EAAE,MAAM,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;iBAC9C;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,0CAA0C;aAC3C;YACD,MAAM;QACR;YACE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;gBACb,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;aAC5D;iBAAM;gBACL,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;aAC1C;KACJ;AACH,CAAC"}
@@ -1,5 +1,24 @@
1
+ import { View } from "@nativescript/core";
2
+ import { AppContext, Component } from "@vue/runtime-core";
3
+ import { NSVNode } from "./dom";
4
+ type Props = Record<string, unknown>;
5
+ export declare const setRootContext: (context: AppContext) => void;
6
+ export declare const createNativeView: <T = View>(component: Component, props?: Props) => {
7
+ context: {
8
+ app: import("@vue/runtime-core").App<any>;
9
+ config: import("@vue/runtime-core").AppConfig;
10
+ mixins: import("@vue/runtime-core").ComponentOptions<{}, any, any, any, any, any, any, any>[];
11
+ components: Record<string, Component<any, any, any, import("@vue/runtime-core").ComputedOptions, import("@vue/runtime-core").MethodOptions>>;
12
+ directives: Record<string, import("@vue/runtime-core").Directive<any, any>>;
13
+ provides: Record<string | symbol, any>;
14
+ };
15
+ readonly nativeView: T;
16
+ mount(root?: NSVNode): T;
17
+ unmount(): void;
18
+ };
1
19
  export declare const ELEMENT_REF: unique symbol;
2
20
  export declare const isOn: (key: string) => boolean;
3
21
  export declare const isAndroidKey: (key: string) => boolean;
4
22
  export declare const isIOSKey: (key: string) => boolean;
5
23
  export declare const isBoolean: (value: unknown) => boolean;
24
+ export {};
@@ -1,4 +1,40 @@
1
+ import { h } from "@vue/runtime-core";
2
+ import { NSVRoot } from "./dom";
3
+ import { renderer } from "./renderer";
1
4
  const __DEV__ = true;
5
+ let rootContext = null;
6
+ export const setRootContext = (context) => {
7
+ rootContext = context;
8
+ };
9
+ export const createNativeView = (component, props) => {
10
+ let vnode;
11
+ let isMounted = false;
12
+ let container;
13
+ const context = { ...rootContext };
14
+ return {
15
+ context,
16
+ get nativeView() {
17
+ return vnode.el.nativeView;
18
+ },
19
+ mount(root = new NSVRoot()) {
20
+ if (isMounted)
21
+ return vnode.el.nativeView;
22
+ vnode = h(component, props);
23
+ vnode.appContext = context;
24
+ renderer.render(vnode, root);
25
+ isMounted = true;
26
+ container = root;
27
+ return vnode.el.nativeView;
28
+ },
29
+ unmount() {
30
+ if (!isMounted)
31
+ return;
32
+ renderer.render(null, container);
33
+ vnode = null;
34
+ container = null;
35
+ },
36
+ };
37
+ };
2
38
  export const ELEMENT_REF = Symbol(__DEV__ ? `elementRef` : ``);
3
39
  const onRE = /^on.+/;
4
40
  export const isOn = (key) => onRE.test(key);
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeHelpers.js","sourceRoot":"","sources":["../src/runtimeHelpers.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,IAAI,CAAC;AAGrB,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE/D,MAAM,IAAI,GAAG,OAAO,CAAC;AACrB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE;IACnD,OAAO,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,YAAY,OAAO,CAAC;AAChE,CAAC,CAAC"}
1
+ {"version":3,"file":"runtimeHelpers.js","sourceRoot":"","sources":["../src/runtimeHelpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,CAAC,EAAS,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAW,OAAO,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB,IAAI,WAAW,GAAe,IAAI,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAmB,EAAE,EAAE;IACpD,WAAW,GAAG,OAAO,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAAoB,EACpB,KAAa,EACb,EAAE;IACF,IAAI,KAAY,CAAC;IACjB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,SAAkB,CAAC;IACvB,MAAM,OAAO,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;IAEnC,OAAO;QACL,OAAO;QACP,IAAI,UAAU;YACZ,OAAO,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC;QAC7B,CAAC;QACD,KAAK,CAAC,OAAgB,IAAI,OAAO,EAAE;YACjC,IAAI,SAAS;gBAAE,OAAO,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC;YAE1C,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAE5B,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;YAE3B,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE7B,SAAS,GAAG,IAAI,CAAC;YACjB,SAAS,GAAG,IAAI,CAAC;YAEjB,OAAO,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC;QAC7B,CAAC;QACD,OAAO;YACL,IAAI,CAAC,SAAS;gBAAE,OAAO;YACvB,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACjC,KAAK,GAAG,IAAI,CAAC;YACb,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE/D,MAAM,IAAI,GAAG,OAAO,CAAC;AACrB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE;IACnD,OAAO,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,YAAY,OAAO,CAAC;AAChE,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { registerRuntimeCompiler } from "./";
1
+ import { registerRuntimeCompiler } from "@vue/runtime-core";
2
2
  import { compileToFunction } from "./compiler";
3
3
  registerRuntimeCompiler(compileToFunction);
4
4
  export { compileToFunction as compile };
@@ -1 +1 @@
1
- {"version":3,"file":"withCompiler.js","sourceRoot":"","sources":["../src/withCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;AAE3C,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,CAAA;AACvC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"withCompiler.js","sourceRoot":"","sources":["../src/withCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;AAE3C,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,CAAC;AACxC,cAAc,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nativescript-vue",
3
- "version": "3.0.0-beta.5",
3
+ "version": "3.0.0-beta.6",
4
4
  "main": "dist/index.js",
5
5
  "files": [
6
6
  "dist/",
@@ -13,7 +13,6 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "@vue/compiler-dom": "^3.2.41",
16
- "@vue/runtime-dom": "^3.2.41",
17
16
  "@vue/compiler-sfc": "^3.2.41",
18
17
  "set-value": "^4.1.0",
19
18
  "vue-loader": "^17.0.0"