nativescript-vue 2.9.3 → 3.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/compiler-sfc/index.d.ts +1 -0
- package/dist/compiler-sfc/index.js +2 -0
- package/dist/compiler-sfc/index.js.map +1 -0
- package/dist/compiler.d.ts +4 -0
- package/dist/compiler.js +32 -0
- package/dist/compiler.js.map +1 -0
- package/dist/components/ActionBar.d.ts +3 -0
- package/dist/components/ActionBar.js +69 -0
- package/dist/components/ActionBar.js.map +1 -0
- package/dist/components/ListView.d.ts +20 -0
- package/dist/components/ListView.js +108 -0
- package/dist/components/ListView.js.map +1 -0
- package/dist/components/ListView.working.d.ts +44 -0
- package/dist/components/ListView.working.js +126 -0
- package/dist/components/ListView.working.js.map +1 -0
- package/dist/components/index.d.ts +18 -0
- package/dist/components/index.js +7 -0
- package/dist/components/index.js.map +1 -0
- package/dist/directives/vShow.d.ts +7 -0
- package/dist/directives/vShow.js +45 -0
- package/dist/directives/vShow.js.map +1 -0
- package/dist/dom/index.d.ts +66 -0
- package/dist/dom/index.js +304 -0
- package/dist/dom/index.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +66 -12847
- package/dist/index.js.map +1 -0
- package/dist/index.mjs.map +7 -0
- package/dist/nativescript/elements.d.ts +1 -0
- package/dist/nativescript/elements.js +139 -0
- package/dist/nativescript/elements.js.map +1 -0
- package/dist/nativescript/index.d.ts +6 -0
- package/dist/nativescript/index.js +27 -0
- package/dist/nativescript/index.js.map +1 -0
- package/dist/plugins/modals.d.ts +22 -0
- package/dist/plugins/modals.js +61 -0
- package/dist/plugins/modals.js.map +1 -0
- package/dist/plugins/navigation.d.ts +32 -0
- package/dist/plugins/navigation.js +129 -0
- package/dist/plugins/navigation.js.map +1 -0
- package/dist/registry/index.d.ts +26 -0
- package/dist/registry/index.js +55 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/renderer/index.d.ts +1 -0
- package/dist/renderer/index.js +8 -0
- package/dist/renderer/index.js.map +1 -0
- package/dist/renderer/modules/attrs.d.ts +2 -0
- package/dist/renderer/modules/attrs.js +31 -0
- package/dist/renderer/modules/attrs.js.map +1 -0
- package/dist/renderer/modules/class.d.ts +2 -0
- package/dist/renderer/modules/class.js +9 -0
- package/dist/renderer/modules/class.js.map +1 -0
- package/dist/renderer/modules/events.d.ts +12 -0
- package/dist/renderer/modules/events.js +53 -0
- package/dist/renderer/modules/events.js.map +1 -0
- package/dist/renderer/modules/style.d.ts +4 -0
- package/dist/renderer/modules/style.js +34 -0
- package/dist/renderer/modules/style.js.map +1 -0
- package/dist/renderer/nodeOps.d.ts +16 -0
- package/dist/renderer/nodeOps.js +68 -0
- package/dist/renderer/nodeOps.js.map +1 -0
- package/dist/renderer/patchProp.d.ts +2 -0
- package/dist/renderer/patchProp.js +30 -0
- package/dist/renderer/patchProp.js.map +1 -0
- package/dist/runtimeHelpers.d.ts +5 -0
- package/dist/runtimeHelpers.js +10 -0
- package/dist/runtimeHelpers.js.map +1 -0
- package/dist/types.d.ts +15 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/withCompiler.d.ts +3 -0
- package/dist/withCompiler.js +6 -0
- package/dist/withCompiler.js.map +1 -0
- package/nativescript.webpack.js +51 -0
- package/package.json +18 -111
- package/LICENSE +0 -21
- package/README.md +0 -119
- package/index.d.ts +0 -90
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function registerCoreElements(): void;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Page as NSCPage } from "@nativescript/core";
|
|
2
|
+
import { warn } from "@vue/runtime-core";
|
|
3
|
+
import { registerElement } from "../registry";
|
|
4
|
+
export function registerCoreElements() {
|
|
5
|
+
// layouts
|
|
6
|
+
registerElement("AbsoluteLayout", () => require("@nativescript/core").AbsoluteLayout, { viewFlags: 4 /* NSVViewFlags.LAYOUT_VIEW */ });
|
|
7
|
+
registerElement("DockLayout", () => require("@nativescript/core").DockLayout, {
|
|
8
|
+
viewFlags: 4 /* NSVViewFlags.LAYOUT_VIEW */,
|
|
9
|
+
});
|
|
10
|
+
registerElement("FlexboxLayout", () => require("@nativescript/core").FlexboxLayout, { viewFlags: 4 /* NSVViewFlags.LAYOUT_VIEW */ });
|
|
11
|
+
registerElement("GridLayout", () => require("@nativescript/core").GridLayout, {
|
|
12
|
+
viewFlags: 4 /* NSVViewFlags.LAYOUT_VIEW */,
|
|
13
|
+
});
|
|
14
|
+
registerElement("StackLayout", () => require("@nativescript/core").StackLayout, { viewFlags: 4 /* NSVViewFlags.LAYOUT_VIEW */ });
|
|
15
|
+
registerElement("WrapLayout", () => require("@nativescript/core").WrapLayout, {
|
|
16
|
+
viewFlags: 4 /* NSVViewFlags.LAYOUT_VIEW */,
|
|
17
|
+
});
|
|
18
|
+
// ContentViews
|
|
19
|
+
registerElement("ContentView", () => require("@nativescript/core").ContentView, { viewFlags: 2 /* NSVViewFlags.CONTENT_VIEW */ });
|
|
20
|
+
registerElement("ScrollView", () => require("@nativescript/core").ScrollView, {
|
|
21
|
+
viewFlags: 2 /* NSVViewFlags.CONTENT_VIEW */,
|
|
22
|
+
});
|
|
23
|
+
// ActionBar
|
|
24
|
+
registerElement("ActionItem", () => require("@nativescript/core").ActionItem);
|
|
25
|
+
registerElement("NavigationButton", () => require("@nativescript/core").NavigationButton);
|
|
26
|
+
// navigation
|
|
27
|
+
registerElement("Frame", () => require("@nativescript/core").Frame, {
|
|
28
|
+
// todo: move into Frame.ts when we end up creating a component for Frame
|
|
29
|
+
nodeOps: {
|
|
30
|
+
insert(child, parent, atIndex) {
|
|
31
|
+
const frame = parent.nativeView;
|
|
32
|
+
if (child.nativeView instanceof NSCPage) {
|
|
33
|
+
frame.navigate({
|
|
34
|
+
create() {
|
|
35
|
+
return child.nativeView;
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
if (__DEV__) {
|
|
41
|
+
warn(`<Frame> must only contain <Page> elements - ` +
|
|
42
|
+
`got <${child.nativeView.constructor.name}> instead.`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
remove(child, parent) {
|
|
47
|
+
// ignore? warn? throw? navigate back?
|
|
48
|
+
// console.log("REMOVE CHILD FROM FRAME", child);
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
registerElement("Page", () => require("@nativescript/core").Page, {
|
|
53
|
+
viewFlags: 2 /* NSVViewFlags.CONTENT_VIEW */,
|
|
54
|
+
});
|
|
55
|
+
// html
|
|
56
|
+
registerElement("HtmlView", () => require("@nativescript/core").HtmlView);
|
|
57
|
+
registerElement("WebView", () => require("@nativescript/core").WebView);
|
|
58
|
+
// components
|
|
59
|
+
registerElement("ActivityIndicator", () => require("@nativescript/core").ActivityIndicator);
|
|
60
|
+
registerElement("Button", () => require("@nativescript/core").Button);
|
|
61
|
+
registerElement("DatePicker", () => require("@nativescript/core").DatePicker, {
|
|
62
|
+
model: {
|
|
63
|
+
prop: "date",
|
|
64
|
+
event: "dateChange",
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
registerElement("FormattedString", () => require("@nativescript/core").FormattedString, {
|
|
68
|
+
nodeOps: {
|
|
69
|
+
insert(child, parent, atIndex) {
|
|
70
|
+
if (atIndex) {
|
|
71
|
+
parent.nativeView.spans.splice(atIndex, 0, child.nativeView);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
parent.nativeView.spans.push(child.nativeView);
|
|
75
|
+
},
|
|
76
|
+
remove(child, parent) {
|
|
77
|
+
const index = parent.nativeView.spans.indexOf(child.nativeView);
|
|
78
|
+
if (index > -1) {
|
|
79
|
+
parent.nativeView.spans.splice(index, 1);
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
registerElement("Image", () => require("@nativescript/core").Image);
|
|
85
|
+
registerElement("Label", () => require("@nativescript/core").Label);
|
|
86
|
+
registerElement("ListPicker", () => require("@nativescript/core").ListPicker, {
|
|
87
|
+
model: {
|
|
88
|
+
prop: "selectedIndex",
|
|
89
|
+
event: "selectedIndexChange",
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
registerElement("Placeholder", () => require("@nativescript/core").Placeholder);
|
|
93
|
+
registerElement("Progress", () => require("@nativescript/core").Progress);
|
|
94
|
+
registerElement("SearchBar", () => require("@nativescript/core").SearchBar, {
|
|
95
|
+
model: {
|
|
96
|
+
prop: "text",
|
|
97
|
+
event: "textChange",
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
registerElement("SegmentedBar", () => require("@nativescript/core").SegmentedBar, {
|
|
101
|
+
model: {
|
|
102
|
+
prop: "selectedIndex",
|
|
103
|
+
event: "selectedIndexChange",
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
registerElement("SegmentedBarItem", () => require("@nativescript/core").SegmentedBarItem);
|
|
107
|
+
registerElement("Slider", () => require("@nativescript/core").Slider, {
|
|
108
|
+
model: {
|
|
109
|
+
prop: "value",
|
|
110
|
+
event: "valueChange",
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
registerElement("Span", () => require("@nativescript/core").Span);
|
|
114
|
+
registerElement("Switch", () => require("@nativescript/core").Switch, {
|
|
115
|
+
model: {
|
|
116
|
+
prop: "checked",
|
|
117
|
+
event: "checkedChange",
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
registerElement("TextField", () => require("@nativescript/core").TextField, {
|
|
121
|
+
model: {
|
|
122
|
+
prop: "text",
|
|
123
|
+
event: "textChange",
|
|
124
|
+
},
|
|
125
|
+
});
|
|
126
|
+
registerElement("TextView", () => require("@nativescript/core").TextView, {
|
|
127
|
+
model: {
|
|
128
|
+
prop: "text",
|
|
129
|
+
event: "textChange",
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
registerElement("TimePicker", () => require("@nativescript/core").TimePicker, {
|
|
133
|
+
model: {
|
|
134
|
+
prop: "time",
|
|
135
|
+
event: "timeChange",
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=elements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elements.js","sourceRoot":"","sources":["../../src/nativescript/elements.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { View } from "@nativescript/core";
|
|
2
|
+
import { ComponentPublicInstance } from "@vue/runtime-core";
|
|
3
|
+
export declare function init(): void;
|
|
4
|
+
export declare function startApp(rootComponent: ComponentPublicInstance): void;
|
|
5
|
+
export declare function resetRoot(view: View): void;
|
|
6
|
+
export { isAndroid, isIOS } from "@nativescript/core";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Application } from "@nativescript/core";
|
|
2
|
+
import { registerCoreElements } from "./elements";
|
|
3
|
+
// export all ns stuff in a single file to allow easy mocking for testing...
|
|
4
|
+
export function init() {
|
|
5
|
+
registerCoreElements();
|
|
6
|
+
global.__onLiveSyncCore = () => {
|
|
7
|
+
Application.getRootView()?._onCssStateChange();
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function startApp(rootComponent) {
|
|
11
|
+
Application.run({
|
|
12
|
+
create() {
|
|
13
|
+
return rootComponent.$el.nativeView;
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export function resetRoot(view) {
|
|
18
|
+
Application.resetRootView({
|
|
19
|
+
create() {
|
|
20
|
+
return view;
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
export { isAndroid, isIOS } from "@nativescript/core";
|
|
25
|
+
// export const isAndroid = false;
|
|
26
|
+
// export const isIOS = false;
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nativescript/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAQ,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,4EAA4E;AAE5E,MAAM,UAAU,IAAI;IAClB,oBAAoB,EAAE,CAAC;IAEvB,MAAM,CAAC,gBAAgB,GAAG,GAAG,EAAE;QAC7B,WAAW,CAAC,WAAW,EAAE,EAAE,iBAAiB,EAAE,CAAC;IACjD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,aAAsC;IAC7D,WAAW,CAAC,GAAG,CAAC;QACd,MAAM;YACJ,OAAO,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;QACtC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAU;IAClC,WAAW,CAAC,aAAa,CAAC;QACxB,MAAM;YACJ,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEtD,kCAAkC;AAClC,8BAA8B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { App, Component, ComponentInternalInstance, ComponentPublicInstance, Ref } from "@vue/runtime-core";
|
|
2
|
+
import { ShowModalOptions, View } from "@nativescript/core";
|
|
3
|
+
import { NSVElement } from "..";
|
|
4
|
+
declare module "@vue/runtime-core" {
|
|
5
|
+
interface ComponentCustomProperties {
|
|
6
|
+
/**
|
|
7
|
+
* todo: update docblock
|
|
8
|
+
*/
|
|
9
|
+
$showModal: <T = any>(component: Component, options?: ModalOptions) => Promise<T | false | undefined>;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
declare type ResolvableModalTarget = Ref | ComponentInternalInstance | ComponentPublicInstance | NSVElement | View | any;
|
|
13
|
+
export interface ModalOptions extends Partial<ShowModalOptions> {
|
|
14
|
+
props?: Record<string, any>;
|
|
15
|
+
target?: ResolvableModalTarget;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare function install(app: App): void;
|
|
21
|
+
export declare function $showModal<T = any>(component: Component, options?: ModalOptions): Promise<T | false | undefined>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { warn, } from "@vue/runtime-core";
|
|
2
|
+
import { Application, View } from "@nativescript/core";
|
|
3
|
+
import { createApp, NSVElement } from "..";
|
|
4
|
+
import { isObject } from "@vue/shared";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export function install(app) {
|
|
9
|
+
app.config.globalProperties.$showModal = $showModal;
|
|
10
|
+
}
|
|
11
|
+
function resolveModalTarget(target) {
|
|
12
|
+
if (isObject(target) && isObject(target.$el)) {
|
|
13
|
+
return target.$el.nativeView;
|
|
14
|
+
}
|
|
15
|
+
else if (target instanceof NSVElement) {
|
|
16
|
+
return target.nativeView;
|
|
17
|
+
}
|
|
18
|
+
else if (target instanceof View) {
|
|
19
|
+
return target;
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
export async function $showModal(component, options) {
|
|
24
|
+
options = Object.assign({
|
|
25
|
+
target: Application.getRootView(),
|
|
26
|
+
}, options);
|
|
27
|
+
const modalTarget = resolveModalTarget(options.target);
|
|
28
|
+
if (!modalTarget) {
|
|
29
|
+
if (__DEV__) {
|
|
30
|
+
warn(`could not open modal because the target does not exist`);
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
return new Promise((resolve) => {
|
|
35
|
+
const modalApp = createApp(component, options ? options.props : null);
|
|
36
|
+
let isResolved = false;
|
|
37
|
+
const closeCallback = (data) => {
|
|
38
|
+
if (isResolved)
|
|
39
|
+
return;
|
|
40
|
+
isResolved = true;
|
|
41
|
+
try {
|
|
42
|
+
modalContent.closeModal();
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
// ignore?
|
|
46
|
+
}
|
|
47
|
+
modalApp.unmount();
|
|
48
|
+
resolve(data);
|
|
49
|
+
};
|
|
50
|
+
modalApp.config.globalProperties.$modal = {
|
|
51
|
+
close: closeCallback,
|
|
52
|
+
};
|
|
53
|
+
const modalContent = modalApp.mount().$el.nativeView;
|
|
54
|
+
modalTarget.showModal(modalContent, {
|
|
55
|
+
...options,
|
|
56
|
+
context: null,
|
|
57
|
+
closeCallback,
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=modals.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { App, Component, Ref } from "@vue/runtime-core";
|
|
2
|
+
import { Frame, NavigationEntry, Page } from "@nativescript/core";
|
|
3
|
+
import { NSVElement } from "..";
|
|
4
|
+
declare module "@vue/runtime-core" {
|
|
5
|
+
interface ComponentCustomProperties {
|
|
6
|
+
/**
|
|
7
|
+
* todo: update docblock
|
|
8
|
+
* Navigate to {target} component.
|
|
9
|
+
*
|
|
10
|
+
* The frame to navigate defaults to the topmost frame
|
|
11
|
+
* @param target
|
|
12
|
+
* @param options
|
|
13
|
+
*/
|
|
14
|
+
$navigateTo: (target: Component, options?: NavigationOptions) => Promise<any>;
|
|
15
|
+
$navigateBack: (options?: NavigationOptions) => void;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
declare type ResolvableFrame = string | Ref | NSVElement | Frame | undefined;
|
|
19
|
+
export interface NavigationOptions extends NavigationEntry {
|
|
20
|
+
props?: Record<string, any>;
|
|
21
|
+
frame?: ResolvableFrame;
|
|
22
|
+
}
|
|
23
|
+
export interface BackNavigationOptions {
|
|
24
|
+
frame?: ResolvableFrame;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export declare function install(app: App): void;
|
|
30
|
+
export declare function $navigateTo(target: Component, options?: NavigationOptions): Promise<Page>;
|
|
31
|
+
export declare function $navigateBack(options?: BackNavigationOptions): Promise<void>;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { isRef } from "@vue/runtime-core";
|
|
2
|
+
import { Frame } from "@nativescript/core";
|
|
3
|
+
import { createApp, NSVElement, NSVRoot } from "..";
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export function install(app) {
|
|
8
|
+
app.config.globalProperties.$navigateTo = $navigateTo;
|
|
9
|
+
app.config.globalProperties.$navigateBack = $navigateBack;
|
|
10
|
+
}
|
|
11
|
+
function resolveFrame(frame) {
|
|
12
|
+
if (!frame) {
|
|
13
|
+
return Frame.topmost();
|
|
14
|
+
}
|
|
15
|
+
if (frame instanceof Frame) {
|
|
16
|
+
return frame;
|
|
17
|
+
}
|
|
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;
|
|
24
|
+
}
|
|
25
|
+
// todo: either change core Frame to add frames to the stack when they are created
|
|
26
|
+
// or do as we did in 2.x - handle a Map of frames.
|
|
27
|
+
// right now, empty frames can't be navigated as they are not recognized by `getFrameById`
|
|
28
|
+
return Frame.getFrameById(frame);
|
|
29
|
+
}
|
|
30
|
+
function createNavigationRoot(cb) {
|
|
31
|
+
const defaultRoot = new NSVRoot();
|
|
32
|
+
// flag to indicate when we need to call resetRoot
|
|
33
|
+
// usually happens when the root component is re-mounted (HMR)
|
|
34
|
+
let shouldResetRoot = false;
|
|
35
|
+
const appendChild = defaultRoot.appendChild.bind(defaultRoot);
|
|
36
|
+
const removeChild = defaultRoot.removeChild.bind(defaultRoot);
|
|
37
|
+
defaultRoot.removeChild = (el) => {
|
|
38
|
+
removeChild(el);
|
|
39
|
+
shouldResetRoot = true;
|
|
40
|
+
// console.log("remove child", (el as NSVElement).tagName);
|
|
41
|
+
};
|
|
42
|
+
defaultRoot.appendChild = (el) => {
|
|
43
|
+
appendChild(el);
|
|
44
|
+
if (shouldResetRoot) {
|
|
45
|
+
shouldResetRoot = false;
|
|
46
|
+
// console.log("append child", (el as NSVElement).tagName);
|
|
47
|
+
cb(el.nativeView);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
return defaultRoot;
|
|
51
|
+
}
|
|
52
|
+
function attachDisposeCallbacks(targetPage, disposeCallback) {
|
|
53
|
+
// const handler = (args: NavigatedData) => {
|
|
54
|
+
// if (args.isBackNavigation) {
|
|
55
|
+
// console.log("navigatedFrom called.");
|
|
56
|
+
// targetPage.off("navigatedFrom", handler as any);
|
|
57
|
+
// disposeCallback();
|
|
58
|
+
// }
|
|
59
|
+
// };
|
|
60
|
+
// targetPage.on("navigatedFrom", handler);
|
|
61
|
+
const dispose = targetPage.disposeNativeView;
|
|
62
|
+
targetPage.disposeNativeView = () => {
|
|
63
|
+
// console.log("dispose native view called.");
|
|
64
|
+
disposeCallback(targetPage);
|
|
65
|
+
dispose.call(targetPage);
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
export async function $navigateTo(target, options) {
|
|
69
|
+
options = Object.assign({}, options);
|
|
70
|
+
// console.log("$navigateTo");
|
|
71
|
+
try {
|
|
72
|
+
const frame = resolveFrame(options.frame);
|
|
73
|
+
if (!frame) {
|
|
74
|
+
throw new Error("Failed to resolve frame. Make sure your frame exists.");
|
|
75
|
+
}
|
|
76
|
+
const cleanup = (page) => {
|
|
77
|
+
if (page === latestPage) {
|
|
78
|
+
// console.log("DISPOSE NAVIGATION APP");
|
|
79
|
+
navigationApp.unmount();
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
// console.log("no dispose we have replaced page");
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
const navigationApp = createApp(target, options.props);
|
|
86
|
+
const targetPage = navigationApp.mount(createNavigationRoot((newPage) => {
|
|
87
|
+
latestPage = newPage;
|
|
88
|
+
attachDisposeCallbacks(newPage, cleanup);
|
|
89
|
+
// cache the original transition of the current page
|
|
90
|
+
const originalTransition = frame.currentEntry.transition;
|
|
91
|
+
// replace current page
|
|
92
|
+
frame.replacePage({
|
|
93
|
+
...options,
|
|
94
|
+
transition: {
|
|
95
|
+
name: "fade",
|
|
96
|
+
duration: 10,
|
|
97
|
+
},
|
|
98
|
+
create: () => newPage,
|
|
99
|
+
});
|
|
100
|
+
// reset the transition to the original one
|
|
101
|
+
frame.once("navigatedTo", () => {
|
|
102
|
+
frame.currentEntry.transition = originalTransition;
|
|
103
|
+
});
|
|
104
|
+
})).$el.nativeView;
|
|
105
|
+
let latestPage = targetPage;
|
|
106
|
+
attachDisposeCallbacks(targetPage, cleanup);
|
|
107
|
+
frame.navigate({
|
|
108
|
+
...options,
|
|
109
|
+
create: () => targetPage,
|
|
110
|
+
});
|
|
111
|
+
return targetPage;
|
|
112
|
+
}
|
|
113
|
+
catch (e) {
|
|
114
|
+
console.error("[$navigateTo] Failed to navigate:\n\n");
|
|
115
|
+
console.error(e, e.stack);
|
|
116
|
+
throw e;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
export async function $navigateBack(options) {
|
|
120
|
+
const frame = resolveFrame(options ? options.frame : undefined);
|
|
121
|
+
if (!frame) {
|
|
122
|
+
throw new Error("Failed to resolve frame. Make sure your frame exists.");
|
|
123
|
+
}
|
|
124
|
+
if (!frame.canGoBack()) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
frame.goBack();
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=navigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/plugins/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NSVElement, NSVViewFlags } from "../dom";
|
|
2
|
+
export declare type NSVElementResolver = () => any;
|
|
3
|
+
export declare type NSVModelDescriptor = {
|
|
4
|
+
prop: string;
|
|
5
|
+
event: string;
|
|
6
|
+
};
|
|
7
|
+
export interface NSVViewMeta {
|
|
8
|
+
viewFlags: NSVViewFlags;
|
|
9
|
+
nodeOps?: {
|
|
10
|
+
insert(child: NSVElement, parent: NSVElement, atIndex?: number): void;
|
|
11
|
+
remove(child: NSVElement, parent: NSVElement): void;
|
|
12
|
+
};
|
|
13
|
+
model?: NSVModelDescriptor;
|
|
14
|
+
overwriteExisting?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface NSVElementDescriptor {
|
|
17
|
+
meta: NSVViewMeta;
|
|
18
|
+
resolver?: NSVElementResolver;
|
|
19
|
+
}
|
|
20
|
+
export declare let defaultViewMeta: NSVViewMeta;
|
|
21
|
+
export declare function getViewMeta(elementName: string): NSVViewMeta;
|
|
22
|
+
export declare function registerUnknownViewResolver(resolver: (name: string) => any): void;
|
|
23
|
+
export declare function getViewClass(elementName: string): any;
|
|
24
|
+
export declare function normalizeElementName(elementName: string): string;
|
|
25
|
+
export declare function registerElement(elementName: string, resolver?: NSVElementResolver, meta?: Partial<NSVViewMeta>): void;
|
|
26
|
+
export declare function isKnownView(elementName: string): boolean;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export let defaultViewMeta = {
|
|
2
|
+
viewFlags: 0 // NSVViewFlags.NONE, // tsx can't resolve NSVViewFlags here?
|
|
3
|
+
};
|
|
4
|
+
let elementMap = {};
|
|
5
|
+
export function getViewMeta(elementName) {
|
|
6
|
+
// console.log(`->getViewMeta(${elementName})`)
|
|
7
|
+
const normalizedName = normalizeElementName(elementName);
|
|
8
|
+
const entry = elementMap[normalizedName];
|
|
9
|
+
if (!entry) {
|
|
10
|
+
throw new Error(`No known component for element ${elementName}.`);
|
|
11
|
+
}
|
|
12
|
+
return entry.meta;
|
|
13
|
+
}
|
|
14
|
+
let unknownViewResolver;
|
|
15
|
+
export function registerUnknownViewResolver(resolver) {
|
|
16
|
+
unknownViewResolver = resolver;
|
|
17
|
+
}
|
|
18
|
+
export function getViewClass(elementName) {
|
|
19
|
+
// console.log(`->getViewClass(${elementName})`)
|
|
20
|
+
const normalizedName = normalizeElementName(elementName);
|
|
21
|
+
const entry = elementMap[normalizedName];
|
|
22
|
+
if (!entry) {
|
|
23
|
+
const resolved = unknownViewResolver?.(elementName);
|
|
24
|
+
if (resolved) {
|
|
25
|
+
return resolved;
|
|
26
|
+
}
|
|
27
|
+
throw new Error(`No known component for element ${elementName}.`);
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
return entry.resolver();
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
throw new Error(`Could not load view for: ${elementName}. ${e}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export function normalizeElementName(elementName) {
|
|
37
|
+
return elementName.replace(/-/g, "").toLowerCase();
|
|
38
|
+
}
|
|
39
|
+
export function registerElement(elementName, resolver, meta) {
|
|
40
|
+
const normalizedName = normalizeElementName(elementName);
|
|
41
|
+
const mergedMeta = Object.assign({}, defaultViewMeta, meta);
|
|
42
|
+
if (elementMap[normalizedName] && !mergedMeta.overwriteExisting) {
|
|
43
|
+
throw new Error(`Element for ${elementName} already registered.\n` +
|
|
44
|
+
`If this is intentional set 'overwriteExisting: true' in 'meta'`);
|
|
45
|
+
}
|
|
46
|
+
elementMap[normalizedName] = {
|
|
47
|
+
meta: mergedMeta,
|
|
48
|
+
resolver,
|
|
49
|
+
};
|
|
50
|
+
// console.log(`->registerElement(${elementName})`)
|
|
51
|
+
}
|
|
52
|
+
export function isKnownView(elementName) {
|
|
53
|
+
return elementMap.hasOwnProperty(normalizeElementName(elementName));
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const renderer: import("@vue/runtime-core").Renderer<import("@vue/runtime-core").RendererElement>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,QAAQ,GAAG,cAAc,CAAC;IACrC,SAAS;IACT,GAAG,OAAO;CACX,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { isBoolean, isAndroidKey, isIOSKey } from "../../runtimeHelpers";
|
|
2
|
+
import { isAndroid, isIOS } from "../../nativescript";
|
|
3
|
+
export function patchAttr(el, key, prevValue, nextValue) {
|
|
4
|
+
if (isAndroidKey(key)) {
|
|
5
|
+
if (!isAndroid) {
|
|
6
|
+
// if we encounter an android key, and we are not on android we can safely ignore it
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
key = key.substring(8);
|
|
10
|
+
}
|
|
11
|
+
else if (isIOSKey(key)) {
|
|
12
|
+
if (!isIOS) {
|
|
13
|
+
// if we encounter an ios key, and we are not on ios we can safely ignore it
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
key = key.substring(4);
|
|
17
|
+
}
|
|
18
|
+
// detect expandable attrs for boolean values
|
|
19
|
+
// see https://vuejs.org/v2/guide/components-props.html#Passing-a-Boolean
|
|
20
|
+
if (isBoolean(el.getAttribute(key)) && nextValue === "") {
|
|
21
|
+
nextValue = true;
|
|
22
|
+
}
|
|
23
|
+
if (nextValue === null) {
|
|
24
|
+
// if the nextValue is null, we are removing the attribute
|
|
25
|
+
el.removeAttribute(key);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
el.setAttribute(key, nextValue);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=attrs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attrs.js","sourceRoot":"","sources":["../../../src/renderer/modules/attrs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,SAAS,CACvB,EAAc,EACd,GAAW,EACX,SAAc,EACd,SAAc;IAEd,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;QACrB,IAAI,CAAC,SAAS,EAAE;YACd,oFAAoF;YACpF,OAAO;SACR;QACD,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KACxB;SAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;QACxB,IAAI,CAAC,KAAK,EAAE;YACV,4EAA4E;YAC5E,OAAO;SACR;QACD,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KACxB;IAED,6CAA6C;IAC7C,yEAAyE;IACzE,IAAI,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE;QACvD,SAAS,GAAG,IAAI,CAAC;KAClB;IAED,IAAI,SAAS,KAAK,IAAI,EAAE;QACtB,0DAA0D;QAC1D,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;KACzB;SAAM;QACL,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;KACjC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// compiler should normalize class + :class bindings on the same element
|
|
2
|
+
// into a single binding ['staticClass', dynamic]
|
|
3
|
+
export function patchClass(el, value) {
|
|
4
|
+
if (value == null) {
|
|
5
|
+
value = "";
|
|
6
|
+
}
|
|
7
|
+
el.setAttribute("class", value);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class.js","sourceRoot":"","sources":["../../../src/renderer/modules/class.ts"],"names":[],"mappings":"AAEA,wEAAwE;AACxE,iDAAiD;AACjD,MAAM,UAAU,UAAU,CAAC,EAAc,EAAE,KAAoB;IAC7D,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,KAAK,GAAG,EAAE,CAAC;KACZ;IACD,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { NSVElement } from "../../dom";
|
|
2
|
+
import { ComponentInternalInstance } from "@vue/runtime-core";
|
|
3
|
+
interface Invoker extends EventListener {
|
|
4
|
+
value: EventValue;
|
|
5
|
+
}
|
|
6
|
+
declare type EventValue = Function | Function[];
|
|
7
|
+
export declare function addEventListener(el: NSVElement, event: string, handler: EventListener, options?: EventListenerOptions): void;
|
|
8
|
+
export declare function removeEventListener(el: NSVElement, event: string, handler: EventListener, options?: EventListenerOptions): void;
|
|
9
|
+
export declare function patchEvent(el: NSVElement & {
|
|
10
|
+
_vei?: Record<string, Invoker | undefined>;
|
|
11
|
+
}, rawName: string, prevValue: EventValue | null, nextValue: EventValue | null, instance?: ComponentInternalInstance | null): void;
|
|
12
|
+
export {};
|