feat(web): 前端共享基础(focusRing/proseBody/text-2xs + useBodyScrollLock + Toast撤销 + error/not-found/loading路由边界)
This commit is contained in:
@@ -4,7 +4,10 @@ import {
|
||||
badgeClass,
|
||||
buttonClass,
|
||||
cn,
|
||||
focusRing,
|
||||
inputClass,
|
||||
overlayScrim,
|
||||
proseBody,
|
||||
segmentedClass,
|
||||
statusNoteClass,
|
||||
} from "./variants";
|
||||
@@ -49,4 +52,22 @@ describe("ui variants", () => {
|
||||
expect(klass).toContain("inline-flex");
|
||||
expect(klass).toContain("border-line");
|
||||
});
|
||||
|
||||
it("shares the cinnabar focus ring with the button base", () => {
|
||||
expect(focusRing).toContain("focus-visible:ring-2");
|
||||
expect(focusRing).toContain("focus-visible:ring-cinnabar/35");
|
||||
expect(buttonClass({ variant: "primary" })).toContain(focusRing);
|
||||
});
|
||||
|
||||
it("renders manuscript body as serif 18px with airy leading", () => {
|
||||
expect(proseBody).toContain("font-serif");
|
||||
expect(proseBody).toContain("text-[18px]");
|
||||
expect(proseBody).toContain("leading-[1.9]");
|
||||
});
|
||||
|
||||
it("provides a full-screen overlay scrim below dialog chrome", () => {
|
||||
expect(overlayScrim).toContain("fixed");
|
||||
expect(overlayScrim).toContain("inset-0");
|
||||
expect(overlayScrim).toContain("z-40");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user