@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
@@ -13,14 +13,28 @@ import CustomNavbarStartSourceCode from './HeaderCustomNavbarStart.astro?raw';
13
13
  import CustomNavbarCenterSourceCode from './HeaderCustomNavbarCenter.astro?raw';
14
14
  import { extractSimpleExample } from '../utils/component';
15
15
 
16
- export { Header, HeaderBasic, HeaderWithNavigation, HeaderCustomPosition, HeaderCustomNavbarEnd, HeaderCustomNavbarStart, HeaderCustomNavbarCenter };
16
+ export {
17
+ Header,
18
+ HeaderBasic,
19
+ HeaderWithNavigation,
20
+ HeaderCustomPosition,
21
+ HeaderCustomNavbarEnd,
22
+ HeaderCustomNavbarStart,
23
+ HeaderCustomNavbarCenter,
24
+ };
17
25
 
18
26
  // 导出示例源代码
19
27
  export const HeaderExampleCodes = {
20
- Basic: extractSimpleExample(BasicSourceCode, 'Header'),
21
- WithNavigation: extractSimpleExample(WithNavigationSourceCode, 'Header'),
22
- CustomPosition: extractSimpleExample(CustomPositionSourceCode, 'Header'),
23
- CustomNavbarEnd: extractSimpleExample(CustomNavbarEndSourceCode, 'Header'),
24
- CustomNavbarStart: extractSimpleExample(CustomNavbarStartSourceCode, 'Header'),
25
- CustomNavbarCenter: extractSimpleExample(CustomNavbarCenterSourceCode, 'Header'),
26
- };
28
+ Basic: extractSimpleExample(BasicSourceCode, 'Header'),
29
+ WithNavigation: extractSimpleExample(WithNavigationSourceCode, 'Header'),
30
+ CustomPosition: extractSimpleExample(CustomPositionSourceCode, 'Header'),
31
+ CustomNavbarEnd: extractSimpleExample(CustomNavbarEndSourceCode, 'Header'),
32
+ CustomNavbarStart: extractSimpleExample(
33
+ CustomNavbarStartSourceCode,
34
+ 'Header'
35
+ ),
36
+ CustomNavbarCenter: extractSimpleExample(
37
+ CustomNavbarCenterSourceCode,
38
+ 'Header'
39
+ ),
40
+ };
@@ -0,0 +1,245 @@
1
+ ---
2
+ /**
3
+ * @component Heading
4
+ *
5
+ * @description
6
+ * Heading 组件用于创建各级标题,提供一致的排版样式和灵活的定制选项。
7
+ *
8
+ * @design
9
+ * 设计理念:
10
+ * 1. 层次清晰 - 通过不同级别的标题建立内容的视觉层次结构
11
+ * 2. 一致性 - 确保整个应用中标题样式的一致性
12
+ * 3. 可定制性 - 支持多种配置选项,适应不同场景需求
13
+ * 4. 无障碍性 - 遵循语义化HTML标准,确保屏幕阅读器可以正确解析内容结构
14
+ *
15
+ * 视觉特点:
16
+ * - 字体大小和粗细随级别变化
17
+ * - 可选的下划线或底部边框
18
+ * - 可定制的颜色和间距
19
+ * - 响应式设计,在不同屏幕尺寸下保持良好的可读性
20
+ *
21
+ * @usage
22
+ * 基本用法:
23
+ * ```astro
24
+ * <Heading level={1}>这是一个一级标题</Heading>
25
+ * <Heading level={2}>这是一个二级标题</Heading>
26
+ * <Heading level={3}>这是一个三级标题</Heading>
27
+ * ```
28
+ *
29
+ * 自定义样式:
30
+ * ```astro
31
+ * <Heading level={2} color="primary" underline>带下划线的二级标题</Heading>
32
+ * ```
33
+ *
34
+ * 带锚点链接:
35
+ * ```astro
36
+ * <Heading level={2} id="section-1" anchor>带锚点的标题</Heading>
37
+ * ```
38
+ *
39
+ * 自定义间距:
40
+ * ```astro
41
+ * <Heading level={1} class="cosy:mb-8">自定义底部间距的标题</Heading>
42
+ * ```
43
+ *
44
+ * @props
45
+ * @prop {1|2|3|4|5|6} [level=2] - 标题级别,对应 h1-h6 标签
46
+ * @prop {string} [id] - 标题的 ID,用于锚点链接
47
+ * @prop {boolean} [anchor=false] - 是否显示锚点链接图标
48
+ * @prop {boolean} [underline=false] - 是否显示下划线
49
+ * @prop {string} [align='left'] - 文本对齐方式:'left', 'center', 'right'
50
+ * @prop {'default'|'primary'|'secondary'|'accent'|'muted'} [color='default'] - 标题颜色
51
+ * @prop {string} [class] - 自定义 CSS 类名
52
+ *
53
+ * @slots
54
+ * @slot default - 标题内容
55
+ *
56
+ * @accessibility
57
+ * - 使用语义化的 h1-h6 标签
58
+ * - 锚点链接带有描述性 aria-label
59
+ * - 遵循标题层次结构的最佳实践
60
+ *
61
+ * @dependencies
62
+ * 依赖于以下图标组件:
63
+ * - LinkIcon (用于锚点链接)
64
+ */
65
+
66
+ import { LinkIcon } from '../../index-astro';
67
+ import '../../style.ts';
68
+
69
+ interface Props {
70
+ level?: 1 | 2 | 3 | 4 | 5 | 6;
71
+ id?: string;
72
+ anchor?: boolean;
73
+ underline?: boolean;
74
+ align?: 'left' | 'center' | 'right';
75
+ color?: 'default' | 'primary' | 'secondary' | 'accent' | 'muted';
76
+ class?: string;
77
+ }
78
+
79
+ const {
80
+ level = 2,
81
+ id,
82
+ anchor = false,
83
+ underline = false,
84
+ align = 'left',
85
+ color = 'default',
86
+ class: className = '',
87
+ } = Astro.props;
88
+
89
+ // 根据级别和颜色设置样式
90
+ const headingClass = {
91
+ 1: 'cosy:text-4xl cosy:font-bold',
92
+ 2: 'cosy:text-3xl cosy:font-semibold',
93
+ 3: 'cosy:text-2xl cosy:font-semibold',
94
+ 4: 'cosy:text-xl cosy:font-medium',
95
+ 5: 'cosy:text-lg cosy:font-medium',
96
+ 6: 'cosy:text-base cosy:font-medium',
97
+ }[(level ?? 2) as 1 | 2 | 3 | 4 | 5 | 6];
98
+
99
+ const colorClass = {
100
+ default: 'cosy:text-gray-900 cosy:dark:text-gray-100',
101
+ primary: 'cosy:text-primary-600 cosy:dark:text-primary-400',
102
+ secondary: 'cosy:text-secondary-600 cosy:dark:text-secondary-400',
103
+ accent: 'cosy:text-accent-600 cosy:dark:text-accent-400',
104
+ muted: 'cosy:text-gray-600 cosy:dark:text-gray-400',
105
+ }[
106
+ (color ?? 'default') as
107
+ | 'default'
108
+ | 'primary'
109
+ | 'secondary'
110
+ | 'accent'
111
+ | 'muted'
112
+ ];
113
+
114
+ const alignClass = {
115
+ left: 'cosy:text-left',
116
+ center: 'cosy:text-center',
117
+ right: 'cosy:text-right',
118
+ }[(align ?? 'left') as 'left' | 'center' | 'right'];
119
+
120
+ const underlineClass = underline
121
+ ? 'cosy:border-b cosy:pb-2 cosy:border-gray-200 cosy:dark:border-gray-700'
122
+ : '';
123
+
124
+ // 组合所有类名
125
+ const combinedClass = `heading ${headingClass} ${colorClass} ${alignClass} ${underlineClass} ${className}`;
126
+ ---
127
+
128
+ {
129
+ level === 1 && (
130
+ <h1 id={id} class={combinedClass}>
131
+ <slot />
132
+ {anchor && id && (
133
+ <a
134
+ href={`#${id}`}
135
+ class="cosy:hover:opacity-100 cosy:opacity-0 cosy:ml-2 cosy:transition-opacity heading-anchor"
136
+ aria-label={`链接到 ${id} 部分`}>
137
+ <LinkIcon class="cosy:inline-block cosy:w-4 cosy:h-4" />
138
+ </a>
139
+ )}
140
+ </h1>
141
+ )
142
+ }
143
+
144
+ {
145
+ level === 2 && (
146
+ <h2 id={id} class={combinedClass}>
147
+ <slot />
148
+ {anchor && id && (
149
+ <a
150
+ href={`#${id}`}
151
+ class="cosy:hover:opacity-100 cosy:opacity-0 cosy:ml-2 cosy:transition-opacity heading-anchor"
152
+ aria-label={`链接到 ${id} 部分`}>
153
+ <LinkIcon class="cosy:inline-block cosy:w-4 cosy:h-4" />
154
+ </a>
155
+ )}
156
+ </h2>
157
+ )
158
+ }
159
+
160
+ {
161
+ level === 3 && (
162
+ <h3 id={id} class={combinedClass}>
163
+ <slot />
164
+ {anchor && id && (
165
+ <a
166
+ href={`#${id}`}
167
+ class="cosy:hover:opacity-100 cosy:opacity-0 cosy:ml-2 cosy:transition-opacity heading-anchor"
168
+ aria-label={`链接到 ${id} 部分`}>
169
+ <LinkIcon class="cosy:inline-block cosy:w-4 cosy:h-4" />
170
+ </a>
171
+ )}
172
+ </h3>
173
+ )
174
+ }
175
+
176
+ {
177
+ level === 4 && (
178
+ <h4 id={id} class={combinedClass}>
179
+ <slot />
180
+ {anchor && id && (
181
+ <a
182
+ href={`#${id}`}
183
+ class="cosy:hover:opacity-100 cosy:opacity-0 cosy:ml-2 cosy:transition-opacity heading-anchor"
184
+ aria-label={`链接到 ${id} 部分`}>
185
+ <LinkIcon class="cosy:inline-block cosy:w-4 cosy:h-4" />
186
+ </a>
187
+ )}
188
+ </h4>
189
+ )
190
+ }
191
+
192
+ {
193
+ level === 5 && (
194
+ <h5 id={id} class={combinedClass}>
195
+ <slot />
196
+ {anchor && id && (
197
+ <a
198
+ href={`#${id}`}
199
+ class="cosy:hover:opacity-100 cosy:opacity-0 cosy:ml-2 cosy:transition-opacity heading-anchor"
200
+ aria-label={`链接到 ${id} 部分`}>
201
+ <LinkIcon class="cosy:inline-block cosy:w-4 cosy:h-4" />
202
+ </a>
203
+ )}
204
+ </h5>
205
+ )
206
+ }
207
+
208
+ {
209
+ level === 6 && (
210
+ <h6 id={id} class={combinedClass}>
211
+ <slot />
212
+ {anchor && id && (
213
+ <a
214
+ href={`#${id}`}
215
+ class="cosy:hover:opacity-100 cosy:opacity-0 cosy:ml-2 cosy:transition-opacity heading-anchor"
216
+ aria-label={`链接到 ${id} 部分`}>
217
+ <LinkIcon class="cosy:inline-block cosy:w-4 cosy:h-4" />
218
+ </a>
219
+ )}
220
+ </h6>
221
+ )
222
+ }
223
+
224
+ <style>
225
+ .heading {
226
+ margin-bottom: 0.5em;
227
+ line-height: 1.2;
228
+ scroll-margin-top: 100px;
229
+ }
230
+
231
+ .heading-anchor {
232
+ color: inherit;
233
+ text-decoration: none;
234
+ vertical-align: middle;
235
+ }
236
+
237
+ /* 悬停效果 */
238
+ .heading:hover .heading-anchor {
239
+ opacity: 0.7 !important;
240
+ }
241
+
242
+ .heading-anchor:hover {
243
+ opacity: 1 !important;
244
+ }
245
+ </style>
@@ -7,5 +7,5 @@ export { Heading, HeadingBasic };
7
7
 
8
8
  // 导出示例源代码
9
9
  export const HeadingExampleCodes = {
10
- Basic: extractSimpleExample(BasicSourceCode, 'Heading'),
10
+ Basic: extractSimpleExample(BasicSourceCode, 'Heading'),
11
11
  };
@@ -0,0 +1,381 @@
1
+ ---
2
+ /**
3
+ * @component Hero
4
+ *
5
+ * @description
6
+ * Hero 组件是一个全屏的展示区域,通常用于网站的首页或重要页面的顶部。
7
+ * 它提供了一个引人注目的视觉区域,可以包含标题、描述、图片和行动按钮。
8
+ *
9
+ * @design
10
+ * 设计理念:
11
+ * 1. 视觉冲击力 - 全屏展示,吸引用户注意
12
+ * 2. 内容聚焦 - 清晰地传达核心信息
13
+ * 3. 引导行动 - 通过链接按钮引导用户进行下一步操作
14
+ * 4. 灵活布局 - 支持图片、标题、描述和自定义内容
15
+ *
16
+ * @usage
17
+ * 基本用法:
18
+ * ```astro
19
+ * <Hero
20
+ * title="欢迎使用我们的产品"
21
+ * description="这是一个简短的描述,介绍产品的主要特点和价值。"
22
+ * links={[
23
+ * { text: "开始使用", href: "/getting-started" },
24
+ * { text: "了解更多", href: "/about" }
25
+ * ]}
26
+ * />
27
+ * ```
28
+ *
29
+ * 带图片的用法(图片在右侧):
30
+ * ```astro
31
+ * <Hero
32
+ * title="产品展示"
33
+ * description="查看我们的最新产品。"
34
+ * image={{ src: "/images/product.png", alt: "产品图片" }}
35
+ * imagePosition="right"
36
+ * links={[
37
+ * { text: "立即购买", href: "/buy" }
38
+ * ]}
39
+ * />
40
+ * ```
41
+ *
42
+ * 带图片的用法(图片在左侧):
43
+ * ```astro
44
+ * <Hero
45
+ * title="产品展示"
46
+ * description="查看我们的最新产品。"
47
+ * image={{ src: "/images/product.png", alt: "产品图片" }}
48
+ * imagePosition="left"
49
+ * links={[
50
+ * { text: "立即购买", href: "/buy" }
51
+ * ]}
52
+ * />
53
+ * ```
54
+ *
55
+ * 带图片的用法(图片在顶部):
56
+ * ```astro
57
+ * <Hero
58
+ * title="产品展示"
59
+ * description="查看我们的最新产品。"
60
+ * image={{ src: "/images/product.png", alt: "产品图片" }}
61
+ * imagePosition="top"
62
+ * links={[
63
+ * { text: "立即购买", href: "/buy" }
64
+ * ]}
65
+ * />
66
+ * ```
67
+ *
68
+ * 带图片的用法(图片在底部):
69
+ * ```astro
70
+ * <Hero
71
+ * title="产品展示"
72
+ * description="查看我们的最新产品。"
73
+ * image={{ src: "/images/product.png", alt: "产品图片" }}
74
+ * imagePosition="bottom"
75
+ * links={[
76
+ * { text: "立即购买", href: "/buy" }
77
+ * ]}
78
+ * />
79
+ * ```
80
+ *
81
+ * 带背景图片的用法:
82
+ * ```astro
83
+ * <Hero
84
+ * title="产品展示"
85
+ * description="查看我们的最新产品。"
86
+ * backgroundImage="/images/hero-bg.jpg"
87
+ * backgroundOverlay="dark"
88
+ * links={[
89
+ * { text: "立即购买", href: "/buy" }
90
+ * ]}
91
+ * />
92
+ * ```
93
+ *
94
+ * 带渐变背景遮罩的背景图片:
95
+ * ```astro
96
+ * <Hero
97
+ * title="产品展示"
98
+ * description="查看我们的最新产品。"
99
+ * backgroundImage="/images/hero-bg.jpg"
100
+ * backgroundOverlay="gradient"
101
+ * links={[
102
+ * { text: "立即购买", href: "/buy" }
103
+ * ]}
104
+ * />
105
+ * ```
106
+ *
107
+ * 自定义遮罩不透明度:
108
+ * ```astro
109
+ * <Hero
110
+ * title="产品展示"
111
+ * description="查看我们的最新产品。"
112
+ * backgroundImage="/images/hero-bg.jpg"
113
+ * backgroundOverlay="dark"
114
+ * overlayOpacity={0.5}
115
+ * links={[
116
+ * { text: "立即购买", href: "/buy" }
117
+ * ]}
118
+ * />
119
+ * ```
120
+ *
121
+ * 带自定义内容的用法:
122
+ * ```astro
123
+ * <Hero
124
+ * title="交互式演示"
125
+ * description="尝试我们的交互式演示。"
126
+ * links={[
127
+ * { text: "查看文档", href: "/docs" }
128
+ * ]}
129
+ * >
130
+ * <div slot="app">
131
+ * <InteractiveDemo />
132
+ * </div>
133
+ * </Hero>
134
+ * ```
135
+ *
136
+ * @props
137
+ * @prop {string} title - Hero 区域的主标题
138
+ * @prop {string} description - 标题下方的描述文本
139
+ * @prop {Object} [image] - 可选的图片配置
140
+ * @prop {string} image.src - 图片的源地址
141
+ * @prop {string} image.alt - 图片的替代文本
142
+ * @prop {Array<Link>} links - 链接按钮数组
143
+ * @prop {string} links[].text - 链接按钮的文本
144
+ * @prop {string} links[].href - 链接按钮的目标地址
145
+ * @prop {string} [background="gradient"] - 背景样式,可选值:"gradient", "plain"
146
+ * @prop {string} [align="center"] - 内容对齐方式,可选值:"center", "left", "right"
147
+ * @prop {string} [imagePosition="right"] - 图片位置,可选值:"right", "left", "top", "bottom"
148
+ * @prop {string} [backgroundImage] - 背景图片的URL
149
+ * @prop {string} [backgroundOverlay="none"] - 背景图片上的遮罩,可选值:"none", "light", "dark", "primary", "gradient"
150
+ * @prop {number} [overlayOpacity=0.7] - 遮罩的不透明度,可选值:0-1之间的数字
151
+ */
152
+
153
+ import '../../style.ts';
154
+ import { Link } from '../../index-astro';
155
+
156
+ interface Link {
157
+ text: string;
158
+ href: string;
159
+ }
160
+
161
+ interface Props {
162
+ title: string;
163
+ description: string;
164
+ image?: {
165
+ src: string;
166
+ alt: string;
167
+ };
168
+ links: Link[];
169
+ background?: 'gradient' | 'plain';
170
+ align?: 'center' | 'left' | 'right';
171
+ imagePosition?: 'right' | 'left' | 'top' | 'bottom';
172
+ backgroundImage?: string;
173
+ backgroundOverlay?: 'none' | 'light' | 'dark' | 'primary' | 'gradient';
174
+ overlayOpacity?: number;
175
+ }
176
+
177
+ const {
178
+ title,
179
+ description,
180
+ image,
181
+ links = [],
182
+ background = 'gradient',
183
+ align = 'center',
184
+ imagePosition = 'right',
185
+ backgroundImage,
186
+ backgroundOverlay = 'none',
187
+ overlayOpacity = 0.7,
188
+ } = Astro.props;
189
+
190
+ // 确保不透明度在0-1之间
191
+ const safeOpacity = Math.max(0, Math.min(1, overlayOpacity));
192
+
193
+ // 确定容器类
194
+ const containerClasses = [
195
+ 'cosy:hero',
196
+ 'cosy:min-h-screen',
197
+ 'cosy:w-full',
198
+ 'cosy:relative',
199
+ backgroundImage ? 'cosy:bg-cover cosy:bg-center' : '',
200
+ !backgroundImage && background === 'gradient'
201
+ ? 'cosy:bg-gradient-to-br cosy:from-primary/10 cosy:to-secondary/20'
202
+ : '',
203
+ !backgroundImage && background === 'plain' ? 'cosy:bg-base-100' : '',
204
+ ].join(' ');
205
+
206
+ // 确定内容布局类
207
+ const contentClasses = [
208
+ 'cosy:flex',
209
+ imagePosition === 'top' || imagePosition === 'bottom'
210
+ ? 'cosy:flex-col'
211
+ : 'cosy:flex-col cosy:lg:flex-row',
212
+ align === 'center' ? 'cosy:text-center cosy:items-center' : '',
213
+ align === 'left' ? 'cosy:text-left cosy:items-start' : '',
214
+ align === 'right' ? 'cosy:text-right cosy:items-end' : '',
215
+ 'cosy:w-full',
216
+ 'cosy:mx-auto',
217
+ 'cosy:gap-10',
218
+ 'cosy:lg:gap-16',
219
+ 'cosy:z-10',
220
+ 'cosy:relative',
221
+ 'cosy:py-16',
222
+ 'cosy:px-4',
223
+ 'cosy:sm:px-6',
224
+ 'cosy:lg:px-8',
225
+ ].join(' ');
226
+
227
+ // 确定背景遮罩类
228
+ const overlayClasses = [
229
+ 'cosy:absolute',
230
+ 'cosy:inset-0',
231
+ 'cosy:z-0',
232
+ 'cosy:m-0',
233
+ 'cosy:p-0',
234
+ ].join(' ');
235
+
236
+ // 创建遮罩样式对象,包括不透明度
237
+ const overlayStyle =
238
+ backgroundOverlay === 'light'
239
+ ? { backgroundColor: `rgba(255, 255, 255, ${safeOpacity})` }
240
+ : backgroundOverlay === 'dark'
241
+ ? { backgroundColor: `rgba(0, 0, 0, ${safeOpacity})` }
242
+ : backgroundOverlay === 'primary'
243
+ ? {
244
+ backgroundColor: `var(--color-primary-500, #4338ca)`,
245
+ opacity: safeOpacity,
246
+ }
247
+ : backgroundOverlay === 'gradient'
248
+ ? {
249
+ backgroundImage: `linear-gradient(135deg, var(--color-primary-500, #4338ca) ${safeOpacity * 100}%, var(--color-secondary-500, #0ea5e9) ${safeOpacity * 100}%)`,
250
+ }
251
+ : {};
252
+
253
+ const titleClasses = [
254
+ 'cosy:text-5xl',
255
+ 'cosy:font-bold',
256
+ 'cosy:mb-4',
257
+ 'cosy:sm:text-6xl',
258
+ 'cosy:lg:text-7xl',
259
+ backgroundImage &&
260
+ (backgroundOverlay === 'dark' || backgroundOverlay === 'gradient')
261
+ ? 'cosy:text-white'
262
+ : 'cosy:text-primary',
263
+ ].join(' ');
264
+
265
+ const descriptionClasses = [
266
+ 'cosy:text-xl',
267
+ 'cosy:max-w-3xl',
268
+ 'cosy:mb-8',
269
+ backgroundImage &&
270
+ (backgroundOverlay === 'dark' || backgroundOverlay === 'gradient')
271
+ ? 'cosy:text-white cosy:opacity-90'
272
+ : 'cosy:opacity-80',
273
+ ].join(' ');
274
+
275
+ const imageClasses = [
276
+ 'cosy:rounded-lg',
277
+ 'cosy:shadow-2xl',
278
+ 'cosy:transition-all',
279
+ 'cosy:duration-300',
280
+ 'cosy:hover:scale-105',
281
+ 'cosy:hover:shadow-primary/20',
282
+ imagePosition === 'top' || imagePosition === 'bottom'
283
+ ? 'cosy:max-w-lg cosy:w-full'
284
+ : 'cosy:max-w-sm cosy:lg:max-w-md',
285
+ ].join(' ');
286
+
287
+ const linksContainerClasses = [
288
+ 'cosy:flex',
289
+ 'cosy:flex-wrap',
290
+ 'cosy:gap-4',
291
+ align === 'center' ? 'cosy:justify-center' : '',
292
+ align === 'left' ? 'cosy:justify-start' : '',
293
+ align === 'right' ? 'cosy:justify-end' : '',
294
+ 'cosy:mt-4',
295
+ ].join(' ');
296
+
297
+ const appContainerClasses = [
298
+ 'cosy:w-full',
299
+ 'cosy:max-w-3xl',
300
+ 'cosy:mx-auto',
301
+ 'cosy:my-8',
302
+ ].join(' ');
303
+
304
+ // 确定图片顺序
305
+ const imageOrder = {
306
+ right: 'cosy:order-1 cosy:lg:order-2',
307
+ left: 'cosy:order-2 cosy:lg:order-1',
308
+ top: 'cosy:order-1',
309
+ bottom: 'cosy:order-3',
310
+ };
311
+
312
+ // 确定内容顺序
313
+ const contentOrder = {
314
+ right: 'cosy:order-2 cosy:lg:order-1',
315
+ left: 'cosy:order-1 cosy:lg:order-2',
316
+ top: 'cosy:order-2',
317
+ bottom: 'cosy:order-1',
318
+ };
319
+ ---
320
+
321
+ <div
322
+ class={containerClasses}
323
+ style={backgroundImage ? `background-image: url(${backgroundImage})` : ''}
324
+ ignore-heading>
325
+ {
326
+ backgroundImage && backgroundOverlay !== 'none' && (
327
+ <div class={overlayClasses} style={overlayStyle} />
328
+ )
329
+ }
330
+
331
+ <div class={contentClasses}>
332
+ {
333
+ image && (
334
+ <div class={imageOrder[imagePosition]}>
335
+ <img class={imageClasses} src={image.src} alt={image.alt} />
336
+ </div>
337
+ )
338
+ }
339
+
340
+ <div
341
+ class={contentOrder[imagePosition] +
342
+ ' cosy:flex cosy:flex-col cosy:w-full ' +
343
+ (align === 'center' ? 'cosy:text-center cosy:items-center' : '') +
344
+ (align === 'left' ? 'cosy:text-left cosy:items-start' : '') +
345
+ (align === 'right' ? 'cosy:text-right cosy:items-end' : '')}>
346
+ <h2 class={titleClasses}>{title}</h2>
347
+ <p class={descriptionClasses}>
348
+ {description}
349
+ </p>
350
+
351
+ {
352
+ Astro.slots.has('app') && (
353
+ <div class={appContainerClasses}>
354
+ <slot name="app" />
355
+ </div>
356
+ )
357
+ }
358
+
359
+ <div class={linksContainerClasses}>
360
+ {
361
+ links.map((link: Link) => (
362
+ <Link
363
+ href={link.href}
364
+ external
365
+ variant={
366
+ backgroundImage &&
367
+ (backgroundOverlay === 'dark' ||
368
+ backgroundOverlay === 'gradient')
369
+ ? 'light'
370
+ : 'cta'
371
+ }
372
+ animation="hover-lift"
373
+ size="lg">
374
+ {link.text}
375
+ </Link>
376
+ ))
377
+ }
378
+ </div>
379
+ </div>
380
+ </div>
381
+ </div>
@@ -0,0 +1,13 @@
1
+ ---
2
+ import Hero from './Hero.astro';
3
+ ---
4
+
5
+ <Hero
6
+ title="居中对齐标题"
7
+ description="这是一个居中对齐的Hero组件示例。"
8
+ align="center"
9
+ links={[
10
+ { text: '主要操作', href: '#' },
11
+ { text: '次要操作', href: '#' },
12
+ ]}
13
+ />