@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.
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
29
  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;
30
30
  if (y = 0, t) op = [op[0] & 2, t.value];
31
31
  switch (op[0]) {
@@ -58,32 +58,54 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
58
58
  Object.defineProperty(exports, "__esModule", { value: true });
59
59
  exports.generateHtmlSynatx = void 0;
60
60
  var teleport_types_1 = require("@teleporthq/teleport-types");
61
+ var path_1 = require("path");
61
62
  var teleport_plugin_common_1 = require("@teleporthq/teleport-plugin-common");
62
63
  var teleport_shared_1 = require("@teleporthq/teleport-shared");
63
64
  var teleport_uidl_builders_1 = require("@teleporthq/teleport-uidl-builders");
64
65
  var teleport_plugin_css_1 = require("@teleporthq/teleport-plugin-css");
65
66
  var constants_1 = require("./constants");
66
- var generateHtmlSynatx = function (node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure) { return __awaiter(void 0, void 0, void 0, function () {
67
- return __generator(this, function (_a) {
68
- switch (node.type) {
69
- case 'raw':
70
- return [2 /*return*/, teleport_plugin_common_1.HASTBuilders.createTextNode(node.content.toString())];
71
- case 'static':
72
- return [2 /*return*/, teleport_plugin_common_1.HASTBuilders.createTextNode(teleport_shared_1.StringUtils.encode(node.content.toString()))];
73
- case 'slot':
74
- return [2 /*return*/, teleport_plugin_common_1.HASTBuilders.createHTMLNode(node.type)];
75
- case 'element':
76
- return [2 /*return*/, generatElementNode(node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
77
- case 'dynamic':
78
- return [2 /*return*/, generateDynamicNode(node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
79
- default:
80
- throw new teleport_types_1.HTMLComponentGeneratorError("generateHtmlSyntax encountered a node of unsupported type: ".concat(JSON.stringify(node, null, 2), " "));
67
+ var isValidURL = function (url) {
68
+ try {
69
+ /* tslint:disable:no-unused-expression */
70
+ new URL(url);
71
+ return true;
72
+ }
73
+ catch (error) {
74
+ return false;
75
+ }
76
+ };
77
+ var generateHtmlSynatx = function (node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
78
+ var _a, elementNode, dynamicNode;
79
+ return __generator(this, function (_b) {
80
+ switch (_b.label) {
81
+ case 0:
82
+ _a = node.type;
83
+ switch (_a) {
84
+ case 'inject': return [3 /*break*/, 1];
85
+ case 'raw': return [3 /*break*/, 1];
86
+ case 'static': return [3 /*break*/, 2];
87
+ case 'slot': return [3 /*break*/, 3];
88
+ case 'element': return [3 /*break*/, 4];
89
+ case 'dynamic': return [3 /*break*/, 6];
90
+ }
91
+ return [3 /*break*/, 8];
92
+ case 1: return [2 /*return*/, teleport_plugin_common_1.HASTBuilders.createTextNode(node.content.toString())];
93
+ case 2: return [2 /*return*/, teleport_plugin_common_1.HASTBuilders.createTextNode(teleport_shared_1.StringUtils.encode(node.content.toString()))];
94
+ case 3: return [2 /*return*/, teleport_plugin_common_1.HASTBuilders.createHTMLNode(node.type)];
95
+ case 4: return [4 /*yield*/, generateElementNode(node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure)];
96
+ case 5:
97
+ elementNode = _b.sent();
98
+ return [2 /*return*/, elementNode];
99
+ case 6: return [4 /*yield*/, generateDynamicNode(node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure)];
100
+ case 7:
101
+ dynamicNode = _b.sent();
102
+ return [2 /*return*/, dynamicNode];
103
+ case 8: throw new teleport_types_1.HTMLComponentGeneratorError("generateHtmlSyntax encountered a node of unsupported type: ".concat(JSON.stringify(node, null, 2), " "));
81
104
  }
82
- return [2 /*return*/];
83
105
  });
84
106
  }); };
85
107
  exports.generateHtmlSynatx = generateHtmlSynatx;
86
- var generatElementNode = function (node, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure) { return __awaiter(void 0, void 0, void 0, function () {
108
+ var generateElementNode = function (node, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
87
109
  var _a, elementType, children, _b, attrs, _c, style, _d, referencedStyles, dependency, key, elementNode, dependencies, compTag, _i, children_1, child, childTag;
88
110
  return __generator(this, function (_e) {
89
111
  switch (_e.label) {
@@ -96,7 +118,7 @@ var generatElementNode = function (node, templatesLookUp, propDefinitions, state
96
118
  dependencies[dependency.path] = dependency;
97
119
  }
98
120
  if (!(dependency && (dependency === null || dependency === void 0 ? void 0 : dependency.type) === 'local')) return [3 /*break*/, 2];
99
- return [4 /*yield*/, generateComponentContent(node, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
121
+ return [4 /*yield*/, generateComponentContent(node, propDefinitions, stateDefinitions, templatesLookUp, subComponentOptions, structure)];
100
122
  case 1:
101
123
  compTag = _e.sent();
102
124
  return [2 /*return*/, compTag];
@@ -107,7 +129,7 @@ var generatElementNode = function (node, templatesLookUp, propDefinitions, state
107
129
  case 3:
108
130
  if (!(_i < children_1.length)) return [3 /*break*/, 6];
109
131
  child = children_1[_i];
110
- return [4 /*yield*/, (0, exports.generateHtmlSynatx)(child, templatesLookUp, propDefinitions, stateDefinitions, externals, routeDefinitions, structure)];
132
+ return [4 /*yield*/, (0, exports.generateHtmlSynatx)(child, templatesLookUp, propDefinitions, stateDefinitions, subComponentOptions, structure)];
111
133
  case 4:
112
134
  childTag = _e.sent();
113
135
  if (!childTag) {
@@ -136,23 +158,22 @@ var generatElementNode = function (node, templatesLookUp, propDefinitions, state
136
158
  if (Object.keys(style).length > 0) {
137
159
  handleStyles(node, style, propDefinitions, stateDefinitions);
138
160
  }
139
- if (Object.keys(attrs).length > 0) {
140
- handleAttributes(elementNode, attrs, propDefinitions, stateDefinitions, routeDefinitions);
141
- }
161
+ handleAttributes(elementType, elementNode, attrs, propDefinitions, stateDefinitions, structure.options.projectRouteDefinition, structure.outputOptions);
142
162
  return [2 /*return*/, elementNode];
143
163
  }
144
164
  });
145
165
  }); };
146
- var generateComponentContent = function (node, propDefinitions, stateDefinitions, externals, routeDefinitions, structure) { return __awaiter(void 0, void 0, void 0, function () {
147
- var _a, elementType, _b, attrs, key, _c, children, dependencies, chunks, options, comp, lookUpTemplates, compHasSlots, combinedProps, propsForInstance, combinedStates, statesForInstance, elementNode, compTag, cssPlugin, result, chunk, styleChunk;
148
- var _d;
149
- return __generator(this, function (_e) {
150
- switch (_e.label) {
166
+ var generateComponentContent = function (node, propDefinitions, stateDefinitions, templateLookup, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
167
+ 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;
168
+ var _f, _g, _h, _j;
169
+ return __generator(this, function (_k) {
170
+ switch (_k.label) {
151
171
  case 0:
172
+ externals = subComponentOptions.externals, plugins = subComponentOptions.plugins;
152
173
  _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;
153
- dependencies = structure.dependencies, chunks = structure.chunks, options = structure.options;
154
- comp = teleport_shared_1.UIDLUtils.cloneObject(externals[elementType] || {});
155
- lookUpTemplates = {};
174
+ dependencies = structure.dependencies, _d = structure.chunks, chunks = _d === void 0 ? [] : _d, options = structure.options;
175
+ compName = elementType === 'Component' ? 'AppComponent' : elementType;
176
+ comp = teleport_shared_1.UIDLUtils.cloneObject(externals[compName] || {});
156
177
  compHasSlots = false;
157
178
  if (!comp || !(comp === null || comp === void 0 ? void 0 : comp.node)) {
158
179
  throw new teleport_types_1.HTMLComponentGeneratorError("".concat(elementType, " is not found from the externals. \n\n Received ").concat(JSON.stringify(Object.keys(externals), null, 2)));
@@ -188,16 +209,21 @@ var generateComponentContent = function (node, propDefinitions, stateDefinitions
188
209
  node.content.children = [];
189
210
  }
190
211
  combinedProps = __assign(__assign({}, propDefinitions), ((comp === null || comp === void 0 ? void 0 : comp.propDefinitions) || {}));
191
- propsForInstance = Object.keys(combinedProps).reduce(function (acc, propKey) {
192
- var _a, _b;
212
+ propsForInstance = {};
213
+ for (_i = 0, _e = Object.keys(combinedProps); _i < _e.length; _i++) {
214
+ propKey = _e[_i];
215
+ // If the attribute is a named-slot, then we can directly pass the value instead of just the content
216
+ if (((_f = attrs[propKey]) === null || _f === void 0 ? void 0 : _f.type) === 'element') {
217
+ propsForInstance[propKey] = __assign(__assign({}, combinedProps[propKey]), { defaultValue: attrs[propKey] });
218
+ continue;
219
+ }
193
220
  if (attrs[propKey]) {
194
- 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) });
221
+ 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) });
195
222
  }
196
223
  else {
197
- acc[propKey] = combinedProps[propKey];
224
+ propsForInstance[propKey] = combinedProps[propKey];
198
225
  }
199
- return acc;
200
- }, {});
226
+ }
201
227
  combinedStates = __assign(__assign({}, stateDefinitions), ((comp === null || comp === void 0 ? void 0 : comp.stateDefinitions) || {}));
202
228
  statesForInstance = Object.keys(combinedStates).reduce(function (acc, propKey) {
203
229
  var _a, _b;
@@ -210,40 +236,51 @@ var generateComponentContent = function (node, propDefinitions, stateDefinitions
210
236
  return acc;
211
237
  }, {});
212
238
  elementNode = teleport_plugin_common_1.HASTBuilders.createHTMLNode(teleport_shared_1.StringUtils.camelCaseToDashCase(elementType));
213
- lookUpTemplates[key] = elementNode;
214
- return [4 /*yield*/, (0, exports.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: {
239
+ templateLookup[key] = elementNode;
240
+ return [4 /*yield*/, (0, exports.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: {
215
241
  type: 'static',
216
242
  content: 'contents',
217
- } }) }) }), lookUpTemplates, propsForInstance, statesForInstance, externals, routeDefinitions, structure)];
243
+ } }) }) }), templateLookup, propsForInstance, statesForInstance, subComponentOptions, structure)];
218
244
  case 1:
219
- compTag = (_e.sent());
245
+ compTag = (_k.sent());
220
246
  cssPlugin = (0, teleport_plugin_css_1.createCSSPlugin)({
221
247
  templateStyle: 'html',
222
- templateChunkName: 'html-template',
248
+ templateChunkName: constants_1.DEFAULT_COMPONENT_CHUNK_NAME,
223
249
  declareDependency: 'import',
224
250
  forceScoping: true,
225
251
  chunkName: comp.name,
226
252
  staticPropReferences: true,
227
253
  });
228
- return [4 /*yield*/, cssPlugin({
229
- uidl: __assign(__assign({}, comp), { propDefinitions: propsForInstance, stateDefinitions: statesForInstance }),
230
- chunks: [
231
- {
232
- type: teleport_types_1.ChunkType.HAST,
233
- fileType: teleport_types_1.FileType.HTML,
234
- name: constants_1.DEFAULT_COMPONENT_CHUNK_NAME,
235
- linkAfter: [],
236
- content: compTag,
237
- meta: {
238
- nodesLookup: lookUpTemplates,
239
- },
254
+ initialStructure = {
255
+ uidl: __assign(__assign({}, comp), { propDefinitions: propsForInstance, stateDefinitions: statesForInstance }),
256
+ chunks: [
257
+ {
258
+ type: teleport_types_1.ChunkType.HAST,
259
+ fileType: teleport_types_1.FileType.HTML,
260
+ name: constants_1.DEFAULT_COMPONENT_CHUNK_NAME,
261
+ linkAfter: [],
262
+ content: compTag,
263
+ meta: {
264
+ nodesLookup: templateLookup,
240
265
  },
241
- ],
242
- dependencies: dependencies,
243
- options: options,
244
- })];
266
+ },
267
+ ],
268
+ dependencies: dependencies,
269
+ options: options,
270
+ };
271
+ return [4 /*yield*/, __spreadArray([cssPlugin], plugins, true).reduce(function (previousPluginOperation, plugin) { return __awaiter(void 0, void 0, void 0, function () {
272
+ var modifiedStructure;
273
+ return __generator(this, function (_a) {
274
+ switch (_a.label) {
275
+ case 0: return [4 /*yield*/, previousPluginOperation];
276
+ case 1:
277
+ modifiedStructure = _a.sent();
278
+ return [2 /*return*/, plugin(modifiedStructure)];
279
+ }
280
+ });
281
+ }); }, Promise.resolve(initialStructure))];
245
282
  case 2:
246
- result = _e.sent();
283
+ result = _k.sent();
247
284
  if (compHasSlots) {
248
285
  result.chunks.forEach(function (chunk) {
249
286
  if (chunk.fileType === teleport_types_1.FileType.CSS) {
@@ -254,7 +291,10 @@ var generateComponentContent = function (node, propDefinitions, stateDefinitions
254
291
  else {
255
292
  chunk = chunks.find(function (item) { return item.name === comp.name; });
256
293
  if (!chunk) {
257
- styleChunk = result.chunks.find(function (item) { return item.name === comp.name; });
294
+ styleChunk = result.chunks.find(function (item) { return item.fileType === teleport_types_1.FileType.CSS; });
295
+ if (!styleChunk) {
296
+ return [2 /*return*/];
297
+ }
258
298
  chunks.push(styleChunk);
259
299
  }
260
300
  }
@@ -262,77 +302,134 @@ var generateComponentContent = function (node, propDefinitions, stateDefinitions
262
302
  }
263
303
  });
264
304
  }); };
265
- var generateDynamicNode = function (node, _, propDefinitions, stateDefinitions) {
266
- var spanTag = teleport_plugin_common_1.HASTBuilders.createHTMLNode('span');
267
- var usedReferenceValue = node.content.referenceType === 'prop'
268
- ? getValueFromReference(node.content.id, propDefinitions)
269
- : getValueFromReference(node.content.id, stateDefinitions);
270
- teleport_plugin_common_1.HASTUtils.addTextNode(spanTag, String(usedReferenceValue));
271
- return spanTag;
272
- };
305
+ var generateDynamicNode = function (node, templateLookup, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
306
+ var usedReferenceValue, slotNode, spanTagWrapper, commentNode, spanTag;
307
+ return __generator(this, function (_a) {
308
+ switch (_a.label) {
309
+ case 0:
310
+ usedReferenceValue = getValueFromReference(node.content.id, node.content.referenceType === 'prop' ? propDefinitions : stateDefinitions);
311
+ if (!(usedReferenceValue.type === 'element' && usedReferenceValue.defaultValue)) return [3 /*break*/, 2];
312
+ return [4 /*yield*/, generateElementNode(usedReferenceValue.defaultValue, templateLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
313
+ case 1:
314
+ slotNode = _a.sent();
315
+ return [2 /*return*/, slotNode];
316
+ case 2:
317
+ if (usedReferenceValue.type === 'element' && usedReferenceValue.defaultValue === undefined) {
318
+ spanTagWrapper = teleport_plugin_common_1.HASTBuilders.createHTMLNode('span');
319
+ commentNode = teleport_plugin_common_1.HASTBuilders.createComment("Content for slot ".concat(node.content.id));
320
+ teleport_plugin_common_1.HASTUtils.addChildNode(spanTagWrapper, commentNode);
321
+ return [2 /*return*/, spanTagWrapper];
322
+ }
323
+ spanTag = teleport_plugin_common_1.HASTBuilders.createHTMLNode('span');
324
+ teleport_plugin_common_1.HASTUtils.addTextNode(spanTag, String(usedReferenceValue.defaultValue));
325
+ return [2 /*return*/, spanTag];
326
+ }
327
+ });
328
+ }); };
273
329
  var handleStyles = function (node, styles, propDefinitions, stateDefinitions) {
274
330
  Object.keys(styles).forEach(function (styleKey) {
275
331
  var _a;
276
332
  var style = styles[styleKey];
277
333
  if (style.type === 'dynamic' && ((_a = style.content) === null || _a === void 0 ? void 0 : _a.referenceType) !== 'token') {
278
- if (style.content.referenceType === 'prop') {
279
- style = getValueFromReference(style.content.id, propDefinitions);
280
- }
281
- else if (style.content.referenceType === 'state') {
282
- style = getValueFromReference(style.content.id, stateDefinitions);
334
+ var referencedValue = getValueFromReference(style.content.id, style.content.referenceType === 'prop' ? propDefinitions : stateDefinitions);
335
+ if (referencedValue.type === 'string' || referencedValue.type === 'number') {
336
+ style = String(referencedValue.defaultValue);
283
337
  }
284
338
  node.content.style[styleKey] = typeof style === 'string' ? (0, teleport_uidl_builders_1.staticNode)(style) : style;
285
339
  }
286
340
  });
287
341
  };
288
- var handleAttributes = function (htmlNode, attrs, propDefinitions, stateDefinitions, routeDefinitions) {
289
- Object.keys(attrs).forEach(function (attrKey) {
342
+ var handleAttributes = function (elementType, htmlNode, attrs, propDefinitions, stateDefinitions, routeDefinitions, outputOptions) {
343
+ var _loop_1 = function (attrKey) {
290
344
  var attrValue = attrs[attrKey];
291
- if (attrKey === 'href' &&
292
- attrValue.type === 'static' &&
293
- typeof attrValue.content === 'string' &&
294
- attrValue.content.startsWith('/')) {
295
- attrValue =
296
- attrValue.content === '/' ||
297
- attrValue.content ===
298
- "/".concat(teleport_shared_1.StringUtils.camelCaseToDashCase(teleport_shared_1.StringUtils.removeIllegalCharacters((routeDefinitions === null || routeDefinitions === void 0 ? void 0 : routeDefinitions.defaultValue) || '')))
299
- ? (0, teleport_uidl_builders_1.staticNode)('index.html')
300
- : (0, teleport_uidl_builders_1.staticNode)("".concat(attrValue.content.split('/').pop(), ".html"));
301
- teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, String(attrValue.content));
302
- return;
303
- }
304
- if (attrValue.type === 'dynamic') {
305
- var value = attrValue.content.referenceType === 'prop'
306
- ? getValueFromReference(attrValue.content.id, propDefinitions)
307
- : getValueFromReference(attrValue.content.id, stateDefinitions);
308
- teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, String(value));
309
- return;
310
- }
311
- if (attrValue.type === 'raw') {
312
- teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, String(attrValue.content));
313
- return;
314
- }
315
- if (typeof attrValue.content === 'boolean') {
316
- teleport_plugin_common_1.HASTUtils.addBooleanAttributeToNode(htmlNode, attrKey);
317
- return;
318
- }
319
- else if (typeof attrValue.content === 'string' || typeof attrValue.content === 'number') {
320
- teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, teleport_shared_1.StringUtils.encode(String(attrValue.content)));
321
- return;
345
+ var type = attrValue.type, content = attrValue.content;
346
+ switch (type) {
347
+ case 'static': {
348
+ if (attrKey === 'href' && typeof content === 'string' && content.startsWith('/')) {
349
+ var targetLink = void 0;
350
+ var targetRoute = ((routeDefinitions === null || routeDefinitions === void 0 ? void 0 : routeDefinitions.values) || []).find(function (route) { return route.pageOptions.navLink === content; });
351
+ if (targetRoute) {
352
+ targetLink = targetRoute.pageOptions.navLink;
353
+ }
354
+ if (!targetRoute && content === '/home') {
355
+ targetLink = '/';
356
+ }
357
+ if (!targetLink && !targetRoute) {
358
+ targetLink = content;
359
+ }
360
+ var currentPageRoute = path_1.join.apply(void 0, __spreadArray(__spreadArray([], ((outputOptions === null || outputOptions === void 0 ? void 0 : outputOptions.folderPath) || []), false), ['./'], false));
361
+ var localPrefix = (0, path_1.relative)("/".concat(currentPageRoute), "/".concat(targetLink === '/' ? 'index' : targetLink));
362
+ teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, "".concat(localPrefix, ".html"));
363
+ break;
364
+ }
365
+ if (typeof content === 'boolean') {
366
+ htmlNode.properties[attrKey] = content === true ? 'true' : 'false';
367
+ }
368
+ else if (typeof content === 'string' || typeof attrValue.content === 'number') {
369
+ var value = teleport_shared_1.StringUtils.encode(String(attrValue.content));
370
+ /*
371
+ elementType of image is always mapped to img.
372
+ For reference, check `html-mapping` file.
373
+ */
374
+ if (elementType === 'img' && attrKey === 'src' && !isValidURL(value)) {
375
+ /*
376
+ By default we just prefix all the asset paths with just the
377
+ assetPrefix that is configured in the project. But for `html` generators
378
+ we need to prefix that with the current file location.
379
+
380
+ Because, all the other frameworks have a build setup. which serves all the
381
+ assets from the `public` folder. But in the case of `html` here is how it works
382
+
383
+ We load a file from `index.html` the request for the image goes from
384
+ '...url.../public/...image...'
385
+ If it's a nested url, then the request goes from
386
+ '...url/nested/public/...image..'
387
+
388
+ But the nested folder is available only on the root. With this
389
+ The url changes prefixes to
390
+
391
+ ../public/playground_assets/..image.. etc depending on the dept the file is in.
392
+ */
393
+ value = (0, path_1.join)((0, path_1.relative)(path_1.join.apply(void 0, outputOptions.folderPath), './'), value);
394
+ }
395
+ teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, value);
396
+ }
397
+ break;
398
+ }
399
+ case 'dynamic': {
400
+ var value = getValueFromReference(content.id, content.referenceType === 'prop' ? propDefinitions : stateDefinitions);
401
+ teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, String(value.defaultValue));
402
+ break;
403
+ }
404
+ case 'raw': {
405
+ teleport_plugin_common_1.HASTUtils.addAttributeToNode(htmlNode, attrKey, content);
406
+ break;
407
+ }
408
+ case 'element':
409
+ case 'import':
410
+ break;
411
+ default: {
412
+ throw new teleport_types_1.HTMLComponentGeneratorError("Received ".concat(JSON.stringify(attrValue, null, 2), " \n in handleAttributes for html"));
413
+ }
322
414
  }
323
- });
415
+ };
416
+ for (var _i = 0, _a = Object.keys(attrs); _i < _a.length; _i++) {
417
+ var attrKey = _a[_i];
418
+ _loop_1(attrKey);
419
+ }
324
420
  };
325
421
  var getValueFromReference = function (key, definitions) {
326
- var usedReferenceValue = definitions[key];
422
+ var usedReferenceValue = definitions[key.includes('.') ? key.split('.')[0] : key];
327
423
  if (!usedReferenceValue) {
328
424
  throw new teleport_types_1.HTMLComponentGeneratorError("Definition for ".concat(key, " is missing from ").concat(JSON.stringify(definitions, null, 2)));
329
425
  }
330
- if (!usedReferenceValue.hasOwnProperty('defaultValue')) {
331
- throw new teleport_types_1.HTMLComponentGeneratorError("Default value is missing from dynamic reference - ".concat(JSON.stringify(usedReferenceValue, null, 2)));
332
- }
333
- if (!['string', 'number'].includes(usedReferenceValue === null || usedReferenceValue === void 0 ? void 0 : usedReferenceValue.type)) {
426
+ if (['string', 'number', 'object', 'element'].includes(usedReferenceValue === null || usedReferenceValue === void 0 ? void 0 : usedReferenceValue.type) === false) {
334
427
  throw new teleport_types_1.HTMLComponentGeneratorError("Attribute is using dynamic value, but received of type ".concat(JSON.stringify(usedReferenceValue, null, 2)));
335
428
  }
336
- return String(usedReferenceValue.defaultValue);
429
+ if (usedReferenceValue.type !== 'element' &&
430
+ usedReferenceValue.hasOwnProperty('defaultValue') === false) {
431
+ throw new teleport_types_1.HTMLComponentGeneratorError("Default value is missing from dynamic reference - ".concat(JSON.stringify(usedReferenceValue, null, 2)));
432
+ }
433
+ return usedReferenceValue;
337
434
  };
338
435
  //# 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAuBmC;AACnC,6BAAqC;AACrC,6EAA4E;AAC5E,+DAAoE;AACpE,6EAA+D;AAC/D,uEAAiE;AACjE,yCAA0D;AAE1D,IAAM,UAAU,GAAG,UAAC,GAAW;IAC7B,IAAI;QACF,yCAAyC;QACzC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QACZ,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAA;KACb;AACH,CAAC,CAAA;AAmBM,IAAM,kBAAkB,GAAuD,UACpF,IAAI,EACJ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,SAAS;;;;;gBAED,KAAA,IAAI,CAAC,IAAI,CAAA;;yBACV,QAAQ,CAAC,CAAT,wBAAQ;yBACR,KAAK,CAAC,CAAN,wBAAK;yBAGL,QAAQ,CAAC,CAAT,wBAAQ;yBAGR,MAAM,CAAC,CAAP,wBAAM;yBAGN,SAAS,CAAC,CAAV,wBAAS;yBAWT,SAAS,CAAC,CAAV,wBAAS;;;oBAnBZ,sBAAO,qCAAY,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;oBAG3D,sBAAO,qCAAY,CAAC,cAAc,CAAC,6BAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAA;oBAG/E,sBAAO,qCAAY,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;oBAGzB,qBAAM,mBAAmB,CAC3C,IAAI,EACJ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,CACV,EAAA;;gBAPK,WAAW,GAAG,SAOnB;gBACD,sBAAO,WAAW,EAAA;oBAGE,qBAAM,mBAAmB,CAC3C,IAAI,EACJ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,CACV,EAAA;;gBAPK,WAAW,GAAG,SAOnB;gBAED,sBAAO,WAAW,EAAA;oBAGlB,MAAM,IAAI,4CAA2B,CACnC,qEAA8D,IAAI,CAAC,SAAS,CAC1E,IAAI,EACJ,IAAI,EACJ,CAAC,CACF,MAAG,CACL,CAAA;;;KAEN,CAAA;AAnDY,QAAA,kBAAkB,sBAmD9B;AAED,IAAM,mBAAmB,GAA8D,UACrF,IAAI,EACJ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,SAAS;;;;;gBAEH,KAQF,IAAI,CAAC,OAAO,EAPd,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,wBAAqB,EAArB,gBAAgB,mBAAG,EAAE,KAAA,EACrB,UAAU,gBAAA,EACV,GAAG,SAAA,CACW;gBAEV,WAAW,GAAG,qCAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;gBAC5D,eAAe,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA;gBAE1B,YAAY,GAAK,SAAS,aAAd,CAAc;gBAClC,IAAI,UAAU,IAAI,CAAC,UAA6B,aAA7B,UAAU,uBAAV,UAAU,CAAqB,IAAI,MAAK,OAAO,EAAE;oBAClE,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAA;iBAC3C;qBAEG,CAAA,UAAU,IAAI,CAAC,UAA6B,aAA7B,UAAU,uBAAV,UAAU,CAAqB,IAAI,MAAK,OAAO,CAAA,EAA9D,wBAA8D;gBAChD,qBAAM,wBAAwB,CAC5C,IAAI,EACJ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,SAAS,CACV,EAAA;;gBAPK,OAAO,GAAG,SAOf;gBACD,sBAAO,OAAO,EAAA;;qBAGZ,QAAQ,EAAR,wBAAQ;sBACkB,EAAR,qBAAQ;;;qBAAR,CAAA,sBAAQ,CAAA;gBAAjB,KAAK;gBACG,qBAAM,IAAA,0BAAkB,EACvC,KAAK,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,CACV,EAAA;;gBAPK,QAAQ,GAAG,SAOhB;gBAED,IAAI,CAAC,QAAQ,EAAE;oBACb,sBAAM;iBACP;gBAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;oBAChC,kCAAS,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;iBAC7C;qBAAM;oBACL,kCAAS,CAAC,YAAY,CAAC,WAAW,EAAE,QAAoB,CAAC,CAAA;iBAC1D;;;gBAlBiB,IAAQ,CAAA;;;gBAsB9B,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ;wBAC7C,IAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;wBAC3C,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;4BAC1C,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAA;4BAC9E,OAAM;yBACP;oBACH,CAAC,CAAC,CAAA;iBACH;gBAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAA;iBAC7D;gBAED,gBAAgB,CACd,WAAW,EACX,WAAW,EACX,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,SAAS,CAAC,OAAO,CAAC,sBAAsB,EACxC,SAAS,CAAC,aAAa,CACxB,CAAA;gBAED,sBAAO,WAAW,EAAA;;;KACnB,CAAA;AAED,IAAM,wBAAwB,GAAG,UAC/B,IAAqB,EACrB,eAAmD,EACnD,gBAAqD,EACrD,cAAuC,EACvC,mBAGC,EACD,SAKC;;;;;;gBAEO,SAAS,GAAc,mBAAmB,UAAjC,EAAE,OAAO,GAAK,mBAAmB,QAAxB,CAAwB;gBAC5C,KAAkD,IAAI,CAAC,OAAO,EAA5D,WAAW,iBAAA,EAAE,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EAAE,GAAG,SAAA,EAAE,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,CAAiB;gBAC5D,YAAY,GAA2B,SAAS,aAApC,EAAE,KAAyB,SAAS,OAAvB,EAAX,MAAM,mBAAG,EAAE,KAAA,EAAE,OAAO,GAAK,SAAS,QAAd,CAAc;gBAElD,QAAQ,GAAG,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAA;gBACrE,IAAI,GAAG,2BAAS,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAA;gBAC1E,YAAY,GAAY,KAAK,CAAA;gBAEjC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,EAAE;oBACxB,MAAM,IAAI,4CAA2B,CAAC,UAAG,WAAW,oEACrC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAE,CAAC,CAAA;iBAClE;gBAED,IAAI,QAAQ,CAAC,MAAM,EAAE;oBACnB,YAAY,GAAG,IAAI,CAAA;oBACnB,2BAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,UAAC,SAAS,EAAE,UAAU;;wBACvD,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE;4BAC9D,IAAM,YAAY,GAAG,MAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,QAAQ,0CAAE,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,MAAM,EAAjB,CAAiB,CAAC,CAAA;4BACnF,UAAU,CAAC,OAAO,CAAC,QAAQ,mCACtB,YAAY;gCACf;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACP,GAAG,EAAE,aAAa;wCAClB,WAAW,EAAE,MAAM;wCACnB,KAAK,EAAE;4CACL,OAAO,EAAE;gDACP,IAAI,EAAE,QAAQ;gDACd,OAAO,EAAE,UAAU;6CACpB;yCACF;wCACD,QAAQ,UAAA;qCACT;iCACF;qCACF,CAAA;yBACF;oBACH,CAAC,CAAC,CAAA;oBACF;;;sBAGE;oBACF,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAA;iBAC3B;gBAEK,aAAa,yBAAQ,eAAe,GAAK,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,KAAI,EAAE,CAAC,CAAE,CAAA;gBACxE,gBAAgB,GAAuC,EAAE,CAAA;gBAC/D,WAAgD,EAA1B,KAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAA1B,cAA0B,EAA1B,IAA0B,EAAE;oBAAvC,OAAO;oBAChB,oGAAoG;oBACpG,IAAI,CAAA,MAAA,KAAK,CAAC,OAAO,CAAC,0CAAE,IAAI,MAAK,SAAS,EAAE;wBACtC,gBAAgB,CAAC,OAAO,CAAC,yBACpB,aAAa,CAAC,OAAO,CAAC,KACzB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,GAC7B,CAAA;wBACD,SAAQ;qBACT;oBAED,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;wBAClB,gBAAgB,CAAC,OAAO,CAAC,yBACpB,aAAa,CAAC,OAAO,CAAC,KACzB,YAAY,EAAE,CAAA,MAAA,KAAK,CAAC,OAAO,CAAC,0CAAE,OAAO,MAAI,MAAA,aAAa,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAA,GAC9E,CAAA;qBACF;yBAAM;wBACL,gBAAgB,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;qBACnD;iBACF;gBAEK,cAAc,yBAAQ,gBAAgB,GAAK,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,KAAI,EAAE,CAAC,CAAE,CAAA;gBAC3E,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAC1D,UAAC,GAAwC,EAAE,OAAO;;oBAChD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;wBAClB,GAAG,CAAC,OAAO,CAAC,yBACP,cAAc,CAAC,OAAO,CAAC,KAC1B,YAAY,EAAE,CAAA,MAAA,KAAK,CAAC,OAAO,CAAC,0CAAE,OAAO,MAAI,MAAA,cAAc,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAA,GAC/E,CAAA;qBACF;yBAAM;wBACL,GAAG,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;qBACvC;oBAED,OAAO,GAAG,CAAA;gBACZ,CAAC,EACD,EAAE,CACH,CAAA;gBAEK,WAAW,GAAG,qCAAY,CAAC,cAAc,CAAC,6BAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAA;gBAC7F,cAAc,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA;gBAEhB,qBAAM,IAAA,0BAAkB,wBAElC,IAAI,CAAC,IAAI,KACZ,OAAO,wBACF,IAAI,CAAC,IAAI,CAAC,OAAO,KACpB,KAAK,wBACA,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,OAAO,0CAAE,KAAK,KAAI,EAAE,CAAC,KACnC,OAAO,EAAE;oCACP,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,UAAU;iCACpB,WAIP,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,CACV,EAAA;;gBAnBK,OAAO,GAAG,CAAC,SAmBhB,CAAwB;gBAEnB,SAAS,GAAG,IAAA,qCAAe,EAAC;oBAChC,aAAa,EAAE,MAAM;oBACrB,iBAAiB,EAAE,wCAA4B;oBAC/C,iBAAiB,EAAE,QAAQ;oBAC3B,YAAY,EAAE,IAAI;oBAClB,SAAS,EAAE,IAAI,CAAC,IAAI;oBACpB,oBAAoB,EAAE,IAAI;iBAC3B,CAAC,CAAA;gBAEI,gBAAgB,GAAuB;oBAC3C,IAAI,wBACC,IAAI,KACP,eAAe,EAAE,gBAAgB,EACjC,gBAAgB,EAAE,iBAAiB,GACpC;oBACD,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE,0BAAS,CAAC,IAAI;4BACpB,QAAQ,EAAE,yBAAQ,CAAC,IAAI;4BACvB,IAAI,EAAE,wCAA4B;4BAClC,SAAS,EAAE,EAAE;4BACb,OAAO,EAAE,OAAO;4BAChB,IAAI,EAAE;gCACJ,WAAW,EAAE,cAAc;6BAC5B;yBACF;qBACF;oBACD,YAAY,cAAA;oBACZ,OAAO,SAAA;iBACR,CAAA;gBAEc,qBAAM,eAAC,SAAS,GAAK,OAAO,QAAE,MAAM,CACjD,UAAO,uBAAoD,EAAE,MAAM;;;;wCACvC,qBAAM,uBAAuB,EAAA;;oCAAjD,iBAAiB,GAAG,SAA6B;oCACvD,sBAAO,MAAM,CAAC,iBAAiB,CAAC,EAAA;;;yBACjC,EACD,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAClC,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,IAAI,YAAY,EAAE;oBAChB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;wBAC1B,IAAI,KAAK,CAAC,QAAQ,KAAK,yBAAQ,CAAC,GAAG,EAAE;4BACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;yBACnB;oBACH,CAAC,CAAC,CAAA;iBACH;qBAAM;oBACC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAvB,CAAuB,CAAC,CAAA;oBAC5D,IAAI,CAAC,KAAK,EAAE;wBACJ,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACnC,UAAC,IAAqB,IAAK,OAAA,IAAI,CAAC,QAAQ,KAAK,yBAAQ,CAAC,GAAG,EAA9B,CAA8B,CAC1D,CAAA;wBACD,IAAI,CAAC,UAAU,EAAE;4BACf,sBAAM;yBACP;wBACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;qBACxB;iBACF;gBAED,sBAAO,OAAO,EAAA;;;KACf,CAAA;AAED,IAAM,mBAAmB,GAAwD,UAC/E,IAAI,EACJ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,SAAS;;;;;gBAEH,kBAAkB,GAAG,qBAAqB,CAC9C,IAAI,CAAC,OAAO,CAAC,EAAE,EACf,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAC3E,CAAA;qBAEG,CAAA,kBAAkB,CAAC,IAAI,KAAK,SAAS,IAAI,kBAAkB,CAAC,YAAY,CAAA,EAAxE,wBAAwE;gBACzD,qBAAM,mBAAmB,CACxC,kBAAkB,CAAC,YAA+B,EAClD,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,CACV,EAAA;;gBAPK,QAAQ,GAAG,SAOhB;gBAED,sBAAO,QAAoB,EAAA;;gBAG7B,IAAI,kBAAkB,CAAC,IAAI,KAAK,SAAS,IAAI,kBAAkB,CAAC,YAAY,KAAK,SAAS,EAAE;oBACpF,cAAc,GAAG,qCAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;oBACpD,WAAW,GAAG,qCAAY,CAAC,aAAa,CAAC,2BAAoB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC,CAAA;oBACrF,kCAAS,CAAC,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;oBACnD,sBAAO,cAAc,EAAA;iBACtB;gBAEK,OAAO,GAAG,qCAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;gBACnD,kCAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAA;gBACvE,sBAAO,OAAO,EAAA;;;KACf,CAAA;AAED,IAAM,YAAY,GAAG,UACnB,IAAqB,EACrB,MAA4B,EAC5B,eAAmD,EACnD,gBAAqD;IAErD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ;;QACnC,IAAI,KAAK,GAA4B,MAAM,CAAC,QAAQ,CAAC,CAAA;QACrD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,aAAa,MAAK,OAAO,EAAE;YACxE,IAAM,eAAe,GAAG,qBAAqB,CAC3C,KAAK,CAAC,OAAO,CAAC,EAAE,EAChB,KAAK,CAAC,OAAO,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAC5E,CAAA;YACD,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC1E,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;aAC7C;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,mCAAU,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;SACrF;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,IAAM,gBAAgB,GAAG,UACvB,WAAuC,EACvC,QAAkB,EAClB,KAAyC,EACzC,eAAmD,EACnD,gBAAqD,EACrD,gBAAsC,EACtC,aAAyC;4BAE9B,OAAO;QAChB,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;QACxB,IAAA,IAAI,GAAc,SAAS,KAAvB,EAAE,OAAO,GAAK,SAAS,QAAd,CAAc;QAEnC,QAAQ,IAAI,EAAE;YACZ,KAAK,QAAQ,CAAC,CAAC;gBACb,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBAChF,IAAI,UAAU,SAAA,CAAA;oBAEd,IAAM,WAAW,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,KAAI,EAAE,CAAC,CAAC,IAAI,CACvD,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,EAArC,CAAqC,CACjD,CAAA;oBAED,IAAI,WAAW,EAAE;wBACf,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAA;qBAC7C;oBAED,IAAI,CAAC,WAAW,IAAI,OAAO,KAAK,OAAO,EAAE;wBACvC,UAAU,GAAG,GAAG,CAAA;qBACjB;oBAED,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE;wBAC/B,UAAU,GAAG,OAAO,CAAA;qBACrB;oBAED,IAAM,gBAAgB,GAAG,WAAI,+CAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,KAAI,EAAE,CAAC,WAAE,IAAI,UAAC,CAAA;oBACzE,IAAM,WAAW,GAAG,IAAA,eAAQ,EAC1B,WAAI,gBAAgB,CAAE,EACtB,WAAI,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAE,CAChD,CAAA;oBAED,kCAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAG,WAAW,UAAO,CAAC,CAAA;oBACtE,MAAK;iBACN;gBAED,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE;oBAChC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;iBACnE;qBAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE;oBAC/E,IAAI,KAAK,GAAG,6BAAW,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;oBAEzD;;;sBAGE;oBACF,IAAI,WAAW,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;wBACpE;;;;;;;;;;;;;;;;;0BAiBE;wBACF,KAAK,GAAG,IAAA,WAAI,EAAC,IAAA,eAAQ,EAAC,WAAI,eAAI,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;qBACvE;oBAED,kCAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;iBACvD;gBAED,MAAK;aACN;YAED,KAAK,SAAS,CAAC,CAAC;gBACd,IAAM,KAAK,GAAG,qBAAqB,CACjC,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CACtE,CAAA;gBAED,kCAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;gBAC3E,MAAK;aACN;YAED,KAAK,KAAK,CAAC,CAAC;gBACV,kCAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;gBACxD,MAAK;aACN;YAED,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ;gBACX,MAAK;YAEP,OAAO,CAAC,CAAC;gBACP,MAAM,IAAI,4CAA2B,CACnC,mBAAY,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,qCAAkC,CACjF,CAAA;aACF;SACF;;IAhGH,KAAsB,UAAkB,EAAlB,KAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAlB,cAAkB,EAAlB,IAAkB;QAAnC,IAAM,OAAO,SAAA;gBAAP,OAAO;KAiGjB;AACH,CAAC,CAAA;AAED,IAAM,qBAAqB,GAAG,UAC5B,GAAW,EACX,WAA+C;IAE/C,IAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEnF,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,4CAA2B,CACnC,yBAAkB,GAAG,8BAAoB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAE,CAChF,CAAA;KACF;IAED,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,CAAC,KAAK,KAAK,EAAE;QAC1F,MAAM,IAAI,4CAA2B,CACnC,iEAA0D,IAAI,CAAC,SAAS,CACtE,kBAAkB,EAClB,IAAI,EACJ,CAAC,CACF,CAAE,CACJ,CAAA;KACF;IAED,IACE,kBAAkB,CAAC,IAAI,KAAK,SAAS;QACrC,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,KAAK,EAC3D;QACA,MAAM,IAAI,4CAA2B,CACnC,4DAAqD,IAAI,CAAC,SAAS,CACjE,kBAAkB,EAClB,IAAI,EACJ,CAAC,CACF,CAAE,CACJ,CAAA;KACF;IAED,OAAO,kBAAkB,CAAA;AAC3B,CAAC,CAAA"}