@coffic/cosy-ui 0.7.4 → 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 (809) 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/src-astro/alert/Alert.astro +100 -0
  6. package/dist/src-astro/alert/EAlertBasic.astro +11 -0
  7. package/dist/src-astro/alert/EAlertBasicContainer.astro +11 -0
  8. package/dist/src-astro/alert/EAlertCustomStyle.astro +16 -0
  9. package/dist/src-astro/alert/EAlertCustomStyleContainer.astro +11 -0
  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/src-astro/alert/EAlertTypesContainer.astro +43 -0
  14. package/dist/src-astro/alert/EAlertWarning.astro +6 -0
  15. package/dist/src-astro/alert/EAlertWithTitle.astro +12 -0
  16. package/dist/src-astro/alert/EAlertWithTitleContainer.astro +11 -0
  17. package/dist/src-astro/alert/index.ts +16 -0
  18. package/dist/src-astro/article/Article.astro +139 -0
  19. package/dist/src-astro/article/ArticleBasic.astro +35 -0
  20. package/dist/src-astro/article/index.ts +11 -0
  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/src-astro/banner/BannerBasic.astro +5 -0
  25. package/dist/src-astro/banner/BannerCustomStyle.astro +8 -0
  26. package/dist/src-astro/banner/BannerDanger.astro +5 -0
  27. package/dist/src-astro/banner/BannerFadeIn.astro +5 -0
  28. package/dist/src-astro/banner/BannerInfo.astro +5 -0
  29. package/dist/src-astro/banner/BannerPrimary.astro +5 -0
  30. package/dist/src-astro/banner/BannerSecondary.astro +5 -0
  31. package/dist/src-astro/banner/BannerSlideUp.astro +5 -0
  32. package/dist/src-astro/banner/BannerSuccess.astro +5 -0
  33. package/dist/src-astro/banner/BannerWarning.astro +5 -0
  34. package/dist/src-astro/banner/index.ts +54 -0
  35. package/dist/src-astro/button/Button.astro +192 -0
  36. package/dist/src-astro/button/ButtonBasic.astro +18 -0
  37. package/dist/src-astro/button/ButtonBasicContainer.astro +11 -0
  38. package/dist/src-astro/button/ButtonIconBoth.astro +9 -0
  39. package/dist/src-astro/button/ButtonIconLeft.astro +8 -0
  40. package/dist/src-astro/button/ButtonIconRight.astro +8 -0
  41. package/dist/src-astro/button/ButtonLinkContainer.astro +19 -0
  42. package/dist/src-astro/button/ButtonLinkExternal.astro +8 -0
  43. package/dist/src-astro/button/ButtonShapes.astro +23 -0
  44. package/dist/src-astro/button/ButtonShapesContainer.astro +29 -0
  45. package/dist/src-astro/button/ButtonSizes.astro +15 -0
  46. package/dist/src-astro/button/ButtonSizesContainer.astro +11 -0
  47. package/dist/src-astro/button/ButtonStates.astro +12 -0
  48. package/dist/src-astro/button/ButtonStatesContainer.astro +11 -0
  49. package/dist/src-astro/button/ButtonVariants.astro +14 -0
  50. package/dist/src-astro/button/ButtonVariantsContainer.astro +73 -0
  51. package/dist/src-astro/button/ButtonWidth.astro +8 -0
  52. package/dist/src-astro/button/ButtonWidthContainer.astro +19 -0
  53. package/dist/src-astro/button/ButtonWithIcons.astro +25 -0
  54. package/dist/src-astro/button/ButtonWithIconsContainer.astro +29 -0
  55. package/dist/src-astro/button/index_astro.ts +60 -0
  56. package/dist/src-astro/card/Card.astro +151 -0
  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/src-astro/code-container/ECodeContainerBasic.astro +19 -0
  75. package/dist/src-astro/code-container/ECodeContainerMultiple.astro +49 -0
  76. package/dist/src-astro/code-container/index.ts +14 -0
  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/src-astro/container/EContainerBasicContainer.astro +11 -0
  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/src-astro/container/EContainerFlexContainer.astro +34 -0
  98. package/dist/src-astro/container/EContainerFlexRow.astro +23 -0
  99. package/dist/src-astro/container/EContainerPadding.astro +32 -0
  100. package/dist/src-astro/container/EContainerPaddingContainer.astro +11 -0
  101. package/dist/src-astro/container/EContainerSizes.astro +36 -0
  102. package/dist/src-astro/container/EContainerSizesContainer.astro +11 -0
  103. package/dist/src-astro/container/index.ts +16 -0
  104. package/dist/src-astro/cosy.ts +6 -0
  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/src-astro/database/ExperimentDB.ts +106 -0
  109. package/dist/src-astro/database/LessonDB.ts +106 -0
  110. package/dist/src-astro/database/MetaDB.ts +74 -0
  111. package/dist/src-astro/entities/BaseDoc.ts +207 -0
  112. package/dist/src-astro/entities/BlogDoc.ts +107 -0
  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/src-astro/flex/Flex.astro +138 -0
  142. package/dist/src-astro/flex/FlexBasic.astro +26 -0
  143. package/dist/src-astro/flex/index.ts +11 -0
  144. package/dist/src-astro/footer/EFooterBasic.astro +18 -0
  145. package/dist/src-astro/footer/EFooterBasicContainer.astro +11 -0
  146. package/dist/src-astro/footer/EFooterComplete.astro +50 -0
  147. package/dist/src-astro/footer/EFooterCompleteContainer.astro +11 -0
  148. package/dist/src-astro/footer/EFooterFeaturesContainer.astro +40 -0
  149. package/dist/src-astro/footer/EFooterWithLogo.astro +28 -0
  150. package/dist/src-astro/footer/EFooterWithLogoContainer.astro +11 -0
  151. package/dist/src-astro/footer/EFooterWithNavigation.astro +24 -0
  152. package/dist/src-astro/footer/EFooterWithNavigationContainer.astro +11 -0
  153. package/dist/src-astro/footer/EFooterWithProducts.astro +24 -0
  154. package/dist/src-astro/footer/EFooterWithProductsContainer.astro +11 -0
  155. package/dist/src-astro/footer/EFooterWithSocial.astro +24 -0
  156. package/dist/src-astro/footer/EFooterWithSocialContainer.astro +11 -0
  157. package/dist/src-astro/footer/Footer.astro +351 -0
  158. package/dist/src-astro/footer/FooterSection.astro +49 -0
  159. package/dist/src-astro/footer/index.ts +31 -0
  160. package/dist/src-astro/grid/Grid.astro +190 -0
  161. package/dist/src-astro/grid/GridBasic.astro +21 -0
  162. package/dist/src-astro/grid/index.ts +11 -0
  163. package/dist/src-astro/header/Header.astro +209 -0
  164. package/dist/src-astro/header/HeaderBasic.astro +19 -0
  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/src-astro/header/HeaderCustomPosition.astro +34 -0
  169. package/dist/src-astro/header/HeaderWithNavigation.astro +27 -0
  170. package/dist/src-astro/header/index.ts +40 -0
  171. package/dist/src-astro/heading/Heading.astro +245 -0
  172. package/dist/src-astro/heading/index.ts +11 -0
  173. package/dist/src-astro/hero/Hero.astro +381 -0
  174. package/dist/src-astro/hero/HeroAlignCenter.astro +13 -0
  175. package/dist/src-astro/hero/HeroAlignContainer.astro +27 -0
  176. package/dist/src-astro/hero/HeroAlignLeft.astro +13 -0
  177. package/dist/src-astro/hero/HeroAlignRight.astro +13 -0
  178. package/dist/src-astro/hero/HeroBackgroundContainer.astro +18 -0
  179. package/dist/src-astro/hero/HeroBackgroundImage.astro +16 -0
  180. package/dist/src-astro/hero/HeroBackgroundImageContainer.astro +11 -0
  181. package/dist/src-astro/hero/HeroBasic.astro +12 -0
  182. package/dist/src-astro/hero/HeroBasicContainer.astro +11 -0
  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/src-astro/hero/HeroWithButtonContainer.astro +11 -0
  187. package/dist/src-astro/hero/HeroWithImage.astro +16 -0
  188. package/dist/src-astro/hero/HeroWithImageContainer.astro +11 -0
  189. package/dist/src-astro/hero/index.ts +39 -0
  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/src-astro/icons/SettingsIcon.astro +18 -0
  208. package/dist/src-astro/icons/SocialIcon.astro +100 -0
  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/src-astro/image/index.ts +17 -0
  221. package/dist/src-astro/integration.ts +14 -0
  222. package/dist/src-astro/language-switcher/LanguageSwitcher.astro +64 -0
  223. package/dist/src-astro/language-switcher/LanguageSwitcherBasic.astro +7 -0
  224. package/dist/src-astro/language-switcher/index.ts +11 -0
  225. package/dist/src-astro/layout-app/AppLayout.astro +267 -0
  226. package/dist/src-astro/layout-app/AppLayoutBasic.astro +54 -0
  227. package/dist/src-astro/layout-app/index.ts +11 -0
  228. package/dist/src-astro/layout-basic/BaseLayout.astro +103 -0
  229. package/dist/src-astro/layout-basic/BaseLayoutBasic.astro +17 -0
  230. package/dist/src-astro/layout-basic/index.ts +11 -0
  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/src-astro/layout-dashboard/index.ts +11 -0
  234. package/dist/src-astro/link/Link.astro +160 -0
  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/src-astro/link/index.ts +17 -0
  239. package/dist/src-astro/main/Main.astro +155 -0
  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/src-astro/module/Module.astro +68 -0
  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/src-astro/module/index.ts +17 -0
  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/src-astro/nav-item/index.ts +11 -0
  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/src-astro/nav-section/index.ts +11 -0
  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/src-astro/sidebar/index.ts +11 -0
  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/src-astro/sidebar-nav/index.ts +11 -0
  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/src-astro/speak/index.ts +14 -0
  269. package/dist/src-astro/stack/Stack.astro +153 -0
  270. package/dist/src-astro/stack/StackBasic.astro +21 -0
  271. package/dist/src-astro/stack/index.ts +11 -0
  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/src-astro/team-member/TeamMembers.astro +96 -0
  278. package/dist/src-astro/team-member/index.ts +30 -0
  279. package/dist/src-astro/text/Text.astro +189 -0
  280. package/dist/src-astro/text/TextBasic.astro +12 -0
  281. package/dist/src-astro/text/TextSizes.astro +11 -0
  282. package/dist/src-astro/text/index.ts +11 -0
  283. package/dist/src-astro/theme-switcher/ThemeItem.astro +45 -0
  284. package/dist/src-astro/theme-switcher/ThemeSwitcher.astro +121 -0
  285. package/dist/src-astro/theme-switcher/ThemeSwitcherBasic.astro +7 -0
  286. package/dist/src-astro/theme-switcher/index.ts +11 -0
  287. package/dist/src-astro/toc/TableOfContents.astro +438 -0
  288. package/dist/src-astro/toc/TableOfContentsBasic.astro +25 -0
  289. package/dist/src-astro/toc/index.ts +11 -0
  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/src-astro/types/image.ts +16 -0
  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/src-astro/utils/url.ts +17 -0
  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/vue/buttons-vue/ButtonVariants.vue +16 -0
  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/iPhoneWindow.vue +247 -0
  362. package/dist/vue/iPhone-vue/index.ts +31 -0
  363. package/dist/vue/icons-vue/AlertTriangleIcon.vue +30 -0
  364. package/dist/vue/icons-vue/CalendarIcon.vue +30 -0
  365. package/dist/vue/icons-vue/CheckCircleIcon.vue +30 -0
  366. package/dist/vue/icons-vue/CheckIcon.vue +30 -0
  367. package/dist/vue/icons-vue/ChevronDownIcon.vue +30 -0
  368. package/dist/vue/icons-vue/ClipboardIcon.vue +30 -0
  369. package/dist/vue/icons-vue/CloseIcon.vue +30 -0
  370. package/dist/vue/icons-vue/InboxArchiveIcon.vue +30 -0
  371. package/dist/vue/icons-vue/InfoCircleIcon.vue +30 -0
  372. package/dist/vue/icons-vue/InfoIcon.vue +30 -0
  373. package/dist/vue/icons-vue/LinkIcon.vue +30 -0
  374. package/dist/vue/icons-vue/MenuIcon.vue +30 -0
  375. package/dist/vue/icons-vue/SearchIcon.vue +30 -0
  376. package/dist/vue/icons-vue/SettingsIcon.vue +30 -0
  377. package/dist/vue/icons-vue/UserIcon.vue +30 -0
  378. package/dist/vue/icons-vue/VueIcon.vue +86 -0
  379. package/dist/vue/icons-vue/XCircleIcon.vue +30 -0
  380. package/dist/vue/icons-vue/index.ts +1 -0
  381. package/dist/vue/list-vue/ListItem.vue +5 -0
  382. package/dist/vue/list-vue/index.ts +1 -0
  383. package/dist/vue/mac-window-vue/Basic.vue +9 -0
  384. package/dist/vue/mac-window-vue/CustomHeight.vue +13 -0
  385. package/dist/vue/mac-window-vue/MacWindow.vue +283 -0
  386. package/dist/vue/mac-window-vue/WithEvents.vue +40 -0
  387. package/dist/vue/mac-window-vue/WithSidebar.vue +31 -0
  388. package/dist/vue/mac-window-vue/WithTabs.vue +26 -0
  389. package/dist/vue/mac-window-vue/WithToolbar.vue +44 -0
  390. package/dist/vue/mac-window-vue/index.ts +36 -0
  391. package/dist/vue/utils/component.ts +42 -0
  392. package/dist/vue/utils/i18n.ts +83 -0
  393. package/dist/vue/utils/image.ts +128 -0
  394. package/dist/vue/utils/lang_entry.ts +240 -0
  395. package/dist/vue/utils/lang_package.ts +150 -0
  396. package/dist/vue/utils/language.ts +121 -0
  397. package/dist/vue/utils/link.ts +250 -0
  398. package/dist/vue/utils/logger.ts +136 -0
  399. package/dist/vue/utils/path.ts +59 -0
  400. package/dist/vue/utils/social.ts +90 -0
  401. package/dist/vue/utils/theme.ts +122 -0
  402. package/dist/vue/utils/url.ts +17 -0
  403. package/package.json +85 -82
  404. package/LICENSE +0 -21
  405. package/README.md +0 -31
  406. package/dist/alert/Alert.astro +0 -94
  407. package/dist/alert/EAlertBasic.astro +0 -11
  408. package/dist/alert/EAlertBasicContainer.astro +0 -11
  409. package/dist/alert/EAlertCustomStyle.astro +0 -14
  410. package/dist/alert/EAlertCustomStyleContainer.astro +0 -11
  411. package/dist/alert/EAlertError.astro +0 -6
  412. package/dist/alert/EAlertInfo.astro +0 -6
  413. package/dist/alert/EAlertSuccess.astro +0 -6
  414. package/dist/alert/EAlertTypesContainer.astro +0 -43
  415. package/dist/alert/EAlertWarning.astro +0 -6
  416. package/dist/alert/EAlertWithTitle.astro +0 -12
  417. package/dist/alert/EAlertWithTitleContainer.astro +0 -11
  418. package/dist/alert/index.ts +0 -16
  419. package/dist/alert-dialog-vue/AlertDialog.vue +0 -120
  420. package/dist/alert-dialog-vue/Basic.vue +0 -38
  421. package/dist/alert-dialog-vue/Multilang.vue +0 -48
  422. package/dist/alert-dialog-vue/index.ts +0 -20
  423. package/dist/article/Article.astro +0 -139
  424. package/dist/article/ArticleBasic.astro +0 -31
  425. package/dist/article/index.ts +0 -11
  426. package/dist/assets/iconData.ts +0 -116
  427. package/dist/banner/Banner.astro +0 -165
  428. package/dist/banner/BannerAllAnimations.astro +0 -10
  429. package/dist/banner/BannerBasic.astro +0 -5
  430. package/dist/banner/BannerCustomStyle.astro +0 -7
  431. package/dist/banner/BannerDanger.astro +0 -5
  432. package/dist/banner/BannerFadeIn.astro +0 -5
  433. package/dist/banner/BannerInfo.astro +0 -5
  434. package/dist/banner/BannerPrimary.astro +0 -5
  435. package/dist/banner/BannerSecondary.astro +0 -5
  436. package/dist/banner/BannerSlideUp.astro +0 -5
  437. package/dist/banner/BannerSuccess.astro +0 -5
  438. package/dist/banner/BannerWarning.astro +0 -5
  439. package/dist/banner/index.ts +0 -41
  440. package/dist/banner-box-vue/BannerBox.vue +0 -296
  441. package/dist/banner-box-vue/DownloadButton.vue +0 -202
  442. package/dist/banner-box-vue/ExampleBasic.vue +0 -32
  443. package/dist/banner-box-vue/ExampleCustomBg.vue +0 -32
  444. package/dist/banner-box-vue/ExampleDisplayModeAlways.vue +0 -34
  445. package/dist/banner-box-vue/ExampleDisplayModeHover.vue +0 -34
  446. package/dist/banner-box-vue/ExampleDisplayModeNever.vue +0 -34
  447. package/dist/banner-box-vue/ExampleImageExport.vue +0 -37
  448. package/dist/banner-box-vue/ExampleSizePreset.vue +0 -35
  449. package/dist/banner-box-vue/FeatureCard.vue +0 -190
  450. package/dist/banner-box-vue/SmartBanner.vue +0 -44
  451. package/dist/banner-box-vue/bgStyles.ts +0 -55
  452. package/dist/banner-box-vue/index.ts +0 -48
  453. package/dist/banner-box-vue/sizePresets.ts +0 -23
  454. package/dist/blog/Blog.astro +0 -249
  455. package/dist/blog/index.ts +0 -1
  456. package/dist/blog-vue/Basic.vue +0 -30
  457. package/dist/blog-vue/BlogList.vue +0 -100
  458. package/dist/blog-vue/Empty.vue +0 -8
  459. package/dist/blog-vue/EmptyEnglish.vue +0 -8
  460. package/dist/blog-vue/English.vue +0 -24
  461. package/dist/blog-vue/index.ts +0 -29
  462. package/dist/button/Button.astro +0 -192
  463. package/dist/button/ButtonBasic.astro +0 -18
  464. package/dist/button/ButtonBasicContainer.astro +0 -11
  465. package/dist/button/ButtonIconBoth.astro +0 -9
  466. package/dist/button/ButtonIconLeft.astro +0 -8
  467. package/dist/button/ButtonIconRight.astro +0 -8
  468. package/dist/button/ButtonLinkContainer.astro +0 -19
  469. package/dist/button/ButtonLinkExternal.astro +0 -8
  470. package/dist/button/ButtonShapes.astro +0 -23
  471. package/dist/button/ButtonShapesContainer.astro +0 -25
  472. package/dist/button/ButtonSizes.astro +0 -15
  473. package/dist/button/ButtonSizesContainer.astro +0 -11
  474. package/dist/button/ButtonStates.astro +0 -12
  475. package/dist/button/ButtonStatesContainer.astro +0 -11
  476. package/dist/button/ButtonVariants.astro +0 -14
  477. package/dist/button/ButtonVariantsContainer.astro +0 -64
  478. package/dist/button/ButtonWidth.astro +0 -8
  479. package/dist/button/ButtonWidthContainer.astro +0 -19
  480. package/dist/button/ButtonWithIcons.astro +0 -25
  481. package/dist/button/ButtonWithIconsContainer.astro +0 -25
  482. package/dist/button/index_astro.ts +0 -62
  483. package/dist/buttons-vue/Button.vue +0 -105
  484. package/dist/buttons-vue/ButtonBasic.vue +0 -11
  485. package/dist/buttons-vue/ButtonFeature.vue +0 -91
  486. package/dist/buttons-vue/ButtonFeatureBasic.vue +0 -8
  487. package/dist/buttons-vue/ButtonFeatureWithTips.vue +0 -7
  488. package/dist/buttons-vue/ButtonLink.vue +0 -13
  489. package/dist/buttons-vue/ButtonSizes.vue +0 -12
  490. package/dist/buttons-vue/ButtonVariants.vue +0 -16
  491. package/dist/buttons-vue/ButtonWithIcons.vue +0 -21
  492. package/dist/buttons-vue/index.ts +0 -1
  493. package/dist/card/Card.astro +0 -140
  494. package/dist/card/CardCompact.astro +0 -77
  495. package/dist/card/CardCourse.astro +0 -32
  496. package/dist/card/CardLink.astro +0 -75
  497. package/dist/card/CardWithImage.astro +0 -39
  498. package/dist/card/ECardBasic.astro +0 -11
  499. package/dist/card/ECardBasicContainer.astro +0 -11
  500. package/dist/card/ECardClickable.astro +0 -13
  501. package/dist/card/ECardClickableContainer.astro +0 -11
  502. package/dist/card/ECardCompact.astro +0 -13
  503. package/dist/card/ECardCompactContainer.astro +0 -11
  504. package/dist/card/ECardCustomStyle.astro +0 -17
  505. package/dist/card/ECardCustomStyleContainer.astro +0 -11
  506. package/dist/card/ECardWithImage.astro +0 -16
  507. package/dist/card/ECardWithImageContainer.astro +0 -11
  508. package/dist/card/ECardWithSubtitle.astro +0 -13
  509. package/dist/card/ECardWithSubtitleContainer.astro +0 -11
  510. package/dist/card/index.ts +0 -33
  511. package/dist/code-block/CodeBlock.astro +0 -152
  512. package/dist/code-block/index.ts +0 -1
  513. package/dist/code-container/CodeContainer.astro +0 -254
  514. package/dist/code-container/ECodeContainerBasic.astro +0 -19
  515. package/dist/code-container/ECodeContainerMultiple.astro +0 -49
  516. package/dist/code-container/index.ts +0 -14
  517. package/dist/code-example/CodeExample.astro +0 -157
  518. package/dist/code-example/index.ts +0 -1
  519. package/dist/confirm-dialog-vue/Basic.vue +0 -57
  520. package/dist/confirm-dialog-vue/ConfirmDialog.vue +0 -134
  521. package/dist/confirm-dialog-vue/CustomButtons.vue +0 -69
  522. package/dist/confirm-dialog-vue/index.ts +0 -20
  523. package/dist/contact/Contact.astro +0 -279
  524. package/dist/contact/EContactBasic.astro +0 -15
  525. package/dist/contact/EContactBasicContainer.astro +0 -12
  526. package/dist/contact/EContactCompact.astro +0 -12
  527. package/dist/contact/EContactCompactContainer.astro +0 -12
  528. package/dist/contact/EContactCustomStyle.astro +0 -22
  529. package/dist/contact/EContactCustomStyleContainer.astro +0 -12
  530. package/dist/contact/EContactSocial.astro +0 -21
  531. package/dist/contact/EContactSocialContainer.astro +0 -12
  532. package/dist/contact/EContactWithTitle.astro +0 -18
  533. package/dist/contact/EContactWithTitleContainer.astro +0 -12
  534. package/dist/contact/index.ts +0 -21
  535. package/dist/container/Container.astro +0 -211
  536. package/dist/container/EContainerBasic.astro +0 -13
  537. package/dist/container/EContainerBasicContainer.astro +0 -11
  538. package/dist/container/EContainerFlexBetween.astro +0 -16
  539. package/dist/container/EContainerFlexCenter.astro +0 -23
  540. package/dist/container/EContainerFlexColumn.astro +0 -16
  541. package/dist/container/EContainerFlexContainer.astro +0 -34
  542. package/dist/container/EContainerFlexRow.astro +0 -16
  543. package/dist/container/EContainerPadding.astro +0 -32
  544. package/dist/container/EContainerPaddingContainer.astro +0 -11
  545. package/dist/container/EContainerSizes.astro +0 -36
  546. package/dist/container/EContainerSizesContainer.astro +0 -11
  547. package/dist/container/index.ts +0 -16
  548. package/dist/cosy.ts +0 -6
  549. package/dist/counter-vue/VueCounter.vue +0 -29
  550. package/dist/counter-vue/index.ts +0 -1
  551. package/dist/database/BaseDB.ts +0 -231
  552. package/dist/database/BlogDB.ts +0 -198
  553. package/dist/database/CourseDB.ts +0 -84
  554. package/dist/database/ExperimentDB.ts +0 -102
  555. package/dist/database/LessonDB.ts +0 -102
  556. package/dist/database/MetaDB.ts +0 -74
  557. package/dist/entities/BaseDoc.ts +0 -195
  558. package/dist/entities/BlogDoc.ts +0 -104
  559. package/dist/entities/CourseDoc.ts +0 -96
  560. package/dist/entities/ExperimentDoc.ts +0 -114
  561. package/dist/entities/Feature.ts +0 -53
  562. package/dist/entities/LessonDoc.ts +0 -148
  563. package/dist/entities/MetaDoc.ts +0 -90
  564. package/dist/entities/SidebarItem.ts +0 -89
  565. package/dist/entities/Tag.ts +0 -42
  566. package/dist/env.d.ts +0 -32
  567. package/dist/errors/404.astro +0 -27
  568. package/dist/errors/404Basic.astro +0 -5
  569. package/dist/errors/index.ts +0 -11
  570. package/dist/flex/Flex.astro +0 -138
  571. package/dist/flex/FlexBasic.astro +0 -9
  572. package/dist/flex/index.ts +0 -11
  573. package/dist/footer/EFooterBasic.astro +0 -18
  574. package/dist/footer/EFooterBasicContainer.astro +0 -11
  575. package/dist/footer/EFooterComplete.astro +0 -45
  576. package/dist/footer/EFooterCompleteContainer.astro +0 -11
  577. package/dist/footer/EFooterFeaturesContainer.astro +0 -40
  578. package/dist/footer/EFooterWithLogo.astro +0 -23
  579. package/dist/footer/EFooterWithLogoContainer.astro +0 -11
  580. package/dist/footer/EFooterWithNavigation.astro +0 -24
  581. package/dist/footer/EFooterWithNavigationContainer.astro +0 -11
  582. package/dist/footer/EFooterWithProducts.astro +0 -24
  583. package/dist/footer/EFooterWithProductsContainer.astro +0 -11
  584. package/dist/footer/EFooterWithSocial.astro +0 -24
  585. package/dist/footer/EFooterWithSocialContainer.astro +0 -11
  586. package/dist/footer/Footer.astro +0 -339
  587. package/dist/footer/FooterSection.astro +0 -48
  588. package/dist/footer/index.ts +0 -31
  589. package/dist/grid/Grid.astro +0 -190
  590. package/dist/grid/GridBasic.astro +0 -9
  591. package/dist/grid/index.ts +0 -11
  592. package/dist/header/Header.astro +0 -204
  593. package/dist/header/HeaderBasic.astro +0 -14
  594. package/dist/header/HeaderCustomNavbarCenter.astro +0 -23
  595. package/dist/header/HeaderCustomNavbarEnd.astro +0 -20
  596. package/dist/header/HeaderCustomNavbarStart.astro +0 -20
  597. package/dist/header/HeaderCustomPosition.astro +0 -23
  598. package/dist/header/HeaderWithNavigation.astro +0 -22
  599. package/dist/header/index.ts +0 -26
  600. package/dist/heading/Heading.astro +0 -238
  601. package/dist/heading/index.ts +0 -11
  602. package/dist/hero/Hero.astro +0 -368
  603. package/dist/hero/HeroAlignCenter.astro +0 -13
  604. package/dist/hero/HeroAlignContainer.astro +0 -23
  605. package/dist/hero/HeroAlignLeft.astro +0 -13
  606. package/dist/hero/HeroAlignRight.astro +0 -13
  607. package/dist/hero/HeroBackgroundContainer.astro +0 -18
  608. package/dist/hero/HeroBackgroundImage.astro +0 -12
  609. package/dist/hero/HeroBackgroundImageContainer.astro +0 -11
  610. package/dist/hero/HeroBasic.astro +0 -12
  611. package/dist/hero/HeroBasicContainer.astro +0 -11
  612. package/dist/hero/HeroGradientBackground.astro +0 -10
  613. package/dist/hero/HeroPlainBackground.astro +0 -10
  614. package/dist/hero/HeroWithButton.astro +0 -11
  615. package/dist/hero/HeroWithButtonContainer.astro +0 -11
  616. package/dist/hero/HeroWithImage.astro +0 -16
  617. package/dist/hero/HeroWithImageContainer.astro +0 -11
  618. package/dist/hero/index.ts +0 -39
  619. package/dist/iPhone-vue/Basic.vue +0 -33
  620. package/dist/iPhone-vue/CustomBackground.vue +0 -33
  621. package/dist/iPhone-vue/NoFrame.vue +0 -33
  622. package/dist/iPhone-vue/WeatherApp.vue +0 -97
  623. package/dist/iPhone-vue/iPhoneWindow.vue +0 -193
  624. package/dist/iPhone-vue/index.ts +0 -28
  625. package/dist/icons/AlertTriangle.astro +0 -24
  626. package/dist/icons/AstroIcon.astro +0 -61
  627. package/dist/icons/CalendarIcon.astro +0 -24
  628. package/dist/icons/CheckCircle.astro +0 -23
  629. package/dist/icons/CheckIcon.astro +0 -27
  630. package/dist/icons/ChevronDownIcon.astro +0 -24
  631. package/dist/icons/ClipboardIcon.astro +0 -27
  632. package/dist/icons/CloseIcon.astro +0 -27
  633. package/dist/icons/ErrorIcon.astro +0 -24
  634. package/dist/icons/GithubIcon.astro +0 -19
  635. package/dist/icons/InboxArchive.astro +0 -23
  636. package/dist/icons/InfoCircle.astro +0 -24
  637. package/dist/icons/InfoIcon.astro +0 -26
  638. package/dist/icons/LinkIcon.astro +0 -27
  639. package/dist/icons/LinkedinIcon.astro +0 -23
  640. package/dist/icons/MenuIcon.astro +0 -27
  641. package/dist/icons/SearchIcon.astro +0 -23
  642. package/dist/icons/SettingsIcon.astro +0 -18
  643. package/dist/icons/SocialIcon.astro +0 -100
  644. package/dist/icons/SuccessIcon.astro +0 -24
  645. package/dist/icons/SunCloudyIcon.astro +0 -23
  646. package/dist/icons/TwitterIcon.astro +0 -24
  647. package/dist/icons/UserIcon.astro +0 -24
  648. package/dist/icons/WarningIcon.astro +0 -27
  649. package/dist/icons/XCircle.astro +0 -24
  650. package/dist/icons/index.ts +0 -3
  651. package/dist/icons-vue/AlertTriangleIcon.vue +0 -30
  652. package/dist/icons-vue/CalendarIcon.vue +0 -30
  653. package/dist/icons-vue/CheckCircleIcon.vue +0 -30
  654. package/dist/icons-vue/CheckIcon.vue +0 -30
  655. package/dist/icons-vue/ChevronDownIcon.vue +0 -30
  656. package/dist/icons-vue/ClipboardIcon.vue +0 -30
  657. package/dist/icons-vue/CloseIcon.vue +0 -30
  658. package/dist/icons-vue/InboxArchiveIcon.vue +0 -30
  659. package/dist/icons-vue/InfoCircleIcon.vue +0 -30
  660. package/dist/icons-vue/InfoIcon.vue +0 -30
  661. package/dist/icons-vue/LinkIcon.vue +0 -30
  662. package/dist/icons-vue/MenuIcon.vue +0 -30
  663. package/dist/icons-vue/SearchIcon.vue +0 -30
  664. package/dist/icons-vue/SettingsIcon.vue +0 -30
  665. package/dist/icons-vue/UserIcon.vue +0 -30
  666. package/dist/icons-vue/VueIcon.vue +0 -76
  667. package/dist/icons-vue/XCircleIcon.vue +0 -30
  668. package/dist/icons-vue/index.ts +0 -1
  669. package/dist/image/Image.astro +0 -342
  670. package/dist/image/ImageBasic.astro +0 -1
  671. package/dist/image/ImageEffects.astro +0 -32
  672. package/dist/image/ImageLoading.astro +0 -35
  673. package/dist/image/index.ts +0 -17
  674. package/dist/index.ts +0 -3
  675. package/dist/index_astro.ts +0 -77
  676. package/dist/index_collection.ts +0 -104
  677. package/dist/index_icons.ts +0 -24
  678. package/dist/index_utils.ts +0 -8
  679. package/dist/index_vue.ts +0 -33
  680. package/dist/integration.ts +0 -14
  681. package/dist/language-switcher/LanguageSwitcher.astro +0 -64
  682. package/dist/language-switcher/LanguageSwitcherBasic.astro +0 -7
  683. package/dist/language-switcher/index.ts +0 -11
  684. package/dist/layout-app/AppLayout.astro +0 -259
  685. package/dist/layout-app/AppLayoutBasic.astro +0 -53
  686. package/dist/layout-app/index.ts +0 -11
  687. package/dist/layout-basic/BaseLayout.astro +0 -99
  688. package/dist/layout-basic/BaseLayoutBasic.astro +0 -16
  689. package/dist/layout-basic/index.ts +0 -11
  690. package/dist/layout-dashboard/DashboardLayout.astro +0 -671
  691. package/dist/layout-dashboard/DashboardLayoutBasic.astro +0 -48
  692. package/dist/layout-dashboard/index.ts +0 -11
  693. package/dist/link/Link.astro +0 -145
  694. package/dist/link/LinkAnimations.astro +0 -21
  695. package/dist/link/LinkBasic.astro +0 -17
  696. package/dist/link/LinkVariants.astro +0 -20
  697. package/dist/link/index.ts +0 -17
  698. package/dist/list-vue/ListItem.vue +0 -5
  699. package/dist/list-vue/index.ts +0 -1
  700. package/dist/mac-window-vue/Basic.vue +0 -11
  701. package/dist/mac-window-vue/CustomHeight.vue +0 -13
  702. package/dist/mac-window-vue/MacWindow.vue +0 -262
  703. package/dist/mac-window-vue/WithEvents.vue +0 -34
  704. package/dist/mac-window-vue/WithSidebar.vue +0 -21
  705. package/dist/mac-window-vue/WithTabs.vue +0 -21
  706. package/dist/mac-window-vue/WithToolbar.vue +0 -43
  707. package/dist/mac-window-vue/index.ts +0 -36
  708. package/dist/main/Main.astro +0 -147
  709. package/dist/main/index.ts +0 -1
  710. package/dist/modal/Modal.astro +0 -119
  711. package/dist/modal/index.ts +0 -1
  712. package/dist/module/Module.astro +0 -61
  713. package/dist/module/ModuleBasic.astro +0 -12
  714. package/dist/module/ModuleCustom.astro +0 -14
  715. package/dist/module/ModuleGrid.astro +0 -26
  716. package/dist/module/index.ts +0 -17
  717. package/dist/nav-item/NavItems.astro +0 -44
  718. package/dist/nav-item/NavItemsBasic.astro +0 -27
  719. package/dist/nav-item/index.ts +0 -11
  720. package/dist/nav-section/NavSection.astro +0 -42
  721. package/dist/nav-section/NavSectionBasic.astro +0 -12
  722. package/dist/nav-section/index.ts +0 -11
  723. package/dist/products/ProductCard.astro +0 -375
  724. package/dist/products/Products.astro +0 -195
  725. package/dist/products/index.ts +0 -2
  726. package/dist/section/Section.astro +0 -140
  727. package/dist/section/index.ts +0 -1
  728. package/dist/sidebar/Sidebar.astro +0 -174
  729. package/dist/sidebar/SidebarBasic.astro +0 -1
  730. package/dist/sidebar/index.ts +0 -11
  731. package/dist/sidebar-nav/SidebarNav.astro +0 -117
  732. package/dist/sidebar-nav/SidebarNavBasic.astro +0 -32
  733. package/dist/sidebar-nav/index.ts +0 -11
  734. package/dist/speak/Speak.astro +0 -65
  735. package/dist/speak/SpeakBasic.astro +0 -13
  736. package/dist/speak/SpeakGrid.astro +0 -29
  737. package/dist/speak/index.ts +0 -14
  738. package/dist/stack/Stack.astro +0 -151
  739. package/dist/stack/StackBasic.astro +0 -15
  740. package/dist/stack/index.ts +0 -11
  741. package/dist/team-member/TeamMember.astro +0 -135
  742. package/dist/team-member/TeamMemberBasic.astro +0 -25
  743. package/dist/team-member/TeamMemberCustomStyle.astro +0 -26
  744. package/dist/team-member/TeamMemberGroup.astro +0 -60
  745. package/dist/team-member/TeamMemberWithSocial.astro +0 -30
  746. package/dist/team-member/TeamMembers.astro +0 -104
  747. package/dist/team-member/index.ts +0 -23
  748. package/dist/text/Text.astro +0 -189
  749. package/dist/text/TextBasic.astro +0 -12
  750. package/dist/text/TextSizes.astro +0 -11
  751. package/dist/text/index.ts +0 -11
  752. package/dist/theme-switcher/ThemeItem.astro +0 -45
  753. package/dist/theme-switcher/ThemeSwitcher.astro +0 -120
  754. package/dist/theme-switcher/ThemeSwitcherBasic.astro +0 -7
  755. package/dist/theme-switcher/index.ts +0 -11
  756. package/dist/toc/TableOfContents.astro +0 -405
  757. package/dist/toc/TableOfContentsBasic.astro +0 -25
  758. package/dist/toc/index.ts +0 -11
  759. package/dist/types/article.ts +0 -22
  760. package/dist/types/footer.ts +0 -129
  761. package/dist/types/header.ts +0 -87
  762. package/dist/types/heading.ts +0 -13
  763. package/dist/types/image.ts +0 -16
  764. package/dist/types/layout.ts +0 -71
  765. package/dist/types/main.ts +0 -80
  766. package/dist/types/menu.ts +0 -24
  767. package/dist/types/meta.ts +0 -55
  768. package/dist/types/product.ts +0 -10
  769. package/dist/types/sidebar.ts +0 -39
  770. package/dist/types/static-path.ts +0 -8
  771. package/dist/utils/component.ts +0 -39
  772. package/dist/utils/i18n.ts +0 -83
  773. package/dist/utils/image.ts +0 -126
  774. package/dist/utils/lang_entry.ts +0 -240
  775. package/dist/utils/lang_package.ts +0 -150
  776. package/dist/utils/language.ts +0 -118
  777. package/dist/utils/link.ts +0 -248
  778. package/dist/utils/logger.ts +0 -130
  779. package/dist/utils/path.ts +0 -55
  780. package/dist/utils/social.ts +0 -90
  781. package/dist/utils/theme.ts +0 -114
  782. package/dist/utils/url.ts +0 -17
  783. /package/dist/{assets → src-astro/assets}/book.png +0 -0
  784. /package/dist/{assets → src-astro/assets}/logo-rounded.png +0 -0
  785. /package/dist/{assets → src-astro/assets}/logo.png +0 -0
  786. /package/dist/{button → src-astro/button}/ButtonBlock.astro +0 -0
  787. /package/dist/{button → src-astro/button}/ButtonError.astro +0 -0
  788. /package/dist/{button → src-astro/button}/ButtonGhost.astro +0 -0
  789. /package/dist/{button → src-astro/button}/ButtonInfo.astro +0 -0
  790. /package/dist/{button → src-astro/button}/ButtonLink.astro +0 -0
  791. /package/dist/{button → src-astro/button}/ButtonNeutral.astro +0 -0
  792. /package/dist/{button → src-astro/button}/ButtonOutline.astro +0 -0
  793. /package/dist/{button → src-astro/button}/ButtonShapeCircle.astro +0 -0
  794. /package/dist/{button → src-astro/button}/ButtonShapeDefault.astro +0 -0
  795. /package/dist/{button → src-astro/button}/ButtonShapeSquare.astro +0 -0
  796. /package/dist/{button → src-astro/button}/ButtonSuccess.astro +0 -0
  797. /package/dist/{button → src-astro/button}/ButtonWarning.astro +0 -0
  798. /package/dist/{button → src-astro/button}/ButtonWide.astro +0 -0
  799. /package/dist/{card → src-astro/card}/CardBasic.astro +0 -0
  800. /package/dist/{heading → src-astro/heading}/HeadingBasic.astro +0 -0
  801. /package/dist/{types → src-astro/types}/nav.ts +0 -0
  802. /package/dist/{iPhone-vue → vue/iPhone-vue}/assets/iPhone 14 Pro - Deep Purple - Landscape.png +0 -0
  803. /package/dist/{iPhone-vue → vue/iPhone-vue}/assets/iPhone 14 Pro - Deep Purple - Portrait.png +0 -0
  804. /package/dist/{iPhone-vue → vue/iPhone-vue}/assets/iPhone 14 Pro - Gold - Landscape.png +0 -0
  805. /package/dist/{iPhone-vue → vue/iPhone-vue}/assets/iPhone 14 Pro - Gold - Portrait.png +0 -0
  806. /package/dist/{iPhone-vue → vue/iPhone-vue}/assets/iPhone 14 Pro - Silver - Landscape.png +0 -0
  807. /package/dist/{iPhone-vue → vue/iPhone-vue}/assets/iPhone 14 Pro - Silver - Portrait.png +0 -0
  808. /package/dist/{iPhone-vue → vue/iPhone-vue}/assets/iPhone 14 Pro - Space Black - Landscape.png +0 -0
  809. /package/dist/{iPhone-vue → vue/iPhone-vue}/assets/iPhone 14 Pro - Space Black - Portrait.png +0 -0
@@ -0,0 +1,200 @@
1
+ ---
2
+ /**
3
+ * @component Products
4
+ *
5
+ * @description
6
+ * Products 组件是ProductCard的容器集合,用于展示多个产品卡片。
7
+ * 组件会自动根据父容器大小调整布局,确保在任何视口大小下都能整齐排列产品卡片。
8
+ * 支持网格和列表两种布局模式,并提供多种配置选项以适应不同场景需求。
9
+ *
10
+ * @design
11
+ * 设计理念:
12
+ * 1. 响应式布局 - 自动适应父容器大小,在不同设备上呈现最佳效果
13
+ * 2. 灵活配置 - 提供多种布局选项、间距设置和对齐方式
14
+ * 3. 统一展示 - 确保所有产品卡片视觉一致,提供等高选项
15
+ * 4. 性能优化 - 支持懒加载和分页显示大量产品
16
+ *
17
+ * @usage
18
+ * 基本用法:
19
+ * ```astro
20
+ * <Products
21
+ * products={[
22
+ * {
23
+ * name: "产品1",
24
+ * image: "/images/products/product1.jpg",
25
+ * description: "产品1描述",
26
+ * productUrl: "https://product1.com"
27
+ * },
28
+ * {
29
+ * name: "产品2",
30
+ * image: "/images/products/product2.jpg",
31
+ * description: "产品2描述",
32
+ * appStoreUrl: "https://apps.apple.com/app/product2"
33
+ * }
34
+ * ]}
35
+ * />
36
+ * ```
37
+ *
38
+ * 使用网格布局并设置列数:
39
+ * ```astro
40
+ * <Products
41
+ * layout="grid"
42
+ * columns={{ base: 1, sm: 2, md: 3, lg: 4 }}
43
+ * products={products}
44
+ * />
45
+ * ```
46
+ *
47
+ * 使用列表布局:
48
+ * ```astro
49
+ * <Products
50
+ * layout="list"
51
+ * products={products}
52
+ * />
53
+ * ```
54
+ *
55
+ * 自定义卡片尺寸和间距:
56
+ * ```astro
57
+ * <Products
58
+ * cardSize="sm"
59
+ * gap="lg"
60
+ * products={products}
61
+ * />
62
+ * ```
63
+ */
64
+
65
+ import { ProductCard } from '../../index-astro';
66
+ import '../../style.ts';
67
+ import type { Props as ProductCardProps } from './ProductCard.astro';
68
+
69
+ // 定义产品项类型
70
+ type ProductItem = Omit<ProductCardProps, 'class'>;
71
+
72
+ // 定义响应式列数配置
73
+ type ResponsiveColumns = {
74
+ base?: number; // 默认列数
75
+ sm?: number; // 小屏幕列数
76
+ md?: number; // 中等屏幕列数
77
+ lg?: number; // 大屏幕列数
78
+ xl?: number; // 超大屏幕列数
79
+ };
80
+
81
+ // 定义间距大小
82
+ type GapSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
83
+
84
+ // 定义布局类型
85
+ type LayoutType = 'grid' | 'list';
86
+
87
+ export interface Props {
88
+ /**
89
+ * 产品数据数组
90
+ */
91
+ products: ProductItem[];
92
+ /**
93
+ * 布局类型
94
+ * - grid: 网格布局(默认)
95
+ * - list: 列表布局
96
+ */
97
+ layout?: LayoutType;
98
+ /**
99
+ * 列数配置
100
+ * 可以为固定数字或响应式对象
101
+ * 例如: { base: 1, sm: 2, md: 3, lg: 4 }
102
+ */
103
+ columns?: number | ResponsiveColumns;
104
+ /**
105
+ * 卡片尺寸
106
+ * 应用于所有ProductCard
107
+ */
108
+ cardSize?: ProductCardProps['size'];
109
+ /**
110
+ * 卡片间距
111
+ * - xs: 超小间距
112
+ * - sm: 小间距
113
+ * - md: 中等间距(默认)
114
+ * - lg: 大间距
115
+ * - xl: 超大间距
116
+ */
117
+ gap?: GapSize;
118
+ /**
119
+ * 是否启用等高卡片
120
+ * 确保所有卡片高度一致
121
+ */
122
+ equalHeight?: boolean;
123
+ /**
124
+ * 描述文本的最大行数
125
+ * 应用于所有ProductCard
126
+ */
127
+ descriptionLines?: number;
128
+ /**
129
+ * 自定义类名
130
+ */
131
+ class?: string;
132
+ }
133
+
134
+ const {
135
+ products,
136
+ layout = 'grid',
137
+ columns = { base: 1, sm: 2, md: 3, lg: 4 },
138
+ cardSize = 'md',
139
+ gap = 'md',
140
+ equalHeight = true,
141
+ descriptionLines,
142
+ class: className = '',
143
+ } = Astro.props;
144
+
145
+ // 间距映射
146
+ const gapMap = {
147
+ xs: 'cosy:gap-1',
148
+ sm: 'cosy:gap-2',
149
+ md: 'cosy:gap-4',
150
+ lg: 'cosy:gap-6',
151
+ xl: 'cosy:gap-8',
152
+ };
153
+
154
+ // 获取响应式列数类名
155
+ const getColumnsClasses = () => {
156
+ if (typeof columns === 'number') {
157
+ return `cosy:grid-cols-${columns}`;
158
+ }
159
+
160
+ const { base = 1, sm, md, lg, xl } = columns;
161
+ const classes = [`cosy:grid-cols-${base}`];
162
+
163
+ if (sm) classes.push(`cosy:sm:grid-cols-${sm}`);
164
+ if (md) classes.push(`cosy:md:grid-cols-${md}`);
165
+ if (lg) classes.push(`cosy:lg:grid-cols-${lg}`);
166
+ if (xl) classes.push(`cosy:xl:grid-cols-${xl}`);
167
+
168
+ return classes.join(' ');
169
+ };
170
+
171
+ // 获取布局类名
172
+ const getLayoutClasses = () => {
173
+ if (layout === 'grid') {
174
+ return ['cosy:grid', getColumnsClasses()];
175
+ } else {
176
+ return ['cosy:flex', 'cosy:flex-col'];
177
+ }
178
+ };
179
+
180
+ // 构建容器类名
181
+ const containerClasses = [
182
+ ...getLayoutClasses(),
183
+ gapMap[gap],
184
+ 'cosy:w-full',
185
+ className,
186
+ ];
187
+ ---
188
+
189
+ <div class:list={containerClasses}>
190
+ {
191
+ products.map((product) => (
192
+ <ProductCard
193
+ {...product}
194
+ size={cardSize}
195
+ equalHeight={equalHeight}
196
+ descriptionLines={descriptionLines}
197
+ />
198
+ ))
199
+ }
200
+ </div>
@@ -0,0 +1,2 @@
1
+ export { default as Products } from './Products.astro';
2
+ export { default as ProductCard } from './ProductCard.astro';
@@ -0,0 +1,150 @@
1
+ ---
2
+ /**
3
+ * Section组件
4
+ *
5
+ * 一个用于页面内容区块的组件,支持不同的内边距、背景和间距
6
+ *
7
+ * @example
8
+ * ```astro
9
+ * <Section>
10
+ * <h2>默认区块</h2>
11
+ * <p>内容将被包裹在一个合适的区块中</p>
12
+ * </Section>
13
+ *
14
+ * <Section padding="lg" background="gray" centered={true} border={true}>
15
+ * <h2>自定义区块</h2>
16
+ * <p>大内边距,灰色背景,内容居中,带边框</p>
17
+ * </Section>
18
+ * ```
19
+ */
20
+
21
+ import type { HTMLAttributes } from 'astro/types';
22
+ import Container from '../container/Container.astro';
23
+ import '../../style.ts';
24
+
25
+ interface Props extends HTMLAttributes<'section'> {
26
+ /**
27
+ * 内边距大小
28
+ * @default "md"
29
+ */
30
+ padding?: 'none' | 'sm' | 'md' | 'lg' | 'xl';
31
+
32
+ /**
33
+ * 背景颜色
34
+ * @default "transparent"
35
+ */
36
+ background?:
37
+ | 'transparent'
38
+ | 'white'
39
+ | 'gray'
40
+ | 'primary'
41
+ | 'secondary'
42
+ | 'dark';
43
+
44
+ /**
45
+ * 是否使用容器包裹内容
46
+ * @default true
47
+ */
48
+ container?: boolean;
49
+
50
+ /**
51
+ * 容器尺寸,仅当container为true时有效
52
+ * @default "md"
53
+ */
54
+ containerSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
55
+
56
+ /**
57
+ * 内容是否居中
58
+ * @default false
59
+ */
60
+ centered?: boolean;
61
+
62
+ /**
63
+ * 是否显示边框
64
+ * @default false
65
+ */
66
+ border?: boolean;
67
+
68
+ /**
69
+ * 自定义类名
70
+ */
71
+ class?: string;
72
+
73
+ /**
74
+ * 类名列表
75
+ */
76
+ 'class:list'?: any;
77
+
78
+ /**
79
+ * 自定义ID
80
+ */
81
+ id?: string;
82
+
83
+ /**
84
+ * 自定义内联样式
85
+ */
86
+ style?: string;
87
+ }
88
+
89
+ const {
90
+ padding = 'md',
91
+ background = 'transparent',
92
+ container = true,
93
+ containerSize = 'md',
94
+ centered = false,
95
+ border = false,
96
+ class: className = '',
97
+ 'class:list': classList,
98
+ id,
99
+ style,
100
+ ...rest
101
+ } = Astro.props;
102
+
103
+ // 内边距映射
104
+ const paddingClasses = {
105
+ none: 'cosy:py-0',
106
+ sm: 'cosy:py-6',
107
+ md: 'cosy:py-12',
108
+ lg: 'cosy:py-16',
109
+ xl: 'cosy:py-24',
110
+ };
111
+
112
+ // 背景颜色映射
113
+ const backgroundClasses = {
114
+ transparent: 'cosy:bg-transparent',
115
+ white: 'cosy:bg-base-100',
116
+ gray: 'cosy:bg-base-200',
117
+ primary: 'cosy:bg-primary/10',
118
+ secondary: 'cosy:bg-secondary/10',
119
+ dark: 'cosy:bg-neutral cosy:text-neutral-content',
120
+ };
121
+
122
+ // 构建最终类名
123
+ const sectionClasses = [
124
+ paddingClasses[padding as keyof typeof paddingClasses],
125
+ backgroundClasses[background as keyof typeof backgroundClasses],
126
+ border ? 'cosy:border cosy:rounded-lg' : '',
127
+ className,
128
+ ].join(' ');
129
+
130
+ // 内容类名
131
+ const contentClasses = centered ? 'cosy:text-center' : '';
132
+ ---
133
+
134
+ <section
135
+ id={id}
136
+ class:list={[sectionClasses, classList]}
137
+ style={style}
138
+ {...rest}>
139
+ {
140
+ container ? (
141
+ <Container size={containerSize} class={contentClasses}>
142
+ <slot />
143
+ </Container>
144
+ ) : (
145
+ <div class={contentClasses}>
146
+ <slot />
147
+ </div>
148
+ )
149
+ }
150
+ </section>
@@ -0,0 +1 @@
1
+ export { default as Section } from './Section.astro';
@@ -0,0 +1,192 @@
1
+ ---
2
+ /**
3
+ * Sidebar组件
4
+ *
5
+ * 用于文档页面的侧边栏导航
6
+ *
7
+ * @example
8
+ * ```astro
9
+ * ---
10
+ * import Sidebar from './Sidebar.astro';
11
+ *
12
+ * const sidebarItems = [
13
+ * { title: "入门", items: [
14
+ * { href: "/docs/getting-started", text: "快速开始" },
15
+ * { href: "/docs/installation", text: "安装" }
16
+ * ]}
17
+ * ];
18
+ * ---
19
+ *
20
+ * <Sidebar sidebarItems={sidebarItems} />
21
+ * ```
22
+ */
23
+
24
+ import '../../style.ts';
25
+ import { isPathMatch } from '../utils/path.ts';
26
+ import { MenuIcon, SidebarNav, Modal } from '../../index-astro';
27
+ import type { ISidebarProps } from '../../index-astro';
28
+
29
+ export interface Props extends ISidebarProps {}
30
+
31
+ const {
32
+ sidebarItems,
33
+ class: className,
34
+ debug = false,
35
+ marginTop = 'md',
36
+ marginBottom = 'md',
37
+ } = Astro.props;
38
+
39
+ // 自动获取当前路径
40
+ const currentPath = Astro.url.pathname;
41
+
42
+ const debugClass = debug ? 'cosy:border cosy:border-red-500' : '';
43
+
44
+ function getVerticalMarginTopClasses(marginTop: string) {
45
+ if (marginTop === 'none') return 'cosy:mt-0';
46
+ if (marginTop === 'xs') return 'cosy:mt-1';
47
+ if (marginTop === 'sm') return 'cosy:mt-2';
48
+ if (marginTop === 'md') return 'cosy:mt-4';
49
+ if (marginTop === 'lg') return 'cosy:mt-6';
50
+ if (marginTop === 'xl') return 'cosy:mt-8';
51
+ if (marginTop === '2xl') return 'cosy:mt-10';
52
+ if (marginTop === '3xl') return 'cosy:mt-12';
53
+ if (marginTop === '4xl') return 'cosy:mt-16';
54
+ if (marginTop === '5xl') return 'cosy:mt-20';
55
+ return '';
56
+ }
57
+
58
+ function getVerticalMarginBottomClasses(marginBottom: string) {
59
+ if (marginBottom === 'none') return 'cosy:mb-0';
60
+ if (marginBottom === 'xs') return 'cosy:mb-1';
61
+ if (marginBottom === 'sm') return 'cosy:mb-2';
62
+ if (marginBottom === 'md') return 'cosy:mb-4';
63
+ if (marginBottom === 'lg') return 'cosy:mb-6';
64
+ if (marginBottom === 'xl') return 'cosy:mb-8';
65
+ if (marginBottom === '2xl') return 'cosy:mb-10';
66
+ if (marginBottom === '3xl') return 'cosy:mb-12';
67
+ if (marginBottom === '4xl') return 'cosy:mb-16';
68
+ if (marginBottom === '5xl') return 'cosy:mb-20';
69
+ return '';
70
+ }
71
+
72
+ // 获取当前活动的一级导航项
73
+ const currentSection = sidebarItems.find((section) =>
74
+ section.items?.some((item) => isPathMatch(currentPath, item.href))
75
+ );
76
+ ---
77
+
78
+ {/* 移动端导航栏 */}
79
+ <div
80
+ class:list={[
81
+ 'cosy:flex cosy:lg:hidden cosy:items-center cosy:justify-between cosy:px-4 cosy:py-2 cosy:border-b cosy:border-base-300 cosy:bg-base-100 cosy:relative cosy:z-10',
82
+ debugClass,
83
+ ]}>
84
+ <div class="cosy:flex cosy:items-center cosy:gap-2">
85
+ <button
86
+ type="button"
87
+ class="cosy:p-2 cosy:btn cosy:btn-ghost cosy:btn-sm"
88
+ data-modal-target="mobile-sidebar">
89
+ <MenuIcon class="cosy:w-5 cosy:h-5" />
90
+ </button>
91
+ <span class="cosy:font-medium cosy:text-sm"
92
+ >{currentSection?.text || '导航'}</span
93
+ >
94
+ </div>
95
+ </div>
96
+
97
+ {/* 移动端侧边栏弹出层 */}
98
+ <Modal
99
+ id="mobile-sidebar"
100
+ class="cosy:mx-4 cosy:lg:w-80 cosy:w-[calc(100vw-2rem)] cosy:max-w-full">
101
+ <div class="cosy:h-[calc(100vh-8rem)] cosy:overflow-y-auto">
102
+ <SidebarNav
103
+ sidebarItems={sidebarItems}
104
+ currentPath={currentPath}
105
+ debug={debug}
106
+ />
107
+ </div>
108
+ </Modal>
109
+
110
+ {/* 桌面端侧边栏 */}
111
+ <aside
112
+ data-sidebar
113
+ data-current-path={currentPath}
114
+ data-margin-top={marginTop}
115
+ data-margin-bottom={marginBottom}
116
+ class:list={[
117
+ className,
118
+ debugClass,
119
+ 'cosy:hidden cosy:lg:block',
120
+ getVerticalMarginTopClasses(marginTop),
121
+ getVerticalMarginBottomClasses(marginBottom),
122
+ ]}>
123
+ <div
124
+ class="cosy:top-16 cosy:sticky cosy:pb-48 cosy:h-[calc(100vh-0rem)] cosy:overflow-y-auto">
125
+ <SidebarNav
126
+ sidebarItems={sidebarItems}
127
+ currentPath={currentPath}
128
+ debug={debug}
129
+ />
130
+ </div>
131
+ </aside>
132
+
133
+ <script>
134
+ // 处理侧边栏滚动位置保存和恢复
135
+ document.addEventListener('astro:before-preparation', () => {
136
+ // 获取桌面侧边栏滚动容器
137
+ const desktopSidebarContent = document.querySelector(
138
+ 'aside[data-sidebar] .cosy\\:overflow-y-auto'
139
+ );
140
+
141
+ // 保存滚动位置到localStorage
142
+ if (desktopSidebarContent) {
143
+ localStorage.setItem(
144
+ 'sidebarScrollPosition',
145
+ desktopSidebarContent.scrollTop.toString()
146
+ );
147
+ }
148
+
149
+ // 获取移动端侧边栏滚动容器
150
+ const mobileSidebarContent = document.querySelector(
151
+ '.cosy\\:h-\\[calc\\(100vh-8rem\\)\\].cosy\\:overflow-y-auto'
152
+ );
153
+
154
+ // 保存移动端滚动位置
155
+ if (mobileSidebarContent) {
156
+ localStorage.setItem(
157
+ 'mobileSidebarScrollPosition',
158
+ mobileSidebarContent.scrollTop.toString()
159
+ );
160
+ }
161
+ });
162
+
163
+ document.addEventListener('astro:page-load', () => {
164
+ // 获取桌面侧边栏滚动容器
165
+ const desktopSidebarContent = document.querySelector(
166
+ 'aside[data-sidebar] .cosy\\:overflow-y-auto'
167
+ );
168
+
169
+ // 恢复滚动位置
170
+ if (desktopSidebarContent) {
171
+ const savedPosition = localStorage.getItem('sidebarScrollPosition');
172
+ if (savedPosition) {
173
+ desktopSidebarContent.scrollTop = parseInt(savedPosition, 10);
174
+ }
175
+ }
176
+
177
+ // 获取移动端侧边栏滚动容器
178
+ const mobileSidebarContent = document.querySelector(
179
+ '.cosy\\:h-\\[calc\\(100vh-8rem\\)\\].cosy\\:overflow-y-auto'
180
+ );
181
+
182
+ // 恢复移动端滚动位置
183
+ if (mobileSidebarContent) {
184
+ const savedMobilePosition = localStorage.getItem(
185
+ 'mobileSidebarScrollPosition'
186
+ );
187
+ if (savedMobilePosition) {
188
+ mobileSidebarContent.scrollTop = parseInt(savedMobilePosition, 10);
189
+ }
190
+ }
191
+ });
192
+ </script>
File without changes
@@ -0,0 +1,11 @@
1
+ import Sidebar from './Sidebar.astro';
2
+ import SidebarBasic from './SidebarBasic.astro';
3
+ import BasicSourceCode from './SidebarBasic.astro?raw';
4
+ import { extractSimpleExample } from '../utils/component';
5
+
6
+ export { Sidebar, SidebarBasic };
7
+
8
+ // 导出示例源代码
9
+ export const SidebarExampleCodes = {
10
+ Basic: extractSimpleExample(BasicSourceCode, 'Sidebar'),
11
+ };
@@ -0,0 +1,136 @@
1
+ ---
2
+ /**
3
+ * SidebarNav组件
4
+ *
5
+ * 用于渲染侧边栏的导航内容
6
+ */
7
+
8
+ import { isPathMatch } from '../utils/path.ts';
9
+ import '../../style.ts';
10
+ import type { ISidebarItem } from '../types/sidebar.ts';
11
+
12
+ interface Props {
13
+ /**
14
+ * 侧边栏项目
15
+ */
16
+ sidebarItems: ISidebarItem[];
17
+
18
+ /**
19
+ * 当前路径
20
+ */
21
+ currentPath: string;
22
+
23
+ /**
24
+ * 是否开启调试模式,显示边框
25
+ * @default false
26
+ */
27
+ debug?: boolean;
28
+
29
+ /**
30
+ * 自定义类名
31
+ */
32
+ class?: string;
33
+ }
34
+
35
+ const {
36
+ sidebarItems,
37
+ currentPath,
38
+ debug = false,
39
+ class: className,
40
+ } = Astro.props;
41
+
42
+ const debugClass = debug ? 'cosy:border cosy:border-red-500' : '';
43
+ ---
44
+
45
+ <nav
46
+ data-sidebar-nav
47
+ data-current-path={currentPath}
48
+ class:list={['cosy:p-4', debugClass, className]}>
49
+ {
50
+ sidebarItems.map((section: ISidebarItem) => (
51
+ <div class:list={['cosy:mb-6', debugClass]}>
52
+ <h3
53
+ class:list={[
54
+ 'cosy:font-bold cosy:mb-2 cosy:text-base-content/70',
55
+ debugClass,
56
+ ]}>
57
+ {section.text}
58
+ </h3>
59
+ <ul
60
+ class:list={[
61
+ 'cosy:menu cosy:bg-base-200 cosy:rounded-box cosy:w-56',
62
+ debugClass,
63
+ ]}>
64
+ {section.items?.map((item: ISidebarItem) => {
65
+ const isActive = isPathMatch(currentPath, item.href);
66
+ return (
67
+ <li class:list={[debugClass]}>
68
+ <a
69
+ data-sidebar-item
70
+ data-current-path={currentPath}
71
+ href={item.href}
72
+ class:list={[
73
+ 'cosy:hover:bg-base-300',
74
+ { 'cosy:menu-active': isActive },
75
+ debugClass,
76
+ ]}>
77
+ {item.text}
78
+ </a>
79
+ {item.items && (
80
+ <ul class:list={[debugClass]}>
81
+ {item.items.map((subitem: ISidebarItem) => {
82
+ const isSubActive = isPathMatch(
83
+ currentPath,
84
+ subitem.href
85
+ );
86
+ return (
87
+ <li class:list={[debugClass]}>
88
+ <a
89
+ data-sidebar-item
90
+ data-current-path={currentPath}
91
+ href={subitem.href}
92
+ class:list={[
93
+ 'cosy:hover:bg-base-300',
94
+ { 'cosy:menu-active': isSubActive },
95
+ debugClass,
96
+ ]}>
97
+ {subitem.text}
98
+ </a>
99
+ {subitem.items && (
100
+ <ul class:list={[debugClass]}>
101
+ {subitem.items.map((subsubitem: ISidebarItem) => {
102
+ const isSubSubActive = isPathMatch(
103
+ currentPath,
104
+ subsubitem.href
105
+ );
106
+ return (
107
+ <li class:list={[debugClass]}>
108
+ <a
109
+ data-sidebar-item
110
+ data-current-path={currentPath}
111
+ href={subsubitem.href}
112
+ class:list={[
113
+ 'cosy:hover:bg-base-300',
114
+ { 'cosy:active': isSubSubActive },
115
+ debugClass,
116
+ ]}>
117
+ {subsubitem.text}
118
+ </a>
119
+ </li>
120
+ );
121
+ })}
122
+ </ul>
123
+ )}
124
+ </li>
125
+ );
126
+ })}
127
+ </ul>
128
+ )}
129
+ </li>
130
+ );
131
+ })}
132
+ </ul>
133
+ </div>
134
+ ))
135
+ }
136
+ </nav>