Jacky Zhao
2023-07-04 38cff2d670ecf7fd325aaaf776a4c250a72cc661
quartz/components/types.ts
@@ -2,12 +2,18 @@
import { StaticResources } from "../resources"
import { QuartzPluginData } from "../plugins/vfile"
import { GlobalConfiguration } from "../cfg"
import { Node } from "hast"
export type QuartzComponentProps = {
  externalResources: StaticResources
  fileData: QuartzPluginData
  cfg: GlobalConfiguration
  children: QuartzComponent[] | JSX.Element[]
  children: (QuartzComponent | JSX.Element)[]
  tree: Node<QuartzPluginData>
  allFiles: QuartzPluginData[]
  displayClass?: 'mobile-only' | 'desktop-only'
} & JSX.IntrinsicAttributes & {
  [key: string]: any
}
export type QuartzComponent = ComponentType<QuartzComponentProps> & {
@@ -15,3 +21,5 @@
  beforeDOMLoaded?: string,
  afterDOMLoaded?: string,
}
export type QuartzComponentConstructor<Options extends object | undefined = undefined> = (opts: Options) => QuartzComponent