mirror of
				https://github.com/zopiya/x-eden-quartz.git
				synced 2025-11-04 06:46:48 +08:00 
			
		
		
		
	Initial commit
This commit is contained in:
		
							
								
								
									
										29
									
								
								quartz/components/types.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								quartz/components/types.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
import { ComponentType, JSX } from "preact"
 | 
			
		||||
import { StaticResources } from "../util/resources"
 | 
			
		||||
import { QuartzPluginData } from "../plugins/vfile"
 | 
			
		||||
import { GlobalConfiguration } from "../cfg"
 | 
			
		||||
import { Node } from "hast"
 | 
			
		||||
import { BuildCtx } from "../util/ctx"
 | 
			
		||||
 | 
			
		||||
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?: string
 | 
			
		||||
  beforeDOMLoaded?: string
 | 
			
		||||
  afterDOMLoaded?: string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export type QuartzComponentConstructor<Options extends object | undefined = undefined> = (
 | 
			
		||||
  opts: Options,
 | 
			
		||||
) => QuartzComponent
 | 
			
		||||
		Reference in New Issue
	
	Block a user