Add margin+padding options for background wrapper

This commit is contained in:
Kuba Orlik 2026-08-10 09:14:52 +02:00
parent 903bf2c016
commit 7cdbff8112
4 changed files with 24 additions and 2 deletions

View File

@ -6,6 +6,10 @@
padding: var(--vertical-padding) 0; padding: var(--vertical-padding) 0;
&.background-wrapper--padding-no {
padding: 0;
}
& > * { & > * {
grid-column: content; grid-column: content;
} }

View File

@ -11,6 +11,8 @@ export const background_variants = ["variant1", "variant2"];
const component_arguments = { const component_arguments = {
variant: new ComponentArguments.Enum(background_variants), variant: new ComponentArguments.Enum(background_variants),
grow_to_screen_height: new ComponentArguments.Boolean(), grow_to_screen_height: new ComponentArguments.Boolean(),
padding: new ComponentArguments.Boolean(),
margin: new ComponentArguments.Boolean(),
content: new ComponentArguments.NestedComponent(), content: new ComponentArguments.NestedComponent(),
} as const; } as const;
@ -28,7 +30,7 @@ export class BackgroundWrapper extends Component<typeof component_arguments> {
} }
async toHTML({ async toHTML({
args: { variant, content, grow_to_screen_height }, args: { variant, content, grow_to_screen_height, padding, margin },
classes, classes,
jdd_context, jdd_context,
}: ComponentToHTMLArgs<typeof component_arguments>): Promise<string> { }: ComponentToHTMLArgs<typeof component_arguments>): Promise<string> {
@ -37,7 +39,11 @@ export class BackgroundWrapper extends Component<typeof component_arguments> {
class={[ class={[
"background-wrapper", "background-wrapper",
`background-wrapper--${variant}`, `background-wrapper--${variant}`,
{ "background-wrapper--grow-height": grow_to_screen_height }, `background-wrapper--padding-${padding ? "yes" : "no"}`,
{
"background-wrapper--grow-height": grow_to_screen_height,
"jdd-no-gap": !margin,
},
...classes, ...classes,
]} ]}
> >

View File

@ -1,4 +1,6 @@
.image-jdd { .image-jdd {
display: flex; /* to get rid of added whitespace */
picture { picture {
border-radius: 10px; border-radius: 10px;

View File

@ -80,6 +80,16 @@ body {
& > * { & > * {
grid-column: content; grid-column: content;
} }
& > .jdd-no-gap {
margin-bottom: calc(-1 * var(--row-gap));
margin-top: calc(-1 * var(--row-gap));
&:first-child,
& + & {
margin-top: 0;
}
}
} }
.subgrid-layout { .subgrid-layout {