From c538c151c7462ad0395ff2c15c5e11e89e362aa8 Mon Sep 17 00:00:00 2001
From: Striven <sg.striven@cutecat.club>
Date: Sat, 04 Apr 2026 19:47:16 +0000
Subject: [PATCH] Initial commit
---
quartz/components/types.ts | 33 +++++++++++++++++++++++++++------
1 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/quartz/components/types.ts b/quartz/components/types.ts
index e1bdebc..a07601a 100644
--- a/quartz/components/types.ts
+++ b/quartz/components/types.ts
@@ -1,8 +1,29 @@
-import { ComponentType } from "preact"
+import { ComponentType, JSX } from "preact"
+import { StaticResources, StringResource } from "../util/resources"
+import { QuartzPluginData } from "../plugins/vfile"
+import { GlobalConfiguration } from "../cfg"
+import { Node } from "hast"
+import { BuildCtx } from "../util/ctx"
-export type QuartzComponent<Props> = {
- Component: ComponentType<Props>
- css?: string,
- beforeDOMLoaded?: string,
- afterDOMLoaded?: string,
+export type QuartzComponentProps = {
+ ctx: BuildCtx
+ externalResources: StaticResources
+ fileData: QuartzPluginData
+ cfg: GlobalConfiguration
+ children: (QuartzComponent | JSX.Element)[]
+ tree: Node
+ allFiles: QuartzPluginData[]
+ displayClass?: "mobile-only" | "desktop-only"
+} & JSX.IntrinsicAttributes & {
+ [key: string]: any
+ }
+
+export type QuartzComponent = ComponentType<QuartzComponentProps> & {
+ css?: StringResource
+ beforeDOMLoaded?: StringResource
+ afterDOMLoaded?: StringResource
}
+
+export type QuartzComponentConstructor<Options extends object | undefined = undefined> = (
+ opts: Options,
+) => QuartzComponent
--
Gitblit v1.10.0