feat: release design system engine, studio and component contracts

This commit is contained in:
Clintchiz committed 2026-10-19 13:09:03 +05:30
1 parent ff1065fb27
commit 3943b946d6
693 files changed
+175546 -3894

No files matched your search

+28 -16
View File
@@ -146,30 +146,42 @@ describe("dynamic blocks engine", () => {
...text.create({ id: () => nodeId }),
props: { text: nodeId },
}));
const moved = applyCommand(document, {
type: "move",
intent: {
nodeIds: ["a"],
from: [{ parentId: "root", slot: "content", index: 0 }],
to: { parentId: "root", slot: "content", index: 3 },
const moved = applyCommand(
document,
{
type: "move",
intent: {
nodeIds: ["a"],
from: [{ parentId: "root", slot: "content", index: 0 }],
to: { parentId: "root", slot: "content", index: 3 },
},
},
}, kind, registry);
kind,
registry,
);
expect(moved.ok && moved.value.document.root.slots.content.map((node) => node.id)).toEqual([
"b", "c", "a",
"b",
"c",
"a",
]);
});
test("duplicates blocks with deterministic injected ids", () => {
const document = doc();
document.root.slots.content = [{ ...text.create({ id: () => "a" }), props: { text: "A" } }];
const duplicated = applyCommand(document, {
type: "duplicate",
nodeIds: ["a"],
ids: ["a-copy"],
}, kind, registry);
expect(duplicated.ok && duplicated.value.document.root.slots.content.map((node) => node.id)).toEqual([
"a", "a-copy",
]);
const duplicated = applyCommand(
document,
{
type: "duplicate",
nodeIds: ["a"],
ids: ["a-copy"],
},
kind,
registry,
);
expect(
duplicated.ok && duplicated.value.document.root.slots.content.map((node) => node.id),
).toEqual(["a", "a-copy"]);
});
test("validates and resolves typed personalization tokens", () => {