feat(ui): добавить плотные контролы для viewer
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import assert from "node:assert/strict";
|
||||
import { readFile } from "node:fs/promises";
|
||||
import test from "node:test";
|
||||
import { createElement } from "react";
|
||||
import { renderToStaticMarkup } from "react-dom/server";
|
||||
import { Button, SegmentedControl } from "../packages/ui-react/dist/index.js";
|
||||
|
||||
test("dense viewer controls remain a public Button and SegmentedControl contract", async () => {
|
||||
const button = renderToStaticMarkup(createElement(Button, { size: "dense" }, "Source points"));
|
||||
const segmented = renderToStaticMarkup(createElement(SegmentedControl, {
|
||||
size: "dense",
|
||||
value: "source",
|
||||
items: [{ label: "Source points", value: "source" }],
|
||||
label: "Viewer layer",
|
||||
onChange: () => {},
|
||||
}));
|
||||
const [tokens, styles, registrySource, docs] = await Promise.all([
|
||||
readFile(new URL("../packages/tokens/tokens.css", import.meta.url), "utf8"),
|
||||
readFile(new URL("../packages/ui-core/styles.css", import.meta.url), "utf8"),
|
||||
readFile(new URL("../registry/components.json", import.meta.url), "utf8"),
|
||||
readFile(new URL("../docs/COMPONENTS.md", import.meta.url), "utf8"),
|
||||
]);
|
||||
const registry = JSON.parse(registrySource);
|
||||
const buttonEntry = registry.components.find((component) => component.id === "button");
|
||||
const segmentedEntry = registry.components.find((component) => component.id === "segmented-control");
|
||||
|
||||
assert.match(button, /data-size="dense"/);
|
||||
assert.match(segmented, /data-size="dense"/);
|
||||
assert.ok(buttonEntry?.sizes.includes("dense"));
|
||||
assert.ok(segmentedEntry?.sizes.includes("dense"));
|
||||
assert.match(tokens, /--nodedc-control-height-dense: 1\.875rem/);
|
||||
assert.match(tokens, /--nodedc-font-size-dense: 0\.45rem/);
|
||||
assert.match(styles, /\.nodedc-button\[data-size="dense"\]/);
|
||||
assert.match(styles, /\.nodedc-segmented\[data-size="dense"\]/);
|
||||
assert.match(docs, /size="dense"/);
|
||||
assert.match(docs, /viewer/);
|
||||
});
|
||||
Reference in New Issue
Block a user