@coffic/cosy-ui 0.7.2 → 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 (112) hide show
  1. package/dist/alert-dialog-vue/AlertDialog.vue +120 -0
  2. package/dist/alert-dialog-vue/Basic.vue +38 -0
  3. package/dist/alert-dialog-vue/Multilang.vue +48 -0
  4. package/dist/alert-dialog-vue/index.ts +20 -0
  5. package/dist/app.css +1 -1
  6. package/dist/banner-box-vue/BannerBox.vue +296 -0
  7. package/dist/banner-box-vue/DownloadButton.vue +202 -0
  8. package/dist/banner-box-vue/ExampleBasic.vue +32 -0
  9. package/dist/banner-box-vue/ExampleCustomBg.vue +32 -0
  10. package/dist/banner-box-vue/ExampleDisplayModeAlways.vue +34 -0
  11. package/dist/banner-box-vue/ExampleDisplayModeHover.vue +34 -0
  12. package/dist/banner-box-vue/ExampleDisplayModeNever.vue +34 -0
  13. package/dist/banner-box-vue/ExampleImageExport.vue +37 -0
  14. package/dist/banner-box-vue/ExampleSizePreset.vue +35 -0
  15. package/dist/banner-box-vue/FeatureCard.vue +190 -0
  16. package/dist/banner-box-vue/SmartBanner.vue +44 -0
  17. package/dist/banner-box-vue/bgStyles.ts +55 -0
  18. package/dist/banner-box-vue/index.ts +48 -0
  19. package/dist/banner-box-vue/sizePresets.ts +23 -0
  20. package/dist/blog-vue/Basic.vue +30 -0
  21. package/dist/blog-vue/BlogList.vue +100 -0
  22. package/dist/blog-vue/Empty.vue +8 -0
  23. package/dist/blog-vue/EmptyEnglish.vue +8 -0
  24. package/dist/blog-vue/English.vue +24 -0
  25. package/dist/blog-vue/index.ts +29 -0
  26. package/dist/buttons-vue/Button.vue +105 -0
  27. package/dist/buttons-vue/ButtonBasic.vue +11 -0
  28. package/dist/buttons-vue/ButtonFeature.vue +91 -0
  29. package/dist/buttons-vue/ButtonFeatureBasic.vue +8 -0
  30. package/dist/buttons-vue/ButtonFeatureWithTips.vue +7 -0
  31. package/dist/buttons-vue/ButtonLink.vue +13 -0
  32. package/dist/buttons-vue/ButtonSizes.vue +12 -0
  33. package/dist/buttons-vue/ButtonWithIcons.vue +21 -0
  34. package/dist/buttons-vue/index.ts +1 -0
  35. package/dist/card/Card.astro +59 -10
  36. package/dist/card/ECardBasic.astro +11 -0
  37. package/dist/card/ECardBasicContainer.astro +11 -0
  38. package/dist/card/ECardClickable.astro +13 -0
  39. package/dist/card/ECardClickableContainer.astro +11 -0
  40. package/dist/card/ECardCompact.astro +13 -0
  41. package/dist/card/ECardCompactContainer.astro +11 -0
  42. package/dist/card/ECardCustomStyle.astro +17 -0
  43. package/dist/card/ECardCustomStyleContainer.astro +11 -0
  44. package/dist/card/ECardWithImage.astro +16 -0
  45. package/dist/card/ECardWithImageContainer.astro +11 -0
  46. package/dist/card/ECardWithSubtitle.astro +13 -0
  47. package/dist/card/ECardWithSubtitleContainer.astro +11 -0
  48. package/dist/card/index.ts +32 -6
  49. package/dist/confirm-dialog-vue/Basic.vue +57 -0
  50. package/dist/confirm-dialog-vue/ConfirmDialog.vue +134 -0
  51. package/dist/confirm-dialog-vue/CustomButtons.vue +69 -0
  52. package/dist/confirm-dialog-vue/index.ts +20 -0
  53. package/dist/contact/Contact.astro +279 -0
  54. package/dist/contact/EContactBasic.astro +15 -0
  55. package/dist/contact/EContactBasicContainer.astro +12 -0
  56. package/dist/contact/EContactCompact.astro +12 -0
  57. package/dist/contact/EContactCompactContainer.astro +12 -0
  58. package/dist/contact/EContactCustomStyle.astro +22 -0
  59. package/dist/contact/EContactCustomStyleContainer.astro +12 -0
  60. package/dist/contact/EContactSocial.astro +21 -0
  61. package/dist/contact/EContactSocialContainer.astro +12 -0
  62. package/dist/contact/EContactWithTitle.astro +18 -0
  63. package/dist/contact/EContactWithTitleContainer.astro +12 -0
  64. package/dist/contact/index.ts +21 -0
  65. package/dist/counter-vue/VueCounter.vue +29 -0
  66. package/dist/counter-vue/index.ts +1 -0
  67. package/dist/iPhone-vue/Basic.vue +33 -0
  68. package/dist/iPhone-vue/CustomBackground.vue +33 -0
  69. package/dist/iPhone-vue/NoFrame.vue +33 -0
  70. package/dist/iPhone-vue/WeatherApp.vue +97 -0
  71. package/dist/iPhone-vue/assets/iPhone 14 Pro - Deep Purple - Landscape.png +0 -0
  72. package/dist/iPhone-vue/assets/iPhone 14 Pro - Deep Purple - Portrait.png +0 -0
  73. package/dist/iPhone-vue/assets/iPhone 14 Pro - Gold - Landscape.png +0 -0
  74. package/dist/iPhone-vue/assets/iPhone 14 Pro - Gold - Portrait.png +0 -0
  75. package/dist/iPhone-vue/assets/iPhone 14 Pro - Silver - Landscape.png +0 -0
  76. package/dist/iPhone-vue/assets/iPhone 14 Pro - Silver - Portrait.png +0 -0
  77. package/dist/iPhone-vue/assets/iPhone 14 Pro - Space Black - Landscape.png +0 -0
  78. package/dist/iPhone-vue/assets/iPhone 14 Pro - Space Black - Portrait.png +0 -0
  79. package/dist/iPhone-vue/iPhoneWindow.vue +193 -0
  80. package/dist/iPhone-vue/index.ts +28 -0
  81. package/dist/icons-vue/AlertTriangleIcon.vue +30 -0
  82. package/dist/icons-vue/CalendarIcon.vue +30 -0
  83. package/dist/icons-vue/CheckCircleIcon.vue +30 -0
  84. package/dist/icons-vue/CheckIcon.vue +30 -0
  85. package/dist/icons-vue/ChevronDownIcon.vue +30 -0
  86. package/dist/icons-vue/ClipboardIcon.vue +30 -0
  87. package/dist/icons-vue/CloseIcon.vue +30 -0
  88. package/dist/icons-vue/InboxArchiveIcon.vue +30 -0
  89. package/dist/icons-vue/InfoCircleIcon.vue +30 -0
  90. package/dist/icons-vue/InfoIcon.vue +30 -0
  91. package/dist/icons-vue/LinkIcon.vue +30 -0
  92. package/dist/icons-vue/MenuIcon.vue +30 -0
  93. package/dist/icons-vue/SearchIcon.vue +30 -0
  94. package/dist/icons-vue/SettingsIcon.vue +30 -0
  95. package/dist/icons-vue/UserIcon.vue +30 -0
  96. package/dist/icons-vue/VueIcon.vue +76 -0
  97. package/dist/icons-vue/XCircleIcon.vue +30 -0
  98. package/dist/icons-vue/index.ts +1 -0
  99. package/dist/index_astro.ts +42 -33
  100. package/dist/index_vue.ts +12 -23
  101. package/dist/list-vue/ListItem.vue +5 -0
  102. package/dist/list-vue/index.ts +1 -0
  103. package/dist/mac-window-vue/Basic.vue +11 -0
  104. package/dist/mac-window-vue/CustomHeight.vue +13 -0
  105. package/dist/mac-window-vue/MacWindow.vue +262 -0
  106. package/dist/mac-window-vue/WithEvents.vue +34 -0
  107. package/dist/mac-window-vue/WithSidebar.vue +21 -0
  108. package/dist/mac-window-vue/WithTabs.vue +21 -0
  109. package/dist/mac-window-vue/WithToolbar.vue +43 -0
  110. package/dist/mac-window-vue/index.ts +36 -0
  111. package/package.json +2 -2
  112. /package/dist/{button → buttons-vue}/ButtonVariants.vue +0 -0
@@ -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="inboxArchive" :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>
@@ -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="search" :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="settings" :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="user" :size="size" :color="color" :class="props.class" />
30
+ </template>
@@ -0,0 +1,76 @@
1
+ <!--
2
+ @component Icon
3
+
4
+ @description
5
+ Icon 组件是一个可重用的SVG图标组件,用于显示各种图标。
6
+ 使用共享的图标数据,便于维护和一致性。
7
+
8
+ @usage
9
+ ```vue
10
+ <template>
11
+ <Icon name="alertTriangle" />
12
+
13
+ <Icon name="settings" size="32px" color="red" />
14
+
15
+ <Icon name="check" class="cosy:w-6 cosy:h-6 cosy:text-success" />
16
+ </template>
17
+
18
+ <script setup>
19
+ import { Icon } from 'cosy-ui';
20
+ </script>
21
+ ```
22
+
23
+ @props
24
+ @prop {string} name - 图标名称,必须在iconData中存在
25
+ @prop {string} [size='24px'] - 图标大小
26
+ @prop {string} [color='currentColor'] - 图标颜色
27
+ @prop {string} [class=''] - 自定义类名
28
+ -->
29
+
30
+ <script setup lang="ts">
31
+ import '../../style.ts'
32
+ import { computed } from 'vue'
33
+ import { iconData } from '../../assets/iconData'
34
+
35
+ interface Props {
36
+ /**
37
+ * 图标名称,必须在iconData中存在
38
+ */
39
+ name: string;
40
+ /**
41
+ * 图标大小
42
+ * @default "24px"
43
+ */
44
+ size?: string;
45
+ /**
46
+ * 图标颜色
47
+ * @default "currentColor"
48
+ */
49
+ color?: string;
50
+ /**
51
+ * 自定义类名
52
+ */
53
+ class?: string;
54
+ }
55
+
56
+ const props = withDefaults(defineProps<Props>(), {
57
+ size: '24px',
58
+ color: 'currentColor',
59
+ class: ''
60
+ })
61
+
62
+ const icon = computed(() => {
63
+ return iconData[props.name] || null
64
+ })
65
+
66
+ const viewBox = computed(() => {
67
+ return icon.value?.viewBox || '0 0 24 24'
68
+ })
69
+ </script>
70
+
71
+ <template>
72
+ <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" :viewBox="viewBox" fill="none" :stroke="color"
73
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" :class="props.class">
74
+ <path v-if="icon" :d="icon.path" />
75
+ </svg>
76
+ </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="xCircle" :size="size" :color="color" :class="props.class" />
30
+ </template>
@@ -0,0 +1 @@
1
+ export { default as List } from './InfoIcon.vue'
@@ -1,57 +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
20
  export * from './icons';
35
- export * from './products';
36
- export * from './blog';
21
+ export * from './image';
22
+ export * from './index_icons';
23
+ export * from './language-switcher';
24
+ export * from './layout-app';
25
+ export * from './layout-basic';
37
26
  export * from './layout-basic/BaseLayout.astro';
38
27
  export * from './layout-dashboard';
39
- export * from './index_icons';
40
- export * from './container';
28
+ export * from './link';
41
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';
42
35
  export * from './section';
43
- export * from './types/sidebar';
44
- 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
+ // 类型定义 (按字母顺序)
45
46
  export * from './types/article';
46
- export * from './types/layout';
47
+ export * from './types/footer';
47
48
  export * from './types/header';
48
49
  export * from './types/heading';
50
+ export * from './types/layout';
51
+ export * from './types/main';
49
52
  export * from './types/meta';
50
53
  export * from './types/nav';
51
54
  export * from './types/product';
52
- export * from './types/footer';
55
+ export * from './types/sidebar';
53
56
  export * from './types/static-path';
54
- export type { ImageProvider, ImageOptions } from './utils/image';
57
+
58
+ // 实体类 (按字母顺序)
55
59
  export * from './entities/BaseDoc';
56
60
  export * from './entities/BlogDoc';
57
61
  export * from './entities/CourseDoc';
@@ -60,9 +64,14 @@ export * from './entities/LessonDoc';
60
64
  export * from './entities/MetaDoc';
61
65
  export * from './entities/SidebarItem';
62
66
  export * from './entities/Tag';
67
+
68
+ // 数据库类 (按字母顺序)
63
69
  export * from './database/BaseDB';
64
70
  export * from './database/BlogDB';
65
71
  export * from './database/CourseDB';
66
72
  export * from './database/ExperimentDB';
67
73
  export * from './database/LessonDB';
68
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,5 @@
1
+ <template>
2
+ <li class="mb-2 rounded-md p-2 flex items-center gap-3 hover:bg-accent">
3
+ <slot />
4
+ </li>
5
+ </template>
@@ -0,0 +1 @@
1
+ export { default as ListItem } from './ListItem.vue'
@@ -0,0 +1,11 @@
1
+ <script setup>
2
+ import { MacWindow } from './index';
3
+ </script>
4
+
5
+ <template>
6
+ <MacWindow title="代码编辑器">
7
+ <div class="cosy:p-4">
8
+ 窗口内容区域
9
+ </div>
10
+ </MacWindow>
11
+ </template>
@@ -0,0 +1,13 @@
1
+ <script setup>
2
+ import { MacWindow } from './index';
3
+ </script>
4
+
5
+ <template>
6
+ <MacWindow title="终端" height="cosy:h-64">
7
+ <div class="cosy:p-4 cosy:bg-gray-900 cosy:text-green-400 cosy:font-mono">
8
+ $ echo "Hello, World!"<br />
9
+ Hello, World!<br />
10
+ $ _
11
+ </div>
12
+ </MacWindow>
13
+ </template>