Skip to main content
Glama
schema.py3.02 kB
"""PanelCascade component schema and Pydantic models.""" from typing import Any from pydantic import BaseModel, Field from ...base import ComponentMetadata class PanelCascadeProps(BaseModel): """Properties for PanelCascade component.""" items: list[Any] = Field(description="Array of panel components to animate") cascade_type: str | None = Field("from_edges", description="Cascade animation style") stagger_delay: float | None = Field(0.08, description="Delay between each panel (seconds)") start_time: float = Field(description="When to show (seconds)") duration: float | None = Field(5.0, description="How long to show (seconds)") class Config: extra = "forbid" # Component metadata METADATA = ComponentMetadata( name="PanelCascade", description="Staggered panel entrance animations for multi-panel layouts", category="animation", ) # MCP schema (for backward compatibility with MCP tools list) MCP_SCHEMA = { "description": "Staggered panel entrance animations for multi-panel layouts", "category": "animation", "cascade_types": { "from_edges": "Panels slide in from nearest screen edge (spatial)", "from_center": "Panels scale out from center (radial)", "bounce_in": "Panels bounce in with slight overshoot (playful)", "sequential_left": "Left to right sequence (reading order)", "sequential_right": "Right to left sequence (reverse)", "sequential_top": "Top to bottom sequence (vertical)", "wave": "Wave pattern across panels (dynamic)", }, "schema": { "items": { "type": "array", "required": True, "description": "Array of panel components to animate", }, "cascade_type": { "type": "enum", "default": "from_edges", "values": [ "from_edges", "from_center", "bounce_in", "sequential_left", "sequential_right", "sequential_top", "wave", ], "description": "Cascade animation style", }, "stagger_delay": { "type": "float", "default": 0.08, "description": "Delay between each panel (seconds)", }, "start_time": { "type": "float", "required": True, "description": "When to show (seconds)", }, "duration": { "type": "float", "default": 5.0, "description": "How long to show (seconds)", }, }, "example": { "cascade_type": "from_edges", "stagger_delay": 0.08, "items": [ {"type": "CodeBlock", "code": "Panel 1"}, {"type": "CodeBlock", "code": "Panel 2"}, {"type": "CodeBlock", "code": "Panel 3"}, {"type": "CodeBlock", "code": "Panel 4"}, ], "start_time": 0.0, "duration": 10.0, }, }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrishayuk/chuk-mcp-remotion'

If you have feedback or need assistance with the MCP directory API, please join our Discord server