@coffic/cosy-ui 0.6.42 → 0.7.4
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/alert/{AlertBasicContainer.astro → EAlertBasicContainer.astro} +2 -2
- package/dist/alert/{AlertCustomStyleContainer.astro → EAlertCustomStyleContainer.astro} +2 -2
- package/dist/alert/{AlertTypesContainer.astro → EAlertTypesContainer.astro} +8 -8
- package/dist/alert/{AlertWithTitleContainer.astro → EAlertWithTitleContainer.astro} +2 -2
- package/dist/alert/index.ts +12 -12
- package/dist/app.css +1 -1
- package/dist/button/ButtonBasicContainer.astro +1 -7
- package/dist/button/ButtonLinkContainer.astro +1 -7
- package/dist/button/ButtonSizesContainer.astro +1 -7
- package/dist/button/ButtonVariantsContainer.astro +1 -8
- package/dist/button/ButtonWithIconsContainer.astro +2 -13
- package/dist/button/index_astro.ts +1 -3
- package/dist/buttons-vue/index.ts +1 -0
- package/dist/card/Card.astro +59 -10
- package/dist/card/ECardBasic.astro +11 -0
- package/dist/card/ECardBasicContainer.astro +11 -0
- package/dist/card/ECardClickable.astro +13 -0
- package/dist/card/ECardClickableContainer.astro +11 -0
- package/dist/card/ECardCompact.astro +13 -0
- package/dist/card/ECardCompactContainer.astro +11 -0
- package/dist/card/ECardCustomStyle.astro +17 -0
- package/dist/card/ECardCustomStyleContainer.astro +11 -0
- package/dist/card/ECardWithImage.astro +16 -0
- package/dist/card/ECardWithImageContainer.astro +11 -0
- package/dist/card/ECardWithSubtitle.astro +13 -0
- package/dist/card/ECardWithSubtitleContainer.astro +11 -0
- package/dist/card/index.ts +32 -6
- package/dist/code-container/CodeContainer.astro +2 -2
- package/dist/code-container/index.ts +7 -7
- package/dist/contact/Contact.astro +279 -0
- package/dist/contact/EContactBasic.astro +15 -0
- package/dist/contact/EContactBasicContainer.astro +12 -0
- package/dist/contact/EContactCompact.astro +12 -0
- package/dist/contact/EContactCompactContainer.astro +12 -0
- package/dist/contact/EContactCustomStyle.astro +22 -0
- package/dist/contact/EContactCustomStyleContainer.astro +12 -0
- package/dist/contact/EContactSocial.astro +21 -0
- package/dist/contact/EContactSocialContainer.astro +12 -0
- package/dist/contact/EContactWithTitle.astro +18 -0
- package/dist/contact/EContactWithTitleContainer.astro +12 -0
- package/dist/contact/index.ts +21 -0
- package/dist/container/EContainerBasic.astro +13 -0
- package/dist/container/EContainerBasicContainer.astro +11 -0
- package/dist/container/EContainerFlexBetween.astro +16 -0
- package/dist/container/EContainerFlexCenter.astro +23 -0
- package/dist/container/EContainerFlexColumn.astro +16 -0
- package/dist/container/EContainerFlexContainer.astro +34 -0
- package/dist/container/EContainerFlexRow.astro +16 -0
- package/dist/container/EContainerPadding.astro +32 -0
- package/dist/container/EContainerPaddingContainer.astro +11 -0
- package/dist/container/EContainerSizes.astro +36 -0
- package/dist/container/EContainerSizesContainer.astro +11 -0
- package/dist/container/index.ts +16 -1
- package/dist/counter-vue/index.ts +1 -0
- package/dist/footer/{FooterBasic.astro → EFooterBasic.astro} +7 -1
- package/dist/footer/EFooterBasicContainer.astro +11 -0
- package/dist/footer/EFooterComplete.astro +45 -0
- package/dist/footer/EFooterCompleteContainer.astro +11 -0
- package/dist/footer/EFooterFeaturesContainer.astro +40 -0
- package/dist/footer/EFooterWithLogo.astro +23 -0
- package/dist/footer/EFooterWithLogoContainer.astro +11 -0
- package/dist/footer/EFooterWithNavigation.astro +24 -0
- package/dist/footer/EFooterWithNavigationContainer.astro +11 -0
- package/dist/footer/EFooterWithProducts.astro +24 -0
- package/dist/footer/EFooterWithProductsContainer.astro +11 -0
- package/dist/footer/EFooterWithSocial.astro +24 -0
- package/dist/footer/EFooterWithSocialContainer.astro +11 -0
- package/dist/footer/FooterSection.astro +4 -2
- package/dist/footer/index.ts +24 -4
- package/dist/icons/index.ts +3 -0
- package/dist/icons-vue/index.ts +1 -0
- package/dist/index_astro.ts +43 -33
- package/dist/index_vue.ts +12 -23
- package/dist/list-vue/index.ts +1 -0
- package/dist/{vue/MacWindow → mac-window-vue}/MacWindow.vue +1 -1
- package/package.json +3 -10
- package/dist/button/ButtonFeatureContainer.astro +0 -18
- package/dist/button/index_vue.ts +0 -4
- package/dist/vue/SmartLink.vue +0 -17
- package/dist/vue/TagList.vue +0 -23
- /package/dist/alert/{AlertBasic.astro → EAlertBasic.astro} +0 -0
- /package/dist/alert/{AlertCustomStyle.astro → EAlertCustomStyle.astro} +0 -0
- /package/dist/alert/{AlertError.astro → EAlertError.astro} +0 -0
- /package/dist/alert/{AlertInfo.astro → EAlertInfo.astro} +0 -0
- /package/dist/alert/{AlertSuccess.astro → EAlertSuccess.astro} +0 -0
- /package/dist/alert/{AlertWarning.astro → EAlertWarning.astro} +0 -0
- /package/dist/alert/{AlertWithTitle.astro → EAlertWithTitle.astro} +0 -0
- /package/dist/{vue/AlertDialog → alert-dialog-vue}/AlertDialog.vue +0 -0
- /package/dist/{vue/AlertDialog → alert-dialog-vue}/Basic.vue +0 -0
- /package/dist/{vue/AlertDialog → alert-dialog-vue}/Multilang.vue +0 -0
- /package/dist/{vue/AlertDialog → alert-dialog-vue}/index.ts +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/BannerBox.vue +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/DownloadButton.vue +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/ExampleBasic.vue +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/ExampleCustomBg.vue +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/ExampleDisplayModeAlways.vue +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/ExampleDisplayModeHover.vue +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/ExampleDisplayModeNever.vue +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/ExampleImageExport.vue +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/ExampleSizePreset.vue +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/FeatureCard.vue +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/SmartBanner.vue +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/bgStyles.ts +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/index.ts +0 -0
- /package/dist/{vue/BannerBox → banner-box-vue}/sizePresets.ts +0 -0
- /package/dist/{vue/BlogList → blog-vue}/Basic.vue +0 -0
- /package/dist/{vue/BlogList → blog-vue}/BlogList.vue +0 -0
- /package/dist/{vue/BlogList → blog-vue}/Empty.vue +0 -0
- /package/dist/{vue/BlogList → blog-vue}/EmptyEnglish.vue +0 -0
- /package/dist/{vue/BlogList → blog-vue}/English.vue +0 -0
- /package/dist/{vue/BlogList → blog-vue}/index.ts +0 -0
- /package/dist/{button → buttons-vue}/Button.vue +0 -0
- /package/dist/{button → buttons-vue}/ButtonBasic.vue +0 -0
- /package/dist/{button → buttons-vue}/ButtonFeature.vue +0 -0
- /package/dist/{button → buttons-vue}/ButtonFeatureBasic.vue +0 -0
- /package/dist/{button → buttons-vue}/ButtonFeatureWithTips.vue +0 -0
- /package/dist/{button → buttons-vue}/ButtonLink.vue +0 -0
- /package/dist/{button → buttons-vue}/ButtonSizes.vue +0 -0
- /package/dist/{button → buttons-vue}/ButtonVariants.vue +0 -0
- /package/dist/{button → buttons-vue}/ButtonWithIcons.vue +0 -0
- /package/dist/code-container/{CodeContainerBasic.astro → ECodeContainerBasic.astro} +0 -0
- /package/dist/code-container/{CodeContainerMultiple.astro → ECodeContainerMultiple.astro} +0 -0
- /package/dist/{vue/ConfirmDialog → confirm-dialog-vue}/Basic.vue +0 -0
- /package/dist/{vue/ConfirmDialog → confirm-dialog-vue}/ConfirmDialog.vue +0 -0
- /package/dist/{vue/ConfirmDialog → confirm-dialog-vue}/CustomButtons.vue +0 -0
- /package/dist/{vue/ConfirmDialog → confirm-dialog-vue}/index.ts +0 -0
- /package/dist/{vue → counter-vue}/VueCounter.vue +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/Basic.vue +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/CustomBackground.vue +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/NoFrame.vue +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/WeatherApp.vue +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Deep Purple - Landscape.png +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Deep Purple - Portrait.png +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Gold - Landscape.png +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Gold - Portrait.png +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Silver - Landscape.png +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Silver - Portrait.png +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Space Black - Landscape.png +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Space Black - Portrait.png +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/iPhoneWindow.vue +0 -0
- /package/dist/{vue/iPhone → iPhone-vue}/index.ts +0 -0
- /package/dist/{vue/Icons → icons-vue}/AlertTriangleIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/CalendarIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/CheckCircleIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/CheckIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/ChevronDownIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/ClipboardIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/CloseIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/InboxArchiveIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/InfoCircleIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/InfoIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/LinkIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/MenuIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/SearchIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/SettingsIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/UserIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/VueIcon.vue +0 -0
- /package/dist/{vue/Icons → icons-vue}/XCircleIcon.vue +0 -0
- /package/dist/{vue → list-vue}/ListItem.vue +0 -0
- /package/dist/{vue/MacWindow → mac-window-vue}/Basic.vue +0 -0
- /package/dist/{vue/MacWindow → mac-window-vue}/CustomHeight.vue +0 -0
- /package/dist/{vue/MacWindow → mac-window-vue}/WithEvents.vue +0 -0
- /package/dist/{vue/MacWindow → mac-window-vue}/WithSidebar.vue +0 -0
- /package/dist/{vue/MacWindow → mac-window-vue}/WithTabs.vue +0 -0
- /package/dist/{vue/MacWindow → mac-window-vue}/WithToolbar.vue +0 -0
- /package/dist/{vue/MacWindow → mac-window-vue}/index.ts +0 -0
@@ -0,0 +1,36 @@
|
|
1
|
+
---
|
2
|
+
/**
|
3
|
+
* @component Container.Sizes
|
4
|
+
*
|
5
|
+
* @description
|
6
|
+
* 展示Container组件的不同尺寸选项:xs、sm、md、lg、xl、full。
|
7
|
+
*/
|
8
|
+
import '../style.ts';
|
9
|
+
import { Container } from '../index';
|
10
|
+
---
|
11
|
+
|
12
|
+
<div class="cosy:space-y-4">
|
13
|
+
<Container size="xs" border>
|
14
|
+
<p class="cosy:text-center">超小尺寸容器 (xs)</p>
|
15
|
+
</Container>
|
16
|
+
|
17
|
+
<Container size="sm" border>
|
18
|
+
<p class="cosy:text-center">小尺寸容器 (sm)</p>
|
19
|
+
</Container>
|
20
|
+
|
21
|
+
<Container size="md" border>
|
22
|
+
<p class="cosy:text-center">中等尺寸容器 (md) - 默认</p>
|
23
|
+
</Container>
|
24
|
+
|
25
|
+
<Container size="lg" border>
|
26
|
+
<p class="cosy:text-center">大尺寸容器 (lg)</p>
|
27
|
+
</Container>
|
28
|
+
|
29
|
+
<Container size="xl" border>
|
30
|
+
<p class="cosy:text-center">超大尺寸容器 (xl)</p>
|
31
|
+
</Container>
|
32
|
+
|
33
|
+
<Container size="full" border>
|
34
|
+
<p class="cosy:text-center">全宽容器 (full)</p>
|
35
|
+
</Container>
|
36
|
+
</div>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
---
|
2
|
+
import { CodeContainer } from '../index';
|
3
|
+
import ContainerSizes from './EContainerSizes.astro';
|
4
|
+
import ContainerSizesSourceCode from './EContainerSizes.astro?raw';
|
5
|
+
---
|
6
|
+
|
7
|
+
<CodeContainer codes={[ContainerSizesSourceCode]}>
|
8
|
+
<div id="tab-1">
|
9
|
+
<ContainerSizes />
|
10
|
+
</div>
|
11
|
+
</CodeContainer>
|
package/dist/container/index.ts
CHANGED
@@ -1 +1,16 @@
|
|
1
|
-
|
1
|
+
import Container from './Container.astro';
|
2
|
+
import ContainerBasicContainer from './EContainerBasicContainer.astro';
|
3
|
+
import ContainerSizesContainer from './EContainerSizesContainer.astro';
|
4
|
+
import ContainerPaddingContainer from './EContainerPaddingContainer.astro';
|
5
|
+
import ContainerFlexContainer from './EContainerFlexContainer.astro';
|
6
|
+
|
7
|
+
export { default as Container } from './Container.astro';
|
8
|
+
export const ContainerPackage = {
|
9
|
+
Container,
|
10
|
+
ContainerContainers: {
|
11
|
+
Basic: ContainerBasicContainer,
|
12
|
+
Sizes: ContainerSizesContainer,
|
13
|
+
Padding: ContainerPaddingContainer,
|
14
|
+
Flex: ContainerFlexContainer,
|
15
|
+
},
|
16
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default as VueCounter } from './VueCounter.vue'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
---
|
2
|
+
import { CodeContainer } from '../index';
|
3
|
+
import FooterBasic from './EFooterBasic.astro';
|
4
|
+
import FooterBasicSourceCode from './EFooterBasic.astro?raw';
|
5
|
+
---
|
6
|
+
|
7
|
+
<CodeContainer codes={[FooterBasicSourceCode]}>
|
8
|
+
<div id="tab-1">
|
9
|
+
<FooterBasic />
|
10
|
+
</div>
|
11
|
+
</CodeContainer>
|
@@ -0,0 +1,45 @@
|
|
1
|
+
---
|
2
|
+
/**
|
3
|
+
* @component Footer.Complete
|
4
|
+
*
|
5
|
+
* @description
|
6
|
+
* 展示完整功能的页脚示例,包含所有主要属性。
|
7
|
+
*/
|
8
|
+
import { Footer } from '../index';
|
9
|
+
import { getExampleImage } from '../utils/image';
|
10
|
+
---
|
11
|
+
|
12
|
+
<Footer
|
13
|
+
siteName="我的网站"
|
14
|
+
homeLink="/"
|
15
|
+
slogan="简单而强大"
|
16
|
+
company="我的公司"
|
17
|
+
copyright="保留所有权利"
|
18
|
+
inspirationalSlogan="构建美好的数字体验"
|
19
|
+
logo={{
|
20
|
+
src: getExampleImage({ width: 100, height: 100, provider: 'robohash', tag: 'logo' }),
|
21
|
+
alt: '网站Logo',
|
22
|
+
}}
|
23
|
+
products={[
|
24
|
+
{ name: '产品A', href: '/products/a' },
|
25
|
+
{ name: '产品B', href: '/products/b' },
|
26
|
+
{ name: '产品C', href: '/products/c' },
|
27
|
+
{ name: '外部产品', href: 'https://example.com', external: true },
|
28
|
+
]}
|
29
|
+
socialLinks={[
|
30
|
+
'https://github.com/myusername',
|
31
|
+
'https://twitter.com/myusername',
|
32
|
+
'https://linkedin.com/in/myusername',
|
33
|
+
'https://facebook.com/myusername',
|
34
|
+
]}
|
35
|
+
aboutLink="/about"
|
36
|
+
contactLink="/contact"
|
37
|
+
termsLink="/terms"
|
38
|
+
privacyLink="/privacy"
|
39
|
+
teamLink="/team"
|
40
|
+
careersLink="/careers"
|
41
|
+
newsLink="/news"
|
42
|
+
blogLink="/blog"
|
43
|
+
faqLink="/faq"
|
44
|
+
icp="京ICP备12345678号"
|
45
|
+
/>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
---
|
2
|
+
import { CodeContainer } from '../index';
|
3
|
+
import FooterComplete from './EFooterComplete.astro';
|
4
|
+
import FooterCompleteSourceCode from './EFooterComplete.astro?raw';
|
5
|
+
---
|
6
|
+
|
7
|
+
<CodeContainer codes={[FooterCompleteSourceCode]}>
|
8
|
+
<div id="tab-1">
|
9
|
+
<FooterComplete />
|
10
|
+
</div>
|
11
|
+
</CodeContainer>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
---
|
2
|
+
import { CodeContainer } from '../index';
|
3
|
+
import FooterBasic from './EFooterBasic.astro';
|
4
|
+
import FooterWithSocial from './EFooterWithSocial.astro';
|
5
|
+
import FooterWithProducts from './EFooterWithProducts.astro';
|
6
|
+
import FooterWithLogo from './EFooterWithLogo.astro';
|
7
|
+
import FooterWithNavigation from './EFooterWithNavigation.astro';
|
8
|
+
|
9
|
+
import FooterBasicSourceCode from './EFooterBasic.astro?raw';
|
10
|
+
import FooterWithSocialSourceCode from './EFooterWithSocial.astro?raw';
|
11
|
+
import FooterWithProductsSourceCode from './EFooterWithProducts.astro?raw';
|
12
|
+
import FooterWithLogoSourceCode from './EFooterWithLogo.astro?raw';
|
13
|
+
import FooterWithNavigationSourceCode from './EFooterWithNavigation.astro?raw';
|
14
|
+
---
|
15
|
+
|
16
|
+
<CodeContainer
|
17
|
+
titles={['基础', '社交媒体', '产品链接', 'Logo', '导航链接']}
|
18
|
+
codes={[
|
19
|
+
FooterBasicSourceCode,
|
20
|
+
FooterWithSocialSourceCode,
|
21
|
+
FooterWithProductsSourceCode,
|
22
|
+
FooterWithLogoSourceCode,
|
23
|
+
FooterWithNavigationSourceCode,
|
24
|
+
]}>
|
25
|
+
<div id="tab-1">
|
26
|
+
<FooterBasic />
|
27
|
+
</div>
|
28
|
+
<div id="tab-2">
|
29
|
+
<FooterWithSocial />
|
30
|
+
</div>
|
31
|
+
<div id="tab-3">
|
32
|
+
<FooterWithProducts />
|
33
|
+
</div>
|
34
|
+
<div id="tab-4">
|
35
|
+
<FooterWithLogo />
|
36
|
+
</div>
|
37
|
+
<div id="tab-5">
|
38
|
+
<FooterWithNavigation />
|
39
|
+
</div>
|
40
|
+
</CodeContainer>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
/**
|
3
|
+
* @component Footer.WithLogo
|
4
|
+
*
|
5
|
+
* @description
|
6
|
+
* 展示带有Logo的页脚示例。
|
7
|
+
*/
|
8
|
+
import { Footer } from '../index';
|
9
|
+
import { getExampleImage } from '../utils/image';
|
10
|
+
---
|
11
|
+
|
12
|
+
<Footer
|
13
|
+
siteName="我的网站"
|
14
|
+
homeLink="/"
|
15
|
+
slogan="简单而强大"
|
16
|
+
company="我的公司"
|
17
|
+
copyright="保留所有权利"
|
18
|
+
inspirationalSlogan="构建美好的数字体验"
|
19
|
+
logo={{
|
20
|
+
src: getExampleImage({ width: 100, height: 100, provider: 'robohash', tag: 'logo' }),
|
21
|
+
alt: '网站Logo',
|
22
|
+
}}
|
23
|
+
/>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
---
|
2
|
+
import { CodeContainer } from '../index';
|
3
|
+
import FooterWithLogo from './EFooterWithLogo.astro';
|
4
|
+
import FooterWithLogoSourceCode from './EFooterWithLogo.astro?raw';
|
5
|
+
---
|
6
|
+
|
7
|
+
<CodeContainer codes={[FooterWithLogoSourceCode]}>
|
8
|
+
<div id="tab-1">
|
9
|
+
<FooterWithLogo />
|
10
|
+
</div>
|
11
|
+
</CodeContainer>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
/**
|
3
|
+
* @component Footer.WithNavigation
|
4
|
+
*
|
5
|
+
* @description
|
6
|
+
* 展示带有导航链接的页脚示例。
|
7
|
+
*/
|
8
|
+
import { Footer } from '../index';
|
9
|
+
---
|
10
|
+
|
11
|
+
<Footer
|
12
|
+
siteName="我的网站"
|
13
|
+
homeLink="/"
|
14
|
+
slogan="简单而强大"
|
15
|
+
company="我的公司"
|
16
|
+
copyright="保留所有权利"
|
17
|
+
inspirationalSlogan="构建美好的数字体验"
|
18
|
+
aboutLink="/about"
|
19
|
+
contactLink="/contact"
|
20
|
+
termsLink="/terms"
|
21
|
+
privacyLink="/privacy"
|
22
|
+
blogLink="/blog"
|
23
|
+
faqLink="/faq"
|
24
|
+
/>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
---
|
2
|
+
import { CodeContainer } from '../index';
|
3
|
+
import FooterWithNavigation from './EFooterWithNavigation.astro';
|
4
|
+
import FooterWithNavigationSourceCode from './EFooterWithNavigation.astro?raw';
|
5
|
+
---
|
6
|
+
|
7
|
+
<CodeContainer codes={[FooterWithNavigationSourceCode]}>
|
8
|
+
<div id="tab-1">
|
9
|
+
<FooterWithNavigation />
|
10
|
+
</div>
|
11
|
+
</CodeContainer>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
/**
|
3
|
+
* @component Footer.WithProducts
|
4
|
+
*
|
5
|
+
* @description
|
6
|
+
* 展示带有产品链接的页脚示例。
|
7
|
+
*/
|
8
|
+
import { Footer } from '../index';
|
9
|
+
---
|
10
|
+
|
11
|
+
<Footer
|
12
|
+
siteName="我的网站"
|
13
|
+
homeLink="/"
|
14
|
+
slogan="简单而强大"
|
15
|
+
company="我的公司"
|
16
|
+
copyright="保留所有权利"
|
17
|
+
inspirationalSlogan="构建美好的数字体验"
|
18
|
+
products={[
|
19
|
+
{ name: '产品A', href: '/products/a' },
|
20
|
+
{ name: '产品B', href: '/products/b' },
|
21
|
+
{ name: '产品C', href: '/products/c' },
|
22
|
+
{ name: '外部产品', href: 'https://example.com', external: true },
|
23
|
+
]}
|
24
|
+
/>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
---
|
2
|
+
import { CodeContainer } from '../index';
|
3
|
+
import FooterWithProducts from './EFooterWithProducts.astro';
|
4
|
+
import FooterWithProductsSourceCode from './EFooterWithProducts.astro?raw';
|
5
|
+
---
|
6
|
+
|
7
|
+
<CodeContainer codes={[FooterWithProductsSourceCode]}>
|
8
|
+
<div id="tab-1">
|
9
|
+
<FooterWithProducts />
|
10
|
+
</div>
|
11
|
+
</CodeContainer>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
/**
|
3
|
+
* @component Footer.WithSocial
|
4
|
+
*
|
5
|
+
* @description
|
6
|
+
* 展示带有社交媒体链接的页脚示例。
|
7
|
+
*/
|
8
|
+
import { Footer } from '../index';
|
9
|
+
---
|
10
|
+
|
11
|
+
<Footer
|
12
|
+
siteName="我的网站"
|
13
|
+
homeLink="/"
|
14
|
+
slogan="简单而强大"
|
15
|
+
company="我的公司"
|
16
|
+
copyright="保留所有权利"
|
17
|
+
inspirationalSlogan="构建美好的数字体验"
|
18
|
+
socialLinks={[
|
19
|
+
'https://github.com/myusername',
|
20
|
+
'https://twitter.com/myusername',
|
21
|
+
'https://linkedin.com/in/myusername',
|
22
|
+
'https://facebook.com/myusername',
|
23
|
+
]}
|
24
|
+
/>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
---
|
2
|
+
import { CodeContainer } from '../index';
|
3
|
+
import FooterWithSocial from './EFooterWithSocial.astro';
|
4
|
+
import FooterWithSocialSourceCode from './EFooterWithSocial.astro?raw';
|
5
|
+
---
|
6
|
+
|
7
|
+
<CodeContainer codes={[FooterWithSocialSourceCode]}>
|
8
|
+
<div id="tab-1">
|
9
|
+
<FooterWithSocial />
|
10
|
+
</div>
|
11
|
+
</CodeContainer>
|
@@ -31,9 +31,11 @@ const { title, links } = Astro.props;
|
|
31
31
|
<ul class="cosy:flex cosy:flex-col cosy:gap-2">
|
32
32
|
{
|
33
33
|
links.map((link) => (
|
34
|
-
<li>
|
34
|
+
<li class="cosy:list-none">
|
35
35
|
{link.href ? (
|
36
|
-
<a
|
36
|
+
<a
|
37
|
+
href={link.href}
|
38
|
+
class="cosy:link cosy:link-hover cosy:no-underline cosy:hover:no-underline">
|
37
39
|
{link.name}
|
38
40
|
</a>
|
39
41
|
) : (
|
package/dist/footer/index.ts
CHANGED
@@ -1,11 +1,31 @@
|
|
1
1
|
import Footer from './Footer.astro';
|
2
|
-
import
|
3
|
-
import
|
2
|
+
import FooterBasicContainer from './EFooterBasicContainer.astro';
|
3
|
+
import FooterWithSocialContainer from './EFooterWithSocialContainer.astro';
|
4
|
+
import FooterWithProductsContainer from './EFooterWithProductsContainer.astro';
|
5
|
+
import FooterWithLogoContainer from './EFooterWithLogoContainer.astro';
|
6
|
+
import FooterWithNavigationContainer from './EFooterWithNavigationContainer.astro';
|
7
|
+
import FooterCompleteContainer from './EFooterCompleteContainer.astro';
|
8
|
+
import FooterFeaturesContainer from './EFooterFeaturesContainer.astro';
|
9
|
+
import EFooterBasicSourceCode from './EFooterBasic.astro?raw';
|
4
10
|
import { extractSimpleExample } from '../utils/component';
|
5
11
|
|
6
|
-
export { Footer
|
12
|
+
export { default as Footer } from './Footer.astro';
|
7
13
|
|
8
14
|
// 导出示例源代码
|
9
15
|
export const FooterExampleCodes = {
|
10
|
-
|
16
|
+
Basic: extractSimpleExample(EFooterBasicSourceCode, 'Footer'),
|
17
|
+
};
|
18
|
+
|
19
|
+
// 导出页脚包
|
20
|
+
export const FooterPackage = {
|
21
|
+
Footer,
|
22
|
+
FooterContainers: {
|
23
|
+
Basic: FooterBasicContainer,
|
24
|
+
WithSocial: FooterWithSocialContainer,
|
25
|
+
WithProducts: FooterWithProductsContainer,
|
26
|
+
WithLogo: FooterWithLogoContainer,
|
27
|
+
WithNavigation: FooterWithNavigationContainer,
|
28
|
+
Complete: FooterCompleteContainer,
|
29
|
+
Features: FooterFeaturesContainer,
|
30
|
+
},
|
11
31
|
};
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default as List } from './InfoIcon.vue'
|
package/dist/index_astro.ts
CHANGED
@@ -1,56 +1,61 @@
|
|
1
|
-
|
1
|
+
// 基础组件和功能模块 (按字母顺序)
|
2
|
+
export * from './alert';
|
3
|
+
export * from './article';
|
2
4
|
export * from './banner';
|
3
5
|
export * from './blog';
|
6
|
+
export * from './button/index_astro';
|
4
7
|
export * from './card';
|
8
|
+
export * from './code-block';
|
5
9
|
export * from './code-container';
|
6
|
-
export * from './
|
7
|
-
export * from './
|
8
|
-
export * from './
|
9
|
-
export * from './alert';
|
10
|
-
export * from './footer';
|
11
|
-
export * from './layout-app';
|
12
|
-
export * from './layout-basic';
|
13
|
-
export * from './speak';
|
14
|
-
export * from './module';
|
15
|
-
export * from './nav-item';
|
16
|
-
export * from './language-switcher';
|
17
|
-
export * from './toc';
|
18
|
-
export * from './sidebar';
|
19
|
-
export * from './sidebar-nav';
|
20
|
-
export * from './theme-switcher';
|
21
|
-
export * from './header';
|
10
|
+
export * from './code-example';
|
11
|
+
export * from './contact';
|
12
|
+
export * from './container';
|
22
13
|
export * from './errors';
|
23
14
|
export * from './flex';
|
15
|
+
export * from './footer';
|
24
16
|
export * from './grid';
|
17
|
+
export * from './header';
|
25
18
|
export * from './heading';
|
26
|
-
export * from './stack';
|
27
|
-
export * from './text';
|
28
|
-
export * from './nav-section';
|
29
|
-
export * from './team-member';
|
30
|
-
export * from './code-block';
|
31
|
-
export * from './modal';
|
32
19
|
export * from './hero';
|
33
|
-
export * from './
|
34
|
-
export * from './
|
35
|
-
export * from './
|
20
|
+
export * from './icons';
|
21
|
+
export * from './image';
|
22
|
+
export * from './index_icons';
|
23
|
+
export * from './language-switcher';
|
24
|
+
export * from './layout-app';
|
25
|
+
export * from './layout-basic';
|
36
26
|
export * from './layout-basic/BaseLayout.astro';
|
37
27
|
export * from './layout-dashboard';
|
38
|
-
export * from './
|
39
|
-
export * from './container';
|
28
|
+
export * from './link';
|
40
29
|
export * from './main';
|
30
|
+
export * from './modal';
|
31
|
+
export * from './module';
|
32
|
+
export * from './nav-item';
|
33
|
+
export * from './nav-section';
|
34
|
+
export * from './products';
|
41
35
|
export * from './section';
|
42
|
-
export * from './
|
43
|
-
export * from './
|
36
|
+
export * from './sidebar';
|
37
|
+
export * from './sidebar-nav';
|
38
|
+
export * from './speak';
|
39
|
+
export * from './stack';
|
40
|
+
export * from './team-member';
|
41
|
+
export * from './text';
|
42
|
+
export * from './theme-switcher';
|
43
|
+
export * from './toc';
|
44
|
+
|
45
|
+
// 类型定义 (按字母顺序)
|
44
46
|
export * from './types/article';
|
45
|
-
export * from './types/
|
47
|
+
export * from './types/footer';
|
46
48
|
export * from './types/header';
|
47
49
|
export * from './types/heading';
|
50
|
+
export * from './types/layout';
|
51
|
+
export * from './types/main';
|
48
52
|
export * from './types/meta';
|
49
53
|
export * from './types/nav';
|
50
54
|
export * from './types/product';
|
51
|
-
export * from './types/
|
55
|
+
export * from './types/sidebar';
|
52
56
|
export * from './types/static-path';
|
53
|
-
|
57
|
+
|
58
|
+
// 实体类 (按字母顺序)
|
54
59
|
export * from './entities/BaseDoc';
|
55
60
|
export * from './entities/BlogDoc';
|
56
61
|
export * from './entities/CourseDoc';
|
@@ -59,9 +64,14 @@ export * from './entities/LessonDoc';
|
|
59
64
|
export * from './entities/MetaDoc';
|
60
65
|
export * from './entities/SidebarItem';
|
61
66
|
export * from './entities/Tag';
|
67
|
+
|
68
|
+
// 数据库类 (按字母顺序)
|
62
69
|
export * from './database/BaseDB';
|
63
70
|
export * from './database/BlogDB';
|
64
71
|
export * from './database/CourseDB';
|
65
72
|
export * from './database/ExperimentDB';
|
66
73
|
export * from './database/LessonDB';
|
67
74
|
export * from './database/MetaDB';
|
75
|
+
|
76
|
+
// 工具类型
|
77
|
+
export type { ImageProvider, ImageOptions } from './utils/image';
|
package/dist/index_vue.ts
CHANGED
@@ -1,44 +1,33 @@
|
|
1
1
|
// AlertDialog
|
2
|
-
export
|
2
|
+
export * from './alert-dialog-vue/index';
|
3
3
|
|
4
4
|
// Banner
|
5
|
-
export
|
5
|
+
export * from './banner-box-vue/index';
|
6
6
|
|
7
7
|
// BlogList
|
8
|
-
export * from './vue/
|
8
|
+
export * from './blog-vue/index';
|
9
9
|
|
10
10
|
// Counter
|
11
|
-
export
|
11
|
+
export * from './counter-vue/index';
|
12
12
|
|
13
13
|
// ConfirmDialog
|
14
|
-
export
|
15
|
-
export { ConfirmDialogExamples, ConfirmDialogExampleCodes } from './vue/ConfirmDialog';
|
14
|
+
export * from './confirm-dialog-vue/index';
|
16
15
|
|
17
16
|
// Buttons
|
18
|
-
export * from './
|
19
|
-
|
20
|
-
export { default as FeatureCard } from './vue/BannerBox/FeatureCard.vue';
|
17
|
+
export * from './buttons-vue/index';
|
21
18
|
|
22
19
|
// Icons
|
23
|
-
export
|
24
|
-
export { default as SettingsIcon } from './vue/Icons/SettingsIcon.vue';
|
25
|
-
export { default as InfoIcon } from './vue/Icons/InfoIcon.vue';
|
26
|
-
export { default as InfoCircleIcon } from './vue/Icons/InfoCircleIcon.vue';
|
27
|
-
export { default as LinkIcon } from './vue/Icons/LinkIcon.vue';
|
28
|
-
export { default as MenuIcon } from './vue/Icons/MenuIcon.vue';
|
29
|
-
export { default as UserIcon } from './vue/Icons/UserIcon.vue';
|
30
|
-
export { default as XCircleIcon } from './vue/Icons/XCircleIcon.vue';
|
31
|
-
export { default as InboxArchiveIcon } from './vue/Icons/InboxArchiveIcon.vue';
|
20
|
+
export * from './icons-vue/index';
|
32
21
|
|
33
22
|
// List
|
34
|
-
export
|
23
|
+
export * from './list-vue/index';
|
35
24
|
|
36
25
|
// Windows
|
37
|
-
export { MacWindowExamples, MacWindowExampleCodes, MacWindow } from './vue/MacWindow';
|
38
|
-
export { iPhoneWindowExamples, iPhoneWindowExampleCodes, iPhoneWindow } from './vue/iPhone';
|
26
|
+
// export { MacWindowExamples, MacWindowExampleCodes, MacWindow } from './vue/MacWindow';
|
27
|
+
// export { iPhoneWindowExamples, iPhoneWindowExampleCodes, iPhoneWindow } from './vue/iPhone';
|
39
28
|
|
40
29
|
// SmartLink
|
41
|
-
export { default as SmartLink } from './vue/SmartLink.vue';
|
30
|
+
// export { default as SmartLink } from './vue/SmartLink.vue';
|
42
31
|
|
43
32
|
// TagList
|
44
|
-
export { default as TagList } from './vue/TagList.vue';
|
33
|
+
// export { default as TagList } from './vue/TagList.vue';
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default as ListItem } from './ListItem.vue'
|
@@ -96,7 +96,7 @@ const activeTab = ref('外观');
|
|
96
96
|
|
97
97
|
<script lang="ts">
|
98
98
|
import '../../style.ts'
|
99
|
-
import AlertDialog from '../
|
99
|
+
import AlertDialog from '../alert-dialog-vue/AlertDialog.vue'
|
100
100
|
import { ref, defineComponent, type PropType } from 'vue'
|
101
101
|
|
102
102
|
export default defineComponent({
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@coffic/cosy-ui",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.7.4",
|
4
4
|
"description": "An astro component library",
|
5
5
|
"author": {
|
6
6
|
"name": "nookery",
|
@@ -34,7 +34,7 @@
|
|
34
34
|
"index.ts"
|
35
35
|
],
|
36
36
|
"scripts": {
|
37
|
-
"dev": "astro dev --host 0.0.0.0 --port
|
37
|
+
"dev": "astro dev --host 0.0.0.0 --port 6688",
|
38
38
|
"preview:docs": "astro preview --host 0.0.0.0 --port 4330 --outDir dist-docs",
|
39
39
|
"preview": "npm run preview:docs",
|
40
40
|
"build": "npm run build:cosy && npm run build:docs",
|
@@ -48,7 +48,6 @@
|
|
48
48
|
"astro": "^5.1.3"
|
49
49
|
},
|
50
50
|
"dependencies": {
|
51
|
-
"@remixicon/vue": "^4.6.0",
|
52
51
|
"astro-integration-kit": "^0.18.0",
|
53
52
|
"fs-extra": "^11.3.0",
|
54
53
|
"html-to-image": "^1.11.13"
|
@@ -57,7 +56,6 @@
|
|
57
56
|
"@astrojs/check": "^0.9.4",
|
58
57
|
"@astrojs/mdx": "^4.2.6",
|
59
58
|
"@astrojs/ts-plugin": "^1.10.4",
|
60
|
-
"@astrojs/vue": "^5.0.13",
|
61
59
|
"@eslint/js": "^9.27.0",
|
62
60
|
"@tailwindcss/typography": "^0.5.16",
|
63
61
|
"@tailwindcss/vite": "^4.1.7",
|
@@ -69,8 +67,6 @@
|
|
69
67
|
"@types/node": "^22.15.19",
|
70
68
|
"@types/react": "^19.1.4",
|
71
69
|
"@typescript-eslint/parser": "^8.32.1",
|
72
|
-
"@vitejs/plugin-vue": "^5.2.4",
|
73
|
-
"@vue/tsconfig": "^0.7.0",
|
74
70
|
"astro": "^5.7.13",
|
75
71
|
"chai": "^4.5.0",
|
76
72
|
"daisyui": "^5.0.35",
|
@@ -86,9 +82,6 @@
|
|
86
82
|
"tsx": "^4.19.4",
|
87
83
|
"typescript": "^5.8.3",
|
88
84
|
"typescript-eslint": "^8.32.1",
|
89
|
-
"vite": "^6.3.5"
|
90
|
-
"vite-plugin-vue-devtools": "^7.7.6",
|
91
|
-
"vue": "^3.5.14",
|
92
|
-
"vue-eslint-parser": "^10.1.3"
|
85
|
+
"vite": "^6.3.5"
|
93
86
|
}
|
94
87
|
}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
---
|
2
|
-
import { CodeContainer } from '../index';
|
3
|
-
import ButtonFeatureBasic from './ButtonFeatureBasic.vue';
|
4
|
-
import ButtonFeatureWithTips from './ButtonFeatureWithTips.vue';
|
5
|
-
import ButtonFeatureBasicSourceCode from './ButtonFeatureBasic.vue?raw';
|
6
|
-
import ButtonFeatureWithTipsSourceCode from './ButtonFeatureWithTips.vue?raw';
|
7
|
-
---
|
8
|
-
|
9
|
-
<CodeContainer
|
10
|
-
titles={['Vue-基础用法', 'Vue-带提示功能']}
|
11
|
-
codes={[ButtonFeatureBasicSourceCode, ButtonFeatureWithTipsSourceCode]}>
|
12
|
-
<div id="tab-1">
|
13
|
-
<ButtonFeatureBasic client:load />
|
14
|
-
</div>
|
15
|
-
<div id="tab-2">
|
16
|
-
<ButtonFeatureWithTips client:load />
|
17
|
-
</div>
|
18
|
-
</CodeContainer>
|