Configurable vertical padding in subtree
This commit is contained in:
parent
4b31596727
commit
771a5fb790
@ -7,8 +7,14 @@ import type {
|
|||||||
import { Component, ComponentArguments } from "@sealcode/jdd";
|
import { Component, ComponentArguments } from "@sealcode/jdd";
|
||||||
|
|
||||||
const component_arguments = {
|
const component_arguments = {
|
||||||
bleed_left: new ComponentArguments.Enum(["none", "bleed", "screen"]),
|
bleed_left: new ComponentArguments.Enum(["none", "bleed", "screen"]).setExampleValues(
|
||||||
bleed_right: new ComponentArguments.Enum(["none", "bleed", "screen"]),
|
["none"]
|
||||||
|
),
|
||||||
|
bleed_right: new ComponentArguments.Enum([
|
||||||
|
"none",
|
||||||
|
"bleed",
|
||||||
|
"screen",
|
||||||
|
]).setExampleValues(["none"]),
|
||||||
column_gap: new ComponentArguments.Boolean(),
|
column_gap: new ComponentArguments.Boolean(),
|
||||||
row_gap: new ComponentArguments.Boolean(),
|
row_gap: new ComponentArguments.Boolean(),
|
||||||
component1: new ComponentArguments.NestedComponent(),
|
component1: new ComponentArguments.NestedComponent(),
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
.subtree {
|
.subtree {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: column;
|
flex-flow: column;
|
||||||
|
--vertical-padding: 0px;
|
||||||
|
--horizontal-padding: 0px;
|
||||||
|
padding: var(--vertical-padding) var(--horizontal-padding);
|
||||||
|
|
||||||
&.subtree--gap-none {
|
&.subtree--gap-none {
|
||||||
gap: 0px;
|
gap: 0px;
|
||||||
@ -17,4 +20,28 @@
|
|||||||
&.subtree--gap-wide {
|
&.subtree--gap-wide {
|
||||||
gap: 24px;
|
gap: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.subtree--padding-vertical-none {
|
||||||
|
--vertical-padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.subtree--padding-vertical-narrow {
|
||||||
|
--vertical-padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.subtree--padding-vertical-medium {
|
||||||
|
--vertical-padding: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.subtree--padding-vertical-wide {
|
||||||
|
--vertical-padding: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.subtree--padding-vertical-extra-wide {
|
||||||
|
--vertical-padding: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.subtree--padding-vertical-super-wide {
|
||||||
|
--vertical-padding: 96px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,20 @@ import type {
|
|||||||
import { Component, ComponentArguments } from "@sealcode/jdd";
|
import { Component, ComponentArguments } from "@sealcode/jdd";
|
||||||
|
|
||||||
const component_arguments = {
|
const component_arguments = {
|
||||||
gap: new ComponentArguments.Enum(["none", "narrow", "medium", "wide"]),
|
gap: new ComponentArguments.Enum([
|
||||||
|
"none",
|
||||||
|
"narrow",
|
||||||
|
"medium",
|
||||||
|
"wide",
|
||||||
|
]).setExampleValues(["medium"]),
|
||||||
|
padding_vertical: new ComponentArguments.Enum([
|
||||||
|
"none",
|
||||||
|
"narrow",
|
||||||
|
"medium",
|
||||||
|
"wide",
|
||||||
|
"extra-wide",
|
||||||
|
"super-wide",
|
||||||
|
]).setExampleValues(["medium"]),
|
||||||
components: new ComponentArguments.List(new ComponentArguments.NestedComponent()),
|
components: new ComponentArguments.List(new ComponentArguments.NestedComponent()),
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
@ -27,12 +40,19 @@ export class Subtree extends Component<typeof component_arguments> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async toHTML({
|
async toHTML({
|
||||||
args: { components, gap },
|
args: { components, gap, padding_vertical },
|
||||||
classes,
|
classes,
|
||||||
jdd_context,
|
jdd_context,
|
||||||
}: ComponentToHTMLArgs<typeof component_arguments>): Promise<string> {
|
}: ComponentToHTMLArgs<typeof component_arguments>): Promise<string> {
|
||||||
return (
|
return (
|
||||||
<div class={["subtree", `subtree--gap-${gap}`, ...classes]}>
|
<div
|
||||||
|
class={[
|
||||||
|
"subtree",
|
||||||
|
`subtree--gap-${gap}`,
|
||||||
|
`subtree--padding-vertical-${padding_vertical}`,
|
||||||
|
...classes,
|
||||||
|
]}
|
||||||
|
>
|
||||||
{components?.map((component) => component.render(jdd_context))}
|
{components?.map((component) => component.render(jdd_context))}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user