onSelect?.()}
+ onKeyDown={(e) => {
+ if (e.key === "Enter" || e.key === " ") {
+ e.preventDefault();
+ onSelect?.();
+ }
+ }}
+ >
+
+
+ {iconUrl ? (
+

+ ) : (
+
+ )}
+
+
+ {selected && (
+
+ )}
+
+
+
+
+
+ {name}
+
+
+ {description}
+
+
+
+
+ View Details
+
+
+
+
+ );
+};
diff --git a/site/src/pages/TemplateBuilder/ModuleConfiguration.stories.tsx b/site/src/pages/TemplateBuilder/ModuleConfiguration.stories.tsx
new file mode 100644
index 0000000000..a86b50d251
--- /dev/null
+++ b/site/src/pages/TemplateBuilder/ModuleConfiguration.stories.tsx
@@ -0,0 +1,113 @@
+import type { Meta, StoryObj } from "@storybook/react-vite";
+import { fn } from "storybook/test";
+import type { FormHelpers } from "#/utils/formUtils";
+import { ModuleConfiguration } from "./ModuleConfiguration";
+
+const meta: Meta