feat(ui): add decorative style primitives
This commit is contained in:
parent
975e17cd02
commit
51b97246a8
10 changed files with 476 additions and 0 deletions
|
|
@ -12,6 +12,8 @@ const requiredStoryFiles = [
|
|||
"DashboardFrame.stories.svelte",
|
||||
"DashboardHeader.stories.svelte",
|
||||
"DashboardOnePager.stories.svelte",
|
||||
"CornerBracketFrame.stories.svelte",
|
||||
"DiagonalStripeField.stories.svelte",
|
||||
"FooterCell.stories.svelte",
|
||||
"FooterStatusCell.stories.svelte",
|
||||
"GridFrame.stories.svelte",
|
||||
|
|
@ -24,10 +26,12 @@ const requiredStoryFiles = [
|
|||
"ServiceGroupPanel.stories.svelte",
|
||||
"ServicePanel.stories.svelte",
|
||||
"ServiceRow.stories.svelte",
|
||||
"SignalTrace.stories.svelte",
|
||||
"Sparkline.stories.svelte",
|
||||
"StatusBadge.stories.svelte",
|
||||
"StatusStrip.stories.svelte",
|
||||
"SystemState.stories.svelte",
|
||||
"ScanlineField.stories.svelte",
|
||||
"TelemetryCard.stories.svelte",
|
||||
"TelemetryGrid.stories.svelte",
|
||||
"TelemetryStrip.stories.svelte",
|
||||
|
|
@ -79,6 +83,36 @@ describe("Storybook inventory", () => {
|
|||
}
|
||||
});
|
||||
|
||||
test("includes style-only decorative primitives in the reusable UI inventory", () => {
|
||||
for (const component of [
|
||||
"CornerBracketFrame",
|
||||
"DiagonalStripeField",
|
||||
"ScanlineField",
|
||||
"SignalTrace",
|
||||
]) {
|
||||
expect(existsSync(join(componentsDir, `${component}.svelte`)), `${component} is missing`).toBe(
|
||||
true,
|
||||
);
|
||||
expect(
|
||||
existsSync(join(storiesDir, `${component}.stories.svelte`)),
|
||||
`${component}.stories.svelte is missing`,
|
||||
).toBe(true);
|
||||
}
|
||||
});
|
||||
|
||||
test("keeps decorative primitives hidden from assistive technology", () => {
|
||||
for (const component of [
|
||||
"CornerBracketFrame",
|
||||
"DiagonalStripeField",
|
||||
"ScanlineField",
|
||||
"SignalTrace",
|
||||
]) {
|
||||
const source = readFileSync(join(componentsDir, `${component}.svelte`), "utf8");
|
||||
|
||||
expect(source).toContain('aria-hidden="true"');
|
||||
}
|
||||
});
|
||||
|
||||
test("does not add deferred form/navigation primitives", () => {
|
||||
for (const component of ["Input", "ToggleGroup", "ScrollArea"]) {
|
||||
expect(existsSync(join(root, `src/lib/ui/components/${component}.svelte`))).toBe(false);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue