Namespace Material.Blazor
Classes
MBAnchor
An anchor component for snackbars, toasts and tooltips to be placed in App.razor, MainLayout.razor or Index.razor.
MBAnimatedNavigation
This component works with IMBAnimatedNavigationManager to navigate your page navigation. Place this component around your app's entire @Body render fragment (potentially in MainLayout.razor), but not surrounding your app bars and navigation menus - you don't want those to fade in and out when your user navigates from one page to another.
MBAnimatedNavigationManagerServiceConfiguration
Configuration for IMBAnimatedNavigationManager.
MBAutocompleteTextField
An autocomplete built using an MBTextField with the anchor and drop down list implementation from a Material Theme select.
MBBatchingWrapper
This is a utility component that controls when batched JS interop calls are executed. Normally, batched JS interop calls are executed using a timer in regular intervals. In some cases, it can be an advantage to flush the batch earlier, which can be controlled with this component.
Whenever this component re-renders, the batch is flushed, hence all JS interop calls which were queued up in any child component will be executed at this point.
MBBladeComponent<TParam>
A component added to a blade via AddBladeAsync<TComponent, TParameters>(String, TParameters, String, String, Action<String>) must implement this interface.
MBBladeComponentParameters
Parameters passed to a new blade via AddBladeAsync<TComponent, TParameters>(String, TParameters, String, String, Action<String>) must take one parameter of a class implementing this interface. That class then holds all the parameters required for the component.
MBBladeSet
A blade display component. Adds blades to the right hand side of the viewport (or bock where this component is located), with blades displayed left to right in ascending order of when they were requested (newest blades to the right).
MBButton
This is a general purpose Material Theme button, with provision for standard MB styling, leading and trailing icons and all standard Blazor events. Adds the "mdc-card__action--button" class when placed inside an MBCard.
MBCard
A Material Theme card with three elements: primary, primary action buttons and action icons.
MBCascadingDefaults
A class to be used as a cascading value setting defaults for your application.
MBCheckbox
This is a general purpose Material Theme check box accepting a boolean as a bound value. This check box does not implement indeteriminate state.
MBChipsSelectMulti<TItem>
A Material Theme segmented button orientated as a multi-select.
MBChipsSelectSingle<TItem>
A Material Theme segmented button orientated as a single-select.
MBCircularProgress
This is a general purpose Material Theme circular progress bar. Can be determinant or indeterminant. If determinant the value needs to be between 0 and 1.
MBConfirmationDialog
A confirmation dialog requiring the user to type in either a generated six digit sequence or a string provided in ConfirmationPhrase. The consumer can elect to use standard "OK" and "Cancel" buttons by leaving UnconfirmedButtons and ConfirmedButtons null, in which case the "OK" button gives the dialog an action result of ConfirmActionResult, or CancelActionResult for the "Cancel" button.
Alternatively the consumer can supply render fragments with buttons to UnconfirmedButtons and ConfirmedButtons. The former is rendered until the correct confirmaton text is entered into the text box at which point it is replaced with the latter. Typically these are identical save that one or more of the repeated buttons in UnconfirmedButtons is disabled, but not in ConfirmedButtons. This components throws an ArgumentException if one of these render fragments is set while the other is not.
MBDataTable<TItem>
This is a general purpose Material Theme data table.
MBDatePicker
A date picker styled to match the Material Theme date picker specification, using a modfied Material Theme select input as also applied in MBSelect<TItem>.
MBDebouncedTextField
A Material Theme debounced text field.
MBDialog
This is a general purpose Material Theme dialog.
MBDivider
A Material Theme divider.
MBDrawer
This is a general purpose Material Theme drawer.
MBFloatingActionButton
This is a Material Theme FAB or floating action button, with regular, mini or extended variants, application of the "mdc-fab--exited" animated class and the choice of leading or trailing icons for the extended variant.
MBGrid_DataHelper<TRowData>
MBGrid<TRowData>
A Material Theme grid capable of displaying icons, colored text, and text.
N.B.: At this time the grid is in preview. Expect the API to change.
MBGridColumnConfiguration<TRowData>
MBGridIconSpecification
MBGridTextColorSpecification
MBIcon
Renders icons from any of the Material Icons, Font Awesome and Open Iconic foundries. Material Icons are essential for Material.Blazor and are included by the library's CSS, while you can elect whether to include Font Awesome and Open Iconic in your app.
MBIconBearingSelectElement<T>
A list item used by MBSegmentedButtonMulti<TItem>
MBIconButton
This is a general purpose Material Theme icon button, with provision for standard MB styling, leading and trailing icons and all standard Blazor events. Adds the "mdc-card__action--icon" class when placed inside an MBCard.
MBIconButtonToggle
This is a general purpose Material Theme icon button toggle, with provision for standard MB styling, leading and trailing icons and all standard Blazor events. Adds the "mdc-card__action--icon" class when placed inside an MBCard.
MBIconHelper
A helper class for defining which foundry to use for an icon.
MBLinearProgress
This is a general purpose Material Theme linear progress bar. Can be determinant or indeterminant. If determinant the value needs to be between 0 and 1.
MBList<TItem>
This is a general purpose Material Theme list implementing one and two line MB web component standards. It also implements a Material.Blazor interpretation of the specification for a three line list item.
MBListDivider
A Material Theme list divider
MBListItem
This is a general purpose Material Theme list item.
MBLoggingServiceConfiguration
Configuration for IMBLoggingService.
MBMenu
This is a general purpose Material Theme menu.
MBMenuSelectionGroup
A Material Theme menu selection group.
MBMenuSurface
This is a general purpose Material Theme menu.
MBNumericDecimalField
A Material Theme numeric input field. This wraps MBTextField and normally displays the numeric value as formatted text, but switches to a pure number on being selected.
MBNumericDoubleField
An double variant of MBNumericDecimalField.
MBNumericIntField
An integer variant of MBNumericDecimalField.
MBPagedDataList<TItem>
A paged data list using the "wig pig" construct allowing the consumer to free render the relevant paged data.
MBPaginator
MBRadioButton<TItem>
This is a general purpose Material Theme radio button. Accepts a generic class TItem and displays as checked if Value equals TargetCheckedValue.
MBRadioButtonGroup<TItem>
A group of MBRadioButton<TItem>s displayed horizontally or vertically.
MBSegmentedButtonMulti<TItem>
A Material Theme segmented button orientated as a multi-select.
MBSegmentedButtonSingle<TItem>
A Material Theme segmented button orientated as a single-select.
MBSelect<TItem>
A Material Theme select.
MBSelectElement<T>
A list item used by MBSelect<TItem>, MBRadioButtonGroup<TItem> and MBPagedDataList<TItem>
MBShield
A shield similar to those from shield.io and used in GitHub. Implemented with HTML rather than SVG.
MBSlider
A Material Theme single-thumb slider.
MBSlidingContent<TItem>
A Plus component that take a set of renderfragments in a list and transitions from one to another with slight sideways motion and fade, or "sliding". Only renders the currently displayed item.
MBSlidingTabBar<TItem>
An MBTabBar<TItem> with a MBSlidingContent<TItem> immediately beneath showing tabbed content.
MBSnackbarServiceConfiguration
Configuration for IMBSnackbarService.
MBSnackbarSettings
Settings for an individual snackbar notification determining all aspects controlling it's markup and behaviour. All parameters are optional with defaults defined in the MBSnackbarServiceConfiguration that you define when creating the snackbar service.
MBSwitch
This is a general purpose Material Theme switch.
MBTabBar<TItem>
This is a general purpose Material Theme tab bar.
MBTextArea
A Material Theme text field.
MBTextField
A Material Theme text field.
MBToastServiceConfiguration
Configuration for IMBToastService.
MBToastSettings
Settings for an individual toast notification determining all aspects controlling it's markup and behaviour. All parameters are optional with defaults defined in the MBToastServiceConfiguration that you define when creating the toast service.
MBTooltip
MBTopAppBar
A Material Theme top app bar
MBTouchTargetWrapper
Optionally applies a <div> element with class 'mdc-touch-target-wrapper' around the child content.
MBVersion
ServiceCollectionExtensions
Structs
HashCode
A hash code used to help with implementing GetHashCode().
This code is from the blog post at https://rehansaeed.com/gethashcode-made-easy/
Interfaces
IMBAnimatedNavigationManager
Interface for the animated navigation service. Animated navigations augment Blazor's NavigationManager with minor animation.
First the current page fades out for 40% of the animation period, followed by a call to NavigationManager.NavigateTo(string, bool) before the new page fades in for the remaining 60% of the animation period. The default animation period is 500ms (but seems faster due to the end of the fade in being imperceptible), and animation is disapplied by default.
Throws a InvalidOperationException if NavigateTo(String, Boolean) is called without a MBAnimatedNavigation component used in the app.
You can optionally add configuration when you add this to the service collection:
services.AddMBAnimatedNavigationService(new MBAnimatedNaviationManagerConfiguration()
{
ApplyAnimation = true,
AnimationTime = 300
});
IMBIcon
Interface providing markup elements for an icon in a given foundry.
IMBIconFoundry
An interface for supplying icon foundry information to components.
IMBLoggingService
IMBSnackbarService
Interface for the Material.Blazor snackbar service, developed from the code base of Blazored Snackbar by Chris Sainty. Works in conjunction with a MBAnchor that must be placed in either App.razor or MainLayout.razor to avoid an exception being thrown when you first attempt to show a snackbar notification.
Throws a InvalidOperationException if ShowSnackbar(String, Action, String, String, Nullable<MBNotifierCloseMethod>, Boolean, Boolean, Nullable<Int32>, Boolean) is called without an MBAnchor component used in the app.
You can optionally add configuration when you add this to the service collection:
services.AddMBServices(snackbarServiceConfiguration: new MBSnackbarServiceConfiguration()
{
Timeout = 4000,
CloseMethod = MBSnackbarCloseMethod.Timeout,
... etc
});
IMBToastService
Interface for the Material.Blazor toast service, developed from the code base of Blazored Toast by Chris Sainty. Works in conjunction with a MBAnchor that must be placed in either App.razor or MainLayout.razor to avoid an exception being thrown when you first attempt to show a toast notification.
Throws a InvalidOperationException if ShowToast(MBToastLevel, String, String, Nullable<MBNotifierCloseMethod>, String, String, IMBIconFoundry, Nullable<Boolean>, Nullable<UInt32>, Boolean) is called without an MBAnchor component used in the app.
You can optionally add configuration when you add this to the service collection:
services.AddMBServices(toastServiceConfiguration: new MBToastServiceConfiguration()
{
Postion = MBToastPosition.TopRight,
CloseMethod = MBToastCloseMethod.Timeout,
... etc
});
IMBTooltipService
Interface for the Material.Blazor tooltip service, developed from the code base of Blazored Toast by Chris Sainty. Works in conjunction with a MBAnchor that must be placed in either App.razor or MainLayout.razor to avoid an exception being thrown when you first attempt to show a tooltip notification.
Throws a InvalidOperationException if AddTooltip(Int64, RenderFragment) is called without an MBAnchor component used in the app.
Enums
Direction
MB_Grid_ColumnType
MB_Grid_Measurement
MBButtonStyle
Style for an MBButton per Material Theme styling.
MBCascadingDefaults has a default of Text
MBCardStyle
Style for an MBCard per Material Theme styling.
MBCascadingDefaults has a default of Default
MBCircularProgressSize
Size for an MBCircularProgress.
MBCircularProgressType
Type for an MBCircularProgress.
MBDateSelectionCriteria
Determines the allowed selections in MBDatePicker
MBCascadingDefaults has a default of AllowAll
MBDensity
Determines the density of a component
Defaults to Default
MBFloatingActionButtonType
Type for an MBFloatingActionButton.
MBIconFARelativeSize
Sets the Font Awesome relative size.
See FAFoundry(Nullable<MBIconFAStyle>, Nullable<MBIconFARelativeSize>), Material.Blazor.Internal.IconFA and Material.Blazor.IconFoundryFA
MBCascadingDefaults has a default of Regular
MBIconFAStyle
Sets the Font Awesome style.
See FAFoundry(Nullable<MBIconFAStyle>, Nullable<MBIconFARelativeSize>), Material.Blazor.Internal.IconFA and Material.Blazor.IconFoundryFA
MBCascadingDefaults has a default of Solid (all other styles except Brands require a paid-for Font Awesome PRO licence)
MBIconFoundryName
Specifies whether to use Material Icons from Google or Font Awesome Icons.
See MBIconHelper
MBCascadingDefaults has a default of MaterialIcons
MBIconMITheme
Sets the Google Material Icons theme.
See MIFoundry(Nullable<MBIconMITheme>), Material.Blazor.IconMI and Material.Blazor.IconFoundryMI
MBCascadingDefaults has a default of Filled
MBInputEventType
Determines how an MBSlider responds to user events.
MBItemValidation
A helper to determine how a MBSelect<TItem> or MBRadioButtonGroup<TItem> should handle an intial bound value not matching elements in the value list.
MBCascadingDefaults has a default of Exception
MBLinearProgressType
Type for an MBLinearProgress.
MBListStyle
Style for an MBList<TItem>. The Outlined variety borrows card markup matching Outlined.
MBCascadingDefaults has a default of None
MBListType
Type for an MBList<TItem>.
MBCascadingDefaults has a default of Regular
MBLoggingLevel
Type for the level of logging performed by M.B They follow the Microsoft.Logging.LogLevel definition
MBMenuSurfacePositioning
Determines the positioning and width of a menu surface.
MBNotifierCloseMethod
Determines whether a snackbar or a toast notfication times out and whether it has a dismiss button.
Defaults to TimeoutAndDismissButton
MBNumericInputMagnitude
A helper to determine the magnitude adjustment when displaying or editing values using numeric input fields.
MBSelectInputStyle
Material Theme select input style applied to MBSelect<TItem>.
Applied also to MBDatePicker
MBCascadingDefaults has a default of Filled
MBShieldType
Determines whether a MBShield displays the label (left hand element), value (right hand element) or both.
Defaults to LabelAndValue
MBSliderType
Determines the type of an MBSlider.
MBTextAlignStyle
A helper to set the alignment of text in MBTextField, MBTextArea and MBSelect<TItem>.
Applied also to MBAutocompleteTextField, MBDebouncedTextField, MBNumericDoubleField and MBNumericIntField
MBCascadingDefaults has a default of Default
MBTextInputStyle
Material Theme text field and text area input style applied to MBTextField and MBTextArea.
Applied also to MBAutocompleteTextField, MBDebouncedTextField, MBNumericDoubleField and MBNumericIntField
MBCascadingDefaults has a default of Filled
MBToastLevel
Determines the type of a toast notfication. This is a required toast parameter without defaults.
MBToastPosition
Determines where toasts are positioned.
Defaults to BottomRight
MBTooltipType
Determines the density of a component
Defaults to Span
MBTopAppBarType
Material Theme top app bar type applied to an MBTopAppBar.
Delegates
IMBIcon.IconFragment
A delegate that applies user-defined class, style, and other attributes to the icon.