@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.
Files changed (166) hide show
  1. package/dist/alert/{AlertBasicContainer.astro → EAlertBasicContainer.astro} +2 -2
  2. package/dist/alert/{AlertCustomStyleContainer.astro → EAlertCustomStyleContainer.astro} +2 -2
  3. package/dist/alert/{AlertTypesContainer.astro → EAlertTypesContainer.astro} +8 -8
  4. package/dist/alert/{AlertWithTitleContainer.astro → EAlertWithTitleContainer.astro} +2 -2
  5. package/dist/alert/index.ts +12 -12
  6. package/dist/app.css +1 -1
  7. package/dist/button/ButtonBasicContainer.astro +1 -7
  8. package/dist/button/ButtonLinkContainer.astro +1 -7
  9. package/dist/button/ButtonSizesContainer.astro +1 -7
  10. package/dist/button/ButtonVariantsContainer.astro +1 -8
  11. package/dist/button/ButtonWithIconsContainer.astro +2 -13
  12. package/dist/button/index_astro.ts +1 -3
  13. package/dist/buttons-vue/index.ts +1 -0
  14. package/dist/card/Card.astro +59 -10
  15. package/dist/card/ECardBasic.astro +11 -0
  16. package/dist/card/ECardBasicContainer.astro +11 -0
  17. package/dist/card/ECardClickable.astro +13 -0
  18. package/dist/card/ECardClickableContainer.astro +11 -0
  19. package/dist/card/ECardCompact.astro +13 -0
  20. package/dist/card/ECardCompactContainer.astro +11 -0
  21. package/dist/card/ECardCustomStyle.astro +17 -0
  22. package/dist/card/ECardCustomStyleContainer.astro +11 -0
  23. package/dist/card/ECardWithImage.astro +16 -0
  24. package/dist/card/ECardWithImageContainer.astro +11 -0
  25. package/dist/card/ECardWithSubtitle.astro +13 -0
  26. package/dist/card/ECardWithSubtitleContainer.astro +11 -0
  27. package/dist/card/index.ts +32 -6
  28. package/dist/code-container/CodeContainer.astro +2 -2
  29. package/dist/code-container/index.ts +7 -7
  30. package/dist/contact/Contact.astro +279 -0
  31. package/dist/contact/EContactBasic.astro +15 -0
  32. package/dist/contact/EContactBasicContainer.astro +12 -0
  33. package/dist/contact/EContactCompact.astro +12 -0
  34. package/dist/contact/EContactCompactContainer.astro +12 -0
  35. package/dist/contact/EContactCustomStyle.astro +22 -0
  36. package/dist/contact/EContactCustomStyleContainer.astro +12 -0
  37. package/dist/contact/EContactSocial.astro +21 -0
  38. package/dist/contact/EContactSocialContainer.astro +12 -0
  39. package/dist/contact/EContactWithTitle.astro +18 -0
  40. package/dist/contact/EContactWithTitleContainer.astro +12 -0
  41. package/dist/contact/index.ts +21 -0
  42. package/dist/container/EContainerBasic.astro +13 -0
  43. package/dist/container/EContainerBasicContainer.astro +11 -0
  44. package/dist/container/EContainerFlexBetween.astro +16 -0
  45. package/dist/container/EContainerFlexCenter.astro +23 -0
  46. package/dist/container/EContainerFlexColumn.astro +16 -0
  47. package/dist/container/EContainerFlexContainer.astro +34 -0
  48. package/dist/container/EContainerFlexRow.astro +16 -0
  49. package/dist/container/EContainerPadding.astro +32 -0
  50. package/dist/container/EContainerPaddingContainer.astro +11 -0
  51. package/dist/container/EContainerSizes.astro +36 -0
  52. package/dist/container/EContainerSizesContainer.astro +11 -0
  53. package/dist/container/index.ts +16 -1
  54. package/dist/counter-vue/index.ts +1 -0
  55. package/dist/footer/{FooterBasic.astro → EFooterBasic.astro} +7 -1
  56. package/dist/footer/EFooterBasicContainer.astro +11 -0
  57. package/dist/footer/EFooterComplete.astro +45 -0
  58. package/dist/footer/EFooterCompleteContainer.astro +11 -0
  59. package/dist/footer/EFooterFeaturesContainer.astro +40 -0
  60. package/dist/footer/EFooterWithLogo.astro +23 -0
  61. package/dist/footer/EFooterWithLogoContainer.astro +11 -0
  62. package/dist/footer/EFooterWithNavigation.astro +24 -0
  63. package/dist/footer/EFooterWithNavigationContainer.astro +11 -0
  64. package/dist/footer/EFooterWithProducts.astro +24 -0
  65. package/dist/footer/EFooterWithProductsContainer.astro +11 -0
  66. package/dist/footer/EFooterWithSocial.astro +24 -0
  67. package/dist/footer/EFooterWithSocialContainer.astro +11 -0
  68. package/dist/footer/FooterSection.astro +4 -2
  69. package/dist/footer/index.ts +24 -4
  70. package/dist/icons/index.ts +3 -0
  71. package/dist/icons-vue/index.ts +1 -0
  72. package/dist/index_astro.ts +43 -33
  73. package/dist/index_vue.ts +12 -23
  74. package/dist/list-vue/index.ts +1 -0
  75. package/dist/{vue/MacWindow → mac-window-vue}/MacWindow.vue +1 -1
  76. package/package.json +3 -10
  77. package/dist/button/ButtonFeatureContainer.astro +0 -18
  78. package/dist/button/index_vue.ts +0 -4
  79. package/dist/vue/SmartLink.vue +0 -17
  80. package/dist/vue/TagList.vue +0 -23
  81. /package/dist/alert/{AlertBasic.astro → EAlertBasic.astro} +0 -0
  82. /package/dist/alert/{AlertCustomStyle.astro → EAlertCustomStyle.astro} +0 -0
  83. /package/dist/alert/{AlertError.astro → EAlertError.astro} +0 -0
  84. /package/dist/alert/{AlertInfo.astro → EAlertInfo.astro} +0 -0
  85. /package/dist/alert/{AlertSuccess.astro → EAlertSuccess.astro} +0 -0
  86. /package/dist/alert/{AlertWarning.astro → EAlertWarning.astro} +0 -0
  87. /package/dist/alert/{AlertWithTitle.astro → EAlertWithTitle.astro} +0 -0
  88. /package/dist/{vue/AlertDialog → alert-dialog-vue}/AlertDialog.vue +0 -0
  89. /package/dist/{vue/AlertDialog → alert-dialog-vue}/Basic.vue +0 -0
  90. /package/dist/{vue/AlertDialog → alert-dialog-vue}/Multilang.vue +0 -0
  91. /package/dist/{vue/AlertDialog → alert-dialog-vue}/index.ts +0 -0
  92. /package/dist/{vue/BannerBox → banner-box-vue}/BannerBox.vue +0 -0
  93. /package/dist/{vue/BannerBox → banner-box-vue}/DownloadButton.vue +0 -0
  94. /package/dist/{vue/BannerBox → banner-box-vue}/ExampleBasic.vue +0 -0
  95. /package/dist/{vue/BannerBox → banner-box-vue}/ExampleCustomBg.vue +0 -0
  96. /package/dist/{vue/BannerBox → banner-box-vue}/ExampleDisplayModeAlways.vue +0 -0
  97. /package/dist/{vue/BannerBox → banner-box-vue}/ExampleDisplayModeHover.vue +0 -0
  98. /package/dist/{vue/BannerBox → banner-box-vue}/ExampleDisplayModeNever.vue +0 -0
  99. /package/dist/{vue/BannerBox → banner-box-vue}/ExampleImageExport.vue +0 -0
  100. /package/dist/{vue/BannerBox → banner-box-vue}/ExampleSizePreset.vue +0 -0
  101. /package/dist/{vue/BannerBox → banner-box-vue}/FeatureCard.vue +0 -0
  102. /package/dist/{vue/BannerBox → banner-box-vue}/SmartBanner.vue +0 -0
  103. /package/dist/{vue/BannerBox → banner-box-vue}/bgStyles.ts +0 -0
  104. /package/dist/{vue/BannerBox → banner-box-vue}/index.ts +0 -0
  105. /package/dist/{vue/BannerBox → banner-box-vue}/sizePresets.ts +0 -0
  106. /package/dist/{vue/BlogList → blog-vue}/Basic.vue +0 -0
  107. /package/dist/{vue/BlogList → blog-vue}/BlogList.vue +0 -0
  108. /package/dist/{vue/BlogList → blog-vue}/Empty.vue +0 -0
  109. /package/dist/{vue/BlogList → blog-vue}/EmptyEnglish.vue +0 -0
  110. /package/dist/{vue/BlogList → blog-vue}/English.vue +0 -0
  111. /package/dist/{vue/BlogList → blog-vue}/index.ts +0 -0
  112. /package/dist/{button → buttons-vue}/Button.vue +0 -0
  113. /package/dist/{button → buttons-vue}/ButtonBasic.vue +0 -0
  114. /package/dist/{button → buttons-vue}/ButtonFeature.vue +0 -0
  115. /package/dist/{button → buttons-vue}/ButtonFeatureBasic.vue +0 -0
  116. /package/dist/{button → buttons-vue}/ButtonFeatureWithTips.vue +0 -0
  117. /package/dist/{button → buttons-vue}/ButtonLink.vue +0 -0
  118. /package/dist/{button → buttons-vue}/ButtonSizes.vue +0 -0
  119. /package/dist/{button → buttons-vue}/ButtonVariants.vue +0 -0
  120. /package/dist/{button → buttons-vue}/ButtonWithIcons.vue +0 -0
  121. /package/dist/code-container/{CodeContainerBasic.astro → ECodeContainerBasic.astro} +0 -0
  122. /package/dist/code-container/{CodeContainerMultiple.astro → ECodeContainerMultiple.astro} +0 -0
  123. /package/dist/{vue/ConfirmDialog → confirm-dialog-vue}/Basic.vue +0 -0
  124. /package/dist/{vue/ConfirmDialog → confirm-dialog-vue}/ConfirmDialog.vue +0 -0
  125. /package/dist/{vue/ConfirmDialog → confirm-dialog-vue}/CustomButtons.vue +0 -0
  126. /package/dist/{vue/ConfirmDialog → confirm-dialog-vue}/index.ts +0 -0
  127. /package/dist/{vue → counter-vue}/VueCounter.vue +0 -0
  128. /package/dist/{vue/iPhone → iPhone-vue}/Basic.vue +0 -0
  129. /package/dist/{vue/iPhone → iPhone-vue}/CustomBackground.vue +0 -0
  130. /package/dist/{vue/iPhone → iPhone-vue}/NoFrame.vue +0 -0
  131. /package/dist/{vue/iPhone → iPhone-vue}/WeatherApp.vue +0 -0
  132. /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Deep Purple - Landscape.png +0 -0
  133. /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Deep Purple - Portrait.png +0 -0
  134. /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Gold - Landscape.png +0 -0
  135. /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Gold - Portrait.png +0 -0
  136. /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Silver - Landscape.png +0 -0
  137. /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Silver - Portrait.png +0 -0
  138. /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Space Black - Landscape.png +0 -0
  139. /package/dist/{vue/iPhone → iPhone-vue}/assets/iPhone 14 Pro - Space Black - Portrait.png +0 -0
  140. /package/dist/{vue/iPhone → iPhone-vue}/iPhoneWindow.vue +0 -0
  141. /package/dist/{vue/iPhone → iPhone-vue}/index.ts +0 -0
  142. /package/dist/{vue/Icons → icons-vue}/AlertTriangleIcon.vue +0 -0
  143. /package/dist/{vue/Icons → icons-vue}/CalendarIcon.vue +0 -0
  144. /package/dist/{vue/Icons → icons-vue}/CheckCircleIcon.vue +0 -0
  145. /package/dist/{vue/Icons → icons-vue}/CheckIcon.vue +0 -0
  146. /package/dist/{vue/Icons → icons-vue}/ChevronDownIcon.vue +0 -0
  147. /package/dist/{vue/Icons → icons-vue}/ClipboardIcon.vue +0 -0
  148. /package/dist/{vue/Icons → icons-vue}/CloseIcon.vue +0 -0
  149. /package/dist/{vue/Icons → icons-vue}/InboxArchiveIcon.vue +0 -0
  150. /package/dist/{vue/Icons → icons-vue}/InfoCircleIcon.vue +0 -0
  151. /package/dist/{vue/Icons → icons-vue}/InfoIcon.vue +0 -0
  152. /package/dist/{vue/Icons → icons-vue}/LinkIcon.vue +0 -0
  153. /package/dist/{vue/Icons → icons-vue}/MenuIcon.vue +0 -0
  154. /package/dist/{vue/Icons → icons-vue}/SearchIcon.vue +0 -0
  155. /package/dist/{vue/Icons → icons-vue}/SettingsIcon.vue +0 -0
  156. /package/dist/{vue/Icons → icons-vue}/UserIcon.vue +0 -0
  157. /package/dist/{vue/Icons → icons-vue}/VueIcon.vue +0 -0
  158. /package/dist/{vue/Icons → icons-vue}/XCircleIcon.vue +0 -0
  159. /package/dist/{vue → list-vue}/ListItem.vue +0 -0
  160. /package/dist/{vue/MacWindow → mac-window-vue}/Basic.vue +0 -0
  161. /package/dist/{vue/MacWindow → mac-window-vue}/CustomHeight.vue +0 -0
  162. /package/dist/{vue/MacWindow → mac-window-vue}/WithEvents.vue +0 -0
  163. /package/dist/{vue/MacWindow → mac-window-vue}/WithSidebar.vue +0 -0
  164. /package/dist/{vue/MacWindow → mac-window-vue}/WithTabs.vue +0 -0
  165. /package/dist/{vue/MacWindow → mac-window-vue}/WithToolbar.vue +0 -0
  166. /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>
@@ -1 +1,16 @@
1
- export { default as Container } from './Container.astro';
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'
@@ -1,5 +1,11 @@
1
1
  ---
2
- import Footer from './Footer.astro';
2
+ /**
3
+ * @component Footer.Basic
4
+ *
5
+ * @description
6
+ * 基础Footer组件示例,展示最简单的页脚用法。
7
+ */
8
+ import { Footer } from '../index';
3
9
  ---
4
10
 
5
11
  <Footer
@@ -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 href={link.href} class="cosy:link cosy:link-hover">
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
  ) : (
@@ -1,11 +1,31 @@
1
1
  import Footer from './Footer.astro';
2
- import FooterBasic from './FooterBasic.astro';
3
- import BasicSourceCode from './FooterBasic.astro?raw';
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, FooterBasic };
12
+ export { default as Footer } from './Footer.astro';
7
13
 
8
14
  // 导出示例源代码
9
15
  export const FooterExampleCodes = {
10
- Basic: extractSimpleExample(BasicSourceCode, 'Footer'),
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,3 @@
1
+
2
+ // 导出所有图标组件
3
+ export * from '../index_icons';
@@ -0,0 +1 @@
1
+ export { default as List } from './InfoIcon.vue'
@@ -1,56 +1,61 @@
1
- export * from './button/index_astro';
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 './article';
7
- export * from './link';
8
- export * from './image';
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 './code-example';
34
- export * from './products';
35
- export * from './blog';
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 './index_icons';
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 './types/sidebar';
43
- export * from './types/main';
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/layout';
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/footer';
55
+ export * from './types/sidebar';
52
56
  export * from './types/static-path';
53
- export type { ImageProvider, ImageOptions } from './utils/image';
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 { AlertDialogExamples, AlertDialogExampleCodes, AlertDialog } from './vue/AlertDialog';
2
+ export * from './alert-dialog-vue/index';
3
3
 
4
4
  // Banner
5
- export { BannerBoxExamples, BannerBoxExampleCodes, BannerBox } from './vue/BannerBox';
5
+ export * from './banner-box-vue/index';
6
6
 
7
7
  // BlogList
8
- export * from './vue/BlogList';
8
+ export * from './blog-vue/index';
9
9
 
10
10
  // Counter
11
- export { default as VueCounter } from './vue/VueCounter.vue';
11
+ export * from './counter-vue/index';
12
12
 
13
13
  // ConfirmDialog
14
- export { default as ConfirmDialog } from './vue/ConfirmDialog/ConfirmDialog.vue';
15
- export { ConfirmDialogExamples, ConfirmDialogExampleCodes } from './vue/ConfirmDialog';
14
+ export * from './confirm-dialog-vue/index';
16
15
 
17
16
  // Buttons
18
- export * from './button/index_vue';
19
-
20
- export { default as FeatureCard } from './vue/BannerBox/FeatureCard.vue';
17
+ export * from './buttons-vue/index';
21
18
 
22
19
  // Icons
23
- export { default as SearchIcon } from './vue/Icons/SearchIcon.vue';
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 { default as ListItem } from './vue/ListItem.vue';
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 '../AlertDialog/AlertDialog.vue'
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.6.42",
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 6677",
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>