"""
Pydantic schema for TestimonialsSkeleton component.

AUTO-GENERATED FROM ui-manifest.json - DO NOT EDIT MANUALLY
Source: skeletons/TestimonialsSkeleton.tsx
Component Path: skeletons/TestimonialsSkeleton
"""

from typing import Literal

from pydantic import Field

from lightwave.schema.pydantic.core.base import JSONFieldSchema

from ._types import T


class TestimonialsSkeletonProps(JSONFieldSchema):
    """Props for TestimonialsSkeleton component."""

    variant: T | None = Field(default=None, description="Testimonials variant layout")
    count: Literal[3, 4, 6, 2] | None = Field(
        default=None, description="Number of testimonials to show (for grid layouts)"
    )
    class_name: str | None = Field(default=None, alias="className", description="Additional className")


class TestimonialCardSkeletonProps(JSONFieldSchema):
    """Props for TestimonialCardSkeleton component."""

    with_logo: bool | None = Field(default=None, alias="withLogo", description="Show company logo")
    with_rating: bool | None = Field(default=None, alias="withRating", description="Show star rating")
    class_name: str | None = Field(default=None, alias="className")
