diff --git a/sections/Content/Hero.tsx b/sections/Content/Hero.tsx
index 98a480bc..7a50a436 100644
--- a/sections/Content/Hero.tsx
+++ b/sections/Content/Hero.tsx
@@ -25,8 +25,8 @@ const PLACEMENT = {
};
export default function HeroFlats({
- title,
- description,
+ title = "Hero",
+ description = "Your description here",
image,
placement,
cta,
diff --git a/sections/Content/Intro.tsx b/sections/Content/Intro.tsx
new file mode 100644
index 00000000..050a1913
--- /dev/null
+++ b/sections/Content/Intro.tsx
@@ -0,0 +1,37 @@
+export interface IntroProps {
+ text: string;
+ subheading?: string;
+ alignment: "Left" | "Center" | "Right";
+}
+
+const ALIGNMENT_TEXT = {
+ "Left": "items-start text-start",
+ "Center": "items-center text-center",
+ "Right": "items-end text-end",
+};
+
+export default function Intro(
+ {
+ text =
+ "Lorem ipsum dolor sit amet consectetur. Placerat ornare diam nulla fringilla gravida justo elementum. Ut sed in.",
+ subheading,
+ alignment = "Left",
+ }: IntroProps,
+) {
+ return (
+
+
+
+
+ {text}
+
+ {subheading && (
+
{subheading}
+ )}
+
+
+
+ );
+}
diff --git a/sections/Content/Partners.tsx b/sections/Content/Partners.tsx
new file mode 100644
index 00000000..a64e1b66
--- /dev/null
+++ b/sections/Content/Partners.tsx
@@ -0,0 +1 @@
+export { default } from "$store/components/ui/Partners.tsx";
diff --git a/sections/Content/TextWithImage.tsx b/sections/Content/TextWithImage.tsx
new file mode 100644
index 00000000..7d4e9244
--- /dev/null
+++ b/sections/Content/TextWithImage.tsx
@@ -0,0 +1,66 @@
+import type { ImageWidget } from "apps/admin/widgets.ts";
+import type { HTMLWidget } from "apps/admin/widgets.ts";
+
+export interface ServiceProps {
+ type?: string;
+ label?: string;
+ description?: HTMLWidget;
+ image: ImageWidget;
+ placement: "left" | "right";
+}
+
+export interface Props {
+ services?: ServiceProps[];
+}
+
+const PLACEMENT = {
+ left: "flex-col lg:flex-row-reverse",
+ right: "flex-col lg:flex-row",
+};
+
+export default function Services({
+ services = [
+ {
+ type: "Service",
+ label: "Your Title Here",
+ description:
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, diam id tincidunt dapibus, elit arcu ultricies massa, quis ornare nisl libero vitae urna.",
+ image:
+ "https://ozksgdmyrqcxcwhnbepg.supabase.co/storage/v1/object/public/assets/3290/488e5dc5-9a24-48c9-9795-09b97394fb5f",
+ placement: "left",
+ },
+ ],
+}: Props) {
+ return (
+
+ {services?.map((service, index) => (
+
+
+
+ {service.type &&
{service.type}
}
+
+ {service.label}
+
+
+
+
+
+ ))}
+
+ );
+}
diff --git a/sections/Layout/Grid.tsx b/sections/Layout/Grid.tsx
index 2355388a..bcca7db5 100644
--- a/sections/Layout/Grid.tsx
+++ b/sections/Layout/Grid.tsx
@@ -20,7 +20,6 @@ export interface GridMobile {
| "12"
| "None";
rows?: "1" | "2" | "3" | "4" | "5" | "6" | "None";
- /** @default 8 */
gap?: "1" | "2" | "4" | "8" | "12" | "16";
/** @default Center */
placeItems?: "Center" | "Start" | "End" | "Baseline" | "Stretch";
@@ -44,7 +43,6 @@ export interface GridDesktop {
| "12"
| "None";
rows?: "1" | "2" | "3" | "4" | "5" | "6" | "None";
- /** @default 8 */
gap?: "1" | "2" | "4" | "8" | "12" | "16";
/** @default Center */
placeItems?: "Center" | "Start" | "End" | "Baseline" | "Stretch";
@@ -54,6 +52,9 @@ export interface GridDesktop {
* @title Grid
*/
export interface Props {
+ /**
+ * @hide
+ */
children?: VNode | null;
sectionChildrens?: Section[];
mobile?: GridMobile;