using System;
using System.Diagnostics;
using System.Threading.Tasks;
using System.ComponentModel;
using Microsoft.AspNetCore.Components;

using CommonHelpers.WASM;
using AFXUI;
using BookRegistry.Client.Shared;

namespace BookRegistry.Client {

//**************************************************************************************************
partial class AComponent {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

public static Task ESC_ShowMessageFmt_A( string messageFmt, params object?[] parameters ) =>
   MB.ESC_ShowMessageFmt_A( messageFmt, parameters );
public static Task ESC_ShowMessageWithTitleFmt_A( string? title,
                                                  string messageFmt,
                                                  params object?[] parameters ) =>
   MB.ESC_ShowMessageWithTitleFmt_A( title, messageFmt, parameters );

//--------------------------------------------------------------------------------------------------

public static Task ESC_ShowExclamationFmt_A( string messageFmt, params object?[] parameters ) =>
   MB.ESC_ShowExclamationFmt_A( messageFmt, parameters );
public static Task ESC_ShowExclamationWithTitleFmt_A( string? title,
                                                      string messageFmt,
                                                      params object?[] parameters ) =>
   MB.ESC_ShowExclamationWithTitleFmt_A( title, messageFmt, parameters );

//--------------------------------------------------------------------------------------------------

public static Task ESC_ShowCompletionFmt_A( string messageFmt, params object?[] parameters ) =>
   MB.ESC_ShowCompletionFmt_A( messageFmt, parameters );
public static Task ESC_ShowCompletionWithTitleFmt_A( string? title,
                                                     string messageFmt,
                                                     params object?[] parameters ) =>
   MB.ESC_ShowCompletionWithTitleFmt_A( title, messageFmt, parameters );

//--------------------------------------------------------------------------------------------------

public static Task ESC_ShowSuccessFmt_A( string messageFmt, params object?[] parameters ) =>
   MB.ESC_ShowSuccessFmt_A( messageFmt, parameters );
public static Task ESC_ShowSuccessWithTitleFmt_A( string? title,
                                                  string messageFmt,
                                                  params object?[] parameters ) =>
   MB.ESC_ShowSuccessWithTitleFmt_A( title, messageFmt, parameters );

//==================================================================================================

public static Task ESC_ShowErrorFmt_A( string messageFmt,
                                       params object?[] parameters ) =>
   MB.ESC_ShowErrorFmt_A( messageFmt, parameters );
public static Task ESC_ShowErrorWithTitleFmt_A( string? title,
                                                string messageFmt, params object?[] parameters ) =>
   MB.ESC_ShowErrorWithTitleFmt_A( title, messageFmt, parameters );

public static Task ESC_ShowCommunicationErrorFmt_A( string messageFmt,
                                                    params object?[] parameters ) =>
   MB.ESC_ShowCommunicationErrorFmt_A( messageFmt, parameters );

public static Task ESC_ShowServerErrorFmt_A( string messageFmt, params object?[] parameters ) =>
   MB.ESC_ShowServerErrorFmt_A( messageFmt, parameters );

//==================================================================================================

public static Task<bool> ESC_ConfirmationDialogFmt_A( string messageFmt,
                                                      params object?[] parameters ) =>
   MB.ESC_ConfirmationDialogFmt_A( messageFmt, parameters );
public static Task<bool> ESC_ConfirmationDialogWithTitleFmt_A( string? title,
                                                               string messageFmt,
                                                               params object?[] parameters ) =>
   MB.ESC_ConfirmationDialogWithTitleFmt_A( title, messageFmt, parameters );

public static Task<bool> ESC_ConfirmationDialogFmt_A( bool confirmationFocusing,
                                                      string messageFmt,
                                                      params object?[] parameters ) =>
   MB.ESC_ConfirmationDialogFmt_A( confirmationFocusing, messageFmt, parameters );
public static Task<bool> ESC_ConfirmationDialogWithTitleFmt_A( bool confirmationFocusing,
                                                               string? title,
                                                               string messageFmt,
                                                               params object?[] parameters ) =>
   MB.ESC_ConfirmationDialogWithTitleFmt_A( confirmationFocusing, title, messageFmt, parameters );

//--------------------------------------------------------------------------------------------------

public static Task<bool> ESC_ImportantConfirmationDialogFmt_A( string messageFmt,
                                                               params object?[] parameters ) =>
   MB.ESC_ImportantConfirmationDialogFmt_A( messageFmt, parameters );
public static Task<bool> ESC_ImportantConfirmationDialogWithTitleFmt_A( string? title,
                                                                        string messageFmt,
                                                                        params object?[]
                                                                        parameters ) =>
   MB.ESC_ImportantConfirmationDialogWithTitleFmt_A( title, messageFmt, parameters );

public static Task<bool> ESC_ImportantConfirmationDialogFmt_A( bool confirmationFocusing,
                                                               string messageFmt,
                                                               params object?[] parameters ) =>
   MB.ESC_ImportantConfirmationDialogFmt_A( confirmationFocusing, messageFmt, parameters );
public static Task<bool> ESC_ImportantConfirmationDialogWithTitleFmt_A( bool confirmationFocusing,
                                                                        string? title,
                                                                        string messageFmt,
                                                                        params object?[]
                                                                        parameters ) =>
   MB.ESC_ImportantConfirmationDialogWithTitleFmt_A( confirmationFocusing, title,
                                                     messageFmt, parameters );

//==================================================================================================

public static Task<bool> ESC_QuestionDialogFmt_A( string messageFmt,
                                                  params object?[] parameters ) =>
   MB.ESC_QuestionDialogFmt_A( messageFmt, parameters );
public static Task<bool> ESC_QuestionDialogWithTitleFmt_A( string? title,
                                                           string messageFmt,
                                                           params object?[] parameters ) =>
   MB.ESC_QuestionDialogWithTitleFmt_A( title, messageFmt, parameters );

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} // AComponent
//**************************************************************************************************

} // BookRegistry.Client
