ember-native 2.1.1 → 2.2.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.
- package/declarations/dom/element-registry.d.ts +1 -1
- package/declarations/dom/native/NativeElementNode.d.ts +3 -3
- package/declarations/dom/nodes/DocumentNode.d.ts +2 -2
- package/declarations/dom/nodes/TextNode.d.ts +2 -0
- package/declarations/dom/nodes/ViewNode.d.ts +1 -1
- package/declarations/instance-initializers/history.d.ts +1 -1
- package/dist/{_rollupPluginBabelHelpers-apNPIsxw.js → _rollupPluginBabelHelpers-ClPBvGFm.js} +2 -1
- package/dist/_rollupPluginBabelHelpers-ClPBvGFm.js.map +1 -0
- package/dist/components/InspectorSupport.js +3 -2
- package/dist/components/InspectorSupport.js.map +1 -1
- package/dist/components/ListView.js +2 -1
- package/dist/components/ListView.js.map +1 -1
- package/dist/components/RadListView.js +2 -1
- package/dist/components/RadListView.js.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/dom/element-registry.js +1 -0
- package/dist/dom/element-registry.js.map +1 -1
- package/dist/dom/native/FrameElement.js +2 -1
- package/dist/dom/native/FrameElement.js.map +1 -1
- package/dist/dom/native/NativeElementNode.js +2 -1
- package/dist/dom/native/NativeElementNode.js.map +1 -1
- package/dist/dom/native/PageElement.js +1 -0
- package/dist/dom/native/PageElement.js.map +1 -1
- package/dist/dom/nodes/CommentNode.js +2 -1
- package/dist/dom/nodes/CommentNode.js.map +1 -1
- package/dist/dom/nodes/DocumentNode.js +2 -1
- package/dist/dom/nodes/DocumentNode.js.map +1 -1
- package/dist/dom/nodes/ElementNode.js +2 -1
- package/dist/dom/nodes/ElementNode.js.map +1 -1
- package/dist/dom/nodes/PropertyNode.js +1 -0
- package/dist/dom/nodes/PropertyNode.js.map +1 -1
- package/dist/dom/nodes/TextNode.js +8 -1
- package/dist/dom/nodes/TextNode.js.map +1 -1
- package/dist/dom/nodes/ViewNode.js +2 -1
- package/dist/dom/nodes/ViewNode.js.map +1 -1
- package/dist/dom/setup-registry.js +1 -0
- package/dist/dom/setup-registry.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/instance-initializers/history.js +1 -0
- package/dist/instance-initializers/history.js.map +1 -1
- package/dist/instance-initializers/webpack-hot-reload.js +1 -0
- package/dist/instance-initializers/webpack-hot-reload.js.map +1 -1
- package/dist/services/history.js +3 -2
- package/dist/services/history.js.map +1 -1
- package/dist/services/native-router.js +2 -1
- package/dist/services/native-router.js.map +1 -1
- package/dist/services/webpack-hot-reload.js +2 -1
- package/dist/services/webpack-hot-reload.js.map +1 -1
- package/dist/setup-inspector-support.js +2 -1
- package/dist/setup-inspector-support.js.map +1 -1
- package/dist/setup.js +4 -3
- package/dist/setup.js.map +1 -1
- package/dist/types/glint.js +1 -0
- package/dist/types/glint.js.map +1 -1
- package/dist/utils/babel-plugin.js +4 -1
- package/dist/utils/babel-plugin.ts +22 -17
- package/dist/utils/glimmer-env.js +7 -3
- package/package.json +39 -35
- package/types/globals.d.ts +42 -0
- package/declarations/types/globals.d.ts +0 -56
- package/dist/_rollupPluginBabelHelpers-apNPIsxw.js.map +0 -1
- package/dist/types/globals.js +0 -2
- package/dist/types/globals.js.map +0 -1
|
@@ -9,7 +9,7 @@ export declare function getViewMeta(elementName: string): {
|
|
|
9
9
|
isUnaryTag: boolean;
|
|
10
10
|
tagNamespace: string;
|
|
11
11
|
canBeLeftOpenTag: boolean;
|
|
12
|
-
component:
|
|
12
|
+
component: any;
|
|
13
13
|
};
|
|
14
14
|
export declare function isKnownView(elementName: string): any;
|
|
15
15
|
export declare function createElement<T extends keyof NativeElementsTagNameMap>(elementName: T): NativeElementsTagNameMap[T];
|
|
@@ -12,8 +12,8 @@ export default class NativeElementNode<T extends ViewBase | null = ViewBase> ext
|
|
|
12
12
|
_meta: ComponentMeta;
|
|
13
13
|
constructor(tagName: string, viewClass: typeof View | null, meta?: ComponentMeta | null);
|
|
14
14
|
setStyle(property: string, value: string | number | null): void;
|
|
15
|
-
get style(): import("@nativescript/core").Style
|
|
16
|
-
set style(v: import("@nativescript/core").Style
|
|
15
|
+
get style(): import("@nativescript/core").Style;
|
|
16
|
+
set style(v: import("@nativescript/core").Style);
|
|
17
17
|
updateText(): void;
|
|
18
18
|
get nativeView(): T;
|
|
19
19
|
set nativeView(view: T);
|
|
@@ -44,5 +44,5 @@ export default class NativeElementNode<T extends ViewBase | null = ViewBase> ext
|
|
|
44
44
|
width: number;
|
|
45
45
|
height: number;
|
|
46
46
|
right?: undefined;
|
|
47
|
-
}
|
|
47
|
+
};
|
|
48
48
|
}
|
package/dist/{_rollupPluginBabelHelpers-apNPIsxw.js → _rollupPluginBabelHelpers-ClPBvGFm.js}
RENAMED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
function _applyDecoratedDescriptor(i, e, r, n, l) {
|
|
2
3
|
var a = {};
|
|
3
4
|
return Object.keys(n).forEach(function (i) {
|
|
@@ -38,4 +39,4 @@ function _toPropertyKey(t) {
|
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
export { _defineProperty as _, _applyDecoratedDescriptor as a, _initializerDefineProperty as b };
|
|
41
|
-
//# sourceMappingURL=_rollupPluginBabelHelpers-
|
|
42
|
+
//# sourceMappingURL=_rollupPluginBabelHelpers-ClPBvGFm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_rollupPluginBabelHelpers-ClPBvGFm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { _ as _defineProperty } from '../_rollupPluginBabelHelpers-ClPBvGFm.js';
|
|
2
3
|
import Component from '@glimmer/component';
|
|
3
4
|
import { modifier } from 'ember-modifier';
|
|
4
5
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
@@ -13,7 +14,7 @@ class InspectorSupport extends Component {
|
|
|
13
14
|
constructor(...args) {
|
|
14
15
|
super(...args);
|
|
15
16
|
_defineProperty(this, "setupInspector", () => {
|
|
16
|
-
|
|
17
|
+
const i = setInterval(() => {
|
|
17
18
|
const viewInspection = globalThis.EmberInspector?.viewDebug?.viewInspection;
|
|
18
19
|
if (viewInspection && this.tooltip) {
|
|
19
20
|
this.tooltip.querySelector = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InspectorSupport.js","sources":[
|
|
1
|
+
{"version":3,"file":"InspectorSupport.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { _ as _defineProperty, a as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../_rollupPluginBabelHelpers-ClPBvGFm.js';
|
|
2
3
|
import Component from '@glimmer/component';
|
|
3
4
|
import { modifier } from 'ember-modifier';
|
|
4
5
|
import { tracked } from '@glimmer/tracking';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.js","sources":[
|
|
1
|
+
{"version":3,"file":"ListView.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { a as _applyDecoratedDescriptor, _ as _defineProperty, b as _initializerDefineProperty } from '../_rollupPluginBabelHelpers-ClPBvGFm.js';
|
|
2
3
|
import Component from '@glimmer/component';
|
|
3
4
|
import { modifier } from 'ember-modifier';
|
|
4
5
|
import { tracked } from '@glimmer/tracking';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadListView.js","sources":[
|
|
1
|
+
{"version":3,"file":"RadListView.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-registry.js","sources":[
|
|
1
|
+
{"version":3,"file":"element-registry.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-ClPBvGFm.js';
|
|
2
3
|
import { Frame } from '@nativescript/core/ui/frame';
|
|
3
4
|
import { createElement } from '../element-registry.js';
|
|
4
5
|
import NativeElementNode from './NativeElementNode.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrameElement.js","sources":[
|
|
1
|
+
{"version":3,"file":"FrameElement.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-ClPBvGFm.js';
|
|
2
3
|
import { KeyframeAnimation } from '@nativescript/core/ui/animation/keyframe-animation';
|
|
3
4
|
import { LayoutBase } from '@nativescript/core/ui/layouts/layout-base';
|
|
4
5
|
import { ListView, ContentView, Frame, View, isAndroid, isIOS } from '@nativescript/core';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeElementNode.js","sources":["../../../src/dom/native/NativeElementNode.ts"],"sourcesContent":["import { KeyframeAnimation } from '@nativescript/core/ui/animation/keyframe-animation';\nimport { LayoutBase } from '@nativescript/core/ui/layouts/layout-base';\nimport {\n ContentView,\n type EventData,\n Frame,\n isAndroid,\n isIOS,\n ListView,\n Page,\n View,\n} from '@nativescript/core';\nimport { CssAnimationParser } from '@nativescript/core/ui/styling/css-animation-parser';\nimport { type ViewBase } from '@nativescript/core/ui/core/view-base';\nimport { TextBase } from '@nativescript/core/ui/text-base';\nimport ElementNode from '../nodes/ElementNode.ts';\nimport ViewNode, { type EventListener } from '../nodes/ViewNode.ts';\n\nfunction camelize(kebab: string): string {\n return kebab.replace(/-+(\\w)/g, (_m, l) => l.toUpperCase());\n}\n\nexport interface ComponentMeta {\n skipAddToDom?: boolean;\n insertChild?: (\n parent: NativeElementNode<any>,\n child: NativeElementNode<any>,\n index: number,\n ) => void;\n removeChild?: (parent: NativeElementNode, child: NativeElementNode) => void;\n}\n\nconst defaultViewMeta = {\n skipAddToDom: false,\n};\n\nexport default class NativeElementNode<\n T extends ViewBase | null = ViewBase,\n> extends ElementNode {\n declare _nativeView: T;\n _meta: ComponentMeta;\n\n constructor(\n tagName: string,\n viewClass: typeof View | null,\n meta: ComponentMeta | null = null,\n ) {\n super(tagName);\n\n this.nodeType = 1;\n this.tagName = tagName;\n\n this._meta = Object.assign({}, defaultViewMeta, meta || {});\n\n if (viewClass) {\n this.nativeView = new (viewClass as any)();\n (this._nativeView as any).__GlimmerNativeElement__ = this;\n }\n\n // log.debug(`created ${this} ${this._nativeView}`);\n\n //TODO these style shims mess up the code, extract to external modules\n\n const setStyleAttribute = (value: string): void => {\n this.setAttribute('style', value);\n };\n\n const getStyleAttribute = (): string => {\n return this.getAttribute('style');\n };\n\n const getParentPage = (): NativeElementNode | null => {\n if (this.nativeView && this.nativeView.page) {\n return (this.nativeView.page as any).__GlimmerNativeElement__;\n }\n return null;\n };\n\n const animations: Map<string, KeyframeAnimation | null> = new Map();\n const oldAnimations: KeyframeAnimation[] = [];\n\n const addAnimation = (animation: string) => {\n // log.debug(`Adding animation ${animation}`);\n if (!this.nativeView) {\n throw Error(\n 'Attempt to apply animation to tag without a native view' +\n this.tagName,\n );\n }\n\n const page = getParentPage();\n if (page == null) {\n animations.set(animation, null);\n return;\n }\n\n //quickly cancel any old ones\n while (oldAnimations.length) {\n const oldAnimation = oldAnimations.shift()!;\n if (oldAnimation.isPlaying) {\n oldAnimation.cancel();\n }\n }\n\n //Parse our \"animation\" style property into an animation info instance (this won't include the keyframes from the css)\n const animationInfos =\n CssAnimationParser.keyframeAnimationsFromCSSDeclarations([\n { property: 'animation', value: animation },\n ]);\n if (!animationInfos) {\n animations.set(animation, null);\n return;\n }\n const animationInfo = animationInfos[0]!;\n\n //Fetch an animationInfo instance that includes the keyframes from the css (this won't include the animation properties parsed above)\n const animationWithKeyframes = (\n page.nativeView as Page\n ).getKeyframeAnimationWithName(animationInfo.name!);\n if (!animationWithKeyframes) {\n animations.set(animation, null);\n return;\n }\n\n animationInfo.keyframes = animationWithKeyframes.keyframes;\n //combine the keyframes from the css with the animation from the parsed attribute to get a complete animationInfo object\n const animationInstance =\n KeyframeAnimation.keyframeAnimationFromInfo(animationInfo);\n\n // save and launch the animation\n animations.set(animation, animationInstance);\n animationInstance.play(this.nativeView as View);\n };\n\n const removeAnimation = (animation: string) => {\n // log.debug(`Removing animation ${animation}`);\n if (animations.has(animation)) {\n const animationInstance = animations.get(animation);\n animations.delete(animation);\n\n if (animationInstance) {\n if (animationInstance.isPlaying) {\n //we don't want to stop right away since svelte removes the animation before it is finished due to our lag time starting the animation.\n oldAnimations.push(animationInstance);\n }\n }\n }\n };\n\n this.style = {\n setProperty: (\n propertyName: string,\n value: string /*priority?: string*/,\n ) => {\n this.setStyle(camelize(propertyName), value);\n },\n\n // @ts-expect-error does not exist\n removeProperty: (propertyName: string) => {\n this.setStyle(camelize(propertyName), null);\n },\n\n get animation(): string {\n return [...animations.keys()].join(', ');\n },\n\n set animation(value: string) {\n // log.debug(`setting animation ${value}`);\n const new_animations =\n value.trim() == '' ? [] : value.split(',').map((a) => a.trim());\n //add new ones\n for (const anim of new_animations) {\n if (!animations.has(anim)) {\n addAnimation(anim);\n }\n }\n //remove old ones\n for (const anim of animations.keys()) {\n if (new_animations.indexOf(anim) < 0) {\n removeAnimation(anim);\n }\n }\n },\n\n get cssText(): string {\n // log.debug('got css text');\n return getStyleAttribute();\n },\n\n set cssText(value: string) {\n // log.debug('set css text');\n setStyleAttribute(value);\n },\n };\n }\n\n /* istanbul ignore next */\n setStyle(property: string, value: string | number | null) {\n // log.debug(`setStyle ${this} ${property} ${value}`);\n\n if (!value) return;\n\n if (!(value = value.toString().trim()).length) {\n return;\n }\n\n if (property.endsWith('Align')) {\n // NativeScript uses Alignment instead of Align, this ensures that text-align works\n property += 'ment';\n }\n (this.nativeView!.style as any)[property] = value;\n }\n\n get style() {\n return this.nativeView?.style;\n }\n\n set style(v) {\n Object.assign(this.nativeView?.style || {}, v);\n }\n\n updateText() {\n const hasTextAttr = this.nativeView instanceof TextBase;\n if (hasTextAttr) {\n const t = this.childNodes\n .map((c) => (c as any).text)\n .filter(Boolean)\n .join('');\n this.setAttribute('text', t.trim());\n }\n }\n\n get nativeView(): T {\n return this._nativeView;\n }\n\n set nativeView(view) {\n this._nativeView = view;\n this.addEventListener('tap', () => globalThis.triggerEvent('click', this));\n }\n\n get meta() {\n return this._meta;\n }\n\n /* istanbul ignore next */\n addEventListener(event: string, handler: EventListener) {\n // log.debug('add event listener', this, event, handler);\n this.nativeView!.on(event, handler);\n }\n\n /* istanbul ignore next */\n removeEventListener(event: string, handler?: EventListener) {\n // log.debug(`remove event listener ${this} ${event}`);\n this.nativeView!.off(event, handler);\n }\n\n getAttribute(fullkey: string) {\n let getTarget = this.nativeView as any;\n\n const keypath = fullkey.split('.');\n const resolvedKeys: string[] = [];\n\n while (keypath.length > 0) {\n if (!getTarget) return null;\n\n let key = keypath.shift()!;\n\n // try to fix case\n const lowerkey = key.toLowerCase();\n for (const realKey in getTarget) {\n if (lowerkey == realKey.toLowerCase()) {\n key = realKey;\n break;\n }\n }\n resolvedKeys.push(key);\n\n if (keypath.length > 0) {\n getTarget = getTarget[key];\n } else {\n return getTarget[key];\n }\n }\n\n return null;\n }\n\n onInsertedChild(childNode: ViewNode, atIndex: number) {\n const parentNode = this;\n if (!parentNode) {\n return;\n }\n\n if (\n !(parentNode instanceof NativeElementNode) ||\n !(childNode instanceof NativeElementNode) ||\n !parentNode.nativeView ||\n !childNode.nativeView\n ) {\n return;\n }\n\n if (parentNode.nativeView instanceof ListView) {\n return;\n }\n\n if (parentNode.meta && typeof parentNode.meta.insertChild === 'function') {\n //our dom includes \"textNode\" and \"commentNode\" which does not appear in the nativeview's children.\n //we recalculate the index required for the insert operation buy only including native element nodes in the count\n const nativeIndex = parentNode.childNodes\n .filter((e) => e instanceof NativeElementNode)\n .indexOf(childNode);\n return parentNode.meta.insertChild(parentNode, childNode, nativeIndex);\n }\n\n const parentView = parentNode.nativeView;\n const childView = childNode.nativeView;\n\n //use the builder logic if we aren't being dynamic, to catch config items like <actionbar> that are not likely to be toggled\n if (atIndex < 0 && (parentView as any)._addChildFromBuilder) {\n (parentView as any)._addChildFromBuilder(\n childNode._nativeView.constructor.name,\n childView,\n );\n return;\n }\n\n if (parentView instanceof LayoutBase) {\n if (atIndex >= 0) {\n //our dom includes \"textNode\" and \"commentNode\" which does not appear in the nativeview's children.\n //we recalculate the index required for the insert operation buy only including native element nodes in the count\n const nativeIndex = parentNode.childNodes\n .filter((e) => e instanceof NativeElementNode)\n .indexOf(childNode);\n parentView.insertChild(childView, nativeIndex);\n } else {\n parentView.addChild(childView);\n }\n return;\n }\n\n if ((parentView as any)._addChildFromBuilder) {\n return (parentView as any)._addChildFromBuilder(\n childNode._nativeView.constructor.name,\n childView,\n );\n }\n\n if (parentView instanceof ContentView) {\n parentView.content = childView;\n return;\n }\n }\n\n onRemovedChild(childNode: ViewNode) {\n const parentNode = this;\n if (!parentNode) {\n return;\n }\n\n if (\n !(parentNode instanceof NativeElementNode) ||\n !(childNode instanceof NativeElementNode) ||\n !parentNode.nativeView ||\n !childNode.nativeView\n ) {\n return;\n }\n\n if (parentNode.meta && typeof parentNode.meta.removeChild === 'function') {\n return parentNode.meta.removeChild(\n parentNode as NativeElementNode,\n childNode as NativeElementNode,\n );\n }\n\n if (!childNode.nativeView || !childNode.nativeView) {\n return;\n }\n\n const parentView = parentNode.nativeView;\n const childView = childNode.nativeView;\n\n if (parentView instanceof Frame) {\n return;\n }\n\n if (parentView instanceof LayoutBase) {\n parentView.removeChild(childView);\n } else if (parentView instanceof ContentView) {\n if (parentView.content === childView) {\n (parentView as any).content = null;\n }\n if (childNode.nodeType === 8) {\n parentView._removeView(childView);\n }\n } else if (parentView instanceof View) {\n parentView._removeView(childView);\n } else {\n // throw new Error(\"Unknown parent type: \" + parent);\n }\n }\n\n /* istanbul ignore next */\n setAttribute(fullkey: string, value: any) {\n const nv = this.nativeView as any;\n let setTarget = nv;\n\n // normalize key\n if (isAndroid && fullkey.startsWith('android:')) {\n fullkey = fullkey.substr(8);\n }\n if (isIOS && fullkey.startsWith('ios:')) {\n fullkey = fullkey.substr(4);\n }\n\n //we might be getting an element from a propertyNode eg page.actionBar, unwrap\n if (value instanceof NativeElementNode) {\n value = value.nativeView;\n }\n const keypath = fullkey.split('.');\n const resolvedKeys: string[] = [];\n\n while (keypath.length > 0) {\n if (!setTarget) return;\n let key = keypath.shift()!;\n\n // try to fix case\n const lowerkey = key.toLowerCase();\n for (const realKey in setTarget) {\n if (lowerkey == realKey.toLowerCase()) {\n key = realKey;\n break;\n }\n }\n resolvedKeys.push(key);\n\n if (keypath.length > 0) {\n setTarget = setTarget[key];\n } else {\n try {\n // log.debug(`setAttr ${this} ${resolvedKeys.join('.')} ${value}`);\n setTarget[key] = value;\n } catch (e) {\n // ignore but log\n console.error(\n `set attribute threw an error, attr:${key} on ${this._tagName}: ${(e as any).message}`,\n );\n }\n }\n }\n }\n\n dispatchEvent(event: EventData) {\n if (this.nativeView) {\n //nativescript uses the EventName while dom uses Type\n event.eventName = (event as any).type;\n this.nativeView.notify(event);\n }\n }\n\n clear(node: any) {\n while (node.childNodes.length) {\n this.clear(node.firstChild);\n }\n node.parentNode.removeChild(node);\n }\n\n appendChild(childNode: ViewNode) {\n super.appendChild(childNode);\n if (childNode.nodeType === 3) {\n this.updateText();\n }\n }\n\n insertBefore(childNode: ViewNode, referenceNode: ViewNode) {\n super.insertBefore(childNode, referenceNode);\n if (childNode.nodeType === 3) {\n this.updateText();\n }\n }\n\n removeChild(childNode: ViewNode) {\n super.removeChild(childNode);\n if (childNode.nodeType === 3) {\n this.updateText();\n }\n }\n\n removeChildren() {\n while (this.childNodes.length) {\n this.clear(this.firstChild);\n }\n }\n\n getBoundingClientRect() {\n if (!this.nativeView) return null;\n if (!(this.nativeView as View).getLocationInWindow) return null;\n const nw = this.nativeView as View;\n const point = nw.getLocationInWindow();\n const actualSize = nw.getActualSize();\n if (!point) {\n return {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n width: 0,\n height: 0,\n };\n }\n return {\n left: point.x,\n top: point.y,\n bottom: point.y + actualSize.height,\n width: actualSize.width,\n height: actualSize.height,\n };\n }\n}\n"],"names":["camelize","kebab","replace","_m","l","toUpperCase","defaultViewMeta","skipAddToDom","NativeElementNode","ElementNode","constructor","tagName","viewClass","meta","_defineProperty","nodeType","_meta","Object","assign","nativeView","_nativeView","__GlimmerNativeElement__","setStyleAttribute","value","setAttribute","getStyleAttribute","getAttribute","getParentPage","page","animations","Map","oldAnimations","addAnimation","animation","Error","set","length","oldAnimation","shift","isPlaying","cancel","animationInfos","CssAnimationParser","keyframeAnimationsFromCSSDeclarations","property","animationInfo","animationWithKeyframes","getKeyframeAnimationWithName","name","keyframes","animationInstance","KeyframeAnimation","keyframeAnimationFromInfo","play","removeAnimation","has","get","delete","push","style","setProperty","propertyName","setStyle","removeProperty","keys","join","new_animations","trim","split","map","a","anim","indexOf","cssText","toString","endsWith","v","updateText","hasTextAttr","TextBase","t","childNodes","c","text","filter","Boolean","view","addEventListener","globalThis","triggerEvent","event","handler","on","removeEventListener","off","fullkey","getTarget","keypath","key","lowerkey","toLowerCase","realKey","onInsertedChild","childNode","atIndex","parentNode","ListView","insertChild","nativeIndex","e","parentView","childView","_addChildFromBuilder","LayoutBase","addChild","ContentView","content","onRemovedChild","removeChild","Frame","_removeView","View","nv","setTarget","isAndroid","startsWith","substr","isIOS","console","error","_tagName","message","dispatchEvent","eventName","type","notify","clear","node","firstChild","appendChild","insertBefore","referenceNode","removeChildren","getBoundingClientRect","getLocationInWindow","nw","point","actualSize","getActualSize","left","top","right","bottom","width","height","x","y"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NativeElementNode.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageElement.js","sources":[
|
|
1
|
+
{"version":3,"file":"PageElement.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommentNode.js","sources":[
|
|
1
|
+
{"version":3,"file":"CommentNode.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-ClPBvGFm.js';
|
|
2
3
|
import { createElement } from '../element-registry.js';
|
|
3
4
|
import CommentNode from './CommentNode.js';
|
|
4
5
|
import ElementNode from './ElementNode.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentNode.js","sources":["../../../src/dom/nodes/DocumentNode.ts"],"sourcesContent":["import { createElement } from '../element-registry.ts';\nimport CommentNode from './CommentNode.ts';\nimport ElementNode from './ElementNode.ts';\nimport PropertyNode from './PropertyNode.ts';\nimport TextNode from './TextNode.ts';\nimport ViewNode from './ViewNode.ts';\nimport type { NativeElementsTagNameMap } from '../native-elements-tag-name-map.ts';\nimport type PageElement from '../native/PageElement.ts';\nimport NativeElementNode from '../native/NativeElementNode.ts';\n\nfunction* elementIterator(el: any): Generator<any, void, unknown> {\n yield el;\n for (const child of el.childNodes) {\n yield* elementIterator(child);\n }\n}\n\nclass HeadNode extends ElementNode {\n private document: any;\n constructor(tagName: string, document: DocumentNode) {\n super(tagName);\n this.document = document;\n }\n appendChild(childNode: ViewNode) {\n if (childNode.tagName === 'style') {\n this.document.page.nativeView.addCss(\n (childNode.childNodes[0]! as any).text,\n );\n return;\n }\n super.appendChild(childNode);\n }\n}\n\nlet document: DocumentNode | null = null;\n\nexport default class DocumentNode extends ViewNode {\n head: any;\n config: any;\n declare nodeMap: Map<any, any>;\n page: PageElement | undefined;\n body: ElementNode | undefined;\n documentElement = {\n dataset: {},\n };\n\n static getInstance() {\n if (!document) {\n document = new DocumentNode();\n }\n return document;\n }\n\n constructor() {\n if (document) return document;\n super();\n document = this;\n this.tagName = 'docNode';\n this.nodeType = 9;\n this.head = new HeadNode('head', this);\n this.appendChild(this.head);\n this.nodeMap = new Map();\n }\n\n createEvent(eventInterface: string) {\n const event = {\n eventInterface,\n initEvent(type: string, bubbles: boolean, cancelable: boolean) {\n Object.assign(event, {\n type,\n bubbles,\n cancelable,\n });\n },\n };\n return event;\n }\n\n createComment(text: string) {\n return new CommentNode(text);\n }\n\n static createPropertyNode(tagName: string): PropertyNode {\n return new PropertyNode(tagName);\n }\n\n createElement(name: string) {\n return DocumentNode.createElement(name as any);\n }\n\n static createElement<T extends keyof NativeElementsTagNameMap>(\n tagName: T,\n ): NativeElementsTagNameMap[T] {\n if (tagName === 'property') {\n return this.createPropertyNode(tagName) as any;\n }\n const e = createElement(tagName);\n e._ownerDocument = this.getInstance();\n if (e instanceof NativeElementNode && e.nativeView) {\n this.getInstance().nodeMap.set(e.nativeView._domId, e);\n }\n if (tagName === 'page') {\n this.getInstance().page = e as PageElement;\n\n Object.defineProperty(this.getInstance(), 'body', {\n configurable: true,\n get() {\n const page = this.page;\n return {\n insertAdjacentHTML() {\n return null;\n },\n addEventListener: globalThis.addEventListener.bind(page),\n get lastChild() {\n return null;\n },\n };\n },\n });\n }\n return e;\n }\n\n createElementNS(_namespace: any, tagName: keyof NativeElementsTagNameMap) {\n return DocumentNode.createElement(tagName);\n }\n\n createTextNode(text: string) {\n return new TextNode(text);\n }\n\n addEventListener(event: string, callback: EventListener) {\n if (event === 'DOMContentLoaded') {\n setTimeout(callback, 0);\n return;\n }\n console.error('unsupported event on document', event);\n }\n\n removeEventListener(event: string, handler: EventListener) {\n if (event === 'DOMContentLoaded') {\n return;\n }\n console.error('unsupported event on document', event, handler);\n }\n\n searchDom(node: ViewNode, startNode: ViewNode, endNode: ViewNode) {\n const start = startNode || this.page;\n if (start === node) {\n return true;\n }\n if (node === endNode) {\n return false;\n }\n for (const childNode of start.childNodes) {\n if (this.searchDom(node, childNode, endNode)) {\n return true;\n }\n }\n let sibling: ViewNode | null = node;\n while (sibling) {\n if (this.searchDom(node, sibling, endNode)) {\n return true;\n }\n sibling = sibling.nextSibling;\n }\n return false;\n }\n\n createRange() {\n const self = this;\n return {\n startNode: null as ViewNode | null,\n endNode: null as ViewNode | null,\n setStartBefore(startNode: ViewNode | null) {\n while (startNode && !(startNode as NativeElementNode).nativeView) {\n startNode = startNode.nextSibling;\n }\n this.startNode = startNode;\n },\n setEndAfter(endNode: ViewNode | null) {\n while (endNode && !(endNode as NativeElementNode).nativeView) {\n endNode = endNode.prevSibling;\n }\n this.endNode = endNode;\n },\n isPointInRange(dom: ViewNode): boolean {\n return self.searchDom(dom, this.startNode!, this.endNode!);\n },\n getBoundingClientRect() {\n if (!(this.startNode instanceof NativeElementNode)) return null;\n if (!this.startNode?.nativeView) return null;\n const point = this.startNode.nativeView.getLocationInWindow();\n const size = this.startNode.nativeView.getActualSize();\n let x = point.x;\n let y = point.y;\n let width = size.width;\n let height = size.height;\n for (const element of elementIterator(this.startNode)) {\n const point = element.nativeView.getLocationInWindow();\n const size = element.nativeView.getActualSize();\n x = Math.min(x, point.x);\n y = Math.min(y, point.y);\n width = point.x + size.width - x;\n height = point.y + size.height - y;\n if (element === this.endNode) {\n break;\n }\n }\n return {\n left: x,\n top: y,\n bottom: y + height,\n width,\n height,\n };\n },\n };\n }\n\n querySelectorAll(selector: string) {\n if (selector.startsWith('meta')) {\n const config = this.config;\n return {\n getAttribute(): string {\n return JSON.stringify(config);\n },\n };\n }\n }\n}\n"],"names":["elementIterator","el","child","childNodes","HeadNode","ElementNode","constructor","tagName","document","_defineProperty","appendChild","childNode","page","nativeView","addCss","text","DocumentNode","ViewNode","getInstance","dataset","nodeType","head","nodeMap","Map","createEvent","eventInterface","event","initEvent","type","bubbles","cancelable","Object","assign","createComment","CommentNode","createPropertyNode","PropertyNode","createElement","name","e","_ownerDocument","NativeElementNode","set","_domId","defineProperty","configurable","get","insertAdjacentHTML","addEventListener","globalThis","bind","lastChild","createElementNS","_namespace","createTextNode","TextNode","callback","setTimeout","console","error","removeEventListener","handler","searchDom","node","startNode","endNode","start","sibling","nextSibling","createRange","self","setStartBefore","setEndAfter","prevSibling","isPointInRange","dom","getBoundingClientRect","point","getLocationInWindow","size","getActualSize","x","y","width","height","element","Math","min","left","top","bottom","querySelectorAll","selector","startsWith","config","getAttribute","JSON","stringify"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DocumentNode.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementNode.js","sources":["../../../src/dom/nodes/ElementNode.ts"],"sourcesContent":["// import { KeyframeAnimation } from '@nativescript/core/ui/animation/keyframe-animation';\n// import { Page } from '@nativescript/core/ui/page';\n// import { CssAnimationParser } from '@nativescript/core/ui/styling/css-animation-parser';\nimport PropertyNode from './PropertyNode.ts';\nimport ViewNode from './ViewNode.ts';\n\n// import { getViewClass } from '../element-registry';\n// import ViewNode from './ViewNode';\n\n// function camelize(kebab) {\n// return kebab.replace(/[\\-]+(\\w)/g, (m, l) => l.toUpperCase());\n// }\n\n// const EVENT_ATTRIBUTES = Object.freeze(['tap']);\n\n// export default class ElementNode extends ViewNode {\n// style: any;\n// animations: Map<string, KeyframeAnimation> = new Map();\n// oldAnimations: KeyframeAnimation[] = [];\n// constructor(tagName: any) {\n// super();\n\n// this.nodeType = 1;\n// this.tagName = tagName;\n\n// //there are some special elements that don't exist natively\n// const viewClass = getViewClass(tagName);\n// if (viewClass) {\n// this._nativeView = new viewClass();\n// this._nativeView.__GlimmerNativeElement__ = this;\n// // console.log(`${this} has view class`);\n// EVENT_ATTRIBUTES.forEach((event) => {\n// // console.log(`Checking for atttribute ${event}`);\n// let attribute = this.getAttribute(event);\n// // console.log(`Attribute ${event}: ${attribute}`);\n// // console.log(`Native view attribute ${event}: ${this._nativeView.getAttribute(event)}`);\n// if (attribute) {\n// this.addEventListener(event, attribute);\n// }\n// });\n// }\n\n// // console.log(`created ${this} ${this._nativeView}`);\n\n// let setStyle = (value) => {\n// this.setAttribute('style', value);\n// };\n\n// let getStyle = () => {\n// return this.getAttribute('style');\n// };\n\n// this.style = {\n// setProperty: (propertyName, value, priority) => {\n// this.setStyle(camelize(propertyName), value);\n// },\n\n// removeProperty: (propertyName) => {\n// this.setStyle(camelize(propertyName), null);\n// },\n\n// get cssText() {\n// // console.log('got css text');\n// return getStyle();\n// },\n\n// set cssText(value) {\n// // console.log('set css text');\n// setStyle(value);\n// }\n// };\n// }\n\n// animate(options) {\n// if (this.nativeView) {\n// this.nativeView.animate(options);\n// }\n// }\n\n// getParentPage(): ElementNode {\n// if (this.nativeView && this.nativeView.page) {\n// return (this.nativeView.page as any).__GlimmerNativeElement__;\n// }\n// return null;\n// }\n\n// addAnimation(animation: string) {\n// if (!this.nativeView) {\n// throw Error('Attempt to apply animation to tag without a native view' + this.tagName);\n// }\n\n// let page = this.getParentPage();\n// if (page === null) {\n// this.animations.set(animation, null);\n// return;\n// }\n\n// //quickly cancel any old ones\n// while (this.oldAnimations.length) {\n// let oldAnimation = this.oldAnimations.shift();\n// if (oldAnimation.isPlaying) {\n// oldAnimation.cancel();\n// }\n// }\n\n// //Parse our \"animation\" style property into an animation info instance (this won't include the keyframes from the css)\n// let animationInfos = CssAnimationParser.keyframeAnimationsFromCSSDeclarations([\n// { property: 'animation', value: animation }\n// ]);\n// if (!animationInfos) {\n// this.animations.set(animation, null);\n// return;\n// }\n// let animationInfo = animationInfos[0];\n\n// //Fetch an animationInfo instance that includes the keyframes from the css (this won't include the animation properties parsed above)\n// let animationWithKeyframes = (page.nativeView as Page).getKeyframeAnimationWithName(animationInfo.name);\n// if (!animationWithKeyframes) {\n// this.animations.set(animation, null);\n// return;\n// }\n\n// animationInfo.keyframes = animationWithKeyframes.keyframes;\n// //combine the keyframes from the css with the animation from the parsed attribute to get a complete animationInfo object\n// let animationInstance = KeyframeAnimation.keyframeAnimationFromInfo(animationInfo);\n\n// // save and launch the animation\n// this.animations.set(animation, animationInstance);\n// animationInstance.play(this.nativeView);\n// }\n\n// removeAnimation(animation: string) {\n// if (this.animations.has(animation)) {\n// let animationInstance = this.animations.get(animation);\n// this.animations.delete(animation);\n\n// if (animationInstance) {\n// if (animationInstance.isPlaying) {\n// //we don't want to stop right away since svelte removes the animation before it is finished due to our lag time starting the animation.\n// this.oldAnimations.push(animationInstance);\n// }\n// }\n// }\n// }\n\n// get animation(): string {\n// return [...this.animations.keys()].join(', ');\n// }\n\n// set animation(value: string) {\n// let new_animations = value.trim() == '' ? [] : value.split(',').map((a) => a.trim());\n// //add new ones\n// for (let anim of new_animations) {\n// if (!this.animations.has(anim)) {\n// this.addAnimation(anim);\n// }\n// }\n// //remove old ones\n// for (let anim of this.animations.keys()) {\n// if (new_animations.indexOf(anim) < 0) {\n// this.removeAnimation(anim);\n// }\n// }\n// }\n\n// setAttribute(key, value) {\n// // console.log(`setAttribute: ${key} - ${value}`);\n// if (key.startsWith('on:')) {\n// key = key.substr(3);\n// this.addEventListener(key, value);\n// } else {\n// super.setAttribute(key, value);\n// }\n// }\n\n// appendChild(childNode) {\n// super.appendChild(childNode);\n\n// if (childNode.nodeType === 3) {\n// this.setText(childNode.text);\n// }\n\n// if (childNode.nodeType === 7) {\n// childNode.setOnNode(this);\n// }\n// }\n\n// insertBefore(childNode, referenceNode) {\n// super.insertBefore(childNode, referenceNode);\n\n// if (childNode.nodeType === 3) {\n// this.setText(childNode.text);\n// }\n\n// if (childNode.nodeType === 7) {\n// childNode.setOnNode(this);\n// }\n// }\n\n// removeChild(childNode) {\n// super.removeChild(childNode);\n\n// if (childNode.nodeType === 3) {\n// this.setText('');\n// }\n\n// if (childNode.nodeType === 7) {\n// childNode.clearOnNode(this);\n// }\n// }\n// }\n\nexport interface IClassList {\n length: number;\n\n add(...classNames: string[]): void;\n\n remove(...classNames: string[]): void;\n\n contains(className: string): boolean;\n}\n\nexport default class ElementNode extends ViewNode {\n declare _classList: IClassList;\n declare _id: string;\n static ELEMENT_NODE: number;\n static ATTRIBUTE_NODE: number;\n static TEXT_NODE: number;\n static DOCUMENT_NODE: number;\n\n static {\n this.ELEMENT_NODE = 1; //Node.ELEMENT_NODE\n this.ATTRIBUTE_NODE = 2; //Node.ATTRIBUTE_NODE\n this.TEXT_NODE = 3; //Node.TEXT_NODE\n this.DOCUMENT_NODE = 9; //Node.DOCUMENT_NODE\n }\n\n constructor(tagName: string) {\n super();\n this.nodeType = 1;\n this.tagName = tagName;\n }\n\n get id() {\n if (this.getAttribute === ElementNode.prototype.getAttribute) {\n return this['_id'];\n }\n return this.getAttribute('id') as typeof this._id;\n }\n\n set id(v: string) {\n if (this.getAttribute === ElementNode.prototype.getAttribute) {\n this['_id'] = v;\n return;\n }\n this.setAttribute('id', v);\n }\n\n get classList() {\n if (!this._classList) {\n const getClasses: () => string[] = () =>\n ((this.getAttribute('class') as string) || '')\n .split(/\\s+/)\n .filter((k: string) => k != '');\n\n this._classList = {\n add: (...classNames: string[]) => {\n this.setAttribute(\n 'class',\n [...new Set(getClasses().concat(classNames))].join(' '),\n );\n },\n\n contains(klass: string) {\n return Boolean(getClasses().find((x) => x === klass));\n },\n\n remove: (...classNames: string[]) => {\n this.setAttribute(\n 'class',\n getClasses()\n .filter((i: string) => classNames.indexOf(i) == -1)\n .join(' '),\n );\n },\n\n get length() {\n return getClasses().length;\n },\n };\n }\n return this._classList;\n }\n\n appendChild(childNode: ViewNode) {\n super.appendChild(childNode);\n\n if (childNode.nodeType === 7) {\n (childNode as PropertyNode).setOnNode(this);\n }\n }\n\n insertBefore(childNode: ViewNode, referenceNode: ViewNode) {\n super.insertBefore(childNode, referenceNode);\n\n if (childNode.nodeType === 7) {\n (childNode as PropertyNode).setOnNode(this);\n }\n }\n\n removeChild(childNode: ViewNode) {\n super.removeChild(childNode);\n\n if (childNode.nodeType === 7) {\n (childNode as PropertyNode).clearOnNode(this);\n }\n }\n}\n"],"names":["ElementNode","ViewNode","constructor","tagName","nodeType","id","getAttribute","prototype","v","setAttribute","classList","_classList","getClasses","split","filter","k","add","classNames","Set","concat","join","contains","klass","Boolean","find","x","remove","i","indexOf","length","appendChild","childNode","setOnNode","insertBefore","referenceNode","removeChild","clearOnNode","_ElementNode","_defineProperty","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","DOCUMENT_NODE"],"mappings":";;;;;AAMA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAYe,MAAMA,WAAW,SAASC,QAAQ,CAAC;EAehDC,WAAWA,CAACC,OAAe,EAAE;AAC3B,IAAA,KAAK,EAAE;IACP,IAAI,CAACC,QAAQ,GAAG,CAAC;IACjB,IAAI,CAACD,OAAO,GAAGA,OAAO;AACxB;EAEA,IAAIE,EAAEA,GAAG;IACP,IAAI,IAAI,CAACC,YAAY,KAAKN,WAAW,CAACO,SAAS,CAACD,YAAY,EAAE;MAC5D,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB;AACA,IAAA,OAAO,IAAI,CAACA,YAAY,CAA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"}
|
|
1
|
+
{"version":3,"file":"ElementNode.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyNode.js","sources":[
|
|
1
|
+
{"version":3,"file":"PropertyNode.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-ClPBvGFm.js';
|
|
2
3
|
import { TextBase } from '@nativescript/core';
|
|
3
4
|
import ViewNode from './ViewNode.js';
|
|
4
5
|
import NativeElementNode from '../native/NativeElementNode.js';
|
|
@@ -29,6 +30,12 @@ class TextNode extends ViewNode {
|
|
|
29
30
|
this.parentNode.updateText();
|
|
30
31
|
}
|
|
31
32
|
}
|
|
33
|
+
get nodeValue() {
|
|
34
|
+
return this.text;
|
|
35
|
+
}
|
|
36
|
+
set nodeValue(value) {
|
|
37
|
+
this.setText(value);
|
|
38
|
+
}
|
|
32
39
|
}
|
|
33
40
|
|
|
34
41
|
export { TextNode as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextNode.js","sources":[
|
|
1
|
+
{"version":3,"file":"TextNode.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-ClPBvGFm.js';
|
|
2
3
|
import { normalizeElementName, getViewMeta } from '../element-registry.js';
|
|
3
4
|
|
|
4
5
|
function* elementIterator(el) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewNode.js","sources":["../../../src/dom/nodes/ViewNode.ts"],"sourcesContent":["import { getViewMeta, normalizeElementName } from '../element-registry.ts';\nimport DocumentNode from './DocumentNode.ts';\n\nfunction* elementIterator(el: any): Generator<any, void, unknown> {\n yield el;\n for (const child of el.childNodes) {\n yield* elementIterator(child);\n }\n}\n\nexport type EventListener = (args: any) => void;\n\nexport default class ViewNode {\n attributes: any;\n args: any;\n template: any;\n\n nodeType: any;\n _tagName: any;\n declare parentNode: ViewNode | null;\n childNodes: ViewNode[];\n prevSibling: ViewNode | null;\n nextSibling: ViewNode | null;\n _ownerDocument: any;\n _meta: any;\n\n get textContent() {\n const contents = [];\n for (const el of elementIterator(this)) {\n contents.push(el.text || el.html);\n }\n return contents.filter((c) => !!c).join(' ');\n }\n\n getElementById(id: string) {\n for (const el of elementIterator(this)) {\n if (el.nodeType === 1 && el.id === id) return el;\n }\n }\n\n getElementByClass(klass: string) {\n for (const el of elementIterator(this)) {\n if (el.nodeType === 1 && el.classList.contains(klass)) return el;\n }\n }\n\n getElementByTagName(tagName: string) {\n for (const el of elementIterator(this)) {\n if (el.nodeType === 1 && el.tagName === tagName) return el;\n }\n }\n\n querySelector(selector: string) {\n if (selector.startsWith('.')) {\n return this.getElementByClass(selector.slice(1));\n }\n\n if (selector.startsWith('#')) {\n return this.getElementById(selector.slice(1));\n }\n\n return this.getElementByTagName(selector);\n }\n\n contains(_otherElement: ViewNode) {\n return false;\n }\n\n constructor() {\n this.nodeType = null;\n this._tagName = null;\n this.parentNode = null;\n this.childNodes = [];\n this.prevSibling = null;\n this.nextSibling = null;\n\n this._ownerDocument = null;\n this._meta = null;\n this.attributes = [];\n }\n\n hasAttribute() {\n return false;\n }\n\n removeAttribute() {\n return false;\n }\n\n /* istanbul ignore next */\n toString() {\n return `${this.constructor.name}(${this.tagName})`;\n }\n\n set tagName(name) {\n this._tagName = normalizeElementName(name);\n }\n\n get tagName() {\n return this._tagName;\n }\n\n get firstChild(): ViewNode | null | undefined {\n return this.childNodes.length ? this.childNodes[0] : null;\n }\n\n get lastChild(): ViewNode | null | undefined {\n return this.childNodes.length\n ? this.childNodes[this.childNodes.length - 1]\n : null;\n }\n\n get meta() {\n if (this._meta) {\n return this._meta;\n }\n\n return (this._meta = getViewMeta(this.tagName));\n }\n\n get isConnected(): boolean {\n return Boolean(this.ownerDocument);\n }\n\n /* istanbul ignore next */\n get ownerDocument(): DocumentNode | null {\n let el = this;\n while (el != null && el.nodeType !== 9) {\n el = el.parentNode || el._ownerDocument;\n }\n\n if (el?.nodeType === 9) {\n return el as unknown as DocumentNode;\n }\n\n return null;\n }\n\n getAttribute(key: string) {\n return this[key as keyof this];\n }\n\n /* istanbul ignore next */\n setAttribute(key: string, value: any) {\n this.attributes.push({\n nodeName: key,\n nodeValue: value,\n });\n\n this[key as keyof this] = value;\n }\n\n onInsertedChild(_childNode: ViewNode, _index: number) {}\n\n onRemovedChild(_childNode: ViewNode) {}\n\n insertBefore(childNode: ViewNode, referenceNode: ViewNode) {\n if (!childNode) {\n throw new Error(`Can't insert child.`);\n }\n\n // in some rare cases insertBefore is called with a null referenceNode\n // this makes sure that it get's appended as the last child\n if (!referenceNode) {\n return this.appendChild(childNode);\n }\n\n if (referenceNode.parentNode !== this) {\n throw new Error(\n `Can't insert child, because the reference node has a different parent.`,\n );\n }\n\n if (childNode.parentNode && childNode.parentNode !== this) {\n throw new Error(\n `Can't insert child, because it already has a different parent.`,\n );\n }\n\n if (childNode.parentNode === this) {\n // we don't need to throw an error here, because it is a valid case\n // for example when switching the order of elements in the tree\n // fixes #127 - see for more details\n // fixes #240\n // throw new Error(`Can't insert child, because it is already a child.`)\n }\n\n const index = this.childNodes.indexOf(referenceNode);\n\n childNode.nextSibling = referenceNode;\n childNode.prevSibling = this.childNodes[index - 1]!;\n this.childNodes[index - 1]!.nextSibling = childNode;\n referenceNode.prevSibling = childNode;\n this.childNodes.splice(index, 0, childNode);\n childNode.parentNode = this;\n\n this.onInsertedChild(childNode, index);\n }\n\n appendChild(childNode: ViewNode) {\n if (!childNode) {\n throw new Error(`Can't append null child.`);\n }\n\n if (childNode.parentNode && childNode.parentNode !== this) {\n throw new Error(\n `Can't append child, because it already has a different parent.`,\n );\n }\n\n if (childNode.parentNode === this) {\n // we don't need to throw an error here, because it is a valid case\n // for example when switching the order of elements in the tree\n // fixes #127 - see for more details\n // fixes #240\n // throw new Error(`Can't append child, because it is already a child.`)\n }\n\n if (this.lastChild) {\n childNode.prevSibling = this.lastChild;\n this.lastChild.nextSibling = childNode;\n }\n\n this.childNodes.push(childNode);\n childNode.parentNode = this;\n\n this.onInsertedChild(childNode, this.childNodes.length - 1);\n }\n\n removeChild(childNode: ViewNode) {\n if (!childNode) {\n throw new Error(`Can't remove <null> child.`);\n }\n\n if (!childNode.parentNode) {\n throw new Error(`Can't remove child, because it has no parent.`);\n }\n\n if (childNode.parentNode !== this) {\n throw new Error(`Can't remove child, because it has a different parent.`);\n }\n\n childNode.parentNode = null;\n\n if (childNode.prevSibling) {\n childNode.prevSibling.nextSibling = childNode.nextSibling;\n }\n\n if (childNode.nextSibling) {\n childNode.nextSibling.prevSibling = childNode.prevSibling;\n }\n\n // reset the prevSibling and nextSibling. If not, a keep-alived component will\n // still have a filled nextSibling attribute so vue will not\n // insert the node again to the parent. See #220\n // childNode.prevSibling = null;\n // childNode.nextSibling = null;\n\n this.childNodes = this.childNodes.filter((node) => node !== childNode);\n this.onRemovedChild(childNode);\n }\n\n clear(node: any) {\n while (node.childNodes.length) {\n this.clear(node.firstChild);\n }\n node.parentNode.removeChild(node);\n }\n\n removeChildren() {\n while (this.childNodes.length) {\n this.clear(this.firstChild);\n }\n }\n\n firstElement() {\n for (const child of this.childNodes) {\n if (child.nodeType == 1) {\n return child;\n }\n }\n return null;\n }\n\n getBoundingClientRect(): {\n left: number;\n top: number;\n bottom: number;\n width: number;\n height: number;\n } | null {\n return null;\n }\n}\n"],"names":["elementIterator","el","child","childNodes","ViewNode","textContent","contents","push","text","html","filter","c","join","getElementById","id","nodeType","getElementByClass","klass","classList","contains","getElementByTagName","tagName","querySelector","selector","startsWith","slice","_otherElement","constructor","_defineProperty","_tagName","parentNode","prevSibling","nextSibling","_ownerDocument","_meta","attributes","hasAttribute","removeAttribute","toString","name","normalizeElementName","firstChild","length","lastChild","meta","getViewMeta","isConnected","Boolean","ownerDocument","getAttribute","key","setAttribute","value","nodeName","nodeValue","onInsertedChild","_childNode","_index","onRemovedChild","insertBefore","childNode","referenceNode","Error","appendChild","index","indexOf","splice","removeChild","node","clear","removeChildren","firstElement","getBoundingClientRect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ViewNode.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
import { Frame, StackLayout, GridLayout, RootLayout, FlexboxLayout, WrapLayout, DockLayout, AbsoluteLayout, ActionBar, ActionItem, NavigationButton, ActivityIndicator, Button, DatePicker, HtmlView, Image, Label, ListPicker, ListView, Placeholder, Progress, ScrollView, SearchBar, SegmentedBar, Slider, Switch, TabView, TabViewItem, TextField, TextView, TimePicker, FormattedString, Span, WebView, ContentView } from '@nativescript/core';
|
|
2
3
|
import { registerElement } from './element-registry.js';
|
|
3
4
|
import FrameElement from './native/FrameElement.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-registry.js","sources":[
|
|
1
|
+
{"version":3,"file":"setup-registry.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index.js
CHANGED