diff --git a/src/BootstrapBlazor.Shared/BootstrapBlazor.Shared.csproj b/src/BootstrapBlazor.Shared/BootstrapBlazor.Shared.csproj
index b8bc61bfcb6..225cc5f6f91 100644
--- a/src/BootstrapBlazor.Shared/BootstrapBlazor.Shared.csproj
+++ b/src/BootstrapBlazor.Shared/BootstrapBlazor.Shared.csproj
@@ -28,11 +28,11 @@
-
+
-
+
@@ -43,7 +43,7 @@
-
+
@@ -51,12 +51,12 @@
-
+
-
+
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor b/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor
deleted file mode 100644
index 7aeaea396f9..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor
+++ /dev/null
@@ -1,842 +0,0 @@
-@inherits WebSiteModuleComponentBase
-
-
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor.cs b/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor.cs
deleted file mode 100644
index b52c577bdb6..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the Apache 2.0 License
-// See the LICENSE file in the project root for more information.
-// Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone
-
-namespace BootstrapBlazor.Shared.Components.Samples.Icons;
-
-///
-/// AntDesignIconList 组件
-///
-[JSModuleAutoLoader("Samples/Icons/AntDesignIconList.razor.js")]
-public partial class AntDesignIconList
-{
- private string? ClassString => CssBuilder.Default("icon-list")
- .AddClassFromAttributes(AdditionalAttributes)
- .Build();
-
- ///
- /// 获得/设置 拷贝成功提示文字
- ///
- [Parameter]
- public string? CopiedTooltipText { get; set; }
-}
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor.css b/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor.css
deleted file mode 100644
index e1797f74ab4..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor.css
+++ /dev/null
@@ -1,42 +0,0 @@
-.icon-list {
- display: flex;
- flex-wrap: wrap;
-}
-
- .icon-list a {
- flex: 0 0 auto;
- width: 152px;
- margin-top: .5rem;
- margin-inline-end: .5rem;
- padding: .75rem;
- background-color: #f0f1f3;
- border-radius: .5rem;
- transition: .3s background-color ease-in-out;
- display: flex;
- align-items: center;
- }
-
- .icon-list a ::deep .bb-ant-icon {
- --bb-svg-icon-width: 14px;
- --bb-svg-icon-color: #000;
- }
-
- .icon-list a span {
- font-family: cera-round-pro, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
- font-size: 11px;
- margin-inline-start: 10px;
- line-height: 1.25rem;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- color: #919191;
- transition: .3s color ease-in-out;
- }
-
- .icon-list a:hover {
- background-color: var(--bs-warning);
- }
-
- .icon-list a:hover span {
- color: inherit;
- }
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor.js b/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor.js
deleted file mode 100644
index 4acddb675c1..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIconList.razor.js
+++ /dev/null
@@ -1,70 +0,0 @@
-import { copy } from "../../../../BootstrapBlazor/modules/utility.js"
-import Data from "../../../../BootstrapBlazor/modules/data.js"
-import EventHandler from "../../../../BootstrapBlazor/modules/event-handler.js"
-
-export function init(id) {
- const el = document.getElementById(id);
- const faList = {
- element: el
- }
- Data.set(id, faList)
-
- EventHandler.on(el, 'click', 'a', e => {
- e.preventDefault()
- e.stopPropagation()
-
- const span = e.delegateTarget.querySelector('span')
- const name = span.innerHTML;
- faList.copy(e.delegateTarget, name)
- })
-
- faList.copy = (element, text) => {
- copy(text)
-
- faList.tooltip = bootstrap.Tooltip.getInstance(element)
- if (faList.tooltip) {
- faList.reset(element)
- }
- else {
- faList.show(element)
- }
- }
-
- faList.show = element => {
- faList.tooltip = new bootstrap.Tooltip(element, {
- title: faList.element.getAttribute('data-bb-title')
- })
- faList.tooltip.show()
- faList.tooltipHandler = setTimeout(() => {
- clearTimeout(faList.tooltipHandler)
- if (faList.tooltip) {
- faList.tooltip.dispose()
- }
- }, 1000)
- }
-
- faList.reset = element => {
- if (faList.tooltipHandler) {
- clearTimeout(faList.tooltipHandler)
- }
- if (faList.tooltip) {
- faList.tooltipHandler = setTimeout(() => {
- clearTimeout(faList.tooltipHandler)
- faList.tooltip.dispose()
- faList.show()
- }, 10)
- }
- else {
- faList.show(element)
- }
- }
-}
-
-export function dispose(id) {
- const faList = Data.get(id)
- Data.remove(id)
-
- if (faList) {
- EventHandler.off(faList.element, 'click', 'a')
- }
-}
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIcons.razor b/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIcons.razor
index d93aaa433f2..e00d84aab58 100644
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIcons.razor
+++ b/src/BootstrapBlazor.Shared/Components/Samples/Icons/AntDesignIcons.razor
@@ -24,4 +24,4 @@
<AntDesignIcon Category="AntDesignIconCategory.Outlined" Name="account-book"><AntDesignIcon>
-
+@((MarkupString)Localizer["Icons"].Value)
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/BootstrapIcons.razor b/src/BootstrapBlazor.Shared/Components/Samples/Icons/BootstrapIcons.razor
index c62f8611cdb..1aa4170ec7b 100644
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/BootstrapIcons.razor
+++ b/src/BootstrapBlazor.Shared/Components/Samples/Icons/BootstrapIcons.razor
@@ -14,4 +14,6 @@
<link href="_content/BootstrapBlazor.BootstrapIcon/css/bootstrap.min.css" rel="stylesheet">
+<i class="bi bi-save"></i>
+
@((MarkupString)Localizer["Icons"].Value)
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor b/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor
deleted file mode 100644
index 387bdd4e15e..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor
+++ /dev/null
@@ -1,299 +0,0 @@
-@inherits WebSiteModuleComponentBase
-
-
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor.cs b/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor.cs
deleted file mode 100644
index 0e003e54798..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the Apache 2.0 License
-// See the LICENSE file in the project root for more information.
-// Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone
-
-namespace BootstrapBlazor.Shared.Components.Samples.Icons;
-
-///
-/// ElementIconList 组件
-///
-[JSModuleAutoLoader("Samples/Icons/ElementIconList.razor.js")]
-public partial class ElementIconList
-{
- private string? ClassString => CssBuilder.Default("icon-list")
- .AddClassFromAttributes(AdditionalAttributes)
- .Build();
-
- ///
- /// 获得/设置 拷贝成功提示文字
- ///
- [Parameter]
- public string? CopiedTooltipText { get; set; }
-}
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor.css b/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor.css
deleted file mode 100644
index 9c0aa7eb5df..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor.css
+++ /dev/null
@@ -1,42 +0,0 @@
-.icon-list {
- display: flex;
- flex-wrap: wrap;
-}
-
- .icon-list a {
- flex: 0 0 auto;
- width: 152px;
- margin-top: .5rem;
- margin-inline-end: .5rem;
- padding: .75rem;
- background-color: #f0f1f3;
- border-radius: .5rem;
- transition: .3s background-color ease-in-out;
- display: flex;
- align-items: center;
- }
-
- .icon-list a ::deep .bb-element-icon {
- --bb-svg-icon-width: 14px;
- --bb-svg-icon-color: #000;
- }
-
- .icon-list a span {
- font-family: cera-round-pro, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
- font-size: 11px;
- margin-inline-start: 10px;
- line-height: 1.25rem;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- color: #919191;
- transition: .3s color ease-in-out;
- }
-
- .icon-list a:hover {
- background-color: var(--bs-warning);
- }
-
- .icon-list a:hover span {
- color: inherit;
- }
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor.js b/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor.js
deleted file mode 100644
index 4acddb675c1..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIconList.razor.js
+++ /dev/null
@@ -1,70 +0,0 @@
-import { copy } from "../../../../BootstrapBlazor/modules/utility.js"
-import Data from "../../../../BootstrapBlazor/modules/data.js"
-import EventHandler from "../../../../BootstrapBlazor/modules/event-handler.js"
-
-export function init(id) {
- const el = document.getElementById(id);
- const faList = {
- element: el
- }
- Data.set(id, faList)
-
- EventHandler.on(el, 'click', 'a', e => {
- e.preventDefault()
- e.stopPropagation()
-
- const span = e.delegateTarget.querySelector('span')
- const name = span.innerHTML;
- faList.copy(e.delegateTarget, name)
- })
-
- faList.copy = (element, text) => {
- copy(text)
-
- faList.tooltip = bootstrap.Tooltip.getInstance(element)
- if (faList.tooltip) {
- faList.reset(element)
- }
- else {
- faList.show(element)
- }
- }
-
- faList.show = element => {
- faList.tooltip = new bootstrap.Tooltip(element, {
- title: faList.element.getAttribute('data-bb-title')
- })
- faList.tooltip.show()
- faList.tooltipHandler = setTimeout(() => {
- clearTimeout(faList.tooltipHandler)
- if (faList.tooltip) {
- faList.tooltip.dispose()
- }
- }, 1000)
- }
-
- faList.reset = element => {
- if (faList.tooltipHandler) {
- clearTimeout(faList.tooltipHandler)
- }
- if (faList.tooltip) {
- faList.tooltipHandler = setTimeout(() => {
- clearTimeout(faList.tooltipHandler)
- faList.tooltip.dispose()
- faList.show()
- }, 10)
- }
- else {
- faList.show(element)
- }
- }
-}
-
-export function dispose(id) {
- const faList = Data.get(id)
- Data.remove(id)
-
- if (faList) {
- EventHandler.off(faList.element, 'click', 'a')
- }
-}
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIcons.razor b/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIcons.razor
index 7a07f0558b8..3983f023e92 100644
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIcons.razor
+++ b/src/BootstrapBlazor.Shared/Components/Samples/Icons/ElementIcons.razor
@@ -24,4 +24,4 @@
<ElementIcon Name="add-location"><ElementIcon>
-
+@((MarkupString)Localizer["Icons"].Value)
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor b/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor
deleted file mode 100644
index 2eba81d2d1f..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor
+++ /dev/null
@@ -1,3636 +0,0 @@
-@inherits WebSiteModuleComponentBase
-
-
-
-
-
-
- Staff Favorites (38)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Accessibility (21)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Alphabet (28)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Animals (25)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Arrows (119)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Automotive (28)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Buildings (74)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Business (96)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Camping (37)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Charity (20)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Charts + Diagrams (14)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Childhood (25)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Clothing + Fashion (12)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Coding (42)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Communication (51)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Connectivity (12)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Construction (30)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Design (53)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Devices + Hardware (43)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Disaster + Crisis (37)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Editing (46)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Education (24)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Emoji (36)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Energy (37)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Files (35)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Film + Video (22)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Food + Beverage (48)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Fruits + Vegetables (6)
-
-
-
- Gaming (35)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Genders (14)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Halloween (13)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Hands (35)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Holidays (14)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Household (48)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Humanitarian (333)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Logistics (56)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Maps (136)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Maritime (14)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Marketing (24)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Mathematics (23)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Medical + Health (109)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Money (67)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Moving (16)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Music + Audio (19)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Nature (28)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Photos + Images (23)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Political (20)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Punctuation + Symbols (18)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Religion (32)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Science (33)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Science Fiction (8)
-
-
-
- Security (61)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Shapes (23)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Social (31)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Spinners (23)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sports + Fitness (33)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Text Formatting (40)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Time (17)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Toggle (15)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Transportation (49)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Travel + Hotel (73)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Users + People (120)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Weather (37)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Writing (27)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- @if (ShowCatalog)
- {
-
- }
-
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor.cs b/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor.cs
deleted file mode 100644
index ae88d6398f6..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor.cs
+++ /dev/null
@@ -1,110 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the Apache 2.0 License
-// See the LICENSE file in the project root for more information.
-// Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone
-
-using Microsoft.JSInterop;
-
-namespace BootstrapBlazor.Shared.Components.Samples.Icons;
-
-///
-/// FAIconList 组件
-///
-[JSModuleAutoLoader("Samples/Icons/FAIconList.razor.js", JSObjectReference = true)]
-public partial class FAIconList
-{
- private string? ClassString => CssBuilder.Default("icon-list")
- .AddClass("is-catalog", ShowCatalog)
- .AddClass("is-dialog", ShowCopyDialog)
- .AddClassFromAttributes(AdditionalAttributes)
- .Build();
-
- ///
- /// 获得/设置 点击时是否显示高级拷贝弹窗 默认 false 直接拷贝到粘贴板
- ///
- [Parameter]
- public bool ShowCopyDialog { get; set; }
-
- ///
- /// 获得/设置 是否显示目录 默认 false
- ///
- [Parameter]
- public bool ShowCatalog { get; set; }
-
- ///
- /// 获得/设置 高级弹窗 Header 显示文字
- ///
- [Parameter]
- [NotNull]
- public string? DialogHeaderText { get; set; }
-
- ///
- /// 获得/设置 当前选择图标
- ///
- [Parameter]
- public string? Icon { get; set; }
-
- ///
- /// 获得/设置 当前选择图标回调方法
- ///
- [Parameter]
- public EventCallback IconChanged { get; set; }
-
- ///
- /// 获得/设置 拷贝成功提示文字
- ///
- [Parameter]
- public string? CopiedTooltipText { get; set; }
-
- [Inject]
- [NotNull]
- private DialogService? DialogService { get; set; }
-
- [Inject]
- [NotNull]
- private IStringLocalizer? Localizer { get; set; }
-
- ///
- ///
- ///
- protected override void OnParametersSet()
- {
- base.OnParametersSet();
-
- DialogHeaderText ??= Localizer[nameof(DialogHeaderText)];
- }
-
- ///
- ///
- ///
- ///
- protected override Task InvokeInitAsync() => InvokeVoidAsync("init", Id, Interop, nameof(UpdateIcon), nameof(ShowDialog));
-
- ///
- /// UpdateIcon 方法由 JS Invoke 调用
- ///
- ///
- [JSInvokable]
- public async Task UpdateIcon(string icon)
- {
- Icon = icon;
- if (IconChanged.HasDelegate)
- {
- await IconChanged.InvokeAsync(Icon);
- }
- else
- {
- StateHasChanged();
- }
- }
-
- ///
- /// ShowDialog 方法由 JS Invoke 调用
- ///
- ///
- [JSInvokable]
- public Task ShowDialog(string text) => DialogService.ShowCloseDialog(DialogHeaderText, parameters =>
- {
- parameters.Add(nameof(IconDialog.IconName), text);
- });
-}
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor.css b/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor.css
deleted file mode 100644
index d9147ce3e46..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor.css
+++ /dev/null
@@ -1,47 +0,0 @@
-.icon-list {
- --bb-icon-list-width: 190px;
- display: flex;
-}
-
- .icon-list .icons-body {
- flex: 1;
- }
-
- .icon-list.is-catalog .icons-body {
- overflow-y: auto;
- overflow-x: hidden;
- height: 100%;
- }
-
- .icon-list .icons-nav {
- overflow-y: auto;
- overflow-x: hidden;
- width: var(--bb-icon-list-width);
- height: 100%;
- display: none;
- }
-
- .icon-list .icons-nav h5 {
- padding-left: .5rem;
- }
-
- .icon-list .icons-nav .nav {
- --bs-nav-link-padding-x: .5rem;
- --bs-nav-link-padding-y: .25rem;
- flex-direction: column;
- flex-wrap: nowrap;
- }
-
- .icon-list .icons-nav .nav-link:not(:last-child) {
- margin-top: .125rem;
- }
-
- .icon-list .icons-nav.nav-pills {
- --bs-nav-pills-link-active-bg: var(--bs-warning);
- }
-
-@media (min-width: 768px) {
- .icon-list .icons-nav {
- display: block;
- }
-}
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor.js b/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor.js
deleted file mode 100644
index b308de7a389..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIconList.razor.js
+++ /dev/null
@@ -1,115 +0,0 @@
-import { copy } from "../../../../BootstrapBlazor/modules/utility.js"
-import Data from "../../../../BootstrapBlazor/modules/data.js"
-import EventHandler from "../../../../BootstrapBlazor/modules/event-handler.js"
-
-export function init(id, invoke, updateMethod, showDialogMethod) {
- const el = document.getElementById(id);
- const faList = {
- element: el,
- invoke,
- updateMethod,
- showDialogMethod
- }
- Data.set(id, faList)
-
- if (el.classList.contains('is-catalog')) {
- faList.body = el.querySelector('.icons-body')
- faList.target = faList.body.getAttribute('data-bs-target')
- faList.scrollspy = new bootstrap.ScrollSpy(faList.body, {
- target: faList.target
- })
- faList.base = el.querySelector('#bb-fa-top')
- }
-
- EventHandler.on(el, 'click', '.nav-link', e => {
- e.preventDefault()
- e.stopPropagation()
-
- const targetId = e.delegateTarget.getAttribute('href')
- const target = el.querySelector(targetId)
-
- const rect = target.getBoundingClientRect()
- let margin = rect.top
- let marginTop = getComputedStyle(target).getPropertyValue('margin-top').replace('px', '')
- if (marginTop) {
- margin = margin - parseInt(marginTop)
- }
- const offset = el.getAttribute('bb-data-offset')
- if (offset) {
- margin = margin - parseInt(offset)
- }
- margin = margin - faList.base.getBoundingClientRect().top
- faList.body.scrollTo(0, margin)
- })
-
- EventHandler.on(el, 'click', '.icons-body a', e => {
- e.preventDefault()
- e.stopPropagation()
-
- const i = e.delegateTarget.querySelector('i')
- const css = i.getAttribute('class')
- faList.invoke.invokeMethodAsync(faList.updateMethod, css)
- const dialog = el.classList.contains('is-dialog')
- if (dialog) {
- faList.invoke.invokeMethodAsync(faList.showDialogMethod, css)
- }
- else {
- faList.copy(e.delegateTarget, css)
- }
- })
-
- faList.copy = (element, text) => {
- copy(text)
-
- faList.tooltip = bootstrap.Tooltip.getInstance(element)
- if (faList.tooltip) {
- faList.reset(element)
- }
- else {
- faList.show(element)
- }
- }
-
- faList.show = element => {
- faList.tooltip = new bootstrap.Tooltip(element, {
- title: faList.element.getAttribute('data-bb-title')
- })
- faList.tooltip.show()
- faList.tooltipHandler = setTimeout(() => {
- clearTimeout(faList.tooltipHandler)
- if (faList.tooltip) {
- faList.tooltip.dispose()
- }
- }, 1000)
- }
-
- faList.reset = element => {
- if (faList.tooltipHandler) {
- clearTimeout(faList.tooltipHandler)
- }
- if (faList.tooltip) {
- faList.tooltipHandler = setTimeout(() => {
- clearTimeout(faList.tooltipHandler)
- faList.tooltip.dispose()
- faList.show()
- }, 10)
- }
- else {
- faList.show(element)
- }
- }
-}
-
-export function dispose(id) {
- const faList = Data.get(id)
- Data.remove(id)
-
- if (faList) {
- EventHandler.off(faList.element, 'click', '.nav-link')
- EventHandler.off(faList.element, 'click', '.icons-body a')
-
- if (faList.scrollspy) {
- faList.scrollspy.dispose()
- }
- }
-}
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIcons.razor b/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIcons.razor
index dca2beca575..484278eb071 100644
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIcons.razor
+++ b/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIcons.razor
@@ -14,10 +14,6 @@
<link href="_content/BootstrapBlazor.FontAwesome/css/font-awesome.min.css" rel="stylesheet">
-
+<i class="fa-solid fa-home"></i>
-
+@((MarkupString)Localizer["Icons"].Value)
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIcons.razor.cs b/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIcons.razor.cs
index 7dd35d3ae71..74b23d6893b 100644
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIcons.razor.cs
+++ b/src/BootstrapBlazor.Shared/Components/Samples/Icons/FAIcons.razor.cs
@@ -10,7 +10,5 @@ namespace BootstrapBlazor.Shared.Components.Samples.Icons;
///
public partial class FAIcons
{
- private bool ShowCopyDialog { get; set; }
- private string DisplayText => ShowCopyDialog ? Localizer["SwitchButtonTextOn"] : Localizer["SwitchButtonTextOff"];
}
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor b/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor
deleted file mode 100644
index 075c9540998..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor
+++ /dev/null
@@ -1,2662 +0,0 @@
-@inherits WebSiteModuleComponentBase
-
-
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor.cs b/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor.cs
deleted file mode 100644
index 85a57bc96cc..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the Apache 2.0 License
-// See the LICENSE file in the project root for more information.
-// Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone
-
-namespace BootstrapBlazor.Shared.Components.Samples.Icons;
-
-///
-/// ByteDanceIconList 组件
-///
-[JSModuleAutoLoader("Samples/Icons/IconParkList.razor.js")]
-public partial class IconParkList : IAsyncDisposable
-{
- private string? ClassString => CssBuilder.Default("icon-list")
- .AddClassFromAttributes(AdditionalAttributes)
- .Build();
-
- ///
- /// 获得/设置 拷贝成功提示文字
- ///
- [Parameter]
- public string? CopiedTooltipText { get; set; }
-}
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor.css b/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor.css
deleted file mode 100644
index e289ddf29a1..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor.css
+++ /dev/null
@@ -1,42 +0,0 @@
-.icon-list {
- display: flex;
- flex-wrap: wrap;
-}
-
- .icon-list a {
- flex: 0 0 auto;
- width: 152px;
- margin-top: .5rem;
- margin-inline-end: .5rem;
- padding: .75rem;
- background-color: #f0f1f3;
- border-radius: .5rem;
- transition: .3s background-color ease-in-out;
- display: flex;
- align-items: center;
- }
-
- .icon-list a ::deep .bb-iconpark-icon {
- --bb-svg-icon-width: 14px;
- --bb-svg-icon-color: #000;
- }
-
- .icon-list a span {
- font-family: cera-round-pro, "Helvetica Neue", "Helvetica", "Arial", sans-serif;
- font-size: 11px;
- margin-inline-start: 10px;
- line-height: 1.25rem;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- color: #919191;
- transition: .3s color ease-in-out;
- }
-
- .icon-list a:hover {
- background-color: var(--bs-warning);
- }
-
- .icon-list a:hover span {
- color: inherit;
- }
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor.js b/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor.js
deleted file mode 100644
index 4acddb675c1..00000000000
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParkList.razor.js
+++ /dev/null
@@ -1,70 +0,0 @@
-import { copy } from "../../../../BootstrapBlazor/modules/utility.js"
-import Data from "../../../../BootstrapBlazor/modules/data.js"
-import EventHandler from "../../../../BootstrapBlazor/modules/event-handler.js"
-
-export function init(id) {
- const el = document.getElementById(id);
- const faList = {
- element: el
- }
- Data.set(id, faList)
-
- EventHandler.on(el, 'click', 'a', e => {
- e.preventDefault()
- e.stopPropagation()
-
- const span = e.delegateTarget.querySelector('span')
- const name = span.innerHTML;
- faList.copy(e.delegateTarget, name)
- })
-
- faList.copy = (element, text) => {
- copy(text)
-
- faList.tooltip = bootstrap.Tooltip.getInstance(element)
- if (faList.tooltip) {
- faList.reset(element)
- }
- else {
- faList.show(element)
- }
- }
-
- faList.show = element => {
- faList.tooltip = new bootstrap.Tooltip(element, {
- title: faList.element.getAttribute('data-bb-title')
- })
- faList.tooltip.show()
- faList.tooltipHandler = setTimeout(() => {
- clearTimeout(faList.tooltipHandler)
- if (faList.tooltip) {
- faList.tooltip.dispose()
- }
- }, 1000)
- }
-
- faList.reset = element => {
- if (faList.tooltipHandler) {
- clearTimeout(faList.tooltipHandler)
- }
- if (faList.tooltip) {
- faList.tooltipHandler = setTimeout(() => {
- clearTimeout(faList.tooltipHandler)
- faList.tooltip.dispose()
- faList.show()
- }, 10)
- }
- else {
- faList.show(element)
- }
- }
-}
-
-export function dispose(id) {
- const faList = Data.get(id)
- Data.remove(id)
-
- if (faList) {
- EventHandler.off(faList.element, 'click', 'a')
- }
-}
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParks.razor b/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParks.razor
index 53c6b84cd04..f749d8a8a19 100644
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParks.razor
+++ b/src/BootstrapBlazor.Shared/Components/Samples/Icons/IconParks.razor
@@ -24,4 +24,4 @@
<ByteDanceIcon Name="abdominal"><ByteDanceIcon>
-
+@((MarkupString)Localizer["Icons"].Value)
diff --git a/src/BootstrapBlazor.Shared/Components/Samples/Icons/MaterialDesignIcons.razor b/src/BootstrapBlazor.Shared/Components/Samples/Icons/MaterialDesignIcons.razor
index c6f7db4507f..245c0d4a414 100644
--- a/src/BootstrapBlazor.Shared/Components/Samples/Icons/MaterialDesignIcons.razor
+++ b/src/BootstrapBlazor.Shared/Components/Samples/Icons/MaterialDesignIcons.razor
@@ -14,4 +14,6 @@
<link href="_content/BootstrapBlazor.MaterialDesign/css/md.min.css" rel="stylesheet">
+<i class="mdi mdi-ab-testing"></i>
+
@((MarkupString)Localizer["Icons"].Value)
diff --git a/src/BootstrapBlazor.Shared/Locales/en-US.json b/src/BootstrapBlazor.Shared/Locales/en-US.json
index d9f7e81caaa..f7b5a9c5809 100644
--- a/src/BootstrapBlazor.Shared/Locales/en-US.json
+++ b/src/BootstrapBlazor.Shared/Locales/en-US.json
@@ -6629,7 +6629,7 @@
"BootstrapBlazor.Shared.Components.Samples.Icons.BootstrapIcons": {
"Title": "Bootstrap Icons",
"BaseUsageText": "Free, high quality, open source icon library",
- "Icons": "For icon information, please visit [portal]",
+ "Icons": "For icon list, please visit [portal]",
"P1": "Extending the Component Package by Reference",
"P2": "After adding the stylesheet file link open icon"
},
@@ -6639,7 +6639,8 @@
"CopiedTooltipText": "Copied",
"P1": "1. After referencing the extension package, add the package built-in style file to open the icon",
"P2": "2. Enable css isolation and automatically reference component styles after compilation",
- "P3": "Please copy the following code segement"
+ "P3": "Please copy the following code segement",
+ "Icons": "For icon list, please visit [portal]"
},
"BootstrapBlazor.Shared.Components.Samples.Icons.FAIcons": {
"Title": "Font Awesome Icons",
@@ -6648,12 +6649,13 @@
"SwitchButtonTextOn": "Show Copy Dialog",
"P1": "Extending the Component Package by Reference",
"P2": "After adding the stylesheet file link open icon",
- "CopiedTooltipText": "Copied"
+ "CopiedTooltipText": "Copied",
+ "Icons": "For icon list, please visit [portal]"
},
"BootstrapBlazor.Shared.Components.Samples.Icons.MaterialDesignIcons": {
"Title": "MaterialDesign Icons",
"BaseUsageText": "Material Design system icons are simple, modern and user-friendly",
- "Icons": "For icon information, please visit [portal]",
+ "Icons": "For icon list, please visit [portal]",
"P1": "Extending the Component Package by Reference",
"P2": "After adding the stylesheet file link open icon"
},
@@ -6663,7 +6665,8 @@
"CopiedTooltipText": "Copied",
"P1": "1. After referencing the extension package, add the package built-in style file to open the icon",
"P2": "2. Enable css isolation and automatically reference component styles after compilation",
- "P3": "Please copy the following code segement"
+ "P3": "Please copy the following code segement",
+ "Icons": "For icon list, please visit [portal]"
},
"BootstrapBlazor.Shared.Components.Samples.Icons.AntDesignIcons": {
"AntDesignIconTitle": "AntDesign Svg Icon Lib",
@@ -6671,7 +6674,8 @@
"CopiedTooltipText": "Copied",
"P1": "1. After referencing the extension package, add the package built-in style file to open the icon",
"P2": "2. Enable css isolation and automatically reference component styles after compilation",
- "P3": "Please copy the following code segement"
+ "P3": "Please copy the following code segement",
+ "Icons": "For icon list, please visit [portal]"
},
"BootstrapBlazor.Shared.Components.Samples.BootstrapBlazorIcons": {
"IconsTitle": "Icon",
@@ -6681,7 +6685,8 @@
"SvgTitle": "Svg Icons",
"SvgIntro": "Load the Svg sprite image by setting IsSvgSprites=\"true\" Url and specify its Id value by Name",
"ImageTitle": "Image",
- "ImageIntro": "Customize the displayed content through the ChildContent template"
+ "ImageIntro": "Customize the displayed content through the ChildContent template",
+ "Icons": "For icon list, please visit [portal]"
},
"BootstrapBlazor.Shared.Components.Samples.DriverDotnetJs": {
"DriverJsPopoverTitleText": "Animated Tour Example",
diff --git a/src/BootstrapBlazor.Shared/Locales/zh-CN.json b/src/BootstrapBlazor.Shared/Locales/zh-CN.json
index 7a7cacb20d3..90630a48b02 100644
--- a/src/BootstrapBlazor.Shared/Locales/zh-CN.json
+++ b/src/BootstrapBlazor.Shared/Locales/zh-CN.json
@@ -6629,7 +6629,7 @@
"BootstrapBlazor.Shared.Components.Samples.Icons.BootstrapIcons": {
"Title": "Bootstrap Icons",
"BaseUsageText": "Bootstrap 免费开源图标库",
- "Icons": "图标信息请通过 [传送门] 查看",
+ "Icons": "图标列表请通过 [传送门] 查看",
"P1": "通过引用扩展组件包",
"P2": "后添加样式表文件链接开启图标"
},
@@ -6639,7 +6639,8 @@
"CopiedTooltipText": "拷贝成功",
"P1": "1. 引用扩展组件包后添加包内置样式文件开启图标",
"P2": "2. 开启样式隔离,编译后自动引用组件样式",
- "P3": "请拷贝下方样式即可"
+ "P3": "请拷贝下方样式即可",
+ "Icons": "图标列表请通过 [传送门] 查看"
},
"BootstrapBlazor.Shared.Components.Samples.Icons.FAIcons": {
"Title": "Font Awesome Icons",
@@ -6648,12 +6649,13 @@
"SwitchButtonTextOn": "显示高级拷贝",
"P1": "通过引用扩展组件包",
"P2": "后添加样式表文件链接开启图标",
- "CopiedTooltipText": "拷贝成功"
+ "CopiedTooltipText": "拷贝成功",
+ "Icons": "图标列表请通过 [传送门] 查看"
},
"BootstrapBlazor.Shared.Components.Samples.Icons.MaterialDesignIcons": {
"Title": "MaterialDesign Icons",
"BaseUsageText": "Material Design 图标简单、现代、友好",
- "Icons": "图标信息请通过 [传送门] 查看",
+ "Icons": "图标列表请通过 [传送门] 查看",
"P1": "通过引用扩展组件包",
"P2": "后添加样式表文件链接开启图标"
},
@@ -6663,7 +6665,8 @@
"CopiedTooltipText": "拷贝成功",
"P1": "1. 引用扩展组件包后添加包内置样式文件开启图标",
"P2": "2. 开启样式隔离,编译后自动引用组件样式",
- "P3": "请拷贝下方样式即可"
+ "P3": "请拷贝下方样式即可",
+ "Icons": "图标列表请通过 [传送门] 查看"
},
"BootstrapBlazor.Shared.Components.Samples.Icons.AntDesignIcons": {
"AntDesignIconTitle": "蚂蚁图标库",
@@ -6671,7 +6674,8 @@
"CopiedTooltipText": "拷贝成功",
"P1": "1. 引用扩展组件包后添加包内置样式文件开启图标",
"P2": "2. 开启样式隔离,编译后自动引用组件样式",
- "P3": "请拷贝下方样式即可"
+ "P3": "请拷贝下方样式即可",
+ "Icons": "图标列表请通过 [传送门] 查看"
},
"BootstrapBlazor.Shared.Components.Samples.BootstrapBlazorIcons": {
"IconsTitle": "Icon 图标",
@@ -6681,7 +6685,8 @@
"SvgTitle": "矢量图标",
"SvgIntro": "通过设置 IsSvgSprites=\"true\" Url 加载 Svg 雪碧图,通过 Name 指定其 Id 值",
"ImageTitle": "图片",
- "ImageIntro": "通过 ChildContent 模板自定义显示内容"
+ "ImageIntro": "通过 ChildContent 模板自定义显示内容",
+ "Icons": "图标列表请通过 [传送门] 查看"
},
"BootstrapBlazor.Shared.Components.Samples.DriverDotnetJs": {
"DriverJsPopoverTitleText": "高亮向导组件演示",