nativescript-vue 3.0.0-dev.3 → 3.0.0-rc.1

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 (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +59 -1
  3. package/devtools.js +33 -0
  4. package/dist/compiler-sfc/index.d.ts +1 -0
  5. package/dist/compiler-sfc/index.js +2 -0
  6. package/dist/compiler-sfc/index.js.map +1 -0
  7. package/dist/compiler.d.ts +4 -0
  8. package/dist/compiler.js +32 -0
  9. package/dist/compiler.js.map +1 -0
  10. package/dist/components/ActionBar.d.ts +3 -0
  11. package/dist/components/ActionBar.js +70 -0
  12. package/dist/components/ActionBar.js.map +1 -0
  13. package/dist/components/ListView.d.ts +20 -0
  14. package/dist/components/ListView.js +110 -0
  15. package/dist/components/ListView.js.map +1 -0
  16. package/dist/components/index.d.ts +22 -0
  17. package/dist/components/index.js +8 -0
  18. package/dist/components/index.js.map +1 -0
  19. package/dist/directives/vModel.d.ts +8 -0
  20. package/dist/directives/vModel.js +38 -0
  21. package/dist/directives/vModel.js.map +1 -0
  22. package/dist/directives/vShow.d.ts +7 -0
  23. package/dist/directives/vShow.js +45 -0
  24. package/dist/directives/vShow.js.map +1 -0
  25. package/dist/dom/index.d.ts +66 -0
  26. package/dist/dom/index.js +303 -0
  27. package/dist/dom/index.js.map +1 -0
  28. package/dist/index.d.ts +27 -0
  29. package/dist/index.js +101 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/nativescript/elements.d.ts +1 -0
  32. package/dist/nativescript/elements.js +164 -0
  33. package/dist/nativescript/elements.js.map +1 -0
  34. package/dist/nativescript/index.d.ts +6 -0
  35. package/dist/nativescript/index.js +26 -0
  36. package/dist/nativescript/index.js.map +1 -0
  37. package/dist/plugins/modals.d.ts +26 -0
  38. package/dist/plugins/modals.js +79 -0
  39. package/dist/plugins/modals.js.map +1 -0
  40. package/dist/plugins/navigation.d.ts +32 -0
  41. package/dist/plugins/navigation.js +110 -0
  42. package/dist/plugins/navigation.js.map +1 -0
  43. package/dist/plugins/templates.d.ts +10 -0
  44. package/dist/plugins/templates.js +12 -0
  45. package/dist/plugins/templates.js.map +1 -0
  46. package/dist/registry/index.d.ts +26 -0
  47. package/dist/registry/index.js +55 -0
  48. package/dist/registry/index.js.map +1 -0
  49. package/dist/renderer/index.d.ts +1 -0
  50. package/dist/renderer/index.js +8 -0
  51. package/dist/renderer/index.js.map +1 -0
  52. package/dist/renderer/modules/attrs.d.ts +2 -0
  53. package/dist/renderer/modules/attrs.js +31 -0
  54. package/dist/renderer/modules/attrs.js.map +1 -0
  55. package/dist/renderer/modules/class.d.ts +2 -0
  56. package/dist/renderer/modules/class.js +9 -0
  57. package/dist/renderer/modules/class.js.map +1 -0
  58. package/dist/renderer/modules/events.d.ts +12 -0
  59. package/dist/renderer/modules/events.js +59 -0
  60. package/dist/renderer/modules/events.js.map +1 -0
  61. package/dist/renderer/modules/style.d.ts +5 -0
  62. package/dist/renderer/modules/style.js +80 -0
  63. package/dist/renderer/modules/style.js.map +1 -0
  64. package/dist/renderer/nodeOps.d.ts +17 -0
  65. package/dist/renderer/nodeOps.js +70 -0
  66. package/dist/renderer/nodeOps.js.map +1 -0
  67. package/dist/renderer/patchProp.d.ts +2 -0
  68. package/dist/renderer/patchProp.js +47 -0
  69. package/dist/renderer/patchProp.js.map +1 -0
  70. package/dist/runtimeHelpers.d.ts +31 -0
  71. package/dist/runtimeHelpers.js +51 -0
  72. package/dist/runtimeHelpers.js.map +1 -0
  73. package/dist/types.d.ts +15 -0
  74. package/dist/types.js +2 -0
  75. package/dist/types.js.map +1 -0
  76. package/dist/withCompiler.d.ts +3 -0
  77. package/dist/withCompiler.js +6 -0
  78. package/dist/withCompiler.js.map +1 -0
  79. package/nativescript.webpack.js +162 -0
  80. package/package.json +43 -22
  81. package/dist/nativescript-vue.cjs.js +0 -56
  82. package/dist/nativescript-vue.cjs.prod.js +0 -55
  83. package/dist/nativescript-vue.esm-bundler.js +0 -36
  84. package/index.js +0 -7
@@ -0,0 +1,303 @@
1
+ import { markRaw } from '@vue/runtime-core';
2
+ import { getViewClass, getViewMeta, normalizeElementName, } from '../registry';
3
+ import { ELEMENT_REF } from '../runtimeHelpers';
4
+ import setValue from 'set-value';
5
+ // import unset from 'unset-value'
6
+ const __TEST__ = false;
7
+ let nodeId = 0;
8
+ export class NSVNode {
9
+ constructor(nodeType) {
10
+ this.nodeType = nodeType;
11
+ this.nodeId = nodeId++;
12
+ }
13
+ nodeId;
14
+ nodeType;
15
+ _text;
16
+ get text() {
17
+ return this._text;
18
+ }
19
+ set text(value) {
20
+ this._text = value;
21
+ if (this.parentNode?.nodeType === "element" /* NSVNodeTypes.ELEMENT */) {
22
+ this.parentNode.updateText();
23
+ }
24
+ }
25
+ parentNode = null;
26
+ childNodes = [];
27
+ get nextSibling() {
28
+ if (!this.parentNode) {
29
+ return null;
30
+ }
31
+ const selfIndex = this.parentNode.childNodes.findIndex((n) => n.nodeId === this.nodeId);
32
+ if (selfIndex > -1 && selfIndex < this.parentNode.childNodes.length - 1) {
33
+ return this.parentNode.childNodes[selfIndex + 1];
34
+ }
35
+ return null;
36
+ }
37
+ get prevSibling() {
38
+ if (!this.parentNode) {
39
+ return null;
40
+ }
41
+ const selfIndex = this.parentNode.childNodes.findIndex((n) => n.nodeId === this.nodeId);
42
+ if (selfIndex > 0) {
43
+ return this.parentNode.childNodes[selfIndex - 1];
44
+ }
45
+ return null;
46
+ }
47
+ get firstChild() {
48
+ return this.childNodes.length ? this.childNodes[0] : null;
49
+ }
50
+ get lastChild() {
51
+ return this.childNodes.length
52
+ ? this.childNodes[this.childNodes.length - 1]
53
+ : null;
54
+ }
55
+ }
56
+ export class NSVElement extends NSVNode {
57
+ _tagName;
58
+ _nativeView;
59
+ _meta;
60
+ _attributeOriginalValue = new Map();
61
+ constructor(tagName) {
62
+ super("element" /* NSVNodeTypes.ELEMENT */);
63
+ this._tagName = normalizeElementName(tagName);
64
+ const viewClass = getViewClass(tagName);
65
+ this._nativeView = markRaw(new viewClass());
66
+ this._nativeView[ELEMENT_REF] = this;
67
+ }
68
+ get tagName() {
69
+ return this._tagName;
70
+ }
71
+ get nativeView() {
72
+ return this._nativeView;
73
+ }
74
+ get style() {
75
+ return this.nativeView.style;
76
+ }
77
+ set style(inlineStyle) {
78
+ this.nativeView.style = inlineStyle;
79
+ }
80
+ get text() {
81
+ return this.nativeView.text;
82
+ }
83
+ set text(t) {
84
+ this.nativeView.text = t;
85
+ }
86
+ get meta() {
87
+ if (this._meta) {
88
+ return this._meta;
89
+ }
90
+ return (this._meta = getViewMeta(this.tagName));
91
+ }
92
+ addEventListener(event, handler, options = {}) {
93
+ const { capture, once } = options;
94
+ if (capture) {
95
+ // debug("Bubble propagation is not supported");
96
+ }
97
+ if (once) {
98
+ const oldHandler = handler;
99
+ const self = this;
100
+ handler = (...args) => {
101
+ oldHandler.call(null, ...args);
102
+ self.removeEventListener(event, handler);
103
+ };
104
+ }
105
+ this.nativeView.addEventListener(event, handler);
106
+ }
107
+ removeEventListener(event, handler) {
108
+ this.nativeView.removeEventListener(event, handler);
109
+ }
110
+ dispatchEvent(event) {
111
+ this.nativeView.notify({ eventName: event, object: this.nativeView });
112
+ }
113
+ getAttribute(name) {
114
+ return this.nativeView[name];
115
+ }
116
+ setAttribute(name, value) {
117
+ if (!this._attributeOriginalValue.has(name)) {
118
+ this._attributeOriginalValue.set(name, this.nativeView[name]);
119
+ }
120
+ // this.nativeView[name] = value;
121
+ setValue(this.nativeView, name, value);
122
+ }
123
+ removeAttribute(name) {
124
+ // only remove attributes that we have set previously
125
+ if (this._attributeOriginalValue.has(name)) {
126
+ const originalValue = this._attributeOriginalValue.get(name);
127
+ this._attributeOriginalValue.delete(name);
128
+ // this.nativeView[name] = originalValue;
129
+ setValue(this.nativeView, name, originalValue);
130
+ }
131
+ // potential issue: unsetValue is an empty object
132
+ // not all properties/attributes may know/check for this
133
+ // set(this.nativeView, name, unsetValue);
134
+ // originally we deleted the property, but in case of built-in properties
135
+ // this would break them. For example, deleting the padding property
136
+ // will prevent us from changing the padding once we deleted it
137
+ // that's not the expected behaviour.
138
+ // unset(this.nativeView, name)
139
+ }
140
+ insertBefore(el, anchor) {
141
+ if (!anchor) {
142
+ return this.appendChild(el);
143
+ }
144
+ const refIndex = this.childNodes.findIndex((node) => node.nodeId === anchor.nodeId);
145
+ if (refIndex === -1) {
146
+ return this.appendChild(el);
147
+ }
148
+ if (el.parentNode) {
149
+ el.parentNode.removeChild(el);
150
+ }
151
+ this.childNodes.splice(refIndex, 0, el);
152
+ el.parentNode = this;
153
+ // find index to use for the native view, since non-visual nodes
154
+ // (comment/text don't exist in the native view hierarchy)
155
+ // todo: potentially refactor based on my benchmark:
156
+ // https://www.measurethat.net/Benchmarks/Show/7450/0/filter-findindex
157
+ const trueIndex = this.childNodes
158
+ .filter((node) => node.nodeType === "element" /* NSVNodeTypes.ELEMENT */)
159
+ .findIndex((node) => node.nodeId === el.nodeId);
160
+ this.addChild(el, trueIndex);
161
+ }
162
+ appendChild(el) {
163
+ this.childNodes.push(el);
164
+ el.parentNode = this;
165
+ this.addChild(el);
166
+ }
167
+ removeChild(el) {
168
+ const index = this.childNodes.findIndex((node) => node.nodeId === el.nodeId);
169
+ if (index > -1) {
170
+ this.childNodes.splice(index, 1);
171
+ el.parentNode = null;
172
+ if (el.nodeType === "element" /* NSVNodeTypes.ELEMENT */) {
173
+ removeChild(el, this);
174
+ }
175
+ else if (el.nodeType === "text" /* NSVNodeTypes.TEXT */) {
176
+ this.updateText();
177
+ }
178
+ }
179
+ }
180
+ // abstracted from appendChild, and insertBefore to avoid code duplication
181
+ addChild(el, atIndex) {
182
+ if (el.nodeType === "element" /* NSVNodeTypes.ELEMENT */) {
183
+ addChild(el, this, atIndex);
184
+ }
185
+ else if (el.nodeType === "text" /* NSVNodeTypes.TEXT */) {
186
+ this.updateText();
187
+ }
188
+ }
189
+ updateText() {
190
+ this.setAttribute('text', this.childNodes.reduce((text, currentNode) => {
191
+ if (currentNode.nodeType !== "text" /* NSVNodeTypes.TEXT */) {
192
+ return text;
193
+ }
194
+ return text + currentNode.text;
195
+ }, ''));
196
+ }
197
+ }
198
+ export class NSVComment extends NSVNode {
199
+ constructor(text) {
200
+ super("comment" /* NSVNodeTypes.COMMENT */);
201
+ this.text = text;
202
+ }
203
+ }
204
+ export class NSVText extends NSVNode {
205
+ constructor(text) {
206
+ super("text" /* NSVNodeTypes.TEXT */);
207
+ this.text = text;
208
+ }
209
+ }
210
+ export class NSVRoot extends NSVNode {
211
+ el;
212
+ constructor() {
213
+ super("root" /* NSVNodeTypes.ROOT */);
214
+ }
215
+ appendChild(el) {
216
+ // console.log(`NSVRoot->appendChild(${el.nodeType})`)
217
+ if (el instanceof NSVElement) {
218
+ el.parentNode = this;
219
+ this.el = el;
220
+ }
221
+ // no-op
222
+ }
223
+ removeChild(el) {
224
+ // console.log('NSVRoot->removeCchild()');
225
+ if (el === this.el) {
226
+ this.el = null;
227
+ }
228
+ }
229
+ insertBefore(el, anchor) {
230
+ // console.error(
231
+ // "insertBefore called on NSVRoot - root element must contain a single child."
232
+ // );
233
+ return this.appendChild(el);
234
+ }
235
+ }
236
+ function addChild(child, parent, atIndex) {
237
+ if (__TEST__)
238
+ return;
239
+ // debug(
240
+ // `...addChild( ${child.tagName}(${child.nodeId}), ${parent.tagName}(${
241
+ // parent.nodeId
242
+ // }), ${atIndex} )`
243
+ // )
244
+ if (child.meta.viewFlags & 1 /* NSVViewFlags.SKIP_ADD_TO_DOM */) {
245
+ // debug('SKIP_ADD_TO_DOM')
246
+ return;
247
+ }
248
+ const parentView = parent.nativeView;
249
+ const childView = child.nativeView;
250
+ if (parent.meta.viewFlags & 8 /* NSVViewFlags.NO_CHILDREN */) {
251
+ // debug('NO_CHILDREN')
252
+ return;
253
+ }
254
+ if (parent.meta.nodeOps) {
255
+ return parent.meta.nodeOps.insert(child, parent, atIndex);
256
+ }
257
+ if (parent.meta.viewFlags & 4 /* NSVViewFlags.LAYOUT_VIEW */) {
258
+ if (typeof atIndex === 'number') {
259
+ parentView.insertChild(childView, atIndex);
260
+ }
261
+ else {
262
+ parentView.addChild(childView);
263
+ }
264
+ }
265
+ else if (parent.meta.viewFlags & 2 /* NSVViewFlags.CONTENT_VIEW */) {
266
+ parentView.content = childView;
267
+ }
268
+ else {
269
+ parentView._addChildFromBuilder(childView.constructor.name, childView);
270
+ }
271
+ }
272
+ function removeChild(child, parent) {
273
+ if (__TEST__)
274
+ return;
275
+ // debug(
276
+ // `...removeChild( ${child.tagName}(${child.nodeId}), ${parent.tagName}(${
277
+ // parent.nodeId
278
+ // }) )`
279
+ // )
280
+ if (child.meta.viewFlags & 1 /* NSVViewFlags.SKIP_ADD_TO_DOM */) {
281
+ // debug('SKIP_ADD_TO_DOM')
282
+ return;
283
+ }
284
+ if (parent.meta.viewFlags & 8 /* NSVViewFlags.NO_CHILDREN */) {
285
+ // debug('NO_CHILDREN')
286
+ return;
287
+ }
288
+ if (parent.meta.nodeOps) {
289
+ return parent.meta.nodeOps.remove(child, parent);
290
+ }
291
+ const parentView = parent.nativeView;
292
+ const childView = child.nativeView;
293
+ if (parent.meta.viewFlags & 4 /* NSVViewFlags.LAYOUT_VIEW */) {
294
+ parentView.removeChild(childView);
295
+ }
296
+ else if (parent.meta.viewFlags & 2 /* NSVViewFlags.CONTENT_VIEW */) {
297
+ parentView.content = null;
298
+ }
299
+ else {
300
+ parentView._removeView(childView);
301
+ }
302
+ }
303
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { CreateAppFunction } from '@vue/runtime-core';
2
+ import { createBlock as createBlockCore, createElementBlock as createElementBlockCore, createElementVNode as createElementVNodeCore, createVNode as createVNodeCore } from '@vue/runtime-core';
3
+ import { NSVElement, NSVRoot } from './dom';
4
+ import { registerElement } from './registry';
5
+ declare module '@vue/runtime-core' {
6
+ interface App {
7
+ start(): ComponentPublicInstance | undefined;
8
+ mount(rootContainer?: NSVRoot | string, isHydrate?: boolean, isSVG?: boolean): ComponentPublicInstance;
9
+ registerElement: typeof registerElement;
10
+ }
11
+ }
12
+ export * from './dom';
13
+ export * from './registry';
14
+ export * from './renderer';
15
+ export * from './components';
16
+ export { ELEMENT_REF, createNativeView } from './runtimeHelpers';
17
+ export * from '@vue/runtime-core';
18
+ export { vShow } from './directives/vShow';
19
+ export { $showModal } from './plugins/modals';
20
+ export { $navigateTo, $navigateBack } from './plugins/navigation';
21
+ export declare const render: import("@vue/runtime-core").RootRenderFunction<import("@vue/runtime-core").RendererElement>;
22
+ export declare const createApp: CreateAppFunction<NSVElement>;
23
+ export declare function resolveComponent(name: string, maybeSelReference: boolean): any;
24
+ export declare const createBlock: typeof createBlockCore;
25
+ export declare const createElementBlock: typeof createElementBlockCore;
26
+ export declare const createElementVNode: typeof createElementVNodeCore;
27
+ export declare const createVNode: typeof createVNodeCore;
package/dist/index.js ADDED
@@ -0,0 +1,101 @@
1
+ import { createBlock as createBlockCore, createElementBlock as createElementBlockCore, createElementVNode as createElementVNodeCore, createVNode as createVNodeCore, resolveComponent as resolveComponentCore, } from '@vue/runtime-core';
2
+ import { BUILT_IN_COMPONENTS } from './components';
3
+ import { NSVRoot } from './dom';
4
+ import { init, resetRoot, startApp } from './nativescript';
5
+ import { renderer } from './renderer';
6
+ import { install as modalsPlugin } from './plugins/modals';
7
+ import { install as navigationPlugin } from './plugins/navigation';
8
+ import { isKnownView, registerElement } from './registry';
9
+ import { setRootApp } from './runtimeHelpers';
10
+ init();
11
+ export * from './dom';
12
+ export * from './registry';
13
+ export * from './renderer';
14
+ export * from './components';
15
+ export { ELEMENT_REF, createNativeView } from './runtimeHelpers';
16
+ export * from '@vue/runtime-core';
17
+ export { vShow } from './directives/vShow';
18
+ export { $showModal } from './plugins/modals';
19
+ export { $navigateTo, $navigateBack } from './plugins/navigation';
20
+ // creates a special root container that calls resetRoot whenever it's children change
21
+ function createAppRoot() {
22
+ const defaultRoot = new NSVRoot();
23
+ // flag to indicate when we need to call resetRoot
24
+ // usually happens when the root component is re-mounted (HMR)
25
+ let shouldResetRoot = false;
26
+ const appendChild = defaultRoot.appendChild.bind(defaultRoot);
27
+ const removeChild = defaultRoot.removeChild.bind(defaultRoot);
28
+ defaultRoot.removeChild = (el) => {
29
+ removeChild(el);
30
+ shouldResetRoot = true;
31
+ };
32
+ defaultRoot.appendChild = (el) => {
33
+ appendChild(el);
34
+ if (shouldResetRoot) {
35
+ resetRoot(el.nativeView);
36
+ }
37
+ };
38
+ return defaultRoot;
39
+ }
40
+ export const render = renderer.render;
41
+ export const createApp = ((...args) => {
42
+ const app = renderer.createApp(...args);
43
+ const { mount } = app;
44
+ app.registerElement = registerElement;
45
+ app.mount = (...args) => {
46
+ if (!args.length) {
47
+ return mount(new NSVRoot(), false, false);
48
+ }
49
+ return mount(...args);
50
+ };
51
+ app.start = () => {
52
+ const componentInstance = app.mount(createAppRoot(), false, false);
53
+ startApp(componentInstance);
54
+ setRootApp(app);
55
+ return componentInstance;
56
+ };
57
+ app.use(modalsPlugin);
58
+ app.use(navigationPlugin);
59
+ return app;
60
+ });
61
+ export function resolveComponent(name, maybeSelReference) {
62
+ if (BUILT_IN_COMPONENTS[name]) {
63
+ return BUILT_IN_COMPONENTS[name];
64
+ }
65
+ if (isKnownView(name)) {
66
+ return name;
67
+ }
68
+ const component = resolveComponentCore(name, maybeSelReference);
69
+ return component;
70
+ }
71
+ /**
72
+ * Checks if the type has a constructor.name that matches a known view or built-in component
73
+ * If so, returns the name of the view or component. This allows {N} element imports to be
74
+ * used inside script setup context without requiring aliasing.
75
+ */
76
+ function maybeConvertToKnownComponentOrViewName(type) {
77
+ const name = type?.prototype?.constructor?.name;
78
+ if (name) {
79
+ if (BUILT_IN_COMPONENTS[name]) {
80
+ return BUILT_IN_COMPONENTS[name];
81
+ }
82
+ if (isKnownView(name)) {
83
+ return name;
84
+ }
85
+ }
86
+ return type;
87
+ }
88
+ /**
89
+ * Wraps the original function and replaces the first argument if it matches
90
+ * a known view or built-in component.
91
+ */
92
+ function wrapCreate(originalFunction) {
93
+ return ((type, ...args) => {
94
+ return originalFunction(maybeConvertToKnownComponentOrViewName(type), ...args);
95
+ });
96
+ }
97
+ export const createBlock = wrapCreate(createBlockCore);
98
+ export const createElementBlock = wrapCreate(createElementBlockCore);
99
+ export const createElementVNode = wrapCreate(createElementVNodeCore);
100
+ export const createVNode = wrapCreate(createVNodeCore);
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function registerCoreElements(): void;
@@ -0,0 +1,164 @@
1
+ import { Page as NSCPage, TabViewItem as NSCTabViewItem, } 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('RootLayout', () => require('@nativescript/core').RootLayout, {
15
+ viewFlags: 4 /* NSVViewFlags.LAYOUT_VIEW */,
16
+ });
17
+ registerElement('StackLayout', () => require('@nativescript/core').StackLayout, { viewFlags: 4 /* NSVViewFlags.LAYOUT_VIEW */ });
18
+ registerElement('WrapLayout', () => require('@nativescript/core').WrapLayout, {
19
+ viewFlags: 4 /* NSVViewFlags.LAYOUT_VIEW */,
20
+ });
21
+ // ContentViews
22
+ registerElement('ContentView', () => require('@nativescript/core').ContentView, { viewFlags: 2 /* NSVViewFlags.CONTENT_VIEW */ });
23
+ registerElement('ScrollView', () => require('@nativescript/core').ScrollView, {
24
+ viewFlags: 2 /* NSVViewFlags.CONTENT_VIEW */,
25
+ });
26
+ // ActionBar
27
+ registerElement('ActionItem', () => require('@nativescript/core').ActionItem);
28
+ registerElement('NavigationButton', () => require('@nativescript/core').NavigationButton);
29
+ // navigation
30
+ registerElement('Frame', () => require('@nativescript/core').Frame, {
31
+ // todo: move into Frame.ts when we end up creating a component for Frame
32
+ nodeOps: {
33
+ insert(child, parent, atIndex) {
34
+ const frame = parent.nativeView;
35
+ if (child.nativeView instanceof NSCPage) {
36
+ frame.navigate({
37
+ create() {
38
+ return child.nativeView;
39
+ },
40
+ });
41
+ }
42
+ else {
43
+ if (__DEV__) {
44
+ warn(`<Frame> must only contain <Page> elements - ` +
45
+ `got <${child.nativeView.constructor.name}> instead.`);
46
+ }
47
+ }
48
+ },
49
+ remove(child, parent) {
50
+ // ignore? warn? throw? navigate back?
51
+ // console.log("REMOVE CHILD FROM FRAME", child);
52
+ },
53
+ },
54
+ });
55
+ registerElement('Page', () => require('@nativescript/core').Page, {
56
+ viewFlags: 2 /* NSVViewFlags.CONTENT_VIEW */,
57
+ });
58
+ // html
59
+ registerElement('HtmlView', () => require('@nativescript/core').HtmlView);
60
+ registerElement('WebView', () => require('@nativescript/core').WebView);
61
+ // components
62
+ registerElement('ActivityIndicator', () => require('@nativescript/core').ActivityIndicator);
63
+ registerElement('Button', () => require('@nativescript/core').Button);
64
+ registerElement('DatePicker', () => require('@nativescript/core').DatePicker, {
65
+ model: {
66
+ prop: 'date',
67
+ event: 'dateChange',
68
+ },
69
+ });
70
+ registerElement('FormattedString', () => require('@nativescript/core').FormattedString, {
71
+ nodeOps: {
72
+ insert(child, parent, atIndex) {
73
+ if (atIndex) {
74
+ parent.nativeView.spans.splice(atIndex, 0, child.nativeView);
75
+ return;
76
+ }
77
+ parent.nativeView.spans.push(child.nativeView);
78
+ },
79
+ remove(child, parent) {
80
+ const index = parent.nativeView.spans.indexOf(child.nativeView);
81
+ if (index > -1) {
82
+ parent.nativeView.spans.splice(index, 1);
83
+ }
84
+ },
85
+ },
86
+ });
87
+ registerElement('Image', () => require('@nativescript/core').Image);
88
+ registerElement('Label', () => require('@nativescript/core').Label);
89
+ registerElement('ListPicker', () => require('@nativescript/core').ListPicker, {
90
+ model: {
91
+ prop: 'selectedIndex',
92
+ event: 'selectedIndexChange',
93
+ },
94
+ });
95
+ registerElement('Placeholder', () => require('@nativescript/core').Placeholder);
96
+ registerElement('Progress', () => require('@nativescript/core').Progress);
97
+ registerElement('ProxyViewContainer', () => require('@nativescript/core').ProxyViewContainer);
98
+ registerElement('SearchBar', () => require('@nativescript/core').SearchBar, {
99
+ model: {
100
+ prop: 'text',
101
+ event: 'textChange',
102
+ },
103
+ });
104
+ registerElement('SegmentedBar', () => require('@nativescript/core').SegmentedBar, {
105
+ model: {
106
+ prop: 'selectedIndex',
107
+ event: 'selectedIndexChange',
108
+ },
109
+ });
110
+ registerElement('SegmentedBarItem', () => require('@nativescript/core').SegmentedBarItem);
111
+ registerElement('Slider', () => require('@nativescript/core').Slider, {
112
+ model: {
113
+ prop: 'value',
114
+ event: 'valueChange',
115
+ },
116
+ });
117
+ registerElement('Span', () => require('@nativescript/core').Span);
118
+ registerElement('Switch', () => require('@nativescript/core').Switch, {
119
+ model: {
120
+ prop: 'checked',
121
+ event: 'checkedChange',
122
+ },
123
+ });
124
+ registerElement('TextField', () => require('@nativescript/core').TextField, {
125
+ model: {
126
+ prop: 'text',
127
+ event: 'textChange',
128
+ },
129
+ });
130
+ registerElement('TextView', () => require('@nativescript/core').TextView, {
131
+ model: {
132
+ prop: 'text',
133
+ event: 'textChange',
134
+ },
135
+ });
136
+ registerElement('TimePicker', () => require('@nativescript/core').TimePicker, {
137
+ model: {
138
+ prop: 'time',
139
+ event: 'timeChange',
140
+ },
141
+ });
142
+ registerElement('TabViewItem', () => require('@nativescript/core').TabViewItem);
143
+ registerElement('TabView', () => require('@nativescript/core').TabView, {
144
+ model: {
145
+ prop: 'selectedIndex',
146
+ event: 'selectedIndexChange',
147
+ },
148
+ nodeOps: {
149
+ insert(child, parent) {
150
+ const tabView = parent.nativeView;
151
+ if (child.nativeView instanceof NSCTabViewItem) {
152
+ const items = tabView.items || [];
153
+ parent.setAttribute('items', items.concat([child.nativeView]));
154
+ }
155
+ },
156
+ remove(child, parent) {
157
+ const tabView = parent.nativeView;
158
+ const items = tabView.items.filter((item) => item !== child.nativeView);
159
+ parent.setAttribute('items', items);
160
+ },
161
+ },
162
+ });
163
+ }
164
+ //# 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';