# TextShimmer **Also known as:** Skeleton, Loading, AI ## Description BitTextShimmer is an animated text shimmer in which a bright gradient band sweeps across the text, ideal for AI thinking/loading states or progressive reveals. The effect is implemented in pure CSS (no JavaScript interop), so it works in every Blazor render mode, including static server-side rendering. ## Parameters | Name | Type | Default Value | Description | | :--- | :--- | :------------ | :---------- | | BaseColor | `string?` | null | The resting/dim color of the text. When null, a theme-aware default color is used. | | ChildContent | `RenderFragment?` | null | The content to shimmer, which takes precedence over the Text parameter. | | ContentLength | `int` | 10 | The character count used to scale the shimmer band width when the content is supplied using ChildContent. | | Duration | `int?` | null | The animation duration of one full shimmer sweep in ms. | | Element | `string?` | null | The custom html element used for the root node. | | ForceAnimation | `bool` | false | Keeps the shimmer animating even if the user has requested reduced motion (prefers-reduced-motion). | | GradientColor | `string?` | null | The bright highlight color that sweeps across the text. When null, a theme-aware default color is used. | | Spread | `double` | 2 | The shimmer band width multiplier. The effective band width (px) is Spread times the character count, so longer text gets a proportionally wider shine. | | Text | `string?` | null | The text to display, that is also used to scale the shimmer band width based on its character count. | | 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. | | 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. | ## 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. | ## Enums ### 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. | ## Examples
\n**Basic**: ```razor ``` \n**Element**: ```razor
An in the middle of a sentence.
``` \n**Duration & Spread**: ```razor ``` \n**Color**: ```razor ``` \n**Content**: ```razor Thinking really hard about it... ``` \n**Style & Class**: ```razor ``` \n**RTL**: ```razor
```