@coffic/cosy-ui 0.6.12 → 0.6.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.css +1 -1
- package/dist/assets/iconData.ts +93 -0
- package/dist/components/base/Alert.astro +1 -1
- package/dist/components/base/Button.astro +102 -91
- package/dist/components/base/Image.astro +1 -1
- package/dist/components/base/Link.astro +1 -1
- package/dist/components/containers/Container.astro +1 -1
- package/dist/components/containers/Main.astro +1 -1
- package/dist/components/containers/Section.astro +96 -94
- package/dist/components/data-display/Blog.astro +1 -1
- package/dist/components/data-display/ProductCard.astro +2 -4
- package/dist/components/data-display/Products.astro +2 -2
- package/dist/components/data-display/TeamMember.astro +2 -4
- package/dist/components/data-display/TeamMembers.astro +1 -1
- package/dist/components/display/Banner.astro +1 -1
- package/dist/components/display/Card.astro +1 -1
- package/dist/components/display/CodeBlock.astro +1 -1
- package/dist/components/display/CodeExample.astro +1 -1
- package/dist/components/display/Hero.astro +1 -1
- package/dist/components/display/Modal.astro +1 -1
- package/dist/components/layouts/AppLayout.astro +2 -6
- package/dist/components/layouts/BaseLayout.astro +1 -1
- package/dist/components/layouts/DashboardLayout.astro +1 -1
- package/dist/components/layouts/Footer.astro +2 -5
- package/dist/components/layouts/Grid.astro +1 -1
- package/dist/components/layouts/Header.astro +1 -1
- package/dist/components/layouts/NavItems.astro +1 -1
- package/dist/components/layouts/Sidebar.astro +2 -2
- package/dist/components/layouts/SidebarNav.astro +1 -1
- package/dist/components/layouts/Stack.astro +72 -70
- package/dist/components/navigation/LanguageSwitcher.astro +2 -2
- package/dist/components/navigation/TableOfContents.astro +1 -1
- package/dist/components/navigation/ThemeSwitcher.astro +2 -2
- package/dist/components/typography/Article.astro +2 -2
- package/dist/components/typography/Heading.astro +2 -2
- package/dist/components/typography/Text.astro +1 -1
- package/dist/icons/AlertTriangle.astro +24 -0
- package/dist/icons/AstroIcon.astro +46 -0
- package/dist/icons/CalendarIcon.astro +24 -0
- package/dist/icons/CheckCircle.astro +23 -0
- package/dist/icons/CheckIcon.astro +27 -0
- package/dist/{components/icons → icons}/ChevronDownIcon.astro +3 -13
- package/dist/icons/ClipboardIcon.astro +27 -0
- package/dist/icons/CloseIcon.astro +27 -0
- package/dist/icons/ErrorIcon.astro +24 -0
- package/dist/icons/GithubIcon.astro +24 -0
- package/dist/icons/InfoCircle.astro +24 -0
- package/dist/icons/InfoIcon.astro +26 -0
- package/dist/icons/LinkIcon.astro +27 -0
- package/dist/icons/LinkedinIcon.astro +23 -0
- package/dist/icons/MenuIcon.astro +27 -0
- package/dist/icons/SearchIcon.astro +23 -0
- package/dist/icons/SettingsIcon.astro +18 -0
- package/dist/{components/icons → icons}/SocialIcon.astro +14 -14
- package/dist/icons/SuccessIcon.astro +24 -0
- package/dist/icons/SunCloudyIcon.astro +23 -0
- package/dist/icons/TwitterIcon.astro +24 -0
- package/dist/icons/UserIcon.astro +24 -0
- package/dist/icons/WarningIcon.astro +27 -0
- package/dist/icons/XCircle.astro +24 -0
- package/dist/index.ts +1 -1
- package/dist/index_icons.ts +23 -0
- package/dist/index_vue.ts +41 -0
- package/dist/vue/{AlertDialog.vue → AlertDialog/AlertDialog.vue} +1 -1
- package/dist/vue/AlertDialog/Basic.vue +38 -0
- package/dist/vue/AlertDialog/Multilang.vue +48 -0
- package/dist/vue/AlertDialog/index.ts +58 -0
- package/dist/vue/BannerBox/BannerBox.vue +435 -0
- package/dist/vue/BannerBox/Basic.vue +32 -0
- package/dist/vue/BannerBox/CustomBg.vue +32 -0
- package/dist/vue/BannerBox/CustomComponent.vue +60 -0
- package/dist/vue/BannerBox/DisplayMode.vue +49 -0
- package/dist/vue/{FeatureCard.vue → BannerBox/FeatureCard.vue} +23 -42
- package/dist/vue/BannerBox/ImageExport.vue +37 -0
- package/dist/vue/BannerBox/SizePreset.vue +35 -0
- package/dist/vue/BannerBox/SmartBanner.vue +44 -0
- package/dist/vue/BannerBox/index.ts +76 -0
- package/dist/vue/FeatureButton.vue +25 -26
- package/dist/vue/Icons/AlertTriangleIcon.vue +30 -0
- package/dist/vue/Icons/CalendarIcon.vue +30 -0
- package/dist/vue/Icons/CheckCircleIcon.vue +30 -0
- package/dist/vue/Icons/CheckIcon.vue +30 -0
- package/dist/vue/Icons/ChevronDownIcon.vue +30 -0
- package/dist/vue/Icons/ClipboardIcon.vue +30 -0
- package/dist/vue/Icons/CloseIcon.vue +30 -0
- package/dist/vue/Icons/InfoCircleIcon.vue +30 -0
- package/dist/vue/Icons/InfoIcon.vue +30 -0
- package/dist/vue/Icons/LinkIcon.vue +30 -0
- package/dist/vue/Icons/MenuIcon.vue +30 -0
- package/dist/vue/Icons/SearchIcon.vue +30 -0
- package/dist/vue/Icons/SettingsIcon.vue +30 -0
- package/dist/vue/Icons/UserIcon.vue +30 -0
- package/dist/vue/Icons/VueIcon.vue +76 -0
- package/dist/vue/Icons/XCircleIcon.vue +30 -0
- package/dist/vue/MacWindow/Basic.vue +11 -0
- package/dist/vue/MacWindow/CustomHeight.vue +13 -0
- package/dist/vue/{MacWindow.vue → MacWindow/MacWindow.vue} +70 -38
- package/dist/vue/MacWindow/WithEvents.vue +34 -0
- package/dist/vue/MacWindow/WithSidebar.vue +21 -0
- package/dist/vue/MacWindow/WithTabs.vue +21 -0
- package/dist/vue/MacWindow/WithToolbar.vue +43 -0
- package/dist/vue/MacWindow/index.ts +50 -0
- package/dist/vue/SmartHero.vue +28 -34
- package/dist/vue/VueCounter.vue +29 -0
- package/dist/vue/iPhone/Basic.vue +33 -0
- package/dist/vue/iPhone/CustomBackground.vue +33 -0
- package/dist/vue/iPhone/NoFrame.vue +33 -0
- package/dist/vue/iPhone/WeatherApp.vue +97 -0
- package/dist/vue/iPhone/assets/iPhone 14 Pro - Deep Purple - Landscape.png +0 -0
- package/dist/vue/iPhone/assets/iPhone 14 Pro - Deep Purple - Portrait.png +0 -0
- package/dist/vue/iPhone/assets/iPhone 14 Pro - Gold - Landscape.png +0 -0
- package/dist/vue/iPhone/assets/iPhone 14 Pro - Gold - Portrait.png +0 -0
- package/dist/vue/iPhone/assets/iPhone 14 Pro - Silver - Landscape.png +0 -0
- package/dist/vue/iPhone/assets/iPhone 14 Pro - Silver - Portrait.png +0 -0
- package/dist/vue/iPhone/assets/iPhone 14 Pro - Space Black - Landscape.png +0 -0
- package/dist/vue/iPhone/assets/iPhone 14 Pro - Space Black - Portrait.png +0 -0
- package/dist/vue/{iPhoneWindow.vue → iPhone/iPhoneWindow.vue} +11 -7
- package/dist/vue/iPhone/index.ts +41 -0
- package/dist/vue/shims-vue.d.ts +5 -0
- package/package.json +13 -12
- package/dist/components/icons/AlertTriangle.astro +0 -35
- package/dist/components/icons/CalendarIcon.astro +0 -38
- package/dist/components/icons/CheckCircle.astro +0 -36
- package/dist/components/icons/CheckIcon.astro +0 -38
- package/dist/components/icons/ClipboardIcon.astro +0 -39
- package/dist/components/icons/CloseIcon.astro +0 -38
- package/dist/components/icons/ErrorIcon.astro +0 -35
- package/dist/components/icons/GithubIcon.astro +0 -31
- package/dist/components/icons/InfoCircle.astro +0 -37
- package/dist/components/icons/InfoIcon.astro +0 -38
- package/dist/components/icons/LinkIcon.astro +0 -39
- package/dist/components/icons/LinkedinIcon.astro +0 -31
- package/dist/components/icons/MenuIcon.astro +0 -38
- package/dist/components/icons/SearchIcon.astro +0 -36
- package/dist/components/icons/SettingsIcon.astro +0 -36
- package/dist/components/icons/SuccessIcon.astro +0 -35
- package/dist/components/icons/SunCloudyIcon.astro +0 -41
- package/dist/components/icons/TwitterIcon.astro +0 -31
- package/dist/components/icons/UserIcon.astro +0 -35
- package/dist/components/icons/WarningIcon.astro +0 -38
- package/dist/components/icons/XCircle.astro +0 -37
- package/dist/entities/Banner.ts +0 -105
- package/dist/icons.ts +0 -22
- package/dist/vue/BannerBox.vue +0 -267
- package/dist/vue/FeatureGroup.vue +0 -22
- package/dist/vue/SmartBanner.vue +0 -45
- package/dist/vue/WildBanner.vue +0 -15
- package/dist/vue.ts +0 -14
- /package/dist/{collection.ts → index_collection.ts} +0 -0
@@ -1,47 +1,28 @@
|
|
1
1
|
<template>
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
v-else-if="presetIcon"
|
25
|
-
class="text-4xl text-base-content"
|
26
|
-
/>
|
27
|
-
<div
|
28
|
-
v-else
|
29
|
-
class="text-4xl text-base-content"
|
30
|
-
>
|
31
|
-
{{ emoji }}
|
2
|
+
<component :is="link ? 'a' : 'div'" :href="link || undefined" :target="link ? '_blank' : undefined"
|
3
|
+
:rel="link ? 'noopener noreferrer' : undefined" :class="[
|
4
|
+
'card bg-base-100/10 backdrop-blur-lg p-8 transition-all duration-300 hover:-translate-y-1 shadow-lg',
|
5
|
+
{
|
6
|
+
'hover:bg-primary/15 cursor-pointer': link,
|
7
|
+
'cursor-default': !link
|
8
|
+
}
|
9
|
+
]">
|
10
|
+
<div class="card-body p-0">
|
11
|
+
<div class="mb-4">
|
12
|
+
<component :is="icon" v-if="icon" class="text-4xl text-base-content" />
|
13
|
+
<component :is="getPresetIcon" v-else-if="presetIcon" class="text-4xl text-base-content" />
|
14
|
+
<div v-else class="text-4xl text-base-content">
|
15
|
+
{{ emoji }}
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<h3 class="card-title text-lg font-medium text-base-content">
|
19
|
+
{{ title }}
|
20
|
+
</h3>
|
21
|
+
<p v-if="description" class="text-base-content/70">
|
22
|
+
{{ description }}
|
23
|
+
</p>
|
32
24
|
</div>
|
33
|
-
|
34
|
-
<h3 class="card-title text-lg font-medium text-base-content">
|
35
|
-
{{ title }}
|
36
|
-
</h3>
|
37
|
-
<p
|
38
|
-
v-if="description"
|
39
|
-
class="text-base-content/70"
|
40
|
-
>
|
41
|
-
{{ description }}
|
42
|
-
</p>
|
43
|
-
</div>
|
44
|
-
</component>
|
25
|
+
</component>
|
45
26
|
</template>
|
46
27
|
|
47
28
|
<script setup lang="ts">
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<!--
|
2
|
+
@component BannerBox.ImageExport
|
3
|
+
|
4
|
+
@description
|
5
|
+
BannerBox 组件的导出为图片示例,展示如何使用图片导出功能。
|
6
|
+
|
7
|
+
@usage
|
8
|
+
```vue
|
9
|
+
<BannerBoxExamples.ImageExport />
|
10
|
+
```
|
11
|
+
-->
|
12
|
+
|
13
|
+
<script lang="ts">
|
14
|
+
import '../../app.css'
|
15
|
+
import { defineComponent } from 'vue'
|
16
|
+
import BannerBox from './BannerBox.vue'
|
17
|
+
|
18
|
+
export default defineComponent({
|
19
|
+
name: 'BannerBoxImageExportExample',
|
20
|
+
components: {
|
21
|
+
BannerBox
|
22
|
+
}
|
23
|
+
})
|
24
|
+
</script>
|
25
|
+
|
26
|
+
<template>
|
27
|
+
<div>
|
28
|
+
<p class="cosy:mb-4">悬停在左上角显示下载按钮,点击可下载当前内容为图片。</p>
|
29
|
+
<BannerBox :backgroundClassIndex="8">
|
30
|
+
<div
|
31
|
+
class="cosy:flex cosy:flex-col cosy:items-center cosy:justify-center cosy:min-h-[200px] cosy:p-8 cosy:text-center">
|
32
|
+
<h2 class="cosy:text-3xl cosy:font-bold cosy:mb-4">可导出为图片的内容</h2>
|
33
|
+
<p class="cosy:text-lg">适用于创建社交媒体分享图、营销材料等场景</p>
|
34
|
+
</div>
|
35
|
+
</BannerBox>
|
36
|
+
</div>
|
37
|
+
</template>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<!--
|
2
|
+
@component BannerBox.SizePreset
|
3
|
+
|
4
|
+
@description
|
5
|
+
BannerBox 组件的尺寸预设示例,展示如何使用尺寸选择功能。
|
6
|
+
|
7
|
+
@usage
|
8
|
+
```vue
|
9
|
+
<BannerBoxExamples.SizePreset />
|
10
|
+
```
|
11
|
+
-->
|
12
|
+
|
13
|
+
<script lang="ts">
|
14
|
+
import '../../app.css'
|
15
|
+
import { defineComponent } from 'vue'
|
16
|
+
import BannerBox from './BannerBox.vue'
|
17
|
+
|
18
|
+
export default defineComponent({
|
19
|
+
name: 'BannerBoxSizePresetExample',
|
20
|
+
components: {
|
21
|
+
BannerBox
|
22
|
+
}
|
23
|
+
})
|
24
|
+
</script>
|
25
|
+
|
26
|
+
<template>
|
27
|
+
<div>
|
28
|
+
<p class="cosy:mb-4">悬停在左上角显示下载按钮,点击可切换尺寸。尺寸会保存在浏览器中。</p>
|
29
|
+
<BannerBox>
|
30
|
+
<div class="cosy:flex cosy:items-center cosy:justify-center cosy:min-h-[200px]">
|
31
|
+
<h2 class="cosy:text-3xl cosy:font-bold">点击左上角按钮切换尺寸</h2>
|
32
|
+
</div>
|
33
|
+
</BannerBox>
|
34
|
+
</div>
|
35
|
+
</template>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<!--
|
2
|
+
@component BannerBox.SmartBanner
|
3
|
+
|
4
|
+
@description
|
5
|
+
BannerBox 组件的智能横幅模式示例,展示如何通过 title、description 和 features 属性创建结构化内容。
|
6
|
+
|
7
|
+
@usage
|
8
|
+
```vue
|
9
|
+
<BannerBoxExamples.SmartBanner />
|
10
|
+
```
|
11
|
+
-->
|
12
|
+
|
13
|
+
<script lang="ts">
|
14
|
+
import '../../app.css'
|
15
|
+
import { defineComponent } from 'vue'
|
16
|
+
import BannerBox from './BannerBox.vue'
|
17
|
+
|
18
|
+
export default defineComponent({
|
19
|
+
name: 'BannerBoxSmartBannerExample',
|
20
|
+
components: {
|
21
|
+
BannerBox
|
22
|
+
}
|
23
|
+
})
|
24
|
+
</script>
|
25
|
+
|
26
|
+
<template>
|
27
|
+
<BannerBox title="我们的产品特性" description="探索产品提供的所有强大功能" :features="[
|
28
|
+
{
|
29
|
+
emoji: '⚡',
|
30
|
+
title: '快速响应',
|
31
|
+
link: '#speed'
|
32
|
+
},
|
33
|
+
{
|
34
|
+
emoji: '🔒',
|
35
|
+
title: '安全可靠',
|
36
|
+
link: '#security'
|
37
|
+
},
|
38
|
+
{
|
39
|
+
emoji: '🌐',
|
40
|
+
title: '全球支持',
|
41
|
+
link: '#global'
|
42
|
+
}
|
43
|
+
]" />
|
44
|
+
</template>
|
@@ -0,0 +1,76 @@
|
|
1
|
+
import Basic from './Basic.vue';
|
2
|
+
import CustomBg from './CustomBg.vue';
|
3
|
+
import DisplayMode from './DisplayMode.vue';
|
4
|
+
import SmartBanner from './SmartBanner.vue';
|
5
|
+
import SizePreset from './SizePreset.vue';
|
6
|
+
import ImageExport from './ImageExport.vue';
|
7
|
+
import CustomComponent from './CustomComponent.vue';
|
8
|
+
import BasicSource from './Basic.vue?raw';
|
9
|
+
import CustomBgSource from './CustomBg.vue?raw';
|
10
|
+
import DisplayModeSource from './DisplayMode.vue?raw';
|
11
|
+
import SmartBannerSource from './SmartBanner.vue?raw';
|
12
|
+
import SizePresetSource from './SizePreset.vue?raw';
|
13
|
+
import ImageExportSource from './ImageExport.vue?raw';
|
14
|
+
import CustomComponentSource from './CustomComponent.vue?raw';
|
15
|
+
|
16
|
+
// 提取简单示例源代码函数
|
17
|
+
function extractSimpleExample(source: string): string {
|
18
|
+
// 提取模板部分
|
19
|
+
const templateMatch = source.match(/<template>([\s\S]*)<\/template>/m);
|
20
|
+
const scriptMatch = source.match(/<script[\s\S]*?>([\s\S]*)<\/script>/m);
|
21
|
+
|
22
|
+
if (!templateMatch) {
|
23
|
+
return source;
|
24
|
+
}
|
25
|
+
|
26
|
+
let importSection = `<script setup>
|
27
|
+
import { BannerBox } from 'cosy-ui'
|
28
|
+
`;
|
29
|
+
|
30
|
+
// 从源码中提取导入语句(除了组件的导入和app.css)
|
31
|
+
if (scriptMatch && scriptMatch[1]) {
|
32
|
+
const importLines = scriptMatch[1]
|
33
|
+
.split('\n')
|
34
|
+
.filter(
|
35
|
+
(line) =>
|
36
|
+
line.includes('import') && !line.includes('../../app.css') && !line.includes('BannerBox')
|
37
|
+
);
|
38
|
+
|
39
|
+
if (importLines.length > 0) {
|
40
|
+
importSection += importLines.join('\n') + '\n';
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
importSection += '</script>\n\n';
|
45
|
+
|
46
|
+
// 提取模板内容,并替换组件路径
|
47
|
+
const templateContent = templateMatch[1].replace('../BannerBox.vue', 'BannerBox');
|
48
|
+
|
49
|
+
return importSection + '<template>' + templateContent + '</template>';
|
50
|
+
}
|
51
|
+
|
52
|
+
// 获取 BannerBox 和 FeatureCard 组件
|
53
|
+
export { default as BannerBox } from './BannerBox.vue';
|
54
|
+
export { default as FeatureCard } from './FeatureCard.vue';
|
55
|
+
|
56
|
+
// 导出示例组件
|
57
|
+
export const BannerBoxExamples = {
|
58
|
+
Basic,
|
59
|
+
CustomBg,
|
60
|
+
DisplayMode,
|
61
|
+
SmartBanner,
|
62
|
+
SizePreset,
|
63
|
+
ImageExport,
|
64
|
+
CustomComponent,
|
65
|
+
};
|
66
|
+
|
67
|
+
// 导出示例源代码
|
68
|
+
export const BannerBoxExampleCodes = {
|
69
|
+
Basic: extractSimpleExample(BasicSource),
|
70
|
+
CustomBg: extractSimpleExample(CustomBgSource),
|
71
|
+
DisplayMode: extractSimpleExample(DisplayModeSource),
|
72
|
+
SmartBanner: extractSimpleExample(SmartBannerSource),
|
73
|
+
SizePreset: extractSimpleExample(SizePresetSource),
|
74
|
+
ImageExport: extractSimpleExample(ImageExportSource),
|
75
|
+
CustomComponent: extractSimpleExample(CustomComponentSource),
|
76
|
+
};
|
@@ -1,30 +1,23 @@
|
|
1
1
|
<template>
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
<slot />
|
12
|
-
{{ props.title }}
|
13
|
-
</button>
|
2
|
+
<div>
|
3
|
+
<!-- Button with hover effects -->
|
4
|
+
<button :class="[
|
5
|
+
'bg-cyan-500/20 p-4 rounded-2xl text-center backdrop-blur-lg text-2xl transition-all duration-300 hover:scale-105 hover:bg-cyan-500/30',
|
6
|
+
props.size
|
7
|
+
]" @click="showPopup">
|
8
|
+
<slot />
|
9
|
+
{{ props.title }}
|
10
|
+
</button>
|
14
11
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
</Transition>
|
27
|
-
</div>
|
12
|
+
<!-- Popup message -->
|
13
|
+
<Transition name="fade">
|
14
|
+
<div v-if="isPopupVisible" class="fixed inset-0 flex items-center justify-center z-50" @click="hidePopup">
|
15
|
+
<div class="bg-black/80 backdrop-blur-sm p-6 rounded-xl text-white animate-popup">
|
16
|
+
{{ lang === 'zh' ? '这是展示图,不支持操作' : 'This is a preview image, no operation is supported' }}
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
</Transition>
|
20
|
+
</div>
|
28
21
|
</template>
|
29
22
|
|
30
23
|
<script setup lang="ts">
|
@@ -92,4 +85,10 @@ const hidePopup = () => {
|
|
92
85
|
opacity: 1;
|
93
86
|
}
|
94
87
|
}
|
95
|
-
</style>
|
88
|
+
</style>
|
89
|
+
|
90
|
+
<script lang="ts">
|
91
|
+
export default {
|
92
|
+
name: 'FeatureButton'
|
93
|
+
}
|
94
|
+
</script>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import Icon from './VueIcon.vue';
|
3
|
+
|
4
|
+
interface Props {
|
5
|
+
/**
|
6
|
+
* 图标的大小
|
7
|
+
* @default "24px"
|
8
|
+
*/
|
9
|
+
size?: string;
|
10
|
+
/**
|
11
|
+
* 图标的颜色
|
12
|
+
* @default "currentColor"
|
13
|
+
*/
|
14
|
+
color?: string;
|
15
|
+
/**
|
16
|
+
* 自定义类名
|
17
|
+
*/
|
18
|
+
class?: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
22
|
+
size: '24px',
|
23
|
+
color: 'currentColor',
|
24
|
+
class: ''
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<Icon name="alertTriangle" :size="size" :color="color" :class="props.class" />
|
30
|
+
</template>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import Icon from './VueIcon.vue';
|
3
|
+
|
4
|
+
interface Props {
|
5
|
+
/**
|
6
|
+
* 图标的大小
|
7
|
+
* @default "24px"
|
8
|
+
*/
|
9
|
+
size?: string;
|
10
|
+
/**
|
11
|
+
* 图标的颜色
|
12
|
+
* @default "currentColor"
|
13
|
+
*/
|
14
|
+
color?: string;
|
15
|
+
/**
|
16
|
+
* 自定义类名
|
17
|
+
*/
|
18
|
+
class?: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
22
|
+
size: '24px',
|
23
|
+
color: 'currentColor',
|
24
|
+
class: ''
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<Icon name="calendar" :size="size" :color="color" :class="props.class" />
|
30
|
+
</template>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import Icon from './VueIcon.vue';
|
3
|
+
|
4
|
+
interface Props {
|
5
|
+
/**
|
6
|
+
* 图标的大小
|
7
|
+
* @default "24px"
|
8
|
+
*/
|
9
|
+
size?: string;
|
10
|
+
/**
|
11
|
+
* 图标的颜色
|
12
|
+
* @default "currentColor"
|
13
|
+
*/
|
14
|
+
color?: string;
|
15
|
+
/**
|
16
|
+
* 自定义类名
|
17
|
+
*/
|
18
|
+
class?: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
22
|
+
size: '24px',
|
23
|
+
color: 'currentColor',
|
24
|
+
class: ''
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<Icon name="checkCircle" :size="size" :color="color" :class="props.class" />
|
30
|
+
</template>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import Icon from './VueIcon.vue';
|
3
|
+
|
4
|
+
interface Props {
|
5
|
+
/**
|
6
|
+
* 图标的大小
|
7
|
+
* @default "24px"
|
8
|
+
*/
|
9
|
+
size?: string;
|
10
|
+
/**
|
11
|
+
* 图标的颜色
|
12
|
+
* @default "currentColor"
|
13
|
+
*/
|
14
|
+
color?: string;
|
15
|
+
/**
|
16
|
+
* 自定义类名
|
17
|
+
*/
|
18
|
+
class?: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
22
|
+
size: '24px',
|
23
|
+
color: 'currentColor',
|
24
|
+
class: ''
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<Icon name="check" :size="size" :color="color" :class="props.class" />
|
30
|
+
</template>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import Icon from './VueIcon.vue';
|
3
|
+
|
4
|
+
interface Props {
|
5
|
+
/**
|
6
|
+
* 图标的大小
|
7
|
+
* @default "24px"
|
8
|
+
*/
|
9
|
+
size?: string;
|
10
|
+
/**
|
11
|
+
* 图标的颜色
|
12
|
+
* @default "currentColor"
|
13
|
+
*/
|
14
|
+
color?: string;
|
15
|
+
/**
|
16
|
+
* 自定义类名
|
17
|
+
*/
|
18
|
+
class?: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
22
|
+
size: '24px',
|
23
|
+
color: 'currentColor',
|
24
|
+
class: ''
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<Icon name="chevronDown" :size="size" :color="color" :class="props.class" />
|
30
|
+
</template>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import Icon from './VueIcon.vue';
|
3
|
+
|
4
|
+
interface Props {
|
5
|
+
/**
|
6
|
+
* 图标的大小
|
7
|
+
* @default "24px"
|
8
|
+
*/
|
9
|
+
size?: string;
|
10
|
+
/**
|
11
|
+
* 图标的颜色
|
12
|
+
* @default "currentColor"
|
13
|
+
*/
|
14
|
+
color?: string;
|
15
|
+
/**
|
16
|
+
* 自定义类名
|
17
|
+
*/
|
18
|
+
class?: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
22
|
+
size: '24px',
|
23
|
+
color: 'currentColor',
|
24
|
+
class: ''
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<Icon name="clipboard" :size="size" :color="color" :class="props.class" />
|
30
|
+
</template>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import Icon from './VueIcon.vue';
|
3
|
+
|
4
|
+
interface Props {
|
5
|
+
/**
|
6
|
+
* 图标的大小
|
7
|
+
* @default "24px"
|
8
|
+
*/
|
9
|
+
size?: string;
|
10
|
+
/**
|
11
|
+
* 图标的颜色
|
12
|
+
* @default "currentColor"
|
13
|
+
*/
|
14
|
+
color?: string;
|
15
|
+
/**
|
16
|
+
* 自定义类名
|
17
|
+
*/
|
18
|
+
class?: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
22
|
+
size: '24px',
|
23
|
+
color: 'currentColor',
|
24
|
+
class: ''
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<Icon name="close" :size="size" :color="color" :class="props.class" />
|
30
|
+
</template>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import Icon from './VueIcon.vue';
|
3
|
+
|
4
|
+
interface Props {
|
5
|
+
/**
|
6
|
+
* 图标的大小
|
7
|
+
* @default "24px"
|
8
|
+
*/
|
9
|
+
size?: string;
|
10
|
+
/**
|
11
|
+
* 图标的颜色
|
12
|
+
* @default "currentColor"
|
13
|
+
*/
|
14
|
+
color?: string;
|
15
|
+
/**
|
16
|
+
* 自定义类名
|
17
|
+
*/
|
18
|
+
class?: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
22
|
+
size: '24px',
|
23
|
+
color: 'currentColor',
|
24
|
+
class: ''
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<Icon name="infoCircle" :size="size" :color="color" :class="props.class" />
|
30
|
+
</template>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import Icon from './VueIcon.vue';
|
3
|
+
|
4
|
+
interface Props {
|
5
|
+
/**
|
6
|
+
* 图标的大小
|
7
|
+
* @default "24px"
|
8
|
+
*/
|
9
|
+
size?: string;
|
10
|
+
/**
|
11
|
+
* 图标的颜色
|
12
|
+
* @default "currentColor"
|
13
|
+
*/
|
14
|
+
color?: string;
|
15
|
+
/**
|
16
|
+
* 自定义类名
|
17
|
+
*/
|
18
|
+
class?: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
22
|
+
size: '24px',
|
23
|
+
color: 'currentColor',
|
24
|
+
class: ''
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<Icon name="info" :size="size" :color="color" :class="props.class" />
|
30
|
+
</template>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import Icon from './VueIcon.vue';
|
3
|
+
|
4
|
+
interface Props {
|
5
|
+
/**
|
6
|
+
* 图标的大小
|
7
|
+
* @default "24px"
|
8
|
+
*/
|
9
|
+
size?: string;
|
10
|
+
/**
|
11
|
+
* 图标的颜色
|
12
|
+
* @default "currentColor"
|
13
|
+
*/
|
14
|
+
color?: string;
|
15
|
+
/**
|
16
|
+
* 自定义类名
|
17
|
+
*/
|
18
|
+
class?: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
22
|
+
size: '24px',
|
23
|
+
color: 'currentColor',
|
24
|
+
class: ''
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<Icon name="link" :size="size" :color="color" :class="props.class" />
|
30
|
+
</template>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import Icon from './VueIcon.vue';
|
3
|
+
|
4
|
+
interface Props {
|
5
|
+
/**
|
6
|
+
* 图标的大小
|
7
|
+
* @default "24px"
|
8
|
+
*/
|
9
|
+
size?: string;
|
10
|
+
/**
|
11
|
+
* 图标的颜色
|
12
|
+
* @default "currentColor"
|
13
|
+
*/
|
14
|
+
color?: string;
|
15
|
+
/**
|
16
|
+
* 自定义类名
|
17
|
+
*/
|
18
|
+
class?: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
const props = withDefaults(defineProps<Props>(), {
|
22
|
+
size: '24px',
|
23
|
+
color: 'currentColor',
|
24
|
+
class: ''
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<template>
|
29
|
+
<Icon name="menu" :size="size" :color="color" :class="props.class" />
|
30
|
+
</template>
|