@adaas/are-html 0.0.17 → 0.0.19

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/jest.config.ts CHANGED
@@ -9,28 +9,6 @@ const config: Config.InitialOptions = {
9
9
  testMatch: ['<rootDir>/tests/**/*.test.ts'],
10
10
  setupFilesAfterEnv: ['<rootDir>/tests/jest.setup.ts'],
11
11
  moduleNameMapper: {
12
- // ── @adaas/are — main entry and all sub-path imports used internally by the dist ──
13
- "^@adaas/are$": "<rootDir>/node_modules/@adaas/are/dist/node/index.js",
14
- "^@adaas/are/attribute/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreAttribute/$1.js",
15
- "^@adaas/are/compiler/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreCompiler/$1.js",
16
- "^@adaas/are/component/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreComponent/$1.js",
17
- "^@adaas/are/engine/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreEngine/$1.js",
18
- "^@adaas/are/event/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreEvent/$1.js",
19
- "^@adaas/are/instruction/types/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreInstruction/types/$1.js",
20
- "^@adaas/are/instruction/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreInstruction/$1.js",
21
- "^@adaas/are/interpreter/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreInterpreter/$1.js",
22
- "^@adaas/are/lifecycle/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreLifecycle/$1.js",
23
- "^@adaas/are/loader/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreLoader/$1.js",
24
- "^@adaas/are/node/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreNode/$1.js",
25
- "^@adaas/are/scene/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreScene/$1.js",
26
- "^@adaas/are/signals/entities/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreSignals/entities/$1.js",
27
- "^@adaas/are/signals/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreSignals/$1.js",
28
- "^@adaas/are/store/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreStore/$1.js",
29
- "^@adaas/are/syntax/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreSyntax/$1.js",
30
- "^@adaas/are/tokenizer/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreTokenizer/$1.js",
31
- "^@adaas/are/transformer/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreTransformer/$1.js",
32
- "^@adaas/are/watcher/(.*)": "<rootDir>/node_modules/@adaas/are/dist/node/lib/AreRouteWatcher/$1.js",
33
-
34
12
  // ── @adaas/are-html internal path aliases (mirrors tsconfig.json paths) ──
35
13
  // Base ARE-HTML entities
36
14
  "@adaas/are-html/nodes/(.*)": "<rootDir>/src/nodes/$1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaas/are-html",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
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",
@@ -82,16 +82,16 @@
82
82
  "build": "tsup --config tsup.config.ts"
83
83
  },
84
84
  "peerDependencies": {
85
- "@adaas/a-concept": "^0.3.20",
86
- "@adaas/a-frame": "^0.1.5",
87
- "@adaas/a-utils": "^0.3.26",
88
- "@adaas/are": "^0.0.17"
85
+ "@adaas/a-concept": "^0.3.25",
86
+ "@adaas/a-frame": "^0.1.8",
87
+ "@adaas/a-utils": "^0.3.29",
88
+ "@adaas/are": "^0.0.19"
89
89
  },
90
90
  "devDependencies": {
91
- "@adaas/a-concept": "^0.3.20",
92
- "@adaas/a-frame": "^0.1.5",
93
- "@adaas/a-utils": "^0.3.26",
94
- "@adaas/are": "^0.0.17",
91
+ "@adaas/a-concept": "^0.3.25",
92
+ "@adaas/a-frame": "^0.1.8",
93
+ "@adaas/a-utils": "^0.3.29",
94
+ "@adaas/are": "^0.0.19",
95
95
  "@types/chai": "^4.3.14",
96
96
  "@types/jest": "^29.5.12",
97
97
  "@types/mocha": "^10.0.6",
@@ -46,15 +46,22 @@ export class AreRoot extends Are {
46
46
  // 1. Lookup via AreSignalsContext (per root-id conditions)
47
47
  let renderTarget = signalsContext?.findComponentByVector(rootId, initialVector);
48
48
 
49
- // 2. Fall back to global AreSignalsMeta, pool-filtered
49
+ // 2. Fall back to global AreSignalsMeta, pool-filtered.
50
+ // IMPORTANT: pass the pool *into* the lookup so it can skip over
51
+ // out-of-pool matches (e.g. a meta-outlet component whose condition
52
+ // also matches the same vector) and find the highest-priority match
53
+ // that this outlet can actually render. Filtering only after the
54
+ // fact would mask valid in-pool matches and surface the outlet's
55
+ // default instead.
50
56
  if (!renderTarget) {
51
57
  const signalsMeta = A_Context.meta<AreSignalsMeta>(AreSignals);
52
- const metaTarget = signalsMeta?.findComponentByVector(initialVector);
53
- if (metaTarget) {
54
- const pool = signalsContext?.getComponentById(rootId);
55
- if (!pool?.length || pool.includes(metaTarget)) {
56
- renderTarget = metaTarget;
57
- }
58
+ const pool = signalsContext?.getComponentById(rootId);
59
+ const metaTarget = signalsMeta?.findComponentByVector(
60
+ initialVector,
61
+ pool?.length ? pool : undefined,
62
+ );
63
+ if (metaTarget && (!pool?.length || pool.includes(metaTarget))) {
64
+ renderTarget = metaTarget;
58
65
  }
59
66
  }
60
67
 
@@ -110,18 +117,22 @@ export class AreRoot extends Are {
110
117
  // 1. Try root-specific lookup via AreSignalsContext (keyed by the are-root's id attribute)
111
118
  let renderTarget = signalsContext?.findComponentByVector(rootId, vector);
112
119
 
113
- // 2. Fall back to global AreSignalsMeta lookup, but only accept the
114
- // result if it belongs to this outlet's pool (when a pool is defined).
115
- // This prevents a meta-registered component for one outlet from being
116
- // accidentally rendered in a different outlet sharing the same signal.
120
+ // 2. Fall back to global AreSignalsMeta lookup, restricted to this
121
+ // outlet's pool. Passing the pool *into* the lookup is critical:
122
+ // without it, the first globally matching component wins and may
123
+ // belong to a different outlet (e.g. AisRequirementsPanel for the
124
+ // meta-outlet matching AisEditorCursorScope) — the pool check then
125
+ // rejects it and the outlet falls back to default, hiding a valid
126
+ // in-pool match (e.g. AisDiagramTab matching AisSetPrimaryDisplay).
117
127
  if (!renderTarget) {
118
128
  const signalsMeta = A_Context.meta<AreSignalsMeta>(AreSignals);
119
- const metaTarget = signalsMeta?.findComponentByVector(vector);
120
- if (metaTarget) {
121
- const pool = signalsContext?.getComponentById(rootId);
122
- if (!pool?.length || pool.includes(metaTarget)) {
123
- renderTarget = metaTarget;
124
- }
129
+ const pool = signalsContext?.getComponentById(rootId);
130
+ const metaTarget = signalsMeta?.findComponentByVector(
131
+ vector,
132
+ pool?.length ? pool : undefined,
133
+ );
134
+ if (metaTarget && (!pool?.length || pool.includes(metaTarget))) {
135
+ renderTarget = metaTarget;
125
136
  }
126
137
  }
127
138