diff --git a/quartz/components/Group.tsx b/quartz/components/Group.tsx
new file mode 100644
index 000000000..55f122ffa
--- /dev/null
+++ b/quartz/components/Group.tsx
@@ -0,0 +1,16 @@
+import { concatenateResources } from "../util/resources"
+import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types"
+
+interface GroupConfig {
+ components: QuartzComponent[]
+}
+
+export default ((config: GroupConfig) => {
+ const Group: QuartzComponent = (props: QuartzComponentProps) =>
+ config.components.map((C: QuartzComponent) => )
+
+ Group.afterDOMLoaded = concatenateResources(...config.components.map((c) => c.afterDOMLoaded))
+ Group.beforeDOMLoaded = concatenateResources(...config.components.map((c) => c.beforeDOMLoaded))
+ Group.css = concatenateResources(...config.components.map((c) => c.css))
+ return Group
+}) satisfies QuartzComponentConstructor
diff --git a/quartz/components/index.ts b/quartz/components/index.ts
index cece8e614..80c6a03d7 100644
--- a/quartz/components/index.ts
+++ b/quartz/components/index.ts
@@ -23,6 +23,7 @@ import Breadcrumbs from "./Breadcrumbs"
import Comments from "./Comments"
import Flex from "./Flex"
import ConditionalRender from "./ConditionalRender"
+import Group from "./Group"
export {
ArticleTitle,
@@ -50,4 +51,5 @@ export {
Comments,
Flex,
ConditionalRender,
+ Group,
}