BitMessageBox is a pre-implemented box for showing messages with title and body.

Notes

To use this component, you need to install the
Bit.BlazorUI.Extras
nuget package, as described in the Optional steps of the Getting started page.

Usage


Basic

<BitCard Style="padding:0">
    <BitMessageBox Title="It's a title" Body="It's a body." />
</BitCard>
The basic usage of the BitMessageBox, rendered inline inside a BitCard.

It's a title
It's a body.

BitModal

<BitButton OnClick="() => isModalOpen = true">Show</BitButton>
<BitModal @bind-IsOpen="isModalOpen">
    <BitMessageBox OnClose="() => isModalOpen = false" Title="This is the Title" Body="This is the Body!" />
</BitModal>
@code {
    private bool isModalOpen;
}
                    
Show the BitMessageBox inside a BitModal component and close it using the OnClose event.

BitProModal

<BitButton OnClick="() => isProModalOpen = true">Show</BitButton>
<BitProModal @bind-IsOpen="isProModalOpen">
    <BitMessageBox OnClose="() => isProModalOpen = false" Title="This is the Title" Body="This is the Body!" />
</BitProModal>
@code {
    private bool isProModalOpen;
}
                    
Show the BitMessageBox inside a BitProModal component and close it using the OnClose event.

BitModalService

<BitButton OnClick="ShowMessageBox">Show MessageBox</BitButton>

<BitModalContainer />
@code {
    [AutoInject] private BitModalService modalService { get; set; } = default!;
    private async Task ShowMessageBox()
    {
        await modalService.Show<BitMessageBox>(modalRef => new()
        {
            { nameof(BitMessageBox.Title), "This is a title" },
            { nameof(BitMessageBox.Body), "This is a body." },
            { nameof(BitMessageBox.OnClose), EventCallback.Factory.Create(this, modalRef.Close) }
        });
    }
}
                    
Show the BitMessageBox as the content of a modal shown by the BitModalService.

BitProModalService

<BitButton OnClick="ShowProMessageBox">Show MessageBox</BitButton>

<BitProModalContainer />
@code {
    [AutoInject] private BitProModalService proModalService { get; set; } = default!;
    private async Task ShowProMessageBox()
    {
        await proModalService.Show<BitMessageBox>(modalRef => new()
        {
            { nameof(BitMessageBox.Title), "This is a title" },
            { nameof(BitMessageBox.Body), "This is a body." },
            { nameof(BitMessageBox.OnClose), EventCallback.Factory.Create(this, modalRef.Close) }
        });
    }
}
                    
Show the BitMessageBox as the content of a pro modal shown by the BitProModalService.

BitMessageBoxService

<BitButton OnClick="ShowMessageBoxService">Show MessageBox</BitButton>

@* The service uses the BitProModalService when available, otherwise the BitModalService. *@
@* Mount the matching container: BitProModalContainer for the pro modal, BitModalContainer otherwise. *@
<BitProModalContainer />
@code {
    [AutoInject] private BitMessageBoxService messageBoxService { get; set; } = default!;
    private async Task ShowMessageBoxService()
    {
        await messageBoxService.Show("TITLE", "BODY");
    }
}
                    
Show the BitMessageBox with a simple call to the Show method of the BitMessageBoxService. This service uses the BitProModalService or the BitModalService (whichever is available) to show the message box, preferring the BitProModalService when both are available.

Style & Class

<style>
    .custom-msg {
        background: linear-gradient(180deg, #3e0f0f, transparent) #000;
    }

    .custom-msg-btn {
        color: #fff;
        font-weight: bold;
        border-radius: 1rem;
        border-color: #8f0101;
        transition: background-color 1s;
        background: linear-gradient(90deg, #d10000, transparent) #8f0101;
    }

    .custom-msg-btn:hover {
        color: #fff;
        font-weight: bold;
        border-color: #8f0101;
        background-color: #8f0101;
    }
</style>

<BitCard Style="padding:0">
    <BitMessageBox Title="It's a title"
                    Body="It's a body."
                    Styles="@(new() { Root = "background: linear-gradient(180deg, #222444, transparent) #000", OkButton = new() { Root = "border-radius:1rem" } })" />
</BitCard>

<BitCard Style="padding:0">
    <BitMessageBox Title="It's a title"
                    Body="It's a body."
                    Classes="@(new() { Root = "custom-msg", OkButton = new() { Root = "custom-msg-btn" } })" />
</BitCard>
Customize the appearance of BitMessageBox using styles and CSS classes.

It's a title
It's a body.

It's a title
It's a body.

RTL

<BitCard Style="padding:0">
    <BitMessageBox Dir="BitDir.Rtl" Title="عنوان پیام" Body="متن تست پیام..." OkText="تایید" />
</BitCard>
Use BitMessageBox in right-to-left (RTL).


عنوان پیام
متن تست پیام...

API

BitMessageBox parameters

Name Type Default value Description
Body string? null The body of the message box.
Classes BitMessageBoxClassStyles? null Custom CSS classes for different parts of the message box.
OkText string? null The text of the Ok button.
OnClose EventCallback The event callback for closing the message box.
Styles BitMessageBoxClassStyles? null Custom CSS styles for different parts of the message box.
Title string? null The title of the message box.

BitComponentBase parameters

Name Type Default value Description
AriaLabel string? null Gets or sets the accessible label for the component, used by assistive technologies.
Class string? null Gets or sets the CSS class name(s) to apply to the rendered element.
Dir BitDir? null Gets or sets the text directionality for the component's content.
ForceAnimation bool false Gets or sets a value indicating whether the component's animations play at their full duration even when reduced motion is requested.
HtmlAttributes Dictionary<string, object> new Dictionary<string, object>() Captures additional HTML attributes to be applied to the rendered element, in addition to the component's parameters.
Id string? null Gets or sets the unique identifier for the component's root element.
IsEnabled bool true Gets or sets a value indicating whether the component is enabled and can respond to user interaction.
Style string? null Gets or sets the CSS style string to apply to the rendered element.
TabIndex string? null Gets or sets the tab order index for the component when navigating with the keyboard.
Visibility BitVisibility BitVisibility.Visible Gets or sets the visibility state (visible, hidden, or collapsed) of the component.

BitComponentBase public members

Name Type Default value Description
UniqueId Guid Guid.NewGuid() Gets the readonly unique identifier for the component's root element, assigned when the component instance is constructed.
RootElement ElementReference Gets the reference to the root HTML element associated with this component.

BitMessageBoxClassStyles properties

Name Type Default value Description
Root string? null Custom CSS classes/styles for the root element of the BitMessageBox.
Container string? null Custom CSS classes/styles for the container of the BitMessageBox.
Header string? null Custom CSS classes/styles for the header of the BitMessageBox.
Title string? null Custom CSS classes/styles for the title of the BitMessageBox.
Spacer string? null Custom CSS classes/styles for the BitSpacer of the BitMessageBox.
CloseButton BitButtonClassStyles? null Custom CSS classes/styles for the CloseButton of the BitMessageBox.
Body string? null Custom CSS classes/styles for the body of the BitMessageBox.
Footer string? null Custom CSS classes/styles for the footer of the BitMessageBox.
OkButton BitButtonClassStyles? null Custom CSS classes/styles for the OkButton of the BitMessageBox.

BitVisibility enum

Name Value Description
Visible 0 The content of the component is visible.
Hidden 1 The content of the component is hidden, but the space it takes on the page remains (visibility:hidden).
Collapsed 2 The component is hidden (display:none).

BitDir enum

Name Value Description
Ltr 0 Ltr (left to right) is to be used for languages that are written from the left to the right (like English).
Rtl 1 Rtl (right to left) is to be used for languages that are written from the right to the left (like Arabic).
Auto 2 Auto lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then applies that directionality to the whole element.

Feedback

You can give us your feedback through our GitHub repo by filing a new Issue or starting a new Discussion.


Or you can review / edit this page on GitHub.


Or you can review / edit this component on GitHub.