zebflow 0.10.10

Reactive web automation platform — pipelines, templates, and real-time collaboration in a single binary.
Documentation
import GalleryShell from "@/pages/dev/design-system/components/gallery-shell";
import ZebUiActionsSection from "@/pages/dev/design-system/sections/zeb-ui-actions";
import ZebUiFormsSection from "@/pages/dev/design-system/sections/zeb-ui-forms";
import ZebUiForms2Section from "@/pages/dev/design-system/sections/zeb-ui-forms-2";
import ZebUiDisplaySection from "@/pages/dev/design-system/sections/zeb-ui-display";
import ZebUiDisplay2Section from "@/pages/dev/design-system/sections/zeb-ui-display-2";
import ZebUiDisclosureSection from "@/pages/dev/design-system/sections/zeb-ui-disclosure";
import ZebUiOverlaysSection from "@/pages/dev/design-system/sections/zeb-ui-overlays";
import ZebUiOverlays2Section from "@/pages/dev/design-system/sections/zeb-ui-overlays-2";
import ZebUiEditorSection from "@/pages/dev/design-system/sections/zeb-ui-editor";
import { initDesignSystemBehavior } from "@/pages/dev/design-system/design-system-behavior";

/**
 * The `zeb/ui` gallery: the library's own source, inlined by the compiler
 * exactly as a project page gets it, rendered on the platform theme. Every
 * component file must appear here — tests/rwe/zeb_ui.rs reads the
 * `file="zeb/ui/<name>"` markers.
 */

export const page = {
  head: {
    title: "zeb/ui · Zebflow",
    description: "The component library project pages import — every component, every variant",
  },
  html: { lang: "en" },
  body: { className: "font-sans" },
  navigation: "history",
};

export function getPage(input) {
  return {
    head: {
      title: input?.seo?.title ?? "zeb/ui · Zebflow",
      description: input?.seo?.description ?? "The component library project pages import",
    },
  };
}

const GROUPS = [
  { id: "actions", label: "Actions", hint: "button" },
  { id: "forms", label: "Forms", hint: "input · checkbox · switch · slider" },
  { id: "display", label: "Display", hint: "card · badge · table · avatar" },
  { id: "disclosure", label: "Disclosure", hint: "tabs · accordion · resizable" },
  { id: "overlays", label: "Overlays", hint: "dialog · menus · select · toast" },
  { id: "editor", label: "Editor", hint: "notion-style blocks" },
];

export default function Page() {
  initDesignSystemBehavior();

  return (
    <GalleryShell
      kit="/dev/design-system/ui"
      title="zeb/ui"
      groups={GROUPS}
      initial="actions"
      footnote={'import { Button } from "zeb/ui/button" — no install. Clone one to own it: install_ui_components names=["button"].'}
    >
      {(group) => (
        <>
          <section hidden={group !== "actions"}><ZebUiActionsSection /></section>
          <section hidden={group !== "forms"}><ZebUiFormsSection /><ZebUiForms2Section /></section>
          <section hidden={group !== "display"}><ZebUiDisplaySection /><ZebUiDisplay2Section /></section>
          <section hidden={group !== "disclosure"}><ZebUiDisclosureSection /></section>
          <section hidden={group !== "overlays"}><ZebUiOverlaysSection /><ZebUiOverlays2Section /></section>
          <section hidden={group !== "editor"}><ZebUiEditorSection /></section>
        </>
      )}
    </GalleryShell>
  );
}