vsn 0.1.124 → 0.1.126

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 (90) hide show
  1. package/demo/demo.html +4 -8
  2. package/demo/examples/cascading-function-sheets.html +28 -0
  3. package/demo/examples/component-slots.html +16 -22
  4. package/demo/examples/loop.html +21 -0
  5. package/demo/resources/xhr-cfs.html +1 -0
  6. package/demo/resources/xhr-test-component.html +4 -0
  7. package/demo/service.html +3 -3
  8. package/demo/vsn.js +2 -2
  9. package/dist/AST/ClassNode.js +6 -3
  10. package/dist/AST/ClassNode.js.map +1 -1
  11. package/dist/AST/DispatchEventNode.d.ts +3 -1
  12. package/dist/AST/DispatchEventNode.js +48 -14
  13. package/dist/AST/DispatchEventNode.js.map +1 -1
  14. package/dist/AST/ElementQueryNode.d.ts +2 -1
  15. package/dist/AST/ElementQueryNode.js +5 -5
  16. package/dist/AST/ElementQueryNode.js.map +1 -1
  17. package/dist/AST/FunctionNode.d.ts +1 -1
  18. package/dist/AST/LoopNode.d.ts +12 -0
  19. package/dist/AST/LoopNode.js +121 -0
  20. package/dist/AST/LoopNode.js.map +1 -0
  21. package/dist/AST/OnNode.d.ts +1 -1
  22. package/dist/AST/OnNode.js.map +1 -1
  23. package/dist/AST/ScopeMemberNode.js +4 -0
  24. package/dist/AST/ScopeMemberNode.js.map +1 -1
  25. package/dist/AST.d.ts +64 -62
  26. package/dist/AST.js +82 -69
  27. package/dist/AST.js.map +1 -1
  28. package/dist/Component.d.ts +2 -0
  29. package/dist/Component.js +12 -27
  30. package/dist/Component.js.map +1 -1
  31. package/dist/DOM/AbstractDOM.d.ts +48 -0
  32. package/dist/DOM/AbstractDOM.js +937 -0
  33. package/dist/DOM/AbstractDOM.js.map +1 -0
  34. package/dist/DOM/ShadowDOM.d.ts +5 -0
  35. package/dist/DOM/ShadowDOM.js +32 -0
  36. package/dist/DOM/ShadowDOM.js.map +1 -0
  37. package/dist/DOM.d.ts +3 -48
  38. package/dist/DOM.js +6 -913
  39. package/dist/DOM.js.map +1 -1
  40. package/dist/Scope/ObjectAccessor.d.ts +7 -0
  41. package/dist/Scope/ObjectAccessor.js +40 -0
  42. package/dist/Scope/ObjectAccessor.js.map +1 -0
  43. package/dist/Scope/ScopeAbstract.d.ts +9 -0
  44. package/dist/Scope/ScopeAbstract.js +28 -0
  45. package/dist/Scope/ScopeAbstract.js.map +1 -0
  46. package/dist/Scope.d.ts +3 -2
  47. package/dist/Scope.js +37 -10
  48. package/dist/Scope.js.map +1 -1
  49. package/dist/Tag.d.ts +2 -0
  50. package/dist/Tag.js +52 -9
  51. package/dist/Tag.js.map +1 -1
  52. package/dist/helpers/VisionHelper.d.ts +1 -0
  53. package/dist/helpers/VisionHelper.js +45 -0
  54. package/dist/helpers/VisionHelper.js.map +1 -1
  55. package/dist/version.d.ts +1 -1
  56. package/dist/version.js +1 -1
  57. package/dist/vsn.js +3 -9
  58. package/dist/vsn.js.map +1 -1
  59. package/package.json +1 -1
  60. package/src/AST/ClassNode.ts +6 -3
  61. package/src/AST/DispatchEventNode.ts +19 -11
  62. package/src/AST/ElementQueryNode.ts +2 -1
  63. package/src/AST/FunctionNode.ts +1 -1
  64. package/src/AST/LoopNode.ts +35 -0
  65. package/src/AST/OnNode.ts +2 -2
  66. package/src/AST/ScopeMemberNode.ts +4 -0
  67. package/src/AST.ts +19 -7
  68. package/src/Component.ts +15 -13
  69. package/src/DOM/AbstractDOM.ts +389 -0
  70. package/src/DOM/ShadowDOM.ts +15 -0
  71. package/src/DOM.ts +4 -385
  72. package/src/Scope/ObjectAccessor.ts +21 -0
  73. package/src/Scope/ScopeAbstract.ts +11 -0
  74. package/src/Scope.ts +14 -1
  75. package/src/Tag.ts +25 -0
  76. package/src/helpers/VisionHelper.ts +6 -0
  77. package/src/version.ts +1 -1
  78. package/src/vsn.ts +3 -7
  79. package/test/AST/ClassNode.spec.ts +26 -4
  80. package/test/AST.spec.ts +21 -21
  81. package/test/Controller.spec.ts +1 -1
  82. package/test/DOM.spec.ts +3 -3
  83. package/test/Tag/TagList.spec.ts +1 -1
  84. package/test/attributes/Bind.spec.ts +12 -12
  85. package/test/attributes/JSONAttribute.spec.ts +5 -5
  86. package/test/attributes/ListItem.spec.ts +6 -6
  87. package/test/attributes/ScopeAttribute.spec.ts +2 -2
  88. package/test/attributes/ServiceAttribute.spec.ts +1 -1
  89. package/test/attributes/SetAttribute.spec.ts +3 -3
  90. package/test/attributes/Styles.spec.ts +2 -2
package/dist/AST.js CHANGED
@@ -80,6 +80,7 @@ var DispatchEventNode_1 = require("./AST/DispatchEventNode");
80
80
  var WithNode_1 = require("./AST/WithNode");
81
81
  var AsNode_1 = require("./AST/AsNode");
82
82
  var NamedStackNode_1 = require("./AST/NamedStackNode");
83
+ var LoopNode_1 = require("./AST/LoopNode");
83
84
  function lower(str) {
84
85
  return str ? str.toLowerCase() : null;
85
86
  }
@@ -98,68 +99,70 @@ var TokenType;
98
99
  TokenType[TokenType["TYPE_UINT"] = 3] = "TYPE_UINT";
99
100
  TokenType[TokenType["TYPE_FLOAT"] = 4] = "TYPE_FLOAT";
100
101
  TokenType[TokenType["TYPE_STRING"] = 5] = "TYPE_STRING";
101
- TokenType[TokenType["RETURN"] = 6] = "RETURN";
102
- TokenType[TokenType["NOT"] = 7] = "NOT";
103
- TokenType[TokenType["OF"] = 8] = "OF";
104
- TokenType[TokenType["AS"] = 9] = "AS";
105
- TokenType[TokenType["IN"] = 10] = "IN";
106
- TokenType[TokenType["WITH"] = 11] = "WITH";
107
- TokenType[TokenType["NAMED_STACK"] = 12] = "NAMED_STACK";
108
- TokenType[TokenType["FOR"] = 13] = "FOR";
109
- TokenType[TokenType["IF"] = 14] = "IF";
110
- TokenType[TokenType["ELSE_IF"] = 15] = "ELSE_IF";
111
- TokenType[TokenType["ELSE"] = 16] = "ELSE";
112
- TokenType[TokenType["FUNC"] = 17] = "FUNC";
113
- TokenType[TokenType["ON"] = 18] = "ON";
114
- TokenType[TokenType["CLASS"] = 19] = "CLASS";
115
- TokenType[TokenType["NAME"] = 20] = "NAME";
116
- TokenType[TokenType["L_BRACE"] = 21] = "L_BRACE";
117
- TokenType[TokenType["R_BRACE"] = 22] = "R_BRACE";
118
- TokenType[TokenType["L_BRACKET"] = 23] = "L_BRACKET";
119
- TokenType[TokenType["R_BRACKET"] = 24] = "R_BRACKET";
120
- TokenType[TokenType["L_PAREN"] = 25] = "L_PAREN";
121
- TokenType[TokenType["R_PAREN"] = 26] = "R_PAREN";
122
- TokenType[TokenType["TILDE"] = 27] = "TILDE";
123
- TokenType[TokenType["PERIOD"] = 28] = "PERIOD";
124
- TokenType[TokenType["COMMA"] = 29] = "COMMA";
125
- TokenType[TokenType["COLON"] = 30] = "COLON";
126
- TokenType[TokenType["SEMICOLON"] = 31] = "SEMICOLON";
127
- TokenType[TokenType["STRING_FORMAT"] = 32] = "STRING_FORMAT";
128
- TokenType[TokenType["STRING_LITERAL"] = 33] = "STRING_LITERAL";
129
- TokenType[TokenType["NUMBER_LITERAL"] = 34] = "NUMBER_LITERAL";
130
- TokenType[TokenType["BOOLEAN_LITERAL"] = 35] = "BOOLEAN_LITERAL";
131
- TokenType[TokenType["NULL_LITERAL"] = 36] = "NULL_LITERAL";
132
- TokenType[TokenType["STRICT_EQUALS"] = 37] = "STRICT_EQUALS";
133
- TokenType[TokenType["STRICT_NOT_EQUALS"] = 38] = "STRICT_NOT_EQUALS";
134
- TokenType[TokenType["EQUALS"] = 39] = "EQUALS";
135
- TokenType[TokenType["NOT_EQUALS"] = 40] = "NOT_EQUALS";
136
- TokenType[TokenType["GREATER_THAN_EQUAL"] = 41] = "GREATER_THAN_EQUAL";
137
- TokenType[TokenType["LESS_THAN_EQUAL"] = 42] = "LESS_THAN_EQUAL";
138
- TokenType[TokenType["GREATER_THAN"] = 43] = "GREATER_THAN";
139
- TokenType[TokenType["LESS_THAN"] = 44] = "LESS_THAN";
140
- TokenType[TokenType["ASSIGN"] = 45] = "ASSIGN";
141
- TokenType[TokenType["AND"] = 46] = "AND";
142
- TokenType[TokenType["OR"] = 47] = "OR";
143
- TokenType[TokenType["ADD"] = 48] = "ADD";
144
- TokenType[TokenType["SUBTRACT"] = 49] = "SUBTRACT";
145
- TokenType[TokenType["MULTIPLY"] = 50] = "MULTIPLY";
146
- TokenType[TokenType["DIVIDE"] = 51] = "DIVIDE";
147
- TokenType[TokenType["ADD_ASSIGN"] = 52] = "ADD_ASSIGN";
148
- TokenType[TokenType["SUBTRACT_ASSIGN"] = 53] = "SUBTRACT_ASSIGN";
149
- TokenType[TokenType["MULTIPLY_ASSIGN"] = 54] = "MULTIPLY_ASSIGN";
150
- TokenType[TokenType["DIVIDE_ASSIGN"] = 55] = "DIVIDE_ASSIGN";
151
- TokenType[TokenType["EXCLAMATION_POINT"] = 56] = "EXCLAMATION_POINT";
152
- TokenType[TokenType["ELEMENT_REFERENCE"] = 57] = "ELEMENT_REFERENCE";
153
- TokenType[TokenType["ELEMENT_ATTRIBUTE"] = 58] = "ELEMENT_ATTRIBUTE";
154
- TokenType[TokenType["ELEMENT_STYLE"] = 59] = "ELEMENT_STYLE";
155
- TokenType[TokenType["ELEMENT_QUERY"] = 60] = "ELEMENT_QUERY";
156
- TokenType[TokenType["UNIT"] = 61] = "UNIT";
157
- TokenType[TokenType["XHR_GET"] = 62] = "XHR_GET";
158
- TokenType[TokenType["XHR_POST"] = 63] = "XHR_POST";
159
- TokenType[TokenType["XHR_PUT"] = 64] = "XHR_PUT";
160
- TokenType[TokenType["XHR_DELETE"] = 65] = "XHR_DELETE";
161
- TokenType[TokenType["MODIFIER"] = 66] = "MODIFIER";
162
- TokenType[TokenType["DISPATCH_EVENT"] = 67] = "DISPATCH_EVENT";
102
+ TokenType[TokenType["TYPE_BOOL"] = 6] = "TYPE_BOOL";
103
+ TokenType[TokenType["RETURN"] = 7] = "RETURN";
104
+ TokenType[TokenType["NOT"] = 8] = "NOT";
105
+ TokenType[TokenType["OF"] = 9] = "OF";
106
+ TokenType[TokenType["AS"] = 10] = "AS";
107
+ TokenType[TokenType["IN"] = 11] = "IN";
108
+ TokenType[TokenType["WITH"] = 12] = "WITH";
109
+ TokenType[TokenType["NAMED_STACK"] = 13] = "NAMED_STACK";
110
+ TokenType[TokenType["FOR"] = 14] = "FOR";
111
+ TokenType[TokenType["IF"] = 15] = "IF";
112
+ TokenType[TokenType["ELSE_IF"] = 16] = "ELSE_IF";
113
+ TokenType[TokenType["ELSE"] = 17] = "ELSE";
114
+ TokenType[TokenType["FUNC"] = 18] = "FUNC";
115
+ TokenType[TokenType["LOOP"] = 19] = "LOOP";
116
+ TokenType[TokenType["ON"] = 20] = "ON";
117
+ TokenType[TokenType["CLASS"] = 21] = "CLASS";
118
+ TokenType[TokenType["NAME"] = 22] = "NAME";
119
+ TokenType[TokenType["L_BRACE"] = 23] = "L_BRACE";
120
+ TokenType[TokenType["R_BRACE"] = 24] = "R_BRACE";
121
+ TokenType[TokenType["L_BRACKET"] = 25] = "L_BRACKET";
122
+ TokenType[TokenType["R_BRACKET"] = 26] = "R_BRACKET";
123
+ TokenType[TokenType["L_PAREN"] = 27] = "L_PAREN";
124
+ TokenType[TokenType["R_PAREN"] = 28] = "R_PAREN";
125
+ TokenType[TokenType["TILDE"] = 29] = "TILDE";
126
+ TokenType[TokenType["PERIOD"] = 30] = "PERIOD";
127
+ TokenType[TokenType["COMMA"] = 31] = "COMMA";
128
+ TokenType[TokenType["COLON"] = 32] = "COLON";
129
+ TokenType[TokenType["SEMICOLON"] = 33] = "SEMICOLON";
130
+ TokenType[TokenType["STRING_FORMAT"] = 34] = "STRING_FORMAT";
131
+ TokenType[TokenType["STRING_LITERAL"] = 35] = "STRING_LITERAL";
132
+ TokenType[TokenType["NUMBER_LITERAL"] = 36] = "NUMBER_LITERAL";
133
+ TokenType[TokenType["BOOLEAN_LITERAL"] = 37] = "BOOLEAN_LITERAL";
134
+ TokenType[TokenType["NULL_LITERAL"] = 38] = "NULL_LITERAL";
135
+ TokenType[TokenType["STRICT_EQUALS"] = 39] = "STRICT_EQUALS";
136
+ TokenType[TokenType["STRICT_NOT_EQUALS"] = 40] = "STRICT_NOT_EQUALS";
137
+ TokenType[TokenType["EQUALS"] = 41] = "EQUALS";
138
+ TokenType[TokenType["NOT_EQUALS"] = 42] = "NOT_EQUALS";
139
+ TokenType[TokenType["GREATER_THAN_EQUAL"] = 43] = "GREATER_THAN_EQUAL";
140
+ TokenType[TokenType["LESS_THAN_EQUAL"] = 44] = "LESS_THAN_EQUAL";
141
+ TokenType[TokenType["GREATER_THAN"] = 45] = "GREATER_THAN";
142
+ TokenType[TokenType["LESS_THAN"] = 46] = "LESS_THAN";
143
+ TokenType[TokenType["ASSIGN"] = 47] = "ASSIGN";
144
+ TokenType[TokenType["AND"] = 48] = "AND";
145
+ TokenType[TokenType["OR"] = 49] = "OR";
146
+ TokenType[TokenType["ADD"] = 50] = "ADD";
147
+ TokenType[TokenType["SUBTRACT"] = 51] = "SUBTRACT";
148
+ TokenType[TokenType["MULTIPLY"] = 52] = "MULTIPLY";
149
+ TokenType[TokenType["DIVIDE"] = 53] = "DIVIDE";
150
+ TokenType[TokenType["ADD_ASSIGN"] = 54] = "ADD_ASSIGN";
151
+ TokenType[TokenType["SUBTRACT_ASSIGN"] = 55] = "SUBTRACT_ASSIGN";
152
+ TokenType[TokenType["MULTIPLY_ASSIGN"] = 56] = "MULTIPLY_ASSIGN";
153
+ TokenType[TokenType["DIVIDE_ASSIGN"] = 57] = "DIVIDE_ASSIGN";
154
+ TokenType[TokenType["EXCLAMATION_POINT"] = 58] = "EXCLAMATION_POINT";
155
+ TokenType[TokenType["ELEMENT_REFERENCE"] = 59] = "ELEMENT_REFERENCE";
156
+ TokenType[TokenType["ELEMENT_ATTRIBUTE"] = 60] = "ELEMENT_ATTRIBUTE";
157
+ TokenType[TokenType["ELEMENT_STYLE"] = 61] = "ELEMENT_STYLE";
158
+ TokenType[TokenType["ELEMENT_QUERY"] = 62] = "ELEMENT_QUERY";
159
+ TokenType[TokenType["UNIT"] = 63] = "UNIT";
160
+ TokenType[TokenType["XHR_GET"] = 64] = "XHR_GET";
161
+ TokenType[TokenType["XHR_POST"] = 65] = "XHR_POST";
162
+ TokenType[TokenType["XHR_PUT"] = 66] = "XHR_PUT";
163
+ TokenType[TokenType["XHR_DELETE"] = 67] = "XHR_DELETE";
164
+ TokenType[TokenType["MODIFIER"] = 68] = "MODIFIER";
165
+ TokenType[TokenType["DISPATCH_EVENT"] = 69] = "DISPATCH_EVENT";
163
166
  })(TokenType = exports.TokenType || (exports.TokenType = {}));
164
167
  var TOKEN_PATTERNS = [
165
168
  {
@@ -188,23 +191,23 @@ var TOKEN_PATTERNS = [
188
191
  },
189
192
  {
190
193
  type: TokenType.TYPE_INT,
191
- pattern: /^int+/
194
+ pattern: /^int\s/
192
195
  },
193
196
  {
194
197
  type: TokenType.TYPE_UINT,
195
- pattern: /^uint+/
198
+ pattern: /^uint\s/
196
199
  },
197
200
  {
198
201
  type: TokenType.TYPE_FLOAT,
199
- pattern: /^float+/
202
+ pattern: /^float\s/
200
203
  },
201
204
  {
202
- type: TokenType.UNIT,
203
- pattern: /^\d+\.?\d?(?:cm|mm|in|px|pt|pc|em|ex|ch|rem|vw|vh|vmin|vmax|%)/
205
+ type: TokenType.TYPE_BOOL,
206
+ pattern: /^bool\s/
204
207
  },
205
208
  {
206
- type: TokenType.TYPE_STRING,
207
- pattern: /^string+/
209
+ type: TokenType.UNIT,
210
+ pattern: /^\d+\.?\d?(?:cm|mm|in|px|pt|pc|em|ex|ch|rem|vw|vh|vmin|vmax|%)/
208
211
  },
209
212
  {
210
213
  type: TokenType.BOOLEAN_LITERAL,
@@ -262,6 +265,10 @@ var TOKEN_PATTERNS = [
262
265
  type: TokenType.FUNC,
263
266
  pattern: /^func\s/
264
267
  },
268
+ {
269
+ type: TokenType.LOOP,
270
+ pattern: /^loop\s/
271
+ },
265
272
  {
266
273
  type: TokenType.ON,
267
274
  pattern: /^on\s/
@@ -657,6 +664,12 @@ var Tree = /** @class */ (function () {
657
664
  blockNodes.push(node);
658
665
  node = null;
659
666
  }
667
+ else if (token.type === TokenType.LOOP) {
668
+ node = LoopNode_1.LoopNode.parse(node, token, tokens);
669
+ lastBlock = node;
670
+ blockNodes.push(node);
671
+ node = null;
672
+ }
660
673
  else if (token.type === TokenType.ON) {
661
674
  node = OnNode_1.OnNode.parse(node, token, tokens);
662
675
  lastBlock = node;
package/dist/AST.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"AST.js","sourceRoot":"","sources":["../src/AST.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AST.js","sourceRoot":"","sources":["../src/AST.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import { ShadowDOM } from "./DOM/ShadowDOM";
1
2
  export declare class Component extends HTMLElement {
2
3
  protected readonly shadow: ShadowRoot;
4
+ protected readonly shadowDOM: ShadowDOM;
3
5
  constructor();
4
6
  connectedCallback(): Promise<void>;
5
7
  }
package/dist/Component.js CHANGED
@@ -64,15 +64,17 @@ var __values = (this && this.__values) || function(o) {
64
64
  Object.defineProperty(exports, "__esModule", { value: true });
65
65
  exports.Component = void 0;
66
66
  var Registry_1 = require("./Registry");
67
- var DOM_1 = require("./DOM");
68
67
  var SlotTag_1 = require("./Tag/SlotTag");
69
68
  var SlottedTag_1 = require("./Tag/SlottedTag");
69
+ var ShadowDOM_1 = require("./DOM/ShadowDOM");
70
+ var DOM_1 = require("./DOM");
70
71
  var Component = /** @class */ (function (_super) {
71
72
  __extends(Component, _super);
72
73
  function Component() {
73
74
  var e_1, _a;
74
75
  var _this = _super.call(this) || this;
75
76
  Object.setPrototypeOf(_this, Component.prototype);
77
+ _this.shadowDOM = new ShadowDOM_1.ShadowDOM(DOM_1.DOM.instance, _this, false);
76
78
  _this.shadow = _this.attachShadow({ mode: 'open' });
77
79
  var templateId = _this.getAttribute('template');
78
80
  var template;
@@ -100,7 +102,7 @@ var Component = /** @class */ (function (_super) {
100
102
  var slotPromises = [];
101
103
  var tagsToSetup = [];
102
104
  _this.shadow.querySelectorAll('slot').forEach(function (slot) {
103
- var slotTagPromise = DOM_1.DOM.instance.buildTag(slot, false, SlotTag_1.SlotTag);
105
+ var slotTagPromise = _this.shadowDOM.buildTag(slot, false, SlotTag_1.SlotTag);
104
106
  var promise = new Promise(function (resolve, reject) {
105
107
  slot.addEventListener('slotchange', function (e) {
106
108
  slotTagPromise.then(function (slotTag) { return __awaiter(_this, void 0, void 0, function () {
@@ -115,7 +117,7 @@ var Component = /** @class */ (function (_super) {
115
117
  case 1:
116
118
  if (!!_b.done) return [3 /*break*/, 5];
117
119
  child = _b.value;
118
- return [4 /*yield*/, DOM_1.DOM.instance.buildTag(child, false, SlottedTag_1.SlottedTag)];
120
+ return [4 /*yield*/, this.shadowDOM.buildTag(child, false, SlottedTag_1.SlottedTag)];
119
121
  case 2:
120
122
  t = _d.sent();
121
123
  return [4 /*yield*/, (t === null || t === void 0 ? void 0 : t.slotted(slotTag))];
@@ -149,39 +151,22 @@ var Component = /** @class */ (function (_super) {
149
151
  });
150
152
  Promise.all(slotPromises).then(function (slotTags) { return __awaiter(_this, void 0, void 0, function () {
151
153
  return __generator(this, function (_a) {
152
- switch (_a.label) {
153
- case 0: return [4 /*yield*/, DOM_1.DOM.instance.buildFrom(this, false, true)];
154
- case 1:
155
- _a.sent();
156
- return [4 /*yield*/, DOM_1.DOM.instance.setupTags(slotTags)];
157
- case 2:
158
- _a.sent();
159
- return [4 /*yield*/, DOM_1.DOM.instance.setupTags(tagsToSetup)];
160
- case 3:
161
- _a.sent();
162
- return [2 /*return*/];
163
- }
154
+ console.log('Building after slot setup', this);
155
+ return [2 /*return*/];
164
156
  });
165
157
  }); });
166
158
  return _this;
167
159
  }
168
160
  Component.prototype.connectedCallback = function () {
169
161
  return __awaiter(this, void 0, void 0, function () {
170
- var tag;
171
162
  return __generator(this, function (_a) {
172
163
  switch (_a.label) {
173
- case 0: return [4 /*yield*/, DOM_1.DOM.instance.buildTag(this, true)];
164
+ case 0:
165
+ //const tag = await this.shadowDOM.buildTag(this, true);
166
+ //tag.createScope(true);
167
+ console.log('Building from shadow', this.shadow);
168
+ return [4 /*yield*/, this.shadowDOM.buildFrom(this.shadow, true, true)];
174
169
  case 1:
175
- tag = _a.sent();
176
- tag.createScope(true);
177
- return [4 /*yield*/, DOM_1.DOM.instance.buildFrom(this.shadow)];
178
- case 2:
179
- _a.sent();
180
- return [4 /*yield*/, tag.dom.resetBranch(tag)];
181
- case 3:
182
- _a.sent();
183
- return [4 /*yield*/, tag.dom.setupTags([tag])];
184
- case 4:
185
170
  _a.sent();
186
171
  return [2 /*return*/];
187
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sourceRoot":"","sources":["../src/Component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sourceRoot":"","sources":["../src/Component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { Tag } from "../Tag";
2
+ import { WrappedWindow } from "./WrappedWindow";
3
+ import { WrappedDocument } from "./WrappedDocument";
4
+ import { TagList } from "../Tag/TagList";
5
+ import { Scope } from "../Scope";
6
+ import { EventDispatcher } from "../EventDispatcher";
7
+ export declare enum EQuerySelectDirection {
8
+ ALL = 0,
9
+ UP = 1,
10
+ DOWN = 2
11
+ }
12
+ export declare abstract class AbstractDOM extends EventDispatcher {
13
+ protected rootElement: HTMLElement;
14
+ protected debug: boolean;
15
+ protected _root: Tag;
16
+ protected _ready: Promise<boolean>;
17
+ protected tags: Tag[];
18
+ protected observer: MutationObserver;
19
+ protected evaluateTimeout: any;
20
+ protected queued: HTMLElement[];
21
+ protected window: WrappedWindow;
22
+ protected document: WrappedDocument;
23
+ protected _built: boolean;
24
+ constructor(rootElement: HTMLElement, build?: boolean, debug?: boolean);
25
+ get built(): boolean;
26
+ get root(): Tag;
27
+ get ready(): Promise<boolean>;
28
+ get(selector: string, create?: boolean, tag?: Tag, direction?: EQuerySelectDirection): Promise<TagList>;
29
+ getFromTag(tag: Tag, selector: string, create?: boolean): Promise<TagList>;
30
+ registerElementInRoot(tag: Tag): void;
31
+ querySelectorClosest(q: string, tag?: Tag): HTMLElement;
32
+ querySelectPath(path: string[], element?: HTMLElement): HTMLElement[];
33
+ querySelectorAll(q: string, tag?: Tag): NodeList | HTMLElement[];
34
+ querySelectorElement(element: HTMLElement | Document, q: string): NodeList | HTMLElement[];
35
+ querySelector(q: string): Element;
36
+ exec(code: string): any;
37
+ evaluate(): Promise<void>;
38
+ mutation(mutations: MutationRecord[]): Promise<void>;
39
+ discover(ele: HTMLElement, forComponent?: boolean): Promise<HTMLElement[]>;
40
+ buildTag<T = Tag>(element: HTMLElement, returnExisting?: boolean, cls?: any): Promise<T>;
41
+ setupTags(tags: Tag[]): Promise<void>;
42
+ buildFrom(ele: any, isRoot?: boolean, forComponent?: boolean): Promise<Tag[]>;
43
+ getTagsForElements(elements: Element[], create?: boolean): Promise<TagList>;
44
+ getTagForElement(element: Element, create?: boolean, forComponent?: boolean): any;
45
+ getTagForScope(scope: Scope): Promise<Tag>;
46
+ resetBranch(e: Tag | HTMLElement): Promise<void>;
47
+ static getParentElement(element: HTMLElement): HTMLElement;
48
+ }