@nordcraft/runtime 1.0.89 → 1.0.91
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/custom-element.main.esm.js +14 -14
- package/dist/custom-element.main.esm.js.map +4 -4
- package/dist/page.main.esm.js +3 -3
- package/dist/page.main.esm.js.map +4 -4
- package/dist/src/components/createComponent.js +2 -1
- package/dist/src/components/createComponent.js.map +1 -1
- package/dist/src/components/createNode.js +4 -3
- package/dist/src/components/createNode.js.map +1 -1
- package/dist/src/components/meta.d.ts +3 -0
- package/dist/src/components/meta.js +18 -0
- package/dist/src/components/meta.js.map +1 -0
- package/dist/src/components/meta.test.d.ts +1 -0
- package/dist/src/components/meta.test.js +80 -0
- package/dist/src/components/meta.test.js.map +1 -0
- package/dist/src/editor/postMessageToEditor.d.ts +2 -0
- package/dist/src/editor/postMessageToEditor.js +4 -0
- package/dist/src/editor/postMessageToEditor.js.map +1 -0
- package/dist/src/editor-preview.main.js +8 -9
- package/dist/src/editor-preview.main.js.map +1 -1
- package/dist/src/page.main.js +29 -32
- package/dist/src/page.main.js.map +1 -1
- package/dist/src/utils/getComponent.d.ts +5 -0
- package/dist/src/utils/getComponent.js +8 -0
- package/dist/src/utils/getComponent.js.map +1 -0
- package/dist/src/utils/getComponent.test.d.ts +1 -0
- package/dist/src/utils/getComponent.test.js +24 -0
- package/dist/src/utils/getComponent.test.js.map +1 -0
- package/dist/src/utils/markSelectedElement.d.ts +1 -0
- package/dist/src/utils/markSelectedElement.js +9 -0
- package/dist/src/utils/markSelectedElement.js.map +1 -0
- package/package.json +3 -3
- package/src/components/createComponent.ts +6 -1
- package/src/components/createNode.ts +9 -5
- package/src/components/meta.test.ts +90 -0
- package/src/components/meta.ts +23 -0
- package/src/editor/postMessageToEditor.ts +5 -0
- package/src/editor-preview.main.ts +8 -11
- package/src/page.main.ts +9 -19
- package/src/utils/getComponent.test.ts +29 -0
- package/src/utils/getComponent.ts +15 -0
- package/src/utils/markSelectedElement.ts +8 -0
package/dist/src/page.main.js
CHANGED
|
@@ -11,6 +11,7 @@ import { match } from 'path-to-regexp';
|
|
|
11
11
|
import { isContextApiV2 } from './api/apiUtils';
|
|
12
12
|
import { createLegacyAPI } from './api/createAPI';
|
|
13
13
|
import { createAPI } from './api/createAPIv2';
|
|
14
|
+
import { getDynamicMetaEntries } from './components/meta';
|
|
14
15
|
import { renderComponent } from './components/renderComponent';
|
|
15
16
|
import { isContextProvider } from './context/isContextProvider';
|
|
16
17
|
import { initLogState, registerComponentToLogState } from './debug/logState';
|
|
@@ -328,9 +329,8 @@ const setupMetaUpdates = (component, dataSignal) => {
|
|
|
328
329
|
const descriptionFormula = component.route?.info?.description?.formula;
|
|
329
330
|
const meta = component.route?.info?.meta;
|
|
330
331
|
const dynamicDescription = descriptionFormula && descriptionFormula.type !== 'value';
|
|
331
|
-
const dynamicMetaFormulas =
|
|
332
|
-
|
|
333
|
-
if (dynamicDescription || dynamicMetaFormulas) {
|
|
332
|
+
const dynamicMetaFormulas = getDynamicMetaEntries(meta);
|
|
333
|
+
if (dynamicDescription || Object.keys(dynamicMetaFormulas).length > 0) {
|
|
334
334
|
const findMetaElement = (name) => [...document.getElementsByTagName('meta')].find((el) => el.name === name || el.getAttribute('property') === name) ?? null;
|
|
335
335
|
const updateMetaElement = (entry, id) => {
|
|
336
336
|
let existingElement = null;
|
|
@@ -401,35 +401,32 @@ const setupMetaUpdates = (component, dataSignal) => {
|
|
|
401
401
|
}
|
|
402
402
|
});
|
|
403
403
|
}
|
|
404
|
-
if (dynamicMetaFormulas) {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
};
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
// Update the meta tags with the new values
|
|
431
|
-
updateMetaElement({ tag: entry.tag, attrs, content }, id));
|
|
432
|
-
});
|
|
404
|
+
if (Object.keys(dynamicMetaFormulas).length > 0) {
|
|
405
|
+
for (const id in dynamicMetaFormulas) {
|
|
406
|
+
const entry = dynamicMetaFormulas[id];
|
|
407
|
+
if (entry) {
|
|
408
|
+
dataSignal
|
|
409
|
+
.map((data) => {
|
|
410
|
+
const context = getFormulaContext(data);
|
|
411
|
+
// Return the new values for all attributes (we assume they're strings)
|
|
412
|
+
const values = Object.entries(entry.attrs ?? {}).reduce((agg, [key, formula]) => component
|
|
413
|
+
? {
|
|
414
|
+
...agg,
|
|
415
|
+
[key]: applyFormula(formula, context),
|
|
416
|
+
}
|
|
417
|
+
: agg, {});
|
|
418
|
+
return {
|
|
419
|
+
attrs: values,
|
|
420
|
+
content: entry.content
|
|
421
|
+
? applyFormula(entry.content, context)
|
|
422
|
+
: undefined,
|
|
423
|
+
};
|
|
424
|
+
})
|
|
425
|
+
.subscribe(({ attrs, content }) =>
|
|
426
|
+
// Update the meta tags with the new values
|
|
427
|
+
updateMetaElement({ tag: entry.tag, attrs, content }, id));
|
|
428
|
+
}
|
|
429
|
+
}
|
|
433
430
|
}
|
|
434
431
|
}
|
|
435
432
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.main.js","sourceRoot":"","sources":["../../src/page.main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page.main.js","sourceRoot":"","sources":["../../src/page.main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Component } from '@nordcraft/core/dist/component/component.types';
|
|
2
|
+
/**
|
|
3
|
+
* Project components is not expected to change during runtime, so we can memoize the components in a map for faster lookup.
|
|
4
|
+
*/
|
|
5
|
+
export declare const getComponent: (key: string, components: Component[], useCache?: boolean) => Component | undefined;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
let componentMap;
|
|
2
|
+
/**
|
|
3
|
+
* Project components is not expected to change during runtime, so we can memoize the components in a map for faster lookup.
|
|
4
|
+
*/
|
|
5
|
+
export const getComponent = (key, components, useCache = true) => useCache
|
|
6
|
+
? (componentMap ??= new Map(components.map((c) => [c.name, c]))).get(key)
|
|
7
|
+
: components.find((c) => c.name === key);
|
|
8
|
+
//# sourceMappingURL=getComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getComponent.js","sourceRoot":"","sources":["../../../src/utils/getComponent.ts"],"names":[],"mappings":"AAEA,IAAI,YAA2C,CAAA;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAAW,EACX,UAAuB,EACvB,QAAQ,GAAG,IAAI,EACf,EAAE,CACF,QAAQ;IACN,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACzE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { describe, expect, it } from 'bun:test';
|
|
2
|
+
import { getComponent } from './getComponent';
|
|
3
|
+
describe('getComponent', () => {
|
|
4
|
+
const compA = { name: 'A', value: 1 };
|
|
5
|
+
const compB = { name: 'B', value: 2 };
|
|
6
|
+
const compC = { name: 'C', value: 3 };
|
|
7
|
+
it('caches components after first call and ignores new list on subsequent calls with useCache=true', () => {
|
|
8
|
+
// First call: cache is built from [compA, compB]
|
|
9
|
+
expect(getComponent('A', [compA, compB])).toBe(compA);
|
|
10
|
+
expect(getComponent('B', [compA, compB])).toBe(compB);
|
|
11
|
+
// Second call: provide a different list, but cache should still return from the original cache
|
|
12
|
+
expect(getComponent('C', [compC])).toBeUndefined();
|
|
13
|
+
expect(getComponent('A', [compC])).toBe(compA);
|
|
14
|
+
});
|
|
15
|
+
it('does not use cache when useCache is false', () => {
|
|
16
|
+
// First call: should find compA in the list
|
|
17
|
+
expect(getComponent('A', [compA, compB], false)).toBe(compA);
|
|
18
|
+
// Second call: provide a different list, should now find compC
|
|
19
|
+
expect(getComponent('C', [compC], false)).toBe(compC);
|
|
20
|
+
// Should not find compA in the new list
|
|
21
|
+
expect(getComponent('A', [compC], false)).toBeUndefined();
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=getComponent.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getComponent.test.js","sourceRoot":"","sources":["../../../src/utils/getComponent.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IACrC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IACrC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;IAErC,EAAE,CAAC,gGAAgG,EAAE,GAAG,EAAE,CAAC;QACzG,iDAAiD;QACjD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAErD,+FAA+F;QAC/F,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;QAClD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAAA,CAC/C,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE,CAAC;QACpD,4CAA4C;QAC5C,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAE5D,+DAA+D;QAC/D,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAErD,wCAAwC;QACxC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAAA,CAC1D,CAAC,CAAA;AAAA,CACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function markSelectedElement(node: Element | null): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function markSelectedElement(node) {
|
|
2
|
+
if (node && !node.hasAttribute('data-selected')) {
|
|
3
|
+
document.querySelectorAll('[data-selected="true"]').forEach((el) => {
|
|
4
|
+
el.removeAttribute('data-selected');
|
|
5
|
+
});
|
|
6
|
+
node.setAttribute('data-selected', 'true');
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=markSelectedElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markSelectedElement.js","sourceRoot":"","sources":["../../../src/utils/markSelectedElement.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,IAAoB,EAAE;IACxD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;QAChD,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;YAClE,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;QAAA,CACpC,CAAC,CAAA;QACF,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IAC5C,CAAC;AAAA,CACF"}
|
package/package.json
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"directory": "packages/runtime"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@nordcraft/core": "1.0.
|
|
13
|
-
"@nordcraft/std-lib": "1.0.
|
|
12
|
+
"@nordcraft/core": "1.0.91",
|
|
13
|
+
"@nordcraft/std-lib": "1.0.91",
|
|
14
14
|
"fast-deep-equal": "3.1.3",
|
|
15
15
|
"path-to-regexp": "6.3.0"
|
|
16
16
|
},
|
|
@@ -23,5 +23,5 @@
|
|
|
23
23
|
"files": ["dist", "src"],
|
|
24
24
|
"main": "dist/page.main.js",
|
|
25
25
|
"types": "dist/page.main.d.ts",
|
|
26
|
-
"version": "1.0.
|
|
26
|
+
"version": "1.0.91"
|
|
27
27
|
}
|
|
@@ -21,6 +21,7 @@ import { signal } from '../signal/signal'
|
|
|
21
21
|
import type { ComponentChild, ComponentContext, ContextApi } from '../types'
|
|
22
22
|
import { createFormulaCache } from '../utils/createFormulaCache'
|
|
23
23
|
import { formulaHasValue } from '../utils/formulaHasValue'
|
|
24
|
+
import { getComponent } from '../utils/getComponent'
|
|
24
25
|
import { subscribeCustomProperty } from '../utils/subscribeCustomProperty'
|
|
25
26
|
import { renderComponent } from './renderComponent'
|
|
26
27
|
|
|
@@ -44,7 +45,11 @@ export function createComponent({
|
|
|
44
45
|
namespace,
|
|
45
46
|
}: RenderComponentNodeProps): ReadonlyArray<Element | Text> {
|
|
46
47
|
const nodeLookupKey = [ctx.package, node.name].filter(isDefined).join('/')
|
|
47
|
-
const component =
|
|
48
|
+
const component = getComponent(
|
|
49
|
+
nodeLookupKey,
|
|
50
|
+
ctx.components,
|
|
51
|
+
ctx.env.runtime !== 'preview',
|
|
52
|
+
)
|
|
48
53
|
if (!component) {
|
|
49
54
|
// eslint-disable-next-line no-console
|
|
50
55
|
console.warn(
|
|
@@ -9,6 +9,7 @@ import { toBoolean } from '@nordcraft/core/dist/utils/util'
|
|
|
9
9
|
import type { Signal } from '../signal/signal'
|
|
10
10
|
import { signal } from '../signal/signal'
|
|
11
11
|
import type { ComponentContext } from '../types'
|
|
12
|
+
import { getComponent } from '../utils/getComponent'
|
|
12
13
|
import { ensureEfficientOrdering, getNextSiblingElement } from '../utils/nodes'
|
|
13
14
|
import { createComponent } from './createComponent'
|
|
14
15
|
import { createElement } from './createElement'
|
|
@@ -48,11 +49,13 @@ export function createNode({
|
|
|
48
49
|
...props,
|
|
49
50
|
}),
|
|
50
51
|
]
|
|
51
|
-
case 'component':
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
case 'component': {
|
|
53
|
+
const isLocalComponent =
|
|
54
|
+
getComponent(
|
|
55
|
+
node.name,
|
|
56
|
+
ctx.components,
|
|
57
|
+
ctx.env.runtime !== 'preview',
|
|
58
|
+
) !== undefined
|
|
56
59
|
return createComponent({
|
|
57
60
|
node: { ...node, id }, // we need the node id for instance classes
|
|
58
61
|
...props,
|
|
@@ -63,6 +66,7 @@ export function createNode({
|
|
|
63
66
|
},
|
|
64
67
|
parentElement,
|
|
65
68
|
})
|
|
69
|
+
}
|
|
66
70
|
case 'text':
|
|
67
71
|
return [createText({ ...props, node })]
|
|
68
72
|
case 'slot':
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { MetaEntry } from '@nordcraft/core/dist/component/component.types'
|
|
2
|
+
import {
|
|
3
|
+
functionFormula,
|
|
4
|
+
valueFormula,
|
|
5
|
+
} from '@nordcraft/core/dist/formula/formulaUtils'
|
|
6
|
+
import { describe, expect, test } from 'bun:test'
|
|
7
|
+
import { getDynamicMetaEntries } from './meta'
|
|
8
|
+
|
|
9
|
+
describe('getDynamicMetaEntries', () => {
|
|
10
|
+
test('returns an empty object if meta is undefined or null', () => {
|
|
11
|
+
expect(getDynamicMetaEntries(undefined)).toEqual({})
|
|
12
|
+
expect(getDynamicMetaEntries(null)).toEqual({})
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
test('returns an empty object if meta is an empty object', () => {
|
|
16
|
+
expect(getDynamicMetaEntries({})).toEqual({})
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
test('returns only entries with dynamic content', () => {
|
|
20
|
+
const meta: Record<string, MetaEntry> = {
|
|
21
|
+
'static-entry': {
|
|
22
|
+
tag: 'meta' as any,
|
|
23
|
+
content: valueFormula('static'),
|
|
24
|
+
},
|
|
25
|
+
'dynamic-entry': {
|
|
26
|
+
tag: 'meta' as any,
|
|
27
|
+
content: functionFormula('dynamic'),
|
|
28
|
+
},
|
|
29
|
+
}
|
|
30
|
+
const result = getDynamicMetaEntries(meta)
|
|
31
|
+
expect(result).toEqual({ 'dynamic-entry': meta['dynamic-entry'] })
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
test('returns only entries with dynamic attributes', () => {
|
|
35
|
+
const meta: Record<string, MetaEntry> = {
|
|
36
|
+
'static-entry': {
|
|
37
|
+
tag: 'meta' as any,
|
|
38
|
+
attrs: {
|
|
39
|
+
name: valueFormula('static'),
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
'dynamic-entry': {
|
|
43
|
+
tag: 'meta' as any,
|
|
44
|
+
attrs: {
|
|
45
|
+
name: functionFormula('dynamic'),
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
}
|
|
49
|
+
const result = getDynamicMetaEntries(meta)
|
|
50
|
+
expect(result).toEqual({ 'dynamic-entry': meta['dynamic-entry'] })
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
test('returns entry if content is dynamic and attributes are static', () => {
|
|
54
|
+
const meta: Record<string, MetaEntry> = {
|
|
55
|
+
'dynamic-entry': {
|
|
56
|
+
tag: 'meta' as any,
|
|
57
|
+
content: functionFormula('dynamic'),
|
|
58
|
+
attrs: {
|
|
59
|
+
name: valueFormula('static'),
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
}
|
|
63
|
+
const result = getDynamicMetaEntries(meta)
|
|
64
|
+
expect(result).toEqual({ 'dynamic-entry': meta['dynamic-entry'] })
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
test('returns entry if content is missing and one attribute is dynamic', () => {
|
|
68
|
+
const meta: Record<string, MetaEntry> = {
|
|
69
|
+
'dynamic-entry': {
|
|
70
|
+
tag: 'meta' as any,
|
|
71
|
+
attrs: {
|
|
72
|
+
name: valueFormula('static'),
|
|
73
|
+
property: functionFormula('dynamic'),
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
}
|
|
77
|
+
const result = getDynamicMetaEntries(meta)
|
|
78
|
+
expect(result).toEqual({ 'dynamic-entry': meta['dynamic-entry'] })
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
test('handles entries with no content or attributes', () => {
|
|
82
|
+
const meta: Record<string, MetaEntry> = {
|
|
83
|
+
'empty-entry': {
|
|
84
|
+
tag: 'meta' as any,
|
|
85
|
+
},
|
|
86
|
+
}
|
|
87
|
+
const result = getDynamicMetaEntries(meta)
|
|
88
|
+
expect(result).toEqual({})
|
|
89
|
+
})
|
|
90
|
+
})
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { MetaEntry } from '@nordcraft/core/dist/component/component.types'
|
|
2
|
+
import type { Nullable } from '@nordcraft/core/dist/types'
|
|
3
|
+
import { isDefined } from '@nordcraft/core/dist/utils/util'
|
|
4
|
+
|
|
5
|
+
export const getDynamicMetaEntries = (
|
|
6
|
+
meta?: Nullable<Record<string, MetaEntry>>,
|
|
7
|
+
): Record<string, MetaEntry> => {
|
|
8
|
+
if (!meta) {
|
|
9
|
+
return {}
|
|
10
|
+
}
|
|
11
|
+
const dynamicMetaEntries: Record<string, MetaEntry> = {}
|
|
12
|
+
for (const key in meta) {
|
|
13
|
+
const entry = meta[key]
|
|
14
|
+
if (isDefined(entry.content) && entry.content.type !== 'value') {
|
|
15
|
+
dynamicMetaEntries[key] = entry
|
|
16
|
+
} else if (
|
|
17
|
+
Object.values(entry.attrs ?? {}).some((a) => a.type !== 'value')
|
|
18
|
+
) {
|
|
19
|
+
dynamicMetaEntries[key] = entry
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return dynamicMetaEntries
|
|
23
|
+
}
|
|
@@ -63,10 +63,10 @@ import { introspectApiRequest } from './editor/graphql'
|
|
|
63
63
|
import { isInputTarget } from './editor/input'
|
|
64
64
|
import { updateComponentLinks } from './editor/links'
|
|
65
65
|
import { getRectData } from './editor/overlay'
|
|
66
|
+
import { postMessageToEditor } from './editor/postMessageToEditor'
|
|
66
67
|
import {
|
|
67
68
|
TextNodeComputedStyles,
|
|
68
69
|
type DragState,
|
|
69
|
-
type EditorPostMessageType,
|
|
70
70
|
type NordcraftPreviewEvent,
|
|
71
71
|
} from './editor/types'
|
|
72
72
|
import { handleAction } from './events/handleAction'
|
|
@@ -81,6 +81,7 @@ import type {
|
|
|
81
81
|
} from './types'
|
|
82
82
|
import { createFormulaCache } from './utils/createFormulaCache'
|
|
83
83
|
import { getThemeSignal } from './utils/getThemeSignal'
|
|
84
|
+
import { markSelectedElement } from './utils/markSelectedElement'
|
|
84
85
|
import { getNodeAndAncestors, isNodeOrAncestorConditional } from './utils/nodes'
|
|
85
86
|
import { rectHasPoint } from './utils/rectHasPoint'
|
|
86
87
|
import {
|
|
@@ -457,6 +458,7 @@ export const createRoot = (
|
|
|
457
458
|
updateConditionalElements()
|
|
458
459
|
|
|
459
460
|
const node = getDOMNodeFromNodeId(selectedNodeId)
|
|
461
|
+
markSelectedElement(node)
|
|
460
462
|
const element =
|
|
461
463
|
component?.nodes?.[node?.getAttribute('data-node-id') ?? '']
|
|
462
464
|
if (
|
|
@@ -875,10 +877,12 @@ export const createRoot = (
|
|
|
875
877
|
'--editor-timeline-timing-function',
|
|
876
878
|
)
|
|
877
879
|
document.body.style.removeProperty('--editor-timeline-fill-mode')
|
|
880
|
+
document.body.removeAttribute('data-animating')
|
|
878
881
|
update()
|
|
879
882
|
return
|
|
880
883
|
}
|
|
881
884
|
|
|
885
|
+
document.body.setAttribute('data-animating', 'true')
|
|
882
886
|
document.body.style.setProperty(
|
|
883
887
|
'--editor-timeline-position',
|
|
884
888
|
`${time}s`,
|
|
@@ -902,17 +906,13 @@ export const createRoot = (
|
|
|
902
906
|
document.head.appendChild(styleTag)
|
|
903
907
|
}
|
|
904
908
|
|
|
905
|
-
// Set the animation styles for self and repeated nodes, but pause for all others
|
|
906
|
-
// TODO: Consider if we should set all other animations to follow the current timeline time, by setting animation-delay with paused
|
|
907
909
|
styleTag.innerHTML = `
|
|
908
|
-
[data-id] {
|
|
909
|
-
animation-play-state: paused !important;
|
|
910
|
-
}
|
|
911
|
-
[data-id="${animationState.animatedElementId}"], [data-id="${animationState.animatedElementId}"] ~ [data-id^="${animationState.animatedElementId}("] {
|
|
910
|
+
body[data-mode="design"] [data-id="${animationState.animatedElementId}"], body[data-mode="design"] [data-id="${animationState.animatedElementId}"] ~ [data-id^="${animationState.animatedElementId}("] {
|
|
912
911
|
animation: preview_timeline 1s paused normal !important;
|
|
913
912
|
animation-fill-mode: var(--editor-timeline-fill-mode) !important;
|
|
914
913
|
animation-timing-function: var(--editor-timeline-timing-function) !important;
|
|
915
914
|
animation-delay: calc(0s - var(--editor-timeline-position)) !important;
|
|
915
|
+
animation-play-state: paused !important;
|
|
916
916
|
}`
|
|
917
917
|
}
|
|
918
918
|
})
|
|
@@ -1547,6 +1547,7 @@ export const createRoot = (
|
|
|
1547
1547
|
scrollStateRestorer((nodeId) =>
|
|
1548
1548
|
document.querySelector(`[data-id="${nodeId}"]`),
|
|
1549
1549
|
)
|
|
1550
|
+
markSelectedElement(getDOMNodeFromNodeId(selectedNodeId))
|
|
1550
1551
|
}
|
|
1551
1552
|
|
|
1552
1553
|
const createContext = (
|
|
@@ -1913,10 +1914,6 @@ const registerFormulas = (
|
|
|
1913
1914
|
window.toddle.formulas[packageName ?? window.__toddle.project] = formulas
|
|
1914
1915
|
}
|
|
1915
1916
|
|
|
1916
|
-
const postMessageToEditor = (message: EditorPostMessageType) => {
|
|
1917
|
-
window.parent?.postMessage(message, '*')
|
|
1918
|
-
}
|
|
1919
|
-
|
|
1920
1917
|
let _themeRootSignal = null as Signal<string | null> | null
|
|
1921
1918
|
function setupThemeSubscription(
|
|
1922
1919
|
component: Component,
|
package/src/page.main.ts
CHANGED
|
@@ -25,6 +25,7 @@ import { match } from 'path-to-regexp'
|
|
|
25
25
|
import { isContextApiV2 } from './api/apiUtils'
|
|
26
26
|
import { createLegacyAPI } from './api/createAPI'
|
|
27
27
|
import { createAPI } from './api/createAPIv2'
|
|
28
|
+
import { getDynamicMetaEntries } from './components/meta'
|
|
28
29
|
import { renderComponent } from './components/renderComponent'
|
|
29
30
|
import { isContextProvider } from './context/isContextProvider'
|
|
30
31
|
import { initLogState, registerComponentToLogState } from './debug/logState'
|
|
@@ -402,14 +403,8 @@ const setupMetaUpdates = (
|
|
|
402
403
|
const meta = component.route?.info?.meta
|
|
403
404
|
const dynamicDescription =
|
|
404
405
|
descriptionFormula && descriptionFormula.type !== 'value'
|
|
405
|
-
const dynamicMetaFormulas =
|
|
406
|
-
|
|
407
|
-
r.content?.type !== 'value' ||
|
|
408
|
-
Object.values(
|
|
409
|
-
r.attrs ?? {}, // fallback to make sure we don't crash on legacy values
|
|
410
|
-
).some((a) => a.type !== 'value'),
|
|
411
|
-
)
|
|
412
|
-
if (dynamicDescription || dynamicMetaFormulas) {
|
|
406
|
+
const dynamicMetaFormulas = getDynamicMetaEntries(meta)
|
|
407
|
+
if (dynamicDescription || Object.keys(dynamicMetaFormulas).length > 0) {
|
|
413
408
|
const findMetaElement = (name: string) =>
|
|
414
409
|
[...document.getElementsByTagName('meta')].find(
|
|
415
410
|
(el) => el.name === name || el.getAttribute('property') === name,
|
|
@@ -503,16 +498,10 @@ const setupMetaUpdates = (
|
|
|
503
498
|
}
|
|
504
499
|
})
|
|
505
500
|
}
|
|
506
|
-
if (dynamicMetaFormulas) {
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
([_, entry]) =>
|
|
511
|
-
// fallback to make sure we don't crash on legacy values.
|
|
512
|
-
entry.content?.type !== 'value' ||
|
|
513
|
-
Object.values(entry.attrs ?? {}).some((a) => a.type !== 'value'),
|
|
514
|
-
)
|
|
515
|
-
.forEach(([id, entry]) => {
|
|
501
|
+
if (Object.keys(dynamicMetaFormulas).length > 0) {
|
|
502
|
+
for (const id in dynamicMetaFormulas) {
|
|
503
|
+
const entry = dynamicMetaFormulas[id]
|
|
504
|
+
if (entry) {
|
|
516
505
|
dataSignal
|
|
517
506
|
.map((data) => {
|
|
518
507
|
const context = getFormulaContext(data)
|
|
@@ -538,7 +527,8 @@ const setupMetaUpdates = (
|
|
|
538
527
|
// Update the meta tags with the new values
|
|
539
528
|
updateMetaElement({ tag: entry.tag, attrs, content }, id),
|
|
540
529
|
)
|
|
541
|
-
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
542
532
|
}
|
|
543
533
|
}
|
|
544
534
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { describe, expect, it } from 'bun:test'
|
|
2
|
+
import { getComponent } from './getComponent'
|
|
3
|
+
|
|
4
|
+
describe('getComponent', () => {
|
|
5
|
+
const compA = { name: 'A', value: 1 }
|
|
6
|
+
const compB = { name: 'B', value: 2 }
|
|
7
|
+
const compC = { name: 'C', value: 3 }
|
|
8
|
+
|
|
9
|
+
it('caches components after first call and ignores new list on subsequent calls with useCache=true', () => {
|
|
10
|
+
// First call: cache is built from [compA, compB]
|
|
11
|
+
expect(getComponent('A', [compA, compB])).toBe(compA)
|
|
12
|
+
expect(getComponent('B', [compA, compB])).toBe(compB)
|
|
13
|
+
|
|
14
|
+
// Second call: provide a different list, but cache should still return from the original cache
|
|
15
|
+
expect(getComponent('C', [compC])).toBeUndefined()
|
|
16
|
+
expect(getComponent('A', [compC])).toBe(compA)
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
it('does not use cache when useCache is false', () => {
|
|
20
|
+
// First call: should find compA in the list
|
|
21
|
+
expect(getComponent('A', [compA, compB], false)).toBe(compA)
|
|
22
|
+
|
|
23
|
+
// Second call: provide a different list, should now find compC
|
|
24
|
+
expect(getComponent('C', [compC], false)).toBe(compC)
|
|
25
|
+
|
|
26
|
+
// Should not find compA in the new list
|
|
27
|
+
expect(getComponent('A', [compC], false)).toBeUndefined()
|
|
28
|
+
})
|
|
29
|
+
})
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Component } from '@nordcraft/core/dist/component/component.types'
|
|
2
|
+
|
|
3
|
+
let componentMap: Map<string, Component> | null
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Project components is not expected to change during runtime, so we can memoize the components in a map for faster lookup.
|
|
7
|
+
*/
|
|
8
|
+
export const getComponent = (
|
|
9
|
+
key: string,
|
|
10
|
+
components: Component[],
|
|
11
|
+
useCache = true,
|
|
12
|
+
) =>
|
|
13
|
+
useCache
|
|
14
|
+
? (componentMap ??= new Map(components.map((c) => [c.name, c]))).get(key)
|
|
15
|
+
: components.find((c) => c.name === key)
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function markSelectedElement(node: Element | null) {
|
|
2
|
+
if (node && !node.hasAttribute('data-selected')) {
|
|
3
|
+
document.querySelectorAll('[data-selected="true"]').forEach((el) => {
|
|
4
|
+
el.removeAttribute('data-selected')
|
|
5
|
+
})
|
|
6
|
+
node.setAttribute('data-selected', 'true')
|
|
7
|
+
}
|
|
8
|
+
}
|