From 08f8e3b4a4879dd7c91c16fbce80c4f2bc5e357f Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 10 Jul 2023 02:32:24 +0000
Subject: [PATCH] docs + various polish

---
 quartz/components/types.ts |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/quartz/components/types.ts b/quartz/components/types.ts
index 96ead5f..b37ccee 100644
--- a/quartz/components/types.ts
+++ b/quartz/components/types.ts
@@ -1,7 +1,25 @@
-import { ComponentType } from "preact"
+import { ComponentType, JSX } from "preact"
+import { StaticResources } from "../resources"
+import { QuartzPluginData } from "../plugins/vfile"
+import { GlobalConfiguration } from "../cfg"
+import { Node } from "hast"
 
-export type QuartzComponent<Props> = ComponentType<Props> & {
+export type QuartzComponentProps = {
+  externalResources: StaticResources
+  fileData: QuartzPluginData
+  cfg: GlobalConfiguration
+  children: (QuartzComponent | JSX.Element)[]
+  tree: Node<QuartzPluginData>
+  allFiles: QuartzPluginData[]
+  displayClass?: 'mobile-only' | 'desktop-only'
+} & JSX.IntrinsicAttributes & {
+  [key: string]: any
+}
+
+export type QuartzComponent = ComponentType<QuartzComponentProps> & {
   css?: string,
   beforeDOMLoaded?: string,
   afterDOMLoaded?: string,
 }
+
+export type QuartzComponentConstructor<Options extends object | undefined = undefined> = (opts: Options) => QuartzComponent

--
Gitblit v1.10.0