Accent color
# AppShell
## Description
BitAppShell is an advanced container to handle the nuances of a cross-platform layout.
## Parameters
| Name | Type | Default Value | Description |
| :--- | :--- | :------------ | :---------- |
| AutoGoToTop | `bool` | false | Enables auto-scroll to the top of the main container on navigation. |
| ChildContent | `RenderFragment?` | null | The content of the app shell. |
| Classes | `BitAppShellClassStyles?` | null | Custom CSS classes for different parts of the app shell. |
| Styles | `BitAppShellClassStyles?` | null | Custom CSS styles for different parts of the app shell. |
| ValueList | `BitCascadingValueList?` | null | The cascading value list to be provided for the children of the app shell. |
| Values | `IEnumerable<BitCascadingValue>?` | null | The cascading values to be provided for the children of the app shell. |
| 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. |
## Public Members
| Name | Type | Default Value | Description |
| :--- | :--- | :------------ | :---------- |
| GoToTop | `Func<BitScrollBehavior, Task>` | | Scrolls the main container to top. |
| 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
### BitScrollBehavior Enum
| Name | Value | Description |
| :--- | :--- | :---------- |
| Smooth | 0 | Scrolling should animate smoothly. |
| Instant | 1 | Scrolling should happen instantly in a single jump. |
| Auto | 2 | Scroll behavior is determined by the computed value of scroll-behavior. |
### 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. |
## Sub Classes
### BitCascadingValueList Properties
A helper class to ease the using of a list of the BitCascadingValue.
| Name | Type | Default Value | Description |
| :--- | :--- | :------------ | :---------- |
| Add<T>(T value, string? name = null, bool isFixed = false) | `void` | | Adds a typed BitCascadingValue to the list. |
### BitCascadingValue Properties
The cascading value to be provided using the BitCascadingValueProvider component.
| Name | Type | Default Value | Description |
| :--- | :--- | :------------ | :---------- |
| Name | `string?` | null | The optional name of the cascading value. |
| Value | `object?` | null | The value to be provided. |
| IsFixed | `bool` | null | If true, indicates that Value will not change. |
### BitAppShellClassStyles Properties
| Name | Type | Default Value | Description |
| :--- | :--- | :------------ | :---------- |
| Root | `string?` | null | Custom CSS classes/styles for the root of the BitAppShell. |
| Top | `string?` | null | Custom CSS classes/styles for the top area of the BitAppShell. |
| Center | `string?` | null | Custom CSS classes/styles for the top center of the BitAppShell. |
| Left | `string?` | null | Custom CSS classes/styles for the top left of the BitAppShell. |
| Main | `string?` | null | Custom CSS classes/styles for the main area of the BitAppShell. |
| Right | `string?` | null | Custom CSS classes/styles for the right area of the BitAppShell. |
| Bottom | `string?` | null | Custom CSS classes/styles for the bottom area of the BitAppShell. |
## Examples
\n**Basic**: