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.
Files changed (65) hide show
  1. package/declarations/dom/element-registry.d.ts +1 -1
  2. package/declarations/dom/native/NativeElementNode.d.ts +3 -3
  3. package/declarations/dom/nodes/DocumentNode.d.ts +2 -2
  4. package/declarations/dom/nodes/TextNode.d.ts +2 -0
  5. package/declarations/dom/nodes/ViewNode.d.ts +1 -1
  6. package/declarations/instance-initializers/history.d.ts +1 -1
  7. package/dist/{_rollupPluginBabelHelpers-apNPIsxw.js → _rollupPluginBabelHelpers-ClPBvGFm.js} +2 -1
  8. package/dist/_rollupPluginBabelHelpers-ClPBvGFm.js.map +1 -0
  9. package/dist/components/InspectorSupport.js +3 -2
  10. package/dist/components/InspectorSupport.js.map +1 -1
  11. package/dist/components/ListView.js +2 -1
  12. package/dist/components/ListView.js.map +1 -1
  13. package/dist/components/RadListView.js +2 -1
  14. package/dist/components/RadListView.js.map +1 -1
  15. package/dist/components/index.js +1 -0
  16. package/dist/components/index.js.map +1 -1
  17. package/dist/dom/element-registry.js +1 -0
  18. package/dist/dom/element-registry.js.map +1 -1
  19. package/dist/dom/native/FrameElement.js +2 -1
  20. package/dist/dom/native/FrameElement.js.map +1 -1
  21. package/dist/dom/native/NativeElementNode.js +2 -1
  22. package/dist/dom/native/NativeElementNode.js.map +1 -1
  23. package/dist/dom/native/PageElement.js +1 -0
  24. package/dist/dom/native/PageElement.js.map +1 -1
  25. package/dist/dom/nodes/CommentNode.js +2 -1
  26. package/dist/dom/nodes/CommentNode.js.map +1 -1
  27. package/dist/dom/nodes/DocumentNode.js +2 -1
  28. package/dist/dom/nodes/DocumentNode.js.map +1 -1
  29. package/dist/dom/nodes/ElementNode.js +2 -1
  30. package/dist/dom/nodes/ElementNode.js.map +1 -1
  31. package/dist/dom/nodes/PropertyNode.js +1 -0
  32. package/dist/dom/nodes/PropertyNode.js.map +1 -1
  33. package/dist/dom/nodes/TextNode.js +8 -1
  34. package/dist/dom/nodes/TextNode.js.map +1 -1
  35. package/dist/dom/nodes/ViewNode.js +2 -1
  36. package/dist/dom/nodes/ViewNode.js.map +1 -1
  37. package/dist/dom/setup-registry.js +1 -0
  38. package/dist/dom/setup-registry.js.map +1 -1
  39. package/dist/index.js +1 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/instance-initializers/history.js +1 -0
  42. package/dist/instance-initializers/history.js.map +1 -1
  43. package/dist/instance-initializers/webpack-hot-reload.js +1 -0
  44. package/dist/instance-initializers/webpack-hot-reload.js.map +1 -1
  45. package/dist/services/history.js +3 -2
  46. package/dist/services/history.js.map +1 -1
  47. package/dist/services/native-router.js +2 -1
  48. package/dist/services/native-router.js.map +1 -1
  49. package/dist/services/webpack-hot-reload.js +2 -1
  50. package/dist/services/webpack-hot-reload.js.map +1 -1
  51. package/dist/setup-inspector-support.js +2 -1
  52. package/dist/setup-inspector-support.js.map +1 -1
  53. package/dist/setup.js +4 -3
  54. package/dist/setup.js.map +1 -1
  55. package/dist/types/glint.js +1 -0
  56. package/dist/types/glint.js.map +1 -1
  57. package/dist/utils/babel-plugin.js +4 -1
  58. package/dist/utils/babel-plugin.ts +22 -17
  59. package/dist/utils/glimmer-env.js +7 -3
  60. package/package.json +39 -35
  61. package/types/globals.d.ts +42 -0
  62. package/declarations/types/globals.d.ts +0 -56
  63. package/dist/_rollupPluginBabelHelpers-apNPIsxw.js.map +0 -1
  64. package/dist/types/globals.js +0 -2
  65. 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: null;
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 | undefined;
16
- set style(v: import("@nativescript/core").Style | undefined);
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
- } | null;
47
+ };
48
48
  }
@@ -42,9 +42,9 @@ export default class DocumentNode extends ViewNode {
42
42
  bottom: any;
43
43
  width: any;
44
44
  height: any;
45
- } | null;
45
+ };
46
46
  };
47
47
  querySelectorAll(selector: string): {
48
48
  getAttribute(): string;
49
- } | undefined;
49
+ };
50
50
  }
@@ -6,4 +6,6 @@ export default class TextNode extends ViewNode {
6
6
  set parentNode(node: ViewNode | null);
7
7
  get parentNode(): ViewNode | null;
8
8
  setText(text: string): void;
9
+ get nodeValue(): string;
10
+ set nodeValue(value: string);
9
11
  }
@@ -38,7 +38,7 @@ export default class ViewNode {
38
38
  removeChild(childNode: ViewNode): void;
39
39
  clear(node: any): void;
40
40
  removeChildren(): void;
41
- firstElement(): ViewNode | null;
41
+ firstElement(): ViewNode;
42
42
  getBoundingClientRect(): {
43
43
  left: number;
44
44
  top: number;
@@ -1,7 +1,7 @@
1
1
  import ApplicationInstance from '@ember/application/instance';
2
2
  declare const Initializer: {
3
3
  name: string;
4
- after: never[];
4
+ after: any[];
5
5
  initialize(application: ApplicationInstance): void;
6
6
  };
7
7
  export default Initializer;
@@ -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-apNPIsxw.js.map
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
- import { _ as _defineProperty } from '../_rollupPluginBabelHelpers-apNPIsxw.js';
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
- let i = setInterval(() => {
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":["../../src/components/InspectorSupport.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { modifier } from 'ember-modifier';\nimport ViewNode from '../dom/nodes/ViewNode.ts';\nimport NativeElementNode from '../dom/native/NativeElementNode.ts';\nimport DocumentNode from '../dom/nodes/DocumentNode.ts';\nimport type PageElement from '../dom/native/PageElement.ts';\n\nconst ref = modifier(function setRef(element: any, [context, key]: any) {\n // console.log('ref', element, context, key);\n context[key] = element;\n});\n\ninterface InspectorSupportInterface {\n Blocks: {\n default: [];\n };\n}\n\nexport default class InspectorSupport extends Component<InspectorSupportInterface> {\n declare highlight: NativeElementNode;\n declare tooltip: NativeElementNode;\n declare page: PageElement;\n declare ownerDocument: DocumentNode;\n setupInspector = () => {\n let i = setInterval(() => {\n const viewInspection =\n globalThis.EmberInspector?.viewDebug?.viewInspection;\n if (viewInspection && this.tooltip) {\n this.tooltip.querySelector = () => {\n return {\n style: {},\n };\n };\n viewInspection._showTooltip = () => {};\n const _showHighlight = viewInspection._showHighlight;\n viewInspection._hideHighlight = () => {\n this.highlight.setAttribute('visibility', 'collapse');\n };\n viewInspection._showHighlight = (node: ViewNode, rect: any) => {\n _showHighlight.call(this, node, rect);\n this.highlight.setAttribute('visibility', 'visible');\n const style = this.highlight.style as any;\n style.width = (style.width as any).value;\n style.height = (style.height as any).value;\n const pos = this.page.nativeView.getLocationInWindow() || {\n x: 0,\n y: 0,\n };\n this.highlight.setAttribute(\n 'left',\n Number(style.left!.replace('px', '')) - pos.x,\n );\n this.highlight.setAttribute(\n 'top',\n Number(style.top!.replace('px', '')) - pos.y,\n );\n };\n viewInspection.highlight = this.highlight;\n viewInspection.tooltip = this.tooltip;\n const id = viewInspection.id;\n\n viewInspection.highlight.id = `ember-inspector-highlight-${id}`;\n viewInspection.tooltip.id = `ember-inspector-tooltip-${id}`;\n clearInterval(i);\n }\n }, 1000);\n };\n\n setupHighlight = modifier(\n function setupHighlight(\n this: InspectorSupport,\n element: NativeElementNode,\n ) {\n this.highlight = element;\n this.highlight.setAttribute('visibility', 'collapse');\n this.ownerDocument = element.ownerDocument!;\n }.bind(this),\n );\n setupTooltip = modifier(\n function setupTooltip(this: InspectorSupport, element: NativeElementNode) {\n this.tooltip = element;\n this.tooltip.setAttribute('visibility', 'collapse');\n }.bind(this),\n );\n <template>\n <absolute-layout {{ref this 'page'}}>\n <html-view {{this.setupHighlight}} />\n <html-view {{this.setupTooltip}} zIndex='99' />\n {{(this.setupInspector)}}\n <content-view left='0' top='0' width='100%' height='100%'>\n <frame>\n {{yield}}\n </frame>\n </content-view>\n </absolute-layout>\n </template>\n}\n"],"names":["ref","modifier","setRef","element","context","key","InspectorSupport","Component","constructor","args","_defineProperty","setupInspector","i","setInterval","viewInspection","globalThis","EmberInspector","viewDebug","tooltip","querySelector","style","_showTooltip","_showHighlight","_hideHighlight","highlight","setAttribute","node","rect","call","width","value","height","pos","page","nativeView","getLocationInWindow","x","y","Number","left","replace","top","id","clearInterval","setupHighlight","ownerDocument","bind","setupTooltip","_InspectorSupport","template_fd9b2463e5f141cfb5666b64daa1f11a","strictMode","scope"],"mappings":"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"}
1
+ {"version":3,"file":"InspectorSupport.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { _ as _defineProperty, a as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../_rollupPluginBabelHelpers-apNPIsxw.js';
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":["../../src/components/ListView.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { modifier } from 'ember-modifier';\nimport type {\n ListView as NativeListView,\n StackLayout,\n} from '@nativescript/core';\nimport { tracked } from '@glimmer/tracking';\nimport NativeElementNode from '../dom/native/NativeElementNode.ts';\nimport DocumentNode from '../dom/nodes/DocumentNode.ts';\n\ninterface ListViewInterface<T> {\n Element: NativeElementNode<NativeListView>;\n Args: {\n items: T[];\n key?: string;\n };\n Blocks: {\n item: [T | null];\n };\n}\n\ntype Ref<T> = {\n index: number;\n item: T | null;\n element: NativeElementNode<any>;\n};\n\nexport default class ListView<T> extends Component<ListViewInterface<T>> {\n @tracked elementRefs: Ref<T>[] = [];\n\n get items(): Ref<T>[] {\n return this.elementRefs\n .filter((x) => x.index < this.args.items.length)\n .map(({ element, index }) => {\n return {\n index,\n item: this.args.items[index] || null,\n element,\n };\n });\n }\n\n get itemKey() {\n if (this.args.key) {\n return 'item.' + this.args.key;\n }\n return 'item';\n }\n\n cleanup(listView: NativeElementNode<NativeListView>) {\n for (const elementRef of this.elementRefs) {\n const n = elementRef.element.nativeView.nativeViewProtected;\n if (!n || !n.getWindowToken()) {\n elementRef.element.parentNode?.removeChild(elementRef.element);\n ((listView.nativeView as any)._realizedItems as any).delete(\n elementRef.element.nativeView,\n );\n }\n }\n this.elementRefs = this.elementRefs.filter(\n (e) => !!e.element.nativeView.nativeViewProtected?.getWindowToken(),\n ) as Ref<T>[];\n }\n\n setupListView = modifier(\n function setupListView(\n this: ListView<T>,\n listView: NativeElementNode<NativeListView>,\n ) {\n const listViewComponent = this;\n function _getDefaultItemContent(index: number) {\n listViewComponent.cleanup(listView);\n const sl = DocumentNode.createElement('stack-layout');\n listView.appendChild(sl);\n listViewComponent.elementRefs.push({\n element: sl,\n item: null,\n index,\n });\n listViewComponent.elementRefs = [...listViewComponent.elementRefs];\n return sl.nativeView;\n }\n (listView.nativeView as any)._getDefaultItemContent =\n _getDefaultItemContent;\n (listView.nativeView as any)._prepareItem = (\n stackLayout: StackLayout,\n index: number,\n ) => {\n const ref = listViewComponent.elementRefs.find(\n (e) => e.element.nativeView === stackLayout,\n )!;\n if (ref.index === index) {\n return;\n }\n ref.index = index;\n listViewComponent.elementRefs = [...listViewComponent.elementRefs];\n };\n }.bind(this),\n );\n\n <template>\n <list-view {{this.setupListView}} items={{@items}} ...attributes />\n {{#each this.items key=this.itemKey as |item|}}\n {{#in-element item.element}}\n {{yield item.item to='item'}}\n {{/in-element}}\n {{/each}}\n </template>\n}\n"],"names":["ListView","_class","_ListView","Component","constructor","args","_initializerDefineProperty","_descriptor","_defineProperty","modifier","setupListView","listView","listViewComponent","_getDefaultItemContent","index","cleanup","sl","DocumentNode","createElement","appendChild","elementRefs","push","element","item","nativeView","_prepareItem","stackLayout","ref","find","e","bind","items","filter","x","length","map","itemKey","key","elementRef","n","nativeViewProtected","getWindowToken","parentNode","removeChild","_realizedItems","delete","setComponentTemplate","template_fd9b2463e5f141cfb5666b64daa1f11a","strictMode","_applyDecoratedDescriptor","prototype","tracked"],"mappings":"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"}
1
+ {"version":3,"file":"ListView.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { a as _applyDecoratedDescriptor, _ as _defineProperty, b as _initializerDefineProperty } from '../_rollupPluginBabelHelpers-apNPIsxw.js';
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":["../../src/components/RadListView.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { modifier } from 'ember-modifier';\nimport { tracked } from '@glimmer/tracking';\nimport {\n RadListView as NativeRadListView,\n ListViewViewType,\n} from 'nativescript-ui-listview';\nimport NativeElementNode from '../dom/native/NativeElementNode.ts';\nimport DocumentNode from '../dom/nodes/DocumentNode.ts';\nimport type { StackLayout } from '@nativescript/core';\n\nclass TrackedMap extends Map<any, any> {\n @tracked counter = 0;\n set(key: any, value: any): this {\n this.counter += 1;\n super.set(key, value);\n return this;\n }\n\n get(key: any): any {\n if (this.counter === 0) return null;\n return super.get(key);\n }\n\n entries(): any {\n if (this.counter === 0) return super.entries();\n return super.entries();\n }\n}\n\ninterface RadListViewInterface<T> {\n Element: NativeElementNode<NativeRadListView>;\n Args: {\n items: T[];\n key?: string;\n };\n Blocks: {\n header: [];\n footer: [];\n item: [T];\n };\n}\n\nexport default class RadListView<T = any> extends Component<\n RadListViewInterface<T>\n> {\n elementRefs: TrackedMap = new TrackedMap();\n @tracked private listView: NativeElementNode<NativeRadListView> | undefined;\n private declare headerElement: NativeElementNode<StackLayout>;\n private declare footerElement: NativeElementNode<StackLayout>;\n\n cleanup(listView: NativeElementNode<NativeRadListView>) {\n for (const [element] of [...this.elementRefs.entries()]) {\n const n = element.nativeView.nativeViewProtected;\n if (!n || !n.getWindowToken()) {\n this.elementRefs.delete(element);\n const idx = listView.childNodes.findIndex((c) => c === element);\n if (idx >= 0) {\n listView.childNodes.splice(idx, 1);\n }\n }\n }\n }\n\n get itemKey() {\n if (this.args.key) {\n return 'item.' + this.args.key;\n }\n return 'item';\n }\n\n get items() {\n return [...this.elementRefs.entries()].map(([element, item]) => {\n return {\n item,\n element,\n };\n });\n }\n\n setupListView = modifier(\n function setupListView(\n this: RadListView,\n listView: NativeElementNode<NativeRadListView>,\n ) {\n this.listView = listView;\n listView.nativeView.on('itemRecyclingInternal', () => {\n this.cleanup(listView);\n });\n const listViewComponent = this;\n function _getDefaultItemContent() {\n const sl = DocumentNode.createElement('stack-layout');\n listView.appendChild(sl);\n Object.defineProperty(sl.nativeView, 'parent', {\n get() {\n return this._parent;\n },\n set(v: any) {\n this._parent = v;\n Object.defineProperty(v, 'bindingContext', {\n get() {\n return listViewComponent.elementRefs.get(sl);\n },\n set(v: any) {\n listViewComponent.elementRefs.set(sl, v);\n },\n });\n },\n });\n return sl.nativeView;\n }\n listView.nativeView.itemViewLoader = (type) => {\n switch (type) {\n case ListViewViewType.ItemView:\n return _getDefaultItemContent();\n case ListViewViewType.HeaderView:\n return this.headerElement.nativeView;\n case ListViewViewType.FooterView:\n return this.footerElement.nativeView;\n }\n return DocumentNode.createElement('stack-layout').nativeView;\n };\n }.bind(this),\n );\n\n setupHeader = () => {\n this.headerElement = DocumentNode.createElement('stack-layout');\n };\n\n setupFooter = () => {\n this.footerElement = DocumentNode.createElement('stack-layout');\n };\n\n <template>\n <rad-list-view {{this.setupListView}} items={{@items}} ...attributes />\n {{#if this.listView}}\n {{#if (has-block 'header')}}\n {{this.setupHeader}}\n {{#in-element this.headerElement}}\n {{yield to='header'}}\n {{/in-element}}\n {{/if}}\n {{#each this.items key=this.itemKey as |item|}}\n {{#in-element item.element}}\n {{yield item.item to='item'}}\n {{/in-element}}\n {{/each}}\n {{#if (has-block 'footer')}}\n {{this.setupFooter}}\n {{#in-element this.footerElement}}\n {{yield to='footer'}}\n {{/in-element}}\n {{/if}}\n {{/if}}\n </template>\n}\n"],"names":["TrackedMap","_class","Map","constructor","args","_initializerDefineProperty","_descriptor","set","key","value","counter","get","entries","_applyDecoratedDescriptor","prototype","tracked","RadListView","_class2","_RadListView","Component","_defineProperty","_descriptor2","modifier","setupListView","listView","nativeView","on","cleanup","listViewComponent","_getDefaultItemContent","sl","DocumentNode","createElement","appendChild","Object","defineProperty","_parent","v","elementRefs","itemViewLoader","type","ListViewViewType","ItemView","HeaderView","headerElement","FooterView","footerElement","bind","setupHeader","setupFooter","element","n","nativeViewProtected","getWindowToken","delete","idx","childNodes","findIndex","c","splice","itemKey","items","map","item","setComponentTemplate","template_fd9b2463e5f141cfb5666b64daa1f11a","strictMode"],"mappings":"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"}
1
+ {"version":3,"file":"RadListView.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+
1
2
  export { default as ListView } from './ListView.js';
2
3
  export { default as RadListView } from './RadListView.js';
3
4
  export { default as InspectorSupport } from './InspectorSupport.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+
1
2
  const elementMap = {};
2
3
  const dashRegExp = /-/g;
3
4
  const defaultViewMeta = {
@@ -1 +1 @@
1
- {"version":3,"file":"element-registry.js","sources":["../../src/dom/element-registry.ts"],"sourcesContent":["import type { NativeElementsTagNameMap } from './native-elements-tag-name-map.ts';\nimport type NativeElementNode from './native/NativeElementNode.ts';\n\nconst elementMap: Record<string, any> = {};\nconst dashRegExp = /-/g;\n\nconst defaultViewMeta = {\n skipAddToDom: false,\n isUnaryTag: false,\n tagNamespace: '',\n canBeLeftOpenTag: false,\n component: null,\n};\n\nexport function normalizeElementName(elementName: string) {\n return `${elementName.replace(dashRegExp, '').toLowerCase()}`;\n}\n\nexport function registerElement(\n elementName: string,\n resolver: () => NativeElementNode,\n meta: object | null = null,\n) {\n const normalizedName = normalizeElementName(elementName);\n\n meta = Object.assign({}, defaultViewMeta, meta);\n\n if (elementMap[normalizedName]) {\n throw new Error(`Element for ${elementName} already registered.`);\n }\n\n const entry = {\n resolver: resolver,\n meta: meta,\n };\n const dashName = elementName\n .replace(/([a-zA-Z])(?=[A-Z])/g, '$1-')\n .toLowerCase();\n elementMap[normalizedName] = entry;\n elementMap[dashName] = entry;\n elementMap[elementName] = entry;\n}\n\nexport function getElementMap() {\n return elementMap;\n}\n\nexport function getViewClass(elementName: string) {\n const normalizedName = normalizeElementName(elementName);\n const entry = elementMap[normalizedName];\n\n if (!entry) {\n throw new TypeError(`No known component for element ${elementName}.`);\n }\n\n try {\n return entry.resolver();\n } catch (e) {\n throw new TypeError(`Could not load view for: ${elementName}. ${e}`);\n }\n}\n\nexport function getViewMeta(elementName: string) {\n const normalizedName = normalizeElementName(elementName);\n\n let meta = defaultViewMeta;\n const entry = elementMap[normalizedName];\n\n if (entry && entry.meta) {\n meta = entry.meta;\n }\n\n return meta;\n}\n\nexport function isKnownView(elementName: string) {\n return elementMap[normalizeElementName(elementName)];\n}\n\nexport function createElement<T extends keyof NativeElementsTagNameMap>(\n elementName: T,\n): NativeElementsTagNameMap[T] {\n const normalizedName = normalizeElementName(elementName);\n const elementDefinition = elementMap[normalizedName];\n if (!elementDefinition) {\n throw new TypeError(`No known component for element ${elementName}.`);\n }\n return elementDefinition.resolver();\n}\n"],"names":["elementMap","dashRegExp","defaultViewMeta","skipAddToDom","isUnaryTag","tagNamespace","canBeLeftOpenTag","component","normalizeElementName","elementName","replace","toLowerCase","registerElement","resolver","meta","normalizedName","Object","assign","Error","entry","dashName","getElementMap","getViewClass","TypeError","e","getViewMeta","isKnownView","createElement","elementDefinition"],"mappings":"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"}
1
+ {"version":3,"file":"element-registry.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-apNPIsxw.js';
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":["../../../src/dom/native/FrameElement.ts"],"sourcesContent":["import { Frame } from '@nativescript/core/ui/frame';\nimport type { NavigationTransition, View } from '@nativescript/core';\n\nimport { createElement } from '../element-registry.ts';\nimport ViewNode from '../nodes/ViewNode.ts';\nimport NativeElementNode from './NativeElementNode.ts';\nimport { Page } from '@nativescript/core/ui/page';\n\nlet nextTransition: {\n transition: NavigationTransition | undefined;\n animated: boolean | undefined;\n} | null = null;\nexport function setNextTransition(\n transition?: NavigationTransition,\n animated = true,\n) {\n nextTransition = { transition, animated };\n}\n\nexport default class FrameElement extends NativeElementNode {\n currentPage: any;\n\n constructor() {\n super('frame', Frame, null);\n }\n\n setAttribute(key: string, value: any) {\n if (key.toLowerCase() == 'defaultpage') {\n const dummy = createElement('fragment');\n (this.nativeView as Frame).navigate({\n create: () =>\n (dummy.firstElement() as NativeElementNode).nativeView as View,\n });\n }\n super.setAttribute(key, value);\n }\n\n get nativeView(): Frame {\n return super.nativeView as Frame;\n }\n\n set nativeView(view: Frame) {\n super.nativeView = view;\n }\n\n //In regular native script, Frame elements aren't meant to have children, we instead allow it to have one.. a page.. as a convenience\n // and set the instance as the default page by navigating to it.\n appendChild(childNode: ViewNode) {\n //only handle page nodes\n if (\n childNode instanceof NativeElementNode &&\n childNode.nativeView instanceof Page\n ) {\n this.currentPage = childNode.nativeView;\n this.nativeView.navigate({\n create: () => childNode.nativeView,\n clearHistory: true,\n backstackVisible: false,\n transition: nextTransition?.transition || {},\n animated: nextTransition?.animated,\n });\n nextTransition = null;\n }\n super.appendChild(childNode);\n return;\n }\n\n onInsertedChild(childNode: ViewNode) {\n if (\n childNode instanceof NativeElementNode &&\n childNode.nativeView instanceof Page &&\n this.currentPage !== childNode.nativeView\n ) {\n this.nativeView.navigate({\n create: () => childNode.nativeView,\n clearHistory: true,\n backstackVisible: false,\n transition: nextTransition?.transition || {},\n animated: nextTransition?.animated,\n });\n nextTransition = null;\n }\n }\n\n removeChild(childNode: NativeElementNode) {\n if (!childNode) {\n return;\n }\n\n if (!childNode.parentNode) {\n return;\n }\n\n if (childNode.parentNode !== this) {\n return;\n }\n\n childNode.parentNode = null;\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 childNode.removeChildren();\n this.onRemovedChild(childNode);\n }\n}\n"],"names":["nextTransition","setNextTransition","transition","animated","FrameElement","NativeElementNode","constructor","Frame","_defineProperty","setAttribute","key","value","toLowerCase","dummy","createElement","nativeView","navigate","create","firstElement","view","appendChild","childNode","Page","currentPage","clearHistory","backstackVisible","onInsertedChild","removeChild","parentNode","prevSibling","nextSibling","childNodes","filter","node","removeChildren","onRemovedChild"],"mappings":"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"}
1
+ {"version":3,"file":"FrameElement.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-apNPIsxw.js';
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,3 +1,4 @@
1
+
1
2
  import { Page } from '@nativescript/core/ui/page';
2
3
  import NativeElementNode from './NativeElementNode.js';
3
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"PageElement.js","sources":["../../../src/dom/native/PageElement.ts"],"sourcesContent":["import { Page } from '@nativescript/core/ui/page';\n\nimport NativeElementNode from './NativeElementNode.ts';\n\nexport default class PageElement extends NativeElementNode<Page> {\n constructor() {\n super('page', Page, null);\n }\n}\n"],"names":["PageElement","NativeElementNode","constructor","Page"],"mappings":";;;AAIe,MAAMA,WAAW,SAASC,iBAAiB,CAAO;AAC/DC,EAAAA,WAAWA,GAAG;AACZ,IAAA,KAAK,CAAC,MAAM,EAAEC,IAAI,EAAE,IAAI,CAAC;AAC3B;AACF;;;;"}
1
+ {"version":3,"file":"PageElement.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-apNPIsxw.js';
1
+
2
+ import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-ClPBvGFm.js';
2
3
  import ElementNode from './ElementNode.js';
3
4
 
4
5
  class CommentNode extends ElementNode {
@@ -1 +1 @@
1
- {"version":3,"file":"CommentNode.js","sources":["../../../src/dom/nodes/CommentNode.ts"],"sourcesContent":["import ElementNode from './ElementNode.ts';\n\nexport default class CommentNode extends ElementNode {\n nodeType: any;\n text: any;\n constructor(text: any) {\n super('comment');\n\n this.nodeType = 8;\n this.text = text;\n }\n}\n"],"names":["CommentNode","ElementNode","constructor","text","_defineProperty","nodeType"],"mappings":";;;AAEe,MAAMA,WAAW,SAASC,WAAW,CAAC;EAGnDC,WAAWA,CAACC,IAAS,EAAE;IACrB,KAAK,CAAC,SAAS,CAAC;IAAAC,eAAA,CAAA,IAAA,EAAA,UAAA,EAAA,MAAA,CAAA;IAAAA,eAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,CAAA;IAEhB,IAAI,CAACC,QAAQ,GAAG,CAAC;IACjB,IAAI,CAACF,IAAI,GAAGA,IAAI;AAClB;AACF;;;;"}
1
+ {"version":3,"file":"CommentNode.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-apNPIsxw.js';
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,4 +1,5 @@
1
- import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-apNPIsxw.js';
1
+
2
+ import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-ClPBvGFm.js';
2
3
  import ViewNode from './ViewNode.js';
3
4
 
4
5
  var _ElementNode;
@@ -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,3 +1,4 @@
1
+
1
2
  import ElementNode from './ElementNode.js';
2
3
 
3
4
  class PropertyNode extends ElementNode {
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyNode.js","sources":["../../../src/dom/nodes/PropertyNode.ts"],"sourcesContent":["import ElementNode from './ElementNode.ts';\nimport ViewNode from './ViewNode.ts';\n\nexport default class PropertyNode extends ElementNode {\n constructor(tagName: string) {\n super(tagName);\n this.nodeType = 7; //processing instruction\n }\n\n get propertyName() {\n return this.getAttribute('key') as string;\n }\n\n onInsertedChild() {\n this.setOnNode(this.parentNode);\n }\n\n onRemovedChild() {\n this.setOnNode(this.parentNode);\n }\n\n /* istanbul ignore next */\n toString() {\n return `${this.constructor.name}(${this.tagName}, ${this.propertyName})`;\n }\n\n setOnNode(parent: ViewNode | null) {\n if (parent && this.propertyName) {\n const el = this.firstElement();\n parent.setAttribute(this.propertyName, el);\n }\n }\n\n clearOnNode(parent: ViewNode) {\n if (parent && this.propertyName) {\n parent.setAttribute(this.propertyName, null);\n }\n }\n}\n"],"names":["PropertyNode","ElementNode","constructor","tagName","nodeType","propertyName","getAttribute","onInsertedChild","setOnNode","parentNode","onRemovedChild","toString","name","parent","el","firstElement","setAttribute","clearOnNode"],"mappings":";;AAGe,MAAMA,YAAY,SAASC,WAAW,CAAC;EACpDC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;AACd,IAAA,IAAI,CAACC,QAAQ,GAAG,CAAC,CAAC;AACpB;EAEA,IAAIC,YAAYA,GAAG;AACjB,IAAA,OAAO,IAAI,CAACC,YAAY,CAAC,KAAK,CAAC;AACjC;AAEAC,EAAAA,eAAeA,GAAG;AAChB,IAAA,IAAI,CAACC,SAAS,CAAC,IAAI,CAACC,UAAU,CAAC;AACjC;AAEAC,EAAAA,cAAcA,GAAG;AACf,IAAA,IAAI,CAACF,SAAS,CAAC,IAAI,CAACC,UAAU,CAAC;AACjC;;AAEA;AACAE,EAAAA,QAAQA,GAAG;AACT,IAAA,OAAO,CAAG,EAAA,IAAI,CAACT,WAAW,CAACU,IAAI,CAAA,CAAA,EAAI,IAAI,CAACT,OAAO,CAAA,EAAA,EAAK,IAAI,CAACE,YAAY,CAAG,CAAA,CAAA;AAC1E;EAEAG,SAASA,CAACK,MAAuB,EAAE;AACjC,IAAA,IAAIA,MAAM,IAAI,IAAI,CAACR,YAAY,EAAE;AAC/B,MAAA,MAAMS,EAAE,GAAG,IAAI,CAACC,YAAY,EAAE;MAC9BF,MAAM,CAACG,YAAY,CAAC,IAAI,CAACX,YAAY,EAAES,EAAE,CAAC;AAC5C;AACF;EAEAG,WAAWA,CAACJ,MAAgB,EAAE;AAC5B,IAAA,IAAIA,MAAM,IAAI,IAAI,CAACR,YAAY,EAAE;MAC/BQ,MAAM,CAACG,YAAY,CAAC,IAAI,CAACX,YAAY,EAAE,IAAI,CAAC;AAC9C;AACF;AACF;;;;"}
1
+ {"version":3,"file":"PropertyNode.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-apNPIsxw.js';
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":["../../../src/dom/nodes/TextNode.ts"],"sourcesContent":["import { TextBase } from '@nativescript/core';\nimport ViewNode from './ViewNode.ts';\nimport NativeElementNode from '../native/NativeElementNode.ts';\n\nexport default class TextNode extends ViewNode {\n text: any;\n private _parentNode: ViewNode | null = null;\n constructor(text: string) {\n super();\n\n this.nodeType = 3;\n this.text = text;\n\n this._meta = {\n skipAddToDom: true,\n };\n }\n\n // @ts-expect-error override parent\n set parentNode(node: ViewNode | null) {\n this._parentNode = node;\n this.setText(this.text);\n }\n\n get parentNode() {\n return this._parentNode;\n }\n\n setText(text: string) {\n this.text = text;\n if (\n this.parentNode instanceof NativeElementNode &&\n this.parentNode?.nativeView instanceof TextBase\n ) {\n this.parentNode.updateText();\n }\n }\n}\n"],"names":["TextNode","ViewNode","constructor","text","_defineProperty","nodeType","_meta","skipAddToDom","parentNode","node","_parentNode","setText","NativeElementNode","nativeView","TextBase","updateText"],"mappings":";;;;;AAIe,MAAMA,QAAQ,SAASC,QAAQ,CAAC;EAG7CC,WAAWA,CAACC,IAAY,EAAE;AACxB,IAAA,KAAK,EAAE;IAAAC,eAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAAAA,IAAAA,eAAA,sBAF8B,IAAI,CAAA;IAIzC,IAAI,CAACC,QAAQ,GAAG,CAAC;IACjB,IAAI,CAACF,IAAI,GAAGA,IAAI;IAEhB,IAAI,CAACG,KAAK,GAAG;AACXC,MAAAA,YAAY,EAAE;KACf;AACH;;AAEA;EACA,IAAIC,UAAUA,CAACC,IAAqB,EAAE;IACpC,IAAI,CAACC,WAAW,GAAGD,IAAI;AACvB,IAAA,IAAI,CAACE,OAAO,CAAC,IAAI,CAACR,IAAI,CAAC;AACzB;EAEA,IAAIK,UAAUA,GAAG;IACf,OAAO,IAAI,CAACE,WAAW;AACzB;EAEAC,OAAOA,CAACR,IAAY,EAAE;IACpB,IAAI,CAACA,IAAI,GAAGA,IAAI;AAChB,IAAA,IACE,IAAI,CAACK,UAAU,YAAYI,iBAAiB,IAC5C,IAAI,CAACJ,UAAU,EAAEK,UAAU,YAAYC,QAAQ,EAC/C;AACA,MAAA,IAAI,CAACN,UAAU,CAACO,UAAU,EAAE;AAC9B;AACF;AACF;;;;"}
1
+ {"version":3,"file":"TextNode.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { _ as _defineProperty } from '../../_rollupPluginBabelHelpers-apNPIsxw.js';
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":["../../src/dom/setup-registry.ts"],"sourcesContent":["// Largely taken from the Vue implimentation\nimport {\n View,\n AbsoluteLayout,\n ActionBar,\n ActionItem,\n NavigationButton,\n ActivityIndicator,\n Placeholder,\n Button,\n DatePicker,\n FlexboxLayout,\n DockLayout,\n FormattedString,\n Span,\n GridLayout,\n HtmlView,\n Label,\n ListPicker,\n StackLayout,\n ScrollView,\n Switch,\n TabView,\n TabViewItem,\n TextField,\n TextView,\n WebView,\n WrapLayout,\n ContentView,\n ListView,\n Image,\n Frame,\n RootLayout,\n Progress,\n SearchBar,\n SegmentedBar,\n Slider,\n TimePicker,\n} from '@nativescript/core';\n\nimport { registerElement } from './element-registry.ts';\nimport FrameElement from './native/FrameElement.ts';\nimport NativeElementNode, {\n type ComponentMeta,\n} from './native/NativeElementNode.ts';\nimport PageElement from './native/PageElement.ts';\n\nexport function registerNativeElement(\n elementName: string,\n resolver: () => typeof View,\n meta: ComponentMeta | null = null,\n) {\n registerElement(\n elementName,\n () => new NativeElementNode(elementName, resolver(), meta),\n );\n}\n\nexport function registerElements() {\n registerElement('head', () => null as any, {\n insertChild() {},\n });\n registerElement('style', () => new NativeElementNode('style', null));\n registerElement('div', () => Frame as any, {\n insertChild(parentNode: any, childNode: any, _atIndex: any) {\n //dont bother\n parentNode.appendChild(childNode);\n },\n });\n // Completed\n registerNativeElement('StackLayout', () => StackLayout);\n registerNativeElement('GridLayout', () => GridLayout);\n registerNativeElement('RootLayout', () => RootLayout);\n registerNativeElement('FlexboxLayout', () => FlexboxLayout);\n registerNativeElement('WrapLayout', () => WrapLayout);\n registerNativeElement('DockLayout', () => DockLayout);\n registerNativeElement('AbsoluteLayout', () => AbsoluteLayout);\n\n registerElement('Frame', () => new FrameElement());\n registerElement('Page', () => new PageElement());\n registerNativeElement('ActionBar', () => ActionBar);\n registerNativeElement('ActionItem', () => ActionItem as any);\n registerNativeElement('NavigationButton', () => NavigationButton as any);\n registerNativeElement('ActivityIndicator', () => ActivityIndicator);\n registerNativeElement('Button', () => Button);\n registerNativeElement('DatePicker', () => DatePicker);\n registerNativeElement('HtmlView', () => HtmlView);\n registerNativeElement('Image', () => Image);\n registerNativeElement('Label', () => Label);\n registerNativeElement('ListPicker', () => ListPicker);\n registerNativeElement('ListView', () => ListView);\n registerNativeElement('Comment', () => Placeholder);\n registerNativeElement('Placeholder', () => Placeholder);\n registerNativeElement('Progress', () => Progress);\n registerNativeElement('ScrollView', () => ScrollView);\n registerNativeElement('SearchBar', () => SearchBar);\n registerNativeElement('SegmentedBar', () => SegmentedBar);\n registerNativeElement('Slider', () => Slider);\n registerNativeElement('Switch', () => Switch);\n registerNativeElement('TabView', () => TabView);\n registerNativeElement('TabViewItem', () => TabViewItem as any);\n registerNativeElement('TextField', () => TextField);\n registerNativeElement('TextView', () => TextView);\n registerNativeElement('TimePicker', () => TimePicker);\n registerNativeElement('FormattedString', () => FormattedString as any, {\n insertChild(\n parentNode: NativeElementNode<FormattedString>,\n childNode: NativeElementNode<Span>,\n atIndex,\n ) {\n const parent = parentNode.nativeView;\n const child = childNode.nativeView;\n parent.spans.splice(atIndex, 0, child);\n },\n });\n registerNativeElement('Span', () => Span as any);\n registerNativeElement('WebView', () => WebView);\n registerNativeElement('ContentView', () => ContentView);\n\n // Not Complete\n registerElement('Fragment', () => new NativeElementNode('fragment', null));\n}\n"],"names":["registerNativeElement","elementName","resolver","meta","registerElement","NativeElementNode","registerElements","insertChild","Frame","parentNode","childNode","_atIndex","appendChild","StackLayout","GridLayout","RootLayout","FlexboxLayout","WrapLayout","DockLayout","AbsoluteLayout","FrameElement","PageElement","ActionBar","ActionItem","NavigationButton","ActivityIndicator","Button","DatePicker","HtmlView","Image","Label","ListPicker","ListView","Placeholder","Progress","ScrollView","SearchBar","SegmentedBar","Slider","Switch","TabView","TabViewItem","TextField","TextView","TimePicker","FormattedString","atIndex","parent","nativeView","child","spans","splice","Span","WebView","ContentView"],"mappings":"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"}
1
+ {"version":3,"file":"setup-registry.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+
1
2
  export { setup } from './setup.js';
2
3
  export { setupInspectorSupport } from './setup-inspector-support.js';
3
4
  export { default as ListView } from './components/ListView.js';