import React from "react";
import type { basicsItemsComponent } from "../components/atoms/basics-items-component.js";
import "../module-globals.js";
const basics = defineComponent({
name: "basics",
schema: z.intersection(
defaultComponents.basics.schema,
z.object({
basics: z
.object({
image: z.string(),
roundedImage: z.boolean().nullish(),
})
.nullish(),
}),
),
component: ({ spec, styles, getComponent }) => {
const Markdown = getComponent({ name: "markdown" });
const Image = getComponent(defaultComponents.image);
const TextWithIcon = getComponent(defaultComponents.textWithIcon);
const BasicsItems = getComponent({
name: "basicsItems",
} as typeof basicsItemsComponent);
return (
spec.basics && (
<>
{spec.basics.name}
(
{item}
)}
/>
{spec.basics.summary && (
{spec.basics.summary}
)}
>
)
);
},
defaultStyles: {
container: {
display: "flex",
flexDirection: "row",
alignItems: "center",
width: "100%",
},
leftContainer: {
display: "flex",
justifyContent: "center",
alignItems: "center",
},
rightContainer: {
marginLeft: "8pt",
flexGrow: 1,
},
name: {
fontSize: "24pt",
marginBottom: "8pt",
},
itemContainer: {
display: "flex",
flexDirection: "row",
flexWrap: "wrap",
rowGap: "4pt",
columnGap: "12pt",
},
item: {
color: "black",
},
firstItem: {
borderLeft: "none",
paddingLeft: 0,
marginLeft: 0,
},
summary: {
marginTop: "8pt",
marginBottom: "8pt",
},
picture: {
width: "100px",
overflow: "hidden",
},
} as const,
});
export default {
config: {
components: { basics },
},
};