Script Loader
diff --git a/BlazorBootstrap.Demo.RCL/Pages/Ribbon/RibbonDocumentation.razor b/BlazorBootstrap.Demo.RCL/Pages/Ribbon/RibbonDocumentation.razor
new file mode 100644
index 000000000..bf81f641b
--- /dev/null
+++ b/BlazorBootstrap.Demo.RCL/Pages/Ribbon/RibbonDocumentation.razor
@@ -0,0 +1,29 @@
+@page "/ribbon"
+
+@title
+
+
+
+Blazor Ribbon
+Documentation and examples for using the Blazor Bootstrap Ribbon component.
+
+@* *@
+
+
+In the following example, you will see a ribbon similar to the one found in Outlook.
+
+
+
+In the following example, instead of icons like Bootstrap, Font Awesome, etc., we used PNG icons.
+
+
+
+ NOTE: All the PNG icons used on this page are from Flaticon with a premium license only.
+
+
+@code {
+ private string pageUrl = "/ribbon";
+ private string title = "Blazor Ribbon Component";
+ private string description = "Documentation and examples for using the Blazor Bootstrap Ribbon component.";
+ private string imageUrl = "https://i.imgur.com/LpZVLbF.png";
+}
diff --git a/BlazorBootstrap.Demo.RCL/Pages/Ribbon/Ribbon_Demo_01_How_It_Works.razor b/BlazorBootstrap.Demo.RCL/Pages/Ribbon/Ribbon_Demo_01_How_It_Works.razor
new file mode 100644
index 000000000..9f1e82eb2
--- /dev/null
+++ b/BlazorBootstrap.Demo.RCL/Pages/Ribbon/Ribbon_Demo_01_How_It_Works.razor
@@ -0,0 +1,59 @@
+
+
+
+
+
+ New
Email
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Send/Receive
All Folders
+ Update
Folder
+
+
+
+ Show
Progress
+ Cancel
All
+
+
+
+
+
+
+
+ New
Folder
+ New
Search Folder
+
+
+
+ Rename
Folder
+ Copy
Folder
+ Move
Folder
+ Delete
Folder
+
+
+
+
+
+
+ Selected ribbon item: @selectedRibbonItem
+
+
+@code {
+ string? selectedRibbonItem;
+
+ private void OnRibbonItemClick(RibbonItemEventArgs args)
+ {
+ selectedRibbonItem = args.Name;
+ }
+}
diff --git a/BlazorBootstrap.Demo.RCL/Pages/Ribbon/Ribbon_Demo_02_Images.razor b/BlazorBootstrap.Demo.RCL/Pages/Ribbon/Ribbon_Demo_02_Images.razor
new file mode 100644
index 000000000..721305fe1
--- /dev/null
+++ b/BlazorBootstrap.Demo.RCL/Pages/Ribbon/Ribbon_Demo_02_Images.razor
@@ -0,0 +1,59 @@
+
+
+
+
+
+ New
Email
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Send/Receive
All Folders
+ Update
Folder
+
+
+
+ Show
Progress
+ Cancel
All
+
+
+
+
+
+
+
+ New
Folder
+ New
Search Folder
+
+
+
+ Rename
Folder
+ Copy
Folder
+ Move
Folder
+ Delete
Folder
+
+
+
+
+
+
+ Selected ribbon item: @selectedRibbonItem
+
+
+@code {
+ string? selectedRibbonItem;
+
+ private void OnRibbonItemClick(RibbonItemEventArgs args)
+ {
+ selectedRibbonItem = args.Name;
+ }
+}
diff --git a/BlazorBootstrap.Demo.RCL/Shared/MainLayout.razor.cs b/BlazorBootstrap.Demo.RCL/Shared/MainLayout.razor.cs
index 26b3a5edb..ce35e1bab 100644
--- a/BlazorBootstrap.Demo.RCL/Shared/MainLayout.razor.cs
+++ b/BlazorBootstrap.Demo.RCL/Shared/MainLayout.razor.cs
@@ -64,14 +64,15 @@ private IEnumerable GetNavItems()
new (){ Id = "516", Text = "Placeholders", Href = "/placeholders", IconName = IconName.ColumnsGap, ParentId = "5" },
new (){ Id = "517", Text = "Preload", Href = "/preload", IconName = IconName.ArrowClockwise, ParentId = "5" },
new (){ Id = "518", Text = "Progress", Href = "/progress", IconName = IconName.UsbC, ParentId = "5" },
- new (){ Id = "519", Text = "Script Loader", Href = "/script-loader", IconName = IconName.CodeSlash, ParentId = "5" },
- new (){ Id = "520", Text = "Sidebar", Href = "/sidebar", IconName = IconName.LayoutSidebar, ParentId = "5" },
- new (){ Id = "521", Text = "Sidebar 2", Href = "/sidebar2", IconName = IconName.ListNested, ParentId = "5" },
- new (){ Id = "521", Text = "Sortable List", Href = "/sortable-list", IconName = IconName.ArrowsMove, ParentId = "5" },
- new (){ Id = "522", Text = "Spinner", Href = "/spinners", IconName = IconName.ArrowRepeat, ParentId = "5" },
- new (){ Id = "523", Text = "Tabs", Href = "/tabs", IconName = IconName.WindowPlus, ParentId = "5" },
- new (){ Id = "524", Text = "Toasts", Href = "/toasts", IconName = IconName.ExclamationTriangleFill, ParentId = "5" },
- new (){ Id = "525", Text = "Tooltips", Href = "/tooltips", IconName = IconName.ChatSquareDotsFill, ParentId = "5" },
+ new (){ Id = "519", Text = "Ribbon", Href = "/ribbon", IconName = IconName.WindowStack, ParentId = "5" },
+ new (){ Id = "520", Text = "Script Loader", Href = "/script-loader", IconName = IconName.CodeSlash, ParentId = "5" },
+ new (){ Id = "521", Text = "Sidebar", Href = "/sidebar", IconName = IconName.LayoutSidebar, ParentId = "5" },
+ new (){ Id = "522", Text = "Sidebar 2", Href = "/sidebar2", IconName = IconName.ListNested, ParentId = "5" },
+ new (){ Id = "523", Text = "Sortable List", Href = "/sortable-list", IconName = IconName.ArrowsMove, ParentId = "5" },
+ new (){ Id = "524", Text = "Spinner", Href = "/spinners", IconName = IconName.ArrowRepeat, ParentId = "5" },
+ new (){ Id = "525", Text = "Tabs", Href = "/tabs", IconName = IconName.WindowPlus, ParentId = "5" },
+ new (){ Id = "526", Text = "Toasts", Href = "/toasts", IconName = IconName.ExclamationTriangleFill, ParentId = "5" },
+ new (){ Id = "527", Text = "Tooltips", Href = "/tooltips", IconName = IconName.ChatSquareDotsFill, ParentId = "5" },
new (){ Id = "6", Text = "Data Visualization", IconName = IconName.BarChartFill, IconColor = IconColor.Warning },
new (){ Id = "600", Text = "Bar Chart", Href = "/charts/bar-chart", IconName = IconName.BarChartFill, ParentId = "6", Match = NavLinkMatch.All },
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/blazorbootstrap.demo.rcl.css b/BlazorBootstrap.Demo.RCL/wwwroot/css/blazorbootstrap.demo.rcl.css
similarity index 100%
rename from BlazorBootstrap.Demo.RCL/wwwroot/blazorbootstrap.demo.rcl.css
rename to BlazorBootstrap.Demo.RCL/wwwroot/css/blazorbootstrap.demo.rcl.css
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/archive.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/archive.png
new file mode 100644
index 000000000..ca7b99306
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/archive.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/bin.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/bin.png
new file mode 100644
index 000000000..e38668567
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/bin.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/calendar.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/calendar.png
new file mode 100644
index 000000000..5f5a5819b
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/calendar.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/cancel-button.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/cancel-button.png
new file mode 100644
index 000000000..a3a741c8c
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/cancel-button.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/cancelled.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/cancelled.png
new file mode 100644
index 000000000..b81dd8a0e
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/cancelled.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-add.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-add.png
new file mode 100644
index 000000000..1def85d99
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-add.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-copy.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-copy.png
new file mode 100644
index 000000000..b22f62a20
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-copy.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-delete.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-delete.png
new file mode 100644
index 000000000..7d67adcea
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-delete.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-move.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-move.png
new file mode 100644
index 000000000..15ed71f21
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-move.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-rename.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-rename.png
new file mode 100644
index 000000000..93ed77f65
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-rename.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-search.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-search.png
new file mode 100644
index 000000000..185b5d2ac
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-search.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-sync.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-sync.png
new file mode 100644
index 000000000..a32efd6ee
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/folder-sync.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/loading-bar.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/loading-bar.png
new file mode 100644
index 000000000..f69af076f
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/loading-bar.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/new-email.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/new-email.png
new file mode 100644
index 000000000..e24b9519f
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/new-email.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/icons/refresh.png b/BlazorBootstrap.Demo.RCL/wwwroot/icons/refresh.png
new file mode 100644
index 000000000..75444d8f7
Binary files /dev/null and b/BlazorBootstrap.Demo.RCL/wwwroot/icons/refresh.png differ
diff --git a/BlazorBootstrap.Demo.RCL/wwwroot/blazorbootstrap.demo.rcl.js b/BlazorBootstrap.Demo.RCL/wwwroot/js/blazorbootstrap.demo.rcl.js
similarity index 100%
rename from BlazorBootstrap.Demo.RCL/wwwroot/blazorbootstrap.demo.rcl.js
rename to BlazorBootstrap.Demo.RCL/wwwroot/js/blazorbootstrap.demo.rcl.js
diff --git a/BlazorBootstrap.Demo.WebAssembly/wwwroot/index.html b/BlazorBootstrap.Demo.WebAssembly/wwwroot/index.html
index 3425593b7..9362b1802 100644
--- a/BlazorBootstrap.Demo.WebAssembly/wwwroot/index.html
+++ b/BlazorBootstrap.Demo.WebAssembly/wwwroot/index.html
@@ -12,7 +12,7 @@
-
+
@@ -56,7 +56,7 @@
-
+