Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
d44f8dd
docs(appbar): overview and docs structure
svdimitr Nov 14, 2023
3972cf1
docs(appbar): position article
svdimitr Nov 14, 2023
a0b7a55
docs(appbar): sections article
svdimitr Nov 14, 2023
975f14f
docs(appbar): separators article
svdimitr Nov 14, 2023
428ce1a
docs(appbar): use the correct snippet in the separators article
svdimitr Nov 14, 2023
3d6b7c0
docs(appbar): appearance article
svdimitr Nov 14, 2023
5674812
docs(appbar): add the component to the config file
svdimitr Nov 14, 2023
b85db7c
Update components/appbar/overview.md
svdimitr Nov 14, 2023
6cfa8e4
docs(appbar): remove the position step from overview
svdimitr Nov 14, 2023
87ea70a
Update components/appbar/overview.md
svdimitr Nov 14, 2023
1d28322
Update components/appbar/overview.md
svdimitr Nov 14, 2023
589c32e
Update components/appbar/overview.md
svdimitr Nov 14, 2023
2761ea3
Update components/appbar/overview.md
svdimitr Nov 14, 2023
469c206
Update components/appbar/appearance.md
svdimitr Nov 14, 2023
c65e5a9
Update components/appbar/position.md
svdimitr Nov 14, 2023
3a3f772
Update components/appbar/position.md
svdimitr Nov 14, 2023
5ef1a9f
docs(appbar): link the API from AppBar parameters
svdimitr Nov 14, 2023
4139dbd
Update components/appbar/sections.md
svdimitr Nov 14, 2023
e180546
Update components/appbar/sections.md
svdimitr Nov 14, 2023
ae43599
Update components/appbar/sections.md
svdimitr Nov 14, 2023
feb61d7
docs(appbar): beautify the snippet in the overview article
svdimitr Nov 14, 2023
252a840
docs(appbar): move the class, width, and height to style table
svdimitr Nov 14, 2023
ceca370
docs(appbar): fix the next steps
svdimitr Nov 14, 2023
dc9ba4c
Update components/appbar/separators.md
svdimitr Nov 14, 2023
3b54fa4
Update components/appbar/separators.md
svdimitr Nov 14, 2023
693fbfb
Update components/appbar/separators.md
svdimitr Nov 14, 2023
99ff2ff
docs(appbar): use singular in both columns
svdimitr Nov 14, 2023
59b4027
docs(appbar): improve positions article
svdimitr Nov 14, 2023
e954cd5
docs(appbar): imrpove Spacer docs
svdimitr Nov 14, 2023
94232d9
Update components/appbar/overview.md
svdimitr Nov 14, 2023
4b10b5d
Update components/appbar/overview.md
svdimitr Nov 14, 2023
8da108a
Update components/appbar/separators.md
svdimitr Nov 14, 2023
012ec13
Update components/appbar/separators.md
svdimitr Nov 14, 2023
c3416cd
Update components/appbar/separators.md
svdimitr Nov 14, 2023
959a512
Update components/appbar/separators.md
svdimitr Nov 14, 2023
771ea7c
Update components/appbar/overview.md
svdimitr Nov 14, 2023
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,8 @@ navigation:
title: "Spreadsheet"
"*gauges/arc":
title: "Arc"
"*appbar":
title: "AppBar"
"*autocomplete":
title: "AutoComplete"
"*avatar":
Expand Down Expand Up @@ -603,6 +605,7 @@ intro_columns:
-
title: "Layout"
items:
"AppBar": "appbar-overview"
"Animation Container": "components/animationcontainer/overview"
"Card": "card-overview"
"Carousel": "carousel-overview"
Expand Down
86 changes: 86 additions & 0 deletions components/appbar/appearance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: Appearance
page_title: AppBar Appearance
description: Appearance settings of the AppBar for Blazor.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use detailed descriptions with a length of around 150 symbols. This is more like a placeholder.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not, do you have a suggestion for a better description? The feature itself is rather small

slug: appbar-appearance
tags: telerik,blazor,appbar,navbar,appearance
published: True
position: 35
---

# Appearance Settings

This article outlines the available AppBar parameters, which control its appearance.

## Size

You can change the color of the AppBar by setting the `ThemeColor` parameter to a member of the `Telerik.Blazor.ThemeConstants.AppBar.ThemeColor` class:

| Class members | Manual declarations |
|---------------|--------|
| `Base` | `base` |
| `Primary` | `primary`|
| `Secondary` | `secondary`|
| `Tertiary` | `tertiary`|
| `Info` | `info` |
| `Success` | `success`|
| `Warning` | `warning`|
| `Error` | `error` |
| `Dark` | `dark` |
| `Light` | `light` |
| `Inverse` | `inverse`|

>caption The built-in AppBar colors

````CSHTML
<TelerikDropDownList Data="@ThemeColors" @bind-Value="@SelectedColor" Width="150px"></TelerikDropDownList>

<TelerikAppBar ThemeColor="@SelectedColor">
<AppBarSection>
<span>Our Logo</span>
</AppBarSection>

<AppBarSpacer Size="25%"></AppBarSpacer>

<AppBarSection>
<span>Our Products</span>
</AppBarSection>

<AppBarSpacer Size="50px"></AppBarSpacer>

<AppBarSection>
<span>Our Mission</span>
</AppBarSection>

<AppBarSpacer></AppBarSpacer>

<AppBarSection>
<TelerikSvgIcon Icon="@SvgIcon.User"></TelerikSvgIcon>
</AppBarSection>

<AppBarSeparator></AppBarSeparator>

<AppBarSection>
<TelerikSvgIcon Icon="@SvgIcon.Logout"></TelerikSvgIcon>
</AppBarSection>
</TelerikAppBar>

@code {
private string SelectedColor { get; set; } = "base";

private List<string> ThemeColors { get; set; } = new List<string>()
{
"base",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better use the static constants, as we want to encourage customers to do the same.

"primary",
"secondary",
"tertiary",
"info",
"success",
"warning",
"error",
"dark",
"light",
"inverse"
};
}
````
132 changes: 132 additions & 0 deletions components/appbar/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
---
title: Overview
page_title: AppBar Overview
description: Overview of the AppBar component for Blazor.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is probably a placeholder that must be replaced with a more detailed description.

slug: appbar-overview
tags: telerik,blazor,appbar,navbar
published: True
position: 0
---

# Blazor AppBar Overview

The <a href = "https://www.telerik.com/blazor-ui/appbar" target="_blank">Blazor AppBar component</a> helps you build navigation bars for your application seemingly. This article explains the available features.

## Creating Blazor AppBar

1. Add the `<TelerikAppBar>` tag to a Razor file.
1. Use the `<AppBarSection>` child tag to add content to the AppBar component.
1. (optional) Use [spacers or separators](#content-dividers) to add visual distinction between the sections in the AppBar.
1. (optional) Set the [position](#positioning) of the AppBar.

>caption Basic configuration of the Telerik AppBar

````CSHTML
<TelerikAppBar>
<AppBarSection>
<span>Our Logo</span>
</AppBarSection>

<AppBarSpacer Size="25%"></AppBarSpacer>

<AppBarSection>
<span>Our Products</span>
</AppBarSection>

<AppBarSpacer Size="50px"></AppBarSpacer>

<AppBarSection>
<span>Our Mission</span>
</AppBarSection>

<AppBarSpacer Size="5vw"></AppBarSpacer>

<AppBarSection>
<span>Contact Us</span>
</AppBarSection>

<AppBarSpacer></AppBarSpacer>

<AppBarSection>
<TelerikSvgIcon Icon="@SvgIcon.User"></TelerikSvgIcon>
</AppBarSection>

<AppBarSeparator></AppBarSeparator>

<AppBarSection>
<TelerikSvgIcon Icon="@SvgIcon.Logout"></TelerikSvgIcon>
</AppBarSection>
</TelerikAppBar>
````

## AppBar Sections

Use the AppBar Sections to render arbitrary HTML content to match the UI and UX needs of your application. [Read more about the Blazor AppBar sections]({%slug appbar-section%}).

## Content Dividers

The AppBar features separators and spacers that can visually divide the component items. [Read more about the Blazor AppBar separators and spacers.]({%slug appbar-separators%}).

## Positioning

You can control the position of the AppBar and how the component behaves according to the flow of the page. [Read more about the Blazor AppBar positioning.]({%slug appbar-position%}).

## AppBar Parameters

The Blazor AppBar provides parameters to configure the component:

@[template](/_contentTemplates/common/parameters-table-styles.md#table-layout)

| Parameter | Type | Description |
| ----------- | ----------- | ----------- |
| `Class` | `string` | The CSS class to be rendered on the main wrapping element of the AppBar component, which is `<div class="k-appbar">`. Use for [styling customizations]({%slug themes-override%}). |
| `Height` | `string` | The height of the AppBar. |
| `Position` | `AppBarPosition` <br /> (`None`) | The position of the AppBar on the page. [Read more about AppBar positioning.]({%slug appbar-position%}) |
| `PositionMode` | `AppBarPosition` <br /> (`Static`) | Sets how the AppBar is positioned according to the flow of the document. [Read more about AppBar positioning.]({%slug appbar-position%}) |
| `Width` | `string` | The width of the AppBar |

### Styling and Appearance

The following parameters enable you to customize the appearance of the Blazor AppBar:

| Parameter | Type | Description |
| --- | --- | --- |
| `ThemeColor` | `Telerik.Blazor.ThemeConstants.AppBar.ThemeColor` | Adjust the color of the AppBar |

You can find more information for customizing the AppBar appearance in the [Appearance article]({%slug appbar-appearance%}).

## AppBar Reference and Methods

To execute AppBar methods, obtain reference to the component instance via `@ref`.

| Method | Description |
|---------|-------------|
| `Refresh` | Use the method to programmatically re-render the AppBar. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When will this be necessary?


<div class="skip-repl"></div>

````CSHTML
<TelerikButton OnClick="@RefreshAppBar">Refresh AppBar</TelerikButton>

<TelerikAppBar @ref="AppBarRef" />

@code {
private TelerikAppBar AppBarRef { get; set; }

private void RefreshAppBar()
{
AppBarRef.Refresh();
}
}
````

## Next Steps

* [Explore the AppBar Sections]({%slug appbar-sections%})
* [Use the AppBar Content]({%slug appbar-separators%})
* [Customize the AppBar positioning options]({%slug appbar-position%})

## See Also

* [Live AppBar Demos](https://demos.telerik.com/blazor-ui/appbar/overview)
* [AppBar API Reference](/blazor-ui/api/Telerik.Blazor.Components.TelerikAppBar)
41 changes: 41 additions & 0 deletions components/appbar/position.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: Position
page_title: AppBar Position
description: Position settings of the AppBar for Blazor.
slug: appbar-position
tags: telerik,blazor,appbar,navbar,position
published: True
position: 35
---

# Position Settings

This article outlines the available AppBar parameters, which control its position.

>note Read the [CSS positioning MDN documentation article](https://developer.mozilla.org/en-US/docs/Web/CSS/position) to get a better understanding of how the AppBar component positioning work.

## Position

The `Position` parameter accepts a member of the `AppBarPosition` enum and sets the `top` and `bottom` CSS properties:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not realistic to expect everyone to go read the CSS article, or to understand it. Better explain in simple terms what each position configuration will achieve. You can still leave the CSS details for the CSS nerds.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have, I think, the Position only manipulates the top and bottom CSS properties. The PositionMode manipulates the position CSS property, but I have added some short explanations.

Copy link
Contributor

@dimodi dimodi Nov 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My idea is to explain the resulting behavior and not just the technical HTML/CSS output of the component. For example - "the component will display at the top of the viewport and not move during page scrolling". Something like that.


| Enum members | Description |
|---------------|--------|
| `None` <br /> default value | Does not set any values for the `top` and `bottom` CSS properties. |
| `Top` | Sets the `top: 0` and `bottom: auto` CSS properties. |
| `Bottom` | Sets the `top: auto` and `bottom: 0` CSS properties. |

>info The `Position` parameter takes effect when used with fixed [PositionMode](#positionmode).

## PositionMode

The `PositionMode` parameter accepts a member of the `AppBarPositionMode` enum and sets how the AppBar is positioned according to the [flow of the document](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Normal_Flow):

| Enum members | Description |
|---------------|--------|
| `Static` <br /> default value | The AppBar is positioned according to the normal flow of the document. |
| `Fixed` | The AppBar is removed from the normal document flow, and no space is created for the element in the page layout. The component is positioned relatively to the viewport of the application. |
| `Sticky` | The AppBar is positioned according to the normal flow of the document, and then offset relative to its nearest scrolling ancestor |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In more simple terms - the AppBar will appear where it is declared, then scroll with the other page content, and then remain at the top of the viewport instead of disappearing.

Also, sticky mode makes sense only with Top position, so that customers don't waste time experimenting with an invalid setup.


## See Also
Copy link
Contributor

@dimodi dimodi Nov 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the most logical next step(s) before See Also. It's good for SEO too.


* [Live Demo: AppBar Position](https://demos.telerik.com/blazor-ui/appbar/position)
59 changes: 59 additions & 0 deletions components/appbar/sections.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
title: Sections
page_title: AppBar - Sections
description: Add Content in the AppBar Component
slug: appbar-sections
tags: telerik,blazor,appbar,sections,section,content
published: True
position: 1
---

# Sections

The `<AppBarSection>` is a template-based component that allows you to render arbitrary HTML content in the AppBar component.

>note Render content only inside the `<AppBarSection>` tag, otherwise it will render outside the AppBar component.

## AppBar Section Parameters

The nested `AppBarSection` tag exposes parameters:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The nested `AppBarSection` tag exposes parameters:
The nested `AppBarSection` tag exposes the following parameters:

| Parameter | Type and Default Value | Description |
| ----------- | ----------- | ----------- |
| `Class` | `string` | The CSS class that will be rendered on the main wrapping element of the AppBar section. You could use that class to cascade styles. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `Class` | `string` | The CSS class that will be rendered on the main wrapping element of the AppBar section. You could use that class to cascade styles. |
| `Class` | `string` | The CSS class that will be rendered on the main wrapping element of the AppBar section. Use that class to cascade styles. |
| `Visible` | `bool` <br /> `true` | Specifies if the section will be visible in the AppBar. |

>caption The Telerik AppBar sections with its parameter

````CSHTML
@* The AppBar sections with its parameters *@

<style>
.products-section-class {
font-weight: bolder;
}
</style>

<TelerikButton OnClick="@(() => isSectionVisible = !isSectionVisible)">Toggle the visibility of the Our Mission section</TelerikButton>

<br />

<TelerikAppBar>
<AppBarSection Class="products-section-class">
<span>Our Products</span>
</AppBarSection>

<AppBarSection Visible="@isSectionVisible">
<span>Our Mission</span>
</AppBarSection>
</TelerikAppBar>

@code{
private bool isSectionVisible { get; set; } = true;
}
````

## See Also

* [Live Demo: AppBar Overview](https://demos.telerik.com/blazor-ui/appbar/overview)
* [AppBar Overview]({%slug appbar-overview%})
Loading