Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: ApiDocsGenerator for API documentation from XML comments #5846

Merged
merged 87 commits into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from 56 commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
efbb71b
ApiDocsGenerator
tesar-tech Nov 14, 2024
ed724e1
Adding simple logger that emits logs into cs file.
tesar-tech Nov 16, 2024
8e4a909
Handles default values.
tesar-tech Nov 16, 2024
4a0b5b1
adds README.md
tesar-tech Nov 16, 2024
25d21ac
Enum values are part of the comment.
tesar-tech Nov 16, 2024
d60850c
Handling multiple components in one docs page
tesar-tech Nov 16, 2024
4dda3d6
small edits
tesar-tech Nov 18, 2024
2bfb0cb
Parametrize the Name -> column in table for API
tesar-tech Nov 19, 2024
28b2466
Methods for APIdocs done!
tesar-tech Nov 19, 2024
0bc4e91
Styling adjustments
stsrki Nov 20, 2024
c4bcaa4
Fix docs api structure
stsrki Nov 20, 2024
4ae8b2f
Use shared generator settings
stsrki Nov 20, 2024
9f1e796
Move apidocs dtos to own project.
tesar-tech Nov 20, 2024
d8b0421
Merge remote-tracking branch 'origin/sup/rel-1.7/xml-comments-autogen…
tesar-tech Nov 20, 2024
9574588
Adds typeName for components (mainly bcs of generics).
tesar-tech Nov 20, 2024
58113e6
Generator also includes generic types (e.g. BaseTextInput<TValue>)
tesar-tech Nov 20, 2024
6892987
Properties and method from inheritance chain. Making it work with ext…
tesar-tech Nov 22, 2024
0b19fc6
inheritdocs, "should only be used internally"
tesar-tech Nov 24, 2024
09ec166
Merge branch 'rel-1.7' into sup/rel-1.7/xml-comments-autogen
stsrki Nov 25, 2024
b7d8d5d
Add ApiDocsDtos to solution
stsrki Nov 25, 2024
edfba60
Don't show empty parameters
stsrki Nov 25, 2024
842ba24
checked some of the docs pages
tesar-tech Nov 25, 2024
4f4fbef
prepare to be checked
tesar-tech Nov 25, 2024
792873a
xml comment improvements
tesar-tech Nov 25, 2024
61c5cf3
Update apidocsGenerator with Remarks and `<c>` support
tesar-tech Nov 25, 2024
5d7a49a
Formating
stsrki Nov 26, 2024
18561fb
Improve BaseComponent comments
stsrki Nov 26, 2024
85a51a9
markup string on remarks
tesar-tech Nov 26, 2024
4bd7901
Merge remote-tracking branch 'origin/sup/rel-1.7/xml-comments-autogen…
tesar-tech Nov 26, 2024
1f65bcf
Better Should only be used internally message
stsrki Nov 26, 2024
0edd84c
Merge branch 'sup/rel-1.7/xml-comments-autogen' of https://github.com…
stsrki Nov 26, 2024
6e053a1
Improve Field comments
stsrki Nov 26, 2024
287cbae
Adds Events to the apidocs.
tesar-tech Nov 26, 2024
e12d8f1
Replaces base component type name inside description or remarks with …
tesar-tech Nov 26, 2024
dc1fdb3
Rename "description" to "summary".
tesar-tech Nov 26, 2024
49d4325
removes dead code
tesar-tech Nov 26, 2024
4d7161e
typo fix
stsrki Nov 27, 2024
4d89dc2
support for <seealso (links in xml comments), fixes generic param in …
tesar-tech Nov 27, 2024
4db34fd
(D-V) new api docs on several components
tesar-tech Nov 27, 2024
775bf0b
BreadcrumbItem comment
stsrki Nov 28, 2024
0735478
format
stsrki Nov 28, 2024
2231d38
see instead of seealso
stsrki Nov 28, 2024
4b733ca
Render content of see tag.
stsrki Nov 28, 2024
4d1e4ad
cleanups
tesar-tech Nov 28, 2024
a5a402c
removes redundant type (on enums and enum like types)
tesar-tech Nov 28, 2024
4ea62c6
Blazorise constants with numeric values. Fix for enums from different…
tesar-tech Nov 28, 2024
316c6ee
Dont include DocsApiSourceGenerator to nuget
tesar-tech Nov 29, 2024
6f194c8
include fody. Blazorise dll cleanup works
tesar-tech Nov 29, 2024
489cbcb
ApiDocsGenerator and Dtos to existing Generators and Features projects;
tesar-tech Nov 30, 2024
17492fa
namespaces refactoring, small improvements
tesar-tech Nov 30, 2024
6383432
fixing for linux
tesar-tech Nov 30, 2024
16b65c0
Format csproj files
stsrki Dec 2, 2024
1216530
format md files
stsrki Dec 2, 2024
a074bce
Readme update
tesar-tech Dec 2, 2024
a561370
Merge remote-tracking branch 'origin/sup/rel-1.7/xml-comments-autogen…
tesar-tech Dec 2, 2024
16cc6b2
remove IsPack, includes EnableApiDocsGenerator.
tesar-tech Dec 2, 2024
ce2470f
Converts [Generator] into analyzer that generates source files; Remov…
tesar-tech Dec 5, 2024
9e68761
format csproj
stsrki Dec 6, 2024
0d18a53
clean, format, and reorganize
stsrki Dec 6, 2024
98fec92
Formating
stsrki Dec 6, 2024
117086c
load only current assembly
stsrki Dec 6, 2024
aba7201
Fix for generic in dictionary.
tesar-tech Dec 6, 2024
429afea
fix for component inheritance (up to IComponent)
tesar-tech Dec 6, 2024
d487c7a
fix from constant from complex type
tesar-tech Dec 6, 2024
0b7d735
Animate fix + docs
tesar-tech Dec 6, 2024
8338c55
removes Logger.cs
tesar-tech Dec 6, 2024
94eae34
Cleanups in ComponentApiDocs.razor. - review fixes.
tesar-tech Dec 6, 2024
ec007f6
Fix for retrieving xml comments from Microsoft.AspnetCore.Components …
tesar-tech Dec 7, 2024
48a65ac
fix for !: inside the cref type
tesar-tech Dec 7, 2024
2771f5f
System.Runtime attempt; Default value to remove global::
tesar-tech Dec 7, 2024
ca653bf
Extensions with new ApiDocs in place (also still with the old api for…
tesar-tech Dec 7, 2024
12ebf48
fixing local index
tesar-tech Dec 7, 2024
f80b548
Add missing comments
stsrki Dec 9, 2024
6d30ea1
change local var name
stsrki Dec 9, 2024
e2f0f37
More fixed comments
stsrki Dec 9, 2024
e474293
Skip internal components
stsrki Dec 9, 2024
564d56f
Don't show enum values of enum has more than 30 values
stsrki Dec 9, 2024
2e0fcfe
Remove DataGrid SG API for now
stsrki Dec 9, 2024
55a57d8
Remove old apis
stsrki Dec 9, 2024
ab87eb8
Remove old snackbar apis
stsrki Dec 9, 2024
39dffc2
Quick fix to not show Dispose method
stsrki Dec 9, 2024
7025b34
Fix comments
stsrki Dec 9, 2024
b58f17a
support for generic type "rename".
tesar-tech Dec 9, 2024
4a912e2
rm assembly name inside defualt value string (Vide.SettingsList)
tesar-tech Dec 9, 2024
5fc5725
Unified place for type qualified for apidocs; support for other types…
tesar-tech Dec 9, 2024
f859294
Format
stsrki Dec 10, 2024
718bc43
Cropper
stsrki Dec 10, 2024
File filter

Filter by extension

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 .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -273,3 +273,6 @@ Documentation/Blazorise.Docs.Server/wwwroot/img/blog/.DS_Store

# Source Generation directory
__SOURCEGENERATED__/

# Fody
/Source/Blazorise/FodyWeavers.xsd
14 changes: 14 additions & 0 deletions Blazorise.sln
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blazorise.Charts.Zoom", "So
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blazorise.PdfViewer", "Source\Extensions\Blazorise.PdfViewer\Blazorise.PdfViewer.csproj", "{EAB7EC89-900A-4280-B24A-152B9DD2B503}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blazorise.Weavers", "Source\SourceGenerators\Blazorise.Weavers\Blazorise.Weavers.csproj", "{BF5FFB8C-45AD-4875-BB01-2DA388890419}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blazorise.Weavers.Fody", "Source\SourceGenerators\Blazorise.Weavers.Fody\Blazorise.Weavers.Fody.csproj", "{FFC4A285-1A16-4DD4-8B8C-141521E405B0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -411,6 +415,14 @@ Global
{EAB7EC89-900A-4280-B24A-152B9DD2B503}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EAB7EC89-900A-4280-B24A-152B9DD2B503}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EAB7EC89-900A-4280-B24A-152B9DD2B503}.Release|Any CPU.Build.0 = Release|Any CPU
{BF5FFB8C-45AD-4875-BB01-2DA388890419}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BF5FFB8C-45AD-4875-BB01-2DA388890419}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BF5FFB8C-45AD-4875-BB01-2DA388890419}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BF5FFB8C-45AD-4875-BB01-2DA388890419}.Release|Any CPU.Build.0 = Release|Any CPU
{FFC4A285-1A16-4DD4-8B8C-141521E405B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FFC4A285-1A16-4DD4-8B8C-141521E405B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FFC4A285-1A16-4DD4-8B8C-141521E405B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FFC4A285-1A16-4DD4-8B8C-141521E405B0}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -481,6 +493,8 @@ Global
{2B4FD79A-42E2-4B81-828B-0799E4744ADA} = {9731051E-0AA7-411E-A76A-987854F034DA}
{045536EC-BD97-409D-BDF7-C148B7C5AAFC} = {9731051E-0AA7-411E-A76A-987854F034DA}
{EAB7EC89-900A-4280-B24A-152B9DD2B503} = {9731051E-0AA7-411E-A76A-987854F034DA}
{BF5FFB8C-45AD-4875-BB01-2DA388890419} = {0538DB67-B4F3-4D00-B969-D3874A52E405}
{FFC4A285-1A16-4DD4-8B8C-141521E405B0} = {0538DB67-B4F3-4D00-B969-D3874A52E405}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {205B3EA4-470F-45DA-911E-346AF7D0A9A5}
Expand Down
15 changes: 11 additions & 4 deletions Documentation/Blazorise.Docs/Blazorise.Docs.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,18 @@

<Import Project="..\..\Build\Blazorise.Docs.props" />

<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>

<ItemGroup>
<SupportedPlatform Include="browser" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\Shared\Blazorise.Shared\Blazorise.Shared.csproj" />
<ProjectReference Include="..\..\Source\Blazorise\Blazorise.csproj" />
<ProjectReference Include="..\..\Source\Blazorise\Blazorise.csproj"
AdditionalProperties="EnableApiDocsGenerator=true"/>
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Animate\Blazorise.Animate.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Captcha.ReCaptcha\Blazorise.Captcha.ReCaptcha.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Captcha\Blazorise.Captcha.csproj" />
Expand All @@ -25,7 +30,8 @@
<ProjectReference Include="..\..\Source\Extensions\Blazorise.QRCode\Blazorise.QRCode.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.RichTextEdit\Blazorise.RichTextEdit.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Sidebar\Blazorise.Sidebar.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Snackbar\Blazorise.Snackbar.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.Snackbar\Blazorise.Snackbar.csproj"
AdditionalProperties="EnableApiDocsGenerator=true"/>
<ProjectReference Include="..\..\Source\Extensions\Blazorise.SpinKit\Blazorise.SpinKit.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.LoadingIndicator\Blazorise.LoadingIndicator.csproj" />
<ProjectReference Include="..\..\Source\Extensions\Blazorise.TreeView\Blazorise.TreeView.csproj" />
Expand All @@ -40,6 +46,7 @@
<PackageReference Include="Microsoft.Extensions.Http" Version="9.0.*" />
<PackageReference Include="MimeKit" Version="4.8.0" />
<PackageReference Include="Blazored.LocalStorage" Version="4.5.0" />
<ProjectReference Include="..\..\Source\SourceGenerators\Blazorise.Generator.Features\Blazorise.Generator.Features.csproj" />
</ItemGroup>

<!--Binary path for the code generator-->
Expand All @@ -50,8 +57,8 @@
<!--Project path for code generator-->
<PropertyGroup>
<ProjectDocsCompiler>dotnet run --configuration release --project "..\..\Documentation/Blazorise.Docs.Compiler/Blazorise.Docs.Compiler.csproj"</ProjectDocsCompiler>
</PropertyGroup>

</PropertyGroup>
<!--Execute the code generator-->
<Target Name="CompileDocs" BeforeTargets="BeforeBuild">
<!--Command-line for the code generator-->
Expand Down
48 changes: 48 additions & 0 deletions Documentation/Blazorise.Docs/Components/ComponentApiDocs.razor
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
@using Blazorise.Generator.Features.ApiDocsDtos
<DocsPageSubtitle>
API
</DocsPageSubtitle>

@{
IReadOnlyList<ApiDocsForComponent> apiDocsForComponents = ComponentTypes.Select(x => ComponentsApiDocsSource.Instance.Components.GetValueOrDefault(x)).Where(x => x is not null).ToList();
var hasComponentTypes = ComponentTypes.Any();
var multipleComponentTypes = ComponentTypes.Count > 1;
var hasMethods = apiDocsForComponents.Any(x => x.Methods.Any());
tesar-tech marked this conversation as resolved.
Show resolved Hide resolved
}

@if (hasComponentTypes)
{
<ComponentApiDocsProperty ApiDocsForComponents="apiDocsForComponents"
MultipleComponentTypes="multipleComponentTypes"
PropertyType="ComponentApiDocsProperty.PropertyTypes.Parameters"/>


<ComponentApiDocsProperty ApiDocsForComponents="apiDocsForComponents"
MultipleComponentTypes="multipleComponentTypes"
PropertyType="ComponentApiDocsProperty.PropertyTypes.Events"/>
}

@if (hasMethods)
tesar-tech marked this conversation as resolved.
Show resolved Hide resolved
{
<Heading Margin="Margin.Is2.FromTop.Is3.FromBottom" Size="HeadingSize.Is3">
Methods
</Heading>

@foreach(var apiDocsForComponent in apiDocsForComponents.Where(x => x?.Methods?.Count > 0))
{
<DocsMethods Name="Method" Title="@(multipleComponentTypes ? apiDocsForComponent.TypeName : null)">
@foreach(ApiDocsForComponentMethod method in apiDocsForComponent.Methods)
{
<DocsMethodsItem Name="@method.Name" ReturnType="@method.ReturnTypeName"
Parameters="@(string.Join(", ", method.Parameters.Select(x => $"{x.TypeName} {x.Name}")))">
@((MarkupString)method.Summary)
<ComponentApiDocsRemarks Value="@method.Remarks"/>
</DocsMethodsItem>
}
</DocsMethods>
}
}

@code {
[Parameter, EditorRequired] public List<Type> ComponentTypes { get; set; } = [];
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
@using Blazorise.Generator.Features.ApiDocsDtos

@if (filteredApiDocsForComponents.Any())
{
<Heading Margin="Margin.Is2.FromTop.Is3.FromBottom" Size="HeadingSize.Is3">
@(PropertyType ==PropertyTypes.Events
? "Events"
: "Parameters" )
</Heading>
}

@foreach(var apiDocsForComponent in filteredApiDocsForComponents)
{
<DocsAttributes ShowDefaults="@(PropertyType != PropertyTypes.Events)"
Name="@(PropertyType == PropertyTypes.Events ? "Event": "Parameter")"
Title="@(MultipleComponentTypes ? apiDocsForComponent.TypeName : null)">
@foreach(var property in (PropertyType == PropertyTypes.Events? apiDocsForComponent.Events:apiDocsForComponent.Parameters).OrderBy(x => x.Name))
stsrki marked this conversation as resolved.
Show resolved Hide resolved
{
<DocsAttributesItem @key="@property.Name" Name="@property.Name" Type="@property.TypeName"
Default="@property.DefaultValueString">
<Paragraph Margin="@(property.IsBlazoriseEnum ? null : Margin.Is0.FromBottom)">
@((MarkupString)property.Summary)
</Paragraph>

@if (property.IsBlazoriseEnum)
{
var enumNames = Enum.GetNames(property.Type);

<Paragraph Margin="Margin.Is0.FromBottom">
<Text>Possible values:</Text>
@for (int i = 0; i < enumNames.Length; i++)
{
int i1 = i;
tesar-tech marked this conversation as resolved.
Show resolved Hide resolved

<Code>@enumNames[i1]</Code>
@(i < @enumNames.Length - 1 ? ", " : "")
}
</Paragraph>
}
<ComponentApiDocsRemarks Value="@property.Remarks"/>
</DocsAttributesItem>
}
</DocsAttributes>
}

@code {
[Parameter, EditorRequired] public IEnumerable<ApiDocsForComponent> ApiDocsForComponents { get; set; } = [];
[Parameter, EditorRequired] public bool MultipleComponentTypes { get; set; }
[Parameter, EditorRequired] public PropertyTypes PropertyType { get; set; }

IEnumerable<ApiDocsForComponent> filteredApiDocsForComponents = [];

protected override void OnInitialized()
{
filteredApiDocsForComponents = ApiDocsForComponents.Where(x => (PropertyType == PropertyTypes.Events? x.Events:x.Parameters).Count > 0);
}

public enum PropertyTypes { Parameters, Events }
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
@if (!string.IsNullOrEmpty(Value))
{
<details>
<summary style="list-style: none; display: inline; cursor: pointer;">
<Badge Color="Color.Info">Remarks</Badge>
</summary>
<Paragraph> @((MarkupString)Value)</Paragraph>
</details>
}
@code {
[Parameter] public string Value { get; set; } = "";
}
4 changes: 2 additions & 2 deletions Documentation/Blazorise.Docs/Components/DocsAttributes.razor
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

@if ( Title != null )
{
<Heading Class="b-docs-page-attributes-title" Size="HeadingSize.Is4">
<Heading Class="b-docs-page-attributes-title" Size="HeadingSize.Is4" Margin="Margin.Is3.FromBottom">
@Title
</Heading>
}

<Table Class="b-docs-attributes" Responsive Margin="Margin.Is4.FromBottom">
<TableHeader ThemeContrast="@ThemeContrast">
<TableRow>
<TableHeaderCell>Name</TableHeaderCell>
<TableHeaderCell>@Name</TableHeaderCell>
<TableHeaderCell>Description</TableHeaderCell>
<TableHeaderCell>Type</TableHeaderCell>
@if ( ShowDefaults )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ void OnThemeChanged( object sender, string theme )

[Parameter] public RenderFragment ChildContent { get; set; }

[Parameter] public string Name { get; set; } = "Name";

public List<DocsAttributesItem> DocsAttributesItems { get; set; } = new();

#endregion
Expand Down
4 changes: 2 additions & 2 deletions Documentation/Blazorise.Docs/Components/DocsMethods.razor
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<Table Class="b-docs-methods" Responsive Margin="Margin.Is4.FromBottom">
<TableHeader ThemeContrast="@ThemeContrast">
<TableRow>
<TableHeaderCell>Name</TableHeaderCell>
<TableHeaderCell>@Name</TableHeaderCell>
<TableHeaderCell>Description</TableHeaderCell>
@if ( ShowReturnType )
{
Expand Down Expand Up @@ -46,7 +46,7 @@
@if ( ShowParameters )
{
<TableRowCell Class="@docsMethodsItem.DefaultClassNames">
@if ( @docsMethodsItem.Parameters != null )
@if ( !string.IsNullOrWhiteSpace( docsMethodsItem.Parameters ) )
{
<Code>@docsMethodsItem.Parameters</Code>
}
Expand Down
2 changes: 2 additions & 0 deletions Documentation/Blazorise.Docs/Components/DocsMethods.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ void OnThemeChanged( object sender, string theme )
[Parameter] public bool ShowParameters { get; set; } = true;

[Parameter] public RenderFragment ChildContent { get; set; }

[Parameter] public string Name { get; set; } = "Name";

public List<DocsMethodsItem> DocsMethodsItems { get; set; } = new();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,52 +94,4 @@
</Alert>
</Paragraph>

<DocsPageSubtitle>
API
</DocsPageSubtitle>

<Heading Size="HeadingSize.Is3">
Attributes
</Heading>

<DocsAttributes Title="Accordion">
<DocsAttributesItem Name="ChildContent" Type="RenderFragment" Default="null">
Specifies the content to be rendered insidethe accordion.
</DocsAttributesItem>
</DocsAttributes>

<DocsAttributes Title="AccordionToggle">
<DocsAttributesItem Name="Clicked" Type="EventCallback<MouseEventArgs>" Default="null">
Occurs when the toggle button is clicked.
</DocsAttributesItem>
<DocsAttributesItem Name="ChildContent" Type="RenderFragment" Default="null">
Specifies the content to be rendered insidethe accordion toggle.
</DocsAttributesItem>
</DocsAttributes>

<DocsAttributes Title="AccordionItem">
<DocsAttributesItem Name="Visible" Type="bool" Default="false">
Defines the collapse state of the accordion item.
</DocsAttributesItem>
<DocsAttributesItem Name="VisibleChanged" Type="EventCallback<bool>">
Occurs when the accordion item visibility state changes.
</DocsAttributesItem>
<DocsAttributesItem Name="ChildContent" Type="RenderFragment" Default="null">
Specifies the content to be rendered inside the accordion item.
</DocsAttributesItem>
</DocsAttributes>

<DocsAttributes Title="AccordionHeader">
<DocsAttributesItem Name="Clicked" Type="EventCallback<MouseEventArgs>">
Occurs when the accordion header is clicked.
</DocsAttributesItem>
<DocsAttributesItem Name="ChildContent" Type="RenderFragment" Default="null">
Specifies the content to be rendered inside the accordion body.
</DocsAttributesItem>
</DocsAttributes>

<DocsAttributes Title="AccordionBody">
<DocsAttributesItem Name="ChildContent" Type="RenderFragment" Default="null">
Specifies the content to be rendered inside the accordion body.
</DocsAttributesItem>
</DocsAttributes>
<ComponentApiDocs ComponentTypes="[typeof(Accordion), typeof(AccordionToggle), typeof(AccordionItem), typeof(AccordionHeader), typeof(AccordionBody)]" />
Original file line number Diff line number Diff line change
Expand Up @@ -129,22 +129,4 @@
<DocsPageSectionSource Code="AddonWithValidationExample" />
</DocsPageSection>

<DocsPageSubtitle>
API
</DocsPageSubtitle>

<Heading Size="HeadingSize.Is3">
Attributes
</Heading>

<DocsAttributes Title="Addons">
<DocsAttributesItem Name="Size" Type="Size" Default="Default">
Addons size variations.
</DocsAttributesItem>
</DocsAttributes>

<DocsAttributes Title="Addon">
<DocsAttributesItem Name="AddonType" Type="AddonType" Default="Body">
Defines the location and behavior of addon container.
</DocsAttributesItem>
</DocsAttributes>
<ComponentApiDocs ComponentTypes="[typeof(Addons), typeof(Addon)]" />
Original file line number Diff line number Diff line change
Expand Up @@ -112,41 +112,4 @@
<DocsPageSectionSource Code="AlertUseProgrammaticallyExample" />
</DocsPageSection>

<DocsPageSubtitle>
API
</DocsPageSubtitle>

<Heading Size="HeadingSize.Is3">
Methods
</Heading>

<DocsMethods>
<DocsMethodsItem Name="Show()" ReturnType="Task">
Makes the alert visible.
</DocsMethodsItem>
<DocsMethodsItem Name="Hide()" ReturnType="Task">
Hides the alert.
</DocsMethodsItem>
<DocsMethodsItem Name="Toggle()" ReturnType="Task">
Switches the alert visibility.
</DocsMethodsItem>
</DocsMethods>

<Heading Size="HeadingSize.Is3">
Attributes
</Heading>

<DocsAttributes>
<DocsAttributesItem Name="Dismisable" Type="bool" Default="false">
Enables the alert to be closed by placing the padding for close button.
</DocsAttributesItem>
<DocsAttributesItem Name="Visible" Type="bool" Default="false">
Defines the alert visibility.
</DocsAttributesItem>
<DocsAttributesItem Name="VisibleChanged" Type="EventCallback<bool>">
Occurs when the alert visibility changes.
</DocsAttributesItem>
<DocsAttributesItem Name="Color" Type="Color" Default="Default">
Component visual or contextual style variants.
</DocsAttributesItem>
</DocsAttributes>
<ComponentApiDocs ComponentTypes="[typeof(Alert)]" />
Loading
Loading