@adaas/are-html 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.d.mts +11 -2
- package/dist/browser/index.mjs +24 -2
- package/dist/browser/index.mjs.map +1 -1
- package/dist/node/engine/AreHTML.engine.d.mts +2 -2
- package/dist/node/engine/AreHTML.engine.d.ts +2 -2
- package/dist/node/engine/AreHTML.engine.js +7 -2
- package/dist/node/engine/AreHTML.engine.js.map +1 -1
- package/dist/node/engine/AreHTML.engine.mjs +8 -3
- package/dist/node/engine/AreHTML.engine.mjs.map +1 -1
- package/dist/node/engine/AreHTML.lifecycle.d.mts +10 -1
- package/dist/node/engine/AreHTML.lifecycle.d.ts +10 -1
- package/dist/node/engine/AreHTML.lifecycle.js +18 -0
- package/dist/node/engine/AreHTML.lifecycle.js.map +1 -1
- package/dist/node/engine/AreHTML.lifecycle.mjs +19 -1
- package/dist/node/engine/AreHTML.lifecycle.mjs.map +1 -1
- package/examples/dashboard/dist/index.html +1 -1
- package/examples/dashboard/dist/{mpm5e2oi-ghokyu.js → mpmt0gys-1r9rcu.js} +72 -14
- package/examples/dashboard/src/components/DashboardLogo.component.ts +9 -0
- package/package.json +1 -1
- package/src/engine/AreHTML.engine.ts +7 -1
- package/src/engine/AreHTML.lifecycle.ts +31 -1
|
@@ -11032,6 +11032,9 @@ var _DashboardLogo = class _DashboardLogo extends Are {
|
|
|
11032
11032
|
brandName: "ARE Platform"
|
|
11033
11033
|
});
|
|
11034
11034
|
}
|
|
11035
|
+
async onMount(node, store) {
|
|
11036
|
+
console.log("!!!!!!!!!!!!!!!!!!!!!!!!!DashboardLogo mounted");
|
|
11037
|
+
}
|
|
11035
11038
|
};
|
|
11036
11039
|
__name(_DashboardLogo, "DashboardLogo");
|
|
11037
11040
|
__decorateClass([
|
|
@@ -11042,6 +11045,11 @@ __decorateClass([
|
|
|
11042
11045
|
Are.Data,
|
|
11043
11046
|
__decorateParam(0, ke(AreStore))
|
|
11044
11047
|
], _DashboardLogo.prototype, "data", 1);
|
|
11048
|
+
__decorateClass([
|
|
11049
|
+
Are.onAfterMount,
|
|
11050
|
+
__decorateParam(0, ke(G)),
|
|
11051
|
+
__decorateParam(1, ke(AreStore))
|
|
11052
|
+
], _DashboardLogo.prototype, "onMount", 1);
|
|
11045
11053
|
var DashboardLogo = _DashboardLogo;
|
|
11046
11054
|
|
|
11047
11055
|
// examples/dashboard/src/components/DashboardNav.component.ts
|
|
@@ -12318,6 +12326,26 @@ AreText = __decorateClass([
|
|
|
12318
12326
|
], AreText);
|
|
12319
12327
|
|
|
12320
12328
|
// src/engine/AreHTML.constants.ts
|
|
12329
|
+
var VOID_ELEMENTS = /* @__PURE__ */ new Set([
|
|
12330
|
+
"area",
|
|
12331
|
+
"base",
|
|
12332
|
+
"br",
|
|
12333
|
+
"col",
|
|
12334
|
+
"embed",
|
|
12335
|
+
"hr",
|
|
12336
|
+
"img",
|
|
12337
|
+
"input",
|
|
12338
|
+
"link",
|
|
12339
|
+
"meta",
|
|
12340
|
+
"param",
|
|
12341
|
+
"source",
|
|
12342
|
+
"track",
|
|
12343
|
+
"wbr"
|
|
12344
|
+
]);
|
|
12345
|
+
function isVoidElement(tagName) {
|
|
12346
|
+
return VOID_ELEMENTS.has(tagName.toLowerCase());
|
|
12347
|
+
}
|
|
12348
|
+
__name(isVoidElement, "isVoidElement");
|
|
12321
12349
|
var BOOLEAN_ATTRIBUTES = /* @__PURE__ */ new Set([
|
|
12322
12350
|
"allowfullscreen",
|
|
12323
12351
|
"async",
|
|
@@ -12609,6 +12637,16 @@ var AreHTMLCompiler = class extends AreCompiler {
|
|
|
12609
12637
|
title: "Scene Host Not Found",
|
|
12610
12638
|
description: `No host found for the scene with id: ${scene.id}. Please ensure that the scene is properly initialized and has a host before compiling binding attributes.`
|
|
12611
12639
|
});
|
|
12640
|
+
const content = attribute.content;
|
|
12641
|
+
if (content.includes("{{")) {
|
|
12642
|
+
const transformed = '"' + content.replace(/\{\{([^}]+)\}\}/g, '"+($1)+"') + '"';
|
|
12643
|
+
scene.plan(new AddAttributeInstruction(scene.host, {
|
|
12644
|
+
name: attribute.name,
|
|
12645
|
+
content: transformed,
|
|
12646
|
+
evaluate: true
|
|
12647
|
+
}));
|
|
12648
|
+
return;
|
|
12649
|
+
}
|
|
12612
12650
|
scene.plan(new AddAttributeInstruction(scene.host, {
|
|
12613
12651
|
name: attribute.name,
|
|
12614
12652
|
content: attribute.content
|
|
@@ -12919,6 +12957,7 @@ var AreHTMLInterpreter = class extends AreInterpreter {
|
|
|
12919
12957
|
event.set("args", effectiveArgs);
|
|
12920
12958
|
event.set("element", element);
|
|
12921
12959
|
event.set("instruction", mutation);
|
|
12960
|
+
if (liveEvent) event.set("native", liveEvent);
|
|
12922
12961
|
mutation.owner.emit(event);
|
|
12923
12962
|
}, "handlerFn");
|
|
12924
12963
|
handlerScope[`$${handler}`] = handlerFn;
|
|
@@ -13241,10 +13280,7 @@ AreHTMLTokenizer = __decorateClass([
|
|
|
13241
13280
|
|
|
13242
13281
|
// src/engine/AreHTML.lifecycle.ts
|
|
13243
13282
|
var AreHTMLLifecycle = class extends AreLifecycle {
|
|
13244
|
-
initComponent(node, scope, context, logger, ...args) {
|
|
13245
|
-
super.init(node, scope, context, logger, ...args);
|
|
13246
|
-
}
|
|
13247
|
-
initRoot(node, scope, context, signalsContext, logger, ...args) {
|
|
13283
|
+
initComponent(node, scope, context, signalsContext, logger, ...args) {
|
|
13248
13284
|
signalsContext?.subscribe(node);
|
|
13249
13285
|
super.init(node, scope, context, logger, ...args);
|
|
13250
13286
|
}
|
|
@@ -13256,6 +13292,14 @@ var AreHTMLLifecycle = class extends AreLifecycle {
|
|
|
13256
13292
|
const scene = new AreScene(node.aseid);
|
|
13257
13293
|
scope.register(scene);
|
|
13258
13294
|
}
|
|
13295
|
+
mount(node, scene, logger, ...args) {
|
|
13296
|
+
logger?.debug(`[Mount] Component Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}}`);
|
|
13297
|
+
node.interpret();
|
|
13298
|
+
for (let i4 = 0; i4 < node.children.length; i4++) {
|
|
13299
|
+
const child = node.children[i4];
|
|
13300
|
+
child.mount();
|
|
13301
|
+
}
|
|
13302
|
+
}
|
|
13259
13303
|
updateDirectiveAttribute(directive, scope, feature, logger, ...args) {
|
|
13260
13304
|
if (directive.component) {
|
|
13261
13305
|
feature.chain(directive.component, AreDirectiveFeatures.Update, directive.owner.scope);
|
|
@@ -13267,19 +13311,13 @@ var AreHTMLLifecycle = class extends AreLifecycle {
|
|
|
13267
13311
|
__name(AreHTMLLifecycle, "AreHTMLLifecycle");
|
|
13268
13312
|
__decorateClass([
|
|
13269
13313
|
AreLifecycle.Init(AreComponentNode),
|
|
13270
|
-
__decorateParam(0, ke(G)),
|
|
13271
|
-
__decorateParam(1, ke(D)),
|
|
13272
|
-
__decorateParam(2, ke(AreHTMLEngineContext)),
|
|
13273
|
-
__decorateParam(3, ke(A_Logger))
|
|
13274
|
-
], AreHTMLLifecycle.prototype, "initComponent", 1);
|
|
13275
|
-
__decorateClass([
|
|
13276
13314
|
AreLifecycle.Init(AreRootNode),
|
|
13277
13315
|
__decorateParam(0, ke(G)),
|
|
13278
13316
|
__decorateParam(1, ke(D)),
|
|
13279
13317
|
__decorateParam(2, ke(AreHTMLEngineContext)),
|
|
13280
13318
|
__decorateParam(3, ke(AreSignalsContext)),
|
|
13281
13319
|
__decorateParam(4, ke(A_Logger))
|
|
13282
|
-
], AreHTMLLifecycle.prototype, "
|
|
13320
|
+
], AreHTMLLifecycle.prototype, "initComponent", 1);
|
|
13283
13321
|
__decorateClass([
|
|
13284
13322
|
AreLifecycle.Init(AreText),
|
|
13285
13323
|
__decorateParam(0, ke(G)),
|
|
@@ -13294,6 +13332,15 @@ __decorateClass([
|
|
|
13294
13332
|
__decorateParam(2, ke(AreHTMLEngineContext)),
|
|
13295
13333
|
__decorateParam(3, ke(A_Logger))
|
|
13296
13334
|
], AreHTMLLifecycle.prototype, "initInterpolation", 1);
|
|
13335
|
+
__decorateClass([
|
|
13336
|
+
w.Extend({
|
|
13337
|
+
name: AreNodeFeatures.onMount,
|
|
13338
|
+
scope: [AreHTMLNode]
|
|
13339
|
+
}),
|
|
13340
|
+
__decorateParam(0, ke(G)),
|
|
13341
|
+
__decorateParam(1, ke(AreScene)),
|
|
13342
|
+
__decorateParam(2, ke(A_Logger))
|
|
13343
|
+
], AreHTMLLifecycle.prototype, "mount", 1);
|
|
13297
13344
|
__decorateClass([
|
|
13298
13345
|
w.Extend({
|
|
13299
13346
|
name: AreAttributeFeatures.Update,
|
|
@@ -13386,7 +13433,7 @@ var AreHTMLEngine = class extends AreEngine {
|
|
|
13386
13433
|
]
|
|
13387
13434
|
});
|
|
13388
13435
|
}
|
|
13389
|
-
async init(scope) {
|
|
13436
|
+
async init(scope, signalContext) {
|
|
13390
13437
|
this.package(scope, {
|
|
13391
13438
|
context: new AreHTMLEngineContext({}),
|
|
13392
13439
|
syntax: this.DefaultSyntax,
|
|
@@ -13396,6 +13443,10 @@ var AreHTMLEngine = class extends AreEngine {
|
|
|
13396
13443
|
lifecycle: AreHTMLLifecycle,
|
|
13397
13444
|
transformer: AreHTMLTransformer
|
|
13398
13445
|
});
|
|
13446
|
+
if (!signalContext) {
|
|
13447
|
+
signalContext = new AreSignalsContext();
|
|
13448
|
+
scope.register(signalContext);
|
|
13449
|
+
}
|
|
13399
13450
|
}
|
|
13400
13451
|
rootElementMatcher(source, from, to, build) {
|
|
13401
13452
|
const rootTag = "are-root";
|
|
@@ -13440,6 +13491,13 @@ var AreHTMLEngine = class extends AreEngine {
|
|
|
13440
13491
|
match2.payload = { entity: tagName, selfClose: true, id };
|
|
13441
13492
|
return match2;
|
|
13442
13493
|
}
|
|
13494
|
+
if (isVoidElement(tagName)) {
|
|
13495
|
+
const raw = source.slice(tagStart, openingTagEnd + 1);
|
|
13496
|
+
const content2 = source.slice(tagStart + tagNameMatch[0].length, openingTagEnd);
|
|
13497
|
+
const match2 = build(raw, content2, tagStart, ">");
|
|
13498
|
+
match2.payload = { entity: tagName, selfClose: true, id };
|
|
13499
|
+
return match2;
|
|
13500
|
+
}
|
|
13443
13501
|
const closingTag = `</${tagName}>`;
|
|
13444
13502
|
let level = 0;
|
|
13445
13503
|
let searchIndex = openingTagEnd + 1;
|
|
@@ -13498,7 +13556,8 @@ __decorateClass([
|
|
|
13498
13556
|
name: A_ServiceFeatures.onBeforeLoad,
|
|
13499
13557
|
before: /.*/
|
|
13500
13558
|
}),
|
|
13501
|
-
__decorateParam(0, ke(D))
|
|
13559
|
+
__decorateParam(0, ke(D)),
|
|
13560
|
+
__decorateParam(1, ke(AreSignalsContext))
|
|
13502
13561
|
], AreHTMLEngine.prototype, "init", 1);
|
|
13503
13562
|
AreHTMLEngine = __decorateClass([
|
|
13504
13563
|
A3.Define({
|
|
@@ -13547,7 +13606,6 @@ var AreRoot = class extends Are {
|
|
|
13547
13606
|
root.setContent(`<${componentName}></${componentName}>`);
|
|
13548
13607
|
}
|
|
13549
13608
|
async onSignal(root, vector, store, logger, signalsContext) {
|
|
13550
|
-
console.log("Received signal vector in AreRoot:", root, vector);
|
|
13551
13609
|
const rootId = root.id;
|
|
13552
13610
|
if (signalsContext && !signalsContext.hasRoot(rootId)) {
|
|
13553
13611
|
return;
|
|
@@ -26,4 +26,13 @@ export class DashboardLogo extends Are {
|
|
|
26
26
|
brandName: 'ARE Platform',
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
@Are.onAfterMount
|
|
32
|
+
async onMount(
|
|
33
|
+
@A_Inject(A_Caller) node: AreNode,
|
|
34
|
+
@A_Inject(AreStore) store: AreStore,
|
|
35
|
+
) {
|
|
36
|
+
console.log('!!!!!!!!!!!!!!!!!!!!!!!!!DashboardLogo mounted');
|
|
37
|
+
}
|
|
29
38
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaas/are-html",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "A-Concept Rendering Engine (ARE) is a powerful rendering engine designed to work seamlessly with the A-Concept framework. This library provides an HTML engine implementation of ARE, enabling developers to create dynamic and interactive user interfaces for web applications using standard HTML syntax.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"a-concept",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { A_Feature, A_Inject, A_Scope } from "@adaas/a-concept";
|
|
2
2
|
import { A_Frame } from "@adaas/a-frame/core"
|
|
3
3
|
import { A_ServiceFeatures } from "@adaas/a-utils/a-service";
|
|
4
|
-
import { AreEngine, AreSyntaxTokenMatch, AreSyntax } from "@adaas/are";
|
|
4
|
+
import { AreEngine, AreSyntaxTokenMatch, AreSyntax, AreSignalsContext } from "@adaas/are";
|
|
5
5
|
import { AreHTMLInterpreter } from "@adaas/are-html/interpreter";
|
|
6
6
|
import { AreHTMLEngineContext } from "./AreHTML.context";
|
|
7
7
|
import { AreInterpolation } from "@adaas/are-html/nodes/AreInterpolation";
|
|
@@ -81,6 +81,7 @@ export class AreHTMLEngine extends AreEngine {
|
|
|
81
81
|
})
|
|
82
82
|
async init(
|
|
83
83
|
@A_Inject(A_Scope) scope: A_Scope,
|
|
84
|
+
@A_Inject(AreSignalsContext) signalContext?: AreSignalsContext
|
|
84
85
|
) {
|
|
85
86
|
this.package(scope, {
|
|
86
87
|
context: new AreHTMLEngineContext({}),
|
|
@@ -91,6 +92,11 @@ export class AreHTMLEngine extends AreEngine {
|
|
|
91
92
|
lifecycle: AreHTMLLifecycle,
|
|
92
93
|
transformer: AreHTMLTransformer,
|
|
93
94
|
});
|
|
95
|
+
|
|
96
|
+
if(!signalContext) {
|
|
97
|
+
signalContext = new AreSignalsContext();
|
|
98
|
+
scope.register(signalContext);
|
|
99
|
+
}
|
|
94
100
|
}
|
|
95
101
|
|
|
96
102
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { A_Caller, A_Feature, A_FormatterHelper, A_Inject, A_Scope } from "@adaas/a-concept";
|
|
2
|
-
import { AreLifecycle, AreScene, AreAttributeFeatures, AreSignalsContext } from "@adaas/are";
|
|
2
|
+
import { AreLifecycle, AreScene, AreAttributeFeatures, AreSignalsContext, AreNodeFeatures, AreFeatures } from "@adaas/are";
|
|
3
3
|
import { A_Logger } from "@adaas/a-utils/a-logger";
|
|
4
4
|
import { AreComponentNode } from "@adaas/are-html/nodes/AreComponent";
|
|
5
5
|
import { AreRootNode } from "@adaas/are-html/nodes/AreRoot";
|
|
@@ -72,8 +72,38 @@ export class AreHTMLLifecycle extends AreLifecycle {
|
|
|
72
72
|
scope.register(scene);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
@A_Feature.Extend({
|
|
76
|
+
name: AreNodeFeatures.onMount,
|
|
77
|
+
scope: [AreHTMLNode]
|
|
78
|
+
})
|
|
79
|
+
mount(
|
|
80
|
+
/**
|
|
81
|
+
* Node to be mounted
|
|
82
|
+
*/
|
|
83
|
+
@A_Inject(A_Caller) node: AreHTMLNode,
|
|
84
|
+
/**
|
|
85
|
+
* Node Content
|
|
86
|
+
*/
|
|
87
|
+
@A_Inject(AreScene) scene: AreScene,
|
|
75
88
|
|
|
89
|
+
@A_Inject(A_Logger) logger?: A_Logger,
|
|
90
|
+
...args: any[]
|
|
91
|
+
) {
|
|
92
|
+
|
|
93
|
+
logger?.debug(`[Mount] Component Trigger for <${node.aseid.entity}> with aseid :{${node.aseid.toString()}}`);
|
|
76
94
|
|
|
95
|
+
/**
|
|
96
|
+
* 1. We should simply run and render node itself.
|
|
97
|
+
*/
|
|
98
|
+
node.interpret();
|
|
99
|
+
/**
|
|
100
|
+
* 2. Then go through all children of the node and mount the.
|
|
101
|
+
*/
|
|
102
|
+
for (let i = 0; i < node.children.length; i++) {
|
|
103
|
+
const child = node.children[i];
|
|
104
|
+
child.mount();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
77
107
|
|
|
78
108
|
@A_Feature.Extend({
|
|
79
109
|
name: AreAttributeFeatures.Update,
|