Skip to content

Commit 6ece18b

Browse files
authored
doc(Icons): a comprehensive list of Icons (#5564)
* doc: 更新 Oct 图标列表 * doc: 移除样式 * chore: 更新 OctIcon 包 * doc: 增加 ant 图标列表 * doc: 增加 Element 列表 * doc: 增加 IconPark 图标列表 * doc: 增加图标列表功能 * style: 字节跳动图标大小更改为 16px * chore: 更新图标包 * doc: 移除打包样式引用代码 * refactor: 调整目录结构 * refactor: 增加鼠标选中脚本框架 * feat: 增加拷贝逻辑
1 parent 815207c commit 6ece18b

24 files changed

+4203
-105
lines changed

src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
</ItemGroup>
2121

2222
<ItemGroup>
23-
<PackageReference Include="BootstrapBlazor.AntDesignIcon" Version="9.0.2" />
23+
<PackageReference Include="BootstrapBlazor.AntDesignIcon" Version="9.0.3" />
2424
<PackageReference Include="BootstrapBlazor.AzureOpenAI" Version="9.0.0" />
2525
<PackageReference Include="BootstrapBlazor.AzureTranslator" Version="9.0.0" />
2626
<PackageReference Include="BootstrapBlazor.BaiduSpeech" Version="9.0.0" />
@@ -33,14 +33,14 @@
3333
<PackageReference Include="BootstrapBlazor.Dock" Version="9.0.0" />
3434
<PackageReference Include="BootstrapBlazor.DockView" Version="9.1.1" />
3535
<PackageReference Include="BootstrapBlazor.DriverJs" Version="9.0.3" />
36-
<PackageReference Include="BootstrapBlazor.ElementIcon" Version="9.0.2" />
36+
<PackageReference Include="BootstrapBlazor.ElementIcon" Version="9.0.3" />
3737
<PackageReference Include="BootstrapBlazor.FileViewer" Version="9.0.0" />
3838
<PackageReference Include="BootstrapBlazor.FontAwesome" Version="9.0.2" />
3939
<PackageReference Include="BootstrapBlazor.Gantt" Version="9.0.2" />
4040
<PackageReference Include="BootstrapBlazor.Holiday" Version="9.0.1" />
4141
<PackageReference Include="BootstrapBlazor.Html2Image" Version="9.0.0" />
4242
<PackageReference Include="BootstrapBlazor.Html2Pdf" Version="9.0.2" />
43-
<PackageReference Include="BootstrapBlazor.IconPark" Version="9.0.2" />
43+
<PackageReference Include="BootstrapBlazor.IconPark" Version="9.0.3" />
4444
<PackageReference Include="BootstrapBlazor.ImageCropper" Version="9.0.0" />
4545
<PackageReference Include="BootstrapBlazor.IP2Region" Version="9.0.1" />
4646
<PackageReference Include="BootstrapBlazor.JuHeIpLocatorProvider" Version="9.0.0" />
@@ -51,7 +51,7 @@
5151
<PackageReference Include="BootstrapBlazor.Mermaid" Version="9.0.3" />
5252
<PackageReference Include="BootstrapBlazor.MindMap" Version="9.1.3" />
5353
<PackageReference Include="BootstrapBlazor.MouseFollower" Version="9.0.1" />
54-
<PackageReference Include="BootstrapBlazor.OctIcon" Version="9.0.3" />
54+
<PackageReference Include="BootstrapBlazor.OctIcon" Version="9.0.4" />
5555
<PackageReference Include="BootstrapBlazor.OnScreenKeyboard" Version="9.0.1" />
5656
<PackageReference Include="BootstrapBlazor.PdfReader" Version="9.0.0" />
5757
<PackageReference Include="BootstrapBlazor.Player" Version="9.0.0" />

src/BootstrapBlazor.Server/Components/Samples/Icons/AntDesign/AntDesignIconListFilled.razor

Lines changed: 234 additions & 0 deletions
Large diffs are not rendered by default.

src/BootstrapBlazor.Server/Components/Samples/Icons/AntDesign/AntDesignIconListOutlined.razor

Lines changed: 447 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
<AntDesignIcon Name="account-book" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
2+
<AntDesignIcon Name="alert" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
3+
<AntDesignIcon Name="api" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
4+
<AntDesignIcon Name="appstore" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
5+
<AntDesignIcon Name="audio" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
6+
<AntDesignIcon Name="bank" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
7+
<AntDesignIcon Name="bell" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
8+
<AntDesignIcon Name="book" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
9+
<AntDesignIcon Name="box-plot" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
10+
<AntDesignIcon Name="bug" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
11+
<AntDesignIcon Name="build" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
12+
<AntDesignIcon Name="bulb" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
13+
<AntDesignIcon Name="calculator" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
14+
<AntDesignIcon Name="calendar" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
15+
<AntDesignIcon Name="camera" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
16+
<AntDesignIcon Name="car" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
17+
<AntDesignIcon Name="carry-out" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
18+
<AntDesignIcon Name="check-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
19+
<AntDesignIcon Name="check-square" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
20+
<AntDesignIcon Name="ci-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
21+
<AntDesignIcon Name="ci" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
22+
<AntDesignIcon Name="clock-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
23+
<AntDesignIcon Name="close-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
24+
<AntDesignIcon Name="close-square" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
25+
<AntDesignIcon Name="cloud" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
26+
<AntDesignIcon Name="code" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
27+
<AntDesignIcon Name="compass" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
28+
<AntDesignIcon Name="contacts" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
29+
<AntDesignIcon Name="container" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
30+
<AntDesignIcon Name="control" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
31+
<AntDesignIcon Name="copy" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
32+
<AntDesignIcon Name="copyright-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
33+
<AntDesignIcon Name="copyright" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
34+
<AntDesignIcon Name="credit-card" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
35+
<AntDesignIcon Name="crown" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
36+
<AntDesignIcon Name="customer-service" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
37+
<AntDesignIcon Name="dashboard" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
38+
<AntDesignIcon Name="database" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
39+
<AntDesignIcon Name="delete" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
40+
<AntDesignIcon Name="diff" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
41+
<AntDesignIcon Name="dislike" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
42+
<AntDesignIcon Name="dollar-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
43+
<AntDesignIcon Name="dollar" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
44+
<AntDesignIcon Name="down-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
45+
<AntDesignIcon Name="down-square" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
46+
<AntDesignIcon Name="edit" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
47+
<AntDesignIcon Name="environment" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
48+
<AntDesignIcon Name="euro-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
49+
<AntDesignIcon Name="euro" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
50+
<AntDesignIcon Name="exclamation-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
51+
<AntDesignIcon Name="experiment" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
52+
<AntDesignIcon Name="eye-invisible" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
53+
<AntDesignIcon Name="eye" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
54+
<AntDesignIcon Name="file-add" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
55+
<AntDesignIcon Name="file-excel" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
56+
<AntDesignIcon Name="file-exclamation" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
57+
<AntDesignIcon Name="file-image" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
58+
<AntDesignIcon Name="file-markdown" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
59+
<AntDesignIcon Name="file-pdf" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
60+
<AntDesignIcon Name="file-ppt" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
61+
<AntDesignIcon Name="file-text" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
62+
<AntDesignIcon Name="file-unknown" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
63+
<AntDesignIcon Name="file-word" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
64+
<AntDesignIcon Name="file-zip" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
65+
<AntDesignIcon Name="file" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
66+
<AntDesignIcon Name="filter" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
67+
<AntDesignIcon Name="fire" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
68+
<AntDesignIcon Name="flag" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
69+
<AntDesignIcon Name="folder-add" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
70+
<AntDesignIcon Name="folder-open" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
71+
<AntDesignIcon Name="folder" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
72+
<AntDesignIcon Name="frown" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
73+
<AntDesignIcon Name="fund" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
74+
<AntDesignIcon Name="funnel-plot" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
75+
<AntDesignIcon Name="gift" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
76+
<AntDesignIcon Name="gold" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
77+
<AntDesignIcon Name="hdd" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
78+
<AntDesignIcon Name="heart" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
79+
<AntDesignIcon Name="highlight" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
80+
<AntDesignIcon Name="home" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
81+
<AntDesignIcon Name="hourglass" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
82+
<AntDesignIcon Name="html5" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
83+
<AntDesignIcon Name="idcard" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
84+
<AntDesignIcon Name="info-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
85+
<AntDesignIcon Name="insurance" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
86+
<AntDesignIcon Name="interaction" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
87+
<AntDesignIcon Name="layout" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
88+
<AntDesignIcon Name="left-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
89+
<AntDesignIcon Name="left-square" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
90+
<AntDesignIcon Name="like" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
91+
<AntDesignIcon Name="lock" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
92+
<AntDesignIcon Name="mail" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
93+
<AntDesignIcon Name="medicine-box" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
94+
<AntDesignIcon Name="meh" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
95+
<AntDesignIcon Name="message" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
96+
<AntDesignIcon Name="minus-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
97+
<AntDesignIcon Name="minus-square" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
98+
<AntDesignIcon Name="mobile" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
99+
<AntDesignIcon Name="money-collect" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
100+
<AntDesignIcon Name="notification" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
101+
<AntDesignIcon Name="pause-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
102+
<AntDesignIcon Name="phone" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
103+
<AntDesignIcon Name="picture" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
104+
<AntDesignIcon Name="pie-chart" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
105+
<AntDesignIcon Name="play-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
106+
<AntDesignIcon Name="play-square" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
107+
<AntDesignIcon Name="plus-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
108+
<AntDesignIcon Name="plus-square" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
109+
<AntDesignIcon Name="pound-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
110+
<AntDesignIcon Name="printer" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
111+
<AntDesignIcon Name="profile" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
112+
<AntDesignIcon Name="project" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
113+
<AntDesignIcon Name="property-safety" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
114+
<AntDesignIcon Name="pushpin" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
115+
<AntDesignIcon Name="question-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
116+
<AntDesignIcon Name="reconciliation" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
117+
<AntDesignIcon Name="red-envelope" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
118+
<AntDesignIcon Name="rest" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
119+
<AntDesignIcon Name="right-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
120+
<AntDesignIcon Name="right-square" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
121+
<AntDesignIcon Name="rocket" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
122+
<AntDesignIcon Name="safety-certificate" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
123+
<AntDesignIcon Name="save" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
124+
<AntDesignIcon Name="schedule" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
125+
<AntDesignIcon Name="security-scan" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
126+
<AntDesignIcon Name="setting" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
127+
<AntDesignIcon Name="shop" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
128+
<AntDesignIcon Name="shopping" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
129+
<AntDesignIcon Name="skin" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
130+
<AntDesignIcon Name="sliders" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
131+
<AntDesignIcon Name="smile" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
132+
<AntDesignIcon Name="snippets" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
133+
<AntDesignIcon Name="sound" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
134+
<AntDesignIcon Name="star" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
135+
<AntDesignIcon Name="stop" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
136+
<AntDesignIcon Name="switcher" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
137+
<AntDesignIcon Name="tablet" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
138+
<AntDesignIcon Name="tag" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
139+
<AntDesignIcon Name="tags" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
140+
<AntDesignIcon Name="thunderbolt" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
141+
<AntDesignIcon Name="tool" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
142+
<AntDesignIcon Name="trademark-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
143+
<AntDesignIcon Name="trophy" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
144+
<AntDesignIcon Name="unlock" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
145+
<AntDesignIcon Name="up-circle" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
146+
<AntDesignIcon Name="up-square" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
147+
<AntDesignIcon Name="usb" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
148+
<AntDesignIcon Name="video-camera" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
149+
<AntDesignIcon Name="wallet" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
150+
<AntDesignIcon Name="warning" Category="AntDesignIconCategory.TwoTone"></AntDesignIcon>
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
@page "/ant-design-icon"
2-
@layout MainLayout
32
@inject IStringLocalizer<AntDesignIcons> Localizer
4-
5-
<HeadContent>
6-
<link rel="stylesheet" href="@Assets["_content/BootstrapBlazor.AntDesignIcon/BootstrapBlazor.AntDesignIcon.bundle.scp.css"]" />
7-
</HeadContent>
3+
@inherits BootstrapIcon
84

95
<h3>@Localizer["AntDesignIconTitle"]</h3>
106

@@ -22,11 +18,23 @@
2218

2319
<Pre>&lt;link href="_content/BootstrapBlazor.AntDesignIcon/BootstrapBlazor.AntDesignIcon.bundle.scp.css" rel="stylesheet"&gt;</Pre>
2420

25-
<div class="mb-2">
26-
<AntDesignIcon Category="AntDesignIconCategory.Filled" Name="left-circle"></AntDesignIcon>
27-
<AntDesignIcon Category="AntDesignIconCategory.Outlined" Name="left-circle"></AntDesignIcon>
28-
</div>
29-
3021
<Pre>&lt;AntDesignIcon Category="AntDesignIconCategory.Outlined" Name="github"&gt;&lt;/AntDesignIcon&gt;</Pre>
3122

3223
<div>@((MarkupString)Localizer["Icons"].Value)</div>
24+
25+
<p class="code-label mt-3">Outlined</p>
26+
<div id="@Id" class="list">
27+
<div class="icon-list">
28+
<AntDesignIconListOutlined></AntDesignIconListOutlined>
29+
</div>
30+
31+
<p class="code-label mt-3">Filled</p>
32+
<div class="icon-list">
33+
<AntDesignIconListFilled></AntDesignIconListFilled>
34+
</div>
35+
36+
<p class="code-label mt-3">TwoTone</p>
37+
<div class="icon-list">
38+
<AntDesignIconListTwoTone></AntDesignIconListTwoTone>
39+
</div>
40+
</div>

src/BootstrapBlazor.Server/Components/Samples/Icons/AntDesignIcons.razor.cs

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@inherits WebSiteModuleComponentBase

src/BootstrapBlazor.Server/Components/Samples/Icons/IconParks.razor.cs renamed to src/BootstrapBlazor.Server/Components/Samples/Icons/BootstrapIcon.razor.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
namespace BootstrapBlazor.Server.Components.Samples.Icons;
77

88
/// <summary>
9-
/// IconPark 图标库示例
9+
/// Icon component base class
1010
/// </summary>
11-
public partial class IconParks
11+
[JSModuleAutoLoader("Samples/Icons/BootstrapIcon.razor.js")]
12+
public partial class BootstrapIcon
1213
{
1314

1415
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import Data from '../../../_content/BootstrapBlazor/modules/data.js';
2+
import EventHandler from '../../../_content/BootstrapBlazor/modules/event-handler.js';
3+
import { copy } from '../../../_content/BootstrapBlazor/modules/utility.js';
4+
export function init(id) {
5+
const el = document.getElementById(id);
6+
const tooltips = [];
7+
[...el.querySelectorAll('svg')].forEach(s => {
8+
const use = s.querySelector('use');
9+
const url = use.getAttribute('href');
10+
const segs = url.split('#');
11+
if (segs.length == 2) {
12+
const title = segs[1];
13+
s.parentElement.setAttribute('data-bs-original-title', title);
14+
tooltips.push(new bootstrap.Tooltip(s.parentElement));
15+
}
16+
});
17+
EventHandler.on(el, 'click', 'div', e => {
18+
const div = e.delegateTarget;
19+
const href = div.querySelector('use').getAttribute('href');
20+
const text = `<svg xmlns="http://www.w3.org/2000/svg"><use href="${href}"></use></svg>`;
21+
copy(text);
22+
const tooltip = bootstrap.Tooltip.getInstance(div);
23+
tooltip.setContent({ '.tooltip-inner': 'Copy' });
24+
const handler = setTimeout(() => {
25+
clearTimeout(handler);
26+
tooltip.setContent({ '.tooltip-inner': div.getAttribute('data-bs-original-title') });
27+
}, 1000);
28+
});
29+
Data.set(id, {
30+
el,
31+
tooltips
32+
})
33+
}
34+
35+
export function dispose(id) {
36+
const data = Data.get(id);
37+
Data.remove(id);
38+
39+
const { el, tooltips } = data;
40+
EventHandler.off(el, 'click');
41+
tooltips.forEach(t => t.dispose());
42+
}

src/BootstrapBlazor.Server/Components/Samples/Icons/BootstrapIcons.razor

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@page "/bs-icon"
2-
@layout MainLayout
32
@inject IStringLocalizer<BootstrapIcons> Localizer
43

54
<h3>@Localizer["Title"]</h3>

0 commit comments

Comments
 (0)