Skip to content

Commit

Permalink
Simplified HGrid CSS-nesting (#2917)
Browse files Browse the repository at this point in the history
* test: Setup testing env for HGrid bug

* refactor: Forenklet HGrid-css

* memo: Changeset
  • Loading branch information
KenAJoh authored May 13, 2024
1 parent a358d22 commit 7becf3e
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 41 deletions.
5 changes: 5 additions & 0 deletions .changeset/silver-insects-confess.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@navikt/ds-css": patch
---

HGrid: forenklet CSS.
61 changes: 20 additions & 41 deletions @navikt/core/css/primitives/hgrid.css
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
.navds-hgrid {
--__ac-hgrid-columns-xs: initial;
--__ac-hgrid-columns-sm: initial;
--__ac-hgrid-columns-md: initial;
--__ac-hgrid-columns-lg: initial;
--__ac-hgrid-columns-xl: initial;
--__ac-hgrid-columns-2xl: initial;
--__ac-hgrid-columns-sm: var(--__ac-hgrid-columns-xs);
--__ac-hgrid-columns-md: var(--__ac-hgrid-columns-sm);
--__ac-hgrid-columns-lg: var(--__ac-hgrid-columns-md);
--__ac-hgrid-columns-xl: var(--__ac-hgrid-columns-lg);
--__ac-hgrid-columns-2xl: var(--__ac-hgrid-columns-xl);
--__ac-hgrid-columns: var(--__ac-hgrid-columns-xs);
--__ac-hgrid-gap-xs: initial;
--__ac-hgrid-gap-sm: initial;
--__ac-hgrid-gap-md: initial;
--__ac-hgrid-gap-lg: initial;
--__ac-hgrid-gap-xl: initial;
--__ac-hgrid-gap-2xl: initial;
--__ac-hgrid-gap-sm: var(--__ac-hgrid-gap-xs);
--__ac-hgrid-gap-md: var(--__ac-hgrid-gap-sm);
--__ac-hgrid-gap-lg: var(--__ac-hgrid-gap-md);
--__ac-hgrid-gap-xl: var(--__ac-hgrid-gap-lg);
--__ac-hgrid-gap-2xl: var(--__ac-hgrid-gap-xl);
--__ac-hgrid-gap: var(--__ac-hgrid-gap-xs);
--__ac-hgrid-align: initial;

Expand All @@ -23,56 +23,35 @@

@media (min-width: 480px) {
.navds-hgrid {
--__ac-hgrid-columns: var(--__ac-hgrid-columns-sm, var(--__ac-hgrid-columns-xs));
--__ac-hgrid-gap: var(--__ac-hgrid-gap-sm, var(--__ac-hgrid-gap-xs));
--__ac-hgrid-columns: var(--__ac-hgrid-columns-sm);
--__ac-hgrid-gap: var(--__ac-hgrid-gap-sm);
}
}

@media (min-width: 768px) {
.navds-hgrid {
--__ac-hgrid-columns: var(--__ac-hgrid-columns-md, var(--__ac-hgrid-columns-sm, var(--__ac-hgrid-columns-xs)));
--__ac-hgrid-gap: var(--__ac-hgrid-gap-md, var(--__ac-hgrid-gap-sm, var(--__ac-hgrid-gap-xs)));
--__ac-hgrid-columns: var(--__ac-hgrid-columns-md);
--__ac-hgrid-gap: var(--__ac-hgrid-gap-md);
}
}

@media (min-width: 1024px) {
.navds-hgrid {
--__ac-hgrid-columns: var(
--__ac-hgrid-columns-lg,
var(--__ac-hgrid-columns-md, var(--__ac-hgrid-columns-sm, var(--__ac-hgrid-columns-xs)))
);
--__ac-hgrid-gap: var(--__ac-hgrid-gap-lg, var(--__ac-hgrid-gap-md, var(--__ac-hgrid-gap-sm, var(--__ac-hgrid-gap-xs))));
--__ac-hgrid-columns: var(--__ac-hgrid-columns-lg);
--__ac-hgrid-gap: var(--__ac-hgrid-gap-lg);
}
}

@media (min-width: 1280px) {
.navds-hgrid {
--__ac-hgrid-columns: var(
--__ac-hgrid-columns-xl,
var(--__ac-hgrid-columns-lg, var(--__ac-hgrid-columns-md, var(--__ac-hgrid-columns-sm, var(--__ac-hgrid-columns-xs))))
);
--__ac-hgrid-gap: var(
--__ac-hgrid-gap-xl,
var(--__ac-hgrid-gap-lg, var(--__ac-hgrid-gap-md, var(--__ac-hgrid-gap-sm, var(--__ac-hgrid-gap-xs))))
);
--__ac-hgrid-columns: var(--__ac-hgrid-columns-xl);
--__ac-hgrid-gap: var(--__ac-hgrid-gap-xl);
}
}

@media (min-width: 1440px) {
.navds-hgrid {
--__ac-hgrid-columns: var(
--__ac-hgrid-columns-2xl,
var(
--__ac-hgrid-columns-xl,
var(--__ac-hgrid-columns-lg, var(--__ac-hgrid-columns-md, var(--__ac-hgrid-columns-sm, var(--__ac-hgrid-columns-xs))))
)
);
--__ac-hgrid-gap: var(
--__ac-hgrid-gap-2xl,
var(
--__ac-hgrid-gap-xl,
var(--__ac-hgrid-gap-lg, var(--__ac-hgrid-gap-md, var(--__ac-hgrid-gap-sm, var(--__ac-hgrid-gap-xs))))
)
);
--__ac-hgrid-columns: var(--__ac-hgrid-columns-2xl);
--__ac-hgrid-gap: var(--__ac-hgrid-gap-2xl);
}
}
19 changes: 19 additions & 0 deletions @navikt/core/react/src/layout/grid/h-grid.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,21 @@ export const AlignItems = {
),
};

export const Nested = {
render: () => (
<HGrid columns={{ xs: 1, sm: 2 }} gap="8">
<HGrid columns={2} gap="2">
<Placeholder text="1" />
<Placeholder text="2" />
</HGrid>
<HGrid columns={2} gap="2">
<Placeholder text="3" />
<Placeholder text="4" />
</HGrid>
</HGrid>
),
};

function Placeholder({ text, height }: { text: string; height?: string }) {
return (
<div
Expand Down Expand Up @@ -148,6 +163,10 @@ export const Chromatic: Story = {
<h2>AlignItems</h2>
<AlignItems.render />
</div>
<div>
<h2>Nested</h2>
<Nested.render />
</div>
</VStack>
),
parameters: {
Expand Down

0 comments on commit 7becf3e

Please sign in to comment.