Close
Angular React Web Components Blazor Blazor
Open Source

Blazor Rating Overview

The Ignite UI for Blazor Rating component allows users to view and provide feedback.

Before using the IgbRating, you need to register it as follows:

// in Program.cs file

builder.Services.AddIgniteUIBlazor(typeof(IgbRatingModule));

You will also need to link an additional CSS file to apply the styling to the IgbRating component. The following needs to be placed in the wwwroot/index.html file in a Blazor Web Assembly project or the Pages/_Host.cshtml file in a Blazor Server project:

<link href="_content/IgniteUI.Blazor/themes/light/bootstrap.css" rel="stylesheet" />

The simplest way to start using the IgbRating is as follows:

<IgbRating></IgbRating>

This will create a five-star rating component that can be used to input and read data from.

Using Custom Symbols

The IgbRating component allows you to use custom symbols in place of the default star symbols. If you want to use a different symbol, like SVG, icon or another unicode symbol, you should place IgbRatingSymbol components between the opening and closing brackets of the IgbRating:

<IgbRating>
  <IgbRatingSymbol> <span>💙</span> <span slot="empty">💙</span> </IgbRatingSymbol>
  <IgbRatingSymbol> <span>💙</span> <span slot="empty">💙</span> </IgbRatingSymbol>
  <IgbRatingSymbol> <span>💙</span> <span slot="empty">💙</span> </IgbRatingSymbol>
  <IgbRatingSymbol> <span>💙</span> <span slot="empty">💙</span> </IgbRatingSymbol>
  <IgbRatingSymbol> <span>💙</span> <span slot="empty">💙</span> </IgbRatingSymbol>
</IgbRating>

The number of rating symbols between the opening and closing brackets of the rating component determines the max value.

Single Selection

The Ignite UI for Blazor Rating component has a single selection mode that allows users to provide different icons/elements for the different rating values. In this case, only one of the icons/elements can be selected and reflect the feedback given by the user.

<IgbRating>
  <IgbRatingSymbol> <span>😣</span> <span slot="empty">😣</span> </IgbRatingSymbol>
  <IgbRatingSymbol> <span>😣</span> <span slot="empty">😣</span> </IgbRatingSymbol>
  <IgbRatingSymbol> <span>😣</span> <span slot="empty">😣</span> </IgbRatingSymbol>
  <IgbRatingSymbol> <span>😣</span> <span slot="empty">😣</span> </IgbRatingSymbol>
  <IgbRatingSymbol> <span>😣</span> <span slot="empty">😣</span> </IgbRatingSymbol>
</IgbRating>

Keep in mind that the step attribute doesn’t work with single selection mode.

Empty & Selected

The Ignite UI for Blazor Rating component allows users to use different icons or elements for the ‘selected’ and ‘empty’ states of each rating symbol. It is mandatory to provide two icons for each symbol, even if they are the same. One is used for the ‘selected’ state, which is defined by not specifying any slot, and the other is used for the ‘empty’ state, which you can define using the empty slot. For instance:

<IgbRatingSymbol>
  <IgbIcon Collection="material" IconName="bandage"></IgbIcon>
  <IgbIcon Collection="material" IconName="bacteria" slot="empty"></IgbIcon>
</IgbRatingSymbol>

As shown above, the best practice is to use icons for the rating symbols. We recommend using an igc-icon component for the ‘empty’ and ‘selected’ icons. However, if you prefer to use symbols or emojis instead of icons, we recommend using a <span> element for them, like so:

<IgbRating>
  <IgbRatingSymbol>
    <span>😣</span>
    <span slot="empty">😣</span>
  </IgbRatingSymbol>
  <IgbRatingSymbol>
    <span>😔</span>
    <span slot="empty">😔</span>
  </IgbRatingSymbol>
  ...
</IgbRating>

Configuration

Single

Turns on the Single visual mode for the rating. Useful when using symbols that communicate unique values, like feedback emoji faces.

Value

The Value attribute sets the current value of the component.

Label

The Label attribute allows setting the label value of the rating component.

Value Format

A format string which sets aria-valuetext. All instances of it will be replaced with the current value of the control. Important for screen-readers and useful for localization.

Max Value

The Max attribute sets the maximum allowed value of the rating component.

Step

The Step attribute sets the allowed fraction of steps between two symbols. Useful when splitting the rating symbols in halves.

Hover Preview

The HoverPreview attribute makes the component show the possible outcome of user selection on hover. It is useful when you want to give instant feedback about what the selected value could be.

Read-Only

The ReadOnly attribute allows the users to set the IgbRating in read-only mode. This attribute is useful when you want to use the component for information purposes only.

Disabled

The Disabled attribute disables the component, making it impossible to select a value using the mouse or keyboard.

Methods

Step Up

The StepUp method increments the value of the component by n steps. Determined by the step factor.

Step Down

The StepDown method decrements the value of the component by n steps. Determined by the step factor.

Events

The IgbRating component emits two separate events - Hover and Change.

Hover Event

The Hover event is fired when hovering over a symbol. It provides the value of the symbol under the mouse cursor. Useful for creating custom value labels and readouts.

Change Event

The Change event is fired when the selected value changes.

Styling

The IgbRating component exposes CSS parts for almost all of its inner elements. The following table lists all of the exposed CSS parts:

NameDescription
baseThe main wrapper which holds all of the rating elements.
labelThe label part.
value-labelThe value label part.
symbolsA wrapper for all rating symbols.
symbolThe part of the encapsulated default symbol.
fullThe part of the encapsulated full symbols.
emptyThe part of the encapsulated empty symbols.
igc-rating::part(full) {
  color: var(--ig-primary-500)
}

igc-rating::part(empty) {
  color: var(--ig-secondary-200);
}

API References

Additional Resources