@coffic/cosy-ui 0.7.2 → 0.8.6

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 (607) hide show
  1. package/dist/app.css +1 -1
  2. package/dist/index-astro.ts +86 -0
  3. package/dist/index-collection.ts +104 -0
  4. package/dist/index-vue.ts +33 -0
  5. package/dist/{alert → src-astro/alert}/Alert.astro +39 -33
  6. package/dist/{alert → src-astro/alert}/EAlertBasic.astro +1 -1
  7. package/dist/{alert → src-astro/alert}/EAlertBasicContainer.astro +4 -4
  8. package/dist/src-astro/alert/EAlertCustomStyle.astro +16 -0
  9. package/dist/{alert → src-astro/alert}/EAlertCustomStyleContainer.astro +4 -4
  10. package/dist/src-astro/alert/EAlertError.astro +6 -0
  11. package/dist/src-astro/alert/EAlertInfo.astro +6 -0
  12. package/dist/src-astro/alert/EAlertSuccess.astro +6 -0
  13. package/dist/{alert → src-astro/alert}/EAlertTypesContainer.astro +21 -21
  14. package/dist/src-astro/alert/EAlertWarning.astro +6 -0
  15. package/dist/{alert → src-astro/alert}/EAlertWithTitle.astro +2 -2
  16. package/dist/{alert → src-astro/alert}/EAlertWithTitleContainer.astro +4 -4
  17. package/dist/{alert → src-astro/alert}/index.ts +9 -9
  18. package/dist/{article → src-astro/article}/Article.astro +17 -17
  19. package/dist/src-astro/article/ArticleBasic.astro +35 -0
  20. package/dist/{article → src-astro/article}/index.ts +1 -1
  21. package/dist/src-astro/assets/iconData.ts +117 -0
  22. package/dist/src-astro/banner/Banner.astro +174 -0
  23. package/dist/src-astro/banner/BannerAllAnimations.astro +10 -0
  24. package/dist/{banner → src-astro/banner}/BannerBasic.astro +1 -1
  25. package/dist/src-astro/banner/BannerCustomStyle.astro +8 -0
  26. package/dist/{banner → src-astro/banner}/BannerDanger.astro +1 -1
  27. package/dist/{banner → src-astro/banner}/BannerFadeIn.astro +1 -1
  28. package/dist/{banner → src-astro/banner}/BannerInfo.astro +1 -1
  29. package/dist/{banner → src-astro/banner}/BannerPrimary.astro +1 -1
  30. package/dist/{banner → src-astro/banner}/BannerSecondary.astro +1 -1
  31. package/dist/{banner → src-astro/banner}/BannerSlideUp.astro +1 -1
  32. package/dist/{banner → src-astro/banner}/BannerSuccess.astro +1 -1
  33. package/dist/{banner → src-astro/banner}/BannerWarning.astro +1 -1
  34. package/dist/{banner → src-astro/banner}/index.ts +15 -2
  35. package/dist/src-astro/button/Button.astro +192 -0
  36. package/dist/src-astro/button/ButtonBasic.astro +18 -0
  37. package/dist/{button → src-astro/button}/ButtonBasicContainer.astro +4 -4
  38. package/dist/src-astro/button/ButtonIconBoth.astro +9 -0
  39. package/dist/{button → src-astro/button}/ButtonIconLeft.astro +2 -2
  40. package/dist/{button → src-astro/button}/ButtonIconRight.astro +2 -2
  41. package/dist/{button → src-astro/button}/ButtonLinkContainer.astro +9 -9
  42. package/dist/{button → src-astro/button}/ButtonLinkExternal.astro +2 -2
  43. package/dist/src-astro/button/ButtonShapes.astro +23 -0
  44. package/dist/{button → src-astro/button}/ButtonShapesContainer.astro +16 -12
  45. package/dist/src-astro/button/ButtonSizes.astro +15 -0
  46. package/dist/{button → src-astro/button}/ButtonSizesContainer.astro +4 -4
  47. package/dist/src-astro/button/ButtonStates.astro +12 -0
  48. package/dist/{button → src-astro/button}/ButtonStatesContainer.astro +4 -4
  49. package/dist/src-astro/button/ButtonVariants.astro +14 -0
  50. package/dist/{button → src-astro/button}/ButtonVariantsContainer.astro +45 -36
  51. package/dist/{button → src-astro/button}/ButtonWidth.astro +2 -2
  52. package/dist/{button → src-astro/button}/ButtonWidthContainer.astro +9 -9
  53. package/dist/src-astro/button/ButtonWithIcons.astro +25 -0
  54. package/dist/{button → src-astro/button}/ButtonWithIconsContainer.astro +16 -12
  55. package/dist/{button → src-astro/button}/index_astro.ts +29 -31
  56. package/dist/{card → src-astro/card}/Card.astro +75 -15
  57. package/dist/src-astro/card/CardCourse.astro +34 -0
  58. package/dist/src-astro/card/ECardBasic.astro +13 -0
  59. package/dist/src-astro/card/ECardBasicContainer.astro +11 -0
  60. package/dist/src-astro/card/ECardClickable.astro +16 -0
  61. package/dist/src-astro/card/ECardClickableContainer.astro +11 -0
  62. package/dist/src-astro/card/ECardCompact.astro +13 -0
  63. package/dist/src-astro/card/ECardCompactContainer.astro +11 -0
  64. package/dist/src-astro/card/ECardCustomStyle.astro +17 -0
  65. package/dist/src-astro/card/ECardCustomStyleContainer.astro +11 -0
  66. package/dist/src-astro/card/ECardWithImage.astro +16 -0
  67. package/dist/src-astro/card/ECardWithImageContainer.astro +11 -0
  68. package/dist/src-astro/card/ECardWithSubtitle.astro +13 -0
  69. package/dist/src-astro/card/ECardWithSubtitleContainer.astro +11 -0
  70. package/dist/src-astro/card/index.ts +27 -0
  71. package/dist/src-astro/code-block/CodeBlock.astro +155 -0
  72. package/dist/src-astro/code-block/index.ts +1 -0
  73. package/dist/src-astro/code-container/CodeContainer.astro +280 -0
  74. package/dist/{code-container → src-astro/code-container}/ECodeContainerBasic.astro +3 -3
  75. package/dist/{code-container → src-astro/code-container}/ECodeContainerMultiple.astro +16 -16
  76. package/dist/{code-container → src-astro/code-container}/index.ts +2 -2
  77. package/dist/src-astro/code-example/CodeExample.astro +185 -0
  78. package/dist/src-astro/code-example/index.ts +1 -0
  79. package/dist/src-astro/contact/Contact.astro +321 -0
  80. package/dist/src-astro/contact/EContactBasic.astro +15 -0
  81. package/dist/src-astro/contact/EContactBasicContainer.astro +11 -0
  82. package/dist/src-astro/contact/EContactCompact.astro +11 -0
  83. package/dist/src-astro/contact/EContactCompactContainer.astro +11 -0
  84. package/dist/src-astro/contact/EContactCustomStyle.astro +21 -0
  85. package/dist/src-astro/contact/EContactCustomStyleContainer.astro +11 -0
  86. package/dist/src-astro/contact/EContactSocial.astro +20 -0
  87. package/dist/src-astro/contact/EContactSocialContainer.astro +11 -0
  88. package/dist/src-astro/contact/EContactWithTitle.astro +17 -0
  89. package/dist/src-astro/contact/EContactWithTitleContainer.astro +11 -0
  90. package/dist/src-astro/contact/index.ts +21 -0
  91. package/dist/src-astro/container/Container.astro +211 -0
  92. package/dist/src-astro/container/EContainerBasic.astro +15 -0
  93. package/dist/{container → src-astro/container}/EContainerBasicContainer.astro +4 -4
  94. package/dist/src-astro/container/EContainerFlexBetween.astro +23 -0
  95. package/dist/src-astro/container/EContainerFlexCenter.astro +30 -0
  96. package/dist/src-astro/container/EContainerFlexColumn.astro +23 -0
  97. package/dist/{container → src-astro/container}/EContainerFlexContainer.astro +20 -20
  98. package/dist/src-astro/container/EContainerFlexRow.astro +23 -0
  99. package/dist/src-astro/container/EContainerPadding.astro +32 -0
  100. package/dist/{container → src-astro/container}/EContainerPaddingContainer.astro +4 -4
  101. package/dist/src-astro/container/EContainerSizes.astro +36 -0
  102. package/dist/{container → src-astro/container}/EContainerSizesContainer.astro +4 -4
  103. package/dist/{container → src-astro/container}/index.ts +8 -8
  104. package/dist/{cosy.ts → src-astro/cosy.ts} +1 -1
  105. package/dist/src-astro/database/BaseDB.ts +264 -0
  106. package/dist/src-astro/database/BlogDB.ts +198 -0
  107. package/dist/src-astro/database/CourseDB.ts +90 -0
  108. package/dist/{database → src-astro/database}/ExperimentDB.ts +51 -47
  109. package/dist/{database → src-astro/database}/LessonDB.ts +51 -47
  110. package/dist/src-astro/database/MetaDB.ts +74 -0
  111. package/dist/src-astro/entities/BaseDoc.ts +207 -0
  112. package/dist/{entities → src-astro/entities}/BlogDoc.ts +50 -47
  113. package/dist/src-astro/entities/CourseDoc.ts +101 -0
  114. package/dist/src-astro/entities/ExperimentDoc.ts +119 -0
  115. package/dist/src-astro/entities/Feature.ts +53 -0
  116. package/dist/src-astro/entities/LessonDoc.ts +153 -0
  117. package/dist/src-astro/entities/MetaDoc.ts +93 -0
  118. package/dist/src-astro/entities/SidebarItem.ts +89 -0
  119. package/dist/src-astro/entities/Tag.ts +42 -0
  120. package/dist/src-astro/env.d.ts +42 -0
  121. package/dist/src-astro/errors/403.astro +135 -0
  122. package/dist/src-astro/errors/404.astro +124 -0
  123. package/dist/src-astro/errors/404Basic.astro +7 -0
  124. package/dist/src-astro/errors/500.astro +165 -0
  125. package/dist/src-astro/errors/503.astro +189 -0
  126. package/dist/src-astro/errors/E403Basic.astro +11 -0
  127. package/dist/src-astro/errors/E403BasicContainer.astro +20 -0
  128. package/dist/src-astro/errors/E404Basic.astro +11 -0
  129. package/dist/src-astro/errors/E404BasicContainer.astro +20 -0
  130. package/dist/src-astro/errors/E404WithDebug.astro +18 -0
  131. package/dist/src-astro/errors/E500Basic.astro +11 -0
  132. package/dist/src-astro/errors/E500BasicContainer.astro +20 -0
  133. package/dist/src-astro/errors/E503Maintenance.astro +20 -0
  134. package/dist/src-astro/errors/E503MaintenanceContainer.astro +21 -0
  135. package/dist/src-astro/errors/EErrorPageCustomStyle.astro +21 -0
  136. package/dist/src-astro/errors/EErrorPageCustomStyleContainer.astro +21 -0
  137. package/dist/src-astro/errors/EErrorPageShowcase.astro +68 -0
  138. package/dist/src-astro/errors/EErrorPageShowcaseContainer.astro +21 -0
  139. package/dist/src-astro/errors/ErrorPage.astro +119 -0
  140. package/dist/src-astro/errors/index.ts +77 -0
  141. package/dist/{flex → src-astro/flex}/Flex.astro +31 -31
  142. package/dist/src-astro/flex/FlexBasic.astro +26 -0
  143. package/dist/{flex → src-astro/flex}/index.ts +1 -1
  144. package/dist/src-astro/footer/EFooterBasic.astro +18 -0
  145. package/dist/{footer → src-astro/footer}/EFooterBasicContainer.astro +4 -4
  146. package/dist/src-astro/footer/EFooterComplete.astro +50 -0
  147. package/dist/{footer → src-astro/footer}/EFooterCompleteContainer.astro +4 -4
  148. package/dist/{footer → src-astro/footer}/EFooterFeaturesContainer.astro +24 -24
  149. package/dist/src-astro/footer/EFooterWithLogo.astro +28 -0
  150. package/dist/{footer → src-astro/footer}/EFooterWithLogoContainer.astro +4 -4
  151. package/dist/src-astro/footer/EFooterWithNavigation.astro +24 -0
  152. package/dist/{footer → src-astro/footer}/EFooterWithNavigationContainer.astro +4 -4
  153. package/dist/src-astro/footer/EFooterWithProducts.astro +24 -0
  154. package/dist/{footer → src-astro/footer}/EFooterWithProductsContainer.astro +4 -4
  155. package/dist/src-astro/footer/EFooterWithSocial.astro +24 -0
  156. package/dist/{footer → src-astro/footer}/EFooterWithSocialContainer.astro +4 -4
  157. package/dist/{footer → src-astro/footer}/Footer.astro +170 -158
  158. package/dist/src-astro/footer/FooterSection.astro +49 -0
  159. package/dist/{footer → src-astro/footer}/index.ts +11 -11
  160. package/dist/{grid → src-astro/grid}/Grid.astro +99 -99
  161. package/dist/src-astro/grid/GridBasic.astro +21 -0
  162. package/dist/{grid → src-astro/grid}/index.ts +1 -1
  163. package/dist/src-astro/header/Header.astro +209 -0
  164. package/dist/{header → src-astro/header}/HeaderBasic.astro +6 -1
  165. package/dist/src-astro/header/HeaderCustomNavbarCenter.astro +28 -0
  166. package/dist/src-astro/header/HeaderCustomNavbarEnd.astro +25 -0
  167. package/dist/src-astro/header/HeaderCustomNavbarStart.astro +27 -0
  168. package/dist/{header → src-astro/header}/HeaderCustomPosition.astro +17 -6
  169. package/dist/src-astro/header/HeaderWithNavigation.astro +27 -0
  170. package/dist/{header → src-astro/header}/index.ts +22 -8
  171. package/dist/src-astro/heading/Heading.astro +245 -0
  172. package/dist/{heading → src-astro/heading}/index.ts +1 -1
  173. package/dist/src-astro/hero/Hero.astro +381 -0
  174. package/dist/src-astro/hero/HeroAlignCenter.astro +13 -0
  175. package/dist/{hero → src-astro/hero}/HeroAlignContainer.astro +16 -12
  176. package/dist/src-astro/hero/HeroAlignLeft.astro +13 -0
  177. package/dist/src-astro/hero/HeroAlignRight.astro +13 -0
  178. package/dist/{hero → src-astro/hero}/HeroBackgroundContainer.astro +9 -9
  179. package/dist/src-astro/hero/HeroBackgroundImage.astro +16 -0
  180. package/dist/{hero → src-astro/hero}/HeroBackgroundImageContainer.astro +4 -4
  181. package/dist/src-astro/hero/HeroBasic.astro +12 -0
  182. package/dist/{hero → src-astro/hero}/HeroBasicContainer.astro +4 -4
  183. package/dist/src-astro/hero/HeroGradientBackground.astro +10 -0
  184. package/dist/src-astro/hero/HeroPlainBackground.astro +10 -0
  185. package/dist/src-astro/hero/HeroWithButton.astro +15 -0
  186. package/dist/{hero → src-astro/hero}/HeroWithButtonContainer.astro +4 -4
  187. package/dist/src-astro/hero/HeroWithImage.astro +16 -0
  188. package/dist/{hero → src-astro/hero}/HeroWithImageContainer.astro +4 -4
  189. package/dist/{hero → src-astro/hero}/index.ts +19 -19
  190. package/dist/src-astro/icons/AlertTriangle.astro +28 -0
  191. package/dist/src-astro/icons/AstroIcon.astro +62 -0
  192. package/dist/src-astro/icons/CalendarIcon.astro +28 -0
  193. package/dist/src-astro/icons/CheckCircle.astro +27 -0
  194. package/dist/src-astro/icons/CheckIcon.astro +31 -0
  195. package/dist/src-astro/icons/ChevronDownIcon.astro +28 -0
  196. package/dist/src-astro/icons/ClipboardIcon.astro +31 -0
  197. package/dist/src-astro/icons/CloseIcon.astro +31 -0
  198. package/dist/src-astro/icons/ErrorIcon.astro +28 -0
  199. package/dist/src-astro/icons/GithubIcon.astro +25 -0
  200. package/dist/src-astro/icons/InboxArchive.astro +27 -0
  201. package/dist/src-astro/icons/InfoCircle.astro +28 -0
  202. package/dist/src-astro/icons/InfoIcon.astro +30 -0
  203. package/dist/src-astro/icons/LinkIcon.astro +31 -0
  204. package/dist/src-astro/icons/LinkedinIcon.astro +27 -0
  205. package/dist/src-astro/icons/MenuIcon.astro +31 -0
  206. package/dist/src-astro/icons/SearchIcon.astro +27 -0
  207. package/dist/{icons → src-astro/icons}/SettingsIcon.astro +8 -8
  208. package/dist/{icons → src-astro/icons}/SocialIcon.astro +36 -36
  209. package/dist/src-astro/icons/SuccessIcon.astro +28 -0
  210. package/dist/src-astro/icons/SunCloudyIcon.astro +27 -0
  211. package/dist/src-astro/icons/TwitterIcon.astro +28 -0
  212. package/dist/src-astro/icons/UserIcon.astro +28 -0
  213. package/dist/src-astro/icons/WarningIcon.astro +31 -0
  214. package/dist/src-astro/icons/XCircle.astro +28 -0
  215. package/dist/src-astro/icons/index.ts +25 -0
  216. package/dist/src-astro/image/Image.astro +338 -0
  217. package/dist/src-astro/image/ImageBasic.astro +0 -0
  218. package/dist/src-astro/image/ImageEffects.astro +34 -0
  219. package/dist/src-astro/image/ImageLoading.astro +37 -0
  220. package/dist/{image → src-astro/image}/index.ts +3 -3
  221. package/dist/src-astro/integration.ts +14 -0
  222. package/dist/{language-switcher → src-astro/language-switcher}/LanguageSwitcher.astro +22 -22
  223. package/dist/{language-switcher → src-astro/language-switcher}/LanguageSwitcherBasic.astro +1 -1
  224. package/dist/{language-switcher → src-astro/language-switcher}/index.ts +1 -1
  225. package/dist/{layout-app → src-astro/layout-app}/AppLayout.astro +83 -75
  226. package/dist/src-astro/layout-app/AppLayoutBasic.astro +54 -0
  227. package/dist/{layout-app → src-astro/layout-app}/index.ts +1 -1
  228. package/dist/{layout-basic → src-astro/layout-basic}/BaseLayout.astro +35 -31
  229. package/dist/src-astro/layout-basic/BaseLayoutBasic.astro +17 -0
  230. package/dist/{layout-basic → src-astro/layout-basic}/index.ts +1 -1
  231. package/dist/src-astro/layout-dashboard/DashboardLayout.astro +686 -0
  232. package/dist/src-astro/layout-dashboard/DashboardLayoutBasic.astro +51 -0
  233. package/dist/{layout-dashboard → src-astro/layout-dashboard}/index.ts +1 -1
  234. package/dist/{link → src-astro/link}/Link.astro +72 -57
  235. package/dist/src-astro/link/LinkAnimations.astro +29 -0
  236. package/dist/src-astro/link/LinkBasic.astro +17 -0
  237. package/dist/src-astro/link/LinkVariants.astro +20 -0
  238. package/dist/{link → src-astro/link}/index.ts +3 -3
  239. package/dist/{main → src-astro/main}/Main.astro +68 -60
  240. package/dist/src-astro/main/index.ts +1 -0
  241. package/dist/src-astro/modal/Modal.astro +126 -0
  242. package/dist/src-astro/modal/index.ts +1 -0
  243. package/dist/{module → src-astro/module}/Module.astro +30 -23
  244. package/dist/src-astro/module/ModuleBasic.astro +12 -0
  245. package/dist/src-astro/module/ModuleCustom.astro +14 -0
  246. package/dist/src-astro/module/ModuleGrid.astro +27 -0
  247. package/dist/{module → src-astro/module}/index.ts +3 -3
  248. package/dist/src-astro/nav-item/NavItems.astro +44 -0
  249. package/dist/src-astro/nav-item/NavItemsBasic.astro +30 -0
  250. package/dist/{nav-item → src-astro/nav-item}/index.ts +1 -1
  251. package/dist/src-astro/nav-section/NavSection.astro +41 -0
  252. package/dist/src-astro/nav-section/NavSectionBasic.astro +12 -0
  253. package/dist/{nav-section → src-astro/nav-section}/index.ts +1 -1
  254. package/dist/src-astro/products/ProductCard.astro +374 -0
  255. package/dist/src-astro/products/Products.astro +200 -0
  256. package/dist/src-astro/products/index.ts +2 -0
  257. package/dist/src-astro/section/Section.astro +150 -0
  258. package/dist/src-astro/section/index.ts +1 -0
  259. package/dist/src-astro/sidebar/Sidebar.astro +192 -0
  260. package/dist/src-astro/sidebar/SidebarBasic.astro +0 -0
  261. package/dist/{sidebar → src-astro/sidebar}/index.ts +1 -1
  262. package/dist/src-astro/sidebar-nav/SidebarNav.astro +136 -0
  263. package/dist/src-astro/sidebar-nav/SidebarNavBasic.astro +32 -0
  264. package/dist/{sidebar-nav → src-astro/sidebar-nav}/index.ts +1 -1
  265. package/dist/src-astro/speak/Speak.astro +73 -0
  266. package/dist/src-astro/speak/SpeakBasic.astro +13 -0
  267. package/dist/src-astro/speak/SpeakGrid.astro +30 -0
  268. package/dist/{speak → src-astro/speak}/index.ts +2 -2
  269. package/dist/{stack → src-astro/stack}/Stack.astro +67 -65
  270. package/dist/src-astro/stack/StackBasic.astro +21 -0
  271. package/dist/{stack → src-astro/stack}/index.ts +1 -1
  272. package/dist/src-astro/team-member/TeamMember.astro +137 -0
  273. package/dist/src-astro/team-member/TeamMemberBasic.astro +25 -0
  274. package/dist/src-astro/team-member/TeamMemberCustomStyle.astro +26 -0
  275. package/dist/src-astro/team-member/TeamMemberGroup.astro +60 -0
  276. package/dist/src-astro/team-member/TeamMemberWithSocial.astro +30 -0
  277. package/dist/{team-member → src-astro/team-member}/TeamMembers.astro +40 -48
  278. package/dist/{team-member → src-astro/team-member}/index.ts +9 -2
  279. package/dist/{text → src-astro/text}/Text.astro +50 -50
  280. package/dist/{text → src-astro/text}/TextBasic.astro +1 -1
  281. package/dist/src-astro/text/TextSizes.astro +11 -0
  282. package/dist/{text → src-astro/text}/index.ts +1 -1
  283. package/dist/{theme-switcher → src-astro/theme-switcher}/ThemeItem.astro +20 -20
  284. package/dist/src-astro/theme-switcher/ThemeSwitcher.astro +121 -0
  285. package/dist/{theme-switcher → src-astro/theme-switcher}/ThemeSwitcherBasic.astro +1 -1
  286. package/dist/{theme-switcher → src-astro/theme-switcher}/index.ts +1 -1
  287. package/dist/src-astro/toc/TableOfContents.astro +438 -0
  288. package/dist/src-astro/toc/TableOfContentsBasic.astro +25 -0
  289. package/dist/{toc → src-astro/toc}/index.ts +1 -1
  290. package/dist/src-astro/types/article.ts +22 -0
  291. package/dist/src-astro/types/footer.ts +129 -0
  292. package/dist/src-astro/types/header.ts +87 -0
  293. package/dist/src-astro/types/heading.ts +13 -0
  294. package/dist/{types → src-astro/types}/image.ts +4 -4
  295. package/dist/src-astro/types/layout.ts +71 -0
  296. package/dist/src-astro/types/main.ts +86 -0
  297. package/dist/src-astro/types/menu.ts +24 -0
  298. package/dist/src-astro/types/meta.ts +55 -0
  299. package/dist/src-astro/types/product.ts +10 -0
  300. package/dist/src-astro/types/sidebar.ts +59 -0
  301. package/dist/src-astro/types/static-path.ts +8 -0
  302. package/dist/src-astro/utils/component.ts +42 -0
  303. package/dist/src-astro/utils/i18n.ts +83 -0
  304. package/dist/src-astro/utils/image.ts +128 -0
  305. package/dist/src-astro/utils/lang_entry.ts +240 -0
  306. package/dist/src-astro/utils/lang_package.ts +150 -0
  307. package/dist/src-astro/utils/language.ts +121 -0
  308. package/dist/src-astro/utils/link.ts +250 -0
  309. package/dist/src-astro/utils/logger.ts +136 -0
  310. package/dist/src-astro/utils/path.ts +59 -0
  311. package/dist/src-astro/utils/social.ts +90 -0
  312. package/dist/src-astro/utils/theme.ts +122 -0
  313. package/dist/{utils → src-astro/utils}/url.ts +2 -2
  314. package/dist/vue/SmartLink.vue +21 -0
  315. package/dist/vue/TagList.vue +23 -0
  316. package/dist/vue/alert-dialog-vue/AlertDialog.vue +130 -0
  317. package/dist/vue/alert-dialog-vue/Basic.vue +38 -0
  318. package/dist/vue/alert-dialog-vue/Multilang.vue +58 -0
  319. package/dist/vue/alert-dialog-vue/index.ts +20 -0
  320. package/dist/vue/banner-box-vue/BannerBox.vue +336 -0
  321. package/dist/vue/banner-box-vue/DownloadButton.vue +244 -0
  322. package/dist/vue/banner-box-vue/ExampleBasic.vue +34 -0
  323. package/dist/vue/banner-box-vue/ExampleCustomBg.vue +34 -0
  324. package/dist/vue/banner-box-vue/ExampleDisplayModeAlways.vue +36 -0
  325. package/dist/vue/banner-box-vue/ExampleDisplayModeHover.vue +36 -0
  326. package/dist/vue/banner-box-vue/ExampleDisplayModeNever.vue +36 -0
  327. package/dist/vue/banner-box-vue/ExampleImageExport.vue +42 -0
  328. package/dist/vue/banner-box-vue/ExampleSizePreset.vue +39 -0
  329. package/dist/vue/banner-box-vue/FeatureCard.vue +205 -0
  330. package/dist/vue/banner-box-vue/SmartBanner.vue +48 -0
  331. package/dist/vue/banner-box-vue/bgStyles.ts +55 -0
  332. package/dist/vue/banner-box-vue/index.ts +48 -0
  333. package/dist/vue/banner-box-vue/sizePresets.ts +23 -0
  334. package/dist/vue/blog-vue/Basic.vue +30 -0
  335. package/dist/vue/blog-vue/BlogList.vue +102 -0
  336. package/dist/vue/blog-vue/Empty.vue +8 -0
  337. package/dist/vue/blog-vue/EmptyEnglish.vue +8 -0
  338. package/dist/vue/blog-vue/English.vue +24 -0
  339. package/dist/vue/blog-vue/index.ts +29 -0
  340. package/dist/vue/buttons-vue/Button.vue +105 -0
  341. package/dist/vue/buttons-vue/ButtonBasic.vue +11 -0
  342. package/dist/vue/buttons-vue/ButtonFeature.vue +100 -0
  343. package/dist/vue/buttons-vue/ButtonFeatureBasic.vue +8 -0
  344. package/dist/vue/buttons-vue/ButtonFeatureWithTips.vue +7 -0
  345. package/dist/vue/buttons-vue/ButtonLink.vue +13 -0
  346. package/dist/vue/buttons-vue/ButtonSizes.vue +12 -0
  347. package/dist/{button → vue/buttons-vue}/ButtonVariants.vue +2 -2
  348. package/dist/vue/buttons-vue/ButtonWithIcons.vue +21 -0
  349. package/dist/vue/buttons-vue/index.ts +1 -0
  350. package/dist/vue/confirm-dialog-vue/Basic.vue +62 -0
  351. package/dist/vue/confirm-dialog-vue/ConfirmDialog.vue +147 -0
  352. package/dist/vue/confirm-dialog-vue/CustomButtons.vue +81 -0
  353. package/dist/vue/confirm-dialog-vue/index.ts +20 -0
  354. package/dist/vue/cosy.ts +6 -0
  355. package/dist/vue/counter-vue/VueCounter.vue +29 -0
  356. package/dist/vue/counter-vue/index.ts +1 -0
  357. package/dist/vue/iPhone-vue/Basic.vue +33 -0
  358. package/dist/vue/iPhone-vue/CustomBackground.vue +35 -0
  359. package/dist/vue/iPhone-vue/NoFrame.vue +33 -0
  360. package/dist/vue/iPhone-vue/WeatherApp.vue +143 -0
  361. package/dist/vue/iPhone-vue/assets/iPhone 14 Pro - Deep Purple - Landscape.png +0 -0
  362. package/dist/vue/iPhone-vue/assets/iPhone 14 Pro - Deep Purple - Portrait.png +0 -0
  363. package/dist/vue/iPhone-vue/assets/iPhone 14 Pro - Gold - Landscape.png +0 -0
  364. package/dist/vue/iPhone-vue/assets/iPhone 14 Pro - Gold - Portrait.png +0 -0
  365. package/dist/vue/iPhone-vue/assets/iPhone 14 Pro - Silver - Landscape.png +0 -0
  366. package/dist/vue/iPhone-vue/assets/iPhone 14 Pro - Silver - Portrait.png +0 -0
  367. package/dist/vue/iPhone-vue/assets/iPhone 14 Pro - Space Black - Landscape.png +0 -0
  368. package/dist/vue/iPhone-vue/assets/iPhone 14 Pro - Space Black - Portrait.png +0 -0
  369. package/dist/vue/iPhone-vue/iPhoneWindow.vue +247 -0
  370. package/dist/vue/iPhone-vue/index.ts +31 -0
  371. package/dist/vue/icons-vue/AlertTriangleIcon.vue +30 -0
  372. package/dist/vue/icons-vue/CalendarIcon.vue +30 -0
  373. package/dist/vue/icons-vue/CheckCircleIcon.vue +30 -0
  374. package/dist/vue/icons-vue/CheckIcon.vue +30 -0
  375. package/dist/vue/icons-vue/ChevronDownIcon.vue +30 -0
  376. package/dist/vue/icons-vue/ClipboardIcon.vue +30 -0
  377. package/dist/vue/icons-vue/CloseIcon.vue +30 -0
  378. package/dist/vue/icons-vue/InboxArchiveIcon.vue +30 -0
  379. package/dist/vue/icons-vue/InfoCircleIcon.vue +30 -0
  380. package/dist/vue/icons-vue/InfoIcon.vue +30 -0
  381. package/dist/vue/icons-vue/LinkIcon.vue +30 -0
  382. package/dist/vue/icons-vue/MenuIcon.vue +30 -0
  383. package/dist/vue/icons-vue/SearchIcon.vue +30 -0
  384. package/dist/vue/icons-vue/SettingsIcon.vue +30 -0
  385. package/dist/vue/icons-vue/UserIcon.vue +30 -0
  386. package/dist/vue/icons-vue/VueIcon.vue +86 -0
  387. package/dist/vue/icons-vue/XCircleIcon.vue +30 -0
  388. package/dist/vue/icons-vue/index.ts +1 -0
  389. package/dist/vue/list-vue/ListItem.vue +5 -0
  390. package/dist/vue/list-vue/index.ts +1 -0
  391. package/dist/vue/mac-window-vue/Basic.vue +9 -0
  392. package/dist/vue/mac-window-vue/CustomHeight.vue +13 -0
  393. package/dist/vue/mac-window-vue/MacWindow.vue +283 -0
  394. package/dist/vue/mac-window-vue/WithEvents.vue +40 -0
  395. package/dist/vue/mac-window-vue/WithSidebar.vue +31 -0
  396. package/dist/vue/mac-window-vue/WithTabs.vue +26 -0
  397. package/dist/vue/mac-window-vue/WithToolbar.vue +44 -0
  398. package/dist/vue/mac-window-vue/index.ts +36 -0
  399. package/dist/vue/utils/component.ts +42 -0
  400. package/dist/vue/utils/i18n.ts +83 -0
  401. package/dist/vue/utils/image.ts +128 -0
  402. package/dist/vue/utils/lang_entry.ts +240 -0
  403. package/dist/vue/utils/lang_package.ts +150 -0
  404. package/dist/vue/utils/language.ts +121 -0
  405. package/dist/vue/utils/link.ts +250 -0
  406. package/dist/vue/utils/logger.ts +136 -0
  407. package/dist/vue/utils/path.ts +59 -0
  408. package/dist/vue/utils/social.ts +90 -0
  409. package/dist/vue/utils/theme.ts +122 -0
  410. package/dist/vue/utils/url.ts +17 -0
  411. package/package.json +85 -82
  412. package/LICENSE +0 -21
  413. package/README.md +0 -31
  414. package/dist/alert/EAlertCustomStyle.astro +0 -14
  415. package/dist/alert/EAlertError.astro +0 -6
  416. package/dist/alert/EAlertInfo.astro +0 -6
  417. package/dist/alert/EAlertSuccess.astro +0 -6
  418. package/dist/alert/EAlertWarning.astro +0 -6
  419. package/dist/article/ArticleBasic.astro +0 -31
  420. package/dist/assets/iconData.ts +0 -116
  421. package/dist/banner/Banner.astro +0 -165
  422. package/dist/banner/BannerAllAnimations.astro +0 -10
  423. package/dist/banner/BannerCustomStyle.astro +0 -7
  424. package/dist/blog/Blog.astro +0 -249
  425. package/dist/blog/index.ts +0 -1
  426. package/dist/button/Button.astro +0 -192
  427. package/dist/button/ButtonBasic.astro +0 -18
  428. package/dist/button/ButtonIconBoth.astro +0 -9
  429. package/dist/button/ButtonShapes.astro +0 -23
  430. package/dist/button/ButtonSizes.astro +0 -15
  431. package/dist/button/ButtonStates.astro +0 -12
  432. package/dist/button/ButtonVariants.astro +0 -14
  433. package/dist/button/ButtonWithIcons.astro +0 -25
  434. package/dist/card/CardCompact.astro +0 -77
  435. package/dist/card/CardCourse.astro +0 -32
  436. package/dist/card/CardLink.astro +0 -75
  437. package/dist/card/CardWithImage.astro +0 -39
  438. package/dist/card/index.ts +0 -7
  439. package/dist/code-block/CodeBlock.astro +0 -152
  440. package/dist/code-block/index.ts +0 -1
  441. package/dist/code-container/CodeContainer.astro +0 -254
  442. package/dist/code-example/CodeExample.astro +0 -157
  443. package/dist/code-example/index.ts +0 -1
  444. package/dist/container/Container.astro +0 -211
  445. package/dist/container/EContainerBasic.astro +0 -13
  446. package/dist/container/EContainerFlexBetween.astro +0 -16
  447. package/dist/container/EContainerFlexCenter.astro +0 -23
  448. package/dist/container/EContainerFlexColumn.astro +0 -16
  449. package/dist/container/EContainerFlexRow.astro +0 -16
  450. package/dist/container/EContainerPadding.astro +0 -32
  451. package/dist/container/EContainerSizes.astro +0 -36
  452. package/dist/database/BaseDB.ts +0 -231
  453. package/dist/database/BlogDB.ts +0 -198
  454. package/dist/database/CourseDB.ts +0 -84
  455. package/dist/database/MetaDB.ts +0 -74
  456. package/dist/entities/BaseDoc.ts +0 -195
  457. package/dist/entities/CourseDoc.ts +0 -96
  458. package/dist/entities/ExperimentDoc.ts +0 -114
  459. package/dist/entities/Feature.ts +0 -53
  460. package/dist/entities/LessonDoc.ts +0 -148
  461. package/dist/entities/MetaDoc.ts +0 -90
  462. package/dist/entities/SidebarItem.ts +0 -89
  463. package/dist/entities/Tag.ts +0 -42
  464. package/dist/env.d.ts +0 -32
  465. package/dist/errors/404.astro +0 -27
  466. package/dist/errors/404Basic.astro +0 -5
  467. package/dist/errors/index.ts +0 -11
  468. package/dist/flex/FlexBasic.astro +0 -9
  469. package/dist/footer/EFooterBasic.astro +0 -18
  470. package/dist/footer/EFooterComplete.astro +0 -45
  471. package/dist/footer/EFooterWithLogo.astro +0 -23
  472. package/dist/footer/EFooterWithNavigation.astro +0 -24
  473. package/dist/footer/EFooterWithProducts.astro +0 -24
  474. package/dist/footer/EFooterWithSocial.astro +0 -24
  475. package/dist/footer/FooterSection.astro +0 -48
  476. package/dist/grid/GridBasic.astro +0 -9
  477. package/dist/header/Header.astro +0 -204
  478. package/dist/header/HeaderCustomNavbarCenter.astro +0 -23
  479. package/dist/header/HeaderCustomNavbarEnd.astro +0 -20
  480. package/dist/header/HeaderCustomNavbarStart.astro +0 -20
  481. package/dist/header/HeaderWithNavigation.astro +0 -22
  482. package/dist/heading/Heading.astro +0 -238
  483. package/dist/hero/Hero.astro +0 -368
  484. package/dist/hero/HeroAlignCenter.astro +0 -13
  485. package/dist/hero/HeroAlignLeft.astro +0 -13
  486. package/dist/hero/HeroAlignRight.astro +0 -13
  487. package/dist/hero/HeroBackgroundImage.astro +0 -12
  488. package/dist/hero/HeroBasic.astro +0 -12
  489. package/dist/hero/HeroGradientBackground.astro +0 -10
  490. package/dist/hero/HeroPlainBackground.astro +0 -10
  491. package/dist/hero/HeroWithButton.astro +0 -11
  492. package/dist/hero/HeroWithImage.astro +0 -16
  493. package/dist/icons/AlertTriangle.astro +0 -24
  494. package/dist/icons/AstroIcon.astro +0 -61
  495. package/dist/icons/CalendarIcon.astro +0 -24
  496. package/dist/icons/CheckCircle.astro +0 -23
  497. package/dist/icons/CheckIcon.astro +0 -27
  498. package/dist/icons/ChevronDownIcon.astro +0 -24
  499. package/dist/icons/ClipboardIcon.astro +0 -27
  500. package/dist/icons/CloseIcon.astro +0 -27
  501. package/dist/icons/ErrorIcon.astro +0 -24
  502. package/dist/icons/GithubIcon.astro +0 -19
  503. package/dist/icons/InboxArchive.astro +0 -23
  504. package/dist/icons/InfoCircle.astro +0 -24
  505. package/dist/icons/InfoIcon.astro +0 -26
  506. package/dist/icons/LinkIcon.astro +0 -27
  507. package/dist/icons/LinkedinIcon.astro +0 -23
  508. package/dist/icons/MenuIcon.astro +0 -27
  509. package/dist/icons/SearchIcon.astro +0 -23
  510. package/dist/icons/SuccessIcon.astro +0 -24
  511. package/dist/icons/SunCloudyIcon.astro +0 -23
  512. package/dist/icons/TwitterIcon.astro +0 -24
  513. package/dist/icons/UserIcon.astro +0 -24
  514. package/dist/icons/WarningIcon.astro +0 -27
  515. package/dist/icons/XCircle.astro +0 -24
  516. package/dist/icons/index.ts +0 -3
  517. package/dist/image/Image.astro +0 -342
  518. package/dist/image/ImageBasic.astro +0 -1
  519. package/dist/image/ImageEffects.astro +0 -32
  520. package/dist/image/ImageLoading.astro +0 -35
  521. package/dist/index.ts +0 -3
  522. package/dist/index_astro.ts +0 -68
  523. package/dist/index_collection.ts +0 -104
  524. package/dist/index_icons.ts +0 -24
  525. package/dist/index_utils.ts +0 -8
  526. package/dist/index_vue.ts +0 -44
  527. package/dist/integration.ts +0 -14
  528. package/dist/layout-app/AppLayoutBasic.astro +0 -53
  529. package/dist/layout-basic/BaseLayoutBasic.astro +0 -16
  530. package/dist/layout-dashboard/DashboardLayout.astro +0 -671
  531. package/dist/layout-dashboard/DashboardLayoutBasic.astro +0 -48
  532. package/dist/link/LinkAnimations.astro +0 -21
  533. package/dist/link/LinkBasic.astro +0 -17
  534. package/dist/link/LinkVariants.astro +0 -20
  535. package/dist/main/index.ts +0 -1
  536. package/dist/modal/Modal.astro +0 -119
  537. package/dist/modal/index.ts +0 -1
  538. package/dist/module/ModuleBasic.astro +0 -12
  539. package/dist/module/ModuleCustom.astro +0 -14
  540. package/dist/module/ModuleGrid.astro +0 -26
  541. package/dist/nav-item/NavItems.astro +0 -44
  542. package/dist/nav-item/NavItemsBasic.astro +0 -27
  543. package/dist/nav-section/NavSection.astro +0 -42
  544. package/dist/nav-section/NavSectionBasic.astro +0 -12
  545. package/dist/products/ProductCard.astro +0 -375
  546. package/dist/products/Products.astro +0 -195
  547. package/dist/products/index.ts +0 -2
  548. package/dist/section/Section.astro +0 -140
  549. package/dist/section/index.ts +0 -1
  550. package/dist/sidebar/Sidebar.astro +0 -174
  551. package/dist/sidebar/SidebarBasic.astro +0 -1
  552. package/dist/sidebar-nav/SidebarNav.astro +0 -117
  553. package/dist/sidebar-nav/SidebarNavBasic.astro +0 -32
  554. package/dist/speak/Speak.astro +0 -65
  555. package/dist/speak/SpeakBasic.astro +0 -13
  556. package/dist/speak/SpeakGrid.astro +0 -29
  557. package/dist/stack/StackBasic.astro +0 -15
  558. package/dist/team-member/TeamMember.astro +0 -135
  559. package/dist/team-member/TeamMemberBasic.astro +0 -25
  560. package/dist/team-member/TeamMemberCustomStyle.astro +0 -26
  561. package/dist/team-member/TeamMemberGroup.astro +0 -60
  562. package/dist/team-member/TeamMemberWithSocial.astro +0 -30
  563. package/dist/text/TextSizes.astro +0 -11
  564. package/dist/theme-switcher/ThemeSwitcher.astro +0 -120
  565. package/dist/toc/TableOfContents.astro +0 -405
  566. package/dist/toc/TableOfContentsBasic.astro +0 -25
  567. package/dist/types/article.ts +0 -22
  568. package/dist/types/footer.ts +0 -129
  569. package/dist/types/header.ts +0 -87
  570. package/dist/types/heading.ts +0 -13
  571. package/dist/types/layout.ts +0 -71
  572. package/dist/types/main.ts +0 -80
  573. package/dist/types/menu.ts +0 -24
  574. package/dist/types/meta.ts +0 -55
  575. package/dist/types/product.ts +0 -10
  576. package/dist/types/sidebar.ts +0 -39
  577. package/dist/types/static-path.ts +0 -8
  578. package/dist/utils/component.ts +0 -39
  579. package/dist/utils/i18n.ts +0 -83
  580. package/dist/utils/image.ts +0 -126
  581. package/dist/utils/lang_entry.ts +0 -240
  582. package/dist/utils/lang_package.ts +0 -150
  583. package/dist/utils/language.ts +0 -118
  584. package/dist/utils/link.ts +0 -248
  585. package/dist/utils/logger.ts +0 -130
  586. package/dist/utils/path.ts +0 -55
  587. package/dist/utils/social.ts +0 -90
  588. package/dist/utils/theme.ts +0 -114
  589. /package/dist/{assets → src-astro/assets}/book.png +0 -0
  590. /package/dist/{assets → src-astro/assets}/logo-rounded.png +0 -0
  591. /package/dist/{assets → src-astro/assets}/logo.png +0 -0
  592. /package/dist/{button → src-astro/button}/ButtonBlock.astro +0 -0
  593. /package/dist/{button → src-astro/button}/ButtonError.astro +0 -0
  594. /package/dist/{button → src-astro/button}/ButtonGhost.astro +0 -0
  595. /package/dist/{button → src-astro/button}/ButtonInfo.astro +0 -0
  596. /package/dist/{button → src-astro/button}/ButtonLink.astro +0 -0
  597. /package/dist/{button → src-astro/button}/ButtonNeutral.astro +0 -0
  598. /package/dist/{button → src-astro/button}/ButtonOutline.astro +0 -0
  599. /package/dist/{button → src-astro/button}/ButtonShapeCircle.astro +0 -0
  600. /package/dist/{button → src-astro/button}/ButtonShapeDefault.astro +0 -0
  601. /package/dist/{button → src-astro/button}/ButtonShapeSquare.astro +0 -0
  602. /package/dist/{button → src-astro/button}/ButtonSuccess.astro +0 -0
  603. /package/dist/{button → src-astro/button}/ButtonWarning.astro +0 -0
  604. /package/dist/{button → src-astro/button}/ButtonWide.astro +0 -0
  605. /package/dist/{card → src-astro/card}/CardBasic.astro +0 -0
  606. /package/dist/{heading → src-astro/heading}/HeadingBasic.astro +0 -0
  607. /package/dist/{types → src-astro/types}/nav.ts +0 -0
@@ -0,0 +1,48 @@
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
28
+ title="我们的产品特性"
29
+ description="探索产品提供的所有强大功能"
30
+ :features="[
31
+ {
32
+ emoji: '⚡',
33
+ title: '快速响应',
34
+ link: '#speed',
35
+ },
36
+ {
37
+ emoji: '🔒',
38
+ title: '安全可靠',
39
+ link: '#security',
40
+ },
41
+ {
42
+ emoji: '🌐',
43
+ title: '全球支持',
44
+ link: '#global',
45
+ },
46
+ ]"
47
+ />
48
+ </template>
@@ -0,0 +1,55 @@
1
+ /**
2
+ * BannerBox组件的背景样式类列表
3
+ * 包含多种渐变和纯色背景
4
+ */
5
+ export const bgClasses = [
6
+ // 半透明渐变背景
7
+ 'cosy:bg-gradient-to-b cosy:from-blue-100/50 cosy:to-blue-200/50 dark:cosy:from-blue-500/10 dark:cosy:to-blue-200/10',
8
+ 'cosy:bg-gradient-to-b cosy:from-blue-200/50 cosy:to-purple-200/50 dark:cosy:from-blue-500/10 dark:cosy:to-purple-200/10',
9
+ 'cosy:bg-gradient-to-b cosy:from-yellow-200/50 cosy:to-green-200/50 dark:cosy:from-yellow-500/10 dark:cosy:to-green-200/10',
10
+ 'cosy:bg-gradient-to-b cosy:from-teal-200/50 cosy:to-blue-200/50 dark:cosy:from-teal-500/10 dark:cosy:to-blue-200/10',
11
+ 'cosy:bg-gradient-to-b cosy:from-pink-200/50 cosy:to-indigo-200/20 dark:cosy:from-pink-500/10 dark:cosy:to-indigo-200/10',
12
+ 'cosy:bg-gradient-to-b cosy:from-red-200/50 cosy:to-orange-200/50 dark:cosy:from-red-500/10 dark:cosy:to-orange-200/10',
13
+ 'cosy:bg-gradient-to-b cosy:from-orange-200/50 cosy:to-yellow-200/50 dark:cosy:from-orange-500/10 dark:cosy:to-yellow-200/10',
14
+ 'cosy:bg-gradient-to-b cosy:from-green-200/50 cosy:to-teal-200/50 dark:cosy:from-green-500/10 dark:cosy:to-teal-200/10',
15
+
16
+ // 不透明的背景
17
+ 'cosy:bg-gradient-to-b cosy:from-blue-100 cosy:to-blue-200 dark:cosy:from-blue-500 dark:cosy:to-blue-200',
18
+ 'cosy:bg-gradient-to-b cosy:from-blue-200 cosy:to-purple-200 dark:cosy:from-blue-500 dark:cosy:to-purple-200',
19
+ 'cosy:bg-gradient-to-b cosy:from-yellow-200 cosy:to-green-200 dark:cosy:from-yellow-500 dark:cosy:to-green-200',
20
+ 'cosy:bg-gradient-to-b cosy:from-teal-200 cosy:to-blue-200 dark:cosy:from-teal-500 dark:cosy:to-blue-200',
21
+ 'cosy:bg-gradient-to-b cosy:from-pink-200 cosy:to-red-200 dark:cosy:from-pink-500 dark:cosy:to-red-200',
22
+ 'cosy:bg-gradient-to-b cosy:from-red-200 cosy:to-orange-200 dark:cosy:from-red-500 dark:cosy:to-orange-200',
23
+ 'cosy:bg-gradient-to-b cosy:from-orange-200 cosy:to-yellow-200 dark:cosy:from-orange-500 dark:cosy:to-yellow-200',
24
+ 'cosy:bg-gradient-to-b cosy:from-green-200 cosy:to-teal-200 dark:cosy:from-green-500 dark:cosy:to-teal-200',
25
+
26
+ // 不透明的深色背景
27
+ 'cosy:bg-gradient-to-b cosy:from-blue-900 cosy:to-blue-200 dark:cosy:from-blue-900 dark:cosy:to-blue-200',
28
+ 'cosy:bg-gradient-to-b cosy:from-blue-900 cosy:to-purple-200 dark:cosy:from-blue-900 dark:cosy:to-purple-200',
29
+ 'cosy:bg-gradient-to-b cosy:from-yellow-900 cosy:to-green-200 dark:cosy:from-yellow-900 dark:cosy:to-green-200',
30
+ 'cosy:bg-gradient-to-b cosy:from-teal-900 cosy:to-blue-200 dark:cosy:from-teal-900 dark:cosy:to-blue-200',
31
+ 'cosy:bg-gradient-to-b cosy:from-pink-900 cosy:to-red-200 dark:cosy:from-pink-900 dark:cosy:to-red-200',
32
+ 'cosy:bg-gradient-to-b cosy:from-red-900 cosy:to-orange-200 dark:cosy:from-red-900 dark:cosy:to-orange-200',
33
+ 'cosy:bg-gradient-to-b cosy:from-orange-900 cosy:to-yellow-200 dark:cosy:from-orange-900 dark:cosy:to-yellow-200',
34
+ 'cosy:bg-gradient-to-b cosy:from-green-900 cosy:to-teal-900 dark:cosy:from-green-900 dark:cosy:to-teal-900',
35
+
36
+ // 不透明的渐变背景
37
+ 'cosy:bg-gradient-to-br cosy:from-emerald-400 cosy:to-cyan-400 dark:cosy:from-emerald-600 dark:cosy:to-cyan-600',
38
+ 'cosy:bg-gradient-to-br cosy:from-violet-400 cosy:to-fuchsia-400 dark:cosy:from-violet-600 dark:cosy:to-fuchsia-600',
39
+ 'cosy:bg-gradient-to-br cosy:from-amber-400 cosy:to-orange-400 dark:cosy:from-amber-600 dark:cosy:to-orange-600',
40
+ 'cosy:bg-gradient-to-br cosy:from-rose-400 cosy:to-pink-400 dark:cosy:from-rose-600 dark:cosy:to-pink-600',
41
+ 'cosy:bg-gradient-to-br cosy:from-sky-400 cosy:to-indigo-400 dark:cosy:from-sky-600 dark:cosy:to-indigo-600',
42
+ 'cosy:bg-gradient-to-br cosy:from-lime-400 cosy:to-emerald-400 dark:cosy:from-lime-600 dark:cosy:to-emerald-600',
43
+ 'cosy:bg-gradient-to-br cosy:from-purple-400 cosy:to-indigo-400 dark:cosy:from-purple-600 dark:cosy:to-indigo-600',
44
+ 'cosy:bg-gradient-to-br cosy:from-blue-400 cosy:to-violet-400 dark:cosy:from-blue-600 dark:cosy:to-violet-600',
45
+
46
+ // 纯色背景
47
+ 'cosy:bg-emerald-400 dark:cosy:bg-emerald-600',
48
+ 'cosy:bg-violet-400 dark:cosy:bg-violet-600',
49
+ 'cosy:bg-amber-400 dark:cosy:bg-amber-600',
50
+ 'cosy:bg-rose-400 dark:cosy:bg-rose-600',
51
+ 'cosy:bg-sky-400 dark:cosy:bg-sky-600',
52
+ 'cosy:bg-lime-400 dark:cosy:bg-lime-600',
53
+ 'cosy:bg-purple-400 dark:cosy:bg-purple-600',
54
+ 'cosy:bg-blue-400 dark:cosy:bg-blue-600',
55
+ ];
@@ -0,0 +1,48 @@
1
+ import Basic from './ExampleBasic.vue';
2
+ import CustomBg from './ExampleCustomBg.vue';
3
+ import DisplayModeAlways from './ExampleDisplayModeAlways.vue';
4
+ import DisplayModeHover from './ExampleDisplayModeHover.vue';
5
+ import DisplayModeNever from './ExampleDisplayModeNever.vue';
6
+ import SmartBanner from './SmartBanner.vue';
7
+ import SizePreset from './ExampleSizePreset.vue';
8
+ import ImageExport from './ExampleImageExport.vue';
9
+ import BasicSource from './ExampleBasic.vue?raw';
10
+ import CustomBgSource from './ExampleCustomBg.vue?raw';
11
+ import DisplayModeAlwaysSource from './ExampleDisplayModeAlways.vue?raw';
12
+ import DisplayModeHoverSource from './ExampleDisplayModeHover.vue?raw';
13
+ import DisplayModeNeverSource from './ExampleDisplayModeNever.vue?raw';
14
+ import SmartBannerSource from './SmartBanner.vue?raw';
15
+ import SizePresetSource from './ExampleSizePreset.vue?raw';
16
+ import ImageExportSource from './ExampleImageExport.vue?raw';
17
+ import { extractSimpleExample } from '../../utils/component';
18
+
19
+ // 获取 BannerBox 和 FeatureCard 组件
20
+ export { default as BannerBox } from './BannerBox.vue';
21
+ export { default as FeatureCard } from './FeatureCard.vue';
22
+ export { default as DownloadButton } from './DownloadButton.vue';
23
+ export { bgClasses } from './bgStyles';
24
+ export { sizePresets, type SizePreset } from './sizePresets';
25
+
26
+ // 导出示例组件
27
+ export const BannerBoxExamples = {
28
+ Basic,
29
+ CustomBg,
30
+ DisplayModeAlways,
31
+ DisplayModeHover,
32
+ DisplayModeNever,
33
+ SmartBanner,
34
+ SizePreset,
35
+ ImageExport,
36
+ };
37
+
38
+ // 导出示例源代码
39
+ export const BannerBoxExampleCodes = {
40
+ Basic: extractSimpleExample(BasicSource, 'BannerBox'),
41
+ CustomBg: extractSimpleExample(CustomBgSource, 'BannerBox'),
42
+ DisplayModeAlways: extractSimpleExample(DisplayModeAlwaysSource, 'BannerBox'),
43
+ DisplayModeHover: extractSimpleExample(DisplayModeHoverSource, 'BannerBox'),
44
+ DisplayModeNever: extractSimpleExample(DisplayModeNeverSource, 'BannerBox'),
45
+ SmartBanner: extractSimpleExample(SmartBannerSource, 'BannerBox'),
46
+ SizePreset: extractSimpleExample(SizePresetSource, 'BannerBox'),
47
+ ImageExport: extractSimpleExample(ImageExportSource, 'BannerBox'),
48
+ };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * BannerBox组件的尺寸预设列表
3
+ * 包含各种常用尺寸和比例
4
+ */
5
+
6
+ export interface SizePreset {
7
+ name: string;
8
+ width: string;
9
+ height: string;
10
+ }
11
+
12
+ export const sizePresets: SizePreset[] = [
13
+ { name: 'Default', width: 'cosy:w-full', height: 'cosy:h-full' },
14
+ { name: 'Square', width: 'cosy:w-[600px]', height: 'cosy:h-[600px]' },
15
+ { name: 'Landscape', width: 'cosy:w-[800px]', height: 'cosy:h-[450px]' },
16
+ { name: 'Portrait', width: 'cosy:w-[450px]', height: 'cosy:h-[800px]' },
17
+ { name: 'Wide', width: 'cosy:w-[1200px]', height: 'cosy:h-[675px]' },
18
+ { name: 'Banner', width: 'cosy:w-[1200px]', height: 'cosy:h-[300px]' },
19
+ { name: '1280 × 800', width: 'cosy:w-[1280px]', height: 'cosy:h-[800px]' },
20
+ { name: '1440 × 900', width: 'cosy:w-[1440px]', height: 'cosy:h-[900px]' },
21
+ { name: '2560 × 1600', width: 'cosy:w-[2560px]', height: 'cosy:h-[1600px]' },
22
+ { name: '2880 × 1800', width: 'cosy:w-[2880px]', height: 'cosy:h-[1800px]' },
23
+ ];
@@ -0,0 +1,30 @@
1
+ <template>
2
+ <BlogList :blogs="blogs" lang="zh" />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import '../../style';
7
+ import { ref } from 'vue';
8
+ import BlogList from './BlogList.vue';
9
+
10
+ const blogs = ref([
11
+ {
12
+ id: '1',
13
+ title: '如何在Vue 3中使用组合式API',
14
+ link: '/blog/vue3-composition-api',
15
+ tags: ['Vue', '前端'],
16
+ },
17
+ {
18
+ id: '2',
19
+ title: 'TypeScript高级类型技巧',
20
+ link: '/blog/typescript-advanced-types',
21
+ tags: ['TypeScript', '编程'],
22
+ },
23
+ {
24
+ id: '3',
25
+ title: '响应式设计最佳实践',
26
+ link: '/blog/responsive-design-best-practices',
27
+ tags: ['CSS', '设计'],
28
+ },
29
+ ]);
30
+ </script>
@@ -0,0 +1,102 @@
1
+ <!--
2
+ @component BlogList
3
+
4
+ @description
5
+ BlogList 组件用于展示博客文章列表,支持国际化,提供空状态显示。
6
+
7
+ @usage
8
+ 基本用法:
9
+ ```vue
10
+ <BlogList :blogs="blogPosts" lang="zh" />
11
+ ```
12
+
13
+ 多语言支持:
14
+ ```vue
15
+ <BlogList :blogs="blogPosts" lang="en" />
16
+ ```
17
+
18
+ 组合使用:
19
+ ```vue
20
+ <template>
21
+ <BlogList :blogs="blogPosts" :lang="currentLang" />
22
+ </template>
23
+
24
+ <script setup lang="ts">
25
+ import { ref } from 'vue';
26
+ import { BlogList } from 'cosy-ui';
27
+
28
+ const blogPosts = ref([
29
+ { id: '1', title: '文章标题', link: '/blog/post-1', tags: ['技术', 'Vue'] }
30
+ ]);
31
+ const currentLang = ref('zh');
32
+ </script>
33
+ ```
34
+
35
+ @props
36
+ @prop {IBlog[]} blogs - 博客文章数组
37
+ @prop {('zh'|'en')} [lang='zh'] - 语言设置,影响空状态显示文本
38
+ -->
39
+
40
+ <script setup lang="ts">
41
+ import '../../style';
42
+ import InboxArchiveIcon from '../Icons/InboxArchiveIcon.vue';
43
+ import Link from '../SmartLink.vue';
44
+ import ListItem from '../ListItem.vue';
45
+
46
+ export interface IBlog {
47
+ id: string;
48
+ title: string;
49
+ link: string;
50
+ tags: string[];
51
+ }
52
+
53
+ interface Props {
54
+ blogs: IBlog[];
55
+ lang?: 'zh' | 'en';
56
+ }
57
+
58
+ const props = withDefaults(defineProps<Props>(), {
59
+ lang: 'zh',
60
+ });
61
+
62
+ // 多语言文本
63
+ const messages = {
64
+ zh: {
65
+ empty: '暂无博客文章',
66
+ checkLater: '稍后再来看看吧',
67
+ },
68
+ en: {
69
+ empty: 'No blog posts yet',
70
+ checkLater: 'Check back later',
71
+ },
72
+ };
73
+
74
+ const t = (key: keyof (typeof messages)['zh']) => {
75
+ return messages[props.lang][key];
76
+ };
77
+ </script>
78
+
79
+ <template>
80
+ <div class="cosy:py-4">
81
+ <ul v-if="blogs.length > 0" class="cosy:list-none">
82
+ <ListItem v-for="blog in blogs" :key="blog.id">
83
+ <Link :href="blog.link">
84
+ {{ blog.title }}
85
+ </Link>
86
+ </ListItem>
87
+ </ul>
88
+ <div v-else class="cosy:text-center cosy:py-8">
89
+ <div
90
+ class="cosy:flex cosy:flex-col cosy:items-center cosy:text-base-content/50"
91
+ >
92
+ <InboxArchiveIcon class="cosy:text-5xl cosy:mb-4 cosy:h-36 cosy:w-36" />
93
+ <p class="cosy:text-lg">
94
+ {{ t('empty') }}
95
+ </p>
96
+ <p class="cosy:text-sm">
97
+ {{ t('checkLater') }}
98
+ </p>
99
+ </div>
100
+ </div>
101
+ </div>
102
+ </template>
@@ -0,0 +1,8 @@
1
+ <template>
2
+ <BlogList :blogs="[]" lang="zh" />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import '../../style';
7
+ import BlogList from './BlogList.vue';
8
+ </script>
@@ -0,0 +1,8 @@
1
+ <template>
2
+ <BlogList :blogs="[]" lang="en" />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import '../../style';
7
+ import BlogList from './BlogList.vue';
8
+ </script>
@@ -0,0 +1,24 @@
1
+ <template>
2
+ <BlogList :blogs="blogs" lang="en" />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import '../../style';
7
+ import { ref } from 'vue';
8
+ import BlogList from './BlogList.vue';
9
+
10
+ const blogs = ref([
11
+ {
12
+ id: '1',
13
+ title: 'Getting Started with Vue 3 Composition API',
14
+ link: '/blog/vue3-composition-api',
15
+ tags: ['Vue', 'Frontend'],
16
+ },
17
+ {
18
+ id: '2',
19
+ title: 'Advanced TypeScript Type Techniques',
20
+ link: '/blog/typescript-advanced-types',
21
+ tags: ['TypeScript', 'Programming'],
22
+ },
23
+ ]);
24
+ </script>
@@ -0,0 +1,29 @@
1
+ import Basic from './Basic.vue';
2
+ import Empty from './Empty.vue';
3
+ import English from './English.vue';
4
+ import EmptyEnglish from './EmptyEnglish.vue';
5
+ import BasicSource from './Basic.vue?raw';
6
+ import EmptySource from './Empty.vue?raw';
7
+ import EnglishSource from './English.vue?raw';
8
+ import EmptyEnglishSource from './EmptyEnglish.vue?raw';
9
+ import { extractSimpleExample } from '../../utils/component';
10
+
11
+ // 导出主组件
12
+ export { default as BlogList } from './BlogList.vue';
13
+ export type { IBlog } from './BlogList.vue';
14
+
15
+ // 将示例组件整合为一个对象导出
16
+ export const BlogListExamples = {
17
+ Basic,
18
+ Empty,
19
+ English,
20
+ EmptyEnglish,
21
+ };
22
+
23
+ // 导出示例组件的源代码(简化版本)
24
+ export const BlogListExampleCodes = {
25
+ Basic: extractSimpleExample(BasicSource, 'BlogList'),
26
+ Empty: extractSimpleExample(EmptySource, 'BlogList'),
27
+ English: extractSimpleExample(EnglishSource, 'BlogList'),
28
+ EmptyEnglish: extractSimpleExample(EmptyEnglishSource, 'BlogList'),
29
+ };
@@ -0,0 +1,105 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue';
3
+
4
+ interface Props {
5
+ variant?:
6
+ | 'primary'
7
+ | 'secondary'
8
+ | 'accent'
9
+ | 'info'
10
+ | 'success'
11
+ | 'warning'
12
+ | 'error'
13
+ | 'ghost'
14
+ | 'link'
15
+ | 'outline'
16
+ | 'neutral';
17
+ size?: 'lg' | 'md' | 'sm' | 'xs';
18
+ shape?: 'circle' | 'square';
19
+ wide?: boolean;
20
+ block?: boolean;
21
+ loading?: boolean;
22
+ disabled?: boolean;
23
+ type?: 'button' | 'submit' | 'reset';
24
+ href?: string;
25
+ target?: string;
26
+ }
27
+
28
+ const props = withDefaults(defineProps<Props>(), {
29
+ variant: 'primary',
30
+ size: 'md',
31
+ wide: false,
32
+ block: false,
33
+ loading: false,
34
+ disabled: false,
35
+ type: 'button',
36
+ });
37
+
38
+ const buttonClasses = computed(() => {
39
+ const classes = ['cosy:btn'];
40
+
41
+ // Variant classes
42
+ const variantClasses = {
43
+ primary: 'cosy:btn-primary',
44
+ secondary: 'cosy:btn-secondary',
45
+ accent: 'cosy:btn-accent',
46
+ info: 'cosy:btn-info',
47
+ success: 'cosy:btn-success',
48
+ warning: 'cosy:btn-warning',
49
+ error: 'cosy:btn-error',
50
+ ghost: 'cosy:btn-ghost',
51
+ link: 'cosy:btn-link',
52
+ outline: 'cosy:btn-outline',
53
+ neutral: 'cosy:btn-neutral',
54
+ };
55
+
56
+ // Size classes
57
+ const sizeClasses = {
58
+ lg: 'cosy:btn-lg',
59
+ md: 'cosy:btn-md',
60
+ sm: 'cosy:btn-sm',
61
+ xs: 'cosy:btn-xs',
62
+ };
63
+
64
+ // Shape classes
65
+ const shapeClasses = {
66
+ circle: 'cosy:btn-circle',
67
+ square: 'cosy:btn-square',
68
+ };
69
+
70
+ if (variantClasses[props.variant]) {
71
+ classes.push(variantClasses[props.variant]);
72
+ }
73
+
74
+ if (sizeClasses[props.size]) {
75
+ classes.push(sizeClasses[props.size]);
76
+ }
77
+
78
+ if (props.shape && shapeClasses[props.shape]) {
79
+ classes.push(shapeClasses[props.shape]);
80
+ }
81
+
82
+ if (props.wide) classes.push('cosy:btn-wide');
83
+ if (props.block) classes.push('cosy:btn-block');
84
+ if (props.loading) classes.push('cosy:loading');
85
+
86
+ return classes;
87
+ });
88
+ </script>
89
+
90
+ <template>
91
+ <component
92
+ :is="props.href ? 'a' : 'button'"
93
+ :class="buttonClasses"
94
+ :type="props.href ? undefined : props.type"
95
+ :disabled="props.disabled"
96
+ :href="props.href"
97
+ :target="props.target"
98
+ >
99
+ <span class="cosy:flex cosy:items-center cosy:gap-2">
100
+ <slot name="icon-left" />
101
+ <slot />
102
+ <slot name="icon-right" />
103
+ </span>
104
+ </component>
105
+ </template>
@@ -0,0 +1,11 @@
1
+ <script setup lang="ts">
2
+ import Button from './Button.vue';
3
+ </script>
4
+
5
+ <template>
6
+ <div class="cosy:flex cosy:gap-2">
7
+ <Button>默认按钮</Button>
8
+ <Button variant="primary">主要按钮</Button>
9
+ <Button variant="secondary">次要按钮</Button>
10
+ </div>
11
+ </template>
@@ -0,0 +1,100 @@
1
+ <script setup lang="ts">
2
+ import { ref } from 'vue';
3
+
4
+ const props = defineProps({
5
+ title: {
6
+ type: String,
7
+ required: false,
8
+ default: 'Feature Button',
9
+ },
10
+ size: {
11
+ type: String,
12
+ default: 'w-64',
13
+ validator: (value: string) =>
14
+ ['w-64', 'w-32', 'w-16', 'w-12', 'w-8'].includes(value),
15
+ },
16
+ lang: {
17
+ type: String,
18
+ default: 'en',
19
+ validator: (value: string) => ['en', 'zh'].includes(value),
20
+ },
21
+ showTips: {
22
+ type: Boolean,
23
+ default: false,
24
+ },
25
+ });
26
+
27
+ const isPopupVisible = ref(false);
28
+
29
+ const showPopup = () => {
30
+ if (props.showTips) {
31
+ isPopupVisible.value = true;
32
+ setTimeout(hidePopup, 2000); // Auto-hide after 2 seconds
33
+ }
34
+ };
35
+
36
+ const hidePopup = () => {
37
+ isPopupVisible.value = false;
38
+ };
39
+ </script>
40
+ <template>
41
+ <div>
42
+ <!-- Button with hover effects -->
43
+ <button
44
+ :class="[
45
+ 'cosy:bg-cyan-500/20 cosy:text-cyan-500 cosy:border-cyan-500 cosy:border-2 cosy:hover:bg-cyan-500/30 cosy:hover:text-white cosy:hover:border-cyan-500/30 cosy:hover:scale-105 cosy:transition-all cosy:duration-300 cosy:rounded-2xl cosy:text-center cosy:backdrop-blur-lg cosy:text-2xl',
46
+ props.size,
47
+ ]"
48
+ @click="showPopup"
49
+ >
50
+ <slot />
51
+ {{ props.title }}
52
+ </button>
53
+
54
+ <!-- Popup message -->
55
+ <Transition name="fade">
56
+ <div
57
+ v-if="isPopupVisible"
58
+ class="cosy:fixed cosy:inset-0 cosy:flex cosy:items-center cosy:justify-center cosy:z-50"
59
+ @click="hidePopup"
60
+ >
61
+ <div
62
+ class="cosy:bg-black/80 cosy:backdrop-blur-sm cosy:p-6 cosy:rounded-xl cosy:text-white cosy:animate-popup"
63
+ >
64
+ {{
65
+ lang === 'zh'
66
+ ? '这是展示图,不支持操作'
67
+ : 'This is a preview image, no operation is supported'
68
+ }}
69
+ </div>
70
+ </div>
71
+ </Transition>
72
+ </div>
73
+ </template>
74
+ <style scoped>
75
+ .fade-enter-active,
76
+ .fade-leave-active {
77
+ transition: opacity 0.3s ease;
78
+ }
79
+
80
+ .fade-enter-from,
81
+ .fade-leave-to {
82
+ opacity: 0;
83
+ }
84
+
85
+ .animate-popup {
86
+ animation: popup 0.3s ease-out;
87
+ }
88
+
89
+ @keyframes popup {
90
+ from {
91
+ transform: scale(0.95);
92
+ opacity: 0;
93
+ }
94
+
95
+ to {
96
+ transform: scale(1);
97
+ opacity: 1;
98
+ }
99
+ }
100
+ </style>
@@ -0,0 +1,8 @@
1
+ <template>
2
+ <FeatureButton title="特性按钮" />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import '../../astro/src/style';
7
+ import FeatureButton from './ButtonFeature.vue';
8
+ </script>
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <FeatureButton title="带提示特性" showTips />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import FeatureButton from './ButtonFeature.vue';
7
+ </script>
@@ -0,0 +1,13 @@
1
+ <script setup lang="ts">
2
+ import VueButton from './Button.vue';
3
+ </script>
4
+
5
+ <template>
6
+ <div class="cosy:flex cosy:gap-2">
7
+ <VueButton href="#" variant="primary">内部链接</VueButton>
8
+ <VueButton href="https://example.com" target="_blank" variant="primary">
9
+ 外部链接
10
+ <template #icon-right>↗</template>
11
+ </VueButton>
12
+ </div>
13
+ </template>
@@ -0,0 +1,12 @@
1
+ <script setup lang="ts">
2
+ import VueButton from './Button.vue';
3
+ </script>
4
+
5
+ <template>
6
+ <div class="cosy:flex cosy:items-center cosy:gap-2">
7
+ <VueButton size="xs">超小按钮</VueButton>
8
+ <VueButton size="sm">小型按钮</VueButton>
9
+ <VueButton size="md">中等按钮</VueButton>
10
+ <VueButton size="lg">大型按钮</VueButton>
11
+ </div>
12
+ </template>
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import VueButton from './Button.vue'
2
+ import VueButton from './Button.vue';
3
3
  </script>
4
4
 
5
5
  <template>
@@ -13,4 +13,4 @@ import VueButton from './Button.vue'
13
13
  <VueButton variant="outline">描边按钮</VueButton>
14
14
  <VueButton variant="neutral">中性按钮</VueButton>
15
15
  </div>
16
- </template>
16
+ </template>