Props for the SettingsSectionShell component.

interface SettingsSectionShellProps {
/** Lucide icon component to display in the header. */
icon: LucideIcon;
/** Section title. */
title: string;
/** Section description or subtitle. */
description: React.ReactNode;
/** Tailwind gradient class for the header accent color. */
accent: string;
/** Section content. */
children: React.ReactNode;
/** Optional badge element to display in the header. */
badge?: React.ReactNode;
/** Optional CSS class for the card container. */
className?: string;
/** Optional CSS class for the card content area. */
contentClassName?: string;
/** Animation delay in seconds. */
delay?: number;
/** Optional unique identifier for the section (required for collapsible functionality). */
id?: string;
/** Whether the section can be collapsed. */
isCollapsible?: boolean;
/** Controlled collapsed state. */
isCollapsed?: boolean;
/** Callback when collapsed state changes. */
onCollapsedChange?: (collapsed: boolean) => void;
}
interface SettingsSectionShellProps {
    icon: LucideIcon;
    title: string;
    description: ReactNode;
    accent: string;
    children: ReactNode;
    badge?: ReactNode;
    className?: string;
    contentClassName?: string;
    delay?: number;
    id?: string;
    isCollapsible?: boolean;
    isCollapsed?: boolean;
    onCollapsedChange?: (collapsed: boolean) => void;
}

Properties

icon: LucideIcon

Lucide icon component to display in the header.

title: string

Section title.

description: ReactNode

Section description or subtitle.

accent: string

Tailwind gradient class for the header accent color.

children: ReactNode

Section content.

badge?: ReactNode

Optional badge element to display in the header.

className?: string

Optional CSS class for the card container.

contentClassName?: string

Optional CSS class for the card content area.

delay?: number

Animation delay in seconds.

id?: string

Optional unique identifier for the section (required for collapsible functionality).

isCollapsible?: boolean

Whether the section can be collapsed.

isCollapsed?: boolean

Controlled collapsed state.

onCollapsedChange?: (collapsed: boolean) => void

Callback when collapsed state changes.