@teleporthq/teleport-plugin-html-base-component 0.33.0-alpha.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,7 +24,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
24
24
  function verb(n) { return function (v) { return step([n, v]); }; }
25
25
  function step(op) {
26
26
  if (f) throw new TypeError("Generator is already executing.");
27
- while (_) try {
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
28
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
29
  if (y = 0, t) op = [op[0] & 2, t.value];
30
30
  switch (op[0]) {
@@ -55,31 +55,53 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
55
  return to.concat(ar || Array.prototype.slice.call(from));
56
56
  };
57
57
  import { HTMLComponentGeneratorError, ChunkType, FileType, } from '@teleporthq/teleport-types';
58
+ import { join, relative } from 'path';
58
59
  import { HASTBuilders, HASTUtils } from '@teleporthq/teleport-plugin-common';
59
60
  import { StringUtils, UIDLUtils } from '@teleporthq/teleport-shared';
60
61
  import { staticNode } from '@teleporthq/teleport-uidl-builders';
61
62
  import { createCSSPlugin } from '@teleporthq/teleport-plugin-css';
62
63
  import { DEFAULT_COMPONENT_CHUNK_NAME } from './constants';
63
- export var generateHtmlSynatx = function (node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure) { return __awaiter(void 0, void 0, void 0, function () {
64
- return __generator(this, function (_a) {
65
- switch (node.type) {
66
- case 'raw':
67
- return [2 /*return*/, HASTBuilders.createTextNode(node.content.toString())];
68
- case 'static':
69
- return [2 /*return*/, HASTBuilders.createTextNode(StringUtils.encode(node.content.toString()))];
70
- case 'slot':
71
- return [2 /*return*/, HASTBuilders.createHTMLNode(node.type)];
72
- case 'element':
73
- return [2 /*return*/, generatElementNode(node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
74
- case 'dynamic':
75
- return [2 /*return*/, generateDynamicNode(node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
76
- default:
77
- throw new HTMLComponentGeneratorError("generateHtmlSyntax encountered a node of unsupported type: ".concat(JSON.stringify(node, null, 2), " "));
64
+ var isValidURL = function (url) {
65
+ try {
66
+ /* tslint:disable:no-unused-expression */
67
+ new URL(url);
68
+ return true;
69
+ }
70
+ catch (error) {
71
+ return false;
72
+ }
73
+ };
74
+ export var generateHtmlSynatx = function (node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
75
+ var _a, elementNode, dynamicNode;
76
+ return __generator(this, function (_b) {
77
+ switch (_b.label) {
78
+ case 0:
79
+ _a = node.type;
80
+ switch (_a) {
81
+ case 'inject': return [3 /*break*/, 1];
82
+ case 'raw': return [3 /*break*/, 1];
83
+ case 'static': return [3 /*break*/, 2];
84
+ case 'slot': return [3 /*break*/, 3];
85
+ case 'element': return [3 /*break*/, 4];
86
+ case 'dynamic': return [3 /*break*/, 6];
87
+ }
88
+ return [3 /*break*/, 8];
89
+ case 1: return [2 /*return*/, HASTBuilders.createTextNode(node.content.toString())];
90
+ case 2: return [2 /*return*/, HASTBuilders.createTextNode(StringUtils.encode(node.content.toString()))];
91
+ case 3: return [2 /*return*/, HASTBuilders.createHTMLNode(node.type)];
92
+ case 4: return [4 /*yield*/, generateElementNode(node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure)];
93
+ case 5:
94
+ elementNode = _b.sent();
95
+ return [2 /*return*/, elementNode];
96
+ case 6: return [4 /*yield*/, generateDynamicNode(node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure)];
97
+ case 7:
98
+ dynamicNode = _b.sent();
99
+ return [2 /*return*/, dynamicNode];
100
+ case 8: throw new HTMLComponentGeneratorError("generateHtmlSyntax encountered a node of unsupported type: ".concat(JSON.stringify(node, null, 2), " "));
78
101
  }
79
- return [2 /*return*/];
80
102
  });
81
103
  }); };
82
- var generatElementNode = function (node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure) { return __awaiter(void 0, void 0, void 0, function () {
104
+ var generateElementNode = function (node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
83
105
  var _a, elementType, children, _b, attrs, _c, style, _d, referencedStyles, dependency, key, elementNode, dependencies, compTag, _i, children_1, child, childTag;
84
106
  return __generator(this, function (_e) {
85
107
  switch (_e.label) {
@@ -92,7 +114,7 @@ var generatElementNode = function (node, templatesLookUp, propDefinitions, state
92
114
  dependencies[dependency.path] = dependency;
93
115
  }
94
116
  if (!(dependency && (dependency === null || dependency === void 0 ? void 0 : dependency.type) === 'local')) return [3 /*break*/, 2];
95
- return [4 /*yield*/, generateComponentContent(node, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
117
+ return [4 /*yield*/, generateComponentContent(node, propDefinitions, stateDefinitions, templatesLookUp, subComponentOptions, structure)];
96
118
  case 1:
97
119
  compTag = _e.sent();
98
120
  return [2 /*return*/, compTag];
@@ -103,7 +125,7 @@ var generatElementNode = function (node, templatesLookUp, propDefinitions, state
103
125
  case 3:
104
126
  if (!(_i < children_1.length)) return [3 /*break*/, 6];
105
127
  child = children_1[_i];
106
- return [4 /*yield*/, generateHtmlSynatx(child, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
128
+ return [4 /*yield*/, generateHtmlSynatx(child, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure)];
107
129
  case 4:
108
130
  childTag = _e.sent();
109
131
  if (!childTag) {
@@ -132,23 +154,22 @@ var generatElementNode = function (node, templatesLookUp, propDefinitions, state
132
154
  if (Object.keys(style).length > 0) {
133
155
  handleStyles(node, style, propDefinitions, stateDefinitions);
134
156
  }
135
- if (Object.keys(attrs).length > 0) {
136
- handleAttributes(elementNode, attrs, propDefinitions, stateDefinitions, routeDefinitions);
137
- }
157
+ handleAttributes(elementType, elementNode, attrs, propDefinitions, stateDefinitions, structure.options.projectRouteDefinition, structure.outputOptions);
138
158
  return [2 /*return*/, elementNode];
139
159
  }
140
160
  });
141
161
  }); };
142
- var generateComponentContent = function (node, propDefinitions, stateDefinitions, externals, routeDefinitions, structure) { return __awaiter(void 0, void 0, void 0, function () {
143
- var _a, elementType, _b, attrs, key, _c, children, dependencies, chunks, options, comp, lookUpTemplates, compHasSlots, combinedProps, propsForInstance, combinedStates, statesForInstance, elementNode, compTag, cssPlugin, result, chunk, styleChunk;
144
- var _d;
145
- return __generator(this, function (_e) {
146
- switch (_e.label) {
162
+ var generateComponentContent = function (node, propDefinitions, stateDefinitions, templateLookup, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
163
+ var externals, plugins, _a, elementType, _b, attrs, key, _c, children, dependencies, _d, chunks, options, compName, comp, compHasSlots, combinedProps, propsForInstance, _i, _e, propKey, combinedStates, statesForInstance, elementNode, compTag, cssPlugin, initialStructure, result, chunk, styleChunk;
164
+ var _f, _g, _h, _j;
165
+ return __generator(this, function (_k) {
166
+ switch (_k.label) {
147
167
  case 0:
168
+ externals = subComponentOptions.externals, plugins = subComponentOptions.plugins;
148
169
  _a = node.content, elementType = _a.elementType, _b = _a.attrs, attrs = _b === void 0 ? {} : _b, key = _a.key, _c = _a.children, children = _c === void 0 ? [] : _c;
149
- dependencies = structure.dependencies, chunks = structure.chunks, options = structure.options;
150
- comp = UIDLUtils.cloneObject(externals[elementType] || {});
151
- lookUpTemplates = {};
170
+ dependencies = structure.dependencies, _d = structure.chunks, chunks = _d === void 0 ? [] : _d, options = structure.options;
171
+ compName = elementType === 'Component' ? 'AppComponent' : elementType;
172
+ comp = UIDLUtils.cloneObject(externals[compName] || {});
152
173
  compHasSlots = false;
153
174
  if (!comp || !(comp === null || comp === void 0 ? void 0 : comp.node)) {
154
175
  throw new HTMLComponentGeneratorError("".concat(elementType, " is not found from the externals. \n\n Received ").concat(JSON.stringify(Object.keys(externals), null, 2)));
@@ -184,16 +205,21 @@ var generateComponentContent = function (node, propDefinitions, stateDefinitions
184
205
  node.content.children = [];
185
206
  }
186
207
  combinedProps = __assign(__assign({}, propDefinitions), ((comp === null || comp === void 0 ? void 0 : comp.propDefinitions) || {}));
187
- propsForInstance = Object.keys(combinedProps).reduce(function (acc, propKey) {
188
- var _a, _b;
208
+ propsForInstance = {};
209
+ for (_i = 0, _e = Object.keys(combinedProps); _i < _e.length; _i++) {
210
+ propKey = _e[_i];
211
+ // If the attribute is a named-slot, then we can directly pass the value instead of just the content
212
+ if (((_f = attrs[propKey]) === null || _f === void 0 ? void 0 : _f.type) === 'element') {
213
+ propsForInstance[propKey] = __assign(__assign({}, combinedProps[propKey]), { defaultValue: attrs[propKey] });
214
+ continue;
215
+ }
189
216
  if (attrs[propKey]) {
190
- acc[propKey] = __assign(__assign({}, combinedProps[propKey]), { defaultValue: ((_a = attrs[propKey]) === null || _a === void 0 ? void 0 : _a.content) || ((_b = combinedProps[propKey]) === null || _b === void 0 ? void 0 : _b.defaultValue) });
217
+ propsForInstance[propKey] = __assign(__assign({}, combinedProps[propKey]), { defaultValue: ((_g = attrs[propKey]) === null || _g === void 0 ? void 0 : _g.content) || ((_h = combinedProps[propKey]) === null || _h === void 0 ? void 0 : _h.defaultValue) });
191
218
  }
192
219
  else {
193
- acc[propKey] = combinedProps[propKey];
220
+ propsForInstance[propKey] = combinedProps[propKey];
194
221
  }
195
- return acc;
196
- }, {});
222
+ }
197
223
  combinedStates = __assign(__assign({}, stateDefinitions), ((comp === null || comp === void 0 ? void 0 : comp.stateDefinitions) || {}));
198
224
  statesForInstance = Object.keys(combinedStates).reduce(function (acc, propKey) {
199
225
  var _a, _b;
@@ -206,40 +232,51 @@ var generateComponentContent = function (node, propDefinitions, stateDefinitions
206
232
  return acc;
207
233
  }, {});
208
234
  elementNode = HASTBuilders.createHTMLNode(StringUtils.camelCaseToDashCase(elementType));
209
- lookUpTemplates[key] = elementNode;
210
- return [4 /*yield*/, generateHtmlSynatx(__assign(__assign({}, comp.node), { content: __assign(__assign({}, comp.node.content), { style: __assign(__assign({}, (((_d = comp.node.content) === null || _d === void 0 ? void 0 : _d.style) || {})), { display: {
235
+ templateLookup[key] = elementNode;
236
+ return [4 /*yield*/, generateHtmlSynatx(__assign(__assign({}, comp.node), { content: __assign(__assign({}, comp.node.content), { style: __assign(__assign({}, (((_j = comp.node.content) === null || _j === void 0 ? void 0 : _j.style) || {})), { display: {
211
237
  type: 'static',
212
238
  content: 'contents',
213
- } }) }) }), lookUpTemplates, propsForInstance, statesForInstance, externals, routeDefinitions, structure)];
239
+ } }) }) }), templateLookup, propsForInstance, statesForInstance, subComponentOptions, structure)];
214
240
  case 1:
215
- compTag = (_e.sent());
241
+ compTag = (_k.sent());
216
242
  cssPlugin = createCSSPlugin({
217
243
  templateStyle: 'html',
218
- templateChunkName: 'html-template',
244
+ templateChunkName: DEFAULT_COMPONENT_CHUNK_NAME,
219
245
  declareDependency: 'import',
220
246
  forceScoping: true,
221
247
  chunkName: comp.name,
222
248
  staticPropReferences: true,
223
249
  });
224
- return [4 /*yield*/, cssPlugin({
225
- uidl: __assign(__assign({}, comp), { propDefinitions: propsForInstance, stateDefinitions: statesForInstance }),
226
- chunks: [
227
- {
228
- type: ChunkType.HAST,
229
- fileType: FileType.HTML,
230
- name: DEFAULT_COMPONENT_CHUNK_NAME,
231
- linkAfter: [],
232
- content: compTag,
233
- meta: {
234
- nodesLookup: lookUpTemplates,
235
- },
250
+ initialStructure = {
251
+ uidl: __assign(__assign({}, comp), { propDefinitions: propsForInstance, stateDefinitions: statesForInstance }),
252
+ chunks: [
253
+ {
254
+ type: ChunkType.HAST,
255
+ fileType: FileType.HTML,
256
+ name: DEFAULT_COMPONENT_CHUNK_NAME,
257
+ linkAfter: [],
258
+ content: compTag,
259
+ meta: {
260
+ nodesLookup: templateLookup,
236
261
  },
237
- ],
238
- dependencies: dependencies,
239
- options: options,
240
- })];
262
+ },
263
+ ],
264
+ dependencies: dependencies,
265
+ options: options,
266
+ };
267
+ return [4 /*yield*/, __spreadArray([cssPlugin], plugins, true).reduce(function (previousPluginOperation, plugin) { return __awaiter(void 0, void 0, void 0, function () {
268
+ var modifiedStructure;
269
+ return __generator(this, function (_a) {
270
+ switch (_a.label) {
271
+ case 0: return [4 /*yield*/, previousPluginOperation];
272
+ case 1:
273
+ modifiedStructure = _a.sent();
274
+ return [2 /*return*/, plugin(modifiedStructure)];
275
+ }
276
+ });
277
+ }); }, Promise.resolve(initialStructure))];
241
278
  case 2:
242
- result = _e.sent();
279
+ result = _k.sent();
243
280
  if (compHasSlots) {
244
281
  result.chunks.forEach(function (chunk) {
245
282
  if (chunk.fileType === FileType.CSS) {
@@ -250,7 +287,10 @@ var generateComponentContent = function (node, propDefinitions, stateDefinitions
250
287
  else {
251
288
  chunk = chunks.find(function (item) { return item.name === comp.name; });
252
289
  if (!chunk) {
253
- styleChunk = result.chunks.find(function (item) { return item.name === comp.name; });
290
+ styleChunk = result.chunks.find(function (item) { return item.fileType === FileType.CSS; });
291
+ if (!styleChunk) {
292
+ return [2 /*return*/];
293
+ }
254
294
  chunks.push(styleChunk);
255
295
  }
256
296
  }
@@ -258,77 +298,134 @@ var generateComponentContent = function (node, propDefinitions, stateDefinitions
258
298
  }
259
299
  });
260
300
  }); };
261
- var generateDynamicNode = function (node, _, propDefinitions, stateDefinitions) {
262
- var spanTag = HASTBuilders.createHTMLNode('span');
263
- var usedReferenceValue = node.content.referenceType === 'prop'
264
- ? getValueFromReference(node.content.id, propDefinitions)
265
- : getValueFromReference(node.content.id, stateDefinitions);
266
- HASTUtils.addTextNode(spanTag, String(usedReferenceValue));
267
- return spanTag;
268
- };
301
+ var generateDynamicNode = function (node, templateLookup, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
302
+ var usedReferenceValue, slotNode, spanTagWrapper, commentNode, spanTag;
303
+ return __generator(this, function (_a) {
304
+ switch (_a.label) {
305
+ case 0:
306
+ usedReferenceValue = getValueFromReference(node.content.id, node.content.referenceType === 'prop' ? propDefinitions : stateDefinitions);
307
+ if (!(usedReferenceValue.type === 'element' && usedReferenceValue.defaultValue)) return [3 /*break*/, 2];
308
+ return [4 /*yield*/, generateElementNode(usedReferenceValue.defaultValue, templateLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
309
+ case 1:
310
+ slotNode = _a.sent();
311
+ return [2 /*return*/, slotNode];
312
+ case 2:
313
+ if (usedReferenceValue.type === 'element' && usedReferenceValue.defaultValue === undefined) {
314
+ spanTagWrapper = HASTBuilders.createHTMLNode('span');
315
+ commentNode = HASTBuilders.createComment("Content for slot ".concat(node.content.id));
316
+ HASTUtils.addChildNode(spanTagWrapper, commentNode);
317
+ return [2 /*return*/, spanTagWrapper];
318
+ }
319
+ spanTag = HASTBuilders.createHTMLNode('span');
320
+ HASTUtils.addTextNode(spanTag, String(usedReferenceValue.defaultValue));
321
+ return [2 /*return*/, spanTag];
322
+ }
323
+ });
324
+ }); };
269
325
  var handleStyles = function (node, styles, propDefinitions, stateDefinitions) {
270
326
  Object.keys(styles).forEach(function (styleKey) {
271
327
  var _a;
272
328
  var style = styles[styleKey];
273
329
  if (style.type === 'dynamic' && ((_a = style.content) === null || _a === void 0 ? void 0 : _a.referenceType) !== 'token') {
274
- if (style.content.referenceType === 'prop') {
275
- style = getValueFromReference(style.content.id, propDefinitions);
276
- }
277
- else if (style.content.referenceType === 'state') {
278
- style = getValueFromReference(style.content.id, stateDefinitions);
330
+ var referencedValue = getValueFromReference(style.content.id, style.content.referenceType === 'prop' ? propDefinitions : stateDefinitions);
331
+ if (referencedValue.type === 'string' || referencedValue.type === 'number') {
332
+ style = String(referencedValue.defaultValue);
279
333
  }
280
334
  node.content.style[styleKey] = typeof style === 'string' ? staticNode(style) : style;
281
335
  }
282
336
  });
283
337
  };
284
- var handleAttributes = function (htmlNode, attrs, propDefinitions, stateDefinitions, routeDefinitions) {
285
- Object.keys(attrs).forEach(function (attrKey) {
338
+ var handleAttributes = function (elementType, htmlNode, attrs, propDefinitions, stateDefinitions, routeDefinitions, outputOptions) {
339
+ var _loop_1 = function (attrKey) {
286
340
  var attrValue = attrs[attrKey];
287
- if (attrKey === 'href' &&
288
- attrValue.type === 'static' &&
289
- typeof attrValue.content === 'string' &&
290
- attrValue.content.startsWith('/')) {
291
- attrValue =
292
- attrValue.content === '/' ||
293
- attrValue.content ===
294
- "/".concat(StringUtils.camelCaseToDashCase(StringUtils.removeIllegalCharacters((routeDefinitions === null || routeDefinitions === void 0 ? void 0 : routeDefinitions.defaultValue) || '')))
295
- ? staticNode('index.html')
296
- : staticNode("".concat(attrValue.content.split('/').pop(), ".html"));
297
- HASTUtils.addAttributeToNode(htmlNode, attrKey, String(attrValue.content));
298
- return;
299
- }
300
- if (attrValue.type === 'dynamic') {
301
- var value = attrValue.content.referenceType === 'prop'
302
- ? getValueFromReference(attrValue.content.id, propDefinitions)
303
- : getValueFromReference(attrValue.content.id, stateDefinitions);
304
- HASTUtils.addAttributeToNode(htmlNode, attrKey, String(value));
305
- return;
306
- }
307
- if (attrValue.type === 'raw') {
308
- HASTUtils.addAttributeToNode(htmlNode, attrKey, String(attrValue.content));
309
- return;
310
- }
311
- if (typeof attrValue.content === 'boolean') {
312
- HASTUtils.addBooleanAttributeToNode(htmlNode, attrKey);
313
- return;
314
- }
315
- else if (typeof attrValue.content === 'string' || typeof attrValue.content === 'number') {
316
- HASTUtils.addAttributeToNode(htmlNode, attrKey, StringUtils.encode(String(attrValue.content)));
317
- return;
341
+ var type = attrValue.type, content = attrValue.content;
342
+ switch (type) {
343
+ case 'static': {
344
+ if (attrKey === 'href' && typeof content === 'string' && content.startsWith('/')) {
345
+ var targetLink = void 0;
346
+ var targetRoute = ((routeDefinitions === null || routeDefinitions === void 0 ? void 0 : routeDefinitions.values) || []).find(function (route) { return route.pageOptions.navLink === content; });
347
+ if (targetRoute) {
348
+ targetLink = targetRoute.pageOptions.navLink;
349
+ }
350
+ if (!targetRoute && content === '/home') {
351
+ targetLink = '/';
352
+ }
353
+ if (!targetLink && !targetRoute) {
354
+ targetLink = content;
355
+ }
356
+ var currentPageRoute = join.apply(void 0, __spreadArray(__spreadArray([], ((outputOptions === null || outputOptions === void 0 ? void 0 : outputOptions.folderPath) || []), false), ['./'], false));
357
+ var localPrefix = relative("/".concat(currentPageRoute), "/".concat(targetLink === '/' ? 'index' : targetLink));
358
+ HASTUtils.addAttributeToNode(htmlNode, attrKey, "".concat(localPrefix, ".html"));
359
+ break;
360
+ }
361
+ if (typeof content === 'boolean') {
362
+ htmlNode.properties[attrKey] = content === true ? 'true' : 'false';
363
+ }
364
+ else if (typeof content === 'string' || typeof attrValue.content === 'number') {
365
+ var value = StringUtils.encode(String(attrValue.content));
366
+ /*
367
+ elementType of image is always mapped to img.
368
+ For reference, check `html-mapping` file.
369
+ */
370
+ if (elementType === 'img' && attrKey === 'src' && !isValidURL(value)) {
371
+ /*
372
+ By default we just prefix all the asset paths with just the
373
+ assetPrefix that is configured in the project. But for `html` generators
374
+ we need to prefix that with the current file location.
375
+
376
+ Because, all the other frameworks have a build setup. which serves all the
377
+ assets from the `public` folder. But in the case of `html` here is how it works
378
+
379
+ We load a file from `index.html` the request for the image goes from
380
+ '...url.../public/...image...'
381
+ If it's a nested url, then the request goes from
382
+ '...url/nested/public/...image..'
383
+
384
+ But the nested folder is available only on the root. With this
385
+ The url changes prefixes to
386
+
387
+ ../public/playground_assets/..image.. etc depending on the dept the file is in.
388
+ */
389
+ value = join(relative(join.apply(void 0, outputOptions.folderPath), './'), value);
390
+ }
391
+ HASTUtils.addAttributeToNode(htmlNode, attrKey, value);
392
+ }
393
+ break;
394
+ }
395
+ case 'dynamic': {
396
+ var value = getValueFromReference(content.id, content.referenceType === 'prop' ? propDefinitions : stateDefinitions);
397
+ HASTUtils.addAttributeToNode(htmlNode, attrKey, String(value.defaultValue));
398
+ break;
399
+ }
400
+ case 'raw': {
401
+ HASTUtils.addAttributeToNode(htmlNode, attrKey, content);
402
+ break;
403
+ }
404
+ case 'element':
405
+ case 'import':
406
+ break;
407
+ default: {
408
+ throw new HTMLComponentGeneratorError("Received ".concat(JSON.stringify(attrValue, null, 2), " \n in handleAttributes for html"));
409
+ }
318
410
  }
319
- });
411
+ };
412
+ for (var _i = 0, _a = Object.keys(attrs); _i < _a.length; _i++) {
413
+ var attrKey = _a[_i];
414
+ _loop_1(attrKey);
415
+ }
320
416
  };
321
417
  var getValueFromReference = function (key, definitions) {
322
- var usedReferenceValue = definitions[key];
418
+ var usedReferenceValue = definitions[key.includes('.') ? key.split('.')[0] : key];
323
419
  if (!usedReferenceValue) {
324
420
  throw new HTMLComponentGeneratorError("Definition for ".concat(key, " is missing from ").concat(JSON.stringify(definitions, null, 2)));
325
421
  }
326
- if (!usedReferenceValue.hasOwnProperty('defaultValue')) {
327
- throw new HTMLComponentGeneratorError("Default value is missing from dynamic reference - ".concat(JSON.stringify(usedReferenceValue, null, 2)));
328
- }
329
- if (!['string', 'number'].includes(usedReferenceValue === null || usedReferenceValue === void 0 ? void 0 : usedReferenceValue.type)) {
422
+ if (['string', 'number', 'object', 'element'].includes(usedReferenceValue === null || usedReferenceValue === void 0 ? void 0 : usedReferenceValue.type) === false) {
330
423
  throw new HTMLComponentGeneratorError("Attribute is using dynamic value, but received of type ".concat(JSON.stringify(usedReferenceValue, null, 2)));
331
424
  }
332
- return String(usedReferenceValue.defaultValue);
425
+ if (usedReferenceValue.type !== 'element' &&
426
+ usedReferenceValue.hasOwnProperty('defaultValue') === false) {
427
+ throw new HTMLComponentGeneratorError("Default value is missing from dynamic reference - ".concat(JSON.stringify(usedReferenceValue, null, 2)));
428
+ }
429
+ return usedReferenceValue;
333
430
  };
334
431
  //# sourceMappingURL=node-handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-handlers.js","sourceRoot":"","sources":["../../src/node-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-handlers.js","sourceRoot":"","sources":["../../src/node-handlers.ts"],"names":[],"mappings":"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"}