namespace SufiChain.SufiBlazor.Demo.Menus;

/// <summary>
/// Menu item names for Sufi Blazor Demo.
/// </summary>
public static class SufiBlazorDemoMenus
{
    public const string Prefix = "SufiBlazorDemo";
    /// <summary>
    /// Top-level "Demo" menu that hosts all demo apps (SufiBlazor, etc.).
    /// </summary>
    public const string Demo = "Demo";
    public const string GroupName = Prefix + ".Group";

    // Getting Started (first-level pages)
    public const string Introduction = Prefix + ".Introduction";
    public const string GettingStarted = Prefix + ".GettingStarted";

    // Groups
    public const string Actions = Prefix + ".Actions";
    public const string Forms = Prefix + ".Forms";
    public const string Data = Prefix + ".Data";
    public const string Layout = Prefix + ".Layout";
    public const string Navigation = Prefix + ".Navigation";
    public const string Overlays = Prefix + ".Overlays";
    public const string Feedback = Prefix + ".Feedback";
    public const string Surfaces = Prefix + ".Surfaces";
    public const string Typography = Prefix + ".Typography";

    // Actions
    public const string Button = Actions + ".Button";
    public const string IconButton = Actions + ".IconButton";
    public const string Link = Actions + ".Link";

    // Forms
    public const string TextField = Forms + ".TextField";
    public const string TextArea = Forms + ".TextArea";
    public const string NumberField = Forms + ".NumberField";
    public const string Select = Forms + ".Select";
    public const string MultiSelect = Forms + ".MultiSelect";
    public const string Autocomplete = Forms + ".Autocomplete";
    public const string Checkbox = Forms + ".Checkbox";
    public const string Radio = Forms + ".Radio";
    public const string Switch = Forms + ".Switch";
    public const string DatePicker = Forms + ".DatePicker";
    public const string TimePicker = Forms + ".TimePicker";
    public const string ColorPicker = Forms + ".ColorPicker";
    public const string Slider = Forms + ".Slider";
    public const string TagInput = Forms + ".TagInput";
    public const string FileUpload = Forms + ".FileUpload";
    public const string RichTextEditor = Forms + ".RichTextEditor";

    // Data
    public const string DataGrid = Data + ".DataGrid";
    public const string DataGridBasic = DataGrid + ".Basic";
    public const string DataGridSelection = DataGrid + ".Selection";
    public const string DataGridStyled = DataGrid + ".Styled";
    public const string DataGridCompact = DataGrid + ".Compact";
    public const string DataGridEmpty = DataGrid + ".Empty";
    public const string DataGridDetail = DataGrid + ".Detail";
    public const string DataGridServer = DataGrid + ".Server";
    public const string DataGridCellTemplates = DataGrid + ".CellTemplates";
    public const string DataGridVirtualization = DataGrid + ".Virtualization";
    public const string DataGridColumnFilter = DataGrid + ".ColumnFilter";
    public const string DataGridProgrammaticFilter = DataGrid + ".ProgrammaticFilter";
    public const string DataGridInlineEdit = DataGrid + ".InlineEdit";
    public const string DataGridExportCsv = DataGrid + ".ExportCsv";
    public const string Table = Data + ".Table";
    public const string Pagination = Data + ".Pagination";
    public const string StatCard = Data + ".StatCard";

    // Layout
    public const string Stack = Layout + ".Stack";
    public const string Grid = Layout + ".Grid";
    public const string Container = Layout + ".Container";
    public const string Spacer = Layout + ".Spacer";

    // Navigation
    public const string Tabs = Navigation + ".Tabs";
    public const string Stepper = Navigation + ".Stepper";
    public const string Breadcrumb = Navigation + ".Breadcrumb";
    public const string Accordion = Navigation + ".Accordion";
    public const string NavMenu = Navigation + ".NavMenu";
    public const string TreeView = Navigation + ".TreeView";

    // Overlays
    public const string Dialog = Overlays + ".Dialog";
    public const string Drawer = Overlays + ".Drawer";
    public const string ConfirmDialog = Overlays + ".ConfirmDialog";
    public const string Popover = Overlays + ".Popover";
    public const string Tooltip = Overlays + ".Tooltip";
    public const string Menu = Overlays + ".Menu";

    // Feedback
    public const string Alert = Feedback + ".Alert";
    public const string Toast = Feedback + ".Toast";
    public const string Banner = Feedback + ".Banner";
    public const string Badge = Feedback + ".Badge";
    public const string Progress = Feedback + ".Progress";
    public const string Skeleton = Feedback + ".Skeleton";
    public const string EmptyState = Feedback + ".EmptyState";

    // Surfaces
    public const string Card = Surfaces + ".Card";
    public const string Surface = Surfaces + ".Surface";
    public const string Divider = Surfaces + ".Divider";

    // Typography
    public const string Text = Typography + ".Text";
    public const string Icon = Typography + ".Icon";

    // Error Handling
    public const string ErrorHandling = Prefix + ".ErrorHandling";
}
