import { JSX } from 'solid-js'; import { BlendMode, PropDriver, TransformConfig, BoundingBoxConfig, LayoutConfig } from '../../core'; import { ComponentProps } from '../../core/shaders/ParticleField'; export type { ComponentProps }; /** * Base props that all shader components have */ interface BaseShaderProps { children?: JSX.Element; blendMode?: BlendMode; opacity?: number; visible?: boolean; id?: string; maskSource?: string; maskType?: string; renderOrder?: number; transform?: Partial; boundingBox?: Partial; flow?: LayoutConfig; absolute?: boolean; } /** * Component-specific props that merge base props with shader-specific props * Note: ComponentProps are made optional since they have defaults from the shader definition */ type ShaderComponentProps = BaseShaderProps & Partial> & { depth?: ComponentProps['depth'] | PropDriver; particleSize?: ComponentProps['particleSize'] | PropDriver; wobble?: ComponentProps['wobble'] | PropDriver; zoom?: ComponentProps['zoom'] | PropDriver; rotationX?: ComponentProps['rotationX'] | PropDriver; rotationY?: ComponentProps['rotationY'] | PropDriver; rotationZ?: ComponentProps['rotationZ'] | PropDriver; offsetX?: ComponentProps['offsetX'] | PropDriver; offsetY?: ComponentProps['offsetY'] | PropDriver; }; /** * The main Solid wrapper component for Shader shader nodes */ export default function ShaderComponent(props: ShaderComponentProps): JSX.Element; //# sourceMappingURL=ParticleField.d.ts.map